@font-face{font-family:"Bodoni Moda";font-style:normal;font-weight:400;font-display:swap;src:url(fonts/bodoni-moda-latin-400-normal.woff2) format("woff2")}
@font-face{font-family:"Bodoni Moda";font-style:normal;font-weight:500;font-display:swap;src:url(fonts/bodoni-moda-latin-500-normal.woff2) format("woff2")}
@font-face{font-family:"Bodoni Moda";font-style:normal;font-weight:600;font-display:swap;src:url(fonts/bodoni-moda-latin-600-normal.woff2) format("woff2")}
@font-face{font-family:"Bodoni Moda";font-style:italic;font-weight:400;font-display:swap;src:url(fonts/bodoni-moda-latin-400-italic.woff2) format("woff2")}
@font-face{font-family:"Bodoni Moda";font-style:italic;font-weight:500;font-display:swap;src:url(fonts/bodoni-moda-latin-500-italic.woff2) format("woff2")}
@font-face{font-family:Jost;font-style:normal;font-weight:300;font-display:swap;src:url(fonts/jost-latin-300-normal.woff2) format("woff2")}
@font-face{font-family:Jost;font-style:normal;font-weight:400;font-display:swap;src:url(fonts/jost-latin-400-normal.woff2) format("woff2")}
@font-face{font-family:Jost;font-style:normal;font-weight:500;font-display:swap;src:url(fonts/jost-latin-500-normal.woff2) format("woff2")}
@font-face{font-family:Jost;font-style:normal;font-weight:600;font-display:swap;src:url(fonts/jost-latin-600-normal.woff2) format("woff2")}

:root{
  --ink:#120f12;--ink2:#1c161b;--ink3:#2b232a;
  --gold:#c9a45e;--gold2:#ecd7a0;--gold3:#8f6d31;
  --ivory:#f8f3eb;--paper:#fffcf7;--pearl:#eee6d9;--greige:#d9d0c3;
  --mocha:#3b2521;--noite:#171b2e;
  --txt:#2a2125;--mut:#756a6f;
  --gg:linear-gradient(115deg,#8f6d31 0%,#e9cf92 38%,#c9a45e 58%,#f3e2b3 80%,#a8803f 100%);
  --serif:"Bodoni Moda",Didot,"Bodoni 72","Times New Roman",serif;
  --sans:Jost,"Helvetica Neue",Arial,system-ui,sans-serif;
  --ease:cubic-bezier(.22,.8,.24,1);
  --h:74px;
}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:calc(var(--h) + 10px);-webkit-text-size-adjust:100%}
body{margin:0;font:400 1.0625rem/1.6 var(--sans);color:var(--txt);background:var(--ivory);overflow-x:hidden;-webkit-font-smoothing:antialiased}
img,video,svg{display:block;max-width:100%}
h1,h2,h3,p,ul,dl,dd,figure{margin:0}
ul{padding:0;list-style:none}
a{color:inherit}
button{font:inherit;color:inherit;cursor:pointer}
fieldset{border:0;margin:0;padding:0;min-width:0}
legend{padding:0}
h1,h2,h3{font-family:var(--serif);font-weight:500;line-height:1.08;text-wrap:balance}
em{font-style:italic}
:focus-visible{outline:2px solid var(--gold);outline-offset:3px}
.wrap{width:100%;max-width:1200px;margin-inline:auto;padding-inline:max(20px,env(safe-area-inset-left,0px)) max(20px,env(safe-area-inset-right,0px))}
.vh{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.rel{position:relative}

/* botões */
.btn{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:52px;padding:0 30px;border:0;border-radius:99px;font:500 1rem/1 var(--sans);letter-spacing:.02em;text-decoration:none;white-space:nowrap;overflow:hidden;isolation:isolate;transition:transform .3s var(--ease),box-shadow .3s}
.btn-sm{min-height:42px;padding:0 20px;font-size:.92rem}
.btn-big{min-height:60px;padding:0 34px;font-size:1.08rem;width:100%}
.btn-gold{background:var(--gg);background-size:200% 100%;color:var(--ink);box-shadow:0 10px 30px -12px rgba(201,164,94,.7)}
.btn-gold::after{content:"";position:absolute;inset:0;background:linear-gradient(105deg,transparent 35%,rgba(255,255,255,.55) 50%,transparent 65%);transform:translateX(-120%);z-index:-1}
.btn-gold:hover{transform:translateY(-2px);box-shadow:0 16px 36px -12px rgba(201,164,94,.9)}
.btn-gold:hover::after{transform:translateX(120%);transition:transform .8s var(--ease)}
.btn-line{border:1px solid rgba(236,215,160,.55);color:var(--ivory);background:transparent}
.btn-line:hover{background:rgba(236,215,160,.12);transform:translateY(-2px)}
.btn-ink{background:var(--ink);color:var(--gold2)}
.btn-ink:hover{transform:translateY(-2px)}
.btn svg{width:22px;height:22px;flex:none}

/* topo */
.top{position:fixed;inset:0 0 auto;z-index:50;display:flex;align-items:center;gap:28px;height:var(--h);padding:env(safe-area-inset-top,0px) max(20px,env(safe-area-inset-right,0px)) 0 max(20px,env(safe-area-inset-left,0px));color:var(--ivory);transition:background .4s,backdrop-filter .4s,box-shadow .4s}
.top.sc{background:rgba(18,15,18,.82);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);box-shadow:0 1px 0 rgba(236,215,160,.14)}
.brand{display:flex;align-items:center;gap:12px;text-decoration:none;margin-right:auto}
.mono{display:grid;place-items:center;width:44px;height:44px;border-radius:50%;border:1px solid var(--gold);font:italic 500 1.35rem/1 var(--serif);color:var(--gold2)}
.bn{display:flex;flex-direction:column;font:400 1rem/1.1 var(--serif);letter-spacing:.2em;text-transform:uppercase}
.bn small{font:300 .62rem/1.4 var(--sans);letter-spacing:.42em;color:var(--gold)}
.nav{display:flex;gap:30px}
.nav a{font-size:.95rem;text-decoration:none;opacity:.86;position:relative;padding:6px 0}
.nav a::after{content:"";position:absolute;left:0;right:0;bottom:0;height:1px;background:var(--gold);transform:scaleX(0);transform-origin:left;transition:transform .4s var(--ease)}
.nav a:hover{opacity:1}.nav a:hover::after{transform:scaleX(1)}
.burger{display:none;width:46px;height:46px;border:1px solid rgba(236,215,160,.4);border-radius:50%;background:transparent;position:relative}
.burger i{position:absolute;left:14px;right:14px;height:1.5px;background:var(--gold2);transition:transform .4s var(--ease),top .4s var(--ease)}
.burger i:first-child{top:19px}.burger i:last-child{top:26px}
.menu-open .burger i:first-child{top:22px;transform:rotate(45deg)}
.menu-open .burger i:last-child{top:22px;transform:rotate(-45deg)}
.menu{position:fixed;inset:0;z-index:40;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:6px;padding:90px 24px 40px;background:var(--ink);background-image:radial-gradient(70% 50% at 80% 10%,rgba(201,164,94,.22),transparent 70%);visibility:hidden;opacity:0;transition:opacity .4s,visibility .4s}
.menu a:not(.btn){font:italic 400 2.3rem/1.3 var(--serif);color:var(--ivory);text-decoration:none;padding:6px 14px}
.menu .btn{margin-top:24px}
.menu-open .menu{visibility:visible;opacity:1}
.menu-open{overflow:hidden}

/* hero */
.hero{position:relative;overflow:clip;color:var(--ivory);background:var(--ink);background-image:radial-gradient(60% 55% at 82% 18%,rgba(201,164,94,.26),transparent 70%),radial-gradient(50% 50% at 4% 96%,rgba(120,60,90,.28),transparent 70%);padding:calc(var(--h) + clamp(28px,6vw,72px)) 0 clamp(150px,16vw,210px)}
.hero-g{position:relative;display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:clamp(24px,5vw,72px);align-items:center}
.hero h1{font-size:clamp(2.6rem,5vw,4.7rem);font-weight:400;letter-spacing:-.01em}
.ln{display:block;overflow:hidden;padding-bottom:.08em}
.ln>span{display:block}
.ln .g{font-style:italic;background:linear-gradient(105deg,#d9b872 0%,#f6e7bd 45%,#caa55f 100%);-webkit-background-clip:text;background-clip:text;color:transparent;-webkit-text-fill-color:transparent;padding-right:.1em}
.hero-p{max-width:30em;margin:26px 0 32px;font-size:1.12rem;font-weight:300;color:rgba(248,243,235,.84)}
.hero-cta{display:flex;flex-wrap:wrap;gap:12px}
.facts{display:grid;grid-template-columns:repeat(3,auto);justify-content:start;gap:12px 34px;margin-top:40px;padding-top:26px;border-top:1px solid rgba(236,215,160,.2)}
.facts li{display:flex;flex-direction:column;min-width:0}
.facts b{font:500 1.55rem/1.1 var(--serif);color:var(--gold2)}
.facts span{font-size:.86rem;color:rgba(248,243,235,.66)}

.hero-v{position:relative;width:100%;max-width:560px;margin-left:auto;aspect-ratio:1/1.1;--mx:0;--my:0;--sy:0}
.hv{position:absolute;margin:0;overflow:hidden;background:var(--ink3);transform:translate3d(calc(var(--mx)*var(--d)*1px),calc((var(--my) + var(--sy))*var(--d)*1px),0);transition:transform .5s var(--ease)}
.hv img,.hv video{width:100%;height:100%;object-fit:cover}
.hv-a{--d:10;left:19%;top:0;width:53%;height:73%;border-radius:999px 999px 30px 30px;border:1px solid rgba(236,215,160,.5)}
.hv-b{--d:-14;right:0;top:22%;width:30%;height:62%;border-radius:999px}
.hv-c{--d:18;left:0;bottom:4%;width:36%;aspect-ratio:1;border-radius:50%;box-shadow:0 0 0 5px var(--ink),0 0 0 6.5px var(--gold)}
.badge{position:absolute;right:5%;bottom:-3%;width:27%;aspect-ratio:1;border-radius:50%;background:var(--ink);box-shadow:0 0 0 1px rgba(236,215,160,.45);display:grid;place-items:center}
.badge svg{position:absolute;inset:6%;width:88%;height:88%;animation:spin 26s linear infinite}
.badge text{font:500 15.5px var(--sans);letter-spacing:3.1px;text-transform:uppercase;fill:var(--gold2)}
.badge span{font:italic 500 clamp(1.3rem,3vw,2.1rem)/1 var(--serif);background:var(--gg);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}
@keyframes spin{to{transform:rotate(360deg)}}

.sparks{position:absolute;inset:-8% -6%;pointer-events:none}
.sp{position:absolute;width:var(--s);height:var(--s);color:var(--gold2);opacity:0;animation:tw 4.2s ease-in-out infinite}
.sp svg{width:100%;height:100%}
@keyframes tw{0%,100%{opacity:0;transform:scale(.3) rotate(0)}50%{opacity:.9;transform:scale(1) rotate(45deg)}}

.js .ln>span{transform:translateY(110%);animation:up 1s var(--ease) forwards}
.js .ln:nth-child(2)>span{animation-delay:.14s}
.js .hero-p,.js .hero-cta,.js .facts{opacity:0;transform:translateY(22px);animation:fadeup .9s var(--ease) forwards}
.js .hero-p{animation-delay:.4s}.js .hero-cta{animation-delay:.52s}.js .facts{animation-delay:.64s}
.js .hv img,.js .hv video{animation:rise 1.3s var(--ease) both}
.js .hv-b img{animation-delay:.2s}.js .hv-c img{animation-delay:.38s}
.js .badge{opacity:0;animation:fadeup 1s .8s var(--ease) forwards}
@keyframes up{to{transform:none}}
@keyframes fadeup{to{opacity:1;transform:none}}
@keyframes rise{from{clip-path:inset(100% 0 0 0);transform:scale(1.15)}to{clip-path:inset(0);transform:none}}

/* agendamento */
.book{position:relative;z-index:3;background:var(--ivory);padding:0 0 clamp(70px,9vw,120px)}
.book-card{margin-top:clamp(-170px,-13vw,-100px);background:var(--paper);border:1px solid rgba(201,164,94,.35);border-radius:40px;padding:clamp(22px,3.4vw,48px);box-shadow:0 50px 90px -50px rgba(18,15,18,.55)}
.book-h{display:flex;flex-wrap:wrap;align-items:end;justify-content:space-between;gap:10px 40px;margin-bottom:clamp(22px,3vw,36px)}
.book-h h2{font-size:clamp(2rem,4.2vw,3.2rem);color:var(--ink)}
.book-h p{max-width:26em;color:var(--mut)}
.bf{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:clamp(22px,3.4vw,44px);align-items:start}
.st{margin:0 0 28px}
.st legend,.st>label{display:flex;flex-wrap:wrap;align-items:center;gap:4px 10px;margin-bottom:12px;font:500 1.04rem/1.2 var(--sans);color:var(--ink)}
.st legend small{font-weight:400;color:var(--mut);font-size:.84rem}
.n{display:grid;place-items:center;flex:none;width:28px;height:28px;border-radius:50%;background:var(--ink);color:var(--gold2);font:italic 500 .95rem/1 var(--serif)}
.tiles{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:10px}
.tile{position:relative;display:flex;align-items:center;gap:12px;padding:7px 18px 7px 7px;border:1.5px solid var(--greige);border-radius:99px;background:#fff;cursor:pointer;transition:border-color .25s,background .25s,box-shadow .25s,transform .25s}
.tile:hover{border-color:var(--gold);transform:translateY(-1px)}
.tile img{width:54px;height:54px;border-radius:50%;object-fit:cover;flex:none}
.tn{display:flex;flex-direction:column;min-width:0;font:500 1rem/1.2 var(--sans);color:var(--ink)}
.tn small{font:400 .78rem/1.3 var(--sans);color:var(--mut)}
.tile input,.seg input,.chips input,.day input{position:absolute;opacity:0;inset:0;width:100%;height:100%;margin:0;cursor:pointer}
.tile:has(input:checked){border-color:var(--gold);background:#fbf3e1;box-shadow:0 0 0 3px rgba(201,164,94,.28)}
.tile:has(input:focus-visible),.chips label:has(input:focus-visible),.day:has(input:focus-visible),.seg label:has(input:focus-visible){outline:2px solid var(--gold3);outline-offset:3px}
.seg{display:grid;grid-template-columns:1fr 1fr;gap:4px;padding:4px;border-radius:99px;background:var(--pearl);max-width:460px}
.seg label{position:relative}
.seg span{display:flex;justify-content:center;align-items:baseline;gap:8px;padding:13px 10px;border-radius:99px;font-weight:500;transition:background .3s,color .3s}
.seg b{font-weight:400;font-size:.88rem;color:var(--mut)}
.seg input:checked+span{background:var(--ink);color:var(--ivory)}
.seg input:checked+span b{color:var(--gold2)}
.seg label.off{opacity:.4}.seg label.off input{cursor:not-allowed}
.hint{margin-top:10px;font-size:.88rem;color:var(--mut)}
.chips{display:flex;flex-wrap:wrap;gap:8px}
.chips label{position:relative}
.chips span{display:flex;align-items:baseline;gap:8px;padding:11px 18px;border:1.5px solid var(--greige);border-radius:99px;background:#fff;font-weight:500;font-size:.96rem;transition:background .25s,color .25s,border-color .25s}
.chips b{font-weight:400;font-size:.84rem;color:var(--gold3)}
.chips label:hover span{border-color:var(--gold)}
.chips input:checked+span{background:var(--ink);border-color:var(--ink);color:var(--ivory)}
.chips input:checked+span b{color:var(--gold2)}
.chips-p{margin-top:12px}
.days{display:flex;gap:8px;overflow-x:auto;padding:4px 2px 10px;scroll-snap-type:x proximity;scrollbar-width:thin;scrollbar-color:var(--gold) transparent}
.day{position:relative;flex:0 0 auto;scroll-snap-align:start}
.day span{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;min-width:64px;height:84px;padding:0 6px;border:1.5px solid var(--greige);border-radius:34px 34px 14px 14px;background:#fff;transition:background .25s,border-color .25s,color .25s}
.day span small{font-size:.74rem;color:var(--mut);text-transform:capitalize}
.day span b{font:500 1.5rem/1 var(--serif)}
.day.any span{min-width:96px}.day.any span b{font:500 .95rem/1.2 var(--sans);text-align:center}
.day:hover span{border-color:var(--gold)}
.day input:checked+span{background:var(--gg);border-color:var(--gold);color:var(--ink)}
.day input:checked+span small{color:var(--ink)}
.st-nm{margin-bottom:0}
.st-nm input{width:100%;padding:17px 20px;border:1.5px solid var(--greige);border-radius:18px;background:#fff;font:400 1.05rem var(--sans);color:var(--ink)}
.st-nm input:focus{outline:0;border-color:var(--gold);box-shadow:0 0 0 4px rgba(201,164,94,.25)}
.st-nm input.bad{border-color:#b3261e}
.err{margin-top:8px;color:#b3261e;font-size:.9rem}

.ticket{position:sticky;top:calc(var(--h) + 16px);padding:28px 26px 26px;border-radius:30px;color:var(--ivory);background:var(--ink);background-image:radial-gradient(90% 60% at 100% 0,rgba(201,164,94,.3),transparent 70%);box-shadow:0 30px 60px -30px rgba(18,15,18,.7)}
.tk-l{font-size:.86rem;color:var(--gold)}
.ticket h3{margin:6px 0 4px;font-size:2rem;color:var(--ivory)}
#tSub{font-size:.92rem;color:rgba(248,243,235,.7)}
.tk-list{margin:18px 0 0;display:flex;flex-direction:column;gap:8px;min-height:4px}
.tk-list li{display:flex;justify-content:space-between;gap:12px;font-size:.95rem;animation:pop .4s var(--ease)}
.tk-list li b{font-weight:400;color:var(--gold2);white-space:nowrap}
.tk-tot{position:relative;display:flex;align-items:baseline;justify-content:space-between;margin:20px 0 0;padding-top:20px;border-top:1.5px dashed rgba(236,215,160,.4)}
.tk-tot::before,.tk-tot::after{content:"";position:absolute;top:-12px;width:24px;height:24px;border-radius:50%;background:var(--paper)}
.tk-tot::before{left:-39px}.tk-tot::after{right:-39px}
.tk-tot span{font-size:.95rem;color:rgba(248,243,235,.75)}
.tk-tot b{font:500 2.6rem/1 var(--serif);background:var(--gg);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}
.tk-note{margin:12px 0 20px;font-size:.84rem;color:rgba(248,243,235,.66)}
.tk-note b{color:var(--gold2);font-weight:500}
.tk-alt{margin-top:14px;text-align:center;font-size:.86rem;color:rgba(248,243,235,.66)}
.tk-alt a{color:var(--gold2)}
@keyframes pop{from{opacity:0;transform:translateY(6px)}}

/* faixa */
.strip{position:relative;z-index:3;overflow:hidden;background:var(--gg);color:var(--ink);padding:16px 0;-webkit-mask-image:none}
.strip-t{display:flex;width:max-content;animation:mq 36s linear infinite}
.strip-t span{display:flex;align-items:center;gap:40px;padding-right:40px;font:italic 400 1.5rem/1 var(--serif);white-space:nowrap}
.strip-t span::after{content:"✦";font-style:normal;font-size:.9rem}
@keyframes mq{to{transform:translateX(-50%)}}

/* seções */
.sec{padding:clamp(96px,11vw,160px) 0 clamp(80px,9vw,130px)}
.sec-h{max-width:760px;margin:0 auto clamp(36px,5vw,64px);text-align:center}
.sec-h h2{font-size:clamp(2.2rem,5.4vw,4.2rem)}
.sec-h p{margin-top:18px;color:inherit;opacity:.78}
.wv{position:absolute;left:0;right:0;top:-1px;width:100%;height:clamp(30px,5vw,66px)}
.wv-mocha path{fill:var(--mocha)}.wv-pearl path{fill:var(--pearl)}.wv-noite path{fill:var(--noite)}.wv-greige path{fill:var(--greige)}.wv-ivory path{fill:var(--ivory)}
.js .rv{opacity:0;transform:translateY(26px);transition:opacity .9s var(--ease),transform .9s var(--ease)}
.js .rv.in{opacity:1;transform:none}

/* técnicas */
.sec-mocha{background:var(--mocha);background-image:radial-gradient(60% 40% at 90% 0,rgba(201,164,94,.18),transparent 70%);color:var(--ivory)}
.sec-mocha .sec-h em{color:var(--gold2)}
.acc{display:flex;gap:14px;height:clamp(500px,68vh,640px)}
.ac{position:relative;flex:1 1 0;min-width:0;overflow:hidden;isolation:isolate;border-radius:999px 999px 28px 28px;background:var(--ink);transition:flex .75s var(--ease)}
.ac.on{flex:4.6 1 0}
.ac>img{position:absolute;inset:0;z-index:-2;width:100%;height:100%;object-fit:cover;filter:brightness(.7) saturate(.9);transition:filter .6s,transform 1.2s var(--ease);transform:scale(1.04)}
.ac.on>img{filter:brightness(.92) saturate(1);transform:none}
.ac::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(to top,rgba(18,15,18,.94) 0%,rgba(18,15,18,.55) 42%,rgba(18,15,18,.1) 100%)}
.ac-h{position:absolute;inset:0;z-index:3;width:100%;height:100%;border:0;background:transparent;padding:0}
.ac-t{position:absolute;left:0;right:0;bottom:26px;z-index:2;display:flex;flex-direction:column;align-items:center;gap:12px;transition:opacity .35s;pointer-events:none}
.ac-v{writing-mode:vertical-rl;transform:rotate(180deg);font:500 1.6rem/1 var(--serif);white-space:nowrap}
.ac-t b{font:500 .95rem/1 var(--sans);color:var(--gold2)}
.ac.on .ac-t{opacity:0}
.ac-d{position:absolute;left:clamp(22px,3vw,40px);bottom:clamp(22px,3vw,38px);z-index:4;width:min(430px,calc(100% - 44px));opacity:0;visibility:hidden;transform:translateY(16px);transition:opacity .5s,transform .6s var(--ease),visibility 0s .5s}
.ac.on .ac-d{opacity:1;visibility:visible;transform:none;transition:opacity .6s .3s,transform .7s .3s var(--ease),visibility 0s}
.ac-d h3{font-size:clamp(2rem,3.4vw,2.8rem);margin-bottom:12px}
.ac-d ul{display:flex;flex-direction:column;gap:6px;margin-bottom:16px}
.ac-d li{position:relative;padding-left:22px;font-size:.98rem;color:rgba(248,243,235,.9)}
.ac-d li::before{content:"✦";position:absolute;left:0;top:.1em;font-size:.7rem;color:var(--gold)}
.ac-d dl{display:grid;grid-template-columns:1fr 1fr;gap:1px;margin-bottom:18px;border-radius:16px;overflow:hidden;background:rgba(236,215,160,.25);border:1px solid rgba(236,215,160,.25)}
.ac-d dl div{padding:10px 14px;background:rgba(18,15,18,.6)}
.ac-d dt{font-size:.78rem;color:var(--gold)}
.ac-d dd{font-weight:500;font-size:.95rem}
.ex{display:flex;align-items:center;flex-wrap:wrap;gap:16px 30px;margin-top:clamp(28px,4vw,48px);padding:20px clamp(20px,3vw,34px);border:1px solid rgba(236,215,160,.3);border-radius:99px}
.ex h3{font-size:1.7rem;color:var(--gold2);font-style:italic;font-weight:400}
.ex ul{display:flex;flex-wrap:wrap;gap:10px 28px;flex:1}
.ex li{display:flex;gap:10px;align-items:baseline}
.ex b{font-weight:500;color:var(--gold2)}

/* galeria */
.sec-pearl{background:var(--pearl);color:var(--ink)}
.sec-pearl .sec-h em{color:var(--gold3)}
.filt{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;margin:-8px 0 clamp(26px,4vw,44px)}
.filt button{padding:11px 22px;border:1.5px solid rgba(18,15,18,.18);border-radius:99px;background:transparent;font-weight:500;font-size:.95rem;transition:background .3s,color .3s,border-color .3s}
.filt button:hover{border-color:var(--ink)}
.filt button.on{background:var(--ink);border-color:var(--ink);color:var(--gold2)}
.gal{display:flex;flex-wrap:wrap;justify-content:center;gap:18px}
.gi{position:relative;display:block;width:100%;flex:0 0 calc((100% - 36px)/3);margin:0;padding:0;border:0;background:var(--greige);overflow:hidden;aspect-ratio:4/5;cursor:zoom-in;animation:pop .6s var(--ease)}
.gi img{width:100%;height:100%;object-fit:cover;transition:transform 1s var(--ease)}
.gi::after{content:"";position:absolute;inset:0;background:linear-gradient(to top,rgba(18,15,18,.55),transparent 45%);opacity:0;transition:opacity .4s}
.gi:hover img{transform:scale(1.07)}.gi:hover::after,.gi:focus-visible::after{opacity:1}
.gi.hide{display:none}
.s-arch{border-radius:999px 999px 26px 26px}
.s-round{border-radius:30px}
.s-oval{border-radius:50%}
.s-leaf{border-radius:130px 26px 130px 26px}

/* vídeos */
.sec-noite{background:var(--noite);background-image:radial-gradient(50% 40% at 10% 0,rgba(201,164,94,.2),transparent 70%),radial-gradient(40% 40% at 100% 90%,rgba(90,110,200,.18),transparent 70%);color:var(--ivory)}
.tr{display:grid;grid-template-columns:minmax(0,360px) minmax(0,1fr);gap:clamp(32px,7vw,100px);align-items:center;justify-content:center;margin-bottom:clamp(60px,8vw,100px)}
.tr-t h2{font-size:clamp(2.3rem,5.2vw,4.4rem)}
.tr-t em{color:var(--gold2)}
.tr-t p{max-width:28em;margin:22px 0 30px;font-weight:300;font-size:1.12rem;color:rgba(248,243,235,.8)}
.vbox{position:relative;width:100%;aspect-ratio:9/16;overflow:hidden;border-radius:38px;background:var(--ink);border:1px solid rgba(236,215,160,.35);box-shadow:0 40px 80px -40px rgba(0,0,0,.8)}
.vbox video{width:100%;height:100%;object-fit:cover}
.play{position:absolute;left:50%;top:50%;width:78px;height:78px;margin:-39px 0 0 -39px;border:0;border-radius:50%;background:var(--gg);display:grid;place-items:center;box-shadow:0 0 0 10px rgba(236,215,160,.22);transition:transform .35s var(--ease)}
.play:hover{transform:scale(1.08)}
.play i{width:0;height:0;margin-left:5px;border-left:20px solid var(--ink);border-top:12px solid transparent;border-bottom:12px solid transparent}
.vbox.on .play{display:none}
.rl-h{margin-bottom:26px;font-size:clamp(1.7rem,3vw,2.3rem);font-style:italic;font-weight:400;color:var(--gold2);text-align:center}
.reel{display:flex;justify-content:center;gap:20px;overflow-x:auto;padding:4px 4px 16px;scroll-snap-type:x mandatory;scrollbar-width:thin;scrollbar-color:var(--gold) transparent}
.rl{flex:0 0 clamp(210px,23%,262px);scroll-snap-align:center}
.rl .vbox{border-radius:26px}
.rl:nth-child(odd) .vbox{border-radius:999px 999px 26px 26px}
.rl .play{width:62px;height:62px;margin:-31px 0 0 -31px}
.rl .play i{border-left-width:16px;border-top-width:10px;border-bottom-width:10px}
.rl figcaption{margin-top:14px;text-align:center;font-size:.95rem;color:rgba(248,243,235,.78)}

/* sobre */
.sec-greige{background:var(--greige);color:var(--ink)}
.sb{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(36px,7vw,100px);align-items:center}
.sb-v{position:relative;width:100%;max-width:560px;aspect-ratio:1/1.08}
.sb-a{position:absolute;left:0;top:0;width:74%;height:92%;margin:0;overflow:hidden;border-radius:999px 999px 34px 34px;background:var(--ink3)}
.sb-a img,.sb-b img{width:100%;height:100%;object-fit:cover}
.sb-b{position:absolute;right:0;bottom:0;width:50%;aspect-ratio:1;margin:0;overflow:hidden;border-radius:50%;border:8px solid var(--greige);background:var(--ink3);box-shadow:0 20px 50px -20px rgba(18,15,18,.55)}
.seal{position:absolute;right:3%;top:5%;display:flex;flex-direction:column;align-items:center;justify-content:center;width:clamp(96px,22%,128px);aspect-ratio:1;border-radius:50%;background:var(--ink);color:var(--gold2);text-align:center;transform:rotate(12deg);box-shadow:0 0 0 6px var(--greige),0 0 0 7px var(--gold3);animation:float 6s ease-in-out infinite}
.seal b{font:italic 500 1.05rem/1.1 var(--serif)}
.seal span{font-size:.7rem;line-height:1.2;color:rgba(248,243,235,.8);padding:0 8px}
@keyframes float{50%{transform:rotate(8deg) translateY(-8px)}}
.sb-t h2{font-size:clamp(2.6rem,6vw,4.8rem)}
.sb-t h2 em{color:var(--gold3)}
.lead{margin:22px 0 16px;font:italic 400 clamp(1.3rem,2.2vw,1.7rem)/1.4 var(--serif)}
.sb-t p:not(.lead){max-width:32em;color:#4a3f44}
.info{display:grid;gap:0;margin-top:30px;border-top:1px solid rgba(18,15,18,.2)}
.info li{display:grid;grid-template-columns:96px minmax(0,1fr) auto;align-items:center;gap:6px 16px;padding:16px 0;border-bottom:1px solid rgba(18,15,18,.2)}
.info span{font-size:.86rem;color:var(--mut)}
.info b{font-weight:500;overflow-wrap:anywhere}
.info a{font-size:.92rem;font-weight:500;color:var(--gold3);white-space:nowrap}

/* regras */
.sec-ivory{background:var(--ivory)}
.sec-ivory .sec-h em{color:var(--gold3)}
.rules{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;align-items:stretch}
.ru{display:flex;flex-direction:column;gap:10px;padding:40px 26px 34px}
.ru b{font:500 clamp(2.6rem,4.4vw,3.6rem)/1 var(--serif)}
.ru h3{font:500 1.15rem/1.25 var(--sans)}
.ru p{font-size:.95rem;opacity:.86}
.ru-1{background:var(--ink);color:var(--ivory);border-radius:999px 999px 30px 30px;padding-top:clamp(70px,8vw,100px);text-align:center;align-items:center}
.ru-1 b{background:var(--gg);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}
.ru-2{background:var(--pearl);border-radius:30px;border:1px solid var(--greige)}
.ru-2 b{color:var(--gold3)}
.ru-3{background:var(--mocha);color:var(--ivory);border-radius:120px 30px 120px 30px;padding-inline:34px}
.ru-3 b{color:var(--gold2)}
.ru-4{background:var(--gg);color:var(--ink);border-radius:30px 120px 30px 120px}
.ru-4 b{color:var(--ink)}
.js .ru.rv:nth-child(2){transition-delay:.1s}.js .ru.rv:nth-child(3){transition-delay:.2s}.js .ru.rv:nth-child(4){transition-delay:.3s}

/* cta e rodapé */
.cta{padding:clamp(70px,9vw,120px) 0;text-align:center;background:var(--gg);background-size:200% 100%;animation:sheen 9s ease-in-out infinite alternate;color:var(--ink)}
.cta h2{font-size:clamp(2.2rem,5.4vw,4.4rem)}
.cta p{max-width:28em;margin:16px auto 30px;font-size:1.1rem}
.cta .btn{width:auto;min-width:min(100%,340px)}
@keyframes sheen{to{background-position:100% 0}}
.foot{background:var(--ink);color:rgba(248,243,235,.78);padding:44px 0 calc(44px + env(safe-area-inset-bottom,0px))}
.foot-g{display:flex;flex-wrap:wrap;align-items:center;gap:20px 40px}
.foot img{width:150px;height:auto}
.foot p{flex:1 1 280px;font-size:.92rem}
.foot .cp{flex:0 0 auto;font-size:.82rem;opacity:.7}

.fab{position:fixed;right:max(16px,env(safe-area-inset-right,0px));bottom:max(16px,env(safe-area-inset-bottom,0px));z-index:45;display:inline-flex;align-items:center;min-height:52px;padding:0 26px;border-radius:99px;background:var(--gg);color:var(--ink);font-weight:600;text-decoration:none;box-shadow:0 14px 34px -10px rgba(18,15,18,.6);opacity:0;transform:translateY(20px);pointer-events:none;transition:opacity .4s,transform .4s var(--ease)}
.fab.on{opacity:1;transform:none;pointer-events:auto}

/* lightbox */
.lb{position:fixed;inset:0;z-index:100;display:flex;align-items:center;justify-content:center;gap:10px;padding:56px 12px 24px;background:rgba(10,8,10,.95)}
.lb[hidden]{display:none}
.lb figure{max-width:min(86vw,820px);text-align:center}
.lb img{max-height:76vh;width:auto;margin:0 auto;border-radius:20px}
.lb figcaption{margin-top:14px;color:var(--gold2);font:italic 400 1.2rem var(--serif)}
.lb button{border:1px solid rgba(236,215,160,.4);background:rgba(18,15,18,.6);color:var(--gold2);border-radius:50%;width:48px;height:48px;font-size:1.8rem;line-height:1;flex:none}
.lb-x{position:absolute;top:calc(10px + env(safe-area-inset-top,0px));right:12px}

/* responsivo */
@media(max-width:1100px){
  .bf{grid-template-columns:minmax(0,1fr) 310px}
  .rules{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:980px){
  .nav{display:none}
  .burger{display:block}
  .top{gap:12px}
  .top .btn-sm{margin-left:auto}
  .brand{margin-right:0}
  .hero-g{grid-template-columns:minmax(0,1fr)}
  .hero-v{margin:10px auto 0;max-width:460px}
  .bf{grid-template-columns:minmax(0,1fr)}
  .ticket{position:relative;top:0}
  .tk-tot::before{left:-37px}.tk-tot::after{right:-37px}
  .tr{grid-template-columns:minmax(0,1fr)}
  .tr-v{max-width:340px;margin:0 auto}
  .tr-t{text-align:center}
  .tr-t p{margin-inline:auto}
  .sb{grid-template-columns:minmax(0,1fr)}
  .sb-v{margin:0 auto}
  .gal{gap:14px}
  .gi{flex-basis:calc((100% - 14px)/2)}
}
@media(max-width:900px){
  .acc{flex-direction:column;height:auto;gap:12px}
  .ac,.ac.on{flex:none;width:100%;border-radius:46px;transition:height .7s var(--ease),border-radius .5s}
  .ac{height:96px}
  .ac.on{height:clamp(440px,74svh,520px);border-radius:32px}
  .ac-t{inset:0;flex-direction:row;align-items:center;justify-content:space-between;padding:0 30px}
  .ac-v{writing-mode:horizontal-tb;transform:none;font-size:1.55rem}
  .ac-d{left:20px;right:20px;bottom:20px;width:auto}
  .ex{border-radius:30px}
}
@media(max-width:760px){
  :root{--h:66px}
  body{font-size:1rem}
  .bn{font-size:.86rem}.bn small{font-size:.54rem}
  .mono{width:40px;height:40px;font-size:1.2rem}
  .hero{padding-bottom:150px}
  .hero-cta .btn{flex:1 1 100%}
  .hero-v{max-width:330px;aspect-ratio:1/1}
  .hero{padding-bottom:140px}
  .facts{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px 14px}
  .facts b{font-size:1.2rem}
  .facts span{font-size:.78rem;line-height:1.3}
  .book-card{border-radius:30px}
  .tiles{grid-template-columns:minmax(0,1fr)}
  .rules{grid-template-columns:minmax(0,1fr)}
  .ru-1{border-radius:999px 999px 30px 30px}
  .info li{grid-template-columns:minmax(0,1fr) auto}
  .info span{grid-column:1/-1;margin-bottom:-4px}
  .rl{flex-basis:70%}
  .reel{justify-content:flex-start}
  .ex ul{gap:8px 22px}
}
@media(max-width:480px){
  .st legend small{flex-basis:100%;margin:-2px 0 0 38px}
  .top .btn-sm{padding:0 16px}
  .bn{letter-spacing:.14em}
  .bn small{letter-spacing:.3em}
  .ac-d h3{font-size:1.9rem}
  .ac-d li{font-size:.92rem}
  .seg span{flex-direction:column;align-items:center;gap:2px;padding:10px 6px}
  .gi.s-leaf{border-radius:90px 22px 90px 22px}
  .lb button.lb-n{position:absolute;bottom:18px}
  .lb-p{left:calc(50% - 60px)}.lb-nx{right:calc(50% - 60px)}
  .lb img{max-height:68vh}
}
@media(max-width:360px){
  .bn{display:none}
  .bn+*{}
  .ru{padding-inline:20px}
}
@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;transition-delay:0s!important}
  .js .ln>span,.js .hero-p,.js .hero-cta,.js .facts,.js .badge,.js .rv{opacity:1;transform:none}
  .strip-t{animation:none}
}
