:root{--olive:#293d19;--cream:#faf6ee;--ink:#293820;--muted:#65705c;--gold:#bcb98e}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:90px}body{margin:0;background:var(--cream);color:var(--ink);font:16px/1.75 Arial,sans-serif}a{color:inherit}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;cursor:pointer}a:focus-visible,button:focus-visible{outline:3px solid #ba9259;outline-offset:6px}h1,h2,h3,p,figure{margin:0}h1,h2,h3{font-family:Georgia,'Times New Roman',serif;font-weight:400;line-height:1.12}h2{font-size:clamp(2.5rem,5vw,4.5rem)}h2 em{font-weight:400}h3{font-size:1.7rem}header{height:88px;display:flex;align-items:center;justify-content:space-between;padding:0 6%;background:var(--cream);position:relative;z-index:3;border-bottom:1px solid #293d1920}.monogram{text-decoration:none;font:28px Georgia;letter-spacing:3px}.monogram i{font-size:22px;color:#85825c}nav{display:flex;align-items:center;gap:32px}nav a{text-decoration:none;font-size:14px}nav a:hover{text-decoration:underline;text-underline-offset:7px}.nav-rsvp{border:1px solid #293d1950;padding:9px 18px;border-radius:2px}.hero{height:min(820px,calc(100svh - 88px));min-height:630px;position:relative;overflow:hidden;color:var(--cream);display:grid;place-items:center;text-align:center;background:var(--olive)}.hero-photo,.hero-shade{position:absolute;inset:0}.hero-photo{background-size:cover;background-position:center 47%;opacity:0;transition:opacity 2s;transform:scale(1.02)}.hero-photo.active{opacity:1;animation:zoom 9s linear both}.hero-shade{background:linear-gradient(0deg,#12230f8c,#10251045 65%,#10251018)}.hero-content{position:relative;padding:28px;max-width:1100px}.eyebrow{font-size:12px;letter-spacing:3px;font-weight:600;margin-bottom:25px}.hero h1{font-size:clamp(3.4rem,7.7vw,7rem);text-shadow:0 2px 35px #14211645}.hero h1 span{font-style:italic;font-size:.72em;padding:0 .08em}.hero-rule{width:70px;height:1px;background:#ffffff90;margin:30px auto}.date{font:italic 28px Georgia}.place{font-size:15px;margin:12px 0 34px;letter-spacing:2px}.button{display:inline-block;text-decoration:none;padding:15px 27px;border:1px solid currentColor;transition:background .25s,transform .25s;font-size:14px;letter-spacing:.4px;border-radius:2px}.button.light{background:var(--cream);color:var(--olive);border-color:var(--cream)}.button:hover{transform:translateY(-3px);background:#e0e4d5}.scroll-cue{position:absolute;bottom:22px;left:50%;transform:translateX(-50%);text-decoration:none;font-size:10px;letter-spacing:2.4px;white-space:nowrap}.scroll-cue span{display:block;font-size:24px;line-height:1.4}.pause{position:absolute;right:25px;bottom:25px;background:#14211640;color:white;border:1px solid #ffffff65;border-radius:50%;width:40px;height:40px}.section{padding:100px max(6%,calc((100vw - 1200px)/2))}.welcome{display:grid;grid-template-columns:1fr 1fr;gap:10%;align-items:center}.welcome-copy>p:not(.eyebrow){max-width:390px;margin-top:28px}.signature{font:italic 25px Georgia}.welcome-image{padding:18px 18px 0;border:1px solid #293d1930;transform:rotate(2deg)}.welcome-image img{display:block;width:100%;aspect-ratio:1.22;object-fit:cover}.welcome-image figcaption{font:italic 17px Georgia;text-align:center;padding:19px}.section-heading{text-align:center;margin-bottom:60px}.section-heading>p:last-child:not(.eyebrow){margin-top:24px;color:var(--muted)}.details{background:#eef0e7}.event-grid{display:grid;grid-template-columns:repeat(3,1fr)}.event{padding:10px 35px;text-align:center;border-right:1px solid #293d1925}.event:last-child{border:0}.number{display:block;font:italic 20px Georgia;color:#79826b;margin-bottom:25px}.time{font:42px Georgia;margin-bottom:22px}.time small{font-size:16px}.event h3{margin-bottom:24px}.event .address{font-size:14px;color:var(--muted);margin:15px 0 25px}.text-link{text-decoration:none;font-size:14px;border-bottom:1px solid #8b937e;padding-bottom:7px}.story{display:grid;grid-template-columns:1fr 1fr;background:var(--olive);color:var(--cream)}.story-image img{width:100%;height:100%;min-height:650px;object-fit:cover}.story-copy{padding:80px 13%}.story-copy h2{margin-bottom:30px}.story-copy>p:not(.eyebrow){margin-bottom:20px;color:#eeeee3}.story-sign{display:block;font:italic 26px Georgia;margin-top:30px}.tips-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:60px}.tip-label{display:block;font-size:11px;letter-spacing:2px;margin-bottom:18px;color:var(--muted)}.tips-grid h3{margin-bottom:20px}.tips-grid p{color:var(--muted);font-size:15px}.gift{padding:90px 24px;background:linear-gradient(#192b13ae,#192b139c),url('assets/photo-210.jpg') center 40%/cover;color:var(--cream);text-align:center}.gift-inner{max-width:660px;margin:auto}.gift p:not(.eyebrow){max-width:520px;margin:28px auto}.gallery{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.gallery button{padding:0;border:0;background:transparent;overflow:hidden;aspect-ratio:4/5}.gallery img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .5s}.gallery button:hover img{transform:scale(1.06)}.gallery button:nth-child(even){margin-top:28px}.rsvp{background:var(--olive);color:var(--cream);text-align:center}.rsvp>div{max-width:710px;margin:auto}.rsvp h2{font-size:clamp(3rem,6vw,5.5rem)}.rsvp p:not(.eyebrow){max-width:550px;margin:28px auto}.rsvp .deadline{font-size:15px;color:#dbdfcf}.deadline strong{color:var(--cream)}footer{display:flex;align-items:center;justify-content:space-between;padding:40px 6%;gap:20px}footer p{font-size:12px;letter-spacing:1.4px}footer span{font:italic 18px Georgia}dialog{background:#10160f;color:white;border:0;padding:50px 60px;max-width:96vw;max-height:96svh;width:1100px}dialog::backdrop{background:#0b120ce8}dialog figure{text-align:center}dialog img{max-width:100%;height:75svh;object-fit:contain}dialog figcaption{font-size:14px}dialog button{position:absolute;color:white;background:transparent;border:0;font-size:40px;width:48px;height:48px;line-height:1}.close{right:10px;top:5px}.prev{left:5px;top:45%}.next{right:5px;top:45%}.motion .reveal{opacity:0;transform:translateY(22px);transition:opacity .7s,transform .7s}.motion .reveal.visible{opacity:1;transform:translateY(0)}@keyframes zoom{from{transform:scale(1.02)}to{transform:scale(1.09)}}@media(max-width:800px){header{height:76px;padding:0 5%}nav{gap:10px}nav>a:not(.nav-rsvp){display:none}.nav-rsvp{font-size:12px;padding:8px 12px}.hero{height:80svh;min-height:570px}.hero h1{font-size:clamp(3.3rem,11vw,5rem)}.hero h1 span{display:block;margin:5px 0}.hero-content{padding:24px}.hero .eyebrow{margin-bottom:20px}.hero-rule{margin:22px auto}.date{font-size:23px}.hero-photo{background-position:40% center}.section{padding:70px 6%}.welcome{grid-template-columns:1fr;gap:45px}.welcome-copy{text-align:center}.welcome-copy>p:not(.eyebrow){margin-left:auto;margin-right:auto}.welcome-image{max-width:480px;margin:auto}.event-grid{grid-template-columns:1fr}.event{border-right:0;border-bottom:1px solid #293d1925;padding:35px 10px}.event:first-child{padding-top:0}.section-heading{margin-bottom:40px}.story{grid-template-columns:1fr}.story-image img{height:440px;min-height:0;object-position:center 42%;display:block}.story-copy{padding:60px 7%}.tips-grid{grid-template-columns:1fr;gap:35px}.tips-grid article{border-top:1px solid #293d1920;padding-top:25px}.gallery{grid-template-columns:repeat(2,1fr);gap:12px}.gallery button:nth-child(even){margin-top:18px}.eyebrow{font-size:11px;letter-spacing:2px}.gift{padding:75px 7%}footer{flex-direction:column;text-align:center;padding:35px 5%;gap:12px}dialog{padding:50px 40px}dialog img{height:65svh}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}.motion .reveal{opacity:1;transform:none}}
[hidden]{display:none!important}#rsvp-form{margin:40px auto 0;text-align:left;max-width:710px}.rsvp #rsvp-form .form-note{font-size:14px;margin:0 0 25px;max-width:none;color:#e1e6d8}.guest-card{border:1px solid #ffffff45;padding:26px;margin:0 0 28px;position:relative;min-width:0}.guest-card>legend{font:24px Georgia;padding:0 12px}.name-row{display:grid;grid-template-columns:1fr 1fr;gap:18px}.guest-card label,.song-label{font-size:16px}.name-row label{display:block}.rsvp input:not([type=radio]):not([type=checkbox]),.rsvp textarea{display:block;width:100%;border:1px solid #c4cdb5;background:#faf6ee;color:#293820;padding:12px;margin-top:8px;font:16px/1.5 Arial;border-radius:3px}.choices{padding:0;border:0;margin:28px 0 0;min-width:0}.choices legend{font-weight:600;font-size:16px;line-height:1.6;margin-bottom:12px}.choices label{display:flex;align-items:baseline;gap:10px;padding:7px 0}.choices input{accent-color:#9fb17c;width:18px;height:18px;flex-shrink:0}.choice-help{font-size:14px;color:#e1e6d8}.choices .other-label{display:block;margin-top:10px}.remove-guest{display:block;margin:0 0 18px auto;border:0;background:none;color:#eee;text-decoration:underline;font-size:14px}.add-guest{background:transparent;color:var(--cream);border:1px solid #c4cdb5;padding:12px 20px;font-size:16px}.song-label{display:block;margin-top:30px}#send-rsvp{margin-top:30px}.rsvp #form-status{margin:18px 0 0;font-size:16px;max-width:none;color:#fff}button:disabled{opacity:.65;cursor:wait}#form-success{padding-top:35px}@media(max-width:600px){.name-row{grid-template-columns:1fr}.guest-card{padding:18px}.rsvp.section{padding-left:5%;padding-right:5%}}
[hidden]{display:none!important}.music-gate{position:fixed;inset:0;z-index:20;display:grid;place-items:center;padding:24px;background:linear-gradient(145deg,#162411f2,#293d19ee),url('assets/photo-240.jpg') center/cover;color:var(--cream);text-align:center}.music-gate-card{position:relative;width:min(520px,100%);padding:44px 34px 36px;border:1px solid #ffffff65;background:#162411d9;backdrop-filter:blur(7px);box-shadow:0 24px 70px #10170db0}.music-seal{width:80px;height:80px;border:1px solid #d6d5b890;border-radius:50%;display:grid;place-items:center;margin:0 auto 24px;font:26px Georgia;letter-spacing:2px}.music-seal i{font-size:18px;color:#c5c397}.music-gate .eyebrow{margin-bottom:20px}.music-gate h2{font-size:clamp(2.6rem,7vw,4.3rem);margin-bottom:18px}.music-gate h2 em{font-style:italic}.music-gate-copy{max-width:390px;margin:0 auto 28px;color:#eef0e7}.music-skip{display:block;margin:19px auto 0;border:0;background:none;color:#e1e6d8;text-decoration:underline;text-underline-offset:5px;font-size:13px}.music-gate-status{min-height:1.5em;margin:14px 0 0;font-size:13px;color:#f3d1ae}.music-player{position:fixed;z-index:6;right:22px;bottom:22px;display:flex;align-items:center;gap:10px;max-width:calc(100vw - 44px);background:#162411e8;color:var(--cream);border:1px solid #ffffff55;padding:8px 13px 8px 8px;border-radius:999px;box-shadow:0 10px 25px #10170d55;backdrop-filter:blur(6px);font-size:12px}.music-toggle{border:1px solid #ffffff75;background:#faf6ee;color:var(--olive);border-radius:50%;width:32px;height:32px;line-height:1}.music-label{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:210px}.music-player[hidden]{display:none}@media(max-width:600px){.music-gate-card{padding:34px 22px 28px}.music-player{right:12px;bottom:12px}.music-label{max-width:170px}}
