
:root{--navy:#112542;--paper:#fbf7ef;--gold:#a47b3c;--pale:#d4bc8c}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#0b1b32;color:var(--navy);font:400 20px/1.5 'Cormorant Garamond',Georgia,serif}main{max-width:720px;margin:auto;background:var(--paper);box-shadow:0 0 80px #0005}a{color:inherit}p,h1,h2,h3{margin:0}nav{display:flex;justify-content:center;gap:36px;padding:15px;background:var(--navy);color:#e7d1a5;font-size:15px;letter-spacing:.1em}nav a{text-decoration:none}nav a:hover{text-decoration:underline;text-underline-offset:5px}.opening{background:var(--paper) url('floral-stationery.png') center/100% 100% no-repeat;min-height:900px;display:flex;align-items:center;justify-content:center;padding:215px 0 180px;text-align:center}.opening-inner{width:68%}.crown{width:34px;height:34px;stroke:var(--gold);fill:none;stroke-width:1.2}.opening .crown{margin-bottom:18px}.invite-line{font-size:22px;font-style:italic;line-height:1.4}.occasion{font-size:16px;letter-spacing:.2em;text-transform:uppercase;margin:18px 0 8px}.name{font:400 clamp(90px,17vw,130px)/1.22 'Pinyon Script',cursive;color:#92682e;margin:0 -20px 8px}.ornament{display:flex;align-items:center;justify-content:center;gap:12px;color:var(--gold);margin:22px auto}.ornament:before,.ornament:after{content:'';height:1px;width:48px;background:var(--pale)}.date-month{letter-spacing:.2em;text-transform:uppercase;font-size:17px}.date-grid{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:20px;margin:5px auto 0;max-width:320px}.date-grid span:first-child,.date-grid span:last-child{border-block:1px solid var(--pale);padding:8px 0;font-size:16px;letter-spacing:.07em;text-transform:uppercase}.date-number{font-size:58px;line-height:1.2}.venue-preview{font-size:19px;margin-top:24px}.town{font-size:16px;letter-spacing:.06em;margin-top:4px}.scroll{display:inline-block;font-style:italic;color:#785927;font-size:16px;margin-top:25px;text-underline-offset:5px}section{padding:62px 38px;text-align:center;scroll-margin-top:18px}.program{background:var(--paper);position:relative}.section-border{border:1px solid var(--pale);padding:38px 20px;position:relative}.section-border:before{content:'';position:absolute;inset:6px;border:1px solid #d4bc8c60;pointer-events:none}.kicker{font-size:15px;letter-spacing:.2em;text-transform:uppercase;color:#816035;margin-bottom:12px}.script-title{font:400 clamp(56px,9vw,76px)/1.25 'Pinyon Script',cursive;color:var(--navy)}.subtitle{font-style:italic;font-size:21px;margin:12px auto 0;max-width:420px}.timeline{list-style:none;padding:0;margin:40px 0 0}.timeline li{display:grid;grid-template-columns:1fr 32px 1fr;align-items:center;min-height:150px;position:relative}.timeline li:before{content:'';position:absolute;top:0;bottom:0;left:50%;width:1px;background:var(--pale)}.event-left{padding:20px 12px 20px 0}.event-right{padding:20px 0 20px 12px}.marker{z-index:1;background:var(--paper);padding:10px 0;display:flex;justify-content:center}.marker svg{width:22px;height:22px}.event-icon{width:38px;height:38px;stroke:#8d6a37;fill:none;stroke-width:1.2;margin-bottom:9px}.time{font-size:26px;letter-spacing:.03em;line-height:1.2}.event-title{font-size:17px;letter-spacing:.09em;text-transform:uppercase;border-top:1px solid var(--pale);padding-top:8px;margin:8px auto 0;max-width:165px;font-weight:500}.event-description{font-size:18px;line-height:1.35;max-width:195px;margin:auto}.location{background:var(--navy);color:var(--paper);border-block:3px double var(--pale);padding:54px 30px}.location .kicker{color:#d9bc85}.location .script-title{color:#edd6ab}.location .ornament{color:#dfc48f}.venue{font-size:32px;line-height:1.3;margin:28px 0 10px;font-weight:400}address{font-size:21px;font-style:normal;line-height:1.5;margin-bottom:27px}.button{display:inline-flex;align-items:center;justify-content:center;gap:10px;padding:13px 25px;min-height:52px;border:1px solid var(--pale);text-decoration:none;font-family:'Cormorant Garamond',Georgia,serif;font-size:18px;letter-spacing:.05em;background:transparent}.button svg{width:18px;height:18px;stroke:currentColor;fill:none;stroke-width:1.5}.button:hover{background:#d4bc8c20}.rsvp{padding:58px 38px 44px}.rsvp .section-border{padding:36px 25px 40px}.rsvp .script-title{font-size:clamp(55px,9vw,74px)}.rsvp-note{font-size:22px;line-height:1.5;max-width:400px;margin:18px auto 0}.contact{margin:25px auto}.contact-name{font-size:24px;font-weight:500}.phone{display:block;font-size:21px;text-decoration:none;letter-spacing:.04em;margin-top:3px}.rsvp .button{background:var(--navy);border-color:var(--navy);color:var(--paper)}.rsvp .button:hover{background:#203d61}.instruction{max-width:330px;font-size:17px;line-height:1.4;margin:20px auto 0}.footer{padding:10px 25px 40px;text-align:center}.signoff{font:400 37px/1.4 'Pinyon Script',cursive;color:#92682e}.family{font-size:18px;margin-top:4px}a:focus-visible{outline:3px solid #bd9459;outline-offset:5px}@media(max-width:480px){body{font-size:19px}.opening{min-height:730px;padding:190px 0 150px}.opening-inner{width:68%}.invite-line{font-size:21px}.occasion{font-size:14px;letter-spacing:.12em}.name{font-size:92px}.opening .crown{margin-bottom:12px}.date-grid{gap:12px}.date-grid span:first-child,.date-grid span:last-child{font-size:14px}.date-number{font-size:49px}.date-month{font-size:15px}.venue-preview{font-size:18px;margin-top:20px}section{padding:38px 20px}.section-border{padding:30px 10px}.script-title{font-size:58px}.timeline{margin-top:24px}.timeline li{grid-template-columns:1fr 24px 1fr;min-height:155px}.time{font-size:24px}.event-title{font-size:15px;letter-spacing:.04em}.event-description{font-size:17px}.event-left{padding-right:8px}.event-right{padding-left:8px}.event-icon{width:33px;height:33px}.subtitle{font-size:20px}.rsvp{padding:38px 20px 24px}.rsvp .section-border{padding:32px 16px}.rsvp-note{font-size:21px}.kicker{font-size:14px;letter-spacing:.12em}nav{gap:30px;font-size:14px}.location{padding:44px 25px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

.english .name{margin-top:12px}.english .occasion{margin:0 0 8px}@media(max-width:480px){.english .name{font-size:82px}}

.text-fallback{margin:20px auto 0;font-size:17px}.text-fallback a{text-underline-offset:4px}
