@font-face{font-family:RailSystem;src:local("Avenir Next");font-display:swap}
:root{color-scheme:light;--paper:#f6f0df;--ink:#254e47;--muted:#5c6b5d;--orange:#b94b32;--line:#d7d8c4}
*{box-sizing:border-box}
html{background:var(--paper)}
body{margin:0;color:var(--ink);font-family:RailSystem,"Trebuchet MS",Arial,sans-serif;-webkit-font-smoothing:antialiased}
.page{max-width:1320px;margin:auto;padding:28px max(28px,env(safe-area-inset-right)) 22px max(28px,env(safe-area-inset-left))}
.masthead{display:flex;justify-content:space-between;align-items:center;gap:24px;padding-bottom:24px;border-bottom:1px solid var(--line)}
.brand{display:inline-flex;align-items:center;gap:11px;text-decoration:none;color:var(--ink);font-weight:800;font-size:28px;letter-spacing:-1.3px}
.brand-dot{color:var(--orange)}
.brand img{display:block}
.brand:focus-visible{outline:3px solid var(--orange);outline-offset:7px;border-radius:4px}
.masthead-note{font-size:12px;text-transform:uppercase;letter-spacing:1.5px;font-weight:600}
.introduction{display:grid;grid-template-columns:1.25fr 1fr;align-items:end;gap:60px;padding:46px 0 32px}
.status{margin:0 0 18px;display:flex;align-items:center;gap:9px;font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:2px;color:var(--orange)}
.status span{width:8px;height:8px;background:var(--orange);border-radius:50%}
h1{margin:0;font-size:clamp(42px,5.2vw,68px);font-weight:750;line-height:1.03;letter-spacing:-3.3px}
.description{max-width:395px;margin:0 0 1px auto;font-size:17px;line-height:1.6}
.description p{margin:0}
.description .invitation{font-size:14px;color:var(--muted);margin-top:16px}
.postcard{margin:0;padding:11px 11px 0;background:#fffcf4;border:1px solid #dedfc9;border-radius:13px;box-shadow:0 5px 0 #e4e3d0}
.scene{position:relative;overflow:hidden;border-radius:6px;background:#c4ddd3}
.scene>img{display:block;width:100%;height:auto}
.frame-corner{position:absolute;width:24px;height:24px;border-color:#fff9e8;border-style:solid;opacity:.88;pointer-events:none}
.top-left{top:20px;left:20px;border-width:2px 0 0 2px}
.bottom-right{bottom:20px;right:20px;border-width:0 2px 2px 0}
.viewfinder{position:absolute;bottom:24px;left:26px;color:#fff9e8;font-size:11px;text-transform:uppercase;letter-spacing:2px;font-weight:700;text-shadow:0 1px 3px #254e47}
figcaption{min-height:62px;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:8px 12px;font-size:17px;font-weight:700;letter-spacing:-.3px}
.caption-spark{font-size:23px;color:var(--orange);vertical-align:middle;margin-right:8px}
.caption-note{font-size:11px;text-transform:uppercase;letter-spacing:1.5px;font-weight:500;color:var(--muted)}
footer{display:flex;justify-content:space-between;gap:20px;margin-top:26px;color:var(--muted);font-size:11px;line-height:1.6}
@media(min-width:1500px){.page{padding-top:42px}.introduction{padding-top:58px;padding-bottom:38px}}
@media(max-width:700px){.page{padding:20px max(20px,env(safe-area-inset-right)) 24px max(20px,env(safe-area-inset-left))}.masthead{padding-bottom:20px}.brand{font-size:25px;gap:8px}.brand img{width:37px;height:37px}.masthead-note{max-width:122px;font-size:9px;letter-spacing:1.1px;text-align:right;line-height:1.6}.introduction{grid-template-columns:1fr;gap:22px;padding:32px 0 25px}.status{font-size:10px;margin-bottom:16px}h1{font-size:clamp(39px,8.8vw,58px);letter-spacing:-2px}.description{max-width:410px;margin:0;font-size:15px;line-height:1.55}.description .invitation{margin-top:10px;font-size:12px}.postcard{padding:7px 7px 0;border-radius:10px}.scene{aspect-ratio:1.28}.scene>img{height:100%;width:100%;object-fit:cover;object-position:56% center}.frame-corner{width:16px;height:16px}.top-left{top:14px;left:14px}.bottom-right{bottom:14px;right:14px}.viewfinder{bottom:17px;left:16px;font-size:8px;letter-spacing:1px}figcaption{min-height:54px;padding:8px 5px;font-size:14px}.caption-note{font-size:8px;letter-spacing:.7px;max-width:100px;text-align:right;line-height:1.5}.caption-spark{font-size:20px;margin-right:5px}footer{flex-direction:column;gap:5px;margin-top:24px;font-size:10px}}
