:root{
  --ink:#14110d;
  --ivory:#f4efe7;
  --ember:#e2552c;
  --mint:#7fb3a5;
  --mint-deep:#2e5a4e;
  --ember-tint:#401c0f;
  --card:#1a1611;
  --ease:cubic-bezier(.16,1,.3,1);
  --disp:'Bricolage Grotesque Variable',system-ui,sans-serif;
  --body:'DM Sans Variable',system-ui,sans-serif;
  --mono:'DM Mono',ui-monospace,SFMono-Regular,Menlo,monospace;
  --gutter:clamp(2.6rem,9vw,9rem);
  --thread-x:clamp(1rem,4.5vw,4.5rem);
  --grain:url("/assets/grain.svg");
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
html,body{overflow-x:clip}
body{background:var(--ink);color:var(--ivory);font-family:var(--body);line-height:1.55;-webkit-font-smoothing:antialiased}
::selection{background:var(--ember);color:var(--ink)}
a{color:inherit}
:focus-visible{outline:2px solid var(--ember);outline-offset:3px}
.vh{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap}
.skip{position:absolute;left:-9999px;top:.6rem;z-index:500;background:var(--ember);color:var(--ink);padding:.7rem 1.1rem;font-family:var(--mono);font-size:.8rem;text-decoration:none}
.skip:focus{left:.6rem}
.disp{font-family:var(--disp);text-transform:uppercase;letter-spacing:-.03em;line-height:.95}
.grain::after{content:"";position:absolute;inset:0;background-image:var(--grain);background-size:180px 180px;opacity:.085;mix-blend-mode:soft-light;pointer-events:none;z-index:3}
.lite{background:var(--ivory);color:var(--ink)}
.lite::before{content:"";position:absolute;inset:0;background:radial-gradient(130% 100% at 48% 26%,transparent 46%,rgba(20,17,13,.095)),linear-gradient(105deg,rgba(255,255,255,.28),transparent 38%);pointer-events:none;z-index:2}
main{position:relative}
.thread{position:absolute;top:0;bottom:0;left:var(--thread-x);border-left:1px dashed rgba(127,179,165,.4);z-index:4;pointer-events:none}
.thread::before{content:"";position:sticky;display:block;top:50vh;width:.7rem;height:.7rem;margin-left:-.38rem;background:var(--ember);box-shadow:0 0 0 4px var(--ink),0 0 28px rgba(226,85,44,.26);transform:rotate(45deg)}
.sec{position:relative;padding:clamp(4.5rem,11vh,8.5rem) clamp(1.25rem,6vw,6rem) clamp(4.5rem,11vh,8.5rem) var(--gutter);scroll-margin-top:1.5rem}
.eyebrow{position:relative;z-index:5;display:flex;align-items:center;gap:.9rem;font-family:var(--mono);font-size:.72rem;letter-spacing:.22em;text-transform:uppercase;color:var(--mint);margin-bottom:clamp(1.6rem,4vh,3rem)}
.eyebrow::before{content:"";width:clamp(1.4rem,4.5vw,3.6rem);border-top:1px dashed currentColor}
.eyebrow .n{color:var(--ember)}
.lite .eyebrow{color:var(--mint-deep)}
.ghost{position:absolute;z-index:0;right:-.5rem;top:clamp(1rem,6vh,4rem);font-family:var(--disp);font-weight:800;font-size:clamp(9rem,28vw,24rem);line-height:1;letter-spacing:-.04em;color:var(--ivory);opacity:.05;pointer-events:none;user-select:none}
.lite .ghost{color:var(--ink);opacity:.05}
.rel{position:relative;z-index:5}

/* ---------- header ---------- */
.top{position:absolute;top:0;left:0;right:0;z-index:30;display:flex;flex-wrap:wrap;align-items:baseline;gap:.8rem 1.6rem;padding:1.15rem clamp(1.25rem,4vw,3rem)}
.brand{font-family:var(--disp);font-weight:800;font-size:1.08rem;letter-spacing:.05em;text-transform:uppercase;text-decoration:none;color:var(--ivory)}
.brand b{color:var(--ember);font-weight:800}
.top nav{margin-left:auto;display:flex;flex-wrap:wrap;gap:.55rem 1.4rem}
.top nav a{font-family:var(--mono);font-size:.66rem;letter-spacing:.18em;text-transform:uppercase;color:rgba(244,239,231,.82);text-decoration:none;padding:.2rem 0}
.top nav a:hover{color:var(--mint)}

/* ---------- pre-roll ---------- */
#preroll{display:none}
html.preroll-on #preroll{position:fixed;inset:0;z-index:400;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2.4rem;background:var(--ink)}
html.preroll-on #preroll::after{content:"";position:absolute;inset:0;background-image:var(--grain);background-size:200px 200px;opacity:.05;pointer-events:none}
.pr-track{position:relative;width:min(72vw,760px);height:2px}
.pr-line{position:absolute;left:0;top:0;height:1px;width:100%;background:repeating-linear-gradient(90deg,var(--mint) 0 6px,transparent 6px 16px);transform:scaleX(0);transform-origin:left center;animation:prdraw .65s var(--ease) forwards}
@keyframes prdraw{to{transform:scaleX(1)}}
.pr-node{position:absolute;top:50%;left:0;width:10px;height:10px;background:var(--ember);border-radius:50%;transform:translate(-50%,-50%);animation:prtravel .85s var(--ease) .1s forwards}
@keyframes prtravel{to{transform:translate(-50%,-50%) translateX(min(72vw,760px))}}
.pr-word{display:flex;gap:.16em;font-family:var(--disp);font-weight:790;font-size:clamp(2rem,5vw,3.4rem);letter-spacing:.08em;text-transform:uppercase;color:var(--ivory)}
.pr-word span{opacity:0;animation:prfade .3s var(--ease) forwards;animation-delay:calc(.34s + var(--i)*.08s)}
.pr-word .em{color:var(--ember)}
@keyframes prfade{to{opacity:1}}

/* ---------- hero / signature handoff scene ---------- */
.hero{position:relative;min-height:100svh;background:var(--ink);overflow:visible}
html.motion .hero{height:220svh}
.hero-sticky{position:relative;min-height:100svh;display:flex;align-items:center;overflow:clip;padding:7.5rem var(--gutter) 4.5rem;background:
  radial-gradient(900px 700px at 12% 8%,rgba(244,239,231,.13),transparent 64%),
  linear-gradient(118deg,rgba(20,17,13,1) 0 46%,rgba(20,17,13,.84) 62%,rgba(20,17,13,.98) 100%)}
html.motion .hero-sticky{position:sticky;top:0;height:100svh;min-height:0}
.hero-sticky::before{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(127,179,165,.055) 1px,transparent 1px),linear-gradient(90deg,rgba(127,179,165,.055) 1px,transparent 1px);background-size:54px 54px;mask-image:linear-gradient(90deg,transparent 0,rgba(0,0,0,.55) 42%,#000 100%);pointer-events:none}
.hero-sticky::after{content:"";position:absolute;inset:0;background-image:var(--grain);background-size:180px 180px;opacity:.085;mix-blend-mode:soft-light;pointer-events:none;z-index:3}
.hero-copy{position:relative;z-index:8;width:min(62%,900px)}
.kicker{position:relative;display:flex;align-items:center;gap:.85rem;font-family:var(--mono);font-size:.74rem;letter-spacing:.24em;text-transform:uppercase;color:var(--mint);margin-bottom:clamp(1.6rem,4vh,2.6rem)}
.kicker::before{content:"";width:.6rem;height:.6rem;background:var(--ember);box-shadow:0 0 18px rgba(226,85,44,.32);flex:none}
.hero-h{position:relative;font-family:var(--disp);text-transform:uppercase;letter-spacing:-.04em;line-height:.9}
.hero-h .line{display:block;overflow:hidden;padding:.02em 0 .08em}
.l1 .slam{display:block;font-size:clamp(3.3rem,7.7vw,8.2rem);font-weight:790;color:var(--ivory);margin-left:-.045em}
.l2{margin-top:.65rem}
.l2 .slam{display:block;font-size:clamp(2rem,4.15vw,4.15rem);font-weight:650;color:var(--ember);margin-left:clamp(1.5rem,8vw,8rem);max-width:calc(100% - clamp(1.5rem,8vw,8rem));line-height:1.02}
.hero-sub{position:relative;max-width:47ch;font-size:clamp(1rem,1.4vw,1.18rem);color:rgba(244,239,231,.9);margin:clamp(1.6rem,3.4vh,2.4rem) 0 1.8rem}
.hero-system{position:absolute;z-index:4;right:clamp(-1.5rem,-1vw,0rem);top:50%;width:min(56vw,780px);transform:translate3d(var(--px,0px),calc(-50% + var(--py,0px)),0);filter:drop-shadow(0 38px 80px rgba(0,0,0,.34));pointer-events:none}
.hero-tech{display:block;width:100%;height:auto;overflow:visible}
.hero-tech text{font-family:var(--mono);text-transform:uppercase}
.tech-grid{stroke:rgba(127,179,165,.14);stroke-width:1}
.tech-orbit{fill:none;stroke:var(--mint);stroke-width:1.4;stroke-dasharray:5 13;transform-origin:600px 450px;animation:spin 90s linear infinite}
.tech-orbit-2{fill:none;stroke:rgba(226,85,44,.42);stroke-width:1;stroke-dasharray:1 18;transform-origin:600px 450px;animation:spin 58s linear infinite reverse}
.tech-axis{stroke:rgba(127,179,165,.32);stroke-width:1;stroke-dasharray:2 8}
.tech-label{font-size:13px;letter-spacing:3px;fill:var(--mint)}
.tech-micro{font-size:10px;letter-spacing:2px;fill:rgba(244,239,231,.58)}
.tech-task rect{fill:rgba(20,17,13,.92);stroke:rgba(244,239,231,.48);stroke-width:1.2}
.tech-task .owner{font-size:10px;letter-spacing:2px;fill:var(--mint)}
.tech-task .name{font-size:17px;letter-spacing:.4px;fill:var(--ivory);text-transform:none}
.tech-token circle{fill:var(--ember);filter:drop-shadow(0 0 12px rgba(226,85,44,.7))}
.tech-token text{font-size:11px;letter-spacing:2.4px;fill:var(--ivory)}
.tech-boundary{fill:none;stroke:var(--mint);stroke-width:2;stroke-dasharray:4 11;animation:dashflow 12s linear infinite}
.tech-progress{fill:none;stroke:var(--ember);stroke-width:2.4;stroke-dasharray:260;filter:drop-shadow(0 0 7px rgba(226,85,44,.48))}
.tech-approved path{fill:rgba(226,85,44,.11);stroke:var(--ember);stroke-width:1.2}
.tech-approved text{font-size:14px;letter-spacing:4px;fill:var(--ember)}
.tech-terminal{fill:var(--ember)}
.hero-cap{position:absolute;z-index:8;right:clamp(1.25rem,4vw,4rem);bottom:2.2rem;max-width:36rem;font-family:var(--mono);font-size:.68rem;letter-spacing:.16em;text-transform:uppercase;text-align:right;color:rgba(244,239,231,.66)}
.hero-cap b{color:var(--ember);font-weight:500}
.hero-readout{position:absolute;z-index:7;right:clamp(1.25rem,4vw,4rem);top:5.6rem;display:grid;grid-template-columns:repeat(3,auto);gap:1.2rem;font-family:var(--mono);font-size:.6rem;letter-spacing:.16em;text-transform:uppercase;color:var(--mint)}
.hero-readout span{display:flex;align-items:center;gap:.45rem}
.hero-readout i{width:.42rem;height:.42rem;border:1px solid currentColor}
.hero-readout .active i{background:var(--ember);border-color:var(--ember);box-shadow:0 0 13px rgba(226,85,44,.38)}
@keyframes spin{to{transform:rotate(360deg)}}
@keyframes dashflow{to{stroke-dashoffset:-180}}
html.paused .tech-orbit,html.paused .tech-orbit-2{animation-play-state:paused}
.cta{position:relative;z-index:8;display:inline-flex;align-items:center;gap:1.25rem;overflow:hidden;background:var(--ember);border:1px solid var(--ember);color:var(--ink);font-family:var(--mono);font-weight:500;font-size:.82rem;letter-spacing:.14em;text-transform:uppercase;padding:1rem 1.25rem 1rem 1.55rem;text-decoration:none;transition:transform .32s var(--ease),background .32s var(--ease),border-color .32s var(--ease),box-shadow .32s var(--ease)}
.cta::after{content:attr(data-arrow);font-size:1.05rem;line-height:1;transition:transform .32s var(--ease)}
.cta:hover{background:var(--ivory);border-color:var(--ivory);box-shadow:0 16px 42px rgba(226,85,44,.2);transform:translateY(-2px)}
.cta:hover::after{transform:translate(.18rem,-.18rem)}
@media(max-width:980px){
  .hero-copy{width:74%}
  .hero-system{right:-12rem;width:720px;opacity:.62}
  .hero-readout{display:none}
}
@media(max-width:768px){
  html.motion .hero{height:auto;min-height:100svh}
  html.motion .hero-sticky{position:relative;height:auto;min-height:100svh}
  .hero-sticky{display:block;padding:8.2rem 1.25rem 4.8rem}
  .hero-copy{width:100%}
  .l1 .slam{white-space:normal;font-size:12.8vw;margin-left:0;letter-spacing:-.035em}
  .l2 .slam{font-size:8.8vw;margin-left:0;max-width:100%;line-height:1.02}
  .hero-system{position:relative;right:auto;top:auto;width:115%;margin:.8rem -7.5% -3.8rem;transform:translate3d(var(--px,0px),var(--py,0px),0);opacity:.86}
  .hero-cap{position:relative;right:auto;bottom:auto;margin-top:1.1rem;text-align:left;font-size:.62rem}
  .hero-sub{max-width:39ch}
  .tech-task .name{font-size:30px}
  .tech-task .owner,.tech-token text,.tech-label{font-size:20px}
  .tech-micro{font-size:16px}
  .edge-label,.task-micro,.bottom-micro{display:none}
  .final{min-height:auto}
}
@media(max-width:430px){
  .hero-sticky{padding-top:7.6rem}
  .hero-system{width:112%;margin:.8rem -6% -3.5rem}
}

/* ---------- problem ---------- */
.problem{overflow:clip}
.problem h2{position:relative;z-index:5;font-size:clamp(2.9rem,8.5vw,8rem);font-weight:780;margin-left:-.04em}
.p-rule{position:relative;z-index:5;width:clamp(4rem,12vw,9rem);height:.5rem;background:var(--ember);margin:1.7rem 0 2.1rem}
.problem .body{position:relative;z-index:5;max-width:36em;font-size:clamp(1.05rem,1.6vw,1.32rem);color:rgba(20,17,13,.88)}

/* ---------- offers / conversion sequence ---------- */
#offers{position:relative;background:var(--ink)}
.panel{position:sticky;top:0;z-index:var(--layer,1);min-height:100svh;display:flex;align-items:center;overflow:clip;padding:clamp(5rem,10vh,8rem) clamp(1.25rem,6vw,6rem) clamp(4rem,8vh,6rem) var(--gutter);box-shadow:0 -42px 110px rgba(0,0,0,.22)}
.panel::before{content:"";position:absolute;inset:0;background:radial-gradient(900px 620px at 82% 30%,rgba(127,179,165,.08),transparent 66%),linear-gradient(116deg,transparent 54%,rgba(255,255,255,.025));pointer-events:none;z-index:1}
.p-ink{background:var(--ink);color:var(--ivory)}
.p-ember{background:#3b180f;color:var(--ivory)}
.o-layout{position:relative;z-index:6;width:100%;display:grid;grid-template-columns:minmax(0,.82fr) minmax(23rem,1.18fr);gap:clamp(2.5rem,7vw,8rem);align-items:end}
.o-primary{min-width:0}
.o-chip{font-family:var(--mono);font-size:.68rem;letter-spacing:.24em;text-transform:uppercase;color:var(--mint);margin-bottom:1.4rem}
.lite .o-chip{color:var(--mint-deep)}
.o-tick{width:4.6rem;height:.45rem;background:var(--ember);margin-bottom:1.55rem;box-shadow:0 0 24px rgba(226,85,44,.2)}
.p-ember .o-tick{background:var(--mint);box-shadow:none}
.o-name{font-family:var(--mono);font-weight:500;font-size:clamp(.88rem,1.35vw,1.05rem);line-height:1.45;letter-spacing:.26em;text-transform:uppercase;margin-bottom:.7rem;max-width:34ch}
.o-price{font-family:var(--disp);font-weight:800;letter-spacing:-.045em;line-height:.84;font-size:clamp(5rem,12vw,10rem);margin:1.2rem 0 1.65rem}
.p-ink .o-price{color:var(--ember)}
.p-ember .o-price{color:var(--ivory)}
.o-big{font-family:var(--disp);font-weight:780;text-transform:uppercase;letter-spacing:-.035em;line-height:.92;font-size:clamp(2.8rem,6.5vw,6rem);color:var(--ink);max-width:13ch;margin:1.1rem 0 1.6rem}
.o-note{font-family:var(--mono);font-size:.82rem;line-height:1.7;display:grid;gap:.35rem;max-width:48ch;color:rgba(244,239,231,.8)}
.lite .o-note{color:rgba(20,17,13,.78)}
.o-detail{position:relative;border-left:1px dashed rgba(127,179,165,.58);padding:1.1rem 0 1.1rem clamp(1.5rem,4vw,3.4rem)}
.lite .o-detail{border-color:rgba(46,90,78,.55)}
.o-detail-k{font-family:var(--mono);font-size:.65rem;letter-spacing:.2em;text-transform:uppercase;color:var(--ember);margin-bottom:1.4rem}
.p-ember .o-detail-k{color:var(--mint)}
.o-list{list-style:none;display:grid;gap:.9rem;max-width:44rem}
.o-list li{position:relative;display:grid;grid-template-columns:2.6rem 1fr;gap:.8rem;padding-bottom:.85rem;border-bottom:1px solid rgba(244,239,231,.12);font-size:clamp(.9rem,1.2vw,1.03rem);line-height:1.45}
.lite .o-list li{border-color:rgba(20,17,13,.14)}
.o-list b{font-family:var(--mono);font-size:.62rem;letter-spacing:.15em;color:var(--mint);font-weight:500;padding-top:.25rem}
.lite .o-list b{color:var(--mint-deep)}
.o-boundary{margin-top:1.5rem;padding:.9rem 1rem;border:1px solid rgba(226,85,44,.45);font-family:var(--mono);font-size:.68rem;line-height:1.6;letter-spacing:.08em;text-transform:uppercase;color:rgba(244,239,231,.72)}
.lite .o-boundary{color:rgba(20,17,13,.74)}
.o-link{display:inline-flex;align-items:center;gap:.8rem;margin-top:1.4rem;font-family:var(--mono);font-size:.68rem;letter-spacing:.15em;text-transform:uppercase;text-underline-offset:4px;color:var(--mint)}
.lite .o-link{color:var(--mint-deep)}
.offer-ghost{right:-.03em;top:auto;bottom:-.08em;font-size:clamp(8rem,20vw,18rem);letter-spacing:-.08em;opacity:.045}
.offer-ghost small{font-size:.34em;letter-spacing:0}
@media(max-width:840px){
  .panel{position:relative;top:auto;min-height:auto;padding-block:5.5rem}
  .o-layout{grid-template-columns:1fr;gap:2.6rem;align-items:start}
  .o-detail{padding-left:1.3rem}
  .o-price{font-size:clamp(4.7rem,22vw,7.2rem)}
  .o-big{font-size:clamp(2.65rem,12vw,4.5rem)}
  .offer-ghost{font-size:36vw}
}

/* ---------- method ---------- */
.m-head{position:relative;background:var(--ink);padding:clamp(4.5rem,11vh,8rem) clamp(1.25rem,6vw,6rem) 0 var(--gutter)}
.m-title{position:relative;z-index:6;font-size:clamp(2.7rem,7.5vw,6.6rem);font-weight:780;color:var(--ember);margin-bottom:-.48em}
.m-body{position:relative;background:var(--ivory);color:var(--ink);overflow:clip;padding:clamp(4.2rem,9vw,7rem) clamp(1.25rem,6vw,6rem) clamp(4.5rem,11vh,8rem) var(--gutter)}
.m-body::before{content:"";position:absolute;inset:0;background:radial-gradient(130% 100% at 50% 30%,transparent 55%,rgba(20,17,13,.07));pointer-events:none;z-index:2}
.m-body::after{content:"";position:absolute;inset:0;background-image:var(--grain);background-size:200px 200px;opacity:.05;pointer-events:none;z-index:3}
.m-body .ghost{color:var(--ink)}
.m-grid{position:relative;z-index:5;display:grid;grid-template-columns:repeat(3,1fr);gap:2.4rem 2.6rem}
.step{border-top:1px dashed rgba(46,90,78,.55);padding-top:1.1rem}
.s-num{font-family:var(--mono);font-size:.78rem;letter-spacing:.24em;color:var(--ember)}
.step h3{font-family:var(--disp);text-transform:uppercase;letter-spacing:-.01em;font-weight:740;font-size:1.35rem;margin:.55rem 0 .5rem}
.step p{font-size:.97rem;color:rgba(20,17,13,.85)}
@media(max-width:900px){.m-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:600px){.m-grid{grid-template-columns:1fr}}

/* ---------- security ---------- */
.security{background:var(--ink);overflow:clip}
.security h2{position:relative;z-index:5;font-size:clamp(2.7rem,8.2vw,7.8rem);font-weight:790;margin-left:-.04em}
.security h2 .hot{color:var(--ember);font-style:normal}
.sec-grid{position:relative;z-index:5;display:grid;grid-template-columns:1.1fr .9fr;gap:clamp(2rem,5vw,4rem);align-items:center;margin-top:clamp(2.4rem,6vh,4rem)}
.sd-svg{display:block;width:100%;height:auto}
.sd-svg text{font-family:var(--mono);text-transform:uppercase}
.sd-orbit{transform-origin:430px 300px;animation:spin 95s linear infinite reverse}
.sd-flow{animation:dashflow 9s linear infinite}
.sd-mobile{display:none}
.sec-list{list-style:none;display:grid;gap:.95rem}
.sec-list li{position:relative;padding-left:1.5rem;font-size:.98rem;color:rgba(244,239,231,.92)}
.sec-list li::before{content:"";position:absolute;left:0;top:.48em;width:.55rem;height:.55rem;background:var(--ember)}
@media(max-width:900px){.sec-grid{grid-template-columns:1fr}}
@media(max-width:600px){
  .sd-svg{display:none}
  .sd-mobile{display:grid;position:relative;gap:.85rem;padding:3.2rem 1rem 1rem;border:1px dashed var(--mint);background:linear-gradient(145deg,rgba(127,179,165,.07),transparent)}
  .sd-mobile::before{content:"EXPLICIT PERIMETER";position:absolute;top:.85rem;left:1rem;font-family:var(--mono);font-size:.62rem;letter-spacing:.17em;color:var(--mint)}
  .sd-node{display:grid;gap:.25rem;padding:.9rem;border:1px solid rgba(244,239,231,.3);font-family:var(--mono);font-size:.68rem;letter-spacing:.13em;text-transform:uppercase}
  .sd-node b{font-family:var(--body);font-size:.94rem;letter-spacing:0;text-transform:none;color:var(--ivory)}
  .sd-node.hot{background:var(--ember);border-color:var(--ember);color:var(--ink)}
  .sd-node.hot b{color:var(--ink)}
  .sd-arrow{height:2rem;border-left:1px dashed var(--mint);margin-left:1.2rem;position:relative}
  .sd-arrow::after{content:"APPROVED";position:absolute;left:.8rem;top:.45rem;font-family:var(--mono);font-size:.58rem;letter-spacing:.15em;color:var(--mint)}
}

/* ---------- service area ---------- */
.area{background:var(--ink);overflow:clip}
.places{position:relative;z-index:5;list-style:none;max-width:1100px}
.places li{display:flex;align-items:baseline;min-width:0;gap:clamp(.9rem,2.5vw,1.6rem);border-bottom:1px dashed rgba(127,179,165,.35);padding:clamp(.9rem,2.2vh,1.4rem) 0}
.p-i{font-family:var(--mono);font-size:.74rem;letter-spacing:.22em;color:var(--ember);flex:none;min-width:3.2rem}
.p-name{min-width:0;font-family:var(--disp);text-transform:uppercase;font-weight:770;letter-spacing:-.025em;line-height:1;font-size:clamp(2rem,6.1vw,5.4rem);color:var(--ivory)}
.p-name.small{font-family:var(--body);text-transform:none;font-weight:500;letter-spacing:0;line-height:1.4;font-size:clamp(1.05rem,2.4vw,1.7rem);color:var(--mint)}
@media(max-width:560px){
  .places li{display:grid;grid-template-columns:1fr;gap:.35rem}
  .p-i{min-width:0}
  .p-name{font-size:clamp(1.9rem,8.5vw,2.8rem);white-space:nowrap}
  .p-name.small{white-space:normal}
}

/* ---------- about ---------- */
.about{background:var(--ink)}
.about h2{position:relative;z-index:5;font-size:clamp(1.7rem,3.6vw,2.8rem);font-weight:750;margin-bottom:clamp(1.8rem,5vh,3rem)}
.about blockquote{position:relative;z-index:5;max-width:64ch;border-left:1px dashed var(--mint);padding-left:clamp(1.2rem,3vw,2.4rem);font-size:clamp(1.07rem,1.5vw,1.3rem);line-height:1.75;color:rgba(244,239,231,.94)}
.about blockquote a{color:var(--mint);text-underline-offset:3px}
.attrib{position:relative;z-index:5;margin-top:1.8rem;font-family:var(--mono);font-size:.74rem;letter-spacing:.24em;text-transform:uppercase;color:var(--ember)}

/* ---------- final cta ---------- */
.final{background:var(--ink);overflow:clip;min-height:80vh;display:flex;flex-direction:column;justify-content:center}
.final h2{position:relative;z-index:5;font-size:clamp(2.3rem,6.4vw,5.6rem);font-weight:780;max-width:16ch}
.final .w{display:inline-block}
.final .hot{color:var(--ember)}
.contact-actions{position:relative;z-index:5;display:flex;align-items:center;flex-wrap:wrap;gap:1rem 1.5rem;margin-top:clamp(2rem,5vh,3rem)}
.final .contact-actions .cta{margin:0;align-self:flex-start}
.direct-mail{font-family:var(--mono);font-size:clamp(.82rem,1.2vw,.98rem);letter-spacing:.12em;color:var(--mint);text-underline-offset:5px;text-decoration-thickness:1px}
.direct-mail:hover{color:var(--ivory)}
.f-note{position:relative;z-index:5;margin-top:1.8rem;font-family:var(--mono);font-size:.74rem;letter-spacing:.18em;text-transform:uppercase;color:var(--mint)}

/* ---------- footer ---------- */
footer{position:relative;background:var(--ink);border-top:1px dashed rgba(127,179,165,.4);display:flex;flex-wrap:wrap;align-items:baseline;gap:.9rem 2rem;padding:2rem clamp(1.25rem,4vw,3rem);font-family:var(--mono);font-size:.7rem;letter-spacing:.16em;text-transform:uppercase;color:rgba(244,239,231,.72)}
footer .c{color:var(--ivory)}
footer a{text-decoration:none;color:rgba(244,239,231,.72);padding:.15rem 0}
footer a:hover{color:var(--ember)}
footer .mail{color:var(--mint)}
.f-nav{margin-left:auto;display:flex;flex-wrap:wrap;gap:.6rem 1.4rem}
@media(max-width:560px){.f-nav{margin-left:0}}

/* ---------- motion enhancements (JS-applied .motion only) ---------- */
html.motion .slam{transform:translateY(112%)}
html.motion.hero-go .slam{transform:translateY(0);transition:transform .85s var(--ease)}
html.motion.hero-go .l2 .slam{transition-delay:.16s}
html.motion .rev{transform:translateY(30px);transition:transform .85s var(--ease);transition-delay:var(--d,0s)}
html.motion .rev.in{transform:none}
html.motion .words .w{opacity:1;transform:translateY(.32em);transition:transform .65s var(--ease) var(--d,0s)}
html.motion .words.in .w{transform:none}
html.motion #heroTask,html.motion #heroToken,html.motion #heroMarkA,html.motion #heroMarkB,html.motion #heroTrace,html.motion #heroApproved,html.motion .hero-copy{will-change:transform,opacity}
@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation:none!important;transition:none!important}
}
[data-d="z4"]{--d:.04s}
[data-d="z5"]{--d:.05s}
[data-d="z6"]{--d:.06s}
[data-d="z7"]{--d:.07s}
[data-d="z8"]{--d:.08s}
[data-d="12"]{--d:.12s}
[data-d="14"]{--d:.14s}
[data-d="15"]{--d:.15s}
[data-d="16"]{--d:.16s}
[data-d="18"]{--d:.18s}
[data-d="1"]{--d:.1s}
[data-d="22"]{--d:.22s}
[data-d="24"]{--d:.24s}
[data-d="25"]{--d:.25s}
[data-d="28"]{--d:.28s}
[data-d="2"]{--d:.2s}
[data-d="31"]{--d:.31s}
[data-d="38"]{--d:.38s}
[data-d="45"]{--d:.45s}
[data-d="52"]{--d:.52s}
[data-d="59"]{--d:.59s}
[data-d="5"]{--d:.5s}
[data-d="66"]{--d:.66s}
[data-d="6"]{--d:.6s}
[data-d="z"]{--d:0s}
[data-layer="1"]{--layer:1}
[data-layer="2"]{--layer:2}
[data-layer="3"]{--layer:3}

.words .w:nth-child(1){--i:0}.words .w:nth-child(2){--i:1}.words .w:nth-child(3){--i:2}.words .w:nth-child(4){--i:3}.words .w:nth-child(5){--i:4}.words .w:nth-child(6){--i:5}.words .w:nth-child(7){--i:6}.words .w:nth-child(8){--i:7}.words .w:nth-child(9){--i:8}.words .w:nth-child(10){--i:9}.words .w:nth-child(11){--i:10}.words .w:nth-child(12){--i:11}
