/* ==========================================================================
   ElevnAI design system (colour from the first iteration)
   Colour   ink #121212 · paper #fff · stone #f3f2ee · cream #fff3d6
            sun #ffe246 · sky #5bc0f0 · pink #f8c8dc · cobalt #2f5bea
            coral #ff6f61 · leaf #2fb463 · lime #c6f36a (one accent tile)
            Flat fields only. Each illustration ground has one darker shade for
            hard shadows. No gradients.
   Type     Average for headlines (max 64px, -0.4px tracking, hairline stroke
            so it reads as medium). Lato 400 for body. Capitals only as 12px
            labels (.caps, Chivo Mono).
   Line     Illustration ink 3px, UI borders 1.5px, hard offset shadows.
   Shape    Panels 6px radius, cards 14px, pills 999px.
   ========================================================================== */
:root{
  color-scheme: light;
  --ink:#121212;
  --ink-2:#4a4a47;
  --paper:#ffffff;
  --stone:#f3f2ee;
  --cream:#fff3d6;
  --line:rgba(18,18,18,.14);

  --sun:#ffe246;   --sun-l:#fff09a;  --sun-d:#e5b917;
  --sky:#5bc0f0;   --sky-d:#3a98d6;
  --pink:#f8c8dc;  --pink-d:#f58fb5;
  --cobalt:#2f5bea;
  --coral:#ff6f61;
  --leaf:#2fb463;  --leaf-d:#197a40; /* green icons and text on light grounds (5.4:1 on white) */
  --lime:#c6f36a;  --lime-d:#9fce3e;
  --paper-d:#e4e6ee; --navy:#23294f; --steel:#d9dce4; --wood:#f5d3a0; --lace:#cfd6ff;

  --serif:"Average",Georgia,"Times New Roman",serif;
  --sans:"Lato","Helvetica Neue",Arial,sans-serif;
  --mono:"Chivo Mono",ui-monospace,"SFMono-Regular",Menlo,monospace;
  --h1:clamp(40px,4.6vw,64px);
  --h2:36px;
  --h3:clamp(22px,2vw,28px);
  --track:-0.4px;
  --head-gap:clamp(48px,5vw,64px); /* space between a section heading block and its cards */
  --hard:6px 6px 0 var(--ink);
}
*,*::before,*::after{box-sizing:border-box}
[hidden]{display:none!important}
html{scroll-behavior:smooth}
body{margin:0;background:var(--paper);color:var(--ink);font:400 17px/1.55 var(--sans);-webkit-font-smoothing:antialiased}
img,svg{max-width:100%}
a{color:inherit}
h1,h2,h3,p{margin:0}
button,input,select,textarea{font:inherit;color:inherit}
:focus-visible{outline:3px solid var(--cobalt);outline-offset:3px;border-radius:4px}
::selection{background:var(--sun)}
.shell{width:min(100% - 32px,1392px);margin-inline:auto}
.skip{position:absolute;left:12px;top:-60px;z-index:100;background:var(--ink);color:var(--paper);padding:10px 14px}
.skip:focus{top:12px}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

/* type */
.hd{font-family:var(--serif);font-weight:500;letter-spacing:var(--track);-webkit-text-stroke:.012em currentColor;text-wrap:balance}
.h1{font-size:var(--h1);line-height:1.04}
.h2{font-size:var(--h2);line-height:1.1}
.h3{font-size:var(--h3);line-height:1.1}
.caps{font:400 12px/1.35 var(--mono);letter-spacing:.5px;text-transform:uppercase}
.lead{font-size:16px;line-height:1.55;max-width:34em}
.muted{color:var(--ink-2)}
mark{background:var(--sun);color:var(--ink);padding:0 .1em;border-radius:3px;-webkit-box-decoration-break:clone;box-decoration-break:clone}

/* buttons */
.btn{display:inline-flex;align-items:center;justify-content:space-between;gap:18px;min-height:54px;padding:6px 6px 6px 22px;border-radius:999px;background:var(--ink);color:var(--paper);border:0;text-decoration:none;font:400 16px/1.2 var(--sans);cursor:pointer;transition:transform .18s ease}
.btn:hover{transform:translateY(-2px)}
.btn .arr{display:grid;place-items:center;width:40px;height:40px;border-radius:50%;background:var(--sun);color:var(--ink);font-size:17px}
.btn-sun{background:var(--sun);color:var(--ink)}
.btn-sun .arr{background:var(--ink);color:var(--sun)}
.btn[disabled]{opacity:.6;cursor:progress;transform:none}
.tlink{font:400 16px/1.2 var(--sans);text-underline-offset:5px;text-decoration-thickness:1.5px}

/* header */
.head{position:sticky;top:env(safe-area-inset-top,0px);z-index:40;background:rgba(255,255,255,.94);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}
.nav{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:16px;min-height:64px;position:relative}
.pills{display:flex;gap:24px}
.pills a{padding:6px 0;font:400 15px/1.2 var(--sans);text-decoration:none;white-space:nowrap;color:var(--ink);background:none;transition:opacity .2s}
.pills a:hover{opacity:.5}
.logo{font:400 26px/1 var(--sans);letter-spacing:-.05em;text-decoration:none;display:flex;align-items:baseline}
.logo i{font-style:normal;margin-left:2px;padding:1px 5px 3px;border-radius:5px;background:var(--ink);color:#fff;font-size:.78em}
.logo img{display:block;width:80px;height:auto}
.acts{display:flex;align-items:center;justify-content:flex-end;gap:18px}
.acts .login{font-size:15px;text-decoration:none}
.acts .btn{min-height:42px;padding:4px 4px 4px 16px;gap:12px;font-size:15px}
.acts .btn .arr{width:34px;height:34px;font-size:15px;background:#fff;color:var(--ink)}
.burger{display:none;width:44px;height:44px;border:1.5px solid var(--ink);border-radius:50%;background:transparent;cursor:pointer;padding:0 11px}
.burger span{display:block;height:1.5px;background:var(--ink);margin:5px 0}
@media (max-width:900px){
  .nav{display:flex}
  .logo{order:-1}
  .pills{display:none;position:absolute;left:0;right:0;top:100%;flex-direction:column;gap:8px;padding:16px 0 20px;background:var(--paper);border-bottom:1.5px solid var(--ink)}
  .pills.open{display:flex}
  .pills a{padding:10px 0}
  .acts{margin-left:auto;gap:10px}
  .acts .login{display:none}
  .burger{display:block}
}

/* layout */
.stack{display:grid;gap:8px}
.panel{position:relative;border-radius:6px;overflow:hidden}
.sec{padding-block:clamp(72px,9vw,128px)}
.chip{display:inline-flex;align-items:center;gap:8px;background:var(--paper);border-radius:999px;padding:8px 12px}
.dot{width:8px;height:8px;border-radius:50%;background:var(--leaf);flex:none;animation:ping 2.2s infinite}
@keyframes ping{0%{box-shadow:0 0 0 0 rgba(47,180,99,.5)}70%{box-shadow:0 0 0 8px rgba(47,180,99,0)}100%{box-shadow:0 0 0 0 rgba(47,180,99,0)}}

/* illustration strokes and fills */
.k{stroke:var(--ink);stroke-width:3;stroke-linejoin:round;stroke-linecap:round;vector-effect:non-scaling-stroke}
.kt{fill:none;stroke:var(--ink);stroke-width:2;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke}
.kh{fill:none;stroke:#fff;stroke-width:3;stroke-linecap:round;opacity:.85;vector-effect:non-scaling-stroke}
.kd{fill:none;stroke:var(--ink);stroke-width:2;stroke-dasharray:4 5;vector-effect:non-scaling-stroke}
.seam{fill:none;stroke:#fff;stroke-width:5}
.lace{fill:none;stroke:var(--lace);stroke-width:5;stroke-linecap:round}
.lace-w{fill:none;stroke:#fff;stroke-width:5;stroke-linecap:round}
.dots{fill:none;stroke:var(--ink);stroke-width:5;stroke-linecap:round;stroke-dasharray:0 16}
.f-ink{fill:var(--ink)}.f-paper{fill:var(--paper)}.f-paper-d{fill:var(--paper-d)}.f-cream{fill:var(--cream)}
.f-sky{fill:var(--sky)}.f-sky-d{fill:var(--sky-d)}.f-sun{fill:var(--sun)}.f-sun-l{fill:var(--sun-l)}.f-sun-d{fill:var(--sun-d)}
.f-pink{fill:var(--pink-d)}.f-coral{fill:var(--coral)}.f-cobalt{fill:var(--cobalt)}.f-lime{fill:var(--lime)}.f-lime-d{fill:var(--lime-d)}
.f-navy{fill:var(--navy)}.f-steel{fill:var(--steel)}.f-wood{fill:var(--wood)}.f-lace{fill:var(--lace)}

/* hero */
.hero-wrap{display:grid}
.hero{position:relative;overflow:hidden;border-radius:6px;background:var(--sky);min-height:clamp(540px,calc(100svh - 88px),860px);display:flex;align-items:center}
.hero-art{position:absolute;inset:0;width:100%;height:100%;display:block}
.hero-copy{position:relative;z-index:2;max-width:min(560px,46%);padding:48px 0 96px clamp(24px,4vw,56px)}
.hero .h1{margin:18px 0 20px}
.hero .lead{max-width:30em;font-size:16px}
.hero .btn{margin-top:28px}
.hero .btn .arr{background:#fff;color:var(--ink)}
.hero .note{margin-top:14px;font-size:16px;color:#17405a}
.hero .tag{position:absolute;bottom:16px;z-index:2}
.hero .tag-r{right:16px}
.trail{fill:none;stroke:var(--ink);stroke-width:3.5;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:1;stroke-dashoffset:1;animation:draw 1.9s .35s cubic-bezier(.55,.1,.3,1) forwards}
@keyframes draw{to{stroke-dashoffset:0}}
.rider{animation:ride 2.8s ease-in-out infinite}
@keyframes ride{50%{transform:translateY(-4px)}}
.spin{transform-box:fill-box;transform-origin:center;animation:spin 1.1s linear infinite}
@keyframes spin{to{transform:rotate(360deg)}}
.pop{transform-box:fill-box;transform-origin:center;animation:pop .5s 2.1s cubic-bezier(.3,1.6,.5,1) both}
.pop.b{animation-delay:2.3s}.pop.c{animation-delay:2.45s}
@keyframes pop{from{transform:scale(.001)}}
.rise{animation:rise .8s cubic-bezier(.2,.7,.2,1) both}
.rise.d1{animation-delay:.08s}.rise.d2{animation-delay:.16s}.rise.d3{animation-delay:.24s}
@keyframes rise{from{transform:translateY(12px);opacity:.001}}
@media (max-width:1000px){
  .hero{flex-direction:column;align-items:stretch;min-height:0}
  .hero-art{position:relative;order:-1;height:auto;aspect-ratio:740/720;max-height:560px}
  .hero-copy{max-width:none;padding:8px 20px 76px}
}

/* how */
.how{display:grid;gap:var(--head-gap)}
@media (min-width:980px){.how{grid-template-columns:1fr 1.1fr;gap:8%}}
.how .h2{margin:16px 0 18px;max-width:11em}
.steps{list-style:none;margin:0;padding:0}
.step{display:grid;grid-template-columns:96px 1fr;gap:16px;align-items:baseline;padding-block:22px;border-bottom:1px solid var(--line)}
.step:first-child{padding-top:0}
.step .caps{color:var(--ink-2)}
.step .hd{font-size:24px;line-height:1.2}
.step p{color:var(--ink-2);margin-top:6px;max-width:32em;font-size:16px}

/* why two-up */
.two{display:grid;gap:8px}
@media (min-width:900px){.two{grid-template-columns:1fr 1fr}}
.say{padding:clamp(24px,4vw,48px);display:flex;flex-direction:column;justify-content:space-between;gap:48px;min-height:clamp(420px,38vw,540px)}
.say .h2{margin-top:16px;max-width:12em}
#why .say .h2{margin-top:0}
.say .foot{display:grid;gap:18px;justify-items:start}
.bg-cream{background:var(--cream)}.bg-lime{background:var(--lime)}.bg-sun{background:var(--sun)}.bg-pink{background:var(--pink)}.bg-sky{background:var(--sky)}.bg-cobalt{background:var(--cobalt);color:#fff}.bg-stone{background:var(--stone)}
.art-tile{min-height:clamp(360px,38vw,540px)}
.art-tile svg,.art-tile canvas{position:absolute;inset:0;width:100%;height:100%;display:block}

/* ways forward (bento) */
.fhead{display:grid;gap:16px;padding-block:clamp(72px,9vw,128px) var(--head-gap)}
.fhead .h2{margin-top:14px;max-width:12em}
.bento{display:grid;gap:8px}
@media (min-width:900px){.bento{grid-template-columns:1.05fr 1fr;grid-template-rows:repeat(2,minmax(340px,auto))}.b-plan{grid-row:1/3}}
.btile{border-radius:6px;padding:clamp(20px,2.4vw,32px);display:flex;flex-direction:column;gap:24px;position:relative;overflow:hidden}
.btile .vis{flex:1;display:grid;place-items:center;min-height:180px}
.btile p.d{margin-top:8px;font-size:16px}
.b-talk .d{color:rgba(255,255,255,.88)}
/* app screens inside the tiles (example data) */
.app{width:min(94%,420px);background:#fff;color:var(--ink);border-radius:14px;padding:12px;display:flex;flex-direction:column;gap:10px;box-shadow:0 0 0 1.5px var(--ink),12px 14px 0 rgba(18,18,18,.14)}
.app .top{display:flex;justify-content:space-between;gap:10px;color:var(--ink-2);padding:2px 4px 0}
.app .scr{border-radius:10px;padding:14px;display:flex;flex-direction:column;gap:10px}
.tilt-a{transform:rotate(-4deg)}.tilt-b{transform:rotate(3deg)}.tilt-c{transform:rotate(-2deg)}
.prow{display:flex;align-items:center;gap:12px;min-height:50px;border-top:1px solid var(--line);font-size:15px}
.prow:first-child{border-top:0}
.prow b{display:grid;place-items:center;width:30px;height:30px;flex:none;border-radius:50%;background:var(--pink);font:400 12px/1 var(--mono)}
.prow span{flex:1}

/* screen parts */
.wave{display:flex;align-items:center;gap:4px;height:54px}
.wave i{flex:1;background:var(--ink);border-radius:3px;animation:wv 1.2s ease-in-out infinite}
@keyframes wv{50%{transform:scaleY(.35)}}
.say-b{background:#fff;border-radius:12px 12px 12px 4px;padding:9px 11px;font-size:14px;line-height:1.35}
.me{align-self:flex-end;background:var(--ink);color:#fff;border-radius:12px 12px 4px 12px;padding:9px 11px;font-size:14px}
.q{font-family:var(--serif);font-size:28px;letter-spacing:var(--track);line-height:1}
.opts{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}
.opts span{background:#fff;border-radius:8px;text-align:center;padding:10px 0}
.opts .ok{background:var(--leaf);color:var(--ink)}
.draft{font-size:17px;font-style:italic}
.hint{background:#fff;border-radius:10px;padding:9px 11px;font-size:14px;border:1.5px dashed var(--ink)}
.kid{display:grid;gap:6px}
.kid .n{display:flex;justify-content:space-between;font-size:14px}
.bar{height:9px;border-radius:9px;background:rgba(18,18,18,.1);overflow:hidden}
.bar b{display:block;height:100%;border-radius:9px}
.cards-note{margin-top:14px;color:var(--ink-2)}

/* promises */
.promise{text-align:center;display:grid;justify-items:center;gap:24px}
.promise .h2{max-width:14em}
.vows{display:grid;gap:40px;width:100%;max-width:1240px;text-align:left;margin-top:calc(var(--head-gap) - 24px)}
@media (min-width:860px){.vows{grid-template-columns:repeat(3,1fr);gap:clamp(32px,4vw,64px)}}
.vow{border-top:1.5px solid var(--ink);padding-top:22px;display:grid;gap:14px;align-content:start}
.vow p{font-size:16px;line-height:1.55;max-width:24em}
.vow .caps{color:var(--ink-2)}

/* demo */
.demo{background:var(--ink);color:#fff;display:grid;gap:36px;align-items:center;padding:clamp(28px,5vw,72px)}
@media (min-width:980px){.demo{grid-template-columns:.7fr 1.3fr;gap:6%}}
.demo .eyebrow{display:flex;align-items:center;gap:10px}
.demo .eyebrow::before{content:"";width:7px;height:7px;border-radius:50%;background:var(--sun)}
.demo .h2{margin:18px 0}
.demo .lead{color:#c9c9c4;margin-bottom:24px}
.player{position:relative;aspect-ratio:16/9;max-width:100%;border-radius:14px;overflow:hidden;background:#fafaf7;box-shadow:0 0 0 8px #2b2b29}
.player > button{position:absolute;inset:0;width:100%;border:0;padding:0;cursor:pointer;background:#fafaf7;color:var(--ink);display:grid;place-content:center;justify-items:center;gap:6px}
.player .wm{font:italic 400 clamp(36px,5vw,64px)/1 var(--serif);letter-spacing:var(--track)}
.player .wm b{color:var(--sun);font-weight:400}
.player .sub{font-size:14px;color:var(--ink-2)}
.player .play{position:absolute;left:16px;bottom:16px;display:flex;align-items:center;gap:10px;background:var(--ink);color:#fff;border-radius:999px;padding:6px 16px 6px 6px}
.player .play i{width:34px;height:34px;border-radius:50%;background:var(--sun);display:grid;place-items:center}
.player .play i::after{content:"";margin-left:3px;border-left:11px solid var(--ink);border-block:7px solid transparent}
.player iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.cap-row{display:flex;flex-wrap:wrap;justify-content:space-between;gap:10px;margin-top:20px;color:#a3a39d}

/* pricing */
.p-top{display:flex;flex-direction:column;align-items:center;text-align:center;gap:20px;padding-bottom:var(--head-gap)}
.p-top > div:first-child{display:grid;justify-items:center;gap:20px}
.p-top .h2{margin:0;max-width:14em}
.p-top .lead{margin:0}
.toggle{display:inline-flex;background:var(--stone);border-radius:999px;padding:4px}
.toggle button{border:0;background:transparent;font-size:14px;padding:10px 16px;border-radius:999px;cursor:pointer}
.toggle button[aria-pressed="true"]{background:var(--ink);color:#fff}
.toggle small{opacity:.7;margin-left:4px}
.trial{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:16px;background:var(--ink);color:#fff;border-radius:6px;padding:18px 20px}
.trial .hd{font-size:clamp(22px,2.2vw,30px)}
.trial .caps{color:#a3a39d}
.trial .btn{background:#fff;color:var(--ink)}
.trial .btn .arr{background:var(--ink);color:#fff}
.plans{display:grid;gap:8px;margin-top:8px}
@media (min-width:900px){.plans{grid-template-columns:repeat(3,1fr)}}
.plan{border-radius:6px;background:var(--stone);padding:22px;display:flex;flex-direction:column;gap:16px}
.plan.hot{background:var(--pink)}
.plan .ph{display:flex;justify-content:space-between;align-items:center}
.plan .hd{font-size:30px}
.badge{background:var(--sun);border-radius:999px;padding:5px 10px;box-shadow:inset 0 0 0 1.5px var(--ink)}
.plan .amt{font-family:var(--serif);font-size:64px;line-height:.95;letter-spacing:var(--track);-webkit-text-stroke:.012em currentColor}
.plan .amt small{font:400 16px/1 var(--sans);-webkit-text-stroke:0;letter-spacing:0;margin-left:4px}
.plan ul{list-style:none;margin:0;padding:0;display:grid;gap:8px;font-size:15px}
.plan li{display:flex;gap:10px}
.plan li::before{content:"";flex:none;width:8px;height:8px;margin-top:7px;background:var(--sun);box-shadow:0 0 0 1.5px var(--ink);border-radius:50%}
.plan .btn{margin-top:auto;justify-content:center}
.plan:not(.hot) .btn{background:transparent;color:var(--ink);box-shadow:inset 0 0 0 1.5px var(--ink)}
.plan .after{color:var(--ink-2);font-size:16px;text-align:center}
.plan > p:not(.amt):not(.after){font-size:16px}
.limits{margin-top:8px;background:var(--stone);border-radius:6px}
.limits summary{cursor:pointer;list-style:none;display:flex;justify-content:space-between;padding:16px 20px}
.limits summary::-webkit-details-marker{display:none}
.limits summary::after{content:"→";transition:transform .25s}
.limits[open] summary::after{transform:rotate(90deg)}
.tbl{overflow-x:auto;padding:0 20px 20px}
table{width:100%;min-width:560px;border-collapse:collapse;font-size:14px;font-variant-numeric:tabular-nums}
th,td{text-align:left;padding:10px 8px;border-bottom:1px solid var(--line)}
th{font-weight:400}

/* faq */
.faq{display:grid;gap:var(--head-gap)}
@media (min-width:980px){.faq{grid-template-columns:1fr 1.2fr;gap:8%}}
.faq .h2{margin:14px 0 16px}
.qa{border-top:1.5px solid var(--ink)}
.qa details{border-bottom:1px solid var(--line)}
.qa summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;gap:20px;padding-block:20px;font-size:18px}
.qa summary::-webkit-details-marker{display:none}
.qa summary::after{content:"→";transition:transform .25s}
.qa details[open] summary::after{transform:rotate(90deg)}
.qa details p{padding:0 36px 20px 0;color:var(--ink-2);max-width:36em;font-size:16px}

/* closer */
.closer{display:grid;gap:8px}
@media (min-width:900px){.closer{grid-template-columns:1fr 1fr}}
.closer .say{justify-content:center;gap:0}
.closer .h2{margin:16px 0 28px}
.closer .note{margin-top:14px;font-size:16px}

/* footer */
.site-foot{padding-top:clamp(72px,9vw,128px);overflow:hidden}
.f-cols{display:grid;gap:28px;grid-template-columns:1fr 1fr}
@media (min-width:900px){.f-cols{grid-template-columns:2fr 1fr 1fr 1fr}}
.f-cols .col{display:grid;gap:10px;align-content:start}
.f-cols .caps{color:var(--ink-2);margin-bottom:4px}
.f-cols a{text-decoration:none;font-size:15px}
.f-cols a:hover{text-decoration:underline;text-underline-offset:4px}
.f-cols .blurb{color:var(--ink-2);font-size:15px;max-width:24em}
.giant{font:400 clamp(84px,20.5vw,330px)/.8 var(--sans);letter-spacing:-.06em;color:var(--sun);-webkit-text-stroke:2px var(--ink);
  text-shadow:1px 1px 0 var(--ink),2px 2px 0 var(--ink),3px 3px 0 var(--ink),4px 4px 0 var(--ink),5px 5px 0 var(--ink),6px 6px 0 var(--ink),7px 7px 0 var(--ink),8px 8px 0 var(--ink);
  margin-top:56px;padding-bottom:.06em;white-space:nowrap;user-select:none}
.giant span{color:var(--sky)}
.f-bot{display:flex;flex-wrap:wrap;justify-content:space-between;gap:10px;padding-block:18px calc(24px + env(safe-area-inset-bottom,0px));color:var(--ink-2)}
.f-bot a{color:inherit}

/* sticky mobile CTA */
.dock{position:fixed;left:0;right:0;bottom:0;z-index:45;padding:10px 16px calc(10px + env(safe-area-inset-bottom,0px));background:var(--paper);border-top:1.5px solid var(--ink);display:flex;align-items:center;justify-content:space-between;gap:12px;transform:translateY(110%);transition:transform .3s ease}
.dock.on{transform:none}
.dock p{font-size:14px;line-height:1.3}
.dock .btn{min-height:46px;padding:4px 4px 4px 16px;gap:10px;font-size:15px}
.dock .btn .arr{width:36px;height:36px}
@media (min-width:900px){.dock{display:none}}

/* contact */
.c-grid{display:grid;gap:8px}
@media (min-width:980px){.c-grid{grid-template-columns:.9fr 1.1fr}}
.c-say{padding:clamp(24px,4vw,48px);display:flex;flex-direction:column;gap:24px}
.c-art{height:160px;margin-top:auto}
.c-art svg{width:100%;height:100%}
.direct{background:var(--sun);border-radius:14px;padding:18px 20px;display:grid;gap:10px}
.direct .addr{display:flex;flex-wrap:wrap;align-items:center;gap:10px 14px}
.direct .addr b{font-weight:400;font-size:22px;user-select:all;word-break:break-all}
.copy{border:1.5px solid var(--ink);background:var(--paper);border-radius:999px;padding:6px 12px;cursor:pointer}
.copy:hover{background:var(--ink);color:#fff}
.quick{border-top:1.5px solid var(--ink)}
.quick a{display:flex;justify-content:space-between;gap:16px;padding-block:14px;border-bottom:1px solid var(--line);text-decoration:none}
.quick a:hover{text-decoration:underline;text-underline-offset:4px}
.c-form{padding:clamp(20px,4vw,48px)}
.form-card{background:var(--paper);border:1.5px solid var(--ink);border-radius:14px;padding:clamp(20px,3vw,36px);box-shadow:var(--hard)}
.form-card form{display:grid;gap:18px}
.f2{display:grid;gap:18px}
@media (min-width:640px){.f2{grid-template-columns:1fr 1fr;align-items:start}}
.field{display:grid;gap:8px}
.field label{font-size:15px}
.field label small{color:var(--ink-2)}
.field input,.field select,.field textarea{width:100%;min-height:52px;padding:13px 14px;border:1.5px solid rgba(18,18,18,.4);border-radius:10px;background:#fff;font-size:16px}
.field textarea{min-height:160px;resize:vertical;line-height:1.45}
.field select{appearance:none;-webkit-appearance:none;background-image:linear-gradient(45deg,transparent 50%,var(--ink) 50%),linear-gradient(135deg,var(--ink) 50%,transparent 50%);background-position:calc(100% - 20px) 50%,calc(100% - 14px) 50%;background-size:6px 6px;background-repeat:no-repeat;padding-right:40px}
.field input:focus,.field select:focus,.field textarea:focus{outline:0;border-color:var(--ink);box-shadow:0 0 0 3px var(--sun)}
.field [aria-invalid="true"]{border-color:#c62f45}
.err{color:#b3263b;font-size:14px}
.err:empty{display:none}
.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.form-foot{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:14px}
.form-foot p{font-size:14px;color:var(--ink-2);max-width:30em}
.status{border-radius:10px;padding:14px 16px;font-size:15px}
.status:empty{display:none}
.status.bad{background:#ffe3e7}
.sent{display:grid;gap:16px;justify-items:start}
.sent p{color:var(--ink-2);max-width:30em}
.tick{width:64px;height:64px;border-radius:50%;background:var(--leaf);display:grid;place-items:center}
.tick::after{content:"";width:22px;height:12px;border-left:3px solid var(--ink);border-bottom:3px solid var(--ink);transform:rotate(-45deg) translate(2px,-2px)}

/* subtext: 16px on a 20px line, everywhere */
.lead,.hero .lead,.hero .note,.step p,.vow p,.btile p.d,.plan > p:not(.amt),.qa details p,.closer .note{font-size:16px;line-height:20px}

/* scroll reveal (added by assets/motion.js only to blocks below the fold) */
.reveal{opacity:0;transform:translateY(14px);transition:opacity .7s cubic-bezier(.2,.7,.2,1),transform .7s cubic-bezier(.2,.7,.2,1);transition-delay:var(--d,0ms)}
.reveal.in{opacity:1;transform:none}
.hero-art{will-change:transform}

@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  .trail{animation:none;stroke-dashoffset:0}
  *,*::before,*::after{animation:none!important;transition:none!important}
}
