@font-face { font-family: 'Instrument Serif'; font-style: italic; font-weight: 400; font-display: swap; src: url(fonts/instrument-serif-latin-ext.woff2) format('woff2'); unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF; }
@font-face { font-family: 'Instrument Serif'; font-style: italic; font-weight: 400; font-display: swap; src: url(fonts/instrument-serif-latin.woff2) format('woff2'); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: 'Inter Tight'; font-style: normal; font-weight: 300 700; font-display: swap; src: url(fonts/inter-tight-latin-ext.woff2) format('woff2'); unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF; }
@font-face { font-family: 'Inter Tight'; font-style: normal; font-weight: 300 700; font-display: swap; src: url(fonts/inter-tight-latin.woff2) format('woff2'); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
/* ============ ForsiM — tokens ============ */
:root{
  --ink:#0b0d10;
  --ink-2:#12151a;
  --ink-3:#1b1f26;
  --paper:#f2ede3;
  --paper-2:#e8e1d3;
  --mute:#8b8f97;
  --line:rgba(255,255,255,.12);
  --line-d:rgba(11,13,16,.14);
  --sun:#ffb21a;
  --sun-2:#ff7a00;
  --sun-grad:linear-gradient(120deg,#ffd166 0%,#ffb21a 40%,#ff7a00 100%);
  --sans:"Inter Tight",system-ui,-apple-system,sans-serif;
  --serif:"Instrument Serif",Georgia,serif;
  --ease:cubic-bezier(.22,1,.36,1);
  --pad:clamp(16px,4vw,64px);
  --radius:22px;
}

*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
html.lenis,html.lenis body{height:auto}
.lenis.lenis-smooth{scroll-behavior:auto!important}
body{margin:0;background:var(--ink);color:var(--paper);font-family:var(--sans);font-size:17px;line-height:1.55;-webkit-font-smoothing:antialiased;overflow-x:hidden}
body.is-loading{overflow:hidden}
img,video,svg{display:block;max-width:100%}
img{height:auto}
a{color:inherit;text-decoration:none}
button{font:inherit;color:inherit;background:none;border:0;cursor:pointer}
h1,h2,h3,p{margin:0}
.serif{font-family:var(--serif);font-style:italic;font-weight:400;letter-spacing:-.01em}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
::selection{background:var(--sun);color:var(--ink)}

.eyebrow{font-size:13px;letter-spacing:.14em;text-transform:uppercase;color:var(--mute);display:flex;align-items:center;gap:10px}
.eyebrow .dot{width:8px;height:8px;border-radius:50%;background:var(--sun);box-shadow:0 0 0 0 rgba(255,178,26,.7);animation:pulse 2.2s infinite}
@keyframes pulse{70%{box-shadow:0 0 0 12px rgba(255,178,26,0)}100%{box-shadow:0 0 0 0 rgba(255,178,26,0)}}
.h2{font-size:clamp(38px,6vw,92px);line-height:.98;letter-spacing:-.035em;font-weight:600}
.h2 .serif{color:var(--sun)}
.lead{font-size:clamp(17px,1.4vw,20px);color:#c9c5bc;max-width:52ch}
.section-head{display:grid;gap:22px;padding:0 var(--pad);margin-bottom:clamp(40px,6vw,90px)}

/* ============ Grain ============ */
.grain{position:fixed;inset:-50%;z-index:90;pointer-events:none;opacity:.06;
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='160' height='160'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3' stitchTiles='stitch'/></filter><rect width='100%' height='100%' filter='url(%23n)'/></svg>");
  animation:grain 1s steps(6) infinite}
@keyframes grain{0%,100%{transform:translate(0,0)}20%{transform:translate(-5%,3%)}40%{transform:translate(4%,-4%)}60%{transform:translate(-3%,5%)}80%{transform:translate(5%,2%)}}

/* ============ Preloader ============ */
.loader{position:fixed;inset:0;z-index:200;background:var(--ink);display:grid;place-items:center;overflow:hidden}
.loader__sun{position:absolute;left:50%;top:50%;width:min(38vw,340px);aspect-ratio:1;border-radius:50%;
  background:radial-gradient(circle at 50% 50%,#fff3c4 0%,#ffc23d 30%,#ff7a00 62%,rgba(255,122,0,0) 72%);
  transform:translate(-50%,40%);filter:blur(2px)}
.loader__horizon{position:absolute;left:0;right:0;top:50%;height:50%;background:var(--ink);border-top:1px solid var(--line)}
.loader__count{position:absolute;bottom:var(--pad);right:var(--pad);font-size:clamp(48px,9vw,140px);font-weight:600;letter-spacing:-.05em;line-height:1;font-variant-numeric:tabular-nums}
.loader__word{position:absolute;bottom:var(--pad);left:var(--pad);font-size:22px;font-weight:600;letter-spacing:-.02em}
.loader__word em,.logo b{font-family:var(--serif);font-weight:400;color:var(--sun);font-style:italic}

/* ============ Cursor ============ */
.cursor{position:fixed;inset:0;pointer-events:none;z-index:150;display:none}
@media (hover:hover) and (pointer:fine){ .cursor{display:block} body, a, button, input{cursor:none} }
.cursor__dot,.cursor__ring,.cursor__glow{position:fixed;left:0;top:0;border-radius:50%;will-change:transform}
.cursor__dot{width:6px;height:6px;margin:-3px 0 0 -3px;background:var(--sun)}
.cursor__ring{width:40px;height:40px;margin:-20px 0 0 -20px;border:1px solid rgba(255,178,26,.6);display:grid;place-items:center;
  transition:width .45s var(--ease),height .45s var(--ease),margin .45s var(--ease),background .3s,border-color .3s}
.cursor__label{font-size:12px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--ink);opacity:0;transition:opacity .2s}
.cursor__glow{width:520px;height:520px;margin:-260px 0 0 -260px;background:radial-gradient(circle,rgba(255,178,26,.13),rgba(255,122,0,.05) 35%,transparent 65%);mix-blend-mode:screen}
.cursor.is-hover .cursor__ring{width:70px;height:70px;margin:-35px 0 0 -35px;border-color:var(--sun);background:rgba(255,178,26,.08)}
.cursor.is-label .cursor__ring{width:96px;height:96px;margin:-48px 0 0 -48px;background:var(--sun);border-color:var(--sun)}
.cursor.is-label .cursor__label{opacity:1}
.cursor.is-label .cursor__dot{opacity:0}
.cursor.is-light .cursor__glow{opacity:0}

/* ============ Nav ============ */
.nav{position:fixed;top:0;left:0;right:0;z-index:100;display:flex;align-items:center;gap:32px;padding:18px var(--pad);
  transition:transform .6s var(--ease),background .4s,backdrop-filter .4s}
.nav.is-scrolled{background:rgba(11,13,16,.6);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border-bottom:1px solid var(--line)}
.nav.is-hidden{transform:translateY(-110%)}
.logo{display:flex;align-items:center;gap:10px;font-size:22px;font-weight:600;letter-spacing:-.03em;margin-right:auto}
.logo__mark{width:28px;height:28px;color:var(--sun);transition:transform 1.2s var(--ease)}
.logo:hover .logo__mark{transform:rotate(180deg)}
.nav__links{display:flex;gap:28px;font-size:15px}
.nav__links a{position:relative;opacity:.8;transition:opacity .3s}
.nav__links a::after{content:"";position:absolute;left:0;bottom:-4px;width:100%;height:1px;background:var(--sun);transform:scaleX(0);transform-origin:right;transition:transform .5s var(--ease)}
.nav__links a:hover{opacity:1}
.nav__links a:hover::after{transform:scaleX(1);transform-origin:left}
.nav__burger{display:none;width:44px;height:44px;position:relative}
.nav__burger span{position:absolute;left:10px;right:10px;height:2px;background:var(--paper);transition:transform .4s var(--ease)}
.nav__burger span:first-child{top:17px}.nav__burger span:last-child{top:25px}
.nav__burger[aria-expanded=true] span:first-child{transform:translateY(4px) rotate(45deg)}
.nav__burger[aria-expanded=true] span:last-child{transform:translateY(-4px) rotate(-45deg)}
.mnav{position:fixed;inset:0;z-index:99;background:var(--ink);display:flex;flex-direction:column;justify-content:center;gap:6px;padding:0 var(--pad);
  clip-path:circle(0% at 100% 0%);transition:clip-path .8s var(--ease)}
.mnav.is-open{clip-path:circle(150% at 100% 0%)}
.mnav a{font-size:clamp(40px,11vw,64px);font-weight:600;letter-spacing:-.04em;line-height:1.1}
.mnav .mnav__mail{font-size:18px;color:var(--sun);margin-top:28px;font-weight:500;letter-spacing:0}

/* ============ Buttons ============ */
.btn{position:relative;display:inline-flex;align-items:center;gap:10px;padding:12px 20px;border-radius:999px;font-weight:500;font-size:15px;overflow:hidden;isolation:isolate;white-space:nowrap}
.btn--lg{padding:18px 30px;font-size:17px}
.btn--sun{background:var(--sun);color:var(--ink)}
.btn--sun::before{content:"";position:absolute;inset:0;z-index:-1;background:var(--paper);transform:translateY(101%);border-radius:50% 50% 0 0;transition:transform .6s var(--ease),border-radius .6s var(--ease)}
.btn--sun:hover::before{transform:translateY(0);border-radius:0}
.btn--ghost{border:1px solid rgba(255,255,255,.35);backdrop-filter:blur(8px)}
.btn--ghost::before{content:"";position:absolute;inset:0;z-index:-1;background:var(--paper);transform:scale(0);border-radius:50%;transition:transform .6s var(--ease)}
.btn--ghost:hover{color:var(--ink)}
.btn--ghost:hover::before{transform:scale(1.5)}
.btn__arrow{font-style:normal;transition:transform .4s var(--ease)}
.btn:hover .btn__arrow{transform:translateX(4px) rotate(-45deg)}

/* ============ Hero ============ */
.hero{position:relative;min-height:100svh;display:flex;align-items:flex-end;overflow:hidden}
.hero__media{position:absolute;inset:0}
.hero__video{position:relative;width:100%;height:100%;transform:scale(1.12)}
.hero__video img,.hero__video video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.hero__video video{opacity:0;transition:opacity 1.2s ease}
.hero__video video.is-ready{opacity:1}
.hero__shade{position:absolute;inset:0;background:
  linear-gradient(180deg,rgba(11,13,16,.55) 0%,rgba(11,13,16,0) 30%,rgba(11,13,16,.15) 55%,rgba(11,13,16,.92) 100%),
  radial-gradient(ellipse at 80% 20%,rgba(255,122,0,.18),transparent 55%)}
.hero__inner{position:relative;z-index:2;width:100%;padding:0 var(--pad) clamp(40px,7vh,90px)}
.hero__eyebrow{color:#ddd8cd;margin-bottom:24px}
.hero__title{font-size:clamp(52px,11.5vw,210px);line-height:.88;letter-spacing:-.055em;font-weight:600}
.hero__title .line{display:block;overflow:hidden;padding:.1em 0 .06em;margin-top:-.1em}
.hero__title .word{display:inline-block;will-change:transform}
.hero__title .serif{color:var(--sun);letter-spacing:-.03em}
.hero__bottom{display:flex;justify-content:space-between;align-items:flex-end;gap:32px;margin-top:clamp(28px,4vw,48px);flex-wrap:wrap}
.hero__lead{max-width:46ch;font-size:clamp(16px,1.3vw,19px);color:#ddd8cd}
.hero__ctas{display:flex;gap:12px;flex-wrap:wrap}
.hero__scroll{position:absolute;right:var(--pad);top:50%;z-index:2;display:flex;flex-direction:column;align-items:center;gap:12px;font-size:11px;letter-spacing:.2em;text-transform:uppercase;writing-mode:vertical-rl;color:#cfcac0}
.hero__scroll i{display:block;width:1px;height:70px;background:linear-gradient(var(--sun),transparent);animation:drip 2s var(--ease) infinite;transform-origin:top}
@keyframes drip{0%{transform:scaleY(0)}50%{transform:scaleY(1);transform-origin:top}51%{transform-origin:bottom}100%{transform:scaleY(0);transform-origin:bottom}}

.sunwidget{position:absolute;z-index:3;top:clamp(90px,14vh,140px);right:var(--pad);display:flex;gap:14px;align-items:center;padding:12px 18px 12px 14px;border:1px solid var(--line);border-radius:18px;background:rgba(11,13,16,.35);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)}
.sunwidget__arc{width:84px;color:var(--paper)}
.sunwidget__sun{fill:var(--sun);filter:drop-shadow(0 0 6px var(--sun))}
.sunwidget__k{font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--mute)}
.sunwidget__v{font-size:15px}
.sunwidget__v b{color:var(--sun);font-weight:600}

/* ============ Manifesto ============ */
.manifesto{padding:clamp(100px,16vw,220px) var(--pad);display:grid;grid-template-columns:1.4fr 1fr;gap:clamp(32px,6vw,100px);align-items:end}
.manifesto .eyebrow{grid-column:1/-1}
.manifesto__text{font-size:clamp(30px,4.2vw,66px);line-height:1.08;letter-spacing:-.03em;font-weight:500}
.manifesto__text em{font-family:var(--serif);font-weight:400;color:var(--sun)}
.manifesto__text .w{opacity:.14;transition:none}
.manifesto__img{border-radius:var(--radius);overflow:hidden;aspect-ratio:1}
.parallax-wrap{overflow:hidden}
.parallax{width:100%;height:118%;object-fit:cover;will-change:transform}

/* ============ Services list ============ */
.services{padding:clamp(80px,10vw,140px) 0;background:var(--paper);color:var(--ink);position:relative;border-radius:40px 40px 0 0}
.services .eyebrow{color:#6b6760}
.services .h2 .serif{color:var(--sun-2)}
.slist{list-style:none;margin:0;padding:0 var(--pad)}
.slist__item{display:grid;grid-template-columns:80px 1.2fr 1fr;cursor:default;gap:24px;align-items:center;padding:clamp(24px,3vw,40px) 0;border-top:1px solid var(--line-d);position:relative;transition:padding .6s var(--ease)}
.slist__item:last-child{border-bottom:1px solid var(--line-d)}
.slist__item::before{content:"";position:absolute;inset:0;background:var(--ink);transform:scaleY(0);transform-origin:bottom;transition:transform .6s var(--ease);z-index:0}
.slist__item > *{position:relative;z-index:1;transition:color .4s,transform .6s var(--ease)}
.slist__no{font-size:14px;color:#6b6760;font-variant-numeric:tabular-nums}
.slist__title{font-size:clamp(30px,4.4vw,68px);font-weight:600;letter-spacing:-.04em;line-height:1}
.slist__desc{color:#55524c;max-width:44ch;font-size:16px}
@media (hover:hover){
  .slist__item:hover::before{transform:scaleY(1);transform-origin:top}
  .slist__item:hover > *{color:var(--paper)}
  .slist__item:hover .slist__no{color:var(--sun)}
  .slist__item:hover .slist__title{transform:translateX(24px)}
  .slist__item:hover .slist__desc{color:#bdb8ae}
}
/* ============ Data dashboard ============ */
.dash{background:var(--paper);color:var(--ink);padding:clamp(40px,6vw,80px) var(--pad) clamp(100px,12vw,180px)}
.dash__head{display:grid;grid-template-columns:1.2fr 1fr;gap:22px clamp(32px,6vw,100px);align-items:end;margin-bottom:clamp(40px,5vw,72px)}
.dash__head .eyebrow{grid-column:1/-1;color:#6b6760}
.dash .h2 .serif{color:var(--sun-2)}
.dash__lead{color:#55524c;font-size:clamp(16px,1.3vw,19px);max-width:48ch}
.dash__panel{background:var(--ink);color:var(--paper);border-radius:28px;padding:clamp(18px,2.4vw,32px);box-shadow:0 40px 80px -40px rgba(11,13,16,.45)}
.dash__bar{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap;font-size:13px;color:var(--mute);margin-bottom:18px}
.dash__live{display:flex;align-items:center;gap:10px;color:var(--paper);font-weight:500}
.dash__live i{width:8px;height:8px;border-radius:50%;background:#3ddc84;box-shadow:0 0 0 0 rgba(61,220,132,.6);animation:pulseG 2s infinite}
@keyframes pulseG{70%{box-shadow:0 0 0 10px rgba(61,220,132,0)}100%{box-shadow:0 0 0 0 rgba(61,220,132,0)}}
.dash__legend{display:flex;align-items:center;gap:8px}
.lg{display:inline-block;width:22px;height:0;border-top:2px dashed rgba(255,255,255,.5);margin-left:12px}
.lg--act{border-top:3px solid var(--sun)}
.dash__chart{position:relative;border:1px solid var(--line);border-radius:18px;padding:18px 18px 34px;background:linear-gradient(180deg,var(--ink-2),var(--ink))}
.dash__svg{width:100%;height:clamp(200px,28vw,340px);overflow:visible}
.dash__grid line{stroke:rgba(255,255,255,.07)}
.dash__zone{fill:rgba(255,90,60,.1);stroke:rgba(255,90,60,.4);stroke-dasharray:4 4}
.dash__exp{stroke:rgba(255,255,255,.45);stroke-width:2;stroke-dasharray:6 6;vector-effect:non-scaling-stroke}
.dash__act{stroke:var(--sun);stroke-width:3;vector-effect:non-scaling-stroke;filter:drop-shadow(0 0 8px rgba(255,178,26,.5))}
.dash__marker .ring{fill:none;stroke:#ff5a3c;stroke-width:2;animation:ping 1.8s infinite;transform-box:fill-box;transform-origin:center}
.dash__marker .core{fill:#ff5a3c}
@keyframes ping{0%{transform:scale(.6);opacity:1}100%{transform:scale(1.8);opacity:0}}
.dash__alert{position:absolute;right:clamp(16px,3vw,36px);top:clamp(16px,2vw,28px);background:rgba(11,13,16,.8);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border:1px solid rgba(255,90,60,.45);border-radius:14px;padding:14px 18px;max-width:280px}
.dash__alert .k{font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:#ff8a6c}
.dash__alert .v{font-size:22px;font-weight:600;letter-spacing:-.02em;margin-top:4px}
.dash__alert .s{font-size:14px;color:#aaa69d;margin-top:2px}
.dash__axis{position:absolute;left:18px;right:18px;bottom:10px;display:flex;justify-content:space-between;font-size:11px;color:var(--mute);font-variant-numeric:tabular-nums}
.dash__cross{stroke:rgba(255,255,255,.3);stroke-width:1;vector-effect:non-scaling-stroke;opacity:0;transition:opacity .2s}
.dash__tip{position:absolute;left:0;top:0;pointer-events:none;transform:translate(14px,-50%);margin:0;background:var(--paper);color:var(--ink);border-radius:10px;padding:8px 12px;font-size:13px;display:grid;gap:2px;opacity:0;transition:opacity .2s;white-space:nowrap;z-index:3}
.dash__tip .a{color:var(--sun-2);font-weight:600}
.dash__chart.is-hover .dash__cross,.dash__chart.is-hover .dash__tip{opacity:1}
.dash__tiles{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:14px}
.tile{border:1px solid var(--line);border-radius:18px;padding:22px;transition:border-color .4s,transform .6s var(--ease)}
.tile:hover{border-color:rgba(255,178,26,.5);transform:translateY(-4px)}
.tile .k{font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--mute)}
.tile .v{font-size:clamp(26px,2.6vw,38px);font-weight:600;letter-spacing:-.03em;margin-top:6px;font-variant-numeric:tabular-nums}
.tile .s{color:#aaa69d;font-size:14px;margin-top:4px}
.tile--sun{background:var(--sun);color:var(--ink);border-color:var(--sun)}
.tile--sun .k,.tile--sun .s{color:rgba(11,13,16,.7)}
.dash__note{margin-top:16px;font-size:13px;color:#6b6760}

/* ============ Process ============ */
.process{background:var(--ink);padding:clamp(100px,12vw,180px) var(--pad)}
.process__head{display:grid;grid-template-columns:1.3fr 1fr;gap:22px clamp(32px,6vw,100px);align-items:end;margin-bottom:clamp(56px,7vw,100px)}
.process__head .eyebrow{grid-column:1/-1}
.process__lead{color:#aaa69d;font-size:clamp(16px,1.3vw,19px);max-width:42ch}
.steps-wrap{position:relative}
.steps{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(5,1fr);gap:clamp(16px,2vw,32px);position:relative}
.steps__line{position:absolute;left:28px;right:28px;top:28px;height:1px;background:var(--line)}
.steps__line i{position:absolute;inset:0;background:var(--sun);transform-origin:left;opacity:.7}
.step{position:relative;display:grid;gap:12px;align-content:start}
.step__icon{width:56px;height:56px;border-radius:50%;border:1px solid rgba(255,178,26,.55);background:var(--ink);display:grid;place-items:center;color:var(--sun);position:relative;z-index:1;transition:background .4s,color .4s}
.step__icon svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.step:hover .step__icon{background:var(--sun);color:var(--ink)}
.step__no{font-size:13px;color:var(--mute);letter-spacing:.1em;margin-top:14px;font-variant-numeric:tabular-nums}
.step__title{font-size:clamp(20px,1.7vw,26px);font-weight:600;letter-spacing:-.025em;line-height:1.15}
.step__text{color:#aaa69d;font-size:15px;max-width:30ch}
.steps__phases{display:grid;grid-template-columns:3fr 2fr;gap:clamp(16px,2vw,32px);margin-top:40px;font-size:12px;letter-spacing:.12em;text-transform:uppercase}
.ph{padding-top:12px;border-top:1px solid var(--line);color:var(--mute)}
.ph--ongoing{border-top:2px solid var(--sun);color:var(--sun)}

/* ============ Care ============ */
.care{display:grid;grid-template-columns:1fr 1.1fr;gap:clamp(40px,7vw,120px);padding:clamp(100px,14vw,200px) var(--pad);align-items:center}
.care__media{position:relative}
.clip-reveal{border-radius:var(--radius);overflow:hidden;aspect-ratio:4/5;clip-path:inset(100% 0 0 0 round 22px)}
.care__badge{position:absolute;right:-40px;bottom:-40px;width:170px;height:170px;display:grid;place-items:center;background:var(--sun);color:var(--ink);border-radius:50%}
.care__badge-ring{position:absolute;inset:0;animation:spin 18s linear infinite}
.care__badge-ring text{font-size:15px;font-weight:600;letter-spacing:.2em;fill:var(--ink)}
.care__badge-core{font-size:40px}
@keyframes spin{to{transform:rotate(360deg)}}
.care__body{display:grid;gap:28px}
.checks{list-style:none;padding:0;margin:12px 0 0;display:grid;gap:0}
.checks li{display:grid;grid-template-columns:220px 1fr;gap:20px;padding:20px 0;border-top:1px solid var(--line)}
.checks b{font-weight:600;font-size:18px;display:flex;gap:10px;align-items:baseline}
.checks b::before{content:"";width:8px;height:8px;border-radius:50%;background:var(--sun);flex:none;transform:translateY(-2px)}
.checks span{color:#aaa69d}

/* ============ Audience ============ */
.audience{display:grid;grid-template-columns:1fr 1fr;gap:20px;padding:0 var(--pad) clamp(100px,12vw,180px)}
.acard{position:relative;border-radius:var(--radius);overflow:hidden;min-height:clamp(420px,60vh,640px);display:flex;align-items:flex-end;isolation:isolate}
.acard img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2;transition:transform 1.4s var(--ease),filter .8s}
.acard::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,transparent 30%,rgba(11,13,16,.9))}
.acard:hover img{transform:scale(1.07);filter:saturate(1.15)}
.acard__body{padding:clamp(24px,3vw,40px);display:grid;gap:12px;width:100%}
.acard__body .eyebrow{color:var(--sun)}
.acard h3{font-size:clamp(30px,3.4vw,52px);letter-spacing:-.035em;line-height:1;font-weight:600}
.acard h3 .serif{color:var(--sun)}
.acard p{color:#cfcac0;max-width:44ch}
.acard__go{position:absolute;top:24px;right:24px;width:56px;height:56px;border-radius:50%;display:grid;place-items:center;font-size:22px;background:rgba(255,255,255,.12);backdrop-filter:blur(10px);transition:transform .6s var(--ease),background .4s,color .4s}
.acard:hover .acard__go{transform:rotate(-45deg);background:var(--sun);color:var(--ink)}

/* ============ Day simulator ============ */
.day{position:relative;min-height:100svh;overflow:hidden;display:flex;align-items:center;--sky1:#0b1530;--sky2:#223a6b}
.day::before{content:"";position:absolute;left:0;right:0;top:0;height:160px;z-index:1;background:linear-gradient(var(--ink),transparent);pointer-events:none}
.day__sky{position:absolute;inset:0;background:linear-gradient(180deg,var(--sky1),var(--sky2));transition:background .2s}
.day__stars{position:absolute;inset:0;opacity:var(--stars,0);background-image:radial-gradient(1px 1px at 10% 20%,#fff,transparent),radial-gradient(1px 1px at 30% 10%,#fff,transparent),radial-gradient(1.5px 1.5px at 55% 25%,#fff,transparent),radial-gradient(1px 1px at 70% 8%,#fff,transparent),radial-gradient(1px 1px at 85% 30%,#fff,transparent),radial-gradient(1px 1px at 20% 40%,#fff,transparent),radial-gradient(1.5px 1.5px at 92% 15%,#fff,transparent),radial-gradient(1px 1px at 45% 5%,#fff,transparent)}
.day__inner{position:relative;width:100%;padding:clamp(90px,12vh,140px) var(--pad) 60px;display:grid;gap:24px}
.day__head{display:grid;gap:18px}
.day__head .eyebrow{color:rgba(255,255,255,.65)}
.day__stage{width:100%;max-width:1200px;margin:0 auto}
.day__svg{width:100%;height:auto;overflow:visible}
.day__arc{stroke:rgba(255,255,255,.25);stroke-dasharray:3 7}
.day__curve{stroke:var(--sun);stroke-width:3}
.day__ground{stroke:rgba(255,255,255,.4)}
.house-body{fill:#0b0d10;stroke:rgba(255,255,255,.4)}
.house-roof{fill:none;stroke:rgba(255,255,255,.55);stroke-width:2}
.house-panels path{fill:none;stroke:#35507f;stroke-width:3;transition:stroke .3s}
.house-panels path:first-child{stroke-width:8;stroke:#1d2c4c}
.house-win{fill:#1a1d24;transition:fill .3s}
.day.is-producing .house-panels path{stroke:var(--sun)}
.day.is-night .house-win{fill:#ffcf6b}
.day__ui{display:grid;grid-template-columns:1.3fr 2fr;gap:32px;align-items:center;max-width:1200px;margin:0 auto;width:100%}
.day__range input{width:100%;-webkit-appearance:none;appearance:none;background:transparent;height:40px}
.day__range input::-webkit-slider-runnable-track{height:2px;background:rgba(255,255,255,.35)}
.day__range input::-moz-range-track{height:2px;background:rgba(255,255,255,.35)}
.day__range input::-webkit-slider-thumb{-webkit-appearance:none;width:34px;height:34px;border-radius:50%;background:var(--sun);margin-top:-16px;box-shadow:0 0 24px 6px rgba(255,178,26,.5);border:4px solid #fff3c4}
.day__range input::-moz-range-thumb{width:28px;height:28px;border-radius:50%;background:var(--sun);border:4px solid #fff3c4;box-shadow:0 0 24px 6px rgba(255,178,26,.5)}
.day__readout{display:grid;grid-template-columns:auto auto 1fr;gap:clamp(20px,4vw,56px)}
.day__readout .k{font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:rgba(255,255,255,.6)}
.day__readout .v{font-size:clamp(28px,3.4vw,48px);font-weight:600;letter-spacing:-.04em;font-variant-numeric:tabular-nums}
.day__readout .v--sm{font-size:clamp(16px,1.4vw,19px);font-weight:500;letter-spacing:0;line-height:1.35;margin-top:6px}

/* ============ FAQ ============ */
.faq{padding:clamp(100px,14vw,200px) 0;background:var(--paper);color:var(--ink)}
.faq .eyebrow{color:#6b6760}
.faq .h2 .serif{color:var(--sun-2)}
.faq__list{padding:0 var(--pad);max-width:1100px}
.qa{border-top:1px solid var(--line-d)}
.qa:last-child{border-bottom:1px solid var(--line-d)}
.qa summary{list-style:none;display:flex;justify-content:space-between;align-items:center;gap:24px;padding:28px 0;font-size:clamp(20px,2.2vw,30px);font-weight:500;letter-spacing:-.02em;transition:color .3s,padding .5s var(--ease)}
.qa summary::-webkit-details-marker{display:none}
.qa summary:hover{color:var(--sun-2);padding-left:12px}
.qa summary i{flex:none;width:40px;height:40px;border-radius:50%;border:1px solid var(--line-d);position:relative;transition:transform .5s var(--ease),background .3s}
.qa summary i::before,.qa summary i::after{content:"";position:absolute;left:50%;top:50%;width:14px;height:1.5px;background:currentColor;transform:translate(-50%,-50%)}
.qa summary i::after{transform:translate(-50%,-50%) rotate(90deg)}
.qa[open] summary i{transform:rotate(45deg);background:var(--sun);border-color:var(--sun);color:var(--ink)}
.qa__a{overflow:hidden}
.qa__a p{padding:0 0 30px;max-width:70ch;color:#55524c;font-size:17px}

/* ============ CTA ============ */
.cta{position:relative;min-height:100svh;display:flex;align-items:center;overflow:hidden}
.cta__bg{position:absolute;inset:0}
.cta__bg::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(11,13,16,.85),rgba(11,13,16,.55) 50%,rgba(11,13,16,.95))}
.cta__bg .parallax{height:125%}
.cta__inner{position:relative;padding:clamp(100px,14vw,180px) var(--pad);display:grid;gap:28px;width:100%}
.cta__title{font-size:clamp(46px,9vw,160px);line-height:.92;letter-spacing:-.05em;font-weight:600}
.cta__title .serif{color:var(--sun)}
.cta__mail{display:inline-block;justify-self:start;margin-top:24px;position:relative}
.cta__mail-txt{position:relative;display:inline-block;font-size:clamp(34px,7.4vw,130px);font-weight:600;letter-spacing:-.05em;line-height:1;color:transparent;-webkit-text-stroke:1.5px var(--paper)}
.cta__mail-txt::before{content:attr(data-text);position:absolute;inset:0;color:var(--sun);-webkit-text-stroke:0;clip-path:inset(0 100% 0 0);transition:clip-path .9s var(--ease)}
.cta__mail:hover .cta__mail-txt::before,.cta__mail:focus-visible .cta__mail-txt::before{clip-path:inset(0 0 0 0)}
.copy{justify-self:start;font-size:14px;color:var(--mute);border-bottom:1px solid currentColor;padding:2px 0;transition:color .3s}
.copy:hover{color:var(--sun)}

/* ============ Footer ============ */
.footer{padding:80px var(--pad) 28px;border-top:1px solid var(--line);overflow:hidden}
.footer__grid{display:grid;grid-template-columns:repeat(4,1fr);gap:32px;font-size:15px;color:#cfcac0}
.footer__k{font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--mute);margin-bottom:12px}
.footer a:hover{color:var(--sun)}
.footer__word{font-size:clamp(90px,24vw,420px);font-weight:600;letter-spacing:-.07em;line-height:.8;margin:60px 0 24px;color:transparent;-webkit-text-stroke:1px rgba(255,255,255,.35);text-align:center;white-space:nowrap}
.footer__word em{font-family:var(--serif);font-weight:400;-webkit-text-stroke:0;color:var(--sun)}
.footer__legal{display:flex;justify-content:space-between;font-size:13px;color:var(--mute)}

/* ============ Responsive ============ */
@media (max-width:1000px){
  .nav__links,.nav > .btn{display:none}
  .nav__burger{display:block}
  .manifesto{grid-template-columns:1fr}
  .process__head{grid-template-columns:1fr}
  .steps{grid-template-columns:1fr;gap:32px}
  .steps__line{left:28px;right:auto;top:28px;bottom:28px;width:1px;height:auto}
  .steps__line i{transform-origin:top}
  .step{grid-template-columns:56px 1fr;column-gap:20px;row-gap:4px}
  .step__icon{grid-row:1/4}
  .step__no{margin-top:4px}
  .steps__phases{display:none}
  .dash__head{grid-template-columns:1fr}
  .manifesto__img{aspect-ratio:16/10}
  .slist__item{grid-template-columns:48px 1fr}
  .slist__desc{grid-column:2}
  .dash__tiles{grid-template-columns:1fr}
  .dash__alert{position:relative;right:auto;top:auto;margin:14px 0 0;max-width:none}
  .dash__chart{padding-bottom:18px}
  .dash__axis{position:static;margin-top:6px}
  .care{grid-template-columns:1fr}
  .care__badge{right:12px;bottom:-40px;width:130px;height:130px}
  .care__badge-ring text{font-size:17px}
  .checks li{grid-template-columns:1fr;gap:6px}
  .audience{grid-template-columns:1fr}
  .day__ui{grid-template-columns:1fr}
  .footer__grid{grid-template-columns:1fr 1fr}
}
@media (max-width:640px){
  .grain{animation:none;inset:0}
  body{font-size:16px}
  .sunwidget{top:auto;bottom:auto;position:relative;display:none}
  .hero__scroll{display:none}
  .hero__ctas .btn--ghost{display:none}
  .day__readout{grid-template-columns:1fr 1fr}
  .day__readout > div:last-child{grid-column:1/-1}
  .day{min-height:auto}
}

@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation:none!important;transition:none!important}
  .clip-reveal{clip-path:none}
  .manifesto__text .w{opacity:1}
}
