/* Mini Katana — landing conceito. A página é o título do produto: Nome (FIO) | Aço. Sem degradê: a home da marca não usa. */
@font-face{font-family:'Montserrat';font-style:normal;font-weight:600;font-display:swap;src:url(fonts/montserrat-600.woff2) format('woff2')}
@font-face{font-family:'Montserrat';font-style:normal;font-weight:700;font-display:swap;src:url(fonts/montserrat-700.woff2) format('woff2')}
@font-face{font-family:'Montserrat';font-style:normal;font-weight:800;font-display:swap;src:url(fonts/montserrat-800.woff2) format('woff2')}
@font-face{font-family:'Fira Sans';font-style:normal;font-weight:400;font-display:swap;src:url(fonts/fira-sans-400.woff2) format('woff2')}
@font-face{font-family:'Fira Sans';font-style:normal;font-weight:500;font-display:swap;src:url(fonts/fira-sans-500.woff2) format('woff2')}
@font-face{font-family:'Fira Sans';font-style:normal;font-weight:700;font-display:swap;src:url(fonts/fira-sans-700.woff2) format('woff2')}

:root{
  /* primitivos medidos no CSS da marca */
  --ink:#070d19;
  --black:#000000;
  --paper:#ffffff;
  --red:#e71616;
  --red-deep:#d90022;
  --slate:#51565e;
  --notice-bg:#f7f8fa;
  --notice-tx:#2a63ce;
  --ash:#e3e3e3;
  --mist:#b5b6ba;
  --ice:#91dbff;
  /* papéis */
  --tx:var(--ink);
  --tx-2:var(--slate);
  --acao:var(--red);
  --sobre-escuro:var(--paper);
  --fio:var(--ash);
  --display:'Montserrat',Arial,sans-serif;
  --body:'Fira Sans',Arial,sans-serif;
  --max:1280px;
  --ease:cubic-bezier(.23,1,.32,1);
  --gap:32px;
}

*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:16px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;-webkit-text-size-adjust:100%}
body{margin:0;background-color:var(--paper);color:var(--tx);font-family:var(--body);font-size:16px;line-height:1.55;overflow-x:clip}
img{display:block;max-width:100%;height:auto}
h1,h2,h3,h4,p,ul,ol,dl,dd,figure{margin:0}
ul,ol{padding:0;list-style:none}
a{color:inherit;touch-action:manipulation}
button{font:inherit;color:inherit;touch-action:manipulation}
s{color:var(--tx-2);text-decoration-thickness:1px}
::selection{background-color:var(--ink);color:var(--paper)}
:focus-visible{outline:3px solid var(--notice-tx);outline-offset:3px}
.saya :focus-visible,.parts :focus-visible,.sheet :focus-visible,.pacote :focus-visible{outline-color:var(--ice)}

section{overflow-x:clip;position:relative}
section > .blade,.blade{max-width:var(--max);margin-inline:auto;padding-inline:clamp(16px,4vw,32px)}

/* ---- casca do pacote ---- */
.pular{position:absolute;left:8px;top:-60px;z-index:50;background-color:var(--paper);color:var(--ink);padding:10px 14px;font-weight:700}
.pular:focus{top:8px}
.rascunho{background-color:var(--ash);color:var(--ink);font-size:13px;text-align:center;padding:7px 16px}
.pacote{position:relative;z-index:40;display:flex;align-items:center;justify-content:space-between;gap:16px;background-color:var(--ink);color:var(--paper);padding:8px clamp(16px,4vw,32px)}
.pacote-abas{display:flex;flex-wrap:wrap;gap:4px}
.pacote-abas a{display:inline-flex;align-items:center;min-height:44px;padding:0 14px;font-family:var(--display);font-weight:600;font-size:13px;text-decoration:none;color:var(--paper);border-bottom:2px solid transparent}
.pacote-abas a[aria-current="page"]{border-bottom-color:var(--red)}
.pacote-abas .curto{display:none}
.chat{display:inline-flex;align-items:center;min-height:44px;padding:0 18px;background-color:var(--paper);color:var(--ink);font-family:var(--display);font-weight:700;font-size:13px;text-decoration:none;border-radius:2px;white-space:nowrap}
.rodape{background-color:var(--ink);color:var(--paper);text-align:center;padding:40px clamp(16px,4vw,32px);font-size:14px}
.rodape p + p{margin-top:12px}
.rodape-chat{display:inline-flex;align-items:center;min-height:44px;padding:0 20px;background-color:var(--paper);color:var(--ink);font-family:var(--display);font-weight:700;text-decoration:none;border-radius:2px}
.rodape-fontes{color:var(--mist);font-size:13px}
@media (max-width:860px){
  .pacote{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:4px;padding:6px 8px}
  .pacote-abas{display:contents}
  .pacote-abas a,.chat{justify-content:center;padding:0 4px;font-size:12px;text-align:center}
}

/* ---- peças comuns ---- */
.mei{font-family:var(--display);font-weight:700;text-align:center;text-wrap:balance;letter-spacing:-.01em;line-height:1.12}
.mei-l{font-size:clamp(34px,4.2vw,60px)}
.mei-m{font-size:clamp(28px,3vw,43px)}
.mei-s{font-size:clamp(24px,2.3vw,32px)}
.lede{max-width:68ch;margin:18px auto 0;text-align:center;text-wrap:pretty;font-size:17px}
.cut{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:0 28px;font-family:var(--display);font-weight:700;font-size:14px;letter-spacing:.06em;text-transform:uppercase;text-decoration:none;border-radius:2px;border:1px solid transparent;white-space:nowrap;transition:background-color .16s ease,color .16s ease,transform .12s var(--ease)}
.cut:active{transform:scale(.97)}
.cut-red{background-color:var(--red);color:var(--paper)}
.cut-ink{background-color:var(--ink);color:var(--paper)}
.cut-ghost{background-color:var(--black);color:var(--paper);border-color:var(--paper)}
@media (hover:hover) and (pointer:fine){
  .cut-red:hover{background-color:var(--red-deep)}
  .cut-ink:hover{background-color:var(--black)}
  .cut-ghost:hover{background-color:var(--paper);color:var(--black)}
}
.tag{font-family:var(--body);font-weight:700;font-size:15px;font-variant-numeric:tabular-nums;white-space:nowrap}
.tag .now{color:var(--red-deep)}
.tag s{font-weight:400;margin-left:6px}
.num{font-variant-numeric:tabular-nums;white-space:nowrap}

/* cartão de produto: foto 3:4 sem raio, nome em caixa alta partido em nome / fio / aço */
.sword{text-align:center;min-width:0}
.sword-ph{position:relative;overflow:hidden;background-color:var(--black);aspect-ratio:3/4}
.sword-ph img{width:100%;height:100%;object-fit:cover;outline:1px solid rgba(0,0,0,.1);outline-offset:-1px;transition:transform .5s var(--ease)}
@media (hover:hover) and (pointer:fine){.sword:hover .sword-ph img{transform:scale(1.03)}}
.sale{position:absolute;left:10px;top:10px;background-color:var(--red);color:var(--paper);font-family:var(--display);font-weight:700;font-size:13px;padding:6px 10px;white-space:nowrap}
.sword-n{display:block;margin-top:16px;font-family:var(--display);font-weight:700;font-size:14px;line-height:1.5;letter-spacing:.04em;text-transform:uppercase;text-wrap:balance;overflow-wrap:anywhere}
.sword-n .e{color:var(--red-deep)}
.sword-n .s{color:var(--tx-2)}
.sword .tag{margin-top:6px}
.sword-note{margin-top:12px;font-size:15px;text-align:left;text-wrap:pretty}

/* ---- 1. saya ---- */
.saya{background-color:var(--black);color:var(--sobre-escuro);text-align:center}
.saya-top{max-width:1640px;margin-inline:auto;padding:clamp(28px,4vw,56px) clamp(16px,4vw,32px) 0;position:relative;z-index:1;background-color:var(--black)}
.saya-mark{font-family:var(--display);font-weight:800;font-size:15px;letter-spacing:.18em;text-transform:uppercase}
.saya-h1{margin-top:clamp(14px,2vw,28px);font-family:var(--display);font-weight:800;text-transform:uppercase;line-height:.92}
.saya-solid{display:block;font-size:clamp(22px,4.6vw,84px);letter-spacing:-.01em;text-wrap:balance}
.saya-hollow{display:block;margin-top:.08em;font-size:clamp(64px,16vw,300px);letter-spacing:-.02em;color:var(--paper);-webkit-text-fill-color:var(--black);-webkit-text-stroke:clamp(3px,.44vw,8px) var(--paper);paint-order:stroke fill}
.saya-ruler{display:block;width:min(100%,1160px);height:16px;margin:clamp(10px,1.4vw,22px) auto 0;color:var(--paper)}
.saya-tag{margin-top:clamp(14px,1.6vw,24px);font-family:var(--display);font-weight:700;font-size:clamp(15px,1.4vw,20px);letter-spacing:.14em;text-transform:uppercase}
.saya-sub{max-width:60ch;margin:10px auto 0;font-size:17px;color:var(--paper)}
.saya-cta{display:flex;flex-wrap:wrap;justify-content:center;gap:12px;margin-top:24px}
.saya-photo{margin-top:clamp(8px,1.5vw,24px);aspect-ratio:2000/700;overflow:hidden}
.saya-photo img{width:100%;height:100%;object-fit:cover;object-position:50% 50%}
@media (max-width:700px){.saya-photo{aspect-ratio:16/10}.saya-photo img{object-position:50% 50%}}

/* ---- 2. aviso ---- */
.notice{background-color:var(--notice-bg);color:var(--notice-tx)}
.notice-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));max-width:var(--max);margin-inline:auto;padding:14px clamp(16px,4vw,32px);gap:8px 24px;text-align:center;font-family:var(--display);font-weight:700;font-size:13px;letter-spacing:.06em}
@media (max-width:860px){.notice-row{grid-template-columns:minmax(0,1fr)}}

/* ---- 3. o rótulo dissecado ---- */
.label{padding-block:clamp(56px,7vw,104px) clamp(48px,6vw,88px);background-color:var(--paper);text-align:center}
.label-parts{display:flex;flex-direction:column;align-items:center;gap:clamp(14px,1.8vw,26px);margin-top:clamp(28px,4vw,56px)}
.label-part{display:flex;flex-direction:column;align-items:stretch;text-decoration:none;min-width:0}
.label-word{font-family:var(--display);font-weight:800;font-size:clamp(24px,4.8vw,68px);line-height:1.05;letter-spacing:-.015em;text-transform:uppercase;overflow-wrap:anywhere}
.label-edge .label-word{color:var(--red-deep)}
.label-tick{display:block;height:13px;margin-top:12px;border:solid var(--ink);border-width:0 1.5px 1.5px;transform-origin:left center;transition:transform .9s var(--ease)}
.label-key{margin-top:8px;font-family:var(--display);font-weight:600;font-size:14px;letter-spacing:.04em;color:var(--tx-2)}
.label-part:hover .label-key,.label-part:focus-visible .label-key{color:var(--ink);text-decoration:underline;text-underline-offset:3px}
.label-price{margin-top:20px;font-size:18px}
.label-read{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--gap);max-width:980px;margin:clamp(28px,3.4vw,48px) auto 0;text-align:left;font-size:17px;text-wrap:pretty}
.label-read p{border-top:1px solid var(--fio);padding-top:16px}
.label-verdict{max-width:26ch;margin:clamp(32px,4vw,56px) auto 0;font-family:var(--display);font-weight:700;font-size:clamp(22px,2.5vw,34px);line-height:1.22;text-wrap:balance}
.label-verdict{max-width:34ch}
@media (max-width:700px){.label-read{grid-template-columns:minmax(0,1fr)}.label-parts{flex-direction:column;align-items:center}}

/* ---- 4. ladrilhos ---- */
.tiles{padding-block:clamp(24px,3vw,40px) clamp(48px,6vw,88px);background-color:var(--paper)}
.tiles-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--gap);margin-top:clamp(28px,3.4vw,48px)}
.tile{position:relative;display:grid;place-items:center;aspect-ratio:920/575;background-color:var(--ink);overflow:hidden}
.tile-ph{position:absolute;inset:0;display:block}
.tile-ph img{width:100%;height:100%;object-fit:cover}
.tile-name{position:relative;background-color:var(--ink);color:var(--paper);font-family:var(--display);font-weight:700;font-size:clamp(20px,2vw,29px);letter-spacing:-.005em;text-transform:uppercase;padding:10px 20px;white-space:nowrap}
@media (max-width:700px){.tiles-grid{grid-template-columns:minmax(0,1fr);gap:16px}}

/* ---- 5. réplicas ---- */
.roster{padding-block:clamp(40px,5vw,72px) clamp(56px,7vw,104px);background-color:var(--paper)}
.roster-grid{display:grid;grid-template-columns:minmax(0,300px) minmax(0,1fr);gap:clamp(28px,4vw,64px);margin-top:clamp(32px,4vw,56px);align-items:start}
.roster-pick{position:sticky;top:24px}
.roster-cols{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px}
.roster-col h3{font-family:var(--display);font-weight:700;font-size:14px;letter-spacing:.06em;text-transform:uppercase;padding-bottom:10px;border-bottom:1px solid var(--ink)}
.roster-col ul + h3{margin-top:26px}
.roster-col li{padding:9px 0;border-bottom:1px solid var(--fio);font-size:15px;line-height:1.35}
@media (max-width:1000px){.roster-grid{grid-template-columns:minmax(0,1fr)}.roster-pick{position:static;max-width:320px;margin-inline:auto}}
@media (max-width:700px){.roster-cols{grid-template-columns:repeat(2,minmax(0,1fr));gap:28px 16px}}

/* ---- 6. choose your edge ---- */
.edge{padding-block:clamp(56px,7vw,104px);background-color:var(--paper);border-top:1px solid var(--fio)}
.edge-katana{display:flex;align-items:center;margin-top:clamp(32px,4vw,56px);height:34px}
.edge-tsuka{flex:0 0 13%;height:22px;background-color:var(--ink);border-radius:3px 0 0 3px;box-shadow:inset 0 0 0 2px var(--ink),inset 0 0 0 3px var(--mist)}
.edge-tsuba{flex:0 0 12px;height:34px;background-color:var(--ink);border-radius:2px}
.edge-steel{flex:1 1 auto;height:18px;background-color:var(--ash);clip-path:polygon(0 0,97% 0,100% 100%,0 100%);overflow:hidden}
.edge-fill{display:block;width:100%;height:100%;background-color:var(--red);transform-origin:left center;transition:transform .28s var(--ease)}
.edge-tabs{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));margin:10px 0 0 calc(13% + 12px)}
.edge-tab{min-height:48px;padding:6px 4px;background-color:var(--paper);border:0;border-top:3px solid var(--fio);font-family:var(--display);font-weight:700;font-size:clamp(11px,1.15vw,15px);letter-spacing:.04em;cursor:pointer;overflow-wrap:anywhere;transition:color .16s ease,border-color .16s ease}
.edge-tab[aria-selected="true"]{border-top-color:var(--red);color:var(--red-deep)}
.sem-js .edge-tab[aria-selected="true"]{border-top-color:var(--fio);color:var(--ink)}
@media (hover:hover) and (pointer:fine){.edge-tab:hover{border-top-color:var(--ink)}.edge-tab[aria-selected="true"]:hover{border-top-color:var(--red)}}
.edge-panel{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr) minmax(0,1fr);gap:var(--gap);align-items:start;margin-top:clamp(28px,3.4vw,48px);padding-top:clamp(28px,3.4vw,48px);border-top:1px solid var(--fio)}
.edge-panel[hidden]{display:none}
.com-js .edge-panel{animation:edge-in .22s ease-out both}
@keyframes edge-in{from{opacity:0}to{opacity:1}}
.edge-grade{font-family:var(--display);font-weight:800;font-size:clamp(26px,2.8vw,40px);line-height:1.05;letter-spacing:-.01em;color:var(--red-deep);text-transform:none}
.edge-say p{margin-top:14px;font-size:17px;text-wrap:pretty}
.edge-say h4{margin-top:22px;font-family:var(--display);font-weight:700;font-size:16px}
.edge-list{margin-top:6px}
.edge-list li{padding:10px 0;border-bottom:1px solid var(--fio)}
.edge-minis{aspect-ratio:720/675}
.edge-prices li{display:grid;gap:4px;padding:12px 0;border-bottom:1px solid var(--fio)}
.edge-prices li:first-child{border-top:1px solid var(--ink)}
.edge-prices .sword-n{margin-top:0;font-size:13px}
.edge-aside{border-top:1px solid var(--ink);padding-top:16px;font-size:17px;text-wrap:pretty}
.edge-aside p + p{margin-top:20px}
.edge-verdict{max-width:22ch;margin:clamp(40px,5vw,72px) auto 0;text-align:center;font-family:var(--display);font-weight:800;font-size:clamp(28px,3.6vw,54px);line-height:1.08;letter-spacing:-.015em;text-wrap:balance}
@media (max-width:860px){
  .edge-panel{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
  .edge-say{grid-column:1/-1}
  .edge-panel-semi{grid-template-columns:minmax(0,1fr)}
  .edge-tabs{margin-left:0}
  .edge-tsuka{flex-basis:10%}
}

/* ---- 7. regras ---- */
.rules{padding-block:clamp(40px,5vw,72px);background-color:var(--paper);border-top:1px solid var(--fio)}
.rules-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 var(--gap);margin-top:clamp(24px,3vw,40px)}
.rule{position:relative;padding:20px 0;font-size:17px;text-wrap:pretty}
.rule::before{content:"";position:absolute;left:0;right:0;top:0;height:1px;background-color:var(--ink);transform-origin:left center;transition:transform .9s var(--ease)}
@media (max-width:700px){.rules-grid{grid-template-columns:minmax(0,1fr)}}

/* ---- 8. parede ---- */
.wall{padding-block:clamp(56px,7vw,104px);background-color:var(--paper);border-top:1px solid var(--fio)}
.wall-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(36px,4vw,56px) var(--gap);margin-top:clamp(36px,4.4vw,64px)}
@media (max-width:860px){.wall-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:32px 16px}.wall .sword-n{font-size:12px}}

/* ---- 9. anatomia ---- */
.parts{background-color:var(--black);color:var(--sobre-escuro);padding-block:clamp(56px,7vw,104px)}
.parts-grid{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:clamp(28px,5vw,88px);align-items:start}
.parts-photo{position:sticky;top:24px;max-width:520px}
.parts-clip{display:block;aspect-ratio:2/3;overflow:hidden}
.parts-clip img{width:100%;height:100%;object-fit:cover}
.parts .mei{text-align:left}
.parts-lede{margin-top:20px;font-size:19px;line-height:1.5;text-wrap:pretty}
.parts-measure{margin-top:20px;font-family:var(--display);font-weight:700;font-size:clamp(18px,1.7vw,24px);line-height:1.3;color:var(--ice);text-wrap:balance}
.part{position:relative;margin-top:36px;padding-top:22px}
.part::before{content:"";position:absolute;left:0;right:0;top:0;height:1px;background-color:var(--mist);transform-origin:left center;transition:transform .9s var(--ease)}
.part h3{font-family:var(--display);font-weight:700;font-size:22px}
.part p{margin-top:12px;max-width:68ch;color:var(--paper);text-wrap:pretty}
.parts s{color:var(--mist)}
@media (max-width:860px){.parts-grid{grid-template-columns:minmax(0,1fr)}.parts-photo{position:static;max-width:300px;margin-inline:auto}.parts .mei{text-align:center}}

/* ---- 10. aço ---- */
.steel{padding-block:clamp(56px,7vw,104px);background-color:var(--paper)}
.steel-defs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 clamp(28px,4vw,64px);margin-top:clamp(32px,4vw,56px)}
.steel-def{position:relative;display:grid;grid-template-columns:minmax(0,1fr);gap:10px;padding:22px 0;align-content:start}
.steel-def::before,.steel-row::before{content:"";position:absolute;left:0;right:0;top:0;height:1px;background-color:var(--ink);transform-origin:left center;transition:transform .9s var(--ease)}
.steel-def dt{font-family:var(--display);font-weight:800;font-size:clamp(24px,2.4vw,34px);line-height:1;letter-spacing:-.01em;white-space:nowrap;font-variant-numeric:tabular-nums}
.steel-def dd{text-wrap:pretty}
.steel-rows{margin-top:clamp(28px,3.4vw,48px)}
.steel-row{position:relative;display:grid;grid-template-columns:72px minmax(0,1fr) minmax(0,220px) auto;gap:20px;align-items:center;padding:14px 0}
.steel-row::before{background-color:var(--fio)}
.steel-thumb{width:72px;height:96px;object-fit:cover;background-color:var(--black)}
.steel-say{font-size:17px;text-wrap:pretty}
.steel-on{font-family:var(--display);font-weight:700;font-size:13px;letter-spacing:.04em;text-transform:uppercase}
.steel-h{margin-top:clamp(36px,4.4vw,64px);text-align:center;font-family:var(--display);font-weight:700;font-size:14px;letter-spacing:.14em;text-transform:uppercase}
.steel-chips{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));margin-top:18px;border-top:1px solid var(--ink);border-left:1px solid var(--fio)}
.steel-chips li{padding:16px 10px;border-right:1px solid var(--fio);border-bottom:1px solid var(--fio);text-align:center;font-family:var(--display);font-weight:700;font-size:13px;letter-spacing:.02em;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}
@media (max-width:1000px){.steel-chips{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media (max-width:860px){
  .steel-defs{grid-template-columns:minmax(0,1fr)}
  .steel-def{grid-template-columns:minmax(0,1fr);gap:8px}
  .steel-row{grid-template-columns:72px minmax(0,1fr);gap:6px 16px}
  .steel-thumb{grid-row:span 3}
  .steel-chips{grid-template-columns:repeat(2,minmax(0,1fr))}
}

/* ---- 11. régua de comprimentos ---- */
.size{padding-block:clamp(40px,5vw,72px) clamp(56px,7vw,104px);background-color:var(--paper);border-top:1px solid var(--fio)}
.size-ruler{margin-top:clamp(28px,3.4vw,48px)}
.len{padding:12px 0}
.len-bar{display:block;width:var(--w);height:10px;background-color:var(--ink);clip-path:polygon(0 0,calc(100% - 14px) 0,100% 100%,0 100%);transform-origin:left center;transition:transform 1s var(--ease)}
.len:first-child .len-bar,.len:nth-child(2) .len-bar{background-color:var(--red)}
.len p{margin-top:8px;font-size:16px;text-wrap:pretty;font-variant-numeric:tabular-nums}
.size-keys{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--gap);margin-top:clamp(36px,4.4vw,64px)}
@media (max-width:860px){.size-keys{grid-template-columns:repeat(2,minmax(0,1fr));gap:28px 16px}}

/* ---- 12. builder: prancheta ---- */
.sheet{background-color:var(--ink);color:var(--sobre-escuro);padding-block:clamp(56px,7vw,104px);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='48' height='48'%3E%3Cpath d='M48 0H0V48' fill='none' stroke='%232a63ce' stroke-opacity='.28' stroke-width='1'/%3E%3C/svg%3E")}
.sheet-head{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(28px,4vw,64px);align-items:center}
.sheet-card{background-color:var(--black);border:1px solid var(--mist);padding:clamp(14px,2vw,28px)}
.sheet-card img{width:100%;height:auto}
.sheet .mei{text-align:left}
.sheet-shout{margin-top:14px;font-family:var(--display);font-weight:800;font-size:clamp(20px,2vw,28px);letter-spacing:.02em;color:var(--ice)}
.sheet-intro p{margin-top:14px;text-wrap:pretty}
.sheet-from{display:flex;gap:14px;align-items:baseline;font-family:var(--display);font-weight:700;font-size:20px}
.sheet-build{margin-top:clamp(36px,4.4vw,64px);background-color:var(--ink);border:1px solid var(--mist)}
.sheet-id{display:flex;flex-wrap:wrap;justify-content:space-between;gap:8px 24px;padding:18px clamp(16px,2vw,28px);border-bottom:1px solid var(--mist);font-family:var(--display);font-weight:700;font-size:clamp(17px,1.6vw,22px)}
.sheet-specs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));font-variant-numeric:tabular-nums}
.sheet-specs li{padding:13px clamp(16px,2vw,28px);border-bottom:1px solid rgba(181,182,186,.35);font-size:15px}
.sheet-specs li:nth-child(odd){border-right:1px solid rgba(181,182,186,.35)}
.sheet-specs li:nth-last-child(-n+2){border-bottom:0}
@media (max-width:860px){
  .sheet-head{grid-template-columns:minmax(0,1fr)}
  .sheet .mei{text-align:center}
  .sheet-intro{text-align:center}
  .sheet-from{justify-content:center}
  .sheet-specs{grid-template-columns:minmax(0,1fr)}
  .sheet-specs li:nth-child(odd){border-right:0}
  .sheet-specs li:nth-last-child(2){border-bottom:1px solid rgba(181,182,186,.35)}
}

/* ---- 13. bundles ---- */
.deals{padding-block:clamp(56px,7vw,104px) clamp(40px,5vw,72px);background-color:var(--paper)}
.deals-strip{margin-top:clamp(28px,3.4vw,48px);overflow-x:auto;scroll-snap-type:x proximity;padding:4px max(clamp(16px,4vw,32px),calc((100vw - var(--max)) / 2 + 32px)) 18px;scrollbar-color:var(--ink) var(--ash)}
.deals-row{display:flex;gap:20px;width:max-content}
.deal{display:flex;flex-direction:column;gap:14px;width:min(78vw,340px);padding:22px;border:1px solid var(--ink);border-top:6px solid var(--red);scroll-snap-align:start}
.deal-save{font-family:var(--display);font-weight:700;font-size:15px;line-height:1.35;color:var(--red-deep)}
.deal-n{font-family:var(--display);font-weight:700;font-size:14px;line-height:1.5;letter-spacing:.03em;text-transform:uppercase;flex:1}
.deal .tag{font-size:18px}
.deals-gift{margin-top:14px;text-align:center;font-size:15px;color:var(--tx-2)}

/* ---- 14. clube ---- */
.club{padding-block:clamp(40px,5vw,72px);background-color:var(--paper);border-top:1px solid var(--fio)}
.club-tiers{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));margin-top:clamp(28px,3.4vw,48px)}
.club-tiers li{display:grid;gap:8px;padding:10px 20px;text-align:center;border-left:1px solid var(--fio)}
.club-tiers li:first-child{border-left:0}
.club-n{font-family:var(--display);font-weight:700;font-size:14px;letter-spacing:.04em;text-transform:uppercase}
.club-p{font-family:var(--display);font-weight:800;font-size:clamp(34px,4vw,56px);line-height:1;letter-spacing:-.02em;font-variant-numeric:tabular-nums;white-space:nowrap}
.club-cta{margin-top:clamp(24px,3vw,40px);text-align:center}
@media (max-width:700px){.club-tiers{grid-template-columns:minmax(0,1fr)}.club-tiers li{border-left:0;border-top:1px solid var(--fio);padding:20px 0}.club-tiers li:first-child{border-top:0}}

/* ---- 15. cuidado ---- */
.care{padding-block:clamp(56px,7vw,104px);background-color:var(--paper);border-top:1px solid var(--fio)}
.care-grid{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,4fr);gap:clamp(28px,5vw,88px);align-items:start}
.care .mei{text-align:left}
.care-lede{margin-top:18px;font-family:var(--display);font-weight:700;font-size:clamp(18px,1.7vw,24px);line-height:1.3;text-wrap:balance}
.care-text > p{margin-top:16px;max-width:70ch;text-wrap:pretty}
.care-rows{margin-top:28px}
.care-rows li{position:relative;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:16px;align-items:baseline;padding:16px 0}
.care-rows li::before{content:"";position:absolute;left:0;right:0;top:0;height:1px;background-color:var(--ink);transform-origin:left center;transition:transform .9s var(--ease)}
.care-n{font-weight:500}
.care-n small{display:block;font-size:14px;font-weight:400;color:var(--tx-2)}
.care-photo{position:sticky;top:24px;max-width:440px}
@media (max-width:860px){.care-grid{grid-template-columns:minmax(0,1fr)}.care-photo{position:static;max-width:300px;margin-inline:auto;width:100%}.care .mei{text-align:center}}

/* ---- 16. quem faz ---- */
.makers{padding-block:clamp(56px,7vw,104px);background-color:var(--paper);border-top:1px solid var(--fio)}
.makers-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--gap);margin-top:clamp(32px,4vw,56px)}
.maker{text-align:center}
.maker img{width:100%;aspect-ratio:1;object-fit:cover;outline:1px solid rgba(0,0,0,.1);outline-offset:-1px}
.maker h3{margin-top:20px;font-family:var(--display);font-weight:700;font-size:17px;letter-spacing:.03em;text-wrap:balance}
.maker p{margin-top:10px;text-wrap:pretty}
@media (max-width:860px){.makers-grid{grid-template-columns:minmax(0,1fr);max-width:420px;margin-inline:auto}}

/* ---- 17. caixa viral ---- */
.viral{background-color:var(--paper);padding-block:0 clamp(56px,7vw,104px)}
.viral-box{border:solid var(--mist);border-width:1px 0;padding:clamp(36px,4.4vw,64px) clamp(16px,4vw,32px);text-align:center}
.viral-h{font-family:var(--body);font-weight:700;font-size:clamp(26px,3.4vw,48px);letter-spacing:.07em;line-height:1.1;text-wrap:balance}
.viral-say{max-width:68ch;margin:16px auto 0;text-wrap:pretty}
.viral-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;max-width:1100px;margin:clamp(24px,3vw,40px) auto 0;border-top:1px solid var(--ink)}
.viral-stats li{padding:20px 12px;border-bottom:1px solid var(--fio);font-family:var(--display);font-weight:700;font-size:clamp(14px,1.3vw,18px);line-height:1.35;font-variant-numeric:tabular-nums;text-wrap:balance}
@media (max-width:700px){.viral-stats{grid-template-columns:minmax(0,1fr)}}

/* ---- 18. FAQ ---- */
.faq{padding-block:0 clamp(56px,7vw,104px);background-color:var(--paper);text-align:center}
.faq-list{margin-top:clamp(28px,3.4vw,48px)}
.faq-item{position:relative;padding:28px 0}
.faq-item::before{content:"";position:absolute;left:0;right:0;top:0;height:1px;background-color:var(--mist);transform-origin:center;transition:transform .9s var(--ease)}
.faq-item dt{font-family:var(--display);font-weight:700;font-size:clamp(20px,2.1vw,28px);line-height:1.25;color:var(--red-deep);text-wrap:balance}
.faq-item dd{max-width:110ch;margin:16px auto 0;font-size:16px;text-wrap:pretty}

/* ---- 19. fecho ---- */
.close{background-color:var(--ash);padding-block:clamp(56px,7vw,104px)}
.close-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,300px) minmax(0,1fr);gap:var(--gap);align-items:center;margin-top:clamp(32px,4vw,56px)}
.close-way{display:grid;gap:14px;justify-items:center;text-align:center}
.close-n{font-family:var(--display);font-weight:800;font-size:clamp(20px,2.2vw,30px);line-height:1.15;text-transform:uppercase;text-wrap:balance}
.close-n .e{display:block;color:var(--red-deep)}
.tag-xl{font-size:clamp(22px,2.4vw,32px)}
.close s{color:var(--ink)}
.close-drop{margin-top:clamp(36px,4.4vw,64px);text-align:center;font-family:var(--display);font-weight:800;font-size:clamp(20px,2vw,28px);letter-spacing:.04em}
.close-mail{margin-top:10px;text-align:center}
.close-mail a{font-weight:700;text-underline-offset:3px}
@media (max-width:860px){.close-grid{grid-template-columns:minmax(0,1fr)}.close-photo{max-width:280px;margin-inline:auto;width:100%;order:-1}}

/* ---- movimento: estado escondido só sob .com-js ---- */
.rv-up{transition:opacity .8s var(--ease),transform .8s var(--ease);transition-delay:calc(var(--i,0) * 70ms)}
.com-js .rv-up:not(.in){opacity:0;transform:translateY(22px)}
.rv-wipe,.rv-wipe-up{clip-path:inset(0);transition:clip-path 1s var(--ease);transition-delay:calc(var(--i,0) * 90ms)}
.com-js .rv-wipe:not(.in){clip-path:inset(0 100% 0 0)}
.com-js .rv-wipe-up:not(.in){clip-path:inset(100% 0 0 0)}
.com-js .label-parts:not(.in) .label-tick,
.com-js .rule:not(.in)::before,
.com-js .part:not(.in)::before,
.com-js .steel-def:not(.in)::before,
.com-js .steel-row:not(.in)::before,
.com-js .care-rows li:not(.in)::before,
.com-js .faq-item:not(.in)::before,
.com-js .len:not(.in) .len-bar{transform:scaleX(0)}
/* um único momento de carga, no banner */
.com-js .saya-solid,.com-js .saya-hollow,.com-js .saya-tag,.com-js .saya-sub,.com-js .saya-cta{animation:saya-rise .9s var(--ease) both}
.com-js .saya-hollow{animation-delay:.08s}
.com-js .saya-tag{animation-delay:.3s}
.com-js .saya-sub{animation-delay:.36s}
.com-js .saya-cta{animation-delay:.42s}
.com-js .saya-ruler{animation:saya-rule 1s var(--ease) .2s both;transform-origin:center}
@keyframes saya-rise{from{opacity:0;transform:translateY(26px)}to{opacity:1;transform:none}}
@keyframes saya-rule{from{transform:scaleX(0)}to{transform:none}}

@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  .rv-up,.rv-wipe,.rv-wipe-up{transition:opacity .2s ease;transition-delay:0s}
  .com-js .rv-up:not(.in){transform:none}
  .com-js .rv-wipe:not(.in),.com-js .rv-wipe-up:not(.in){clip-path:inset(0);opacity:0}
  .com-js .label-parts:not(.in) .label-tick,.com-js .rule:not(.in)::before,.com-js .part:not(.in)::before,.com-js .steel-def:not(.in)::before,.com-js .steel-row:not(.in)::before,.com-js .care-rows li:not(.in)::before,.com-js .faq-item:not(.in)::before,.com-js .len:not(.in) .len-bar{transform:none}
  .com-js .saya-solid,.com-js .saya-hollow,.com-js .saya-tag,.com-js .saya-sub,.com-js .saya-cta,.com-js .saya-ruler,.com-js .edge-panel{animation:none}
  .edge-fill,.sword-ph img,.cut{transition:none}
}
