
*{box-sizing:border-box}body{margin:0;background:#080607;color:#fff;font-family:system-ui,sans-serif}a{color:inherit}button{font:inherit}a:focus-visible,button:focus-visible{outline:3px solid #efb5ad;outline-offset:6px}.scene{min-height:100svh;background:linear-gradient(90deg,rgba(0,0,0,.12),rgba(0,0,0,.18) 38%,rgba(0,0,0,.7) 75%),url('assets/fireworks.jpeg') center center/cover no-repeat;display:flex;flex-direction:column}.top{padding:26px 5%;display:flex;align-items:center;justify-content:space-between;gap:20px}.brand{font-size:15px;font-weight:750;letter-spacing:1px;text-decoration:none;text-shadow:0 2px 10px #000}.place{font-size:16px;color:#fff;font-weight:500;text-shadow:0 2px 8px #000;padding:6px 0}.content{width:min(560px,90%);margin:auto 7% auto auto;padding:70px 0;text-align:center;text-shadow:0 2px 15px #000}.eyebrow{text-transform:uppercase;letter-spacing:3px;font-size:12px;color:#eed6d3}h1{font:400 clamp(44px,5vw,72px)/1.1 Georgia,serif;margin:24px 0}p{line-height:1.65}.date{font-size:23px;margin:22px 0 4px}.location{color:#eee;margin:0;font-size:17px}.countdown{margin:38px auto 34px;padding:20px 0;border-top:1px solid #ffffff50;border-bottom:1px solid #ffffff50}.timer{display:flex;justify-content:center;gap:26px}.timer>div{min-width:64px}.countdown strong{display:block;font-size:54px;font-weight:350;font-variant-numeric:tabular-nums;line-height:1.15}.countdown span{display:block;font-size:12px;text-transform:uppercase;letter-spacing:2px;margin-top:8px;color:#efdcd9}.links{display:flex;justify-content:center;gap:12px;flex-wrap:wrap}.links button{padding:11px 17px;background:#ffffff08;border:1px solid #ffffff45;border-radius:3px;color:white;cursor:pointer}.links button:hover{background:#fff;color:#281015}.links .donate{background:#ffffff20;color:#fff;border-color:#ffffff80}.footer{text-align:center;font-size:12px;color:#e3d4d2;padding:20px;background:linear-gradient(transparent,#0009)}dialog{color:#fff;background:#171012;border:1px solid #65474d;border-radius:6px;max-width:620px;width:calc(100% - 36px);padding:32px;line-height:1.7}dialog::backdrop{background:#000b}dialog h2{font:32px Georgia,serif;margin:8px 0 20px}.close{float:right;color:white;background:transparent;border:1px solid #705b60;border-radius:3px;padding:5px 12px;cursor:pointer}address{font-style:normal}dialog a{color:#f2bcb4}.small{font-size:13px;color:#d6c2c5}@media(max-width:700px){.scene{background:linear-gradient(#0004,#0008 40%,#000b),url('assets/fireworks.jpeg') 36% center/cover no-repeat}.top{align-items:flex-start;flex-direction:column;gap:5px;padding:22px}.content{margin:auto;width:calc(100% - 36px);padding:50px 0}.date{font-size:21px}.links{gap:8px}.links button{padding:11px 13px}.countdown{max-width:370px}.timer{gap:12px}.timer>div{min-width:55px}.countdown strong{font-size:40px}.timer span{font-size:10px;letter-spacing:1px}h1{font-size:48px}}

.page{min-height:100svh;background:linear-gradient(#080607ae,#080607e8),url('assets/fireworks.jpeg') center/cover fixed}.page-nav{display:flex;gap:18px;flex-wrap:wrap;justify-content:center;padding:18px;border-bottom:1px solid #ffffff25}.page-nav a{text-decoration:none;color:#e2d5d5}.page-nav a[aria-current]{color:white;border-bottom:1px solid #e4a7a1}.article{max-width:850px;margin:auto;padding:45px 24px 70px}.article h1{font-size:48px}.article h2{font:30px Georgia,serif;margin:35px 0 16px}.article p{max-width:680px;color:#eadfe0}.article li{line-height:1.8;break-inside:avoid;margin-bottom:6px}.names{columns:2;column-gap:40px;padding-left:20px}.years{display:flex;flex-wrap:wrap;gap:12px}.years a{padding:6px 13px;border:1px solid #ffffff45;text-decoration:none;border-radius:3px}.mail{border-left:2px solid #cd948e;padding:10px 22px;font-size:20px}.post{padding:20px 0;border-bottom:1px solid #ffffff25}.post time{font-size:13px;color:#cfb6ba}.links a{padding:11px 17px;background:#ffffff08;border:1px solid #ffffff45;border-radius:3px;color:white;text-decoration:none;text-shadow:0 2px 15px #000}.links a:hover{background:#fff;color:#281015}.links a.donate{background:#ffffff20;border-color:#ffffff80;color:white}@media(max-width:600px){.names{columns:1}.article h1{font-size:40px}.page-nav{gap:15px}.page{background-attachment:scroll}}

#arrival-notice{padding:38px;max-width:550px;border-color:#9a7076}#arrival-notice p{color:#eddddf}.notice-dismiss{background:#f2e7e5;color:#281015;border:0;border-radius:3px;padding:13px 18px;cursor:pointer}.venmo-card{display:grid;grid-template-columns:1fr 220px;gap:32px;align-items:center;margin:35px 0;padding:28px;border:1px solid #ffffff35;border-radius:5px;background:#ffffff08}.venmo-card h2{margin-top:0}.venmo-button{display:inline-block;padding:12px 20px;background:#008cff;color:white;border-radius:4px;text-decoration:none}.qr{text-align:center}.qr img{background:white;border:12px solid white;max-width:100%;height:auto}.qr p{margin-bottom:0}@media(max-width:600px){.venmo-card{grid-template-columns:1fr;padding:22px}.qr{justify-self:center}#arrival-notice{padding:26px}}

.check-card{margin:35px 0;padding:28px;border:1px solid #ffffff35;border-radius:5px;background:#ffffff08}.check-card h2{margin-top:0}.location-photo{margin:24px 0}.location-photo summary{cursor:pointer;text-decoration:underline;text-underline-offset:4px;color:#edd2ce}.location-photo figure{margin:20px 0}.location-photo img{display:block;width:100%;height:auto;border-radius:4px}.location-photo figcaption{font-size:14px;color:#dac5c7;margin-top:10px}@media(max-width:600px){.check-card{padding:22px}}

.dropoff-image{position:relative}.dropoff-arrow{position:absolute;left:52%;top:23%;width:7%;height:auto;filter:drop-shadow(0 2px 3px #0008);pointer-events:none}

/* Shared navigation stays beneath the header on every page. */
.page-nav{display:flex;justify-content:center;align-items:center;flex-wrap:wrap;gap:8px 20px;margin:0;padding:12px 5%;background:rgba(12,7,9,.64);border-top:1px solid #ffffff18;border-bottom:1px solid #ffffff24;text-shadow:0 1px 4px #000}
.page-nav a{display:inline-block;padding:9px 10px;color:#fff;font-size:16px;text-decoration:none;border-bottom:2px solid transparent;white-space:nowrap}
.page-nav a[aria-current]{color:#fff;border-bottom:2px solid #e4a7a1}
.page-nav a:hover{color:#f2c7c1;background:#ffffff0d;border-radius:3px}
.page-nav .nav-donate{border:1px solid #ffffff65;border-radius:3px;padding:8px 15px;background:#ffffff0d}
.page-nav .nav-donate[aria-current]{border-color:#e4a7a1}
@media(max-width:600px){.page-nav{gap:4px 8px;padding:10px 16px}.page-nav a{font-size:15px;padding:9px 8px}.content{padding:42px 0}}

/* Brand and tagline share a home; wide-screen navigation sits to the right. */
.top{align-items:center;flex-wrap:nowrap;padding:24px 5%;gap:24px}
.site-identity{display:flex;flex-direction:column;align-items:flex-start;gap:7px;flex-shrink:0}
.site-identity .place{font-weight:300;font-size:15px;padding:0;letter-spacing:.2px}
.top .page-nav{margin-left:auto;justify-content:flex-end;padding:0;background:transparent;border:0;gap:6px 12px}
.top .page-nav a{text-shadow:0 2px 6px #000,0 0 15px #000}
@media(max-width:850px){.top{flex-direction:column;align-items:center;gap:18px}.site-identity{align-items:center}.top .page-nav{margin:0;justify-content:center;gap:4px 8px}.site-identity .place{text-align:center}}

/* Inner pages share the homepage's rightward placement over the darker sky. */
.page .article{width:min(850px,86%);max-width:850px;margin:0 7% 0 auto;padding:45px 0 70px}
@media(max-width:700px){.page .article{width:90%;margin:0 auto;padding:35px 0 55px}}

@media(min-width:701px){.page .article{width:min(640px,86%);max-width:640px}}

@media(min-width:701px){.page .article{width:min(640px,94%);margin-right:3%}.page .names{column-gap:18px}}

/* Consistent type scale and content edges across the site. */
:root{--content-width:640px;--content-inset:3%;--page-title-size:clamp(36px,4vw,48px);--section-title-size:clamp(26px,2.5vw,30px)}
body{font-size:16px}
.page .article{width:min(var(--content-width),94%);max-width:var(--content-width);margin:0 var(--content-inset) 0 auto;padding:45px 0 70px}
.article h1{font-family:Georgia,serif;font-size:var(--page-title-size);font-weight:400;line-height:1.15;margin:24px 0}
.article h2{font-family:Georgia,serif;font-size:var(--section-title-size);font-weight:400;line-height:1.25;margin:35px 0 16px}
.article p,.article li,.article summary,.article address{font-size:16px;line-height:1.65}
.article p{max-width:none}
.article .small,.article figcaption{font-size:14px}
.article .venmo-card h2,.article .check-card h2{margin-top:0}
.names{column-gap:18px}
.content{width:min(var(--content-width),94%);margin:auto var(--content-inset) auto auto}
@media(max-width:700px){.page .article{width:90%;margin:0 auto;padding:35px 0 55px}.content{width:90%;margin:auto;padding:42px 0}}

/* Short pages fill the viewport; long pages keep the footer after their content. */
body.page{display:flex;flex-direction:column;min-height:100vh;min-height:100svh}.page .top{flex-shrink:0}.page .article{flex:1 0 auto}.page>.footer{margin-top:auto;flex-shrink:0}
