:root{--ink:#1b1a19;--cream:#f7f5f1;--stone:#eae5de;--muted:#77716a}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--cream);color:var(--ink);font-family:'DM Sans',sans-serif;font-weight:300}a{color:inherit;text-decoration:none}img{display:block;width:100%;object-fit:cover}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-family:'Playfair Display',serif;font-weight:400}i{font-weight:400}section{scroll-margin-top:68px}.site-header{height:76px;position:relative;z-index:20;display:flex;align-items:center;justify-content:space-between;padding:0 6%;background:var(--cream)}.brand{font:500 27px 'Playfair Display',serif;letter-spacing:.03em}.brand span{font-style:italic;font-weight:400}.site-header nav{display:flex;gap:36px}.site-header nav a,.menu-toggle{font-size:10px;letter-spacing:.19em;font-weight:600}.site-header nav a:hover{text-decoration:underline;text-underline-offset:6px}.menu-toggle{display:none;background:none;border:0;cursor:pointer}.hero{height:min(820px,calc(100svh - 76px));min-height:580px;position:relative;display:flex;align-items:center;justify-content:center;text-align:center;color:white;overflow:hidden}.hero-photo{position:absolute;inset:0;height:100%;object-position:center 40%;filter:grayscale(1)}.hero-shade{position:absolute;inset:0;background:linear-gradient(0deg,rgba(0,0,0,.48),rgba(0,0,0,.14) 60%,rgba(0,0,0,.25))}.hero-content{position:relative;padding:24px}.eyebrow{font-size:10px;letter-spacing:.3em;font-weight:600}.hero h1{font-size:clamp(62px,9vw,145px);line-height:1.06;margin:22px 0}.hero h1 em{font-family:'Italianno',cursive;font-size:1.1em;font-weight:400}.hero-date{font-size:11px;letter-spacing:.22em;margin-bottom:42px}.light-button{border:1px solid rgba(255,255,255,.8);padding:17px 24px;font-size:10px;letter-spacing:.19em;display:inline-flex;gap:38px}.light-button:hover{background:white;color:black}.hero-bottom{position:absolute;bottom:18px;font-size:9px;letter-spacing:.24em}.section-pad{padding:115px 7%;text-align:center}.dark{color:var(--muted)}h2{font-size:clamp(40px,5vw,72px);line-height:1.25}h2 i{font-weight:400}.intro p:not(.eyebrow){font-size:14px;line-height:1.9;max-width:470px;margin:24px auto}.date-rule{display:flex;align-items:center;justify-content:center;gap:26px;font:400 32px 'Playfair Display',serif;margin-top:50px}.date-rule b{font-weight:300;color:#aaa}.story{display:grid;grid-template-columns:1fr 1fr;background:var(--stone)}.story-photo{height:680px}.story-photo img{height:100%;filter:grayscale(1);object-position:center 40%}.story-text{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;padding:12% 13%}.story-text h2{text-align:left}.story-text p:not(.eyebrow){font-size:14px;line-height:2;max-width:390px}.signature{font:48px 'Italianno',cursive!important;margin-top:25px}.details-grid{display:flex;justify-content:center;align-items:stretch;gap:80px;margin:65px auto 30px}.details-grid>div:not(.divider-vertical){width:280px}.divider-vertical{width:1px;background:#ccc}.small-heading{font-size:10px;letter-spacing:.26em;font-weight:600}.details h3{font-size:28px;line-height:1.4;margin:24px 0 12px}.details-grid p:not(.small-heading),.dress-note p:not(.small-heading){font-size:13px;color:#68635f}.details-grid a{display:inline-block;font-size:10px;letter-spacing:.15em;border-bottom:1px solid;margin-top:15px;padding-bottom:5px}.dress-note{margin-top:55px}.photo-banner{height:620px;position:relative;display:flex;justify-content:center;align-items:center;text-align:center;color:white}.photo-banner img{position:absolute;height:100%;inset:0;filter:grayscale(1) brightness(.52)}.photo-banner>div{position:relative}.photo-banner h2{font-size:clamp(46px,7vw,96px)}.gallery-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;max-width:1200px;margin:50px auto 0}.gallery-grid img{height:420px}.gallery-grid img:nth-child(even){filter:grayscale(1)}.rsvp{background:#22201f;color:white}.rsvp h2{margin:22px 0}.rsvp>p:not(.eyebrow){font-size:14px;color:#d0c9c2}.rsvp-monogram{display:block;font:36px 'Playfair Display',serif;margin-top:65px}footer{text-align:center;padding:65px 20px 45px}.footer-names{font:38px 'Playfair Display',serif}.footer-names i{font-family:'Italianno',cursive}footer p{font-size:10px;letter-spacing:.18em;margin:20px 0}.copyright{color:#9c958e;margin-top:55px}@media(max-width:760px){.site-header{height:66px}.menu-toggle{display:block}.menu-toggle span{margin-left:12px}.site-header nav{display:none;position:absolute;top:66px;left:0;right:0;background:var(--cream);padding:28px;flex-direction:column;gap:25px;text-align:center;box-shadow:0 8px 20px #0001}.site-header nav.open{display:flex}.hero{height:calc(90svh - 66px);min-height:540px}.hero h1{font-size:clamp(55px,12vw,90px)}.hero-date{font-size:9px;line-height:2}.section-pad{padding:85px 7%}.story{grid-template-columns:1fr}.story-photo{height:510px}.story-text{padding:75px 10%;align-items:center;text-align:center}.story-text h2{text-align:center}.details-grid{flex-direction:column;gap:36px;align-items:center}.divider-vertical{height:1px;width:65px}.gallery-grid{grid-template-columns:repeat(2,1fr);gap:8px}.gallery-grid img{height:260px}.photo-banner{height:500px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

/* Updated wedding navigation and guest information */
.site-header nav{gap:clamp(12px,1.7vw,27px);align-items:center}.site-header nav a{font-size:9px;letter-spacing:.12em;white-space:nowrap}.site-header{padding:0 4%}.info-section>p:not(.eyebrow):not(.coming-soon):not(.attire-lead){max-width:540px;margin:18px auto 25px;font-size:14px;line-height:1.9;color:#68635f}.info-section h2{margin:18px 0 25px}.info-section{background:#f7f5f1}.info-section.travel{background:#eae5de}.info-section.attire{background:#fff}.fine-rule{display:block;width:70px;height:1px;background:#b9b0a8;margin:40px auto 28px}.coming-soon{font-size:10px;letter-spacing:.23em;color:#77716a}.info-grid{display:grid;grid-template-columns:1fr 1fr;gap:60px;max-width:840px;margin:55px auto 0}.info-grid>div{padding:10px 25px}.info-grid h3{font-size:28px;margin:18px 0}.info-grid p:not(.small-heading){font-size:13px;line-height:1.8;color:#68635f}.text-link{display:inline-block;border-bottom:1px solid;margin-top:12px;padding-bottom:5px;font-size:10px;letter-spacing:.15em}.attire-lead{font:400 23px 'Playfair Display',serif!important;color:#1b1a19!important;margin:20px auto!important}.attire-swatch{display:flex;justify-content:center;align-items:center;gap:22px;margin:42px auto 0;font-size:10px;letter-spacing:.22em}.attire-swatch span:first-child,.attire-swatch span:last-child{width:40px;height:1px;background:#777}.gallery-grid img{filter:grayscale(1)}@media(max-width:1080px){.site-header nav{gap:12px}.site-header nav a{font-size:8px;letter-spacing:.08em}}@media(max-width:900px){.menu-toggle{display:block}.site-header nav{display:none;position:absolute;top:76px;left:0;right:0;background:var(--cream);padding:28px;flex-direction:column;gap:25px;text-align:center;box-shadow:0 8px 20px #0001}.site-header nav.open{display:flex}.site-header nav a{font-size:11px;letter-spacing:.14em}}@media(max-width:760px){.site-header nav{top:66px}.info-grid{grid-template-columns:1fr;gap:30px;margin-top:35px}}

/* Cinematic six-photo opening, with fixed calligraphy overlay */
.hero-slides{position:absolute;inset:0;overflow:hidden;background:#242424}
.hero-slide{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 43%;opacity:0;transform:scale(1.02);transition:opacity 1.8s ease-in-out;filter:grayscale(1)}
.hero-slide.active{opacity:1;animation:heroKenBurns 7s ease-out both}
@keyframes heroKenBurns{from{transform:scale(1.02)}to{transform:scale(1.095)}}
.hero-shade{z-index:1;background:linear-gradient(180deg,rgba(0,0,0,.23),rgba(0,0,0,.31) 48%,rgba(0,0,0,.53))}
.hero-content{z-index:2;width:100%;text-shadow:0 2px 18px rgba(0,0,0,.32)}
.hero-bottom{z-index:2}
.hero h1.calligraphy{font-family:'Italianno',cursive;font-weight:400;font-size:clamp(100px,14vw,225px);line-height:.82;letter-spacing:-.012em;margin:35px auto 44px;max-width:1250px}
.hero h1.calligraphy span{font-size:.68em;display:inline-block;vertical-align:middle;margin:0 .015em}
.hero .eyebrow{letter-spacing:.52em;font-size:11px}
.hero-date{letter-spacing:.38em;font-size:11px}
.gallery-grid.staggered{align-items:start;grid-auto-flow:row;gap:18px}
.gallery-grid.staggered img{height:420px;filter:none}
.gallery-grid.staggered img:nth-child(3n + 2){margin-top:64px;height:480px;filter:grayscale(1)}
.gallery-grid.staggered img:nth-child(3n + 3){margin-top:24px;height:380px}
.gallery-grid.staggered img:nth-child(4n){filter:grayscale(1)}
@media(max-width:760px){.hero h1.calligraphy{font-size:clamp(75px,16vw,125px);line-height:.88;margin:26px auto 32px}.hero .eyebrow{letter-spacing:.3em}.hero-date{letter-spacing:.2em}.gallery-grid.staggered{gap:10px}.gallery-grid.staggered img{height:270px}.gallery-grid.staggered img:nth-child(3n + 2){margin-top:0;height:270px}.gallery-grid.staggered img:nth-child(odd){margin-top:35px;height:310px}.gallery-grid.staggered img:nth-child(3n + 3){height:260px}}
@media(prefers-reduced-motion:reduce){.hero-slide.active{animation:none}.hero-slide{transition:none}}

/* V4: ornate invitation-style script inspired by Copperlove. */
.hero h1.calligraphy{font-family:'Pinyon Script','Italianno',cursive;font-weight:400;font-size:clamp(92px,12.5vw,194px);line-height:1.12;letter-spacing:-.025em;margin:12px auto 26px;padding:.12em .08em .1em;max-width:1300px}
.hero h1.calligraphy span{font-family:'Pinyon Script',cursive;font-size:.68em;margin:0 .035em;vertical-align:middle}
.signature{font-family:'Pinyon Script','Italianno',cursive!important;font-size:60px!important}
.footer-names{font-family:'Pinyon Script','Italianno',cursive;font-size:64px;line-height:1.2}
.footer-names i{font-family:inherit}
@media(max-width:760px){.hero h1.calligraphy{font-size:clamp(67px,12.5vw,110px);line-height:1.1;margin:12px auto 22px;padding:.1em 0}.hero h1.calligraphy span{font-size:.65em}.footer-names{font-size:52px}}
@media(max-width:400px){.hero h1.calligraphy{font-size:clamp(54px,12vw,70px)}}
