
:root{--paper:#f6ecdc;--ink:#33251c;--rust:#9f3f24;--saffron:#d79b28;--olive:#77794c}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:120px}body{margin:0;background:var(--paper);color:var(--ink);font-family:'DM Sans',sans-serif;font-size:15px;line-height:1.75;background-image:radial-gradient(#b77e4b14 .8px,transparent .8px);background-size:9px 9px}a{color:inherit}button,a{ -webkit-tap-highlight-color:transparent}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-family:'Cormorant Garamond',serif;font-weight:500}h2{font-size:clamp(42px,6vw,76px);line-height:1.03}h3{font-size:30px}.eyebrow{text-transform:uppercase;letter-spacing:.24em;font-size:10px;font-weight:600;color:var(--rust)}.script{font-family:'Great Vibes',cursive;color:var(--rust);font-size:clamp(30px,5vw,50px);line-height:1.2}.topline{height:5px;background:repeating-linear-gradient(90deg,var(--rust) 0 32px,var(--saffron) 32px 55px,var(--olive) 55px 70px)}.nav{position:sticky;top:0;z-index:100;background:color-mix(in srgb,var(--paper) 96%,white);border-bottom:1px solid #ad886c5c;box-shadow:0 5px 18px #32251c0b}.nav-inner{max-width:1400px;margin:auto;display:flex;align-items:center;gap:24px;padding:0 24px}.brand{font-family:'Cormorant Garamond',serif;font-size:21px;white-space:nowrap;letter-spacing:.02em;text-decoration:none}.links{display:flex;align-items:center;gap:23px;overflow-x:auto;white-space:nowrap;scrollbar-width:none;flex:1}.links::-webkit-scrollbar{display:none}.links a{padding:20px 0 17px;text-decoration:none;text-transform:uppercase;font-size:10px;letter-spacing:.12em;border-bottom:2px solid transparent}.links a:hover,.links a.active{color:var(--rust);border-bottom-color:var(--rust)}.nav-rsvp{background:var(--rust);color:#fff!important;padding:8px 14px!important;border:0!important}.hero{max-width:1360px;margin:auto;display:grid;grid-template-columns:1fr 1fr;min-height:650px;align-items:stretch}.hero-copy{display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;padding:80px 7%;position:relative}.hero-copy:before{content:'✦';color:var(--saffron);font-size:26px;margin-bottom:32px}.hero h1{font-size:clamp(62px,7.5vw,118px);line-height:.86;letter-spacing:-.025em;margin:20px 0 26px}.hero h1 span{display:block}.hero .place{letter-spacing:.23em;text-transform:uppercase;font-size:12px;margin:8px 0 32px}.hero-visual{background:#e7c6a0;overflow:hidden;position:relative}.hero-visual img{display:block;width:100%;height:100%;object-fit:cover;object-position:center}.hero-visual .photo-caption{position:absolute;bottom:12px;right:15px;background:#f6ecdcd9;padding:4px 12px;font-size:9px;letter-spacing:.14em;text-transform:uppercase}.button{display:inline-flex;justify-content:center;align-items:center;gap:8px;text-decoration:none;text-transform:uppercase;letter-spacing:.17em;font-size:11px;font-weight:600;padding:14px 24px;border:1px solid var(--rust);background:var(--rust);color:white;cursor:pointer}.button.outline{background:transparent;color:var(--rust)}.button:focus-visible,.links a:focus-visible{outline:3px solid var(--saffron);outline-offset:3px}.button.disabled{opacity:.55;cursor:default}.motif{color:var(--saffron);font-size:20px;letter-spacing:12px}.section{max-width:1180px;margin:0 auto;padding:110px 32px;scroll-margin-top:80px}.section-head{text-align:center;max-width:720px;margin:0 auto 54px}.section-head h2{margin:13px 0 22px}.section-head p{max-width:630px;margin:auto}.split{display:grid;grid-template-columns:1fr 1fr;gap:8%;align-items:center}.split .image-wrap{background:#e3d2b7;min-height:350px;overflow:hidden}.split img{width:100%;height:100%;max-height:600px;object-fit:cover;display:block}.split p{max-width:540px}.ornament{display:block;text-align:center;margin:0 auto;color:var(--rust);letter-spacing:12px}.wash{background:#ead9c0a1;border-top:1px solid #cba88255;border-bottom:1px solid #cba88255}.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:20px}.card{padding:35px;background:#fff9f0a6;border:1px solid #cba88275}.card h3{margin:8px 0 14px}.card .detail{font-size:12px;color:var(--rust);text-transform:uppercase;letter-spacing:.09em}.card a{font-size:12px;text-decoration:underline;text-underline-offset:4px}.gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.gallery img{width:100%;aspect-ratio:3/4;object-fit:cover}.empty-gallery{grid-column:1/-1;text-align:center;border:1px dashed #bfa38a;padding:48px 20px;color:#786c5d}.rsvp-box{text-align:center;border:1px solid #bc8c63;padding:60px 30px;max-width:750px;margin:auto;background:#fff9f0b0}.faq{max-width:850px;margin:auto}details{border-bottom:1px solid #bfa38a;padding:20px 0}summary{cursor:pointer;font-family:'Cormorant Garamond',serif;font-size:25px}details p{padding:8px 0 0;max-width:700px}footer{text-align:center;padding:60px 24px;border-top:1px solid #cba88288;font-size:12px}footer .pmw-credit{margin-top:23px;padding-top:20px;border-top:1px solid #cba88266;display:flex;align-items:center;justify-content:center;gap:9px;flex-wrap:wrap}footer .pmw-credit a{font-family:'Cormorant Garamond',serif;font-size:19px;letter-spacing:.035em;text-decoration:none;color:var(--rust)}footer .pmw-credit a:hover{text-decoration:underline;text-underline-offset:4px}footer .pmw-credit span{font-size:11px;letter-spacing:.04em;color:#786c5d}footer strong{font-family:'Cormorant Garamond',serif;font-size:24px;font-weight:500}.hidden{display:none!important}@media(max-width:800px){.nav-inner{display:block;padding:7px 16px 0}.brand{display:block;text-align:center;font-size:18px}.links{gap:19px}.links a{padding:9px 0 12px;font-size:9px}.hero{grid-template-columns:1fr}.hero-copy{padding:64px 25px 55px;min-height:460px}.hero h1{font-size:clamp(60px,14vw,90px)}.hero-visual{height:530px}.hero-visual img{object-fit:contain;background:#e9d9bf}.section{padding:78px 22px}.split{grid-template-columns:1fr;gap:30px}.split .image-wrap{min-height:260px}.gallery{grid-template-columns:repeat(2,1fr)}.rsvp-box{padding:42px 20px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

/* Custom illustrated invitation hero — all text and links remain live HTML. */
.hero.invitation-hero{max-width:none;min-height:min(860px,92vh);display:flex;align-items:center;justify-content:center;position:relative;isolation:isolate;background-color:var(--paper);background-size:cover;background-position:center center;overflow:hidden;border-bottom:14px solid transparent;border-image:repeating-linear-gradient(90deg,#30241b 0 18px,#b86a32 18px 31px,#e0ac58 31px 39px,#30241b 39px 45px) 14}
.hero.invitation-hero::before{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#f6ecdc00 0%,#f6ecdc08 22%,#f6ecdc65 39%,#f6ecdc65 61%,#f6ecdc08 78%,#f6ecdc00 100%);z-index:-1}
.invitation-hero .hero-copy{width:min(610px,70vw);min-height:610px;padding:55px 45px;background:radial-gradient(ellipse at center,#f9efde 0%,#f8eddceF 60%,#f8eddcdd 77%,#f8eddc00 100%);text-shadow:0 1px 1px #f8eddd;}
.invitation-hero .hero-copy:before{display:none}
.invitation-hero .hero-kicker{font-size:11px;letter-spacing:.3em;text-transform:uppercase;margin:0 0 25px}
.invitation-hero h1{font-size:clamp(52px,7vw,100px);line-height:.86;margin:25px 0;letter-spacing:.01em}
.invitation-hero h1 .hero-and{font-family:'Great Vibes',cursive;color:var(--rust);font-size:.7em;font-weight:400;margin:17px 0 22px;line-height:.7}
.invitation-hero .hero-date{font-family:'Cormorant Garamond',serif;font-size:clamp(20px,2.5vw,30px);letter-spacing:.22em;text-transform:uppercase}
.invitation-hero .hero-place{font-size:12px;letter-spacing:.26em;text-transform:uppercase;margin:10px 0 24px}
.invitation-hero .hero-note{max-width:350px;font-size:13px;margin:0 auto 25px}
.invitation-hero .button{box-shadow:0 3px 10px #552a1840}
.section-head::after{content:'✿';display:block;color:var(--saffron);font-size:22px;margin-top:18px}
@media(max-width:800px){.hero.invitation-hero{min-height:680px;background-position:center center}.invitation-hero .hero-copy{width:min(94vw,500px);min-height:500px;padding:60px 25px;background:radial-gradient(ellipse at center,#f9efdefa 0%,#f8eddef6 62%,#f8eddef0 78%,#f8eddec0 100%)}.invitation-hero h1{font-size:clamp(46px,11vw,72px)}.invitation-hero .hero-kicker{font-size:9px}.invitation-hero .hero-date{font-size:21px}.invitation-hero .hero-note{font-size:12px}}
