/* ============ BASE · variáveis, reset e utilitários ============ */
:root{
/* Identidade Torra Fina · Terra e ofício */
--cor-fundo:#F3EBDD;--cor-fundo-alt:#E9DCC6;--cor-fundo-escuro:#2A1D15;--cor-texto:#2A1D15;--cor-texto-2:#5E4A3C;--cor-texto-3:#8C7766;--cor-linha:#D8C8B0;--cor-destaque:#9A4325;--cor-sobre-destaque:#F8F2E8;
--cor-papel:#FBF7F0;--cor-kraft:#C9A97E;--cor-destaque-claro:#D7835C;--cor-escuro-2:#45342A;
--fonte-display:"Iowan Old Style","Palatino Linotype",Palatino,"Book Antiqua",ui-serif,Georgia,serif;--fonte-titulo:var(--fonte-display);--fonte-texto:ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;--fonte-mono:ui-monospace,SFMono-Regular,Menlo,monospace;
--raio:6px;--espaco-secao:clamp(96px,12vw,184px);--largura-max:1360px;--colunas:12;--margem:clamp(20px,4vw,56px);--calha:clamp(16px,2vw,32px);
--dur-rapida:150ms;--dur-media:400ms;--dur-lenta:800ms;--ease-saida:cubic-bezier(.16,1,.3,1);--ease-padrao:cubic-bezier(.4,0,.2,1);--atraso-escalonado:70ms;--distancia-entrada:24px;
--ease-acomoda:cubic-bezier(.34,1.4,.64,1)}
@property --p{syntax:"<number>";inherits:true;initial-value:0}
@keyframes prog{from{--p:0}to{--p:1}}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;overflow-x:clip}
@media (prefers-reduced-motion:no-preference){html{scroll-behavior:smooth}}
body{margin:0;background:var(--cor-fundo);color:var(--cor-texto);font:400 1.0625rem/1.6 var(--fonte-texto);-webkit-font-smoothing:antialiased}
img{display:block;max-width:100%;height:auto}
h1,h2,h3,p,ul,ol,figure,blockquote,dl,dd{margin:0}
ul,ol{padding:0;list-style:none}
a{color:inherit;text-decoration:none}
a:hover{color:inherit}
button,input{font:inherit;color:inherit}
button{background:none;border:0;padding:0;cursor:pointer}
:focus-visible{outline:2px solid currentColor;outline-offset:4px;border-radius:4px}
::selection{background:#2A1D15;color:#FBF7F0}
.vh{position:absolute!important;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.pular{position:fixed;left:16px;top:16px;z-index:100;padding:12px 16px;background:#2A1D15;color:#FBF7F0;transform:translateY(-200%)}
.pular:focus{transform:none}
.grade{display:grid;grid-template-columns:repeat(var(--colunas),minmax(0,1fr));column-gap:var(--calha);width:100%;max-width:var(--largura-max);margin-inline:auto;padding-inline:var(--margem)}
.grade>*{grid-column:1/-1}
.rotulo{display:block;font:600 .75rem/1.4 var(--fonte-texto);letter-spacing:.16em;text-transform:uppercase;color:var(--cor-texto-2)}
.escuro{background:var(--cor-fundo-escuro);color:var(--cor-sobre-destaque)}
.escuro .rotulo{color:#CDBBA5}
.titulo{font:400 clamp(2.25rem,5.6vw,5.25rem)/1.02 var(--fonte-titulo);letter-spacing:-.03em;text-wrap:balance}
.lead{font-size:1.125rem;color:var(--cor-texto-2);max-width:46ch;text-wrap:pretty}
.escuro .lead{color:#D9C9B4}
.mono{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.75rem;letter-spacing:.06em}
/* Número gigante de capítulo: contorno fino, opacidade baixa, paralaxe pela rolagem da seção */
.capnum{position:absolute;right:var(--margem);top:6%;z-index:0;font:400 clamp(12rem,34vw,32rem)/.8 var(--fonte-display);letter-spacing:-.06em;color:transparent;-webkit-text-stroke:1px var(--cor-texto-3);opacity:.45;pointer-events:none;user-select:none}
.escuro .capnum{-webkit-text-stroke-color:#5E4A3C}
.cap-cab{position:relative;z-index:1;display:grid;gap:20px;margin-bottom:56px}
.cap-cab .mono{color:var(--cor-texto-2)}
.escuro .cap-cab .mono{color:#CDBBA5}
.etq{display:none}
.com-etiquetas .etq{display:block;position:absolute;top:16px;left:var(--margem);z-index:40;font:500 11px/1 ui-monospace,Menlo,monospace;letter-spacing:.08em;color:#5E4A3C;background:#FBF7F0;border:1px solid #D8C8B0;padding:6px 8px;pointer-events:none}
.btn{--a:52px;position:relative;display:inline-flex;align-items:center;justify-content:center;height:var(--a);padding:0 26px;border:1px solid currentColor;border-radius:999px;font:500 .9375rem/1 var(--fonte-texto);overflow:clip;white-space:nowrap}
.btn>span{display:block;line-height:var(--a);text-shadow:0 var(--a) 0 currentColor}
.btn-cheio{background:var(--cor-destaque);color:var(--cor-sobre-destaque);border-color:var(--cor-destaque)}
.btn-claro{background:#FBF7F0;color:#2A1D15;border-color:#FBF7F0}
.btn-p{--a:42px;padding:0 18px;font-size:.875rem}
.sub{position:relative;display:inline-block;padding-bottom:4px}
.sub::after{content:"";position:absolute;left:0;right:0;bottom:0;height:1px;background:currentColor;transform-origin:right}
.lnk{position:relative;display:inline-block;padding-block:6px}
.lnk::after{content:"";position:absolute;left:0;right:0;bottom:2px;height:1px;background:currentColor;transform:scaleX(0);transform-origin:right}
.pausa{display:none}
.js .pausa{position:absolute;right:var(--margem);bottom:16px;z-index:3;display:inline-flex;align-items:center;gap:8px;min-height:36px;padding:0 14px;border:1px solid currentColor;border-radius:999px;font:600 .6875rem/1 var(--fonte-texto);letter-spacing:.12em;text-transform:uppercase}
.pausa-ic{width:8px;height:10px;border-inline:2px solid currentColor}
.pausado .pausa-ic{width:0;height:0;border:0;border-left:8px solid currentColor;border-block:5px solid transparent}
@media (hover:hover) and (prefers-reduced-motion:no-preference){
.btn>span{transition:transform var(--dur-media) var(--ease-saida)}
.btn:hover>span{transform:translateY(calc(var(--a) * -1))}
.sub:hover::after{animation:sub-ida .7s var(--ease-saida)}
.lnk::after{transition:transform var(--dur-media) var(--ease-saida)}
.lnk:hover::after{transform:none;transform-origin:left}}
@keyframes sub-ida{0%{transform:scaleX(1);transform-origin:right}45%{transform:scaleX(0);transform-origin:right}46%{transform:scaleX(0);transform-origin:left}100%{transform:scaleX(1);transform-origin:left}}
@media (prefers-reduced-motion:no-preference){
.js [data-anima=revelar]{opacity:0;transform:translateY(var(--distancia-entrada));transition:opacity var(--dur-lenta) var(--ease-padrao),transform var(--dur-lenta) var(--ease-saida);transition-delay:calc(var(--i,0) * var(--atraso-escalonado))}
.js [data-anima=abrir-lado]{clip-path:inset(0 100% 0 0);transition:clip-path 1.2s var(--ease-saida)}
.js [data-anima=abrir-lado] img{transform:scale(1.1);transition:transform 1.8s var(--ease-saida)}
.js [data-anima=mascara]{clip-path:inset(100% 0 0 0);transition:clip-path 1s var(--ease-saida)}
.js .visivel[data-anima]{opacity:1;transform:none;clip-path:inset(0)}
.js .visivel[data-anima] img{transform:none}
.js [data-rolagem] .capnum{transform:translateY(calc((var(--p) - .5) * -180px))}
@supports (animation-timeline:view()){
[data-rolagem]{animation:prog linear both;animation-timeline:view()}
[data-rolagem=ler]{animation-range:cover 15% cover 55%}
[data-rolagem=conter]{animation-range:contain 0% contain 100%}}}

/* ============ HEADER · cab- ============ */
.cab{position:fixed;inset:0 0 auto;z-index:50;background:rgba(243,235,221,.92);border-bottom:1px solid var(--cor-linha)}
.cab-in{display:flex;align-items:center;justify-content:space-between;gap:16px;max-width:var(--largura-max);margin-inline:auto;padding:12px var(--margem)}
.cab-logo{font:400 1.375rem/1 var(--fonte-display);letter-spacing:-.02em}
.cab-logo em{font-style:italic}
.cab-acoes{display:flex;align-items:center;gap:8px}
.cab-menu{display:inline-flex;align-items:center;gap:10px;height:42px;padding:0 14px;font-weight:500;font-size:.875rem}
.cab-menu i{display:grid;gap:4px;width:18px}
.cab-menu i::before,.cab-menu i::after{content:"";height:1px;background:currentColor}
.cab-dlg{width:100vw;max-width:none;height:100svh;max-height:none;margin:0;padding:0;border:0;background:var(--cor-fundo-escuro);color:#FBF7F0;overflow:auto}
.cab-dlg::backdrop{background:transparent}
.cab-dlg-in{display:grid;grid-template-rows:auto 1fr auto;min-height:100%;max-width:var(--largura-max);margin-inline:auto;padding:12px var(--margem) 40px}
.cab-dlg-topo{display:flex;justify-content:space-between;align-items:center;min-height:42px}
.cab-dlg nav{align-self:center}
.cab-dlg li{border-bottom:1px solid #45342A}
.cab-dlg li a{display:flex;align-items:baseline;gap:20px;padding:14px 0;font:400 clamp(2.25rem,6vw,5rem)/1 var(--fonte-display);letter-spacing:-.03em}
.cab-dlg li a span{font:500 .75rem/1 ui-monospace,Menlo,monospace;color:#CDBBA5}
.cab-dlg-base{display:flex;flex-wrap:wrap;justify-content:space-between;gap:16px;color:#CDBBA5}
.cab-curto{display:inline}.cab-longo{display:none}
@media (min-width:600px){.cab-curto{display:none}.cab-longo{display:inline}}
@media (prefers-reduced-motion:no-preference){
.cab-dlg{transition:transform 600ms var(--ease-saida),display 600ms allow-discrete,overlay 600ms allow-discrete}
.cab-dlg:not([open]){transform:translateY(-100%)}
@starting-style{.cab-dlg[open]{transform:translateY(-100%)}}
.cab-dlg li{transition:opacity var(--dur-media) var(--ease-padrao),transform var(--dur-lenta) var(--ease-saida);transition-delay:calc(250ms + var(--i) * 60ms)}
@starting-style{.cab-dlg[open] li{opacity:0;transform:translateY(32px)}}
.cab-dlg li a{transition:transform var(--dur-media) var(--ease-saida)}
.cab-dlg li a:hover{transform:translateX(12px)}}

/* ============ SEÇÃO 1 · ORIGEM (HERO) · ori- ============ */
.ori{position:relative}
.ori-fixo{position:relative;display:grid;padding-top:96px}
.ori-topo{position:relative;z-index:2;row-gap:28px;padding-bottom:40px}
.ori-tit{font:400 clamp(5.5rem,24vw,24rem)/.8 var(--fonte-display);letter-spacing:-.06em;margin-left:-.04em;transform-origin:50% 0}
.ori-base{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:end;gap:24px 48px}
.ori-sub{max-width:38ch;font-size:1.125rem;text-wrap:pretty}
.ori-fig{position:relative;z-index:1}
.ori-fig img{width:100%;aspect-ratio:16/9;object-fit:cover}
.ori-leg{position:absolute;left:var(--margem);bottom:24px;padding:8px 12px;background:#2A1D15;color:#FBF7F0;border-radius:999px}
@media (prefers-reduced-motion:no-preference){
.js .ori{height:190svh;--e:clamp(0,(var(--p) - .04) / .72,1)}
.js .ori-fixo{position:sticky;top:0;height:100svh;overflow:clip;padding:0;align-content:start}
.js .ori-topo{padding-top:clamp(88px,12vh,140px);height:100svh;grid-template-rows:1fr auto;align-content:space-between;padding-bottom:28px;opacity:clamp(0,1 - var(--e) * 1.6,1)}
.js .ori-tit{transform:translateY(calc(var(--e) * -18vh)) scale(calc(1 - var(--e) * .5))}
.js .ori-fig{position:absolute;inset:0;clip-path:inset(calc(40% * (1 - var(--e))) calc(34% * (1 - var(--e))) calc(30% * (1 - var(--e))))}
.js .ori-fig img{height:100%;aspect-ratio:auto;transform:scale(calc(1.15 - var(--e) * .15))}
.js .ori-leg{opacity:clamp(0,(var(--e) - .8) * 5,1)}
@media (min-width:900px){.js .ori{height:240svh}.js .ori-fig{clip-path:inset(calc(42% * (1 - var(--e))) calc(39% * (1 - var(--e))) calc(24% * (1 - var(--e))))}}
.ori-tit{animation:ori-entra 600ms var(--ease-saida) both}}
@keyframes ori-entra{from{opacity:.6;transform:translateY(4%)}}

/* ============ SEÇÃO 2 · ÍNDICE · ind- ============ */
.ind{position:relative;padding-block:var(--espaco-secao)}
.ind-cab{margin-bottom:40px}
.ind-lista{border-top:1px solid var(--cor-linha)}
.ind-lista li{border-bottom:1px solid var(--cor-linha)}
.ind-link{display:grid;grid-template-columns:48px 1fr;align-items:baseline;gap:4px 12px;padding:22px 0}
.ind-n{color:var(--cor-texto-2)}
.ind-nome{position:relative;justify-self:start;font:400 clamp(1.75rem,4.2vw,3.75rem)/1.05 var(--fonte-display);letter-spacing:-.025em}
.ind-nome::after{content:"";position:absolute;left:0;right:0;bottom:-2px;height:1px;background:currentColor;transform:scaleX(0);transform-origin:right}
.ind-desc{grid-column:2;color:var(--cor-texto-2);font-size:.9375rem}
@media (min-width:900px){.ind-cab{grid-column:1/4}.ind-lista{grid-column:4/-1}.ind-link{grid-template-columns:72px 1fr auto}.ind-desc{grid-column:auto}}
@media (hover:hover) and (prefers-reduced-motion:no-preference){.ind-nome::after{transition:transform var(--dur-lenta) var(--ease-saida)}.ind-link:hover .ind-nome::after,.ind-link:focus-visible .ind-nome::after{transform:none;transform-origin:left}}

/* ============ SEÇÃO 3 · CAP. 01 A FAZENDA · faz- ============ */
.faz{position:relative;padding-block:var(--espaco-secao);overflow:clip}
.faz-pan{position:relative;z-index:1;margin-bottom:56px;overflow:clip;border-radius:var(--raio)}
.faz-pan img{width:100%;aspect-ratio:4/3;object-fit:cover}
.faz-txt{position:relative;z-index:1;display:grid;gap:24px}
.faz-txt p{color:var(--cor-texto-2);text-wrap:pretty}
.faz-dados{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-top:40px;padding-top:24px;border-top:1px solid var(--cor-linha)}
.faz-dados dd{font:400 clamp(1.25rem,2vw,1.75rem)/1.1 var(--fonte-titulo);margin-top:8px}
.faz-dados dt{color:var(--cor-texto-2)}
@media (min-width:900px){.faz-pan img{aspect-ratio:21/9}.faz-txt{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:var(--calha);grid-column:5/-1}.faz-dados{grid-column:5/-1}}

/* ============ SEÇÃO 4 · CAP. 02 A COLHEITA · col- ============ */
.col{position:relative;padding-block:var(--espaco-secao);background:var(--cor-fundo-alt);overflow:clip}
.col-diag{position:relative;z-index:1;display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:var(--calha)}
.col-diag figure{grid-column:span 12}
.col-diag img{width:100%;aspect-ratio:4/5;object-fit:cover;border-radius:var(--raio)}
.col-diag figcaption{padding-top:12px;color:var(--cor-texto-2)}
.col-diag figure:nth-child(2){grid-column:4/-1}
.col-diag figure:nth-child(3){grid-column:1/10}
@media (min-width:900px){.col-diag figure:nth-child(1){grid-column:1/5}.col-diag figure:nth-child(2){grid-column:5/9;margin-top:18%}.col-diag figure:nth-child(3){grid-column:9/13;margin-top:36%}.col .cap-cab{grid-column:1/8}}

/* ============ SEÇÃO 5 · CAP. 03 A TORRA · tor- ============ */
.tor{position:relative;padding-block:var(--espaco-secao);overflow:clip}
.tor-graf{position:relative;z-index:1;padding:24px 0 32px 40px}
.tor-area{position:relative;aspect-ratio:16/9;border-left:1px solid #5E4A3C;border-bottom:1px solid #5E4A3C}
.tor-area svg{position:absolute;inset:0;width:100%;height:100%;overflow:visible}
.tor-grade line{stroke:#45342A;stroke-width:1;vector-effect:non-scaling-stroke}
.tor-linha{clip-path:inset(0 0 0 0)}
.tor-linha polyline{fill:none;stroke:#FBF7F0;stroke-width:2;stroke-linejoin:round;stroke-linecap:round;vector-effect:non-scaling-stroke}
.tor-y,.tor-x{position:absolute;color:#CDBBA5}
.tor-y{left:-40px;transform:translateY(-50%)}
.tor-x{bottom:-28px;transform:translateX(-50%)}
.tor-marco{position:absolute;z-index:2;display:grid;place-items:center;width:28px;height:28px;margin:-14px 0 0 -14px;border-radius:50%;background:#FBF7F0;color:#2A1D15;font:600 .6875rem/1 ui-monospace,Menlo,monospace}
.tor-leg{position:relative;z-index:1;display:grid;gap:0;margin-top:40px;border-top:1px solid #45342A}
.tor-leg li{display:grid;grid-template-columns:40px 1fr;gap:4px 12px;padding:18px 0;border-bottom:1px solid #45342A}
.tor-leg b{font:600 .75rem/1.6 ui-monospace,Menlo,monospace}
.tor-leg h3{font:400 1.375rem/1.2 var(--fonte-titulo)}
.tor-leg p{grid-column:2;color:#D9C9B4;font-size:.9375rem}
@media (min-width:900px){.tor .cap-cab{grid-column:1/7}.tor-graf{grid-column:1/9}.tor-leg{grid-column:10/-1;margin-top:24px;align-self:start}.tor-in{grid-template-rows:auto auto}}
@media (prefers-reduced-motion:no-preference){
.js .tor-linha{clip-path:inset(0 calc(100% - var(--p) * 100%) 0 0)}
.js .tor-marco{opacity:clamp(0,(var(--p) - var(--x)) * 14,1);transform:scale(calc(.6 + .4 * clamp(0,(var(--p) - var(--x)) * 14,1)))}}

/* ============ SEÇÃO 6 · CAP. 04 A XÍCARA · xic- ============ */
.xic{position:relative;padding-block:var(--espaco-secao);overflow:clip}
.xic-in{row-gap:48px;align-items:center}
.xic-fig{position:relative;z-index:1;overflow:clip;border-radius:var(--raio)}
.xic-fig img{width:100%;aspect-ratio:3/4;object-fit:cover}
.xic-txt{position:relative;z-index:1;display:grid;gap:28px}
.xic-notas{display:flex;flex-wrap:wrap;gap:10px}
.xic-notas li{padding:10px 18px;border:1px solid var(--cor-texto);border-radius:999px;font:400 clamp(1.125rem,1.6vw,1.375rem)/1.2 var(--fonte-titulo);background:#FBF7F0}
.xic-notas li:nth-child(3n+1){background:#2A1D15;color:#FBF7F0}
.xic-receita{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;padding-top:24px;border-top:1px solid var(--cor-linha)}
.xic-receita dt{color:var(--cor-texto-2);font-size:.875rem}
.xic-receita dd{font:400 1.25rem/1.2 var(--fonte-titulo)}
@media (min-width:900px){.xic-fig{grid-column:1/6}.xic-txt{grid-column:7/-1}.xic-receita{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media (prefers-reduced-motion:no-preference){
.js .xic-notas li{opacity:0;transform:translate(var(--dx),var(--dy)) rotate(var(--r));transition:opacity var(--dur-media) var(--ease-padrao),transform 1.1s var(--ease-acomoda);transition-delay:calc(var(--i) * 90ms)}
.js .xic-notas.visivel li{opacity:1;transform:none}}

/* ============ SEÇÃO 7 · CAP. 05 O CLUBE · clu- ============ */
.clu{position:relative;padding-block:var(--espaco-secao);background:var(--cor-fundo-alt);overflow:clip}
.clu-in{row-gap:48px}
.clu-fig{position:relative;z-index:1;overflow:clip;border-radius:var(--raio)}
.clu-fig img{width:100%;aspect-ratio:4/3;object-fit:cover}
.clu-txt{position:relative;z-index:1;display:grid;gap:28px;align-content:start}
.clu-ben{border-top:1px solid #CDBA9E}
.clu-ben li{display:grid;grid-template-columns:40px 1fr;gap:4px 12px;padding:20px 0;border-bottom:1px solid #CDBA9E}
.clu-ben h3{font:400 1.375rem/1.2 var(--fonte-titulo)}
.clu-ben p{grid-column:2;color:var(--cor-texto-2);font-size:.9375rem}
@media (min-width:900px){.clu-fig{grid-column:1/8;grid-row:1/3}.clu-txt{grid-column:9/-1}}

/* ============ SEÇÃO 8 · PRODUTOS · prd- ============ */
.prd{position:relative;padding-block:var(--espaco-secao)}
.prd-grade{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:40px var(--calha)}
.prd-card{display:grid;gap:14px;align-content:start}
.prd-fig{position:relative;overflow:clip;border-radius:var(--raio)}
.prd-fig img{width:100%;aspect-ratio:4/5;object-fit:cover}
.prd-fig img+img{position:absolute;inset:0;height:100%;opacity:0}
.prd-sca{position:absolute;left:10px;top:10px;padding:6px 10px;border-radius:999px;background:#FBF7F0;font:600 .6875rem/1 ui-monospace,Menlo,monospace}
.prd-comprar{display:flex;justify-content:center;align-items:center;min-height:44px;border-radius:999px;background:#2A1D15;color:#FBF7F0;font-size:.875rem;font-weight:500}
.prd-nome{font:400 clamp(1.25rem,1.8vw,1.625rem)/1.15 var(--fonte-titulo)}
.prd-card p{color:var(--cor-texto-2);font-size:.875rem}
.prd-preco{display:flex;justify-content:space-between;gap:12px;padding-top:12px;border-top:1px solid var(--cor-linha);font-size:.9375rem}
@media (min-width:900px){.prd-grade{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (hover:hover) and (pointer:fine){
.prd-comprar{position:absolute;left:12px;right:12px;bottom:12px;transform:translateY(calc(100% + 16px))}
.prd-card:hover .prd-comprar,.prd-card:focus-within .prd-comprar{transform:none}
.prd-card:hover .prd-fig img+img,.prd-card:focus-within .prd-fig img+img{opacity:1}}
@media (hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference){.prd-comprar{transition:transform var(--dur-media) var(--ease-saida)}.prd-fig img+img{transition:opacity var(--dur-lenta) var(--ease-padrao)}}

/* ============ SEÇÃO 9 · PLANOS · pla- ============ */
.pla{position:relative;padding-block:var(--espaco-secao);background:var(--cor-fundo-alt)}
.pla-sel{position:relative;display:inline-grid;grid-template-columns:1fr 1fr;margin:0 0 48px;padding:4px;border:1px solid var(--cor-texto);border-radius:999px;justify-self:start}
.pla-sel label{position:relative;z-index:1;display:grid;place-items:center;min-height:44px;padding:0 22px;cursor:pointer;font-weight:500;font-size:.9375rem}
.pla-sel input{position:absolute;opacity:0;inset:0;cursor:pointer}
.pla-sel label:has(:checked){color:#FBF7F0}
.pla-sel label:has(:focus-visible){outline:2px solid var(--cor-texto);outline-offset:6px;border-radius:999px}
.pla-ind{position:absolute;left:4px;top:4px;bottom:4px;width:calc(50% - 4px);border-radius:999px;background:#2A1D15}
.pla-sel:has([value=trimestral]:checked) .pla-ind{transform:translateX(100%)}
.pla-lista{display:grid;gap:var(--calha)}
.pla-card{display:grid;gap:22px;align-content:start;padding:36px 28px;background:#FBF7F0;border-radius:var(--raio)}
.pla-dest{background:var(--cor-fundo-escuro);color:#FBF7F0}
.pla-nome{font:400 2rem/1.05 var(--fonte-titulo)}
.pla-card>p:first-child{color:var(--cor-texto-2)}
.pla-dest>p:first-child{color:#CDBBA5}
.pla-valor{display:flex;align-items:baseline;gap:6px;font-size:.9375rem}
.pla-valor strong{font:400 clamp(3.5rem,6vw,5rem)/1 var(--fonte-display);letter-spacing:-.03em;font-variant-numeric:tabular-nums}
.dig{display:inline-block;height:1em;overflow:clip;vertical-align:top}
.dig>span{display:block;height:1em}
.pla-inc{display:grid;gap:10px;font-size:.9375rem}
.pla-inc li{display:flex;gap:12px}
.pla-inc li::before{content:"";flex:none;width:12px;height:1px;margin-top:.8em;background:currentColor}
.pla-nota{margin-top:24px;color:var(--cor-texto-2)}
@media (min-width:900px){.pla-lista{grid-template-columns:repeat(3,minmax(0,1fr))}.pla-dest{transform:translateY(-16px)}}
@media (prefers-reduced-motion:no-preference){.pla-ind{transition:transform var(--dur-media) var(--ease-saida)}.dig>span{transition:transform var(--dur-media) var(--ease-saida);transition-delay:calc(var(--k) * 50ms)}.rolando .dig>span{transform:translateY(-100%)}}

/* ============ SEÇÃO 10 · CAFETERIA · caf- ============ */
.caf{position:relative;padding-block:var(--espaco-secao);overflow:clip}
.caf-topo{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:end;gap:24px;margin-bottom:40px}
.caf-ctrl{display:flex;align-items:center;gap:16px}
.caf-ctrl button{display:grid;place-items:center;width:48px;height:48px;border:1px solid var(--cor-texto);border-radius:50%;font-size:1.125rem}
.caf-cont{min-width:64px;text-align:center;font-size:.875rem}
.caf-trilho{display:flex;gap:16px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-padding-inline:var(--margem);padding-inline:var(--margem);scrollbar-width:none}
.caf-trilho::-webkit-scrollbar{display:none}
.caf-trilho.arrastando{scroll-snap-type:none;cursor:grabbing;user-select:none}
.caf-trilho li{flex:0 0 78vw;scroll-snap-align:start}
.caf-trilho img{width:100%;aspect-ratio:4/5;object-fit:cover;border-radius:var(--raio);pointer-events:none}
.caf-trilho figcaption{padding-top:12px;color:var(--cor-texto-2)}
@media (min-width:900px){.caf-trilho{gap:var(--calha);cursor:grab}.caf-trilho li{flex-basis:min(28vw,420px)}.caf-trilho li:nth-child(odd) img{aspect-ratio:3/4}}

/* ============ SEÇÃO 11 · FAIXA · fai- ============ */
.fai{position:relative;padding-block:clamp(64px,8vw,112px);overflow:clip}
.fai-trilho{display:flex;width:max-content}
.fai-trilho p{flex:none;padding-right:.4em;font:400 clamp(2.5rem,7vw,6.5rem)/1.1 var(--fonte-display);letter-spacing:-.025em;white-space:nowrap}
.fai-trilho b{font-weight:400;color:#8C7766;margin-inline:.3em}
.fai .pausa{background:var(--cor-fundo-escuro)}
@media (prefers-reduced-motion:no-preference){.fai-trilho{animation:fai-loop 42s linear infinite}.fai:hover .fai-trilho,.fai:has(:focus-visible) .fai-trilho,.fai.pausado .fai-trilho{animation-play-state:paused}}
@keyframes fai-loop{to{transform:translateX(-50%)}}

/* ============ SEÇÃO 12 · DEPOIMENTOS · dep- ============ */
.dep{position:relative;padding-block:var(--espaco-secao);background:var(--cor-fundo-alt);overflow:clip}
.dep-mesa{display:grid;gap:40px;padding-inline:8px}
.dep-card{display:grid;gap:18px;padding:16px 16px 28px;background:#FBF7F0;box-shadow:0 24px 40px -28px rgba(42,29,21,.35),0 1px 2px rgba(42,29,21,.08);transform:rotate(var(--r))}
.dep-card img{width:100%;aspect-ratio:1/1;object-fit:cover}
.dep-card blockquote{padding-inline:8px;font:400 1.25rem/1.35 var(--fonte-titulo)}
.dep-card figcaption{padding-inline:8px;color:var(--cor-texto-2);font-size:.875rem}
@media (min-width:900px){.dep-mesa{grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--calha)}.dep-card:nth-child(2){margin-top:48px}}
@media (hover:hover) and (prefers-reduced-motion:no-preference){.dep-card{transition:transform var(--dur-lenta) var(--ease-saida)}.dep-card:hover{transform:rotate(0) translateY(-8px)}}

/* ============ SEÇÃO 13 · EVENTOS · evt- ============ */
.evt{position:relative;padding-block:var(--espaco-secao)}
.evt-lista{border-top:1px solid var(--cor-linha)}
.evt-item{display:grid;grid-template-columns:72px 1fr;gap:12px 20px;align-items:center;padding:24px 0;border-bottom:1px solid var(--cor-linha)}
.evt-data{display:grid;justify-items:start;line-height:1}
.evt-data b{font:400 clamp(2.5rem,4vw,3.75rem)/.9 var(--fonte-display);letter-spacing:-.03em}
.evt-data span{margin-top:6px}
.evt-nome{font:400 clamp(1.375rem,2.4vw,2rem)/1.15 var(--fonte-titulo)}
.evt-item p{color:var(--cor-texto-2);font-size:.9375rem}
.evt-vagas{grid-column:2;display:flex;flex-wrap:wrap;align-items:center;gap:12px 20px}
@media (min-width:900px){.evt-item{grid-template-columns:120px 1fr auto auto;gap:32px;padding:32px 0}.evt-vagas{grid-column:auto;display:contents}}
@media (hover:hover) and (prefers-reduced-motion:no-preference){.evt-data{transition:transform var(--dur-media) var(--ease-saida)}.evt-item:hover .evt-data{transform:translateX(8px)}}

/* ============ SEÇÃO 14 · VISITE · vis- ============ */
.vis{position:relative;padding-block:var(--espaco-secao);background:var(--cor-fundo-alt)}
.vis-in{row-gap:48px}
.vis-txt{display:grid;gap:28px;align-content:start}
.vis-aberto{display:inline-flex;align-items:center;gap:10px;justify-self:start;padding:10px 16px;background:#FBF7F0;border:1px solid var(--cor-linha);border-radius:999px;font-weight:500;font-size:.9375rem}
.vis-aberto i{width:8px;height:8px;border-radius:50%;background:#2A1D15;box-shadow:0 0 0 4px #D8C8B0}
.vis-horas{border-top:1px solid #CDBA9E}
.vis-horas div{display:flex;justify-content:space-between;gap:16px;padding:14px 0;border-bottom:1px solid #CDBA9E}
.vis-horas dd{color:var(--cor-texto-2)}
.vis-mapa iframe{display:block;height:auto;border:0;width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:var(--raio)}
@media (min-width:900px){.vis-txt{grid-column:1/6}.vis-mapa{grid-column:7/-1}}

/* ============ SEÇÃO 15 · CTA FINAL · cta- ============ */
.cta{position:relative;padding-block:calc(var(--espaco-secao) * 1.2)}
.cta-in{row-gap:48px;justify-items:start}
.cta-tit{font:400 clamp(3rem,9vw,9.5rem)/.95 var(--fonte-display);letter-spacing:-.04em;text-wrap:balance}
.cta-rot{font-style:italic}
.cta-acoes{display:flex;flex-wrap:wrap;gap:12px}
.cta-rel{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}
html:not(.js) .cta-rot>span+span::before{content:" / "}
.js .cta-rot{display:inline-grid;overflow:clip;vertical-align:bottom;padding-block:.08em .12em;margin-block:-.08em -.12em}
.js .cta-rot>span{grid-area:1/1}
.js .cta-rot>span:not(.ativo){opacity:0;transform:translateY(100%)}
.js .cta-rot>span.saiu{transform:translateY(-100%)}
@media (prefers-reduced-motion:no-preference){
.js .cta-rot>span{transition:transform 600ms var(--ease-saida),opacity 400ms var(--ease-padrao)}
.cta-rel{animation:cta-ciclo 2.5s linear infinite}
.cta:hover .cta-rel,.cta:has(:focus-visible) .cta-rel,.cta.pausado .cta-rel{animation-play-state:paused}}
@keyframes cta-ciclo{to{transform:translateX(1px)}}

/* ============ FOOTER · rod- ============ */
.rod{position:relative;padding-block:var(--espaco-secao) 32px}
.rod-in{row-gap:56px}
.rod-news{display:grid;gap:20px}
.rod-news h2{font:400 clamp(1.75rem,3vw,2.75rem)/1.1 var(--fonte-titulo);text-wrap:balance}
.rod-campo{display:flex;gap:8px;padding:6px 6px 6px 20px;border:1px solid var(--cor-texto);border-radius:999px;max-width:520px}
.rod-campo input{flex:1;min-width:0;border:0;background:none;outline:0;font-size:1rem}
.rod-campo:has(input:focus-visible){outline:2px solid var(--cor-texto);outline-offset:4px}
.rod-cols{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:32px}
.rod-cols h2{margin-bottom:14px}
.rod-cols li{padding-block:3px;overflow-wrap:anywhere}
.rod-final{display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px;padding-top:24px;border-top:1px solid var(--cor-linha);color:var(--cor-texto-2);font-size:.875rem}
@media (min-width:900px){.rod-news{grid-column:1/7}.rod-cols{grid-column:8/-1}}

/* ============ WHATSAPP FLUTUANTE · wa- ============ */
.wa{position:fixed;right:20px;bottom:20px;z-index:60;display:inline-flex;align-items:center;gap:10px;min-height:52px;padding:0 20px 0 16px;border-radius:999px;background:#2A1D15;color:#FBF7F0;font:500 .9375rem/1 var(--fonte-texto);box-shadow:0 12px 32px -12px rgba(42,29,21,.5)}
.wa i{width:8px;height:8px;border-radius:50%;background:#FBF7F0}
.wa::after{content:"";position:absolute;inset:0;border-radius:inherit;border:1px solid #2A1D15;opacity:0;pointer-events:none}
/* Com JS, o botão flutuante só aparece quando o CTA do hero [data-anima=gatilho-wa] some da tela */
.js .wa:not(.mostrar){opacity:0;visibility:hidden;transform:translateY(24px) rotate(-4deg);pointer-events:none}
@media (prefers-reduced-motion:no-preference){.js .wa{transition:opacity var(--dur-media) var(--ease-padrao),transform var(--dur-lenta) var(--ease-acomoda),visibility 0s linear var(--dur-media)}.js .wa.mostrar{transition-delay:0s}.js .wa.pulsa::after{animation:wa-pulso 1.2s var(--ease-saida) 500ms 1}}
@keyframes wa-entra{from{opacity:0;transform:translateY(24px) rotate(-4deg)}}
@keyframes wa-pulso{0%{opacity:.6;transform:scale(1)}100%{opacity:0;transform:scale(1.35)}}
/* ============ IDENTIDADE · marca Torra Fina (terra e ofício) ============ */
/* Grão de papel: camada fixa, sem interação, sobre toda a página */
body::after{content:"";position:fixed;inset:0;z-index:70;pointer-events:none;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 .16 0 0 0 0 .11 0 0 0 0 .08 0 0 0 .55 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.16'/%3E%3C/svg%3E")}
.mono{font-family:var(--fonte-mono)}
.rotulo{color:var(--cor-destaque)}
.titulo em,.ori-tit em{font-style:italic;color:var(--cor-destaque)}
.ori-tit em{font-style:normal}
.escuro .titulo em,.cta-rot{color:var(--cor-destaque-claro)}
.capnum{-webkit-text-stroke-color:var(--cor-kraft);opacity:.7}
.escuro .capnum{-webkit-text-stroke-color:#6E5747}
.btn-cheio{background:var(--cor-destaque);border-color:var(--cor-destaque);color:var(--cor-sobre-destaque)}
.xic-notas li:nth-child(3n+1){background:var(--cor-destaque);border-color:var(--cor-destaque);color:var(--cor-sobre-destaque)}
.prd-sca{background:var(--cor-papel);color:var(--cor-destaque)}
.pla-card{background:var(--cor-papel)}
.pla-card.pla-dest{background:var(--cor-fundo-escuro);color:var(--cor-sobre-destaque)}
/* Marca: monograma + wordmark */
.marca{display:inline-flex;align-items:center;gap:10px}
.marca-mono{flex:none;width:36px;height:36px}
.marca-mono text,.selo text{font-family:var(--fonte-display);fill:currentColor}
.marca-t,.marca-f{font-size:30px}
.selo .marca-t,.selo .marca-f{font-size:32px}
.marca-f{font-style:italic;fill:var(--cor-destaque)!important}
.marca-txt{display:grid;gap:5px;line-height:1}
.marca-nome{font:400 1.375rem/1 var(--fonte-display);letter-spacing:-.01em;white-space:nowrap}
.marca-nome em{font-style:italic;color:var(--cor-destaque)}
.marca-tag{display:none;font:600 .5625rem/1 var(--fonte-mono);letter-spacing:.22em;text-transform:uppercase;color:var(--cor-texto-2)}
.cab-dlg .marca-f,.escuro .marca-f{fill:var(--cor-destaque-claro)!important}
.cab-dlg .marca-nome em{color:var(--cor-destaque-claro)}
.cab-dlg .marca-tag{color:#CDBBA5}
@media (min-width:600px){.marca-tag{display:block}}
/* Selo circular */
.selo{display:block;width:100%;height:auto;overflow:visible}
.selo-anel{font:600 7.6px var(--fonte-mono);letter-spacing:1.9px}
.ori-selo{flex:none;width:clamp(76px,7vw,104px);color:var(--cor-destaque)}
.ori-base{align-items:center}
.rod-marca{width:112px;color:var(--cor-destaque)}
@media (min-width:900px){.rod-marca{grid-column:1/3}.rod-news{grid-column:3/8}}
@media (prefers-reduced-motion:no-preference){
.selo-anel{transform-origin:60px 60px}
.js .ori-selo .selo-anel{transform:rotate(calc(var(--e,0) * 200deg))}
.js .ori-selo{opacity:clamp(0,1 - var(--e,0) * 2,1)}
.rod-marca .selo-anel{animation:selo-giro 40s linear infinite}
.rod:hover .selo-anel{animation-play-state:paused}}
@keyframes selo-giro{to{transform:rotate(1turn)}}

/* ============ PROJETO CONCEITO · aviso de conteúdo fictício ============ */
.selo-ficticio{justify-self:start;align-self:start;display:inline-block;padding:6px 12px;border:1px solid var(--cor-destaque);border-radius:999px;color:var(--cor-destaque);font-weight:600;text-transform:uppercase}

/* ============ CABEÇALHO EM CELULAR ESTREITO · logo + Assinar + Menu cabem até 320px ============ */
@media (max-width:420px){.cab-menu{font-size:0;gap:0;padding:0 12px}}
@media (max-width:359px){.cab-logo .marca-nome{font-size:1.125rem}}
.rod-news{min-width:0;grid-template-columns:minmax(0,1fr)}
