.landing{--landing-paper: #f2eee5;--landing-ink: #191a17;--landing-red: #d4422b;--landing-muted: #77766d;--landing-rule: #d6d0c4;overflow-x:clip;background:var(--landing-paper);color:var(--landing-ink);font-family:Arial Narrow,Helvetica Neue,sans-serif}html{scroll-behavior:smooth}.landing.reveal-ready [data-reveal]{opacity:0;transform:translateY(28px);transition:opacity .75s ease,transform .75s cubic-bezier(.22,1,.36,1)}.landing.reveal-ready [data-reveal].is-visible{opacity:1;transform:translateY(0)}.landing.reveal-ready .principles.is-visible article,.landing.reveal-ready .steps.is-visible article,.landing.reveal-ready .stop-row{animation:landing-rise .65s both}.landing.reveal-ready .principles.is-visible article:nth-child(2),.landing.reveal-ready .steps.is-visible article:nth-of-type(2),.landing.reveal-ready .stop-row:nth-child(2){animation-delay:.1s}.landing.reveal-ready .principles.is-visible article:nth-child(3),.landing.reveal-ready .steps.is-visible article:nth-of-type(3),.landing.reveal-ready .stop-row:nth-child(3){animation-delay:.2s}@keyframes landing-rise{0%{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}.landing a{color:inherit;text-decoration:none}.landing-header{position:sticky;top:0;z-index:10;min-height:70px;padding:0 5.5%;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--landing-rule);background:var(--landing-paper);font-size:12px;text-transform:uppercase;letter-spacing:.08em}.landing-logo{display:inline-flex;align-items:center;gap:10px;font-weight:700}.logo-mark{display:grid;place-items:center;width:28px;height:28px;color:var(--landing-paper);background:var(--landing-red);font-family:Georgia,serif;font-size:18px}.landing-header nav{display:flex;gap:34px;color:var(--landing-muted)}.landing-header nav a:hover,.header-link:hover{color:var(--landing-red)}.header-link{font-weight:700}.header-link span{color:var(--landing-red)}.hero{position:relative;min-height:650px;padding:72px 8% 92px;display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:5%;border-bottom:1px solid var(--landing-rule)}.hero-copy{position:relative;z-index:1;max-width:550px}.eyebrow,.section-label,.art-topline,.art-bottomline,.hero-note,.hero-index,.route-foot,.footer-kicker,.footer-bottom{font-size:10px;font-weight:700;letter-spacing:.13em;text-transform:uppercase}.eyebrow{display:flex;align-items:center;gap:10px;color:var(--landing-muted)}.live-dot{width:7px;height:7px;border-radius:50%;background:var(--landing-red);box-shadow:0 0 0 4px #d4422b1f}.hero h1,.idea-grid h2,.how-heading h2,.route-heading h2,.landing-footer h2{margin:27px 0 24px;font-family:Georgia,Times New Roman,serif;font-size:clamp(58px,7vw,104px);font-weight:400;line-height:.94}.hero h1 em,.idea-grid h2 em,.how-heading h2 em,.route-heading h2 em,.landing-footer h2 em{color:var(--landing-red);font-weight:400}.hero-intro{max-width:410px;color:#55564f;font-family:Georgia,serif;font-size:17px;line-height:1.65}.primary-link{display:inline-flex;align-items:center;gap:28px;margin-top:24px;padding:14px 18px;background:var(--landing-red);color:#fff!important;font-size:11px;font-weight:700;letter-spacing:.07em;text-transform:uppercase;transition:background .2s ease,transform .2s ease}.primary-link:hover{background:#ad3323;transform:translateY(-2px)}.primary-link span{font-size:17px}.hero-note{margin-top:17px;color:var(--landing-muted);font-weight:400;letter-spacing:.07em}.hero-art{position:relative;aspect-ratio:1 / .91;min-height:390px;padding:16px;background:#e6e0d4;border:1px solid #d4cdbf;transform:rotate(1.1deg);box-shadow:12px 14px #d7d0c2}.art-topline,.art-bottomline{display:flex;justify-content:space-between;gap:8px;color:#737269;font-size:8px}.map-lines{position:absolute;top:45px;right:15px;bottom:40px;left:15px;overflow:hidden;background-image:radial-gradient(#c6c0b5 .7px,transparent .7px);background-size:9px 9px}.map-lines svg{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%}.street{fill:none;stroke:#b9b3a8;stroke-width:7;opacity:.8}.route-line{fill:none;stroke:var(--landing-red);stroke-width:3;stroke-dasharray:2 9;stroke-linecap:round}.map-pin{position:absolute;display:flex;align-items:center;gap:6px;font-size:9px}.map-pin i{display:grid;place-items:center;width:25px;height:25px;border:1px solid var(--landing-red);border-radius:50%;background:var(--landing-paper);color:var(--landing-red);font-size:8px;font-style:normal;font-weight:700}.map-pin b{max-width:110px;padding:4px 5px;background:#f2eee5d9;font-weight:600}.pin-1{top:12%;left:29%}.pin-2{top:41%;left:56%}.pin-3{top:53%;left:18%}.pin-4{top:78%;left:64%}.map-water{position:absolute;top:49%;left:43%;color:#7b9b98;font-size:8px;font-style:italic;letter-spacing:.2em;transform:rotate(-68deg)}.map-stamp{position:absolute;right:7%;bottom:7%;display:grid;place-items:center;width:55px;height:55px;border:1px solid var(--landing-red);border-radius:50%;color:var(--landing-red);font-family:Georgia,serif;font-size:11px;line-height:1.1;text-align:center;transform:rotate(12deg)}.hero-index{position:absolute;right:5.5%;bottom:28px;color:var(--landing-muted)}.hero-index span{color:var(--landing-red)}.idea-section,.how-section,.route-section{padding:28px 8% 88px}.section-label{display:flex;justify-content:space-between;padding-bottom:14px;border-bottom:1px solid var(--landing-rule);color:var(--landing-muted);font-size:9px}.section-label span:first-child{color:var(--landing-red)}.idea-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:9%;padding:46px 0 60px}.idea-grid h2,.how-heading h2,.route-heading h2{margin:0;font-size:clamp(40px,5vw,68px);line-height:1.02}.idea-text{position:relative;max-width:455px;padding-top:2px;color:#55564f;font-family:Georgia,serif;font-size:15px;line-height:1.75}.idea-text p:first-child{margin-top:0;color:var(--landing-ink);font-size:18px}.margin-note{display:inline-flex;align-items:center;gap:9px;margin-top:7px;padding:0;border:0;background:transparent;color:var(--landing-red);cursor:pointer;font-family:Arial,sans-serif;font-size:9px;font-weight:700;letter-spacing:.12em}.margin-note b{font-size:17px}.principles{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--landing-rule)}.principles article{min-height:160px;padding:22px 25px 8px 0;border-right:1px solid var(--landing-rule)}.principles article+article{padding-left:25px}.principles article:last-child{border-right:0}.principles article>span,.step-number{color:var(--landing-red);font-size:10px;font-weight:700}.principles h3,.steps h3{margin:22px 0 8px;font-family:Georgia,serif;font-size:23px;font-weight:400}.principles p,.steps p{max-width:280px;margin:0;color:var(--landing-muted);font-size:13px;line-height:1.6}.how-section{background:var(--landing-ink);color:var(--landing-paper)}.how-section .section-label{border-color:#41413c;color:#9b9a90}.how-heading{display:flex;justify-content:space-between;align-items:end;gap:35px;padding:47px 0 55px}.how-heading h2{margin:0}.how-heading h2 em{color:#ed6349}.how-heading>p{max-width:270px;margin:0 0 6px;color:#a8a79d;font-family:Georgia,serif;font-size:14px;line-height:1.65}.steps{display:grid;grid-template-columns:1fr 35px 1fr 35px 1fr;align-items:start;gap:20px;border-top:1px solid #41413c;padding-top:25px}.steps article{position:relative;min-height:180px}.step-icon{display:grid;place-items:center;width:40px;height:40px;margin-top:22px;border:1px solid #65655d;color:#ed6349;font-size:18px}.nfc-icon{font-size:21px;line-height:1}.steps h3{margin-top:15px}.steps p{color:#a8a79d}.step-arrow{padding-top:60px;color:#ed6349;font-size:20px}.route-section{padding-bottom:90px}.route-heading{display:flex;align-items:end;justify-content:space-between;gap:30px;padding:48px 0 42px}.route-heading h2{margin:0}.route-heading h2 em{color:var(--landing-red)}.route-heading>p{max-width:265px;margin:0 0 5px;color:var(--landing-muted);font-family:Georgia,serif;font-size:14px;line-height:1.6}.stop-row{display:grid;grid-template-columns:55px minmax(210px,1.1fr) minmax(180px,.9fr) 30px;align-items:center;gap:20px;min-height:83px;border-top:1px solid var(--landing-rule);transition:padding .2s ease,background .2s ease}.stop-row:hover{padding-right:10px;padding-left:10px;background:#ebe6dc}.stop-index{color:var(--landing-red);font-family:Georgia,serif;font-size:20px}.stop-name{display:flex;align-items:baseline;flex-wrap:wrap;gap:11px}.stop-name h3{margin:0;font-family:Georgia,serif;font-size:17px;font-weight:400}.stop-name>span{color:var(--landing-muted);font-size:9px;letter-spacing:.1em;text-transform:uppercase}.stop-story{margin:0;color:var(--landing-muted);font-family:Georgia,serif;font-size:13px;font-style:italic}.stop-mark{color:var(--landing-red);font-size:17px;text-align:right}.route-foot{display:flex;justify-content:space-between;gap:20px;padding-top:15px;border-top:1px solid var(--landing-rule);color:var(--landing-muted);font-size:8px}.route-foot span:first-child{color:var(--landing-red)}.landing-footer{position:relative;min-height:360px;padding:57px 8% 25px;overflow:hidden;background:var(--landing-red);color:#fff8ec}.footer-kicker{margin:0;color:#fff8ecb8}.landing-footer h2{margin:26px 0 22px;font-size:clamp(54px,8vw,100px)}.landing-footer h2 em{color:var(--landing-ink)}.footer-link{display:inline-flex;align-items:center;gap:18px;padding-bottom:6px;border-bottom:1px solid rgb(255 248 236 / 60%);font-size:12px}.footer-link span{font-size:17px}.footer-bottom{display:flex;justify-content:space-between;gap:20px;margin-top:75px;padding-top:14px;border-top:1px solid rgb(255 248 236 / 35%);color:#fff8ecb8;font-size:8px}.footer-credits{display:flex;flex-direction:column;gap:5px;text-align:right}.footer-credits a{color:#fff8ec;text-decoration:underline;text-underline-offset:3px}.landing a:focus-visible{outline:2px solid currentColor;outline-offset:4px}@media (min-width: 1400px){.hero{padding-right:max(8%,calc((100vw - 1200px)/2));padding-left:max(8%,calc((100vw - 1200px)/2))}}@media (max-width: 760px){.landing-header{min-height:62px;padding:0 20px}.landing-header nav{gap:16px}.header-link{display:none}.hero{min-height:auto;padding:56px 24px 76px;grid-template-columns:1fr;gap:36px}.hero h1{font-size:clamp(62px,14vw,92px)}.hero-art{width:min(100%,520px);min-height:0;justify-self:center}.hero-index{right:24px;bottom:21px}.idea-section,.how-section,.route-section{padding:24px 24px 62px}.section-label{font-size:8px;letter-spacing:.08em}.section-label span:last-child{text-align:right}.idea-grid{grid-template-columns:1fr;gap:25px;padding:35px 0 42px}.idea-grid h2,.how-heading h2,.route-heading h2{font-size:clamp(40px,10vw,62px)}.principles{grid-template-columns:1fr}.principles article,.principles article+article{min-height:0;padding:17px 0 20px;border-right:0;border-bottom:1px solid var(--landing-rule)}.principles article:last-child{border-bottom:0}.principles h3{margin:11px 0 5px}.how-heading,.route-heading{align-items:start;flex-direction:column;gap:17px;padding:36px 0}.steps{grid-template-columns:1fr;gap:0}.steps article{min-height:0;padding:17px 0 23px;border-bottom:1px solid #41413c}.step-icon{margin-top:14px}.steps h3{margin-top:11px}.step-arrow{display:none}.stop-row{grid-template-columns:37px 1fr 25px;gap:10px;min-height:85px;padding:13px 0}.stop-name{display:block}.stop-name h3{font-size:16px}.stop-name>span{display:inline-block;margin-top:5px}.stop-story{grid-column:2;grid-row:2;font-size:12px}.stop-mark{grid-column:3;grid-row:1 / span 2}.route-foot{flex-direction:column;gap:7px}.landing-footer{min-height:320px;padding:48px 24px 20px}.landing-footer h2{font-size:clamp(52px,12vw,82px)}.footer-bottom{flex-direction:column;gap:8px;margin-top:58px}.footer-credits{text-align:left;margin-top:9px}}@media (max-width: 390px){.landing-header nav{gap:10px;font-size:10px}.landing-logo{gap:7px;font-size:10px}.logo-mark{width:25px;height:25px}}@media (prefers-reduced-motion: reduce){html{scroll-behavior:auto!important}.landing *,.landing *:before,.landing *:after{animation:none!important;scroll-behavior:auto!important;transition-duration:.01ms!important}.landing.reveal-ready [data-reveal]{opacity:1;transform:none}}.admin-root{max-width:1200px;margin:0 auto;padding:24px 16px 64px}.admin-header{display:flex;flex-wrap:wrap;gap:16px;justify-content:space-between;align-items:flex-end;margin-bottom:24px}.admin-header h1{margin:0;font-size:28px}.admin-header-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.admin-periods{display:flex;gap:4px;background:#f0eae0;border-radius:10px;padding:4px}.admin-btn{border:none;border-radius:8px;padding:8px 16px;font-family:inherit;font-size:14px;cursor:pointer;background:var(--accent);color:#fff;transition:opacity .15s}.admin-btn:hover{opacity:.88}.admin-btn.ghost{background:transparent;color:var(--accent);border:1px solid var(--accent);text-decoration:none;display:inline-block}.admin-btn.small{padding:4px 10px;font-size:12px;margin-left:12px;vertical-align:middle}.admin-btn.active{background:var(--accent);color:#fff}.admin-periods .admin-btn{background:transparent;color:var(--text);padding:6px 12px}.admin-periods .admin-btn.active{background:var(--accent);color:#fff}.admin-kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:12px;margin-bottom:24px}.admin-kpi{background:#fff;border:1px solid #e5ddd0;border-radius:14px;padding:16px;display:flex;flex-direction:column;gap:4px}.admin-kpi-value{font-size:26px;font-weight:700;color:var(--accent)}.admin-kpi-label{font-size:13px;color:#7a6f60}.admin-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px;margin-bottom:24px}.admin-card{background:#fff;border:1px solid #e5ddd0;border-radius:14px;padding:20px;margin-bottom:16px}.admin-card h2{margin:0 0 16px;font-size:18px}.admin-card h3{margin:24px 0 12px;font-size:15px}.admin-card.span-2{grid-column:span 2}.admin-empty{color:#7a6f60;text-align:center;padding:32px 0}.admin-table-wrap{overflow-x:auto}.admin-table{width:100%;border-collapse:collapse;font-size:14px}.admin-table th,.admin-table td{text-align:left;padding:10px 12px;border-bottom:1px solid #eee5d8;white-space:nowrap}.admin-table th{color:#7a6f60;font-weight:600;font-size:12px;text-transform:uppercase;letter-spacing:.04em}.admin-table tbody tr{cursor:pointer;transition:background .1s}.admin-table tbody tr:hover{background:#faf6ef}.admin-table tbody tr.selected{background:#f5e9df}.admin-badge{display:inline-block;margin-left:8px;padding:2px 8px;border-radius:999px;background:#f0eae0;color:#7a6f60;font-size:11px}.admin-detail-kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:12px;margin-bottom:8px}.admin-detail-kpis>div{background:#faf6ef;border-radius:10px;padding:12px;display:flex;flex-direction:column;gap:2px}.admin-detail-kpis strong{font-size:20px;color:var(--accent)}.admin-detail-kpis span{font-size:12px;color:#7a6f60}.admin-ref{max-width:260px;overflow:hidden;text-overflow:ellipsis}.admin-error{color:#b3261e;background:#fdecea;border-radius:8px;padding:10px 14px;margin-bottom:16px}.admin-login{max-width:420px;padding-top:48px}.admin-login label{display:flex;flex-direction:column;gap:6px;margin-bottom:16px;font-size:14px;color:#7a6f60}.admin-login input{border:1px solid #e5ddd0;border-radius:8px;padding:10px 12px;font-family:inherit;font-size:15px;background:#fff}@media (max-width: 800px){.admin-grid{grid-template-columns:1fr}.admin-card.span-2{grid-column:span 1}}:root{--bg: #faf7f2;--ink: #1f1b16;--muted: #6f675d;--accent: #b5502a;--card: #ffffff;--line: #e7e0d6}*{box-sizing:border-box}body{margin:0;font-family:Georgia,Times New Roman,serif;background:var(--bg);color:var(--ink);-webkit-font-smoothing:antialiased}.container{max-width:720px;margin:0 auto;padding:24px 20px 64px}.brand{font-size:14px;letter-spacing:.35em;text-transform:uppercase;color:var(--muted);text-align:center;margin:32px 0 8px}h1{font-weight:400;text-align:center}.subtitle{text-align:center;color:var(--muted);font-style:italic}.card{background:var(--card);border:1px solid var(--line);border-radius:16px;padding:28px;box-shadow:0 8px 30px #1f1b160f}.cover{width:100%;border-radius:12px;display:block;margin-bottom:20px}.player{display:flex;align-items:center;gap:16px}.play-btn{width:56px;height:56px;border-radius:50%;border:none;background:var(--accent);color:#fff;font-size:20px;cursor:pointer;flex-shrink:0;transition:transform .15s ease}.play-btn:hover{transform:scale(1.06)}.progress-row{flex:1}.time{font-size:12px;color:var(--muted);font-family:monospace;display:flex;justify-content:space-between}.progress-slider{position:relative;width:100%;height:18px;display:flex;align-items:center;cursor:pointer}.progress-track{position:relative;flex:1;height:6px;background:var(--line);border-radius:3px}.progress-range{position:absolute;height:100%;background:var(--accent);border-radius:3px}.progress-thumb{display:block;width:14px;height:14px;border:2px solid var(--accent);border-radius:50%;background:#fff;box-shadow:0 1px 3px #1f1b1633;cursor:grab;transition:transform .12s ease}.progress-thumb:hover,.progress-thumb:focus-visible{transform:scale(1.2);outline:none}.progress-thumb:active{cursor:grabbing}.meta{color:var(--muted);font-size:14px}.map-wrap{height:320px;border-radius:12px;overflow:hidden;margin-top:20px;border:1px solid var(--line)}.map-canvas,.map-placeholder{height:100%}.map-placeholder{display:grid;place-items:center;padding:24px;color:var(--muted);text-align:center;background:var(--bg)}.error-page{text-align:center;padding:80px 20px}.error-code{font-size:72px;color:var(--accent)}.back-link{color:var(--accent);text-decoration:none;border-bottom:1px dotted var(--accent)}
