@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Playfair+Display:ital,wght@1,500&display=swap');
:root{--bg:#17300d;--fg:#f9fff7;--soft:#c7e0be;--edge:rgba(232,255,222,.23)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--fg);font-family:"DM Sans",Arial,sans-serif}a{color:inherit}button{font:inherit}#pixel-story{position:fixed;inset:0;width:100%;height:100%;pointer-events:none;z-index:0;opacity:.94}.topbar{position:fixed;top:0;left:0;right:0;z-index:10;display:flex;align-items:center;justify-content:space-between;padding:22px clamp(20px,4vw,68px);background:linear-gradient(#17300de9,#17300d00)}.wordmark{text-decoration:none;font-weight:700;letter-spacing:.2em;font-size:18px}.wordmark span{color:var(--soft)}nav{display:flex;gap:clamp(10px,2vw,30px);align-items:center}nav a{text-decoration:none;font-size:12px;letter-spacing:.09em;text-transform:uppercase}nav a:hover,.info-card a:hover{color:var(--soft)}.nav-rsvp{border:1px solid var(--edge);border-radius:99px;padding:11px 17px}.chapter{position:relative;min-height:95vh;display:grid;place-items:center;text-align:center;padding:120px 24px 95px}.chapter-copy{position:relative;z-index:2;width:min(100%,700px);padding:22px 18px}.chapter-copy:before{content:"";position:absolute;inset:-40px -30px;z-index:-1;pointer-events:none;background:radial-gradient(ellipse,rgba(23,48,13,.92) 0%,rgba(23,48,13,.78) 48%,transparent 74%)}.chapter-copy.wide{width:min(100%,890px)}.eyebrow{font-size:12px;font-weight:700;letter-spacing:.28em;color:var(--soft);margin:0 0 27px}.chapter h1,.chapter h2{font-weight:700;letter-spacing:-.065em;line-height:.85;margin:0;text-transform:uppercase}.chapter h1{font-size:clamp(90px,15vw,215px)}.chapter h2{font-size:clamp(70px,12vw,158px)}.dot{color:var(--soft)}.signature{font-family:"Playfair Display",Georgia,serif;font-style:italic;font-size:clamp(30px,5vw,64px);margin:27px 0 12px}.signature em{color:var(--soft)}.lead,.chapter-lead{font-size:clamp(16px,2vw,22px);line-height:1.6;max-width:560px;margin:24px auto;color:#e5f0df}.round-link,.cta{display:inline-flex;align-items:center;justify-content:center;text-decoration:none;margin-top:28px;border:1px solid var(--soft);padding:17px 24px;border-radius:99px;letter-spacing:.08em;font-size:13px;transition:background .25s,color .25s}.round-link:hover,.cta:hover{background:var(--fg);color:var(--bg)}.scroll-hint{position:absolute;bottom:26px;left:0;right:0;font-size:10px;letter-spacing:.2em;color:var(--soft)}.detail{display:flex;justify-content:center;gap:12px;flex-wrap:wrap;margin-top:28px}.detail span{border:1px solid var(--edge);padding:12px 16px;border-radius:99px;font-size:12px;letter-spacing:.08em}.fineprint{color:#c5d9bd;font-size:13px;line-height:1.7;margin-top:22px}.info-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;text-align:left;margin:38px auto 0}.info-card{padding:28px;background:rgba(30,65,24,.82);border:1px solid var(--edge);border-radius:18px;backdrop-filter:blur(8px)}.info-card h3{font-size:24px;margin:0 0 22px}.info-card p{font-size:14px;line-height:1.7;color:#e3efdd}.info-card a{display:inline-block;margin:8px 0 15px;color:var(--soft);font-size:14px}.gallery{position:relative;width:min(100%,820px);aspect-ratio:16/9;margin:34px auto 0;overflow:hidden;border-radius:20px;border:1px solid var(--edge);background:#24451a;box-shadow:0 25px 70px #0819088c}.gallery-track{display:flex;width:100%;height:100%;transition:transform .8s cubic-bezier(.2,.7,.25,1)}.gallery figure{margin:0;flex:0 0 100%;height:100%;position:relative}.gallery img{width:100%;height:100%;object-fit:cover;display:block}.gallery figcaption{position:absolute;bottom:0;left:0;right:0;padding:35px 22px 18px;background:linear-gradient(transparent,#0a1b09bc);font-size:15px;letter-spacing:.08em}.gallery-arrow{position:absolute;top:50%;transform:translateY(-50%);width:42px;height:42px;border-radius:50%;background:#17300dcc;color:white;border:1px solid #ffffff70;cursor:pointer;font-size:28px}.gallery-prev{left:12px}.gallery-next{right:12px}.gallery-dots{display:flex;justify-content:center;gap:12px;margin-top:17px}.gallery-dots button{width:9px;height:9px;border:1px solid var(--soft);background:transparent;border-radius:50%;cursor:pointer;padding:0}.gallery-dots button[aria-current="true"]{background:var(--soft)}footer{position:relative;z-index:2;text-align:center;padding:35px 20px;border-top:1px solid var(--edge);font-size:11px;letter-spacing:.15em}footer span{color:var(--soft)}
/* Existing information and RSVP pages: consistent deep-green palette, no beige */
body:not(.story-page){min-height:100vh;background:#17300d;color:#f9fff7}body:not(.story-page) main{max-width:950px;margin:100px auto 60px;padding:25px}body:not(.story-page) h1,body:not(.story-page) h2{color:#f9fff7}body:not(.story-page) input,body:not(.story-page) textarea,body:not(.story-page) select{background:#24451a;color:white;border:1px solid #8eaf83;border-radius:8px;padding:11px}body:not(.story-page) button{cursor:pointer}body:not(.story-page) .card,body:not(.story-page) fieldset{background:#204019;border:1px solid var(--edge);border-radius:14px}body:not(.story-page) a{color:#d3eacb}
@media(max-width:700px){.topbar{position:absolute;padding:19px 15px;align-items:flex-start}.topbar nav{flex-wrap:wrap;justify-content:flex-end;max-width:78%;gap:9px}.topbar nav a{font-size:10px}.chapter{min-height:85vh;padding:120px 15px 70px}.chapter h1{font-size:clamp(67px,16vw,110px)}.chapter h2{font-size:clamp(55px,13vw,85px)}.chapter-copy:before{inset:-20px -8px}.info-grid{grid-template-columns:1fr}.gallery{aspect-ratio:4/3}.scroll-hint{font-size:9px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.gallery-track{transition:none}}

/* Subpage layout */
.subpage .navwrap{position:relative;z-index:3;border-bottom:1px solid var(--edge);padding:22px 5vw}.subpage .nav{display:flex;justify-content:space-between;align-items:center;gap:20px}.subpage .brand{text-decoration:none;font-size:18px;font-weight:700;letter-spacing:.06em}.subpage .links{display:flex;gap:18px;flex-wrap:wrap}.subpage .links a{text-decoration:none;font-size:13px}.subpage .wrap{max-width:860px;margin:45px auto 90px;padding:0 24px}.subpage h1{font-size:clamp(42px,7vw,76px);letter-spacing:-.06em;margin:14px 0 25px}.subpage h2{font-size:25px;margin:20px 0}.subpage .kicker{color:var(--soft);letter-spacing:.18em;text-transform:uppercase;font-size:12px}.subpage p,.subpage label{line-height:1.65}.subpage .card,.subpage .form-section{background:#214019;border:1px solid var(--edge);padding:25px;border-radius:17px;margin:20px 0}.subpage .cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:15px}.subpage .cards .card{margin:0}.subpage .fieldlabel{display:block;margin:17px 0 6px}.subpage input:not([type=checkbox]):not([type=radio]),.subpage select,.subpage textarea{width:100%;max-width:100%;padding:13px;border-radius:8px;background:#142d10;color:#fff;border:1px solid #73916a}.subpage .choice{display:inline-flex;gap:8px;align-items:center;margin:8px 18px 8px 0}.subpage .btn{background:#d9ebd2;color:#17300d;border:0;padding:14px 25px;border-radius:99px;font-weight:700;cursor:pointer}.subpage .notice{border:1px solid var(--edge);border-radius:12px;padding:15px;background:#214019}.subpage .small,.subpage .hint{color:#c6d9c0;font-size:13px}.subpage a{color:#d4eacb}@media(max-width:600px){.subpage .nav{flex-direction:column;align-items:flex-start}.subpage .wrap{margin-top:30px}}

/* Text-centered sections and legible wedding information */
.chapter .prose-heading{font-size:clamp(38px,6.8vw,80px);letter-spacing:-.045em;line-height:1.1;text-transform:none;margin:0 0 25px}.welcome .chapter-lead{max-width:740px}.venue-label{font-size:12px!important;letter-spacing:.18em;text-transform:uppercase;color:#c7e0be!important}.venue-grid .info-card h3{font-size:clamp(24px,3vw,35px)}.venue-grid .info-card strong{color:#fff}.timeline{width:min(100%,690px);margin:40px auto 0;text-align:left;border-top:1px solid var(--edge)}.timeline>div{display:grid;grid-template-columns:130px 1fr;gap:20px;padding:20px 15px;border-bottom:1px solid var(--edge);background:rgba(23,48,13,.56);font-size:clamp(14px,1.7vw,18px)}.timeline time{color:#c7e0be;font-weight:700;white-space:nowrap}.chapter-info .info-card a{display:inline}.welcome .chapter-copy:before{inset:-50px -30px}@media(max-width:600px){.timeline>div{grid-template-columns:96px 1fr;gap:10px;padding:16px 7px}}

/* Dancing guests and dachshund stay behind the content */
body>main,body>header,body>footer,.topbar{position:relative;z-index:2}

/* Confirmation after successful Formspree submission */
.success-scene{text-align:center;max-width:720px;margin:45px auto 85px;padding:30px 20px;background:#214019;border:1px solid var(--edge);border-radius:18px}.success-scene canvas{width:min(100%,480px);height:auto;image-rendering:pixelated;display:block;margin:auto}.success-scene h2{font-size:clamp(25px,4vw,38px);line-height:1.2}.success-scene p{line-height:1.7}.subpage button:disabled{opacity:.65;cursor:wait}
