/* Patrick Hub — one editorial system for every localized page.
   Tokens continue the 2026-09-17 staging design: near-black, warm cream, serif display, muted green accent. */
:root {
  --dark: #0b0b0c;
  --dark-2: #141517;
  --dark-3: #1c1d1f;
  --light: #f7f5f2;
  --paper: #efece6;
  --ink: #1b2529;
  --muted: #566165;
  --muted-dark: #b9bfbb;
  --accent: #446957;
  --accent-light: #a9c2b3;
  --rule: #d9d6cf;
  --rule-dark: #ffffff26;
  --serif: Georgia, 'Times New Roman', serif;
  --sans: Inter, 'Helvetica Neue', Arial, sans-serif;
  --max: 1240px;
  --gutter: clamp(20px, 5vw, 72px);
  --section: clamp(56px, 6.5vw, 96px);
  --topbar: 72px;
}

/* ---------- base ---------- */
*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; scroll-padding-top: calc(var(--topbar) + 16px); -webkit-text-size-adjust: 100%; }
body { margin: 0; background: var(--light); color: var(--ink); font: 16px/1.6 var(--sans); -webkit-font-smoothing: antialiased; overflow-x: hidden; }
h1, h2, h3, p, figure, blockquote, dl, dd { margin: 0; }
h1, h2, h3 { font-family: var(--serif); font-weight: 400; line-height: 1.05; letter-spacing: -.035em; text-wrap: balance; }
h1 { font-size: clamp(44px, 6.2vw, 84px); }
h2 { font-size: clamp(34px, 4.2vw, 58px); }
h3 { font-size: clamp(24px, 2.3vw, 32px); letter-spacing: -.025em; }
p { text-wrap: pretty; }
a { color: inherit; }
img { display: block; width: 100%; height: auto; }
ul, ol { margin: 0; padding: 0; list-style: none; }
button, input, textarea { font: inherit; color: inherit; }
.shell { width: min(calc(100% - 2 * var(--gutter)), var(--max)); margin-inline: auto; }
.section { padding-block: var(--section); }
.eyebrow { font: 600 11px/1.5 var(--sans); letter-spacing: .16em; text-transform: uppercase; color: var(--accent); margin-bottom: 18px; }
.kicker { font-size: 12px; letter-spacing: .04em; color: var(--muted); margin-bottom: 12px; }
.muted { color: var(--muted); }
.section-head { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, .9fr); gap: clamp(28px, 6vw, 88px); align-items: end; margin-bottom: clamp(32px, 4vw, 56px); }
.section-aside { display: grid; gap: 18px; }
.section-head h2 { max-width: 16ch; }
.section-lead { font-size: 17px; line-height: 1.65; color: var(--muted); max-width: 46ch; }
.section-more { margin-top: 32px; }

/* ---------- links & buttons ---------- */
.text-link { display: inline-flex; align-items: center; gap: 12px; min-height: 44px; font-size: 14px; font-weight: 600; letter-spacing: .01em; text-decoration: none; border-bottom: 1px solid currentColor; padding-block: 8px 6px; }
.text-link span { font-size: 17px; line-height: 1; transition: transform .2s ease; }
.text-link:hover span { transform: translateX(3px); }
.text-link:hover { color: var(--accent); }
.btn { display: inline-flex; align-items: center; justify-content: center; gap: 12px; min-height: 48px; padding: 12px 24px; border-radius: 999px; font-size: 14px; font-weight: 600; text-decoration: none; border: 1px solid transparent; cursor: pointer; transition: background .2s ease, color .2s ease; }
.btn-dark { background: var(--dark); color: var(--light); }
.btn-dark:hover { background: var(--accent); }
.btn-light { background: var(--light); color: var(--dark); }
.btn-light:hover { background: #fff; }
.btn[disabled] { opacity: .6; cursor: progress; }
.card-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 28px; margin-top: 22px; }
.bridge-link { display: inline-block; padding-block: 12px; font-size: 13px; line-height: 1.5; color: var(--muted); text-underline-offset: 4px; }
.bridge-link:hover { color: var(--accent); }

/* ---------- status ---------- */
.status { align-self: flex-start; justify-self: start; display: inline-flex; align-items: center; gap: 8px; font-size: 12px; font-weight: 600; letter-spacing: .02em; padding: 5px 12px 5px 10px; border-radius: 999px; background: #e4e9e3; color: #2f4a3d; white-space: nowrap; }
.status-dot { width: 7px; height: 7px; border-radius: 50%; background: #b58a2c; }
.status-published .status-dot { background: var(--accent); }

/* ---------- accessibility ---------- */
.skip-link { position: fixed; z-index: 1000; left: 16px; top: 12px; transform: translateY(-200%); background: #fff; color: var(--ink); padding: 12px 18px; text-decoration: none; }
.skip-link:focus { transform: none; }
:where(a, button, input, textarea, summary):focus-visible { outline: 3px solid #b3913f; outline-offset: 4px; }
::selection { background: #d5dccc; color: #14241e; }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } *, *::before, *::after { animation: none !important; transition: none !important; } }

/* ---------- topbar ---------- */
.topbar { position: sticky; top: 0; z-index: 50; background: var(--dark); color: #f5f3ef; border-bottom: 1px solid var(--rule-dark); }
.topbar-inner { height: var(--topbar); display: flex; align-items: center; justify-content: space-between; gap: 24px; }
.brand { display: flex; align-items: center; gap: 12px; text-decoration: none; min-height: 44px; }
.brand-mark { font: 26px/1 var(--serif); letter-spacing: -.08em; }
.brand-name { font-size: 12px; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; }
.brand-name small { display: block; font-size: 10px; font-weight: 400; color: var(--muted-dark); letter-spacing: .08em; margin-top: 2px; }
.site-menu { display: flex; align-items: center; gap: 28px; }
.primary-nav { display: flex; gap: 28px; }
.primary-nav a { display: inline-flex; align-items: center; min-height: 44px; font-size: 14px; text-decoration: none; color: #d7d9d6; border-bottom: 1px solid transparent; }
.primary-nav a:hover, .primary-nav a[aria-current="page"] { color: #fff; border-bottom-color: #ffffff80; }
.command-pill { display: inline-flex; align-items: center; gap: 10px; min-height: 40px; padding: 8px 18px; border: 1px solid #ffffff59; border-radius: 999px; font-size: 13px; font-weight: 600; text-decoration: none; color: #fff; transition: background .2s ease, color .2s ease; }
.command-pill:hover, .command-pill[aria-current="page"] { background: var(--light); color: var(--dark); }
.command-pill .pill-status { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.menu-contact { display: none; }
.lang-switch { display: flex; align-items: center; gap: 6px; font-size: 12px; letter-spacing: .08em; }
.lang-switch a, .lang-current { display: inline-flex; align-items: center; justify-content: center; min-width: 32px; min-height: 44px; text-decoration: none; }
.lang-switch a { color: var(--muted-dark); }
.lang-switch a:hover { color: #fff; }
.lang-current { color: #fff; font-weight: 700; }
.lang-sep { color: #ffffff4d; }
.menu-toggle { display: none; min-width: 44px; min-height: 44px; padding: 0 4px; background: none; border: 0; font-size: 13px; font-weight: 600; letter-spacing: .06em; text-transform: uppercase; color: #fff; cursor: pointer; }

@media (max-width: 960px) {
  .menu-toggle { display: inline-flex; align-items: center; }
  .site-menu { display: none; position: fixed; inset: var(--topbar) 0 0 0; background: var(--dark); padding: 24px var(--gutter) 40px; flex-direction: column; align-items: stretch; gap: 0; overflow-y: auto; }
  .site-menu.open { display: flex; }
  body.menu-open { overflow: hidden; }
  .primary-nav { flex-direction: column; gap: 0; }
  .primary-nav a { font: 34px/1.2 var(--serif); letter-spacing: -.03em; color: #fff; padding-block: 12px; border-bottom: 1px solid var(--rule-dark); }
  .command-pill { margin-top: 28px; border-radius: 4px; padding: 18px 20px; display: grid; grid-template-columns: 1fr auto; gap: 4px 12px; background: var(--dark-3); border-color: var(--rule-dark); }
  .command-pill .pill-label { font: 24px/1.2 var(--serif); letter-spacing: -.02em; }
  .command-pill .pill-status { position: static; width: auto; height: auto; clip: auto; grid-column: 1; font-size: 12px; font-weight: 400; color: var(--muted-dark); }
  .command-pill > span[aria-hidden] { grid-column: 2; grid-row: 1 / span 2; align-self: center; font-size: 20px; }
  .menu-contact { display: inline-flex; align-items: center; min-height: 48px; margin-top: 20px; font-size: 15px; font-weight: 600; color: #fff; }
  .lang-switch { margin-top: 20px; padding-top: 16px; border-top: 1px solid var(--rule-dark); font-size: 14px; }
}

/* ---------- home hero ---------- */
.hero { position: relative; isolation: isolate; background: #0d1015; color: var(--light); min-height: clamp(600px, calc(100svh - var(--topbar)), 860px); display: flex; }
.hero-media { position: absolute; inset: 0; z-index: -2; overflow: hidden; }
.hero-media picture, .hero-media img { width: 100%; height: 100%; }
.hero-media img { object-fit: cover; object-position: 50% 50%; }
.hero::after { content: ''; position: absolute; inset: 0; z-index: -1; background: linear-gradient(90deg, rgba(11, 11, 12, .72), rgba(11, 11, 12, .3) 45%, transparent 68%); pointer-events: none; }
.hero-content { display: flex; flex-direction: column; justify-content: center; align-items: flex-start; padding-block: 72px 56px; }
.hero .eyebrow { color: #c8cdc6; }
.hero h1 { font-size: clamp(72px, 8.4vw, 118px); line-height: .9; letter-spacing: -.06em; margin-bottom: 30px; }
.hero h1 em { color: #d8ded8; }
.hero-lead { max-width: 34ch; font-size: clamp(18px, 1.6vw, 21px); line-height: 1.55; color: #ecece8; }
.hero-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 16px 32px; margin-top: 32px; }
.hero .text-link, .command-hero .text-link { color: #f6f5f1; }
.hero-meta { display: flex; flex-wrap: wrap; align-items: center; gap: 10px 22px; margin-top: 40px; padding-top: 18px; border-top: 1px solid #ffffff33; font-size: 12px; letter-spacing: .03em; color: #c8ccc9; }
.hero-meta a { color: #fff; text-underline-offset: 4px; min-height: 44px; display: inline-flex; align-items: center; gap: 6px; }

/* ---------- page hero ---------- */
.page-hero { padding-block: clamp(56px, 7vw, 104px) clamp(40px, 4.5vw, 64px); border-bottom: 1px solid var(--rule); }
.page-hero-inner { display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(0, .75fr); gap: 24px clamp(32px, 6vw, 96px); align-items: end; }
.page-hero h1 { max-width: 16ch; }
.page-lead { font-size: clamp(17px, 1.5vw, 20px); line-height: 1.6; color: var(--muted); max-width: 52ch; }
.page-hero .page-lead + .status { margin-top: 20px; }
.page-hero-aside { padding-bottom: 6px; }

/* ---------- ecosystem ---------- */
.eco { background: var(--paper); }
.eco-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: clamp(20px, 3vw, 40px); }
.eco-col { border-top: 2px solid var(--ink); padding-top: 18px; }
.eco-label { display: flex; justify-content: space-between; align-items: baseline; gap: 12px; font: 26px/1.2 var(--serif); letter-spacing: -.02em; margin-bottom: 12px; }
.eco-label span { font: 600 11px/1.4 var(--sans); letter-spacing: .12em; text-transform: uppercase; color: var(--muted); }
.eco-col li + li { border-top: 1px solid var(--rule); }
.eco-col a { display: flex; flex-direction: column; gap: 2px; padding-block: 14px; min-height: 44px; text-decoration: none; }
.eco-col a strong { font-size: 16px; font-weight: 600; }
.eco-col a span { font-size: 14px; color: var(--muted); }
.eco-col a:hover strong { color: var(--accent); }

/* ---------- businesses ---------- */
.business-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: clamp(28px, 4vw, 56px); }
.business { display: flex; flex-direction: column; gap: 24px; }
.business-shot { display: block; overflow: hidden; border: 1px solid var(--rule); background: var(--paper); }
.business-shot img { aspect-ratio: 16 / 10; object-fit: cover; object-position: 50% 0; transition: transform .5s ease; }
.business-shot:hover img { transform: scale(1.015); }
.business h3, .business h2 { font-size: clamp(28px, 2.8vw, 38px); margin-bottom: 14px; }
.card-summary { font-size: 16px; color: var(--ink); max-width: 48ch; }
.card-role { font-size: 14px; color: var(--muted); margin-top: 12px; max-width: 52ch; }
.business-stack { display: grid; gap: clamp(64px, 8vw, 104px); }
.business-detailed { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, .9fr); gap: clamp(28px, 5vw, 72px); align-items: start; }
.business-detailed:nth-child(even) .business-shot { order: 2; }
.business-detailed h2 { font-size: clamp(34px, 3.6vw, 50px); margin-bottom: 24px; }
.facts { display: grid; gap: 0; }
.facts div { display: grid; grid-template-columns: 140px 1fr; gap: 16px; padding-block: 14px; border-top: 1px solid var(--rule); }
.facts dt { font-size: 12px; font-weight: 600; letter-spacing: .06em; text-transform: uppercase; color: var(--muted); padding-top: 3px; }
.facts dd { font-size: 15px; }
.eco-note { padding-block: 0 var(--section); }
.eco-note-inner { border-top: 1px solid var(--rule); padding-top: 32px; display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 16px 40px; }
.eco-note-inner p { font: 22px/1.4 var(--serif); letter-spacing: -.01em; max-width: 40ch; }

/* ---------- products ---------- */
.command-feature { display: grid; grid-template-columns: minmax(0, .75fr) minmax(0, 1.25fr); gap: clamp(28px, 4vw, 56px); align-items: center; background: var(--dark); color: var(--light); padding: clamp(28px, 4.5vw, 64px); border-radius: 4px; }
.command-feature .kicker { color: var(--accent-light); letter-spacing: .12em; text-transform: uppercase; font-size: 11px; font-weight: 600; }
.command-feature h3, .command-feature h2 { font-size: clamp(32px, 3.4vw, 48px); margin-bottom: 16px; }
.command-feature .status, .command-hero .status { background: #ffffff1a; color: #e8ebe7; }
.command-promise { font: clamp(20px, 1.8vw, 24px)/1.4 var(--serif); letter-spacing: -.01em; margin-top: 22px; color: #f1f0ec; }
.command-for { font-size: 15px; color: var(--muted-dark); margin-top: 16px; margin-bottom: 28px; max-width: 46ch; }
.command-shot img { border: 1px solid #ffffff2e; border-radius: 3px; }
.command-shot figcaption { font-size: 12px; color: var(--muted-dark); margin-top: 12px; }

.product { padding: clamp(24px, 3vw, 36px); border: 1px solid var(--rule); border-radius: 4px; background: #fff; }
.product h3, .product h2 { margin-bottom: 14px; }
.product-summary { font-size: 15px; color: var(--muted); margin-top: 16px; max-width: 50ch; }
.product-primary { background: var(--paper); border-color: transparent; margin-top: clamp(20px, 2.5vw, 32px); display: grid; grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr); column-gap: clamp(28px, 5vw, 72px); align-items: start; }
.product-primary > .kicker, .product-primary > h2, .product-primary > h3, .product-primary > .status { grid-column: 1; }
.product-primary > .product-summary { grid-column: 2; grid-row: 1 / span 3; margin-top: 0; }
.product-primary > .card-actions { grid-column: 2; grid-row: 4; margin-top: 0; }
.product-primary h3, .product-primary h2 { font-size: clamp(34px, 3.4vw, 48px); }
.product-primary .product-summary { color: var(--ink); font-size: 17px; }
.product-minor { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: clamp(16px, 2vw, 24px); margin-top: clamp(16px, 2vw, 24px); }
.product-minor .product { background: transparent; }
.product-minor .product h3 { font-size: 24px; }

.minor-heading { font: 600 12px/1.5 var(--sans); letter-spacing: .14em; text-transform: uppercase; color: var(--muted); margin: clamp(32px, 4vw, 48px) 0 0; }
.status-note { font-size: 13px; color: var(--muted); max-width: 70ch; margin-top: 28px; }
.relation { background: var(--paper); }
.relation h2 { max-width: 18ch; margin-bottom: 40px; }
.relation-steps { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0; counter-reset: rel; }
.relation-steps li { display: flex; flex-direction: column; gap: 6px; padding: 22px 28px 22px 0; border-top: 2px solid var(--ink); position: relative; }
.relation-steps li + li { padding-left: 28px; border-left: 1px solid var(--rule); }
.relation-role { font: 600 11px/1.4 var(--sans); letter-spacing: .12em; text-transform: uppercase; color: var(--accent); }
.relation-steps strong { font: 26px/1.2 var(--serif); font-weight: 400; letter-spacing: -.02em; }
.relation-steps span:last-child { font-size: 15px; color: var(--muted); }
.relation-note { font-size: 15px; color: var(--muted); max-width: 64ch; margin-top: 32px; }

/* ---------- method ---------- */
.method { border-top: 1px solid var(--rule); padding-block: clamp(48px, 5.5vw, 80px); }
.flow { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); border-top: 1px solid var(--ink); }
.flow li { padding: 20px 16px 4px 0; display: flex; flex-direction: column; gap: 8px; }
.flow li + li { padding-left: 16px; border-left: 1px solid var(--rule); }
.flow strong { font: clamp(24px, 2.6vw, 38px)/1.1 var(--serif); font-weight: 400; letter-spacing: -.03em; }
.flow-num { font: 600 11px/1.4 var(--sans); letter-spacing: .1em; color: var(--accent); }
.method-note { font: italic 18px/1.5 var(--serif); color: var(--ink); max-width: 46ch; padding-left: 16px; border-left: 2px solid var(--accent); }

/* ---------- about teaser ---------- */
.about-teaser { background: var(--paper); }
.about-teaser-grid { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, .9fr); gap: clamp(32px, 6vw, 96px); align-items: start; }
.about-teaser h2 { font-size: clamp(44px, 5.6vw, 80px); line-height: .98; letter-spacing: -.045em; max-width: 11ch; }
.about-teaser-body { display: grid; gap: 24px; justify-items: start; padding-top: 8px; }
.path-index { width: 100%; border-top: 1px solid var(--ink); }
.path-index li { display: flex; align-items: baseline; gap: 16px; padding-block: 10px; border-bottom: 1px solid var(--rule); font: 20px/1.3 var(--serif); letter-spacing: -.01em; }

/* ---------- command page ---------- */
.command-hero { background: var(--dark); color: var(--light); padding-block: clamp(72px, 10vw, 136px) clamp(56px, 7vw, 96px); }
.command-hero .eyebrow { color: var(--accent-light); }
.command-hero-grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: clamp(32px, 5vw, 72px); align-items: center; }
.command-hero h1 { font-size: clamp(38px, 4.4vw, 64px); max-width: 16ch; margin-block: 24px; }
.command-hero-shot img { box-shadow: 0 30px 60px #00000066; }
.section-head-flush { margin-bottom: 0; }
.command-hero .page-lead { color: #d5d8d4; }
.status-line { font-size: 13px; color: var(--muted-dark); margin-top: 28px; }
.split { display: grid; grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr); gap: clamp(28px, 6vw, 88px); align-items: start; }
.split h2 { max-width: 14ch; }
.chips { display: flex; flex-wrap: wrap; gap: 10px; margin-bottom: 28px; }
.chips li { padding: 8px 16px; border: 1px solid var(--rule); border-radius: 999px; font-size: 14px; background: #fff; }
.pull-quote { margin-top: 32px; padding-left: 20px; border-left: 2px solid var(--accent); }
.pull-quote p { font: italic clamp(22px, 2vw, 28px)/1.35 var(--serif); letter-spacing: -.01em; }
.command-audience { background: var(--paper); }
.check-list li { position: relative; padding: 12px 0 12px 28px; border-top: 1px solid var(--rule); font-size: 16px; }
.check-list li::before { content: ''; position: absolute; left: 2px; top: 20px; width: 12px; height: 7px; border-left: 2px solid var(--accent); border-bottom: 2px solid var(--accent); transform: rotate(-45deg); }
.check-list + .muted { margin-top: 24px; }
.command-audience .muted + .muted { margin-top: 12px; }
.module-grid { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 0; border-top: 1px solid var(--ink); }
.module-grid li { padding: 20px 20px 20px 0; }
.module-grid li + li { padding-left: 20px; border-left: 1px solid var(--rule); }
.module-grid h3 { font-size: 24px; margin-block: 8px 10px; }
.module-grid p { font-size: 14px; color: var(--muted); }
.command-origin { background: var(--dark); color: var(--light); }
.command-origin .section-lead { color: var(--muted-dark); }
.command-origin .eyebrow { color: var(--accent-light); }
.path-note { font-size: 15px; color: var(--muted); margin-block: 16px 32px; }
.path-steps { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; }
.path-steps li { display: flex; flex-direction: column; gap: 8px; padding: 20px; border: 1px dashed #bdbab2; border-radius: 4px; }
.path-steps strong { font: 20px/1.3 var(--serif); font-weight: 400; }
.soon { font-size: 11px; font-weight: 600; letter-spacing: .1em; text-transform: uppercase; color: var(--muted); margin-top: auto; }
.command-builder { padding-block: 0 var(--section); }
.builder-grid { display: grid; grid-template-columns: 200px minmax(0, 1fr) auto; gap: 20px 40px; align-items: center; border-top: 1px solid var(--rule); padding-top: 32px; }
.builder-grid .eyebrow { margin: 0; }
.builder-text { font: 22px/1.45 var(--serif); letter-spacing: -.01em; max-width: 46ch; }
.command-status { background: var(--paper); }
.status-panel { display: grid; grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr); gap: 24px 64px; align-items: end; }
.status-panel p:not(.eyebrow) { font-size: 17px; color: var(--muted); max-width: 50ch; margin-bottom: 24px; }

/* ---------- forms ---------- */
.form-section { padding-top: clamp(40px, 5vw, 64px); }
.form-grid { max-width: 720px; }
.interest-form { display: grid; gap: 22px; }
.field { display: grid; gap: 8px; border: 0; padding: 0; margin: 0; min-width: 0; }
.field label, .field legend { font-size: 14px; font-weight: 600; padding: 0; }
.req { color: #9c3d2f; }
.opt { font-weight: 400; color: var(--muted); }
.field input[type="text"], .field input[type="email"], .field input[type="tel"], .field textarea { width: 100%; min-height: 48px; padding: 12px 14px; border: 1px solid #bfbcb4; border-radius: 4px; background: #fff; font-size: 16px; }
.field textarea { resize: vertical; min-height: 120px; }
.field input:focus, .field textarea:focus { border-color: var(--accent); outline: 2px solid #44695733; outline-offset: 0; }
.field.invalid input, .field.invalid textarea, .field-product.invalid .product-option { border-color: #9c3d2f; }
.field-radio { display: flex; flex-wrap: wrap; gap: 8px 24px; }
.field-radio legend { width: 100%; margin-bottom: 8px; }
.field-radio label { display: inline-flex; align-items: center; gap: 8px; min-height: 44px; font-weight: 400; }
.field-product { gap: 12px; }
.field-product legend { margin-bottom: 10px; }
.field .product-option { display: flex; gap: 14px; align-items: flex-start; padding: 16px 18px; border: 1px solid #bfbcb4; border-radius: 4px; background: #fff; cursor: pointer; font-weight: 400; }
.product-option input { margin-top: 5px; }
.product-option:has(input:checked) { border-color: var(--accent); box-shadow: inset 0 0 0 1px var(--accent); background: #f4f7f3; }
.product-option > span { flex: 1; min-width: 0; display: flex; flex-wrap: wrap; align-items: center; gap: 6px 12px; }
.product-option strong { font: 22px/1.2 var(--serif); font-weight: 400; }
.product-option small { flex-basis: 100%; font-size: 14px; color: var(--muted); }
.selected-product { font-size: 14px; color: var(--muted); padding: 12px 16px; background: var(--paper); border-radius: 4px; }
.selected-product strong { color: var(--ink); }
.hp { position: absolute; left: -10000px; width: 1px; height: 1px; overflow: hidden; }
.privacy { font-size: 13px; color: var(--muted); max-width: 64ch; }
.form-error { padding: 12px 16px; border-left: 3px solid #9c3d2f; background: #f7ebe8; font-size: 14px; color: #6d2a20; }
.interest-form .btn { justify-self: start; }
.form-result { margin-top: 32px; padding: 28px; border: 1px solid var(--rule); border-radius: 4px; background: #fff; }
.form-result:focus { outline: none; }
.form-success-text { font: 22px/1.45 var(--serif); }
.form-pending-title { font: 22px/1.35 var(--serif); margin-bottom: 10px; }
.form-pending p + p { color: var(--muted); margin-bottom: 20px; }
.form-back { margin-top: 40px; }

/* ---------- about page ---------- */
.who-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: clamp(28px, 5vw, 72px); }
.who-grid article { border-top: 1px solid var(--ink); padding-top: 22px; }
.who-grid h2 { font-size: clamp(26px, 2.6vw, 36px); margin-bottom: 14px; }
.who-grid p { color: var(--muted); max-width: 48ch; }
.about-story { background: var(--paper); }
.story-grid { display: grid; grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr); gap: clamp(32px, 6vw, 88px); align-items: start; }
.story-grid h2 { max-width: 16ch; margin-bottom: 20px; }
.timeline { margin-top: 0; }
.timeline li { display: grid; grid-template-columns: 96px 1fr; gap: 20px; padding-block: 20px; border-top: 1px solid var(--rule); }
.timeline-key { font-size: 11px; font-weight: 600; letter-spacing: .12em; text-transform: uppercase; color: var(--accent); padding-top: 6px; }
.timeline h3 { font-size: 22px; margin-bottom: 8px; }
.timeline p { font-size: 15px; color: var(--muted); max-width: 52ch; }
.about-work h2 { max-width: 20ch; margin-bottom: 40px; }
.capability-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 0; border-top: 1px solid var(--ink); }
.capability-grid article { padding: 20px 20px 20px 0; }
.capability-grid article + article { padding-left: 20px; border-left: 1px solid var(--rule); }
.capability-grid h3 { font-size: 24px; margin-block: 8px 12px; }
.capability-grid p { font-size: 14px; color: var(--muted); }
.about-lower { border-top: 1px solid var(--rule); }
.about-lower { padding-block: clamp(48px, 5.5vw, 80px); }
.lower-grid > div { border-top: 2px solid var(--ink); padding-top: 18px; }
.lower-grid { display: grid; grid-template-columns: minmax(0, .7fr) minmax(0, 1.6fr) minmax(0, .7fr); gap: clamp(28px, 4vw, 56px); align-items: start; }
.credential-text { font: 22px/1.35 var(--serif); }
.mini-project { display: grid; grid-template-columns: 160px minmax(0, 1fr); gap: 20px; align-items: start; }
.mini-project img { border: 1px solid var(--rule); aspect-ratio: 16 / 11; object-fit: cover; object-position: 50% 0; }
.mini-project h2 { font-size: 24px; margin-bottom: 6px; }
.mini-project p { font-size: 14px; color: var(--muted); }
.mini-project .text-link { margin-top: 6px; font-size: 13px; }
.beyond { background: var(--dark-2); color: #f6f3ed; padding-block: var(--section); }
.beyond-grid { display: grid; grid-template-columns: minmax(0, .9fr) minmax(0, 1fr); gap: clamp(32px, 6vw, 88px); align-items: end; }
.beyond .eyebrow { color: var(--accent-light); }
.beyond h2 { max-width: 14ch; margin-bottom: 20px; }
.beyond p:not(.eyebrow) { color: #dcdad4; max-width: 30ch; font: clamp(20px, 1.8vw, 24px)/1.45 var(--serif); }
.beyond-grid > div { padding-bottom: clamp(8px, 2vw, 32px); }
.beyond-photo { justify-self: end; width: min(100%, 520px); }
.beyond-photo img { aspect-ratio: 4 / 5; object-fit: cover; object-position: 50% 36%; }

/* ---------- content ---------- */
.publications { padding-block: clamp(40px, 5vw, 64px); }
.publication { display: grid; grid-template-columns: 220px minmax(0, 1fr); gap: clamp(24px, 4vw, 48px); align-items: center; max-width: 900px; padding-top: 28px; border-top: 1px solid var(--rule); }
.publication-cover { display: block; box-shadow: 0 18px 40px #0000001f; }
.publication h3 { font-size: clamp(26px, 2.6vw, 34px); margin-bottom: 14px; }
.publication .text-link { margin-top: 18px; }

/* ---------- contact ---------- */
.contact { background: var(--light); padding-block: var(--section); border-top: 1px solid var(--rule); }
.contact-compact { padding-block: clamp(56px, 6vw, 80px); }
.contact-grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: clamp(32px, 6vw, 96px); align-items: start; }
.contact-finale { background: var(--dark); color: var(--light); border-top: 0; padding-block: clamp(72px, 8vw, 120px) clamp(56px, 6vw, 88px); }
.contact-finale h2 { font-size: clamp(44px, 5.6vw, 80px); line-height: .98; letter-spacing: -.045em; }
.contact-finale .eyebrow { color: var(--accent-light); }
.contact-finale .contact-lead, .contact-finale .channel span { color: var(--muted-dark); }
.contact-finale .channel { border-top-color: var(--rule-dark); }
.contact-finale .channel small { color: var(--accent-light); }
.contact-finale .channel:hover strong { color: #fff; text-decoration: underline; text-underline-offset: 5px; }
.contact-finale + .site-footer { border-top: 1px solid var(--rule-dark); }
.contact h2 { max-width: 14ch; }
.signature { font: italic 24px/1.4 var(--serif); margin-top: 20px; }
.contact-lead { font-size: 16px; color: var(--muted); margin-bottom: 20px; }
.channel-list { display: grid; }
.channel { display: grid; gap: 2px; padding-block: 16px; border-top: 1px solid var(--rule); text-decoration: none; }
.channel small { font-size: 11px; font-weight: 600; letter-spacing: .12em; text-transform: uppercase; color: var(--accent); }
.channel strong { font: clamp(20px, 2vw, 26px)/1.3 var(--serif); font-weight: 400; overflow-wrap: anywhere; }
.channel span { font-size: 14px; color: var(--muted); }
.channel:hover strong { color: var(--accent); }

/* ---------- footer ---------- */
.site-footer { background: var(--dark); color: #d7d9d6; padding-block: 56px 28px; }
.footer-grid { display: grid; grid-template-columns: minmax(0, 1.4fr) repeat(3, minmax(0, 1fr)); gap: 32px; }
.footer-brand { display: flex; gap: 16px; align-items: flex-start; font-size: 14px; color: var(--muted-dark); max-width: 34ch; }
.footer-brand strong { color: #fff; font-weight: 600; }
.footer-brand .brand-mark { color: #fff; }
.footer-col { display: flex; flex-direction: column; align-items: flex-start; }
.footer-title { font-size: 11px; font-weight: 600; letter-spacing: .14em; text-transform: uppercase; color: #fff; margin-bottom: 8px; }
.footer-col a { display: inline-flex; align-items: center; gap: 6px; min-height: 36px; font-size: 14px; text-decoration: none; color: #c9ccc9; overflow-wrap: anywhere; }
.footer-col a:hover, .footer-col a[aria-current] { color: #fff; }
.footer-col a[aria-current] { text-decoration: underline; text-underline-offset: 4px; }
.footer-base { margin-top: 40px; padding-top: 20px; border-top: 1px solid var(--rule-dark); font-size: 12px; color: #9ca29f; }

/* ---------- root language choice ---------- */
.root-choice { min-height: 100svh; display: grid; place-content: center; justify-items: center; gap: 24px; text-align: center; padding: 24px; }
.root-choice .brand-mark { font-size: 40px; }
.root-choice h1 { font-size: 40px; }
.root-choice ul { display: flex; gap: 12px; flex-wrap: wrap; justify-content: center; }

/* ---------- responsive ---------- */
@media (max-width: 1100px) {
  .module-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); row-gap: 8px; }
  .module-grid li:nth-child(4) { padding-left: 0; border-left: 0; }
  .capability-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); row-gap: 8px; }
  .capability-grid article:nth-child(3) { padding-left: 0; border-left: 0; }
  .lower-grid { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
  .lower-grid .others { grid-column: 1 / -1; grid-row: 1; }
}
@media (max-width: 960px) {
  .command-hero-grid, .section-head, .split, .status-panel, .contact-grid, .about-teaser-grid, .story-grid, .beyond-grid, .business-detailed, .command-feature { grid-template-columns: minmax(0, 1fr); }
  .section-head { align-items: start; }
  .business-detailed:nth-child(even) .business-shot { order: 0; }
  .about-teaser h2 { max-width: 16ch; }
  .product-primary { display: flex; flex-direction: column; }
  .product-primary > .product-summary { margin-top: 16px; }
  .product-primary > .card-actions { margin-top: 24px; }
  .page-hero-inner { grid-template-columns: minmax(0, 1fr); }
  .builder-grid { grid-template-columns: minmax(0, 1fr); }
  .footer-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .footer-brand { grid-column: 1 / -1; }
  .beyond-photo { justify-self: start; }
}
@media (max-width: 760px) {
  body { font-size: 16px; }
  /* Mobile hero: the portrait sits above the text (face fully visible), fading into the dark background. */
  .hero { display: block; min-height: 0; }
  .hero::after { display: none; }
  .hero-media { position: relative; inset: auto; z-index: 0; height: min(47svh, 420px); }
  .hero-media img { object-position: 50% 18%; }
  .hero-media::after { content: ''; position: absolute; inset: 0; background: linear-gradient(180deg, transparent 55%, rgba(13, 16, 21, .85) 85%, #0d1015 100%); pointer-events: none; }
  .hero-content { position: relative; z-index: 1; margin-top: -48px; padding-block: 0 36px; }
  .hero .eyebrow { margin-bottom: 16px; }
  .hero h1 { font-size: clamp(50px, 14.5vw, 64px); margin-bottom: 20px; }
  .hero-actions { margin-top: 24px; }
  .hero-meta { margin-top: 28px; }
  .eco-grid, .business-grid, .product-minor, .who-grid, .relation-steps, .path-steps, .lower-grid { grid-template-columns: minmax(0, 1fr); }
  .relation-steps li + li { padding-left: 0; border-left: 0; }
  .relation-steps li { padding-right: 0; }
  .flow { grid-template-columns: minmax(0, 1fr); }
  .flow li { flex-direction: row; align-items: baseline; gap: 16px; padding: 12px 0; }
  .flow li + li { padding-left: 0; border-left: 0; border-top: 1px solid var(--rule); }
  .module-grid, .capability-grid { grid-template-columns: minmax(0, 1fr); }
  .module-grid li, .module-grid li + li, .capability-grid article, .capability-grid article + article { padding: 18px 0; border-left: 0; }
  .module-grid li + li, .capability-grid article + article { border-top: 1px solid var(--rule); }
  .facts div { grid-template-columns: minmax(0, 1fr); gap: 4px; }
  .timeline li { grid-template-columns: minmax(0, 1fr); gap: 6px; }
  .mini-project { grid-template-columns: 112px minmax(0, 1fr); }
  .publication { grid-template-columns: 132px minmax(0, 1fr); align-items: start; }
  .footer-grid { grid-template-columns: minmax(0, 1fr); }
  .command-feature { padding: 24px 20px; }
  .eco-label { font-size: 24px; }
}
@media print { .topbar, .skip-link, .site-footer { display: none; } }

/* Internal pages inherit the approved home language while keeping page-home unchanged. */
:is(.page-businesses,.page-products,.page-command,.page-about,.page-content,.page-commandInterest,.page-interest) {
  --internal-cyan:#8fe4e6;
  --internal-teal:#166b73;
  --internal-ink:#172a32;
  --internal-muted:#52656d;
  --internal-dark:#0d1419;
  --internal-panel:#16232a;
  --internal-rule:#45575e;
}
:is(.page-businesses,.page-products,.page-command,.page-about,.page-content,.page-commandInterest,.page-interest) :is(h1,h2,h3) {
  font-family:var(--sans);
  font-weight:600;
  letter-spacing:-.055em;
}
:is(.page-businesses,.page-products,.page-command,.page-about,.page-content,.page-commandInterest,.page-interest) .eyebrow {
  color:var(--internal-teal);
  letter-spacing:.14em;
}
:is(.page-businesses,.page-products,.page-command,.page-about,.page-content,.page-commandInterest,.page-interest) :where(a,button,input,textarea):focus-visible {
  outline:3px solid var(--internal-teal);
  outline-offset:4px;
}
:is(.page-businesses,.page-products,.page-command,.page-about,.page-content,.page-commandInterest,.page-interest) .btn {
  border-radius:5px;
  min-height:48px;
  transition:transform .2s ease,background .2s ease,color .2s ease;
}
:is(.page-businesses,.page-products,.page-command,.page-about,.page-content,.page-commandInterest,.page-interest) .btn:hover { transform:translateY(-2px); }
:is(.page-businesses,.page-products,.page-command,.page-about,.page-content,.page-commandInterest,.page-interest) .btn-light {
  color:#102329;
  background:var(--internal-cyan);
}
:is(.page-businesses,.page-products,.page-command,.page-about,.page-content,.page-commandInterest,.page-interest) .btn-light:hover { background:#c3f7f5; }

/* Page openings are composed individually, not repeated as a text-only template. */
:is(.page-businesses,.page-products,.page-about,.page-content,.page-commandInterest,.page-interest) .page-hero {
  position:relative;
  isolation:isolate;
  overflow:hidden;
  padding-block:clamp(50px,6vw,84px);
  border-color:#cbd5d2;
  background:radial-gradient(ellipse at 82% 38%,#cce1de 0%,transparent 45%),linear-gradient(130deg,#f5f5f0,#e8eeeb 72%,#f4f4ef);
  color:var(--internal-ink);
}
:is(.page-businesses,.page-products,.page-about,.page-content,.page-commandInterest,.page-interest) .page-hero-inner {
  grid-template-columns:minmax(0,1fr) minmax(250px,.78fr) minmax(240px,.9fr);
  gap:24px clamp(20px,3vw,48px);
  align-items:center;
}
:is(.page-businesses,.page-products,.page-about,.page-content,.page-commandInterest,.page-interest) .page-hero-main { position:relative; z-index:2; }
:is(.page-businesses,.page-products,.page-about,.page-content,.page-commandInterest,.page-interest) .page-hero h1 {
  max-width:13ch;
  font-size:clamp(39px,5.1vw,72px);
  line-height:1.02;
}
:is(.page-businesses,.page-products,.page-about,.page-content,.page-commandInterest,.page-interest) .page-hero-aside { position:relative; z-index:2; padding:0; }
:is(.page-businesses,.page-products,.page-about,.page-content,.page-commandInterest,.page-interest) .page-lead { color:#455b63; font-size:clamp(15px,1.35vw,18px); }
:is(.page-businesses,.page-products,.page-about,.page-content,.page-commandInterest,.page-interest) .page-hero-visual { position:relative; z-index:1; min-width:0; perspective:1100px; }
.page-hero-businesses .page-hero-visual,.page-hero-products .page-hero-visual { grid-column:1/-1; grid-row:2; }
.business-hero-composition { position:relative; height:clamp(210px,27vw,340px); perspective:1200px; }
.business-hero-composition::before { content:""; position:absolute; inset:12% 5% 4% 18%; border:1px solid #6fbfc647; border-radius:12px; background:linear-gradient(140deg,#97d8d31f,#1531430d); transform:rotateY(-13deg); }
.business-hero-composition img:first-child { position:absolute; width:67%; left:5%; top:8%; border:5px solid #f4f7f5; border-radius:6px; box-shadow:0 24px 50px #172e3740; transform:rotateY(8deg) rotateZ(-2deg); }
.business-hero-composition img:nth-child(2) { position:absolute; width:14%; min-width:88px; right:12%; top:18%; border:4px solid #253943; border-radius:16px; box-shadow:0 18px 35px #172e3750; transform:rotateY(-9deg) rotateZ(5deg); }
.business-hero-composition span,.products-hero-composition span { position:absolute; right:4%; bottom:2%; color:#58747c; font-size:10px; letter-spacing:.14em; }
.products-hero-composition { position:relative; height:clamp(180px,22vw,280px); padding:18px; border:1px solid #718d9390; border-radius:10px; background:linear-gradient(145deg,#213842,#10191e); box-shadow:0 28px 60px #17323b30; transform:rotateY(-5deg); }
.products-hero-composition img { width:100%; height:100%; object-fit:cover; object-position:center; border:1px solid #9fb9bd88; border-radius:4px; }
.products-hero-composition span { right:22px; bottom:22px; padding:7px 10px; color:#bdedeb; background:#0a1318d9; border:1px solid #7ce0e255; border-radius:3px; }
.page-hero-about .about-hero-portrait,.page-hero-content .content-hero-cover { margin:0; position:relative; justify-self:end; width:min(100%,300px); transform:rotate(2deg); }
.about-hero-portrait img { height:clamp(220px,28vw,350px); object-fit:cover; object-position:50% 54%; border:6px solid #f8faf7; border-radius:160px 160px 8px 8px; box-shadow:0 28px 60px #14283045; }
.about-hero-portrait figcaption,.content-hero-cover figcaption { margin:10px 0 0 auto; width:max-content; max-width:100%; padding:7px 12px; color:#e8f0ee; background:#15232a; border:1px solid #63818a; border-radius:3px; font-size:10px; letter-spacing:.04em; transform:rotate(-2deg); }
.page-hero-content .content-hero-cover { width:min(100%,235px); transform:rotate(4deg); }
.content-hero-cover img { max-height:300px; object-fit:contain; border:1px solid #ffffff; box-shadow:0 28px 50px #17283145; }
.page-hero-command-interest .page-hero-visual { align-self:stretch; display:flex; align-items:center; }
.form-command-visual { position:relative; padding:10px; border:1px solid #70cdd27a; border-radius:9px; background:linear-gradient(145deg,#203741,#0d171d); box-shadow:0 25px 50px #192e372e; transform:rotateY(-8deg); }
.form-command-visual img { border:1px solid #97b1b789; border-radius:3px; }
.form-command-visual span { display:block; padding:8px 4px 1px; color:#b9e8e5; font-size:9px; letter-spacing:.15em; }
.form-products-visual { display:grid; gap:12px; transform:perspective(800px) rotateY(-8deg); }
.form-products-visual>span { display:grid; gap:5px; padding:17px 18px; color:#eaf2ef; background:linear-gradient(130deg,#1a3039,#111c22); border:1px solid #5c7b83; border-radius:5px; box-shadow:0 14px 26px #172b3326; font-size:12px; letter-spacing:.1em; }
.form-products-visual>span:nth-child(2) { margin-left:22px; background:linear-gradient(130deg,#293934,#1a2729); }
.form-products-visual small { color:#b7c8c7; font-size:12px; letter-spacing:0; }
.page-hero.page-hero-standard { background:#f1f2ed; }

/* Businesses: two distinct visual instruments, with accurate desktop and mobile captures. */
.page-businesses .businesses-page { padding-block:clamp(48px,6vw,88px); background:#f0f2ee; }
.page-businesses .business-stack { grid-template-columns:minmax(0,1fr); gap:clamp(52px,7vw,96px); }
.page-businesses .business-detailed { align-items:center; gap:clamp(28px,5vw,72px); }
.page-businesses .business-detailed:nth-child(even) .business-shot { order:2; }
.page-businesses .business-showcase { width:100%; height:clamp(320px,37vw,490px); min-height:0; aspect-ratio:auto; border:1px solid #5f8a926e; border-radius:12px; overflow:hidden; box-shadow:0 28px 65px #162d3524; transition:box-shadow .25s ease; }
.page-businesses .business-showcase-global { background:radial-gradient(ellipse at 66% 38%,#3e8e9395,transparent 57%),linear-gradient(145deg,#12304a,#0d1b2a); }
.page-businesses .business-showcase-cleaning { background:linear-gradient(145deg,#efe9dc,#d6d0c2); border-color:#b7a87f; box-shadow:0 28px 65px #4b422523; }
.showcase-halo { position:absolute; inset:12% 5% 14% 23%; border:1px solid #8bd8dc45; border-radius:50% 50% 6px 6px; background:linear-gradient(135deg,#8fe4e61a,transparent); transform:rotateY(-15deg); }
.showcase-stamp { position:absolute; z-index:3; top:7%; left:6%; color:#c5e1e2; font-size:11px; letter-spacing:.16em; }
.showcase-desktop { position:absolute; z-index:2; width:80%; left:5%; top:19%; overflow:hidden; border:5px solid #f2f5f3; border-radius:7px; background:#f2f5f3; box-shadow:0 28px 55px #0008; transform:perspective(1000px) rotateY(8deg) rotateZ(-2deg); }
.showcase-desktop img { width:100%; aspect-ratio:16/10; object-fit:cover; object-position:top; }
.showcase-mobile { position:absolute; z-index:3; width:17%; min-width:72px; right:6%; top:30%; overflow:hidden; border:5px solid #273941; border-radius:18px; background:#fff; box-shadow:0 24px 40px #0008; transform:perspective(700px) rotateY(-10deg) rotateZ(5deg); }
.showcase-mobile img { width:100%; aspect-ratio:390/844; object-fit:cover; object-position:top; }
.showcase-caption { position:absolute; z-index:3; left:6%; bottom:5%; color:#b9cbd0; font-size:10px; letter-spacing:.1em; }
.business-showcase-cleaning .showcase-room { position:absolute; inset:5% 7% 22% 10%; overflow:hidden; border-radius:46% 46% 4px 4px; box-shadow:0 14px 35px #42392730; }
.showcase-room img { width:100%; height:100%; object-fit:cover; object-position:center; filter:saturate(.72) brightness(1.05); }
.business-showcase-cleaning .showcase-desktop { width:75%; left:4%; top:36%; border-color:#f6f4ed; box-shadow:0 25px 45px #3f3c3540; transform:perspective(950px) rotateY(-8deg) rotateZ(1.5deg); }
.business-showcase-cleaning .showcase-mobile { width:16%; right:5%; top:39%; border-color:#29343a; transform:rotateZ(-5deg); }
.business-showcase-cleaning .showcase-caption { color:#4b5c60; }
.page-businesses .business-copy h2 { font-size:clamp(34px,3.8vw,52px); margin-bottom:24px; }
.page-businesses .business-copy .facts { margin-top:12px; }
.page-businesses .facts div { grid-template-columns:minmax(105px,.36fr) minmax(0,1fr); gap:16px; padding-block:17px; border-color:#cbd6d2; }
.page-businesses .facts dt { color:#53727a; }
.page-businesses .facts dd { color:#293d44; }
.page-businesses .business-cleaning .facts div { border-color:#cfc5b1; }
.page-businesses .business-cleaning .facts dt { color:#826b39; }
.page-businesses .business-cleaning .business-copy h2 { color:#253744; }
.page-businesses .eco-note-inner { border-color:#aebeba; }
.page-businesses .eco-note-inner p { color:#263e46; font-family:var(--sans); font-size:clamp(17px,2vw,23px); }

/* Products: a dark product field, accurate interface proof, and three distinct product schemas. */
.page-products .products-page { color:#edf3f0; background:linear-gradient(150deg,#0b1115,#101b21 60%,#0a1014); padding-block:clamp(48px,6vw,88px); }
.page-products .command-feature { position:relative; isolation:isolate; overflow:hidden; grid-template-columns:minmax(0,.78fr) minmax(0,1.22fr); gap:clamp(28px,5vw,72px); padding:clamp(30px,5vw,72px); border:1px solid #4e707b; border-radius:12px; background:radial-gradient(ellipse at 70% 45%,#19515a70,transparent 61%),linear-gradient(140deg,#1a2d35,#0c151b 78%); box-shadow:0 30px 80px #0006; }
.page-products .command-feature::before { content:""; position:absolute; z-index:-1; inset:0; opacity:.18; background:linear-gradient(#b9e6e510 1px,transparent 1px),linear-gradient(90deg,#b9e6e510 1px,transparent 1px); background-size:38px 38px; mask-image:linear-gradient(115deg,#000,transparent 80%); }
.page-products .command-feature-copy { position:relative; z-index:2; }
.page-products .command-feature h2 { font-size:clamp(34px,4vw,54px); }
.page-products .command-feature .status { border:1px solid #64828a; }
.page-products .command-promise { font-family:var(--sans); font-size:clamp(19px,2vw,25px); }
.page-products .command-for { color:#c4d0d2; }
.page-products .command-shot { position:relative; perspective:1200px; padding:14px; border:1px solid #88cbd044; border-radius:9px; background:#111e24bd; box-shadow:0 24px 60px #0007; }
.page-products .command-shot>img { position:relative; z-index:1; border:4px solid #384c54; border-radius:5px; box-shadow:0 24px 50px #0008; transform:rotateY(5deg) rotateX(2deg); }
.page-products .command-shot-depth { position:absolute; z-index:2; right:-12px; bottom:35px; display:block; width:24%; height:52%; overflow:hidden; border:1px solid #86cdd3; border-radius:5px; background:#14252c; box-shadow:0 18px 40px #0009; transform:rotateY(-12deg) rotateZ(3deg); }
.page-products .command-shot-depth img { position:absolute; width:420%; max-width:none; left:-20%; top:-2%; height:auto; }
.page-products .command-shot figcaption { position:relative; z-index:3; color:#bed1d3; font-size:11px; }
.page-products .product-primary { position:relative; overflow:hidden; margin-top:30px; padding:clamp(26px,4vw,56px); border:1px solid #aebfba; border-radius:10px; background:linear-gradient(120deg,#f2f3ed,#e1ebe7); box-shadow:0 24px 60px #0003; }
.page-products .product-primary h2 { font-size:clamp(38px,4.2vw,56px); color:#172a32; }
.page-products .product-primary .kicker { color:#176b73; }
.page-products .product-primary .product-summary { color:#40575f; }
.product-sequence { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:8px; margin-top:26px; }
.product-sequence li { position:relative; display:grid; gap:8px; align-content:start; min-height:104px; padding:14px; border:1px solid #b7c9c4; border-radius:5px; background:linear-gradient(150deg,#fff,#eef4f0); }
.product-sequence li>span { color:#1a747c; font-size:10px; letter-spacing:.13em; }
.product-sequence li>strong { color:#243941; font-size:13px; line-height:1.35; font-weight:600; }
.product-sequence li>b { position:absolute; top:12px; right:12px; color:#56878a; font-weight:400; }
.page-products .minor-heading { color:#a9e5e5; margin-top:52px; }
.page-products .product-minor { align-items:stretch; }
.page-products .product-minor .product { border-color:#4a626a; border-radius:8px; background:linear-gradient(145deg,#1a2a31,#111a20); box-shadow:0 18px 40px #0004; }
.page-products .product-minor .product h3 { color:#f1f5f2; font-size:clamp(22px,2.5vw,31px); }
.page-products .product-minor .product .kicker { color:#9ae0e2; }
.page-products .product-minor .product-summary { color:#c1cfd1; }
.page-products .product-minor .product .status { background:#293c42; color:#edf3f0; border:1px solid #627a80; }
.page-products .product-minor .text-link { color:#e3f0ed; }
.page-products .status-note { margin-top:32px; color:#c2d0d1; }
.page-products .relation { background:linear-gradient(125deg,#d1e4e0,#eef0eb); color:#172a32; }
.page-products .relation h2 { color:#172a32; }
.page-products .relation-steps li { border-top-color:#28636c; }
.page-products .relation-steps li+li { border-left-color:#aebebb; }
.page-products .relation-role { color:#176b73; }
.page-products .relation-note { max-width:78ch; color:#40575f; }

/* Command: the internal product page carries the deepest dark interval. */
.page-command .command-page { background:#eef1ec; }
.page-command .command-hero { position:relative; overflow:hidden; color:#eef5f2; background:radial-gradient(ellipse at 78% 40%,#15505c75,transparent 48%),linear-gradient(135deg,#0b1115,#13232a 68%,#0b1115); }
.page-command .command-hero::after { content:""; position:absolute; inset:0; pointer-events:none; opacity:.15; background:linear-gradient(#b6e3e509 1px,transparent 1px),linear-gradient(90deg,#b6e3e509 1px,transparent 1px); background-size:42px 42px; mask-image:linear-gradient(110deg,transparent,#000); }
.page-command .command-hero h1,.page-command .command-hero .page-lead { color:#eef5f2; }
.page-command .command-hero .page-kicker { color:#9ce3e5; }
.page-command .command-hero .page-hero-inner { position:relative; z-index:1; }
.page-command .command-how { color:#edf4f0; background:linear-gradient(145deg,#0d1519,#17272e 56%,#0b1115); }
.page-command .command-how h2,.page-command .command-how h3 { color:#f2f6f3; }
.page-command .command-how .eyebrow { color:#8bdcdd; }
.page-command .command-how .section-head :is(.section-lead,.section-lead *) { color:#c5d3d2; }
.command-how-showcase { display:grid; grid-template-columns:minmax(0,1.2fr) minmax(250px,.8fr); align-items:center; gap:clamp(22px,4vw,52px); margin:34px 0 42px; }
.command-how-screen { margin:0; padding:12px; border:1px solid #597b81; border-radius:7px; background:#172a31; box-shadow:0 26px 58px #0007; transform:perspective(1100px) rotateY(3deg); }
.command-how-screen img { border:3px solid #39545b; }
.command-how-screen figcaption { margin-top:9px; color:#c5d3d2; font-size:11px; }
.command-context-wrap { padding:20px 22px; border-left:2px solid #4bc2c6; }
.command-concept-note { color:#c0d1d1; font-size:13px; line-height:1.6; }
.command-concept { display:grid; grid-template-columns:minmax(0,1.15fr) minmax(250px,.85fr); align-items:center; gap:clamp(24px,5vw,68px); margin-top:30px; }
.command-concept-shot { position:relative; padding:13px; border:1px solid #648b91; border-radius:8px; background:linear-gradient(145deg,#223840,#0b1419); box-shadow:0 24px 60px #0008; transform:perspective(1100px) rotateY(4deg); }
.command-concept-shot img { border:4px solid #3c545c; border-radius:3px; box-shadow:0 18px 38px #0007; }
.command-concept-shot figcaption { margin-top:10px; color:#cad9d8; font-size:11px; }
.command-concept-copy { padding:24px; border-left:2px solid #52c2c5; background:linear-gradient(90deg,#1f3f464f,transparent); }
.command-context-flow { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; margin:17px 0; padding:0; list-style:none; }
.command-context-flow li { padding:11px 12px; color:#eff8f4; border:1px solid #5c7c82; background:linear-gradient(135deg,#20373e,#14242a); border-radius:4px; }
.command-concept-copy small { display:block; max-width:40ch; color:#c0d1d1; line-height:1.6; }
.page-command .module-grid { grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; padding:0; list-style:none; }
.page-command .module-grid li { position:relative; min-height:158px; padding:22px; background:linear-gradient(145deg,#fff,#eaf0ec); border:1px solid #bbc9c3; border-radius:6px; box-shadow:0 13px 30px #142e3712; transition:transform .22s ease,box-shadow .22s ease; }
.page-command .command-origin { background:#f4f4ef; }
.page-command .command-access { background:linear-gradient(120deg,#d6e7e2,#f0f2ed); }
.page-command .command-status { color:#eff6f2; background:linear-gradient(145deg,#10191e,#1c3037); }
.page-command .command-status h2 { color:#f2f6f2; }
.page-command .command-status p { color:#cfdddb; }

/* Forms: clear hierarchy, ample touch targets, and truthful pending state. */
:is(.page-commandInterest,.page-interest) .interest-page { background:#edf0eb; }
:is(.page-commandInterest,.page-interest) .form-section { padding-block:clamp(36px,6vw,82px); background:linear-gradient(140deg,#dce8e3,#f0f2ed 58%,#e6ece8); }
:is(.page-commandInterest,.page-interest) .interest-form { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; max-width:960px; margin-inline:auto; padding:clamp(22px,4vw,46px); color:#20353d; background:#fbfcf8; border:1px solid #b7c9c4; border-radius:8px; box-shadow:0 24px 58px #172e371c; }
:is(.page-commandInterest,.page-interest) .interest-form .field-full,.interest-form fieldset,.interest-form .hp,.interest-form .form-error,.interest-form button[type=submit] { grid-column:1/-1; }
:is(.page-commandInterest,.page-interest) .interest-form .field:has(textarea) { grid-column:1/-1; }
:is(.page-commandInterest,.page-interest) .interest-form label { color:#334d54; }
:is(.page-commandInterest,.page-interest) .interest-form input:not([type=radio]),:is(.page-commandInterest,.page-interest) .interest-form textarea,:is(.page-commandInterest,.page-interest) .interest-form select { width:100%; min-height:48px; padding:12px 14px; color:#172a32; background:#fff; border:1px solid #879d9d; border-radius:4px; }
:is(.page-commandInterest,.page-interest) .interest-form textarea { min-height:130px; resize:vertical; }
:is(.page-commandInterest,.page-interest) .interest-form :is(input,textarea,select):focus-visible { outline:3px solid #2aafb4; outline-offset:2px; border-color:#17676e; }
:is(.page-commandInterest,.page-interest) .interest-form fieldset { padding:18px; border:1px solid #c3d0cb; border-radius:4px; }
:is(.page-commandInterest,.page-interest) .interest-form button[type=submit] { justify-self:start; min-height:48px; }
:is(.page-commandInterest,.page-interest) .form-result { max-width:960px; margin:20px auto 0; padding:20px; background:#fff; border:1px solid #9dbab6; border-radius:5px; }
:is(.page-commandInterest,.page-interest) .form-pending { color:#283e44; }

/* About and content: personal narrative and one published work, not a CV grid. */
.page-about .about-page { background:#eef1ec; }
.page-about .about-story { background:#f7f7f2; }
.page-about .about-timeline { color:#edf4f0; background:linear-gradient(145deg,#10191e,#1b2d33); }
.page-about .about-timeline h2 { color:#f3f6f2; }
.page-about .timeline li { position:relative; padding:20px 22px 20px 64px; border-color:#526c72; }
.page-about .timeline li::before { content:attr(data-index); position:absolute; left:15px; top:22px; color:#8ce0e0; font-size:11px; }
.page-about .about-capabilities { background:#e0e9e4; }
.page-about .capability-grid article { border:1px solid #b2c4bd; border-radius:5px; background:linear-gradient(145deg,#fff,#edf3ef); box-shadow:0 15px 32px #1b363810; }
.page-about .about-method { background:linear-gradient(125deg,#cfe5e0,#edf1ec); }
.page-about .about-projects { background:#f6f5ef; }
.page-about .contact,.page-content .contact { color:#eff6f2; background:radial-gradient(ellipse at 75% 20%,#1e60666b,transparent 48%),linear-gradient(140deg,#0c1317,#1b2b31); }
.page-about .contact h2,.page-content .contact h2 { color:#f2f6f2; }
.page-content .content-page { background:#eef1ec; }
.page-content .publications { padding-block:clamp(42px,7vw,94px); background:linear-gradient(145deg,#10191e,#1b3036 65%,#0e171b); }
.page-content .publication { display:grid; grid-template-columns:minmax(220px,.55fr) minmax(0,1fr); align-items:center; gap:clamp(26px,6vw,82px); max-width:1000px; margin-inline:auto; padding:clamp(24px,5vw,62px); color:#edf4f0; border:1px solid #54777c; border-radius:8px; background:radial-gradient(ellipse at 15% 45%,#27676a40,transparent 45%),#142329; box-shadow:0 28px 70px #0006; }
.page-content .publication img { max-height:390px; width:auto; justify-self:center; object-fit:contain; box-shadow:0 24px 55px #0008; transform:rotate(-3deg); }
.page-content .publication h3 { color:#f2f6f2; font-size:clamp(28px,3.4vw,44px); }
.page-content .publication p { color:#c8d5d4; }
.page-content .publication .status { display:inline-flex; color:#d4efdf; border-color:#6b9c7b; }

/* Motion is pointer-led and bounded to these internal compositions only. */
:is(.page-businesses,.page-products,.page-command,.page-about,.page-content,.page-commandInterest,.page-interest) [data-depth-layer] { translate:var(--layer-x,0) var(--layer-y,0); transition:translate .28s cubic-bezier(.2,.7,.2,1),filter .28s ease; }
:is(.page-businesses,.page-products,.page-command,.page-about,.page-content,.page-commandInterest,.page-interest) [data-depth-stage] { transform-style:preserve-3d; }
:is(.page-businesses,.page-products,.page-command,.page-about,.page-content,.page-commandInterest,.page-interest) :is(a,button,[tabindex="0"]):focus-visible { outline:3px solid #22aeb5; outline-offset:4px; }

@media (max-width:900px) {
  .page-businesses .business-detailed { grid-template-columns:1fr; }
  .page-businesses .business-detailed:nth-child(even) .business-shot { order:0; }
  .page-products .command-feature { grid-template-columns:1fr; }
  .page-command .module-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width:680px) {
  :is(.page-businesses,.page-products,.page-about,.page-content,.page-commandInterest,.page-interest) .page-hero-inner { display:grid; grid-template-columns:1fr; gap:20px; padding-block:34px; }
  :is(.page-businesses,.page-products,.page-about,.page-content,.page-commandInterest,.page-interest) .page-hero h1 { max-width:12ch; font-size:clamp(38px,11vw,50px); }
  .page-hero-businesses .page-hero-visual,.page-hero-products .page-hero-visual { grid-column:1; grid-row:auto; }
  .business-hero-composition { height:210px; }
  .business-hero-composition img:first-child { width:77%; }
  .business-hero-composition img:nth-child(2) { width:20%; min-width:70px; }
  .products-hero-composition { height:180px; }
  .page-hero-about .about-hero-portrait,.page-hero-content .content-hero-cover { justify-self:start; width:min(76%,260px); }
  .page-businesses .businesses-page,.page-products .products-page { padding-block:38px; }
  .page-businesses .business-showcase { height:270px; }
  .showcase-desktop { width:82%; left:3%; }
  .showcase-mobile { width:22%; min-width:66px; right:4%; }
  .business-showcase-cleaning .showcase-room { inset:5% 6% 24% 8%; }
  .page-businesses .business-copy h2 { font-size:34px; }
  .page-businesses .facts div { grid-template-columns:1fr; gap:4px; }
  .page-products .command-feature { padding:22px 18px; gap:24px; }
  .page-products .command-shot { padding:8px; }
  .page-products .command-shot-depth { right:-5px; width:27%; }
  .product-sequence { grid-template-columns:1fr; }
  .product-sequence li { min-height:0; grid-template-columns:32px 1fr; align-items:center; }
  .product-sequence li>span { grid-row:span 2; }
  .product-sequence li>b { position:static; grid-column:1; grid-row:1; }
  .page-command .command-hero .page-hero-inner { grid-template-columns:1fr; }
  .command-how-showcase,.command-concept { grid-template-columns:1fr; gap:20px; }
  .command-concept-shot { transform:none; }
  .page-command .module-grid { grid-template-columns:1fr; }
  :is(.page-commandInterest,.page-interest) .interest-form { grid-template-columns:1fr; padding:20px 16px; }
  :is(.page-commandInterest,.page-interest) .interest-form>* { grid-column:1; min-width:0; }
  .page-about .timeline li { padding:18px 14px 18px 52px; }
  .page-content .publication { grid-template-columns:1fr; padding:23px 18px; }
  .page-content .publication img { max-height:300px; }
  .page-content .publication-copy { text-align:center; }
}
@media (prefers-reduced-motion:reduce) {
  :is(.page-businesses,.page-products,.page-command,.page-about,.page-content,.page-commandInterest,.page-interest) *,
  :is(.page-businesses,.page-products,.page-command,.page-about,.page-content,.page-commandInterest,.page-interest) *::before,
  :is(.page-businesses,.page-products,.page-command,.page-about,.page-content,.page-commandInterest,.page-interest) *::after { animation-duration:.01ms!important; animation-iteration-count:1!important; scroll-behavior:auto!important; transition-duration:.01ms!important; }
  :is(.page-businesses,.page-products,.page-command,.page-about,.page-content,.page-commandInterest,.page-interest) [data-depth-layer] { translate:none!important; }
}
