/* ============ ACT 1 — HERO ============ */
.hero{min-height:100svh;position:relative;overflow:hidden;padding:150px clamp(24px,9vw,140px) 60px;display:flex;flex-direction:column;justify-content:center;background:linear-gradient(160deg,var(--hero-deep) 0%,var(--hero-deep-2) 100%);color:var(--paper)}
.hero__wash{position:absolute;inset:0;background:radial-gradient(circle at 76% 40%,rgba(126,217,87,.16),transparent 45%),radial-gradient(circle at 20% 100%,rgba(0,0,0,.35),transparent 55%);pointer-events:none}
.hero__topline{position:absolute;top:104px;left:var(--gutter);right:var(--gutter);display:flex;justify-content:space-between;font:13px var(--mono);text-transform:uppercase;color:var(--muted-light)}
.hero__stage{position:relative;z-index:2}
.hero__copy{width:min(640px,62%)}
.hero .eyebrow{color:var(--acid)}
.hero h1{font:700 var(--fs-hero)/1.02 var(--display);letter-spacing:-.03em;margin:20px 0 26px}
.hero h1 em{font-style:normal;color:var(--acid)}
.hero__intro{font-size:var(--fs-body-lg);max-width:440px;margin:0;color:var(--muted-light)}
.hero__actions{display:flex;align-items:center;gap:22px;margin-top:40px}
.circle-link{display:grid;place-items:center;width:52px;height:52px;border:1px solid var(--line-light);border-radius:50%;text-decoration:none;transition:background .3s,transform .3s,border-color .3s;color:var(--paper)}
.circle-link:hover{background:var(--paper);color:var(--ink);transform:rotate(-45deg)}
.hero__visual{position:absolute;right:6%;bottom:0;width:min(38vw,480px);aspect-ratio:1;display:grid;place-items:center;opacity:.92}
.hero__visual-spin{width:100%;height:100%;display:grid;place-items:center;animation:spin-slow 40s linear infinite}
.visual-ring{position:absolute;border:1px solid rgba(243,241,232,.28);border-radius:50%;width:100%;height:52%;transform:rotate(-34deg)}
.visual-ring--two{width:75%;height:75%;border-style:dashed;transform:rotate(48deg)}
.visual-core{width:40%;aspect-ratio:1;border-radius:50%;background:var(--paper);display:grid;place-items:center;padding:14%;box-shadow:0 0 0 14px rgba(243,241,232,.05)}
.visual-core img{width:100%;height:auto}
.visual-tag{position:absolute;padding:12px 15px;background:var(--paper);color:var(--ink);font:13px var(--mono);border-radius:6px;box-shadow:0 8px 20px rgba(0,0,0,.25)}
.visual-tag b{display:block;font-size:16px;margin-top:6px;color:var(--forest)}
.visual-tag--one{left:0;top:12%}
.visual-tag--two{right:-4%;bottom:16%}
.hero__scroll{position:absolute;bottom:36px;left:var(--gutter);display:flex;gap:14px;align-items:center;font:13px var(--mono);text-transform:uppercase;color:var(--muted-light)}
.hero__scroll i{display:block;width:50px;border-top:1px solid var(--line-light)}

/* ============ ACT 2 — AMBITION ============ */
.ambition{background:var(--ink);color:var(--paper);min-height:115vh;padding:clamp(70px,10vw,120px) var(--gutter);position:relative}
.ambition__lockup{max-width:1100px}
.ambition__lead{font:600 var(--fs-h1)/1.1 var(--display);letter-spacing:-.02em;margin:0 0 30px}
.ambition__lead .split-line span{color:var(--muted-light)}
.ambition p{max-width:640px;color:var(--muted-light);font-size:var(--fs-body-lg);margin:0 0 40px}
.ambition .eyebrow{color:var(--muted-light)}
.ambition__words{display:flex;flex-wrap:wrap;gap:clamp(16px,3vw,40px);font:500 var(--fs-h1) var(--display);letter-spacing:-.03em;margin-top:36px}
.ambition__words span{opacity:.22;transition:opacity .5s var(--ease-out)}
.ambition__words span.is-lit{opacity:1;color:var(--acid)}

/* ============ ACT 3 — ARCON ROLE ============ */
.role{background:var(--ink);color:var(--paper);padding:0 var(--gutter) clamp(80px,11vw,140px);display:flex;flex-direction:column;align-items:flex-start;gap:26px}
.role .eyebrow{color:var(--muted-light)}
.role h2{font:600 var(--fs-h1)/1.12 var(--display);letter-spacing:-.02em;margin:0;max-width:820px}
.role h2 em{font-style:normal;color:var(--acid)}
.role p{max-width:560px;font-size:var(--fs-body-lg);color:var(--muted-light);line-height:1.45}

/* ============ ACT 4 — ECOSYSTEM ============ */
.ecosystem{padding:var(--section-pad) var(--gutter) calc(var(--section-pad) * .5)}
.ecosystem__heading{max-width:700px;margin-bottom:clamp(40px,5vw,64px)}
.ecosystem__heading h2{font:600 var(--fs-h2)/1.1 var(--display);letter-spacing:-.02em;margin:0 0 16px}
.ecosystem__heading p{font-size:var(--fs-body-lg);color:var(--muted);max-width:520px}
.eco-rail{display:grid;grid-template-columns:repeat(4,1fr);gap:0}
.eco-card{position:relative;border:1px solid var(--line);border-left:none;padding:30px 24px;min-height:340px;display:flex;flex-direction:column;justify-content:space-between;overflow:hidden;text-decoration:none;color:var(--ink);background:var(--paper)}
.eco-card:first-child{border-left:1px solid var(--line)}
.eco-card__layer{position:absolute;inset:0;z-index:0;opacity:.5;pointer-events:none}
.eco-card__num{font:13px var(--mono);position:relative;z-index:1}
.eco-card__body{position:relative;z-index:1}
.eco-card h3{font:600 var(--fs-h3);letter-spacing:-.02em;margin:0 0 8px}
.eco-card__tag{display:block;font:13px var(--mono);text-transform:uppercase;color:var(--muted);margin-bottom:12px}
.eco-card p{font-size:14px;color:var(--muted);max-height:0;opacity:0;overflow:hidden;transition:max-height .5s var(--ease-out),opacity .4s ease}
.eco-card:hover p,.eco-card:focus-visible p{max-height:120px;opacity:1;margin-top:10px}
.eco-card__arrow{display:inline-flex;align-items:center;gap:8px;font:13px var(--mono);text-transform:uppercase;position:relative;z-index:1}
.eco-card__arrow span{transition:transform .4s var(--ease-out)}
.eco-card:hover .eco-card__arrow span{transform:translate(6px,-6px)}
.eco-card--ca{background:var(--forest);color:var(--paper)}
.eco-card--plastic{background:var(--paper);color:var(--ink);border-top:3px solid var(--acid)}
.eco-card--plastic .eco-card__tag{color:var(--forest)}
.eco-card--funding{background:var(--ink);color:var(--paper)}
.eco-card--technology{background:var(--navy);color:var(--paper)}

/* ============ ACT 5 — PARTNERS ============ */
.partners{background:var(--forest-soft);color:var(--paper);padding:clamp(56px,7vw,96px) 0;overflow:hidden}
.partners__head{padding:0 var(--gutter);margin-bottom:40px;max-width:640px}
.partners__head h2{font:600 var(--fs-h2)/1.1;letter-spacing:-.02em;margin:0 0 14px}
.partners__head p{color:var(--muted-light);font-size:var(--fs-body)}
.partners__rail{display:flex;gap:0;white-space:nowrap;animation:marquee 16s linear infinite}
.partners__rail div{padding:22px clamp(26px,4vw,52px);font:500 clamp(1.15rem,2vw,1.5rem) var(--display);letter-spacing:-.01em;border-right:1px solid var(--line-light);opacity:.75;transition:opacity .35s ease,transform .35s ease}
.partners__rail div:hover{opacity:1;transform:translateY(-3px)}

/* ============ ACT 6 — CLIENTS ============ */
.clients{padding:var(--section-pad) var(--gutter)}
.clients__heading{max-width:700px;margin-bottom:clamp(40px,5vw,64px)}
.clients__heading h2{font:600 var(--fs-h2)/1.1 var(--display);letter-spacing:-.02em;margin:0 0 16px}
.clients__heading p{color:var(--muted);max-width:480px;font-size:var(--fs-body-lg)}
.client-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.client-card{background:#e9e5dc;transition:transform .5s var(--ease-out)}
.client-card:hover{transform:translateY(-8px)}
.client-art{aspect-ratio:1.3;background:var(--forest);display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden}
.client-art span{font:600 clamp(3.4rem,7vw,6rem)/1 var(--display);letter-spacing:-.08em;color:var(--acid);transform:rotate(-10deg);transition:transform .7s var(--ease-out)}
.client-card:hover .client-art span{transform:rotate(6deg) scale(1.08)}
.client-art small{position:absolute;top:16px;left:16px;color:var(--acid);font:13px var(--mono)}
.client-card--amma .client-art{background:var(--clay)}
.client-card--amma .client-art span{color:#f6d7a0;font-size:clamp(3.6rem,7.5vw,6.4rem);letter-spacing:-.1em}
.client-card--catalyst .client-art{background:var(--navy)}
.client-card--catalyst .client-art span{color:#e3ebff;font-size:clamp(4rem,8vw,7rem)}
.client-card__info{padding:22px;position:relative}
.client-card__info>span{font:13px var(--mono);text-transform:uppercase;color:var(--muted)}
.client-card h3{font:600 var(--fs-h3)/1.1 var(--display);letter-spacing:-.02em;margin:14px 0}
.client-card p{font-size:14px;line-height:1.5;max-width:360px}

/* ============ ACT 7 — EXPERIENCE ============ */
.experience{background:var(--forest);color:var(--paper);overflow:hidden;display:flex;flex-direction:column;justify-content:center;gap:0;position:relative;padding:24px 0}
.experience__row{display:flex;align-items:center;justify-content:space-between;padding:22px var(--gutter);border-top:1px solid var(--line-light)}
.experience__row:last-child{border-bottom:1px solid var(--line-light)}
.experience__row strong{font:500 clamp(3.2rem,7.6vw,6.6rem)/1 var(--display);letter-spacing:-.02em;color:var(--acid)}
.experience__row span{font:15px var(--mono);text-transform:uppercase;max-width:200px;text-align:right;color:var(--muted-light)}

/* ============ ACT 8 — APPROACH ============ */
.approach{padding:var(--section-pad) var(--gutter)}
.statement{font:600 var(--fs-h1)/1.15 var(--display) !important;letter-spacing:-.02em;max-width:900px;margin:0 0 28px}
.statement em{font-style:normal;color:var(--acid-deep)}
.approach__support{max-width:520px;color:var(--muted);font-size:var(--fs-body-lg)}

/* ============ ACT 9 — CTA ============ */
.final-cta{background:var(--ink);color:var(--paper);padding:var(--section-pad) var(--gutter);position:relative;overflow:hidden}
.final-cta h2{font:600 var(--fs-h1)/1.1 var(--display);letter-spacing:-.02em;margin:0 0 24px}
.final-cta h2 em{font-style:normal;color:var(--acid)}
.final-cta p{max-width:480px;color:var(--muted-light);font-size:var(--fs-body-lg);margin:0 0 36px}
.final-cta__actions{display:flex;gap:16px;flex-wrap:wrap;position:relative;z-index:1}
.final-cta__mark{position:absolute;right:4%;bottom:10%;font:700 clamp(5rem,13vw,13rem)/1 var(--display);letter-spacing:-.1em;color:var(--forest-soft);opacity:.5;z-index:0;pointer-events:none}

@keyframes spin-slow{to{transform:rotate(360deg)}}

@media(max-width:900px){
  .eco-rail{grid-template-columns:1fr}
  .eco-card,.eco-card:first-child{border-left:1px solid var(--line);border-top:none}
  .eco-card:first-child{border-top:1px solid var(--line)}
  .client-grid{grid-template-columns:1fr}
  .experience__row strong{font-size:clamp(2.6rem,14vw,4.5rem)}
}

@media(max-width:800px){
  .hero{padding:130px 24px 90px;min-height:auto}
  .hero__topline{top:88px;gap:12px;flex-wrap:wrap}
  .hero__topline span:nth-child(n+3){display:none}
  .hero__copy{width:100%}
  .hero__visual{position:relative;right:auto;bottom:auto;width:70vw;margin:50px auto 0}
  .hero__scroll{display:none}
  .ambition{min-height:auto}
  .ambition__lockup{position:static}
  .role{padding-bottom:70px}
  .final-cta__mark{display:none}
}
