/* AI-first concept. The original studio palette and supplied identity are retained. */
.ai-first .hero h1{font-size:clamp(48px,5.15vw,96px);letter-spacing:-.03em;line-height:1.08}
.ai-first .hero-copy{max-width:900px}
.ai-first .hero-summary p{max-width:480px}
.ai-first .hero-actions{display:flex;align-items:center;flex-wrap:wrap;gap:14px 24px}
.ai-first .hero-direct-link{font-size:12px;line-height:1.6;text-decoration:underline;text-underline-offset:5px;min-height:44px;display:flex;align-items:center}
.ai-first .hero-heading .eyebrow{font-size:12px;letter-spacing:.045em}
.ai-first .header-cta{font-size:13px;gap:20px}
.ai-first .scene-choice{font-size:13px}
.ai-first .label-a,.ai-first .label-b{font-size:10px}
.ai-first .manifesto .manifesto-copy h2{font-size:clamp(40px,5.6vw,78px);letter-spacing:-.035em}
.ai-first .manifesto-side p{font-size:17px}
.ai-first .map-no{font-size:11px}
.ai-first .journey-bridge{grid-column:1/-1;border-top:1px solid #F4F4F040;padding-top:25px;display:flex;justify-content:space-between;align-items:center;gap:24px;font-size:14px;line-height:1.7}
.ai-first .journey-bridge a{color:var(--paper);display:flex;gap:30px;align-items:center;text-decoration:underline;text-underline-offset:6px;min-height:44px}
.ai-first .machine-heading>p{font-size:15px;max-width:350px;line-height:1.8}
.ai-first .circuit-toolbar>.eyebrow{font-size:11px}
.ai-first .sample-options{gap:22px}
.ai-first .sample-options button{min-height:44px;font-size:13px}
.ai-first .circuit-scroll-on .circuit-scroll-shell{height:250svh}
.ai-first .reel-story-on .reel-scroll-shell{height:230svh}
html.cinema-on .ai-first .approach-scroll-shell{height:280svh}
.ai-first .ai-offer-list{display:flex;flex-direction:column;gap:0;border-top:1px solid #F4F4F044;align-self:start}
.ai-first .ai-offer-list>a{position:relative;display:block;border-bottom:1px solid #F4F4F044;padding:22px 45px 22px 0;color:var(--paper);text-decoration:none;transition:padding .25s,background .25s}
.ai-first .ai-offer-list>a>span{display:block;font-size:16px;font-weight:500;line-height:1.5;letter-spacing:-.015em}
.ai-first .ai-offer-list>a>p{font-size:14px;line-height:1.75;margin:10px 0 0;color:var(--mist);max-width:420px}
.ai-first .ai-offer-list b{position:absolute;right:8px;top:22px;font-size:24px;font-weight:400;color:var(--teal)}
.ai-first .ai-offer-list>a:hover{padding-left:12px;background:#F4F4F008}
.ai-first .service-list [data-service=automation] .service-detail>div>p{font-size:17px;line-height:1.85}
.ai-first .capability-heading h2{font-size:clamp(36px,4.2vw,62px)}
.ai-first .project-options button{font-size:13px;min-height:48px}
.ai-first .starter-response>p:first-child{font-size:17px;line-height:1.8}
.ai-first .work-transition{font-size:11px}
.ai-first .selected-work-heading>p{font-size:17px;max-width:420px}
@media(min-height:480px){html.cinema-on .ai-first .services-portal{height:210svh}}
@media(max-width:1000px){.ai-first .header nav>a:last-child{display:none}.ai-first .header nav{font-size:12px;gap:22px}.ai-first .header-cta{font-size:12px;gap:14px}}
@media(min-width:761px) and (max-height:780px){.ai-first .hero-stage{padding-bottom:90px}.ai-first .hero-summary{margin-top:22px}.ai-first .hero-summary p{font-size:15px}.ai-first .hero h1{font-size:clamp(48px,5.15vw,90px)}}
@media(max-width:760px){
 .ai-first .hero h1{font-size:clamp(32px,8.2vw,56px)}
 .ai-first .hero-heading .eyebrow{font-size:11px;letter-spacing:.025em}
 .ai-first .hero-summary p{font-size:15px}
 .ai-first .hero-actions{gap:4px 20px}
 .ai-first .hero-direct-link{font-size:12px}
 .ai-first .hero-stage{padding-bottom:105px}
 .ai-first .scene-choice{font-size:12px;min-height:68px}
 .ai-first .scene-controls{gap:12px;bottom:18px}
 .ai-first .header-cta{font-size:11px;padding-inline:10px;gap:10px}
 .ai-first .header-cta>span{font-size:19px}
 .ai-first .journey-bridge{flex-direction:column;align-items:start;gap:12px;font-size:14px}
 .ai-first .manifesto-side p{font-size:16px}
 .ai-first .manifesto .manifesto-copy h2{font-size:clamp(34px,7.5vw,55px)}
 .ai-first .machine-heading>p{font-size:16px;max-width:none}
 .ai-first .sample-options{gap:8px 17px!important}
 .ai-first .sample-options button{font-size:12px;min-height:42px}
 .ai-first .ai-offer-list>a>span{font-size:16px}
 .ai-first .ai-offer-list>a>p{font-size:14px}
 .ai-first .capability-heading h2{font-size:clamp(31px,7.3vw,47px)}
 .ai-first .starter-response>p:first-child{font-size:16px}
 .ai-first .work-transition{font-size:10px}
 .ai-first .selected-work-heading>p{font-size:16px}
 html.cinema-on .ai-first .approach-scroll-shell{height:auto}
}
@media(max-width:370px){.ai-first .hero h1{font-size:30px}.ai-first .hero-heading .eyebrow{font-size:10px}.ai-first .scene-choice{font-size:11px}.ai-first .hero-actions{flex-direction:column;align-items:start}.ai-first .header-cta{font-size:10px}.ai-first .identity img{width:62px}}
@media(max-height:659px){html.cinema-on .ai-first .approach-scroll-shell{height:auto}}
@media(prefers-reduced-motion:reduce){.ai-first .ai-offer-list>a{transition:none}}

@media(min-width:761px) and (max-width:1100px){.ai-first .hero h1{font-size:5.15vw}}

.ai-first .ai-offer-list>a{background:transparent;border-radius:0;box-shadow:none;min-height:0;max-width:none;margin:0}
.ai-first .ai-offer-list>a>span{margin-left:0}
.ai-first .machine h2{font-size:clamp(42px,5.4vw,82px);line-height:1.06}
@media(max-width:760px){.ai-first .machine h2{font-size:clamp(36px,8vw,58px)}}
@media(max-width:760px){
 .ai-first .circuit-theatre{min-height:690px}
 .ai-first .circuit-chapter{top:25px}
 .ai-first .circuit-index{margin-bottom:14px}
 .ai-first .circuit-chapter h3{font-size:32px;margin-bottom:14px;line-height:1.08}
 .ai-first .circuit-chapter>p{font-size:13px;line-height:1.7}
 .ai-first .circuit-core{left:0;top:155px;width:100%;height:300px}
 .ai-first .circuit-artifacts{left:10%;width:80%;bottom:50px;min-height:280px}
 .ai-first .circuit-artifacts article{padding:20px}
 .ai-first .circuit-record h4{font-size:18px;margin-bottom:15px}
 .ai-first .circuit-bottom-index{bottom:18px}
}
@media(max-width:370px){.ai-first .circuit-theatre{min-height:715px}.ai-first .circuit-chapter h3{font-size:29px}.ai-first .circuit-core{top:160px;height:290px}.ai-first .circuit-artifacts{left:8%;width:84%;bottom:50px}}
/* Navigation is carried by the page's actions; keep the reading surface free of floating prompts. */
.ai-first .story-next{display:none}

/* Reading hierarchy: one main message, supporting copy, then the action.
   Keep animation labels in the DOM where the interactive scenes use them. */
.ai-first .hero-index,
.ai-first .object-label,
.ai-first .hero-bottom>span,
.ai-first .hero-bottom>p,
.ai-first .connection-tail,
.ai-first .map-no,
.ai-first .circuit-annotation,
.ai-first .circuit-bottom-index,
.ai-first .artifact-stamp,
.ai-first .circuit-index,
.ai-first .circuit-readout>[data-circuit-status],
.ai-first .machine-footnote>span,
.ai-first .ribbon-index,
.ai-first .portal-intro,
.ai-first .portal-copy>p,
.ai-first .process-kicker,
.ai-first .process-panel-index,
.ai-first .process-panel-footer,
.ai-first .process-art svg text,
.ai-first .process-art .plane-caption,
.ai-first .story-top>span,
.ai-first .story-years>div>span,
.ai-first .contact-top>span{display:none}
.ai-first .hero-bottom{display:flex;justify-content:flex-end;align-items:center;border-top:0;padding-block:12px 22px;min-height:60px}
.ai-first .hero-summary p{font-size:18px;line-height:1.7;max-width:430px}
.ai-first .hero-actions{margin-top:24px}
.ai-first .eyebrow{letter-spacing:.07em;line-height:1.5}
.ai-first .manifesto-side{align-self:center;display:flex;flex-direction:column;align-items:flex-start;gap:20px;min-width:0}
.ai-first .manifesto-side>p{margin:0;width:100%}
.ai-first .manifesto-side>a{flex:none;align-self:flex-start;height:auto;grid-column:auto}
.ai-first .manifesto-side .asterisk{display:none}
.ai-first .manifesto-side p{max-width:36ch;line-height:1.8}
.ai-first .map-node p{max-width:25ch;font-size:16px;line-height:1.7}
.ai-first .journey-bridge{border:0;padding-top:0;justify-content:flex-end}
.ai-first .journey-bridge>span{display:none}
.ai-first .machine-heading>p{font-size:17px;line-height:1.75}
.ai-first .circuit-toolbar{gap:20px;flex-wrap:wrap}
.ai-first .machine-footnote{display:block;max-width:660px;margin-inline:auto;text-align:center}
.ai-first .machine-footnote p{font-size:13px;line-height:1.7}
.ai-first .service-list [data-service=automation] .service-detail{grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:clamp(30px,6vw,90px)}
.ai-first .service-list [data-service=automation] .service-detail>div>p{max-width:30ch;font-size:18px;line-height:1.8}
.ai-first .service-subtitle{display:none}
.ai-first .ai-offer-list>a>span{font-size:19px}
.ai-first .ai-offer-list>a>p{font-size:16px;max-width:36ch}
.ai-first .approach .approach-steps .process-copy p{font-size:17px;line-height:1.75;max-width:32ch}
.ai-first .approach .process-copy h3{letter-spacing:-.035em}
.ai-first .story-copy>div>p{max-width:35ch;line-height:1.75}
.ai-first .story-copy>div>p:first-child{font-size:22px}
.ai-first .faq-heading h2{max-width:14ch}
.ai-first .contact .signal-finale{margin-block:20px 35px}
.ai-first .starter-note{font-size:13px;line-height:1.7;max-width:36ch}
@media(max-width:760px){
 .ai-first .hero-summary p{font-size:16px;max-width:31ch}
 .ai-first .hero-actions{margin-top:18px}
 .ai-first .hero-bottom{min-height:48px;padding-bottom:18px}
 .ai-first .machine-heading>p{font-size:16px;max-width:34ch}
 .ai-first .service-list [data-service=automation] .service-detail{grid-template-columns:1fr;gap:25px}
 .ai-first .service-list [data-service=automation] .service-detail>div>p{font-size:16px;max-width:35ch}
 .ai-first .ai-offer-list>a>span{font-size:17px}
 .ai-first .ai-offer-list>a>p{font-size:15px}
 .ai-first .approach .approach-steps .process-copy p{font-size:16px}
 .ai-first .journey-bridge{align-items:flex-start}
}

/* Quiet, fixed document progress. Its travel is independent of viewport height. */
.page-progress{position:fixed;right:12px;top:50%;margin-top:-80px;width:10px;height:160px;z-index:30;pointer-events:none;isolation:isolate;--page-progress:0}
.page-progress:before,.page-progress-fill{content:'';position:absolute;top:5px;bottom:5px;left:4px;width:2px;border-radius:2px;background:#62697155;box-shadow:0 0 0 1px #F4F4F066}
.page-progress-fill{background:var(--accent,#D2EB78);transform:scaleY(var(--page-progress));transform-origin:top;box-shadow:none}
.page-progress-dot{position:absolute;top:0;left:0;width:10px;height:10px;box-sizing:border-box;border-radius:50%;background:var(--accent,#D2EB78);border:2px solid #F4F4F0;box-shadow:0 0 0 1px #23252880}
@media(max-width:760px){.page-progress{right:4px;height:100px;margin-top:-50px}}

/* Opening signature: native scroll, separate outline / hold / fill / name phases. */
.brand-opening{position:relative;background:#232528;color:#F4F4F0;height:230svh}
.brand-opening-stage{position:sticky;top:0;height:100svh;display:grid;place-items:center;overflow:hidden}
.logo-signature{display:flex;flex-direction:column;align-items:center;gap:30px;width:100%;padding:30px var(--gutter);transform:scale(var(--signature-scale,1));--signature-progress:1;--signature-fill:1;--signature-name:1}
.logo-signature svg{display:block;width:clamp(260px,42vw,620px);height:auto;overflow:visible}
.signature-guide{fill:none;stroke:#DDE0E3;stroke-opacity:.12;stroke-width:3}
.logo-signature .signature-mark{fill:#F4F4F0;fill-opacity:var(--signature-fill);stroke:#DDE0E3;stroke-width:4;stroke-opacity:calc(1 - var(--signature-fill));stroke-linecap:round;stroke-linejoin:round}
.logo-signature .signature-terminal{fill:var(--accent,#D2EB78);opacity:var(--signature-fill)}
.signature-name{font-family:Montserrat,sans-serif;font-weight:500;font-size:clamp(14px,1.4vw,20px);letter-spacing:.2em;line-height:1.6;text-align:center;opacity:var(--signature-name);transform:translateY(calc((1 - var(--signature-name))*12px))}
.opening-skip{position:absolute;bottom:38px;left:50%;transform:translateX(-50%);display:flex;align-items:center;gap:22px;min-height:44px;color:#F4F4F0;font-size:13px;text-decoration:none;border-bottom:1px solid #DDE0E380}
.opening-skip span{font-size:22px;color:#DDE0E3}
.opening-skip:hover{color:#DDE0E3}
.brand-opening.is-static{height:65svh;min-height:340px}
.brand-opening.is-static .brand-opening-stage{position:relative;height:100%;min-height:340px}
@media(max-width:760px){.logo-signature{gap:24px}.logo-signature svg{width:min(75vw,360px)}.signature-name{font-size:13px;letter-spacing:.15em}.opening-skip{bottom:26px}}
@media(prefers-reduced-motion:reduce){.brand-opening{height:65svh;min-height:340px}.brand-opening-stage{position:relative;height:100%;min-height:340px}.logo-signature{--signature-progress:1!important;--signature-fill:1!important;--signature-name:1!important;transform:none}}
/* Keep the opening in the approved warm-stone direction and its scroll cue above the initial fold. */
.brand-opening{background:#F4F4F0;color:#232528}
.logo-signature .signature-mark{fill:#232528;stroke:#626971}
.signature-guide{stroke:#626971;stroke-opacity:.18}
.opening-skip{bottom:120px;color:#232528;border-color:#62697180}
.opening-skip span{color:#626971}
@media(max-width:760px){.opening-skip{bottom:120px}}
.brand-opening.is-static .opening-skip{bottom:18px}
@media(prefers-reduced-motion:reduce){.brand-opening .opening-skip{bottom:18px}}

/* A quiet greeting accompanies the outline, before the company name resolves. */
.signature-welcome{font-family:Montserrat,sans-serif;font-weight:400;font-size:clamp(17px,1.8vw,25px);line-height:1.5;letter-spacing:.02em;opacity:var(--signature-welcome,1);transform:translateY(calc((1 - var(--signature-welcome,1))*10px))}
@media(max-width:760px){.signature-welcome{font-size:18px}}
@media(prefers-reduced-motion:reduce){.signature-welcome{opacity:1;transform:none}}

/* The header enters with the hero, sticks inside that chapter, then fades out. */
.hero-dock{position:relative}
.ai-first .hero-dock .home-header{position:sticky;top:0;inset-inline:auto;z-index:80;transform:none;opacity:var(--header-opacity,1);box-shadow:0 1px 0 #23252812;transition:none}
.ai-first .home-header a:focus-visible{outline-color:#626971}
html{scroll-padding-top:calc(var(--menu-height,84px) + 20px)}
.skip{z-index:100}
@media(max-width:760px){
 .ai-first .home-header{height:118px;display:grid;grid-template-columns:1fr auto;grid-template-rows:76px 42px;gap:0;padding-bottom:0}
 .ai-first .home-header nav{display:flex;grid-column:1/-1;grid-row:2;justify-content:space-between;align-items:center;gap:12px;font-size:11px;padding-bottom:10px}
 .ai-first .home-header nav>a:last-child{display:block}
}
/* Distinct brand entrance; navigation begins with the service story in the hero. */
.brand-opening{background:#E9ECEF}
.ai-first .hero{padding-top:0}

/* Keep the travelling signal below the solid destination markers. */
.ai-first .connection-map .map-node{z-index:1}

/* One control shape across the homepage: gently squared corners, never pills. */
.ai-first{--control-radius:4px}
.ai-first :is(button,[role="button"],a,select){border-radius:var(--control-radius)!important}
.ai-first .reel-capture-controls,
.ai-first .round-link>span,
.ai-first .wa-project-link>span{border-radius:var(--control-radius)!important}

/* A business transformation, told with the actual pieces of work. */
.transformation-scroll{height:220svh;margin:15px 0 90px;position:relative}
.transformation-stage{position:sticky;top:18px;min-height:620px;height:calc(100svh - 36px);max-height:850px;padding:clamp(24px,3vw,48px);background:#232528;color:#F4F4F0;overflow:clip;transform:scale(var(--scene-scale,.94));transform-origin:center;--connect:0;--result:0}
.transformation-heading{display:flex;justify-content:space-between;gap:35px;align-items:center;position:relative;z-index:4}
.transformation-heading h3{font-size:clamp(32px,4.2vw,62px);letter-spacing:-.04em;line-height:1.1;margin:0}
.transformation-heading h3 em{font-weight:400;color:#DDE0E3}
.transformation-heading>div{max-width:310px}.transformation-heading p{font-size:15px;line-height:1.7;margin-bottom:18px}
.transformation-controls{display:flex;gap:8px}.transformation-controls button{min-height:44px;padding:10px 19px;background:transparent;border:1px solid #DDE0E380;color:#F4F4F0;font-size:13px}
.transformation-controls button[aria-pressed=true]{background:#E9ECEF;color:#232528;border-color:#E9ECEF}
.transformation-controls button:focus-visible{outline-color:#E9ECEF}
.transformation-canvas{position:relative;height:calc(100% - 190px);min-height:350px;margin-top:12px;perspective:1000px}
.transformation-wires{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;fill:none;stroke:#DDE0E3;stroke-width:2;opacity:var(--connect)}
.transformation-wires path{stroke-dasharray:1;stroke-dashoffset:calc(1 - var(--connect))}
.transformation-hub{position:absolute;top:0;left:50%;transform:translateX(-50%) rotate(calc(var(--connect)*90deg));font-size:50px;line-height:1;color:#DDE0E3;opacity:var(--connect)}
.transform-card{position:absolute;left:50%;top:0;width:calc((100% - 48px)/3);height:230px;background:#F4F4F0;color:#232528;border:1px solid #62697133;box-shadow:0 24px 45px #0003;transform:translateX(calc(-50% + var(--card-x,0px))) translateY(var(--card-y,0px)) rotate(var(--card-turn,0deg));border-radius:4px}
.transform-card>div{position:absolute;inset:0;padding:22px;display:flex;flex-direction:column}
.transform-card h4{font-size:clamp(22px,2.4vw,34px);line-height:1.1;letter-spacing:-.035em;font-weight:500;margin:12px 0 14px}
.transform-label{font-size:10px;letter-spacing:.06em;color:#626971;font-weight:500}
.transform-card p{font-size:13px;line-height:1.6}
.transform-state{margin-top:auto;padding-top:12px;font-size:11px;border-top:1px solid #62697133;line-height:1.5}
.transform-card dl{margin:0 0 12px;font-size:12px;line-height:1.6}.transform-card dl>div{display:flex;justify-content:space-between;gap:14px}.transform-card dd{margin:0;text-align:right}.transform-card dt{color:#626971}
.transform-before{opacity:calc(1 - var(--result));visibility:visible}.transform-after{opacity:var(--result);visibility:visible;background:#F4F4F0;border-top:3px solid var(--accent,#D2EB78);border-radius:4px}
.transform-before[aria-hidden=true],.transform-after[aria-hidden=true]{pointer-events:none}
.transformation-footer{position:absolute;bottom:24px;left:clamp(24px,3vw,48px);right:clamp(24px,3vw,48px);display:flex;justify-content:space-between;gap:25px;align-items:center;border-top:1px solid #DDE0E340;padding-top:18px}
.transformation-footer p{font-size:16px;font-weight:500}.transformation-footer>span{font-size:11px;color:#E9ECEF}
.transformation-stage.is-comparing .transform-card{transition:transform 1.3s cubic-bezier(.22,.61,.36,1)}
.transformation-stage.is-comparing :is(.transform-before,.transform-after){transition:opacity .7s ease}
.transformation-static{height:auto}.transformation-static .transformation-stage{position:relative;top:0;max-height:none}
@media(max-width:760px),(max-height:659px){
 .transformation-scroll{height:auto;margin-bottom:45px}
 .transformation-stage{position:relative;top:0;height:auto;min-height:0;padding:25px 20px;max-height:none;transform:none}
 .transformation-heading{display:block}.transformation-heading h3{font-size:36px;margin-bottom:20px}.transformation-heading>div{max-width:34ch}.transformation-heading p{font-size:14px}
 .transformation-canvas{height:575px;min-height:0;margin-top:35px}
 .transform-card{width:calc(100% - 20px);height:175px}
 .transform-card>div{padding:16px}.transform-card h4{font-size:25px;margin:10px 0}.transform-card h4 br{display:none}.transform-card p{font-size:12px}.transform-label{font-size:9px}.transform-state{font-size:10px;padding-top:8px}
 .transformation-wires,.transformation-hub{display:none}
 .transformation-footer{position:relative;inset:auto;display:block;padding-top:20px}.transformation-footer p{font-size:16px;margin-bottom:10px}
}
@media(prefers-reduced-motion:reduce){.transformation-stage.is-comparing *{transition:none!important}}
html[data-motion=paused] .transformation-stage.is-comparing *{transition:none!important}
@media(min-width:761px) and (max-width:1000px) and (min-height:660px){.transform-card{height:280px}.transform-card>div{padding:18px}.transform-card p{font-size:12px}.transform-state{font-size:10px}}

/* Torn fragments heal into one sheet, with a shared outer shadow and no gaps. */
.transform-card{width:calc((100% - 24px)/3);border:0;border-radius:0;box-shadow:none;filter:drop-shadow(0 calc((1 - var(--connect))*14px) calc((1 - var(--connect))*16px) #0004);transform:translateX(calc(-50% + var(--card-x,0px))) translateY(var(--card-y,0px)) rotate(var(--card-turn,0deg)) scale(var(--paper-scale,1));clip-path:polygon(0 calc(var(--tear)*7px),12% 0,24% calc(var(--tear)*8px),37% calc(var(--tear)*2px),49% calc(var(--tear)*10px),63% 0,76% calc(var(--tear)*6px),89% calc(var(--tear)*1px),100% calc(var(--tear)*9px),calc(100% - var(--tear)*9px) 25%,100% 49%,calc(100% - var(--tear)*7px) 73%,100% calc(100% - var(--tear)*8px),88% 100%,75% calc(100% - var(--tear)*7px),62% 100%,48% calc(100% - var(--tear)*9px),35% 100%,23% calc(100% - var(--tear)*5px),11% 100%,0 calc(100% - var(--tear)*9px),calc(var(--tear)*8px) 74%,0 50%,calc(var(--tear)*5px) 25%)}
.transform-before{background:linear-gradient(120deg,#FAFBFC,#F4F4F0);border-top:1px solid #fff9}
.transform-after{border-radius:0;background:#F4F4F0;border-top:3px solid var(--accent,#D2EB78)}
.transform-card:not([data-transform-card="0"]) .transform-after{border-left:1px solid #62697125}
.connected-paper{position:absolute;left:12px;right:12px;top:125px;height:230px;background:#F4F4F0;box-shadow:0 30px 60px #0004;opacity:var(--result);pointer-events:none}
.transformation-stage.is-comparing .transform-card{transition:transform 1.3s cubic-bezier(.22,.61,.36,1),clip-path 1.3s ease,filter 1.3s ease}
.transformation-stage.is-comparing .connected-paper{transition:opacity .9s ease}
@media(min-width:761px) and (max-width:1000px) and (min-height:660px){.connected-paper{height:280px}}
@media(max-width:760px),(max-height:659px){
 .transform-card{width:calc(100% - 20px)}
 .transformation-canvas{height:605px}
 .connected-paper{top:0;left:10px;right:10px;height:525px}
 .transform-card:not([data-transform-card="0"]) .transform-after{border-left:0;border-top:1px solid #62697125}
}

/* Portfolio: use the available viewport for the work, including on a 13-inch laptop. */
@media(min-width:1001px) and (min-height:660px){
 .ai-first .reel-story-on .work-reel{height:calc(100svh - 36px);min-height:620px;display:flex;flex-direction:column}
 .ai-first .reel-story-on .wa-presentation{flex:1;min-height:0;display:grid;grid-template-rows:56px minmax(0,1fr) 80px 54px;padding-top:0}
 .ai-first .reel-story-on .reel-toolbar{padding-block:8px}
 .ai-first .reel-story-on .reel-scene{min-height:0;padding-block:12px;align-items:stretch}
 .ai-first .reel-story-on .reel-editorial{align-self:center}
 .ai-first .reel-story-on .reel-canvas{height:100%;min-height:0}
 .ai-first .reel-story-on .reel-story{padding-block:8px;min-height:0}
 .ai-first .reel-story-on .reel-story-copy{margin-top:8px;min-height:0}
 .ai-first .reel-story-on .reel-story-copy h4{font-size:20px}
 .ai-first .reel-story-on .reel-story-copy p{font-size:11px}
 .ai-first .reel-story-on .wa-view-controls button{min-height:54px;padding-block:10px;font-size:15px}
 .ai-first .reel-story-on .wa-attribution{min-height:30px;margin:0;padding-block:8px;font-size:8px;line-height:1.6}
}
@media(max-width:1000px){
 .ai-first .work-reel .reel-canvas{height:auto;min-height:0}
 .ai-first .work-reel .wa-desktop{flex:none}
 .ai-first .work-reel .wa-desktop-screen{height:auto;aspect-ratio:var(--desktop-capture-ratio,1280/900)!important}
}
@media(max-width:760px){.ai-first .work-reel .wa-mobile-screen{height:clamp(420px,65svh,640px)}}

/* Section rhythm: warm stone portfolio → sea glass reveal → mint opening → charcoal services. */
.ai-first .services-portal{background:#DDE0E3}
.ai-first .portal-orb{background:#E9ECEF}
.ai-first .portal-copy{color:#232528}
.ai-first .portal-copy>span{color:#626971}
.ai-first .portal-intro,.ai-first .portal-scroll{color:#232528}
/* Give the closing invitation a clear break from the warm-stone FAQ. */
.ai-first .home-contact{background:#DDE0E3}

/* Carry the closing divider into the sea-glass service reveal, edge to edge. */
.ai-first .selected-work{padding-bottom:0}
.ai-first .work-closing{background:#DDE0E3;margin:0;padding:24px var(--gutter);border:0;color:#232528;display:flex;flex-wrap:wrap;gap:18px;align-items:center;justify-content:space-between}

/* Minimal navigation: stronger typography, quiet outlined conversation link. */
.ai-first .home-header{height:96px;border-bottom:1px solid #23252825}
.ai-first .home-header .identity{gap:18px}
.ai-first .home-header .identity img{width:96px}
.ai-first .home-header .identity>span{border:0;padding:0;font-size:10px;letter-spacing:.075em}
.ai-first .home-header nav{font-size:14px;font-weight:500;letter-spacing:.075em;text-transform:uppercase;gap:34px}
.ai-first .home-header nav a{min-height:44px;display:flex;align-items:center}
.ai-first .home-header nav a:after{bottom:4px}
.ai-first .home-header .header-cta{background:transparent;border:1px solid #23252855;color:#232528;font-size:13px;font-weight:500;letter-spacing:.075em;text-transform:uppercase;padding:12px 18px;gap:28px;min-height:48px;transition:background .2s,color .2s,border-color .2s}
.ai-first .home-header .header-cta>span{font-size:22px;color:inherit}
.ai-first .home-header .header-cta:hover{background:#232528;color:#F4F4F0;border-color:#232528}
@media(min-width:761px) and (max-width:1100px){.ai-first .home-header nav{font-size:12px;gap:22px}.ai-first .home-header .identity img{width:84px}.ai-first .home-header .identity>span{font-size:9px}.ai-first .home-header .header-cta{font-size:12px;gap:18px}}
@media(max-width:760px){
 .ai-first .home-header{height:120px;grid-template-rows:76px 44px}
 .ai-first .home-header .identity img{width:74px}
 .ai-first .home-header .identity>span{font-size:8px;letter-spacing:.04em}
 .ai-first .home-header .identity{gap:12px}
 .ai-first .home-header nav{font-size:12px;letter-spacing:.045em;gap:12px;padding-bottom:4px}
 .ai-first .home-header .header-cta{font-size:11px;padding:10px 12px;gap:15px;min-height:44px}
}
@media(max-width:370px){.ai-first .home-header .identity>span{display:none}.ai-first .home-header nav{font-size:11px}}
@media(prefers-reduced-motion:reduce){.ai-first .home-header .header-cta{transition:none}}

/* Give the task examples their own full-width chapter after the sea-glass introduction. */
.ai-first .machine{padding-bottom:0}
.ai-first .workflow-chapter{background:#F4F4F0;margin-inline:calc(-1 * var(--gutter));padding:40px var(--gutter) 30px;color:#232528}
.ai-first .workflow-chapter .circuit-toolbar{border-top:0}
.ai-first .workflow-chapter .machine-footnote{margin-top:24px;margin-bottom:0}
@media(max-width:760px){.ai-first .workflow-chapter{padding-top:22px}}
@media(max-width:760px){.ai-first .home-header nav>a:last-child{display:flex}}

/* Close with an invitation, not a second copy of the demo's three choices. */
.ai-first .home-contact{padding-bottom:0}
.ai-first .contact-conversation{background:#F4F4F0;color:#232528;margin-inline:calc(-1 * var(--gutter));padding:55px var(--gutter) 40px}
.ai-first .contact-conversation .project-starter{border:0;margin:0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:55px;align-items:center}
.ai-first .contact-conversation .project-starter .eyebrow{font-size:11px;margin-bottom:20px;letter-spacing:.07em}
.ai-first .contact-conversation h3{font-size:clamp(34px,4.4vw,64px);line-height:1.1;letter-spacing:-.035em;margin:0}
.ai-first .contact-conversation .starter-response>p{font-size:18px;line-height:1.8;max-width:36ch;min-height:0;margin-bottom:25px}
.ai-first .contact-conversation .start-conversation{display:inline-flex;align-items:center;justify-content:space-between;gap:50px;padding:14px 20px;min-height:52px;background:#232528;color:#F4F4F0;border:1px solid #232528;font-size:15px}
.ai-first .contact-conversation .start-conversation:hover{background:#626971}
.ai-first .contact-conversation a:focus-visible{outline-color:#626971}
.ai-first .contact-conversation .contact-bottom{margin-top:55px;padding-top:30px;border-top:1px solid #23252830}
@media(max-width:760px){.ai-first .contact-conversation{padding-top:35px;padding-bottom:35px}.ai-first .contact-conversation .project-starter{grid-template-columns:1fr;gap:25px}.ai-first .contact-conversation h3{font-size:37px}.ai-first .contact-conversation .starter-response>p{font-size:16px}.ai-first .contact-conversation .contact-bottom{margin-top:40px}}

/* About: a clear editorial introduction and three balanced milestones. */
.ai-first .company-story{padding:50px var(--gutter) 55px}
.ai-first .company-story .story-top{margin-bottom:40px;padding-bottom:0;border:0}
.ai-first .company-story .story-copy{grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:clamp(35px,7vw,100px);align-items:start}
.ai-first .company-story .story-copy h2{font-size:clamp(38px,4.9vw,72px);line-height:1.08;letter-spacing:-.04em;max-width:15ch;margin:0}
.ai-first .company-story .story-copy h2 em{font-weight:400}
.ai-first .company-story .story-copy>div>p:first-child{font-size:24px;line-height:1.4;letter-spacing:-.02em;margin-bottom:20px}
.ai-first .company-story .story-copy>div>p:nth-child(2){font-size:16px;line-height:1.8;max-width:39ch;margin-bottom:25px}
.ai-first .company-story .story-copy a{background:transparent;border:1px solid #23252855;padding:12px 16px;min-height:48px;gap:45px;font-size:14px;max-width:250px}
.ai-first .company-story .story-copy a:hover{background:#F4F4F0}
.ai-first .company-story .story-years{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;margin-top:55px;padding:0;border:0;align-items:stretch}
.ai-first .company-story .story-years>div{padding:28px 30px 28px 0;border-top:1px solid #23252855;min-width:0}
.ai-first .company-story .story-years>div+div{padding-left:30px;border-left:1px solid #23252825}
.ai-first .company-story .story-years>div>span{display:block;font-size:10px;line-height:1.6;letter-spacing:.07em;margin-bottom:24px}
.ai-first .company-story .story-years strong{font-size:clamp(52px,6.8vw,96px);line-height:1;font-weight:500;letter-spacing:-.045em;display:block;margin-bottom:22px}
.ai-first .company-story .story-years h3{font-size:22px;font-weight:500;letter-spacing:-.025em;line-height:1.3;margin:0 0 12px}
.ai-first .company-story .story-years p{font-size:14px;line-height:1.75;max-width:29ch}
.ai-first .company-story .story-present{background:#F4F4F0;padding-right:30px}
@media(max-width:760px){
 .ai-first .company-story{padding:35px 24px}
 .ai-first .company-story .story-top{margin-bottom:28px}
 .ai-first .company-story .story-copy{grid-template-columns:1fr;gap:28px}
 .ai-first .company-story .story-copy h2{font-size:clamp(36px,9vw,52px);max-width:16ch}
 .ai-first .company-story .story-copy>div>p:first-child{font-size:22px}
 .ai-first .company-story .story-copy>div>p:nth-child(2){font-size:16px}
 .ai-first .company-story .story-years{grid-template-columns:1fr;margin-top:35px}
 .ai-first .company-story .story-years>div,.ai-first .company-story .story-years>div+div{padding:25px 20px;border-left:0;display:grid;grid-template-columns:100px 1fr;column-gap:20px;align-items:start}
 .ai-first .company-story .story-years>div>span{grid-column:1/-1;margin-bottom:17px}
 .ai-first .company-story .story-years strong{grid-column:1;grid-row:2/4;font-size:40px;margin:0}
 .ai-first .company-story .story-years h3{grid-column:2;font-size:19px}
 .ai-first .company-story .story-years p{grid-column:2;font-size:14px}
}
@media(max-width:370px){.ai-first .company-story .story-years>div,.ai-first .company-story .story-years>div+div{grid-template-columns:88px 1fr;gap:10px 16px;padding-inline:14px}}
.ai-first .company-story .story-copy{padding:0}
.ai-first .company-story .story-copy a{margin-top:0}
.ai-first .company-story .story-years{margin-top:40px}
.ai-first .company-story .year-now{font-style:normal}

.ai-first .service-list .wf-subpage-link{background:transparent;color:#F4F4F0;border:1px solid #F4F4F060;font-size:14px;line-height:1.6;margin-top:25px;max-width:360px;padding:13px 15px;gap:20px}.ai-first .service-list .wf-subpage-link:hover{background:#F4F4F012}

/* A complete single-page service overview; deeper pages stay out of the enquiry journey. */
.ai-first .hero-foundations{display:block;font-size:13px;line-height:1.7;color:#626971;max-width:40ch;margin-top:14px}
.ai-first .service-list details[id]{scroll-margin-top:32px}
.ai-first .service-scope{border-left:2px solid var(--accent,#D2EB78);padding-left:18px;margin-top:24px;max-width:40ch}
.ai-first .service-scope>span{font-size:10px;letter-spacing:.08em;color:#DDE0E3}
.ai-first .service-list .service-scope p{font-size:14px;line-height:1.8;margin:12px 0 0}
.ai-first .service-list .service-scope-note{font-size:14px;line-height:1.8;margin:20px 0;max-width:42ch}
.ai-first .services-tail>p{max-width:48ch;line-height:1.7}
@media(max-width:760px){.ai-first .hero-foundations{font-size:12px;max-width:33ch}.ai-first .service-scope{margin-top:20px}.ai-first .services-tail{gap:20px}.ai-first .home-header nav{gap:14px}}

/* Refinement: readable narrative, explicit choices, paired device theatre. */
.ai-first .kinetic-ribbon,.ai-first.cinema-on .kinetic-ribbon{position:relative;padding:38px var(--gutter);min-height:180px;display:flex;flex-direction:column;justify-content:center;gap:22px;overflow:clip}
.ai-first .kinetic-type{display:flex;justify-content:center;align-items:baseline;gap:clamp(12px,3vw,46px);width:100%;white-space:nowrap;font-size:clamp(32px,6.6vw,104px);line-height:1.15;letter-spacing:-.045em;transform:translate3d(var(--ribbon-x,0px),0,0)!important}
.ai-first .kinetic-type>span{color:#F4F4F0;font-weight:500;transform:none!important}
.ai-first .kinetic-type em{color:#DDE0E3;font-weight:500;transform:none!important}
.ai-first .ribbon-index{display:block;margin:0;font-size:10px;text-align:center;align-self:center}
.ai-first .demo-invitation{padding:42px 0 28px;display:grid;grid-template-columns:1.1fr 1fr;column-gap:45px;align-items:end}
.ai-first .demo-invitation .eyebrow{grid-column:1/-1;margin-bottom:22px}
.ai-first .demo-invitation h3{font-size:clamp(34px,4.2vw,62px);line-height:1.08;letter-spacing:-.04em;margin:0}
.ai-first .demo-invitation h3 em{font-weight:400;color:#626971}
.ai-first .demo-invitation p{font-size:17px;line-height:1.8;max-width:32ch}
.ai-first .circuit-toolbar{display:block;padding-block:12px}
.ai-first .sample-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;width:100%}
.ai-first .sample-options button{position:relative;display:flex;flex-direction:column;text-align:left;align-items:flex-start;gap:7px;min-height:105px;border:1px solid #62697150;padding:14px 38px 14px 16px;background:#F4F4F0;color:#232528;transition:background .25s,border-color .25s,box-shadow .25s;white-space:normal}
.ai-first .sample-options button.selected{background:#E9ECEF;border-color:#626971;box-shadow:inset 0 -3px var(--accent,#D2EB78)}
.ai-first .sample-options button:hover{background:#E9ECEF;border-color:#232528}
.ai-first .sample-options .demo-option-no{font-size:9px;letter-spacing:.09em;color:#626971}
.ai-first .sample-options strong{font-size:16px;font-weight:600}
.ai-first .sample-options button>span:last-of-type{font-size:11px;line-height:1.5}
.ai-first .sample-options i{position:absolute;right:14px;top:16px;font-size:22px;font-style:normal}
.ai-first .circuit-scroll-on .circuit-theatre{min-height:clamp(240px,40svh,420px)}
.ai-first .circuit-scroll-on .circuit-chapter{top:10%}
.ai-first .circuit-scroll-on .circuit-artifacts{top:8%}
.ai-first .work-reel [data-capture=mobile] .wa-desktop{display:block!important;width:84%;flex:1}
.ai-first .work-reel [data-capture=mobile] .wa-mobile{display:block;position:absolute;z-index:3;right:15px;top:auto;bottom:82px;width:clamp(168px,24%,240px);height:auto;aspect-ratio:71.9/150;padding:7px;border:2px solid #b7bbba;border-radius:32px;background:linear-gradient(115deg,#e2e6e5,#7e8587 44%,#e5e7e5);box-shadow:0 22px 40px #0008,inset 0 0 0 2px #3c4142;overflow:visible;transform:translateY(calc((1 - var(--reel-story-progress-number,1))*25px)) rotate(-4deg);clip-path:none}
.ai-first .work-reel [data-capture=mobile] .wa-mobile-screen{height:100%;max-height:none;border:2px solid #121515;border-radius:24px;background:#111;overflow:hidden;aspect-ratio:1206/2622!important}
.ai-first .work-reel .phone-island{position:absolute;top:15px;left:32%;width:36%;height:4%;border-radius:20px;background:#080909;z-index:5;box-shadow:0 0 0 2px #080909}
.ai-first .work-reel .wa-mobile figcaption,.ai-first .work-reel .wa-mobile-chrome{display:none}
.ai-first .work-reel .wa-mobile:after{content:'';position:absolute;bottom:14px;left:32%;width:36%;height:3px;border-radius:3px;background:#fff9;z-index:5}
.ai-first .work-reel .wa-mobile:before{content:'';position:absolute;right:-4px;top:25%;width:3px;height:11%;background:#bfc4c4;border-radius:2px}
.ai-first .work-reel .wa-desktop-screen img,.ai-first .work-reel .wa-mobile-screen img{transform:translateY(var(--capture-y,0px))!important}
.ai-first .reel-canvas{isolation:isolate;display:flex;flex-direction:column}
.ai-first .reel-preview-footer{position:relative;z-index:4;margin-top:auto;flex:none}
@media(min-width:1001px) and (min-height:660px){.ai-first .work-reel [data-capture=mobile] .wa-mobile{height:calc(100% - 110px);width:auto;max-width:240px}}
@media(min-width:761px) and (max-width:1000px){.ai-first .work-reel [data-capture=mobile] .reel-canvas{min-height:480px}}
@media(min-width:761px) and (max-height:659px){.ai-first .work-reel [data-capture=mobile] .reel-canvas{height:auto;min-height:480px}}
.ai-first .faq-more{grid-column:1/-1;margin-top:36px;border-top:1px solid #62697150}
.ai-first .faq-more>summary{display:flex;justify-content:space-between;gap:20px;align-items:center;cursor:pointer;list-style:none;padding:25px 0;font-size:20px}
.ai-first .faq-more>summary::-webkit-details-marker{display:none}
.ai-first .faq-more>summary>span:last-child{font-size:13px;color:#626971}
.ai-first .faq-more b{font-size:25px;margin-left:16px;font-weight:400}
.ai-first .faq-more-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 40px}
.ai-first .faq-more-grid details{border-top:1px solid #62697140;align-self:start;scroll-margin-top:30px}
.ai-first .faq-more-grid summary{display:flex;justify-content:space-between;gap:25px;list-style:none;cursor:pointer;font-size:15px;line-height:1.6;padding:22px 0}
.ai-first .faq-more-grid summary::-webkit-details-marker{display:none}
.ai-first .faq-more-grid summary>span{font-size:20px}
.ai-first .faq-more-grid p{font-size:14px;line-height:1.85;max-width:54ch;margin-bottom:25px}
.ai-first .contact-conversation .project-starter{align-items:start}
.ai-first .enquiry-form{margin-top:28px;padding:clamp(22px,2.4vw,36px);background:#FAFBFC;border:1px solid #62697138;border-top:3px solid var(--accent,#D2EB78);border-radius:4px}
.ai-first .enquiry-fields{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:26px 20px;align-items:start}
.ai-first .enquiry-fields label{min-width:0;margin:0;font-size:13px;font-weight:500;line-height:1.6;display:grid;grid-template-rows:auto auto;gap:10px;align-content:start}
.ai-first .enquiry-fields .field-wide{grid-column:1/-1}
.ai-first .enquiry-fields :is(input,select,textarea){display:block;min-width:0;margin:0;font:inherit;font-weight:400;font-size:16px;line-height:1.5;color:#232528;background:#fff;border:1px solid #62697180;border-radius:4px;min-height:56px;width:100%;padding:15px 16px;box-sizing:border-box;transition:border-color .18s ease,box-shadow .18s ease}
.ai-first .enquiry-fields :is(input,select){height:56px}
.ai-first .enquiry-fields select{appearance:none;-webkit-appearance:none;padding-right:48px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' fill='none' stroke='%23343536' stroke-width='1.7' viewBox='0 0 24 24'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 16px center;cursor:pointer}
.ai-first .enquiry-fields textarea{resize:vertical;min-height:160px;line-height:1.7}
.ai-first .enquiry-fields textarea::placeholder{color:#646b6d;opacity:1}
.ai-first .enquiry-fields :is(input,select,textarea):hover{border-color:#626971}
.ai-first .enquiry-fields :is(input,select,textarea):focus-visible{outline:2px solid #626971;outline-offset:3px;border-color:#626971;box-shadow:0 0 0 4px #E9ECEF}
.ai-first .enquiry-form .start-conversation{width:100%;margin-top:8px;min-height:56px}
.ai-first .contact-conversation .starter-response{min-width:0}
@media(min-width:761px){.ai-first .contact-conversation .project-starter{grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:clamp(32px,5vw,80px)}}
@media(max-width:1000px) and (min-width:761px){.ai-first .enquiry-fields{grid-template-columns:minmax(0,1fr)}}
@media(prefers-reduced-motion:reduce){.ai-first .enquiry-fields :is(input,select,textarea){transition:none}}
.ai-first .enquiry-form .enquiry-preview-note{font-size:12px;line-height:1.6;margin:16px 0;color:#626971}
.ai-first .enquiry-review{border-left:2px solid var(--accent,#D2EB78);padding:16px;margin-top:25px;background:#E9ECEF}
.ai-first .enquiry-review p{font-size:14px;white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.7;margin:12px 0}
.ai-first .enquiry-review>span{font-size:12px;line-height:1.6}
.ai-first .footer-location{display:flex;justify-content:space-between;gap:25px;padding:30px 0;border-top:1px solid #F4F4F040}
.ai-first .footer-location address{font-style:normal;font-size:14px;line-height:1.9}
.ai-first .footer-location a{font-size:13px;line-height:1.9;align-self:center}
@media(max-width:760px){
 .ai-first .kinetic-ribbon{padding-block:32px}.ai-first .kinetic-type{font-size:clamp(19px,5.5vw,42px);gap:8px}.ai-first .ribbon-index{font-size:8px;line-height:1.7;max-width:34ch}
 .ai-first .demo-invitation{grid-template-columns:1fr;gap:18px;padding-top:25px}.ai-first .demo-invitation h3{font-size:35px}.ai-first .demo-invitation p{font-size:15px}.ai-first .demo-invitation .eyebrow{margin:0}
 .ai-first .sample-options{grid-template-columns:1fr}.ai-first .sample-options button{min-height:95px}.ai-first .sample-options strong{font-size:18px}.ai-first .sample-options button>span:last-of-type{font-size:12px}
 .ai-first .work-reel [data-capture=mobile] .reel-canvas{height:570px;min-height:570px;padding-bottom:35px}
 .ai-first .work-reel [data-capture=mobile] .wa-desktop{width:100%;flex:none}
 .ai-first .work-reel [data-capture=mobile] .wa-desktop-screen{height:auto}
 .ai-first .work-reel [data-capture=mobile] .wa-mobile{width:180px;right:18px;bottom:82px;transform:rotate(-4deg)}
 .ai-first .faq-more-grid{grid-template-columns:1fr}.ai-first .faq-more>summary{font-size:18px}.ai-first .faq-more>summary>span:last-child{font-size:11px}
 .ai-first .enquiry-fields{grid-template-columns:1fr}.ai-first .footer-location{display:block}.ai-first .footer-location a{display:block;margin-top:20px}
 .ai-first .connection-map:before,.ai-first .connection-map:after{height:var(--map-line-height,calc(100% - 98px));bottom:auto}
}
@media(prefers-reduced-motion:reduce){.ai-first .kinetic-type>*{transform:none!important}}

/* First teach the gesture; then welcome, outline, hold, fill, name and handoff. */
.brand-opening{height:260svh;--opening-cue:0}
.opening-prompt{display:none;position:absolute;inset:0;align-items:center;justify-content:center;flex-direction:column;gap:28px;text-align:center;opacity:var(--opening-cue,1);transform:translateY(calc((1 - var(--opening-cue,1))*-22px));pointer-events:none}
.motion-active .opening-prompt{display:flex}
.opening-prompt p{font-size:clamp(28px,3vw,46px);line-height:1.2;letter-spacing:-.035em;font-weight:500;margin:0}
.opening-prompt p em{font-weight:400}
.opening-prompt-note{font-size:9px;letter-spacing:.1em;color:#626971;margin-top:5px}
.opening-mouse{height:62px;width:36px;border:1.5px solid #626971;border-radius:20px;position:relative;display:block}
.opening-mouse i{position:absolute;left:calc(50% - 2px);top:13px;width:4px;height:11px;background:#232528;border-radius:3px;animation:opening-wheel 1.8s cubic-bezier(.4,0,.2,1) infinite}
@keyframes opening-wheel{0%{transform:translateY(0);opacity:0}25%{opacity:1}80%,100%{transform:translateY(19px);opacity:0}}
.opening-touch{display:none;position:relative;font-size:24px;color:#626971;width:30px;height:56px;align-items:flex-end;justify-content:center}
.opening-touch i{position:absolute;top:0;left:14px;height:32px;width:1px;background:#626971;transform-origin:top;animation:opening-touch 1.8s ease-in-out infinite}
@keyframes opening-touch{0%,100%{transform:scaleY(.45);opacity:.3}50%{transform:scaleY(1);opacity:1}}
.motion-active .logo-signature svg{opacity:var(--signature-art,1)}
.brand-opening .opening-skip{left:auto;right:var(--gutter);bottom:32px;transform:none;font-size:12px;gap:20px;border-bottom:1px solid #62697160}
.motion-paused .opening-prompt,.brand-opening.is-static .opening-prompt{display:none}
.motion-paused .logo-signature svg,.brand-opening.is-static .logo-signature svg{opacity:1}
@media(max-width:760px),(pointer:coarse){.opening-mouse{display:none}.opening-touch{display:flex}.opening-prompt p{font-size:32px}.opening-prompt-note{font-size:8px}.brand-opening .opening-skip{bottom:24px}}
@media(prefers-reduced-motion:reduce){.opening-prompt{display:none!important}.motion-active .logo-signature svg{opacity:1}.opening-mouse i,.opening-touch i{animation:none}}
@media(prefers-reduced-motion:reduce){.brand-opening{height:65svh;min-height:340px}}

/* Colour is painted along the logo's centre path, clipped to the approved silhouette. */
.logo-signature{position:relative}
.logo-signature .signature-mark{fill:none!important;stroke-opacity:1}
.signature-colour-body{fill:#232528}
.signature-colour-tip{fill:var(--accent,#D2EB78)}
.signature-colour-route{visibility:hidden}
.logo-signature.is-coloured .signature-mark,.logo-signature.is-coloured .signature-guide{opacity:0}
.signature-continue{position:absolute;left:50%;top:calc(50% - 55px);transform:translateX(-50%);display:flex;flex-direction:column;align-items:center;gap:7px;font-size:10px;letter-spacing:.03em;color:#626971;opacity:var(--signature-continue,0);pointer-events:none}
.signature-continue i{font-size:16px;font-style:normal;animation:signature-keep-scrolling 1.6s ease-in-out infinite}
@keyframes signature-keep-scrolling{0%,100%{transform:translateY(0);opacity:.4}55%{transform:translateY(7px);opacity:1}}
.signature-burst{pointer-events:none}
.signature-burst>*{opacity:0}
@media(max-width:760px){.signature-continue{font-size:9px;top:calc(50% - 38px)}}
@media(prefers-reduced-motion:reduce){.signature-continue{display:none}.signature-continue i{animation:none}.signature-burst{display:none}}
.motion-paused .signature-continue,.motion-paused .signature-burst{display:none}
.signature-continue{top:62px;gap:3px;font-size:9px}.signature-continue i{font-size:13px}
@media(max-width:760px){.signature-continue{top:59px;font-size:8px}}

/* Keep the instruction in the viewport footer; finish with a soft terminal pulse. */
.brand-opening-stage>.signature-continue{top:auto;bottom:32px;gap:5px;font-size:10px;z-index:3}
.signature-burst>g{opacity:1}
.signature-ripple{vector-effect:non-scaling-stroke}
@media(max-width:760px){.brand-opening-stage>.signature-continue{top:auto;bottom:25px;font-size:9px}}

/* Keep the intro skip action clear of the right-hand Chatwoot launcher. */
.ai-first .finale-destination{opacity:1;color:#232528}
.ai-first .manifesto-side>a{background:#E9ECEF;color:#232528;padding:12px 16px;border:1px solid #23252830;border-radius:4px}
.ai-first .home-footer .draft-label{color:#E9ECEF}
.ai-first .contact-chat{display:flex;align-items:center;justify-content:space-between;gap:24px;max-width:100%;min-height:44px;margin:18px 0 26px;padding:10px 14px;border:1px solid #23252870;border-radius:4px;background:transparent;color:#232528;font:500 12px/1.5 Montserrat,sans-serif;text-align:left}
.ai-first .contact-chat[hidden]{display:none}
.ai-first .contact-chat:hover{background:#E9ECEF}
.ai-first .field-optional{font-weight:400}
.brand-opening .opening-skip{left:var(--gutter);right:auto}

/* A discreet DNS launcher, introduced with the hero and opened only on demand. */
.ai-first .dns-chat-launcher{position:fixed;right:24px;bottom:24px;z-index:2147483001;width:48px;height:48px;min-height:48px;display:grid;place-items:center;padding:12px;background:#232528;color:#F4F4F0;border:1px solid #F4F4F040;border-radius:4px!important;box-shadow:0 5px 18px #23252822;cursor:pointer;animation:dns-chat-arrival .35s ease-out;transition:color .2s,background .2s,border-color .2s}
.ai-first .dns-chat-launcher[hidden],.dns-chat-status[hidden]{display:none!important}
.ai-first .dns-chat-launcher[data-placement=left]{right:auto;left:24px}
.home-footer .footer-chat{display:block;width:fit-content;border:0;border-bottom:1px solid #F4F4F060;border-radius:4px;background:none;color:inherit;padding:0 0 3px;font:inherit;cursor:pointer}
.home-footer .footer-chat[hidden]{display:none}
.ai-first .dns-chat-launcher:hover{background:#363C44;color:#E9ECEF;border-color:var(--accent,#D2EB78)}
.ai-first .dns-chat-launcher:focus-visible{outline:2px solid var(--accent,#D2EB78);outline-offset:4px}
.dns-chat-symbol{width:24px;height:24px;display:block}
.dns-chat-close{display:none}.is-open .dns-chat-close{display:block}.is-open .dns-chat-bubble{display:none}
.dns-chat-launcher.is-loading .dns-chat-symbol{animation:dns-chat-loading 1.2s ease-in-out infinite}
.dns-chat-status{position:fixed;right:24px;bottom:82px;z-index:2147483002;padding:12px 16px;max-width:240px;background:#F4F4F0;border:1px solid #62697150;border-radius:4px;color:#232528;font:12px/1.7 Montserrat,sans-serif;box-shadow:0 5px 18px #23252815}
@keyframes dns-chat-arrival{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}
@keyframes dns-chat-loading{50%{opacity:.35}}
.woot-widget-holder{border-radius:4px!important}
@media(min-width:661px){.woot-widget-holder.woot-widget--without-bubble{bottom:88px!important;right:24px!important;max-height:calc(100dvh - 112px)!important}}
@media(max-width:660px){.ai-first .dns-chat-launcher{right:18px;bottom:calc(18px + env(safe-area-inset-bottom,0px))}.dns-chat-status{right:18px}.ai-first.dns-chat-open .dns-chat-launcher{top:12px;right:12px;bottom:auto;width:40px;height:40px;min-height:40px;padding:8px}}
@media(prefers-reduced-motion:reduce){.ai-first .dns-chat-launcher,.dns-chat-launcher.is-loading .dns-chat-symbol{animation:none;transition:none}}
@media(min-width:661px){.woot-widget-holder.woot-widget--without-bubble{height:560px!important;width:370px!important}}
@media(max-width:660px){.ai-first.dns-chat-open .dns-chat-launcher{width:44px;height:44px;min-height:44px}}
@media(max-width:660px){.ai-first .dns-chat-launcher[data-placement=left]{left:18px}.ai-first.dns-chat-open .dns-chat-launcher{left:auto}}

/* Mobile navigation and a quiet, readable vertical story. */
.menu-toggle,.ai-first .home-header nav .mobile-menu-contact{display:none}
.map-marker svg{display:block;width:22px;height:22px}
.logo-signature.is-coloured .signature-colour-fill{mask:none}
@media(max-width:760px){
 .ai-first .hero-dock .home-header{display:flex;height:78px;min-height:78px;justify-content:space-between;align-items:center;padding-block:0}
 .ai-first .home-header>.header-cta{display:none}
 .ai-first .home-header .identity{gap:12px}
 .ai-first .home-header .identity img{width:72px}
 .ai-first .home-header .identity>span{font-size:8px}
 .ai-first .menu-toggle{display:flex;align-items:center;justify-content:center;gap:12px;min-height:44px;padding:8px 0 8px 12px;border:0;background:none;color:#232528;font-size:11px;text-transform:uppercase;letter-spacing:.06em}
 .menu-toggle i{display:block;position:relative;width:25px;height:18px}
 .menu-toggle i:before,.menu-toggle i:after{content:'';position:absolute;left:0;right:0;height:1px;background:currentColor;top:4px;transition:transform .25s,top .25s}
 .menu-toggle i:after{top:13px}
 .menu-toggle[aria-expanded=true] i:before{top:8px;transform:rotate(45deg)}
 .menu-toggle[aria-expanded=true] i:after{top:8px;transform:rotate(-45deg)}
 .ai-first .home-header nav{display:none;position:absolute;top:100%;left:0;right:0;padding:10px var(--gutter) 24px;background:#F4F4F0;border-bottom:1px solid #62697130;box-shadow:0 20px 25px -18px #23252855;gap:0;max-height:calc(100dvh - 78px);overflow:auto}
 .ai-first .home-header[data-menu-open=true] nav{display:grid;grid-template-columns:minmax(0,1fr);justify-content:stretch}
 .ai-first .home-header nav>a{display:flex!important;align-items:center;justify-content:space-between;font-size:18px;line-height:1.4;letter-spacing:.015em;padding:18px 0;border-bottom:1px solid #62697130;min-height:58px}
 .ai-first .home-header nav .mobile-menu-contact{display:flex;margin-top:14px;padding:14px 18px;background:#E9ECEF;border:0}
 .ai-first .home-header nav>a:after{display:none}
 .ai-first .connection-map{padding:0;margin:26px 0 12px;gap:26px;min-height:0}
 .ai-first .connection-map:before,.ai-first .connection-map:after,.ai-first .connection-lines{display:none}
 .ai-first .connection-map .map-node,.ai-first .connection-map .map-node:nth-of-type(2){padding:0 0 0 62px;min-height:90px;transform:none!important}
 .ai-first .connection-map .map-node:before,.ai-first .connection-map .map-node:after{content:'';position:absolute;left:19px;top:40px;bottom:-26px;width:1px;background:#DDE0E335;pointer-events:none}
 .ai-first .connection-map .map-node:after{background:#DDE0E3;transform:scaleY(var(--node-link-progress,0));transform-origin:top}
 .ai-first .connection-map .map-node:last-child:before,.ai-first .connection-map .map-node:last-child:after{display:none}
 .ai-first .connection-map .map-marker,.ai-first .connection-map .map-node:nth-of-type(2) .map-marker{left:0;top:0;width:40px;height:40px;font-size:22px;transform:none!important;border-color:#DDE0E370;background:#232528;z-index:2;transition:none}
 .ai-first .connection-map .map-node .map-marker{color:#E9ECEF}
 .ai-first .connection-map .map-node.is-connected .map-marker{background:#DDE0E3;border-color:#DDE0E3;color:#232528}
 .ai-first .connection-map h3{font-size:27px;line-height:1.2;margin:3px 0 9px}
 .ai-first .connection-map .map-node p{font-size:15px;line-height:1.7;max-width:29ch}
}

/* Touch comparison: stable panels with a sequenced fade, not torn pieces
   changing state halfway through a normal page scroll. */
.transformation-mobile .transformation-canvas{height:auto;min-height:0;display:grid;gap:14px;margin-top:25px;perspective:none}
.transformation-mobile .transform-card{position:relative;left:auto;top:auto;width:100%;height:200px;transform:none!important;clip-path:none;filter:none;border:1px solid #F4F4F035;border-radius:4px;background:#F4F4F0;overflow:hidden}
.transformation-mobile .connected-paper{display:none}
.transformation-mobile .transform-before,.transformation-mobile .transform-after{border:0;border-radius:0;opacity:1;visibility:visible;transition:opacity .22s ease .18s,visibility 0s .18s!important}
.transformation-mobile .transform-after{border-left:3px solid var(--accent,#D2EB78)!important;border-top:0!important}
.transformation-mobile :is(.transform-before,.transform-after)[aria-hidden=true]{opacity:0;visibility:hidden;transition:opacity .18s ease,visibility 0s .18s!important}
.transformation-mobile .transform-card h4{font-size:25px;margin:10px 0 13px}
.transformation-mobile .transformation-footer{margin-top:22px}
.transformation-mobile .transformation-footer>span{display:none}
@media(prefers-reduced-motion:reduce){.menu-toggle i:before,.menu-toggle i:after,.transformation-mobile .transform-before,.transformation-mobile .transform-after{transition:none!important}}
html[data-motion=paused] .transformation-mobile :is(.transform-before,.transform-after){transition:none!important}

/* An optional, deliberately opened example; no second pinned scroll chapter. */
.ai-first details.workflow-chapter{border:0;border-radius:0;overflow-anchor:none;scroll-margin-top:24px;padding-block:0}
.ai-first .workflow-chapter>summary.demo-invitation{list-style:none;display:flex;justify-content:space-between;align-items:center;gap:30px;padding:38px 0;cursor:pointer;margin:0}
.workflow-chapter>summary::-webkit-details-marker{display:none}
.demo-pitch{display:block;max-width:46ch}
.demo-title{display:block;font-size:clamp(26px,3vw,42px);font-weight:500;line-height:1.15;letter-spacing:-.035em}
.demo-description{display:block;margin-top:12px;font-size:14px;line-height:1.7;color:#626971}
.demo-toggle{display:flex;align-items:center;justify-content:space-between;flex:none;gap:30px;min-height:54px;min-width:220px;padding:14px 18px;border-radius:4px;background:#232528;color:#F4F4F0;font-size:13px}
.demo-toggle-icon{font-size:24px;line-height:1;transition:transform .25s}
.demo-close-label{display:none}
.workflow-chapter[open] .demo-close-label{display:inline}.workflow-chapter[open] .demo-open-label{display:none}.workflow-chapter[open] .demo-toggle-icon{transform:rotate(45deg)}
.workflow-chapter>summary:focus-visible{outline:2px solid #626971;outline-offset:-4px}
.ai-first .workflow-chapter .workflow-demo{border-top:1px solid #62697140;padding:15px 0 30px}
.ai-first .workflow-chapter .circuit-scroll-shell{height:auto;position:relative}
.ai-first .workflow-chapter .circuit-experience{position:relative;top:auto}
.ai-first .workflow-chapter .circuit-story-cue{display:none}
.demo-close-bottom{display:flex;align-items:center;justify-content:space-between;gap:30px;min-height:48px;padding:12px 18px;margin-top:22px;background:transparent;border:1px solid #62697160;border-radius:4px;color:#232528;font-size:12px}
.demo-close-bottom:focus-visible{outline:2px solid #626971;outline-offset:4px}
@media(max-width:760px){.ai-first .workflow-chapter>summary.demo-invitation{align-items:start;flex-direction:column;gap:22px;padding-block:28px}.demo-title{font-size:29px}.demo-description{font-size:13px;max-width:32ch}.demo-toggle{min-width:0;width:100%;min-height:52px}.demo-close-bottom{width:100%}}
@media(prefers-reduced-motion:reduce){.demo-toggle-icon{transition:none}}
@media(min-width:761px){.ai-first .workflow-chapter .circuit-theatre{min-height:clamp(380px,48svh,500px)}.ai-first .workflow-chapter .circuit-chapter{top:10%}.ai-first .workflow-chapter .circuit-chapter h3{font-size:clamp(32px,4vw,62px);margin-bottom:20px}.ai-first .workflow-chapter .circuit-artifacts{top:12%}}

/* Reading pass: one service description, a clear action, then supporting detail. */
.ai-first .service-expanded>div:first-child>p:first-child{font-size:17px;line-height:1.8;max-width:42ch;margin:0 0 24px}
.ai-first .service-expanded>div:first-child>a{display:inline-flex;align-items:center;justify-content:space-between;gap:28px;min-height:48px;width:fit-content;padding:12px 16px;margin-top:24px;background:#E9ECEF;color:#232528;border:1px solid #E9ECEF;border-radius:4px;font-size:13px;line-height:1.5;text-decoration:none}
.ai-first .service-expanded>div:first-child>a:hover{background:#F4F4F0;border-color:#F4F4F0}
.ai-first .service-expanded>div:first-child>a:focus-visible{outline:2px solid #F4F4F0;outline-offset:4px}
.ai-first .service-list .ai-offer-list>a>span{font-size:17px}
.ai-first .service-list .ai-offer-list>a>p{font-size:13px;line-height:1.7;max-width:38ch}
.ai-first .company-story .story-copy h2{max-width:18ch}
.ai-first .company-story .story-copy a{background:#232528;border:1px solid #232528;color:#F4F4F0;max-width:none;width:fit-content;border-radius:4px;font-size:13px;gap:28px}
.ai-first .company-story .story-copy a:hover{background:#45504E}
.ai-first .company-story .story-copy a:focus-visible{outline:2px solid #232528;outline-offset:4px}
.ai-first .company-story .story-years>div{padding-bottom:8px}
.ai-first .company-story .story-years h3{font-size:20px;margin:0}
.ai-first .answer-tabs button{min-height:72px;padding-block:19px;border-radius:4px}
.ai-first .answer-pane{min-height:420px}
.ai-first .answer-pane>p{font-size:16px;line-height:1.8;max-width:48ch}
.ai-first .answer-contact{background:#E9ECEF;border-radius:4px}
.ai-first .faq-more>summary{font-size:19px}
@media(max-width:760px){
 .ai-first .service-expanded>div:first-child>p:first-child{font-size:16px;line-height:1.75;margin-bottom:20px}
 .ai-first .company-story .story-copy h2{max-width:18ch}
 .ai-first .company-story .story-years>div,.ai-first .company-story .story-years>div+div{grid-template-columns:95px minmax(0,1fr);align-items:center;padding:22px 0;gap:18px}
 .ai-first .company-story .story-years strong{grid-column:1;grid-row:1;font-size:42px;margin:0}
 .ai-first .company-story .story-years h3{grid-column:2;grid-row:1;font-size:18px;line-height:1.4;margin:0}
 .ai-first .answer-pane{min-height:420px;padding:28px 24px}
 .ai-first .answer-pane h3{font-size:29px;line-height:1.2;margin-bottom:20px}
 .ai-first .answer-pane>p{font-size:15px;line-height:1.75}
 .ai-first .answer-contact{width:100%;font-size:13px}
 .ai-first .faq-more>summary{font-size:17px;align-items:start;flex-direction:column;gap:10px}
}
.ai-first .service-list .ai-offer-list>a{padding-right:125px}
.ai-first .service-list .ai-offer-list b{display:flex;align-items:center;gap:8px;font-size:11px;line-height:1.5;font-weight:500;color:#E9ECEF}
.ai-first .service-list .ai-offer-list b>span{font-size:23px;font-weight:400}
@media(max-width:760px){.ai-first .answer-pane .answer-index{display:none}.ai-first .service-list .ai-offer-list>a{padding-right:110px}.ai-first .service-list .ai-offer-list b{font-size:10px;gap:6px}}
@media(max-width:760px){.ai-first .company-story .story-copy h2{font-size:clamp(31px,8.5vw,50px);letter-spacing:-.045em}}
/* Native extra answers show whether they can be opened or closed. */
.ai-first .faq-more-grid summary>span{font-size:0;min-width:20px;text-align:right}
.ai-first .faq-more-grid summary>span:after{content:'+';font-size:20px}
.ai-first .faq-more-grid details[open]>summary>span:after{content:'−'}
.ai-first .faq-more>summary b{font-size:0}
.ai-first .faq-more>summary b:after{content:'+';font-size:25px}
.ai-first .faq-more[open]>summary b:after{content:'−'}
/* Meaningful intro instructions need normal-text contrast on pale mint. */
.brand-opening .opening-prompt-note,.brand-opening-stage>.signature-continue,.brand-opening .signature-name{color:#232528}

/* Navigation stays usable through the hero, then returns on upward scroll. */
.ai-first .menu-toggle{appearance:none;border-radius:4px}
.ai-first .menu-toggle:focus-visible{outline:2px solid #626971;outline-offset:4px}
.ai-first .home-footer .footer-base{font-size:10px;line-height:1.7}
.ai-first .home-footer .footer-brand>span{font-size:10px;line-height:1.7}
.ai-first .home-footer .footer-main>div{font-size:12px}
.ai-first .home-footer .footer-main .eyebrow{font-size:10px}
.ai-first .exhibit-credits{font-size:11px;line-height:1.7}
.ai-first .hero-dock.header-detached{padding-top:var(--menu-height,96px)}
.ai-first .hero-dock.header-detached .home-header{position:fixed;top:0;left:0;right:0;width:100%;transition:transform .24s ease,opacity .2s ease;transform:translateY(0)}
.ai-first .hero-dock.header-detached .home-header[data-header-visible=false]{transform:translateY(-105%);pointer-events:none}
@media(prefers-reduced-motion:reduce){.ai-first .hero-dock.header-detached .home-header{transition:none}}

/* Platinum / Volt review: neutral surfaces, graphite type, lime at action points. */
.ai-first{--teal:#63AA9F;--brand-teal:#63AA9F;--mist:#E9ECEF}
.ai-first .identity img,.ai-first .footer-brand img{filter:grayscale(1)}
.ai-first .hero-connected .round-link,.ai-first .contact-conversation .start-conversation,.ai-first .home-header .header-cta,.ai-first .demo-toggle{background:var(--accent,#D2EB78);color:#232528;border-color:var(--accent,#D2EB78)}
.ai-first .hero-connected .round-link>span{color:#232528}
.ai-first .hero-connected .round-link:hover,.ai-first .contact-conversation .start-conversation:hover,.ai-first .home-header .header-cta:hover,.ai-first .demo-toggle:hover{background:var(--accent-hover,#E0F2A5);border-color:#232528;color:#232528}
.ai-first .engine-wire-draw{stroke:var(--accent,#D2EB78);filter:drop-shadow(0 0 5px rgb(var(--accent-rgb,210 235 120) / 0.4392))}
.ai-first .engine-node,.ai-first .engine-origin{fill:var(--accent,#D2EB78)}
.ai-first .engine-masthead i{background:#626971;box-shadow:none}
.ai-first .connection-map .map-marker,.ai-first .connection-map .map-node.is-connected .map-marker{background:var(--accent,#D2EB78);color:#232528;border-color:var(--accent,#D2EB78)}
.ai-first .transformation-controls button[aria-pressed=true],.ai-first .service-expanded>div:first-child>a,.ai-first .answer-contact{background:var(--accent,#D2EB78);border-color:var(--accent,#D2EB78);color:#232528}
.ai-first .enquiry-form{border-top-color:var(--accent,#D2EB78)}
.ai-first .enquiry-fields :is(input,select,textarea):focus-visible{box-shadow:0 0 0 4px rgb(var(--accent-rgb,210 235 120) / 0.3333)}
.ai-first .dns-chat-launcher{border-color:rgb(var(--accent-rgb,210 235 120) / 0.4392)}
.ai-first .dns-chat-launcher:hover{background:var(--accent,#D2EB78);color:#232528}
.ai-first .home-header nav .mobile-menu-contact{background:var(--accent,#D2EB78);color:#232528}
/* Refined Volt: bright colour signals a primary action or a useful connection. */
.ai-first .home-header .header-cta,.ai-first .home-header nav .mobile-menu-contact{background:transparent;color:#232528;border:1px solid #62697180}
.ai-first .home-header .header-cta:hover,.ai-first .home-header nav .mobile-menu-contact:hover{background:#232528;color:#F4F4F0;border-color:#232528}
.ai-first .page-progress-fill,.ai-first .page-progress-dot{background:#626971}
.ai-first .dns-chat-launcher{border-color:#F4F4F060}
.ai-first .service-expanded>div:first-child>a{background:transparent;color:#F4F4F0;border-color:#F4F4F080}
.ai-first .service-expanded>div:first-child>a:hover{background:#F4F4F0;color:#232528;border-color:#F4F4F0}
.ai-first .answer-contact{background:#E9ECEF;color:#232528;border-color:#E9ECEF}
.ai-first .answer-contact:hover{background:#F4F4F0;color:#232528}
.ai-first .enquiry-form{border-top-color:#62697160}
.ai-first .connection-map .map-node .map-marker{background:#232528;color:#F4F4F0;border-color:#F4F4F070}
.ai-first .connection-map .map-node.is-connected .map-marker{background:var(--accent,#D2EB78);color:#232528;border-color:var(--accent,#D2EB78)}
.ai-first .transformation-controls button[data-transform-mode=manual][aria-pressed=true]{background:#E9ECEF;color:#232528;border-color:#E9ECEF}
.ai-first .transformation-wires{stroke:var(--accent,#D2EB78)}
.ai-first .transformation-hub{color:var(--accent,#D2EB78)}
/* A clear route for existing clients, separate from the prospect enquiry CTA. */
.ai-first .home-header nav{gap:clamp(16px,2vw,30px)}
.ai-first .home-header nav .portal-link{display:inline-flex;align-items:center;justify-content:center;gap:9px;padding:10px 13px;border:1px solid #62697160;background:#E9ECEF;color:#232528;white-space:nowrap;line-height:1.4}
.ai-first .home-header nav .portal-link svg{flex:none;width:19px;height:19px}
.ai-first .home-header nav .portal-link:after{display:none}
.ai-first .home-header nav .portal-link:hover{background:#232528;border-color:#232528;color:#F4F4F0}
.ai-first .home-footer .footer-portal{display:flex;align-items:center;gap:12px;width:fit-content;min-height:48px;padding:12px 16px;margin-block:8px;background:#E9ECEF;color:#232528;border:1px solid #E9ECEF;border-radius:4px;font-size:13px;font-weight:500}
.ai-first .home-footer .footer-portal>span:last-child{margin-left:14px}
.ai-first .home-footer .footer-portal svg{width:20px;height:20px;flex:none}
.ai-first .home-footer .footer-portal:hover{background:#fff;color:#232528;border-color:#fff}
@media(max-width:1000px){.ai-first .home-footer .footer-portal{font-size:12px;padding:10px;gap:8px;white-space:nowrap}.ai-first .home-footer .footer-portal>span:last-child{display:none}}
@media(min-width:761px) and (max-width:1100px){.ai-first .home-header .identity>span{display:none}.ai-first .home-header nav{gap:14px;font-size:11px}.ai-first .home-header nav .portal-link{padding:9px}.ai-first .home-header .header-cta{padding:10px 12px;gap:12px;font-size:11px}}
@media(max-width:760px){.ai-first .home-header nav .portal-link{justify-content:flex-start;gap:12px;padding:15px 16px;margin-top:14px;min-height:54px;font-size:17px}}
.ai-first .home-header .header-actions{display:flex;align-items:center;gap:16px;flex:none}
.ai-first .home-header .portal-icon{display:grid;place-items:center;width:44px;height:44px;min-height:44px;flex:none;background:transparent;color:#232528;border:1px solid transparent;border-radius:4px}
.ai-first .home-header .portal-icon svg{width:22px;height:22px;display:block}
.ai-first .home-header .portal-icon:hover{background:#E9ECEF;border-color:#62697140}
.ai-first .home-header .portal-icon:focus-visible{outline:2px solid #626971;outline-offset:3px}
@media(min-width:761px){.ai-first .home-header nav .portal-link{display:none}}
@media(max-width:760px){.ai-first .home-header .header-actions{display:none}}
/* Services: concrete deliverables remain visible without accordion discovery. */
.ai-first .services-clear{padding:76px var(--gutter);background:#232528;color:#F4F4F0;overflow:clip}
.services-clear-heading{display:grid;grid-template-columns:1.5fr 1fr;align-items:end;gap:48px;margin-bottom:40px}
.services-clear-heading .eyebrow{margin:0 0 22px;color:#DDE0E3;font-size:11px}
.services-clear-heading h2{font-size:clamp(34px,4.1vw,64px);line-height:1.12;letter-spacing:-.045em;margin:0}
.services-clear-heading h2 em{font-weight:400}
.services-clear-heading>p{max-width:34ch;font-size:16px;line-height:1.8;color:#DDE0E3;margin:0 0 4px;justify-self:end}
.service-overview{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}
.service-card{position:relative;padding:clamp(24px,3vw,42px);border:1px solid #F4F4F035;border-radius:4px;background:#2B2E32;display:flex;flex-direction:column;min-width:0;scroll-margin-top:125px}
.service-card:before{content:'';position:absolute;top:-1px;left:-1px;right:-1px;height:2px;background:var(--accent,#D2EB78);transform:scaleX(var(--service-reveal,1));transform-origin:left;opacity:.7}
.service-card-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:24px;gap:20px}
.service-card-index{font-size:11px;line-height:1.7;letter-spacing:.06em;color:#DDE0E3}
.service-card-top svg{width:34px;height:38px;flex:none;color:#DDE0E3}
.service-card h3{font-size:clamp(28px,2.8vw,42px);line-height:1.14;letter-spacing:-.04em;margin:0 0 20px;font-weight:500}
.service-card>p,.service-feature-copy>p{font-size:16px;line-height:1.8;color:#DDE0E3;max-width:48ch;margin:0 0 24px}
.service-deliverables{list-style:none;margin:0 0 30px;padding:0;font-size:13px;line-height:1.7;color:#F4F4F0}
.service-deliverables li{display:flex;gap:12px;padding:9px 0;border-bottom:1px solid #F4F4F018}
.service-deliverables li:before{content:'+';color:var(--accent,#D2EB78);font-size:16px;line-height:1.4}
.ai-first .service-card-cta{display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:50px;padding:12px 16px;border:1px solid #F4F4F070;border-radius:4px;background:transparent;color:#F4F4F0;font-size:13px;font-weight:500;margin-top:auto;max-width:100%;text-decoration:none}
.ai-first .service-card-cta span{font-size:24px;line-height:1;flex:none}
.ai-first .service-card-cta:hover{background:#F4F4F0;color:#232528;border-color:#F4F4F0}
.ai-first .services-clear a:focus-visible{outline:2px solid #F4F4F0;outline-offset:5px}
.service-feature{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr;gap:36px 60px;background:#30343A;border-color:#DDE0E350}
.service-feature-copy{display:flex;flex-direction:column;align-items:flex-start}
.service-feature-copy .service-card-index{margin-bottom:22px}
.service-feature h3{font-size:clamp(32px,3.6vw,53px)}
.ai-first .service-feature .service-card-cta{background:var(--accent,#D2EB78);color:#232528;border-color:var(--accent,#D2EB78);width:min(100%,320px);margin-top:8px}
.ai-first .service-feature .service-card-cta:hover{background:#F4F4F0;border-color:#F4F4F0}
.service-delivery-label{font-size:10px;letter-spacing:.08em;color:#DDE0E3;margin:0 0 12px;line-height:1.7}
.service-feature-delivery ul{padding:0;margin:0;list-style:none}
.service-feature-delivery li{padding:16px 0;border-top:1px solid #F4F4F035}
.service-feature-delivery strong{display:block;font-size:17px;font-weight:500;line-height:1.5;margin-bottom:6px}
.service-feature-delivery li span{display:block;font-size:13px;line-height:1.8;color:#DDE0E3;max-width:48ch}
.ai-first .service-example-link{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:13px 0;font-size:12px;color:#F4F4F0;border-bottom:1px solid #F4F4F070;min-height:48px}
.service-example-link span{font-size:22px}
.service-flow{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;gap:16px;border-top:1px solid #F4F4F035;padding-top:22px;font-size:10px;letter-spacing:.05em;color:#DDE0E3}
.service-flow i{font-style:normal;font-size:22px;color:var(--accent,#D2EB78)}
.services-clear-tail{display:flex;align-items:center;justify-content:space-between;gap:25px;padding-top:35px;font-size:14px}
.services-clear-tail p{color:#DDE0E3;line-height:1.8;margin:0}
.services-clear-tail a{display:flex;gap:30px;align-items:center;border-bottom:1px solid #F4F4F070;min-height:48px;font-size:13px;white-space:nowrap}
.services-clear-tail a span{font-size:24px}
@media(max-width:1000px){.services-clear-heading{grid-template-columns:1fr;gap:24px}.services-clear-heading>p{justify-self:start;max-width:54ch}.service-feature{gap:30px}.service-card{padding:28px}}
@media(max-width:760px){.ai-first .services-clear{padding:48px var(--gutter)}.services-clear-heading{margin-bottom:30px;gap:20px}.services-clear-heading h2{font-size:clamp(30px,7.3vw,48px)}.services-clear-heading h2 br{display:none}.services-clear-heading>p{font-size:15px}.service-overview{grid-template-columns:1fr;gap:18px}.service-card{padding:25px}.service-card h3{font-size:31px}.service-card>p,.service-feature-copy>p{font-size:15px}.service-feature{grid-template-columns:1fr;gap:30px}.service-feature h3{font-size:35px}.service-feature-copy .service-card-index{margin-bottom:18px}.service-flow{font-size:8px;letter-spacing:0;gap:10px;flex-wrap:wrap;justify-content:flex-start}.service-flow i{font-size:18px}.service-feature-delivery strong{font-size:16px}.service-feature .service-card-cta{width:100%}.services-clear-tail{flex-direction:column;align-items:flex-start;gap:12px}.service-card-top{margin-bottom:20px}}

@media(max-width:760px){.service-flow{display:none}}
/* Literal service illustrations: one shared palette, generous scale, no text hidden. */
.service-card .service-card-top{margin-bottom:18px}
.service-visual{display:block;width:100%;height:auto;max-height:260px;object-fit:contain;background:#E9ECEF;border:1px solid #F4F4F035;border-radius:4px;margin:0 0 26px}
.service-visual-feature{display:block;grid-column:1/-1;min-width:0;background:#E9ECEF;border:1px solid #F4F4F035;border-radius:4px;overflow:hidden}
.service-visual-feature img{display:block;width:100%;height:auto;max-height:260px;object-fit:contain}
@media(max-width:760px){.service-visual{max-height:none;margin-bottom:24px}.service-visual-feature img{max-height:none;aspect-ratio:4/3}.service-card .service-card-top{margin-bottom:16px}}
/* One literal illustration language for the process and service sections. */
.approach .process-art.process-art-clear{aspect-ratio:4/3;width:calc(100% - 32px);margin:60px 16px 65px;perspective:none;max-height:none}
.approach .process-art-clear>svg{display:block;width:100%;height:100%;overflow:hidden}
.ai-first .process-art.process-art-clear svg text{display:block}
.process-art-clear .graphic-sheet{transform:translateY(calc(var(--art-shift,0px)*.08))}
.process-art-clear .graphic-sheet-front{transform:translateY(calc(var(--art-shift,0px)*-.08))}
.process-art-clear .graphic-route{vector-effect:non-scaling-stroke}
.approach .process-panel.process-support{background:#DDE0E3;color:#232528}
.ai-first .circuit-core.workflow-core{left:44%;top:28%;width:24%;height:51%;display:flex;align-items:center;justify-content:center;pointer-events:none}
.workflow-core>svg{display:block;width:100%;height:100%;overflow:visible}
.workflow-core .core-tile{transition:fill .3s ease,stroke .3s ease}
.workflow-core .graphic-route{stroke-dasharray:none;stroke-dashoffset:0;opacity:.8}
.ai-first .circuit-route-run{stroke-width:1.5;opacity:.45;filter:none}
[data-stage="0"] .core-step-0 .core-tile,[data-stage="1"] .core-step-1 .core-tile,[data-stage="2"] .core-step-2 .core-tile,[data-stage="3"] .core-step-3 .core-tile{fill:var(--accent,#D2EB78);stroke:var(--accent,#D2EB78)}
@media(max-width:760px){
 .ai-first .circuit-theatre{display:flex;flex-direction:column;gap:28px;min-height:0;padding:28px 22px 52px}
 .ai-first .circuit-chapter{position:relative;inset:auto;width:100%}
 .ai-first .circuit-core.workflow-core{position:relative;inset:auto;width:100%;height:auto;aspect-ratio:320/265;max-width:300px;align-self:center}
 .ai-first .circuit-artifacts{position:relative;inset:auto;width:100%;min-height:300px;perspective:none}
 .ai-first .circuit-artifacts article{transform:none!important}
 .approach .process-art.process-art-clear{margin:36px 16px 22px;max-width:400px}
}
@media(max-width:580px){.ai-first .approach .approach-steps>.process-panel{padding-bottom:12px}}
@media(prefers-reduced-motion:reduce){.workflow-core .core-tile{transition:none}.process-art-clear .graphic-sheet,.process-art-clear .graphic-sheet-front{transform:none}}
.motion-paused .workflow-core .core-tile{transition:none}
/* Final journey rhythm: one hero preview, one deliberate demo, readable sections. */
.ai-first .service-card{padding:clamp(24px,2.4vw,34px)}
.ai-first .service-visual,.ai-first .service-visual-feature img{max-height:220px}
.ai-first .services-clear{padding-block:64px}
.ai-first .contact-conversation .project-starter:focus{outline:none}
.ai-first .answer-pane>p{margin-bottom:28px}
@media(max-width:760px){.ai-first .service-visual,.ai-first .service-visual-feature img{max-height:none}.ai-first .services-clear{padding-block:48px}}
@media(min-width:761px) and (max-height:659px){
 .ai-first .approach .process-art.process-art-clear{max-height:250px;margin:34px 16px}
 .ai-first .approach .process-copy{padding-block:38px}
 .ai-first .approach .approach-steps>.process-panel{min-height:340px}
 .ai-first .approach .approach-steps .process-copy h3{font-size:38px}
 .ai-first .approach .approach-steps .process-copy p{font-size:16px}
}
/* Paint the first instruction without waiting for the motion scripts. */
.has-js .brand-opening{--opening-cue:1}
.has-js .opening-prompt{display:flex}
.has-js .logo-signature{--signature-art:0;--signature-name:0}
.has-js:not(.motion-active) .logo-signature{visibility:hidden}
/* A compact, seamless connection loop; native page scrolling stays independent. */
.ai-first .kinetic-ribbon{display:block;min-height:0;padding:26px 0;background:#232528;color:#F4F4F0;overflow:hidden}
.ribbon-viewport{width:100%;overflow:hidden;mask-image:linear-gradient(90deg,transparent,#000 7%,#000 93%,transparent);-webkit-mask-image:linear-gradient(90deg,transparent,#000 7%,#000 93%,transparent)}
.ribbon-track{display:flex;width:max-content;gap:0;will-change:transform;animation:connection-drift 54s linear infinite;animation-play-state:paused}
.ribbon-group{display:flex;flex:none;align-items:baseline;width:max-content}
.ribbon-phrase{display:flex;flex:none;align-items:baseline;gap:clamp(18px,2.4vw,42px);padding-right:clamp(36px,4vw,76px);white-space:nowrap;font-size:clamp(28px,3.4vw,58px);font-weight:500;line-height:1.16;letter-spacing:-.04em}
.ribbon-phrase em{font-weight:500;color:var(--accent,#D2EB78)}
.ribbon-phrase i{font-style:normal;font-size:.55em;align-self:center;color:#DDE0E3;opacity:.6}
.ai-first .kinetic-ribbon.is-visible .ribbon-track{animation-play-state:running}
.ai-first .kinetic-ribbon:is(:hover,:focus-within) .ribbon-track,.motion-paused .ai-first .kinetic-ribbon .ribbon-track,html[data-motion=paused] .ai-first .kinetic-ribbon .ribbon-track{animation-play-state:paused}
.ribbon-viewport:focus{outline:none}
.ai-first .kinetic-ribbon:focus-within{outline:2px solid var(--accent,#D2EB78);outline-offset:-6px}
@keyframes connection-drift{to{transform:translate3d(-50%,0,0)}}
@media(max-width:760px){.ai-first .kinetic-ribbon{padding:20px 0}.ribbon-phrase{font-size:clamp(24px,6.7vw,36px);gap:18px;padding-right:38px}}
@media(prefers-reduced-motion:reduce){
 .ribbon-track{animation:none;transform:none;will-change:auto;width:100%;justify-content:center}
 .ribbon-viewport{mask-image:none;-webkit-mask-image:none}
 .ribbon-group+.ribbon-group,.ribbon-group .ribbon-phrase:not(:first-child),.ribbon-phrase i{display:none}
 .ribbon-phrase{padding:0;font-size:clamp(20px,4vw,54px);gap:18px}
}
.services-clear .service-deliverables a{text-decoration:underline;text-underline-offset:4px}.services-clear .service-deliverables a:hover{color:var(--accent,#D2EB78)}
/* Product refinement: the overview is an index to explore, not five long pages. */
.ai-first .service-overview{gap:24px}
.ai-first .service-feature{grid-template-columns:1fr 1fr;gap:24px 6vw;border:0;border-top:2px solid var(--accent,#D2EB78);border-bottom:1px solid #F4F4F035;background:transparent;border-radius:0;padding:34px 0 38px}
.ai-first .service-feature:before{display:none}
.ai-first .service-feature-copy{grid-column:1;grid-row:1}
.ai-first .service-feature-delivery{grid-column:2;grid-row:1 / 3;align-self:center}
.ai-first .service-feature-copy h3{font-size:clamp(34px,3.2vw,48px);margin-bottom:18px}
.ai-first .service-feature-copy>p{margin-bottom:22px;font-size:15px;max-width:45ch}
.ai-first .service-feature .service-card-cta{width:auto;min-width:260px;max-width:100%;margin-top:0}
.ai-first .service-visual-feature{grid-column:1;grid-row:2;border:0;align-self:end}
.ai-first .service-visual-feature img{max-height:172px}
.ai-first .service-card:not(.service-feature){display:grid;grid-template-columns:1.25fr .9fr;grid-template-rows:auto auto auto auto auto;column-gap:22px;row-gap:18px;padding:28px;border:0;border-top:1px solid #F4F4F040;border-radius:0;background:#292C30;transition:background .25s ease}
.ai-first .service-card:not(.service-feature):before{display:none}
.ai-first .service-card:not(.service-feature):hover,.ai-first .service-card:not(.service-feature):focus-within{background:#30343A}
.ai-first .service-card:not(.service-feature) .service-card-top{grid-column:1/-1;grid-row:1;margin:0}
.ai-first .service-card:not(.service-feature) .service-visual{grid-column:2;grid-row:2 / 4;align-self:center;height:auto;max-height:150px;margin:0;border:0;border-radius:4px}
.ai-first .service-card:not(.service-feature) h3{grid-column:1;grid-row:2;font-size:clamp(26px,2.45vw,37px);margin:0}
.ai-first .service-card:not(.service-feature)>p{grid-column:1;grid-row:3;font-size:14px;line-height:1.75;margin:0}
.ai-first .service-card:not(.service-feature) .service-deliverables{grid-column:1/-1;grid-row:4;display:flex;flex-wrap:wrap;gap:8px 22px;margin:0;font-size:12px}
.ai-first .service-card:not(.service-feature) .service-deliverables li{padding:4px 0;min-height:28px;border:0;gap:8px}
.ai-first .service-card:not(.service-feature) .service-card-cta{grid-column:1/-1;grid-row:5;margin-top:4px;border:0;border-top:1px solid #F4F4F040;border-radius:0;padding:12px 0;min-height:50px;background:transparent}
.ai-first .service-card:not(.service-feature) .service-card-cta:hover{color:var(--accent,#D2EB78)}
.ai-first .service-example-link:hover,.ai-first .services-clear-tail a:hover{color:var(--accent,#D2EB78)}
@media(max-width:1000px) and (min-width:761px){.ai-first .service-card:not(.service-feature){grid-template-columns:1fr;gap:18px}.ai-first .service-card:not(.service-feature) .service-visual{grid-column:1;grid-row:2;max-height:150px}.ai-first .service-card:not(.service-feature) h3{grid-row:3}.ai-first .service-card:not(.service-feature)>p{grid-row:4}.ai-first .service-card:not(.service-feature) .service-deliverables{grid-row:5}.ai-first .service-card:not(.service-feature) .service-card-cta{grid-row:6}}
@media(max-width:760px){.ai-first .service-feature{grid-template-columns:1fr;gap:24px;padding:26px 0 30px}.ai-first .service-feature-copy{grid-column:1;grid-row:1}.ai-first .service-visual-feature{grid-column:1;grid-row:2}.ai-first .service-feature-delivery{grid-column:1;grid-row:3}.ai-first .service-feature-copy h3{font-size:34px}.ai-first .service-feature .service-card-cta{width:100%;min-width:0}.ai-first .service-visual-feature img{max-height:none;aspect-ratio:960/280;object-fit:contain}.ai-first .service-visual-feature source+img{aspect-ratio:4/3;max-height:260px}.ai-first .service-card:not(.service-feature){padding:24px 20px;grid-template-columns:1.3fr .8fr;gap:18px 14px}.ai-first .service-card:not(.service-feature) h3{font-size:28px}.ai-first .service-card:not(.service-feature) .service-visual{grid-row:2;height:110px;object-fit:contain;background:#E9ECEF}.ai-first .service-card:not(.service-feature)>p{grid-column:1/-1}.ai-first .service-card:not(.service-feature) .service-deliverables{gap:4px 16px;font-size:12px}.ai-first .service-overview{gap:18px}}
@media(max-width:360px){.ai-first .service-card:not(.service-feature){grid-template-columns:1.25fr .75fr;padding-inline:18px}.ai-first .service-card:not(.service-feature) h3{font-size:25px}.ai-first .service-card:not(.service-feature) .service-visual{height:92px}}
@media(prefers-reduced-motion:reduce){.ai-first .service-card:not(.service-feature){transition:none}}
.ai-first .service-card[id]{scroll-margin-top:0}
.ai-first .service-card:not(.service-feature) .service-card-cta{border-radius:4px}

/* Footer structure: clear paths, grouped services and a quiet legal/location base. */
.ai-first .home-footer{padding:72px clamp(24px,6.2vw,100px) 24px;background:#232528;color:#F4F4F0}
.ai-first .footer-main{position:relative;grid-template-columns:minmax(230px,1.55fr) minmax(120px,.7fr) minmax(170px,1fr) minmax(190px,1fr) 42px;gap:clamp(24px,4vw,64px);padding:0 0 52px}
.ai-first .home-footer .footer-brand{max-width:300px;text-decoration:none}
.ai-first .home-footer .footer-brand img{width:104px;margin:0 0 20px;filter:none}
.ai-first .home-footer .footer-brand>span{display:block;font-size:9px;line-height:1.7;letter-spacing:.1em;color:#C9CED2}
.ai-first .home-footer .footer-brand p{margin:18px 0 0;max-width:30ch;color:#C9CED2;font-size:13px;line-height:1.75}
.ai-first .footer-group{display:flex;flex-direction:column;align-items:flex-start;gap:13px;padding-top:7px;font-size:13px;line-height:1.55}
.ai-first .footer-group .eyebrow,.ai-first .footer-location>.eyebrow{margin:0 0 8px;color:#D2EB78;font-size:10px;letter-spacing:.13em}
.ai-first .footer-group>a{color:#F4F4F0;text-decoration:none;transition:color .2s ease}
.ai-first .footer-group>a:hover{color:#D2EB78}
.ai-first .footer-contact{gap:11px}
.ai-first .home-footer .footer-project{display:flex;justify-content:space-between;align-items:center;gap:26px;min-height:48px;width:100%;padding:11px 14px;border:1px solid #D2EB78;background:#D2EB78;color:#232528;font-weight:600}
.ai-first .home-footer .footer-project span{font-size:18px;transition:transform .2s ease}
.ai-first .home-footer .footer-project:hover{background:#E4F2A7;color:#232528}
.ai-first .home-footer .footer-project:hover span{transform:translate(2px,-2px)}
.ai-first .home-footer .footer-chat{font-size:13px}
.ai-first .home-footer .footer-portal{display:inline-flex;min-height:42px;margin:3px 0 0;padding:7px 0;gap:10px;border:0;border-top:1px solid #ffffff35;border-bottom:1px solid #ffffff35;background:none;color:#F4F4F0;font-size:12px}
.ai-first .home-footer .footer-portal svg{width:18px;height:18px}
.ai-first .home-footer .footer-portal>span:last-child{margin-left:8px;color:#D2EB78}
.ai-first .home-footer .footer-contact>p{margin:0;color:#C9CED2;font-size:10px;line-height:1.5}
.ai-first .home-footer .footer-up{display:flex;align-items:center;justify-content:center;width:40px;height:40px;border:1px solid #ffffff45;color:#F4F4F0;text-decoration:none;font-size:20px;transition:background .2s,color .2s}
.ai-first .home-footer .footer-up:hover{background:#D2EB78;color:#232528}
.ai-first .footer-location{display:grid;grid-template-columns:100px 1fr;align-items:center;gap:18px;padding:21px 0;border-top:1px solid #ffffff30}
.ai-first .footer-location>.eyebrow{margin:0}
.ai-first .footer-location address{font-style:normal;color:#E1E3E4;font-size:12px;line-height:1.7}
.ai-first .home-footer .footer-base{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:20px;padding-top:20px;border-top:1px solid #ffffff30;color:#AEB5B9;font-size:10px;line-height:1.6}
.ai-first .home-footer .footer-base nav{display:flex;gap:22px}
.ai-first .home-footer .footer-base nav a{color:inherit;text-decoration:none}
.ai-first .home-footer .footer-base nav a:hover{color:#D2EB78}
.ai-first .home-footer .footer-base>span:last-child{text-align:right}
@media(max-width:900px){.ai-first .footer-main{grid-template-columns:minmax(190px,1.3fr) 1fr 1.2fr 1.2fr 40px;gap:24px}.ai-first .home-footer{padding-inline:36px}}
@media(max-width:760px){.ai-first .home-footer{padding:48px 24px 22px}.ai-first .footer-main{grid-template-columns:1fr 1fr;gap:30px 24px;padding-bottom:34px}.ai-first .home-footer .footer-brand{grid-column:1/-1;max-width:360px;padding-right:45px}.ai-first .home-footer .footer-brand img{width:92px;margin-bottom:16px}.ai-first .home-footer .footer-brand p{font-size:13px}.ai-first .footer-group{gap:12px;font-size:12px}.ai-first .footer-group .eyebrow{font-size:9px;margin-bottom:5px}.ai-first .footer-contact{grid-column:1/-1;max-width:340px}.ai-first .home-footer .footer-project{width:100%}.ai-first .home-footer .footer-up{position:absolute;right:0;top:0;width:38px;height:38px}.ai-first .footer-location{grid-template-columns:1fr;gap:5px;padding:18px 0}.ai-first .footer-location>.eyebrow{font-size:9px}.ai-first .footer-location address{font-size:11px}.ai-first .home-footer .footer-base{display:grid;grid-template-columns:1fr auto;gap:12px;padding-top:16px;font-size:9px}.ai-first .home-footer .footer-base nav{grid-column:1/-1;grid-row:2;gap:20px}.ai-first .home-footer .footer-base>span:last-child{grid-column:2;grid-row:1}.ai-first .home-footer .footer-base>span{margin:0}}
@media(max-width:370px){.ai-first .home-footer{padding-inline:18px}.ai-first .footer-main{gap:25px 16px}.ai-first .footer-group{font-size:11px}}
/* Footer actions use the same quiet, fine-line arrow on touch screens. */
.ai-first .home-footer .footer-project .footer-arrow,.ai-first .home-footer .footer-portal .footer-arrow{width:17px;height:17px;flex:none;transition:transform .2s ease}
.ai-first .home-footer .footer-project:hover .footer-arrow,.ai-first .home-footer .footer-portal:hover .footer-arrow{transform:translate(2px,-2px)}
@media(max-width:760px){.ai-first .home-footer .footer-project .footer-arrow,.ai-first .home-footer .footer-portal .footer-arrow{width:15px;height:15px;stroke-width:1.15}.ai-first .home-footer .footer-project:hover .footer-arrow,.ai-first .home-footer .footer-portal:hover .footer-arrow{transform:translate(1px,-1px)}}

/* Keep all contact options in the footer consistent with the navigation. */
.ai-first .home-footer .footer-contact{gap:13px}
.ai-first .home-footer .footer-contact .footer-project,.ai-first .home-footer .footer-contact .footer-chat,.ai-first .home-footer .footer-contact .footer-portal{display:inline-flex;align-items:center;justify-content:flex-start;gap:8px;width:fit-content;min-height:0;margin:0;padding:0;border:0;border-radius:0;background:transparent;color:#F4F4F0;font:inherit;font-weight:400;line-height:inherit;text-align:left;text-decoration:none;white-space:normal;cursor:pointer}
.ai-first .home-footer .footer-contact .footer-chat[hidden]{display:none}
.ai-first .home-footer .footer-contact .footer-project:hover,.ai-first .home-footer .footer-contact .footer-chat:hover,.ai-first .home-footer .footer-contact .footer-portal:hover{background:transparent;color:#D2EB78}
.ai-first .home-footer .footer-contact .footer-portal .footer-arrow{width:13px;height:13px;stroke-width:1.25}
@media(max-width:760px){.ai-first .home-footer .footer-contact{gap:12px}}

/* Footer: identity and address on the left, clear navigation beside it. */
.ai-first .home-footer{padding:clamp(52px,6vw,82px) clamp(24px,6.2vw,100px) 25px}
.ai-first .home-footer .footer-main{grid-template-columns:minmax(230px,1.45fr) minmax(120px,.8fr) minmax(170px,1fr) minmax(135px,.85fr);gap:clamp(28px,4.5vw,74px);padding:0 0 55px}
.ai-first .home-footer .footer-identity{display:flex;flex-direction:column;align-items:flex-start;gap:29px;font-size:13px}
.ai-first .home-footer .footer-brand{max-width:none}
.ai-first .home-footer .footer-brand img{width:104px;margin-bottom:15px}
.ai-first .home-footer .footer-identity address{font-style:normal;color:#C9CED2;font-size:12px;line-height:1.8}
.ai-first .home-footer .footer-group{gap:14px;padding-top:4px;font-size:13px;line-height:1.55}
.ai-first .home-footer .footer-group .eyebrow{margin-bottom:9px}
.ai-first .home-footer .footer-base{grid-template-columns:1fr auto 1fr;gap:24px;padding-top:21px;align-items:center}
.ai-first .home-footer .footer-base .footer-up{position:static;justify-self:end;display:inline-flex;align-items:center;gap:10px;width:auto;height:auto;border:0;background:transparent;color:#C9CED2;font:inherit;text-decoration:none}
.ai-first .home-footer .footer-base .footer-up span{font-size:16px;line-height:1}
.ai-first .home-footer .footer-base .footer-up:hover{background:transparent;color:#D2EB78}
@media(max-width:900px) and (min-width:761px){.ai-first .home-footer .footer-main{grid-template-columns:1.3fr .8fr 1fr .9fr;gap:25px}}
@media(max-width:760px){.ai-first .home-footer{padding:48px 24px 24px}.ai-first .home-footer .footer-main{grid-template-columns:1fr 1fr;gap:34px 25px;padding-bottom:38px}.ai-first .home-footer .footer-identity{grid-column:1/-1;gap:22px}.ai-first .home-footer .footer-brand{grid-column:auto;padding:0}.ai-first .home-footer .footer-brand img{width:92px}.ai-first .home-footer .footer-identity address{font-size:12px}.ai-first .home-footer .footer-group{gap:13px;font-size:13px}.ai-first .home-footer .footer-contact{grid-column:1/-1;max-width:none}.ai-first .home-footer .footer-base{grid-template-columns:1fr auto;gap:18px 12px;padding-top:18px}.ai-first .home-footer .footer-base nav{grid-column:1;grid-row:2}.ai-first .home-footer .footer-base .footer-up{grid-column:2;grid-row:1;white-space:nowrap}}
@media(max-width:370px){.ai-first .home-footer{padding-inline:18px}.ai-first .home-footer .footer-main{gap:30px 16px}.ai-first .home-footer .footer-group{font-size:12px}}
@media(max-width:760px){.ai-first .home-footer .footer-base{padding-right:52px}}
.ai-first .home-footer .footer-base nav{flex-wrap:wrap;gap:10px 20px}
@media(max-width:760px){.ai-first .home-footer .footer-base nav{grid-column:1/-1}}

/* Teal is the supporting brand thread: diagrams, navigation and work markers. */
.ai-first .home-header nav a:after{background:var(--brand-teal)}
.ai-first .home-header .portal-icon{color:var(--brand-teal)}
.ai-first .scene-choice.active,.ai-first .scene-choice:hover{color:var(--brand-teal)}
.ai-first .service-card:before{background:var(--brand-teal)}
.ai-first .service-card-top svg,.ai-first .service-card-cta>span,.ai-first .service-example-link>span{color:var(--brand-teal)}
.ai-first .engine-wire-draw,.ai-first .transformation-wires{stroke:var(--brand-teal);filter:drop-shadow(0 0 5px rgb(99 170 159 / .35))}
.ai-first .engine-node,.ai-first .engine-origin{fill:var(--brand-teal)}
.ai-first .connection-map .map-marker,.ai-first .connection-map .map-node.is-connected .map-marker{background:var(--brand-teal);border-color:var(--brand-teal);color:var(--ink)}
.ai-first .approach .process-trace{stroke:var(--brand-teal)!important}
.ai-first .exhibit-project-top>span:first-child{display:inline-block;width:fit-content;padding:5px 8px;background:var(--brand-teal);color:var(--ink)}
.ai-first .exhibit-counter{color:var(--brand-teal)}
.ai-first .exhibit-nav button:before{background:var(--brand-teal)}
.ai-first .exhibit-nav button[aria-pressed=true]>span:first-child{color:var(--brand-teal)}
.ai-first .home-footer a:hover,.ai-first .home-footer .footer-base .footer-up:hover{color:var(--brand-teal)}

/* Brand support colours; primary conversion buttons retain volt. */
.ai-first .transformation-hub{color:var(--brand-teal)}
.ai-first .transformation-controls button[aria-pressed=true]{background:var(--brand-teal);border-color:var(--brand-teal);color:#232528}
.ai-first .exhibit-project-top>span:first-child{padding:0;background:transparent;color:#F4F4F0;border-left:3px solid var(--brand-teal);padding-left:12px}

/* Teal carries the connected illustration; volt remains on the main action. */
.ai-first .transform-after{border-top-color:var(--brand-teal)}
.ai-first .transformation-mobile .transform-after{border-left-color:var(--brand-teal)!important}
.ai-first .service-feature-delivery li span{display:none}
.ai-first .service-feature-delivery li{padding:20px 0}
.ai-first .service-feature-delivery strong{margin:0}
.ai-first .service-feature-delivery .service-delivery-label{margin-bottom:12px}
