@import "https://fonts.googleapis.com/css2?family=Imperial+Script&display=swap";:root{--bg:#facccc;--paper:#fff;--ink:#32251d;--muted:#74645a;--accent:#b7795f;--accent-dark:#88513f;--soft:#f5e7db;--line:#ecd8ca;--success:#236947;--danger:#a33d33;--heading-font:"Imperial Script", Georgia, serif;--body-font:Arial, Helvetica, sans-serif;font-family:var(--body-font);color:var(--ink);background:var(--bg)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:radial-gradient(circle at top right, #ffffff57 0, transparent 34rem), var(--bg);margin:0}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button{background:var(--accent);color:#fff;cursor:pointer;border:0;border-radius:999px;padding:.85rem 1.1rem;font-weight:800;transition:transform .2s,background .2s}button:hover:not(:disabled){background:var(--accent-dark);transform:translateY(-1px)}button:disabled{opacity:.72;cursor:not-allowed}input,select,textarea{border:1px solid var(--line);width:100%;color:var(--ink);background:#fffdfb;border-radius:1rem;padding:.85rem 1rem}label{gap:.4rem;display:grid}label span{color:var(--accent-dark);letter-spacing:.08em;text-transform:uppercase;font-size:.78rem;font-weight:900}.storyText{white-space:pre-wrap;font-style:italic;line-height:1.8}.hero{color:#fff;background-position:50%;background-size:cover;grid-template-rows:auto 1fr;min-height:82vh;display:grid}.nav{justify-content:space-between;align-items:center;gap:1rem;width:min(1120px,100% - 2rem);margin:0 auto;padding:1.25rem 0;display:flex}.nav strong{font-family:var(--heading-font);font-size:2.1rem}.nav div{flex-wrap:wrap;gap:1rem;display:flex}.nav a{opacity:.9;font-weight:700}.hero .eyebrow,.hero .nav a,.hero .nav strong,.heroFacts span{color:#fff;text-shadow:0 2px 14px #00000047}.heroContent{width:min(1120px,100% - 2rem);margin:auto;padding:4rem 0 6rem}.heroContent h1{max-width:860px;font-family:var(--heading-font);margin:.5rem 0;font-size:clamp(4.2rem,13vw,11rem);line-height:.9}.heroContent p{color:#fff;text-shadow:0 2px 14px #0000003d;max-width:670px;font-size:clamp(1.1rem,2vw,1.45rem)}.heroFacts{flex-wrap:wrap;gap:1rem;margin-top:2rem;display:flex}.heroFacts span,.eyebrow,.timelineItem span,.claimedText,.secondaryButton{align-items:center;gap:.45rem;display:inline-flex}.heroFacts span{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:1px solid #ffffff59;border-radius:999px;padding:.75rem 1rem}main{width:min(1120px,100% - 2rem);margin:0 auto}.section{padding:5rem 0}.softSection{background:var(--soft);width:100vw;margin-left:calc(50% - 50vw);padding-left:max(1rem,50vw - 560px);padding-right:max(1rem,50vw - 560px)}.twoColumn{grid-template-columns:minmax(0,1fr) minmax(320px,.9fr);align-items:center;gap:3rem;display:grid}h2{font-family:var(--heading-font);margin:.35rem 0 1rem;font-size:clamp(3rem,6vw,5rem);line-height:1}h3{font-family:var(--heading-font);margin:0 0 .35rem;font-size:2rem;line-height:1.05}.scheduleTitle{margin-top:0;font-size:clamp(3.4rem,7vw,5.6rem)}p{color:var(--muted);line-height:1.7}.eyebrow{color:var(--accent-dark);text-transform:uppercase;letter-spacing:.12em;font-size:.78rem;font-weight:900}.card,.giftCard,.timelineItem{border:1px solid var(--line);background:#ffffffd1;border-radius:1.5rem;box-shadow:0 22px 50px #44291c14}.countdown{z-index:2;text-align:center;grid-template-columns:repeat(4,1fr);margin:-3.5rem auto 2rem;padding:1.35rem;display:grid;position:relative}.countdown strong{font-size:clamp(1.8rem,5vw,3rem);display:block}.countdown span{color:var(--muted);text-transform:uppercase;letter-spacing:.08em;font-size:.75rem;font-weight:800}.detailGrid{grid-template-columns:repeat(3,1fr);gap:1rem;margin-top:2rem;display:grid}.detailGrid .card{padding:1.1rem}.sectionPhoto{border:1px solid var(--line);background:#fff8f2;border-radius:1.5rem;margin:0;overflow:hidden;box-shadow:0 22px 50px #44291c14}.sectionPhoto img{width:100%;height:100%;min-height:inherit;object-fit:cover;object-position:var(--image-position,center);display:block}.sectionPhoto figcaption{color:var(--muted);padding:.75rem 1rem;font-size:.85rem;font-weight:800}.detailsPhoto{height:100%;min-height:34rem}.sectionPhotoRow{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;margin-top:1.25rem;display:grid}.schedulePhoto{aspect-ratio:16/9}.wishlistIntro{grid-template-columns:minmax(0,1fr) minmax(280px,.42fr);align-items:end;gap:2rem;display:grid}.wishlistPhoto,.rsvpPhoto{aspect-ratio:4/3}.rsvpSide{gap:1rem;display:grid}.timeline{gap:1rem;margin-top:2rem;display:grid}.timelineItem{grid-template-columns:9rem 1fr;gap:1rem;padding:1.3rem;display:grid}.timelineItem time{color:var(--accent-dark);font-size:1.2rem;font-weight:900}.timelineItem p{margin:0 0 .7rem}.timelineItem span{color:var(--muted);font-weight:700}.sectionLead{max-width:650px}.sectionIntro{max-width:760px}.giftGrid{grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;margin-top:2rem;display:grid}.wishlistIntro h2,.giftCard h3{font-family:var(--body-font);font-weight:900}.wishlistIntro h2{font-size:clamp(2.25rem,4.5vw,3.4rem);line-height:1.08}.giftCard h3{font-size:1.12rem;line-height:1.25}.giftCard{align-content:start;gap:1rem;padding:1.2rem;display:grid}.giftCard.claimed{opacity:.72}.giftHeader{gap:.9rem;display:flex}.giftHeader svg{color:var(--accent-dark);flex:none}.giftHeader p{margin:0}.claimForm{gap:.75rem;display:grid}.claimedText,.formSuccess{color:var(--success);font-weight:800}.formError,.appError{color:var(--danger);font-weight:800}.moneyGift{background:#fffdfb}.staticGift{background:#ffffffb3}.bankBox{border:1px dashed var(--accent);background:#fff8f2;border-radius:1rem;gap:.25rem;padding:.9rem;display:grid}.bankBox span{color:var(--muted);text-transform:uppercase;letter-spacing:.08em;font-size:.78rem;font-weight:900}.bankBox strong{word-break:break-word;font-size:1.05rem}.secondaryButton{color:var(--accent-dark);border:1px solid var(--accent);background:0 0;justify-content:center}.secondaryButton:hover:not(:disabled){color:#fff;background:var(--accent-dark)}.contactCards{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;margin-top:1.5rem;display:grid}.contactCard,.noteCard{padding:1.2rem}.contactCard p{color:var(--ink);margin:0;font-size:1.15rem;font-weight:800}.loading{place-items:center;gap:1rem;min-height:20rem;display:grid}.spin{animation:1s linear infinite spin}footer{text-align:center;color:var(--muted);gap:.3rem;padding:2.5rem 1rem;display:grid}footer strong{color:var(--ink);font-family:var(--heading-font);font-size:2.1rem}.giftCard.claimed h3{text-decoration:line-through}.microcopy{margin:0;font-size:.82rem;line-height:1.45}.emptyState{margin-top:2rem;padding:1.2rem}@keyframes spin{to{transform:rotate(360deg)}}@media (width>=921px){main{width:min(1180px,100% - 4rem)}.section:not(.softSection){position:relative}.twoColumn,#schedule.section{background:#ffffff57;border:1px solid #ecd8cacc;border-radius:2rem;margin:4rem 0;padding:3rem;box-shadow:0 28px 70px #44291c12}.twoColumn{grid-template-columns:minmax(0,1fr) minmax(330px,.82fr);gap:3.25rem}.detailsPhoto{min-height:32rem}.timeline{grid-template-columns:repeat(3,minmax(0,1fr));align-items:stretch}.timelineItem{grid-template-columns:1fr;align-content:start}.timelineItem time{margin-bottom:.1rem}.sectionPhotoRow{grid-template-columns:1.1fr .9fr;margin-top:1.5rem}.schedulePhoto{aspect-ratio:16/8.5}.wishlistIntro{grid-template-columns:minmax(0,1fr) minmax(320px,.38fr);align-items:center}.softSection{padding-top:5rem;padding-bottom:5rem;box-shadow:inset 0 1px #ffffff73,inset 0 -1px #88513f14}.rsvpSection{align-items:start}.rsvpSection h2{margin-top:0}.rsvpSide{align-self:stretch}.rsvpPhoto{aspect-ratio:16/10}}@media (width<=920px){.twoColumn,.giftGrid,.detailGrid,.wishlistIntro{grid-template-columns:1fr}.countdown{grid-template-columns:repeat(2,1fr)}.timelineItem{grid-template-columns:1fr}}@media (width<=620px){main{width:min(100% - 1rem,1120px)}.nav{flex-direction:column;align-items:flex-start;width:min(100% - 1rem,1120px)}.nav div{gap:.75rem}.nav a{font-size:.95rem}.hero{min-height:76vh}.heroContent{width:min(100% - 1rem,1120px);padding:2rem 0 5rem}.heroContent h1{font-size:clamp(3.15rem,18vw,5.8rem)}.heroFacts span{border-radius:1rem;width:100%}.section{padding:3.25rem 0}.softSection{padding-left:.5rem;padding-right:.5rem}.sectionPhotoRow,.contactCards{grid-template-columns:1fr}.detailsPhoto{min-height:22rem}.wishlistPhoto,.rsvpPhoto,.schedulePhoto{aspect-ratio:4/5}.giftCard,.card,.timelineItem{border-radius:1.15rem}}
