:root {
  color-scheme: light;
  --bg: #f6f7fb;
  --surface: #fff;
  --tint: #eceff5;
  --text: #142033;
  --muted: #566176;
  --line: #d4dbe6;
  --blue: #244eb6;
  --blue-soft: #e5ecff;
  --button: #2249aa;
  --button-text: #fff;
  --shadow: 0 18px 54px #172e5910;
}
:root[data-theme="dark"] {
  color-scheme: dark;
  --bg: #0b1019;
  --surface: #111a28;
  --tint: #0f1724;
  --text: #edf1f8;
  --muted: #a8b5ca;
  --line: #2c3b52;
  --blue: #aac4ff;
  --blue-soft: #1b2c4b;
  --button: #b8ceff;
  --button-text: #10203b;
  --shadow: 0 18px 54px #00000018;
}
@media (prefers-color-scheme: dark) {
  :root:not([data-theme]) { color-scheme: dark; --bg:#0b1019; --surface:#111a28; --tint:#0f1724; --text:#edf1f8; --muted:#a8b5ca; --line:#2c3b52; --blue:#aac4ff; --blue-soft:#1b2c4b; --button:#b8ceff; --button-text:#10203b; --shadow:0 18px 54px #00000018; }
}
* { box-sizing: border-box; }
html { scroll-behavior: smooth; scroll-padding-top: 112px; }
body { margin:0; background:var(--bg); color:var(--text); font:16px/1.65 -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; -webkit-font-smoothing:antialiased; }
::selection { background:#b8ceff; color:#142033; }
[hidden] { display:none!important; }
a { color:inherit; text-decoration:none; }
button,input,textarea,select { font:inherit; }
button { color:inherit; cursor:pointer; }
button,a,summary { -webkit-tap-highlight-color:transparent; touch-action:manipulation; }
button:disabled { opacity:.6; cursor:wait; }
:focus-visible { outline:3px solid var(--blue); outline-offset:5px; }
h1,h2,h3,p,figure,blockquote { margin:0; }
h1,h2,h3 { font-weight:550; line-height:1.14; letter-spacing:-.045em; }
h1 { font-size:clamp(46px,5.3vw,78px); letter-spacing:-.055em; }
h2 { font-size:clamp(30px,3.3vw,46px); }
h3 { font-size:23px; letter-spacing:-.025em; }
em { font-style:normal; color:var(--blue); }
p { color:var(--muted); }
p+p { margin-top:18px; }
img { display:block; max-width:100%; height:auto; }
svg { display:block; }
ul,ol { padding:0; margin:0; }
details>summary { cursor:pointer; list-style:none; }
summary::-webkit-details-marker { display:none; }
.wrap { width:min(1280px,calc(100% - 96px)); margin-inline:auto; }
.section { padding-block:100px; }
.section-tight { padding-block:0 80px; }
.tinted { background:var(--tint); border-block:1px solid var(--line); }
.eyebrow,.index,.caption,.hero-note,.hero-bottom { font-family:ui-monospace,SFMono-Regular,Consolas,monospace; }
.eyebrow { color:var(--blue); font-size:11px; line-height:1.65; letter-spacing:.1em; text-transform:uppercase; }
.index { font-size:12px; color:var(--blue); letter-spacing:.04em; }
.caption { font-size:12px; line-height:1.8; color:var(--muted); }
.signal { display:inline-block; width:6px; height:6px; border-radius:50%; background:var(--blue); margin-right:9px; vertical-align:middle; }
.button { display:inline-flex; align-items:center; justify-content:center; gap:25px; min-height:52px; padding:13px 21px; border:1px solid var(--line); background:var(--surface); border-radius:6px; font-size:13px; font-weight:600; line-height:1.5; transition:background .16s,transform .16s; }
.button:hover { background:var(--blue-soft); transform:translateY(-2px); }
.button.primary { background:var(--button); color:var(--button-text); border-color:var(--button); }
.button.primary:hover { filter:brightness(1.08); }
.button-small { min-height:44px; padding:10px 15px; font-size:12px; gap:16px; }
.text-link { display:inline-flex; align-items:center; gap:18px; min-height:44px; font-size:14px; font-weight:500; color:var(--blue); background:none; padding:0; border:0; }
.text-link:hover { text-decoration:underline; text-underline-offset:5px; }
.actions { display:flex; flex-wrap:wrap; align-items:center; gap:23px; }
.skip { position:fixed; top:8px; left:8px; z-index:100; padding:12px 20px; background:var(--surface); border:2px solid var(--blue); transform:translateY(-180%); }
.skip:focus { transform:none; }
.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; }
.anchor { scroll-margin-top:112px; }
.masthead { position:sticky; z-index:30; top:0; background:var(--bg); border-bottom:1px solid var(--line); }
.header-inner { min-height:84px; display:flex; align-items:center; justify-content:space-between; gap:24px; }
.brand { display:inline-flex; align-items:center; gap:10px; font-weight:750; letter-spacing:-.7px; font-size:18px; white-space:nowrap; }
.brand-light { font-weight:400; color:var(--muted); }
.brand img { width:34px; height:34px; }
.menu summary { display:none; }
.menu-links { display:flex; gap:25px; align-items:center; }
.menu-links a { font-size:12px; min-height:44px; display:inline-flex; align-items:center; color:var(--muted); white-space:nowrap; }
.menu-links a:hover,.menu-links a[aria-current] { color:var(--blue); }
.menu-links a[aria-current] { text-decoration:underline; text-underline-offset:7px; }
.menu-links .menu-secondary { display:none; }
.header-actions { display:flex; align-items:center; gap:12px; }
.theme-button { display:grid; place-items:center; background:none; border:1px solid var(--line); border-radius:6px; width:44px; height:44px; }
.theme-button:hover { background:var(--blue-soft); }
.hero { display:grid; grid-template-columns:1.03fr 1fr; gap:44px; padding-top:82px; align-items:center; }
.hero .eyebrow { margin-bottom:27px; }
.hero h1 { font-size:clamp(48px,5.05vw,73px); line-height:1.07; }
.hero-intro { font-size:17px; max-width:490px; margin-top:28px; line-height:1.75; }
.hero .actions { margin-top:30px; gap:20px; }
.hero .text-link { font-size:13px; }
.hero-note { font-size:11px; margin-top:23px; }
.hero-bottom { grid-column:1/-1; display:flex; justify-content:space-between; gap:24px; border-top:1px solid var(--line); padding-block:24px; margin-top:25px; font-size:10px; letter-spacing:.07em; color:var(--muted); }
.hero-bottom a { min-height:30px; }
.hero-bottom a span { margin-left:16px; }
.section-heading { margin-bottom:42px; }
.section-heading>.eyebrow { margin-bottom:18px; }
.heading-row { display:flex; align-items:flex-end; justify-content:space-between; gap:48px; }
.heading-row>p { max-width:370px; font-size:15px; padding-bottom:4px; }
.section-end { display:flex; justify-content:space-between; align-items:center; gap:24px; margin-top:24px; font-size:12px; color:var(--muted); }
.project-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:22px; }
.project-card { border:1px solid var(--line); border-radius:8px; overflow:hidden; background:var(--surface); min-width:0; }
.project-card>a { display:block; height:100%; }
.project-card:hover { border-color:var(--blue); box-shadow:var(--shadow); }
.project-art { color-scheme:dark; display:flex; flex-direction:column; justify-content:space-between; height:204px; padding:23px; background-color:#12213a; color:#dce7fd; position:relative; isolation:isolate; }
.project-art:before { content:""; position:absolute; inset:0; background-image:linear-gradient(#9abaff08 1px,transparent 1px),linear-gradient(90deg,#9abaff08 1px,transparent 1px); background-size:24px 24px; z-index:-1; }
.art-floormind { background-color:#182c2a; }
.art-elenchus { background-color:#2b253e; }
.art-floormind .art-core { background:#c1d5b4; border-color:#c1d5b4; }
.art-elenchus .art-core { background:#d0c0ec; border-color:#d0c0ec; }
.project-card-copy { padding:27px; }
.maturity { display:inline-flex; align-items:center; font:10px/1.6 ui-monospace,monospace; color:var(--blue); }
.project-title { display:flex; align-items:center; justify-content:space-between; gap:12px; margin-top:18px; }
.project-title h3 { font-size:29px; }
.project-title>span { color:var(--blue); }
.project-card-copy>p { margin-top:17px; font-size:14px; }
.project-card-copy>.text-link { margin-top:20px; font-size:12px; }
.project-caption { max-width:980px; margin-top:27px; }
.principles { color-scheme:dark; background:#101b2c; color:#eff3fb; }
.principles .wrap { display:grid; grid-template-columns:1fr 1fr; gap:100px; }
.principles { --blue:#adc6ff; --muted:#b0bed3; --line:#34465f; }
.principles h2 { margin-top:21px; }
.principles-intro>p:not(.eyebrow) { margin-top:24px; font-size:15px; max-width:440px; }
.principles .text-link { margin-top:23px; }
.principle-list article { display:flex; gap:28px; padding:25px 0; border-bottom:1px solid var(--line); }
.principle-list article:first-child { padding-top:0; }
.principle-list .index { margin-top:4px; }
.principle-list p { font-size:14px; margin-top:12px; }
.closing { display:flex; align-items:center; justify-content:space-between; gap:50px; padding-block:90px; }
.closing h2 { margin-top:20px; }
.closing p:not(.eyebrow) { margin-top:20px; font-size:15px; }
.closing>div:last-child { display:flex; flex-direction:column; align-items:flex-start; gap:15px; }
.footer { border-top:1px solid var(--line); padding-top:56px; background:var(--surface); }
.footer-grid { display:grid; grid-template-columns:1.6fr 1fr 1fr 1fr; gap:35px; }
.footer-brand>p { margin-top:22px; font-size:14px; }
.footer-brand .text-link { margin-top:14px; font-size:12px; }
.footer nav { display:flex; flex-direction:column; align-items:flex-start; }
.footer nav .eyebrow { margin-bottom:14px; }
.footer nav>a { display:inline-flex; align-items:center; min-height:38px; font-size:12px; color:var(--muted); }
.footer nav>a:hover { color:var(--blue); text-decoration:underline; }
.footer-bottom { display:flex; align-items:center; gap:28px; border-top:1px solid var(--line); margin-top:46px; padding-block:23px; color:var(--muted); font-size:11px; }
.footer-bottom>span:first-child { margin-right:auto; }
.footer-bottom>a { display:inline-flex; align-items:center; min-height:32px; }
.page-hero { padding-block:75px 65px; }
.page-hero>.eyebrow { margin-bottom:25px; }
.page-hero h1 { max-width:1100px; }
.page-intro { font-size:19px; line-height:1.75; max-width:790px; margin-top:25px; }
.page-hero>.actions { margin-top:30px; }
.page-hero>.caption { margin-top:23px; max-width:800px; }
.scope-note { display:grid; grid-template-columns:220px 1fr; align-items:start; gap:35px; padding:25px 28px; border:1px solid var(--line); background:var(--surface); border-radius:6px; }
.scope-note p:not(.eyebrow) { font-size:14px; }
.detail-indicator { margin-left:auto; display:grid; place-items:center; height:40px; width:40px; border:1px solid var(--line); border-radius:50%; font-size:22px; flex-shrink:0; }
.service-body { display:grid; grid-template-columns:1.2fr 1fr; gap:65px; padding:7px 0 42px 48px; }
.service-description { font-size:16px; }
.capability-list { list-style:none; margin-top:24px; }
.capability-list li { padding:8px 0 8px 20px; font-size:14px; color:var(--muted); position:relative; }
.capability-list li:before { content:"+"; position:absolute; left:0; color:var(--blue); }
.service-body aside { border-left:1px solid var(--line); padding-left:30px; }
.availability { display:inline-block; color:var(--blue); background:var(--blue-soft); font:10px/1.7 ui-monospace,monospace; padding:6px 9px; border-radius:4px; margin-bottom:22px; }
.service-body h4 { font-size:17px; margin:0 0 8px; }
.service-body aside p { font-size:14px; margin-bottom:22px; }
.two-column { display:grid; grid-template-columns:1fr 1fr; gap:90px; align-items:start; }
.two-column h2 { margin:17px 0 25px; }
.two-column h3 { margin-bottom:19px; }
.two-column .text-link { margin-top:20px; }
.two-column p { font-size:15px; }
.two-column .caption { font-size:12px; margin-top:15px; }
.boundary-card { padding:30px; background:var(--surface); border:1px solid var(--line); border-radius:7px; }
.boundary-card>.eyebrow { margin-bottom:22px; }
.boundary-card h3 { line-height:1.4; }
.check-list { list-style:none; }
.check-list li { border-bottom:1px solid var(--line); padding:15px 0 15px 24px; font-size:15px; color:var(--muted); position:relative; }
.check-list li:before { content:"↗"; position:absolute; left:0; color:var(--blue); }
.check-list li:last-child { border-bottom:0; }
.anchor-links { display:flex; flex-wrap:wrap; gap:10px; margin-top:33px; }
.anchor-links a { font-size:12px; border:1px solid var(--line); border-radius:4px; min-height:44px; padding:10px 16px; background:var(--surface); }
.anchor-links a:hover { background:var(--blue-soft); }
.industry-section { display:grid; grid-template-columns:1.1fr 1fr; gap:95px; border-top:1px solid var(--line); padding-block:50px; }
.industry-section:last-child { border-bottom:1px solid var(--line); }
.industry-heading>.index { display:block; margin-bottom:18px; }
.industry-heading h2 { font-size:33px; margin:15px 0 20px; }
.industry-heading>p:not(.eyebrow) { font-size:15px; }
.industry-heading .text-link { font-size:12px; margin-top:18px; }
.industry-context { margin:0; background:var(--surface); border:1px solid var(--line); padding:25px; border-radius:6px; }
.industry-context>div+div { border-top:1px solid var(--line); padding-top:18px; margin-top:18px; }
dt { font-size:12px; font-weight:600; color:var(--blue); margin-bottom:8px; }
dd { margin:0; font-size:14px; color:var(--muted); }
.explorer-controls button { text-align:left; background:var(--surface); color:var(--muted); border:1px solid var(--line); }
.explorer-controls button:hover { background:var(--blue-soft); color:var(--blue); }
.explorer-controls button[aria-pressed="true"] { color:var(--button-text); background:var(--button); border-color:var(--button); }
.process-controls { display:grid; grid-template-columns:repeat(8,1fr); gap:5px; }
.process-controls button { display:flex; flex-direction:column; gap:10px; padding:16px 12px; font-size:11px; border-radius:5px; min-height:85px; }
.process-controls button span { font:10px ui-monospace,monospace; }
.process-panel { display:grid; grid-template-columns:1fr 1fr; gap:70px; padding:45px; background:var(--surface); border:1px solid var(--line); border-radius:6px; margin-top:16px; min-height:367px; }
.stage-copy { position:relative; }
.stage-number { display:block; font:47px ui-monospace,monospace; color:var(--blue); opacity:.65; line-height:1; margin-bottom:25px; }
.stage-copy .eyebrow { margin-bottom:14px; }
.stage-copy h2 { font-size:32px; }
.stage-copy>p:last-child { font-size:15px; margin-top:20px; }
.delivery-contract { margin:0; }
.delivery-contract>div { border-left:2px solid var(--line); padding-left:22px; }
.delivery-contract>div+div { margin-top:25px; }
.delivery-contract>div:last-child { border-color:var(--blue); }
.stack-explorer { display:grid; grid-template-columns:1.1fr 1fr; gap:55px; }
.stack-map { display:flex; gap:12px; }
.stack-label { display:flex; flex-direction:column; justify-content:space-between; border-left:1px solid var(--blue); padding-left:9px; font:8px ui-monospace,monospace; letter-spacing:.12em; color:var(--blue); }
.stack-label>span { writing-mode:vertical-rl; }
.stack-controls { flex:1; display:grid; gap:6px; }
.stack-controls button { display:flex; align-items:center; gap:17px; justify-content:space-between; min-height:54px; padding:14px 17px; border-radius:4px; font-size:12px; }
.stack-controls button>.index { color:inherit; font-size:10px; }
.stack-controls button>span:nth-child(2) { margin-right:auto; }
.layer-panel { min-height:100%; padding:37px; background:var(--surface); border:1px solid var(--line); border-radius:6px; }
.layer-panel h3 { font-size:32px; margin-top:27px; }
.layer-panel>p:not(.eyebrow) { font-size:16px; margin-top:25px; }
.layer-example { border-top:1px solid var(--line); padding-top:24px; margin-top:30px; }
.layer-example p { font-size:14px; margin-top:12px; }
.stack-explorer:not(.enhanced) { display:block; }
.stack-explorer:not(.enhanced) .stack-map { display:none; }
.stack-explorer:not(.enhanced) .layer-panel { margin-bottom:15px; }
.stack-explorer+.caption { margin-top:23px; }
.method-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:40px; }
.method-grid article { padding-top:23px; border-top:1px solid var(--line); }
.method-grid h3 { margin-top:25px; font-size:24px; }
.method-grid p { margin-top:16px; font-size:14px; }
.deployment-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:25px; }
.deployment-grid article { border:1px solid var(--line); background:var(--surface); padding:30px; border-radius:6px; }
.deployment-grid h3 { margin-top:25px; }
.deployment-grid p { margin-top:20px; font-size:14px; }
.deployment-grid .caption { border-top:1px solid var(--line); padding-top:20px; font-size:12px; }
.principles .wrap:has(.governance-grid) { display:block; }
.governance-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:34px; }
.governance-grid article { border-top:1px solid var(--line); padding-top:24px; }
.governance-grid h3 { font-size:22px; }
.governance-grid p { margin-top:17px; font-size:14px; }
.governance-grid+.caption { margin-top:30px; }
.back-link { display:inline-flex; align-items:center; min-height:44px; font-size:12px; color:var(--muted); margin-bottom:28px; }
.solution-hero h1 { font-size:clamp(37px,4.8vw,66px); }
.solution-hero>.eyebrow { margin-bottom:18px; }
.solution-hero>.maturity { margin-top:23px; }
.tags { display:flex; flex-wrap:wrap; gap:8px; margin-top:25px; }
.tags>span { font-size:11px; padding:5px 12px; border:1px solid var(--line); border-radius:4px; }
.architecture-flow { list-style:none; display:grid; grid-template-columns:repeat(4,1fr); border:1px solid var(--line); background:var(--surface); border-radius:6px; }
.architecture-flow li { position:relative; padding:27px; }
.architecture-flow li+li { border-left:1px solid var(--line); }
.architecture-flow li+li:before { content:"→"; position:absolute; top:50%; left:0; transform:translate(-50%,-50%); color:var(--blue); background:var(--surface); padding:4px; }
.architecture-flow h3 { font-size:18px; margin-top:19px; line-height:1.4; }
.architecture-flow+.caption { margin-top:20px; }
.product-showcase { display:grid; grid-template-columns:1.2fr 1fr; gap:70px; padding:50px; background:var(--tint); border:1px solid var(--line); border-radius:8px; align-items:center; }
.product-showcase h2 { margin:20px 0 22px; }
.product-showcase p { font-size:15px; }
.product-showcase p.caption { font-size:11px; margin-top:23px; }
.product-controls { display:flex; flex-wrap:wrap; gap:7px; margin:25px 0 17px; }
.product-controls button,.scene-controls button { min-height:44px; padding:9px 14px; background:var(--surface); border:1px solid var(--line); border-radius:4px; font-size:12px; }
.product-controls button[aria-pressed="true"],.scene-controls button[aria-pressed="true"] { color:var(--button-text); background:var(--button); border-color:var(--button); }
.product-screen { width:230px; margin:auto; padding:6px; border:1px solid #667893; border-radius:23px; background:#172338; box-shadow:var(--shadow); }
.product-screen img { border-radius:18px; width:100%; height:auto; }
.founder-note { padding:35px; border:1px solid var(--line); background:var(--surface); border-radius:6px; }
.founder-note img { width:100px; height:auto; margin-bottom:25px; }
.founder-note blockquote { font-size:26px; line-height:1.5; letter-spacing:-.03em; }
.founder-note p { font:11px/1.7 ui-monospace,monospace; margin-top:25px; }
.film-section { display:grid; grid-template-columns:1fr 1fr; gap:100px; align-items:center; }
.film-section h2 { margin:22px 0; }
.film-section p { font-size:15px; }
.film-transcript { border-block:1px solid var(--line); margin-top:25px; padding-block:15px; font-size:13px; }
.film-transcript summary { min-height:32px; display:flex; align-items:center; color:var(--blue); }
.film-transcript[open] p { margin:12px 0; font-size:14px; }
.film-stage { padding:25px; border:1px solid var(--line); background:var(--tint); border-radius:8px; }
.film-stage video { display:block; height:390px; width:auto; max-width:100%; margin:auto; border-radius:7px; background:#101b2c; }
.film-stage figcaption { display:flex; justify-content:space-between; flex-wrap:wrap; gap:12px; margin-top:22px; font:10px/1.8 ui-monospace,monospace; color:var(--muted); }
.studio-explorer { border:1px solid var(--line); border-radius:7px; padding:25px; }
.studio-explorer>summary { display:flex; justify-content:space-between; align-items:center; gap:25px; min-height:44px; font-size:15px; }
.studio-layout { display:grid; grid-template-columns:1fr 1fr; gap:40px; align-items:center; padding-top:30px; }
.studio-layout h2 { font-size:28px; }
.studio-layout p { font-size:14px; margin-top:20px; }
.scene-controls { display:flex; flex-wrap:wrap; gap:8px; margin-top:23px; }
.studio-layout .button,.studio-layout .text-link { margin-top:18px; }
.studio-layout .text-link { margin-left:15px; }
.system-stage { position:relative; height:370px; border-radius:6px; background:#0d1421; overflow:hidden; }
.scene-fallback { height:100%; }
.scene-fallback img { width:100%; height:100%; object-fit:contain; }
#scene { position:absolute; inset:0; width:100%; height:100%; }
.system-stage.ready .scene-fallback { visibility:hidden; }
.contact-grid { display:grid; grid-template-columns:1fr 1.2fr; gap:90px; align-items:start; }
.contact-aside h2 { margin:20px 0; font-size:35px; }
.contact-aside>p:not(.eyebrow) { font-size:15px; }
.contact-aside>p.caption { font-size:12px; margin-top:20px; }
.contact-aside>.text-link { font-size:12px; }
.contact-steps { list-style:none; margin-top:30px; }
.contact-steps li { display:flex; gap:18px; padding-block:20px; border-top:1px solid var(--line); }
.contact-steps li>span { font:11px ui-monospace,monospace; color:var(--blue); margin-top:3px; }
.contact-steps h3 { font-size:18px; }
.contact-steps p { font-size:13px; margin-top:9px; }
.chat-card { border:1px solid var(--line); background:var(--surface); border-radius:8px; box-shadow:var(--shadow); overflow:hidden; }
.chat-header { display:flex; gap:14px; align-items:center; border-bottom:1px solid var(--line); padding:22px 27px; background:var(--tint); }
.assistant-avatar { display:grid; place-items:center; flex-shrink:0; width:38px; height:38px; background:var(--blue-soft); color:var(--blue); border-radius:50%; }
.chat-header h2 { font-size:19px; }
.chat-header p { font-size:11px; margin-top:5px; }
.chat-header p span { display:block; }
.status-dot { width:6px; height:6px; background:var(--blue); border-radius:50%; margin-left:auto; }
#brief-form { padding:27px; }
.brief-heading h3 { font-size:26px; margin-top:10px; }
.brief-heading>p:last-child { font-size:13px; margin-top:12px; }
.label { font:10px/1.8 ui-monospace,monospace; letter-spacing:.07em; color:var(--blue); }
#brief-form label:not(.consent) { display:block; font-size:12px; font-weight:600; margin:20px 0 8px; }
input,textarea,select { width:100%; border:1px solid var(--line); border-radius:5px; background:var(--bg); color:var(--text); padding:12px; min-height:46px; font-size:15px; }
textarea { resize:vertical; min-height:90px; }
input::placeholder,textarea::placeholder { color:var(--muted); opacity:1; }
.contact-fields { display:grid; grid-template-columns:1fr 1fr; gap:17px; }
.consent { display:flex; gap:10px; align-items:flex-start; font-size:12px; color:var(--muted); margin:23px 0; line-height:1.8; }
.consent input { flex-shrink:0; width:18px; height:18px; min-height:0; margin:3px 0 0; accent-color:var(--button); }
.consent a { color:var(--blue); text-decoration:underline; }
.brief-actions { display:flex; gap:16px; flex-wrap:wrap; align-items:center; }
.subtle-button { background:none; border:0; text-decoration:underline; text-underline-offset:4px; font-size:12px; color:var(--blue); min-height:44px; padding:0; }
#chat-status { padding:0 27px; font-size:13px; color:var(--blue); }
#chat-status:not(:empty) { padding-block:17px; border-top:1px solid var(--line); }
.messages { height:320px; overflow-y:auto; padding:25px; border-bottom:1px solid var(--line); }
.message+.message { margin-top:23px; }
.message-author { display:block; font:9px ui-monospace,monospace; letter-spacing:.08em; margin-bottom:8px; color:var(--blue); }
.message p { display:inline-block; font-size:14px; background:var(--tint); padding:14px 16px; border-radius:7px; white-space:pre-wrap; overflow-wrap:anywhere; }
.message.user p { background:var(--blue-soft); color:var(--text); }
.starters { display:flex; flex-wrap:wrap; gap:7px; padding:15px 25px 0; }
.starters button { padding:8px 10px; min-height:44px; font-size:11px; background:var(--tint); border:1px solid var(--line); border-radius:4px; }
#chat-form { padding:20px 25px 0; }
.composer { display:flex; gap:10px; align-items:flex-end; }
.composer textarea { min-height:80px; font-size:14px; }
.send-button { display:grid; place-items:center; background:var(--button); color:var(--button-text); border:0; border-radius:5px; width:45px; height:45px; flex-shrink:0; font-size:22px; }
.chat-disclosure { margin-top:12px; font-size:11px; line-height:1.8; }
.chat-tools { display:flex; flex-wrap:wrap; justify-content:space-between; gap:10px; padding:17px 25px; }
.chat-tools .text-link { font-size:12px; }
#success { padding:30px; }
.success-icon { font-size:25px; color:var(--blue); display:block; margin-bottom:20px; }
#success h3 { margin-block:14px 20px; }
#success p { font-size:14px; overflow-wrap:anywhere; }
#success p.quiet { font-size:12px; }
#reference { font:11px/1.8 ui-monospace,monospace; margin-top:23px; }
#download { margin-top:20px; }
.prose { max-width:780px; }
.prose h2 { font-size:26px; margin-bottom:20px; }
.prose h2:not(:first-child) { margin-top:42px; }
.prose p { font-size:16px; }
.prose p a { color:var(--blue); text-decoration:underline; overflow-wrap:anywhere; }
.prose>.button { margin-top:35px; }
.not-found { min-height:60vh; }
@media(min-width:1100px) { .menu::details-content { content-visibility:visible; display:block; } }
@media(max-width:1199px) {
  .wrap { width:calc(100% - 64px); }
  .menu-links { gap:17px; }
  .header-inner { gap:15px; }
  .header-actions { gap:7px; }
  .header-cta { font-size:11px; gap:12px; padding-inline:12px; }
  .brand { font-size:16px; gap:7px; }
  .hero { gap:27px; padding-top:65px; }
  .hero-intro { font-size:16px; }
  .hero .actions { gap:12px; }
  .hero .button { padding-inline:15px; font-size:12px; gap:17px; }
  .hero .text-link { font-size:12px; }
  .project-grid { gap:15px; }
  .project-card-copy { padding:23px; }
  .project-art { padding:20px; }
  .principles .wrap { gap:65px; }
  .two-column { gap:55px; }
  .contact-grid { gap:55px; }
}
@media(max-width:1099px) {
  .header-inner { min-height:75px; }
  .menu { position:relative; }
  .menu summary { display:flex; align-items:center; gap:25px; font-size:13px; min-height:44px; padding:8px 5px; }
  .menu-links { position:absolute; right:0; top:calc(100% + 8px); display:flex; flex-direction:column; align-items:stretch; gap:0; width:240px; background:var(--surface); border:1px solid var(--line); border-radius:6px; box-shadow:var(--shadow); padding:12px; }
  .menu-links a { padding:9px 13px; font-size:14px; min-height:44px; }
  .menu-links .menu-secondary { display:flex; }
  .header-inner>nav { margin-left:auto; }
  .hero { grid-template-columns:1fr 1fr; gap:24px; }
  .hero h1 { font-size:clamp(40px,5.5vw,60px); }
  .hero .eyebrow { font-size:9px; }
  .hero .actions { flex-direction:column; align-items:flex-start; gap:7px; }
  .hero-note { font-size:10px; }
  .hero-bottom { margin-top:15px; font-size:9px; }
  .section { padding-block:80px; }
  .section-tight { padding-bottom:65px; }
  .heading-row { gap:30px; }
  .heading-row>p { max-width:300px; font-size:14px; }
  .project-card-copy>p { font-size:13px; }
  .project-art { height:185px; padding:17px; }
  .project-card-copy { padding:20px; }
  .project-title h3 { font-size:26px; }
  .project-card .maturity { font-size:9px; }
  .project-card-copy>.text-link { font-size:11px; }
  .principles .wrap { gap:45px; }
  .principle-list p { font-size:13px; }
  .closing { padding-block:75px; }
  .closing .button { gap:15px; font-size:12px; }
  .page-hero { padding-block:65px 55px; }
  .page-intro { font-size:17px; }
  .process-controls { grid-template-columns:repeat(4,1fr); }
  .process-controls button { min-height:66px; flex-direction:row; align-items:center; padding:14px; }
  .process-panel { padding:32px; gap:40px; }
  .stack-explorer { gap:25px; }
  .layer-panel { padding:28px; }
  .method-grid { gap:27px; }
  .deployment-grid { gap:17px; }
  .deployment-grid article { padding:23px; }
  .deployment-grid h3 { font-size:21px; }
  .governance-grid { grid-template-columns:repeat(2,1fr); }
  .service-body { gap:35px; }
  .industry-section { gap:45px; }
  .architecture-flow li { padding:22px; }
  .architecture-flow h3 { font-size:16px; }
  .product-showcase { padding:35px; gap:40px; }
  .contact-grid { gap:35px; }
  .contact-aside h2 { font-size:30px; }
  .contact-fields { grid-template-columns:1fr; gap:0; }
  .film-section { gap:50px; }
}
@media(max-width:767px) {
  .wrap { width:calc(100% - 40px); }
  h1 { font-size:44px; }
  h2 { font-size:32px; }
  h3 { font-size:22px; }
  .header-inner { min-height:70px; gap:12px; }
  .brand { font-size:16px; gap:8px; }
  .brand img { width:30px; height:30px; }
  .header-actions { gap:8px; }
  .header-cta { display:none; }
  .theme-button { width:40px; height:44px; border:0; }
  .menu summary { font-size:12px; gap:16px; }
  .hero { grid-template-columns:1fr; padding-top:42px; gap:34px; }
  .hero h1 { font-size:clamp(42px,7.7vw,62px); }
  .hero .eyebrow { font-size:10px; margin-bottom:22px; }
  .hero-intro { max-width:540px; font-size:16px; margin-top:24px; }
  .hero .actions { flex-direction:row; align-items:center; gap:14px; margin-top:24px; }
  .hero .button { font-size:12px; padding-inline:16px; }
  .hero .text-link { font-size:11px; gap:10px; }
  .hero-note { margin-top:15px; font-size:10px; }
  .hero-bottom { margin-top:0; padding-block:20px; font-size:9px; gap:12px; }
  .hero-bottom>a { display:none; }
  .section { padding-block:65px; }
  .section-tight { padding-bottom:55px; }
  .section-heading { margin-bottom:30px; }
  .section-heading>.eyebrow { font-size:10px; }
  .heading-row { display:block; }
  .heading-row>p { margin-top:22px; max-width:540px; font-size:14px; }
  .section-end { align-items:flex-start; flex-direction:column; gap:8px; font-size:12px; }
  .section-end .text-link { font-size:13px; }
  .project-grid { grid-template-columns:1fr; gap:24px; }
  .project-art { height:205px; padding:25px; }
  .project-card-copy { padding:27px; }
  .project-title h3 { font-size:30px; }
  .project-card .maturity { font-size:10px; }
  .project-card-copy>p { font-size:14px; }
  .project-card-copy>.text-link { font-size:13px; }
  .principles .wrap { grid-template-columns:1fr; gap:35px; }
  .principles h2 { margin-top:18px; }
  .principles-intro>p:not(.eyebrow) { max-width:none; font-size:15px; }
  .principle-list article { gap:22px; padding-block:22px; }
  .principle-list article:first-child { padding-top:22px; border-top:1px solid var(--line); }
  .principle-list p { font-size:14px; }
  .closing { display:block; padding-block:65px; }
  .closing>div:last-child { margin-top:28px; gap:8px; }
  .closing h2 { font-size:37px; }
  .closing p:not(.eyebrow) { font-size:14px; }
  .closing .button { font-size:13px; gap:28px; }
  .footer { padding-top:40px; }
  .footer-grid { grid-template-columns:repeat(2,1fr); gap:30px 20px; }
  .footer-brand { grid-column:1/-1; }
  .footer-brand>p { margin-top:20px; }
  .footer nav>a { min-height:40px; }
  .footer-bottom { flex-wrap:wrap; gap:15px; margin-top:30px; font-size:10px; }
  .footer-bottom>span:first-child { width:100%; }
  .footer-bottom>span:nth-child(2) { margin-right:auto; }
  .page-hero { padding-block:45px 45px; }
  .page-hero>.eyebrow { font-size:10px; margin-bottom:22px; }
  .page-intro { font-size:16px; margin-top:23px; }
  .page-hero>.actions { margin-top:23px; gap:15px; }
  .scope-note { display:block; padding:24px; }
  .scope-note p { margin-top:14px; }
  .detail-indicator { width:33px; height:33px; font-size:19px; }
  .service-body { grid-template-columns:1fr; gap:25px; padding:0 0 30px; }
  .service-description { font-size:15px; }
  .service-body aside { padding:23px; border:1px solid var(--line); border-radius:5px; background:var(--surface); }
  .two-column { grid-template-columns:1fr; gap:35px; }
  .two-column h2 { margin-block:18px 22px; }
  .two-column h3 { font-size:24px; }
  .boundary-card { padding:25px; }
  .industry-section { grid-template-columns:1fr; gap:25px; padding-block:35px; }
  .industry-heading h2 { font-size:29px; }
  .anchor-links { gap:8px; }
  .anchor-links a { padding-inline:12px; font-size:11px; }
  .process-controls { grid-template-columns:repeat(2,1fr); gap:5px; }
  .process-controls button { font-size:12px; padding:14px; min-height:52px; gap:12px; }
  .process-panel { grid-template-columns:1fr; padding:27px; gap:30px; margin-top:15px; }
  .stage-number { font-size:36px; margin-bottom:22px; }
  .stage-copy h2 { font-size:28px; }
  .stage-copy>p:last-child { font-size:14px; }
  .delivery-contract>div { padding-left:18px; }
  .stack-explorer { grid-template-columns:1fr; gap:22px; }
  .stack-controls button { font-size:11px; gap:13px; min-height:52px; }
  .layer-panel { min-height:0; padding:26px; }
  .layer-panel h3 { margin-top:22px; font-size:29px; }
  .layer-panel>p:not(.eyebrow) { font-size:15px; margin-top:22px; }
  .method-grid { grid-template-columns:1fr; gap:27px; }
  .method-grid h3 { margin-top:18px; font-size:25px; }
  .method-grid p { font-size:15px; }
  .deployment-grid { grid-template-columns:1fr; gap:20px; }
  .deployment-grid article { padding:27px; }
  .deployment-grid h3 { margin-top:23px; font-size:26px; }
  .deployment-grid p { font-size:15px; }
  .governance-grid { grid-template-columns:1fr; gap:28px; }
  .governance-grid h3 { font-size:24px; }
  .governance-grid p { font-size:15px; }
  .solution-hero h1 { font-size:37px; }
  .architecture-flow { grid-template-columns:1fr; }
  .architecture-flow li { padding:22px 25px; }
  .architecture-flow li+li { border-left:0; border-top:1px solid var(--line); }
  .architecture-flow li+li:before { content:"↓"; top:0; left:auto; right:25px; transform:translateY(-50%); }
  .architecture-flow h3 { display:inline-block; margin:0 0 0 17px; font-size:17px; }
  .product-showcase { grid-template-columns:1fr; padding:28px; gap:35px; }
  .product-screen { width:220px; }
  .founder-note { padding:27px; }
  .founder-note blockquote { font-size:24px; }
  .film-section { grid-template-columns:1fr; gap:30px; }
  .film-stage { padding:20px; }
  .film-stage video { height:370px; }
  .film-stage figcaption { font-size:10px; }
  .studio-explorer { padding:20px; }
  .studio-explorer>summary { font-size:14px; }
  .studio-layout { grid-template-columns:1fr; gap:27px; }
  .system-stage { height:300px; }
  .contact-grid { grid-template-columns:1fr; gap:35px; }
  .contact-aside h2 { font-size:32px; }
  .contact-steps { margin-top:25px; }
  .contact-fields { grid-template-columns:1fr 1fr; gap:12px; }
  .chat-header,#brief-form { padding:22px; }
  .chat-header p { font-size:10px; }
  .brief-heading h3 { font-size:25px; }
  .consent { font-size:12px; }
  .prose h2 { font-size:25px; }
  .prose p { font-size:15px; }
}
@media(max-width:389px) {
  .brand { font-size:14px; gap:6px; }
  .brand img { width:27px; height:27px; }
  .header-inner { gap:8px; }
  .header-actions { gap:0; }
  .hero h1 { font-size:40px; }
  .hero .actions { align-items:flex-start; flex-direction:column; gap:6px; }
  .project-art { padding:20px; }
  .contact-fields { grid-template-columns:1fr; gap:0; }
  .chat-header,#brief-form { padding:20px; }
  .architecture-flow h3 { font-size:15px; margin-left:13px; }
  .footer-bottom>span:nth-child(2) { width:100%; }
}
@media(prefers-reduced-motion:reduce) {
  html { scroll-behavior:auto; }
  *,*::before,*::after { animation:none!important; transition:none!important; }
  .button:hover { transform:none; }
}

/* Business pages lead with familiar tasks; technical detail stays optional. */
.simple-hero h1 { font-size:clamp(46px,5vw,73px); }
.simple-hero .hero-intro { max-width:470px; }
.everyday-example { color-scheme:dark; padding:26px; background:#111e32; border:1px solid #415779; color:#edf3ff; border-radius:12px; box-shadow:var(--shadow); min-width:0; }
.example-heading { display:flex; align-items:center; gap:12px; color:#c1d0e9; font:10px/1.7 ui-monospace,monospace; letter-spacing:.05em; }
.example-heading>span:nth-child(2) { flex:1; }
.example-mark { display:grid; place-items:center; width:34px; height:37px; flex-shrink:0; border:1px solid #8099c0; border-radius:7px; color:#d8e5ff; font:italic 27px Georgia,serif; }
.example-label { font-size:8px; border:1px solid #506686; border-radius:4px; padding:3px 6px; }
.scattered-tasks { display:grid; gap:10px; margin-top:30px; }
.scattered-tasks>span { display:flex; align-items:center; gap:13px; min-height:53px; padding:13px 16px; background:#1a2a42; border:1px solid #3b506e; border-radius:5px; font-size:14px; color:#e0e9f7; }
.scattered-tasks svg { width:22px; height:22px; flex-shrink:0; color:#abc7fa; }
.example-bridge { display:flex; align-items:center; gap:14px; padding:19px 5px; }
.example-bridge>span { font-size:22px; color:#9ebdeb; padding-inline:4px; }
.example-bridge p { color:#bdcce3; font-size:12px; }
.clearer-work { display:flex; align-items:flex-start; gap:15px; padding:24px 20px; background:#263e5b; border:1px solid #6c89ae; border-radius:7px; }
.clearer-icon { display:grid; place-items:center; width:28px; height:28px; flex-shrink:0; border:1px solid #b8d3ac; border-radius:50%; color:#d3e9c7; font-size:14px; margin-top:4px; }
.clearer-work h2 { font-size:28px; letter-spacing:-.035em; }
.clearer-work p { font-size:13px; color:#d0def0; margin-top:15px; line-height:1.8; }
.everyday-example figcaption { color:#b9c9e1; font-size:10px; margin-top:18px; line-height:1.8; }
.outcome-grid { display:grid; grid-template-columns:1fr 1fr; gap:22px; }
.outcome-grid>a { display:flex; flex-direction:column; padding:32px; background:var(--surface); border:1px solid var(--line); border-radius:8px; }
.outcome-grid>a:hover { border-color:var(--blue); }
.outcome-icon { display:grid; place-items:center; width:54px; height:54px; color:var(--blue); background:var(--blue-soft); border-radius:10px; margin-bottom:25px; }
.outcome-grid h3 { font-size:27px; }
.outcome-grid p { font-size:15px; margin-top:15px; max-width:440px; }
.outcome-grid .text-link { margin-top:auto; padding-top:22px; font-size:13px; }
.simple-process { display:grid; grid-template-columns:repeat(3,1fr); gap:42px; list-style:none; }
.simple-process li { padding-top:25px; border-top:1px solid var(--line); }
.step-dot { display:grid; place-items:center; width:44px; height:44px; border-radius:50%; background:var(--blue-soft); color:var(--blue); font-size:18px; margin-bottom:24px; }
.simple-process h3 { font-size:25px; line-height:1.25; max-width:280px; }
.simple-process p { margin-top:17px; font-size:15px; }
.plain-promises { display:grid; grid-template-columns:repeat(3,1fr); gap:25px; padding-top:27px; margin-top:42px; border-top:1px solid var(--line); color:var(--muted); font-size:12px; }
.plain-promises span { display:flex; gap:10px; }
.plain-promises i { font-style:normal; color:var(--blue); }
.business-service { display:grid; grid-template-columns:1fr 1fr; gap:90px; padding-block:44px; border-top:1px solid var(--line); scroll-margin-top:110px; }
.business-service h2 { font-size:35px; margin:23px 0 22px; }
.business-service>div>p:not(.eyebrow) { font-size:16px; }
.business-service-examples { padding:27px; background:var(--surface); border:1px solid var(--line); border-radius:7px; }
.business-service-examples .check-list { margin-top:10px; }
.business-service-examples>p:not(.eyebrow) { font-size:14px; margin-top:20px; }
.business-service-examples .text-link { margin-top:15px; font-size:13px; }
.business-service:last-of-type { border-bottom:1px solid var(--line); margin-bottom:20px; }
.plain-faq { max-width:1000px; }
.plain-faq details { border-top:1px solid var(--line); }
.plain-faq details:last-child { border-bottom:1px solid var(--line); }
.plain-faq summary { display:flex; align-items:center; justify-content:space-between; gap:24px; padding-block:25px; min-height:64px; font-size:19px; font-weight:500; line-height:1.5; }
.plain-faq summary>span { color:var(--blue); flex-shrink:0; }
.plain-faq details[open] summary { color:var(--blue); }
.plain-faq details[open] summary>span { transform:rotate(45deg); }
.plain-faq details>p { max-width:850px; font-size:15px; padding-bottom:25px; }
.optional-details { padding:27px; border:1px solid var(--line); background:var(--surface); border-radius:7px; }
.optional-details>summary { display:flex; align-items:center; justify-content:space-between; gap:30px; }
.optional-details>summary h2 { font-size:26px; margin-top:12px; }
.optional-details>summary p:not(.eyebrow) { font-size:14px; margin-top:10px; }
.optional-details[open]>summary .detail-indicator { transform:rotate(45deg); }
.optional-content { margin-top:32px; border-top:1px solid var(--line); padding-top:30px; }
.optional-content>.caption { margin-bottom:25px; }
.optional-content>.architecture-flow { margin-top:25px; }
.technical-project-notes { margin-block:40px 25px; }
.feature-heading { margin-top:32px; }
.project-card>a { display:flex; flex-direction:column; }
.project-card-copy { display:flex; flex-direction:column; flex:1; }
.project-card-copy>.project-name { font:12px/1.7 ui-monospace,monospace; color:var(--blue); margin:0; }
.project-title h3 { font-size:26px; line-height:1.2; }
.project-title>span { align-self:flex-start; padding-top:5px; }
.project-card-copy>p:not(.project-name) { font-size:14px; }
.project-card-end { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:12px; margin-top:auto; padding-top:24px; }
.project-card-end .text-link { font-size:12px; }
.project-art { display:block; padding:0; height:215px; }
.project-art .work-screen { width:175px; height:auto; margin:22px auto 0; border:4px solid #395174; border-radius:14px; }
.work-art-note { display:block; position:absolute; bottom:0; left:0; right:0; padding:12px 17px; background:#0d172be8; color:#d0dcef; font:9px/1.7 ui-monospace,monospace; }
.factory-example,.survey-example { width:75%; margin:26px auto 0; font:10px/1.6 ui-monospace,monospace; color:#e4ecf2; }
.factory-example>span,.survey-example>span { display:block; }
.factory-example>span:last-child,.survey-example>span:last-child { margin-top:14px; font-size:11px; }
.factory-bars { display:flex; gap:11px; height:80px; align-items:flex-end; border-bottom:1px solid #9fbab2; margin-top:12px; padding:0 10px 0; }
.factory-bars i { flex:1; height:45%; border:1px solid #a8c7b0; background:#80a18e55; border-radius:3px 3px 0 0; }
.factory-bars i:nth-child(2) { height:75%; }
.factory-bars i:nth-child(3) { height:60%; }
.factory-bars i:nth-child(4) { height:90%; }
.factory-bars i:nth-child(5) { height:68%; }
.survey-example>div { display:flex; align-items:center; gap:14px; padding:9px 13px; border:1px solid #807797; background:#393148; border-radius:5px; margin-top:8px; }
.survey-example i { width:13px; height:13px; border:1px solid #b0a3c8; border-radius:50%; }
.survey-example b { display:block; height:4px; background:#bcb0d5; width:65%; border-radius:4px; }
.survey-example>div:nth-child(3) i { background:#cfc1e9; }
.survey-example>div:nth-child(3) b { width:48%; }
.simple-contact-grid { grid-template-columns:1.2fr .8fr; gap:65px; }
.person-note { padding:30px; border:1px solid var(--line); border-radius:8px; background:var(--surface); }
.person-initial { display:grid; place-items:center; width:58px; height:58px; background:var(--blue-soft); color:var(--blue); font:28px Georgia,serif; border-radius:50%; margin-bottom:25px; }
.person-note h2 { font-size:29px; }
.person-note>h3 { font-size:22px; margin-top:30px; }
.person-note .check-list li { font-size:14px; }
.contact-hero>.text-link { margin-top:20px; }
@media(max-width:1099px) {
  .simple-hero h1 { font-size:clamp(40px,5.2vw,60px); }
  .everyday-example { padding:21px; }
  .example-heading { font-size:9px; gap:10px; }
  .example-label { font-size:7px; }
  .scattered-tasks>span { font-size:12px; padding:12px; }
  .clearer-work { padding:20px 16px; gap:12px; }
  .clearer-work h2 { font-size:24px; }
  .clearer-work p { font-size:12px; }
  .outcome-grid h3 { font-size:25px; }
  .business-service { gap:40px; }
  .business-service h2 { font-size:30px; }
  .simple-process { gap:28px; }
  .simple-process h3 { font-size:22px; }
  .project-title h3 { font-size:23px; }
  .project-card-end { gap:4px; }
  .simple-contact-grid { gap:35px; }
  .person-note { padding:23px; }
  .person-note h2 { font-size:25px; }
}
@media(max-width:767px) {
  .simple-hero h1 { font-size:clamp(43px,8vw,62px); }
  .everyday-example { padding:24px; }
  .example-heading { font-size:10px; }
  .example-label { font-size:8px; }
  .scattered-tasks { margin-top:25px; }
  .scattered-tasks>span { font-size:13px; padding:13px 12px; }
  .clearer-work { padding:22px 17px; }
  .clearer-work h2 { font-size:26px; }
  .clearer-work p { font-size:13px; }
  .example-bridge { padding-block:17px; }
  .example-bridge p { font-size:11px; }
  .outcome-grid { grid-template-columns:1fr; gap:18px; }
  .outcome-grid>a { padding:27px; }
  .outcome-grid h3 { font-size:27px; }
  .outcome-grid p { font-size:15px; }
  .simple-process { grid-template-columns:1fr; gap:30px; }
  .simple-process li { padding-top:25px; }
  .step-dot { margin-bottom:20px; }
  .simple-process h3 { max-width:none; font-size:25px; }
  .simple-process p { font-size:15px; margin-top:14px; }
  .plain-promises { grid-template-columns:1fr; gap:15px; font-size:13px; }
  .business-service { grid-template-columns:1fr; gap:25px; padding-block:32px; }
  .business-service h2 { font-size:31px; }
  .business-service-examples { padding:24px; }
  .plain-faq summary { font-size:17px; padding-block:22px; }
  .optional-details { padding:23px; }
  .optional-details>summary { gap:18px; }
  .optional-details>summary h2 { font-size:24px; }
  .optional-details>summary p:not(.eyebrow) { font-size:13px; }
  .optional-content { margin-top:24px; padding-top:24px; }
  .optional-content .process-panel { padding:23px; }
  .project-title h3 { font-size:28px; }
  .project-card-end { padding-top:20px; }
  .project-art { height:215px; }
  .simple-contact-grid { grid-template-columns:1fr; gap:27px; }
  .person-note { padding:26px; }
  .person-note h2 { font-size:29px; }
}
@media(max-width:389px) {
  .simple-hero h1 { font-size:40px; }
  .everyday-example { padding:19px; }
  .example-heading { font-size:9px; }
  .example-label { display:none; }
  .clearer-work { padding:20px 14px; gap:10px; }
  .clearer-work h2 { font-size:24px; }
  .clearer-icon { width:24px; height:24px; }
  .clearer-work p { font-size:12px; }
  .outcome-grid>a { padding:24px; }
  .outcome-grid h3 { font-size:26px; }
  .optional-details { padding:20px; }
  .optional-details>summary h2 { font-size:22px; }
  .optional-details>summary p:not(.eyebrow) { font-size:12px; }
  .optional-content .process-panel { padding:20px; }
  .project-title h3 { font-size:26px; }
}

.topic-links { display:flex; flex-wrap:wrap; gap:8px; margin-top:28px; }
.topic-links a { display:inline-flex; align-items:center; min-height:44px; padding:10px 16px; border:1px solid var(--line); border-radius:5px; font-size:13px; background:var(--surface); color:var(--blue); }
.topic-links a:hover { background:var(--blue-soft); }
.technical-project+.technical-project { border-top:1px solid var(--line); padding-top:40px; margin-top:40px; }
.technical-project>h2 { font-size:30px; margin-top:12px; }
.technical-project>.caption { margin-top:20px; }
.optional-details,.technical-project,.process-panel,section[id] { scroll-margin-top:110px; }

.services-hero { padding-top:50px; padding-bottom:40px; }
.services-hero h1 { font-size:clamp(40px,4.2vw,60px); }
.services-hero .page-intro { font-size:17px; margin-top:20px; }
.services-intro { margin-top:18px; max-width:660px; }
.service-explorer.enhanced { display:grid; grid-template-columns:275px minmax(0,1fr); gap:44px; align-items:start; }
.service-explorer.enhanced .service-sidebar { position:sticky; top:110px; max-height:calc(100svh - 140px); overflow-y:auto; padding-right:7px; }
.service-tab-group+.service-tab-group { margin-top:23px; }
.service-group-name { display:flex; align-items:center; gap:10px; color:var(--text); font-size:13px; font-weight:650; }
.service-group-name>span { display:grid; place-items:center; flex-shrink:0; width:25px; height:25px; border:1px solid var(--line); border-radius:50%; color:var(--blue); font:10px ui-monospace,monospace; }
.service-branches { margin:8px 0 0 12px; padding-left:14px; border-left:1px solid var(--line); display:grid; gap:3px; }
.service-tabs button { display:flex; justify-content:space-between; align-items:center; gap:14px; width:100%; min-height:44px; padding:11px 13px; border:0; border-radius:5px; background:transparent; color:var(--muted); font-size:13px; line-height:1.45; text-align:left; }
.service-tabs button>span { flex-shrink:0; }
.service-tabs button:hover { color:var(--blue); background:var(--blue-soft); }
.service-tabs button[aria-selected=true] { background:var(--button); color:var(--button-text); }
.service-panel { padding:38px; border:1px solid var(--line); border-radius:8px; background:var(--surface); scroll-margin-top:110px; }
.service-panel+.service-panel { margin-top:24px; }
.service-explorer.enhanced .service-panel { margin-top:0; min-height:550px; }
.service-panel>h3 { font-size:38px; line-height:1.15; margin-top:18px; max-width:660px; }
.service-definition { font-size:18px; line-height:1.8; margin-top:24px; max-width:680px; }
.service-example { margin-top:27px; padding:23px; border-left:3px solid var(--blue); background:var(--tint); }
.service-example>p:last-child { font-size:16px; margin-top:11px; }
.service-scope { margin-top:27px; border-block:1px solid var(--line); padding-block:17px; }
.service-scope>summary { display:flex; align-items:center; justify-content:space-between; gap:20px; min-height:44px; font-size:14px; color:var(--blue); }
.service-scope>summary>span { font-size:23px; }
.service-scope[open]>summary>span { transform:rotate(45deg); }
.service-scope .service-body { padding:24px 0 0; gap:28px; grid-template-columns:1.2fr 1fr; }
.service-scope h4 { font-weight:600; line-height:1.5; }
.service-scope .service-description { font-size:14px; }
.service-scope .capability-list { margin-top:15px; }
.service-availability { font-size:12px; line-height:1.8; margin:23px 0; max-width:630px; }
.service-availability strong { color:var(--text); font-weight:600; }
.engineering-reference { padding-block:35px; margin-bottom:70px; border-block:1px solid var(--line); background:var(--tint); scroll-margin-top:110px; }
.reference-summary { display:flex; align-items:center; justify-content:space-between; gap:30px; }
.reference-summary h2 { font-size:30px; margin-top:12px; }
.reference-summary p:last-child { margin-top:14px; font-size:15px; }
.engineering-reference[open]>.reference-summary { margin-bottom:55px; }
.engineering-reference[open]>.reference-summary .detail-indicator { transform:rotate(45deg); }
@media(max-width:1099px) {
  .service-explorer.enhanced { grid-template-columns:230px minmax(0,1fr); gap:26px; }
  .service-panel { padding:28px; }
  .service-panel>h3 { font-size:32px; }
  .service-scope .service-body { grid-template-columns:1fr; }
  .service-body aside { border-left:0; border-top:1px solid var(--line); padding:23px 0 0; }
}
@media(max-width:767px) {
  .services-hero { padding-bottom:45px; }
  .service-explorer.enhanced { grid-template-columns:1fr; gap:28px; }
  .service-explorer.enhanced .service-sidebar { position:static; max-height:none; overflow:visible; padding-right:0; }
  .service-branches { grid-template-columns:1fr 1fr; gap:5px; }
  .service-tabs button { min-height:52px; border:1px solid var(--line); padding:10px; font-size:12px; background:var(--surface); }
  .service-tab-group+.service-tab-group { margin-top:18px; }
  .service-panel { padding:25px; }
  .service-explorer.enhanced .service-panel { min-height:0; }
  .service-panel>h3 { font-size:31px; }
  .service-definition { font-size:17px; margin-top:20px; }
  .service-example { padding:19px; }
  .service-example>p:last-child { font-size:15px; }
  .reference-summary h2 { font-size:26px; }
  .reference-summary p:last-child { font-size:14px; }
}
@media(max-width:389px) {
  .service-panel { padding:22px; }
  .service-panel>h3 { font-size:28px; }
  .service-tabs button { font-size:11px; gap:6px; }
}

.service-panel,#technical-services { scroll-margin-top:0; }
.service-panel-actions { display:flex; flex-wrap:wrap; align-items:center; gap:20px; }
.service-panel-actions>.text-link { font-size:13px; }
