/* Velvet Club · Ocktober AMOR+
   Direção: letreiro de neon numa noite de veludo. Preto profundo, roxo que brilha,
   dourado que reflete luz. A logo é a assinatura: pulsa como neon aceso.
   Mobile first: tudo é pensado para 375px e cresce a partir daí. */

:root{
  --noite:#0b080e;       /* fundo */
  --veludo:#1a1022;      /* superfícies */
  --neon:#b144e4;        /* roxo que brilha */
  --neon-claro:#dca1f4;
  --ouro:#e0b867;
  --ouro-claro:#f6dfb4;
  --texto:#faf5ee;
  --suave:#bdb2c8;
  --linha:#ffffff1f;
  --raio:22px;
  --brilho-roxo:0 0 0 1px #b144e433,0 18px 50px -12px #b144e455,0 0 80px -30px #b144e4aa;
  --brilho-ouro:0 10px 30px -8px #e0b86766,0 0 0 1px #f6dfb455 inset;
}

*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:84px;-webkit-text-size-adjust:100%}
body{margin:0;background:var(--noite);color:var(--texto);font-family:'DM Sans',Arial,sans-serif;font-size:16px;line-height:1.6;overflow-x:hidden;font-variant-numeric:lining-nums}
img{max-width:100%}
a{color:inherit;text-decoration:none}
button,input,select{font:inherit}
a,button,input,select,label{-webkit-tap-highlight-color:transparent}
:focus-visible{outline:3px solid var(--ouro);outline-offset:4px;border-radius:6px}
[hidden]{display:none!important}
.wrap,.header{max-width:1180px;margin:0 auto;padding-left:20px;padding-right:20px}
.skip{position:absolute;left:10px;top:-100px;background:var(--ouro);color:#000;padding:12px;z-index:30;border-radius:8px}.skip:focus{top:10px}

/* ---------- Luz ambiente: três focos que derivam devagar ---------- */
.ambiente{position:fixed;inset:0;z-index:-1;overflow:hidden;pointer-events:none}
.ambiente i{position:absolute;width:120vmax;height:120vmax;border-radius:50%;opacity:.55;will-change:transform}
.ambiente i:nth-child(1){background:radial-gradient(circle,#6d1f93 0,transparent 55%);top:-70vmax;right:-60vmax;animation:deriva 22s ease-in-out infinite alternate}
.ambiente i:nth-child(2){background:radial-gradient(circle,#3a1650 0,transparent 55%);bottom:-80vmax;left:-70vmax;animation:deriva 28s ease-in-out infinite alternate-reverse}
.ambiente i:nth-child(3){background:radial-gradient(circle,#e0b86718 0,transparent 50%);top:30%;left:-40vmax;animation:deriva 34s ease-in-out infinite alternate}
@keyframes deriva{to{transform:translate3d(12vmax,10vmax,0)}}

/* ---------- Tipografia ---------- */
.eyebrow{font-size:12px;font-weight:700;letter-spacing:2.4px;color:var(--ouro);margin:0 0 16px}
h2{font-family:'Playfair Display',Georgia,serif;font-weight:500;font-size:clamp(32px,8.6vw,48px);line-height:1.15;margin:0 0 14px}
.section-heading{text-align:center;max-width:620px;margin:0 auto}
.section-heading>p:last-child{color:var(--suave);margin:0}

/* ---------- Botão dourado com reflexo de luz ---------- */
.button{position:relative;overflow:hidden;display:inline-flex;align-items:center;justify-content:center;gap:12px;min-height:54px;padding:15px 28px;border:0;border-radius:999px;background:linear-gradient(110deg,#f3d9a4,#d8ad5a 55%,#c2913f);color:#201527;font-weight:700;font-size:16px;cursor:pointer;box-shadow:var(--brilho-ouro);transition:transform .2s,box-shadow .2s,filter .2s}
.button:hover{transform:translateY(-2px);filter:brightness(1.06);box-shadow:0 16px 40px -10px #e0b867aa,0 0 0 1px #f6dfb4 inset}
.button:active{transform:scale(.98)}
.brilho::after{content:"";position:absolute;inset:0;background:linear-gradient(100deg,transparent 30%,#fff9 50%,transparent 70%);transform:translateX(-120%);animation:reflexo 4.5s ease-in-out infinite 1.2s}
@keyframes reflexo{0%,65%{transform:translateX(-120%)}85%,100%{transform:translateX(120%)}}

/* ---------- Topo ---------- */
.header{position:sticky;top:0;z-index:15;height:72px;display:flex;align-items:center;justify-content:space-between;background:linear-gradient(#0b080ee6,#0b080eb3);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-bottom:1px solid var(--linha)}
.brand{display:flex;align-items:center;gap:10px;font-family:'Playfair Display',Georgia,serif;letter-spacing:3px;font-size:15px;line-height:1.1}
.brand img{width:46px;height:46px;border-radius:50%;box-shadow:0 0 18px #b144e488,0 0 0 1px #e0b86766}
.brand small{display:block;font:600 10px 'DM Sans',Arial;letter-spacing:5px;color:var(--ouro);margin-top:3px}
.header nav{display:flex;gap:28px;align-items:center;font-size:14px}
.header nav>a:not(.nav-cta){display:none}
.nav-cta{display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:0 16px;border-radius:999px;border:1px solid #e0b86799;font-size:13px;font-weight:600;color:var(--ouro-claro);box-shadow:0 0 20px -6px #e0b86766 inset}

/* ---------- Hero ---------- */
.hero{display:flex;flex-direction:column;align-items:center;text-align:center;gap:44px;padding-top:28px;padding-bottom:40px}
.hero-copy{display:flex;flex-direction:column;align-items:center;width:100%}
.emblema{position:relative;width:min(58vw,230px);aspect-ratio:1;margin:4px auto 26px}
.emblema img{position:relative;width:100%;height:100%;border-radius:50%;animation:neon 3.6s ease-in-out infinite;will-change:filter}
.halo{position:absolute;inset:-14%;border-radius:50%;background:conic-gradient(from 0deg,transparent,#b144e499,transparent 30%,#e0b86788,transparent 60%,#b144e499,transparent);filter:blur(18px);opacity:.75;animation:gira 12s linear infinite}
@keyframes neon{0%,100%{filter:drop-shadow(0 0 10px #b144e4aa) drop-shadow(0 0 30px #b144e455)}50%{filter:drop-shadow(0 0 16px #e0b867aa) drop-shadow(0 0 46px #b144e499)}}
@keyframes gira{to{transform:rotate(360deg)}}
.hero .eyebrow{max-width:300px;line-height:1.7}
.hero h1{margin:0;line-height:.95;font-weight:500}
.october{display:block;font-family:'Playfair Display',Georgia,serif;font-style:italic;font-size:clamp(50px,14.5vw,80px);text-shadow:0 0 30px #b144e466}
.amor{display:block;font-size:clamp(84px,24vw,128px);font-weight:700;letter-spacing:-.05em;margin-top:6px;background:linear-gradient(105deg,#e2b96c 0%,#f7e6c2 22%,#fffaf0 30%,#d28df0 55%,#a747e6 75%,#e2b96c 100%);background-size:220% 100%;-webkit-background-clip:text;background-clip:text;color:transparent;animation:letreiro 7s ease-in-out infinite;filter:drop-shadow(0 6px 24px #b144e455)}
@keyframes letreiro{0%,100%{background-position:0% 50%}50%{background-position:100% 50%}}
.plus{font-weight:400}
.intro{font-size:17px;color:var(--suave);margin:20px 0 24px;max-width:360px}
.when{display:inline-flex;align-items:center;gap:16px;margin-bottom:26px;padding:12px 22px 12px 18px;border-radius:999px;background:#ffffff08;border:1px solid var(--linha);text-align:left}
.date{display:flex;flex-direction:column;line-height:1;text-align:center;font-size:30px;color:var(--ouro);border-right:1px solid var(--linha);padding-right:16px}
.date span{font-size:11px;letter-spacing:3px;margin-top:5px}
.when strong,.when div>span{display:block}.when div>span{font-size:14px;color:var(--suave)}
.hero-copy>.button{width:100%;max-width:360px}
.hero-note{font-size:13px;color:var(--suave);margin:14px 0 0}

.event-visual{width:100%;max-width:440px;min-width:0}
.photo-composition{display:grid;grid-template-columns:1.52fr 1fr;gap:12px;align-items:center}
.portrait{position:relative;overflow:hidden;background:var(--veludo);box-shadow:var(--brilho-roxo)}
.portrait img{position:absolute;max-width:none;height:auto;display:block}
.portrait-main{aspect-ratio:530/730;border-radius:160px 160px 22px 22px;transform:translateY(14px)}
.portrait-main img{width:289.811%;left:-36.793%;top:-75.342%}
.portrait-stack{display:grid;gap:12px}
.portrait-one{aspect-ratio:350/500;border-radius:100px 100px 18px 18px}
.portrait-one img{width:438.858%;left:-68.572%;top:-7%}
.portrait-two{aspect-ratio:350/490;border-radius:18px 18px 100px 100px}
.portrait-two img{width:438.858%;left:-284.286%;top:-12.245%}
.visual-frase{font-family:'Playfair Display',Georgia,serif;font-style:italic;font-size:21px;color:var(--ouro-claro);margin:34px 0 0}

/* ---------- Faixa corrida ---------- */
.ribbon{overflow:hidden;border-block:1px solid #b957e03d;background:linear-gradient(90deg,#1a1021,#241330,#1a1021);padding:16px 0;box-shadow:0 0 40px -10px #b144e455}
.ribbon-trilha{display:flex;gap:28px;width:max-content;align-items:center;font-size:13px;letter-spacing:3px;color:#dbc6e9;animation:corre 26s linear infinite}
.ribbon i{color:var(--neon);font-style:normal;text-shadow:0 0 10px var(--neon)}
@keyframes corre{to{transform:translateX(-50%)}}

/* ---------- Programação ---------- */
.event{padding-top:64px;padding-bottom:56px}
.lineup{display:grid;gap:14px;margin-top:34px}
.lineup article{position:relative;text-align:center;padding:26px 20px;border-radius:var(--raio);background:linear-gradient(160deg,#241530cc,#120d18cc);border:1px solid #7d3e9666;box-shadow:var(--brilho-roxo)}
.number{font-size:12px;letter-spacing:2.5px;color:var(--suave)}
.lineup h3{font-family:'Playfair Display',Georgia,serif;font-size:30px;font-weight:500;margin:8px 0 14px}
.tag{display:inline-block;font-size:13px;color:var(--neon-claro);border:1px solid #75369499;padding:6px 14px;border-radius:999px;background:#b144e414}
.venue{margin-top:34px;padding:28px 22px;border-radius:var(--raio);text-align:center;background:#ffffff06;border:1px solid var(--linha)}
.venue .eyebrow{display:block;margin-bottom:6px}
.venue h3{font-size:21px;margin:0 0 8px}
.venue p{font-size:15px;color:var(--suave);margin:6px 0}
.venue-details{margin-top:14px;padding-top:14px;border-top:1px solid var(--linha)}
.venue-details span{color:var(--ouro);margin-right:8px}

/* ---------- Ingressos ---------- */
.tickets-section{padding:60px 0;background:linear-gradient(#120d1800,#120d18 12%,#120d18 88%,#120d1800)}
.tickets{display:grid;gap:16px;margin-top:32px}
.ticket{position:relative;text-align:center;padding:26px 22px 20px;border-radius:var(--raio);background:linear-gradient(160deg,#1d1426,#130e19);border:1px solid #ffffff1f;box-shadow:0 20px 40px -20px #000}
.ticket.featured{border:0;background:linear-gradient(160deg,#35224a,#1a1022);box-shadow:var(--brilho-roxo);order:-1}
.ticket.featured::before{content:"";position:absolute;inset:0;border-radius:inherit;padding:1.5px;background:conic-gradient(from var(--angulo,0deg),#e0b867,#b144e4,#e0b867,#b144e4,#e0b867);-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;animation:contorno 6s linear infinite;pointer-events:none}
@property --angulo{syntax:'<angle>';inherits:false;initial-value:0deg}
@keyframes contorno{to{--angulo:360deg}}
.ticket-label{font-size:12px;letter-spacing:2px;color:#cab0d7}
.ticket h3{font-size:20px;font-weight:500;margin:10px 0 0}
.price{font-size:60px;line-height:1.1;letter-spacing:-2px;margin:12px 0 4px;color:var(--ouro-claro);text-shadow:0 0 30px #e0b86744}
.price small{font-size:18px;letter-spacing:0;margin-right:6px;vertical-align:.9em}
.price>span{font-size:24px;letter-spacing:0}
.door{font-size:14px;color:var(--suave);margin:0 0 16px}
.ticket-button{display:flex;justify-content:center;align-items:center;gap:10px;min-height:50px;border-radius:999px;border:1px solid #e0b86777;font-size:15px;font-weight:600;color:var(--ouro-claro);transition:background .2s,color .2s}
.ticket.featured .ticket-button{background:linear-gradient(110deg,#f3d9a4,#d8ad5a);color:#201527;border:0;box-shadow:var(--brilho-ouro)}
.ticket-button:hover{background:#e0b8671f}
.tickets-note{font-size:14px;color:var(--suave);text-align:center;margin:22px auto 0;max-width:460px}

/* ---------- Compra ---------- */
.booking{display:flex;flex-direction:column;gap:30px;padding-top:56px;padding-bottom:64px}
.booking-copy{text-align:center}
.booking-copy>p:not(.eyebrow){color:var(--suave);max-width:430px;margin:0 auto}
.booking h2 br{display:none}
.booking ol{list-style:none;padding:0;margin:26px auto;max-width:420px;display:grid;gap:10px;text-align:left}
.booking li{display:flex;gap:14px;align-items:center;font-size:15px;padding:12px 16px;border-radius:16px;background:#ffffff07;border:1px solid var(--linha)}
.booking li>span{flex:none;display:grid;place-items:center;width:30px;height:30px;border-radius:50%;font-size:13px;font-weight:700;color:#201527;background:linear-gradient(110deg,#f3d9a4,#d8ad5a)}
.contact{display:flex;flex-direction:column;align-items:center;gap:4px}
.contact small{font-size:12px;color:var(--suave);letter-spacing:2px}
.contact a{display:inline-flex;align-items:center;min-height:44px;font-size:20px;color:var(--ouro)}

.checkout{min-width:0}
.card{border-radius:26px;padding:26px 20px;background:linear-gradient(155deg,#2a1b36,#140f1b 60%);border:1px solid #654077aa;box-shadow:var(--brilho-roxo)}
.form-top{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap}
.form-top .eyebrow{font-size:12px;letter-spacing:1.4px;margin:0}
.form-top>span:last-child{font-size:13px;color:var(--suave)}
.card h3{font:500 30px 'Playfair Display',Georgia,serif;margin:18px 0 6px}
.card>p{font-size:14px;color:var(--suave);margin:0 0 20px}
label{font-size:14px;display:block;margin:16px 0 8px}
input,select{width:100%;min-height:52px;background:#0f0b14;color:var(--texto);border:1px solid #ffffff2e;border-radius:14px;padding:12px 16px;font-size:16px;transition:border-color .2s,box-shadow .2s}
input:focus{outline:none;border-color:var(--ouro);box-shadow:0 0 0 4px #e0b86726}
input::placeholder{color:#9a8fa7}
input[type=email]{text-transform:lowercase}
.opcoes{border:0;margin:0;padding:0;display:grid;gap:8px}
.opcoes legend{font-size:14px;padding:0;margin-bottom:8px}
.opcao{position:relative;margin:0;display:flex;justify-content:space-between;align-items:center;min-height:54px;padding:12px 18px;border:1px solid #ffffff2e;border-radius:16px;background:#0f0b14;cursor:pointer;transition:border-color .2s,background .2s,box-shadow .2s}
.opcao input{position:absolute;opacity:0;width:1px;height:1px;min-height:0;pointer-events:none}
.opcao-nome{font-size:16px;font-weight:600}
.opcao-valor{font-size:15px;color:var(--suave)}
.opcao:has(input:checked){border-color:var(--ouro);background:#2a1d33;box-shadow:0 0 24px -8px #e0b86788}
.opcao:has(input:checked) .opcao-valor{color:var(--ouro)}
.opcao:has(input:focus-visible){outline:3px solid var(--ouro);outline-offset:3px}
.erro{font-size:14px;color:#ffb1bf;border:1px solid #ffb1bf55;background:#ffb1bf12;border-radius:12px;padding:10px 14px;margin:18px 0 0}
.privacy{font-size:13px;color:var(--suave);margin:18px 0;line-height:1.6}
.card .button{width:100%}
.card .button[disabled]{opacity:.75;cursor:wait;transform:none}
.form-note{font-size:13px;color:var(--suave);text-align:center;margin:14px 0 0}
.girando{display:inline-block;width:16px;height:16px;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;animation:gira .8s linear infinite;vertical-align:-3px}

.card .pix-valor{font-size:46px;line-height:1.1;letter-spacing:-1px;color:var(--ouro-claro);margin:18px 0 4px;text-shadow:0 0 30px #e0b86744}
.card .pix-nomes{font-size:14px;color:var(--suave);margin:0 0 18px}.pix-nomes b{color:var(--texto);font-weight:600}
.pix-qr{background:#fff;border-radius:18px;padding:12px;width:max-content;max-width:100%;margin:0 auto 18px;box-shadow:0 0 40px -10px #e0b86788}
.pix-qr img{display:block;width:220px;height:220px;max-width:100%}
.pix-codigo{font:13px/1.5 ui-monospace,Consolas,monospace;color:var(--suave);background:#0f0b14;border:1px dashed #ffffff40;border-radius:14px;padding:12px;word-break:break-all;max-height:88px;overflow:auto;margin-bottom:14px;user-select:all}
.card .pix-nota{font-size:13px;color:var(--suave);line-height:1.7;margin:16px 0 0}.pix-nota b{color:var(--texto)}
.pix-aguardando{display:flex;align-items:center;gap:10px;font-size:14px;color:var(--ouro);border:1px solid #b68a4e66;border-radius:14px;padding:12px 14px;margin-top:18px}
.link{background:none;border:0;padding:10px 0;margin-top:10px;color:var(--suave);font-size:13px;text-decoration:underline;cursor:pointer}
.pix-ok{text-align:center;padding:12px 0}
.pix-ok h3{margin-top:14px}
.pix-ok p{font-size:15px;color:var(--suave);margin:10px 0}.pix-ok p b{color:var(--texto)}
.pix-ok-ico{width:70px;height:70px;margin:0 auto;border-radius:50%;display:grid;place-items:center;font-size:32px;color:#201527;background:linear-gradient(110deg,#f3d9a4,#d8ad5a);box-shadow:0 0 40px #e0b86788;animation:neon 3.6s ease-in-out infinite}
.pix-ok-data{color:var(--ouro)!important;font-size:13px!important;letter-spacing:1px;margin-top:22px!important}
.pix-ok .button{margin-top:18px}
.pix-ok .pix-ok-aviso{color:var(--texto);border:1px solid #e0b86799;background:#e0b86714;border-radius:14px;padding:12px 14px;margin-top:16px}.pix-ok-aviso b{color:var(--ouro-claro)}

/* ---------- Apoiadores ---------- */
.apoio{text-align:center;padding-top:40px;padding-bottom:48px;border-top:1px solid var(--linha)}
.apoio-logos{display:grid;gap:26px;justify-items:center;align-items:center;margin-top:14px}
.apoio figure{margin:0}
.apoio img{display:block;height:auto;filter:drop-shadow(0 0 18px #e0b86733);transition:filter .3s,transform .3s}
.apoio figure:first-child img{width:min(62vw,250px)}
.apoio figure:last-child img{width:min(78vw,320px)}
.apoio img:hover{filter:drop-shadow(0 0 26px #e0b86777);transform:scale(1.03)}

/* ---------- Rodapé ---------- */
footer{display:flex;flex-direction:column;align-items:center;gap:6px;text-align:center;border-top:1px solid var(--linha);padding-top:28px!important;padding-bottom:28px!important;font-size:13px;letter-spacing:1px;color:var(--suave)}
footer img{border-radius:50%;margin-bottom:6px;box-shadow:0 0 18px #b144e466}
footer b{color:var(--neon);margin:0 8px}

/* ---------- Barra de compra fixa (celular) ---------- */
.barra-compra{display:flex;position:fixed;left:10px;right:10px;bottom:calc(10px + env(safe-area-inset-bottom));z-index:20;gap:12px;align-items:center;justify-content:space-between;padding:10px 10px 10px 18px;border-radius:999px;background:#150e1cf0;border:1px solid #654077;box-shadow:0 12px 40px -8px #000,0 0 30px -10px #b144e4aa;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);transition:transform .35s cubic-bezier(.2,.8,.2,1),opacity .35s}
.barra-compra.escondida{transform:translateY(140%);opacity:0}
.barra-compra span{font-size:12px;color:var(--suave);line-height:1.3;text-align:left}.barra-compra b{display:block;color:var(--texto);font-size:14px}
.barra-compra .button{min-height:46px;padding:10px 18px;font-size:14px;flex:none}
body{padding-bottom:calc(84px + env(safe-area-inset-bottom))}

/* ---------- Revelar ao rolar ---------- */
.js .rev{opacity:0;transform:translateY(26px);transition:opacity .8s cubic-bezier(.2,.8,.2,1),transform .8s cubic-bezier(.2,.8,.2,1)}
.js .rev.on{opacity:1;transform:none}
.js .hero-copy>*{animation:entra .9s cubic-bezier(.2,.8,.2,1) both}
.js .hero-copy>*:nth-child(2){animation-delay:.12s}.js .hero-copy>*:nth-child(3){animation-delay:.22s}.js .hero-copy>*:nth-child(4){animation-delay:.32s}.js .hero-copy>*:nth-child(5){animation-delay:.4s}.js .hero-copy>*:nth-child(n+6){animation-delay:.48s}
@keyframes entra{from{opacity:0;transform:translateY(18px)}}

/* ---------- Telas pequenas ---------- */
@media(max-width:360px){
  .wrap,.header{padding-left:16px;padding-right:16px}
  .brand span{display:none}
  .amor{font-size:76px}
  .when{padding:10px 16px 10px 14px;gap:12px}
  .price{font-size:52px}
  .card{padding:22px 16px}
  .card .pix-valor{font-size:40px}
  .barra-compra span{display:none}.barra-compra{left:auto;padding:8px}
}

/* ---------- Tablet e computador ---------- */
@media(min-width:700px){
  .wrap,.header{padding-left:36px;padding-right:36px}
  .header{height:84px;max-width:none;padding-left:max(36px,calc((100% - 1108px)/2));padding-right:max(36px,calc((100% - 1108px)/2))}
  .brand img{width:54px;height:54px}.brand{font-size:18px}
  .header nav>a:not(.nav-cta){display:inline}
  .header nav>a:hover{color:var(--ouro)}
  .lineup{grid-template-columns:repeat(3,1fr)}
  .venue{display:flex;justify-content:space-between;align-items:center;gap:40px;text-align:left;padding:30px 34px}
  .venue-details{margin:0;padding:0 0 0 34px;border-top:0;border-left:1px solid var(--linha)}
  .tickets{grid-template-columns:repeat(3,1fr);align-items:center}
  .ticket.featured{order:0;transform:scale(1.04)}
  .apoio-logos{grid-template-columns:1fr 1fr;gap:40px}
  .card{padding:32px}
  .opcoes{grid-template-columns:repeat(3,1fr)}
  .opcao{flex-direction:column;align-items:flex-start;justify-content:center;gap:2px}
  .barra-compra{display:none}
  body{padding-bottom:0}
}
@media(min-width:1000px){
  .hero{display:grid;grid-template-columns:1fr 1fr;text-align:left;align-items:center;gap:56px;padding-top:56px;padding-bottom:70px;min-height:calc(100vh - 84px)}
  .hero-copy{align-items:flex-start}
  .emblema{width:170px;margin:0 0 24px}
  .hero .eyebrow{max-width:none}
  .hero-copy>.button{width:auto}
  .event-visual{max-width:none;justify-self:end;width:100%}
  .booking{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:center;padding-top:90px;padding-bottom:95px}
  .booking-copy{text-align:left}
  .booking-copy>p:not(.eyebrow){margin:0}
  .booking h2 br{display:inline}
  .booking ol{margin:28px 0}
  .contact{align-items:flex-start}
  footer{flex-direction:row;justify-content:space-between}
  footer img{margin:0}
}

@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation:none!important;transition:none!important}
  .js .rev{opacity:1;transform:none}
}
.opcional{color:var(--suave);font-size:13px}

/* ---------- Composição com 4 fotos (28/09) ----------
   Celular: 2 × 2, mulheres em cima, rapazes embaixo, coluna da direita
   desencontrada para dar movimento. Computador: mulheres lado a lado e
   rapazes empilhados à direita. */
.photo-composition{grid-template-columns:1fr 1fr;grid-template-areas:"main nova" "one two";gap:12px;align-items:start}
.portrait-main{grid-area:main;transform:none}
.portrait-nova{grid-area:nova;aspect-ratio:530/730;border-radius:160px 160px 22px 22px;transform:translateY(30px)}
.portrait-nova img{inset:0;width:100%;height:100%;max-width:100%;object-fit:cover;object-position:50% 12%}
.portrait-one{grid-area:one;aspect-ratio:530/730;border-radius:22px 22px 160px 160px}
.portrait-two{grid-area:two;aspect-ratio:530/730;border-radius:22px 22px 160px 160px;transform:translateY(30px)}
.portrait-one img{width:438.858%;left:-68.572%;top:-7.26%}
.portrait-two img{width:438.858%;left:-284.286%;top:-12.44%}
.event-visual .visual-frase{margin-top:52px}
@media(min-width:1000px){
  .photo-composition{grid-template-columns:1.3fr 1fr .95fr;grid-template-areas:"main nova one" "main nova two";gap:14px;align-items:center}
  .portrait-main,.portrait-nova{align-self:center}
  .portrait-nova{aspect-ratio:350/620;transform:translateY(36px)}
  .portrait-one{aspect-ratio:350/500;border-radius:100px 100px 18px 18px}
  .portrait-two{aspect-ratio:350/490;border-radius:18px 18px 100px 100px;transform:none}
  .portrait-one img{width:438.858%;left:-68.572%;top:-7%}
  .portrait-two img{width:438.858%;left:-284.286%;top:-12.245%}
}

/* Programação com 4 atrações: 2 × 2 no tablet, 4 lado a lado no computador */
@media(min-width:700px){.lineup{grid-template-columns:repeat(2,1fr)}}
@media(min-width:1000px){.lineup{grid-template-columns:repeat(4,1fr)}}
