/* Shared browser baseline, replacing the unused scrollcraft component library. */
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scrollbar-width:thin;scrollbar-color:#667584 transparent}
body{font-size:clamp(1rem,.96rem + .22vw,1.125rem);line-height:1.62;letter-spacing:-.005em;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;font-synthesis-weight:none;overflow-x:clip}
img,video,canvas,svg{display:block;max-width:100%}
button,input,select,textarea{font:inherit;color:inherit}
::selection{background:#49dfc7;color:#081525}
:root{caret-color:#49dfc7;accent-color:#49dfc7}
:focus-visible{outline:3px solid #2448b9;outline-offset:3px}
:root{--navy:#081525;--ink:#111f32;--cream:#f5f4ef;--blue:#315ff6;--aqua:#49dfc7;--muted:#677181}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--cream);color:var(--ink);font-family:'DM Sans',sans-serif}a{color:inherit;text-decoration:none}button,a{touch-action:manipulation}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid #2448b9;outline-offset:5px}.skip{position:absolute;top:-100px;left:1rem;z-index:100;background:#fff;padding:1rem}.skip:focus{top:1rem}.nav{height:80px;position:absolute;z-index:20;top:0;left:0;right:0;display:flex;align-items:center;justify-content:space-between;padding:0 6%;color:#fff;border-bottom:1px solid #ffffff24}.brand{font-family:Manrope,sans-serif;font-size:20px;letter-spacing:-1px;font-weight:700;display:inline-flex;align-items:center;gap:8px}.brandword span{color:var(--aqua)}.brandmark{display:block;flex:none}.nav nav{display:flex;gap:38px;font-size:13px;color:#e2e8ef}.navcta{font-size:13px;border:1px solid #ffffff6a;border-radius:40px;padding:12px 19px}.navcta span{margin-left:20px;color:var(--aqua)}.hero{min-height:100svh;position:relative;background:#071222;color:#fff;display:flex;align-items:center;overflow:hidden}.hero-image,.hero-grid,.hero-orb{position:absolute;inset:0;pointer-events:none}.hero-image{background:linear-gradient(90deg,#071222 0%,#071222d9 27%,#07122288 58%,#07122233),linear-gradient(0deg,#071222c7 0%,transparent 35%),url('hero.webp') center/cover;transform:scale(1.04);will-change:transform}.hero-grid{background:linear-gradient(#ffffff08 1px,transparent 1px),linear-gradient(90deg,#ffffff08 1px,transparent 1px);background-size:100px 100px;opacity:.25;mask-image:linear-gradient(90deg,transparent,#000)}.hero-orb{inset:auto 9% 17% auto;width:clamp(130px,22vw,320px);aspect-ratio:1;border:1px solid #73f9e160;border-radius:50%;box-shadow:0 0 80px #4c77ff28,inset 0 0 60px #2bbab41a;transform:translateY(var(--orb-y,0px));will-change:transform}.hero-orb:before,.hero-orb:after{content:'';position:absolute;inset:13%;border:1px solid #b8ffff35;border-radius:50%}.hero-orb:after{inset:29%}.hero-copy{position:relative;z-index:2;margin:115px 6% 100px;max-width:1000px}.eyebrow,.kicker,.section-id,.journey-note{font-size:11px;letter-spacing:.17em;font-weight:700}.eyebrow{display:flex;align-items:center;gap:10px;color:#c9dfdf}.dot{width:7px;height:7px;background:var(--aqua);border-radius:50%;box-shadow:0 0 16px #49dfc7}h1,h2,h3,p{margin:0}h1,h2{font-family:Manrope,sans-serif;letter-spacing:-.055em;font-weight:600;line-height:1.06}h1{font-size:clamp(54px,7.8vw,112px);margin-top:30px}h1 em,h2 em{font-style:normal;color:#5ae5d2}.hero-copy>p{font-size:clamp(17px,1.5vw,21px);line-height:1.6;color:#d2dce6;max-width:560px;margin-top:26px}.hero-actions{display:flex;align-items:center;gap:30px;margin-top:32px}.button{display:inline-flex;align-items:center;gap:38px;padding:17px 22px;border-radius:3px;font-size:14px;font-weight:700}.primary{background:var(--blue);color:#fff}.button span{font-size:18px}.link-light{font-size:14px;color:#eaf5f5}.link-light span{margin-left:10px;color:var(--aqua)}.hero-bottom{position:absolute;z-index:2;bottom:28px;left:6%;right:6%;display:flex;justify-content:space-between;color:#c3d0d9;font-size:10px;font-weight:700;letter-spacing:.13em}.hero-bottom b{color:var(--aqua);margin-left:10px}.section{padding:110px 6% 125px}.section-id{display:flex;justify-content:space-between;border-bottom:1px solid #cad0d4;padding-bottom:18px;color:#536070}.section-id.light{border-color:#ffffff32;color:#a6b9c5}.kicker{color:#536576;margin:0 0 25px}.aqua{color:var(--aqua)}h2{font-size:clamp(43px,5.8vw,82px)}.intro h2 em,.services h2 em,.closing h2 em{color:#4261dc}.intro-grid{display:grid;grid-template-columns:1.1fr 1fr;gap:9%;padding-top:70px}.intro-copy{padding-top:38px;max-width:460px}.intro-copy p,.audience-copy p{font-size:17px;line-height:1.8;color:#536070}.intro-copy p+p{margin-top:22px}.journey{background:#0a192b;color:white;overflow:hidden}.journey-head{padding:95px 0 75px}.journey-head p{margin-top:25px;font-size:17px;color:#b9c9d4}.journey-track{display:grid;grid-template-columns:repeat(5,1fr);position:relative;gap:14px;padding-top:25px}.track-line{position:absolute;top:36px;left:0;right:0;height:1px;background:#517183}.track-fill{display:block;width:var(--progress,0%);height:2px;background:var(--aqua);box-shadow:0 0 18px var(--aqua)}.step{position:relative;padding-top:35px}.step:before{content:'';position:absolute;top:6px;left:0;width:11px;height:11px;border:2px solid var(--aqua);background:#0a192b;border-radius:50%}.step i{font-style:normal;font-size:11px;color:#71a39e}.step h3{font-family:Manrope;font-size:clamp(18px,2vw,27px);margin:14px 0}.step p{font-size:14px;color:#aabdc8;line-height:1.6}.journey-note{color:#8195a3;margin-top:70px;font-size:10px}.services-head{display:flex;justify-content:space-between;gap:40px;align-items:end;padding:100px 0 65px}.services-head>p{max-width:310px;line-height:1.7;color:#5c6a79}.service{display:grid;grid-template-columns:80px 1fr 40px;gap:20px;border-top:1px solid #cbd0d4;padding:32px 0;align-items:start}.service:last-child{border-bottom:1px solid #cbd0d4}.service>span{font-size:12px;color:#536070}.service h3{font-family:Manrope;font-size:clamp(24px,3vw,38px);letter-spacing:-.04em}.service p{margin-top:9px;color:#536070;line-height:1.6}.service b{font-weight:400;font-size:26px;color:#4064ed}.audience{background:#101f31;color:#fff}.audience-inner{display:grid;grid-template-columns:1fr 1fr;gap:10%;align-items:center;padding-top:100px}.audience-visual{min-height:480px;background:linear-gradient(150deg,#263c55,#111c2e 60%,#142b38);padding:30px}.visual-frame{border:1px solid #ffffff32;width:100%;height:100%;min-height:420px;display:flex;align-items:end;position:relative;padding:35px;overflow:hidden}.visual-frame>span{font-size:12px;line-height:1.8;letter-spacing:.16em;color:#a8c5cc;z-index:2}.visual-frame strong{color:white;font-size:21px;letter-spacing:.04em}.rings{position:absolute;inset:-10%;display:grid;place-items:center}.rings i{position:absolute;border:1px solid #64e7d267;border-radius:50%;width:62%;aspect-ratio:1}.rings i:nth-child(2){width:45%}.rings i:nth-child(3){width:28%;background:#3ee1c70d}.audience-copy p{color:#bccbd3;max-width:500px;margin-top:30px}.audience-tags{display:flex;flex-wrap:wrap;gap:10px;margin-top:40px}.audience-tags span{border:1px solid #ffffff40;border-radius:30px;padding:11px 15px;font-size:10px;letter-spacing:.12em}.closing-inner{padding:130px 0 70px;text-align:center}.closing-inner p{font-size:18px;color:#5d6977;margin:27px auto 32px}.closing-inner .button{display:inline-flex}footer{background:#071222;color:#fff;padding:45px 6%;display:flex;align-items:center;gap:30px;flex-wrap:wrap}footer p{color:#9aaebc;font-size:13px;margin-right:auto}footer>a:not(.brand){font-size:13px}footer small{color:#8596a4;font-size:11px}.reveal{opacity:1;transform:none}.js-motion .reveal{opacity:0;transform:translateY(26px);transition:opacity .75s ease,transform .75s ease}.js-motion .reveal.visible{opacity:1;transform:none}@media(max-width:760px){.nav{height:68px;padding:0 6%}.nav nav{display:none}.navcta{padding:10px 13px}.hero{min-height:100svh;align-items:center}.hero-image{background-image:linear-gradient(90deg,#071222 0%,#071222d9 27%,#07122288 58%,#07122233),linear-gradient(0deg,#071222c7 0%,transparent 35%),url('hero-mobile.webp');background-position:63% center}.hero-copy{margin:120px 6% 110px}.hero-copy h1{font-size:clamp(46px,11vw,75px)}.hero-orb{width:180px;right:-30px;bottom:20%;opacity:.55}.hero-actions{align-items:flex-start;flex-direction:column;gap:24px}.hero-bottom span:first-child{max-width:160px}.section{padding:80px 6% 90px}.section-id{font-size:9px;gap:10px}.intro-grid,.audience-inner{grid-template-columns:1fr;gap:35px;padding-top:70px}.intro-copy{padding-top:0}.journey-head{padding:70px 0 55px}.journey-track{grid-template-columns:1fr;gap:0;padding:0 0 0 30px}.track-line{top:0;bottom:0;left:5px;width:1px;height:auto}.track-fill{width:2px;height:var(--progress,0%)}.step{padding:0 0 35px}.step:before{top:3px;left:-30px}.step h3{margin:9px 0}.services-head{display:block;padding:70px 0 45px}.services-head>p{margin-top:25px}.service{grid-template-columns:35px 1fr 25px;gap:10px}.audience-visual{min-height:340px}.visual-frame{min-height:280px}.closing-inner{padding:90px 0 35px}.hero-bottom{font-size:9px}footer{align-items:flex-start;flex-direction:column;gap:18px}footer p{margin:0}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition-duration:.01ms!important;animation-duration:.01ms!important}.js-motion .reveal{opacity:1;transform:none}.hero-image{transform:none}.hero-orb{transform:none}.track-fill{width:100%}}@media(max-width:760px) and (prefers-reduced-motion:reduce){.track-fill{height:100%;width:2px}}
.credentials{background:#e9eeed}.credentials-grid{display:grid;grid-template-columns:1fr 1fr;gap:9%;padding-top:75px}.credentials h2 em{color:#4261dc}.credentials-copy{max-width:510px;padding-top:36px}.credentials-copy p{font-size:17px;line-height:1.8;color:#536070}.credentials-copy p+p{margin-top:22px}.credentials-note{border-top:1px solid #b8c7c8;margin-top:38px;padding-top:20px;color:#536070;font-size:10px;letter-spacing:.13em;font-weight:700}@media(max-width:760px){.credentials-grid{grid-template-columns:1fr;gap:28px;padding-top:70px}.credentials-copy{padding-top:0}}
/* Version 3: a more human and more expressive lead journey. */
.journey-v3{position:relative;overflow:hidden;background:#09192b}.journey-v3 .journey-head{padding-bottom:36px}.journey-v3 .journey-head p{max-width:610px}.journey-story{position:relative;margin:0 0 80px;border:1px solid #aacdd328;background:radial-gradient(ellipse at 52% 52%,#173b4d 0,#0d2638 38%,#0a1c2d 75%);overflow:hidden}.story-art{height:clamp(280px,35vw,480px);position:relative;isolation:isolate}.story-orbit{position:absolute;left:50%;top:50%;border:1px solid #8adacc2b;border-radius:50%;aspect-ratio:1;transform:translate(-50%,-50%);pointer-events:none}.orbit-one{width:min(35vw,380px)}.orbit-two{width:min(24vw,260px);border-color:#95ebdd3d}.story-core{position:absolute;z-index:2;left:50%;top:50%;transform:translate(-50%,-50%) scale(calc(.92 + var(--journey-p,1)*.08));width:96px;height:96px;border-radius:50%;background:#102e40;border:1px solid #71d4c4;display:grid;place-items:center}.story-core img{width:58%;height:auto}.story-path{position:absolute;inset:8% 0;width:100%;height:84%;overflow:visible}.story-path path{fill:none;stroke-width:1.5;vector-effect:non-scaling-stroke}.path-shadow{stroke:#a3f0df35}.path-active{stroke:#79e8d6;stroke-width:2!important;stroke-dasharray:1;stroke-dashoffset:calc(1 - var(--journey-p,1))}.story-spark{position:absolute;width:10px;height:10px;background:#a7f2e2;border-radius:50%;transform:scale(calc(.55 + var(--journey-p,1)*.45));opacity:calc(.35 + var(--journey-p,1)*.65)}.spark-one{left:17%;top:39%}.spark-two{right:17%;top:34%}.spark-three{right:29%;bottom:24%}.story-caption{display:flex;justify-content:space-between;gap:20px;padding:0 30px 25px;color:#b5d0d0;font-size:10px;letter-spacing:.13em;font-weight:700}.journey-v3 .journey-note{margin:0;padding:16px 30px;border-top:1px solid #aacdd328}.journey-v3 .step{transition:color .45s ease,opacity .45s ease}.journey-v3 .step h3{transition:color .45s ease}.journey-v3 .step.is-current h3{color:#64e5d1}.journey-v3 .step.is-current:before{background:#64e5d1}.credentials-lede{max-width:430px;margin:26px 0 0;color:#596b76;line-height:1.75;font-size:17px}.credentials-copy p+p{margin-top:20px}@media(max-width:760px){.journey-story{margin-bottom:54px}.story-art{height:300px}.orbit-one{width:210px}.orbit-two{width:150px}.story-core{width:74px;height:74px}.story-caption{font-size:8px;padding:0 16px 20px}.journey-v3 .journey-note{padding:14px 16px;font-size:9px}.journey-v3 .journey-track{margin-top:15px}.credentials-lede{font-size:16px}}@media(prefers-reduced-motion:reduce){.path-active{stroke-dashoffset:0!important}.story-core,.story-spark{transform:translate(-50%,-50%)}.story-spark{transform:none;opacity:1}.journey-v3 .step{transition:none}}


/* Version 7: final component styles. */
:root{--muted:#536070;--red:#f32e35}
.nav nav{font-size:15px;gap:28px}.nav .brand,.navcta{flex-shrink:0}.navcta{white-space:nowrap;font-size:14px;font-weight:700;min-height:48px;display:inline-flex;align-items:center;padding:10px 20px;border:1px solid var(--aqua);border-radius:999px;background:#08152580;color:#fff}.navcta:hover{background:#49dfc71c;color:#fff;border-color:#8bf3e2}.nav a:hover,footer a:hover{color:var(--aqua)}
.nav a:focus-visible,.nav summary:focus-visible,footer a:focus-visible,.hero a:focus-visible,.journey a:focus-visible,.audience a:focus-visible{outline-color:var(--aqua)}
.eyebrow,.kicker,.section-id,.journey-note{font-size:14px;letter-spacing:.11em}.section-id>span:first-child::before{content:"";display:inline-block;width:7px;height:7px;background:var(--red);border-radius:50%;margin-right:10px;vertical-align:2px}.dot{background:var(--red);box-shadow:0 0 14px #f32e3580}.hero-bottom{font-size:13px}.hero-copy>p{max-width:660px}.hero-copy>p.hero-audience{font-size:16px;line-height:1.7;max-width:600px;margin-top:16px;color:#c6d8df}
.hero-actions .primary{min-height:48px;padding:10px 20px;border:1px solid var(--aqua);border-radius:999px;background:#08152580;color:#fff;transition:background-color .2s ease,border-color .2s ease}.hero-actions .primary:hover{background:#49dfc71c;border-color:#8bf3e2}
.step i,.service>span,.credentials-note,.audience-tags span{font-size:14px}.step p,.service p{font-size:16px}.journey-note{color:#aabdc8}.step i{color:#9bbdb7}
.services .service{grid-template-columns:60px minmax(0,1fr) 76px;column-gap:24px}.service h3{font-size:clamp(24px,2.8vw,36px)}.service p{max-width:820px}.capability-icon{width:68px;height:68px;justify-self:end;align-self:center;fill:none;stroke:#4261dc;stroke-width:.7;stroke-linecap:round;stroke-linejoin:round}
.credentials h2{font-size:clamp(40px,4.4vw,64px);line-height:1.12;max-width:560px}.credentials-copy{padding-top:0}.credentials-note{color:#536070}.credentials-lede{color:#536070}
.workflow-example{border-top:1px solid #aacdd340;margin-top:48px;padding-top:30px;display:grid;grid-template-columns:1fr 2fr;gap:35px}.workflow-example h3{font:600 23px/1.35 Manrope,sans-serif;letter-spacing:-.025em;color:#fff}.workflow-example p{font-size:17px;line-height:1.8;color:#c0d1d9;max-width:760px}
.audience-inner{gap:8%;align-items:start}.audience-visual{min-height:0;padding:28px;align-self:start}.visual-frame{min-height:0;height:auto;aspect-ratio:1 / 1.18;padding:22px;display:flex;align-items:flex-end}.visual-frame>span{font-size:11px;line-height:1.7;position:relative;z-index:2;max-width:100%;}.visual-frame strong{font-size:18px}.rings{inset:5% 5% auto;aspect-ratio:1;display:grid;place-items:center;pointer-events:none}.rings i{border:3px solid #64e7d267;transition:opacity .8s ease,border-color .8s ease,box-shadow .8s ease;transform:scale(var(--target-scale,1))}.rings i:nth-child(1){width:92%}.rings i:nth-child(2){width:75%}.rings i:nth-child(3){width:58%;background:transparent}.rings i:nth-child(4){width:41%}.rings i:nth-child(5){width:24%;background:#3ee1c70d}.target-motion .rings i{opacity:.25}.target-motion .rings i.is-lit{opacity:1;border-color:#79e8d6;box-shadow:0 0 10px #49dfc72b}.rings .target-dot{position:absolute;width:7px;height:7px;border-radius:50%;background:var(--red);opacity:0;transform:scale(.5);transition:opacity .8s ease,transform .8s ease;box-shadow:0 0 12px #f32e3570}.target-motion.is-centered .rings .target-dot{opacity:1;transform:scale(1)}
.audience-copy h2{font-size:clamp(40px,4.6vw,68px)}.audience-copy p{margin-top:24px}.audience-groups{list-style:none;padding:0;margin:30px 0 0;display:grid;gap:0}.audience-groups li{border-top:1px solid #ffffff32;padding:19px 0}.audience-groups h3{font:600 19px/1.4 Manrope,sans-serif;color:#fff}.audience-groups p{font-size:16px;line-height:1.7;margin-top:7px;color:#c0d1d9}.audience-copy .audience-tags{margin-top:24px}
.contact-details{display:flex;justify-content:center;gap:24px;flex-wrap:wrap;margin:0 auto 32px;font-size:16px;color:#40566b}.contact-details a{text-decoration:underline;text-underline-offset:4px}.contact-details a:first-child{font-weight:700;color:#2448b9;text-decoration:none;border-bottom:1px solid currentColor;padding-bottom:3px}
.contact-page{background:var(--cream)}.contact-page .nav{position:relative;background:#071222}.contact-page-main{padding:90px 6% 110px}.contact-page-heading{max-width:900px;margin:60px auto 0}.contact-page-heading h1{font-size:clamp(48px,6vw,78px);margin-top:22px}.contact-page-heading h1 em{color:#4261dc}.contact-page-heading>p{color:#536070;font-size:18px;line-height:1.7;margin-top:25px}.contact-page-details{max-width:900px;margin:28px auto 0;display:flex;gap:28px;color:#526574;font-size:15px}.contact-page-details a{text-decoration:underline;text-underline-offset:4px}
.contact-form-wrap{max-width:900px;margin:45px auto 0;padding:45px;display:grid;grid-template-columns:.8fr 1.2fr;gap:45px;text-align:left;background:#fff;border:1px solid #d5dfdf}.contact-form-kicker{font-size:13px;letter-spacing:.12em;font-weight:700;color:#506775}.contact-form-intro h3,.contact-form-intro h2,.form-title{font:600 clamp(26px,3vw,38px)/1.15 Manrope,sans-serif;letter-spacing:-.04em;margin:18px 0}.contact-form-intro p{font-size:16px;line-height:1.7;color:#526574;margin:0}.contact-form{display:grid;gap:10px;min-width:0}.contact-form label{font-weight:700;color:#1b3041;font-size:14px;margin-top:8px}.contact-form input,.contact-form textarea{width:100%;font:16px/1.5 'DM Sans',sans-serif;border:1px solid #acbcc0;border-radius:3px;background:#f9fbfa;color:#102033;padding:12px;min-height:48px}.contact-form textarea{resize:vertical}.contact-form input:focus-visible,.contact-form textarea:focus-visible{outline:3px solid #2448b9;outline-offset:2px}.contact-form .form-status,.contact-form .form-privacy{margin:8px 0;color:#526574;font-size:14px;line-height:1.6}.contact-form .form-privacy a{text-decoration:underline;text-underline-offset:3px}.contact-form button{justify-self:start;font:700 15px 'DM Sans',sans-serif;border:1px solid var(--aqua);border-radius:999px;background:#49dfc7;color:#081525;padding:14px 22px;cursor:pointer;min-height:48px}.contact-form button:disabled{cursor:not-allowed}
.contact-page:not(.legal-page){background:#081525;color:#f7fbfc}.contact-page:not(.legal-page) .contact-page-main{background:radial-gradient(ellipse at 85% 3%,#123a52 0,transparent 37%),linear-gradient(145deg,#0a1a2c,#081525 62%,#102c39)}.contact-page:not(.legal-page) .section-id{color:#b3cad4;border-color:#7aa6ab52}.contact-page:not(.legal-page) .kicker,.contact-page:not(.legal-page) .contact-form-kicker{color:#65e4d1}.contact-page:not(.legal-page) .contact-page-heading h1 em{color:#5ae5d2}.contact-page:not(.legal-page) .contact-page-heading>p{color:#c6d7df}.contact-page:not(.legal-page) .contact-form-wrap{background:linear-gradient(145deg,#172d41,#102333);border:1px solid #78bdbd55;box-shadow:0 24px 65px #020c174a}.contact-page:not(.legal-page) .contact-form-intro p{color:#c0d1d9}.contact-page:not(.legal-page) .contact-form label{color:#edf7f7}.contact-page:not(.legal-page) .contact-form input,.contact-page:not(.legal-page) .contact-form textarea{background:#091b2a;border-color:#71949d;color:#fff}.contact-page:not(.legal-page) .contact-form input:hover,.contact-page:not(.legal-page) .contact-form textarea:hover{border-color:#8de9da}.contact-page:not(.legal-page) :focus-visible{outline-color:#65e4d1}.contact-page:not(.legal-page) .contact-form .form-status,.contact-page:not(.legal-page) .contact-form .form-privacy{color:#d5e5e9}.contact-page:not(.legal-page) .contact-form button:disabled{background:#344b5a;color:#e3ecef;border-color:#78909b}.contact-page:not(.legal-page) .contact-page-details{color:#d1e2e6}
.legal-content{max-width:850px;margin:70px auto 0;color:#283c4c}.legal-content h1{font-size:clamp(42px,6vw,72px);margin:0 0 32px}.legal-content h2{font:700 23px/1.3 Manrope,sans-serif;letter-spacing:-.02em;margin:38px 0 12px;color:#111f32}.legal-content p,.legal-content li{font-size:17px;line-height:1.8;margin:0 0 16px}.legal-content ul{padding-left:24px}.legal-content a{text-decoration:underline;text-underline-offset:3px}.legal-review{padding:16px 18px;background:#e6eeee;border-left:3px solid #2448b9;color:#304c57;font-size:14px!important}
.mobile-nav{display:none}
@media(max-width:1080px){.nav{height:72px;gap:12px}.nav>nav{display:none}.mobile-nav{display:block;color:#fff;margin-left:auto}.mobile-nav summary{display:grid;place-items:center;min-width:48px;min-height:48px;cursor:pointer;font-size:14px;font-weight:700;list-style:none}.mobile-nav summary::-webkit-details-marker{display:none}.nav .mobile-nav nav{position:absolute;top:100%;left:0;right:0;display:flex;flex-direction:column;gap:0;padding:10px 6% 18px;background:#0b1c2e;border-bottom:1px solid #49dfc755;box-shadow:0 15px 30px #0006}.mobile-nav nav a{display:block;padding:12px 0;font-size:16px}.audience-inner{gap:5%}}
@media(max-width:760px){.nav{height:68px;gap:6px}.nav .brand{font-size:18px;gap:6px}.nav .brandmark{width:30px}.navcta{font-size:13px;padding:10px 13px}.section-id{font-size:13px}.section-id>span+span{display:none}.hero-bottom{font-size:12px}.hero-bottom span:first-child{max-width:170px}.hero-copy>p.hero-audience{font-size:15px}.eyebrow{font-size:12px}.intro-grid,.credentials-grid{padding-top:50px;gap:28px}.services-head{padding-top:50px}.services .service{position:relative;grid-template-columns:1fr;padding:30px 0;row-gap:12px}.service>span{font-size:13px}.service>div{width:100%}.service h3{padding-right:44px}.service p{font-size:17px;line-height:1.7}.capability-icon{position:absolute;right:0;top:28px;width:36px;height:36px;stroke-width:1}.credentials h2,.audience-copy h2{font-size:clamp(38px,10vw,52px)}.audience-inner{padding-top:50px;gap:40px}.audience-visual{width:100%;max-width:420px;margin:auto;padding:22px}.visual-frame{padding:18px}.rings i{border-width:2px}.visual-frame strong{font-size:17px}.workflow-example{grid-template-columns:1fr;gap:14px;margin-top:24px}.workflow-example p{font-size:16px}.contact-details{flex-direction:column;gap:16px;align-items:center}.contact-page-main{padding:55px 6% 75px}.contact-page-heading{margin-top:45px}.contact-page-heading h1{font-size:clamp(42px,11vw,60px)}.contact-form-wrap{grid-template-columns:1fr;gap:22px;padding:24px 20px}.contact-form-intro h2,.contact-form-intro h3,.form-title{font-size:28px}.contact-page-details{flex-direction:column;gap:12px}.legal-content{margin-top:45px}}
@media(max-width:360px){.nav{padding:0 4%;gap:3px}.nav .brand{font-size:16px;gap:4px}.nav .brandmark{width:25px}.navcta{font-size:12px;padding:10px}.mobile-nav summary{font-size:13px;min-width:44px}.hero-copy h1{font-size:42px}}
@media(prefers-reduced-motion:reduce){.rings i{transform:none!important;opacity:1!important;transition:none}.rings .target-dot{opacity:1!important;transform:none!important;transition:none}.hero-actions .primary{transition:none}}

/* Contact feedback remains readable without relying on color alone. */
.form-honeypot{position:absolute!important;left:-10000px!important;top:auto;width:1px;height:1px;overflow:hidden}
.contact-form .captcha-note{font-size:14px;line-height:1.6;color:#d5e5e9;margin:8px 0}
.contact-form .form-status[data-state="error"]{border-left:3px solid #ffb4b4;padding:10px 12px;background:#6a243d33;color:#ffe4e4}
.contact-form .form-status[data-state="success"]{border-left:3px solid #65e4d1;padding:10px 12px;background:#145a4933;color:#d8fff4}

.workflow-example .workflow-note{grid-column:2;font-size:13px;line-height:1.6;color:#aabdc8;margin-top:-18px}
@media(max-width:760px){.workflow-example .workflow-note{grid-column:1;margin-top:0}}

.contact-form-wrap>.contact-form:only-child{grid-column:1/-1}

/* Keep the single scroll cue together on small screens. */
.hero-bottom>span:only-child{max-width:none;white-space:nowrap}

/* Shared desktop columns keep the approach and services copy aligned. */
@media(min-width:761px){
  .intro-grid,.services-head{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);gap:9%;align-items:start;padding-top:70px}
  .intro-copy,.services-head>p{width:100%;max-width:460px;justify-self:end;padding-top:0;margin-top:0}
}

/* Compact target card: the caption has its own row below the ring artwork. */
.audience-visual{width:100%;max-width:420px;min-height:0;padding:20px;justify-self:start}
.visual-frame{display:grid;grid-template-rows:auto auto;gap:14px;height:auto;min-height:0;aspect-ratio:auto;padding:18px;align-items:start}
.visual-frame>.rings{position:relative;inset:auto;grid-row:1;justify-self:center;width:min(100%,240px);aspect-ratio:1}
.visual-frame>span{grid-row:2;align-self:start;position:relative;max-width:100%;overflow-wrap:anywhere}
@media(max-width:760px){
  .audience-visual{max-width:360px;padding:16px}
  .visual-frame{padding:16px;gap:12px}
  .visual-frame>.rings{width:min(100%,190px)}
}

/* V7 editorial spacing: distinct light sections without oversized gaps. */
.services{background:#e9eff2}
.section{padding-top:72px;padding-bottom:80px}
.intro-grid,.credentials-grid{padding-top:44px}
.services-head{padding-top:44px;padding-bottom:40px}
.journey-v3 .journey-head{padding:48px 0 32px}
.journey-story{margin-bottom:44px}
.story-art{height:clamp(250px,28vw,380px)}
.audience-inner{padding-top:48px}
.closing-inner{padding:56px 0 18px}
.workflow-example{margin-top:32px;padding-top:24px}
.contact-page-main{padding-top:60px;padding-bottom:72px}
.contact-page-heading{margin-top:36px}
.legal-content{margin-top:44px}
@media(max-width:760px){
 .section{padding-top:52px;padding-bottom:56px}
 .intro-grid,.credentials-grid{padding-top:32px;gap:24px}
 .services-head{padding-top:32px;padding-bottom:30px}
 .journey-v3 .journey-head{padding:34px 0 26px}
 .journey-story{margin-bottom:32px}
 .story-art{height:250px}
 .audience-inner{padding-top:34px;gap:30px}
 .closing-inner{padding:36px 0 12px}
 .workflow-example{margin-top:24px;padding-top:20px;gap:14px}
 .contact-page-main{padding-top:40px;padding-bottom:52px}
 .contact-page-heading,.legal-content{margin-top:30px}
}

/* Let the target fill its column without crowding the caption. */
.audience-inner{column-gap:5%}
.audience-visual{max-width:none}
.visual-frame>.rings{width:100%}
@media(max-width:760px){.audience-visual{max-width:420px}.visual-frame>.rings{width:100%}}

/* Fit the expertise phrase on one line within its responsive column. */
.credentials-grid>div:first-child{container-type:inline-size}
.credentials h2{font-size:clamp(26px,8.5cqi,54px);max-width:none}
.expertise-title{white-space:nowrap}

/* Reveal the center promptly without accelerating the rings. */
@media(prefers-reduced-motion:no-preference){.rings .target-dot{transition:opacity .3s ease,transform .3s ease}}

/* Reuse the workflow mark at the target center. */
.rings .target-logo{width:14%;max-width:56px;height:auto;aspect-ratio:56/39;border-radius:0;background:transparent;box-shadow:none;object-fit:contain}

/* Outward relationship ripple: animation plays only while the artwork is visible. */
.visual-frame>.rings{aspect-ratio:1 / .67;overflow:hidden;background:radial-gradient(ellipse at 50% 53%,#2db7b51c,transparent 70%)}
.audience-visual .rings i,.audience-visual .rings i:nth-child(n){position:absolute;left:50%;top:54%;width:94%;height:94%;aspect-ratio:auto;border-radius:48% 52% 51% 49%;border:2px solid #74ebdcaa;background:transparent;box-shadow:0 0 12px #5eeedd77,inset 0 0 14px #4ae3dd55;opacity:0;transform:translate(-50%,-50%) scale(.05);animation:audience-ripple 10.8s cubic-bezier(.18,.48,.28,1) infinite;animation-play-state:paused}
.audience-visual.is-visible .rings i{animation-play-state:running}
.audience-visual .rings i:nth-child(2){animation-delay:-1.8s}.audience-visual .rings i:nth-child(3){animation-delay:-3.6s}.audience-visual .rings i:nth-child(4){animation-delay:-5.4s}.audience-visual .rings i:nth-child(5){animation-delay:-7.2s}.audience-visual .rings i:nth-child(6){animation-delay:-9s}
.audience-visual .rings .target-logo{position:absolute;left:50%;top:52%;width:14%;max-width:56px;height:auto;opacity:1;transform:translate(-50%,-50%);transition:none;background:transparent;box-shadow:none}
@keyframes audience-ripple{0%{transform:translate(-50%,-50%) scale(.05);opacity:0;border-radius:49% 51% 50% 50%}9%{opacity:.76}55%{opacity:.47;border-radius:51% 49% 52% 48%}100%{transform:translate(-50%,-50%) scale(1.05);opacity:0;border-radius:48% 52% 49% 51%}}
@media(prefers-reduced-motion:reduce){.audience-visual .rings i,.audience-visual .rings i:nth-child(n){animation:none!important;opacity:0!important}.audience-visual .rings .target-logo{opacity:1!important;transform:translate(-50%,-50%)!important}}
/* Retain a quiet, static lake ripple when motion is reduced. */
@media(prefers-reduced-motion:reduce){
  .audience-visual .rings i:nth-child(1){opacity:.55!important;transform:translate(-50%,-50%) scale(.36)!important}
  .audience-visual .rings i:nth-child(2){opacity:.42!important;transform:translate(-50%,-50%) scale(.68)!important}
  .audience-visual .rings i:nth-child(3){opacity:.28!important;transform:translate(-50%,-50%) scale(1)!important}
}

/* Keep the wider, flatter ripple and generous horizon from the approved reference. */
.audience-visual .visual-frame{display:block;position:relative;aspect-ratio:448 / 461}
.audience-visual .visual-frame>.rings{position:absolute;inset:31% 0 auto;width:100%;aspect-ratio:1 / .46;background:radial-gradient(ellipse at 50% 54%,#2db7b529,transparent 72%)}
.audience-visual .visual-frame>span{position:absolute;left:4.5%;bottom:5%;max-width:90%}

/* A softly fading horizon anchors the ripple without overpowering it. */
.audience-visual .visual-frame::before{content:"";position:absolute;left:2%;right:2%;top:33%;height:1px;background:linear-gradient(90deg,transparent,#53cbbd42 22%,#75e5d65c 50%,#53cbbd42 78%,transparent);box-shadow:0 0 16px #49dfc729;pointer-events:none}

/* Wider lake perspective: waves travel from the horizon to the frame edges. */
.audience-visual .visual-frame>.rings{inset:33% 0 0;width:100%;height:67%;aspect-ratio:auto}
.audience-visual .rings i,.audience-visual .rings i:nth-child(n){top:50%;width:156%;height:98%}
.audience-visual .rings .target-logo{top:50%}
.audience-visual .visual-frame>span{text-shadow:0 1px 8px #071525,0 0 16px #071525}
