/* BM Construções e Reformas · site.css v2 (editorial claro)
   Só tokens (tokens.css). Zero hex, zero nome de fonte, zero rgba fixo: overlay = color-mix.
   Raio 0 e sombra none em tudo (tokens). Seções têm o <style> escopado por #id no próprio HTML. */

/* ---------- reset ---------- */
*,*::before,*::after{box-sizing:border-box}
html{overflow-x:clip;-webkit-text-size-adjust:100%;scroll-padding-top:calc(var(--header-h) + 16px)}
body{margin:0;background:var(--c-bg);color:var(--c-text);font:var(--fw-body) var(--fs-body)/var(--lh-body) var(--font-body);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
img,svg,video,picture{display:block;max-width:100%}
img{height:auto}
h1,h2,h3,h4,p,figure,blockquote,dl,dd,ol,ul{margin:0}
ol,ul{padding:0;list-style:none}
a{color:inherit}
button{font:inherit;color:inherit;background:none;border:0;padding:0;cursor:pointer;border-radius:var(--r-sm)}
/* v2b: ênfase por peso (500) e tinta marinho, nunca itálico */
em{font-style:normal;font-weight:var(--fw-strong)}
:is(.t-h1,.t-h2,.t-h3,.t-statement,.t-quote) em{color:var(--c-primary)}
:is(#topo,#orcamento,#avaliacao,#area-comum,#acompanhamento) :is(.t-h1,.t-h2) em{color:inherit}
::selection{background:var(--c-primary);color:var(--c-on-dark)}
:focus-visible{outline:1px solid var(--c-primary);outline-offset:4px}
.sr{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0;padding:0;margin:-1px}

/* Lenis (só quando ativo; sem scroll-behavior:smooth somado) */
html.lenis,html.lenis body{height:auto}
.lenis.lenis-smooth{scroll-behavior:auto!important}
.lenis.lenis-smooth [data-lenis-prevent]{overscroll-behavior:contain}
.lenis.lenis-stopped{overflow:hidden}
/* galeria e menu abertos travam a página também no scroll nativo (html tem overflow-x:clip, o overflow do body não propaga) */
html:has(.lb.is-open),html.menu-open{overflow:hidden}

/* ---------- layout ---------- */
/* grid padrão BuildV: container 1200 com --px dentro (= .container do banco de componentes) */
.wrap{width:100%;max-width:var(--container);margin-inline:auto;padding-inline:var(--px)}
/* margem do container para texto sobre/ao lado de foto que sangra: --edge (filho de bloco de largura total), --edge-half (coluna de meia tela) */
:root{--edge:max(var(--px),calc((100% - var(--container)) / 2 + var(--px)));--edge-half:max(var(--px),calc((200% - var(--container)) / 2 + var(--px)))}
.sec{padding-block:var(--section-y);position:relative}
.sec--sand{background:var(--c-surface)}

/* ---------- tipografia: um papel = uma classe (escala e ritmo em tokens.css) ----------
   Seção nenhuma redefine tamanho, peso, entrelinha ou tracking: o <style> escopado só posiciona.
   Exceções são papéis próprios (.t-num, .t-feature), nunca ajuste solto. */
.t-h1,.t-h2,.t-statement,.t-quote,.t-h3,.t-num,.t-feature{font-family:var(--font-display);text-wrap:balance}
.t-h1{font-size:var(--fs-h1);font-weight:var(--fw-title);line-height:var(--lh-h1);letter-spacing:var(--ls-title);max-width:var(--measure-h1)}
.t-h2{font-size:var(--fs-h2);font-weight:var(--fw-h2);line-height:var(--lh-h2);letter-spacing:var(--ls-title);max-width:var(--measure-h2)}
.t-statement{font-size:var(--fs-statement);font-weight:var(--fw-title);line-height:var(--lh-statement);letter-spacing:var(--ls-title);max-width:var(--measure-statement)}
.t-quote{font-size:var(--fs-quote);font-weight:var(--fw-title);line-height:var(--lh-statement);letter-spacing:var(--ls-title);max-width:var(--measure-quote)}
.t-h3{font-size:var(--fs-h3);font-weight:var(--fw-h2);line-height:var(--lh-h3);letter-spacing:0}
.t-num{font-size:var(--fs-num);font-weight:var(--fw-title);line-height:var(--lh-num);letter-spacing:0}
.t-feature{font-size:var(--fs-feature);font-weight:var(--fw-title);line-height:var(--lh-num);letter-spacing:var(--ls-title);max-width:12ch}
.t-lead{font-size:var(--fs-lead);font-weight:var(--fw-body);line-height:var(--lh-lead);max-width:var(--measure-lead);text-wrap:pretty}
.t-body{font-size:var(--fs-body);font-weight:var(--fw-body);line-height:var(--lh-body);max-width:var(--measure);text-wrap:pretty}
.t-label,.t-cap,.t-num small{font-family:var(--font-body);font-size:var(--fs-label);font-weight:var(--fw-strong);line-height:var(--lh-label);letter-spacing:var(--ls-label);text-transform:uppercase;color:var(--c-muted)}
.t-cap{margin-top:var(--sp-cap)}
li.t-statement{max-width:none} /* passo em lista: a linha (com o fio) ocupa a coluna */
/* ritmo: um valor por tipo de intervalo */
.t-h2+.t-cap,.t-h2+.t-statement,.t-quote+.t-label{margin-top:var(--sp-title-text)}
.t-label+.t-quote,.t-label+.t-h1{margin-top:var(--sp-label-title)}
.t-h2+:is(dl,ol,ul,.ph),.t-cap+.ph{margin-top:var(--sp-title-block)}
.cta-row{margin-top:var(--sp-text-cta)}
/* lista editorial "rótulo | valor" */
.t-row{display:grid;grid-template-columns:minmax(120px,.38fr) 1fr;gap:clamp(16px,3vw,40px);align-items:baseline;padding-block:var(--sp-row);border-bottom:var(--hair) solid var(--c-n200)}
.t-stack{padding-block:var(--sp-row)}
.t-stack>dd{margin-top:var(--sp-label-value)}
@media (max-width:560px){.t-row{grid-template-columns:1fr;gap:var(--sp-label-value)}}

/* ---------- botão (fino, reto) ---------- */
.btn{display:inline-flex;align-items:center;gap:.9rem;min-height:48px;padding:0 28px;border:var(--hair) solid var(--c-primary);background:var(--c-primary);color:var(--c-on-dark);font:var(--fw-strong) var(--fs-label)/1 var(--font-body);letter-spacing:var(--ls-btn);text-transform:uppercase;text-decoration:none;white-space:nowrap;transition:background var(--dur) var(--ease),color var(--dur) var(--ease),border-color var(--dur) var(--ease)}
.btn span{display:inline-block;transition:transform var(--dur) var(--ease)}
.btn:hover{background:var(--c-primary-dark)}
.btn:hover span{transform:translateX(4px)}
.btn--ph{background:transparent;border-color:color-mix(in srgb,var(--c-on-dark) 80%,transparent);color:var(--c-on-dark)}
.btn--ph:hover{background:var(--c-on-dark);color:var(--c-primary)}
.btn--ph:focus-visible{outline-color:var(--c-on-dark)}
.btn--line{background:transparent;color:var(--c-text);border-color:var(--c-text)}
.btn--line:hover{background:var(--c-text);color:var(--c-bg)}
.cta-row{margin-top:clamp(2.5rem,5vw,4rem)}
/* v2b: em telas muito estreitas o rótulo do botão (13px, caixa alta) pode quebrar em vez de estourar a largura */
@media (max-width:400px){.btn{white-space:normal;padding:12px 20px;line-height:1.35}}

/* ---------- mídia ---------- */
.ph{display:block;position:relative;overflow:hidden;background:var(--c-surface);margin:0}
.ph>img{width:100%;height:100%;object-fit:cover}
.ph--grain::after{content:"";position:absolute;inset:0;pointer-events:none;opacity:.07;mix-blend-mode:overlay;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}
/* gatilho de galeria: botão de rótulo curto esticado sobre a foto (armadilha 1) */
.gal{position:static;font-size:0}
.gal::after{content:"";position:absolute;inset:0;z-index:2;cursor:zoom-in}
.gal:focus-visible{outline:0}
.gal:focus-visible::after{outline:1px solid var(--c-on-dark);outline-offset:-8px}

/* ---------- movimento: ganchos (etapa 7 liga a camada rica; aqui o baseline delicado) ---------- */
html.js [data-reveal]{opacity:0;transform:translateY(14px);transition:opacity .55s var(--ease),transform .8s var(--ease-out)}
html.js [data-reveal].is-in{opacity:1;transform:none}
[data-delay="1"]{transition-delay:.08s!important}[data-delay="2"]{transition-delay:.16s!important}[data-delay="3"]{transition-delay:.2s!important}
html.js .mask{clip-path:inset(100% 0 0 0);transition:clip-path var(--dur-slow) var(--ease-out)}
html.js .mask>img{transform:scale(1.06);transition:transform 1.6s var(--ease-out)}
html.js .mask.is-in{clip-path:inset(0 0 0 0)}
html.js .mask.is-in>img{transform:none}
[data-parallax]{will-change:transform}
:root{--ck-h:0px}
html.js .hero-media{transform:scale(1.1);transition:transform 5.5s var(--ease-out)}
html.js .hero-media.is-set{transform:none}
/* v2b: palavra ainda não acesa nunca fica abaixo de 55% da tinta (legível); acende por tempo, ≤ .8s */
.is-words .w{color:color-mix(in srgb,var(--c-text) 55%,transparent);transition:color .3s var(--ease)}
.is-words .w.on{color:inherit}
.is-odo .odo-w{display:inline-flex;white-space:nowrap}
.is-odo .odo-c{display:inline-block;overflow:hidden;vertical-align:top;padding-bottom:.08em;margin-bottom:-.08em}
.is-odo .odo-c>span{display:inline-block;transform:translateY(105%);transition:transform .55s var(--ease-out);will-change:transform}
.is-odo.is-on .odo-c>span{transform:none}
/* camada rica (etapa 7): delicada, só transform/opacity/clip-path; tudo com antídoto para sem-JS e movimento reduzido */
/* máscara lateral em parte das fotos grandes (o JS marca data-mk; o resto sobe de baixo) */
html.js .mask[data-mk="l"]:not(.is-in){clip-path:inset(0 100% 0 0)}
html.js .mask[data-mk="r"]:not(.is-in){clip-path:inset(0 0 0 100%)}
/* títulos serifados: palavras sobem 14px com fade, em sequência curta */
html.js [data-reveal].is-split{opacity:1;transform:none;transition:none}
html.js .is-split .tw{display:inline-block;opacity:0;transform:translateY(14px);transition:opacity .5s var(--ease) calc(var(--i,0) * 28ms),transform .55s var(--ease-out) calc(var(--i,0) * 28ms)}
html.js .is-split.is-in .tw{opacity:1;transform:none}
/* filete laranja do índice desenha da esquerda */
html.js .idx::before{transform:scaleX(0);transform-origin:left center;transition:transform 1s var(--ease-out) .1s}
html.js .idx.is-in::before{transform:none}
/* parallax: a foto ganha folga de escala própria (propriedade scale, sem brigar com o transform da máscara) */
.is-px{will-change:translate}
/* contador de passos rola como odômetro (animação curta via JS) */
[data-step-now]{display:inline-block}
/* planta (blueprint-draw): o fio superior das listas é traçado ao entrar */
html.js.mv-bp :is(#escopo,#plano,#engenheiro) :is(.esA-tab,.plB-steps,.enB-list){position:relative;border-top-color:transparent}
html.js.mv-bp :is(#escopo,#plano,#engenheiro) :is(.esA-tab,.plB-steps,.enB-list)::before{content:"";position:absolute;left:0;right:0;top:calc(var(--hair) * -1);height:var(--hair);background:var(--c-text);transform:scaleX(0);transform-origin:left center;transition:transform 1.4s var(--ease-out) .1s}
html.js.mv-bp :is(#escopo,#plano,#engenheiro) :is(.esA-tab,.plB-steps,.enB-list).is-in::before{transform:none}
@media (prefers-reduced-motion:reduce){
  html.js .hero-media{transform:none;transition:none}
  html.js [data-reveal],html.js .mask,html.js .mask>img,html.js .is-split .tw{opacity:1!important;transform:none!important;clip-path:none!important;transition:none!important}
  html.js .idx::before{transform:none;transition:none}
  html.js.mv-bp :is(#escopo,#plano,#engenheiro) :is(.esA-tab,.plB-steps,.enB-list)::before{transform:none;transition:none}
  .is-px{translate:none!important;scale:none!important}
}

/* ---------- header ---------- */
.hd{position:fixed;inset:0 0 auto 0;z-index:40;height:var(--header-h);display:flex;align-items:center;background:color-mix(in srgb,var(--c-bg) 93%,transparent);border-bottom:var(--hair) solid color-mix(in srgb,var(--c-n200) 80%,transparent);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}
.hd .wrap{display:flex;align-items:center;justify-content:space-between;gap:24px}
.hd__brand{display:block;line-height:0}
.hd__brand img{width:120px;height:auto}
.hd__r{display:flex;align-items:center;gap:clamp(16px,2.4vw,32px)}
.hd .btn{min-height:40px;padding:0 20px;background:transparent;color:var(--c-text);border-color:var(--c-text)}
.hd .btn:hover{background:var(--c-text);color:var(--c-bg)}
.hd__menu{display:inline-flex;align-items:center;gap:12px;height:40px;font-size:var(--fs-eyebrow);letter-spacing:var(--tracking-eyebrow);text-transform:uppercase;font-weight:500}
.hd__bars{display:inline-flex;flex-direction:column;gap:6px;width:26px}
.hd__bars i{display:block;height:1px;background:currentColor;transition:transform var(--dur) var(--ease)}
.hd__menu:hover .hd__bars i:last-child{transform:translateX(6px)}
@media (max-width:640px){.hd .btn{display:none}.hd__brand img{width:108px}}

/* ---------- menu em tela cheia ---------- */
.mn{position:fixed;inset:0;z-index:60;background:var(--c-bg);display:grid;grid-template-columns:1fr minmax(260px,32vw);visibility:hidden;clip-path:inset(0 0 100% 0);transition:clip-path .7s var(--ease-out),visibility 0s linear .7s}
.mn.is-open{visibility:visible;clip-path:inset(0 0 0 0);transition:clip-path .7s var(--ease-out),visibility 0s}
.mn__main{position:relative;display:flex;flex-direction:column;padding:calc(var(--header-h) + clamp(24px,5vh,56px)) var(--px) clamp(28px,5vh,48px);overflow:auto}
.mn__top{position:absolute;top:0;left:0;right:0;height:var(--header-h);display:flex;align-items:center;justify-content:space-between;padding-inline:var(--px);border-bottom:var(--hair) solid var(--c-n200)}
.mn__top img{width:120px;height:auto}
.mn__close{display:inline-flex;align-items:center;gap:12px;height:40px;font-size:var(--fs-eyebrow);letter-spacing:var(--tracking-eyebrow);text-transform:uppercase;font-weight:500}
.mn__x{position:relative;width:20px;height:20px}
.mn__x::before,.mn__x::after{content:"";position:absolute;left:0;right:0;top:50%;height:1px;background:currentColor;transform:rotate(45deg)}
.mn__x::after{transform:rotate(-45deg)}
.mn__list{border-top:var(--hair) solid var(--c-text);margin-top:auto}
.mn__list li{border-bottom:var(--hair) solid var(--c-n200)}
.mn__link{display:flex;align-items:baseline;gap:clamp(16px,3vw,40px);padding:clamp(10px,1.8vh,18px) 0;text-decoration:none;font-family:var(--font-display);font-weight:300;font-size:clamp(1.5rem,3.2vw,2.6rem);line-height:1.1;transition:padding-left var(--dur) var(--ease)}
.mn__link small{font-family:var(--font-body);font-size:var(--fs-eyebrow);letter-spacing:var(--tracking-eyebrow);color:var(--c-muted);min-width:2.6ch}
.mn__link:hover,.mn__link:focus-visible{padding-left:12px}
.mn__foot{display:flex;justify-content:space-between;align-items:center;gap:24px;flex-wrap:wrap;margin-top:clamp(24px,4vh,40px)}
.mn__aside{position:relative;margin:0;background:var(--c-surface)}
.mn__aside img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.mn__aside figcaption{position:absolute;left:var(--px);bottom:clamp(20px,4vh,36px);color:var(--c-on-dark);font-size:var(--fs-eyebrow);letter-spacing:var(--tracking-eyebrow);text-transform:uppercase;font-weight:500;z-index:1}
.mn__aside::after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,color-mix(in srgb,var(--c-dark) 55%,transparent),transparent 40%)}
@media (max-width:900px){.mn{grid-template-columns:1fr}.mn__aside{display:none}}

/* ---------- loader de marca ---------- */
.intro{display:none}
html.js.intro-lock{overflow:hidden}
html.js.intro-lock .intro{display:flex}
.intro{position:fixed;inset:0;z-index:100;background:var(--c-bg);align-items:center;justify-content:center;flex-direction:column;gap:22px;animation:introFail 0s linear 2.6s forwards}
.intro__mark{position:relative;width:min(56vw,280px);aspect-ratio:496/220}
.intro__mark svg{position:absolute;left:0;top:0;width:42.34%;height:auto;overflow:visible}
.intro__mark svg path{fill:none;stroke:var(--c-accent);stroke-linecap:square;stroke-dasharray:1;stroke-dashoffset:1;animation:introDraw .7s var(--ease) .05s forwards}
.intro__mark svg path+path{animation-delay:.38s;animation-duration:.42s}
.intro__mark img{position:absolute;inset:0;width:100%;height:auto;opacity:0;clip-path:inset(0 0 0 44%);animation:introLogo .45s var(--ease) .55s forwards}
.intro__line{width:120px;height:1px;background:var(--c-n200);position:relative;overflow:hidden}
.intro__line::after{content:"";position:absolute;inset:0;background:var(--c-accent);transform:scaleX(0);transform-origin:left;animation:introBar .95s var(--ease) .05s forwards}
.intro.is-out{transform:translateY(-100%);transition:transform .6s cubic-bezier(.76,0,.24,1)}
@keyframes introDraw{to{stroke-dashoffset:0}}
@keyframes introLogo{to{opacity:1;clip-path:inset(0 0 0 0)}}
@keyframes introBar{to{transform:scaleX(1)}}
@keyframes introFail{to{visibility:hidden;opacity:0}}

/* ---------- rodapé claro: logo pequeno + links rápidos em colunas finas (editorial, sem ícone, sem caixa) ---------- */
.ft{background:var(--c-bg);border-top:var(--hair) solid var(--c-n200);padding:var(--section-y) 0 var(--sp-6);font-size:var(--fs-small);line-height:var(--lh-small)}
.ft__top{display:grid;grid-template-columns:minmax(0,4fr) minmax(0,8fr);gap:var(--sp-title-block) var(--px);align-items:start}
.ft__logo{width:clamp(150px,14vw,184px);height:auto}
.ft__nav{display:grid;grid-template-columns:minmax(0,1.3fr) max-content minmax(0,1fr);gap:var(--sp-6) var(--px)}
.ft__nav--legal{grid-template-columns:minmax(0,1fr)}
.ft__h{margin-bottom:var(--sp-3)}
.ft__list li+li{margin-top:0}
.ft__nav a,.ft__nav button:not(.ft__cta){display:inline-flex;align-items:center;min-height:40px;padding-block:var(--sp-1);font-size:var(--fs-small);line-height:1.35;color:var(--c-text);text-align:left;text-decoration:underline;text-decoration-color:transparent;text-underline-offset:4px;text-decoration-thickness:1px;transition:text-decoration-color var(--dur) var(--ease)}
.ft__nav a:hover,.ft__nav button:not(.ft__cta):hover,.ft__nav a:focus-visible{text-decoration-color:var(--c-accent)}
.ft__cta.btn{min-height:44px;padding:0 18px;margin-top:var(--sp-1);line-height:1.3;text-align:left}
.ft__base{display:flex;justify-content:space-between;align-items:baseline;gap:var(--sp-4) var(--px);flex-wrap:wrap;margin-top:var(--sp-title-block);padding-top:var(--sp-4);border-top:var(--hair) solid var(--c-text)}
.ft__id{max-width:var(--measure);color:var(--c-text)}
.ft__id b{font-weight:var(--fw-strong)}
.ft__copy{color:var(--c-muted)}
@media (max-width:900px){.ft__top{grid-template-columns:1fr}.ft__nav{grid-template-columns:max-content minmax(0,1fr)}.ft__col--page{grid-column:1/-1}.ft__nav--legal{grid-template-columns:minmax(0,1fr)}}
@media (max-width:560px){.ft__nav{grid-template-columns:minmax(0,1fr)}}

/* ---------- cookie (esquerda, compacto, reto) · v2b: texto corrido + 2 botões na mesma linha; desktop ≤ 420px; mobile faixa baixa e fina ---------- */
.ck{position:fixed;left:clamp(12px,2vw,24px);bottom:clamp(12px,2vw,24px);z-index:50;width:min(420px,calc(100vw - 24px));background:var(--c-bg);border:var(--hair) solid var(--c-n400);padding:11px 16px 12px;font-size:.8125rem;line-height:1.55}
.ck[hidden]{display:none}
.ck p{display:inline}
.ck a{text-underline-offset:3px}
.ck__act{display:inline-flex;gap:16px;margin-left:12px;vertical-align:baseline;white-space:nowrap}
.ck__act button{font-size:var(--fs-eyebrow);letter-spacing:var(--tracking-btn);text-transform:uppercase;font-weight:500;line-height:1.3;padding:0 0 1px;border-bottom:var(--hair) solid var(--c-text)}
.ck__act button+button{color:var(--c-muted);border-color:var(--c-n400)}
@media (max-width:560px){.ck{left:0;right:0;bottom:0;width:auto;border-width:var(--hair) 0 0;padding:10px 16px 11px}}

/* ---------- lightbox ---------- */
.lb{position:fixed;inset:0;z-index:80;background:color-mix(in srgb,var(--c-dark) 94%,transparent);display:none;align-items:center;justify-content:center;color:var(--c-on-dark)}
.lb.is-open{display:flex}
.lb__fig{margin:0;display:flex;flex-direction:column;align-items:center;gap:14px;max-width:min(92vw,1280px)}
.lb__fig img{max-height:80vh;width:auto;max-width:100%;object-fit:contain}
.lb__bar{display:flex;justify-content:space-between;gap:24px;width:100%;font-size:var(--fs-eyebrow);letter-spacing:var(--tracking-eyebrow);text-transform:uppercase;color:var(--c-on-dark-muted)}
.lb__btn{position:absolute;display:inline-flex;align-items:center;justify-content:center;width:52px;height:52px;border:var(--hair) solid color-mix(in srgb,var(--c-on-dark) 40%,transparent);color:var(--c-on-dark);font-size:1.1rem}
.lb__btn:hover{background:var(--c-on-dark);color:var(--c-dark)}
.lb__prev{left:clamp(8px,2vw,28px);top:50%;transform:translateY(-50%)}
.lb__next{right:clamp(8px,2vw,28px);top:50%;transform:translateY(-50%)}
.lb__close{top:clamp(8px,2vw,24px);right:clamp(8px,2vw,24px)}
@media (max-width:640px){.lb__prev,.lb__next{top:auto;bottom:16px;transform:none}}

/* ---------- páginas de texto (política, 404) ---------- */
.doc{padding:calc(var(--header-h) + clamp(3rem,8vw,6rem)) 0 clamp(4rem,9vw,7rem)}
.doc__in{max-width:760px}
.doc h1{margin-bottom:var(--sp-title-text)}
.doc h2{font-family:var(--font-display);font-weight:var(--fw-h2);font-size:var(--fs-h3);line-height:var(--lh-h3);text-wrap:balance;margin:var(--sp-7) 0 var(--sp-4);padding-top:var(--sp-5);border-top:var(--hair) solid var(--c-n200)}
.doc p,.doc li{max-width:var(--measure)}
.doc p+p{margin-top:var(--sp-4)}
.doc ul{margin-top:var(--sp-4);display:grid;gap:.6rem}
.doc li{padding-left:1.4rem;position:relative}
.doc li::before{content:"";position:absolute;left:0;top:.8em;width:10px;height:1px;background:var(--c-accent)}
.doc a{text-underline-offset:3px}
.doc .btn{white-space:normal;padding-block:12px;line-height:1.35}
