*{box-sizing:border-box}html{scroll-behavior:smooth;scrollbar-color:var(--accent) var(--bg)}body{margin:0;background:var(--bg);color:var(--ink);font-family:Satoshi,sans-serif;line-height:1.5;--bg:#faf7ef;--ink:#26332a;--accent:#80501f}::selection{background:var(--accent);color:var(--bg)}a{color:inherit;text-underline-offset:5px}button,a{touch-action:manipulation}button{font:inherit;cursor:pointer;color:inherit;border:1px solid currentColor;background:transparent;min-height:44px;padding:9px 15px;transition:background .2s,transform .2s}button:hover{background:var(--ink);color:var(--bg)}button:active,.primary:active{transform:translateY(2px)}:focus-visible{outline:3px solid var(--accent);outline-offset:5px}header{max-width:1440px;margin:auto;padding:26px 4.5%;display:flex;align-items:center;justify-content:space-between;gap:20px}header>a:last-child{font-size:13px}.brand{font-family:'Cabinet Grotesk';font-size:28px;font-weight:700;text-decoration:none;letter-spacing:-.04em;display:flex;align-items:center;gap:5px}.brand-dot{width:7px;height:7px;background:var(--accent);display:inline-block}main{max-width:1440px;margin:auto;padding:0 4.5%}h1,h2,h3,p{margin:0}h1{font-family:'Cabinet Grotesk';font-weight:500;letter-spacing:-.035em;line-height:1.025;text-wrap:balance;font-size:clamp(36px,4.4vw,64px)}h2{font-weight:500;line-height:1.12;letter-spacing:-.025em}h3{line-height:1.2;font-weight:500}.subtitle{font-size:17px;line-height:1.55;max-width:50ch;margin-top:24px}.primary{display:inline-flex;gap:24px;margin-top:26px;padding:14px 21px;background:var(--ink);color:var(--bg);text-decoration:none;font-size:14px;align-items:center;min-height:48px}.primary:hover{background:var(--accent)}.carousel{position:relative;min-width:0;scroll-margin-top:20px}.slide[hidden]{display:none!important}.slide.enter{animation:reveal .55s cubic-bezier(.16,1,.3,1)}@keyframes reveal{from{opacity:.65;clip-path:inset(0 0 8% 0)}to{opacity:1;clip-path:inset(0)}}.controls{display:none;align-items:center;gap:12px;flex-wrap:wrap;padding:22px 0}.script-enabled .controls{display:flex}.position{font-variant-numeric:tabular-nums;min-width:40px;text-align:center;font-size:13px}.controls [data-play]{margin-left:auto}.media-note{font-size:11px;line-height:1.5;opacity:.8;margin:4px 0 24px;max-width:85ch}.dialogue{display:grid;grid-template-columns:1fr 1fr;gap:22px}.dialogue p{font-size:14px;line-height:1.5}.dialogue b{display:block;font-size:12px;font-weight:700;margin-bottom:8px}.assignment{margin-top:22px;padding-top:16px;border-top:1px solid color-mix(in srgb,var(--ink) 25%,transparent)}.assignment span,.deliverable>span{font-size:11px;letter-spacing:.02em}.assignment p{font-size:14px;margin-top:4px}.deliverable{margin-top:20px}.deliverable h3{font-size:22px;margin:7px 0 9px}.deliverable p{font-size:14px}.source-line{font-size:12px;margin:14px 0 25px}.profit{max-width:1310px;margin:65px auto 0;padding:35px 4.5%;border-top:1px solid color-mix(in srgb,var(--ink) 25%,transparent);display:grid;grid-template-columns:1fr 1fr;gap:35px}.profit h2{font-family:'Cabinet Grotesk';font-size:35px;max-width:20ch}.profit p{max-width:50ch;font-size:16px}footer{max-width:1440px;margin:auto;padding:25px 4.5% 40px;font-size:11px;line-height:1.8}details summary{cursor:pointer;min-height:44px;padding:12px 0;font-size:13px}details[open] summary{margin-bottom:14px}img{display:block;max-width:100%}@media(max-width:700px){header{padding:20px 6%}.brand{font-size:25px}header>a:last-child{font-size:11px;max-width:110px;text-align:right}main{padding:0 6%}h1{font-size:39px;line-height:1.06}.subtitle{font-size:16px;margin-top:20px}.primary{font-size:13px;padding:13px 16px;margin-top:22px}.dialogue{gap:18px}.controls{gap:8px}.controls button{font-size:12px;padding:9px 12px}.controls [data-play]{margin-left:auto}.profit{margin-top:36px;padding:28px 6%;grid-template-columns:1fr;gap:18px}.profit h2{font-size:31px}footer{padding:22px 6%}.media-note{font-size:10px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}}
.controls{margin-bottom:12px}.brand+ a svg{vertical-align:middle}@media(max-width:700px){h1,.office .intro h1,.universe .intro h1,.software .intro h1,.studio-heading h1,.lab h1{font-size:36px}.controls{padding-top:10px;padding-bottom:15px}}

/* Detector legibility corrections: functional labels never below 11px. */
button,.controls button,.application .controls button,.lab .controls button,.app-toolbar>span,.app-title,.status,.star span,.lab-record>span,.formula span{font-size:12px!important}.media-note{font-size:11px!important}

.department>span,.notebook-label,.lab-record>span,.deliverable>span{display:block;margin:8px 0 12px}.department h2,.studio-notebook h2,.lab-record h2{margin-top:0}

/* Title-only rotation: every possible word reserves its natural responsive line height. */
.intro>.title-rotator{grid-row:1/3;min-width:0}.title-words{display:grid;text-wrap:balance}.title-word{grid-area:1/1;visibility:hidden;overflow-wrap:normal}.title-word.is-current{visibility:visible;animation:title-in .45s cubic-bezier(.16,1,.3,1)}@keyframes title-in{from{opacity:.5;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.title-controls{display:none;align-items:center;gap:12px;margin-top:20px;font-size:12px;font-variant-numeric:tabular-nums}.script-enabled .title-controls{display:flex}.title-controls button{padding:7px 10px;min-height:44px;border-color:color-mix(in srgb,var(--ink) 35%,transparent);font-size:12px}.title-controls [data-title-toggle]{border:0;text-decoration:underline;text-underline-offset:4px}.title-controls [data-title-position]{min-width:35px}.controls{justify-content:flex-start}.studio .controls{justify-content:center}.controls .position{font-size:12px}.title-controls button:hover{background:var(--ink);color:var(--bg)}@media(max-width:700px){.title-controls{margin-top:14px;gap:10px}.controls button{padding:8px 10px}.office .intro .subtitle{margin-top:22px}}
