:root{--ink:#150f3d;--paper:#f6f3ff;--blue:#5b3bff;--pink:#ff3d8b;--amber:#ffb020;--aqua:#00b8ff;--tint:#e6defe;--line:#d6cdf5;--mute:#5d5683;--card:#fff;box-sizing:border-box;padding-top:env(safe-area-inset-top,0px);padding-bottom:env(safe-area-inset-bottom,0px)}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]){--ink:#f4f1ff;--paper:#0d0a26;--blue:#8f7bff;--pink:#ff6fa8;--amber:#ffc04d;--aqua:#4dd8ff;--tint:#231a5c;--line:#34298a;--mute:#b0a8d8;--card:#181241}}
:root[data-theme="dark"]{--ink:#f4f1ff;--paper:#0d0a26;--blue:#8f7bff;--pink:#ff6fa8;--amber:#ffc04d;--aqua:#4dd8ff;--tint:#231a5c;--line:#34298a;--mute:#b0a8d8;--card:#181241}
*,*:before,*:after{box-sizing:inherit}
html{scroll-behavior:smooth;scroll-padding-top:calc(env(safe-area-inset-top,0px) + 76px)}
body{margin:0;background:var(--paper);color:var(--ink);font:400 17px/1.6 "Hanken Grotesk",system-ui,sans-serif}
h1,h2,h3{font-family:"Bricolage Grotesque","Hanken Grotesk",system-ui,sans-serif;font-weight:800;letter-spacing:-.025em;line-height:1.04;margin:0}
h2{font-size:clamp(2rem,5vw,3.4rem);max-width:18ch}
p{margin:0}
a{color:inherit}
.wrap{width:min(1120px,100% - 40px);margin-inline:auto}
section{padding:clamp(64px,10vw,120px) 0}
.logo{height:34px;width:auto;display:block}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .logo{filter:invert(1)}}
:root[data-theme="dark"] .logo{filter:invert(1)}
header{position:sticky;top:0;z-index:20;padding-top:env(safe-area-inset-top,0px);background:color-mix(in srgb,var(--paper) 88%,transparent);backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}
header .wrap{display:flex;align-items:center;justify-content:space-between;height:68px;gap:16px}
nav{display:flex;gap:26px;align-items:center;font-weight:500;font-size:15px}
nav a{text-decoration:none;color:var(--mute)}nav a:hover{color:var(--ink)}
.btn{display:inline-block;background:linear-gradient(120deg,var(--blue),var(--pink));color:#fff;padding:14px 26px;border-radius:999px;font-weight:700;text-decoration:none;border:0;cursor:pointer;font:700 16px "Hanken Grotesk",sans-serif}
.btn.ghost{background:transparent;color:var(--ink);box-shadow:inset 0 0 0 2px var(--ink)}
:root[data-theme="dark"] .btn:not(.ghost),:root:not([data-theme="light"]) .btn:not(.ghost){color:#0c0e20}
@media (prefers-color-scheme:light){:root:not([data-theme="dark"]) .btn:not(.ghost){color:#fff}}
:root[data-theme="light"] .btn:not(.ghost){color:#fff}
.btn.ghost{color:var(--ink);transition:background .2s,color .2s}
.btn.ghost:hover,.btn.ghost:focus-visible{background:var(--ink);color:var(--paper)}
:focus-visible{outline:3px solid var(--blue);outline-offset:3px}
@media(max-width:760px){nav a:not(.btn){display:none}}

/* hero */
.hero{position:relative;overflow:hidden;padding-top:clamp(40px,7vw,88px);background:radial-gradient(55% 50% at 88% 15%,rgba(255,61,139,.22),transparent 70%),radial-gradient(60% 55% at 8% 95%,rgba(91,59,255,.24),transparent 70%),radial-gradient(40% 40% at 60% 60%,rgba(0,184,255,.12),transparent 70%)}.hero canvas{position:absolute;inset:0;width:100%;height:100%;z-index:0;-webkit-mask-image:linear-gradient(90deg,rgba(0,0,0,var(--hero-mask-start,.3)),#000 62%);mask-image:linear-gradient(90deg,rgba(0,0,0,var(--hero-mask-start,.3)),#000 62%)}.hero .wrap{position:relative;z-index:1}
.hero-grid{display:grid;grid-template-columns:minmax(0,880px);align-items:center}
.hero{min-height:calc(100svh - 69px);display:flex;align-items:center}
.hero h1{max-width:20ch}
.hero{background-color:var(--hero-base,var(--paper))}
.hero canvas{opacity:var(--hero-canvas-opacity,.28)}
.agent-network{border-bottom:1px solid var(--line);padding-bottom:clamp(48px,6vw,80px)}
.network-wrap{max-width:760px}
.hero h1{font-size:clamp(2.6rem,6vw,4.5rem)}
.hero h1 span{display:block;background:linear-gradient(100deg,var(--blue),var(--pink) 70%,var(--amber));-webkit-background-clip:text;background-clip:text;color:transparent}
.lead{font-size:1.2rem;color:var(--mute);max-width:46ch;margin:26px 0 32px}
.cta{display:flex;gap:14px;flex-wrap:wrap}
@media(max-width:860px){.hero-grid{grid-template-columns:1fr}}

/* processo */
.steps{list-style:none;margin:56px 0 0;padding:0;display:grid;grid-template-columns:repeat(5,1fr);gap:0;position:relative;counter-reset:s}
.steps:before{content:"";position:absolute;left:5%;right:5%;top:22px;height:3px;background:linear-gradient(90deg,var(--blue),var(--pink),var(--amber))}
.steps li{position:relative;padding:60px 14px 0 0;counter-increment:s}
.steps li:before{content:counter(s);position:absolute;top:0;left:0;width:46px;height:46px;border-radius:50%;background:linear-gradient(135deg,var(--blue),var(--pink));color:#fff;display:grid;place-items:center;font:800 1.2rem "Bricolage Grotesque",sans-serif}
.steps h3{font-size:1.25rem;margin-bottom:8px}.steps p{font-size:.95rem;color:var(--mute)}
.note{margin-top:22px;color:var(--mute)}
@media(max-width:860px){.steps{grid-template-columns:1fr;gap:26px}.steps:before{left:22px;right:auto;top:0;bottom:0;width:3px;height:auto}.steps li{padding:2px 0 0 68px}}

/* jornadas e maturidade */
.alt{background:linear-gradient(180deg,var(--card),var(--tint));border-block:1px solid var(--line)}
/* vocabulário */
.vocab{display:grid;grid-template-columns:1fr 1fr;gap:22px;margin-top:44px}
.vocab>div{border-radius:28px;padding:30px;border:2px solid var(--line);background:var(--card)}
.vocab h3{font-size:1.4rem;margin-bottom:6px}.vocab>div>p{color:var(--mute);margin-bottom:16px;font-size:.95rem}
.chips{display:flex;flex-wrap:wrap;gap:8px}.chips span:nth-child(3n+1){background:rgba(255,61,139,.16)}.chips span:nth-child(3n+2){background:rgba(0,184,255,.16)}.chips span{background:var(--tint);border-radius:999px;padding:7px 14px;font-weight:500;font-size:.95rem}
.vocab>div:last-child .chips span{background:transparent;box-shadow:inset 0 0 0 1.5px var(--ink)}
@media(max-width:860px){.vocab{grid-template-columns:1fr}}

/* contato */
.contact{background:linear-gradient(125deg,#3a1fd6,#7a2cff 45%,#ff3d8b 100%);color:#fff;border-radius:40px;padding:clamp(34px,7vw,80px);display:grid;grid-template-columns:1.2fr 1fr;gap:40px;align-items:end}
.contact h2{max-width:14ch}
.contact p{margin-top:18px;max-width:42ch;opacity:.92}
.contact .btn{background:#fff;color:#4a2cff!important}
.contact .btn.ghost{background:transparent;color:#fff!important;box-shadow:inset 0 0 0 2px #fff}
.contact .cta{flex-direction:column;align-items:flex-start}
@media(max-width:860px){.contact{grid-template-columns:1fr}}
footer{padding:44px 0 56px;color:var(--mute);font-size:.95rem}
footer .wrap{display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;align-items:center}

/* entrada do hero: único momento orquestrado */
@keyframes rise{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}
.hero h1,.hero .lead,.hero .cta{animation:rise .8s cubic-bezier(.2,.7,.2,1) both}
.hero .lead{animation-delay:.12s}.hero .cta{animation-delay:.24s}
:root[data-motion="reduced"] *{animation:none!important;transition:none!important;scroll-behavior:auto!important}
:root[data-motion="reduced"] .pulse{display:none}

#modal-diagnostico{width:min(640px,calc(100% - 32px));max-height:calc(100dvh - 32px);padding:clamp(24px,5vw,42px);border:1px solid var(--line);border-radius:28px;background:var(--card);color:var(--ink);box-shadow:0 24px 100px #150f3d40;overflow:auto}
#modal-diagnostico::backdrop{background:#0d0a2680;backdrop-filter:blur(12px)}
#modal-diagnostico h2{font-size:clamp(1.8rem,5vw,2.5rem);margin:8px 0 16px;max-width:20ch}
#modal-description{color:var(--mute);margin-bottom:24px}
.diagnostico-eyebrow{color:var(--blue);font-weight:700;font-size:14px;padding-right:24px}
.modal-close{position:absolute;right:16px;top:12px;width:40px;height:40px;border:0;border-radius:50%;background:var(--tint);color:var(--ink);font-size:28px;cursor:pointer}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}
#form-diagnostico label{display:block;font-weight:700;font-size:14px;margin-bottom:16px}
#form-diagnostico input,#form-diagnostico select,#form-diagnostico textarea{display:block;width:100%;margin-top:6px;padding:12px 14px;border:1px solid var(--line);border-radius:12px;background:var(--paper);color:var(--ink);font:400 16px/1.4 "Hanken Grotesk",sans-serif}
#form-diagnostico textarea{resize:vertical}
#form-diagnostico input::placeholder{color:var(--mute)}
#btn-submit-diagnostico{width:100%;margin-top:12px}
#btn-submit-diagnostico:disabled{opacity:.65;cursor:wait}
#form-feedback{font-size:15px;color:var(--mute)}
#form-feedback[data-state="success"]{color:var(--blue)}
#form-feedback[data-state="error"]{color:var(--ink);border-left:3px solid var(--pink);padding-left:12px}
body.diagnostico-open{overflow:hidden}
@media(max-width:520px){.form-grid{grid-template-columns:1fr;gap:0}}

#modal-diagnostico h3{font-size:clamp(1.8rem,5vw,2.5rem);margin-bottom:16px}
#modal-diagnostico label{margin-bottom:0}
#modal-diagnostico .form-group{margin-bottom:16px}

.motion-toggle{display:inline-block;margin-top:18px;padding:6px 0;border:0;background:transparent;color:var(--mute);font:500 14px "Hanken Grotesk",sans-serif;text-decoration:underline;text-underline-offset:4px;cursor:pointer}

.solution-detail{margin-top:24px;padding:clamp(24px,4vw,36px);border:1px solid var(--line);border-radius:24px;background:var(--card)}
.solution-detail[hidden],.solution-interest[hidden]{display:none}
.solution-detail h3{font-size:clamp(1.7rem,4vw,2.2rem);margin:8px 0 16px}
.solution-eyebrow{color:var(--blue);font-size:14px;font-weight:700}
.solution-detail ul{padding-left:22px;margin:20px 0}
.solution-detail li{margin:8px 0}
.solution-discovery,.solution-note{color:var(--mute);margin-bottom:20px}
.solution-note{font-size:15px}
.solution-interest{border-left:3px solid var(--blue);padding:10px 14px;background:var(--paper);border-radius:8px;margin-bottom:20px;font-weight:700}
.sales-faq{max-width:800px;margin-top:32px}
.sales-faq details{border-bottom:1px solid var(--line);padding:20px 0}
.sales-faq summary{cursor:pointer;font-weight:700;font-size:1.1rem}
.sales-faq details p{padding-top:14px;color:var(--mute);max-width:65ch}

/* Pré-diagnóstico: uma etapa por vez, briefing editável, sem persistência local. */
#form-diagnostico .onboarding-step{padding:0;margin:22px 0}
#form-diagnostico [hidden]{display:none!important}
.onboarding-step h4{font:800 clamp(1.4rem,4vw,1.85rem)/1.15 "Bricolage Grotesque",sans-serif;letter-spacing:-.02em;margin:12px 0 18px}
.onboarding-step h5{font-size:1rem;margin:0 0 12px}
.onboarding-step p{margin:0 0 16px}
#form-diagnostico .onboarding-step>label{margin-top:18px}
.onboarding-step label span,.onboarding-note{font-weight:400;color:var(--mute);font-size:.92rem}
.onboarding-kicker{text-transform:uppercase;letter-spacing:.08em;color:var(--blue);font-size:.75rem;font-weight:700}
.onboarding-callout{margin:20px 0;padding:18px;border:1px solid var(--line);border-radius:16px;background:var(--paper);font-weight:500}
.onboarding-progress{font-size:.82rem;color:var(--mute);margin:20px 0}
.onboarding-progress progress{display:block;width:100%;height:6px;margin-top:10px;accent-color:var(--blue);border:0;border-radius:20px}
#onboarding-error{color:var(--ink);font-weight:700;font-size:.92rem}
#onboarding-error:not(:empty){border-left:3px solid var(--pink);padding:8px 12px;margin-bottom:16px}
.onboarding-navigation{display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px;margin-top:24px}
.onboarding-navigation .btn{flex:1;text-align:center;white-space:normal}
.onboarding-navigation .btn:disabled{opacity:.65;cursor:wait}
.briefing-grid{margin:0;display:grid;gap:12px}
.briefing-grid>div{border:1px solid var(--line);border-radius:16px;padding:16px;background:var(--paper);min-width:0}
.briefing-grid dt{font-size:.8rem;color:var(--blue);font-weight:700;margin-bottom:6px}
.briefing-grid dd{margin:0;white-space:pre-wrap;overflow-wrap:anywhere}
.briefing-edit{display:flex;flex-wrap:wrap;gap:8px;margin:18px 0}
.briefing-edit .btn{font-size:.82rem;padding:10px 14px}
.onboarding-deliverables{margin-top:22px;padding:18px;border-radius:16px;background:var(--tint)}
.onboarding-deliverables ol{padding-left:20px;margin:0}
@media(max-width:520px){.onboarding-navigation{flex-direction:column}.onboarding-navigation .btn{width:100%}.briefing-edit .btn{flex:1}}

/* Three connected spheres; labels remain upright throughout their orbit. */
.agent-network .network-wrap{max-width:900px}
.agent-network h2{max-width:20ch;margin-inline:auto;text-align:center}
.sphere-stage{position:relative;width:min(100%,700px);aspect-ratio:1;margin:clamp(20px,4vw,40px) auto 0;isolation:isolate}
.sphere-orbits{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;overflow:visible}
.sphere-track{fill:none;stroke:var(--line);stroke-width:.18}
.sphere-track-secondary{stroke-dasharray:.3 1.2;opacity:.7}
.sphere-connection{fill:none;stroke:url(#orbit-color);stroke-width:.22;opacity:.3}
.sphere-button{position:absolute;display:grid;place-items:center;width:31%;aspect-ratio:1;padding:10px;transform:translate(-50%,-50%);border:1px solid color-mix(in srgb,var(--sphere-color) 30%,var(--card));border-radius:50%;background:radial-gradient(circle at 29% 23%,color-mix(in srgb,var(--card) 95%,var(--sphere-color)),color-mix(in srgb,var(--sphere-color) 16%,var(--card)) 48%,color-mix(in srgb,var(--sphere-color) 40%,var(--card)) 100%);color:var(--ink);box-shadow:inset 0 3px 9px color-mix(in srgb,var(--card) 80%,transparent),inset -8px -12px 22px color-mix(in srgb,var(--sphere-color) 12%,transparent),0 20px 44px -16px color-mix(in srgb,var(--sphere-color) 35%,transparent);font:700 clamp(.95rem,3.3vw,1.65rem)/1.2 "Bricolage Grotesque",sans-serif;letter-spacing:-.02em;cursor:pointer;touch-action:manipulation;transition:box-shadow .3s,border-color .3s}
.sphere-button::after{content:"";position:absolute;inset:8%;border-radius:50%;border:1px solid color-mix(in srgb,var(--card) 55%,transparent);pointer-events:none}
.sphere-button:hover,.sphere-button[aria-expanded="true"]{border-color:var(--sphere-color);box-shadow:inset 0 3px 9px color-mix(in srgb,var(--card) 80%,transparent),0 0 0 7px color-mix(in srgb,var(--sphere-color) 9%,transparent),0 24px 50px -16px color-mix(in srgb,var(--sphere-color) 50%,transparent)}
.sphere-button:focus-visible{outline:3px solid var(--ink);outline-offset:7px}
.sphere-detail[hidden]{display:none}
.sphere-detail{padding-top:28px;border-top:1px solid var(--line);scroll-margin-top:100px}
.sphere-detail-heading{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:24px}
.sphere-detail h3{font-size:clamp(1.8rem,4vw,2.4rem)}
.sphere-back{background:none;border:0;color:var(--mute);font:600 .95rem "Hanken Grotesk",sans-serif;cursor:pointer;padding:10px 0}
.sphere-back:hover{color:var(--ink)}
.sphere-back span{margin-left:8px}
.sphere-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.sphere-option{position:relative;display:block;padding:24px 44px 24px 24px;text-decoration:none;border:1px solid var(--line);border-radius:20px;background:var(--card);transition:border-color .2s,background .2s}
.sphere-option strong{display:block;font:700 1.15rem "Bricolage Grotesque",sans-serif;margin-bottom:8px}
.sphere-option p{color:var(--mute);font-size:1rem;line-height:1.5}
.sphere-option>span{position:absolute;right:22px;top:22px;color:var(--blue)}
.sphere-option:hover{border-color:var(--blue);background:color-mix(in srgb,var(--blue) 4%,var(--card))}
@media(max-width:600px){header nav .btn{font-size:14px;padding:12px 18px;max-width:100%;white-space:normal}header nav{min-width:0}.contact .cta .btn{max-width:100%;white-space:normal}.sphere-options{grid-template-columns:1fr}.sphere-button{width:32%}.sphere-detail-heading{align-items:flex-start}}

/* Refinement: the question and orbit form one composition. */
.agent-network .network-wrap{max-width:850px}
.sphere-stage{width:min(100%,660px);margin:0 auto;isolation:isolate}
.agent-network #evolution-title{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:47%;max-width:none;margin:0;text-align:center;font-size:clamp(1rem,3.7vw,2.1rem);line-height:1.14;letter-spacing:-.035em;pointer-events:none;z-index:1}
#evolution-title span{display:block;white-space:nowrap}
.sphere-button{width:20%;padding:4px;background:color-mix(in srgb,var(--sphere-color) 3%,var(--card));border:1px solid color-mix(in srgb,var(--sphere-color) 48%,var(--line));box-shadow:0 8px 24px -14px color-mix(in srgb,var(--ink) 20%,transparent);font-size:clamp(.8rem,2.6vw,1.1rem);font-weight:600;letter-spacing:-.02em}
.sphere-button::after{display:none}
.sphere-button:hover,.sphere-button[aria-expanded="true"]{background:color-mix(in srgb,var(--sphere-color) 8%,var(--card));border-color:var(--sphere-color);box-shadow:0 0 0 4px color-mix(in srgb,var(--sphere-color) 8%,transparent)}
.sphere-track-secondary{stroke-dasharray:none;opacity:.45}
.sphere-detail-heading{margin-bottom:12px}
.sphere-intro{color:var(--mute);max-width:48ch;margin-bottom:24px;font-size:1.05rem}
.sphere-options{gap:0 32px}
.sphere-option{background:none;border:0;border-top:1px solid var(--line);border-radius:0;padding:22px 28px 22px 0}
.sphere-option>span{right:0}
.sphere-option:hover{background:transparent}
.sphere-option:hover strong{color:var(--blue)}
@media(max-width:600px){.sphere-button{width:23%}.sphere-stage{margin-block:12px}.agent-network #evolution-title{width:47%;font-size:clamp(1rem,3.7vw,1.4rem)}.sphere-intro{font-size:1rem}}

/* Keep the entire desktop orbit within the available screen height. */
.sphere-stage{container-type:inline-size}
.agent-network #evolution-title{font-size:clamp(1rem,5.1cqi,1.6rem)}
.sphere-button{font-size:clamp(.8rem,3.8cqi,1rem)}
@media(min-width:601px){
  .agent-network{padding-block:clamp(24px,4svh,40px)}
  .sphere-stage{width:min(100%,480px,calc(100svh - 200px))}
}
/* A brighter violet canvas in dark mode, without changing the light theme. */
:root[data-theme="dark"]{--hero-base:#1c1740;--hero-canvas-opacity:.62;--hero-mask-start:.5}
@media(prefers-color-scheme:dark){:root:not([data-theme="light"]){--hero-base:#1c1740;--hero-canvas-opacity:.62;--hero-mask-start:.5}}

/* Organic shapes with comfortable label clearance; subdued lateral connections. */
.agent-network{position:relative;isolation:isolate}
.agent-network .network-wrap{position:relative;z-index:1}
.sphere-button{width:24%;padding:8px;border-radius:46% 54% 48% 52% / 53% 47% 53% 47%;animation:sphere-shape 14s ease-in-out infinite alternate}
.sphere-button:nth-of-type(2){animation-delay:-5s}
.sphere-button:nth-of-type(3){animation-delay:-9s}
.sphere-button span{display:block;text-align:center;line-height:1.25;white-space:nowrap}
.sphere-button:hover,.sphere-button:focus-visible,.sphere-button[aria-expanded="true"]{animation-play-state:paused}
@keyframes sphere-shape{to{border-radius:53% 47% 52% 48% / 47% 54% 46% 53%}}
.sphere-network{position:absolute;inset:0;width:100%;height:100%;overflow:hidden;pointer-events:none;z-index:0;mask-image:linear-gradient(90deg,#000,rgba(0,0,0,.7) 20%,transparent 43%,transparent 57%,rgba(0,0,0,.7) 80%,#000);-webkit-mask-image:linear-gradient(90deg,#000,rgba(0,0,0,.7) 20%,transparent 43%,transparent 57%,rgba(0,0,0,.7) 80%,#000)}
.sphere-network{opacity:.36}
@media(max-width:600px){.sphere-button{width:28%;padding:8px}.sphere-network{opacity:.55}}

/* Shared gradient for interactive surfaces, with readable white labels. */
.sphere-button,.sphere-button:hover,.sphere-button[aria-expanded="true"]{background:linear-gradient(125deg,#5b3bff 0%,#922bc6 55%,#c51e75 100%);color:#fff;border-color:color-mix(in srgb,var(--sphere-color) 65%,transparent);box-shadow:0 7px 22px -10px rgba(91,59,255,.45);font-weight:700}
.sphere-button:hover,.sphere-button[aria-expanded="true"]{box-shadow:0 0 0 4px color-mix(in srgb,var(--sphere-color) 12%,transparent),0 9px 24px -10px rgba(197,30,117,.45)}
.sales-faq summary{position:relative;list-style:none;padding-left:28px;padding-right:0}
.sales-faq summary::-webkit-details-marker{display:none}
.sales-faq summary::marker{content:""}
.sales-faq summary::after{content:"";position:absolute;left:0;top:.4em;width:13px;height:15px;background:linear-gradient(140deg,var(--blue),var(--pink));clip-path:polygon(10% 0,100% 50%,10% 100%);transition:transform .25s ease;transform-origin:center}
.sales-faq details[open] summary::after{transform:rotate(90deg)}
/* Soft atmospheric layers drift behind the content, without blurring text. */
.agent-network::before{content:"";position:absolute;inset:0;pointer-events:none;z-index:0;background-image:radial-gradient(ellipse,color-mix(in srgb,var(--blue) 11%,transparent),transparent 68%),radial-gradient(ellipse,color-mix(in srgb,var(--pink) 9%,transparent),transparent 70%),radial-gradient(ellipse,color-mix(in srgb,var(--aqua) 6%,transparent),transparent 72%);background-size:65% 145%,75% 130%,90% 160%;background-position:-40% 15%,150% 80%,40% 110%;background-repeat:no-repeat;animation:atmosphere-drift 36s ease-in-out infinite alternate}
@keyframes atmosphere-drift{to{background-position:-12% 35%,125% 55%,65% 70%}}
:root[data-motion="reduced"] .agent-network::before{animation-play-state:paused}

/* Offer context surrounds the orbit; mobile follows concept → choice → application. */
.agent-network .network-wrap{max-width:1280px;width:min(1240px,100% - 48px)}
.sphere-composition{display:grid;grid-template-columns:minmax(180px,1fr) minmax(0,480px) minmax(180px,1fr);align-items:center;gap:28px}
.sphere-offer{min-width:0;max-width:28ch}
.sphere-offer h3{font-size:clamp(1.3rem,2.1vw,1.7rem);line-height:1.12;letter-spacing:-.03em;margin:0 0 18px}
.sphere-offer p{font-size:1rem;line-height:1.65;color:var(--mute)}
.sphere-offer.sphere-application{justify-self:end}
.sphere-button span{text-transform:lowercase;font-weight:600;letter-spacing:-.025em}
.sphere-symbol-track{position:absolute;inset:5px;pointer-events:none;animation:symbol-counter-orbit 22s linear infinite}
.sphere-symbol-track svg{position:absolute;left:50%;top:0;width:14px;height:14px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;animation:symbol-upright 22s linear infinite}
.sphere-button:hover .sphere-symbol-track,.sphere-button:hover .sphere-symbol-track svg,.sphere-button:focus-visible .sphere-symbol-track,.sphere-button:focus-visible .sphere-symbol-track svg,.sphere-button[aria-expanded="true"] .sphere-symbol-track,.sphere-button[aria-expanded="true"] .sphere-symbol-track svg{animation-play-state:paused}
@keyframes symbol-counter-orbit{to{transform:rotate(-360deg)}}
@keyframes symbol-upright{from{transform:translate(-50%,-50%) rotate(0deg)}to{transform:translate(-50%,-50%) rotate(360deg)}}
@media(max-width:1000px){.sphere-composition{grid-template-columns:1fr;gap:24px}.sphere-offer,.sphere-offer.sphere-application{justify-self:center;text-align:center;max-width:48ch}.sphere-offer h3{margin-bottom:12px}.sphere-application h3 br{display:none}}
@media(max-width:600px){.agent-network .network-wrap{width:calc(100% - 40px)}.sphere-symbol-track{inset:3px}.sphere-symbol-track svg{width:11px;height:11px}.sphere-offer h3{font-size:1.45rem}.sphere-composition{gap:20px}}

#modal-title{padding-right:38px}

/* Digital has a dedicated line and a clear, continuous luminous pulse. */
.hero h1 .hero-digital{display:block;width:fit-content;max-width:100%;padding-right:.12em;font-style:italic;font-weight:800;line-height:1.12;letter-spacing:-.04em;background:linear-gradient(105deg,var(--blue),var(--pink) 72%,var(--amber));background-clip:text;-webkit-background-clip:text;color:transparent;animation:digital-luminescence 2.4s ease-in-out infinite}
@keyframes digital-luminescence{0%,100%{filter:brightness(1.02) drop-shadow(0 0 2px rgba(255,255,255,.4)) drop-shadow(0 0 7px rgba(170,245,255,.12))}50%{filter:brightness(1.24) drop-shadow(0 0 3px rgba(255,255,255,.95)) drop-shadow(0 0 11px rgba(170,245,255,.72)) drop-shadow(0 0 22px rgba(255,190,225,.55))}}

.hero h1 .hero-digital{filter:brightness(1.08) drop-shadow(0 0 3px rgba(255,255,255,.65))}

.hero .hero-description{max-width:none}
.hero-description>span{display:block}

.hero-provocation{max-width:42rem;margin:-4px 0 28px;color:var(--ink);font:600 clamp(1.05rem,1.6vw,1.25rem)/1.4 "Bricolage Grotesque","Hanken Grotesk",sans-serif;letter-spacing:-.015em}
