/* Black presentation layer: neutral surfaces, blue/violet brand accents. */
:root{--ink:#f5f5f5;--muted:#b3b3b3;--line:#ffffff16;--soft:#111111;--lavender:#181818;--accent:#b196ff;--purple-hover:#8d38ed;--max:1240px;--surface:#000000;color-scheme:dark}
html[data-purple="brand"]{--lavender:#181818;--accent:#d4a7e3}
body{background:var(--surface);color:var(--ink)}
::selection{background:#9459D6;color:#fff}
.eyebrow,.text-link,.service-number,.row-arrow{color:var(--accent)}
.eyebrow{font-size:11px;letter-spacing:.19em;display:flex;align-items:center;gap:10px}
.eyebrow:before{content:"";height:5px;width:5px;border-radius:50%;background:var(--blue);flex:none}
h1,h2,h3{font-weight:500}h2{line-height:1.12}p{color:var(--muted)}
.section{padding-block:104px}.wrap{width:min(var(--max),calc(100% - 96px))}
.button,.nav-contact{border-radius:99px}.button{padding:16px 26px;min-height:54px;gap:30px}
.button:not(.secondary),.nav-contact{background:var(--blue);color:#101324!important;border-color:var(--blue)}
.button:not(.secondary):hover,.nav-contact:hover{background:#69d2ee;border-color:#69d2ee}
.button.secondary{background:#ffffff03;color:var(--ink);border-color:#ffffff35}
.button.secondary:hover{background:#ffffff0c;border-color:var(--accent)}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,[tabindex]:focus-visible{outline:2px solid var(--blue);outline-offset:5px}
.accent-dot{color:var(--blue)}
/* Navigation: one shared, generous panel, with genuine page destinations. */
.site-header{background:#000000ed;border-color:var(--line);backdrop-filter:blur(22px)}
.header-inner{min-height:100px;position:relative;gap:24px}
.brand{background:none;padding:0}.brand img{width:100px;height:auto;display:block}
.site-header nav{gap:27px;font-size:15px}
.site-header nav>a:not(.nav-contact){padding:13px 0}
.site-header nav a:hover,.site-header nav a[aria-current]{color:var(--blue)}
.site-header nav a[aria-current]:not(.nav-contact):after{display:none}
.nav-contact{gap:24px;padding:13px 24px;margin-left:10px}
.nav-group{display:flex;align-items:center;gap:5px}
.nav-top-link{padding-block:16px}
.submenu-toggle{background:none;border:0;color:#bbbbbb;padding:15px 3px;display:grid;place-items:center}
.submenu-toggle svg{width:10px;height:7px;stroke:currentColor;fill:none;stroke-width:1.5;transition:transform .2s}
.submenu-toggle[aria-expanded="true"] svg{transform:rotate(180deg)}
.mega-menu{position:absolute;top:calc(100% - 1px);left:0;right:0;border:1px solid #ffffff1f;border-top:2px solid var(--purple);border-radius:0 0 18px 18px;background:#111111;box-shadow:0 30px 65px #0009;padding:22px;display:grid;grid-template-columns:.75fr 2.25fr;gap:20px;max-height:calc(100dvh - 110px);overflow:auto;animation:menu-in .18s ease-out}
.menu-intro{background:linear-gradient(140deg,#202020,#141414);padding:27px;border-radius:10px;display:flex;flex-direction:column;align-items:flex-start}
.menu-intro .eyebrow{font-size:10px;margin-bottom:20px}.menu-intro h2{font-size:29px;letter-spacing:-.025em;line-height:1.15;margin-bottom:18px}
.menu-intro p:not(.eyebrow){font-size:15px;line-height:1.6}.menu-intro .text-link{margin-top:auto;padding-top:24px;font-size:14px}
.menu-links{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.menu-card{display:grid;grid-template-columns:34px 1fr 15px;align-items:start;gap:13px;padding:18px 15px;border:1px solid transparent;border-radius:10px;transition:background .2s,border-color .2s}
.menu-card:hover{background:#ffffff06;border-color:#ffffff16}
.menu-icon{display:grid;place-items:center;width:34px;height:34px;background:#231b38;border-radius:8px;color:var(--accent)}
.menu-icon svg{width:22px;height:22px}.menu-card:nth-child(even) .menu-icon{background:#172a36;color:var(--blue)}
.menu-card strong{font-size:16px;line-height:1.35;display:block;font-weight:500;color:var(--ink)}
.menu-card small{font-size:13px;line-height:1.5;display:block;margin-top:7px;color:var(--muted)}
.menu-arrow{color:var(--blue);line-height:1.3}.menu-foot{grid-column:1/-1;border-top:1px solid var(--line);padding:4px 10px 0}.menu-foot .text-link{font-size:13px}
.menu-toggle{background:none;color:var(--ink);border-color:var(--line);border-radius:99px}
@keyframes menu-in{from{opacity:0;transform:translateY(-7px)}to{opacity:1;transform:translateY(0)}}
/* Flowing strands are drawn locally, with no video or third-party scripts. */
.hero-stage{position:relative;overflow:hidden;background:#000000}
.hero{position:relative;z-index:1;grid-template-columns:1.3fr .7fr;gap:20px;min-height:700px;padding-block:90px 110px}
.hero-copy{position:relative;z-index:2}.hero .eyebrow{color:#bcbcbc;margin-bottom:27px}
.hero h1{font-size:clamp(56px,5.5vw,80px);line-height:1.08;letter-spacing:-.045em;margin-bottom:28px}
.hero h1 span{background:linear-gradient(105deg,var(--blue),#9992ff 50%,#b478ff);background-clip:text;-webkit-background-clip:text;color:transparent}
.hero .lead{font-size:25px;color:#f0f0f0}.hero-sub{font-size:17px;max-width:560px;color:#b6b6b6}.hero .actions{margin-top:34px}
.flow-art{position:absolute;inset:0;pointer-events:none;overflow:hidden}
.flow-art svg{position:absolute;left:32%;top:-8%;width:85%;height:120%;opacity:.75;mask-image:linear-gradient(90deg,transparent,#000 17%,#000)}
.flow-lines{stroke:url(#flow-colour);stroke-width:1;fill:none;opacity:.7;transform-origin:65% 50%;animation:flow-drift 22s ease-in-out infinite alternate}
.flow-lines path:nth-child(3n){stroke-width:1.7;opacity:.7}.flow-lines path:nth-child(4n){opacity:.32}
.aurora{position:absolute;width:600px;height:420px;border-radius:50%;filter:blur(95px);opacity:.035;animation:aurora-drift 18s ease-in-out infinite alternate}
.aurora-one{right:-150px;top:40px;background:var(--purple)}.aurora-two{right:180px;bottom:-220px;background:var(--blue);animation-delay:-8s}
@keyframes flow-drift{0%{transform:translate(-12px,-8px) rotate(-7deg) scale(1)}100%{transform:translate(15px,20px) rotate(5deg) scale(1.08)}}
@keyframes aurora-drift{to{transform:translate(-80px,35px) scale(1.25)}}
.hero-visual{height:430px;position:relative}
.orbit-label{position:absolute;border:1px solid #ffffff28;border-radius:99px;background:#111111dd;backdrop-filter:blur(8px);padding:7px 19px;font-size:13px;letter-spacing:.02em;color:#e0e0e0;animation:label-float 9s ease-in-out infinite alternate}
.orbit-label:before{content:"";display:inline-block;width:5px;height:5px;background:var(--blue);border-radius:50%;margin-right:9px}
.orbit-teams{top:30px;left:0}.orbit-tools{top:100px;right:10px;animation-delay:-3s}.orbit-data{top:205px;left:40px;animation-delay:-6s}.orbit-ai{top:290px;right:20px;animation-delay:-1s}
.orbit-ai:before,.orbit-tools:before{background:var(--accent)}
@keyframes label-float{to{transform:translateY(-16px)}}
.visual-caption{bottom:-25px;left:40px;right:auto;padding:8px 0 8px 18px;background:transparent;border-color:var(--blue)}
.visual-caption span{font-size:10px;color:var(--muted)}.visual-caption strong{font-size:25px;color:#e3e3e3}
.hero-scroll{position:absolute;z-index:2;bottom:24px;left:50%;display:grid;place-items:center;width:40px;height:40px;border:1px solid #ffffff30;border-radius:50%;color:var(--blue)}
.trust-band{background:#080808}.trust-band .wrap{padding-block:22px}.trust-band span{font-size:10px}.trust-band p{font-size:14px;color:#c4c4c4}
/* Original client marks remain on white, at their original colours. */
.client-section{padding-block:64px 72px}.client-section h2{font-size:30px}.client-section .eyebrow{margin-bottom:13px}
.client-grid{grid-template-columns:repeat(6,1fr);gap:14px;margin-top:30px}
.client-grid li{background:#f5f5f8;border:0;border-radius:9px;padding:17px 13px 12px;min-height:105px;gap:8px}
.client-grid img{height:44px;width:125px}.client-grid span{font-size:11px;color:#525266;line-height:1.3}
.split{gap:90px}.split .lead{font-size:25px;line-height:1.5}.split .lead+p{margin-top:22px}
.soft-section{background:#0a0a0a;border-block:1px solid #ffffff07}
.service-list,.service-row{border-color:#ffffff17}.service-row{padding:30px 10px;grid-template-columns:36px 1.05fr 1.1fr 32px;border-radius:0;transition:background .2s,padding .2s}
.service-row:hover{background:#ffffff04;padding-inline:18px}.service-row:hover h3{color:var(--blue)}.service-row h3{font-size:27px}.service-row p{font-size:16px}.row-arrow{color:var(--blue)}
.service-number{font-size:11px}.section-heading>p{font-size:16px;line-height:1.7}.section-heading .text-link{font-size:14px}
/* The two bands run in opposing directions, like the reference. */
.motion-band{padding-block:67px 72px;border-bottom:1px solid var(--line);background:#000000;overflow:hidden}
.word-window{overflow:hidden}.word-track{display:flex;width:max-content;animation:words-left 55s linear infinite}
.word-track>div{display:flex;align-items:center;gap:38px;flex:none;padding-right:38px;white-space:nowrap}
.word-track span{font-size:clamp(48px,6.3vw,96px);line-height:1.25;letter-spacing:-.04em;background:linear-gradient(105deg,var(--blue),#9867ef);background-clip:text;-webkit-background-clip:text;color:transparent}
.word-track i{font-style:normal;font-size:36px;color:#6854bb}
.benefits-track{animation:benefits-right 65s linear infinite;margin-top:10px}
.benefits-track span{background:none;color:transparent;-webkit-text-stroke:1px #858585;font-size:clamp(44px,6vw,88px)}.benefits-track i{color:#858585}
@keyframes words-left{to{transform:translateX(-50%)}}
@keyframes benefits-right{from{transform:translateX(-50%)}to{transform:translateX(0)}}
.motion-band:hover .word-track{animation-play-state:paused}
/* Case studies are a prominent three-part editorial block. */
.case-card,.article-card{background:#111111;border-color:#ffffff16;border-radius:14px;overflow:hidden;box-shadow:0 10px 40px #0001}
.case-card:hover,.article-card:hover{border-color:#9274de;box-shadow:0 20px 55px #0003;transform:translateY(-5px)}
.case-art{min-height:248px;background:radial-gradient(ellipse at 80% 20%,#49306344,transparent 60%),#151515;border-bottom:1px solid #ffffff0c;padding:32px}
.case-art:after{content:"";position:absolute;width:300px;height:300px;right:-155px;top:-80px;border:1px solid #b297ff33;box-shadow:0 0 0 20px #b297ff08,0 0 0 40px #b297ff08,0 0 0 60px #b297ff08,0 0 0 80px #b297ff06,0 0 0 100px #b297ff04;border-radius:40%;transform:rotate(-35deg)}
.case-art strong{font-size:65px;color:#d0bbff;letter-spacing:-.045em}.case-art>span{color:#bdbdbd;font-size:14px}.case-art .case-sector{font-size:10px;letter-spacing:.13em;margin-bottom:35px;color:#d7d7d7}.art-chevron{display:none}
.case-card:nth-child(2) .case-art{background:radial-gradient(ellipse at 70% 10%,#1f6e8740,transparent 65%),#151515}.case-card:nth-child(2) .case-art strong{color:#7adef6}
.case-card:nth-child(3) .case-art{background:radial-gradient(ellipse at 70% 10%,#3b3e8740,transparent 65%),#151515}.case-card:nth-child(3) .case-art strong{color:#a5afff}
.card-content{padding:28px;gap:20px}.card-content h3{font-size:25px;font-weight:500}.card-content .eyebrow{font-size:10px}.card-content .text-link{font-size:14px;color:#d1c2fb;padding-top:22px}.proof-note{font-size:13px;margin-top:28px}
.ai-feature{position:relative;overflow:hidden;background:#0a0a0a;border-block:1px solid #ffffff19}
.ai-feature:before{content:"";position:absolute;width:550px;height:550px;border:1px solid #b69dff20;border-radius:50%;right:-220px;top:-130px;box-shadow:0 0 0 40px #b69dff04,0 0 0 80px #b69dff04,0 0 0 120px #b69dff04}
.ai-feature .wrap{position:relative}.ai-feature .lead{font-size:25px}.ai-feature .text-link{display:inline-flex;margin-right:25px;font-size:15px}.tag-list span{border-color:#b49bf53d;color:#d4c9f0;border-radius:99px;background:#ffffff03}
.method-grid{gap:24px}.method-grid article{border-top:1px solid #ffffff26;padding-top:25px;position:relative}.method-grid article:before{content:"";position:absolute;left:0;top:-3px;width:5px;height:5px;background:var(--blue);border-radius:50%}.method-grid h3{font-size:24px}.method-grid p{font-size:15px}.method-grid .service-number{color:#999999}
/* Testimonials: duplicated only for visual continuity, never for screen readers. */
.testimonial-section{overflow:hidden;background:#080808;border-block:1px solid var(--line)}
.quote-viewport{overflow-x:auto;scrollbar-width:thin;scrollbar-color:#555555 transparent;padding-block:5px 20px;mask-image:linear-gradient(90deg,transparent,#000 3%,#000 97%,transparent)}
.quote-track{display:flex;width:max-content;gap:24px;padding-inline:48px}.testimonial-grid{display:flex;gap:24px;margin:0;flex:none}
.testimonial-grid figure{border:1px solid #ffffff17;border-radius:15px;padding:34px;width:430px;background:linear-gradient(140deg,#191919,#111111);display:flex;flex-direction:column;margin:0}
.quote-metric{padding-bottom:26px;margin-bottom:26px;border-bottom:1px solid #ffffff14}.quote-metric strong{font-size:42px;line-height:1.1;color:#bda1ff;display:block;font-weight:400;letter-spacing:-.04em}.quote-metric span{display:block;font-size:12px;color:#b0b0b0;margin-top:8px}
.testimonial-grid figure:nth-child(2) .quote-metric strong{color:#67cde9}.testimonial-grid figure:nth-child(3) .quote-metric strong{color:#a4aeff}
.testimonial-grid blockquote{font-size:18px;line-height:1.7;color:#dedede;letter-spacing:0;margin-bottom:30px}
.testimonial-grid figcaption{margin-top:auto;display:flex;align-items:center;gap:13px;color:#eeeeee;font-size:14px}.testimonial-grid figcaption small{display:block;font-size:12px;color:var(--muted);margin-top:5px}.quote-avatar{border:1px solid #ffffff22;border-radius:50%;padding:10px;color:var(--accent)}.quote-avatar svg{width:21px;height:21px}
.motion-toggle{display:inline-flex;align-items:center;gap:10px;background:transparent;border:1px solid #ffffff30;border-radius:99px;color:#dddddd;padding:11px 17px;font-size:13px;white-space:nowrap}.motion-toggle:hover{border-color:var(--blue)}
.motion-paused .flow-lines,.motion-paused .aurora,.motion-paused .orbit-label,.motion-paused .word-track{animation-play-state:paused!important}
.cta{border-top:0;padding-block:100px;background:#000000}.cta h2{font-size:49px}.cta p:not(.eyebrow){font-size:17px}
.site-footer{background:#000000;border-color:var(--line)}.footer-grid{padding-block:65px;gap:45px}.footer-grid .brand{background:none}.footer-grid .brand img{width:105px}.footer-grid h2{font-size:13px;color:#ededed;letter-spacing:.04em}.footer-grid p,.footer-grid a:not(.brand){font-size:13px;color:var(--muted)}.footer-grid a:hover{color:var(--blue)}.footer-bottom{font-size:11px;color:#999999}
/* Shared page components inherit the same dark palette. */
.page-intro{padding-block:90px 75px;background:#000000}.page-intro h1{font-size:clamp(44px,5vw,72px);max-width:1000px}.page-intro .lead{color:#bdbdbd}.feature-statement h2{color:var(--accent)}
.outcomes{background:#141414;border:1px solid #ffffff15;border-radius:12px}.outcomes li:before{color:var(--blue)}.outcomes .small{color:#b0b0b0}
.signal-list li:before{border-radius:50%}.capabilities article{border-color:var(--line)}.capabilities h3{font-size:28px}.paired-service{border-color:var(--line)}
.contact-form{background:#111111;border:1px solid #ffffff12;border-radius:16px}.contact-email{color:var(--blue)}
input,textarea,select{background:#050505;color:var(--ink);border:1px solid #ffffff30;border-radius:7px}input::placeholder,textarea::placeholder{color:#999999}
.article-art{background:#151515}.article-art>span:last-child{color:#cccccc}.article-chevron{opacity:.5}.article-card:nth-child(2) .article-art{background:#181818}
.prose p{color:#cccccc}.prose a{color:var(--accent)}.prose table{color:#cccccc}.prose strong{color:#f3f3f3}.post-aside .text-link{color:#bdb1d9}.post-intro h1{line-height:1.15}
.palette-panel{border-radius:15px;background:#111111}.palette-panel>img{background:white;padding:10px;border-radius:5px}.palette-panel .button{background:var(--purple);border-color:var(--purple);color:white!important}
@media(min-width:1450px){.hero{min-height:760px}.hero h1{font-size:84px}}
@media(max-width:1100px){.wrap{width:calc(100% - 64px)}.site-header nav{gap:15px}.hero{grid-template-columns:1.5fr .7fr;min-height:660px}.hero h1{font-size:64px}.hero-visual{height:370px}.split{gap:50px}.case-art{padding:25px}.case-art strong{font-size:54px}.client-grid{grid-template-columns:repeat(4,1fr)}.service-row{grid-template-columns:30px 1fr 1fr 28px;gap:20px}.mega-menu{grid-template-columns:.8fr 2.2fr}.menu-card{grid-template-columns:28px 1fr;gap:10px;padding:14px 9px}.menu-arrow{display:none}.menu-intro{padding:20px}.menu-card strong{font-size:14px}.menu-card small{font-size:12px}.menu-icon{width:28px;height:28px}.menu-icon svg{width:19px}}
@media(max-width:950px){.header-inner{min-height:88px}.brand img{width:88px}.menu-toggle{display:flex}.site-header nav{background:#0a0a0a;top:88px;max-height:calc(100dvh - 88px);overflow:auto;padding:15px 25px 25px;border:1px solid var(--line);border-radius:0 0 14px 14px}.nav-group{flex-wrap:wrap;gap:0}.nav-top-link{flex:1;font-size:18px;padding:16px 0}.submenu-toggle{padding:18px 15px}.submenu-toggle svg{width:13px;height:8px}.mega-menu{position:static;width:100%;max-height:none;border-radius:10px;box-shadow:none;padding:12px;margin:0 0 12px;grid-template-columns:1fr;gap:12px;animation:none}.menu-intro{padding:18px}.menu-intro h2{font-size:25px;margin-bottom:10px}.menu-intro .eyebrow{display:none}.menu-intro p:not(.eyebrow){font-size:14px}.menu-intro .text-link{padding-top:12px}.menu-links{gap:5px}.menu-card{padding:14px 9px}.nav-contact{margin:16px 0 0;padding:14px 22px!important;justify-content:space-between}.hero{grid-template-columns:1.5fr .5fr;min-height:650px}.hero h1{font-size:59px}.hero-visual{height:350px}.orbit-teams{left:-50px}.orbit-data{left:-15px}.orbit-tools{right:0}.visual-caption{left:-20px;bottom:-60px}.visual-caption strong{font-size:20px}.hero .lead{font-size:23px}.hero-sub{font-size:16px}.hero .button{font-size:15px;padding:14px 20px}.section{padding-block:80px}.client-section{padding-block:55px}.service-row{grid-template-columns:28px 1fr 24px}.service-row p{grid-column:2;grid-row:2}.service-row .row-arrow{grid-column:3;grid-row:1}.three{grid-template-columns:1fr 1fr}.three .case-card:last-child{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr}.method-grid{grid-template-columns:repeat(3,1fr)}.cta h2{font-size:41px}.footer-grid{gap:40px}}
@media(max-width:680px){.wrap{width:calc(100% - 40px)}.header-inner{min-height:80px}.brand img{width:78px}.site-header nav{top:80px;max-height:calc(100dvh - 80px);left:-20px;right:-20px;border-radius:0;padding:14px 20px 25px}.menu-toggle{font-size:13px;gap:12px;padding:9px 15px}.hero{display:block;min-height:0;padding-block:54px 70px}.hero h1{font-size:clamp(41px,10.3vw,61px);line-height:1.1;letter-spacing:-.045em}.hero h1 br{display:none}.hero h1 span{display:block}.hero .eyebrow{font-size:9px;margin-bottom:23px}.hero .lead{font-size:21px;line-height:1.5}.hero-sub{font-size:15px;line-height:1.7}.hero-sub br{display:none}.hero .actions{gap:10px;margin-top:29px}.hero .button{font-size:13px;gap:16px;padding:14px 18px;min-height:49px}.hero-visual{height:235px;margin-top:15px;width:100%}.flow-art svg{left:-3%;top:30%;width:140%;height:85%;opacity:.65;mask-image:linear-gradient(180deg,transparent,#000 40%)}.aurora-one{right:-400px;top:130px}.aurora-two{right:100px;bottom:-270px}.orbit-label{font-size:11px;padding:6px 14px}.orbit-teams{left:6%;top:38px}.orbit-tools{right:3%;top:50px}.orbit-data{left:22%;top:113px}.orbit-ai{right:9%;top:149px}.visual-caption{left:4%;bottom:0;padding-left:12px}.visual-caption span{font-size:8px}.visual-caption strong{font-size:20px}.hero-scroll{bottom:14px;width:34px;height:34px;font-size:17px}.trust-band .wrap{gap:11px 20px;padding-block:19px}.trust-band p{font-size:12px}.trust-band span{font-size:9px}.section{padding-block:58px}.section-heading{margin-bottom:30px}.section-heading>.text-link{margin-top:22px}.section-heading>p{margin-top:20px}.section-heading .motion-toggle{margin-top:23px}h2{font-size:35px}.client-section h2{font-size:28px}.client-section{padding-block:43px}.client-grid{grid-template-columns:repeat(3,1fr);gap:8px;margin-top:25px}.client-grid li{min-height:93px;padding:12px 6px 9px;gap:7px;border-radius:6px}.client-grid img{height:35px;width:90px}.client-grid span{font-size:9px;line-height:1.3}.split{grid-template-columns:1fr;gap:28px}.split .lead{font-size:22px}.service-row{padding:24px 0;grid-template-columns:24px 1fr 20px;gap:12px}.service-row:hover{padding-inline:0}.service-row h3{font-size:23px}.service-row p{font-size:15px}.service-number{font-size:10px}.motion-band{padding-block:36px 42px}.word-track>div{gap:24px;padding-right:24px}.word-track span{font-size:51px}.word-track i{font-size:23px}.benefits-track span{font-size:47px}.benefits-track{margin-top:8px}.three,.two{grid-template-columns:1fr;gap:24px}.three .case-card:last-child{grid-column:auto;display:flex}.case-art{min-height:220px;padding:27px}.case-art strong{font-size:57px}.case-art .case-sector{margin-bottom:25px}.card-content{padding:25px}.card-content h3{font-size:24px}.card-content p:not(.eyebrow){font-size:15px}.card-content .text-link{padding-top:10px}.proof-note{font-size:12px}.ai-feature .lead{font-size:22px}.ai-feature .text-link{margin-top:22px;margin-right:15px;font-size:14px}.method-grid{grid-template-columns:1fr;gap:25px;margin-top:32px}.method-grid article{display:grid;grid-template-columns:32px 1fr;gap:10px 14px;padding-top:22px}.method-grid .service-number{padding-top:7px}.method-grid h3{margin:0;font-size:24px}.method-grid p{grid-column:2;font-size:16px}.quote-track{gap:16px;padding-inline:20px}.testimonial-grid{gap:16px}.testimonial-grid figure{width:min(340px,calc(100vw - 50px));padding:25px}.quote-metric strong{font-size:39px}.testimonial-grid blockquote{font-size:17px;line-height:1.65}.testimonial-grid figcaption{font-size:12px}.testimonial-grid figcaption small{font-size:11px}.quote-avatar{padding:8px}.quote-avatar svg{width:17px;height:17px}.motion-toggle{font-size:12px;padding:9px 14px}.quote-viewport{mask-image:none}.cta{padding-block:65px}.cta h2{font-size:36px}.cta p:not(.eyebrow){font-size:16px}.footer-grid{padding-block:45px;gap:30px 25px}.footer-grid .brand img{width:95px}.footer-grid h2{font-size:12px}.footer-grid p,.footer-grid a:not(.brand){font-size:13px}.footer-bottom{font-size:10px;gap:12px 20px}.page-intro{padding-block:55px 45px}.page-intro h1{font-size:43px}.page-intro .lead{font-size:21px}.menu-links{grid-template-columns:1fr}.menu-card{grid-template-columns:28px 1fr 15px;padding:13px 8px}.menu-arrow{display:block}.menu-card strong{font-size:15px}.menu-card small{font-size:13px}.menu-intro p{display:none}.menu-intro h2{margin:0;font-size:24px}.menu-foot .text-link{font-size:12px}.contact-form{padding:25px 20px}.outcomes{padding:28px}.related-work .case-art{min-height:220px}.post-intro h1{font-size:36px}.capabilities h3{font-size:25px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.flow-lines,.aurora,.orbit-label,.word-track{animation:none!important}.quote-clone{display:none}.word-track{transform:none!important}.word-track>div:not(:first-child){display:none}.word-track>div{white-space:normal;flex-wrap:wrap;justify-content:center;gap:12px 20px;padding:0 20px}.word-track{width:auto}.word-track span{font-size:clamp(27px,5vw,55px)}.benefits-track span{font-size:clamp(25px,4vw,47px)}}

.hero-motion{position:absolute;right:48px;bottom:24px;z-index:2;background:#000000b3;font-size:11px;padding:9px 14px}
@media(max-width:680px){.hero-motion{right:20px;bottom:15px}.hero-scroll{left:20px;bottom:15px}}

/* Compact, seamless client-logo ribbon. */
.client-strip{padding:25px 0 27px;background:#000000;border-bottom:1px solid var(--line);overflow:hidden;isolation:isolate}
.client-strip h2{font-size:15px;font-weight:400;letter-spacing:.01em;color:#bcbcbc;text-align:center;margin:0 0 21px;line-height:1.4}
.client-window{overflow:hidden;mask-image:linear-gradient(90deg,transparent,#000 5%,#000 95%,transparent)}
.client-track{display:flex;width:max-content;animation:clients-scroll 70.909091s linear infinite}
.client-strip .client-grid{display:flex;flex:none;align-items:center;gap:45px;padding:0 45px 0 0;margin:0;list-style:none}
.client-strip .client-grid li{display:flex;flex:none;align-items:center;justify-content:center;width:135px;height:48px;min-height:0;padding:0;border:0;border-radius:0;background:transparent}
.client-strip .client-grid img{display:block;width:135px;height:48px;object-fit:contain;filter:grayscale(1) invert(1) brightness(1.35);mix-blend-mode:screen;opacity:.78}
.client-window:hover .client-track,.client-window:focus-within .client-track,.motion-paused .client-track{animation-play-state:paused}
@keyframes clients-scroll{to{transform:translateX(-50%)}}
@media(max-width:680px){.client-strip{padding:20px 0 23px}.client-strip h2{font-size:13px;margin-bottom:17px}.client-strip .client-grid{gap:30px;padding-right:30px}.client-strip .client-grid li,.client-strip .client-grid img{width:110px;height:39px}.client-track{animation-duration:65.454545s}}
@media(prefers-reduced-motion:reduce){.client-track{animation:none!important}.client-logo-clone{display:none!important}.client-window{overflow-x:auto;scrollbar-width:thin}.client-strip .client-grid{padding-left:25px}}

/* Shared typography scale: preserve Futura, with readable small text and restrained headings.
   Relative sizes support browser text enlargement; component roles share the same scale. */
:root{--type-small:.875rem;--type-label:.75rem;--type-body:1.125rem;--type-lead:clamp(1.25rem,1.1rem + .4vw,1.375rem);--type-h1:clamp(2.5rem,1.6rem + 3vw,4rem);--type-h2:clamp(1.875rem,1.5rem + 1.3vw,2.5rem);--type-h3:1.5rem}
body{font-size:var(--type-body);line-height:1.65}
h1,h2,h3{font-family:Futura,Arial,sans-serif;font-weight:400;letter-spacing:-.025em;overflow-wrap:break-word}
h1,.page-intro h1,.post-intro h1{font-size:var(--type-h1);line-height:1.15}
.hero h1{font-size:clamp(2.5rem,1.6rem + 3.3vw,4.25rem);line-height:1.12;letter-spacing:-.035em}
h2,.cta h2,.prose h2{font-size:var(--type-h2);line-height:1.2}
h3,.card-content h3,.service-row h3,.capabilities h3,.method-grid h3,.prose h3{font-size:var(--type-h3);line-height:1.3}
.lead,.hero .lead,.page-intro .lead,.split .lead,.ai-feature .lead{font-size:var(--type-lead);line-height:1.55;max-width:60ch}
.hero-sub,.service-row p,.card-content p:not(.eyebrow),.method-grid p,.section-heading>p,.cta p:not(.eyebrow){font-size:1.0625rem;line-height:1.65}
.prose{max-width:68ch}.prose p,.prose li{font-size:var(--type-body);line-height:1.75}
.eyebrow,.hero .eyebrow,.menu-intro .eyebrow,.case-sector,.service-number,.visual-caption span,.trust-band span{font-size:var(--type-label);line-height:1.5;letter-spacing:.1em}
.small,.proof-note,.footer-bottom,.orbit-label,.motion-toggle,.menu-toggle,.menu-card small,.menu-intro p:not(.eyebrow),.testimonial-grid figcaption small{font-size:var(--type-small);line-height:1.55}
.site-header nav,.button,.hero .button,.text-link,.section-heading .text-link,.ai-feature .text-link,.menu-intro .text-link,.menu-foot .text-link,.menu-card strong{font-size:1rem;line-height:1.5}
.button,.text-link,.nav-contact{font-weight:400;justify-content:center}
.text-link{justify-content:flex-start;text-decoration:underline;text-decoration-color:#b196ff66;text-decoration-thickness:1px;text-underline-offset:.25em}
a:hover .text-link,.text-link:hover,.text-link:focus-visible{ text-decoration-color:currentColor }
.card-content .text-link{justify-content:flex-start}
.menu-intro h2{font-size:1.5rem;line-height:1.3}
.menu-card{grid-template-columns:34px minmax(0,1fr)}
.menu-card strong{font-weight:400}.menu-card small{line-height:1.55}
.service-row{grid-template-columns:36px minmax(0,1.05fr) minmax(0,1.1fr)}
.footer-grid h2{font-size:1rem;line-height:1.4;letter-spacing:0}
.footer-grid p,.footer-grid a:not(.brand),.testimonial-grid figcaption,.trust-band p{font-size:.9375rem;line-height:1.65}
.testimonial-grid blockquote{font-size:var(--type-body);line-height:1.65}
.visual-caption strong{font-size:1.375rem;line-height:1.35}
.case-art strong{font-size:clamp(2.75rem,3.8vw,3.5rem);line-height:1.15}
.word-track span{font-size:clamp(2.75rem,5.2vw,4.5rem)}
.benefits-track span{font-size:clamp(2.5rem,4.7vw,4rem)}
.client-strip h2{font-size:.9375rem;line-height:1.4;letter-spacing:.01em}
@media(max-width:1100px){.site-header nav{gap:15px}.menu-card{grid-template-columns:28px minmax(0,1fr)}}
@media(max-width:950px){.service-row{grid-template-columns:28px minmax(0,1fr)}.nav-top-link{font-size:1.125rem}}
@media(max-width:680px){
 :root{--type-body:1.0625rem;--type-h3:1.375rem}
 .hero .button{padding:13px 20px}.hero .eyebrow{letter-spacing:.08em}
 .service-row{grid-template-columns:24px minmax(0,1fr)}
 .client-strip h2{font-size:.875rem}.contact-email{overflow-wrap:anywhere}
}

/* 18 logos vs original 11: duration = original duration × 18 / 11 / 1.5. */
.client-strip .client-grid img.transparent-logo{filter:brightness(0) invert(1);mix-blend-mode:normal}

/* Brown & Brown: white lettering on a genuinely transparent background. */
.client-strip .client-grid img[src$="brown-brown-monochrome.svg"]{filter:none;mix-blend-mode:normal}

/* Home case studies advertise the outcome; the whole panel opens the full story. */
.home-cases .outcome-card{display:block}
.home-cases .outcome-card .case-art{border-bottom:0;height:100%}
.home-cases .outcome-card:hover,.home-cases .outcome-card:focus-visible{border-color:var(--blue)}
