@import url('https://fonts.googleapis.com/css2?family=Heebo:wght@300;400;500;700;800;900&family=Assistant:wght@400;500;600;700;800&family=Oswald:wght@500;600;700&display=swap');

:root{
  --mx-bg:#051428;
  --mx-bg-2:#071b35;
  --mx-panel:rgba(5,24,46,.86);
  --mx-line:rgba(22,228,255,.45);
  --mx-cyan:#10e6ff;
  --mx-cyan-2:#58eeff;
  --mx-text:#f5fbff;
  --mx-muted:#bed4e4;
  --mx-shadow:0 0 14px rgba(15,230,255,.28), 0 0 34px rgba(15,180,255,.14);
}

html,body{
  font-family:'Assistant','Heebo',Arial,sans-serif !important;
  background:#041223 !important;
  color:var(--mx-text);
}
body{
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}
.container{
  width:min(calc(100% - 56px),1360px) !important;
}

body .site-header{
  position:sticky;
  top:0;
  backdrop-filter:blur(18px);
  background:rgba(2,14,29,.93) !important;
  border-bottom:1px solid rgba(16,230,255,.22) !important;
  box-shadow:0 10px 30px rgba(0,0,0,.25);
}
body .nav-shell{gap:20px;}
body .brand-wordmark{
  font-family:'Oswald',sans-serif !important;
  font-size:31px !important;
  letter-spacing:-1px !important;
}
body .brand small{
  font-family:'Heebo',sans-serif !important;
  font-size:11px !important;
  font-weight:800 !important;
  color:#ebf6fb !important;
}
body .main-nav{
  gap:28px !important;
}
body .main-nav>a{
  font-family:'Heebo',sans-serif !important;
  font-size:15px !important;
  font-weight:700 !important;
}
body .phone-link,
body .nav-cta{
  box-shadow:var(--mx-shadow) !important;
}
body .phone-link{
  font-family:'Heebo',sans-serif;
  font-size:15px !important;
  font-weight:800 !important;
  border-color:rgba(16,230,255,.8) !important;
}
body .nav-cta{
  font-family:'Heebo',sans-serif;
  font-weight:900 !important;
}

/* HERO */
body .hero{
  min-height:760px !important;
  padding:52px 0 96px !important;
  background:#05152a !important;
}
body .hero-visual{
  background-size:cover !important;
  background-position:center center !important;
}
body .hero-shade{
  background:
    linear-gradient(90deg,rgba(2,13,26,.90) 0%,rgba(3,15,30,.82) 33%,rgba(3,15,30,.58) 52%,rgba(2,12,24,.08) 78%,rgba(2,11,22,.03) 100%),
    linear-gradient(180deg,rgba(0,0,0,.02) 0%,rgba(4,17,32,.12) 55%,rgba(2,10,21,.90) 100%) !important;
}
body .hero-layout{
  justify-content:flex-start !important;
}
body .hero-content{
  width:min(735px,60%) !important;
  margin-inline-start:0;
}
body .eyebrow{
  font-family:'Heebo',sans-serif !important;
  font-size:14px !important;
  font-weight:800 !important;
  color:#dff9ff !important;
}
body .hero-slide{
  min-height:252px !important;
}
body .hero-slide h1,
body .hero-slide h2{
  font-family:'Heebo',sans-serif !important;
  font-weight:900 !important;
  font-style:italic;
  font-size:clamp(46px,4.8vw,74px) !important;
  letter-spacing:-.055em !important;
  line-height:1.06 !important;
  text-shadow:0 6px 18px rgba(0,0,0,.28) !important;
  margin-bottom:18px !important;
}
body .hero-slide p{
  font-family:'Assistant',sans-serif !important;
  font-size:20px !important;
  line-height:1.65 !important;
  font-weight:600 !important;
  max-width:665px !important;
  color:#eef9ff !important;
}
body .hero-highlight{
  display:inline-block !important;
  padding:2px 16px 6px !important;
  margin-top:8px !important;
  border-radius:4px;
  box-shadow:0 0 24px rgba(16,230,255,.58) !important;
  background:linear-gradient(135deg,#28efff,#00bff1) !important;
  color:#021a2e !important;
}
body .slider-controls{
  margin:6px 0 20px !important;
  justify-content:flex-start !important;
}
body .slider-controls>button{
  width:42px !important;
  height:42px !important;
  box-shadow:0 0 12px rgba(16,230,255,.18);
}
body .slider-dots button{width:10px !important;height:10px !important;}
body .slider-dots button.is-active{width:30px !important;}

body .hero-contact{
  max-width:690px !important;
  border-radius:22px !important;
  padding:18px 22px 14px !important;
  background:linear-gradient(145deg,rgba(2,18,36,.94),rgba(2,34,58,.86)) !important;
  border:1px solid rgba(16,230,255,.65) !important;
  box-shadow:0 0 0 1px rgba(16,230,255,.1), 0 0 24px rgba(16,230,255,.22), 0 18px 40px rgba(0,0,0,.35) !important;
}
body .hero-contact-heading h2{
  font-family:'Heebo',sans-serif !important;
  font-size:30px !important;
  font-weight:900 !important;
  letter-spacing:-.04em !important;
}
body .mini-overline{
  font-family:'Heebo',sans-serif !important;
  font-size:12px !important;
  font-weight:900 !important;
}
body .lead-fields input,
body .lead-fields button{
  height:48px !important;
  border-radius:12px !important;
}
body .lead-fields input{
  font-family:'Assistant',sans-serif !important;
  font-size:15px !important;
}
body .lead-fields button{
  font-family:'Heebo',sans-serif !important;
  font-size:16px !important;
  font-weight:900 !important;
}
body .hero-bottom-note{
  font-family:'Assistant',sans-serif !important;
  font-size:13px !important;
  font-weight:600 !important;
}

/* QUICK SERVICES */
body .quick-services{margin-top:-34px !important;}
body .quick-services-inner{
  padding:23px 10px !important;
  border-radius:26px !important;
  background:linear-gradient(140deg,#08233f 0%,#07203d 50%,#06182d 100%) !important;
  box-shadow:0 0 22px rgba(16,230,255,.28), inset 0 0 18px rgba(16,230,255,.1) !important;
}
body .quick-services-inner>div{min-height:88px !important; gap:8px !important;}
body .quick-services-inner svg{width:36px !important;height:36px !important;}
body .quick-services-inner span{
  font-family:'Heebo',sans-serif !important;
  font-size:15px !important;
  font-weight:800 !important;
  line-height:1.35 !important;
}

/* GLOBAL SECTION TITLES */
body .section-heading h2,
body .tech-content h2,
body .faq-layout h2,
body .contact-copy h2{
  font-family:'Heebo',sans-serif !important;
  font-size:clamp(42px,3.3vw,60px) !important;
  letter-spacing:-.055em !important;
  line-height:1.1 !important;
  font-weight:900 !important;
}
body .section-heading p,
body .tech-content p,
body .faq-layout p,
body .contact-copy p{
  font-family:'Assistant',sans-serif !important;
  font-size:18px !important;
}
body .kicker{
  font-family:'Oswald',sans-serif !important;
  letter-spacing:2px !important;
}

/* SERVICES */
body .services-section{padding-top:138px !important;}
body .services-grid{
  gap:17px !important;
}
body .service-card{
  min-height:224px !important;
  border-radius:18px !important;
  padding:22px 16px 18px !important;
}
body .service-icon{
  width:58px !important;
  height:58px !important;
  border-radius:17px !important;
}
body .service-card h3{
  font-family:'Heebo',sans-serif !important;
  font-size:22px !important;
  font-weight:800 !important;
  letter-spacing:-.03em !important;
}
body .service-card p{
  font-family:'Assistant',sans-serif !important;
  font-size:13px !important;
  line-height:1.65 !important;
}

/* TECHNOLOGY / BENEFITS */
body .tech-bullets>div,
body .benefits-grid strong,
body .benefits-grid span{
  font-family:'Heebo',sans-serif !important;
}

/* TEAM */
body .team-grid{gap:18px !important;}
body .team-card{
  border-radius:18px !important;
}
body .team-photo{height:272px !important;}
body .team-details h3{
  font-family:'Heebo',sans-serif !important;
  font-size:20px !important;
  font-weight:800 !important;
}
body .team-details p{
  font-family:'Assistant',sans-serif !important;
  font-size:13px !important;
  font-weight:700 !important;
}

/* PROCESS */
body .process-item h3{
  font-family:'Heebo',sans-serif !important;
}
body .process-item p{
  font-family:'Assistant',sans-serif !important;
}

/* FAQ */
body .faq-items summary{
  font-family:'Heebo',sans-serif !important;
  font-weight:800 !important;
}
body .faq-items details p{
  font-family:'Assistant',sans-serif !important;
}

/* CONTACT */
body .contact-box{
  border-radius:30px !important;
}
body .contact-form-wrap h3{
  font-family:'Heebo',sans-serif !important;
  font-size:30px !important;
  font-weight:900 !important;
  letter-spacing:-.04em !important;
}
body .contact-phone{
  font-family:'Heebo',sans-serif !important;
}

/* FOOTER */
body .site-footer{
  background:linear-gradient(180deg,#071a31 0%,#041223 45%,#020913 100%) !important;
}
body .footer-grid h3,
body .footer-number,
body .footer-button{
  font-family:'Heebo',sans-serif !important;
}
body .footer-company p,
body .footer-links a,
body .footer-connect p,
body .footer-bottom{
  font-family:'Assistant',sans-serif !important;
}
body .footer-social a{
  display:grid;
  place-items:center;
  width:44px;
  height:44px;
  border-radius:50%;
  border:1px solid rgba(16,230,255,.46);
  box-shadow:0 0 10px rgba(16,230,255,.18);
}

/* MOBILE */
@media (max-width:990px){
  body .main-nav a{font-family:'Heebo',sans-serif !important;}
  body .hero-content{width:72% !important;}
  body .services-grid{grid-template-columns:repeat(3,minmax(0,1fr)) !important;}
  body .team-grid{grid-template-columns:repeat(3,minmax(0,1fr)) !important;}
}

@media (max-width:700px){
  .container{width:calc(100% - 24px) !important;}
  body{padding-bottom:calc(90px + env(safe-area-inset-bottom,0px)) !important;}
  body .site-header{height:70px !important;}
  body .nav-shell{
    display:grid !important;
    grid-template-columns:auto 1fr auto !important;
    align-items:center !important;
    gap:8px !important;
  }
  body .brand{justify-self:end; align-items:flex-end !important;}
  body .brand-wordmark{font-size:27px !important;}
  body .brand small{font-size:9px !important;}
  body .phone-link{width:42px !important; padding:0 !important; font-size:0 !important;}
  body .phone-link span{display:none !important;}
  body .nav-cta{display:none !important;}
  body .main-nav{top:70px !important;}

  body .hero{
    min-height:auto !important;
    padding:0 0 38px !important;
    display:block !important;
  }
  body .hero-visual,
  body .hero-shade{
    inset:0 0 auto 0 !important;
    height:390px !important;
  }
  body .hero-visual{
    background-position:72% top !important;
    background-size:cover !important;
  }
  body .hero-shade{
    background:linear-gradient(180deg,rgba(2,10,20,.18) 0%, rgba(2,12,24,.32) 26%, rgba(3,14,27,.68) 62%, rgba(3,12,22,.96) 100%) !important;
  }
  body .hero-layout{
    display:block !important;
    padding-top:178px !important;
  }
  body .hero-content{
    width:100% !important;
  }
  body .eyebrow{
    justify-content:flex-start !important;
    font-size:10px !important;
    gap:6px !important;
    margin-bottom:11px !important;
  }
  body .eyebrow .line{width:20px !important;}
  body .hero-slide{
    min-height:194px !important;
  }
  body .hero-slide h1,
  body .hero-slide h2{
    font-size:clamp(34px,9.6vw,44px) !important;
    line-height:1.08 !important;
    margin-bottom:10px !important;
    letter-spacing:-.05em !important;
  }
  body .hero-highlight{
    padding:1px 10px 5px !important;
    margin-top:5px !important;
  }
  body .hero-slide p{
    font-size:14px !important;
    line-height:1.6 !important;
    max-width:100% !important;
  }
  body .slider-controls{
    margin:12px 0 14px !important;
  }
  body .slider-controls>button{
    width:34px !important;
    height:34px !important;
  }
  body .slider-dots button.is-active{width:24px !important;}

  body .hero-contact{
    margin-top:0 !important;
    padding:14px 14px 12px !important;
    border-radius:18px !important;
  }
  body .hero-contact-heading{
    align-items:flex-start !important;
    margin-bottom:10px !important;
  }
  body .hero-contact-heading h2{
    font-size:20px !important;
    line-height:1.2 !important;
    margin-top:2px !important;
  }
  body .mini-overline{font-size:10px !important;}
  body .lead-fields{
    grid-template-columns:1fr 1fr !important;
    gap:8px !important;
  }
  body .lead-fields input,
  body .lead-fields button{
    height:44px !important;
    font-size:13px !important;
  }
  body .lead-fields button{
    grid-column:1 / 3 !important;
    font-size:15px !important;
  }
  body .form-privacy{font-size:10px !important;}
  body .hero-bottom-note{font-size:11px !important; margin-top:12px !important;}

  body .quick-services{margin-top:-14px !important;}
  body .quick-services-inner{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    padding:8px !important;
    border-radius:18px !important;
  }
  body .quick-services-inner>div{
    min-height:76px !important;
    padding:10px 8px !important;
    border-inline-end:0 !important;
    border-bottom:1px solid rgba(16,230,255,.20) !important;
  }
  body .quick-services-inner>div:last-child{
    grid-column:1 / 3 !important;
    border-bottom:0 !important;
  }
  body .quick-services-inner span{font-size:12px !important;}
  body .quick-services-inner svg{width:30px !important;height:30px !important;}

  body .section{padding:72px 0 !important;}
  body .section-heading{margin-bottom:32px !important;}
  body .section-heading h2,
  body .tech-content h2,
  body .faq-layout h2,
  body .contact-copy h2{
    font-size:36px !important;
  }
  body .section-heading p,
  body .tech-content p,
  body .faq-layout p,
  body .contact-copy p{font-size:15px !important;}

  body .services-grid{grid-template-columns:repeat(2,minmax(0,1fr)) !important; gap:10px !important;}
  body .service-card{
    min-height:190px !important;
    padding:16px 10px 14px !important;
  }
  body .service-icon{width:46px !important;height:46px !important;margin-bottom:10px !important;}
  body .service-icon svg{width:26px !important;height:26px !important;}
  body .service-card h3{font-size:16px !important;}
  body .service-card p{font-size:12px !important; line-height:1.55 !important;}

  body .benefits-grid{grid-template-columns:repeat(2,minmax(0,1fr)) !important;}
  body .team-grid{grid-template-columns:repeat(2,minmax(0,1fr)) !important; gap:12px !important;}
  body .team-photo{height:210px !important;}
  body .team-details h3{font-size:17px !important;}
  body .team-details p{font-size:11px !important;}

  body .process-grid{grid-template-columns:repeat(2,minmax(0,1fr)) !important; gap:11px !important;}
  body .process-item{padding:26px 10px 18px !important;}
  body .process-item h3{font-size:16px !important;}
  body .process-item p{font-size:12px !important;}

  body .faq-layout,
  body .contact-box,
  body .footer-grid{grid-template-columns:1fr !important;}
  body .contact-box{gap:20px !important; padding:22px !important; border-radius:20px !important;}
  body .contact-form-wrap{padding:16px !important;}
  body .contact-form-wrap h3{font-size:24px !important;}
  body .contact-form-wrap .lead-fields{grid-template-columns:1fr !important;}
  body .contact-form-wrap .lead-fields input:nth-of-type(3),
  body .contact-form-wrap .lead-fields button{grid-column:auto !important;}
  body .footer-company,
  body .footer-connect{grid-column:auto !important;}

  body .mobile-action-bar{
    display:grid !important;
    grid-template-columns:repeat(3,minmax(0,1fr)) !important;
    gap:8px !important;
    padding:10px 12px calc(10px + env(safe-area-inset-bottom,0px)) !important;
    background:linear-gradient(180deg,rgba(5,18,34,.98),rgba(5,28,48,.98)) !important;
    border-top:1px solid rgba(16,230,255,.55) !important;
    box-shadow:0 -8px 25px rgba(0,0,0,.25) !important;
  }
  body .mobile-action-bar>a{
    min-height:56px !important;
    border-radius:14px !important;
    font-family:'Heebo',sans-serif !important;
    font-size:12px !important;
    font-weight:800 !important;
    border:1px solid rgba(16,230,255,.65) !important;
    box-shadow:inset 0 0 14px rgba(16,230,255,.12) !important;
  }
  body .mobile-action-bar>a svg{width:21px !important;height:21px !important;}
  body .mobile-action-bar .mobile-action-lead{
    background:linear-gradient(135deg,#17eaff,#74f7ff) !important;
    color:#03203a !important;
  }
}

@media (max-width:390px){
  body .brand-wordmark{font-size:24px !important;}
  body .hero-visual,
  body .hero-shade{height:362px !important;}
  body .hero-layout{padding-top:170px !important;}
  body .hero-slide h1,
  body .hero-slide h2{font-size:32px !important;}
  body .hero-slide{min-height:188px !important;}
  body .lead-fields{grid-template-columns:1fr !important;}
  body .lead-fields button{grid-column:auto !important;}
  body .team-photo{height:178px !important;}
}

/* MAGNUS 3.1 — Correct RTL hero composition and keep the mobile portrait intact */
@media (min-width: 701px) {
  body .hero {
    min-height: 650px !important;
    padding: 46px 0 72px !important;
  }
  /* RTL flex-start is visually RIGHT; the text belongs on the LEFT of the portrait. */
  body .hero-layout { justify-content: flex-end !important; }
  body .hero-content {
    width: min(720px, 55%) !important;
    flex: 0 1 720px;
    margin: 0 !important;
    text-align: right;
  }
  body .hero-visual { background-position: center 40% !important; }
  body .hero-shade {
    background:
      linear-gradient(90deg, rgba(2,13,29,.76) 0%, rgba(2,13,29,.80) 26%, rgba(2,13,29,.60) 50%, rgba(1,13,29,.04) 75%, rgba(1,13,29,.02) 100%),
      linear-gradient(0deg, #031225 0%, rgba(3,18,37,.05) 33%, transparent 100%) !important;
  }
  body .hero-slide h1, body .hero-slide h2 {
    font-size: clamp(43px, 3.75vw, 65px) !important;
    line-height: 1.09 !important;
  }
  body .hero-slide { min-height: 215px !important; }
  body .hero-slide p { font-size: 19px !important; }
  body .hero-contact { max-width: 100% !important; }
}
@media (min-width: 701px) and (max-width: 1100px) {
  body .hero-content { width: 60% !important; }
  body .hero-slide h1, body .hero-slide h2 { font-size: clamp(35px, 4.25vw, 49px) !important; }
  body .hero-slide p { font-size: 16px !important; }
}
@media (max-width: 700px) {
  body .hero {
    min-height: 0 !important;
    padding: 0 0 42px !important;
    background: #031225 !important;
  }
  body .hero-visual, body .hero-shade {
    height: 300px !important;
    inset: 0 0 auto !important;
  }
  body .hero-visual {
    background-size: auto 300px !important;
    background-position: 77% top !important;
    background-repeat: no-repeat !important;
  }
  body .hero-shade {
    background: linear-gradient(180deg, rgba(3,18,37,.03) 0%, rgba(3,18,37,.04) 45%, rgba(3,18,37,.65) 78%, #031225 100%) !important;
  }
  body .hero-layout {
    padding-top: 274px !important;
    justify-content: flex-start !important;
  }
  body .hero-content {
    width: 100% !important;
    margin: 0 !important;
    text-align: center !important;
  }
  body .eyebrow { justify-content: center !important; }
  body .hero-slide { min-height: 174px !important; }
  body .hero-slide h1, body .hero-slide h2 {
    font-size: clamp(30px, 8.3vw, 39px) !important;
    line-height: 1.12 !important;
    text-align: center !important;
    margin: 0 0 11px !important;
    word-break: normal !important;
    overflow-wrap: normal !important;
  }
  body .hero-highlight {
    display: inline-block !important;
    max-width: 100% !important;
    margin-inline: auto !important;
    font-size: 1em !important;
    padding: 1px 8px 4px !important;
    white-space: normal !important;
  }
  body .hero-slide p {
    font-size: 14px !important;
    line-height: 1.5 !important;
    padding-inline: 5px !important;
    margin-bottom: 7px !important;
    text-align: center !important;
  }
  body .slider-controls { justify-content: center !important; margin: 10px 0 14px !important; }
  body .hero-contact { text-align: right !important; }
  body .hero-bottom-note { justify-content: center !important; text-align: center !important; }
  body .hero-slide .hero-highlight { transform: skewX(-4deg) !important; }
  body .quick-services { margin-top: -16px !important; }
}
@media (max-width: 390px) {
  body .hero-visual, body .hero-shade { height: 278px !important; }
  body .hero-visual { background-size: auto 278px !important; }
  body .hero-layout { padding-top: 253px !important; }
  body .hero-slide { min-height: 180px !important; }
  body .hero-slide h1, body .hero-slide h2 { font-size: clamp(28px, 8.2vw, 34px) !important; }
}

/* 3.1.1: tablet width correction, explicit contrast, and compact mobile form */
html, body {
  --cyan:#09eaff;
  --white:#f5fbff;
  --muted:#b5c6d7;
  --mx-text:#f5fbff;
  --mx-cyan:#09eaff;
  --mx-muted:#bed4e4;
  color:#f5fbff !important;
}
body .brand-wordmark span{color:#fff !important;}
body .brand-wordmark b{color:#10e6ff !important;}
body .hero-contact-heading h2{color:#f5fbff !important;}
body .mini-overline{color:#10e6ff !important;}
body .quick-services-inner span,
body .quick-services-inner .icon-svg{color:#f5fbff;}
body .quick-services-inner .icon-svg{color:#10e6ff;}
@media(min-width:701px){
 body .hero-content {flex:none !important; width:min(720px,55%) !important;}
}
@media(min-width:701px) and (max-width:1100px){
 body .hero-content{width:55% !important;}
 body .hero-slide {min-height:255px !important;}
 body .hero-slide h1,body .hero-slide h2{font-size:clamp(31px,4vw,45px) !important;}
 body .hero-contact-heading h2{font-size:21px !important;}
 body .hero-slide p{font-size:16px !important;}
 body .lead-fields input{font-size:12px !important;}
 body .hero-shade{background:linear-gradient(90deg,rgba(2,13,29,.94),rgba(2,13,29,.86) 44%,rgba(2,13,29,.20) 76%,rgba(2,13,29,.03)) !important;}
}
@media(max-width:700px){
 body .hero-layout{padding-top:255px !important;}
 body .hero-visual,body .hero-shade{height:280px !important;}
 body .hero-visual{background-size:auto 280px !important;}
 body .hero-slide{min-height:165px !important;}
 body .hero-contact-heading h2{font-size:19px !important;}
}
@media(min-width:350px) and (max-width:700px){
 body .hero-contact .lead-fields{grid-template-columns:repeat(2,minmax(0,1fr)) !important;}
 body .hero-contact .lead-fields button{grid-column:1/3 !important;}
}
@media(max-width:349px){
 body .hero-layout{padding-top:242px !important;}
 body .hero-visual,body .hero-shade{height:267px !important;}
 body .hero-visual{background-size:auto 267px !important;}
 body .hero-contact .lead-fields{grid-template-columns:1fr !important;}
 body .hero-contact .lead-fields button{grid-column:auto !important;}
}
@media(min-width:350px) and (max-width:700px){
  body .hero-contact .lead-fields button{grid-column:auto !important; font-size:13px !important; padding:6px 4px !important; min-width:0 !important;}
  body .hero-contact .lead-fields button svg{width:17px;height:17px;}
}


/* =====================================================
   MAGNUS V4 — Final responsive hero + consent + legal/a11y
   ===================================================== */
@media (min-width: 1101px) {
  body .hero-layout.container {width:min(calc(100% - 112px),1580px) !important; max-width:1580px !important;}
  body .hero-layout {direction:ltr !important; justify-content:flex-start !important;}
  body .hero-content {direction:rtl !important; flex:0 1 750px !important; width:min(750px,54%) !important; max-width:750px !important; margin:0 !important;}
  body .hero-visual {background-position:center 26% !important;}
  body .hero-slide h1,body .hero-slide h2 {font-size:clamp(42px,3.8vw,66px) !important;}
  body .hero-slide{min-height:205px !important;}
  body .hero {padding-top:52px !important;}
}
@media(min-width:701px) and (max-width:1100px){
  body .hero-layout {direction:ltr !important;justify-content:flex-start !important;}
  body .hero-content {direction:rtl !important;width:58% !important;}
}
/* Form legal acknowledgment */
body .lead-consent {display:flex;align-items:flex-start;gap:10px;cursor:pointer;text-align:right;color:#ebfaff;font-size:13px;font-weight:600;line-height:1.5;margin:12px 0 4px;font-family:Heebo,Arial,sans-serif;}
body .lead-consent input {appearance:auto !important;flex:0 0 auto !important;accent-color:#00ddeb !important;height:19px !important;width:19px !important;margin:1px 0 0 !important;cursor:pointer;}
body .lead-consent a {color:#63f4ff;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px;}
body .lead-consent a:hover {color:#fff;}
body .lead-form .form-privacy {margin-top:5px !important;color:#b8d3df;}
/* Accessibility widget */
body .a11y-widget{position:fixed;left:18px;bottom:88px;z-index:102;direction:rtl;font-family:Heebo,Arial,sans-serif;}
body .a11y-trigger{height:56px;width:56px;border-radius:50%;border:2px solid #d7feff;color:#fff;background:linear-gradient(145deg,#0173c9,#004887);box-shadow:0 0 0 3px #061b32,0 0 22px #08e6ff66;display:flex;align-items:center;justify-content:center;position:relative;}
body .a11y-trigger:hover{transform:translateY(-2px);}
body .a11y-person{font-size:29px;line-height:1;}
body .a11y-trigger-label{position:absolute;left:59px;bottom:11px;border:1px solid #37e3ff;background:#08233d;color:#fff;border-radius:9px;padding:3px 8px;white-space:nowrap;font-size:11px;font-weight:800;box-shadow:var(--mx-shadow)}
body .a11y-panel[hidden]{display:none !important;}
body .a11y-panel{position:absolute;bottom:70px;left:0;width:min(340px,calc(100vw - 30px));border-radius:18px;background:#071b32;color:#fff;padding:18px;border:1px solid #19dff4;box-shadow:0 12px 38px #000c,0 0 18px #00dfff3f;text-align:right;}
body .a11y-panel-top{display:flex;justify-content:space-between;align-items:center;gap:10px;font-size:18px;}
body .a11y-panel-top button{border:1px solid #29516b;background:#092640;color:#fff;border-radius:8px;width:34px;height:34px;font-size:25px;line-height:1;}
body .a11y-panel p{font-size:12px;line-height:1.6;color:#c9dce8;margin:7px 0 12px;}
body .a11y-buttons{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;}
body .a11y-buttons button{border:1px solid #227a9c;background:#0a304c;color:white;border-radius:10px;font-size:12px;line-height:1.5;padding:10px 5px;}
body .a11y-buttons button[aria-pressed=true]{background:#00d9ed;color:#05202c;border-color:#fff;font-weight:800;}
body .a11y-buttons [data-a11y=reset]{grid-column:1 / -1;background:#09182c;}
body .a11y-statement{color:#60ecff;font-weight:700;font-size:13px;text-decoration:underline;display:inline-block;margin-top:14px;}
/* Accessibility adjustments; html root controls inherited fonts via scale */
html.a11y-larger {font-size:110%;}
html.a11y-larger body .legal-body,html.a11y-larger body .lead-consent,html.a11y-larger body .faq-items,html.a11y-larger body .footer-links,html.a11y-larger body .section-heading p{font-size:1.12em !important;}
html.a11y-contrast body{background:#000 !important;color:#fff !important;}
html.a11y-contrast body .service-card,html.a11y-contrast body .team-card,html.a11y-contrast body .hero-contact,html.a11y-contrast body .contact-box{background:#000 !important;border-color:#fff !important;}
html.a11y-contrast body .legal-page{background:#000 !important;}
html.a11y-contrast body a:not(.btn){color:#78f5ff !important;}
html.a11y-underline body a:not(.brand){text-decoration:underline !important;text-decoration-thickness:2px !important;text-underline-offset:3px;}
html.a11y-motion *,html.a11y-motion *::before,html.a11y-motion *::after{animation:none !important;transition:none !important;scroll-behavior:auto !important;}
/* Legal pages */
body .legal-page{min-height:66vh;padding:64px 0 94px;background:radial-gradient(ellipse at 70% 15%,#0a3555,#051528 57%,#020e1d);}
body .legal-layout{max-width:1020px !important;}
body .legal-breadcrumb{display:flex;align-items:center;gap:10px;color:#a7c5d6;font-size:13px;margin-bottom:28px;}
body .legal-breadcrumb a{color:#53eeff;}
body .legal-eyebrow{font-size:12px;font-weight:800;letter-spacing:1px;color:#32e6ff;margin-bottom:10px;}
body .legal-page h1{font-family:Heebo,Arial,sans-serif;font-size:clamp(37px,5vw,64px);font-weight:900;line-height:1.2;margin-bottom:26px;}
body .legal-body{background:linear-gradient(145deg,rgba(5,30,55,.9),rgba(1,12,29,.94));padding:clamp(21px,4vw,44px);border:1px solid #176c8b;border-radius:22px;box-shadow:0 0 24px #00cfff1a;color:#dae8f5;}
body .legal-body h2{font-family:Heebo,Arial,sans-serif;font-size:23px;font-weight:900;color:#fff;margin:26px 0 9px;}
body .legal-body h2:first-child{margin-top:0;}
body .legal-body p{font-family:Assistant,Heebo,Arial,sans-serif;font-size:18px;line-height:1.9;margin:0 0 12px;}
body .legal-body .legal-lead{font-size:21px;font-weight:700;color:#fff;}
body .legal-body a{color:#67efff;text-decoration:underline;text-underline-offset:3px;}
body .legal-body .legal-note{color:#bdcbdc;font-size:14px;margin-top:23px;}
body .legal-contact-row{display:flex;align-items:center;flex-wrap:wrap;gap:13px;margin-top:24px;color:#fff;font-weight:700;}
body .footer-legal{display:flex;flex-wrap:wrap;gap:12px 20px;}
body .footer-legal a{color:#c8e5f2;text-decoration:underline;text-decoration-color:#347a93;text-underline-offset:4px;}
body .footer-legal a:hover{color:#1dedff;}
/* mobile: use dedicated image with visible head; text starts below image */
@media(max-width:700px){
  body .hero{padding:0 0 42px !important;background:#031225 !important;}
  body .hero-visual,body .hero-shade{height:348px !important;}
  body .hero-visual{
    background-image:url('../img/hero-mobile.webp') !important;
    background-size:cover !important;
    background-position:center 52% !important;
    background-repeat:no-repeat !important;
  }
  body .hero-shade{background:linear-gradient(180deg,rgba(1,9,23,.02) 0%,rgba(1,9,23,.03) 60%,rgba(3,18,37,.36) 83%,#031225 100%) !important;}
  body .hero-layout{padding-top:326px !important;direction:rtl !important;}
  body .hero-content{width:100% !important;}
  body .hero-slide{min-height:174px !important;}
  body .hero-slide h1,body .hero-slide h2{font-size:clamp(29px,8vw,38px) !important;}
  body .hero-contact{margin-top:10px !important;}
  body .hero-contact .lead-fields{grid-template-columns:1fr !important;}
  body .hero-contact .lead-fields input,body .hero-contact .lead-fields button{grid-column:auto !important;height:43px !important;font-size:14px !important;}
  body .lead-consent{font-size:12px;line-height:1.5;}
  body .a11y-widget{left:12px;bottom:calc(96px + env(safe-area-inset-bottom,0px));}
  body .a11y-trigger{height:48px;width:48px;}
  body .a11y-person{font-size:24px;}
  body .a11y-trigger-label{display:none;}
  body .a11y-panel{bottom:58px;}
  body .site-footer{padding-bottom:14px;}
  body .legal-page{padding:35px 0 55px;}
  body .legal-body{padding:18px;border-radius:16px;}
  body .legal-body p{font-size:16px;}
  body .legal-body .legal-lead{font-size:18px;}
  body .legal-body h2{font-size:20px;}
  body .legal-contact-row .btn{width:100%;}
}
@media(max-width:390px){
  body .hero-visual,body .hero-shade{height:322px !important;}
  body .hero-layout{padding-top:303px !important;}
  body .hero-slide h1,body .hero-slide h2{font-size:clamp(27px,8vw,33px) !important;}
}
/* Keep the lead headline legible immediately, without an opacity-flash on load. */
body .hero-slide.is-active{animation:none !important;opacity:1 !important;transform:none !important;}
@media(min-width:1101px){body .hero-visual{background-position:center top !important;}}

/* ========================================================
   MAGNUS mobile V4.2 — centered brand and close-up hero
   Only affects phones, leaves desktop unaffected.
   ======================================================== */
@media (max-width:700px) {
  body .site-header {height:64px !important;}
  body .site-header .nav-shell {
    position:relative !important;
    display:flex !important;
    justify-content:center !important;
    align-items:center !important;
    width:100% !important;
    height:64px !important;
    padding-inline:10px !important;
    gap:0 !important;
  }
  body .site-header .brand {
    position:absolute !important;
    top:50% !important;
    left:50% !important;
    right:auto !important;
    transform:translate(-50%,-50%) !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    text-align:center !important;
    white-space:nowrap !important;
    margin:0 !important;
    z-index:2 !important;
  }
  body .site-header .brand-wordmark {
    font-size:25px !important;
    letter-spacing:-.6px !important;
  }
  body .site-header .brand small {
    font-size:9px !important;
    margin-top:3px !important;
    line-height:1.1 !important;
  }
  body .site-header .nav-actions {
    position:absolute !important;
    left:10px !important;
    right:auto !important;
    top:50% !important;
    transform:translateY(-50%) !important;
    margin:0 !important;
    display:flex !important;
    flex-direction:row !important;
    direction:rtl !important;
    align-items:center !important;
    justify-content:flex-start !important;
    gap:6px !important;
    z-index:3 !important;
  }
  body .site-header .phone-link,
  body .site-header .menu-toggle {
    width:38px !important;
    height:38px !important;
    min-width:38px !important;
    min-height:38px !important;
    padding:0 !important;
    display:flex !important;
    justify-content:center !important;
    align-items:center !important;
    border-radius:10px !important;
  }
  body .site-header .phone-link {border-radius:50% !important;}
  body .site-header .menu-toggle {flex-direction:column !important;gap:5px !important;}
  body .site-header .menu-toggle span {width:21px !important;}
  body .site-header .main-nav {
    top:64px !important;
    width:100% !important;
    text-align:center !important;
    padding:14px 20px 24px !important;
    align-items:stretch !important;
    z-index:4 !important;
  }
  body .site-header .main-nav a {
    display:block !important;
    text-align:center !important;
    padding:13px 0 !important;
  }
  body .hero-visual, body .hero-shade {
    height:386px !important;
  }
  body .hero-visual {
    background-image:url('../img/hero-mobile.webp?v=4.2') !important;
    background-size:cover !important;
    background-position:center 41% !important;
  }
  body .hero-shade {
    background:linear-gradient(180deg,rgba(1,9,23,.04) 0%,rgba(1,9,23,.02) 45%,rgba(3,18,37,.08) 65%,rgba(3,18,37,.45) 85%,#031225 100%) !important;
  }
  body .hero-layout {
    padding-top:364px !important;
  }
  body .hero .eyebrow {justify-content:center !important;}
  body .hero-content {text-align:center !important;}
  body .hero-highlight {margin-inline:auto !important;}
  body .hero-slide p {margin-inline:auto !important;}
  body .hero .slider-controls {justify-content:center !important;}
  body .hero-contact {text-align:right !important;}
  body .hero-bottom-note {justify-content:center !important;text-align:center !important;}
}
@media(max-width:390px) {
  body .site-header .brand-wordmark {font-size:22px !important;}
  body .site-header .brand small {font-size:8px !important;}
  body .site-header .phone-link,
  body .site-header .menu-toggle {width:35px !important;height:35px !important;min-width:35px !important;min-height:35px !important;}
  body .site-header .nav-actions {gap:5px !important;left:8px !important;}
  body .hero-visual, body .hero-shade {height:365px !important;}
  body .hero-layout {padding-top:344px !important;}
}
@media(max-width:350px) {
  body .site-header .brand-wordmark {font-size:19px !important;letter-spacing:-.8px !important;}
  body .site-header .brand small {font-size:7px !important;}
}
