/* Page frame for the new sites (Students, StenoSwap), copied from RecordWork's own look:
   same tokens, Segoe UI, 12/14/20/28 type, 8px grid, dark hero card, light/dark modes. */
*{box-sizing:border-box}
:root{--ink:#1a1a1a;--muted:#4a4a45;--paper:#fafaf7;--line:#dfe4dd;--green:#e3ecdf;--teal:#286857;--cream:#f0efe6;--white:#fff;--surface:#fff;--hero:#142e35;--hero-ink:#d3dcd7;--accent:#d9f08d;color-scheme:light}
[data-theme="dark"]{--ink:#ececE6;--muted:#bdbdb5;--paper:#121412;--line:#2f342f;--green:#243024;--teal:#86c9ab;--cream:#1b1f1b;--white:#1a1d1a;--surface:#1a1d1a;--hero:#0f2228;color-scheme:dark}
body{margin:0;background:var(--paper);color:var(--ink);font-family:'Segoe UI',Arial,sans-serif;font-size:14px;line-height:1.5}
button,input,select,textarea{font:inherit;color:inherit}
button,a,input,select,textarea{touch-action:manipulation}
button{cursor:pointer;border:0;background:none}
a{color:var(--teal);text-decoration:none}a:hover{text-decoration:underline}
button:focus-visible,a:focus-visible{outline:3px solid #a0b948;outline-offset:3px}
h1,h2,h3,p{margin:0}
.skip{position:absolute;top:-50px;left:20px;padding:8px;background:var(--surface);z-index:100}.skip:focus{top:10px}
.topbar{min-height:90px;padding:0 5%;display:flex;align-items:center;border-bottom:1px solid var(--line);gap:32px;background:var(--paper);position:sticky;top:0;z-index:50}
.brand{display:flex;align-items:center;gap:8px;font-size:28px;letter-spacing:-1px;font-weight:700;color:var(--ink);white-space:nowrap;position:relative}
.brand span{font-weight:400}
.brand>span{margin-left:-8px} /* the flex gap is for the logo; "Record|Work" stays one word */
.brand small{position:absolute;left:43px;bottom:-12px;font-size:12px;letter-spacing:2px;font-weight:600}
.brand:hover{text-decoration:none}
.brand{min-height:44px}
.topbar nav{display:flex;gap:24px;margin-left:auto;align-items:center;overflow-x:auto;scrollbar-width:none}
.nav{height:90px;font-weight:600;font-size:14px;position:relative;color:#69716c;padding:0 4px;min-width:44px;white-space:nowrap}
[data-theme="dark"] .nav{color:#bbbebc}
.nav.active{color:var(--ink)}.nav.active:after{content:'';position:absolute;bottom:0;height:3px;left:0;right:0;background:var(--ink)}
.theme-switch{display:flex;border:1px solid var(--line);border-radius:6px;overflow:hidden}
.theme-switch button{padding:8px 12px;font-size:12px;min-height:44px;min-width:44px}
.theme-switch button[aria-pressed="true"]{background:var(--ink);color:var(--paper)}
.button{white-space:nowrap;padding:12px 16px;border-radius:6px;display:inline-flex;justify-content:center;align-items:center;gap:8px;font-weight:600;font-size:14px;min-height:44px;transition:transform .12s}
.button:active{transform:scale(.96)}
.button.dark{background:var(--ink);color:var(--paper)}.button.dark:hover{background:#2b4d51;text-decoration:none}
.button.outline{border:1px solid #c8d1c8;background:transparent}.button.outline:hover{background:var(--green);text-decoration:none}
.hero{margin:32px 5% 0;background:var(--hero);color:#fff;border-radius:13px;padding:48px;position:relative;overflow:hidden;text-align:center}
.hero .eyebrow{font-size:12px;font-weight:650;letter-spacing:1.8px;color:#c7d1c7;display:flex;align-items:center;gap:8px;justify-content:center}
.status-dot{width:6px;height:6px;border-radius:50%;background:var(--green)}
.hero h1{font-size:28px;font-weight:400;line-height:1.15;letter-spacing:-1.2px;margin:16px auto;max-width:22ch}
.hero h1 em{font-style:normal;color:var(--accent)}
.hero p{color:var(--hero-ink);max-width:60ch;margin:0 auto;line-height:1.7}
.doors{display:flex;gap:16px;justify-content:center;flex-wrap:wrap;margin-top:32px}
.door{background:#ffffff14;border:1px solid #ffffff2e;color:#fff;border-radius:10px;padding:16px 24px;text-align:left;min-width:200px;transition:transform .15s,background .15s}
.door:hover{background:#ffffff24;transform:translateY(-2px)}.door:active{transform:scale(.97)}
.door b{display:block;font-size:14px}.door span{font-size:12px;color:#c7d1c7}
.orbit{position:absolute;border:1px solid #3b5558;border-radius:50%;pointer-events:none}
.notice-bar{margin:16px 5% 0;display:flex;justify-content:space-between;gap:16px;color:var(--muted);font-size:12px;flex-wrap:wrap}
.notice-bar b{color:var(--teal)}
.page{padding:32px 5% 96px}
.section-head{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;margin:0 0 24px;flex-wrap:wrap}
.section-head .eyebrow{font-size:12px;font-weight:650;letter-spacing:1.8px;color:var(--muted)}
.section-head h2{font-size:28px;font-weight:400;letter-spacing:-1px;margin:8px 0}
.section-head p{color:var(--muted)}
.view{display:none}.view.on{display:block;animation:fade .2s ease}
@keyframes fade{from{transform:translateY(6px)}}
.preview-banner{background:var(--warn-bg,#f6ecd6);color:var(--warn,#6b4500);text-align:center;font-size:12px;padding:8px 16px;font-weight:600}
footer.site{border-top:1px solid var(--line);padding:32px 5%;color:var(--muted);font-size:12px;display:flex;gap:24px;flex-wrap:wrap;justify-content:space-between}
@media(max-width:1280px){.topbar{flex-wrap:wrap;padding:16px 4% 0;gap:16px;min-height:auto}.topbar .theme-switch{margin-left:auto}.topbar nav{order:3;flex-basis:100%;margin:0;gap:24px}.nav{height:47px}}
@media(max-width:900px){.topbar{position:static}.brand{font-size:20px}.brand small{left:39px}.topbar nav{gap:16px}.nav{font-size:12px}
 .hero{margin:16px 4% 0;padding:32px 20px}.page{padding:24px 4% 96px}.notice-bar{margin:16px 4% 0}.section-head h2{font-size:20px}}
/* Tap targets: every link and button in the footer is at least 44px tall */
footer.site a,footer.site button{display:inline-flex;align-items:center;min-height:44px}
@media(max-width:900px){
 .doors{flex-direction:column;align-items:stretch}.door{min-width:0;width:100%}
 .hero .eyebrow{flex-wrap:wrap}
}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}
