
:root{
  --bg:#F7F2EB;--surface:#FFFDF9;--ink:#2B1F19;--muted:#6B5C52;--line:#E1D4C4;
  --brand:#5A3A2A;--btn-bg:#5A3A2A;--btn-ink:#FBF4EA;--gold:#9A7236;--sand:#E8D9C7;
  --ok:#2F6B4F;--err:#A33A2F;--focus:#9A7236;
  --n-rose:#EBD3C5;--n-camel:#DBC7AA;--n-ink:#2B1F19;--dk-bg:#4A3126;--dk-ink:#F6EDE4;--wa:#25D366;--wa-ink:#073B1E;
  --pad:clamp(20px,5vw,40px);
  color-scheme:light dark;
}
@media (prefers-color-scheme:dark){
  :root{
    --bg:#1B1310;--surface:#251A16;--ink:#F1E7DB;--muted:#BCAD9F;--line:#3A2C25;
    --brand:#E2C9A3;--btn-bg:#E2C9A3;--btn-ink:#2B1F19;--gold:#D2A964;--sand:#33251F;
    --ok:#7CC9A0;--err:#F0968B;--focus:#D2A964;
    --n-rose:#3B2B27;--n-camel:#352B20;--n-ink:#F1E7DB;--dk-bg:#2E221C;--dk-ink:#F1E7DB;
  }
}
html{scroll-padding-top:calc(84px + env(safe-area-inset-top,0px));-webkit-text-size-adjust:100%}
*,*::before,*::after{box-sizing:border-box}
body{margin:0;background:var(--bg);color:var(--ink);font:400 1.0625rem/1.68 Figtree,system-ui,-apple-system,"Segoe UI",sans-serif;-webkit-font-smoothing:antialiased}
[hidden]{display:none!important}
img{max-width:100%;height:auto;display:block}
a{color:inherit}
h1,h2,h3,.serif{font-family:Fraunces,Georgia,"Times New Roman",serif;font-weight:400;letter-spacing:-.012em;line-height:1.12;margin:0;text-wrap:balance}
h2{font-size:clamp(1.9rem,3.6vw,2.7rem)}
h3{font-size:clamp(1.5rem,2.6vw,2rem)}
p{margin:0 0 1.1em}
.muted{color:var(--muted)}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
:focus-visible{outline:2px solid var(--focus);outline-offset:3px;border-radius:4px}
.wrap{width:100%;max-width:1160px;margin-inline:auto;padding-inline:var(--pad)}

/* botões */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.85rem 1.5rem;border-radius:999px;border:1px solid transparent;background:var(--btn-bg);color:var(--btn-ink);font:600 .98rem/1.2 Figtree,system-ui,sans-serif;text-decoration:none;cursor:pointer;transition:transform .15s ease,opacity .15s ease}
.btn:hover{opacity:.9}
.btn:active{transform:translateY(1px)}
.btn[disabled]{opacity:.5;cursor:not-allowed}
.btn-sm{padding:.55rem 1.05rem;font-size:.9rem}
.btn-ghost{background:transparent;color:var(--ink);border-color:var(--line)}
.btn-danger{background:transparent;color:var(--err);border-color:var(--err)}
.link{color:var(--brand);font-weight:600;text-underline-offset:4px}

/* cabeçalho */
.site-header{position:sticky;top:env(safe-area-inset-top,0px);z-index:30;background:var(--bg);background:color-mix(in srgb,var(--bg) 92%,transparent);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}
.bar{display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:72px}
.brand{text-decoration:none;display:flex;flex-direction:column;line-height:1.15}
.brand-name{font-family:Fraunces,Georgia,serif;font-size:1.4rem;color:var(--brand)}
.brand-sub{font-size:.8rem;color:var(--muted)}
.nav{display:flex;align-items:center;gap:clamp(12px,1.5vw,24px)}
.nav>a:not(.btn),.has-sub>a{text-decoration:none;font-weight:500;font-size:.98rem;padding:.4rem 0;border-bottom:1px solid transparent}
.nav>a:not(.btn):hover,.has-sub>a:hover{border-color:var(--gold)}
.has-sub{position:relative}
.sub{position:absolute;top:100%;left:-16px;min-width:230px;margin:0;padding:10px;list-style:none;background:var(--surface);border:1px solid var(--line);border-radius:12px;box-shadow:0 14px 34px rgba(43,31,25,.14);opacity:0;visibility:hidden;transform:translateY(6px);transition:opacity .15s,transform .15s,visibility 0s .15s}
.has-sub:hover .sub,.has-sub:focus-within .sub{opacity:1;visibility:visible;transform:none;transition:opacity .15s,transform .15s}
.sub a{display:block;padding:.55rem .8rem;border-radius:8px;text-decoration:none;font-size:.95rem}
.sub a:hover{background:var(--sand)}
.menu-btn{display:none;background:none;border:1px solid var(--line);border-radius:10px;width:44px;height:44px;color:var(--ink);cursor:pointer}

/* hero */
.hero{position:relative;display:grid;overflow:hidden}
.slide{grid-area:1/1;display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);align-items:center;gap:clamp(28px,5vw,80px);padding:clamp(44px,7vw,92px) max(var(--pad),calc((100% - 1160px)/2 + var(--pad))) clamp(88px,9vw,120px);background:var(--s-bg);color:var(--s-ink);opacity:0;visibility:hidden;transition:opacity .8s ease,visibility 0s .8s}
.slide.on{opacity:1;visibility:visible;transition:opacity .8s ease}
.s1{--s-bg:#E8D9C7;--s-ink:#2E2019;--s-btn:#4A3126;--s-btn-ink:#FBF4EA}
.s2{--s-bg:#241733;--s-ink:#F6EDE4;--s-btn:#D9B56B;--s-btn-ink:#2A1B33;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='420' height='420'%3E%3Cg fill='%23D9B56B'%3E%3Ccircle cx='38' cy='62' r='1.5' opacity='.38'/%3E%3Ccircle cx='190' cy='30' r='1' opacity='.25'/%3E%3Ccircle cx='330' cy='96' r='1.6' opacity='.38'/%3E%3Ccircle cx='120' cy='210' r='1' opacity='.45'/%3E%3Ccircle cx='390' cy='250' r='1.3' opacity='.3'/%3E%3Ccircle cx='60' cy='360' r='1.4' opacity='.3'/%3E%3Ccircle cx='250' cy='330' r='1' opacity='.25'/%3E%3Cpath d='M270 170l2.5 7 7 2.5-7 2.5-2.5 7-2.5-7-7-2.5 7-2.5z' opacity='.38'/%3E%3Cpath d='M90 120l2 5 5 2-5 2-2 5-2-5-5-2 5-2z' opacity='.28'/%3E%3Cpath d='M350 380l2 5 5 2-5 2-2 5-2-5-5-2 5-2z' opacity='.28'/%3E%3C/g%3E%3C/svg%3E")}
.pill-ctx{display:inline-flex;align-items:center;gap:.5rem;padding:.4rem .95rem;border-radius:999px;border:1px solid currentColor;font-weight:600;font-size:.92rem;margin-bottom:1.3rem;opacity:.9}
.pill-ctx svg{width:14px;height:14px;fill:currentColor;flex:none}
.s2 .pill-ctx{color:#D9B56B}
.sub-ctx{font-size:.98rem;opacity:.82;max-width:46ch;margin:-.6rem 0 1.8rem!important;padding-left:1rem;border-left:2px solid #D9B56B}
.tcards{position:relative;justify-self:center;width:min(100%,330px);aspect-ratio:330/540}
.tcard{position:absolute;inset:0;border-radius:16px;border:2px solid #D9B56B;background:#2E1F3D;box-shadow:0 18px 40px rgba(0,0,0,.35)}
.tcard.back{transform:translate(-34px,10px) rotate(-7deg);background:#3A2650;display:grid;place-items:center}
.tcard.back::before,.tcard.front::before{content:"";position:absolute;inset:8px;border:1px solid rgba(217,181,107,.55);border-radius:10px;pointer-events:none}
.tcard.back svg{width:78%;height:auto}
.tcard.front{margin:0;transform:rotate(2.5deg);display:flex;flex-direction:column;padding:14px 14px 10px}
.tcard.front img{flex:1;min-height:0;width:100%;object-fit:cover;object-position:50% 20%;border-radius:8px;border:1px solid rgba(217,181,107,.7)}
.tcard.front figcaption{padding:.7rem 0 .25rem;text-align:center;font-family:Fraunces,Georgia,serif;font-size:1.12rem;color:#E9CF93;line-height:1.2}
.tcard.front figcaption::before,.tcard.front figcaption::after{content:"\2726";font-size:.7em;margin-inline:.55em;color:#D9B56B}

.s3{--s-bg:#4A3126;--s-ink:#F6EDE4;--s-btn:#EAD5B2;--s-btn-ink:#2B1F19}
@media (prefers-color-scheme:dark){:root .s1{--s-bg:#2E221C;--s-ink:#F1E7DB;--s-btn:#E2C9A3;--s-btn-ink:#2B1F19}}
.slide .h-slide{font-family:Fraunces,Georgia,serif;font-size:clamp(2.2rem,4.8vw,4rem);line-height:1.07;letter-spacing:-.018em;margin:0 0 1.1rem;text-wrap:balance;max-width:16ch}
.slide.s2 .h-slide,.slide.s3 .h-slide{max-width:20ch;font-size:clamp(2rem,4vw,3.3rem)}
.slide .lead{font-size:clamp(1.05rem,1.5vw,1.25rem);max-width:36ch;margin-bottom:1.8rem;opacity:.9}
.slide .btn{background:var(--s-btn);color:var(--s-btn-ink)}
.arch{position:relative;justify-self:center;width:min(100%,410px);aspect-ratio:4/5}
.arch::before{content:"";position:absolute;inset:16px -16px -16px 16px;border:1px solid currentColor;opacity:.35;border-radius:999px 999px 16px 16px}
.arch img{position:relative;width:100%;height:100%;object-fit:cover;object-position:50% 18%;border-radius:999px 999px 16px 16px}
.hero-ctl{position:absolute;z-index:3;left:0;right:0;bottom:24px;display:flex;align-items:center;justify-content:center;gap:6px}
.hero-ctl button{width:44px;height:44px;border-radius:50%;border:1px solid rgba(255,255,255,.55);background:rgba(20,12,8,.28);color:#fff;cursor:pointer;display:grid;place-items:center}
.hero-ctl .dots{display:flex;gap:0;margin-inline:4px}
.hero-ctl .dot{width:44px;height:44px;border:0;background:none;display:grid;place-items:center;border-radius:50%}
.hero-ctl .dot::after{content:"";width:10px;height:10px;border-radius:50%;background:#fff;opacity:.5;transition:opacity .2s,transform .2s}
.hero-ctl .dot[aria-current="true"]::after{opacity:1;transform:scale(1.4)}
.hero-ctl .dot:hover{background:none}
.s1-ctl .dot::after{background:#2B1F19}
.s1-ctl button{border-color:rgba(43,31,25,.45);color:#2B1F19;background:rgba(255,255,255,.4)}

/* seções */
.section{padding:clamp(64px,9vw,120px) 0}
.sec-head{margin-bottom:clamp(28px,4vw,48px);max-width:60ch}
.sec-head p{color:var(--muted);margin-top:.9rem}
.about{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:clamp(32px,6vw,92px);align-items:start}
.about .ph{position:sticky;top:calc(96px + env(safe-area-inset-top,0px))}
.photo{width:100%;aspect-ratio:4/5;object-fit:cover;border-radius:16px;background:var(--sand)}
.about h2{margin-bottom:1.4rem}
.lead-serif{font-family:Fraunces,Georgia,serif;font-size:clamp(1.35rem,2.2vw,1.75rem);line-height:1.35;margin-bottom:1.4rem}
.about p{max-width:62ch}
.asks{margin:1.6rem 0;padding:0;list-style:none;display:grid;gap:.9rem}
.asks li{font-family:Fraunces,Georgia,serif;font-style:italic;font-size:1.25rem;line-height:1.35;padding-left:1.1rem;border-left:2px solid var(--gold)}
.services{background:var(--surface);border-block:1px solid var(--line)}
.tabs{display:flex;gap:4px;border-bottom:1px solid var(--line);overflow-x:auto;scrollbar-width:thin}
.tab{flex:none;background:none;border:0;border-bottom:2px solid transparent;margin-bottom:-1px;padding:.9rem 1.15rem;font:500 1rem Figtree,system-ui,sans-serif;color:var(--muted);cursor:pointer}
.tab:hover{color:var(--ink)}
.tab[aria-current="page"]{color:var(--brand);border-color:var(--gold);font-weight:600}
.panel{padding-top:clamp(28px,4vw,48px)}
.panel-grid{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,4fr);gap:clamp(32px,5vw,72px);align-items:start}
.panel .side{align-self:stretch}
.panel[hidden]{display:none}
.panel h2{font-size:clamp(1.5rem,2.6vw,2rem);margin-bottom:1.1rem}
.panel .lead{font-family:Fraunces,Georgia,serif;font-size:1.3rem;line-height:1.4;margin-bottom:1.2rem}
.panel p,.panel ul{max-width:62ch}
.panel .photo{position:sticky;top:calc(96px + env(safe-area-inset-top,0px));aspect-ratio:4/5}
.panel-tarot .photo{aspect-ratio:3/5}
.ticks{padding:0;margin:0 0 1.2rem;list-style:none;display:grid;gap:.45rem}
.ticks li{position:relative;padding-left:1.4rem}
.ticks li::before{content:"";position:absolute;left:.15rem;top:.7em;width:7px;height:7px;border-radius:50%;background:var(--gold)}
.jogos{margin:1.8rem 0 1.4rem;border-top:1px solid var(--line)}
.jogos h3{font-family:Fraunces,Georgia,serif;font-weight:400;font-size:1.25rem;margin:1.6rem 0 .3rem}
.jogo{border-bottom:1px solid var(--line)}
.jogo summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:16px;padding:1rem 0;font-family:Fraunces,Georgia,serif;font-size:1.2rem}
.jogo summary::-webkit-details-marker{display:none}
.jogo summary::after{content:"";flex:none;width:9px;height:9px;border-right:2px solid var(--gold);border-bottom:2px solid var(--gold);transform:rotate(45deg);transition:transform .2s}
.jogo[open] summary::after{transform:rotate(225deg)}
.jogo .in{padding:0 0 1.2rem}
.jogo .in p{margin-bottom:.8rem}
.cta-row{display:flex;flex-wrap:wrap;gap:12px;margin-top:1.6rem}

/* artigos */
.feature{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:clamp(24px,4vw,56px);align-items:center;text-decoration:none;margin-bottom:clamp(32px,4vw,52px)}
.cover{width:100%;aspect-ratio:4/3;object-fit:cover;object-position:50% 38%;border-radius:16px;background:var(--sand)}
.ph-block{width:100%;aspect-ratio:4/3;border-radius:16px;background:var(--sand);display:grid;place-items:center;color:var(--muted);font-family:Fraunces,Georgia,serif;font-size:1.1rem}
.meta{display:flex;flex-wrap:wrap;gap:.2rem 1rem;font-size:.88rem;color:var(--muted);margin-bottom:.6rem}
.meta .cat{color:var(--brand);font-weight:600}
.feature h3{margin-bottom:.8rem}
.feature:hover h3,.arow:hover h3{text-decoration:underline;text-decoration-color:var(--gold);text-underline-offset:6px}
.alist{display:grid;border-top:1px solid var(--line)}
.arow{display:grid;grid-template-columns:132px minmax(0,1fr);gap:22px;align-items:center;padding:22px 0;border-bottom:1px solid var(--line);text-decoration:none}
.arow .cover,.arow .ph-block{aspect-ratio:1/1;border-radius:12px}
.arow h3{font-size:1.4rem;margin-bottom:.4rem}
.arow p{margin:0;color:var(--muted);font-size:.98rem}
.empty{padding:2.4rem 0;color:var(--muted)}
.filters{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:28px}
.chip{border:1px solid var(--line);background:transparent;color:var(--ink);padding:.5rem 1rem;border-radius:999px;font:500 .92rem Figtree,system-ui,sans-serif;cursor:pointer}
.chip[aria-pressed="true"]{background:var(--btn-bg);color:var(--btn-ink);border-color:var(--btn-bg)}
.page{padding:clamp(36px,6vw,72px) 0 clamp(64px,8vw,110px)}
.back{display:inline-block;margin-bottom:1.6rem;color:var(--brand);font-weight:600;text-underline-offset:4px}
.art{max-width:780px;margin-inline:auto}
.art h1{font-size:clamp(2rem,4.4vw,3.2rem);margin:.4rem 0 1rem}
.art .cover{aspect-ratio:4/3;margin:1.6rem 0 2rem}
.prose{font-size:1.14rem;line-height:1.8;max-width:68ch}
.prose h2{font-size:1.7rem;margin:2.2rem 0 .8rem}
.prose h3{font-size:1.35rem;margin:1.8rem 0 .6rem}
.prose blockquote{margin:1.6rem 0;padding:.2rem 0 .2rem 1.2rem;border-left:2px solid var(--gold);font-family:Fraunces,Georgia,serif;font-style:italic;font-size:1.3rem;line-height:1.45}
.prose ul,.prose ol{padding-left:1.3rem;margin:0 0 1.2em}
.prose li{margin-bottom:.35rem}
.prose img{border-radius:12px;margin:1.6rem 0}
.prose a{color:var(--brand);text-underline-offset:3px}
.after{margin-top:3rem;padding:1.8rem;border:1px solid var(--line);border-radius:16px;background:var(--surface)}
.after h3{font-size:1.5rem;margin-bottom:.5rem}
.banner-draft{background:var(--sand);border:1px solid var(--line);border-radius:10px;padding:.7rem 1rem;margin-bottom:1.2rem;font-size:.95rem}

/* contato */
.contact{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,6fr);gap:clamp(32px,6vw,88px);align-items:start}
.contact .photo{aspect-ratio:5/4;object-position:50% 25%;margin-top:1.8rem}
.clist{list-style:none;padding:0;margin:1.4rem 0 0;display:grid;gap:.7rem}
.clist a{display:inline-flex;align-items:center;gap:.7rem;text-decoration:none;font-weight:500}
.clist a:hover span{text-decoration:underline;text-underline-offset:4px}
.ico{width:22px;height:22px;flex:none;stroke:var(--brand);fill:none;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.formbox{background:var(--surface);border:1px solid var(--line);border-radius:18px;padding:clamp(22px,3.5vw,38px)}
.fld{display:grid;gap:.4rem;margin-bottom:1.1rem}
.fld label{font-weight:600;font-size:.95rem}
.fld .hint{font-size:.85rem;color:var(--muted);font-weight:400}
input,select,textarea{width:100%;font:400 1rem Figtree,system-ui,sans-serif;color:var(--ink);background:var(--bg);border:1px solid var(--line);border-radius:10px;padding:.8rem .9rem}
input:focus,select:focus,textarea:focus{outline:2px solid var(--focus);outline-offset:1px;border-color:transparent}
textarea{resize:vertical;min-height:130px}
.row2{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.sent{display:grid;gap:12px}
.sent .btn{justify-content:center}

/* rodapé */
.foot{background:#2B1F19;color:#EFE3D3;padding:44px 0 34px}
.foot .wrap{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:20px}
.foot a{color:inherit}
.foot .ig{display:inline-flex;width:46px;height:46px;border:1px solid rgba(239,227,211,.4);border-radius:50%;align-items:center;justify-content:center}
.foot .ig .ico{stroke:#EFE3D3}
.foot p{margin:0;font-size:.95rem}
.foot small{display:block;margin-top:.4rem;opacity:.65}

/* admin */
.msg{margin-top:1rem;font-weight:500;min-height:1.4em}
.msg.err{color:var(--err)}
.msg.ok{color:var(--ok)}
.wa-float{position:fixed;z-index:25;right:16px;bottom:calc(16px + env(safe-area-inset-bottom,0px));width:56px;height:56px;border-radius:50%;display:grid;place-items:center;background:var(--btn-bg);box-shadow:0 8px 24px rgba(43,31,25,.3);transition:transform .15s}
.wa-float:hover{transform:scale(1.06)}
.wa-float .ico{width:28px;height:28px;stroke:var(--btn-ink)}

/* responsivo */
@media (max-width:900px){
  .slide{grid-template-columns:1fr;gap:34px;padding-bottom:110px}
  .slide .h-slide,.slide.s2 .h-slide,.slide.s3 .h-slide{max-width:none}
  .arch{width:min(76%,320px)}
  .about,.panel-grid,.contact,.feature{grid-template-columns:1fr}
  .about .ph,.panel .photo{position:static}
  .about .photo{aspect-ratio:4/4.4}
  .panel .side{order:-1}
  .panel .photo{aspect-ratio:16/10;object-position:50% 20%}
  .panel-constelacao .photo{aspect-ratio:1/1;object-position:50% 55%}
  .panel-tarot .photo{aspect-ratio:3/5;width:80%;margin-inline:auto;object-position:50% 50%}
  .arow{grid-template-columns:96px minmax(0,1fr);gap:16px}
  .row2{grid-template-columns:1fr}
  .arow-adm{grid-template-columns:1fr}
  .acts{justify-content:flex-start}
}

.nav>a[aria-current],.has-sub>a[aria-current]{border-color:var(--gold)}
.band{padding:clamp(40px,6vw,76px) 0}
.band p{max-width:62ch;margin:0;opacity:.85}
.band-pessoas{background:var(--n-rose);color:var(--n-ink)}
.choices{display:grid;grid-template-columns:1fr 1fr;gap:clamp(24px,4vw,56px)}
.choice{display:block;text-decoration:none;background:var(--c-bg);color:var(--n-ink);padding:clamp(16px,2.2vw,26px) clamp(16px,2.2vw,26px) clamp(22px,2.6vw,32px);border-radius:22px;transition:transform .2s ease}
.choice.pessoas{--c-bg:var(--n-rose)}
.choice.empresas{--c-bg:var(--n-camel)}
.choice:hover{transform:translateY(-3px)}
.choice .link{color:var(--n-ink)}
.choice .photo.wide{object-position:50% 20%;border-radius:14px}
.choice .photo.wide{aspect-ratio:16/10;margin-bottom:1.2rem}
.choice h3{margin-bottom:.6rem}
.choice p{opacity:.85;max-width:46ch}
.choice:hover h3{text-decoration:underline;text-decoration-color:var(--gold);text-underline-offset:6px}
.cta-band{background:#4A3126;color:#F6EDE4;text-align:center;padding:clamp(56px,8vw,96px) 0}
.cta-band p{max-width:46ch;margin:1rem auto 1.8rem;opacity:.9}
.cta-band .btn{background:#EAD5B2;color:#2B1F19}
.biz{background:var(--n-camel);color:var(--n-ink);padding:clamp(44px,7vw,92px) 0 clamp(56px,8vw,100px)}
.biz-in{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:clamp(28px,5vw,80px);align-items:center}
.biz h1{font-size:clamp(2.2rem,4.6vw,3.8rem);margin-bottom:1.1rem}
.biz .lead{font-size:clamp(1.05rem,1.5vw,1.25rem);max-width:38ch;opacity:.92;margin-bottom:1.8rem}
.biz .btn-light{background:transparent;color:var(--n-ink);border-color:currentColor}
.biz .arch img{object-position:50% 14%}
.two{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(28px,5vw,80px);align-items:start}
.faq{max-width:820px}
.faq .jogos{margin-top:0}
.foot-grid{display:grid!important;grid-template-columns:minmax(0,1fr) minmax(0,1.5fr) auto;gap:28px;align-items:start;margin-bottom:26px}
.foot .bio{opacity:.85;max-width:56ch}
.foot small{margin-top:0}
@media (max-width:1100px){
  .menu-btn{display:grid;place-items:center}
  .nav{position:absolute;left:0;right:0;top:100%;flex-direction:column;align-items:stretch;gap:0;padding:8px var(--pad) 18px;background:var(--bg);border-bottom:1px solid var(--line);display:none}
  .nav.open{display:flex}
  .nav>a:not(.btn),.has-sub>a{display:block;padding:.8rem 0;border-bottom:1px solid var(--line)}
  .nav .btn{margin-top:14px}
  .sub{position:static;opacity:1;visibility:visible;transform:none;border:0;box-shadow:none;background:none;padding:0 0 0 14px;min-width:0}
  .sub a{padding:.6rem .4rem}
}
@media (max-width:900px){.choices,.two,.biz-in,.foot-grid{grid-template-columns:1fr}.foot{padding-bottom:96px}.hero-ctl{bottom:18px}.tcards{width:min(64%,250px);margin-left:26px}.pill-ctx{font-size:.88rem}}

.band-dark{background:var(--dk-bg);color:var(--dk-ink)}
.band-dark .muted{color:inherit;opacity:.82}
.band-dark .link{color:#EAD5B2}
.band-dark .photo{background:rgba(255,255,255,.08)}
a.btn[href^="https://wa.me/"]{background:var(--wa);color:var(--wa-ink);border-color:transparent}
.wa-float{background:var(--wa)!important}
.wa-float .ico{stroke:var(--wa-ink)!important}
.clist a[href^="https://wa.me/"] .ico{stroke:var(--wa)}
.foot-wa{display:inline-flex;align-items:center;gap:.6rem;text-decoration:none;font-weight:500}
.foot-wa .ico{stroke:var(--wa);width:26px;height:26px}
.foot-wa:hover span{text-decoration:underline;text-underline-offset:4px}
.foot-ig{display:inline-flex;align-items:center;gap:.65rem;padding:.55rem 1.05rem .55rem .75rem;border:1px solid rgba(239,227,211,.45);border-radius:999px;text-decoration:none;font-weight:500}
.foot-ig .ico{stroke:#EFE3D3;width:24px;height:24px}
.foot-ig:hover{background:rgba(239,227,211,.1)}

.panel h3{font-family:Fraunces,Georgia,serif;font-weight:400;font-size:1.3rem;margin:1.7rem 0 .6rem}
.gal{grid-column:1/-1;display:flex;align-items:flex-start;gap:12px;margin-top:clamp(36px,5vw,64px)}
.gal img{flex:var(--r) 1 0%;min-width:0;height:auto;aspect-ratio:var(--r);object-fit:cover;border-radius:14px;background:var(--sand)}
@media (max-width:900px){.panel-celebrante .photo{aspect-ratio:1/1;object-position:50% 38%!important}.gal{flex-direction:column}.gal img{flex:none;width:100%}.gal img.port{width:76%;margin-inline:auto}}

.s4{--s-bg:#3F2428;--s-ink:#F6EDE4;grid-template-columns:1fr;justify-items:center;text-align:center}
.s4-in{display:flex;flex-direction:column;align-items:center;gap:1.6rem;max-width:min(100%,900px)}
.s4-rule{width:64px;height:2px;background:#D9B56B;border-radius:2px}
.slide.s4 .h-slide{max-width:22ch;margin:0;font-size:clamp(2.1rem,5vw,4rem);line-height:1.14}
.s4 em{font-style:italic;color:#E6C98E}

.band-sand{background:var(--sand)}
.band-sand .sec-head p,.band-sand .feature .muted,.band-sand .arow p{color:var(--ink);opacity:.78}
.band-sand .alist,.band-sand .arow{border-color:rgba(74,49,38,.22)}
@media (prefers-color-scheme:dark){:root .band-sand .alist,:root .band-sand .arow{border-color:rgba(241,231,219,.16)}}
.band-sand .cover,.band-sand .ph-block{background:rgba(74,49,38,.12)}
@media (prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}

/* ===== site estático: ajustes e novos componentes ===== */
html{scroll-behavior:smooth}
.skip-link{position:absolute;left:12px;top:-80px;z-index:100;background:var(--btn-bg);color:var(--btn-ink);padding:.7rem 1rem;border-radius:10px;text-decoration:none;font-weight:600}
.skip-link:focus{top:12px}
.hero-ctl{display:none}
.js .hero-ctl{display:flex}
.tab{display:block;text-decoration:none;white-space:nowrap}
.tabs{-webkit-overflow-scrolling:touch}
.tip{background:var(--sand);border-radius:12px;padding:1rem 1.2rem;font-size:.97rem}
.arch img,.tcard.front img{height:100%}
.hero img{height:auto}
.arch img{height:100%}
.panel .photo{height:auto}
.facts{list-style:none;margin:0 0 1.4rem;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px;max-width:62ch}
.facts li{background:var(--sand);border-radius:14px;padding:.9rem 1.05rem;display:grid;gap:.15rem}
.facts strong{font-family:Fraunces,Georgia,serif;font-weight:500;font-size:1.18rem;color:var(--brand);line-height:1.25}
.facts span{font-size:.9rem;color:var(--muted)}
.notice{border-left:3px solid var(--gold);background:var(--surface);border-radius:0 12px 12px 0;padding:.9rem 1.1rem;margin:1.4rem 0;font-size:.97rem;max-width:62ch}
.hp{position:absolute;left:-9999px;top:auto;width:1px;height:1px;overflow:hidden}
.check{display:flex;gap:.75rem;align-items:flex-start;margin:0 0 1rem}
.check input{width:22px;height:22px;flex:none;margin-top:.1rem;accent-color:var(--btn-bg);padding:0}
.check label{font-size:.93rem;font-weight:400;line-height:1.5}
.hint{font-size:.88rem;color:var(--muted);margin:0 0 1rem}
.msg{margin:0 0 .8rem;min-height:1.2em;font-weight:500}
.msg[hidden]{display:none}
#c-sent{padding:1rem 1.2rem;border:1px solid var(--ok);border-radius:12px;background:var(--bg);line-height:1.6}
.testi-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:20px}
.testi{margin:0;background:var(--surface);border:1px solid var(--line);border-radius:18px;padding:1.5rem}
.testi blockquote{margin:0 0 1rem;font-family:Fraunces,Georgia,serif;font-size:1.15rem;line-height:1.5}
.testi figcaption{font-size:.92rem;color:var(--muted)}
.testi-empty{border:1px dashed var(--gold);border-radius:18px;padding:2.2rem 1.5rem;text-align:center;color:var(--muted)}
.testi-empty p{margin:0;font-family:Fraunces,Georgia,serif;font-size:1.2rem}
.foot-social{display:grid;gap:10px;justify-items:start}
.foot-legal{display:flex;flex-wrap:wrap;gap:8px 24px;justify-content:space-between}
.foot-legal a,.link-btn{color:inherit}
.link-btn{background:none;border:0;padding:0;font:inherit;text-decoration:underline;text-underline-offset:3px;cursor:pointer}
.foot small{display:block;margin:0;opacity:.75}
.legal{max-width:780px}
.legal h2{font-size:1.5rem;margin:2.2rem 0 .7rem}
.legal h3{font-size:1.2rem;margin:1.6rem 0 .5rem}
.legal ul{padding-left:1.3rem;margin:0 0 1.2em}
.legal li{margin-bottom:.4rem}
.legal a{color:var(--brand);text-underline-offset:3px}
.table-wrap{overflow-x:auto;margin:0 0 1.4rem;-webkit-overflow-scrolling:touch}
.legal table{width:100%;border-collapse:collapse;font-size:.95rem;min-width:520px}
.legal th,.legal td{border:1px solid var(--line);padding:.7rem .85rem;text-align:left;vertical-align:top}
.legal th{background:var(--sand)}
.cookie{position:fixed;left:16px;right:16px;bottom:calc(16px + env(safe-area-inset-bottom,0px));z-index:60;max-width:760px;margin-inline:auto;background:var(--surface);color:var(--ink);border:1px solid var(--line);border-radius:18px;box-shadow:0 14px 40px rgba(43,31,25,.25);padding:1.1rem 1.3rem;display:grid;gap:.9rem}
.cookie p{margin:0;font-size:.95rem;line-height:1.55}
.cookie .row{display:flex;flex-wrap:wrap;gap:10px}
.js .slide:not(.on){pointer-events:none}
@media (max-width:900px){
  .foot-legal{flex-direction:column}
  .cookie{left:12px;right:12px}
}
@media print{.site-header,.wa-float,.cookie,.hero-ctl{display:none!important}}

@media (prefers-color-scheme:dark){
  .s1-ctl button{border-color:rgba(255,255,255,.55);color:#fff;background:rgba(20,12,8,.28)}
  .s1-ctl .dot::after{background:#fff}
}

@media (max-width:700px){
  .hero-ctl{top:4px;bottom:auto}
  .hero-ctl [data-d]{display:none}
  .slide{padding-top:58px;padding-bottom:56px}
  .tcards{margin-bottom:10px}
  .slide.s4{align-items:start;padding-top:max(120px,20vh)}
}
