/* AVELaunch Web Page Builder — page styles. Brand values: brand/BRAND.md (Site 2026). */
:root{
  --page:#F8F7F4;        /* editorial-white-300 */
  --page-warm:#EEEAE3;   /* editorial-white-400 */
  --ink:#0B1424;         /* rich-black-500 */
  --brand:#7C9EC7;       /* vista-blue-500 */
  --soft:#C7D2E3;        /* rich-black-200 / rule */
  --amber:#E0A800;       /* amber-400, buttons */
  --amber-hi:#F2BB16;    /* amber-300, small marks on ink */
  --muted:#5D6C86;       /* rich-black-400, only on --page and lighter */
  --white:#FFFFFF;
  --f:'Mulish',system-ui,-apple-system,'Segoe UI',sans-serif;
  --script:'Comforter',cursive;
  --t-fine:13px; --t-body:16px; --t-lead:25px; --t-h2:40px; --t-h1:40px; --t-script:40px;
  --gut:16px; --pad:64px; --rule:1.5px; --frame:3px;
  --ease:cubic-bezier(.2,0,.38,.9); --ease-in:cubic-bezier(.22,1,.36,1);
}
@media (min-width:1024px){:root{--t-body:17px;--t-lead:26px;--t-h2:50px;--t-h1:100px;--t-script:100px;--gut:50px;--pad:125px}}
@font-face{font-family:'Mulish';font-style:normal;font-weight:200 1000;font-display:swap;src:url(fonts/mulish.woff2) format('woff2')}
@font-face{font-family:'Comforter';font-style:normal;font-weight:400;font-display:swap;src:url(fonts/comforter.woff2) format('woff2')}

*,*::before,*::after{box-sizing:border-box}
[hidden]{display:none!important}
html{scroll-behavior:auto;interpolate-size:allow-keywords}
html.motion{scroll-behavior:smooth}
body{margin:0;background:var(--page);color:var(--ink);font:400 var(--t-body)/1.55 var(--f);overflow-x:clip}
img{display:block;max-width:100%;height:auto}
a{color:inherit;text-underline-offset:.3em}
:focus-visible{outline:3px solid var(--amber);outline-offset:3px}
.wrap{width:calc(100% - 2*var(--gut));max-width:1820px;margin-inline:auto}
.vh{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
section{position:relative}
main>section{overflow-x:clip}
html{overflow-x:clip}

/* type */
h1,h2,h3{margin:0;font-weight:950;text-transform:uppercase;letter-spacing:.04em;line-height:1.02;text-wrap:balance}
h2{font-size:var(--t-h2)}
h3{font-size:var(--t-lead);line-height:1.15}
p{margin:0}
.label{font:850 var(--t-fine)/1.35 var(--f);letter-spacing:.16em;text-transform:uppercase}
.lead{font-size:var(--t-lead);line-height:1.35;font-weight:400}
.script{font-family:var(--script);font-weight:400;text-transform:none;letter-spacing:0;font-size:var(--t-script);line-height:.8}
.measure{max-width:60ch}

/* buttons: square, amber fill, 3 px border, uppercase black */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:12px;min-height:56px;padding:0 26px;background:var(--amber);color:var(--ink);border:3px solid var(--amber);border-radius:0;font:1000 var(--t-fine)/1 var(--f);letter-spacing:.16em;text-transform:uppercase;text-decoration:none;white-space:nowrap;cursor:pointer;transition:transform .2s var(--ease),box-shadow .2s var(--ease)}
.btn svg{width:18px;height:18px;flex:none}
.btn:hover,.btn:focus-visible{transform:translateY(-3px);box-shadow:0 3px 0 var(--ink)}
.on-ink .btn:hover,.on-ink .btn:focus-visible{box-shadow:0 3px 0 var(--amber-hi)}
.btn.line{background:transparent;color:var(--page)}
.btn.sm{min-height:44px;padding:0 16px}
.tlink{font:900 var(--t-fine)/1 var(--f);letter-spacing:.14em;text-transform:uppercase;display:inline-flex;align-items:center;min-height:44px;text-decoration:underline;text-decoration-thickness:2px}
.facts{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:6px 20px;font-size:var(--t-fine);font-weight:750;letter-spacing:.02em}
.facts li{display:flex;align-items:center;gap:8px}
.facts li::before{content:"";width:8px;height:8px;background:var(--amber);flex:none}

/* header */
.top{display:flex;align-items:center;justify-content:space-between;gap:16px;height:64px}
.top .logo{display:block;width:140px;color:var(--ink)}
.top .logo svg{display:block;width:100%;height:auto}
.top nav{display:flex;align-items:center;gap:28px;font:900 var(--t-fine)/1 var(--f);letter-spacing:.14em;text-transform:uppercase;white-space:nowrap}
.top nav a:not(.btn){text-decoration:none;display:none}
.top nav a:not(.btn):hover{text-decoration:underline;text-decoration-thickness:2px}
@media (min-width:1024px){.top{height:84px}.top .logo{width:190px}.top nav a:not(.btn){display:inline}}

/* ============ 1 · first screen (library H0 + H3) ============ */
.hero{padding:6px 0 56px}
.hero .kicker{margin:6px 0 14px}
.hero h1{font-size:var(--t-h1);line-height:1}
.hero h1 .script{display:inline-block;margin-left:.12em;transform:rotate(-6deg) translateY(.08em)}
.hero .cols{display:grid;gap:18px;margin-top:18px}
@media (max-width:1023px){.hero .copy{display:contents}.hero .acts{order:1;margin-top:0}.hero .facts{order:2;margin-top:0}.stage{order:3}.hero .copy p.lead{order:4}}
.hero .copy p.lead{font-size:var(--t-body);line-height:1.55}
.hero .acts{display:flex;flex-wrap:wrap;gap:6px 24px;align-items:center;margin-top:18px}
.hero .facts{margin-top:14px}
.stage{position:relative;padding-top:4px}
.stage .bigflake{position:absolute;z-index:0;color:var(--soft);width:150%;aspect-ratio:1;right:-46%;top:-18%;pointer-events:none}
.prompt{position:relative;z-index:4;display:inline-flex;align-items:center;gap:10px;background:var(--ink);color:var(--page);padding:11px 16px;font-weight:700;max-width:100%}
.prompt svg{width:20px;height:20px;flex:none;color:var(--amber-hi)}
.prompt .caret{display:inline-block;width:2px;height:1.1em;background:var(--amber-hi);margin-left:2px;vertical-align:-3px}
.fan{position:relative;z-index:2;height:calc((100vw - 32px) * .42);margin-top:16px}
.fan figure{position:absolute;margin:0;width:68%;transition:transform .4s var(--ease),z-index 0s .2s}
.fan figure{border:var(--frame) solid var(--ink);background:var(--white)}
.fan img{width:100%}
.fan figure.front{box-shadow:10px 10px 0 var(--ink)}
.fan figure[data-d="1"]{left:0;top:14%;z-index:1}
.fan figure[data-d="2"]{left:17%;top:0;z-index:3}
.fan figure[data-d="3"]{left:32%;top:24%;z-index:2}
.fan figure.front{z-index:5!important}
.pick{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px;position:relative;z-index:4}
.pick button{font:900 var(--t-fine)/1 var(--f);letter-spacing:.12em;text-transform:uppercase;min-height:44px;padding:0 14px;border:2px solid var(--ink);background:var(--page);color:var(--ink);border-radius:0;cursor:pointer;transition:background .2s var(--ease)}
.pick button:hover{background:var(--soft)}
.pick button[aria-pressed="true"]{background:var(--ink);color:var(--page)}
.stage .cap{position:relative;z-index:4;font-size:var(--t-body);font-weight:600;margin-top:10px;max-width:60ch;background:var(--page);display:inline-block}
@media (min-width:1024px){
  .hero{padding:0 0 var(--pad)}
  .hero .kicker{margin:10px 0 18px}
  .hero .cols{grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:60px;margin-top:34px;align-items:start}
  .hero .copy p.lead{font-size:var(--t-lead);line-height:1.35}
  .hero .acts{margin-top:28px}
  .fan{height:calc((100vw - 100px) * 7 / 12 * .42);max-height:520px;margin-top:22px}
  .stage .bigflake{width:118%;right:-40%;top:-6%}
}
/* signature moment: the three pages deal out of the prompt, once */
.motion .fan.deal figure{animation:deal 1s var(--ease-in) both}
.motion .fan.deal figure[data-d="1"]{animation-delay:.35s}
.motion .fan.deal figure[data-d="2"]{animation-delay:.5s}
.motion .fan.deal figure[data-d="3"]{animation-delay:.65s}
@keyframes deal{from{opacity:0;transform:translate(-10%,-34%) scale(.55)}to{opacity:1;transform:none}}

/* ============ 2 · the most common no (soft) ============ */
.no{background:var(--soft);padding:var(--pad) 0}
.no .grid{display:grid;gap:40px}
.no blockquote{margin:0}
.no blockquote h2{text-transform:none;letter-spacing:0;font-weight:950}
.no .answer{margin-top:28px;font-size:var(--t-lead);font-weight:950;text-transform:uppercase;letter-spacing:.06em;line-height:1.15}
.no .body{margin-top:18px;display:grid;gap:14px}
.no .alex{margin-top:24px;padding-left:18px;border-left:3px solid var(--ink);font-weight:700}
.shot{position:relative;margin:0 0 -110px}
.browser{background:var(--white);border:var(--frame) solid var(--ink)}
.browser .bar{display:flex;align-items:center;gap:8px;padding:9px 12px;border-bottom:var(--frame) solid var(--ink);font:850 var(--t-fine)/1 var(--f);letter-spacing:.04em;background:var(--page)}
.browser .bar i{width:10px;height:10px;background:var(--soft);flex:none}
.browser .bar span{margin-left:8px}
.scroller{height:420px;overflow-y:auto;overscroll-behavior:contain;background:var(--white)}
.scroller img{width:100%}
.shot .phone{position:absolute;width:31%;max-width:190px;right:-10px;bottom:-40px;padding:6px;background:var(--ink);z-index:2}
.shot .phone img{width:100%}
.shot figcaption{font-size:var(--t-body);font-weight:600;margin-top:14px;max-width:34ch}
@media (max-width:1023px){.shot figcaption{max-width:calc(69% - 16px)}}
@media (min-width:1024px){
  .no .grid{grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:80px;align-items:start}
  .scroller{height:600px}
  .shot .phone{right:-60px;bottom:-60px;width:36%;max-width:220px}
}

/* ============ 3 · their words (page) ============ */
.words{padding:calc(var(--pad) + 110px) 0 var(--pad)}
.words .head{display:grid;gap:18px}
.ledger{list-style:none;margin:40px 0 0;padding:0;border-top:var(--frame) solid var(--ink)}
.ledger li{display:grid;gap:8px;padding:22px 0;border-bottom:var(--rule) solid var(--soft)}
.ledger q{font-size:var(--t-lead);font-weight:900;line-height:1.2;quotes:"“" "”"}
.ledger p{max-width:52ch}
.notfor{margin-top:40px;background:var(--page-warm);padding:26px 22px}
.notfor ul{margin:12px 0 0;padding-left:20px;display:grid;gap:6px}
@media (min-width:1024px){
  .words .head{grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:60px;align-items:end}
  .ledger li{grid-template-columns:minmax(0,6fr) minmax(0,5fr);gap:60px;align-items:baseline;padding:28px 0}
  .words .lower{display:grid;grid-template-columns:minmax(0,8fr) minmax(0,4fr);gap:60px;align-items:start}
  .notfor{margin-top:40px;margin-right:calc(-1*var(--gut));padding:34px var(--gut) 34px 34px}
}

/* ============ 4 · how it builds (ink) ============ */
.how{background:var(--ink);color:var(--page);padding:var(--pad) 0;overflow:hidden}
.how .head{display:grid;gap:18px}
.how .lead{color:var(--soft)}
.time{margin:44px 0 0;display:grid;gap:14px}
.time .row{display:grid;grid-template-columns:110px minmax(0,1fr);gap:14px;align-items:center;font-weight:800;font-size:var(--t-fine);letter-spacing:.1em;text-transform:uppercase}
.time .bar{height:22px;background:var(--amber-hi)}
.time .bar.claude{background:var(--brand)}
.time .bar.classic{background:transparent;border:2px solid var(--soft);border-right:0;margin-right:calc(-1*var(--gut) - 40px)}
.time .bar span{display:block;height:100%}
.log{list-style:none;margin:56px 0 0;padding:0;border-top:var(--rule) solid var(--muted);counter-reset:s}
.log li{display:grid;grid-template-columns:40px minmax(0,1fr);gap:4px 16px;padding:18px 0;border-bottom:var(--rule) solid color-mix(in srgb,var(--muted) 55%,var(--ink))}
.log li svg{width:30px;height:30px;color:var(--muted);transition:color .4s var(--ease),transform .6s var(--ease-in);grid-row:span 2}
.log li.lit svg{color:var(--amber-hi);transform:rotate(30deg)}
.log .who{font:900 var(--t-fine)/1.3 var(--f);letter-spacing:.14em;text-transform:uppercase;color:var(--brand)}
.log .who b{color:var(--amber-hi);font-weight:900}
.log li p{color:var(--page)}
.how .side{margin-top:40px}
.how .side img{width:100%;max-width:300px;filter:grayscale(1)}
.how .side p{font-size:var(--t-fine);font-weight:600;color:var(--soft);margin-top:10px;max-width:34ch}
@media (min-width:1024px){
  .how .head{grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:60px;align-items:end}
  .time .row{grid-template-columns:170px minmax(0,1fr)}
  .how .body{display:grid;grid-template-columns:minmax(0,8fr) minmax(0,3fr);gap:70px;align-items:start}
  .log li{grid-template-columns:52px minmax(0,4fr) minmax(0,7fr);align-items:center;padding:20px 0}
  .log li svg{grid-row:auto}
  .how .side{position:sticky;top:120px;margin-top:56px}
}

/* ============ 5 · the library (warm) ============ */
.lib{background:var(--page-warm);padding:var(--pad) 0;overflow:hidden}
.lib .head{display:grid;gap:18px}
.lib .head .script{display:block;margin-bottom:-.12em}
.strips{margin-top:50px;display:grid;gap:14px}
.strip{display:flex;gap:14px;width:max-content}
.strip:nth-child(2){margin-left:-120px}
.strip figure{margin:0;width:220px;flex:none}
.strip img{width:100%;aspect-ratio:8/5;object-fit:cover;border:var(--frame) solid var(--ink)}
.strip figcaption{font:800 var(--t-fine)/1.3 var(--f);letter-spacing:.08em;text-transform:uppercase;margin-top:8px}
.lib .note{margin-top:24px;font-size:var(--t-fine);font-weight:600}
@media (min-width:1024px){.lib .head{grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:60px;align-items:end}.strip figure{width:300px}.strip:nth-child(2){margin-left:-170px}}
@supports (animation-timeline:view()){
  .motion .strip{animation:drift linear both;animation-timeline:view();animation-range:cover}
  .motion .strip:nth-child(2){animation-name:drift2}
  @keyframes drift{from{transform:translateX(0)}to{transform:translateX(-14%)}}
  @keyframes drift2{from{transform:translateX(-10%)}to{transform:translateX(4%)}}
}

/* ============ 6 · it learns (brand) ============ */
.learn{background:var(--brand);color:var(--ink);padding:var(--pad) 0 0;overflow:hidden}
.learn .grid{display:grid;gap:30px}
.learn h2 .script{display:block;margin-top:.15em;font-size:var(--t-script);text-transform:none}
.learn .story{font-size:var(--t-lead);line-height:1.3;font-weight:800;margin-top:22px;max-width:30ch}
.learn .body{margin-top:18px;display:grid;gap:12px;max-width:56ch}
.learn .acts{margin-top:26px;display:flex;flex-wrap:wrap;gap:8px 24px;align-items:center}
.rules{list-style:none;margin:36px 0 0;padding:0;display:grid;gap:0;border-top:var(--frame) solid var(--ink);max-width:620px}
.rules li{padding:16px 0;border-bottom:var(--rule) solid color-mix(in srgb,var(--ink) 35%,var(--brand))}
.rules .was{font-weight:600}
.rules .rule{font-weight:900;margin-top:4px}
.rules .rule::before{content:"Rule: ";font:900 var(--t-fine)/1 var(--f);letter-spacing:.14em;text-transform:uppercase}
.avalanche{position:relative;margin:30px calc(-1*var(--gut)) 0;height:320px}
.avalanche svg.slope{position:absolute;inset:auto 0 0 0;width:100%;height:100%;color:var(--ink)}
.avalanche .snow{fill:var(--page)}
.avalanche .pile{position:absolute;inset:0}
.avalanche .fl{position:absolute;color:var(--page)}
.avalanche .fl svg{display:block;width:100%;height:100%}
@media (min-width:1024px){
  .learn .grid{grid-template-columns:minmax(0,6fr) minmax(0,6fr);gap:60px;align-items:end}
  .avalanche{margin:0 calc(-1*var(--gut)) 0 0;height:720px}
  .learn{padding-bottom:0}
}
@supports (animation-timeline:view()){
  .motion .avalanche .pile{animation:settle linear both;animation-timeline:view();animation-range:entry 10% cover 50%}
  @keyframes settle{from{clip-path:inset(0 0 0 70%)}to{clip-path:inset(0 0 0 0)}}
}

/* ============ 7 · install (page) ============ */
.install{padding:var(--pad) 0}
.install .head{display:grid;gap:18px}
.steps{list-style:none;margin:44px 0 0;padding:0;display:grid;gap:0}
.steps li{display:grid;grid-template-columns:64px minmax(0,1fr);gap:16px;padding:22px 0;border-top:var(--rule) solid var(--soft)}
.steps li:last-child{border-bottom:var(--rule) solid var(--soft)}
.steps .n{position:relative;width:64px;height:64px;color:var(--ink)}
.steps .n svg{width:64px;height:64px}
.steps .n b{position:absolute;right:-6px;bottom:-4px;font:1000 var(--t-fine)/1 var(--f);background:var(--amber);padding:4px 6px}
.steps h3{margin-bottom:6px}
.steps li.last .n{color:var(--amber)}
.steps li.last .n b{background:var(--ink);color:var(--page)}
.connect{margin-top:40px;background:var(--ink);color:var(--page);padding:28px 22px}
.connect ul{margin:14px 0 0;padding:0;list-style:none;display:grid;gap:10px}
.connect li{padding-left:20px;position:relative}
.connect li::before{content:"";position:absolute;left:0;top:.6em;width:8px;height:8px;background:var(--amber-hi)}
.connect a{color:var(--page)}
@media (min-width:1024px){
  .install .head{grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:60px;align-items:end}
  .install .body{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:60px;align-items:start}
  .steps li{grid-template-columns:90px minmax(0,1fr);gap:24px}
  .steps .n,.steps .n svg{width:80px;height:80px}
  .connect{margin-top:44px;position:sticky;top:110px;padding:34px}
}

/* ============ 8 · planner (soft) ============ */
.plan{background:var(--soft);padding:var(--pad) 0}
.plan .grid{display:grid;gap:34px}
.plan fieldset{border:0;margin:0 0 22px;padding:0}
.plan legend{font:900 var(--t-fine)/1.3 var(--f);letter-spacing:.14em;text-transform:uppercase;margin-bottom:10px;padding:0}
.choices{display:flex;flex-wrap:wrap;gap:8px}
.choices label{position:relative;display:inline-flex;align-items:center;min-height:48px;padding:0 16px;border:2px solid var(--ink);background:var(--page);font-weight:800;cursor:pointer;transition:background .2s var(--ease)}
.choices label:hover{background:var(--white)}
.choices input{position:absolute;opacity:0;inset:0;margin:0;cursor:pointer}
.choices label:has(input:checked){background:var(--ink);color:var(--page)}
.choices label:has(input:focus-visible){outline:3px solid var(--amber);outline-offset:3px}
.plan output{display:block;background:var(--page);border:var(--frame) solid var(--ink);padding:24px 22px}
.plan output ol{margin:12px 0 0;padding-left:22px;display:grid;gap:10px}
.plan output .label{display:block}
.sheet{margin:34px 0 0}
@media (max-width:1023px){.plan .grid>div:first-child{display:contents}.plan .sheet{order:3}.plan .planner{order:2}}
.sheet img{width:100%;border:var(--frame) solid var(--ink)}
.sheet figcaption{margin-top:12px;font-weight:600;max-width:52ch}
@media (min-width:1024px){.sheet{margin:46px 0 0}}
@media (min-width:1024px){.plan .grid{grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:70px;align-items:start}.plan output{padding:34px;box-shadow:12px 12px 0 var(--ink)}}

/* ============ 9 · founder (warm) — library P3 ============ */
.founder{background:var(--page-warm);padding:var(--pad) 0}
.founder .grid{display:grid;gap:40px}
.founder .pics{position:relative;padding-bottom:40px}
.founder .room{width:100%;aspect-ratio:3/2;object-fit:cover}
.founder .alex{position:absolute;right:4%;bottom:0;width:46%;filter:grayscale(1)}
.founder .alex img{width:100%}
.founder blockquote{margin:22px 0 0;font-size:var(--t-lead);line-height:1.3;font-weight:800;max-width:30ch;padding-left:18px;border-left:3px solid var(--ink)}
.founder .creds{margin-top:22px;display:grid;gap:10px;max-width:56ch}
@media (min-width:1024px){
  .founder .grid{grid-template-columns:minmax(0,7fr) minmax(0,4fr);gap:80px;align-items:center}
  .founder .pics{padding-bottom:0;margin-left:calc(-1*var(--gut))}
  .founder .alex{width:44%;right:-6%;bottom:-60px}
}

/* ============ 10 · questions (page) — library P7 ============ */
.faq{padding:var(--pad) 0}
.faq .grid{display:grid;gap:34px}
.qa{border-top:var(--frame) solid var(--ink)}
.qa details{border-bottom:var(--rule) solid var(--soft)}
.qa summary{list-style:none;display:grid;grid-template-columns:minmax(0,1fr) 34px;gap:16px;align-items:center;min-height:64px;padding:16px 0;cursor:pointer;font-weight:900;font-size:var(--t-body)}
.qa summary::-webkit-details-marker{display:none}
.qa .pm{position:relative;width:34px;height:34px;border:2px solid var(--ink)}
.qa .pm::before,.qa .pm::after{content:"";position:absolute;left:50%;top:50%;width:14px;height:3px;background:currentColor;transform:translate(-50%,-50%);transition:transform .3s var(--ease)}
.qa .pm::after{transform:translate(-50%,-50%) rotate(90deg)}
.qa details[open] .pm::after{transform:translate(-50%,-50%) rotate(0)}
.qa summary:hover .pm{background:var(--soft)}
.qa .a{padding:0 50px 22px 0;display:grid;gap:10px}
.qa details::details-content{block-size:0;overflow:hidden;transition:block-size .32s var(--ease),content-visibility .32s allow-discrete}
.qa details[open]::details-content{block-size:auto}
@media (min-width:1024px){.faq .grid{grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:80px;align-items:start}.faq .head{position:sticky;top:110px}}

/* ============ 11 · closing (ink) ============ */
.close{background:var(--ink);color:var(--page);padding:var(--pad) 0}
.close .grid{display:grid;gap:44px}
.close .prompt{background:var(--page);color:var(--ink);font-size:var(--t-body);margin-top:26px}
.close .prompt svg{color:var(--amber)}
.close .one{display:flex;align-items:center;gap:14px;margin-top:22px;font-weight:700;color:var(--soft)}
.close .one svg{width:44px;height:44px;color:var(--page);flex:none}
.close .acts{display:flex;flex-wrap:wrap;gap:8px 24px;align-items:center;margin-top:26px}
.close .thanks{margin-top:18px;color:var(--soft);max-width:52ch}
.close .thanks a{color:var(--page)}
.close .facts{margin-top:16px;color:var(--page)}
.form{background:var(--page);color:var(--ink);padding:26px 22px;border:var(--frame) solid var(--page)}
.form h3{margin-bottom:8px}
.form label.f{display:block;font:900 var(--t-fine)/1.3 var(--f);letter-spacing:.14em;text-transform:uppercase;margin-top:16px}
.form input[type=text],.form input[type=email]{display:block;width:100%;margin-top:6px;min-height:50px;padding:0 14px;border:2px solid var(--ink);border-radius:0;background:var(--white);font:600 var(--t-body)/1 var(--f);color:var(--ink)}
.form .consent{display:grid;grid-template-columns:24px minmax(0,1fr);gap:10px;margin-top:16px;font-size:var(--t-fine);font-weight:600;line-height:1.45}
.form .consent input{width:22px;height:22px;margin:0;accent-color:var(--ink)}
.form .btn{margin-top:18px;width:100%}
.form .status{margin-top:12px;font-weight:700;font-size:var(--t-fine)}
.form .alt{margin-top:10px;font-size:var(--t-fine);font-weight:600}
@media (min-width:1024px){.close .grid{grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:90px;align-items:start}.form{padding:34px}}

/* footer */
.foot{padding:56px 0 40px;background:var(--page)}
.foot .grid{display:grid;gap:26px}
.foot .logo{display:block;width:170px}
.foot .logo svg{width:100%;height:auto;display:block}
.foot p{max-width:60ch}
.foot ul{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:0 24px}
.foot ul a{display:inline-flex;align-items:center;min-height:44px;font-weight:800}
.foot .legal{font-size:var(--t-fine);font-weight:600;border-top:var(--rule) solid var(--soft);padding-top:18px;margin-top:10px}
@media (min-width:1024px){.foot .grid{grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:60px}}

@media (prefers-reduced-motion:reduce){*,*::before,*::after{transition:none!important;animation:none!important}}
