@font-face{font-family:Bodoni;src:url('../fonts/bodoni-moda-latin-standard-normal.woff2') format('woff2');font-weight:400 900;font-style:normal;font-display:swap}@font-face{font-family:Bodoni;src:url('../fonts/bodoni-moda-latin-standard-italic.woff2') format('woff2');font-weight:400 900;font-style:italic;font-display:swap}@font-face{font-family:Manrope;src:url('../fonts/SpaceText.woff2') format('woff2');font-weight:200 800;font-style:normal;font-display:swap}@font-face{font-family:Mono;src:url('../fonts/jetbrains-mono-latin-500-normal.woff2') format('woff2');font-weight:500;font-style:normal;font-display:swap}
:root{--plum:#2c1828;--brass:#c9a66b;--ivory:#f4ecdc;--coal:#17151a;scroll-behavior:smooth;color-scheme:light}*{box-sizing:border-box}html,body{width:100%;margin:0;overflow-x:clip}body{background:var(--ivory);color:var(--coal);font:400 16px/1.65 Manrope,Arial,sans-serif}button,input,textarea{font:inherit}button{cursor:pointer}a{color:inherit}img{display:block;max-width:100%}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-family:Bodoni,Georgia,serif;line-height:1.02;letter-spacing:-.05em}h2{font-size:clamp(3rem,6vw,7rem);font-weight:500}h2 em{font-weight:400}.skip{position:fixed;top:-5rem;left:1rem;z-index:100;padding:9px 13px;background:var(--brass)}.skip:focus{top:1rem}:focus-visible{outline:3px solid var(--brass);outline-offset:4px}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}.grain{position:fixed;inset:0;z-index:90;pointer-events:none;opacity:.11;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 170 170' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.76' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.27'/%3E%3C/svg%3E")}.eyebrow,.cover-top,.cover-bottom,.guest-label,.opening-hint,.section-rule,.card-label,.card-footer,.wardrobe-index,.wardrobe-line,footer,.button,.text-link,.act-time{font-family:Mono,monospace;font-weight:500;letter-spacing:.1em;text-transform:uppercase}.eyebrow{font-size:.67rem;color:var(--brass)}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:1.5rem;padding:13px 19px;min-height:55px;border:1px solid var(--brass);font-size:.75rem;text-decoration:none;transition:transform .22s,background .22s}.button:hover{transform:translateY(-3px)}.button-brass{background:var(--brass);color:var(--coal)}.button-outline{background:transparent;color:var(--ivory)}.button-outline:hover{background:var(--brass);color:var(--coal)}.text-link,.map-toggle{font-size:.7rem;color:var(--plum);text-decoration-thickness:1px;text-underline-offset:5px}.map-toggle{background:none;border:0;text-decoration:underline;padding:18px 0}
.cover{position:relative;isolation:isolate;overflow:hidden;background:var(--plum);color:var(--ivory);height:min(950px,100svh);min-height:700px}.salon,.salon-shade{position:absolute;inset:0}.salon{background:radial-gradient(circle at 50% 25%,#866271,#2c1828 70%);background-image:url('../img/salao-leve.webp');background-size:cover;background-position:center}.salon-shade{background:linear-gradient(90deg,#171019e0 0%,#211421c4 40%,#21142153 75%),linear-gradient(0deg,#140f17 0%,transparent 42%);z-index:1}.curtain{position:absolute;top:0;bottom:0;width:18%;z-index:2;background:repeating-linear-gradient(90deg,#321b2f 0,#5b2c4c 15%,#271421 28%,#4b2540 45%,#251421 65%,#693a56 85%,#2c1828 100%);box-shadow:inset -12px 0 15px #0d0a10aa,12px 0 28px #0d0a1088;border-right:2px solid #c9a66b55}.curtain-left{left:0;border-right:2px solid #c9a66b66}.curtain-right{right:0;transform:scaleX(-1)}.curtain:after{content:"";position:absolute;left:0;right:0;top:0;height:90px;background:linear-gradient(#1e1020cc,transparent)}.cover-top,.cover-bottom{position:absolute;z-index:6;left:clamp(25px,5vw,80px);right:clamp(25px,5vw,80px);display:flex;justify-content:space-between;gap:1rem;font-size:.6rem}.cover-top{top:29px;border-bottom:1px solid #c9a66b77;padding-bottom:14px}.cover-bottom{bottom:28px;border-top:1px solid #c9a66b77;padding-top:14px}.cover-bottom a{text-decoration:none}.stage{position:relative;z-index:5;width:min(820px,68%);margin-left:clamp(35px,9vw,160px);padding-top:clamp(145px,19vh,210px)}.guest-label{display:inline-block;border:1px solid var(--brass);padding:6px 11px;color:var(--brass);font-size:.65rem;margin-bottom:28px}.stage-title{position:relative;width:max-content;max-width:100%}.stage h1{font-size:clamp(5rem,10.6vw,11.5rem);font-weight:500;line-height:.82;margin-bottom:29px;text-shadow:0 9px 33px #0e0916}.stage h1 em{font-weight:400;font-size:.5em;text-transform:none}.stage-ornament{position:absolute;color:var(--brass);font-size:2rem}.stage-ornament:first-child{top:-17px;right:23%}.stage-ornament:last-child{bottom:0;left:15%}.celebrant{font:400 clamp(1.2rem,2.1vw,2rem)/1.3 Bodoni,serif}.celebrant strong{font-weight:600;color:var(--brass)}.stage-date{font:500 .74rem/1.5 Mono,monospace;letter-spacing:.09em;text-transform:uppercase;margin:0 0 27px}.stage-date span{color:var(--brass);margin:0 7px}.opening-hint{font-size:.57rem;color:#d8c6b4;margin:12px 0 0}.mask-stage{position:absolute;z-index:4;width:min(48vw,640px);height:min(73vh,730px);right:max(3vw,calc((100vw - 1500px)/2));bottom:40px;display:grid;place-items:center;transform:perspective(1100px) rotateY(var(--mask-y,0deg)) rotateX(var(--mask-x,0deg));transform-style:preserve-3d;will-change:transform}.mask-art{width:100%;height:100%;object-fit:contain;filter:drop-shadow(25px 29px 14px #0b0712a8)}
.invitation{background:var(--ivory);padding:clamp(70px,10vw,160px) clamp(25px,7vw,100px)}.invite-frame{position:relative;max-width:960px;margin:auto;text-align:center;border:1px solid #c9a66b8f;padding:clamp(60px,8vw,120px) clamp(25px,8vw,110px)}.invite-frame:before,.invite-frame:after{content:"";position:absolute;width:36px;height:36px;border:1px solid var(--brass);transform:rotate(45deg);background:var(--ivory)}.invite-frame:before{top:-18px;left:calc(50% - 18px)}.invite-frame:after{bottom:-18px;left:calc(50% - 18px)}.invite-seal{position:relative;z-index:1;margin:0 auto 28px;width:52px;height:52px;border:1px solid var(--plum);border-radius:50%;display:grid;place-items:center;font:400 1.8rem Bodoni,serif}.invite-frame h2{font-size:clamp(3.5rem,6.5vw,7rem)}.invite-frame p:not(.eyebrow){max-width:50ch;margin:0 auto 20px;font-size:clamp(1.05rem,1.4vw,1.25rem)}.invite-frame .text-link{display:inline-block;margin-top:20px}
.section-rule{display:flex;justify-content:space-between;gap:1rem;padding:17px clamp(25px,6vw,90px);border-bottom:1px solid currentColor;font-size:.62rem}.acts{background:var(--plum);color:var(--ivory);padding-bottom:clamp(80px,10vw,155px)}.acts-intro{max-width:1440px;margin:auto;padding:clamp(65px,8vw,125px) clamp(25px,7vw,110px) 25px;display:grid;grid-template-columns:1fr .45fr;gap:5vw;align-items:end}.acts-intro .eyebrow{grid-column:1/-1}.acts-intro h2{margin:0;max-width:800px}.acts-intro h2 em{color:var(--brass)}.acts-intro>p:last-child{max-width:28ch}.fan{max-width:1350px;margin:auto;padding:60px clamp(25px,6vw,90px) 30px;display:grid;grid-template-columns:repeat(3,1fr);align-items:start;gap:1.5vw;perspective:900px}.act{position:relative;min-height:390px;padding:clamp(28px,3vw,50px);background:var(--ivory);color:var(--plum);border:1px solid var(--brass);box-shadow:0 22px 36px #10091766;transform-origin:50% 110%;}.act:nth-child(1){transform:rotate(-8deg) translate(22px,27px)}.act:nth-child(2){z-index:2;transform:rotate(0) translateY(-24px)}.act:nth-child(3){transform:rotate(8deg) translate(-22px,27px)}.act:before{content:"";position:absolute;inset:12px;border:1px solid #c9a66b77;pointer-events:none}.act-index{font:400 4rem Bodoni,serif;color:var(--brass)}.act-time{display:block;font-size:.68rem;color:var(--plum);margin:30px 0 10px}.act h3{font:500 clamp(1.9rem,2.8vw,3.2rem)/1.08 Bodoni,serif;letter-spacing:-.04em}.act p{font-size:.92rem;max-width:28ch}.act-flourish{position:absolute;bottom:30px;right:30px;font:400 2rem Bodoni,serif;color:var(--brass)}
.count-section{background:#1b171d;color:var(--ivory);padding-bottom:clamp(75px,9vw,145px)}.count-grid{max-width:1450px;margin:auto;padding:clamp(65px,8vw,130px) clamp(25px,7vw,110px) 0;display:grid;grid-template-columns:.9fr 1.1fr;gap:7vw;align-items:center}.count-grid h2{max-width:750px}.count-grid h2 em{color:var(--brass)}.count-grid p:not(.eyebrow){font-size:1.12rem}.count-grid .button{margin-top:28px}.count-card{padding:clamp(26px,4vw,60px);border:1px solid var(--brass);background:linear-gradient(145deg,#382337,#201820);transform:rotate(2deg);box-shadow:12px 15px 0 #c9a66b29}.card-label,.card-footer{display:block;font-size:.62rem;color:var(--brass)}.card-label{border-bottom:1px solid #c9a66b88;padding-bottom:18px}.card-footer{border-top:1px solid #c9a66b88;padding-top:18px;text-align:right}.countdown{display:grid;grid-template-columns:repeat(4,1fr);margin:45px 0}.countdown div{text-align:center;border-right:1px solid #c9a66b77;padding:8px 3px}.countdown div:last-child{border:0}.countdown strong{display:block;font:400 clamp(2.7rem,5.6vw,6rem)/1 Bodoni,serif;color:var(--ivory)}.countdown span{font:500 .55rem Mono,monospace;letter-spacing:.1em;color:var(--brass)}
.venue-section{display:grid;grid-template-columns:1.04fr .96fr;min-height:780px;background:#e9deca}.venue-image{position:relative;background:var(--plum);min-height:650px;overflow:hidden}.venue-image img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.venue-stamp{position:absolute;bottom:35px;left:35px;width:155px;height:155px;display:grid;place-items:center;text-align:center;border-radius:50%;background:var(--brass);color:var(--coal);font:500 .65rem/1.4 Mono,monospace;letter-spacing:.08em;transform:rotate(-12deg)}.venue-copy{align-self:center;padding:clamp(65px,8vw,135px) clamp(25px,7vw,115px)}.venue-copy h2{max-width:700px}.venue-name{font:500 clamp(1.8rem,2.6vw,3rem)/1 Bodoni,serif;margin:42px 0 10px}.venue-copy address{font-style:normal;font-weight:700}.venue-copy>p:not(.eyebrow):not(.venue-name){font-size:.9rem;max-width:55ch}.venue-actions{display:flex;align-items:center;flex-wrap:wrap;gap:22px;margin-top:35px}#mapa iframe{width:100%;height:310px;border:1px solid var(--plum)}
.wardrobe{background:var(--plum);padding:clamp(80px,10vw,155px) clamp(25px,7vw,110px)}.wardrobe-card{position:relative;max-width:1120px;margin:auto;padding:clamp(45px,7vw,110px);border:1px solid var(--brass);color:var(--ivory);background:linear-gradient(145deg,#392135,#261622);box-shadow:16px 18px 0 #c9a66b33}.wardrobe-card:before{content:"";position:absolute;inset:13px;border:1px solid #c9a66b55;pointer-events:none}.wardrobe-index{font-size:.61rem;color:var(--brass)}.wardrobe-card h2{max-width:800px;margin:33px 0}.wardrobe-card>p{max-width:48ch;font-size:1.12rem}.wardrobe-mask{position:absolute;right:9%;top:5%;font:400 8rem Bodoni,serif;color:#c9a66b66}.wardrobe-line{display:flex;flex-wrap:wrap;gap:20px;margin-top:55px;font-size:.57rem;color:var(--brass)}.wardrobe-line span:before{content:'✦';margin-right:10px}
.rsvp-section{display:grid;grid-template-columns:.9fr 1.1fr;gap:7vw;background:var(--ivory);padding:clamp(75px,9vw,145px) clamp(25px,7vw,110px)}.rsvp-intro h2{max-width:650px}.rsvp-intro>p:not(.eyebrow){max-width:42ch;font-size:1.12rem}.rsvp-ornament{font:400 10rem Bodoni,serif;color:var(--brass);margin:55px 0}.rsvp-card{align-self:start;border:1px solid var(--plum);padding:clamp(27px,4vw,60px);background:#fffaf0;box-shadow:10px 12px 0 #2c182821}.rsvp-card>.card-label{color:var(--plum);margin-bottom:24px}.rsvp-card form{display:grid;gap:15px}.rsvp-card fieldset{border:0;padding:0;display:flex;gap:12px;flex-wrap:wrap}.rsvp-card label:not(.radio):not(.checkbox){display:grid;gap:5px;font-size:.84rem;font-weight:700}.rsvp-card input:not([type=radio]):not([type=checkbox]),.rsvp-card textarea{width:100%;min-height:48px;padding:11px;border:1px solid #2c182888;border-radius:0;background:#fff}.rsvp-card textarea{resize:vertical}.radio{display:flex;align-items:center;gap:7px;border:1px solid #2c182888;padding:8px 10px;font-size:.8rem;font-weight:700;cursor:pointer}.rsvp-card input[type=radio],.rsvp-card input[type=checkbox]{accent-color:var(--plum);width:18px;height:18px}.attending-fields{display:grid;gap:15px}.attending-fields[hidden],.companions[hidden],.rsvp-card [hidden]{display:none!important}.checkbox{display:flex;align-items:flex-start;gap:8px;font-size:.8rem}.privacy{font-size:.73rem;line-height:1.5;color:#655b62}.rsvp-card .button{width:100%}#form-status{min-height:1em;color:#8a2e3d}#confirmado{text-align:center;padding:35px 0}#confirmado h3{font:500 2.6rem/1.1 Bodoni,serif}.done-star{font:400 5rem Bodoni,serif;color:var(--brass)}#alterar-resposta{display:block;margin:20px auto;background:none;border:0;text-decoration:underline}
.guests,.messages{padding-bottom:clamp(70px,9vw,130px)}.guests{background:#e9deca}.messages{background:var(--ivory)}.guests h2,.messages h2,.guests>p,.guests ul,.messages #messages{max-width:1370px;margin-left:auto;margin-right:auto;padding-left:clamp(25px,7vw,110px);padding-right:clamp(25px,7vw,110px)}.guests h2,.messages h2{margin-top:70px}.guests ul{list-style:none;display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.guests li{padding:15px 0;border-bottom:1px solid #2c182866;font-weight:700}.guests li small{float:right}.messages #messages{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.messages blockquote{margin:0;border:1px solid #c9a66b88;padding:26px;min-height:170px;background:#fffaf0}.messages blockquote p{font:italic 400 1.3rem/1.35 Bodoni,serif}.messages cite{font-style:normal;font-size:.79rem;font-weight:700;color:var(--plum)}footer{display:flex;align-items:center;justify-content:space-between;gap:22px;flex-wrap:wrap;padding:45px clamp(25px,6vw,90px);background:var(--coal);color:var(--ivory);font-size:.6rem}footer p{margin:0}.footer-monogram{width:55px;height:55px;border:1px solid var(--brass);border-radius:50%;display:grid;place-items:center;font:400 2rem Bodoni,serif;color:var(--brass)}.music{position:fixed;right:20px;bottom:20px;z-index:50;width:50px;height:50px;border:1px solid var(--brass);border-radius:50%;background:var(--plum);color:var(--ivory)}.music[hidden]{display:none}dialog{max-width:min(92vw,520px);max-height:90vh;border:1px solid var(--brass);background:var(--ivory);padding:15px}dialog::backdrop{background:#160e17de}dialog canvas{display:block;max-width:100%;height:auto;max-height:65vh;margin:10px auto}.close{display:block;margin-left:auto;border:0;background:none;font-weight:700}.noscript{padding:20px;background:var(--brass)}
@keyframes curtainOpenLeft{to{transform:translateX(-105%)}}@keyframes curtainOpenRight{to{transform:scaleX(-1) translateX(-105%)}}@keyframes maskTurn{0%{transform:perspective(900px) rotateY(-30deg) scale(.85);opacity:.35}45%{opacity:1}100%{transform:perspective(900px) rotateY(0deg) scale(1);opacity:1}}html.opening .curtain-left{animation:curtainOpenLeft 3.4s cubic-bezier(.45,.04,.22,1) both}html.opening .curtain-right{animation:curtainOpenRight 3.4s cubic-bezier(.45,.04,.22,1) both}html.opening .mask-stage{animation:maskTurn 3.4s ease-out both}html.entered .curtain-left{transform:translateX(-105%)}html.entered .curtain-right{transform:scaleX(-1) translateX(-105%)}
@media(max-width:900px){.cover{height:auto;min-height:950px}.stage{width:100%;margin-left:0;padding:145px 28px 490px}.stage h1{font-size:clamp(5.5rem,13vw,9rem)}.mask-stage{width:min(78vw,570px);height:500px;right:-8vw;bottom:20px}.curtain{width:12%}.acts-intro,.count-grid,.venue-section,.rsvp-section{grid-template-columns:1fr}.acts-intro>p:last-child{max-width:60ch}.fan{gap:15px}.act{min-height:390px;padding:23px}.venue-image{min-height:540px}.rsvp-ornament{display:none}.messages #messages{grid-template-columns:1fr 1fr}}
@media(max-width:600px){.cover{min-height:880px}.cover-top{top:17px;font-size:.5rem}.cover-top span:last-child{display:none}.stage{padding:115px 23px 400px}.guest-label{font-size:.57rem;margin-bottom:20px}.stage h1{font-size:clamp(4.7rem,16vw,6.7rem);margin-bottom:22px}.stage-ornament{font-size:1.3rem}.celebrant{font-size:1.25rem;margin-bottom:15px}.stage-date{font-size:.6rem;margin-bottom:20px}.mask-stage{width:82vw;height:370px;right:-15vw;bottom:20px}.curtain{width:8%}.cover-bottom{font-size:.5rem;bottom:16px}.cover-bottom span:last-child{display:none}.invite-frame{padding:65px 26px}.invite-frame h2{font-size:3.6rem}.acts-intro{padding-top:70px}.acts-intro h2{font-size:3.8rem}.fan{display:grid;grid-template-columns:1fr;gap:20px;padding-top:30px}.act,.act:nth-child(1),.act:nth-child(2),.act:nth-child(3){min-height:260px;transform:none}.act-index{font-size:3rem}.act-time{margin-top:10px}.count-grid{padding-top:70px}.count-grid h2{font-size:4rem}.count-card{padding:25px;box-shadow:6px 7px 0 #c9a66b29}.countdown strong{font-size:2.6rem}.countdown span{font-size:.45rem}.venue-image{min-height:380px}.venue-copy{padding:65px 25px}.venue-copy h2{font-size:4rem}.wardrobe{padding:75px 22px}.wardrobe-card{padding:45px 25px;box-shadow:7px 9px 0 #c9a66b33}.wardrobe-card h2{font-size:3.6rem}.wardrobe-mask{font-size:5rem;right:5%;top:5%}.rsvp-section{padding:75px 22px}.rsvp-intro h2{font-size:4.1rem}.rsvp-card{padding:25px 19px}.guests h2,.messages h2{font-size:3.5rem}.guests ul,.messages #messages{grid-template-columns:1fr}footer{justify-content:center;text-align:center}footer>*{width:100%}.footer-monogram{margin:auto}}
@media(max-width:600px) and (max-height:760px){.cover{height:100svh;min-height:680px}.stage{padding-top:95px;padding-bottom:245px}.guest-label{margin-bottom:11px}.stage h1{font-size:clamp(4.2rem,14.5vw,5.8rem);margin-bottom:12px}.celebrant{margin-bottom:8px}.stage-date{margin-bottom:13px}.mask-stage{width:63vw;height:205px;right:-25px;bottom:-24px}}
@media(max-width:360px){.stage{padding-left:18px;padding-right:18px}.stage h1{font-size:4.3rem}.stage-date{font-size:.55rem}.cover-top{left:18px;right:18px}.rsvp-intro h2,.venue-copy h2{font-size:3.5rem}}
@media(prefers-reduced-motion:reduce){:root{scroll-behavior:auto}*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.mask-stage{transform:none!important}html.opening .curtain-left,html.opening .curtain-right,html.opening .mask-stage{animation:none!important}}
