/* Shared tokens, typography, controls and feedback; no workspace-specific layout. */
:root { --font-dm-sans: Arial; --font-instrument-serif: Georgia; }
:root { --background:#f8f7f2; --foreground:#203d35; --primary:#254e40; --primary-foreground:#fff; --card:#fffefa; --secondary:#e8ebdf; --muted:#eeeee5; --muted-foreground:#646e65; --accent:#d7eb9b; --destructive:#a03535; --border:#dcded3; --ring:#6a8763; --radius:8px; }
.dark { --background:#152e28; --foreground:#f8f7f2; --primary:#d7eb9b; --primary-foreground:#203d35; --card:#203d35; --secondary:#345046; --muted:#29463c; --muted-foreground:#b9c7bd; --accent:#9cb671; --destructive:#ec9e90; --border:#496056; --ring:#d7eb9b; }
* { box-sizing:border-box; border-color:var(--border); }
html { scroll-behavior:smooth; scroll-padding-top:30px; }
body { margin:0; background:var(--background); color:var(--foreground); font-family:var(--font-dm-sans),Arial,sans-serif; -webkit-font-smoothing:antialiased; }
a { color:inherit; text-decoration:none; }
button,a,input,select { -webkit-tap-highlight-color:transparent; }
a:focus-visible,button:focus-visible { outline:3px solid #789454; outline-offset:5px; }
::selection { background:#d7eb9b; color:#203d35; }
.wrap { width:min(1240px,calc(100% - 96px)); margin-inline:auto; }
.skip-link { position:fixed; top:-100px; left:20px; background:#d7eb9b; padding:12px; z-index:100; }
.skip-link:focus { top:12px; }
.wordmark { font-weight:700; font-size:34px; letter-spacing:-2px; display:inline-flex; align-items:baseline; gap:3px; }
.brand-dot { display:inline-block; width:7px; height:7px; background:#819d54; border-radius:50%; }
.eyebrow { font-size:10px; font-weight:600; letter-spacing:1.7px; line-height:1.7; }
h1,h2,h3,p { margin-top:0; }
h1 { font-family:var(--font-instrument-serif),Georgia,serif; font-weight:400; font-size:clamp(58px,5.8vw,82px); line-height:1.01; letter-spacing:-2.4px; margin-bottom:26px; }
em { font-family:var(--font-instrument-serif),Georgia,serif; font-weight:400; color:#66805b; }
.primary-link { display:inline-flex; align-items:center; justify-content:center; gap:25px; background:#254e40; color:#fff; border-radius:5px; padding:17px 23px; font-size:13px; font-weight:500; transition:background .2s,transform .2s; }
.primary-link:hover { background:#19382d; transform:translateY(-2px); }
.text-link { display:inline-flex; gap:14px; align-items:center; border-bottom:1px solid #9bab84; padding-bottom:6px; font-size:13px; }
@media(max-width:1050px) { h1 { font-size:65px; } }
@media(max-width:760px) { .wrap { width:calc(100% - 40px); } .wordmark { font-size:30px; } h1 { font-size:clamp(55px,10vw,78px); } }
@media(max-width:440px) { .primary-link { padding-inline:18px; gap:18px; font-size:12px; } }
@media(prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } *,*::before,*::after { transition:none!important; animation:none!important; } }
.inner-page { padding-block:80px 100px; min-height:calc(100vh - 250px); }
.inner-page h1 { font-size:clamp(50px,5vw,72px); line-height:1.04; margin-bottom:28px; }
.page-fine-print a { text-decoration:underline; text-underline-offset:4px; color:#254e40; }
.form-card { background:#eef0e6; padding:34px; border-radius:8px; min-width:0; }
.form-card h2 { font-family:var(--font-instrument-serif),Georgia,serif; font-size:38px; font-weight:400; line-height:1.1; margin:0 0 29px; }
.form-field { margin-bottom:22px; }
.form-field label { font-size:12px; margin-bottom:10px; }
.form-field input,.form-field textarea { background:#fffefa; border-color:#cbd4c1; border-radius:4px; font-size:14px; padding:12px; }
.form-field input { min-height:48px; }
.form-field textarea { min-height:150px; resize:vertical; }
.form-submit { width:100%; min-height:49px; border-radius:4px; gap:22px; font-size:12px; cursor:pointer; }
.form-secondary { min-height:44px; margin-top:18px; cursor:pointer; }
.form-note { font-size:10px; line-height:1.85; color:#64705c; margin:17px 0; }
.form-error { font-size:12px; line-height:1.8; color:#9b3030; padding:13px; border:1px solid #e8c6bf; background:#fff6f0; border-radius:4px; margin:17px 0; }
.form-success { display:flex; gap:12px; background:#e0eacb; padding:20px; border-radius:4px; font-size:13px; }
.form-success svg { flex-shrink:0; margin-top:2px; }
.form-success p { margin:8px 0 0; font-size:12px; line-height:1.8; }
.honeypot { position:absolute; left:-10000px; width:1px; height:1px; overflow:hidden; }
.form-intro { font-size:12px; line-height:1.8; color:#65715c; margin-bottom:28px; }
.material-body { white-space:pre-wrap; overflow-wrap:anywhere; font:15px/1.9 var(--font-dm-sans),Arial,sans-serif; max-width:850px; }
@media(max-width:1050px) { .form-card { padding:28px; } }
@media(max-width:760px) { .inner-page { padding-block:48px 60px; } .inner-page h1 { font-size:clamp(48px,9vw,65px); } .form-card { padding:26px; } }
.status-badge { display:inline-flex; align-items:center; gap:6px; padding:5px 9px; border-radius:4px; white-space:nowrap; font-size:10px; line-height:1.4; border:1px solid #d7dccc; }
.status-not_started { background:#f1f1e9; color:#777c6e; }
.status-started { background:#faf0d8; border-color:#e9d6a6; color:#846820; }
.status-completed { background:#e5eddb; border-color:#c5d5b4; color:#3f6433; }
.demo-notice { padding:14px 18px; background:#f5f0de; border:1px solid #e6dfc3; border-radius:4px; color:#82714a; font-size:11px; line-height:1.8; margin:27px 0; }
.session-notice { display:flex; align-items:center; justify-content:space-between; gap:16px; flex-wrap:wrap; margin:12px 0; }
.environment-label { display:inline-flex; align-items:center; width:max-content; padding:5px 8px; border:1px solid #aeb8ad; border-radius:4px; background:#f1f3ee; color:#35433d; font-size:10px; font-weight:700; letter-spacing:.08em; line-height:1.3; text-transform:uppercase; }
.environment-test { background:#fff2d9; border-color:#d7b879; color:#6e4718; }
.environment-production { background:#e8f2e9; border-color:#abc8ae; color:#275d35; }
button,input,textarea,select { font:inherit; }
button,input[type=submit] { cursor:pointer; border:1px solid #294c3c; }
.form-field label { display:block; }
.form-field input,.form-field textarea,.form-field select { width:100%; border:1px solid #bbc7b0; }
.form-field select { padding:12px; border-radius:4px; background:#fffefa; }
input:focus-visible,textarea:focus-visible,select:focus-visible,summary:focus-visible { outline:3px solid #789454; outline-offset:3px; }
.button { display:inline-flex; align-items:center; justify-content:center; padding:11px 18px; background:#f8f7f2; border:1px solid #bdcbb4; border-radius:4px; color:#254e40; }
hr { border:0; border-top:1px solid #c9d2bf; margin:25px 0; }
.sr-only { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
.form-error,.form-success { overflow-wrap:anywhere; }
