*,*::before,*::after{box-sizing:border-box}
:root{
  --navy:#2A4A78;
  --navy-deep:#1B2F4D;
  --coral:#E4707A;
  --coral-deep:#C95863;
  --teal:#8CC8C4;
  --white:#fff;
  --tint:#F6F7F8;
  --body:#22334C;
  --muted:#5C6B80;
  --warm:#1A0A06;
  --wrap:min(1200px, 100% - 2.5rem);
  --hdr:68px;
}
html,body{max-width:100%;overflow-x:hidden}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{margin:0;font-family:Montserrat,system-ui,sans-serif;color:var(--body);background:#fff;font-size:1.0625rem;line-height:1.7;overflow-wrap:break-word}
img,svg,video{max-width:100%;height:auto;display:block}
a{color:inherit}
h1,h2,h3{font-family:Poppins,sans-serif;margin:0;letter-spacing:-0.01em;line-height:1.02}
p{margin:0 0 1.1em}
ul,ol{margin:0;padding:0;list-style:none}
figure{margin:0}
.wrap{width:var(--wrap);margin-inline:auto}
:focus-visible{outline:3px solid var(--coral);outline-offset:3px}
.skip{position:absolute;left:-9999px;top:0;background:#fff;color:var(--navy);padding:.75rem 1rem;z-index:300}
.skip:focus{left:.5rem;top:.5rem}

.label{font-family:Poppins,sans-serif;font-weight:600;text-transform:uppercase;letter-spacing:.14em;font-size:.78rem;margin:0 0 1.25rem}
.label-coral{color:var(--coral)}
.label-navy{color:var(--navy)}

.btn{display:inline-block;font-family:Poppins,sans-serif;font-weight:600;text-decoration:none;border-radius:2px;transition:background .2s,transform .2s,box-shadow .2s}
.btn-coral{background:var(--coral);color:#fff;padding:.8rem 1.4rem;font-size:.95rem}
.btn-coral:hover{background:var(--coral-deep);transform:translateY(-2px);box-shadow:0 12px 26px rgba(201,88,99,.32)}
.btn-lg{padding:1.05rem 2rem;font-size:1.0625rem;letter-spacing:.02em}

/* HEADER — sticky, transparent over hero */
.site-header{position:sticky;top:0;z-index:120;height:var(--hdr);display:flex;align-items:center;transition:background .3s,box-shadow .3s}
.hdr-inner{width:var(--wrap);margin-inline:auto;display:flex;align-items:center;justify-content:space-between;gap:1rem;min-width:0}
.brand{flex:0 0 auto;line-height:0}
.brand img{height:38px;width:auto}
.site-header.solid{background:#fff;box-shadow:0 6px 26px rgba(27,47,77,.10)}
.site-header:not(.solid) .brand img{filter:brightness(0) invert(1)}
.nav-desktop{display:none;align-items:center;gap:1.4rem;min-width:0}
.nav-list{display:flex;align-items:center;gap:1.2rem}
.nav-link{font-family:Montserrat,sans-serif;font-weight:500;font-size:.93rem;text-decoration:none;color:#fff;padding:.5rem 0;display:inline-flex;align-items:center;gap:.35rem;position:relative;white-space:nowrap}
.site-header.solid .nav-link{color:var(--navy-deep)}
.nav-link.is-active{color:var(--coral)}
.nav-link::after{content:"";position:absolute;left:0;bottom:.15rem;height:2px;width:0;background:var(--coral);transition:width .25s}
.nav-link:hover::after{width:100%}
.caret{width:5px;height:5px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(45deg) translateY(-1px)}
.has-drop{position:relative}
.drop{position:absolute;top:100%;left:-1rem;min-width:210px;background:#fff;box-shadow:0 18px 40px rgba(27,47,77,.16);padding:.4rem 0;opacity:0;visibility:hidden;transform:translateY(8px);transition:opacity .22s,transform .22s,visibility .22s;border-top:3px solid var(--coral)}
.drop-right{left:auto;right:-1rem}
.has-drop:hover .drop,.has-drop:focus-within .drop{opacity:1;visibility:visible;transform:translateY(0)}
.drop a{display:block;padding:.6rem 1.1rem;font-size:.9rem;text-decoration:none;color:var(--navy-deep)}
.drop a:hover{background:var(--tint);color:var(--coral)}
.burger{background:none;border:0;width:44px;height:44px;display:grid;place-content:center;gap:5px;cursor:pointer;padding:0;flex:0 0 auto}
.burger span{display:block;width:26px;height:2px;background:#fff;transition:background .3s,transform .3s,opacity .3s}
.site-header.solid .burger span{background:var(--navy-deep)}
body.menu-open .burger span{background:var(--navy-deep)}
body.menu-open .burger span:nth-child(1){transform:translateY(7px) rotate(45deg)}
body.menu-open .burger span:nth-child(2){opacity:0}
body.menu-open .burger span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}

.mobile-menu{position:fixed;inset:0;z-index:110;background:#fff;padding:calc(var(--hdr) + 1.5rem) 1.5rem 6rem;overflow-y:auto;transform:translateX(100%);transition:transform .32s ease;max-width:100%}
body.menu-open{overflow:hidden}
body.menu-open .mobile-menu{transform:translateX(0)}
.mobile-menu a{display:block;text-decoration:none;font-family:Poppins,sans-serif;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--navy-deep);padding:.9rem 0;border-bottom:1px solid #e7eaef;font-size:1.05rem}
.mobile-menu .sub a{text-transform:none;font-family:Montserrat,sans-serif;font-weight:500;font-size:.95rem;color:var(--muted);padding-left:1rem;border-bottom:0}
.mobile-menu a.is-active{color:var(--coral)}
.mm-cta{margin-top:1.75rem;text-align:center;display:block}

/* HERO */
.hero{position:relative;min-height:100svh;display:flex;align-items:flex-end;overflow:hidden;background:var(--warm);margin-top:calc(-1 * var(--hdr));padding-top:var(--hdr)}
.hero-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:62% 52%;animation:zoom 18s ease-out forwards}
@keyframes zoom{from{transform:scale(1.1)}to{transform:scale(1)}}
.hero-scrim{position:absolute;inset:0;background:
  linear-gradient(100deg,rgba(26,10,6,.94) 0%,rgba(26,10,6,.74) 34%,rgba(26,10,6,.3) 62%,rgba(26,10,6,0) 90%),
  linear-gradient(180deg,rgba(26,10,6,.6) 0%,rgba(26,10,6,0) 28%,rgba(26,10,6,.72) 100%)}
.hero-inner{position:relative;width:var(--wrap);margin-inline:auto;padding:7rem 0 5.5rem;max-width:100%}
.hero h1{color:#fff;text-transform:uppercase;font-weight:700;font-size:clamp(2.5rem,7vw,5.5rem);line-height:.96;max-width:15ch;text-shadow:0 2px 30px rgba(26,10,6,.55)}
.hero-sub{color:#fff;font-family:Poppins,sans-serif;font-weight:500;text-transform:uppercase;letter-spacing:.07em;font-size:clamp(.9rem,1.6vw,1.2rem);margin:1.6rem 0 1rem;max-width:26ch;line-height:1.5}
.rule-coral{display:block;width:72px;height:4px;background:var(--coral);margin-bottom:2rem}
.scroll-cue{position:absolute;right:max(1.25rem,calc((100% - 1200px)/2));bottom:2.2rem;text-decoration:none;color:#fff;display:none;align-items:center;gap:.8rem;font-family:Poppins,sans-serif;font-size:.68rem;letter-spacing:.2em;text-transform:uppercase;opacity:.85}
.cue-line{width:1px;height:64px;background:linear-gradient(#fff,rgba(255,255,255,0));animation:cue 2.2s infinite}
@keyframes cue{0%,100%{transform:scaleY(.45);transform-origin:top}50%{transform:scaleY(1);transform-origin:top}}

/* CRED STRIP */
.cred{background:var(--navy-deep);color:#fff;padding:1.1rem 0;position:relative;z-index:2}
.cred-inner{display:flex;flex-wrap:wrap;gap:.5rem 1.4rem;align-items:center;justify-content:center;text-align:center}
.cred span{font-family:Poppins,sans-serif;font-size:.66rem;letter-spacing:.2em;text-transform:uppercase;color:rgba(255,255,255,.62)}
.cred ul{display:flex;flex-wrap:wrap;gap:.35rem 1rem;align-items:center;justify-content:center}
.cred li{font-family:Poppins,sans-serif;font-weight:600;font-size:.74rem;letter-spacing:.14em;text-transform:uppercase}
.cred li+li::before{content:"•";color:var(--coral);margin-right:1rem}

/* MISSION */
.mission{position:relative;overflow:hidden;background:var(--navy-deep);padding:clamp(4.5rem,10vw,8.5rem) 0}
.mission-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.mission-scrim{position:absolute;inset:0;background:linear-gradient(112deg,rgba(27,47,77,.96) 0%,rgba(27,47,77,.9) 45%,rgba(42,74,120,.7) 100%)}
.mission-watermark{position:absolute;right:-3%;top:50%;transform:translateY(-50%);width:min(400px,42%);opacity:.11;pointer-events:none;mix-blend-mode:screen}
.mission-inner{position:relative;max-width:100%}
.mission-body{border-left:3px solid var(--coral);padding-left:clamp(1.1rem,3vw,2.2rem)}
.mission-text{font-family:Poppins,sans-serif;font-weight:500;color:#fff;font-size:clamp(1.4rem,3vw,2.45rem);line-height:1.28;max-width:26ch;margin:0}
.mission-text em{font-style:normal;color:var(--coral)}

/* SOLUTIONS */
.solutions{background:var(--tint);padding:clamp(4.5rem,9vw,7.5rem) 0 clamp(5rem,10vw,8rem);position:relative}
.sol-head{display:grid;gap:1.75rem}
.sol-label{margin-bottom:0}
.sol-lede p{max-width:60ch;color:var(--body);font-size:1.0625rem}
.sol-lede p:last-child{margin-bottom:0}
.sol-media img{width:100%;height:clamp(170px,26vw,300px);object-fit:cover;border-radius:2px;box-shadow:0 26px 60px rgba(27,47,77,.18)}
.sol-list{margin-top:clamp(3rem,6vw,4.5rem);display:grid;gap:3.4rem}
.sol-item{position:relative;background:#fff;padding:3.2rem 1.5rem 2rem;box-shadow:0 18px 46px rgba(27,47,77,.09);transition:transform .3s,box-shadow .3s;min-width:0;border-top:3px solid transparent}
.sol-item:hover{transform:translateY(-6px);box-shadow:0 30px 62px rgba(27,47,77,.17);border-top-color:var(--coral)}
.sol-num{position:absolute;top:-.4em;left:1.4rem;font-family:Poppins,sans-serif;font-weight:700;font-size:clamp(3.2rem,9vw,4.6rem);line-height:1;color:var(--coral);transition:color .25s,transform .25s}
.sol-item:hover .sol-num{color:var(--coral-deep);transform:translateY(-4px)}
.sol-icon{width:56px;margin-bottom:1.1rem}
.sol-item h3{font-size:clamp(1.3rem,2.4vw,1.8rem);text-transform:uppercase;color:var(--navy)}
.hair{display:block;width:48px;height:3px;background:var(--coral);margin:.9rem 0 1rem}
.sol-item p{color:var(--muted);max-width:34ch;margin-bottom:1.2rem;font-size:1rem}
.tlink{font-family:Poppins,sans-serif;font-weight:600;text-transform:uppercase;letter-spacing:.1em;font-size:.76rem;color:var(--navy);text-decoration:none;display:inline-flex;gap:.5rem}
.tlink span{transition:transform .25s;display:inline-block}
.tlink:hover{color:var(--coral)}
.sol-item:hover .tlink span,.tlink:hover span{transform:translateX(6px)}
.sol-cta{margin:clamp(3rem,6vw,4.5rem) 0 0}
.sol-cta a{font-family:Poppins,sans-serif;font-weight:600;color:var(--navy);text-decoration:none;border-bottom:2px solid var(--coral);padding-bottom:.25rem;font-size:clamp(1rem,1.6vw,1.15rem);display:inline-block}
.sol-cta a:hover{color:var(--coral)}

/* TESTIMONIALS */
.tests{background:var(--teal);padding:clamp(4rem,9vw,7rem) 0}
.slider{position:relative;max-width:900px;min-width:0}
.qmark{font-family:Poppins,sans-serif;font-size:clamp(4rem,9vw,6.5rem);line-height:.55;color:var(--coral);display:block;margin:0 0 1.2rem;opacity:.85}
.slides{position:relative}
.slide{margin:0;display:none}
.slide.is-on{display:block;animation:fade .45s ease}
@keyframes fade{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
.slide blockquote{margin:0}
.slide blockquote p{font-family:Poppins,sans-serif;font-weight:500;color:var(--navy-deep);font-size:clamp(1.18rem,2.6vw,1.95rem);line-height:1.38;margin:0;max-width:34ch}
.hair-w{display:block;width:56px;height:2px;background:#fff;margin:1.5rem 0}
.slide figcaption{font-weight:600;color:var(--navy-deep);font-size:.95rem}
.slider-ui{display:flex;align-items:center;gap:.9rem;margin-top:2.2rem;flex-wrap:wrap}
.counter{font-family:Poppins,sans-serif;font-weight:600;font-size:.78rem;letter-spacing:.14em;color:var(--navy-deep)}
.arrow{background:transparent;border:1.5px solid rgba(27,47,77,.45);color:var(--navy-deep);width:44px;height:44px;border-radius:50%;font-size:1.4rem;line-height:1;cursor:pointer;transition:background .2s,color .2s,border-color .2s;flex:0 0 auto}
.arrow:hover{background:var(--navy-deep);color:#fff;border-color:var(--navy-deep)}
.dots{display:flex;gap:.6rem;margin-right:auto}
.dots button{width:11px;height:11px;border-radius:50%;border:1.5px solid var(--navy-deep);background:transparent;padding:0;cursor:pointer}
.dots button[aria-selected="true"]{background:var(--coral);border-color:var(--coral)}

/* CLOSING */
.closing{position:relative;background:var(--navy);overflow:hidden;padding:clamp(4.5rem,10vw,7.5rem) 0}
.closing-tex{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.2}
.closing::after{content:"";position:absolute;inset:0;background:linear-gradient(120deg,rgba(27,47,77,.93),rgba(42,74,120,.72))}
.closing-inner{position:relative;z-index:1;max-width:100%;display:grid;gap:2rem}
.closing h2{color:#fff;text-transform:uppercase;font-weight:700;font-size:clamp(1.85rem,4.6vw,3.4rem);max-width:18ch;line-height:1.02}
.closing-act p{color:rgba(255,255,255,.88);max-width:44ch;margin:0 0 1.8rem}

/* FOOTER */
.site-footer{background:var(--tint);padding:clamp(3rem,7vw,4.5rem) 0 6rem;border-top:1px solid #e6e9ee}
.foot-grid{display:grid;gap:2.5rem}
.foot-nav a{text-decoration:none;color:var(--navy);font-weight:500;display:inline-block;padding:.35rem 0}
.foot-nav a:hover{color:var(--coral)}
.foot-nav ul ul a{font-size:.9rem;color:var(--muted);padding-left:1rem}
.foot-mark{text-align:center}
.foot-mark img{height:52px;width:auto;margin:0 auto 1.4rem}
.legal a{color:var(--navy);text-decoration:none;border-bottom:1px solid rgba(42,74,120,.35)}
.legal span{margin:0 .5rem;color:var(--muted)}
.copy{color:var(--muted);font-size:.88rem;margin:0}

.mobile-bar{position:fixed;left:0;right:0;bottom:0;z-index:105;background:var(--coral);color:#fff;text-align:center;padding:1rem;font-family:Poppins,sans-serif;font-weight:600;text-decoration:none;box-shadow:0 -8px 24px rgba(27,47,77,.18)}
.totop{display:none}

.reveal,.fade{opacity:0}
.reveal{transform:translateY(24px)}
.reveal.in{opacity:1;transform:translateY(0);transition:opacity .7s ease,transform .7s ease}
.fade.in{opacity:1;transition:opacity .7s ease}

@media (min-width:600px){
  .sol-item{padding:3.4rem 2rem 2.2rem}
}
@media (min-width:768px){
  :root{--hdr:76px}
  .brand img{height:42px}
  .sol-head{grid-template-columns:190px minmax(0,1fr)}
  .sol-media{grid-column:1 / -1}
  .sol-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:3.4rem 2rem}
  .foot-grid{grid-template-columns:1fr 1.3fr;align-items:start}
  .mobile-bar{display:none}
  .site-footer{padding-bottom:clamp(3rem,7vw,4.5rem)}
  .scroll-cue{display:flex}
  .closing-inner{grid-template-columns:1.1fr 1fr;gap:3rem;align-items:end}
  .totop{display:block;position:fixed;right:1.5rem;bottom:1.5rem;z-index:100;width:46px;height:46px;border-radius:50%;border:0;background:var(--navy);color:#fff;font-size:1.1rem;cursor:pointer;opacity:0;pointer-events:none;transition:opacity .3s,background .2s}
  .totop.show{opacity:1;pointer-events:auto}
  .totop:hover{background:var(--coral)}
}
@media (min-width:992px){
  :root{--hdr:88px}
  .brand img{height:46px}
  .nav-desktop{display:flex}
  .burger{display:none}
  .mobile-menu{display:none}
  .hero-inner{padding:9rem 0 7rem}
  .sol-head{grid-template-columns:190px minmax(0,1fr) minmax(0,330px);gap:2.5rem 3rem;align-items:start}
  .sol-media{grid-column:3;grid-row:1;margin-top:-4.5rem}
  .sol-media img{height:330px}
  .sol-list{grid-template-columns:repeat(3,minmax(0,1fr));gap:2rem;align-items:start;margin-top:2rem}
  .sol-shift{margin-top:4.5rem}
  .sol-break{margin-top:-1.5rem}
  .mission-body{margin-left:6%}
  .mission-text{max-width:24ch}
  .tests-inner{padding-left:6%}
  .closing-inner{padding-left:6%}
}
@media (prefers-reduced-motion:reduce){
  *{animation:none!important;transition:none!important}
  .reveal,.fade{opacity:1;transform:none}
  html{scroll-behavior:auto}
}