@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Italiana&family=Playfair+Display:ital,wght@0,400;0,500;0,600;1,400;1,500&display=swap');
:root{--red:#a4000c;--black:#090909;--cream:#f5f2ef;--white:#fff;--font-serif:'Playfair Display',Georgia,serif;--font-display:'Italiana',Georgia,serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--cream);color:#151515;font-family:'DM Sans',Arial,sans-serif}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button{cursor:pointer}section{scroll-margin-top:75px}.topbar{height:78px;display:flex;align-items:center;justify-content:space-between;padding:0 5%;background:#070707;color:#fff;position:sticky;top:0;z-index:30;border-bottom:1px solid #292929}.brand{font-family:var(--font-serif);font-size:18px;line-height:1.05;letter-spacing:-.04em;max-width:215px}.brand b{color:#e32932;font-weight:500}.brand em{display:block;font-size:23px;text-align:center;font-weight:400}.topbar nav{display:flex;align-items:center;gap:clamp(14px,2.5vw,37px)}.topbar nav a{font-size:10px;letter-spacing:.11em;transition:color .2s}.topbar nav a:hover{color:#e44}.topbar nav .nav-rsvp{padding:13px 23px;border:1px solid #d22029;background:var(--red);color:#fff}.menu-toggle{display:none;background:none;border:0;color:white;font-size:26px}.hero{min-height:620px;display:grid;grid-template-columns:50% 50%;background:linear-gradient(110deg,#eee,#fff)}.hero-photo{background-image:url('assets/hero-fashion.webp');background-size:cover;background-position:37% center;min-height:620px}.hero-copy{display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;padding:60px 30px}.eyebrow{font-size:11px;letter-spacing:.43em;font-weight:700;line-height:1.9;text-align:center}.red{color:var(--red)}.hero h1{font-family:var(--font-serif);font-weight:400;margin:22px 0 12px;line-height:.9;display:flex;align-items:center;flex-direction:column}.hero h1 span{font-size:clamp(27px,3vw,43px)}.hero h1 strong{font-size:clamp(78px,9vw,142px);font-weight:500;color:var(--red);letter-spacing:-.08em}.hero h1 em{font-size:clamp(49px,6vw,91px);font-weight:400;letter-spacing:-.06em}.red-stroke{height:3px;width:160px;background:var(--red);transform:rotate(-8deg);margin:20px 0}.tagline{font-family:var(--font-serif);font-style:italic;font-size:clamp(18px,2.2vw,28px)}.ghost-link{margin-top:25px;font-size:10px;letter-spacing:.2em}.ghost-link span{margin-left:10px;font-size:19px}.invite-section{position:relative;overflow:hidden;padding:115px 20px 120px;text-align:center;background:#f7f4f1}.corner-mark{position:absolute;left:7%;top:14%;font-size:50px;color:#c6c0ba}.script-heading{font:italic clamp(55px,8vw,100px)/1.15 var(--font-serif);margin:15px 0}.rule{width:200px;height:1px;background:#777;margin:25px auto}.intro{font:clamp(20px,2.7vw,30px)/1.6 var(--font-serif);max-width:780px;margin:0 auto}.invitation-note{font-size:14px;color:#666;margin:30px auto;max-width:600px;line-height:1.8}.text-link{display:inline-block;margin-top:20px;border-bottom:1px solid var(--red);padding-bottom:8px;font-size:11px;letter-spacing:.2em}.text-link span{color:var(--red)}.runway-section{height:560px;position:relative;background:#0c0c0c}.runway-image{position:absolute;inset:0;background:url('assets/runway.webp') center 45%/cover no-repeat}.runway-section:after{content:"";position:absolute;inset:0;background:linear-gradient(transparent 40%,rgba(0,0,0,.82))}.runway-overlay{position:absolute;bottom:40px;left:5%;z-index:1;color:white}.runway-overlay span{letter-spacing:.35em;font-size:11px}.runway-overlay h2{font:clamp(48px,6vw,86px) var(--font-display);margin:10px 0}.runway-overlay p{font-family:var(--font-serif);font-style:italic;font-size:19px}.details-section{text-align:center;padding:105px 5%;background:#101010;color:#fff}.details-section h2,.inspiration-section h2{font:clamp(48px,6vw,76px) var(--font-display);margin:12px 0}.section-lead{font:italic 20px var(--font-serif);color:#aaa}.details-grid{display:grid;grid-template-columns:repeat(3,1fr);max-width:1050px;margin:65px auto 25px}.detail{padding:15px 22px;border-right:1px solid #555}.detail:last-child{border:0}.detail-icon{font-size:35px;color:#e6e0dc}.detail h3{font-size:12px;letter-spacing:.2em;font-weight:500}.detail p{font:italic 20px var(--font-serif)}.host-line{margin-top:25px;color:#c9c9c9;font-size:12px;letter-spacing:.1em}.dress-section{padding:110px 6%;background:#f7f4f1;text-align:center}.dress-section h2{font:clamp(45px,6.5vw,84px)/1.15 var(--font-serif);font-weight:400;margin:25px 0}.dress-section h2 em{color:var(--red);font-weight:400}.dress-label{display:inline-block;background:var(--red);color:white;padding:14px 28px;font-size:12px;letter-spacing:.3em}.dress-copy{max-width:690px;margin:30px auto;color:#444;line-height:1.9}.signature{font:italic clamp(24px,3.4vw,42px) var(--font-serif);color:var(--red);margin-top:45px}.inspiration-section{text-align:center;padding:100px 5% 115px;background:#ebe7e3}.inspiration-section .section-lead{color:#666}.mood-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:55px}.mood-card{min-height:390px;display:flex;flex-direction:column;justify-content:flex-end;align-items:flex-start;text-align:left;color:white;padding:30px;position:relative;overflow:hidden;background-size:cover;background-position:center}.mood-card:before{content:"";position:absolute;inset:0;background:linear-gradient(transparent,rgba(0,0,0,.88))}.mood-card>*{position:relative}.mood-one{background-image:linear-gradient(140deg,#29050977,#1a010188),url('assets/hero-fashion.webp')}.mood-two{background-image:linear-gradient(140deg,#1118,#000a),url('assets/runway.webp')}.mood-three{background:linear-gradient(140deg,#525252,#0a0a0a)}.mood-card span{font-size:10px;letter-spacing:.2em}.mood-card h3{font:32px var(--font-serif);margin:12px 0 0}.mood-card p{font-size:13px;line-height:1.6}.rsvp-section{background:radial-gradient(ellipse at 50% 0%,#3a090b,#0c0c0c 65%);padding:110px 20px;color:white}.rsvp-inner{max-width:540px;margin:auto;text-align:center}.rsvp-inner h2{font:clamp(55px,8vw,88px)/1.08 var(--font-display);margin:25px 0}.rsvp-inner h2 em{color:#efc7c7;font-family:var(--font-serif);font-size:.75em}.rsvp-inner>p{color:#ccc;line-height:1.7}.rsvp-inner form{margin-top:45px;text-align:left}.rsvp-inner label{display:block;font-size:10px;letter-spacing:.17em;margin:22px 0 10px}.rsvp-inner label span{color:#999}.rsvp-inner input,.rsvp-inner select,.rsvp-inner textarea{width:100%;padding:15px 16px;border:1px solid #777;background:#1c1c1c;color:white;border-radius:0;outline-offset:2px}.rsvp-inner input:focus,.rsvp-inner select:focus,.rsvp-inner textarea:focus{border-color:#ed7a7a}.primary-btn{width:100%;margin-top:30px;padding:18px 20px;background:var(--red);color:white;border:1px solid #f5a1a1;letter-spacing:.22em;font-size:12px}.primary-btn:hover{background:#d30018}.primary-btn:disabled{opacity:.65;cursor:wait}.primary-btn span{float:right}.form-status{font-size:14px;min-height:25px;text-align:center}.honeypot{position:absolute;left:-9999px}footer{text-align:center;padding:45px 20px;background:#070707;color:#eee}.footer-brand{font:24px var(--font-serif)}.footer-brand em{color:#c33}footer p{font:italic 16px var(--font-serif);color:#aaa}footer small{font-size:10px;letter-spacing:.15em;color:#777}.preloader{position:fixed;inset:0;z-index:99;display:flex;align-items:center;justify-content:center;background:#050505;color:#fff;transition:opacity .6s,visibility .6s}.preloader span{font:clamp(17px,3vw,35px) var(--font-serif);letter-spacing:.04em}.preloader em{color:#e72d3a}.preloader.hidden{opacity:0;visibility:hidden}.reveal{opacity:0;transform:translateY(22px);transition:opacity .8s,transform .8s}.reveal.visible{opacity:1;transform:none}@media(max-width:800px){.topbar{height:68px;padding:0 5%}.menu-toggle{display:block}.topbar nav{display:none;position:absolute;top:68px;left:0;right:0;background:#090909;flex-direction:column;align-items:stretch;padding:20px 5%;gap:0}.topbar nav.open{display:flex}.topbar nav a{padding:15px 0}.topbar nav .nav-rsvp{text-align:center;margin-top:10px}.hero{grid-template-columns:1fr}.hero-photo{min-height:300px;background-position:center 45%}.hero-copy{min-height:490px;padding:55px 15px}.hero h1 strong{font-size:clamp(75px,16vw,125px)}.hero h1 em{font-size:clamp(45px,10vw,85px)}.hero h1 span{font-size:35px}.runway-section{height:430px}.details-grid{grid-template-columns:1fr;margin-top:45px}.detail{border-right:0;border-bottom:1px solid #555;padding:22px}.detail:last-child{border:0}.mood-grid{grid-template-columns:1fr}.mood-card{min-height:320px}.dress-section,.invite-section,.details-section,.inspiration-section,.rsvp-section{padding-top:75px;padding-bottom:75px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation:none!important;transition:none!important}.reveal{opacity:1;transform:none}}
