:root{--bg: #050b0e;--fg: #eef1ea;--muted: #b9c6c2;--accent: #e0b872;--line: #9fb3ae;font-family:Arial,sans-serif;color:var(--fg);background:var(--bg);font-synthesis:none}*{box-sizing:border-box}body{margin:0;background:var(--bg)}html{scroll-behavior:smooth}a{color:inherit;text-decoration:none}header,footer{position:fixed;left:5vw;right:5vw;z-index:3;display:flex;align-items:center;justify-content:space-between;font-size:10px;letter-spacing:.2em;text-transform:uppercase}header{top:30px}header a{font-weight:600}footer{bottom:25px;font-size:9px}.track{width:18vw;height:2px;background:#ffffff30}.track i{display:block;height:100%;width:0;background:var(--accent)}main{position:relative;z-index:1}.fishing-background{position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;overflow:hidden}#fishing-poster,#fishing-scene{position:absolute;height:100%}#fishing-poster{right:0;width:60%;object-fit:contain}#fishing-scene{top:0;right:0;bottom:0;left:0;width:100%;opacity:0}#fishing-scene.is-ready{opacity:1}.fishing-shade{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(90deg,#050b0ee8,#050b0eb3 35%,#050b0e12 72%),linear-gradient(180deg,#050b0e55,transparent 25%,transparent 70%,#050b0e88)}.chapter{height:110svh;min-height:700px;padding:24vh 8vw 10vh;display:flex;flex-direction:column;align-items:flex-start;justify-content:center}.opening{padding-top:15vh}.invitation{height:auto;min-height:120svh;padding-bottom:18vh}h1,h2{font-family:Georgia,serif;font-weight:400;line-height:.98;letter-spacing:-.055em;margin:20px 0 24px}h1{font-size:clamp(80px,10vw,160px)}h2{font-size:clamp(54px,7vw,110px)}h1 em,h2 em{color:var(--accent)}.eyebrow{font-size:10px!important;letter-spacing:.24em;text-transform:uppercase;color:var(--accent)!important}.chapter p{font-size:15px;line-height:1.8;color:var(--muted);margin:0}.scroll{font-size:9px;letter-spacing:.18em;text-transform:uppercase;margin-top:34px}.js .chapter>*{opacity:0;transform:translateY(18px);transition:opacity .9s ease,transform .9s ease}.js .chapter.is-visible>*{opacity:1;transform:none}.js .chapter.is-visible>:nth-child(2){transition-delay:.08s}.js .chapter.is-visible>:nth-child(3){transition-delay:.16s}.js .chapter.is-visible>:nth-child(n+4){transition-delay:.24s}dl{margin:26px 0 18px;width:min(420px,100%)}dl div{padding:14px 0;border-bottom:1px solid #9fb3ae33}dt{font-size:9px;letter-spacing:.2em;text-transform:uppercase;color:var(--accent)}dd{margin:7px 0 0;font-size:14px}.details-note{font-size:12px!important;max-width:320px}.rsvp{margin:26px 0 0;width:min(420px,100%)}.rsvp label{display:block;font-size:9px;letter-spacing:.2em;text-transform:uppercase;color:var(--accent);margin-bottom:8px}.rsvp input{width:100%;padding:14px 16px;background:#ffffff0a;border:1px solid #9fb3ae55;color:var(--fg);font:inherit;font-size:14px}.rsvp input:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.rsvp input::placeholder{color:#b9c6c288}.answers{display:flex;flex-wrap:wrap;gap:10px;margin-top:12px}.rsvp button{flex:1 1 0;padding:14px 18px;background:transparent;border:1px solid var(--line);color:var(--fg);font:inherit;font-size:11px;letter-spacing:.14em;text-transform:uppercase;cursor:pointer}.rsvp button[value=ACCEPTED]{background:var(--accent);border-color:var(--accent);color:#0b0a06;font-weight:600}.rsvp button:hover:not(:disabled){border-color:var(--accent);color:var(--accent)}.rsvp button[value=ACCEPTED]:hover:not(:disabled){filter:brightness(1.12);color:#0b0a06}.rsvp button:disabled{opacity:.4;cursor:not-allowed}#status{margin:12px 0 0;min-height:1.3em;font-size:13px;color:var(--accent)}.back{display:inline-block;border:1px solid var(--line);padding:15px 22px;font-size:11px;margin-top:28px}@media(max-width:768px){#fishing-poster{width:100%;object-fit:cover}.fishing-shade{background:linear-gradient(180deg,#050b0e55,#050b0e0d 25%,#050b0e66 48%,#050b0eeb)}header span{display:none}.chapter{padding:15vh 7vw 8vh;justify-content:flex-end;min-height:650px}.opening{padding-bottom:max(18svh,calc(650px - 92svh))}.invitation{padding-bottom:14vh}h1{font-size:88px}h2{font-size:58px}.chapter p{font-size:13px}.rsvp button{flex-basis:100%}footer{font-size:8px;letter-spacing:.12em}}@media(max-width:360px){h1{font-size:76px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.js .chapter>*{opacity:1;transform:none;transition:none}}
