@font-face{font-family:WeddingScript;src:url('assets/script.otf') format('opentype');font-display:swap}
:root{--paper:#eee1cb;--ink:#543d32;--wine:#682b33;--muted:#806a55;--script:WeddingScript,'Apple Chancery',cursive}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:24px}body{margin:0;background:var(--paper) url('assets/paper-flat.svg') repeat;color:var(--ink);font:17px/1.7 Georgia,'Times New Roman',serif}h1,h2,h3,p{margin:0}a{color:inherit;text-underline-offset:5px}a:focus-visible,summary:focus-visible{outline:3px solid var(--wine);outline-offset:5px}img{display:block;max-width:100%}.skip{position:fixed;top:-100px;left:12px;z-index:100;background:#fff;padding:10px}.skip:focus{top:10px}.hero{position:relative;width:100%;max-width:1600px;aspect-ratio:3/2;margin:auto;isolation:isolate}.hero-art{position:absolute;inset:0;width:100%;height:100%;z-index:-1}.hero nav{position:absolute;top:4.4%;left:30%;right:30%;display:flex;align-items:center;justify-content:center;gap:32px;border-bottom:1px solid #8b5b3b55;padding-bottom:15px}.hero nav a{font-size:11px;text-transform:uppercase;letter-spacing:.16em;text-decoration:none;white-space:nowrap}.hero nav a:hover{color:var(--wine);text-decoration:underline}.wax-seal{position:absolute;right:14%;top:3%;display:grid;place-items:center;width:clamp(74px,8vw,118px);aspect-ratio:1;background:url('assets/wax-seal.svg') center/contain no-repeat;color:#dabb91;font:clamp(25px,2.7vw,42px)/1 var(--script);text-shadow:0 1px 1px #250a16;transform:rotate(-9deg)}.hero-copy{position:absolute;top:16%;left:23%;right:23%;text-align:center}.eyebrow{font-size:12px;letter-spacing:.35em;text-transform:uppercase}.rule{display:block;width:48px;height:1px;background:#8f6651;margin:16px auto 10px}h1{font:clamp(48px,6vw,94px)/1.13 var(--script);font-weight:400;color:#63262d;white-space:nowrap;margin:8px -9% 12px}.date{font-size:clamp(16px,1.65vw,25px);letter-spacing:.34em;text-transform:uppercase}.motto{font-style:italic;font-size:clamp(13px,1.15vw,18px);line-height:1.6;letter-spacing:.07em;margin-top:14px}.button{display:inline-flex;align-items:center;justify-content:center;gap:20px;background:linear-gradient(110deg,#783a42,#642730);color:#f2e4cf;border:1px solid #78333e;padding:11px 29px;margin-top:20px;min-height:44px;font-size:11px;letter-spacing:.22em;text-transform:uppercase;text-decoration:none;box-shadow:0 2px 4px #5d2b2518}.button:hover{background:#56202a}.landmark-label{position:absolute;top:60%;width:22%;font-size:clamp(9px,.9vw,14px);letter-spacing:.25em;text-transform:uppercase;text-align:center;line-height:1.8}.landmark-label span{font-size:.83em}.church{left:1%}.mountain{right:1%}.side-note{position:absolute;top:74%;width:22%;text-align:center;font:clamp(20px,2.1vw,32px)/1.2 var(--script);color:#744737}.side-note.left{left:1%;transform:rotate(-5deg)}.side-note.right{right:1%;transform:rotate(4deg)}.venue-label{position:absolute;bottom:3.5%;left:28%;right:28%;text-align:center;text-transform:uppercase;letter-spacing:.25em;line-height:1.6}.venue-label p{font-size:clamp(13px,1.3vw,20px)}.venue-label span{font-size:clamp(9px,.8vw,12px)}
.paper{position:relative;isolation:isolate;background:#e9dac0 url('assets/paper-flat.svg') repeat}.paper::before,.paper::after{content:'';position:absolute;left:0;right:0;height:30px;background:url('assets/paper-edge-top.svg') repeat-x;background-size:960px 30px;top:-16px;z-index:-1;pointer-events:none;filter:drop-shadow(0 -1px .5px #86634040)}.paper::after{top:auto;bottom:-16px;background-image:url('assets/paper-edge-bottom.svg');transform:rotate(180deg)}.announcement{padding:28px 24px;text-align:center}.announcement .small{margin-top:5px}.accommodation{padding:65px max(28px,calc((100% - 1200px)/2)) 55px;text-align:center;z-index:1}.accommodation h2{font:62px/1.2 var(--script);color:var(--wine);margin:12px 0 20px}.intro{max-width:760px;margin:0 auto 16px}.small{font-size:14px}.muted{color:var(--muted)}.stay-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin-top:32px;text-align:left}.stay-card{min-width:0;padding:28px;background:#f7eddb9c;border:1px solid #a8875c55;box-shadow:0 3px 8px #684b3020;display:flex;flex-direction:column;align-items:flex-start}.stay-card h3{font-size:24px;line-height:1.4;font-weight:400;color:var(--wine);margin-bottom:12px}.stay-card p{font-size:15px;margin:5px 0}.stay-card a{font-size:12px;letter-spacing:.08em;text-transform:uppercase;margin-top:auto;padding-top:20px;overflow-wrap:anywhere}details{margin-top:26px}summary{cursor:pointer;padding:12px;font-size:14px;letter-spacing:.06em}.closing{font:32px/1.35 var(--script);color:var(--wine);margin-top:40px}footer{padding:38px 24px;text-align:center;font-size:12px;letter-spacing:.15em;text-transform:uppercase}footer span{padding:0 12px}footer .full-names{font-size:11px;letter-spacing:.08em;margin-top:12px}footer a{display:inline-block;font-size:12px;letter-spacing:0;text-transform:none;margin-top:18px}
@media(min-width:1600px){body{background-color:#e9dac0}.hero{box-shadow:0 0 60px #86634018}}
@media(min-width:761px) and (max-width:1100px){.hero-copy{top:16%;left:21%;right:21%}.hero .eyebrow{font-size:9px}.rule{margin:10px auto 8px}.motto{margin-top:9px}.button{padding:8px 20px;margin-top:12px;min-height:38px;font-size:10px}.hero nav{left:28%;right:28%;gap:20px}.hero nav a{font-size:9px}.stay-grid{gap:18px}.stay-card{padding:22px}.stay-card h3{font-size:21px}}
@media(max-width:760px){.hero{aspect-ratio:auto;display:flex;flex-direction:column;padding-top:75px;background:#efe2cc url('assets/paper-flat.svg') repeat}.hero nav{top:20px;left:22px;right:115px;justify-content:flex-start;gap:20px;padding-bottom:12px}.hero nav a{font-size:9px;letter-spacing:.09em}.wax-seal{top:8px;right:17px;width:78px;font-size:28px}.hero-copy{position:relative;top:auto;left:auto;right:auto;order:0;padding:28px 20px 24px}.hero-copy h1{white-space:normal;font-size:clamp(49px,9vw,70px);margin:10px 0 16px}.hero .eyebrow{font-size:10px;letter-spacing:.28em}.date{font-size:19px}.motto{font-size:16px;margin-top:14px}.button{font-size:11px;padding:12px 24px;margin-top:18px}.hero-art{position:relative;inset:auto;height:auto;width:100%;order:1;z-index:0}.hero .landmark-label,.side-note{display:none}.venue-label{position:relative;order:2;bottom:auto;left:auto;right:auto;padding:15px 20px 26px;background:#eee1cb}.venue-label p{font-size:19px}.venue-label span{font-size:11px}.announcement{padding:26px}.accommodation{padding:45px 24px}.accommodation h2{font-size:48px}.accommodation .eyebrow{font-size:10px}.intro br{display:none}.stay-grid{grid-template-columns:1fr;max-width:520px;margin-left:auto;margin-right:auto;gap:18px}.stay-card{padding:24px}.closing{font-size:29px}footer{padding:32px 22px;line-height:2}footer span{padding:0 5px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
