@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,400;0,500;0,600;1,400&family=DM+Sans:wght@400;500;600&display=swap');
:root{--paper:#ffffff;--ink:#111110;--muted:#74716a;--line:#c6c1b8;--serif:'Cormorant Garamond',Georgia,serif;--sans:'DM Sans',Arial,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:80px}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,select{outline-offset:5px}button{cursor:pointer}img{display:block;max-width:100%}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-family:var(--serif);font-weight:400;line-height:.98}h2{font-size:clamp(48px,6.2vw,88px);letter-spacing:-2.5px;margin-bottom:35px}h3{font-size:38px}p{margin-bottom:22px}.preview{position:absolute;top:0;width:100%;z-index:8;text-align:center;color:#fff9;font-size:9px;letter-spacing:2px;padding:6px;background:#0006}header{position:absolute;top:29px;left:0;right:0;z-index:10;display:flex;align-items:center;justify-content:space-between;padding:20px 5%;color:white}header img{width:82px;height:55px;object-fit:contain}#menu-toggle{border:0;background:none;color:inherit;letter-spacing:2px;font-size:11px;padding:12px}#menu-toggle span{margin-left:15px}nav{display:none;position:absolute;right:5%;top:88px;background:var(--paper);color:var(--ink);padding:25px 35px;min-width:260px;box-shadow:0 10px 50px #0003}nav.open{display:grid;gap:13px}nav a:hover{text-decoration:underline}.hero{min-height:900px;height:100svh;position:relative;color:white;text-align:center;display:flex;flex-direction:column;justify-content:space-between;padding:170px 20px 35px}.hero-image{position:absolute;inset:0;background:linear-gradient(0deg,#0009,#0002 55%,#0006),url('assets/hero.jpg') center 39%/cover}.hero-content,.hero-bottom{position:relative}.eyebrow,.section-label{font-size:10px;font-weight:500;letter-spacing:2.3px}.hero h1{font-size:clamp(58px,10vw,142px);letter-spacing:-3px;white-space:nowrap;margin:28px 0}.hero h1 em{font-size:.7em}.rule{height:1px;background:#fff8;width:100px;margin:25px auto}.date{font-size:13px;letter-spacing:6px}.location{font-size:9px;letter-spacing:2px}.hero-bottom p{font-family:var(--serif);font-size:26px;line-height:1.3}.button{display:inline-flex;justify-content:center;align-items:center;gap:30px;min-height:52px;padding:15px 25px;border:1px solid var(--ink);color:var(--ink);background:transparent;font-size:10px;letter-spacing:1.4px;line-height:1.5;transition:background .2s,color .2s}.button:hover{background:var(--ink);color:white}.button.light{border-color:#fff9;color:white;background:#0003}.button.light:hover{background:white;color:var(--ink)}.button.solid{background:var(--ink);color:white}.button.solid:hover{background:#333}.scroll{display:block;font-size:9px;letter-spacing:2px;margin-top:25px}.section{padding:100px max(6vw,24px)}.section-label{color:var(--muted);margin-bottom:50px}.script{font-family:var(--serif);font-size:27px;font-style:italic;margin-bottom:22px}.story-grid{display:grid;grid-template-columns:1fr 1fr;gap:9vw;align-items:center;max-width:1250px;margin:auto}.story-copy p:not(.script){max-width:470px}.story-photos{position:relative;padding:0 70px 100px 0}.story-photos>img:first-child{width:100%;aspect-ratio:.74;object-fit:cover}.small-photo{position:absolute;width:48%;height:52%;object-fit:cover;right:0;bottom:10px;border:9px solid var(--paper)}.story-photos span{position:absolute;bottom:53px;left:0;font-size:9px;letter-spacing:2px}.dark{background:var(--ink);color:var(--paper)}.dark .section-label,.dark .fine{color:#aaa69d}.day,.dress,.rsvp,.gifts,.seating{text-align:center}.day .section-label,.dress .section-label,.rsvp .section-label,.gifts .section-label,.seating .section-label{text-align:left}.intro{max-width:570px;margin:0 auto 35px;font-family:var(--serif);font-size:23px;line-height:1.5}.countdown{display:flex;justify-content:center;gap:60px;margin:60px 0}.countdown b{font-family:var(--serif);font-size:82px;font-weight:400;line-height:1}.countdown span{display:block;font-size:9px;letter-spacing:2px;margin-top:18px}.fine{font-size:11px;color:var(--muted);line-height:1.6;margin-top:20px}.timeline{margin:90px auto 30px;display:grid;grid-template-columns:repeat(5,1fr);max-width:1150px;text-align:left;border-top:1px solid #ffffff38}.timeline>div{padding:27px 15px 0 0}.timeline span{font-size:10px;color:#aaa;letter-spacing:2px}.timeline h3{font-size:28px;margin:20px 0 12px}.timeline p{font-size:11px;color:#aaa}.venue-heading{text-align:center;padding-bottom:60px}.venue-heading .section-label{text-align:left}.venue-heading>p:last-child{font-size:10px;letter-spacing:3px}.ceremony{width:100%;height:580px;object-fit:cover;object-position:center 48%}.venue-grid{display:grid;grid-template-columns:.8fr 1.2fr;align-items:center;gap:8vw}.venue-grid h3{font-size:58px}.venue-grid p{max-width:350px}.venue-gallery{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:20px}.venue-gallery img{height:380px;width:100%;object-fit:cover}.venue-gallery img:last-child{margin-top:100px}.dress{border-top:1px solid var(--line)}.swatches{display:grid;grid-template-columns:repeat(6,1fr);gap:15px;max-width:670px;margin:55px auto 25px}.swatches i{display:block;height:110px;background:var(--swatch)}.swatches span{display:block;font-size:9px;letter-spacing:1px;margin-top:15px}.rsvp-shell{max-width:800px;background:var(--paper);color:var(--ink);margin:55px auto 0;text-align:left;padding:35px 45px}.demo-note{font-size:10px;color:var(--muted);padding-bottom:20px;border-bottom:1px solid var(--line);margin-bottom:35px}.rsvp-shell h3{font-size:40px;margin-bottom:20px}#rsvp-start{text-align:center;padding:20px 0 35px}label{display:block;font-size:11px;letter-spacing:.5px;margin-bottom:20px}input,select,textarea{display:block;width:100%;border:1px solid var(--line);border-radius:0;background:transparent;padding:13px;color:inherit;margin-top:8px;font-size:14px;letter-spacing:0}textarea{resize:vertical;min-height:100px}.guest{border:1px solid var(--line);padding:25px;margin:25px 0}.guest-head{display:flex;align-items:center;justify-content:space-between;gap:20px}.guest-head h4{font-family:var(--serif);font-size:29px;font-weight:400;margin:0}.guest-head select{max-width:150px}.guest-fields{margin-top:25px;display:grid;grid-template-columns:1fr 1fr;gap:0 20px}.guest-fields .wide{grid-column:1/-1}.guest-fields label{margin-bottom:18px}.form-top span{font-size:9px;color:var(--muted);letter-spacing:1px}.check{display:flex;gap:10px;align-items:flex-start;line-height:1.6}.check input{width:auto;margin:4px 0}.response-row{border-top:1px solid var(--line);padding:15px 0;font-size:13px}.iban{max-width:600px;margin:45px auto 0;padding:25px;border:1px solid var(--line);font-size:12px;letter-spacing:2px}.seating svg{margin:0 auto 30px}.locked{font-size:10px;letter-spacing:1.8px;border:1px solid #ffffff50;padding:25px;max-width:500px;margin:auto}.locked span{display:block;font-family:var(--serif);font-size:25px;margin-top:15px;letter-spacing:0}.faq{display:grid;grid-template-columns:1fr 1.2fr;gap:0 8vw}.faq .section-label{grid-column:1/-1}.faq-list details{border-top:1px solid var(--line);padding:22px 0}.faq-list details:last-child{border-bottom:1px solid var(--line)}summary{cursor:pointer;list-style:none;font-family:var(--serif);font-size:26px;padding-right:25px;position:relative}summary:after{content:'+';position:absolute;right:0;font-family:var(--sans);font-size:20px}details[open] summary:after{content:'−'}details p{font-size:13px;color:var(--muted);margin:18px 0 0}.contact{position:relative;text-align:center}.contact-bg{position:absolute;inset:0;background:linear-gradient(#0009,#000b),url('assets/flowers.jpg') center 45%/cover}.contact-content{position:relative}.contact .section-label{text-align:left}.contact form{max-width:580px;margin:45px auto;text-align:left;background:#0004;padding:30px}.contact input,.contact textarea{border-color:#fff7}.contact input::placeholder,.contact textarea::placeholder{color:#bbb}.contact .fine{color:#b8b8b0}.whatsapp-pending{font-size:10px;letter-spacing:1.5px;color:#ccc}.footer-logo{width:140px;margin:80px auto 25px}.footer-message{font-family:var(--serif);font-size:24px}footer{display:flex;justify-content:space-between;gap:20px;padding:25px 5%;font-size:9px;letter-spacing:1.7px}footer span{color:var(--muted)}[hidden]{display:none!important}@media(max-width:760px){.hero{min-height:780px;padding-top:195px}.hero h1{font-size:57px;letter-spacing:-2px}.hero-image{background-position:46% 40%}.hero-bottom p{font-size:23px}.hero-bottom .button{max-width:95%;gap:15px;font-size:9px}.section{padding:65px 24px}h2{font-size:54px;letter-spacing:-1.8px}.section-label{margin-bottom:38px;font-size:9px}.story-grid{grid-template-columns:1fr;gap:35px}.story-photos{max-width:480px;padding-right:45px}.story-copy .script{font-size:24px}.intro{font-size:21px}.countdown{gap:22px;margin:45px 0}.countdown b{font-size:51px}.countdown span{font-size:8px;letter-spacing:1px}.timeline{grid-template-columns:1fr;border-top:0;border-left:1px solid #ffffff38;margin-top:60px;padding-left:25px;gap:25px}.timeline>div{position:relative;padding:0}.timeline>div:before{content:'';position:absolute;left:-29px;top:10px;width:7px;height:7px;background:var(--paper);border-radius:50%}.timeline h3{display:inline;margin-left:15px;font-size:29px}.timeline p{margin:10px 0 0}.ceremony{height:350px}.venue-grid{grid-template-columns:1fr;gap:35px}.venue-grid h3{font-size:48px}.venue-gallery{gap:12px}.venue-gallery img{height:260px}.venue-gallery img:last-child{margin-top:65px}.swatches{gap:7px}.swatches i{height:80px}.swatches span{font-size:7px;letter-spacing:0}.rsvp-shell{padding:22px 18px;margin:35px -7px 0}.rsvp-shell h3{font-size:33px}.guest{padding:16px}.guest-head{display:block}.guest-head select{max-width:none}.guest-fields{grid-template-columns:1fr;gap:0}.guest-fields .wide{grid-column:auto}.guest-head h4{font-size:27px}.faq{display:block}summary{font-size:24px}.contact form{margin:35px -7px;padding:20px}.contact h2{font-size:48px}.contact .button{width:100%}.iban{font-size:10px;padding:24px 12px}.locked{padding:22px 12px;font-size:9px}footer{flex-wrap:wrap;justify-content:center;text-align:center}footer span{display:none}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
