/* Shared editorial layouts for the document-based About and Services pages. */
.skip-link { position:fixed; top:8px; right:16px; z-index:1000; padding:12px 20px; background:var(--turquoise); color:var(--ink); transform:translateY(-150%); }
.skip-link:focus { transform:none; }
.inner-page .header__nav a[aria-current] { color:var(--turquoise); }
.inner-hero { padding-block:clamp(160px,19vw,230px) 100px; text-align:center; }
.inner-hero h1 { font-size:clamp(2.8rem,6.3vw,5.6rem); max-width:1000px; margin-inline:auto; text-wrap:balance; }
.inner-hero-copy { max-width:800px; margin:32px auto 0; font-size:clamp(1.2rem,2vw,1.5rem); }
.inner-hero-copy p + p { margin-top:16px; }
.inner-tag { color:var(--turquoise); }
.inner-hero .btn-row { justify-content:center; margin-top:32px; }
.inner-layout { display:grid; grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr); gap:clamp(36px,7vw,100px); }
.inner-heading h2,.inner-services-intro h2 { font-size:clamp(2rem,3.6vw,3.2rem); text-wrap:balance; }
.inner-copy { font-size:clamp(1.15rem,1.7vw,1.35rem); }
.inner-copy > p + p { margin-top:20px; }
.inner-copy h3 { font-size:1.65rem; margin-bottom:16px; }
.inner-copy .inner-statement { color:var(--white); font-size:1.5rem; margin-block:0 24px; }
.inner-copy > .inner-statement:last-child { margin-block:28px 0; }
.detail-rows { margin-top:32px; }
.detail-row { padding-block:26px; border-top:1px solid rgb(197 220 217 / .18); }
.detail-row h3 { color:var(--turquoise); }
.inner-list { padding:0; list-style:none; margin:24px 0; }
.inner-list li { padding-block:10px; }
.inner-centered .inner-layout { display:block; text-align:center; max-width:940px; }
.inner-centered .inner-copy { margin-top:32px; }
.inner-copy > .btn { margin-top:28px; }
.inner-section:nth-of-type(even) { --pool-x:78%; --pool-strength:.085; }
.inner-services-intro { max-width:800px; margin-bottom:56px; }
.inner-services-intro p { margin-top:20px; font-size:1.3rem; }
.service-detail { display:grid; grid-template-columns:minmax(0,1fr) 250px; align-items:center; gap:60px; padding:40px 32px; border-top:1px solid rgb(197 220 217 / .2); scroll-margin-top:110px; }
.service-detail h3 { font-size:2rem; margin-bottom:18px; }
.service-detail p { font-size:1.25rem; }
.service-detail--premium { border:1px solid var(--turquoise); border-radius:16px; background:rgb(41 199 184 / .06); }
.service-detail--premium + .service-detail { border-top:0; }
.service-detail-action { display:flex; flex-direction:column; gap:22px; }
/* Shares the homepage #why layout: centred title, then heading/text rows. */
#approach .section__title { margin-inline:auto; max-width:none; text-align:center; }
.service-detail-price strong { display:block; color:var(--white); font-size:2rem; }
.service-detail .btn { text-align:center; justify-content:center; }
.inner-final-copy { max-width:800px; margin:28px auto; font-size:clamp(1.2rem,2vw,1.5rem); }
.inner-final-copy p + p { margin-top:16px; }
.inner-final .btn-row { justify-content:center; }
@media (max-width:760px) {
 .inner-hero { padding-block:140px 64px; }
 .inner-layout { grid-template-columns:1fr; gap:28px; }
 .inner-section { padding-block:56px; }
 .inner-hero h1 { font-size:2.9rem; }
 .inner-hero .btn-row,.inner-final .btn-row { flex-direction:column; align-items:stretch; }
 .inner-page .btn { justify-content:center; text-align:center; }
 .service-detail { grid-template-columns:1fr; gap:26px; padding:30px 20px; }
 .service-detail-action { gap:16px; }
 .service-detail-price strong { display:inline; margin-inline-start:8px; }
 .inner-services-intro { margin-bottom:32px; }
}
.inner-section-label { color:var(--turquoise); font-size:1.15rem; margin-bottom:16px; }
/* Keep the shared dithering subtle across long reading surfaces. */
.inner-page .section:not(#value)::after { opacity:.045; }

/* Inner pages: separate compositions in the homepage's established palette. */
.inner-page { --inner-line:rgb(197 220 217 / .17); }
.inner-page .section { scroll-margin-top: 90px; }
.inner-page .inner-hero { min-height:min(760px,100svh); display:grid; align-items:center; }
.inner-page .inner-hero::before { opacity:.85; }
.inner-page .inner-hero .wrap { position:relative; z-index:1; }
.inner-page .inner-hero h1 { line-height:var(--heading-leading); }
.inner-page .inner-copy { max-width:74ch; }
.inner-page .inner-section { border-top:1px solid rgb(197 220 217 / .055); }
.inner-page .inner-section-label { letter-spacing:0; }
.inner-page .inner-heading h2 { line-height:var(--heading-leading); }
.inner-page a:focus-visible, .inner-page summary:focus-visible { outline:2px solid var(--turquoise); outline-offset:5px; }

/* About: reuse the home hero's light, copy column, and open visual area. */
.about-hero { min-height:100svh; background:var(--ink); text-align:start; }
.about-hero .hero__light-rays { position:absolute; inset:0 0 auto; height:100svh; z-index:2; }
.about-hero .hero__light-rays.is-live { opacity:.55; }
.about-hero .wrap { position:relative; z-index:3; width:100%; }
.about-hero h1 { max-width:none; margin:0; font-size:var(--hero-display-size); }
.about-hero .inner-hero-copy { max-width:none; margin:1.6rem 0 0; border:0; padding:0; font-size:clamp(1rem,.95rem + .4vw,1.2rem); line-height:1.7; }
.about-hero .inner-hero-copy p + p { margin-top:.8rem; }
.about-hero .inner-tag { margin-top:1.25rem; color:var(--turquoise); font-size:.95rem; }
.about-hero .btn-row { margin-top:2rem; justify-content:flex-start; }
.about-hero .about-hero__visual { position:absolute; z-index:4; left:0; top:50%; width:calc(100% - 34rem); height:min(62vh,580px); min-width:34%; transform:translateY(-50%); border:0; padding:0; background:transparent; cursor:grab; touch-action:none; opacity:1; transition:opacity .75s ease; }
.about-hero .about-hero__visual:active { cursor:grabbing; }
.about-hero .about-hero__visual:focus-visible { outline:2px solid var(--turquoise); outline-offset:-12px; border-radius:30%; }
.about-hero__object,.about-hero__fallback { display:block; width:100%; height:100%; }
.about-hero__fallback { position:absolute; inset:0; filter:drop-shadow(0 0 25px rgb(41 199 184 / .3)); }
.about-hero__visual.is-webgl .about-hero__fallback { display:none; }
@media(min-width:901px){
 .about-hero .wrap { display:grid; grid-template-columns:minmax(0,30rem) 1fr; column-gap:clamp(1.5rem,4vw,3.5rem); align-content:center; }
 .about-hero .wrap > * { grid-column:1; }
}

/* About: a statement followed by a clean story, then five disciplines arranged like a constellation. */
.about-page #team .inner-layout { grid-template-columns:minmax(0,.68fr) minmax(0,1.32fr); }
.about-page #team .inner-statement { font-size:clamp(1.7rem,2.8vw,2.5rem); line-height:1.65; color:var(--turquoise); }
.about-page #team .inner-copy h3 { margin-top:36px; }
.about-page #disciplines .inner-layout { display:block; }
.about-page #disciplines .inner-heading { max-width:650px; }
.about-page #disciplines .inner-copy { max-width:none; }
.about-page #disciplines .inner-copy > p:first-child { margin-top:26px; }
.discipline-map { display:grid; grid-template-columns:1.15fr .85fr; gap:16px; margin-top:48px; }
.discipline-map .detail-row { position:relative; min-height:230px; padding:30px; border:1px solid var(--inner-line); border-radius:16px; background:rgb(1 43 45 / .55); transition:transform .45s var(--ease),background-color .45s var(--ease),border-color .45s var(--ease); }
.discipline-map .detail-row:first-child { grid-row:span 2; display:flex; flex-direction:column; justify-content:flex-end; min-height:476px; background:radial-gradient(circle at 15% 15%,rgb(41 199 184 / .17),transparent 55%),rgb(1 43 45 / .8); }
.discipline-map .detail-row:nth-child(4) { grid-column:span 2; min-height:180px; }
.discipline-map .detail-row:hover { transform:translateY(-5px); border-color:rgb(41 199 184 / .65); background-color:rgb(11 69 69 / .85); }
.discipline-map .detail-row h3 { font-size:clamp(1.55rem,2.2vw,2rem); }
.discipline-map .detail-row p { max-width:44ch; }
.about-page #disciplines .inner-copy > .inner-statement:last-child { text-align:center; margin:46px auto 0; max-width:760px; }

/* About: principles expand naturally, using the row itself as an invitation. */
.about-page #principles { --pool-x:82%; }
.about-page #principles .inner-layout { display:block; }
.about-page #principles .inner-heading { max-width:850px; margin-bottom:28px; }
.about-page #principles .inner-copy { max-width:none; }
.principle-gallery { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; margin-top:38px; }
.principle-gallery .detail-row { border:1px solid var(--inner-line); border-radius:16px; padding:28px; min-height:225px; background:rgb(5 54 56 / .46); transition:transform .35s var(--ease),border-color .35s var(--ease); }
.principle-gallery .detail-row:nth-child(2) { transform:translateY(34px); }
.principle-gallery .detail-row:nth-child(4) { transform:translateY(34px); }
.principle-gallery .detail-row:hover { border-color:rgb(41 199 184 / .65); }
.principle-gallery .detail-row:nth-child(odd):hover { transform:translateY(-5px); }
.principle-gallery .detail-row:nth-child(even):hover { transform:translateY(29px); }
.principle-gallery .detail-row h3 { font-size:1.75rem; }

/* About: manifesto, promise path, and an orbit of capabilities. */
/* Separate roles connect to one shared outcome, in a compact composition. */
.about-page #perspectives { padding-block:64px; background:var(--ink); }
.about-page #perspectives .inner-layout { max-width:1080px; }
.about-page #perspectives .inner-heading { max-width:760px; margin:auto; }
.about-page #perspectives .inner-heading h2 { font-size:clamp(1.9rem,3vw,2.7rem); }
.about-page #perspectives .inner-copy { max-width:none; margin:32px auto 0; }
.team-convergence__roles { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:36px; position:relative; padding-bottom:26px; }
.team-convergence__roles::after { content:""; position:absolute; bottom:0; left:calc(16.666% - 12px); right:calc(16.666% - 12px); height:1px; background:rgb(41 199 184 / .4); }
.about-page #perspectives .team-convergence__roles p { position:relative; margin:0; font-size:1.2rem; line-height:1.6; color:var(--muted); }
.team-convergence__roles p::after { content:""; position:absolute; top:calc(100% + 8px); left:50%; height:18px; width:1px; background:rgb(41 199 184 / .4); }
.team-convergence__outcome { position:relative; padding-top:26px; max-width:850px; margin:auto; }
.team-convergence__outcome::before { content:""; position:absolute; top:0; left:50%; width:1px; height:20px; background:var(--turquoise); }
.about-page #perspectives [data-copy="55"] { margin:0; font-size:clamp(1.5rem,2.2vw,1.9rem); line-height:1.5; color:var(--turquoise); }
.team-convergence__context { display:flex; justify-content:center; flex-wrap:wrap; gap:4px 10px; margin-top:18px; }
.about-page #perspectives .team-convergence__context p { margin:0; font-size:1.1rem; }
.about-page #perspectives [data-copy="58"] { font-size:1.2rem; color:var(--white); margin:18px auto 0; line-height:1.7; }
.about-page #perspectives [data-copy="59"] { font-size:1.1rem; margin-top:14px; }
@media(max-width:760px){
 .about-page #perspectives { padding-block:48px; }
 .about-page #perspectives .inner-copy { margin-top:24px; }
 .team-convergence__roles { grid-template-columns:1fr; gap:10px; text-align:right; padding:0 18px 18px 0; border-inline-start:1px solid rgb(41 199 184 / .4); }
 .team-convergence__roles::after,.team-convergence__roles p::after,.team-convergence__outcome::before { display:none; }
 .about-page #perspectives .team-convergence__roles p { font-size:1.1rem; }
 .team-convergence__outcome { text-align:right; padding-top:18px; border-top:1px solid rgb(41 199 184 / .3); }
 .team-convergence__context { justify-content:flex-start; }
}
.about-page #partnership .inner-layout { grid-template-columns:1fr 1fr; }
.about-page #partnership .inner-list { grid-column:1/-1; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; margin:0; }
.about-page #partnership .inner-list li { font-size:clamp(1.15rem,1.7vw,1.35rem); padding:18px 22px; border-radius:12px; background:rgb(41 199 184 / .07); border:1px solid rgb(41 199 184 / .12); }
.about-page #partnership .inner-list li:last-child { grid-column:1/-1; }
.about-page #expertise .inner-layout { display:block; text-align:center; }
.about-page #expertise .inner-heading { max-width:800px; margin-inline:auto; }
.about-page #expertise .inner-copy { max-width:950px; margin:24px auto 0; }
.about-page #expertise [data-copy="75"] { font-size:clamp(1.7rem,3vw,2.6rem); color:var(--white); }
.about-page #expertise .inner-list { display:flex; flex-wrap:wrap; justify-content:center; gap:12px; max-width:850px; margin:36px auto; }
.about-page #expertise .inner-list li { padding:15px 26px; border:1px solid rgb(41 199 184 / .36); border-radius:999px; color:var(--white); background:rgb(4 60 62 / .7); transition:transform .3s var(--ease),background-color .3s var(--ease); }
.about-page #expertise .inner-list li:hover { transform:translateY(-5px); background:rgb(41 199 184 / .14); }

/* Services catalog. The hero shares the home composition below. */
.services-page #services .inner-services-intro { max-width:1000px; margin:0 auto 68px; text-align:center; }
.services-page #services .inner-services-intro h2 { font-size:clamp(2.8rem,5vw,5rem); }
.service-details { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; }
.service-detail { display:flex; flex-direction:column; align-items:stretch; justify-content:space-between; min-height:420px; padding:34px; gap:38px; border:1px solid var(--inner-line); border-radius:16px; background:rgb(2 49 51 / .68); transition:transform .4s var(--ease),border-color .4s var(--ease),background-color .4s var(--ease); }
.service-detail:hover { transform:translateY(-6px); border-color:rgb(41 199 184 / .65); background-color:rgb(7 62 64 / .85); }
.service-detail h3 { font-size:clamp(1.9rem,2.9vw,2.65rem); }
.service-detail p { max-width:43ch; }
.service-detail--premium { grid-column:span 2; min-height:350px; display:grid; grid-template-columns:minmax(0,1fr) minmax(0,.55fr); align-items:center; gap:50px; padding:54px; background:radial-gradient(circle at 17% 10%,rgb(41 199 184 / .2),transparent 53%),rgb(2 49 51 / .85); border-color:rgb(41 199 184 / .8); }
.service-detail--premium h3 { font-size:clamp(2.8rem,5vw,4.8rem); }
.service-detail--premium .service-detail-price strong { font-size:clamp(2.8rem,5vw,4.5rem); }
.service-detail--premium + .service-detail { border-top:1px solid var(--inner-line); }
.service-detail-action { margin-top:auto; }
.service-detail-price { color:var(--muted); }
.service-detail-price strong { font-size:clamp(2rem,3vw,2.75rem); white-space:nowrap; }
.service-detail .btn { width:100%; }
.services-page #choose .inner-layout { display:block; max-width:920px; text-align:center; }
.services-page #choose .inner-heading h2 { font-size:clamp(2.8rem,5vw,5rem); }
.services-page #choose .inner-copy { max-width:780px; margin:32px auto 0; }
.services-page #choose .inner-copy [data-copy="34"] { font-size:1.65rem; color:var(--turquoise); margin-block:24px; }
.services-page #after-launch { padding-block:clamp(100px,13vw,175px); }
.services-page #after-launch .inner-layout { display:grid; grid-template-columns:.8fr 1.2fr; text-align:right; max-width:1180px; align-items:center; }
.services-page #after-launch .inner-heading h2 { font-size:clamp(3rem,5.5vw,5.4rem); }
.services-page #after-launch .inner-copy { margin:0; }

@media(max-width:900px){
 .about-page #team .inner-layout,.about-page #partnership .inner-layout,.services-page #after-launch .inner-layout { grid-template-columns:1fr; }
 .discipline-map { grid-template-columns:1fr 1fr; }
}
@media(max-width:760px){
 .inner-page .inner-hero { min-height:0; padding-block:145px 72px; }
 .discipline-map,.principle-gallery,.service-details { grid-template-columns:1fr; }
 .discipline-map .detail-row,.discipline-map .detail-row:first-child,.discipline-map .detail-row:nth-child(4) { grid-column:auto; grid-row:auto; min-height:0; }
 .principle-gallery .detail-row,.principle-gallery .detail-row:nth-child(2),.principle-gallery .detail-row:nth-child(4) { min-height:0; transform:none; }
 .principle-gallery .detail-row:hover,.principle-gallery .detail-row:nth-child(even):hover { transform:none; }
 .service-detail,.service-detail--premium { grid-column:auto; display:flex; flex-direction:column; min-height:0; padding:26px; gap:30px; }
 .service-detail--premium h3 { font-size:2.5rem; }
 .service-detail--premium .service-detail-price strong { font-size:2.5rem; }
 .about-page #partnership .inner-list li:nth-child(even) { margin-inline-start:0; }
 .about-page #expertise .inner-list li { border-radius:12px; width:100%; }
}
@media(prefers-reduced-motion:reduce){
 .discipline-map .detail-row,.principle-gallery .detail-row,.service-detail { transition:none; transform:none!important; }
 .about-page #expertise .inner-list li { transition:none; }
}
/* The final SEO offer completes the catalog rather than leaving an orphan cell. */
@media(min-width:761px){
 .service-detail#seo { grid-column:span 2; min-height:300px; display:grid; grid-template-columns:minmax(0,1fr) minmax(0,.55fr); align-items:center; gap:42px; }
 .service-detail#seo h3 { font-size:clamp(2.25rem,4vw,3.7rem); }
}
/* Principles read as an editorial sequence, not a second card gallery. */
.principle-gallery { display:block; margin-top:42px; }
.principle-gallery .detail-row,.principle-gallery .detail-row:nth-child(2),.principle-gallery .detail-row:nth-child(4) { display:grid; grid-template-columns:minmax(0,.68fr) minmax(0,1.32fr); gap:40px; align-items:start; min-height:0; padding:28px 0; border:0; border-top:1px solid var(--inner-line); border-radius:0; background:none; transform:none; }
.principle-gallery .detail-row:last-child { border-bottom:1px solid var(--inner-line); }
.principle-gallery .detail-row h3 { margin:0; }
.principle-gallery .detail-row p { max-width:60ch; }
.principle-gallery .detail-row:hover,.principle-gallery .detail-row:nth-child(even):hover,.principle-gallery .detail-row:nth-child(odd):hover { transform:none; border-color:var(--turquoise); }
@media(max-width:760px){
 .principle-gallery .detail-row,.principle-gallery .detail-row:nth-child(2),.principle-gallery .detail-row:nth-child(4) { grid-template-columns:1fr; gap:12px; padding:23px 0; }
}
/* Local spotlight follows the pointer inside panels, inspired by React Bits. */
.discipline-map .detail-row,.service-detail { position:relative; isolation:isolate; overflow:hidden; }
.discipline-map .detail-row::after,.service-detail::after { content:""; position:absolute; inset:0; z-index:-1; pointer-events:none; background:radial-gradient(360px circle at var(--spot-x,50%) var(--spot-y,25%),rgb(41 199 184 / .14),transparent 72%); opacity:0; transition:opacity .45s ease; }
.discipline-map .detail-row.is-lit::after,.service-detail.is-lit::after { opacity:1; }

/* Upright capability labels follow an ellipse outside the central outcome. */
.about-page #expertise .expertise-orbit { position:relative; height:540px; margin:38px auto; max-width:950px; display:grid; place-items:center; }
.about-page #expertise .expertise-orbit::before { content:""; position:absolute; width:300px; height:300px; border:1px solid rgb(41 199 184 / .3); border-radius:50%; }
.about-page #expertise .orbit-core { width:250px; max-width:250px; position:relative; z-index:1; text-align:center; }
.about-page #expertise .expertise-orbit [data-copy="75"] { font-size:1.95rem; line-height:var(--heading-leading); margin:0; text-wrap:balance; }
.about-page #expertise .orbit-core [data-copy="76"] { font-size:1.1rem; line-height:1.6; margin-top:16px; text-align:center; text-wrap:balance; }
.about-page #expertise .expertise-orbit .inner-list { position:absolute; inset:0; display:block; margin:0; max-width:none; }
.about-page #expertise .expertise-orbit .inner-list li { position:absolute; inset:auto; top:50%; left:50%; margin:0; width:max-content; max-width:240px; padding:13px 20px; font-size:1.1rem; line-height:1.5; background:#073e40; transition:background-color .25s ease,border-color .25s ease; }
.about-page #expertise .expertise-orbit .inner-list li:hover { background:#105355; border-color:var(--turquoise); }
.expertise-orbit:focus-visible { outline:2px solid var(--turquoise); outline-offset:8px; border-radius:20px; }
@media(min-width:761px) and (max-width:950px){
 .about-page #expertise .expertise-orbit { height:500px; }
 .about-page #expertise .expertise-orbit::before { width:240px; height:240px; }
 .about-page #expertise .orbit-core { width:205px; max-width:205px; }
 .about-page #expertise .expertise-orbit [data-copy="75"] { font-size:1.65rem; }
 .about-page #expertise .expertise-orbit .inner-list li { max-width:180px; font-size:1rem; padding:12px 16px; }
}
@media(max-width:760px){
 .about-page #expertise .expertise-orbit { display:block; height:auto; margin:32px auto; }
 .about-page #expertise .expertise-orbit::before { display:none; }
 .about-page #expertise .orbit-core { width:auto; max-width:none; margin-bottom:28px; }
 .about-page #expertise .expertise-orbit [data-copy="75"] { font-size:1.9rem; }
 .about-page #expertise .expertise-orbit .inner-list { position:static; display:grid; gap:12px; }
 .about-page #expertise .expertise-orbit .inner-list li { position:static; width:100%; max-width:none; transform:none!important; }
}
@media(prefers-reduced-motion:reduce){
 .discipline-map .detail-row::after,.service-detail::after { display:none; }

}
/* Exact item counts determine the grid; no empty trailing cells. */
@media(min-width:1051px){
 .service-details { grid-template-columns:repeat(6,minmax(0,1fr)); }
 .service-detail#business { grid-column:span 2; }
 .service-detail--premium { grid-column:span 4; grid-template-columns:minmax(0,1fr); display:flex; flex-direction:column; align-items:stretch; padding:38px; gap:26px; }
 .service-detail--premium .service-detail-action { display:grid; grid-template-columns:1fr 1fr; gap:24px; align-items:end; }
 .service-detail--premium .service-detail-price strong { font-size:3.5rem; }
 .service-detail#ecommerce,.service-detail#landing { grid-column:span 3; }
 .service-detail#seo { grid-column:span 6; }
}
@media(min-width:761px) and (max-width:1050px){
 .service-detail--premium { grid-column:span 1; display:flex; padding:34px; }
 .service-detail--premium h3 { font-size:2.6rem; }
 .service-detail--premium .service-detail-price strong { font-size:2.75rem; }
}
.discipline-map .detail-row:nth-child(4) { grid-column:auto; min-height:230px; }
@media(max-width:760px){
 .discipline-map .detail-row:nth-child(4) { min-height:0; }
}

/* Keep the team story's heading in view while its longer copy passes. */
@media(min-width:901px){
 .about-page #team .inner-heading { position:sticky; top:110px; align-self:start; }
}

@media(max-width:600px){
 .about-page #partnership .inner-list { grid-template-columns:1fr; }
}

/* The strategy visual uses the unused upper space; the copy stays below it. */
.strategy-atom { position:relative; width:100%; height:250px; flex:1 0 250px; margin-bottom:18px; pointer-events:none; }
.strategy-atom canvas { display:block; width:100%; height:100%; }
.atom-static { display:none; }
.atom-fallback canvas { display:none; }
.atom-fallback .atom-static { display:block; position:absolute; top:50%; left:50%; width:190px; height:190px; transform:translate(-50%,-50%); }
.atom-static::before { content:""; position:absolute; left:50%; top:50%; width:38px; height:38px; transform:translate(-50%,-50%); border-radius:50%; background:radial-gradient(circle at 30% 25%,#d5fff4,#29c7b8 45%,#085e59); }
.atom-static i { position:absolute; inset:0; border:1px solid rgb(41 199 184 / .65); border-radius:50%; transform:rotate(0deg) scaleX(.38); }
.atom-static i:nth-child(2) { transform:rotate(60deg) scaleX(.38); }
.atom-static i:nth-child(3) { transform:rotate(120deg) scaleX(.38); }
@media(max-width:760px){
 .strategy-atom { flex:none; height:210px; margin-bottom:16px; }
}

/* Preserve the intentional two-line heading. */
.about-heading-line { display:block; white-space:nowrap; }
@media(max-width:900px){
 .about-hero { display:grid; }
 .about-hero .wrap { display:flex; flex-direction:column; align-items:stretch; padding-block:88px 48px; }
 .about-hero .about-hero__visual { position:relative; left:auto; top:auto; width:100%; min-width:0; height:clamp(170px,29vh,260px); transform:none; flex:none; margin:0 auto 10px; }
 .about-hero h1 { font-size:var(--hero-display-size); }
 .about-hero .inner-hero-copy { margin-top:1.2rem; }
 .about-hero .btn-row { margin-top:1.25rem; }
}
@media(max-width:900px) and (max-height:650px){
 .about-hero .wrap { padding-block:76px 32px; }
 .about-hero .about-hero__visual { height:160px; }
}

.team-convergence { position:relative; }
.team-node-flow { position:absolute; inset:0; width:100%; height:100%; overflow:visible; pointer-events:none; }
.team-node-flow__path { stroke:rgb(41 199 184 / .35); stroke-width:1; stroke-linejoin:round; }
.team-node-flow__node { fill:#71ecda; }
.has-node-flow .team-convergence__roles::after,.has-node-flow .team-convergence__roles p::after,.has-node-flow .team-convergence__outcome::before { display:none; }
@media(max-width:760px){
 .has-node-flow .team-convergence__roles,.has-node-flow .team-convergence__outcome { border:0; }
}
@media(prefers-reduced-motion:reduce){
 .team-node-flow__node { display:none; }
}

.about-page .inner-list li { list-style:none; text-align:center; }

/* Services follows the home hero: copy on the right, one assembled object left. */
.services-hero { background:var(--ink); text-align:start; }
.services-hero__cube { position:absolute; z-index:4; left:max(var(--gutter),calc((100vw - var(--wrap)) / 2 + var(--gutter))); top:50%; width:min(39vw,58vh); aspect-ratio:1; transform:translateY(-50%); border:0; padding:0; background:transparent; cursor:grab; touch-action:none; }
.services-hero__cube:active { cursor:grabbing; }
.services-hero__cube:focus-visible { outline:2px solid var(--turquoise); outline-offset:2px; border-radius:20px; }
.services-hero__cube canvas,.services-hero__cube-fallback { position:absolute; inset:0; display:block; width:100%; height:100%; }
.services-hero__cube canvas { opacity:0; transition:opacity .35s ease; }
.services-hero__cube.is-ready canvas { opacity:1; }
.services-hero__cube.is-fallback .services-hero__cube-fallback { opacity:.8; }
.services-hero__cube-fallback { opacity:0; filter:drop-shadow(0 22px 32px rgb(0 0 0 / .3)); }
.services-hero .hero__content { z-index:3; display:grid; grid-template-columns:minmax(0,30rem) 1fr; column-gap:clamp(1.5rem,4vw,3.5rem); row-gap:0; }
.services-hero .hero__content { pointer-events:none; }
.services-hero .hero__content a { pointer-events:auto; }
.services-hero .hero__content > * { grid-column:1; grid-row:auto; }
.services-hero .hero__title { max-width:none; margin:0; font-size:var(--hero-display-size); }
.services-hero .hero__lede { max-width:none; margin:1.6rem 0 0; font-size:clamp(1rem,.95rem + .4vw,1.2rem); }
.services-hero .hero__tag { color:var(--turquoise); }
@media(min-width:900px){
 .services-hero .hero__content { transform:translateY(22px); }
 .services-hero .btn-row { justify-content:flex-start; }
}
@media(max-width:899px){
 .services-hero { --mobile-cube-top:72px; --mobile-cube-size:clamp(200px,54vw,240px); text-align:center; }
 .services-hero__cube { left:50%; top:var(--mobile-cube-top); width:var(--mobile-cube-size); height:var(--mobile-cube-size); transform:translateX(-50%); }
 .services-hero .hero__content { display:block; padding-top:calc(var(--mobile-cube-top) + var(--mobile-cube-size) + 16px); padding-bottom:24px; }
 .services-hero .hero__title { margin-inline:auto; font-size:var(--hero-display-size); }
 .services-hero .hero__lede { margin:1.2rem auto 0; max-width:58ch; }
 .services-hero .btn-row { justify-content:center; }
}
@media(prefers-reduced-motion:reduce){
 .services-hero__cube canvas { transition:none; }
}

/* Match the Home hero's centered phone composition and artwork spacing. */
@media(max-width:899px){
 .about-hero { display:block; text-align:center; }
 .about-hero .wrap { align-items:center; padding-block:72px 24px; }
 .about-hero .about-hero__visual { width:100%; height:clamp(125px,40vw,220px); margin:0 auto 16px; }
 .about-hero .inner-hero-copy { max-width:58ch; margin-inline:auto; text-align:center; }
 .about-hero .btn-row { justify-content:center; }
 .services-hero { --mobile-cube-size:clamp(125px,40vw,220px); text-align:center; }
 .services-hero .hero__content { text-align:center; }
 .services-hero .hero__title,.services-hero .hero__lede,.services-hero .hero__tag { margin-inline:auto; }
}
