/* Source: Figma Ed6HsSXxNpeRmdKl7YQw04, manifesto 57:561.
   Neue Haas is preferred when available; add licensed webfonts before @font-face embedding. */
:root {
  --font-heading: "Neue Haas Grotesk Text Pro", "Helvetica Neue", Helvetica, Arial, sans-serif;
  --font-body: "Helvetica Neue", Helvetica, Arial, sans-serif;
  --font: var(--font-body);
  --type-label: 11.5px;
  --type-small: 14px;
  --type-subheading: 16px;
  --type-medium: clamp(28px, 2.5vw, 36px);
  --type-large: clamp(28px, 3.5vw, 36px);
  --space-unit: 8px;
  --radius-surface: 16px;
  --radius-pill: 999px;
  --paper: #111111;
  --ink: #ffffff;
  --ink-2: #989898;
  --ink-3: #585858;
  --card: #252522;
  --card-2: #30302d;
  --pill-label: #ededed;
  --line: rgba(255,255,255,.14);
  --eye: #ededed;
  --pupil: #000000;
  --glass: #252522;
  --glass-edge: transparent;
  --loader-a: #252522;
  --loader-b: #111111;
}
:root[data-theme="light"] {
  --paper: #ffffff;
  --ink: #000000;
  --ink-2: #989898;
  --ink-3: #585858;
  --card: #ededed;
  --card-2: #f7f7f7;
  --pill-label: #252522;
  --line: #ededed;
  --glass: #ededed;
  --glass-edge: transparent;
  --loader-a: #ededed;
  --loader-b: #ffffff;
  --eye: #ededed;
}
body { font-family:var(--font-body);font-size:14px;line-height:1.5;font-weight:500;letter-spacing:0; }
.hero>.intro { font-family:var(--font-heading);font-size:var(--type-medium);font-weight:400;line-height:1.166667;letter-spacing:0;text-transform:lowercase;max-width:24ch;margin-bottom:48px; }
.section h2 { font-family:var(--font-heading);font-size:16px;line-height:22px;font-weight:500;color:var(--ink);text-transform:lowercase;padding-top:0; }
.number { font-size:11.5px;line-height:16px;color:var(--ink-2); }
summary,.contact #open-contact { font-family:var(--font-heading);font-size:16px;line-height:22px;font-weight:500;letter-spacing:0;text-transform:lowercase; }
.answer { font-family:var(--font-body);font-size:14px;line-height:21px;font-weight:500;letter-spacing:0;padding-top:8px;text-transform:lowercase; }
.answer li+li { margin-top:8px; }.rows { gap:16px; }.section { margin-bottom:32px; }
.theme-switch { padding:4px;gap:0;border:0;border-radius:var(--radius-pill);background:var(--card);backdrop-filter:none; }
.theme-switch button { font-family:var(--font-heading);font-size:11.5px;font-weight:500;line-height:16px;letter-spacing:0;text-transform:lowercase;padding:8px 16px;min-height:32px; }
.theme-switch button[aria-pressed="true"] { background:var(--pill-label);color:var(--paper); }
.inquiry h2 { font-family:var(--font-heading);font-size:var(--type-large);font-weight:400;line-height:1.166667;letter-spacing:0;text-transform:lowercase; }
.eyebrow,.brief-label,legend { font-family:var(--font-heading);font-size:16px;font-weight:500;line-height:22px;letter-spacing:0;text-transform:lowercase; }
.sentence { font-family:var(--font-heading);font-size:16px;font-weight:500;line-height:22px;letter-spacing:0; }
.sentence label { text-transform:lowercase; }
.choices span,.send { font-family:var(--font-heading);font-size:11.5px;font-weight:500;line-height:16px;border-radius:var(--radius-pill);text-transform:lowercase; }
.choices span { border-color:var(--line);background:var(--card);padding:8px 16px; }
.choices input:checked+span,.send { background:var(--pill-label);color:var(--paper);border-color:var(--pill-label); }
textarea { font:500 14px/21px var(--font-body); }
.popup-contact,.form-note,small { font-size:14px;line-height:21px; }
.form-note { color:var(--ink-2); }
dialog { border-radius:var(--radius-surface); }
@media(max-width:520px) { .hero>.intro { font-size:28px;line-height:1.166667;max-width:24ch; }.section { grid-template-columns:90px minmax(0,1fr); }summary { font-size:16px; }.answer { font-size:14px;line-height:21px; }.choices span { font-size:11.5px; } }

/* Manifesto page 3 statement gradient, gently washing across the introduction. */
:root { --intro-gradient-start:#b1b1b1;--intro-gradient-center:#ffffff;--intro-gradient-end:#b1b1b1; }
:root[data-theme="light"] { --intro-gradient-start:#b1b1b1;--intro-gradient-center:#000000;--intro-gradient-end:#585858; }
@supports ((background-clip:text) or (-webkit-background-clip:text)) {
 .hero>.intro {
  background-image:linear-gradient(100deg,var(--intro-gradient-start) 0%,var(--intro-gradient-center) 42.788%,var(--intro-gradient-end) 100%);
  background-size:240% 100%;background-position:0% 50%;
  -webkit-background-clip:text;background-clip:text;color:transparent;
  animation:intro-gradient-wash 12s cubic-bezier(.45,0,.55,1) infinite alternate;
 }
}
@keyframes intro-gradient-wash { from { background-position:0% 50%; } to { background-position:100% 50%; } }
@media(prefers-reduced-motion:reduce) { .hero>.intro { animation:none!important;background-position:50% 50%; } }
@media(forced-colors:active) { .hero>.intro { background:none;color:CanvasText; } }

/* Tighter introduction leading at every viewport. */
.hero>.intro { line-height:1.05; }

/* Information list: 30% tighter than the 16px row gap. */
.section[aria-labelledby="information"] .rows { gap:11.2px; }

/* Soft, line-free inquiry controls. */
#contact-dialog { border:0; }
#contact-dialog .sentence { align-items:center;gap:12px; }
#contact-dialog .sentence input { border:0;border-radius:var(--radius-pill);background:var(--card);padding:12px 18px;min-height:44px;font:500 14px/21px var(--font-body); }
#contact-dialog textarea { border:0;border-radius:28px;background:var(--card);padding:18px 22px;min-height:96px; }
#contact-dialog .choices span,#contact-dialog .send { border:0; }
#contact-dialog input:focus-visible,#contact-dialog textarea:focus-visible { outline:2px solid var(--ink-2);outline-offset:3px; }
#contact-dialog .popup-contact a { text-decoration:none; }
#contact-dialog #form-status { font-size:10px;line-height:14px;max-width:440px;margin-top:10px; }
@media(max-width:520px) { #contact-dialog .sentence input { width:100%; } }

/* Highlight the AI systems deliverables. */
.answer ul.systems-highlights { position:relative;margin-top:16px;padding-left:12px;border-left:0; }
.answer ul.systems-highlights::before { content:"";position:absolute;left:0;top:0;bottom:0;width:4.8px;border-radius:999px;background:var(--eye); }

.manifesto-download { display:inline-block;margin-top:16px;font-size:14px;line-height:21px;text-transform:lowercase;text-decoration:underline;text-underline-offset:3px; }

/* Mobile switch: 48px tall, with a 22.4px gap to the introduction. */
@media(max-width:700px) { .theme-switch { transform:scale(1.2);transform-origin:top left; } body { padding-top:94.4px; } }

@media(max-width:700px) { #contact-dialog .send { display:block;width:100%;text-align:center; } }

/* Large, icon-only dialog close control. */
#contact-dialog .close-dialog { top:12px;right:16px;width:48px;height:48px;display:grid;place-items:center;padding:0;border-radius:50%;font:400 26px/1 var(--font-body);background:transparent;filter:none; }
@media(hover:hover) { #contact-dialog .close-dialog:hover { background:#ededed;color:#252522;filter:none; } }
#contact-dialog .close-dialog:focus-visible { background:#ededed;color:#252522; }

/* Geometrically centered close icon and larger inquiry action. */
#contact-dialog .close-dialog span { position:relative;width:20px;height:20px;display:block; }
#contact-dialog .close-dialog span::before,#contact-dialog .close-dialog span::after { content:"";position:absolute;left:0;top:9px;width:20px;height:2px;border-radius:2px;background:currentColor;transform:rotate(45deg); }
#contact-dialog .close-dialog span::after { transform:rotate(-45deg); }
#contact-dialog .send { font:500 16px/22px var(--font-heading);padding:14px 26px;min-height:50px; }
@media(max-width:700px) { #contact-dialog .popup-contact a:first-child { white-space:nowrap;overflow-wrap:normal;font-size:clamp(11px,3.2vw,14px); } }

/* Contact remains within reach while the page scrolls. */
footer.contact { position:fixed!important;left:32px!important;bottom:max(24px,env(safe-area-inset-bottom))!important;width:auto;margin:0!important;padding:8px 12px;border:0;border-radius:999px;background:var(--paper);z-index:20; }
body:has(#contact-dialog[open]) footer.contact { visibility:hidden; }
@media(max-width:520px) { footer.contact { left:24px!important;bottom:max(16px,env(safe-area-inset-bottom))!important; } }

/* Match the desktop logo switch to its mobile size, expanding inward. */
@media(min-width:701px) { .theme-switch { transform:scale(1.2);transform-origin:top right; } }

/* Persistent circular close button: no font glyph or clipping. */
#contact-dialog .close-dialog { display:flex;align-items:center;justify-content:center;background:#ededed;color:#252522;border:0;outline:0;box-shadow:none;overflow:visible;flex-shrink:0; }
#contact-dialog .close-dialog:focus-visible { outline:0;box-shadow:none; background:#dedede; }
#contact-dialog .close-dialog span { flex:0 0 20px; }
@media(max-width:700px) {
 #contact-dialog .popup-contact { display:flex;flex-direction:column;align-items:flex-start;gap:12px; }
 #contact-dialog .popup-contact a,#contact-dialog .popup-contact a:first-child { font-size:14px;line-height:21px;color:#ededed;white-space:nowrap;overflow-wrap:normal; }
}

/* Keep the close circle above the inquiry section background. */
#contact-dialog .close-dialog { z-index:5;isolation:isolate; }
