/* Valus: living forms, clear reading, and the rounded geometry of its wordmark.
   Audiowide is a complementary display face, not the original logo font. */
@font-face{font-family:'Valus Rounded';src:url('assets/fonts/Audiowide-Regular.ttf') format('truetype');font-weight:400;font-style:normal;font-display:swap}
:root{--font-display:'Valus Rounded',Arial,sans-serif;--font-body:Arial,Helvetica,sans-serif;--font-mono:Arial,Helvetica,sans-serif;--font-button:Arial,Helvetica,sans-serif;--bg:#fcfaf8;--bg-deep:#f1e9e7;--ink:#30191e;--ink-2:#59464b;--muted:#78646a;--red:#c51e3e;--red-hover:#a61330;--red-ink:#ad1835;--red-soft:#f9e9eb;--line:#612a3515;--line-strong:#612a352d;--radius:24px}
:root[data-theme='dark']{--bg:#140d10;--bg-deep:#0b0709;--surface:#21161a;--surface-2:#291b20;--surface-3:#35252b;--ink:#fcf3f3;--ink-2:#d9c6cd;--muted:#b49aa5;--red:#ef4b68;--red-hover:#ff607b;--red-ink:#ff8ba2;--red-soft:#ef4b6818;--line:#f4b8c514;--line-strong:#f4b8c530}
body{font-family:Arial,Helvetica,sans-serif;background:var(--bg);line-height:1.6}
.landing{--wrap:min(1280px,calc(100% - 96px))}
.micro,.eyebrow{font-size:11px;letter-spacing:.08em;font-weight:600}
.button{font-size:13px;letter-spacing:0;text-transform:none;min-height:48px;box-shadow:none;font-weight:600}
.button.login{font-size:13px;min-height:40px;letter-spacing:0;gap:4px}
.site-header{height:82px;padding:0 48px}
.site-header.scrolled{background:color-mix(in srgb,var(--bg) 94%,transparent);backdrop-filter:blur(16px)}
.site-nav{gap:30px}.site-nav a{font-size:14px}.site-nav a.current{color:var(--red-ink)}
.brand-mark{width:22px;height:34px}.wordmark{width:102px;height:30px}.brand{gap:10px}
.landing>.hero{height:max(860px,100svh);max-height:1100px}
.hero-guides{display:none}.hero-meta{top:124px;border:0;color:var(--muted)}
.hero::before{content:'';position:absolute;inset:0;z-index:-1;pointer-events:none;background:linear-gradient(90deg,var(--bg) 0%,color-mix(in srgb,var(--bg) 88%,transparent) 25%,transparent 63%)}
.hero::after{height:160px}
.hero-copy{top:35%;bottom:auto;gap:23px}
.hero-kicker{font-size:13px;color:var(--red-ink);display:flex;align-items:center;gap:10px}
.hero-kicker i{width:7px;height:7px;border-radius:50%;background:var(--red)}
.hero h1,.hero h1.duo{font-size:clamp(48px,5.9vw,88px);line-height:1.15;font-weight:400;letter-spacing:-.045em;max-width:13ch}
.hero h1 .ln{padding-bottom:.12em;margin-bottom:-.12em}.hero h1 em{color:var(--red-ink)}
.hero-side{bottom:100px;align-items:center}.hero-side p{max-width:430px;font-size:17px;line-height:1.65}
.hero-foot{height:62px;grid-template-columns:1fr auto 1fr;border-top:1px solid var(--line-strong);gap:20px}
.motion-toggle{justify-self:end;font:12px Arial,sans-serif;color:var(--ink-2);border:1px solid var(--line-strong);padding:7px 13px;border-radius:24px;white-space:nowrap}
.hero-foot .fig{font-size:10px;letter-spacing:.06em}.scroll-hint{font-size:10px}
.manifesto{padding:110px 0 90px;text-align:center}.manifesto .section-label{display:none}
.manifesto-copy{font:400 clamp(27px,3.4vw,48px)/1.35 var(--font-display);letter-spacing:-.03em;max-width:none}
.manifesto-copy b{font-weight:400;color:var(--red-ink)}.manifesto-note{color:var(--ink-2);margin-top:25px;font-size:16px;line-height:1.8}
.landing>.cellular-atlas{width:100%;padding:74px 0 96px;background:var(--red-soft);scroll-margin-top:100px}
.atlas-intro{width:var(--wrap);margin:0 auto 40px;display:flex;align-items:end;justify-content:space-between;gap:32px}
.atlas-intro .eyebrow{color:var(--red-ink);margin-bottom:19px}.atlas-intro h2{font-size:clamp(30px,3.6vw,52px);line-height:1.2;font-weight:400;letter-spacing:-.035em}
.atlas-shell{width:var(--wrap);margin:auto;background:#160c11;color:#faeff2;border-radius:28px;overflow:hidden;box-shadow:0 25px 65px -45px #630e30a0}

.atlas-view{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(280px,1fr);min-height:540px}
.specimen-stage{position:relative;min-height:540px;isolation:isolate;background:radial-gradient(ellipse at center,#51112435,transparent 70%)}
.specimen-canvas{position:absolute;inset:0;width:100%;height:100%}
.principles{padding:100px 0}.section-label{margin-bottom:40px}.section-label .micro{color:var(--red-ink);font-size:11px}.rule{background:var(--line)}
.principle-grid{gap:24px}.principle-grid article{position:relative;border:0;background:var(--surface);padding:30px;border-radius:24px;gap:16px}
.ghost-num{font-family:Arial,sans-serif;font-size:13px!important;font-weight:600;line-height:1;margin:0 0 20px!important;color:var(--red-ink);-webkit-text-stroke:0;opacity:1}
.principle-grid h3{font-size:28px;letter-spacing:-.025em;font-weight:400}.principle-grid p{font-size:15px;line-height:1.7}
.preview{padding:35px 0 110px;gap:70px;align-items:center}.preview-copy{position:static}
.preview h2,.board-head h2,.statement h2{font-size:clamp(30px,3.8vw,52px);line-height:1.2;letter-spacing:-.035em;font-weight:400}
.split.duo,.split.duo b{font-weight:400;letter-spacing:-.035em}
.preview-window{border-radius:24px;box-shadow:0 20px 65px -40px #8d203f45;border-color:var(--line-strong);backdrop-filter:none;background:var(--surface)}
.preview-window::before,.preview-window::after{display:none}.pw-bar{padding:16px 20px;background:var(--red-soft);border-radius:24px 24px 0 0}.pw-bar .micro{font-size:9px;letter-spacing:.03em}.pw-dots{display:none}.pw-head h4{font-family:Arial,sans-serif;font-weight:600}.pw-list li span{font-size:10px;letter-spacing:0}
.board-section{padding-bottom:110px}.board-row{border-top:1px solid var(--line);border-radius:0;padding-block:25px}.board-row strong{font-family:Arial,sans-serif;font-size:23px;font-weight:500;letter-spacing:-.025em}.board-row .code{color:var(--muted);letter-spacing:0;font-size:11px}.board-row .prep{font-size:10px;letter-spacing:.04em}.board-row .go{border:0;background:var(--red-soft);color:var(--red-ink)}
.chapter-section{padding-bottom:100px}.chapter-grid{grid-template-columns:1.15fr 1fr;gap:24px}.photo-panel{border-radius:28px;min-height:590px;background:#1a0c13}.cellular-chapter::after{background:linear-gradient(transparent 35%,#1a0c13 70%)}
.frost{background:none;border:0;box-shadow:none;backdrop-filter:none;left:10px;bottom:12px;color:#fcf3f6;width:calc(100% - 20px);padding:28px}.frost .micro{color:#ed8ea7}.frost p{color:#d7bfc9}.frost h3,.teacher-panel h3{font-size:clamp(28px,2.9vw,40px);line-height:1.2;font-weight:400;letter-spacing:-.035em}.frost .editorial-link{color:#f6cedc}.teacher-panel{border:0;background:var(--surface);padding:40px;border-radius:28px}.teacher-panel .spec-list{margin-top:15px}.teacher-panel .button{margin-top:auto}
.statement{padding:60px 0 115px;align-items:center}.statement h2{font-size:clamp(32px,4.5vw,60px)}.cta-block{border-radius:28px;overflow:hidden;min-height:58px;font-family:Arial,sans-serif;font-size:16px;letter-spacing:0}.cta-block .cta-text{font-family:Arial,sans-serif}
.footer{width:min(1280px,calc(100% - 96px));max-width:1280px;border-top:1px solid var(--line-strong)}.foot-top>*{border-left:0}.foot-col a{font:14px Arial,sans-serif;text-transform:none;letter-spacing:0}.foot-col .micro{color:var(--red-ink)}
.page-hero h1{font-size:clamp(34px,5.3vw,76px);line-height:1.2;letter-spacing:-.035em}.page-hero{padding-bottom:75px}.auth-intro h1,.auth-student .auth-intro h1{font-size:clamp(32px,4.4vw,62px);line-height:1.2;letter-spacing:-.035em}.auth-teacher-banner{background:#481725;border-radius:28px}.auth-teacher-banner h1{font-size:clamp(32px,4.2vw,60px);line-height:1.2}.auth-student .auth-card,.auth-teacher .auth-card{border-radius:24px;box-shadow:var(--shadow)}.auth-card h2,.event-card h3,.workspace h1,.workspace h2,.workspace h3{font-family:Arial,sans-serif;letter-spacing:-.025em}.start-page h1{font-size:clamp(32px,4.8vw,64px);line-height:1.2}.catalog .page-heading h1{font-size:clamp(30px,4vw,52px);line-height:1.2}
@media(min-width:1500px){.hero-copy{top:37%}.hero h1{font-size:96px}}
@media(max-width:1100px){.site-nav{gap:18px}.site-header{padding-inline:32px}.header-actions{gap:13px}.landing{--wrap:calc(100% - 64px)}.atlas-view{grid-template-columns:minmax(0,1.3fr) minmax(260px,1fr)}.hero h1{font-size:65px}.preview{grid-template-columns:1fr;gap:40px}.chapter-grid{grid-template-columns:1fr 1fr}.hero-side p{max-width:350px}.hero-cta{gap:18px}}
@media(max-width:860px){.site-header{height:auto;padding:13px 24px;background:color-mix(in srgb,var(--bg) 95%,transparent)}.site-nav{gap:20px;justify-content:center;margin-top:6px}.site-nav a{font-size:12px}.landing{--wrap:calc(100% - 48px)}.hero-meta{top:140px}.hero-copy{top:34%}.hero h1{font-size:clamp(46px,7.8vw,65px)}.hero-side{bottom:100px;align-items:start;gap:25px;flex-direction:column}.hero-side p{max-width:460px}.hero-foot{grid-template-columns:1fr auto}.hero-foot .fig{display:none}.hero::before{background:linear-gradient(90deg,var(--bg),color-mix(in srgb,var(--bg) 65%,transparent) 45%,transparent)}.atlas-intro{align-items:start}.atlas-view{grid-template-columns:1fr}.specimen-stage{min-height:470px}.principle-grid{grid-template-columns:repeat(3,1fr);gap:14px}.principle-grid article{padding:24px 20px}.principle-grid h3{font-size:22px}.principle-grid p{font-size:14px}.chapter-grid{grid-template-columns:1fr}.footer{width:calc(100% - 48px)}.hero-kicker{font-size:12px}}
@media(max-width:600px){.site-header{padding:12px 20px}.brand-mark{width:18px;height:27px}.wordmark{width:80px;height:25px}.header-actions{gap:10px}.button.login{font-size:11px;min-height:34px;padding:0 13px}.login-link{font-size:12px}.theme-toggle{width:28px}.site-nav{justify-content:space-between;gap:12px}.landing{--wrap:calc(100% - 40px)}.landing>.hero{height:860px;min-height:100svh}.hero-meta{top:133px}.hero-meta .micro{font-size:8px;letter-spacing:.05em}.hero-meta .micro:last-child{display:none}.hero-copy{top:280px;gap:20px}.hero h1{font-size:clamp(34px,8.8vw,52px);line-height:1.2;letter-spacing:-.05em}.hero-kicker{font-size:10px;gap:7px}.hero-side{bottom:95px;gap:24px}.hero-side p{font-size:15px;max-width:33ch}.hero-cta{gap:18px}.hero-cta .editorial-link{font-size:12px}.hero::before{background:linear-gradient(0deg,var(--bg) 0%,color-mix(in srgb,var(--bg) 75%,transparent) 36%,transparent 70%)}.hero-foot{gap:8px}.hero-foot .micro{font-size:9px;letter-spacing:0}.motion-toggle{font-size:10px;padding:7px 10px}.manifesto{padding:75px 0}.manifesto-copy{font-size:clamp(21px,5.5vw,31px);line-height:1.5}.manifesto-note{font-size:14px}.manifesto-note br{display:none}.landing>.cellular-atlas{padding:55px 0}.atlas-intro{display:block;margin-bottom:26px}.atlas-intro h2{font-size:32px}.atlas-intro .eyebrow{font-size:9px}.atlas-shell{border-radius:22px}.specimen-stage{min-height:340px}.principles{padding:70px 0}.principle-grid{grid-template-columns:1fr;gap:14px}.principle-grid article{padding:28px;gap:14px}.principle-grid h3{font-size:28px}.principle-grid p{max-width:none}.ghost-num{margin-bottom:4px!important}.preview{padding:10px 0 75px}.preview h2,.board-head h2{font-size:32px}.preview-copy>p{font-size:15px}.spec-list li{font-size:14px}.board-section{padding-bottom:75px}.board-row strong{font-size:19px}.board-row{grid-template-columns:42px 1fr 32px;gap:10px;padding-left:0}.board-row .code{font-size:9px}.board-row .go{width:30px;height:30px}.board-row .detail{font-size:13px}.board-row:hover .detail,.board-row.open .detail{max-height:160px}.photo-panel{min-height:560px}.frost{padding:20px;left:4px}.frost h3,.teacher-panel h3{font-size:30px}.teacher-panel{padding:28px}.chapter-section{padding-bottom:60px}.statement{padding:20px 0 80px;gap:25px}.statement h2{font-size:36px}.statement-side p{font-size:15px}.page-hero h1{font-size:clamp(29px,7.5vw,42px)}.page-hero{padding-top:190px}.start-page h1{font-size:32px}.auth-student .auth-intro h1{font-size:36px}.auth-teacher-banner h1{font-size:32px}.auth-teacher-banner{padding:25px;border-radius:20px}.auth-teacher-banner p{font-size:14px}.footer{width:calc(100% - 40px)}.foot-top>*{padding-left:0}.foot-bottom .micro{font-size:9px;letter-spacing:0}.pw-list li{font-size:13px}.pw-tabs button{font-size:13px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}}
/* Give navigation its own row before the desktop header can collide. */
@media(min-width:861px) and (max-width:1040px){.site-header{height:auto;flex-wrap:wrap;padding:13px 32px;row-gap:8px;background:color-mix(in srgb,var(--bg) 95%,transparent)}.site-nav{position:static;transform:none;order:3;width:100%;justify-content:center;gap:32px}.hero-meta{top:140px}.page-hero{padding-top:190px}.auth-student,.auth-teacher{padding-top:140px}}
