:root{
  --bg:#0E0B08;
  --bg-alt:#140F0A;
  --panel:#1A140D;
  --gold:#D4A64A;
  --gold-light:#E8C877;
  --gold-pale:#FFF1C7;
  --cream:#F2EADB;
  --muted:#CFC3AC;
  --line:rgba(212,166,74,.2);
  --serif:'Bodoni Moda','Bodoni 72',Didot,Georgia,serif;
  --display:'Rakkas','Bodoni Moda',Georgia,serif;
  --arabic:'Aref Ruqaa','Rakkas',serif;
  --star:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 0l3.5 3.5h5v5L24 12l-3.5 3.5v5h-5L12 24l-3.5-3.5h-5v-5L0 12l3.5-3.5v-5h5z' fill='%23D4A64A'/%3E%3C/svg%3E");
  --pattern:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='96' height='96' viewBox='0 0 80 80'%3E%3Cg fill='none' stroke='%23D4A64A' stroke-opacity='.2' stroke-width='.6'%3E%3Cpath d='M40 0l40 40-40 40L0 40z'/%3E%3Crect x='11.72' y='11.72' width='56.56' height='56.56'/%3E%3Ccircle cx='40' cy='40' r='9'/%3E%3C/g%3E%3C/svg%3E");
  --sans:'Jost',system-ui,sans-serif;
  --nav-h:64px;
  --ease:cubic-bezier(.2,.7,.2,1);
  --cur-arrow:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24'%3E%3Cpath d='M3 2l7.6 18 2.5-7.4L20.5 10z' fill='%23D4A64A' stroke='%230E0B08' stroke-width='1.2' stroke-linejoin='round'/%3E%3C/svg%3E") 3 2;
  --cur-point:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='26' height='26' viewBox='0 0 26 26'%3E%3Cpath d='M13 2l11 11-11 11L2 13z' fill='%230E0B08' fill-opacity='.35' stroke='%23E8C877' stroke-width='1.5'/%3E%3Cpath d='M13 10l3 3-3 3-3-3z' fill='%23E8C877'/%3E%3C/svg%3E") 13 13;
}

*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:var(--nav-h);background:var(--bg);scrollbar-color:var(--gold) var(--bg)}
html.is-locked{overflow:hidden}
body{margin:0;background:var(--bg);color:var(--cream);font-family:var(--sans);font-size:18px;line-height:1.7;overflow-x:hidden;caret-color:var(--gold)}
img,video{max-width:100%}
a{color:var(--gold-light)}
a:hover{color:var(--gold-pale)}
button{font:inherit;color:inherit}
p,h1,h2,ul,ol,figure{margin:0}
ul,ol{padding:0;list-style:none}
::selection{background:var(--gold);color:var(--bg)}
:focus-visible{outline:2px solid var(--gold-light);outline-offset:3px;border-radius:2px}

@media (hover:hover) and (pointer:fine){
  html{cursor:var(--cur-arrow),auto}
  a,button,summary{cursor:var(--cur-point),pointer}
}

/* grão */
body::after{content:"";position:fixed;inset:0;z-index:30;pointer-events:none;opacity:.07;
  background-image: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='.9' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 1 0 0 0 0 .95 0 0 0 0 .85 0 0 0 .9 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}

/* base de layout */
.section{position:relative;padding:clamp(56px,9vw,104px) clamp(20px,5vw,48px)}
.section--alt{background:var(--bg-alt)}
.section--short{padding-top:clamp(48px,7vw,80px);padding-bottom:clamp(48px,7vw,80px)}
.section--contact{padding-top:clamp(64px,10vw,120px);padding-bottom:clamp(64px,10vw,120px);text-align:center}
/* divisor com losango */
.section::before,.footer::before{content:"";position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,rgba(212,166,74,.45) 30%,rgba(212,166,74,.45) 70%,transparent)}
.section::before,.footer::before{z-index:2}
.section::after,.footer::after{content:"";position:absolute;top:-8px;left:50%;width:44px;height:16px;margin-left:-22px;background:var(--star) center/16px 16px no-repeat,var(--bg);z-index:2}
.section--alt::after{background-color:var(--bg-alt)}
.section>.wrap,.section>.contact{position:relative;z-index:1}

.wrap{max-width:1160px;margin:0 auto}
.split{display:flex;flex-wrap:wrap;gap:56px}
.split--center{align-items:center}
.col{min-width:0}
.col--280{flex:1 1 280px}.col--320{flex:1 1 320px}.col--340{flex:1 1 340px}.col--380{flex:1 1 380px}.col--400{flex:1 1 400px}
.stack{display:flex;flex-direction:column;gap:24px}
.stack--12{gap:12px}.stack--16{gap:16px}.stack--20{gap:20px}.stack--32{gap:32px}.stack--40{gap:40px}

.eyebrow{font-size:13px;letter-spacing:.32em;text-transform:uppercase;color:var(--gold);font-weight:500}
.label{font-size:12px;letter-spacing:.28em;text-transform:uppercase;color:var(--gold)}
.caps{font-size:15px;letter-spacing:.2em;text-transform:uppercase;color:var(--muted)}
.h2{font-family:var(--serif);font-weight:400;font-size:clamp(36px,4.6vw,60px);line-height:1.04;letter-spacing:-.015em;color:var(--cream);text-wrap:balance}
.h2--xl{font-size:clamp(40px,7.2vw,96px);line-height:.98;letter-spacing:-.025em;max-width:13em}
.h2 em{font-style:italic;font-weight:400;color:var(--gold-light);background:linear-gradient(100deg,var(--gold) 0%,var(--gold-light) 45%,var(--gold-pale) 60%,var(--gold-light) 100%);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;padding-right:.08em}
.muted{color:var(--muted)}
.small{font-size:16px}
.measure-680{max-width:680px}.measure-720{max-width:720px}
.rule{height:1px;background:var(--line)}
.giant{font-family:var(--display);font-weight:400;font-size:clamp(96px,19vw,220px);line-height:.9;color:var(--gold-light)}
.giant,.contact__title,.figure-num,.market__city,.step__num{background:linear-gradient(100deg,#B98A32 0%,var(--gold-light) 38%,var(--gold-pale) 50%,var(--gold-light) 62%,#B98A32 100%);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;color:var(--gold-light)}

.card{background:var(--panel);border:1px solid rgba(212,166,74,.28);border-radius:6px}
.card--gold{border-color:var(--gold)}
.card--pad36{padding:36px;align-self:flex-start}

.ornament{display:flex;align-items:center;gap:14px;width:180px}
.ornament span{flex:1;height:1px;background:rgba(212,166,74,.55)}
.ornament i{width:14px;height:14px;background:var(--star) center/contain no-repeat}

.btn{position:relative;overflow:hidden;display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:0 32px;border:1px solid var(--gold);border-radius:2px;background:rgba(14,11,8,.5);color:var(--gold-light);text-decoration:none;font-size:14px;letter-spacing:.2em;text-transform:uppercase;font-weight:500;transition:color .35s var(--ease),background-color .35s var(--ease),box-shadow .35s var(--ease)}
.btn:hover{background:var(--gold);color:var(--bg);box-shadow:0 0 32px rgba(212,166,74,.35)}
.btn--small{min-height:40px;padding:0 20px;font-size:12px}

/* entradas */
.js .reveal{opacity:0;transform:translateY(26px);transition:opacity .9s var(--ease) var(--d,0ms),transform .9s var(--ease) var(--d,0ms),border-color .5s,box-shadow .5s,padding .5s var(--ease)}
.js .reveal.is-in{opacity:1;transform:none}

/* MENU */
.nav{position:fixed;top:0;left:0;right:0;z-index:50;transform:translateY(-100%);transition:transform .5s var(--ease);background:rgba(14,11,8,.86);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-bottom:1px solid rgba(212,166,74,.22)}
.nav.is-visible,.nav.is-open,.nav:focus-within{transform:none}
.nav__bar{height:var(--nav-h);max-width:1200px;margin:0 auto;padding:0 clamp(16px,4vw,32px);display:flex;align-items:center;gap:20px}
.nav__brand{display:block;line-height:0;margin-right:auto;flex:none}
.nav__brand img{height:26px;width:auto;display:block}
.nav__panel{display:flex;align-items:center;gap:clamp(14px,2vw,28px)}
.nav__panel a{position:relative;padding:8px 0;font-size:12px;letter-spacing:.2em;text-transform:uppercase;font-weight:500;text-decoration:none;color:var(--muted);transition:color .3s}
.nav__panel a::after{content:"";position:absolute;left:0;right:0;bottom:2px;height:1px;background:var(--gold);transform:scaleX(0);transform-origin:left;transition:transform .4s var(--ease)}
.nav__panel a:hover,.nav__panel a.is-current{color:var(--gold-light)}
.nav__panel a:hover::after,.nav__panel a.is-current::after{transform:scaleX(1)}
.nav__toggle{display:none;flex:none;width:44px;height:44px;margin-right:-10px;padding:0;border:0;background:none;position:relative}
.nav__toggle span{position:absolute;left:11px;right:11px;height:1.5px;background:var(--gold-light);transition:transform .35s var(--ease),opacity .2s}
.nav__toggle span:nth-child(1){top:15px}.nav__toggle span:nth-child(2){top:21px}.nav__toggle span:nth-child(3){top:27px}
.nav.is-open .nav__toggle span:nth-child(1){transform:translateY(6px) rotate(45deg)}
.nav.is-open .nav__toggle span:nth-child(2){opacity:0}
.nav.is-open .nav__toggle span:nth-child(3){transform:translateY(-6px) rotate(-45deg)}

@media (max-width:979px){
  .nav__toggle{display:block}
  .nav__panel{position:absolute;top:100%;left:0;right:0;height:calc(100vh - var(--nav-h));height:calc(100dvh - var(--nav-h));flex-direction:column;justify-content:center;gap:6px;padding:24px 24px 88px;background:rgba(14,11,8,.98);overflow-y:auto;visibility:hidden;opacity:0;transition:opacity .35s var(--ease),visibility 0s .35s}
  .nav.is-open .nav__panel{visibility:visible;opacity:1;transition-delay:0s}
  .nav__panel a{font-family:var(--serif);font-size:32px;letter-spacing:-.01em;text-transform:none;font-weight:500;color:var(--cream);padding:6px 12px;opacity:0;transform:translateY(12px);transition:opacity .5s var(--ease),transform .5s var(--ease),color .3s}
  .nav__panel a::after{display:none}
  .nav.is-open .nav__panel a{opacity:1;transform:none}
  .nav.is-open .nav__panel a:nth-child(2){transition-delay:.04s}
  .nav.is-open .nav__panel a:nth-child(3){transition-delay:.08s}
  .nav.is-open .nav__panel a:nth-child(4){transition-delay:.12s}
  .nav.is-open .nav__panel a:nth-child(5){transition-delay:.16s}
  .nav.is-open .nav__panel a:nth-child(6){transition-delay:.2s}
  .nav.is-open .nav__panel a:nth-child(7){transition-delay:.24s}
}

/* HERO */
.hero{position:relative;overflow:hidden;min-height:100vh;min-height:100svh;display:flex;align-items:center;justify-content:center;text-align:center;padding:clamp(72px,10vw,120px) clamp(20px,5vw,48px)}
.hero__media{position:absolute;inset:0;opacity:.6}
.hero__img,.hero__video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 35%;filter:saturate(1.2)}
.hero__video{opacity:0;transition:opacity 1.2s ease}
.hero__video.is-playing{opacity:1}
.hero__shade{position:absolute;inset:0;background:radial-gradient(ellipse at 50% 45%,rgba(14,11,8,.35) 0%,rgba(14,11,8,.1) 45%,transparent 70%),linear-gradient(180deg,rgba(14,11,8,.6) 0%,rgba(14,11,8,.35) 45%,var(--bg) 100%)}
.hero__content{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;gap:28px}
.hero__tagline{font-family:var(--serif);font-style:italic;font-size:clamp(22px,3.2vw,36px);line-height:1.25;color:var(--cream);max-width:620px;text-shadow:0 2px 24px rgba(14,11,8,.8)}
.hero__cta{margin-top:8px}
.logo{position:relative;line-height:0;width:min(640px,84vw);filter:drop-shadow(0 12px 40px rgba(14,11,8,.7))}
.logo img{width:100%;height:auto;display:block}
.logo__shine{position:absolute;inset:0;pointer-events:none;
  -webkit-mask:url(img/logo.webp) center/100% 100% no-repeat;mask:url(img/logo.webp) center/100% 100% no-repeat;
  background:linear-gradient(105deg,transparent 42%,rgba(255,247,220,.25) 46%,rgba(255,252,240,.95) 50%,rgba(255,247,220,.25) 54%,transparent 58%) no-repeat;background-size:300% 100%;background-position:150% 0;
  mix-blend-mode:screen;animation:shine 7s cubic-bezier(.45,0,.3,1) 1.6s infinite}
@keyframes shine{0%{background-position:150% 0}45%,100%{background-position:-50% 0}}

.hero__scroll{position:absolute;left:50%;bottom:0;width:1px;height:64px;background:rgba(212,166,74,.25);overflow:hidden;z-index:1}
.hero__scroll::after{content:"";position:absolute;inset:0;background:var(--gold-light);animation:drip 2.6s var(--ease) infinite}
@keyframes drip{0%{transform:translateY(-100%)}60%,100%{transform:translateY(100%)}}

.js .hero__content>*{opacity:0;animation:rise 1.1s var(--ease) forwards}
.js .hero__content>:nth-child(1){animation-delay:.15s}
.js .hero__content>:nth-child(2){animation-delay:.3s}
.js .hero__content>:nth-child(3){animation-delay:.55s}
.js .hero__content>:nth-child(4){animation-delay:.7s}
.js .hero__content>:nth-child(5){animation-delay:.85s}
@keyframes rise{from{opacity:0;transform:translateY(24px)}to{opacity:1;transform:none}}

/* CONCEITO */
.steps{display:flex;flex-direction:column;gap:28px}
.step{display:flex;gap:24px;align-items:flex-start}
.step__num{font-family:var(--display);font-size:clamp(56px,7vw,84px);line-height:.85;color:var(--gold);min-width:1.5em}
.step__title{font-family:var(--serif);font-size:clamp(26px,2.6vw,32px);line-height:1.15;color:var(--cream);margin-bottom:6px}

/* fotos com parallax */
.media{position:relative;overflow:hidden;border-radius:6px}
.media--wide{aspect-ratio:16/10;margin-bottom:8px}
.media--45{aspect-ratio:4/5;border-radius:4px}
.media img{position:absolute;left:0;top:0;width:100%;height:100%;object-fit:cover;display:block}
.media::after{content:"";position:absolute;inset:0;border:1px solid rgba(212,166,74,.25);border-radius:inherit;pointer-events:none}

/* padrão geométrico, marca d'água e fotos de fundo */
.section--pattern{background-image:radial-gradient(ellipse 60% 80% at 100% 0%,transparent 0%,var(--bg) 75%),var(--pattern)}
.section--pattern-left{background-image:radial-gradient(ellipse 60% 80% at 0% 100%,transparent 0%,var(--bg) 75%),var(--pattern)}
.section--alt.section--pattern{background-image:radial-gradient(ellipse 60% 80% at 100% 0%,transparent 0%,var(--bg-alt) 75%),var(--pattern)}
.watermark{position:absolute;right:-2%;top:50%;transform:translateY(-58%);font-family:var(--arabic);font-weight:700;font-size:clamp(260px,46vw,640px);line-height:1;color:var(--gold);opacity:.07;pointer-events:none;-webkit-user-select:none;user-select:none;white-space:nowrap}
#por-que{overflow:hidden}
.section--photo{overflow:hidden;background:var(--bg)}
#por-que::after,.section--photo::after{top:0;height:8px;background-position:center -8px}
.section__bg{position:absolute;inset:0;overflow:hidden}
.section__bg img{position:absolute;left:0;top:0;width:100%;height:100%;object-fit:cover;opacity:.5;filter:saturate(.85)}
.section__bg::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,var(--bg) 0%,rgba(14,11,8,.72) 30%,rgba(14,11,8,.72) 70%,var(--bg) 100%),radial-gradient(ellipse at center,transparent 0%,rgba(14,11,8,.6) 100%)}

/* LINHA DO TEMPO */
.timeline{position:relative;--p:0}
.timeline__track{position:absolute;top:6px;left:0;right:0;height:1px;background:rgba(212,166,74,.22)}
.timeline__fill{position:absolute;inset:-1px 0;background:linear-gradient(90deg,var(--gold),var(--gold-light));transform-origin:left center;transform:scaleX(var(--p));box-shadow:0 0 12px rgba(232,200,119,.6)}
.timeline__list{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.phase{position:relative;padding-top:44px;display:flex;flex-direction:column;gap:12px;opacity:.38;transform:translateY(14px);transition:opacity .8s var(--ease),transform .8s var(--ease)}
.phase.is-on{opacity:1;transform:none}
.phase__dot{position:absolute;top:0;left:0;width:13px;height:13px;background:var(--bg);border:1px solid var(--gold);transform:rotate(45deg);transition:background-color .5s,box-shadow .5s}
.phase.is-on .phase__dot{background:var(--gold-light);box-shadow:0 0 0 5px rgba(212,166,74,.16),0 0 18px rgba(232,200,119,.7)}
.phase__label{font-size:12px;letter-spacing:.28em;text-transform:uppercase;color:var(--gold)}
.phase__title{font-family:var(--serif);font-size:clamp(28px,2.7vw,36px);line-height:1.08;letter-spacing:-.01em;color:var(--cream)}
.phase--main .phase__title{font-style:italic}
.phase__text{font-size:16px;color:var(--muted)}
.phase--main .phase__title{color:var(--gold-light)}
.phase--main .phase__dot{width:17px;height:17px;top:-2px;left:-2px}
html:not(.js) .phase{opacity:1;transform:none}

@media (max-width:759px){
  .timeline__track{top:6px;bottom:0;left:6px;right:auto;width:1px;height:auto}
  .timeline__fill{inset:0 -1px;background:linear-gradient(180deg,var(--gold),var(--gold-light));transform-origin:center top;transform:scaleY(var(--p))}
  .timeline__list{grid-template-columns:1fr;gap:36px}
  .phase{padding:0 0 0 40px}
  .phase--main .phase__dot{left:-2px}
}

/* LISTAS */
.lists{display:flex;flex-wrap:wrap;gap:0 48px}
.list{flex:1 1 380px;min-width:0;display:flex;flex-direction:column}
.list li{position:relative;padding:16px 0 16px 23px;border-bottom:1px solid rgba(212,166,74,.18)}
.list--tight li{padding-top:14px;padding-bottom:14px}
.list li::before{content:"";position:absolute;left:0;top:29px;width:7px;height:7px;background:var(--gold);transform:rotate(45deg)}
.list--tight li::before{top:27px}
.list--tight{flex:none}

.figure-num{font-family:var(--display);font-size:clamp(64px,8vw,96px);line-height:1;align-self:flex-start}

/* EDIÇÕES */
.editions{display:flex;flex-wrap:wrap;gap:24px}
.edition{flex:1 1 400px;min-width:0;padding:28px;display:flex;flex-direction:column;gap:20px;transition:border-color .5s,box-shadow .5s,transform .9s var(--ease),opacity .9s var(--ease)}
.edition:hover{border-color:var(--gold);box-shadow:0 24px 60px -30px rgba(212,166,74,.45)}
.edition__meta{display:flex;flex-direction:column;gap:6px}
.edition__date{font-family:var(--display);font-size:clamp(40px,4.6vw,56px);line-height:1.05;color:var(--gold-light)}

/* VÍDEOS */
.films{display:flex;flex-wrap:wrap;gap:24px;justify-content:center}
.film{flex:1 1 280px;max-width:420px;min-width:0;display:flex;flex-direction:column;gap:14px}
.film figcaption{display:flex;flex-direction:column;gap:2px}
.film__title{font-family:var(--serif);font-style:italic;font-size:28px;line-height:1.2;color:var(--cream)}
.clips{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(8px,1.6vw,16px)}
.vtile{position:relative;display:block;width:100%;aspect-ratio:9/16;padding:0;overflow:hidden;background:#000;border:1px solid rgba(212,166,74,.35);border-radius:6px}
.vtile--clip{border-color:rgba(212,166,74,.25)}
.vtile img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform 1.2s var(--ease),filter .6s}
.vtile::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(14,11,8,.1) 40%,rgba(14,11,8,.6));transition:opacity .6s}
.vtile__play{position:absolute;left:50%;top:50%;z-index:1;width:clamp(44px,9vw,72px);height:clamp(44px,9vw,72px);margin:calc(clamp(44px,9vw,72px)/-2) 0 0 calc(clamp(44px,9vw,72px)/-2);display:grid;place-items:center;border:1px solid var(--gold-light);border-radius:50%;background:rgba(14,11,8,.45);color:var(--gold-light);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);transition:transform .5s var(--ease),background-color .4s,color .4s}
.vtile__play svg{margin-left:2px}
.vtile:hover img,.vtile:focus-visible img{transform:scale(1.06)}
.vtile:hover .vtile__play,.vtile:focus-visible .vtile__play{transform:scale(1.1);background:var(--gold);color:var(--bg)}
.vtile:hover{border-color:var(--gold)}

@media (max-width:640px){
  .films{flex-wrap:nowrap;gap:12px}
  .film{flex:1 1 0;gap:10px}
  .film__title{font-size:20px}
  .film .label{font-size:11px;letter-spacing:.2em}
  .clips{display:flex;gap:12px;overflow-x:auto;scroll-snap-type:x mandatory;margin:0 calc(clamp(20px,5vw,48px)*-1);padding:0 clamp(20px,5vw,48px) 12px;scroll-padding:0 clamp(20px,5vw,48px);scrollbar-width:none}
  .clips::-webkit-scrollbar{display:none}
  .clips .vtile{flex:0 0 46%;scroll-snap-align:start}
}

/* GALERIA */
.gallery{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.gitem{position:relative;display:block;aspect-ratio:2/3;padding:0;border:0;border-radius:4px;overflow:hidden;background:var(--panel)}
.gitem img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform 1.2s var(--ease),filter .6s}
.gitem::after{content:"";position:absolute;inset:0;border:1px solid transparent;border-radius:inherit;box-shadow:inset 0 0 0 0 rgba(14,11,8,0);transition:border-color .5s,box-shadow .5s}
.gitem:hover img,.gitem:focus-visible img{transform:scale(1.08)}
.gitem:hover::after,.gitem:focus-visible::after{border-color:var(--gold);box-shadow:inset 0 -60px 60px -40px rgba(14,11,8,.7)}
@media (max-width:899px){.gallery{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (max-width:559px){.gallery{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}}

/* EXPANSÃO / PARCERIAS / LINE-UP */
.markets{display:flex;flex-direction:column;border-top:1px solid var(--gold)}
.market{min-width:0;border-bottom:1px solid rgba(212,166,74,.25);padding:clamp(18px,2.4vw,28px) 0;display:flex;align-items:baseline;justify-content:space-between;gap:16px}
.market__city{font-family:var(--display);font-size:clamp(38px,9vw,112px);line-height:1}
.market__uf{flex:none;font-size:14px;letter-spacing:.3em;text-transform:uppercase;color:var(--muted)}
.partners{display:flex;flex-wrap:wrap;gap:20px}
.partner{flex:1 1 240px;min-width:0;padding:40px 28px;font-family:var(--serif);font-style:italic;font-size:clamp(30px,3vw,38px);line-height:1.1;color:var(--cream);transition:border-color .5s,transform .9s var(--ease),opacity .9s var(--ease)}
.partner:hover{border-color:var(--gold)}
.lineup{display:flex;flex-wrap:wrap;gap:32px 56px;align-items:baseline}
.lineup__title{font-family:var(--serif);font-style:italic;font-size:clamp(40px,5vw,60px);line-height:1.05;color:var(--cream)}

/* CONTATO */
.contact{max-width:720px;margin:0 auto;display:flex;flex-direction:column;align-items:center;gap:28px}
.contact__title{font-family:var(--display);font-weight:400;font-size:clamp(88px,17vw,200px);line-height:.95}
.contact__links{display:flex;flex-direction:column;gap:4px;width:100%;max-width:440px}
.contact__links a{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:56px;padding:0 4px;border-bottom:1px solid rgba(212,166,74,.25);text-decoration:none;transition:border-color .4s,padding .5s var(--ease),opacity .9s var(--ease),transform .9s var(--ease)}
.contact__links a:hover{border-color:var(--gold);padding:0 12px}
.contact__mail{flex-wrap:wrap}
.contact__key{font-size:13px;letter-spacing:.24em;text-transform:uppercase;color:var(--muted)}

.footer{position:relative;padding:28px clamp(20px,5vw,48px) 96px;text-align:center;font-size:13px;letter-spacing:.3em;text-transform:uppercase;color:#9C8F74}

/* WHATSAPP */
.wa{position:fixed;right:max(18px,env(safe-area-inset-right));bottom:max(18px,env(safe-area-inset-bottom));z-index:40;width:58px;height:58px;display:grid;place-items:center;border-radius:50%;background:linear-gradient(135deg,var(--gold-light),var(--gold) 55%,#B98A32);color:var(--bg);box-shadow:0 10px 30px rgba(0,0,0,.55),0 0 0 1px rgba(255,241,199,.35) inset;transition:transform .4s var(--ease),box-shadow .4s}
.wa::before{content:"";position:absolute;inset:0;border-radius:50%;border:1px solid var(--gold-light);animation:pulse 3.2s ease-out infinite}
.wa:hover{color:var(--bg);transform:translateY(-3px) scale(1.05);box-shadow:0 16px 40px rgba(0,0,0,.6),0 0 30px rgba(212,166,74,.5)}
@keyframes pulse{0%{transform:scale(1);opacity:.7}70%,100%{transform:scale(1.55);opacity:0}}

/* MODAIS */
.modal{width:100vw;height:100vh;height:100dvh;max-width:none;max-height:none;margin:0;padding:0;border:0;background:rgba(8,6,4,.96);color:var(--cream);overflow:hidden}
.modal::backdrop{background:rgba(8,6,4,.9)}
.modal[open]{display:grid;place-items:center;animation:fade .35s ease}
@keyframes fade{from{opacity:0}to{opacity:1}}
.modal__close,.lightbox__arrow{position:absolute;z-index:2;width:48px;height:48px;display:grid;place-items:center;padding:0;border:1px solid rgba(212,166,74,.5);border-radius:50%;background:rgba(14,11,8,.6);color:var(--gold-light);transition:background-color .3s,color .3s,border-color .3s}
.modal__close:hover,.lightbox__arrow:hover{background:var(--gold);color:var(--bg);border-color:var(--gold)}
.modal__close{top:16px;right:16px}
.lightbox__arrow{top:50%;margin-top:-24px}
.lightbox__arrow--prev{left:clamp(12px,3vw,32px)}
.lightbox__arrow--next{right:clamp(12px,3vw,32px)}
.lightbox__img{max-width:min(92vw,1200px);max-height:calc(100vh - 150px);max-height:calc(100dvh - 150px);width:auto;height:auto;object-fit:contain;border-radius:4px;box-shadow:0 30px 80px rgba(0,0,0,.7);transition:opacity .25s ease,transform .25s ease;-webkit-user-select:none;user-select:none;touch-action:pan-y}
.lightbox__img.is-swapping{opacity:0;transform:scale(.985)}
.lightbox__count{position:absolute;left:0;right:0;bottom:22px;text-align:center;font-family:var(--serif);font-style:italic;font-size:22px;letter-spacing:.12em;color:var(--gold-light)}
.vmodal__video{max-width:min(94vw,1100px);max-height:calc(100vh - 110px);max-height:calc(100dvh - 110px);width:auto;height:auto;background:#000;border:1px solid rgba(212,166,74,.4);border-radius:6px;box-shadow:0 30px 80px rgba(0,0,0,.7)}
@media (max-width:699px){
  .lightbox__arrow{top:auto;bottom:12px;margin:0}
  .lightbox__img{max-width:100vw;border-radius:0}
}

/* parallax: a foto ganha sobra vertical para se mover dentro da moldura */
@media (prefers-reduced-motion:no-preference){
  .js img[data-parallax]{top:-12%;height:124%;will-change:transform}
  .js .media--tall img[data-parallax]{height:142%}
}

@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  .logo__shine,.hero__scroll,.wa::before{display:none;animation:none}
  .js .hero__content>*{opacity:1;animation:none}
  .js .reveal{transform:none;transition:opacity .4s ease}
  .phase{transform:none}
  .modal[open]{animation:none}
  .gitem img,.vtile img,.vtile__play,.wa,.lightbox__img{transition:none}
  .gitem:hover img,.vtile:hover img{transform:none}
}
