*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#f8f4eb;color:#34402d;font-family:"DM Sans",sans-serif}a{color:inherit}button,input,select{font:inherit}.skip{position:absolute;top:-100px}.skip:focus{top:0;background:white;z-index:100}.header{height:79px;display:flex;align-items:center;justify-content:space-between;padding:0 clamp(20px,5vw,75px);background:#faf7f0;position:sticky;top:0;z-index:30;box-shadow:0 2px 20px #1e28150b}.monogram{text-decoration:none;color:#b39251;font:italic 46px "Cormorant Garamond",serif;letter-spacing:-13px;padding-right:15px}.monogram span{position:relative;top:9px}nav{display:flex;align-items:center;gap:clamp(12px,2.5vw,35px)}nav a{text-decoration:none;font-size:11px;letter-spacing:.12em;text-transform:uppercase;font-weight:600}nav a:hover{color:#a78a4f}.nav-rsvp{background:#34402d;color:white;padding:14px 23px}.menu{display:none;background:none;border:0;font-size:28px;color:#34402d}.hero{min-height:calc(100svh - 79px);position:relative;display:grid;place-items:center;isolation:isolate;color:#fff;text-align:center}.hero-photo{position:absolute;inset:0;background:url('assets/solar-da-levada.jpg') center 53%/cover;z-index:-2}.hero-shade{position:absolute;inset:0;background:linear-gradient(180deg,#14201670,#1b291b64 55%,#17231d8c);z-index:-1}.hero-content{padding:70px 18px 95px;text-shadow:0 2px 22px #15231590}.hero-overline,.hero-dates,.hero-place,.eyebrow{letter-spacing:.24em;font-size:11px;font-weight:600}.hero h1{margin:20px 0 10px;display:flex;align-items:center;justify-content:center;gap:18px;flex-wrap:wrap;color:#e5c889;font-weight:400;text-shadow:0 2px 4px #31280c99,0 0 25px #0006}.script{font:clamp(82px,12vw,170px) "Great Vibes",cursive;line-height:1.2;display:inline-block;animation:write 2.3s both;transform-origin:left center}.script.second{animation-delay:.5s}.met{font:italic clamp(27px,4vw,47px) "Cormorant Garamond",serif;color:#f4ead5;margin:0 -6px}.gold-rule{height:1px;width:110px;background:#d7ba79;margin:5px auto 27px}.hero-dates{font-size:clamp(12px,1.6vw,19px);letter-spacing:.16em}.hero-place{margin:17px 0 35px}.button{display:inline-flex;gap:18px;align-items:center;justify-content:center;padding:16px 30px;text-decoration:none;border:1px solid transparent;font-size:12px;letter-spacing:.12em;text-transform:uppercase;font-weight:600;cursor:pointer}.button.light{background:#f7f0e4;color:#34402d}.button.dark{background:#34402d;color:#fff;width:100%}.scroll{position:absolute;bottom:24px;text-decoration:none;font-size:10px;letter-spacing:.22em}.section{padding:100px clamp(20px,5vw,80px);scroll-margin-top:78px}.intro{text-align:center;max-width:900px;margin:auto}.intro h2,.section h2{font:500 clamp(44px,6vw,77px)/1.05 "Cormorant Garamond",serif;margin:18px 0 25px}.intro>p:not(.eyebrow){font:23px/1.6 "Cormorant Garamond",serif;max-width:660px;margin:auto}.little-flourish{color:#a98a4d;margin-top:36px}.gallery{background:#f1eadf;overflow:hidden;padding-left:0;padding-right:0}.section-heading{text-align:center;padding:0 20px}.section-heading p:last-child{font:italic 25px "Cormorant Garamond",serif}.gallery-controls{display:flex;align-items:center;justify-content:center;gap:22px;margin:24px}.gallery-controls button{border:1px solid #bda66f;border-radius:50%;background:#faf7f0;width:42px;height:42px;font-size:30px;color:#34402d;cursor:pointer}.gallery-controls span{font-size:11px;letter-spacing:.15em}.photo-track{display:flex;gap:28px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-padding:calc(50vw - 140px);padding:30px max(24px,calc(50vw - 140px)) 45px;scrollbar-width:none;align-items:center}.photo-track::-webkit-scrollbar{display:none}.polaroid{flex:0 0 280px;background:#fffdfa;padding:12px 12px 2px;box-shadow:0 12px 24px #3c352422;scroll-snap-align:center;transform:rotate(-1.8deg);transition:transform .3s}.polaroid:nth-child(even){transform:rotate(2deg)}.polaroid img{width:100%;height:330px;object-fit:cover;display:block}.polaroid p{font:27px "Great Vibes",cursive;text-align:center;margin:12px 0 6px;color:#2c392b}.gallery-foot{display:flex;justify-content:space-between;gap:20px;max-width:1100px;margin:15px auto 0;padding:0 25px;color:#9a814d;font-size:10px;letter-spacing:.14em}.celebration{text-align:center;background:#f8f4eb}.celebration h2 em{color:#b29151;font-weight:400}.celebration-frame{max-width:720px;margin:35px auto;border:1px solid #c8b68f;padding:50px 25px;outline:1px solid #c8b68f;outline-offset:8px}.date-big{font:500 clamp(28px,4vw,46px) "Cormorant Garamond",serif}.year{letter-spacing:.22em;font-size:12px;margin:18px}.line{width:90px;height:1px;background:#a78a4f;margin:25px auto}.celebration-frame p{font:22px/1.4 "Cormorant Garamond",serif}.celebration-frame .quiet{font:13px/1.7 "DM Sans",sans-serif;color:#68705e}.travel{text-align:center;background:#e8e9df}.travel-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;max-width:1150px;margin:45px auto 0;text-align:left}.travel article{padding:32px;border-top:1px solid #a7ad9a;background:#f7f6ee}.travel article span{font-size:10px;letter-spacing:.18em;color:#9d824d}.travel h3{font:32px "Cormorant Garamond",serif;margin:20px 0}.travel article p{font-size:14px;line-height:1.8}.rsvp{text-align:center;max-width:760px;margin:auto}.rsvp-intro{font-size:15px;line-height:1.9;margin-bottom:40px}.rsvp form{text-align:left;background:#fffdf8;border:1px solid #e4d7bd;padding:clamp(20px,5vw,50px);box-shadow:0 12px 38px #443b2110}.field{display:flex;flex-direction:column;gap:9px;margin-bottom:23px}.field label,legend{font-size:12px;font-weight:600;letter-spacing:.05em}.field input,.field select{padding:15px;border:1px solid #cfc8ba;background:white;color:#34402d;width:100%;border-radius:0}.rsvp fieldset{border:0;padding:0;margin:0 0 25px}.rsvp fieldset label{display:block;margin:13px 0;font-size:14px}.rsvp input[type=radio]{accent-color:#34402d;margin-right:8px}.form-note{font-size:12px;color:#777;line-height:1.6}.honeypot{position:absolute;left:-9999px}.countdown-section{text-align:center;background:#34402d;color:#f6f0e6}.countdown{display:flex;justify-content:center;gap:clamp(20px,6vw,85px);margin-top:30px}.countdown div{display:flex;flex-direction:column;gap:10px}.countdown strong{font:clamp(37px,6vw,72px) "Cormorant Garamond",serif;color:#e0c48a}.countdown span{font-size:10px;letter-spacing:.15em}.faq{max-width:850px;margin:auto}.faq h2{text-align:center}.faq>.eyebrow{text-align:center}.faq details{border-bottom:1px solid #d9d2c3;padding:20px 5px}.faq summary{cursor:pointer;font:24px "Cormorant Garamond",serif}.faq details p{font-size:14px;line-height:1.8;color:#656a60}footer{text-align:center;background:#f0e9dd;padding:70px 15px;color:#34402d}footer .footer-script{font:60px "Great Vibes",cursive;color:#b18f4e}footer .footer-script small{font-size:24px}footer p{font-size:11px;letter-spacing:.14em}footer a{font-size:11px;letter-spacing:.1em}@keyframes write{from{opacity:0;clip-path:inset(0 100% 0 0)}to{opacity:1;clip-path:inset(0 0 0 0)}}@media(max-width:750px){.header{height:66px}.menu{display:block}nav{display:none;position:absolute;top:66px;left:0;right:0;background:#faf7f0;padding:25px;box-shadow:0 12px 25px #0002;flex-direction:column;align-items:stretch}nav.open{display:flex}.hero{min-height:calc(90svh - 66px)}.hero h1{gap:8px}.script{font-size:clamp(70px,15vw,110px)}.met{font-size:28px}.hero-overline{font-size:9px}.section{padding:75px 20px;scroll-margin-top:65px}.travel-grid{grid-template-columns:1fr}.gallery{padding-left:0;padding-right:0}.gallery-foot{font-size:9px;flex-direction:column;text-align:center}.photo-track{scroll-padding:calc(50vw - 120px);padding-left:calc(50vw - 120px);padding-right:calc(50vw - 120px)}.polaroid{flex-basis:240px}.polaroid img{height:290px}.celebration-frame{margin:35px 12px}.countdown{gap:18px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;scroll-behavior:auto!important;transition:none!important}}.rsvp textarea{padding:15px;border:1px solid #cfc8ba;background:#fff;color:#34402d;width:100%;border-radius:0;font:inherit;resize:vertical;min-height:96px}
.field input:focus,.rsvp textarea:focus{outline:2px solid #b39251;outline-offset:1px;border-color:#b39251}
.rsvp input[type=radio]:focus-visible{outline:2px solid #b39251;outline-offset:2px}
.field input[aria-invalid=true]{border-color:#a3412f}
.optional{font-weight:400;color:#7d8174;letter-spacing:0}
.error{color:#a3412f;font-size:12px;display:block;margin-top:2px}
.error[hidden]{display:none}
.button.dark:hover{background:#28321f}
.button[disabled]{opacity:.7;cursor:progress}
.form-status{font-size:13px;margin:16px 0 0;text-align:center;min-height:1em;color:#68705e}
.form-status.is-error{color:#a3412f}
.rsvp-success{background:#fffdf8;border:1px solid #e4d7bd;padding:clamp(30px,6vw,60px) clamp(20px,5vw,50px);box-shadow:0 12px 38px #443b2110;outline:none}
.success-script{font:clamp(54px,9vw,78px) "Great Vibes",cursive;color:#ad8b50;line-height:1.1}
.rsvp-success h3{font:500 clamp(28px,4vw,38px) "Cormorant Garamond",serif;margin:10px 0 14px}
.rsvp-success p{font-size:15px;line-height:1.8;max-width:480px;margin:0 auto 22px}
.link-button{background:none;border:0;border-bottom:1px solid #b39251;color:#34402d;padding:2px 0;font-size:12px;letter-spacing:.1em;text-transform:uppercase;font-weight:600;cursor:pointer}
.rsvp form[hidden],.rsvp-success[hidden]{display:none}
