/* Editorial system: graphite, warm paper, cyan signal. Owner design overrides
   still run last through design-runtime; no !important except motion preferences. */
:root { --shell-max: 1320px; --shell-gutter: 96px; --muted: #afb6c2; --muted-dark: #51565e; --radius: 18px; }
html { scroll-padding-top: 120px; }
body { text-rendering: optimizeLegibility; }
:where(h1,h2,h3,p,a,button) { overflow-wrap: break-word; }
:where(a,button,summary) { touch-action: manipulation; }
:focus-visible { outline: 3px solid #28d9f7; outline-offset: 5px; }
:where(.projects-section,.capabilities-section,.proof-band,.project-detail-panel,.studio-section) :focus-visible { outline-color: #145b9d; }
.section-code,.kicker { font-size: .72rem; line-height: 1.6; letter-spacing: .09em; }
.site-header { max-width: 1400px; top: 16px; border-radius: 20px; background: #10141bf5; backdrop-filter: blur(12px); box-shadow: 0 8px 28px #0003; }
.brand strong { font-size: .8rem; letter-spacing: .08em; }
.brand small { font-size: .57rem; }
.main-nav { gap: clamp(12px,1.7vw,28px); }
.main-nav a { min-height: 44px; font-size: .75rem; letter-spacing: .02em; text-transform: none; }
.main-nav a > span { color: #a6aebd; }
.main-nav .nav-cta,.dialog-close { color: var(--ink); background: var(--cyan); box-shadow: none; border-radius: 12px; }
.main-nav .nav-cta:hover { color: var(--ink); transform: translateY(-2px); }
.hero { min-height: min(870px,100svh); grid-template-columns: minmax(0,1.08fr) minmax(0,.92fr); gap: clamp(32px,4vw,72px); padding-top: 160px; padding-bottom: 76px; }
.hero [data-site-headline] { font-size: clamp(3.2rem,5.3vw,5.65rem); font-weight: 700; line-height: 1.02; letter-spacing: -.055em; max-width: 760px; }
.hero [data-site-headline] em { color: var(--cyan); background: none; display: inline; }
.hero-lead { color: #c0c6d0; font-size: clamp(1rem,1.3vw,1.15rem); line-height: 1.7; margin-top: 26px; max-width: 57ch; }
.kicker { color: #b3becb; margin-bottom: 24px; }
.hero-actions { margin-top: 22px; }
.button { border-radius: 12px; font-size: .85rem; letter-spacing: 0; text-transform: none; min-width: 195px; gap: 18px; }
.button-primary { background: var(--cyan); border-color: var(--cyan); }
.button-primary i { color: var(--ink); }
.button-ghost:hover { background: var(--white); border-color: var(--white); }
.hero-entry-links { display: flex; flex-wrap: wrap; gap: 8px 22px; margin-top: 22px; }
.hero-entry-links a { min-height: 44px; display: inline-flex; align-items: center; gap: 14px; color: var(--white); font-size: .88rem; text-underline-offset: 6px; text-decoration-color: #6a7484; }
.hero-entry-links a span { color: var(--cyan); }
.availability { color: #acb5c2; font-size: .65rem; flex-wrap: wrap; line-height: 1.6; gap: 7px; }
.availability > span:first-child { background: #acb5c2; box-shadow: none; flex: 0 0 6px; }
.availability > span:first-child::after { display: none; }
.hero-index { color: #a7aeba; }
.hero-lab { padding: 12px; border-radius: 22px; background: #121720; box-shadow: 0 24px 70px #0003; backdrop-filter: none; }
.lab-topline { color: #b4bdca; font-size: .58rem; line-height: 1.5; gap: 8px; }
.lab-orbit { min-height: 380px; border-radius: 14px; background: radial-gradient(ellipse at 45% 30%,#15323d,#0b1018 75%); }
.orbit { opacity: .25; animation: none; }
.axis { opacity: .5; }
.specimen-halo { display: none; }
.hero-specimen { width: 96%; }
.hero-specimen img { max-height: 320px; border-radius: 8px; transform: none; filter: none; }
.hero-specimen figcaption { position: relative; left: auto; bottom: auto; width: 92%; margin-top: 16px; padding: 12px; background: #111923; transform: none; box-shadow: none; backdrop-filter: none; }
.hero-specimen figcaption small { font-size: .63rem; line-height: 1.4; }
.hero-specimen figcaption strong { font-size: .92rem; }
.lab-coordinate { display: none; }
.lab-console { grid-template-columns: 1fr; gap: 12px; }
.console-signal { display: none; } /* editorial simulation, not live telemetry */
.hero-path button { min-height: 52px; font-size: .61rem; letter-spacing: 0; color: #c2cbd7; padding: 10px 5px; }
.hero-path button span { color: #aab5c4; font-size: .56rem; }
.hero-path button[aria-pressed="true"] { color: var(--ink); background: var(--cyan); border-color: var(--cyan); }
.hero-path button[aria-pressed="true"] span { color: #164b55; }
.lab-progress { display: none; }
.hero-index span,.signal-strip div,.material-sample span,.project-toolbar > p span { animation: none; }
.signal-strip { transform: none; background: #10151e; color: #aeb8c6; border-block: 1px solid var(--line); }
.signal-strip div { width: var(--shell); margin: auto; flex-wrap: wrap; justify-content: space-between; gap: 12px; padding-block: 20px; }
.signal-strip span { font-size: .6rem; letter-spacing: .08em; }
.signal-strip i { color: var(--cyan); font-size: .55rem; }
.solutions-section,.projects-section,.capabilities-section { padding: 88px max(48px,calc((100vw - 1320px)/2)); }
.solutions-section { background: #10151d; border-top: 1px solid var(--line); }
.commercial-heading { display: grid; grid-template-columns: 1.2fr 1fr; gap: 20px 70px; margin-bottom: 36px; align-items: end; }
.commercial-heading .section-code { grid-column: 1 / -1; margin: 0; color: var(--cyan); }
.commercial-heading h2 { font-size: clamp(2.2rem,3.5vw,3.4rem); line-height: 1.1; letter-spacing: -.04em; font-weight: 650; margin: 0; }
.commercial-heading > p:last-child { color: #bdc6d2; max-width: 56ch; margin: 0; }
.entry-grid { display: grid; grid-template-columns: repeat(auto-fit,minmax(min(100%,320px),1fr)); gap: 20px; }
.entry-card { display: flex; flex-direction: column; padding: clamp(24px,3vw,40px); border: 1px solid #3e5262; border-radius: 18px; background: linear-gradient(135deg,#1d3039,#141d28 70%); scroll-margin-top: 120px; }
.entry-card:nth-child(2) { background: linear-gradient(135deg,#302825,#191d28 70%); border-color: #66514b; }
.entry-card:nth-child(3) { background: linear-gradient(135deg,#241a36,#171925 70%); border-color: #584574; }
.entry-card .section-code { color: #b9e8ec; font-size: .7rem; margin-bottom: 28px; }
.entry-card:nth-child(2) .section-code { color: #f0c2a8; }
.entry-card:nth-child(3) .section-code { color: #d9b9ff; }
.entry-card h3 { font-size: clamp(1.9rem,2.6vw,2.7rem); line-height: 1.12; letter-spacing: -.035em; margin: 0 0 18px; max-width: 20ch; }
.entry-card > p { color: #c8ced6; margin-block: 0 22px; line-height: 1.65; }
.entry-delivery { border-top: 1px solid #ffffff24; padding-top: 22px; margin-top: auto; }
.entry-delivery span { font: 700 .65rem/1.5 ui-monospace,monospace; letter-spacing: .09em; color: #a4dfe6; }
.entry-delivery p { margin: 8px 0 20px; }
.entry-card .entry-limit { color: #bbc2cc; font-size: .88rem; }
.entry-action { display: flex; justify-content: space-between; align-items: center; gap: 20px; min-height: 52px; padding: 12px 18px; border-radius: 10px; background: var(--white); color: var(--ink); text-decoration: none; font-weight: 650; margin-top: auto; }
.entry-action::after { content: "↗"; }
.entry-action:hover { background: #baf2f8; }
.scope-note { color: #c2c9d3; font-size: .88rem; margin: 24px 0 64px; padding-left: 18px; border-left: 2px solid var(--cyan); }
.section-heading { gap: 36px 64px; margin-bottom: 40px; }
.section-heading h2,.studio-copy h2,.contact-section h2 { font-size: clamp(2.2rem,3.6vw,3.7rem); line-height: 1.1; letter-spacing: -.045em; }
.section-heading h2 em { color: #a63d18; }
.light-heading h2 em,.solutions-section .section-heading h2 em { color: var(--cyan); }
.section-heading > p { font-size: 1rem; line-height: 1.7; }
.solution-grid { grid-template-columns: repeat(auto-fit,minmax(min(100%,230px),1fr)); gap: 14px; }
.solution-card { min-height: 0; padding: 24px; border-radius: 14px; background: #171d27; }
.solution-card::before { display: none; }
.solution-card:hover { transform: translateY(-3px); }
.solution-card-top { gap: 10px; margin-bottom: 0; }
.solution-card small { color: #b5bfcd; font-size: .58rem; }
.solution-index { color: #9ee9f3; }
.solution-card h3 { font-size: 1.55rem; line-height: 1.15; letter-spacing: -.03em; margin: 32px 0 18px; }
.solution-card > p { font-size: .92rem; color: #c3cbd7; }
.solution-card ul { grid-template-columns: 1fr; margin-top: 24px; }
.solution-card li { font-size: .78rem; font-weight: 500; }
.manifesto { grid-template-columns: .35fr 1fr; gap: 50px; padding-block: 76px; }
.material-sample { display: none; }
.manifesto-copy h2 { font-size: clamp(2rem,3.5vw,3.4rem); line-height: 1.15; letter-spacing: -.04em; }
.manifesto-copy h2 em:last-of-type { color: var(--cyan); }
.manifesto-foot { margin-top: 30px; gap: 32px; }
.manifesto-foot p { font-size: 1rem; color: #bdc5d1; }
.manifesto-foot span { color: #aab3c0; }
.proof-band { border-radius: 0; }
.proof-grid { padding-block: 28px 40px; }
.proof-intro { color: #575b60; font-size: .64rem; }
.proof-item { min-height: 135px; padding: 20px; gap: 24px; }
.proof-item strong { font-size: clamp(1.7rem,2.7vw,2.8rem); line-height: 1.1; letter-spacing: -.05em; }
.proof-item span { color: #50565c; font-size: .65rem; max-width: 26ch; }
.portfolio-note { border-left: 2px solid #53606a; padding-left: 18px; margin: -8px 0 32px; color: #444c55; max-width: 90ch; font-size: .94rem; }
.project-toolbar > p { display: none; }
.filters { gap: 8px; }
.filter-button { min-height: 44px; color: #474d55; font-size: .66rem; }
.project-grid { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 22px; }
.project-card { display: flex; flex-direction: column; min-height: 0; border-radius: 16px; }
.project-card-media { min-height: 0; aspect-ratio: 16/10; }
.project-card-slides { inset: 18px 18px 50px; }
.project-card-body { display: flex; flex-direction: column; align-items: start; min-height: 0; padding: 28px; flex: 1; }
.project-card-meta { width: 100%; margin-bottom: 20px; color: #adb8c7; font-size: .65rem; line-height: 1.5; }
.project-card h3 { font-size: clamp(1.6rem,2.2vw,2.25rem); line-height: 1.12; letter-spacing: -.035em; }
.project-card p { color: #c0c7d2; margin-top: 18px; font-size: .95rem; }
.project-card-arrow { display: none; }
.project-state { display: inline-block; padding: 6px 10px; margin-top: 22px; border: 1px solid #526170; border-radius: 5px; color: #cfedf1; font: 600 .7rem/1.4 ui-monospace,monospace; }
.project-notice { color: #f3c5a6; margin-top: 12px; font-size: .87rem; }
.project-card:hover { transform: translateY(-3px); }
.project-preview-status { font-size: .6rem; line-height: 1.5; backdrop-filter: none; background: #0c1119; }
.project-preview-dots { display: none; }
.process-section { padding-block: 88px; }
.process-step { min-height: 250px; padding: 28px; }
.process-step h3 { margin-top: 38px; font-size: 1.7rem; }
.process-step p { font-size: .94rem; color: #c1c8d3; }
.capability { min-height: 185px; padding: 30px 24px; }
.capability h3 { font-size: 1.5rem; line-height: 1.2; }
.capability p { font-size: .95rem; color: #51565e; }
.studio-section { padding: 88px max(48px,calc((100vw - 1320px)/2)); gap: 60px; }
.studio-copy > p,.trajectory-list { font-size: 1rem; }
.faq-section { padding-block: 88px; }
.faq-item summary { min-height: 88px; }
.faq-item summary strong { font-size: 1.18rem; line-height: 1.45; letter-spacing: -.015em; }
.faq-item summary span { color: #a9bdce; }
.faq-item > p { color: #c3ccd8; line-height: 1.75; font-size: 1rem; max-width: 78ch; }
.contact-section { padding-block: 88px; background: #10232a; }
.contact-orb,.process-glow,.studio-pulse { display: none; }
.contact-grid { grid-template-columns: .9fr 1.1fr; gap: 70px; }
.contact-section h2 em { color: var(--cyan); }
.contact-copy > p { color: #c7d2da; }
.contact-guide h3 { font-size: 1.3rem; margin-top: 30px; }
.contact-guide p { color: #c4ced8; font-size: .93rem; }
.contact-topics { display: flex; flex-wrap: wrap; gap: 8px; margin: 20px 0; }
.contact-topics button { min-height: 44px; padding: 10px 14px; border: 1px solid #738390; background: transparent; border-radius: 8px; cursor: pointer; font-size: .85rem; }
.contact-topics button[aria-pressed="true"] { background: var(--cyan); border-color: var(--cyan); color: var(--ink); }
.contact-guide .contact-safety { border-left: 2px solid #e1b89e; padding-left: 14px; color: #edd6c7; }
.contact-link { min-height: 86px; border-radius: 12px; }
.contact-link small { font-size: .68rem; }
.contact-link b { font-size: 1.1rem; }
.contact-copy .contact-privacy { color: #c6d0da; font-size: .84rem; }
.contact-prompts { display: none; }
.site-footer { padding-block: 36px; gap: 18px; }
.site-footer p { color: #abb5c3; font-size: .7rem; }
.footer-legal a { display: inline-flex; align-items: center; min-height: 44px; font-size: .78rem; color: #d1d8e0; }
.reveal { opacity: 1; transform: none; transition-delay: 0s; }
.dialog-header h2 { font-size: clamp(2rem,4vw,4rem); line-height: 1.1; }
.dialog-meta span { font-size: .7rem; }
.dialog-notice { color: #76330e; }
.dialog-summary { color: #4f555e; }
.case-narrative h3 { font-size: 1.8rem; line-height: 1.2; }
.case-narrative p { color: #50565e; }
@media (max-width:1100px) {
  .hero { gap: 32px; }
  .solution-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .hero [data-site-headline] { font-size: clamp(3rem,5.2vw,4.5rem); }
  .lab-orbit { min-height: 320px; }
  .main-nav { gap: 12px; }
  .main-nav a > span { display: none; }
  .hero-path button { font-size: .54rem; }
}
@media (max-width:980px) {
  :root { --shell-gutter: 56px; }
  .hero { grid-template-columns: 1fr; min-height: auto; }
  .hero-copy { max-width: 760px; }
  .hero [data-site-headline] { max-width: 720px; font-size: clamp(3rem,7vw,4.8rem); }
  .hero-lab { max-width: 680px; width: 100%; }
  .commercial-heading,.section-heading { grid-template-columns: 1fr; gap: 20px; }
  .manifesto { grid-template-columns: 1fr; gap: 16px; }
  .contact-grid { gap: 40px; }
}
@media (max-width:760px) {
  :root { --shell-gutter: 40px; }
  html { scroll-padding-top: 100px; }
  .site-header { top: 10px; border-radius: 16px; }
  .brand strong { font-size: .67rem; }
  .menu-button { background: var(--cyan); }
  .main-nav a { font-size: .95rem; }
  .main-nav.open { max-height: calc(100dvh - 110px); overflow-y: auto; }
  .hero { padding-top: 120px; padding-bottom: 55px; gap: 32px; }
  .hero [data-site-headline] { font-size: clamp(2.65rem,10.7vw,4.3rem); line-height: 1.06; letter-spacing: -.045em; }
  .hero-lead { font-size: 1rem; }
  .kicker { font-size: .67rem; }
  .hero-actions { display: flex; }
  .button { min-width: 0; flex: 1 1 190px; }
  .availability { font-size: .61rem; }
  .hero-index { display: none; }
  .hero-lab { padding: 10px; }
  .lab-orbit { min-height: 300px; }
  .lab-topline { font-size: .51rem; }
  .hero-path button { min-height: 48px; font-size: .55rem; }
  .hero-specimen figcaption { width: 96%; }
  .solutions-section,.projects-section,.capabilities-section,.studio-section { padding: 60px 20px; }
  .entry-grid,.solution-grid,.project-grid,.contact-grid,.studio-section { grid-template-columns: 1fr; }
  .entry-card { padding: 26px; }
  .entry-card h3 { font-size: 2rem; }
  .scope-note { margin-bottom: 44px; }
  .solution-card { padding: 24px; }
  .solution-card h3 { margin-top: 26px; font-size: 1.65rem; }
  .solution-card ul { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 0 14px; }
  .commercial-heading h2,.section-heading h2,.studio-copy h2,.contact-section h2 { font-size: clamp(2rem,8vw,2.8rem); line-height: 1.13; }
  .commercial-heading > p:last-child { font-size: .95rem; }
  .manifesto { padding-block: 55px; }
  .manifesto-copy h2 { font-size: 2rem; }
  .manifesto-foot { grid-template-columns: 1fr; }
  .proof-item { min-height: 155px; padding: 18px 12px; }
  .proof-item strong { font-size: clamp(1.5rem,6.5vw,2.2rem); }
  .proof-intro { font-size: .57rem; gap: 18px; line-height: 1.4; }
  .project-card-media { aspect-ratio: 4/3; min-height: 0; }
  .project-card-body { padding: 24px; min-height: 0; }
  .project-card h3 { font-size: 1.85rem; }
  .project-card-meta { margin-bottom: 18px; }
  .project-card p { font-size: .95rem; }
  .process-section,.faq-section,.contact-section { padding-block: 60px; }
  .faq-section { padding-inline: 0; }
  .process-step { min-height: 0; padding: 26px 20px; }
  .process-step h3 { margin-top: 20px; }
  .capability { min-height: 0; padding: 24px 0; }
  .faq-item summary { grid-template-columns: 20px minmax(0,1fr) 30px; gap: 8px; padding-block: 18px; }
  .faq-item summary strong { font-size: 1.06rem; }
  .faq-item > p { margin-left: 28px; padding-right: 8px; font-size: .95rem; }
  .contact-grid { gap: 10px; }
  .project-detail { padding: 8px; }
  .project-detail-panel { max-height: calc(100dvh - 16px); border-radius: 16px; }
  .project-detail-content { padding: 24px 18px; }
  .legal-hero [data-legal-title] { font-size: clamp(2.4rem,10vw,4rem); line-height: 1.1; }
}
@media (prefers-reduced-motion:reduce) {
  html { scroll-behavior: auto; }
  *,*::before,*::after { animation: none !important; transition: none !important; }
  .hero-lab,.project-card:hover,.project-card:hover .project-card-image.active { transform: none !important; }
}
@media (forced-colors:active) {
  .hero [data-site-headline] em { color: CanvasText; }
  .entry-card,.contact-topics button,.hero-path button { border: 1px solid ButtonText; }
  .hero-path button[aria-pressed="true"],.contact-topics button[aria-pressed="true"] { outline: 2px solid Highlight; }
}
.case-next-step { margin-top: 40px; padding: 26px; color: var(--white); background: #132a32; border-radius: 14px; }
.case-next-step h3 { margin: 0; font-size: 1.6rem; line-height: 1.2; }
.case-next-step p { color: #c6d4dc; max-width: 70ch; margin-block: 14px 22px; }
.case-next-step .button { width: auto; }
/* Measured WCAG contrast corrections; legal copy/status remain untouched. */
.projects-section .section-code,.capabilities-section .section-code,.studio-section .section-code,
.project-detail-panel .section-code,.legal-page .section-code { color: #515b63; }
.contact-section .section-code,.contact-link small { color: #b6c4d0; }
.legal-breadcrumb,.legal-meta dt,.legal-index a { color: #515b63; }
.legal-index > p { color: #9c3918; }
.legal-breadcrumb,.legal-meta dt,.legal-index > p { font-size: .72rem; line-height: 1.5; }
.legal-index a { font-size: .85rem; min-height: 36px; display: inline-flex; align-items: center; }
