:root{color-scheme:light;--ink:#173e35;--paper:#f6f2e8;--wine:#673744;--line:#c6bdac}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:24px}body{margin:0;background:var(--paper);color:var(--ink);font:17px/1.65 system-ui,sans-serif}a{color:inherit;text-underline-offset:5px}a:focus-visible,button:focus-visible,select:focus-visible{outline:3px solid #a56a17;outline-offset:5px}header{max-width:1240px;margin:auto;padding:24px;display:flex;justify-content:space-between;gap:24px;align-items:center}.brand{display:flex;align-items:center;gap:15px;text-decoration:none;font:26px Georgia,serif;letter-spacing:2px}.brand small{display:block;font:10px/1.8 system-ui;letter-spacing:1px}nav{display:flex;gap:24px}main{max-width:1180px;margin:auto;padding:0 24px}section{padding:64px 0;border-bottom:1px solid var(--line)}h1,h2,h3{font-family:Georgia,serif;font-weight:400;line-height:1.12;margin:16px 0 24px}h1{font-size:clamp(42px,5.4vw,76px)}h2{font-size:clamp(32px,4vw,50px)}h3{font-size:25px}em{color:var(--wine)}.eyebrow{font-size:12px;font-weight:700;letter-spacing:2px}.lead{font-size:21px;max-width:550px}.hero,.spark,.audio-layout,.keepsake{display:grid;grid-template-columns:1.4fr 1fr;gap:64px;align-items:center}.passport-cover{background:var(--ink);color:var(--paper);border:1px solid #ab945e;outline:8px solid var(--ink);padding:40px 30px;text-align:center;border-radius:6px;box-shadow:10px 15px 30px #173e351b}.passport-cover h2{font-size:43px}.passport-cover p{margin:16px 0}.passport-cover small{display:block;font-size:13px}.letters{font:25px Georgia;letter-spacing:6px}.button,button{display:inline-block;background:var(--wine);color:white;padding:14px 20px;border:1px solid var(--wine);border-radius:4px;font:inherit;text-decoration:none;cursor:pointer;min-height:48px}button:disabled{opacity:.6;cursor:wait}.text-link{display:inline-block;margin:20px}.spark{grid-template-columns:.8fr 1.2fr}.spark figure{margin:0}.spark img{width:100%;height:450px;object-fit:contain;background:#e6dfce}.spark figcaption{font-size:12px}.note{font-size:14px;color:#4e6158}.audio-layout{background:#eae5d8;padding:32px;align-items:start;gap:32px;margin:24px 0}.audio-layout label{display:block;font-weight:600}select{font:inherit;color:var(--ink);background:white;max-width:100%;width:100%;padding:12px;border:1px solid var(--line);margin:10px 0 20px}audio{display:block;width:100%;margin:12px 0 25px}.stops{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin:30px 0}.stop{border:1px solid var(--line);border-radius:4px;padding:24px;background:#fffdf8}.stop .letter{font:42px Georgia;color:var(--wine)}.stop h3{margin:12px 0}.stop p{font-size:14px}.stop a{display:inline-block;margin:8px 12px 8px 0}.stop button{display:block;background:transparent;color:var(--ink);border-color:var(--line);padding:8px 16px;margin-top:15px}.stop button[aria-pressed=true]{background:var(--ink);color:white}.keepsake button{margin:0 8px 12px 0}.subtle{background:transparent;color:var(--ink);border-color:var(--line)}footer{max-width:1180px;padding:40px 24px;margin:auto;font-size:14px}.skip{position:absolute;top:-80px}.skip:focus{top:0;background:white;padding:10px;z-index:5}dialog{max-width:500px;border:1px solid var(--line);padding:32px;background:var(--paper);color:var(--ink)}dialog::backdrop{background:#112c27a6}dialog button{margin:8px}.lp-passport-link{display:inline-block;margin:12px;padding:12px 18px;background:#173e35;color:#fff!important;border-radius:4px;font:16px/1.5 system-ui;text-decoration:none}.lp-passport-spark{margin:20px;padding:24px;border:1px solid #c6bdac;background:#f6f2e8;color:#173e35}.lp-passport-spark audio{max-width:600px}.lp-passport-spark h2{font-size:28px}@media(max-width:700px){header{align-items:flex-start;flex-direction:column;gap:12px}nav{font-size:14px}.hero,.spark,.audio-layout,.keepsake{grid-template-columns:1fr;gap:32px}section{padding:40px 0}.passport-cover{margin:12px 8px}.stops{grid-template-columns:1fr}.spark img{height:330px}.audio-layout{padding:20px}.text-link{margin:18px 0;display:block}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}@media print{header nav,.button,button,audio,select,label,.spark, #listen,footer,dialog{display:none!important}body{font-size:11pt}.hero{grid-template-columns:1fr 1fr;gap:20px}h1{font-size:28pt}section{padding:15px 0}.stops{grid-template-columns:repeat(2,1fr)}.stop{break-inside:avoid}.stop a{display:none}.passport-cover{box-shadow:none;outline:0}}
