:root{--paper:#faf8f2;--ink:#34483d;--muted:#697367;--sage:#e3e9dc;--sage-deep:#d2ddc9;--gold:#a78b50;--line:#d5d9cc;--white:#fffef9;--serif:Georgia,'Times New Roman',serif;--sans:'Segoe UI',Arial,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:90px}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:15px;line-height:1.7}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit}button,a,input,textarea,summary{touch-action:manipulation}button{cursor:pointer}button:disabled{cursor:wait;opacity:.55}[hidden]{display:none!important}h1,h2,h3,p{margin:0}h1,h2,h3{font-family:var(--serif);font-weight:400}h2{font-size:clamp(36px,4vw,56px);line-height:1.16;letter-spacing:-1.6px}h2 em{font-weight:400;color:#687e60}p{color:var(--muted)}.eyebrow{font:10px/1.5 var(--sans);font-weight:600;letter-spacing:2.8px;color:var(--ink)}.skip{position:fixed;top:-80px;left:12px;z-index:20;background:var(--ink);color:white;padding:12px}.skip:focus{top:10px}:focus-visible{outline:2px solid var(--gold);outline-offset:5px}.demo-note{padding:7px 20px;text-align:center;background:#e9dfc9;font-size:10px;letter-spacing:.8px;color:#514b3b}.demo-note span{padding:0 10px}.site-header{max-width:1320px;margin:auto;min-height:94px;display:flex;align-items:center;justify-content:space-between;padding:14px 6%;gap:20px}.monogram{font:italic 24px var(--serif);letter-spacing:-2px;white-space:nowrap}.site-header nav{display:flex;gap:32px;font-size:12px}.site-header nav a:hover{color:var(--gold)}.button{background:var(--ink);color:#fffef7;display:inline-flex;gap:35px;align-items:center;justify-content:center;padding:15px 25px;border:1px solid var(--ink);font:12px/1.5 var(--sans);letter-spacing:.3px;transition:background .2s,transform .2s}.button:hover{background:#4c6250;transform:translateY(-2px)}.button span{font-size:19px;line-height:1}.button-small{padding:11px 17px;font-size:11px;gap:18px}.hero{position:relative;max-width:1240px;margin:0 auto;min-height:710px;display:grid;grid-template-columns:1.1fr 1fr;align-items:center;padding:28px 7% 80px;gap:6%}.hero-copy{padding:0 0 30px;max-width:470px}.hero-copy .eyebrow{display:flex;align-items:center;gap:14px;margin-bottom:28px}.tiny-line{display:block;width:28px;height:1px;background:var(--gold)}h1{font-size:clamp(68px,7.3vw,108px);line-height:.93;letter-spacing:-4px;display:flex;flex-direction:column;align-items:flex-start}h1 em{font-size:.57em;line-height:1.05;color:var(--gold);margin-left:1.6em;font-weight:400}h1 span:last-child{margin-left:.38em}.hero-date{font-size:11px;letter-spacing:1.8px;color:var(--ink);margin:31px 0 18px}.hero-date span{padding:0 10px;color:var(--gold)}.hero-intro{font-size:14px;max-width:340px;line-height:1.9;margin-bottom:29px}.hero-art{position:relative;justify-self:end;width:100%;max-width:420px}.arch{position:relative;height:530px;border-radius:230px 230px 3px 3px;background:radial-gradient(ellipse at 65% 18%,#f6f8ee 0,transparent 55%),linear-gradient(120deg,#dce4d4,#c1ceb6);isolation:isolate;overflow:hidden}.arch:before{content:'';position:absolute;inset:13px;border:1px solid #fdfcf590;border-radius:inherit;z-index:2;pointer-events:none}.botanical{width:100%;height:100%;object-fit:cover;opacity:.94}.arch-type{position:absolute;bottom:65px;left:0;width:100%;text-align:center;z-index:2}.arch-type span{font-size:10px;letter-spacing:2px;text-transform:uppercase;color:#53644b}.arch-type p{font:italic 45px/1.5 var(--serif);color:var(--ink);letter-spacing:-2px}.couple-photo{width:100%;height:100%;position:absolute;inset:0;object-fit:cover}.arch.has-photo .botanical,.arch.has-photo .arch-type{display:none}.seal{position:absolute;bottom:48px;left:-32px;width:88px;height:88px;border-radius:48% 52% 49% 51%;background:radial-gradient(circle at 34% 22%,#dfc68b,#bd9b55 52%,#987235);border:3px solid #c5a365;box-shadow:0 4px 8px #70582e26,inset 0 0 0 4px #d5b573,inset 0 0 0 5px #aa8542;display:flex;flex-direction:column;align-items:center;justify-content:center;transform:rotate(-12deg);color:#6c542f;z-index:3;text-shadow:0 1px #f0dca6}.seal span{font:italic 22px var(--serif)}.seal small{font-size:7px;letter-spacing:1px;margin-top:5px}.art-caption{font-size:8px;letter-spacing:2.2px;text-align:center;margin-top:20px}.scroll-note{position:absolute;left:7%;bottom:26px;display:flex;align-items:center;gap:13px;font-size:8px;letter-spacing:2px;color:var(--muted)}.scroll-note span{font-size:24px;color:var(--gold)}.countdown-wrap{background:var(--ink);color:var(--paper);padding:40px max(7%,calc((100vw - 1065px)/2));display:flex;align-items:center;justify-content:space-between;gap:50px}.countdown-wrap .eyebrow{color:#c7d0bc;font-size:8px}.countdown-wrap h2{font-size:34px;letter-spacing:-1px;margin:6px 0}.countdown-wrap p:last-child{color:#c3cebc;font-size:10px}.countdown{display:flex;gap:20px;align-items:center}.countdown>div{min-width:62px;text-align:center}.countdown strong{display:block;font:48px/1.2 var(--serif);font-variant-numeric:tabular-nums;font-weight:400}.countdown span{font-size:8px;letter-spacing:2px;color:#c7d0bc}.countdown i{font:italic 25px var(--serif);color:#a2af93;margin-bottom:18px}.section{max-width:1140px;margin:auto;padding:110px 5%;display:grid;grid-template-columns:1fr 1fr;gap:12%}.section-intro .eyebrow,.rsvp-copy .eyebrow{margin-bottom:24px}.section-intro>p:not(.eyebrow),.rsvp-copy>p:not(.eyebrow){max-width:340px;font-size:13px;margin-top:25px;line-height:1.9}.text-link{display:inline-flex;align-items:center;gap:24px;font-size:11px;letter-spacing:.2px;border-bottom:1px solid var(--gold);padding-bottom:6px}.text-link:hover{color:var(--gold)}.section-intro .text-link{margin-top:25px}.timeline{padding-top:18px}.timeline-item{position:relative;display:grid;grid-template-columns:35px 1fr;column-gap:20px;padding:0 0 42px}.timeline-item:not(:last-child):before{content:'';position:absolute;height:calc(100% - 32px);width:1px;left:15px;top:35px;background:var(--line)}.timeline-item>span{border:1px solid #c6cfbc;border-radius:50%;height:32px;width:32px;display:flex;align-items:center;justify-content:center;font:italic 13px var(--serif);color:var(--gold)}.timeline-item .eyebrow{font-size:9px;letter-spacing:1.5px;color:var(--gold);padding-top:5px}.timeline-item h3{font-size:28px;line-height:1.3;margin:8px 0}.timeline-item p:last-child{font-size:12px}.places-section{background:#e9ede2;padding:80px max(7%,calc((100vw - 1025px)/2));position:relative}.section-heading{text-align:center}.section-heading .eyebrow{margin-bottom:15px}.section-heading h2{font-size:46px}.places-grid{display:grid;grid-template-columns:1fr 1fr;margin-top:50px;gap:24px}.place{padding:36px 28px;background:#f9faf4;border:1px solid #d6decd;position:relative;display:flex;gap:25px;min-height:225px}.place-number{font:italic 28px var(--serif);color:var(--gold)}.place .eyebrow{font-size:8px}.place h3{font-size:27px;line-height:1.3;margin:14px 0 10px}.place p:not(.eyebrow){font-size:12px}.place .text-link{margin-top:24px}.place-symbol{position:absolute;right:22px;top:22px;font-size:25px;color:#98aa88}.small-note{text-align:center;font-size:10px;margin-top:22px}.rsvp-section{align-items:start;gap:10%;grid-template-columns:.85fr 1.15fr}.rsvp-copy{padding-top:28px}.rsvp-copy .deadline{color:var(--ink)!important;font-size:12px!important}.rsvp-flower{margin-top:44px;opacity:.8}.paper-form{background:var(--white);padding:34px;border:1px solid #dedfd1;box-shadow:6px 6px 0 #e9ecdf}.form-heading{border-bottom:1px solid var(--line);padding-bottom:22px;margin-bottom:24px}.form-heading h3{font-size:27px;line-height:1.3}.form-heading p{font-size:11px;margin-top:6px}form label,legend{font-size:11px;font-weight:500;color:var(--ink);display:block;margin:15px 0 7px}label>span:not(.optional){color:var(--gold)}input:not([type=checkbox]):not([type=radio]),textarea,select{width:100%;border:1px solid #d8dcce;background:#fafbf6;padding:12px 13px;border-radius:0;color:var(--ink);font-size:12px}input::placeholder,textarea::placeholder{color:#7c8577}textarea{resize:vertical}input:focus,textarea:focus{border-color:var(--gold);outline:1px solid var(--gold);outline-offset:0}fieldset{border:0;padding:0;margin:20px 0}legend{margin:0 0 12px}.radio-options{display:flex;flex-wrap:wrap;gap:9px}.radio-options label{margin:0;display:flex;align-items:center;gap:6px;padding:9px;border:1px solid var(--line);cursor:pointer;font-size:10px}.radio-options label:has(input:checked){background:var(--sage);border-color:#9fad93}.radio-options label span{color:var(--ink)}input[type=radio],input[type=checkbox]{accent-color:var(--ink);width:15px;height:15px;margin:0;flex:none}.checkbox-label{display:flex;align-items:center;gap:9px;font-size:11px;margin:0 0 22px}.optional{font-weight:400;color:var(--muted)}.privacy-note{font-size:10px;line-height:1.8;margin:18px 0}.submit-button{width:100%;justify-content:space-between}.form-status{font-size:12px;margin-top:14px;line-height:1.7}.form-status.error{color:#934b3b}.form-status.success{color:#425e39}.honeypot{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}.faq-section{border-top:1px solid var(--line);padding-top:85px;padding-bottom:85px}.faqs{padding-top:7px}.faqs details{border-bottom:1px solid var(--line);padding:19px 0}.faqs details:first-child{border-top:1px solid var(--line)}.faqs summary{list-style:none;cursor:pointer;font-size:12px;display:flex;align-items:center;justify-content:space-between;gap:15px}.faqs summary::-webkit-details-marker{display:none}.faqs summary:after{content:'+';font-size:20px;color:var(--gold)}.faqs details[open] summary:after{content:'−'}.faqs details p{font-size:12px;padding-top:15px;line-height:1.9}.closing{background:#e4e9dc;text-align:center;padding:65px 20px 55px}.closing>p{font:40px/1.3 var(--serif);letter-spacing:-1px;color:var(--ink);margin:15px 0 25px}.closing>p em{color:#6e825f}.closing>span{display:block;font:italic 23px var(--serif)}.closing>small{display:block;font-size:8px;letter-spacing:2px;margin-top:13px}footer{padding:25px 7%;display:flex;justify-content:space-between;gap:20px;font-size:8px;letter-spacing:1px;color:var(--muted)}footer a{font-size:10px;letter-spacing:0}.noscript{text-align:center;background:#f3dfb3;padding:18px}.admin-body{background:#f0f2e9}.admin-shell{max-width:1100px;margin:auto;padding:35px 5% 70px}.admin-header{display:flex;justify-content:space-between;align-items:center;gap:20px;border-bottom:1px solid var(--line);padding-bottom:24px}.admin-header h1{font-size:36px;display:block;letter-spacing:-1px;line-height:1.2}.admin-header p{font-size:12px;margin-top:8px}.admin-actions{display:flex;gap:15px;align-items:center}.login-panel{max-width:420px;margin:65px auto}.login-panel h2{font-size:36px}.login-panel .paper-form{margin-top:25px}.admin-tabs{display:flex;gap:25px;margin:32px 0 25px;border-bottom:1px solid var(--line)}.admin-tabs button{background:none;border:0;padding:8px 0 13px;color:var(--muted);font-size:13px}.admin-tabs button[aria-selected=true]{color:var(--ink);border-bottom:2px solid var(--gold)}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:15px;margin:25px 0}.stat{padding:22px;background:var(--white);border:1px solid var(--line)}.stat strong{font:38px/1.2 var(--serif);display:block}.stat span{font-size:11px;color:var(--muted)}.table-tools{display:flex;align-items:center;justify-content:space-between;gap:25px;margin:22px 0}.table-tools input{max-width:360px}.table-wrap{overflow:auto;border:1px solid var(--line);background:var(--white)}table{width:100%;border-collapse:collapse;min-width:660px;text-align:left;font-size:12px}th{font-weight:500;font-size:10px;text-transform:uppercase;letter-spacing:.7px;background:#e6ebdd}th,td{padding:16px;border-bottom:1px solid #e6e8dc;vertical-align:top}td:last-child{max-width:300px;overflow-wrap:anywhere}td .tag{display:inline-block;padding:2px 8px;background:#e3ebdb;font-size:10px}.tag.no{background:#f1e5dc}#settings-form{max-width:780px}.settings-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 22px}.settings-grid .wide{grid-column:1/-1}.settings-help{font-size:11px;margin:12px 0 24px}.schedule-editor{border-top:1px solid var(--line);margin-top:25px;padding-top:15px}.schedule-row{display:grid;grid-template-columns:1fr 2fr;gap:0 15px;margin:10px 0 25px}.schedule-row .wide{grid-column:1/-1}.empty-state{padding:35px;text-align:center;font-size:13px}.admin-notice{background:#e8dfc6;padding:15px;font-size:12px;color:#655735;margin-top:20px}.quiet-button{border:1px solid var(--line);background:transparent;color:var(--ink);padding:9px 13px;font-size:11px}.admin-footer-note{font-size:11px;margin-top:18px}
@media(min-width:1500px){.hero{min-height:760px}.arch{height:560px}}
@media(max-width:900px){.site-header{padding:15px 5%}.site-header nav{gap:18px}.hero{padding-left:6%;padding-right:6%;gap:8%;min-height:650px}.arch{height:460px}.arch-type p{font-size:36px}.seal{left:-22px;width:75px;height:75px}.countdown-wrap{padding:35px 5%;gap:20px}.countdown{gap:12px}.countdown strong{font-size:40px}.countdown>div{min-width:50px}.section{gap:8%;padding:75px 6%}.places-section{padding:65px 6%}.place{gap:15px;padding:28px 20px}.place h3{font-size:23px}.paper-form{padding:25px}.form-heading h3{font-size:24px}.radio-options{display:grid}.rsvp-section{gap:7%}}
@media(max-width:640px){.demo-note{font-size:8px;padding:7px 12px;letter-spacing:.4px}.demo-note span{padding:0 5px}.site-header{min-height:76px;padding:13px 6%}.site-header nav{display:none}.monogram{font-size:23px}.button-small{font-size:10px;padding:10px 12px;gap:12px}.hero{display:flex;flex-direction:column;padding:26px 8% 65px;gap:40px;min-height:0}.hero-copy{text-align:center;padding:0;width:100%;max-width:100%}.hero-copy .eyebrow{justify-content:center;margin-bottom:25px;font-size:9px}h1{align-items:center;font-size:84px;line-height:.9}h1 em{margin-left:0;line-height:.9;font-size:43px}h1 span:last-child{margin-left:0}.hero-date{font-size:9px;letter-spacing:1.4px;margin:25px 0 16px}.hero-intro{margin:0 auto 22px;font-size:12px;max-width:300px}.hero-copy .button{padding:13px 20px;font-size:11px}.hero-art{max-width:290px;align-self:center;width:87%}.arch{height:355px}.arch-type{bottom:37px}.arch-type p{font-size:36px}.arch-type span{font-size:8px}.seal{bottom:32px;left:-26px;width:69px;height:69px}.seal span{font-size:19px}.seal small{font-size:6px}.art-caption{font-size:6px;letter-spacing:1.4px;margin-top:15px}.scroll-note{display:none}.countdown-wrap{display:block;text-align:center;padding:32px 5%}.countdown-wrap h2{font-size:30px}.countdown-wrap p:last-child{font-size:9px}.countdown{justify-content:center;gap:12px;margin-top:24px}.countdown strong{font-size:37px}.countdown span{font-size:7px;letter-spacing:1.3px}.countdown>div{min-width:44px}.countdown i{font-size:21px}.section{display:block;padding:65px 8%}h2{font-size:39px;letter-spacing:-1px}.section-intro .eyebrow,.rsvp-copy .eyebrow{font-size:8px;margin-bottom:18px}.section-intro>p:not(.eyebrow),.rsvp-copy>p:not(.eyebrow){font-size:12px}.timeline{margin-top:40px;padding-top:0}.timeline-item{padding-bottom:30px}.timeline-item:last-child{padding-bottom:0}.timeline-item h3{font-size:25px}.places-section{padding:55px 8%}.section-heading h2{font-size:39px}.places-grid{grid-template-columns:1fr;gap:15px;margin-top:30px}.place{min-height:200px;padding:27px 23px;gap:23px}.place h3{font-size:26px}.small-note{font-size:9px;text-align:left}.rsvp-copy{padding:0}.rsvp-flower{display:none}.paper-form{margin-top:30px;padding:25px 21px}.radio-options{display:flex}.radio-options label{font-size:9px}.form-heading h3{font-size:25px}.rsvp-copy .deadline{margin-top:14px!important}.faqs{margin-top:30px}.closing{padding:45px 20px}.closing>p{font-size:34px}footer{padding:21px 8%;font-size:7px;align-items:center}footer>span{max-width:150px}footer a{font-size:9px;white-space:nowrap}.admin-shell{padding:25px 6%}.admin-header{align-items:flex-start}.admin-header h1{font-size:28px}.admin-header .eyebrow{font-size:8px}.admin-actions{flex-direction:column;align-items:flex-end;gap:10px}.stats{grid-template-columns:1fr 1fr;gap:10px}.stat{padding:17px}.stat strong{font-size:32px}.table-tools{align-items:stretch;flex-direction:column;gap:12px}.table-tools input{max-width:none}.settings-grid{display:block}.schedule-row{display:block}.login-panel{margin:40px auto}.admin-tabs{gap:20px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
/* Abertura fotográfica inspirada na direção visual Soria / Dario. */
.site-header{position:absolute;left:0;right:0;top:0;z-index:5;max-width:none;color:#fffdf5;padding:22px 6%;min-height:105px}
.demo-mode .site-header{top:31px}
.site-header nav{font-size:12px;gap:34px}
.site-header .monogram{font-size:28px}
.site-header .button{background:#f2f3e7;color:var(--ink);border-color:#f2f3e7}
.hero{max-width:none;min-height:730px;height:100svh;max-height:1000px;display:flex;align-items:center;justify-content:center;text-align:center;padding:145px 6% 135px;isolation:isolate;overflow:hidden;margin:0;color:#fffdf5}
.demo-mode .hero{height:calc(100svh - 31px)}
.hero-photo,.hero-shade{position:absolute;inset:0;width:100%;height:100%;z-index:-2;object-fit:cover;object-position:center 52%}
.hero-shade{z-index:-1;background:linear-gradient(180deg,#1b302b45 0,#152b2552 35%,#18382f59 65%,#1a2e2855)}
.hero-copy{max-width:1050px;padding:0;position:relative;width:100%}
.hero-copy .eyebrow{justify-content:center;color:#f7f5df;font-size:10px;letter-spacing:3.5px;margin-bottom:30px}
.hero-copy .tiny-line{background:#dfcf9d;width:33px}
.hero h1{flex-direction:row;justify-content:center;align-items:center;gap:.16em;font-size:clamp(72px,8.5vw,128px);line-height:1.12;letter-spacing:-4.5px;text-shadow:0 2px 30px #10281f30}
.hero h1 em{margin:0;font-size:.75em;color:#eadcb6;line-height:1;font-weight:400}
.hero h1 span:last-child{margin:0}
.hero-date{color:#fffef8;font-size:12px;letter-spacing:3px;margin:27px 0 22px}
.hero-intro{color:#fffdf5;max-width:415px;margin:0 auto 30px;font-size:13px;line-height:1.9}
.hero-copy>.button{background:#e4ebda;border:1px solid #e4ebda;color:#2e4336;padding:15px 25px;gap:40px}
.hero-copy>.button:hover,.site-header .button:hover{background:#f6f7ed}
.hero .scroll-note{bottom:38px;left:50%;transform:translateX(-50%);color:#fffdf4;white-space:nowrap;font-size:8px;gap:12px}
.hero .scroll-note span{color:#eee3bf;font-size:23px}
.hero-seal{left:auto;bottom:45px;right:6%;width:80px;height:80px;opacity:.95}
.calendar-options{border-top:1px solid var(--line);margin-top:22px;padding-top:22px}
.calendar-options h4{font:24px var(--serif);font-weight:400;margin:0 0 8px}
.calendar-options p{font-size:11px;margin:0 0 15px}
.calendar-options>div{display:flex;gap:8px;flex-wrap:wrap}
.calendar-options small{display:block;font-size:9px;line-height:1.8;color:var(--muted);margin-top:12px}
#login-button{margin-top:20px}
@media(max-width:900px){.hero{min-height:680px}.hero h1{font-size:90px;letter-spacing:-3px}.hero-seal{width:70px;height:70px;bottom:35px}.site-header nav{gap:20px}}
@media(max-width:640px){.site-header{padding:17px 6%;min-height:80px}.site-header .monogram{font-size:25px}.hero,.demo-mode .hero{height:calc(100svh - 30px);min-height:660px;max-height:950px;padding:135px 8% 115px;display:flex;flex-direction:column;gap:0}.hero h1{flex-direction:column;font-size:82px;line-height:.95;letter-spacing:-2.5px;gap:3px}.hero h1 em{font-size:48px;line-height:1}.hero-copy .eyebrow{font-size:8px;letter-spacing:2px;gap:8px;margin-bottom:26px}.hero-copy .tiny-line{width:15px}.hero-date{font-size:9px;letter-spacing:1.9px;margin:24px 0 16px}.hero-intro{font-size:12px;max-width:290px;margin-bottom:24px}.hero-photo{object-position:48% center}.hero-shade{background:linear-gradient(180deg,#1b302b55,#152b2570 45%,#18382f60)}.hero .scroll-note{display:flex;font-size:6px;letter-spacing:1.5px;bottom:25px}.hero-seal{width:57px;height:57px;right:5%;bottom:24px;box-shadow:0 3px 6px #4d421b30,inset 0 0 0 2px #d5b573,inset 0 0 0 3px #aa8542}.hero-seal span{font-size:16px}.hero-seal small{font-size:5px}.hero-copy>.button{font-size:11px;padding:13px 22px;gap:35px}}
@media(max-width:360px){.hero h1{font-size:71px}.hero-date{font-size:8px}.hero-seal{display:none}}
/* Identidade do convite: os PNG originais são preservados.
   O recorte e as variantes de cor são feitos no navegador, através de SVG. */
@font-face{font-family:Ansam;src:local("Ansam");font-display:swap}
@font-face{font-family:"Simple Serenity Script";src:local("Simple Serenity Script");font-display:swap}
:root{--serif:Ansam,Georgia,'Times New Roman',serif;--gold:#af861a}
.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
.brand-filters{position:absolute;pointer-events:none;overflow:hidden}
.brand-symbol{display:block;width:92px;height:auto;aspect-ratio:550/375}
.brand-symbol image,.brand-gold image{filter:url(#brand-gold)}
.brand-white image,.hero-motto image,.brand-lettering image{filter:url(#brand-white)}
.brand-green image{filter:url(#brand-green)}
.site-header .monogram{width:84px;flex:none}
.site-header .brand-symbol{width:84px}
.hero{min-height:830px}
.hero-copy .hero-save{font-size:8px;letter-spacing:3px;margin:0 0 24px;color:#fffdf5}
.hero-motto{margin:0 auto 6px;width:230px}
.hero-motto svg{width:100%;display:block}
.hero h1{display:block;margin:0 auto;max-width:680px;height:auto;line-height:1}
.brand-lettering{display:block;width:100%;height:auto}
.hero-date{margin:2px 0 18px}
.hero-intro{max-width:410px;font-size:12px}
.hero-seal .brand-symbol{width:65px;height:48px}
.hero-copy{padding-top:8px}
.story-section{align-items:center;gap:10%;padding-top:80px;padding-bottom:65px;grid-template-columns:1.1fr .9fr}
.couple-illustration{background:white;overflow:hidden;border-radius:240px 240px 4px 4px}
.couple-illustration svg{width:100%;height:auto;display:block}
.story-copy>.brand-symbol{width:90px;margin-bottom:28px}
.story-copy .eyebrow{margin-bottom:20px;font-size:9px}
.story-copy h2{font-size:62px;line-height:1.05;letter-spacing:-2px}
.story-copy>p:not(.eyebrow){font-size:13px;line-height:1.9;max-width:320px;margin-top:22px}
.story-copy .text-link{margin-top:30px}
.rsvp-mark{margin-top:40px;width:100px}
.closing>.brand-symbol{width:95px;margin:0 auto 18px}
.code-entry{display:flex;gap:9px;align-items:stretch}
.code-entry input{flex:1;min-width:0;text-transform:uppercase;letter-spacing:1px}
.code-entry button{flex:none;font-size:10px;padding:8px 11px}
.input-hint{font-size:10px;line-height:1.8;margin:9px 0 14px}
.demo-invite{background:none;border:0;border-bottom:1px solid var(--gold);padding:0 0 4px;cursor:pointer;margin:10px 0;font-size:10px}
.invitation-heading{margin:12px 0 22px;padding:20px;background:#edf1e6;border:1px solid #d6dfca}
.invitation-heading .eyebrow{font-size:8px;letter-spacing:1.8px}
.invitation-heading h4{font:26px/1.3 var(--serif);font-weight:400;margin:9px 0 15px}
.invitation-heading .text-link{font-size:9px;padding-bottom:3px;background:none;border:0;border-bottom:1px solid var(--gold)}
.invited-people{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:12px}
.person-chip{font-size:10px;padding:7px 11px;background:#fafbf5;border:1px solid #cfd8c4;color:var(--ink)}
.person-chip[aria-pressed=true]{background:#e0e8d6;border-color:#9cae8a}
.person-chip[aria-pressed=true]:before{content:'✓ ';color:#566f42}
.invite-list{margin-top:30px}.invite-card{background:var(--white);border:1px solid var(--line);padding:22px;margin:15px 0}
.invite-card h3{font-size:24px;margin-bottom:5px}.invite-card p{font-size:12px;margin:8px 0}.invite-card code{font:15px/1.6 monospace;letter-spacing:1px;background:#e8edde;padding:5px 10px;display:inline-block}
.invite-card .invite-url{width:100%;margin:12px 0}.invite-card .quiet-button{margin-right:10px}.invite-tip{font-size:11px;margin:15px 0;color:var(--muted)}
.invite-create{max-width:650px}.invite-create .button{margin-top:20px}
.stat .stat-sub{font-size:9px}.tag.partial{background:#f0e6ca}.tag.pending{background:#ecece7}
.table-person-list{white-space:pre-line}.table-tools>p{font-size:11px}
@media(max-width:900px){.hero{min-height:810px}.hero h1{max-width:610px}.story-copy h2{font-size:50px}.hero-copy{padding:0}.hero-date{font-size:10px;letter-spacing:2px}}
@media(max-width:640px){.site-header .brand-symbol,.site-header .monogram{width:64px}.hero,.demo-mode .hero{min-height:760px;padding:115px 7% 110px}.hero-copy .hero-save{font-size:7px;letter-spacing:2px;margin-bottom:25px}.hero-motto{width:190px;margin-bottom:12px}.hero h1{max-width:400px;width:110%;margin-left:-5%;font-size:inherit}.hero-date{margin:18px 0 16px;font-size:8px;letter-spacing:1.1px}.hero-intro{font-size:11px;max-width:270px}.hero-seal .brand-symbol{width:46px;height:34px}.story-section{padding-top:50px}.couple-illustration{max-width:370px;margin:auto}.story-copy{text-align:center;margin-top:35px}.story-copy>.brand-symbol{margin:0 auto 20px;width:74px}.story-copy h2{font-size:48px}.story-copy>p:not(.eyebrow){margin:20px auto 0;max-width:300px;font-size:12px}.story-copy .eyebrow{font-size:8px}.story-copy .text-link{margin-top:24px}.rsvp-mark{display:none}.code-entry{flex-direction:column}.code-entry button{padding:11px}.admin-tabs{gap:16px;flex-wrap:wrap}.admin-tabs button{font-size:11px}.closing>.brand-symbol{width:77px}}
@media(min-width:641px) and (max-height:850px){
.hero,.demo-mode .hero{min-height:700px;padding:104px 6% 76px;height:calc(100svh - 31px)}
.hero h1{max-width:520px}.hero-copy .hero-save{margin-bottom:14px;font-size:7px}.hero-motto{width:200px;margin-bottom:5px}.hero-date{margin:0 0 13px;font-size:9px}.hero-intro{font-size:11px;margin-bottom:21px}.hero-copy>.button{padding:12px 22px;font-size:11px}.hero .scroll-note{bottom:23px}.hero-seal{bottom:24px;width:64px;height:64px}.hero-seal .brand-symbol{width:50px;height:37px}
}
.group-actions{display:flex;gap:18px;flex-wrap:wrap;margin:12px 0}
.group-actions .text-link,#cancel-invite-edit{font-size:10px;cursor:pointer;background:none;border:0;border-bottom:1px solid var(--gold);padding:0 0 4px}
#cancel-invite-edit{margin-top:15px}
/* Lacre de cera com bordo orgânico, impressão em relevo e iridescência discreta. */
.wax-seal{width:110px;height:110px;aspect-ratio:1;left:auto;border:0;border-radius:0;background:transparent url('/brand/wax-base.svg') center/contain no-repeat;box-shadow:none;text-shadow:none;opacity:1;isolation:isolate;filter:drop-shadow(1px 5px 4px #1b2d2540);transform:rotate(-10deg)}
.wax-seal .brand-symbol{width:71%;height:auto;aspect-ratio:550/375;position:relative;z-index:2;opacity:.8;transform:translateY(1px)}
.brand-pressed image{filter:url(#brand-pressed)}
.wax-seal .wax-sheen{position:absolute;inset:17%;z-index:3;pointer-events:none;display:block;border-radius:50%;background:conic-gradient(from 20deg,#f3e4a308,#a2dfc524,#bbc4ea25,#efd2dc18,#e1e8ad20,#f3e4a308);opacity:.22;mix-blend-mode:screen;filter:blur(2px);transform:rotate(0deg);transition:transform 1.5s ease,opacity 1.5s ease}
.wax-seal:before{content:'';position:absolute;inset:21%;z-index:1;border-radius:50%;background:radial-gradient(ellipse at 30% 20%,#fff3c122,transparent 70%);box-shadow:inset 0 2px 4px #78582a20,inset 0 -1px 1px #ffe3a144}
@media(hover:hover){.wax-seal:hover .wax-sheen{transform:rotate(38deg);opacity:.38}}
.timeline-item .timeline-map{font-size:10px;margin-top:13px;gap:10px;padding-bottom:3px}
.place p.place-time{font-size:13px;color:var(--ink);margin-top:12px;font-weight:500}
.place p.place-arrival{font-size:11px;max-width:300px;margin-top:7px;line-height:1.8}
.place{min-height:285px}
@media(min-width:641px) and (max-height:850px){.hero-seal.wax-seal{width:90px;height:90px;bottom:20px;right:5%}.hero-seal.wax-seal .brand-symbol{width:71%;height:auto}}
@media(max-width:640px){.hero-seal.wax-seal{width:78px;height:78px;right:4%;bottom:20px}.hero-seal.wax-seal .brand-symbol{width:71%;height:auto}.place{min-height:260px}.small-note{line-height:1.9}}
@media(max-width:360px){.hero-seal.wax-seal{display:flex;width:65px;height:65px;right:3%;bottom:17px}}
@media(prefers-reduced-motion:reduce){.wax-seal .wax-sheen{transition:none}}

/* Os dois locais usam a mesma estrutura e alinham os horários e os mapas. */
.place{min-height:325px}
.place .place-content{display:flex;flex-direction:column;flex:1;min-width:0}
.place .place-details{flex:1}
.place p.place-address{font-size:12px;line-height:1.9;margin-top:0}
.place p.place-arrival{margin-top:10px;max-width:none}
.place p.place-time{font-weight:600;margin-top:19px;line-height:1.8}
.place .text-link{align-self:flex-start;margin-top:22px}
@media(max-width:640px){.place{min-height:310px}.place p.place-address{font-size:11px}}
.danger-button{color:#8b503e;border-color:#d7c2b4;font-size:10px}
.danger-button:hover{background:#f3e8df}
#responses-body td:nth-child(4){max-width:300px;overflow-wrap:anywhere}
#responses-body td:last-child{min-width:120px}
#access-form .submit-button{margin-top:24px}

/* Apresentação dos noivos: imagem estática até o vídeo estar pronto. */
.hero-video{position:absolute;inset:0;width:100%;height:100%;z-index:-2;object-fit:cover;object-position:50% center;opacity:0;pointer-events:none}
.hero-video.is-playing{opacity:1}
.video-toggle{position:absolute;left:6%;bottom:30px;z-index:2;display:flex;align-items:center;gap:8px;padding:10px 14px;border:1px solid #fff8;border-radius:30px;background:#19302780;color:#fffdf5;font:inherit;font-size:11px;cursor:pointer;backdrop-filter:blur(8px)}
.video-toggle[hidden]{display:none}
.video-toggle:hover{background:#193027bb}
.video-toggle:focus-visible{outline:2px solid #fffdf5;outline-offset:4px}
@media(max-width:640px){.video-toggle{left:6%;bottom:24px;font-size:10px;padding:9px 12px}.hero-video{object-position:50% center}}

.hero-motto{color:#fffdf5;font-family:var(--serif);font-size:22px;line-height:1.4;letter-spacing:2px;width:auto;text-transform:uppercase;margin-bottom:12px}
@media(max-width:640px){.hero-motto{font-size:18px;letter-spacing:1.6px}}
