/* Shared chrome for TrainSnap policy pages (privacy / terms / eula) */
*{box-sizing:border-box}
body{margin:0;font-family:var(--font-body);color:var(--ink-900);background:var(--paper);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;overflow-x:hidden;display:flex;flex-direction:column;min-height:100vh}
nav.top{position:sticky;top:0;left:0;right:0;z-index:100;display:flex;align-items:center;justify-content:space-between;padding:16px 32px;background:rgba(250,250,247,0.92);backdrop-filter:blur(14px);border-bottom:1px solid rgba(0,0,0,0.05)}
nav.top a.brand{text-decoration:none;font-family:var(--font-display);font-weight:700;font-size:16px;letter-spacing:-0.01em;color:#0b0b0c;line-height:1}
nav.top .links{display:flex;gap:28px;align-items:center}
nav.top .links a{text-decoration:none;color:var(--ink-900);font-size:14px;font-weight:500}
nav.top .links a:hover{opacity:0.6}
.nav-hamburger{display:none;position:absolute;right:16px;top:50%;transform:translateY(-50%);background:transparent;border:none;padding:8px;cursor:pointer;flex-direction:column;gap:4px;align-items:stretch;width:36px;height:36px;justify-content:center}
.nav-hamburger .bar{display:block;width:20px;height:2px;background:var(--ink-900);transition:transform 220ms var(--ease),opacity 180ms var(--ease);transform-origin:center}
.nav-hamburger.is-open .bar:nth-child(1){transform:translateY(6px) rotate(45deg)}
.nav-hamburger.is-open .bar:nth-child(2){opacity:0}
.nav-hamburger.is-open .bar:nth-child(3){transform:translateY(-6px) rotate(-45deg)}
.nav-mobile-panel{position:fixed;top:60px;left:0;right:0;background:var(--ink-900);color:var(--paper);padding:8px 0;z-index:99;transform:translateY(-8px);opacity:0;pointer-events:none;transition:transform 240ms var(--ease),opacity 200ms var(--ease);border-bottom:1px solid rgba(255,255,255,0.08);display:none}
.nav-mobile-panel.is-open{transform:translateY(0);opacity:1;pointer-events:auto}
.nav-mobile-panel a{display:block;padding:18px 32px;color:var(--paper);text-decoration:none;font-family:var(--font-display);font-weight:500;font-size:18px;letter-spacing:-0.01em;border-bottom:1px solid rgba(255,255,255,0.06)}
.nav-mobile-panel a:last-child{border-bottom:none}
nav.top .links a{white-space:nowrap}
@media (max-width:1240px){nav.top .links{gap:20px}}
@media (max-width:1100px){nav.top .links{display:none}.nav-hamburger{display:flex}.nav-mobile-panel{display:block}}
main.policy{flex:1;max-width:1320px;width:100%;margin:0 auto;padding:var(--s-8) 32px var(--s-9)}
.policy-head{display:flex;align-items:center;gap:16px;margin-bottom:var(--s-6);padding-bottom:var(--s-3);border-bottom:1px solid var(--ink-200)}
.policy-head .num{font-family:var(--font-mono);font-size:12px;color:var(--ink-500);letter-spacing:0.14em}
.policy-head .name{font-family:var(--font-mono);font-size:12px;letter-spacing:0.14em;text-transform:uppercase}
.policy-head .bar{flex:1;height:2px;background:var(--ink-900)}
main.policy h1{font-family:var(--font-display);font-weight:500;font-size:clamp(34px,5vw,60px);letter-spacing:-0.035em;line-height:1;margin:0 0 var(--s-6)}
.policy-frame{border:1px solid var(--ink-200);background:var(--white);padding:var(--s-6)}
.policy-frame iframe{display:block;border:0;width:100%}
.policy-frame [name="termly-embed"]{font-family:var(--font-body);color:var(--ink-900);line-height:1.6}
@media (max-width:600px){.policy-frame{padding:var(--s-5) var(--s-4)}}
a{color:var(--ink-900)}
a:hover{color:var(--ink-700)}
footer.site{padding:var(--s-7) 32px var(--s-5);border-top:1px solid var(--ink-200);display:flex;flex-direction:column;gap:var(--s-4);max-width:1320px;width:100%;margin:0 auto}
footer.site .copy{font-family:var(--font-mono);font-size:11px;color:var(--ink-500);letter-spacing:0.1em;text-transform:uppercase;display:flex;justify-content:space-between;flex-wrap:wrap;gap:4px}
@media (max-width:399px){footer.site .copy{flex-direction:column}}
footer.site .legal{display:flex;align-items:center;flex-wrap:wrap;gap:10px;font-family:var(--font-mono);font-size:11px;letter-spacing:0.1em;text-transform:uppercase;color:var(--ink-500)}
footer.site .legal a{color:var(--ink-500);text-decoration:none}
footer.site .legal a:hover{text-decoration:underline;text-underline-offset:3px}
footer.site .legal .sep{color:var(--ink-300)}
@media (max-width:600px){main.policy{padding:var(--s-7) 20px var(--s-8)}}
:focus-visible{outline:2px solid var(--signal);outline-offset:3px}
