:root{color-scheme:dark;--bg:#0a0d14;--panel:#101520;--text:#ebebeb;--gold:#c0a062;--blue:#9eb3c2;--serif:'Cinzel','Playfair Display',Georgia,serif;--display:'Playfair Display',Georgia,serif;--sans:'Montserrat',sans-serif;--mono:'JetBrains Mono',monospace}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:82px;background:var(--bg)}body{margin:0;background:var(--bg);color:var(--text);font:400 15px/1.65 var(--sans)}button,input,select,textarea{font:inherit}button,a{-webkit-tap-highlight-color:transparent}a{color:inherit;text-decoration:none}.skip{position:absolute;top:-60px;left:12px;z-index:100;background:var(--gold);color:#111;padding:8px}.skip:focus{top:8px}.topbar{position:sticky;top:0;z-index:20;height:68px;padding:0 clamp(18px,5vw,72px);display:flex;align-items:center;justify-content:space-between;background:#0a0d14ed;border-bottom:1px solid #c0a06238;backdrop-filter:blur(14px)}.brand{font:600 16px var(--serif);letter-spacing:.15em;white-space:nowrap}.brand i,.hero h1 i{color:var(--gold);font-family:var(--display);font-weight:400}.topbar nav,footer nav{display:flex;gap:clamp(12px,2.4vw,32px);font-size:11px;letter-spacing:.09em}.topbar nav a:hover,footer a:hover{color:var(--gold)}button,.outline,.gold-button{cursor:pointer}.outline,.gold-button{display:inline-flex;align-items:center;justify-content:center;padding:10px 16px;border:1px solid var(--gold);background:none;color:var(--gold);font:500 11px var(--serif);letter-spacing:.1em;transition:.2s}.outline:hover{background:var(--gold);color:var(--bg)}.gold-button{background:var(--gold);color:var(--bg);font-weight:600}.gold-button:hover{background:#d4b475}#menu-toggle{display:none;background:none;color:var(--gold);border:1px solid #c0a06255;padding:6px 10px}.hero{min-height:calc(100svh - 68px);position:relative;display:grid;place-items:center;text-align:center;overflow:hidden;background:#0a0d14 url('/images/hero_wedding_hall_1791245517448.jpg') center/cover}.hero-shade{position:absolute;inset:0;background:radial-gradient(ellipse at center,#0a0d1460 0%,#0a0d14c9 72%),linear-gradient(0deg,#0a0d14 0%,#0a0d1450 65%,#0a0d14aa)}.hero-copy{position:relative;max-width:850px;padding:64px 20px}.eyebrow{margin:0 0 12px;color:var(--gold);font:500 10px var(--serif);letter-spacing:.22em}.hero h1{margin:14px 0 12px;font:400 clamp(40px,7vw,78px)/1.16 var(--serif);letter-spacing:.025em}.date{margin:0 0 34px;color:var(--gold);font:400 clamp(13px,2vw,19px) var(--serif);letter-spacing:.12em}.countdown{display:grid;grid-template-columns:repeat(4,minmax(65px,1fr));gap:12px;max-width:490px;margin:0 auto 32px}.countdown>div{padding:12px 8px;border:1px solid #c0a06250;background:#101520a6}.countdown b,.countdown span{display:block}.countdown b{font:600 28px var(--serif);font-variant-numeric:tabular-nums}.countdown span{color:var(--gold);font-size:10px;letter-spacing:.1em}.actions{display:flex;justify-content:center;gap:12px}.scroll-cue{position:absolute;bottom:20px;color:var(--gold);font-size:28px}.mobile{display:none}.section{padding:100px max(20px,calc((100vw - 1160px)/2));border-top:1px solid #c0a06224}.section>h2,.section h2{margin:0 0 24px;font:400 clamp(28px,4vw,43px)/1.25 var(--serif);text-align:center}.story{text-align:center}.manuscript{position:relative;padding:clamp(28px,6vw,62px);border:1px solid #c0a06250;background:linear-gradient(145deg,#101520bb,#0e121be0);text-align:center}.manuscript>p:first-child{max-width:780px;margin:0 auto;font-size:clamp(14px,1.5vw,18px);line-height:1.9;font-weight:300}.facts{margin:28px 0;padding:18px 0;border-block:1px solid #c0a06235;display:flex;flex-wrap:wrap;justify-content:center;gap:6px 12px;font-size:11px;color:#eee}.facts i{color:var(--gold);font-style:normal}.always{font:italic 19px var(--display);line-height:1.9}.always strong{color:var(--gold);font:600 27px var(--serif);letter-spacing:.1em}.locations{background:#080b11;text-align:center}.venue-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;text-align:left}.venue{padding:clamp(20px,3vw,34px);border:1px solid #c0a06250;background:#10152099}.venue h3{margin:0 0 15px;font:400 23px var(--serif)}.venue .eyebrow{font-size:9px}.venue p{font-size:12px;color:#c9c9c9}.venue .venue-name{font-size:15px;color:var(--text);font-weight:500;margin-bottom:0}.venue-photo{height:230px;margin:20px 0;overflow:hidden;border:1px solid #c0a06255}.venue-photo img{width:100%;height:100%;object-fit:cover}.block{width:100%}.section-head{display:flex;justify-content:space-between;align-items:end;gap:24px;margin-bottom:28px}.section-head h2{margin:0;text-align:left}.categories{display:flex;flex-wrap:wrap;gap:5px}.categories button{padding:8px 12px;background:#101520;border:1px solid #c0a06238;color:#ccc;font:11px var(--serif)}.categories button.active{background:var(--gold);color:var(--bg)}.gift-grid,.memory-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.gift-card,.memory-card{display:flex;flex-direction:column;justify-content:space-between;padding:23px;border:1px solid #c0a06245;background:#10152099;transition:.25s}.gift-card:hover,.memory-card:hover{border-color:var(--gold);transform:translateY(-3px)}.gift-card .eyebrow{font-size:9px}.gift-card h3{margin:8px 0;font:500 17px/1.5 var(--serif)}.gift-card p{font-size:12px;color:#ccc}.price{display:flex;justify-content:space-between;align-items:baseline;border-top:1px solid #c0a06230;padding:14px 0 12px}.price span{font-size:11px;color:#aaa}.price b{font:600 18px var(--serif);color:var(--gold)}.gift-card button{width:100%}.pensieve{position:relative;text-align:center;overflow:hidden;background:radial-gradient(ellipse,#112036,#090e17 72%)}.pensieve:before{content:"";position:absolute;inset:-40%;background:conic-gradient(from 0deg,transparent,#486b8a20,#c0a0620d,#486b8a20,transparent);filter:blur(55px);animation:water 28s linear infinite;pointer-events:none}.pensieve>*{position:relative}.section-intro{color:#c8d5de;font-size:13px;margin:-12px 0 36px}.memory-grid{text-align:left}.memory-card{border-color:#9eb3c250;background:#0d1726bb;min-height:190px}.memory-card blockquote{margin:0 0 22px;font:italic 14px/1.8 var(--display)}.memory-card footer{padding-top:12px;border-top:1px solid #9eb3c22c;font-size:11px}.memory-by{font:600 12px var(--serif)}.memory-meta{display:flex;justify-content:space-between;gap:8px;color:#a9becd;margin-top:8px}.memory-meta b{color:var(--gold);font-weight:400}.rsvp-box{max-width:720px;margin:0 auto 100px;padding:clamp(24px,5vw,48px);border:1px solid #c0a06255;background:#101520aa;text-align:center}.rsvp-box h2{margin-bottom:8px}.muted{font-size:12px;color:#aaa}.form-grid{margin-top:26px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;text-align:left}.form-grid label,.search-label,.dialog-form label{display:flex;flex-direction:column;gap:7px;color:#ddd;font:11px var(--serif);letter-spacing:.04em}.form-grid input,.form-grid select,.search-label input,.dialog-form input,.dialog-form textarea,.dialog-form select{width:100%;padding:12px;border:1px solid #c0a06250;background:#080b11;color:var(--text);font:13px var(--sans)}.wide{grid-column:1/-1}.form-grid button{width:100%}.form-status{margin:0;color:var(--gold);font-size:12px}.mirror{max-width:1000px;margin:auto;padding:34px;border:1px solid #c0a06277;border-radius:160px 160px 0 0;background:radial-gradient(ellipse at 50% 25%,#182234bb,#0a0d14 75%);box-shadow:0 0 0 5px var(--bg),0 0 0 6px #c0a06277}.mirror h2{max-width:700px;margin:0 auto 12px;color:var(--gold);font-size:clamp(21px,3.3vw,36px)}.mirror .eyebrow{font-size:9px;color:#a6bdcd}.search-label{max-width:400px;margin:26px auto 20px}.guest-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;text-align:left}.guest-card{padding:13px;border:1px solid #c0a06235;background:#0b101bd9}.guest-card b{display:block;font:500 12px var(--serif)}.guest-card span{font:10px var(--mono);color:#b8c7d0}footer{padding:50px 20px;text-align:center;background:#07090e;border-top:1px solid #c0a06235}footer h2{margin:0;font:500 21px var(--serif);letter-spacing:.16em}footer>p{color:var(--gold);font:10px var(--serif);letter-spacing:.15em}footer nav{justify-content:center;flex-wrap:wrap;margin:24px auto}footer small{color:#aaa}dialog{max-width:min(560px,calc(100% - 28px));max-height:90svh;overflow:auto;padding:0;border:1px solid var(--gold);background:#0c111b;color:var(--text);box-shadow:0 20px 100px #000}dialog::backdrop{background:#05070bd9;backdrop-filter:blur(7px)}.dialog-inner{padding:28px}.dialog-head{display:flex;align-items:start;justify-content:space-between;gap:20px}.dialog-head h2{margin:0 0 10px;font:400 22px var(--serif)}.icon-button{background:none;border:1px solid #c0a06255;color:var(--gold);padding:3px 10px}.dialog-form{display:grid;gap:15px;margin-top:20px}.dialog-form textarea{min-height:90px;resize:vertical}.dialog-form button{width:100%}.admin{width:min(1100px,96vw);padding:24px}.admin-header,.admin-nav,.admin-actions{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}.admin-header h2{font:500 20px var(--serif)}.admin-nav{justify-content:flex-start;margin:14px 0}.admin-nav button{background:none;color:#ddd;border:1px solid #c0a06240;padding:7px 10px}.admin-nav button.active{background:var(--gold);color:#111}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:15px 0}.stat{padding:14px;border:1px solid #c0a06245}.stat span{display:block;color:#aaa;font-size:10px}.stat b{font:500 17px var(--serif);color:var(--gold)}.table-wrap{overflow:auto}.admin table{width:100%;border-collapse:collapse;font-size:11px}.admin th,.admin td{padding:10px;text-align:left;vertical-align:top;border-bottom:1px solid #c0a0622a}.admin th{color:var(--gold);font:10px var(--serif)}.admin td button{margin:2px;padding:4px 6px;font-size:10px}.toast{position:fixed;z-index:50;bottom:18px;left:50%;transform:translate(-50%,100px);padding:10px 18px;background:var(--gold);color:#111;font-size:12px;transition:transform .2s}.toast.show{transform:translate(-50%,0)}#toast{position:fixed;z-index:50;bottom:18px;left:50%;transform:translate(-50%,100px);padding:10px 18px;background:var(--gold);color:#111;font-size:12px;transition:transform .2s}#toast.show{transform:translate(-50%,0)}@keyframes water{to{transform:rotate(360deg)}}:focus-visible{outline:2px solid var(--gold);outline-offset:3px}@media(max-width:900px){.topbar nav{gap:12px;font-size:9px}.topbar .outline{font-size:9px;padding:8px}.gift-grid,.memory-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:650px){.topbar{height:60px;padding:0 14px}.brand{font-size:13px}.topbar nav{display:none;position:absolute;top:60px;left:0;right:0;padding:18px;background:#0a0d14f5;flex-direction:column;font-size:12px}.topbar nav.open{display:flex}.topbar>#admin-open{margin-left:auto;margin-right:8px}.topbar .outline{font-size:9px;padding:7px}.topbar #menu-toggle{display:inline-block}.hero{min-height:calc(100svh - 60px)}.hero h1{font-size:42px}.mobile{display:block}.date{letter-spacing:.04em}.countdown{gap:6px}.countdown b{font-size:23px}.section{padding:72px 18px}.venue-grid,.gift-grid,.memory-grid,.guest-grid{grid-template-columns:1fr}.venue-photo{height:210px}.section-head{align-items:flex-start;flex-direction:column}.categories{gap:4px}.categories button{font-size:9px;padding:7px}.form-grid{grid-template-columns:1fr}.wide{grid-column:auto}.mirror{padding:30px 15px;border-radius:90px 90px 0 0}.rsvp-box{margin-bottom:65px}.stats{grid-template-columns:1fr}.admin{padding:15px}.admin table{min-width:620px}footer nav{font-size:10px}.actions{flex-direction:column;align-items:stretch}}@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation-duration:.01ms!important;transition-duration:.01ms!important}}

/* Revelações delicadas durante a rolagem */
.motion-ready [data-reveal]{opacity:.28;transform:translate3d(0,16px,0);transition:opacity 720ms cubic-bezier(.22,.61,.36,1),transform 720ms cubic-bezier(.22,.61,.36,1);will-change:opacity,transform}
.motion-ready [data-reveal].is-visible{opacity:1;transform:translate3d(0,0,0)}
.gift-card:nth-child(3n + 2),.memory-card:nth-child(3n + 2),.guest-card:nth-child(3n + 2){transition-delay:70ms}
.gift-card:nth-child(3n),.memory-card:nth-child(3n),.guest-card:nth-child(3n){transition-delay:130ms}
@media(prefers-reduced-motion:reduce){.motion-ready [data-reveal]{opacity:1;transform:none;transition:none;will-change:auto}}

.admin-venue-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-top:22px}.admin-venue{display:grid;align-content:start;gap:13px;padding:20px;border:1px solid #c0a06245;background:#10152099}.admin-venue h3{margin:-10px 0 0;font:400 21px var(--serif)}.admin-venue label{display:flex;flex-direction:column;gap:7px;color:#ddd;font:11px var(--serif)}.admin-venue input,.admin-venue textarea{width:100%;padding:11px;border:1px solid #c0a06250;background:#080b11;color:var(--text);font:12px var(--sans)}.admin-venue textarea{min-height:76px;resize:vertical}.admin-venue small{color:#aaa;font-size:10px}.admin-image-preview{height:180px;overflow:hidden;border:1px solid #c0a06255}.admin-image-preview img{width:100%;height:100%;object-fit:cover}@media(max-width:650px){.admin-venue-grid{grid-template-columns:1fr}}

.admin-story{max-width:780px;margin:22px auto 0;padding:clamp(18px,4vw,32px);display:grid;gap:15px;border:1px solid #c0a06245;background:#10152099}.admin-story label{display:flex;flex-direction:column;gap:7px;color:#ddd;font:11px var(--serif)}.admin-story input,.admin-story textarea{width:100%;padding:11px;border:1px solid #c0a06250;background:#080b11;color:var(--text);font:13px var(--sans)}.admin-story textarea{min-height:100px;resize:vertical}.admin-story label:nth-of-type(4) textarea{min-height:150px}

.mirror-gifts{margin:34px 0;padding:clamp(18px,3vw,28px);border-block:1px solid #c0a06248;text-align:left}.mirror-gifts>.eyebrow,.mirror-gifts>h3{text-align:center}.mirror-gifts>h3{margin:0 0 16px;color:var(--gold);font:400 clamp(20px,3vw,28px) var(--serif)}.mirror-gifts .categories{justify-content:center;margin-bottom:18px}.gift-photo{height:150px;margin:-23px -23px 18px;overflow:hidden;border-bottom:1px solid #c0a06238;background:#080b11}.gift-photo img{width:100%;height:100%;object-fit:cover}.gift-photo-empty{display:grid;place-items:center;color:#a9becd;font:italic 14px var(--display)}.gifted-label{padding:8px 10px;border-left:2px solid var(--gold);background:#c0a06212;color:var(--gold)!important;font-size:11px!important}.gift-card button:disabled{cursor:not-allowed;opacity:.7}.admin-gift-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-top:20px}.admin-gift{display:grid;align-content:start;gap:12px;padding:18px;border:1px solid #c0a06245;background:#10152099}.admin-gift form{display:grid;gap:12px}.admin-gift label{display:flex;flex-direction:column;gap:7px;color:#ddd;font:11px var(--serif)}.admin-gift input,.admin-gift textarea{width:100%;padding:10px;border:1px solid #c0a06250;background:#080b11;color:var(--text);font:12px var(--sans)}.admin-gift textarea{min-height:70px;resize:vertical}.admin-gift .admin-image-preview{display:grid;place-items:center;color:#9eb3c2}.danger-button{border-color:#c87979;color:#e3a6a6}@media(max-width:650px){.admin-gift-grid{grid-template-columns:1fr}.mirror-gifts{margin:24px -4px;padding:18px 4px}.mirror-gifts .gift-grid{grid-template-columns:1fr}.gift-photo{height:190px}}

.account-register{margin-top:22px;padding-top:16px;border-top:1px solid #c0a06235}.account-register summary{cursor:pointer;color:var(--gold);font:11px var(--serif);letter-spacing:.06em}.account-register>.muted{margin:12px 0 0}.account-register .dialog-form{margin-top:14px}

#admin-dialog.admin[open]{position:fixed;inset:0;display:block;width:100vw;max-width:none;height:100dvh;max-height:none;margin:0;padding:0;border:0;border-radius:0;overflow:auto;background:var(--bg)}#admin-dialog.admin::backdrop{background:var(--bg)}#admin-content{min-height:100dvh}.admin{width:100
#admin-dialog.admin[open]{position:fixed;inset:0;display:block;width:100vw;max-width:none;height:100dvh;max-height:none;margin:0;padding:0;border:0;border-radius:0;overflow:auto;background:var(--bg)}#admin-dialog.admin::backdrop{background:var(--bg)}#admin-content{min-height:100dvh}.admin{width:100%;min-height:100dvh;margin:0;padding:clamp(16px,3vw,42px);border:0;background:var(--bg)}.admin-header{position:sticky;top:0;z-index:5;padding:10px 0;background:#0a0d14f2;backdrop-filter:blur(12px)}#admin-dialog .dialog-inner{width:min(720px,100%);min-height:100dvh;margin:0 auto;padding:clamp(20px,5vw,64px);display:flex;flex-direction:column;justify-content:center}.admin-nav{position:sticky;top:70px;z-index:4;padding:10px 0;background:#0a0d14f2;backdrop-filter:blur(12px)}@media(max-width:650px){.admin-header{top:0}.admin-nav{top:58px}.admin-header h2{font-size:16px}.admin-header .outline{font-size:9px;padding:8px}}

.rsvp-meaning{margin:-14px 0 20px;color:var(--gold);font:italic 15px/1.7 var(--display);letter-spacing:.02em}.rsvp-meaning i{font-style:italic}

.mirror-incantation{text-align:center;width:100%;letter-spacing:.16em}
