/* KOAF & K LIMITED — Digital Headquarters design system */
:root {
  --koaf-gold: #d8ad57;
  --koaf-gold-bright: #f3d58c;
  --koaf-ink: #080b0d;
  --koaf-panel: #0e1316;
  --koaf-panel-2: #141a1e;
  --koaf-paper: #f1eee7;
  --koaf-paper-warm: #e8e2d6;
  --koaf-white: #f8f7f2;
  --koaf-muted: #9ba4a8;
  --koaf-line: rgba(255, 255, 255, 0.14);
  --koaf-line-dark: rgba(8, 11, 13, 0.16);
  --success: #73d5aa;
  --danger: #ff8d93;
  --font-sans: Inter, "Segoe UI", Helvetica, Arial, sans-serif;
  --font-serif: Georgia, "Times New Roman", serif;
  --space-1: clamp(0.5rem, 0.4rem + 0.25vw, 0.75rem);
  --space-2: clamp(0.75rem, 0.5rem + 0.5vw, 1.25rem);
  --space-3: clamp(1rem, 0.6rem + 1vw, 2rem);
  --space-4: clamp(1.5rem, 0.8rem + 2vw, 3.5rem);
  --space-5: clamp(2.5rem, 1rem + 4vw, 6rem);
  --space-6: clamp(4rem, 2rem + 7vw, 10rem);
  --radius-sm: 0.35rem;
  --radius-md: 0.8rem;
  --radius-lg: 1.4rem;
  --container: min(92vw, 1440px);
  --reading: 760px;
  --header-height: 84px;
  color-scheme: dark;
}

*, *::before, *::after { box-sizing: border-box; }
[hidden] { display: none !important; }
html { scroll-behavior: smooth; background: var(--koaf-ink); }
body { margin: 0; width: 100%; min-width: 0; background: var(--koaf-ink); color: var(--koaf-white); font-family: var(--font-sans); font-size: 1rem; line-height: 1.55; text-rendering: optimizeLegibility; overflow-x: clip; }
.page-home #main-content{display:flex;flex-direction:column}
body.menu-open, body.drawer-open { overflow: hidden; }
img, video, canvas, model-viewer { display: block; max-width: 100%; }
button, input, select, textarea { font: inherit; }
button, a { -webkit-tap-highlight-color: transparent; }
a { color: inherit; text-decoration: none; }
p, h1, h2, h3, h4 { margin-top: 0; }
::selection { background: var(--koaf-gold); color: var(--koaf-ink); }
:focus-visible { outline: 3px solid var(--koaf-gold-bright); outline-offset: 4px; }
.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; }
.skip-link { position: fixed; z-index: 9999; left: 1rem; top: -5rem; padding: 0.75rem 1rem; background: var(--koaf-gold); color: var(--koaf-ink); font-weight: 800; }
.skip-link:focus { top: 1rem; }

.site-progress { position: fixed; inset: 0 0 auto; z-index: 1000; height: 2px; background: transparent; pointer-events: none; }
.site-progress span { display: block; width: 0; height: 100%; background: var(--koaf-gold); box-shadow: 0 0 14px rgba(216, 173, 87, 0.7); }

.site-header { position: fixed; inset: 0 0 auto; z-index: 900; min-height: var(--header-height); border-bottom: 1px solid transparent; transition: background-color 260ms ease, border-color 260ms ease, transform 260ms ease; }
.site-header.is-scrolled, .site-header.is-open { background: rgba(8, 11, 13, 0.94); border-color: var(--koaf-line); }
.site-header.is-scrolled:not(.is-open) { backdrop-filter: blur(18px); }
.header-shell { width: var(--container); min-height: var(--header-height); margin: 0 auto; display: grid; grid-template-columns: minmax(170px, 0.8fr) auto minmax(170px, 0.8fr); align-items: center; gap: 2rem; }
.brand { display: inline-flex; width: max-content; align-items: center; gap: 0.75rem; }
.brand img { object-fit: contain; object-position: left center; max-height: 52px; }
.brand-monogram { width: 2.4rem; height: 2.4rem; display: grid; place-items: center; border: 1px solid var(--koaf-gold); border-radius: 50%; color: var(--koaf-gold); font: italic 700 1.2rem/1 var(--font-serif); }
.brand-copy { display: grid; line-height: 1; letter-spacing: 0.03em; }
.brand-copy strong { font-size: 0.95rem; }
.brand-copy small { margin-top: 0.35rem; color: var(--koaf-gold); font-size: 0.57rem; letter-spacing: 0.36em; }
.desktop-nav { display: flex; align-items: center; justify-content: center; gap: clamp(0.8rem, 1.3vw, 1.7rem); }
.desktop-nav a, .nav-trigger { padding: 0.75rem 0; border: 0; background: none; color: rgba(248, 247, 242, 0.82); font-size: 0.78rem; white-space: nowrap; cursor: pointer; transition: color 180ms ease; }
.desktop-nav a:hover, .nav-trigger:hover, .nav-trigger[aria-expanded="true"] { color: var(--koaf-gold-bright); }
.header-actions { display: flex; align-items: center; justify-content: flex-end; gap: 0.75rem; }
.icon-button { width: 2.6rem; height: 2.6rem; border: 1px solid var(--koaf-line); border-radius: 50%; background: transparent; color: var(--koaf-white); cursor: pointer; font-size: 1.3rem; }
.menu-button { display: none; min-width: 4rem; min-height: 44px; padding: 0; border: 0; background: transparent; color: var(--koaf-white); cursor: pointer; }
.menu-button i, .menu-button i::after { display: block; width: 1.6rem; height: 1px; background: currentColor; transition: transform 180ms ease; }
.menu-button i::after { content: ""; transform: translateY(6px); }
.menu-button[aria-expanded="true"] i { transform: rotate(45deg); }
.menu-button[aria-expanded="true"] i::after { transform: rotate(-90deg); }

.mega-menu { position: absolute; inset: var(--header-height) 0 auto; min-height: 320px; padding: clamp(2rem, 4vw, 4.5rem) max(4vw, calc((100vw - 1440px) / 2)); background: #0b0f12; border-top: 1px solid var(--koaf-line); border-bottom: 1px solid var(--koaf-line); display: grid; grid-template-columns: 0.75fr 1.5fr; gap: 8vw; box-shadow: 0 28px 70px rgba(0,0,0,0.42); }
.mega-menu[hidden] { display: none; }
.mega-intro { display: grid; align-content: start; gap: 1.2rem; padding-right: 3rem; border-right: 1px solid var(--koaf-line); }
.mega-intro > span, .eyebrow { color: var(--koaf-gold); font-size: 0.68rem; line-height: 1.3; font-weight: 800; letter-spacing: 0.2em; text-transform: uppercase; }
.mega-intro strong { max-width: 360px; font-size: clamp(1.3rem, 2.1vw, 2.2rem); line-height: 1.2; font-weight: 500; }
.mega-intro a { color: var(--koaf-muted); font-size: 0.82rem; }
.mega-intro a span { color: var(--koaf-gold); margin-left: 0.5rem; }
.mega-links { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); align-content: start; gap: 0; }
.mega-links > a { padding: 1rem 0; border-bottom: 1px solid var(--koaf-line); color: rgba(248,247,242,0.82); transition: color 160ms ease, padding-left 160ms ease; }
.mega-links > a:hover { color: var(--koaf-gold-bright); padding-left: 0.5rem; }
.mega-links-services a { display: grid; gap: 0.25rem; }
.mega-links-services b { font-size: 1rem; }
.mega-links-services small { color: var(--koaf-muted); }

.mobile-menu { position: fixed; inset: var(--header-height) 0 0; padding: 1.5rem 4vw max(2rem, env(safe-area-inset-bottom)); background: var(--koaf-ink); overflow: auto; }
.mobile-menu[hidden] { display: none; }
.mobile-menu nav { display: grid; }
.mobile-menu nav a { display: flex; gap: 1.5rem; align-items: baseline; padding: 1.1rem 0; border-bottom: 1px solid var(--koaf-line); font-size: clamp(1.3rem, 6vw, 2.1rem); }
.mobile-menu nav span { color: var(--koaf-gold); font-size: 0.65rem; }
.mobile-menu > .button { width: 100%; margin-top: 2rem; }

.search-drawer { position: fixed; z-index: 1100; inset: 0; display: grid; place-items: center; padding: 5vw; background: rgba(8,11,13,0.98); }
.search-drawer[hidden] { display: none; }
.drawer-close { position: absolute; top: 1.5rem; right: 2rem; width: 3rem; height: 3rem; border: 1px solid var(--koaf-line); border-radius: 50%; background: transparent; color: white; font-size: 1.7rem; cursor: pointer; }
.search-drawer form { width: min(900px, 100%); }
.search-drawer label { display: block; margin-bottom: 1.5rem; font-size: clamp(1.4rem, 3vw, 3rem); }
.search-field, .page-search { display: flex; border-bottom: 1px solid var(--koaf-gold); }
.search-field input, .page-search input { width: 100%; min-height: 70px; padding: 0; border: 0; background: transparent; color: white; outline: 0; font-size: clamp(1.1rem, 2vw, 1.8rem); }
.search-field button, .page-search button { border: 0; background: transparent; color: var(--koaf-gold); font-weight: 800; cursor: pointer; }

.button { display: inline-flex; min-height: 54px; padding: 0.8rem 1.25rem; align-items: center; justify-content: space-between; gap: 2rem; border: 1px solid transparent; border-radius: 999px; font-size: 0.77rem; font-weight: 800; letter-spacing: 0.04em; text-transform: uppercase; transition: transform 180ms ease, background-color 180ms ease, border-color 180ms ease, color 180ms ease; }
.button:hover { transform: translateY(-2px); }
.button span { font-size: 1.1rem; }
.button-small { min-height: 42px; padding: 0.55rem 1rem; gap: 1rem; font-size: 0.67rem; }
.button-gold { background: var(--koaf-gold); color: var(--koaf-ink); }
.button-gold:hover { background: var(--koaf-gold-bright); }
.button-ghost { border-color: var(--koaf-line); background: transparent; color: var(--koaf-white); }
.button-ghost:hover { border-color: var(--koaf-gold); color: var(--koaf-gold-bright); }
.text-link { display: inline-flex; align-items: center; gap: 1rem; padding-bottom: 0.3rem; border-bottom: 1px solid currentColor; color: inherit; font-size: 0.8rem; font-weight: 800; text-transform: uppercase; letter-spacing: 0.08em; }
.text-link span { color: var(--koaf-gold); }
.text-button { min-height: 44px; padding: 0.5rem; border: 0; background: transparent; color: var(--koaf-white); text-decoration: underline; cursor: pointer; }

.section { padding: var(--space-6) max(4vw, calc((100vw - 1440px) / 2)); }
.section-light { color-scheme: light; background: var(--koaf-paper); color: var(--koaf-ink); }
.section-heading { display: grid; grid-template-columns: 0.55fr 1.4fr 0.75fr; align-items: start; gap: var(--space-4); margin-bottom: var(--space-5); }
.section-heading h2, .industry-intro h2, .gateway-heading h2 { margin: 0; font-size: clamp(2.3rem, 5.5vw, 6.3rem); line-height: 0.97; letter-spacing: -0.05em; font-weight: 500; }
.section-heading h2 em, .who-grid h2 em, .gateway-heading em, .final-cta em { color: var(--koaf-gold); font-family: var(--font-serif); font-weight: 400; }
.section-heading > p:last-child { max-width: 400px; color: var(--koaf-muted); }
.section-light .section-heading > p:last-child { color: #525b5e; }
.section-heading-wide { grid-template-columns: 0.45fr 1.55fr; }
.section-heading-inline { grid-template-columns: 1fr auto; align-items: end; }
.section-heading-inline > div { display: grid; grid-template-columns: 0.36fr 1fr; gap: 2rem; align-items: start; }

.hq-hero { position: relative; min-height: max(760px, 100svh); display: grid; align-items: end; isolation: isolate; overflow: hidden; background: radial-gradient(circle at 75% 38%, #182328 0, #0c1114 28%, var(--koaf-ink) 65%); }
.hero-atmosphere { position: absolute; inset: 0; z-index: -1; overflow: hidden; }
.hero-grid { position: absolute; inset: 0; opacity: 0.16; background-image: linear-gradient(rgba(255,255,255,0.11) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,0.11) 1px, transparent 1px); background-size: 80px 80px; mask-image: linear-gradient(to right, transparent, black 42%, black); }
.hero-core { position: absolute; width: min(46vw, 660px); aspect-ratio: 1; right: 5vw; top: 13vh; border: 1px solid rgba(216,173,87,0.26); border-radius: 50%; background: radial-gradient(circle at 42% 38%, rgba(243,213,140,0.25), rgba(216,173,87,0.06) 28%, rgba(8,11,13,0) 62%); box-shadow: inset 0 0 90px rgba(216,173,87,0.06), 0 0 90px rgba(0,0,0,0.3); }
.hero-core::before, .hero-core::after { content: ""; position: absolute; border-radius: 50%; border: 1px solid rgba(255,255,255,0.1); }
.hero-core::before { inset: 11%; transform: rotateX(68deg); }
.hero-core::after { inset: 25%; background: radial-gradient(circle at 35% 32%, var(--koaf-gold-bright), #9a6c22 28%, #14130f 70%); box-shadow: 0 0 80px rgba(216,173,87,0.22); }
.hero-core i { position: absolute; z-index: 1; width: 7px; height: 7px; border-radius: 50%; background: var(--koaf-gold-bright); box-shadow: 0 0 20px var(--koaf-gold); }
.hero-core i:nth-child(1) { left: 10%; top: 48%; }.hero-core i:nth-child(2) { right: 16%; top: 22%; }.hero-core i:nth-child(3) { right: 5%; bottom: 26%; }
.hero-orbit { position: absolute; right: -12vw; top: -20vh; width: 72vw; aspect-ratio: 1; border: 1px solid rgba(255,255,255,0.06); border-radius: 50%; transform: rotateX(66deg) rotateZ(-18deg); }
.orbit-two { width: 58vw; right: -5vw; top: -8vh; border-color: rgba(216,173,87,0.13); }
.hero-shell { width: var(--container); margin: 0 auto; padding: calc(var(--header-height) + 3rem) 0 clamp(7rem, 14vh, 10rem); display: grid; grid-template-columns: minmax(0, 1.5fr) minmax(220px, 0.45fr); gap: 5vw; align-items: end; }
.hero-copy { max-width: 990px; }
.hero-copy .eyebrow { display: flex; align-items: center; gap: 1.5rem; margin-bottom: 1.5rem; }
.hero-copy .eyebrow span { color: var(--koaf-muted); letter-spacing: 0.02em; text-transform: none; font-weight: 500; }
.hero-copy h1 { margin: 0; font-size: clamp(3.4rem, 7.2vw, 8.6rem); line-height: 0.86; letter-spacing: -0.065em; font-weight: 580; }
.hero-copy h1 span, .hero-copy h1 em { display: block; }
.hero-copy h1 em { margin-top: 0.1em; color: var(--koaf-gold); font-family: var(--font-serif); font-weight: 400; }
.hero-intro { max-width: 660px; margin: 2rem 0 0; color: #b7bec1; font-size: clamp(1rem, 1.35vw, 1.25rem); }
.hero-actions { display: flex; gap: 0.75rem; margin-top: 2rem; }
.hero-index { align-self: center; padding-left: 2rem; border-left: 1px solid var(--koaf-line); }
.hero-index > span { color: var(--koaf-gold); font-size: 0.62rem; letter-spacing: 0.18em; }
.hero-index ol { margin: 1rem 0 0; padding: 0; list-style: none; }
.hero-index li { display: grid; grid-template-columns: 2rem 1fr; padding: 0.55rem 0; border-bottom: 1px solid rgba(255,255,255,0.08); color: #bbc1c3; font-size: 0.75rem; }
.hero-index b { color: #697276; font-size: 0.58rem; }
.scroll-cue { position: absolute; bottom: 1.7rem; left: 4vw; display: flex; align-items: center; gap: 1rem; color: var(--koaf-muted); font-size: 0.67rem; letter-spacing: 0.15em; text-transform: uppercase; }
.scroll-cue i { position: relative; width: 72px; height: 1px; background: var(--koaf-line); overflow: hidden; }
.scroll-cue i::after { content: ""; position: absolute; inset: 0; background: var(--koaf-gold); transform: translateX(-100%); animation: scroll-line 2s infinite ease-in-out; }
@keyframes scroll-line { 50% { transform: translateX(0); } 100% { transform: translateX(100%); } }

.directory-board { border-top: 1px solid var(--koaf-line); }
.directory-row { display: grid; grid-template-columns: 0.12fr 0.72fr 1fr auto; align-items: center; gap: 2rem; min-height: 116px; padding: 1rem 0; border-bottom: 1px solid var(--koaf-line); transition: padding 180ms ease, background 180ms ease; }
.directory-row > span { color: var(--accent, var(--koaf-gold)); font-size: 0.65rem; }
.directory-row strong { font-size: clamp(1.25rem, 2.4vw, 2.7rem); line-height: 1.1; font-weight: 500; }
.directory-row p { max-width: 580px; margin: 0; color: var(--koaf-muted); }
.directory-row i { width: 3rem; height: 3rem; display: grid; place-items: center; border: 1px solid var(--koaf-line); border-radius: 50%; color: var(--accent, var(--koaf-gold)); font-style: normal; }
.directory-row:hover { padding-inline: 1rem; background: linear-gradient(90deg, color-mix(in srgb, var(--accent, var(--koaf-gold)) 8%, transparent), transparent); }
.directory-special { --accent: var(--koaf-gold); }

.who-grid { display: grid; grid-template-columns: 1.15fr 0.85fr; gap: 8vw; }
.who-grid h2 { max-width: 900px; margin: 1.5rem 0 0; font-size: clamp(2.8rem, 6vw, 7rem); line-height: 0.96; letter-spacing: -0.055em; font-weight: 500; }
.who-copy { max-width: 620px; padding-top: 4rem; }
.who-copy p { font-size: clamp(1.05rem, 1.5vw, 1.35rem); }
.who-copy .text-link { margin-top: 1rem; }
.verified-metrics { display: grid; grid-template-columns: repeat(4, 1fr); margin-top: var(--space-5); border-top: 1px solid var(--koaf-line-dark); border-bottom: 1px solid var(--koaf-line-dark); }
.verified-metrics > div { padding: 2rem 1rem; border-right: 1px solid var(--koaf-line-dark); }
.verified-metrics > div:last-child { border-right: 0; }
.verified-metrics strong { display: block; color: #9a6c22; font-size: clamp(2.2rem, 4vw, 5rem); font-weight: 500; }
.verified-metrics span { font-size: 0.78rem; text-transform: uppercase; letter-spacing: 0.1em; }
.evidence-note { display: grid; grid-template-columns: 0.3fr 1fr; gap: 2rem; margin-top: var(--space-5); padding-top: 1.5rem; border-top: 1px solid var(--koaf-line-dark); }
.evidence-note span { color: #8b631e; font-size: 0.68rem; font-weight: 800; text-transform: uppercase; letter-spacing: 0.14em; }
.evidence-note p { max-width: 720px; }

.ecosystem-section { background: #0a0e10; }
.ecosystem-stage { display: grid; grid-template-columns: minmax(0, 1.45fr) minmax(300px, 0.55fr); gap: 4vw; min-height: 680px; align-items: center; }
.ecosystem-map { position: relative; min-height: 650px; border: 1px solid var(--koaf-line); border-radius: 50%; background: radial-gradient(circle, rgba(216,173,87,0.09), transparent 52%); }
.ecosystem-map::before, .ecosystem-map::after { content: ""; position: absolute; inset: 14%; border: 1px dashed rgba(216,173,87,0.18); border-radius: 50%; }
.ecosystem-map::after { inset: 28%; border-style: solid; border-color: rgba(255,255,255,0.08); }
.ecosystem-centre { position: absolute; z-index: 2; left: 50%; top: 50%; width: 190px; aspect-ratio: 1; transform: translate(-50%, -50%); display: grid; place-content: center; text-align: center; border: 1px solid var(--koaf-gold); border-radius: 50%; background: #111719; box-shadow: 0 0 70px rgba(216,173,87,0.12); }
.ecosystem-centre span { color: var(--koaf-gold); font-size: 0.55rem; letter-spacing: 0.15em; text-transform: uppercase; }
.ecosystem-centre strong { margin-top: 0.5rem; font-size: 1rem; line-height: 1.2; letter-spacing: 0.06em; }
.ecosystem-centre i { position: absolute; inset: -9px; border: 1px solid rgba(216,173,87,0.24); border-radius: 50%; }
.ecosystem-node { position: absolute; z-index: 3; width: clamp(105px, 10vw, 150px); aspect-ratio: 1; padding: 1rem; border: 1px solid var(--koaf-line); border-radius: 50%; background: #101619; color: white; cursor: pointer; text-align: center; transition: border-color 180ms ease, background 180ms ease, transform 180ms ease; }
.ecosystem-node::after { content: ""; position: absolute; left: 50%; top: 50%; z-index: -1; width: clamp(100px, 13vw, 210px); height: 1px; background: linear-gradient(90deg, rgba(216,173,87,0.55), transparent); transform-origin: left; }
.ecosystem-node span { display: block; color: var(--koaf-gold); font-size: 0.55rem; }
.ecosystem-node strong { display: block; margin-top: 0.4rem; font-size: clamp(0.65rem, 1vw, 0.85rem); line-height: 1.2; }
.ecosystem-node:hover, .ecosystem-node.is-active { border-color: var(--koaf-gold); background: #1a1b17; transform: scale(1.06); }
.node-1 { top: 4%; left: 42%; }.node-1::after { transform: rotate(88deg); }
.node-2 { top: 28%; right: 4%; }.node-2::after { transform: rotate(158deg); }
.node-3 { bottom: 5%; right: 20%; }.node-3::after { transform: rotate(220deg); }
.node-4 { bottom: 5%; left: 19%; }.node-4::after { transform: rotate(320deg); }
.node-5 { top: 27%; left: 3%; }.node-5::after { transform: rotate(20deg); }
.ecosystem-panel { padding: 2rem 0 2rem 2rem; border-left: 1px solid var(--koaf-line); }
.status-badge { display: inline-flex; padding: 0.38rem 0.65rem; border: 1px solid rgba(216,173,87,0.45); border-radius: 999px; color: var(--koaf-gold-bright); font-size: 0.59rem; letter-spacing: 0.1em; text-transform: uppercase; }
.ecosystem-panel .eyebrow { margin-top: 2.5rem; }
.ecosystem-panel h3 { font-size: clamp(2rem, 3vw, 3.5rem); line-height: 1; font-weight: 500; }
.ecosystem-panel > p:not(.eyebrow) { color: var(--koaf-muted); }
.ecosystem-panel dl { margin: 2rem 0; border-top: 1px solid var(--koaf-line); }
.ecosystem-panel dl div { padding: 1rem 0; border-bottom: 1px solid var(--koaf-line); }
.ecosystem-panel dt { color: var(--koaf-muted); font-size: 0.62rem; text-transform: uppercase; letter-spacing: 0.12em; }
.ecosystem-panel dd { margin: 0.3rem 0 0; }

.division-stack { border-top: 1px solid var(--koaf-line); }
.division-band { position: relative; display: grid; grid-template-columns: 0.12fr 1.1fr 0.7fr; gap: 3rem; padding: clamp(2rem, 4vw, 4rem) 0; border-bottom: 1px solid var(--koaf-line); overflow: hidden; }
.division-band::before { content: ""; position: absolute; inset: 0; z-index: -1; background: linear-gradient(90deg, color-mix(in srgb, var(--accent) 10%, transparent), transparent 64%); transform: scaleX(0); transform-origin: left; transition: transform 350ms ease; }
.division-band:hover::before { transform: scaleX(1); }
.division-number { color: var(--accent); font-size: 0.68rem; }
.division-main > span { color: var(--accent); font-size: 0.65rem; text-transform: uppercase; letter-spacing: 0.15em; }
.division-main h3 { margin: 0.7rem 0 1rem; font-size: clamp(2rem, 4vw, 4.7rem); line-height: 0.97; letter-spacing: -0.04em; font-weight: 500; }
.division-main p { max-width: 690px; color: var(--koaf-muted); }
.division-main .text-link { margin-top: 1rem; }
.division-band ul { margin: 0; padding: 0; list-style: none; align-self: center; }
.division-band li { padding: 0.75rem 0; border-bottom: 1px solid var(--koaf-line); color: #ccd0d1; font-size: 0.84rem; }
.division-band li::before { content: "·"; margin-right: 0.7rem; color: var(--accent); }

.industry-section { display: grid; grid-template-columns: 0.7fr 1.3fr; gap: 8vw; }
.industry-section > .industry-intro { align-self: start; position: sticky; top: calc(var(--header-height) + 3rem); }
.industry-intro h2 { margin: 1.5rem 0; font-size: clamp(2.5rem, 5vw, 5.8rem); }
.industry-intro > p:last-child { max-width: 520px; }
.industry-console { border: 1px solid var(--koaf-line-dark); background: #f7f4ee; }
.industry-select { padding: 2rem; border-bottom: 1px solid var(--koaf-line-dark); }
.industry-select label { display: block; margin-bottom: 1rem; color: #6b706f; font-size: 0.68rem; text-transform: uppercase; letter-spacing: 0.13em; }
.industry-select select { width: 100%; padding: 1rem 0; border: 0; border-bottom: 1px solid #8d8e88; background: transparent; color: var(--koaf-ink); font-size: clamp(1.3rem, 2.4vw, 2.4rem); outline: 0; }
.industry-output { min-height: 440px; padding: clamp(2rem, 4vw, 4rem); }
.industry-output > span { color: #8b631e; font-size: 0.65rem; text-transform: uppercase; letter-spacing: 0.14em; }
.industry-output h3 { margin: 1rem 0; font-size: clamp(2rem, 4vw, 4.5rem); line-height: 1; font-weight: 500; }
.industry-services { display: grid; margin-top: 2.5rem; }
.industry-services a { display: flex; justify-content: space-between; padding: 1rem 0; border-bottom: 1px solid var(--koaf-line-dark); font-weight: 700; }
.industry-services span { color: #8b631e; }

.finder-section { background: linear-gradient(135deg, #111719, #0b0e10); }
.finder-shell { width: min(1180px, 100%); margin: 0 auto; display: grid; grid-template-columns: 0.78fr 1.22fr; border: 1px solid var(--koaf-line); }
.finder-copy { padding: clamp(2rem, 5vw, 5rem); border-right: 1px solid var(--koaf-line); }
.finder-copy h2 { margin: 1.5rem 0; font-size: clamp(2.3rem, 4.2vw, 4.7rem); line-height: 0.98; font-weight: 500; }
.finder-copy > p { color: var(--koaf-muted); }
.finder-progress { height: 2px; margin-top: 3rem; background: var(--koaf-line); }
.finder-progress span { display: block; height: 100%; background: var(--koaf-gold); transition: width 250ms ease; }
.finder-form { min-height: 620px; padding: clamp(2rem, 5vw, 5rem); }
.finder-step { display: none; }
.finder-step.is-active { display: block; }
.finder-step > span { display: block; margin-bottom: 2rem; color: var(--koaf-muted); font-size: 0.65rem; text-transform: uppercase; letter-spacing: 0.12em; }
.finder-step > label { display: block; margin-bottom: 2rem; font-size: clamp(1.5rem, 2.8vw, 2.7rem); line-height: 1.2; }
.finder-step input, .finder-step select, .finder-step textarea { width: 100%; min-height: 58px; padding: 0.8rem 0; border: 0; border-bottom: 1px solid var(--koaf-line); border-radius: 0; background: transparent; color: white; outline: 0; }
.finder-step select { color-scheme: dark; }
.finder-step textarea { resize: vertical; }
.finder-step input:focus, .finder-step select:focus, .finder-step textarea:focus { border-color: var(--koaf-gold); }
.finder-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 1.2rem; }
.finder-step .button { margin-top: 2.5rem; }
.honeypot { position: absolute !important; left: -10000px !important; width: 1px !important; height: 1px !important; opacity: 0 !important; }

.project-showcase { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); border-top: 1px solid var(--koaf-line); border-left: 1px solid var(--koaf-line); }
.project-item { min-height: 390px; display: flex; flex-direction: column; padding: clamp(1.7rem, 3vw, 3rem); border-right: 1px solid var(--koaf-line); border-bottom: 1px solid var(--koaf-line); background: linear-gradient(145deg, #101618, #090c0e); transition: background 220ms ease; }
.project-item > span { color: var(--koaf-gold); font-size: 0.65rem; text-transform: uppercase; letter-spacing: 0.12em; }
.project-item h3, .project-item h2 { margin: auto 0 1rem; font-size: clamp(2rem, 4vw, 4.3rem); line-height: 0.98; font-weight: 500; }
.project-item p { max-width: 560px; color: var(--koaf-muted); }
.project-item i { margin-top: 1.2rem; color: var(--koaf-gold); font-style: normal; font-size: 0.75rem; text-transform: uppercase; letter-spacing: 0.1em; }
.project-item:hover { background: #171c1b; }
.editorial-empty { max-width: 950px; padding: clamp(2rem, 6vw, 6rem); border: 1px solid var(--koaf-line); background: linear-gradient(135deg, rgba(216,173,87,0.06), transparent); }
.editorial-empty > span { color: var(--koaf-gold); font-size: 0.65rem; text-transform: uppercase; letter-spacing: 0.14em; }
.editorial-empty h2, .editorial-empty h3 { margin: 1rem 0; font-size: clamp(2rem, 4vw, 4.5rem); line-height: 1; font-weight: 500; }
.editorial-empty p { max-width: 680px; color: var(--koaf-muted); }
.section-light .editorial-empty { border-color: var(--koaf-line-dark); }
.section-light .editorial-empty p { color: #555d60; }

.command-section { padding-top: 0; }
.command-shell { padding: clamp(2rem, 5vw, 5rem); border: 1px solid var(--koaf-line); background: #0d1214; }
.command-heading { display: grid; grid-template-columns: 0.35fr 1.1fr 0.6fr; gap: 2rem; align-items: start; }
.command-heading h2 { font-size: clamp(2rem, 4vw, 4.7rem); line-height: 1; font-weight: 500; }
.command-heading > p:last-child { color: var(--koaf-muted); }
.command-grid { display: grid; grid-template-columns: 1.25fr repeat(3, 0.75fr); margin-top: 4rem; border-top: 1px solid var(--koaf-line); border-left: 1px solid var(--koaf-line); }
.command-grid > div { position: relative; min-height: 210px; padding: 1.5rem; border-right: 1px solid var(--koaf-line); border-bottom: 1px solid var(--koaf-line); overflow: hidden; }
.command-grid span { color: var(--koaf-muted); font-size: 0.65rem; text-transform: uppercase; letter-spacing: 0.12em; }
.command-grid strong { display: block; margin-top: 2rem; font-size: clamp(3.4rem, 6vw, 7rem); line-height: 1; font-weight: 400; }
.command-grid p { margin: 0; color: var(--koaf-muted); }
.command-primary { background: var(--koaf-gold); color: var(--koaf-ink); }
.command-primary span, .command-primary p { color: rgba(8,11,13,0.7); }
.command-primary i { position: absolute; width: 150px; height: 150px; right: -40px; bottom: -40px; border: 1px solid rgba(8,11,13,0.3); border-radius: 50%; }

.journey-track { display: flex; gap: 0; margin: 0; padding: 0; list-style: none; overflow-x: auto; scroll-snap-type: x mandatory; border-top: 1px solid var(--koaf-line-dark); scrollbar-width: thin; }
.journey-track li { flex: 0 0 min(260px, 68vw); min-height: 280px; padding: 1.5rem; border-right: 1px solid var(--koaf-line-dark); scroll-snap-align: start; }
.journey-track span { color: #8b631e; font-size: 0.65rem; }
.journey-track strong { display: block; margin-top: 6rem; font-size: 1.5rem; }
.journey-track p { color: #586064; }

.capability-section { display: grid; grid-template-columns: 0.85fr 1.15fr; gap: 8vw; background: #0b0f11; }
.capability-lead { align-self: center; }
.capability-lead h2 { margin: 1.5rem 0; font-size: clamp(2.7rem, 5vw, 5.8rem); line-height: 0.96; font-weight: 500; }
.capability-lead > p { max-width: 580px; color: var(--koaf-muted); }
.capability-lead .button { margin-top: 1.5rem; }
.capability-list { border-top: 1px solid var(--koaf-line); }
.capability-list > div { display: grid; grid-template-columns: 0.15fr 0.55fr 1fr; gap: 1.5rem; padding: 1.7rem 0; border-bottom: 1px solid var(--koaf-line); }
.capability-list span { color: var(--koaf-gold); font-size: 0.65rem; }
.capability-list p { margin: 0; color: var(--koaf-muted); }

.operations-section { display: grid; grid-template-columns: 1.15fr 0.85fr; min-height: 700px; align-items: center; background: var(--koaf-paper-warm); color: var(--koaf-ink); }
.operations-map { position: relative; width: min(600px, 80vw); aspect-ratio: 1; border: 1px solid var(--koaf-line-dark); border-radius: 50%; background: radial-gradient(circle, rgba(154,108,34,0.18), transparent 55%); }
.operations-map::before, .operations-map::after { content: ""; position: absolute; background: var(--koaf-line-dark); }
.operations-map::before { left: 50%; top: 0; width: 1px; height: 100%; }.operations-map::after { left: 0; top: 50%; width: 100%; height: 1px; }
.operations-map strong { position: absolute; left: 50%; top: 50%; transform: translate(-50%, -50%); font-size: clamp(2rem, 6vw, 6rem); letter-spacing: 0.2em; color: rgba(8,11,13,0.12); }
.map-ring { position: absolute; border: 1px solid rgba(154,108,34,0.35); border-radius: 50%; }
.ring-a { inset: 17%; }.ring-b { inset: 34%; }
.map-marker { position: absolute; z-index: 2; width: 11px; height: 11px; border-radius: 50%; background: #8b631e; box-shadow: 0 0 0 8px rgba(139,99,30,0.15); }
.marker-a { left: 38%; top: 27%; }.marker-b { right: 34%; bottom: 25%; }
.operations-copy h2 { margin: 1.5rem 0; font-size: clamp(2.5rem, 4.8vw, 5.4rem); line-height: 0.98; font-weight: 500; }
.operations-copy > p { max-width: 570px; }
.office-list { margin: 2rem 0; border-top: 1px solid var(--koaf-line-dark); }
.office-list div { display: flex; justify-content: space-between; padding: 1rem 0; border-bottom: 1px solid var(--koaf-line-dark); }

.evidence-section { display: grid; gap: var(--space-6); }
.news-strip > div:first-child, .leadership-strip > div:first-child { display: flex; justify-content: space-between; align-items: end; margin-bottom: 2rem; }
.news-strip h2, .leadership-strip h2 { margin: 0; font-size: clamp(2.5rem, 5vw, 5rem); font-weight: 500; }
.news-strip > a, .leadership-strip > a { display: grid; grid-template-columns: 0.25fr 1fr 0.2fr; gap: 2rem; padding: 1.5rem 0; border-top: 1px solid var(--koaf-line-dark); }
.news-strip > a span, .news-strip time, .leadership-strip span { color: #5d6261; font-size: 0.75rem; }

.gateway-heading { display: grid; grid-template-columns: 0.4fr 1fr; gap: 3rem; margin-bottom: var(--space-5); }
.gateway-grid { display: grid; grid-template-columns: repeat(3, 1fr); border-left: 1px solid var(--koaf-line); border-top: 1px solid var(--koaf-line); }
.gateway-grid a { min-height: 230px; display: flex; flex-direction: column; padding: 1.5rem; border-right: 1px solid var(--koaf-line); border-bottom: 1px solid var(--koaf-line); transition: background 180ms ease; }
.gateway-grid span { color: var(--koaf-muted); font-size: 0.65rem; text-transform: uppercase; letter-spacing: 0.12em; }
.gateway-grid strong { margin-top: auto; font-size: clamp(1.3rem, 2.4vw, 2.5rem); line-height: 1.05; font-weight: 500; }
.gateway-grid i { align-self: end; color: var(--koaf-gold); font-style: normal; }
.gateway-grid a:hover { background: rgba(216,173,87,0.08); }

.final-cta { min-height: 650px; padding: var(--space-6) max(4vw, calc((100vw - 1440px) / 2)); display: grid; grid-template-columns: 1fr auto; align-items: center; gap: 4rem; background: var(--koaf-gold); color: var(--koaf-ink); }
.final-cta .eyebrow { color: rgba(8,11,13,0.65); }
.final-cta h2 { font-size: clamp(3rem, 7vw, 8.4rem); line-height: 0.9; letter-spacing: -0.06em; font-weight: 500; }
.final-cta em { color: #664711; }
.magnetic-cta { width: clamp(170px, 18vw, 260px); aspect-ratio: 1; display: grid; place-content: center; position: relative; border: 1px solid rgba(8,11,13,0.4); border-radius: 50%; text-align: center; text-transform: uppercase; font-size: 0.85rem; font-weight: 800; letter-spacing: 0.08em; transition: background 180ms ease, color 180ms ease, transform 180ms ease; }
.magnetic-cta i { position: absolute; right: 18%; top: 18%; font-style: normal; }
.magnetic-cta:hover { background: var(--koaf-ink); color: var(--koaf-gold); transform: rotate(-4deg); }

.interior-hero, .service-hero, .form-hero, .ecosystem-detail-hero { min-height: min(820px, 92svh); padding: calc(var(--header-height) + var(--space-5)) max(4vw, calc((100vw - 1440px) / 2)) var(--space-5); display: grid; grid-template-columns: 1.35fr 0.65fr; align-items: end; gap: 6vw; background: radial-gradient(circle at 80% 15%, #202a2d 0, var(--koaf-ink) 50%); }
.interior-hero > div, .service-hero > div, .form-hero > div, .ecosystem-detail-hero > div { max-width: 980px; }
.interior-hero h1, .service-hero h1, .form-hero h1, .ecosystem-detail-hero h1 { margin: 1.4rem 0; font-size: clamp(3.2rem, 7.5vw, 9rem); line-height: 0.9; letter-spacing: -0.06em; font-weight: 500; }
.interior-hero > div > p:last-child, .service-hero > div > p, .form-hero > div > p, .ecosystem-detail-hero > div > p { max-width: 720px; color: var(--koaf-muted); font-size: clamp(1.05rem, 1.5vw, 1.3rem); }
.interior-hero > span { align-self: center; justify-self: end; color: var(--koaf-gold); writing-mode: vertical-rl; font-size: 0.62rem; letter-spacing: 0.2em; }
.collection-list { border-top: 1px solid var(--koaf-line); }
.collection-item { min-height: 210px; display: grid; grid-template-columns: 0.12fr 1fr auto; gap: 2rem; align-items: center; padding: 2rem 0; border-bottom: 1px solid var(--koaf-line); }
.collection-item > span { color: var(--koaf-gold); font-size: 0.65rem; }
.collection-item div > p { margin: 0; color: var(--koaf-muted); font-size: 0.68rem; text-transform: uppercase; letter-spacing: 0.12em; }
.collection-item h2 { margin: 0.8rem 0; font-size: clamp(2rem, 4.7vw, 5.5rem); line-height: 0.94; font-weight: 500; }
.collection-item div > strong { color: var(--koaf-muted); font-weight: 400; }
.collection-item > i { width: 3.5rem; height: 3.5rem; display: grid; place-items: center; border: 1px solid var(--koaf-line); border-radius: 50%; color: var(--koaf-gold); font-style: normal; }
.collection-item:hover h2 { color: var(--koaf-gold-bright); }

.editorial-body { width: var(--container); margin: 0 auto; padding: var(--space-6) 0; display: grid; grid-template-columns: 0.35fr 1fr; gap: 7vw; }
.article-rail { position: sticky; top: calc(var(--header-height) + 2rem); align-self: start; display: grid; gap: 2rem; font-size: 0.75rem; color: var(--koaf-muted); }
.article-rail a { color: var(--koaf-gold); }
.prose { max-width: var(--reading); font-size: clamp(1.05rem, 1.4vw, 1.25rem); line-height: 1.8; }
.prose h2 { margin-top: 2.7rem; font-size: clamp(2rem, 3vw, 3.5rem); line-height: 1.05; font-weight: 500; }
.prose a { color: var(--koaf-gold); text-decoration: underline; }
.service-hero { position: relative; overflow: hidden; }
.service-hero h1 { max-width: 1040px; }
.service-hero .button { margin-top: 1.5rem; }
.service-glyph { position: relative; width: min(400px, 32vw); aspect-ratio: 1; justify-self: end; display: grid; place-items: center; border: 1px solid color-mix(in srgb, var(--accent) 50%, transparent); border-radius: 50%; }
.service-glyph::before, .service-glyph::after, .service-glyph i { content: ""; position: absolute; border: 1px solid rgba(255,255,255,0.1); border-radius: 50%; }
.service-glyph::before { inset: 14%; }.service-glyph::after { inset: -12%; }.service-glyph i:first-child { width: 140%; height: 1px; border-radius: 0; }.service-glyph i:nth-child(2) { height: 140%; width: 1px; border-radius: 0; }
.service-glyph span { color: var(--accent); font-size: clamp(2rem, 5vw, 5rem); font-weight: 700; }
.service-body { display: grid; grid-template-columns: 1fr 0.8fr; gap: 8vw; }
.service-body > div > h2 { font-size: clamp(2.7rem, 5vw, 5.8rem); line-height: 0.98; font-weight: 500; }
.service-body > ol { margin: 0; padding: 0; list-style: none; border-top: 1px solid var(--koaf-line); min-width: 0; align-self: start; }
.service-body > ol > li { display: grid; grid-template-columns: 3rem minmax(0,1fr); gap: .65rem; padding: 1.4rem 0; border-bottom: 1px solid var(--koaf-line); min-width: 0; }
.service-body > ol > li > span { color: var(--accent, var(--koaf-gold)); font-size: 0.65rem; }
.inline-cta { width: var(--container); margin: 0 auto var(--space-6); padding: clamp(2rem, 5vw, 5rem); display: flex; justify-content: space-between; align-items: end; gap: 2rem; border: 1px solid var(--koaf-line); }
.inline-cta h2 { margin: 1rem 0 0; font-size: clamp(2rem, 4vw, 4rem); font-weight: 500; }

.industry-detail .directory-row { grid-template-columns: 0.1fr 0.6fr 1fr auto; }
.ecosystem-detail-hero { position: relative; }
.ecosystem-detail-hero .status-badge { margin-bottom: 1rem; }
.eco-mark { width: min(410px, 33vw); aspect-ratio: 1; justify-self: end; display: grid; place-items: center; border: 1px solid var(--koaf-gold); border-radius: 50%; text-align: center; }
.eco-mark::before, .eco-mark::after { content: ""; position: absolute; border: 1px solid var(--koaf-line); border-radius: 50%; }
.eco-mark::before { width: 28vw; aspect-ratio: 1; }.eco-mark::after { width: 22vw; aspect-ratio: 1; }
.eco-mark span { color: var(--koaf-gold); font-size: 0.68rem; letter-spacing: 0.15em; }
.product-detail { display: grid; grid-template-columns: 0.75fr 1fr; gap: 8vw; }
.product-detail h2 { font-size: clamp(2.5rem, 5vw, 5.8rem); line-height: 0.95; font-weight: 500; }
.case-grid { display: grid; grid-template-columns: 0.4fr 1fr; gap: 8vw; }
.case-grid aside { position: sticky; top: calc(var(--header-height) + 2rem); align-self: start; }
.case-grid dl { margin: 0; }
.case-grid dl div { padding: 1rem 0; border-bottom: 1px solid var(--koaf-line); }
.case-grid dt { color: var(--koaf-muted); font-size: 0.64rem; text-transform: uppercase; letter-spacing: 0.12em; }
.case-grid dd { margin: 0.3rem 0 0; }
.news-list { border-top: 1px solid var(--koaf-line); }
.news-list > a { display: grid; grid-template-columns: 0.2fr 0.8fr 0.8fr auto; gap: 2rem; padding: 2rem 0; border-bottom: 1px solid var(--koaf-line); }
.news-list span { color: var(--koaf-gold); font-size: 0.65rem; text-transform: uppercase; }
.news-list h2 { margin: 0; font-size: clamp(1.5rem, 3vw, 3rem); line-height: 1; font-weight: 500; }
.news-list p { color: var(--koaf-muted); }
.news-list i { color: var(--koaf-gold); font-style: normal; }
.career-paths { display: grid; grid-template-columns: repeat(4, 1fr); padding-bottom: 0; }
.career-paths a { min-height: 330px; display: flex; flex-direction: column; padding: 1.5rem; border: 1px solid var(--koaf-line); border-right: 0; }
.career-paths a:last-child { border-right: 1px solid var(--koaf-line); }
.career-paths span { color: var(--koaf-gold); font-size: 0.65rem; }
.career-paths h2 { margin-top: auto; font-size: clamp(1.6rem, 2.6vw, 2.8rem); line-height: 1; font-weight: 500; }
.career-paths p { color: var(--koaf-muted); }
.job-list { display: grid; gap: 1rem; }
.job-list article { display: grid; grid-template-columns: 0.3fr 1fr 0.5fr auto; align-items: center; gap: 2rem; padding: 1.5rem 0; border-bottom: 1px solid var(--koaf-line); }
.job-list h3 { margin: 0; font-size: 1.5rem; }
.job-list span, .job-list p { margin: 0; color: var(--koaf-muted); }
.job-list a { color: var(--koaf-gold); }

.form-hero aside { align-self: end; padding: 2rem; border: 1px solid var(--koaf-line); }
.form-hero aside > span { color: var(--koaf-gold); font-size: 0.65rem; text-transform: uppercase; letter-spacing: 0.12em; }
.form-hero ol { margin: 1.5rem 0 0; padding-left: 1.3rem; color: var(--koaf-muted); }
.form-hero li { padding: 0.4rem; }
.business-form { width: min(1120px, 100%); margin: 0 auto; }
.form-block { display: grid; grid-template-columns: 0.25fr 1fr; gap: 3rem; padding: var(--space-4) 0; border-top: 1px solid var(--koaf-line); }
.form-index { color: var(--koaf-gold); font-size: 0.65rem; text-transform: uppercase; letter-spacing: 0.13em; }
.field-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 1.6rem 2rem; }
.business-form label > span { display: block; margin-bottom: 0.55rem; color: #cbd0d1; font-size: 0.75rem; font-weight: 700; }
.business-form label b { color: var(--koaf-gold); }
.business-form input, .business-form select, .business-form textarea { width: 100%; min-height: 54px; padding: 0.75rem; border: 1px solid var(--koaf-line); border-radius: var(--radius-sm); background: #0e1316; color: var(--koaf-white); outline: 0; }
.business-form input:focus, .business-form select:focus, .business-form textarea:focus { border-color: var(--koaf-gold); box-shadow: 0 0 0 3px rgba(216,173,87,0.09); }
.business-form textarea { resize: vertical; }
.field-full { display: block; margin-top: 1.7rem; grid-column: 2; }
.field-error { display: block; margin-top: 0.4rem; color: var(--danger); font-size: 0.75rem; }
.upload-field { grid-column: 2; min-height: 140px; display: grid; place-items: center; border: 1px dashed rgba(216,173,87,0.5); background: rgba(216,173,87,0.04); cursor: pointer; text-align: center; }
.upload-field input { position: absolute; width: 1px; height: 1px; opacity: 0; }
.upload-field span { display: grid !important; gap: 0.5rem; margin: 0 !important; }
.upload-field strong { color: var(--koaf-gold-bright); font-size: 1.1rem; }
.upload-field small { color: var(--koaf-muted); font-weight: 400; }
.form-submit { display: grid; grid-template-columns: 1fr auto; gap: 2rem; align-items: center; padding-top: 2rem; border-top: 1px solid var(--koaf-line); }
.form-submit > p { grid-column: 1 / -1; color: var(--koaf-muted); font-size: 0.75rem; }
.check-label { display: flex !important; gap: 0.8rem; align-items: flex-start; cursor: pointer; }
.check-label input { flex: 0 0 20px; width: 20px !important; min-height: 20px !important; margin-top: 0.1rem; accent-color: var(--koaf-gold); }
.check-label span { margin: 0 !important; }
.success-page, .error-page { min-height: 100svh; padding: calc(var(--header-height) + 4rem) 5vw 4rem; display: grid; place-content: center; justify-items: center; text-align: center; background: radial-gradient(circle, #172024, var(--koaf-ink) 60%); }
.success-mark { width: 5rem; height: 5rem; display: grid; place-items: center; margin-bottom: 2rem; border: 1px solid var(--koaf-gold); border-radius: 50%; color: var(--koaf-gold); font-size: 2rem; }
.success-page h1, .error-page h1 { max-width: 980px; font-size: clamp(2.8rem, 6vw, 7rem); line-height: 0.95; font-weight: 500; }
.success-page h1 strong { color: var(--koaf-gold); font-family: monospace; font-size: 0.6em; letter-spacing: 0.02em; }
.success-page > p:not(.eyebrow), .error-page > p:not(.eyebrow) { max-width: 620px; color: var(--koaf-muted); }
.success-page > div:last-child, .error-page > div:last-child { display: flex; gap: 0.8rem; margin-top: 1.5rem; }
.error-page > span { color: rgba(216,173,87,0.18); font-size: clamp(6rem, 18vw, 18rem); line-height: 0.65; font-weight: 800; }
.error-page pre { max-width: 80vw; padding: 1rem; overflow: auto; color: #ffb0b4; text-align: left; white-space: pre-wrap; }
.search-hero { min-height: 620px; }
.page-search { margin-top: 2rem; }
.search-results > p { color: var(--koaf-muted); }
.search-results > div:not(.editorial-empty) { border-top: 1px solid var(--koaf-line); }
.search-results a { display: grid; grid-template-columns: 0.2fr 0.8fr 0.8fr auto; gap: 2rem; padding: 1.5rem 0; border-bottom: 1px solid var(--koaf-line); }
.search-results span { color: var(--koaf-gold); font-size: 0.65rem; text-transform: uppercase; }
.search-results h2 { margin: 0; font-size: 1.8rem; font-weight: 500; }
.search-results p { margin: 0; color: var(--koaf-muted); }
.search-results i { color: var(--koaf-gold); font-style: normal; }

.site-notice { position: fixed; z-index: 1200; top: calc(var(--header-height) + 1rem); left: 50%; transform: translateX(-50%); width: min(92vw, 760px); padding: 1rem 1.2rem; border: 1px solid; background: #111719; box-shadow: 0 14px 45px rgba(0,0,0,0.35); }
.notice-success { border-color: var(--success); }.notice-error { border-color: var(--danger); }
.cookie-notice { position: fixed; z-index: 1000; right: 1.2rem; bottom: 1.2rem; width: min(92vw, 430px); padding: 1.2rem; border: 1px solid var(--koaf-line); background: #101517; box-shadow: 0 20px 70px rgba(0,0,0,0.45); }
.cookie-notice[hidden] { display: none; }
.cookie-notice p { margin-bottom: 1rem; color: #c5cbcd; font-size: 0.82rem; }
.cookie-notice p strong { color: white; }
.cookie-notice > div { display: flex; align-items: center; gap: 1rem; }

.site-footer { padding: var(--space-6) max(4vw, calc((100vw - 1440px) / 2)) 1.5rem; background: #060809; }
.footer-top { display: grid; grid-template-columns: 0.8fr 1.2fr; gap: 7vw; padding-bottom: var(--space-5); }
.footer-statement h2 { margin: 1.5rem 0; font-size: clamp(2.7rem, 5vw, 5.8rem); line-height: 0.95; font-weight: 500; }
.footer-statement h2 em { color: var(--koaf-gold); font-family: var(--font-serif); font-weight: 400; }
.footer-statement p { max-width: 570px; color: var(--koaf-muted); }
.footer-directory { display: grid; grid-template-columns: repeat(4, 1fr); gap: 1.5rem; }
.footer-directory > div { display: grid; align-content: start; gap: 0.7rem; }
.footer-directory h3 { margin-bottom: 0.8rem; color: var(--koaf-gold); font-size: 0.65rem; text-transform: uppercase; letter-spacing: 0.12em; }
.footer-directory a { color: #aab2b5; font-size: 0.8rem; }
.footer-directory a:hover { color: white; }
.footer-contact { display: grid; grid-template-columns: repeat(3, 1fr) auto; gap: 2rem; align-items: center; padding: 2rem 0; border-top: 1px solid var(--koaf-line); border-bottom: 1px solid var(--koaf-line); }
.footer-contact > div { display: grid; gap: 0.3rem; }
.footer-contact span { color: var(--koaf-muted); font-size: 0.65rem; text-transform: uppercase; letter-spacing: 0.1em; }
.footer-contact strong { font-size: 0.85rem; }
.circle-link { width: 3.5rem; height: 3.5rem; display: grid; place-items: center; border: 1px solid var(--koaf-gold); border-radius: 50%; color: var(--koaf-gold); }
.footer-bottom { display: flex; align-items: center; justify-content: space-between; gap: 2rem; padding-top: 1.5rem; color: #697276; font-size: 0.7rem; }
.footer-bottom p { margin: 0; }
.footer-bottom nav { display: flex; gap: 1.2rem; }

@media (max-width: 1180px) {
  :root { --header-height: 74px; }
  .header-shell { grid-template-columns: 1fr auto; }
  .desktop-nav, .desktop-cta { display: none; }
  .menu-button { display: flex; align-items: center; justify-content: flex-end; gap: 0.8rem; }
  .mega-menu { display: none !important; }
  .hero-shell { grid-template-columns: 1fr; }
  .hero-index { display: none; }
  .hero-core { width: min(70vw, 620px); right: -14vw; top: 14vh; opacity: 0.65; }
  .section-heading { grid-template-columns: 0.35fr 1.1fr; }
  .section-heading > p:last-child { grid-column: 2; }
  .section-heading-inline { grid-template-columns: 1fr auto; }
  .section-heading-inline > div { grid-template-columns: 0.32fr 1fr; }
  .ecosystem-stage { grid-template-columns: 1fr; }
  .ecosystem-panel { padding: 2rem 0 0; border-left: 0; border-top: 1px solid var(--koaf-line); }
  .command-heading { grid-template-columns: 0.35fr 1fr; }
  .command-heading > p:last-child { grid-column: 2; }
  .command-grid { grid-template-columns: 1fr 1fr; }
  .gateway-grid { grid-template-columns: repeat(2, 1fr); }
  .career-paths { grid-template-columns: repeat(2, 1fr); }
  .career-paths a:nth-child(2) { border-right: 1px solid var(--koaf-line); }
  .footer-top { grid-template-columns: 1fr; }
}

@media (max-width: 820px) {
  :root { --container: min(91vw, 720px); }
  .section { padding-inline: 4.5vw; }
  .hero-shell { padding-bottom: 7rem; }
  .hero-copy h1 { font-size: clamp(3.25rem, 13.5vw, 6.8rem); line-height: 0.88; }
  .hero-copy .eyebrow span { display: none; }
  .hero-intro { max-width: 540px; }
  .hero-core { width: 105vw; right: -56vw; top: 12vh; opacity: 0.44; }
  .hero-grid { background-size: 48px 48px; }
  .section-heading, .section-heading-wide, .section-heading-inline, .section-heading-inline > div { grid-template-columns: 1fr; gap: 1.2rem; }
  .section-heading > p:last-child { grid-column: 1; }
  .section-heading-inline .button { justify-self: start; }
  .section-heading h2, .industry-intro h2, .gateway-heading h2 { font-size: clamp(2.65rem, 10vw, 5.4rem); }
  .directory-row { grid-template-columns: 2.2rem 1fr auto; gap: 1rem; padding: 1.5rem 0; }
  .directory-row p { grid-column: 2 / -1; }
  .directory-row i { grid-column: 3; grid-row: 1; }
  .who-grid { grid-template-columns: 1fr; gap: 1rem; }
  .who-copy { padding-top: 1rem; }
  .evidence-note { grid-template-columns: 1fr; }
  .ecosystem-map { min-height: 600px; transform: scale(0.9); margin-inline: -5vw; }
  .division-band { grid-template-columns: 2.2rem 1fr; gap: 1rem; }
  .division-band ul { grid-column: 2; }
  .industry-section { grid-template-columns: 1fr; }
  .industry-intro { position: static; }
  .finder-shell { grid-template-columns: 1fr; }
  .finder-copy { border-right: 0; border-bottom: 1px solid var(--koaf-line); }
  .finder-form { min-height: 560px; }
  .project-showcase { grid-template-columns: 1fr; }
  .command-heading { grid-template-columns: 1fr; }
  .command-heading > p:last-child { grid-column: 1; }
  .capability-section { grid-template-columns: 1fr; }
  .operations-section { grid-template-columns: 1fr; gap: 3rem; }
  .operations-map { width: min(90vw, 520px); justify-self: center; }
  .news-strip > a, .leadership-strip > a { grid-template-columns: 1fr 0.3fr; }
  .news-strip > a span { grid-column: 1 / -1; }
  .gateway-heading { grid-template-columns: 1fr; }
  .final-cta { min-height: 560px; grid-template-columns: 1fr; align-content: center; }
  .magnetic-cta { justify-self: end; }
  .interior-hero, .service-hero, .form-hero, .ecosystem-detail-hero { min-height: 760px; grid-template-columns: 1fr; align-content: end; }
  .interior-hero > span { display: none; }
  .service-glyph, .eco-mark { position: absolute; top: 17%; right: -8%; width: min(52vw, 300px); opacity: 0.5; }
  .service-body, .product-detail, .case-grid { grid-template-columns: 1fr; }
  .case-grid aside { position: static; }
  .editorial-body { grid-template-columns: 1fr; }
  .article-rail { position: static; padding-bottom: 1.5rem; border-bottom: 1px solid var(--koaf-line); }
  .collection-item { grid-template-columns: 2.2rem 1fr auto; }
  .collection-item div > strong { display: block; }
  .news-list > a, .search-results a { grid-template-columns: 1fr auto; }
  .news-list span, .search-results span { grid-column: 1 / -1; }
  .news-list p, .search-results p { grid-column: 1; }
  .career-paths { grid-template-columns: 1fr 1fr; padding-inline: 4.5vw; }
  .job-list article { grid-template-columns: 1fr auto; }
  .job-list span, .job-list p { grid-column: 1 / -1; }
  .form-hero aside { display: none; }
  .form-block { grid-template-columns: 1fr; gap: 1rem; }
  .field-full, .upload-field { grid-column: 1; }
  .footer-directory { grid-template-columns: repeat(2, 1fr); gap: 2.5rem 1.5rem; }
  .footer-contact { grid-template-columns: 1fr auto; }
  .footer-contact > div { grid-column: 1; }
  .footer-contact .circle-link { grid-column: 2; grid-row: 1 / span 3; }
  .footer-bottom { align-items: flex-start; flex-direction: column; }
}

@media (max-width: 560px) {
  :root { --header-height: 68px; }
  .header-shell { gap: 0.5rem; }
  .brand-copy strong { font-size: 0.78rem; }.brand-monogram { width: 2rem; height: 2rem; }.brand-copy small { font-size: 0.5rem; }
  .icon-button { display: none; }
  .menu-button span { display: none; }
  .hero-actions { flex-direction: column; align-items: stretch; }
  .hero-actions .button { width: 100%; }
  .scroll-cue { left: 4.5vw; }
  .directory-row strong { font-size: 1.3rem; }
  .directory-row p { font-size: 0.84rem; }
  .ecosystem-map { min-height: 520px; transform: none; margin: 0; border-radius: 2rem; }
  .ecosystem-map::before { inset: 11%; }.ecosystem-map::after { inset: 26%; }
  .ecosystem-centre { width: 135px; }
  .ecosystem-node { width: 96px; }
  .ecosystem-node::after { width: 75px; }
  .node-1 { top: 3%; left: 37%; }.node-2 { top: 30%; right: 1%; }.node-3 { bottom: 3%; right: 12%; }.node-4 { bottom: 3%; left: 12%; }.node-5 { top: 30%; left: 1%; }
  .ecosystem-node strong { font-size: 0.6rem; }
  .division-band ul { padding-top: 1rem; }
  .finder-grid { grid-template-columns: 1fr; }
  .finder-form { min-height: 630px; padding: 1.5rem; }
  .command-grid { grid-template-columns: 1fr 1fr; }
  .command-grid > div { min-height: 175px; }
  .command-grid strong { font-size: 3.5rem; }
  .capability-list > div { grid-template-columns: 2rem 1fr; }
  .capability-list p { grid-column: 2; }
  .gateway-grid { grid-template-columns: 1fr; }
  .gateway-grid a { min-height: 170px; }
  .final-cta { padding-inline: 4.5vw; }
  .interior-hero, .service-hero, .form-hero, .ecosystem-detail-hero { min-height: 690px; padding-inline: 4.5vw; }
  .interior-hero h1, .service-hero h1, .form-hero h1, .ecosystem-detail-hero h1 { font-size: clamp(3.1rem, 14vw, 5.6rem); }
  .collection-item { grid-template-columns: 2rem 1fr; }
  .collection-item > i { display: none; }
  .inline-cta { align-items: stretch; flex-direction: column; }
  .career-paths { grid-template-columns: 1fr; }
  .career-paths a, .career-paths a:nth-child(2) { min-height: 230px; border-right: 1px solid var(--koaf-line); border-bottom: 0; }
  .career-paths a:last-child { border-bottom: 1px solid var(--koaf-line); }
  .field-grid { grid-template-columns: 1fr; }
  .form-submit { grid-template-columns: 1fr; }
  .success-page > div:last-child, .error-page > div:last-child { width: 100%; flex-direction: column; }
  .footer-directory { grid-template-columns: 1fr 1fr; }
  .footer-contact { grid-template-columns: 1fr; }
  .footer-contact .circle-link { grid-column: 1; grid-row: auto; }
  .footer-bottom nav { flex-wrap: wrap; }
  .cookie-notice { right: 4vw; bottom: 4vw; }
}

@media (max-width: 360px) {
  .hero-copy h1 { font-size: 3rem; }
  .hero-intro { font-size: 0.92rem; }
  .ecosystem-map { min-height: 480px; }
  .ecosystem-centre { width: 118px; }
  .ecosystem-node { width: 85px; padding: 0.5rem; }
  .command-grid { grid-template-columns: 1fr; }
  .footer-directory { grid-template-columns: 1fr; }
}

@media (min-width: 1900px) {
  :root { --container: min(88vw, 1680px); }
  .hero-copy { max-width: 1180px; }
  .hero-core { right: 10vw; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { animation-duration: 0.01ms !important; animation-iteration-count: 1 !important; transition-duration: 0.01ms !important; scroll-behavior: auto !important; }
}

@media print {
  .site-header, .site-footer, .cookie-notice, .site-progress, .button { display: none !important; }
  body { background: white; color: black; }
  main { padding: 0; }
}
.document-room-hero{min-height:700px}.document-room{min-height:500px}.document-room-notice{display:grid;grid-template-columns:.3fr 1fr;gap:2rem;margin-bottom:3rem;padding:1.2rem;border:1px solid rgba(216,173,87,.35);background:rgba(216,173,87,.04)}.document-room-notice strong{color:var(--koaf-gold);font-size:.68rem;text-transform:uppercase;letter-spacing:.12em}.document-room-notice p{max-width:700px;margin:0;color:var(--koaf-muted)}.document-room-list{border-top:1px solid var(--koaf-line)}.document-room-list>a{display:grid;grid-template-columns:auto 1fr auto;gap:2rem;align-items:center;padding:1.6rem 0;border-bottom:1px solid var(--koaf-line)}.document-room-list>a>span{width:3.4rem;height:3.4rem;display:grid;place-items:center;border:1px solid var(--koaf-line);color:var(--koaf-gold);font-size:.65rem}.document-room-list p{margin:0;color:var(--koaf-gold);font-size:.62rem;text-transform:uppercase}.document-room-list h2{margin:.3rem 0;font-size:clamp(1.4rem,2.5vw,2.7rem);font-weight:500}.document-room-list small{color:var(--koaf-muted)}.document-room-list i{color:var(--koaf-gold);font-style:normal;font-size:.7rem;text-transform:uppercase}@media(max-width:560px){.document-room-notice{grid-template-columns:1fr}.document-room-list>a{grid-template-columns:auto 1fr;gap:1rem}.document-room-list i{grid-column:2}}
.media-wall-section{background:#090d0f}.media-wall-grid{display:grid;grid-template-columns:repeat(12,1fr);gap:1rem}.media-wall-item{grid-column:span 4;border:1px solid var(--koaf-line);background:#101719}.media-wall-item:nth-child(4n+1){grid-column:span 7}.media-wall-item:nth-child(4n+2){grid-column:span 5}.media-wall-frame{position:relative;aspect-ratio:16/10;background:#050708;overflow:hidden}.media-wall-frame img,.media-wall-frame video{width:100%;height:100%;display:block;object-fit:cover}.media-wall-item>div:last-child{padding:1.2rem}.media-wall-item span,.trust-strip span{color:var(--koaf-gold);font-size:.6rem;text-transform:uppercase;letter-spacing:.12em}.media-wall-item h3{margin:.4rem 0;font-size:1.25rem}.media-wall-item p{margin:0;color:var(--koaf-muted);font-size:.75rem}.trust-strip,.testimonial-strip{display:grid;grid-template-columns:minmax(220px,.45fr) 1fr;gap:2rem;padding:2rem 0;border-bottom:1px solid rgba(8,11,13,.14)}.trust-strip h2,.testimonial-strip h2{margin:.4rem 0;font-size:clamp(1.8rem,3vw,3.2rem)}.trust-strip>div:last-child,.testimonial-strip>div:last-child{display:grid;grid-template-columns:repeat(3,1fr);gap:.8rem}.trust-strip a,.testimonial-strip blockquote{display:flex;min-height:130px;flex-direction:column;justify-content:space-between;margin:0;padding:1rem;border:1px solid rgba(8,11,13,.16)}.trust-strip a span{color:#8a6428}.testimonial-strip blockquote p{margin:0;font-size:.82rem}.testimonial-strip footer{display:grid;margin-top:1rem}.testimonial-strip footer span{color:#626a6a;letter-spacing:0;text-transform:none}@media(max-width:760px){.media-wall-grid{grid-template-columns:1fr}.media-wall-item,.media-wall-item:nth-child(n){grid-column:1}.trust-strip,.testimonial-strip{grid-template-columns:1fr}.trust-strip>div:last-child,.testimonial-strip>div:last-child{grid-template-columns:1fr}}
.form-error-summary{margin:0 var(--space-4);padding:1rem 1.2rem;border:1px solid var(--danger);background:rgba(255,141,147,.08)}.form-error-summary strong{color:#ffc5c8}.form-error-summary ul{margin:.5rem 0 0;padding-left:1.2rem;color:#e7b5b8;font-size:.75rem}
.hero-managed-media{position:absolute;inset:0;z-index:0;overflow:hidden}.managed-media{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.managed-media-tablet,.managed-media-mobile,.managed-media-fallback{display:none}.hero-managed-media::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(8,11,13,.9) 0%,rgba(8,11,13,.55) 48%,rgba(8,11,13,.22) 100%)}.managed-media-fallback.is-active{display:block}@media(max-width:1024px){.managed-media-desktop{display:none}.managed-media-tablet{display:block}}@media(max-width:640px){.managed-media-tablet{display:none}.managed-media-mobile{display:block}.hero-managed-media::after{background:linear-gradient(180deg,rgba(8,11,13,.35),rgba(8,11,13,.92) 70%)}}
[data-home-section][data-section-theme="light"]{background:var(--koaf-paper);color:var(--koaf-ink)}[data-home-section][data-section-theme="gold"]{background:var(--koaf-gold);color:var(--koaf-ink)}[data-home-section][data-spacing="compact"]{padding-top:var(--space-3);padding-bottom:var(--space-3)}[data-home-section][data-spacing="immersive"]{padding-top:var(--space-6);padding-bottom:var(--space-6)}[data-home-section][data-sticky="1"]{position:sticky;top:var(--header-height);z-index:2}[data-home-section][data-animation="none"] *{animation:none!important;transition:none!important}
[data-home-section].has-managed-background{background-position:center;background-size:cover;background-repeat:no-repeat}.section-background-media{position:absolute!important;inset:0;z-index:0;width:100%;height:100%;object-fit:cover;pointer-events:none}[data-home-section]:has(>.section-background-media)::before{content:"";position:absolute;inset:0;z-index:1;background:rgba(8,11,13,.66);pointer-events:none}[data-home-section]>.section-background-media~*{position:relative;z-index:2}
.footer-social{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:1rem;padding:1rem 4vw 2rem;border-top:1px solid var(--koaf-line)}.footer-social a{color:var(--koaf-muted);font-size:.68rem;text-transform:uppercase;letter-spacing:.1em}.footer-social a:hover{color:var(--koaf-gold)}

/* Expanded KOAF service catalogue */
.service-parent-link{display:inline-flex;margin:.6rem 0 1rem;color:var(--koaf-gold);font-size:.72rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}
.service-catalogue{color:var(--koaf-ink)}
.service-catalogue-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));border-top:1px solid var(--koaf-line-dark);border-left:1px solid var(--koaf-line-dark)}
.service-catalogue-item{min-height:260px;display:grid;grid-template-columns:auto 1fr auto;gap:1.2rem;padding:clamp(1.3rem,2.5vw,2.2rem);border-right:1px solid var(--koaf-line-dark);border-bottom:1px solid var(--koaf-line-dark);transition:background .2s ease,transform .2s ease}
.service-catalogue-item:hover{background:rgba(154,108,34,.08)}
.service-catalogue-item>span,.service-catalogue-item small{color:#8a6a32;font-size:.64rem;letter-spacing:.12em;text-transform:uppercase}
.service-catalogue-item h3{margin:.55rem 0 .8rem;font-size:clamp(1.35rem,2.1vw,2rem);letter-spacing:-.035em}
.service-catalogue-item p{margin:0;color:#556066;max-width:560px}
.service-catalogue-item i{font-style:normal;color:#8a6a32}
@media(max-width:760px){.service-catalogue-grid{grid-template-columns:1fr}.service-catalogue-item{min-height:auto}}

/* KOAF ecosystem external destinations */
.product-actions{display:flex;flex-wrap:wrap;gap:.8rem;align-items:center;margin-top:1.4rem}
.site-footer .footer-contact strong a{color:inherit;text-decoration:none}
.site-footer .footer-contact strong a:hover{text-decoration:underline;text-underline-offset:.2em}

/* Leadership directory and project evidence */
.leadership-directory{border-top:1px solid rgba(255,255,255,.1)}
.leadership-directory-grid{display:grid;gap:1.2rem;margin-top:2rem}
.leadership-profile{display:grid;grid-template-columns:minmax(220px,.65fr) minmax(0,1.35fr);gap:clamp(1.5rem,4vw,4rem);padding:clamp(1.4rem,3vw,2.6rem);border:1px solid rgba(255,255,255,.12);border-radius:1.35rem;background:rgba(255,255,255,.025);scroll-margin-top:7rem}
.leadership-profile-heading span,.project-technology>span{display:block;font-size:.75rem;letter-spacing:.16em;text-transform:uppercase;opacity:.65;margin-bottom:.8rem}
.leadership-profile-heading h3{font-size:clamp(1.7rem,3vw,2.7rem);margin:0 0 .55rem}
.leadership-profile-heading p{margin:0;color:var(--koaf-gold)}
.leadership-profile-copy p{margin-top:0;line-height:1.8}
.leadership-profile-copy blockquote{margin:1.4rem 0 0;padding:1rem 0 1rem 1.2rem;border-left:2px solid var(--koaf-gold);font-size:1.05rem;line-height:1.7}
.project-technology{display:flex;flex-direction:column;gap:.55rem;margin-top:1.5rem;padding-top:1.25rem;border-top:1px solid rgba(255,255,255,.1)}
.project-technology strong{font-size:.88rem;font-weight:600}
@media(max-width:760px){.leadership-profile{grid-template-columns:1fr}.leadership-profile-copy blockquote{font-size:1rem}}

.prose h3 { margin: 1.9rem 0 .65rem; font-size: clamp(1.25rem, 2vw, 1.7rem); line-height: 1.2; font-weight: 650; }
.prose p { margin: 0 0 1.25rem; }
.prose ul { margin: .8rem 0 1.6rem 1.15rem; padding: 0; display: grid; gap: .55rem; }
.prose li { padding-left: .2rem; }
.industry-detail .section-heading > p:last-child h2 { margin-top: 2.2rem; }
.industry-detail .section-heading > p:last-child p { margin: 0 0 1rem; }

/* =========================================================
   KOAF 3D scroll orbit — projects + ecosystem
   ========================================================= */
.orbit-showcase-section{position:relative;overflow:clip;background:#080b0d;color:#fff;border-top:1px solid var(--koaf-line)}
.orbit-showcase-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:2rem;padding-bottom:1.5rem}
.orbit-showcase-heading>div{max-width:950px}.orbit-showcase-heading h2{max-width:920px;margin:.4rem 0 .9rem;font-size:clamp(2.5rem,6vw,6rem);line-height:.94;font-weight:500;letter-spacing:-.055em}.orbit-showcase-heading>div>p:last-child{max-width:760px;margin:0;color:var(--koaf-muted);font-size:clamp(.9rem,1.35vw,1.08rem);line-height:1.7}
.orbit-scroll-shell{height:calc(100vh + (var(--orbit-count) - 1) * 72vh);min-height:760px;position:relative}
.orbit-sticky{position:sticky;top:var(--header-height);height:calc(100vh - var(--header-height));min-height:680px;display:grid;align-items:center;overflow:hidden}
.orbit-layout{width:var(--container);margin:auto;display:grid;grid-template-columns:minmax(360px,.78fr) minmax(0,1.22fr);gap:clamp(2rem,5vw,6rem);align-items:center}
.rolling-orbit{--orbit-roll:0deg;--orbit-ring:0deg;position:relative;min-height:min(68vh,680px);perspective:1100px;display:grid;place-items:center}
.orbit-halo{position:absolute;left:50%;top:50%;border:1px solid rgba(216,173,87,.25);border-radius:50%;transform:translate(-50%,-50%) rotateX(68deg);pointer-events:none}.halo-one{width:88%;aspect-ratio:1;box-shadow:0 0 70px rgba(216,173,87,.05),inset 0 0 50px rgba(216,173,87,.04)}.halo-two{width:62%;aspect-ratio:1;border-style:dashed;transform:translate(-50%,-50%) rotateY(66deg) rotateZ(20deg)}
.orbit-ball{position:relative;z-index:3;width:clamp(145px,15vw,230px);aspect-ratio:1;border-radius:50%;display:grid;place-items:center;transform-style:preserve-3d;transform:rotateX(calc(var(--orbit-roll) * .62)) rotateY(var(--orbit-roll));background:radial-gradient(circle at 28% 22%,#f4d58d 0 4%,#b9802d 9%,#2a2116 34%,#0b0e0f 67%,#030405 100%);box-shadow:-24px 28px 60px rgba(0,0,0,.48),0 0 78px rgba(216,173,87,.14),inset -22px -18px 45px rgba(0,0,0,.58),inset 10px 9px 22px rgba(255,226,162,.12);transition:filter .35s ease}
.orbit-ball::before,.orbit-ball::after,.orbit-ball i{content:"";position:absolute;inset:10%;border:1px solid rgba(255,230,176,.24);border-radius:50%;transform-style:preserve-3d}.orbit-ball::before{transform:rotateX(68deg)}.orbit-ball::after{transform:rotateY(70deg)}.orbit-ball i:nth-child(1){transform:rotateY(35deg)}.orbit-ball i:nth-child(2){transform:rotateY(-35deg)}.orbit-ball i:nth-child(3){inset:25%;border-color:rgba(216,173,87,.18)}.orbit-ball span{font-size:clamp(.62rem,1vw,.82rem);font-weight:800;letter-spacing:.25em;color:#fff;text-shadow:0 2px 10px #000;transform:translateZ(32px)}
.orbit-node-layer{position:absolute;inset:0;z-index:5;transform:rotate(var(--orbit-ring));transition:transform .08s linear;pointer-events:none}.orbit-node{--node-x:0px;--node-y:0px;position:absolute;left:50%;top:50%;width:clamp(80px,8vw,118px);aspect-ratio:1;display:grid;place-items:center;align-content:center;gap:.3rem;padding:.55rem;border:1px solid rgba(255,255,255,.14);border-radius:50%;background:rgba(12,18,20,.86);backdrop-filter:blur(12px);color:#fff;cursor:pointer;pointer-events:auto;transform:translate(-50%,-50%) translate(var(--node-x),var(--node-y)) rotate(calc(-1 * var(--orbit-ring))) scale(.86);box-shadow:0 14px 28px rgba(0,0,0,.2);transition:border-color .25s ease,background .25s ease,box-shadow .25s ease,scale .25s ease}.orbit-node:hover,.orbit-node.is-active{border-color:var(--koaf-gold);background:#1b1b15;box-shadow:0 0 0 5px rgba(216,173,87,.07),0 18px 38px rgba(0,0,0,.35);scale:1.08}.orbit-node span{color:var(--koaf-gold);font-size:.56rem;letter-spacing:.13em}.orbit-node strong{max-width:86px;font-size:.61rem;line-height:1.15;font-weight:650;text-align:center}
.orbit-counter{position:absolute;left:1rem;bottom:1.2rem;z-index:8;display:flex;align-items:baseline;gap:.4rem}.orbit-counter strong{font-size:clamp(2rem,4vw,4rem);font-weight:400;color:var(--koaf-gold)}.orbit-counter span{font-size:.65rem;color:var(--koaf-muted);letter-spacing:.1em}.orbit-scroll-instruction{position:absolute;right:.5rem;bottom:1.5rem;margin:0;color:var(--koaf-muted);font-size:.63rem;text-transform:uppercase;letter-spacing:.13em}.orbit-scroll-instruction span{color:var(--koaf-gold)}
.orbit-slides{position:relative;min-height:min(78vh,800px)}.orbit-slide{position:absolute;inset:0;display:grid;grid-template-rows:minmax(330px,1.05fr) auto;align-content:center;gap:1.25rem;opacity:0;visibility:hidden;transform:translateY(34px) scale(.975);pointer-events:none;transition:opacity .45s ease,transform .6s cubic-bezier(.2,.75,.2,1),visibility .45s}.orbit-slide.is-active{opacity:1;visibility:visible;transform:none;pointer-events:auto;z-index:3}
.orbit-browser{position:relative;border:1px solid rgba(255,255,255,.15);border-radius:1.25rem;overflow:hidden;background:#050708;box-shadow:0 30px 80px rgba(0,0,0,.42),0 0 0 1px rgba(216,173,87,.04);min-height:340px}.orbit-browser-bar{height:44px;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:1rem;padding:0 1rem;border-bottom:1px solid rgba(255,255,255,.1);background:#111719;color:#879194;font-size:.63rem;letter-spacing:.04em}.browser-dots{display:flex;gap:.34rem}.browser-dots i{width:7px;height:7px;border-radius:50%;background:#455052}.browser-dots i:nth-child(2){background:#78643e}.browser-dots i:nth-child(3){background:#4d685f}.orbit-browser-bar>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.orbit-browser-bar>a{color:var(--koaf-gold);font-size:.9rem}.orbit-browser-screen{position:relative;min-height:300px;height:100%;aspect-ratio:16/9;overflow:hidden;background:radial-gradient(circle at 75% 20%,rgba(216,173,87,.12),transparent 28%),#080b0d}.preview-generated,.preview-media,.preview-live,.preview-empty{position:absolute;inset:0;width:100%;height:100%}.preview-generated{display:flex;flex-direction:column;justify-content:flex-end;padding:clamp(1.3rem,3vw,2.4rem);background:linear-gradient(155deg,#111a1d,#07090a 62%);overflow:hidden}.preview-generated::before{content:"";position:absolute;width:55%;aspect-ratio:1;border:1px solid rgba(216,173,87,.16);border-radius:50%;right:-8%;top:-32%;box-shadow:0 0 0 35px rgba(216,173,87,.025),0 0 0 75px rgba(216,173,87,.018)}.preview-generated span{position:relative;color:var(--koaf-gold);font-size:.58rem;letter-spacing:.18em}.preview-generated strong{position:relative;max-width:75%;margin-top:.45rem;font-size:clamp(1.55rem,3vw,3.2rem);line-height:.95;font-weight:500}.preview-generated i{position:absolute;right:12%;bottom:18%;width:14px;height:14px;border-radius:50%;background:var(--koaf-gold);box-shadow:0 0 45px 12px rgba(216,173,87,.22)}.preview-media{z-index:2;object-fit:cover;background:#090c0d}.preview-live{z-index:3;border:0;background:white;opacity:1;transition:opacity .2s ease}.orbit-browser.is-media-preview .preview-live{opacity:0;pointer-events:none}.preview-empty{z-index:4;display:grid;place-content:center;text-align:center;padding:2rem;background:rgba(4,6,7,.82)}.preview-empty span{color:var(--koaf-gold);font-size:.65rem;text-transform:uppercase;letter-spacing:.15em}.preview-empty p{max-width:330px;color:var(--koaf-muted);font-size:.75rem}.preview-switch{display:flex;gap:.35rem;padding:.6rem;border-top:1px solid rgba(255,255,255,.1);background:#0e1416}.preview-switch button{padding:.55rem .8rem;border:1px solid rgba(255,255,255,.1);border-radius:999px;background:transparent;color:#899397;font:inherit;font-size:.62rem;cursor:pointer}.preview-switch button.is-active{border-color:rgba(216,173,87,.5);background:rgba(216,173,87,.1);color:var(--koaf-gold)}.preview-note{padding:.65rem 1rem;border-top:1px solid rgba(255,255,255,.08);color:#7e888a;font-size:.6rem}
.orbit-slide-copy{padding:0 .2rem}.orbit-meta{display:flex;justify-content:space-between;gap:1rem;align-items:center;color:var(--koaf-gold);font-size:.6rem;letter-spacing:.12em;text-transform:uppercase}.orbit-meta em{font-style:normal;color:#a8b0b1}.orbit-slide-copy h3{margin:.55rem 0 .75rem;font-size:clamp(2rem,4vw,4.4rem);line-height:.94;font-weight:500;letter-spacing:-.05em}.orbit-slide-copy>p{max-width:700px;margin:0;color:var(--koaf-muted);line-height:1.65}.orbit-slide-copy dl{display:flex;gap:1rem;margin:1rem 0 0;padding-top:.8rem;border-top:1px solid rgba(255,255,255,.08);font-size:.72rem}.orbit-slide-copy dt{color:#7d8789;text-transform:uppercase;letter-spacing:.08em}.orbit-slide-copy dd{margin:0}.orbit-actions{display:flex;align-items:center;flex-wrap:wrap;gap:1rem;margin-top:1.2rem}
.detail-preview{background:#090d0f}.detail-preview .section-heading{margin-bottom:1.5rem}.orbit-browser-detail{width:100%;min-height:600px}.orbit-browser-detail .orbit-browser-screen{min-height:560px;aspect-ratio:16/8.5}
.selected-service-context{width:var(--container);margin:0 auto 2rem;display:grid;grid-template-columns:auto 1fr auto;gap:1.4rem;align-items:center;padding:1.15rem 1.3rem;border:1px solid rgba(216,173,87,.3);border-radius:1rem;background:rgba(216,173,87,.045)}.selected-service-context>span{color:var(--koaf-gold);font-size:.6rem;letter-spacing:.13em;text-transform:uppercase}.selected-service-context strong{display:block;font-size:1rem}.selected-service-context p{margin:.2rem 0 0;color:var(--koaf-muted);font-size:.72rem}.selected-service-context>a{color:var(--koaf-gold);font-size:.68rem;text-transform:uppercase;letter-spacing:.08em}.field-help{display:block;margin-top:.45rem;color:#7a8487;font-size:.67rem}.field-help a{color:var(--admin-accent,#d8ad57);text-decoration:underline;text-underline-offset:2px}

@media(max-width:1100px){.orbit-layout{grid-template-columns:minmax(300px,.7fr) minmax(0,1.3fr);gap:2rem}.rolling-orbit{min-height:560px}.orbit-node{width:84px}.orbit-node strong{font-size:.55rem}.orbit-browser-detail{min-height:500px}.orbit-browser-detail .orbit-browser-screen{min-height:460px}}
@media(max-width:820px){.orbit-showcase-heading{align-items:flex-start;flex-direction:column}.orbit-scroll-shell{height:auto;min-height:0}.orbit-sticky{position:relative;top:auto;height:auto;min-height:0;overflow:visible;padding-bottom:3rem}.orbit-layout{grid-template-columns:1fr;width:100%;gap:1rem}.rolling-orbit{width:var(--container);min-height:360px;margin:auto}.halo-one{width:min(88vw,360px)}.halo-two{width:min(58vw,250px)}.orbit-ball{width:132px}.orbit-node-layer{display:none}.orbit-counter{left:4vw}.orbit-scroll-instruction{right:4vw}.orbit-scroll-instruction{font-size:0}.orbit-scroll-instruction::before{content:"Swipe / scroll through projects";font-size:.58rem}.orbit-slides{position:relative;min-height:0;display:grid;gap:1.25rem;width:var(--container);margin:auto}.orbit-slide{position:relative;inset:auto;opacity:1;visibility:visible;transform:none;pointer-events:auto;display:grid;grid-template-rows:auto auto;padding:1rem 0 1.8rem;border-bottom:1px solid rgba(255,255,255,.1)}.orbit-slide[aria-hidden="true"]{visibility:visible}.orbit-browser{min-height:0}.orbit-browser-screen{min-height:240px}.orbit-slide-copy h3{font-size:clamp(2rem,10vw,3.3rem)}.orbit-browser-detail{min-height:0}.orbit-browser-detail .orbit-browser-screen{min-height:320px}.selected-service-context{grid-template-columns:1fr;gap:.65rem}.selected-service-context>a{justify-self:start}}
@media(max-width:520px){.orbit-showcase-heading h2{font-size:2.65rem}.rolling-orbit{min-height:320px}.orbit-ball{width:112px}.orbit-browser-bar{grid-template-columns:auto minmax(0,1fr) auto}.orbit-browser-screen{min-height:210px}.preview-generated strong{max-width:92%;font-size:1.7rem}.orbit-meta{align-items:flex-start;flex-direction:column;gap:.35rem}.orbit-actions{align-items:flex-start;flex-direction:column}.orbit-browser-detail .orbit-browser-screen{min-height:250px}}
@media(prefers-reduced-motion:reduce){.orbit-scroll-shell{height:auto}.orbit-sticky{position:relative;top:auto;height:auto}.orbit-slide{transition:none}.orbit-ball,.orbit-node-layer{transform:none!important}.orbit-scroll-instruction{display:none}}
.preview-live:not([src]){opacity:0;pointer-events:none}
.orbit-showcase-section[data-sticky="1"]{position:relative;top:auto;z-index:auto}

/* =========================================================
   KOAF release 2026-08-20 — editorial + preview polish
   ========================================================= */
/* Long corporate pages should read like edited human documents, not oversized
   presentation slides. Headings are still distinctive but body copy remains
   comfortable on laptops and large desktop monitors. */
.editorial-body .prose,
.service-detail .prose,
.industry-detail .prose,
.product-detail .prose{
  max-width:760px;
  font-size:clamp(1rem,1.05vw,1.14rem);
  line-height:1.78;
  letter-spacing:0;
}
.editorial-body .prose h2,
.service-detail .prose h2,
.industry-detail .prose h2,
.product-detail .prose h2{
  margin:2.7rem 0 .85rem;
  font-size:clamp(1.7rem,2.45vw,2.65rem);
  line-height:1.08;
  letter-spacing:-.035em;
  font-weight:560;
  text-transform:none;
}
.editorial-body .prose h3,
.service-detail .prose h3,
.industry-detail .prose h3,
.product-detail .prose h3{
  margin:1.85rem 0 .65rem;
  font-size:clamp(1.2rem,1.55vw,1.55rem);
  line-height:1.25;
  letter-spacing:-.018em;
  font-weight:650;
  text-transform:none;
}
.editorial-body .prose p,
.service-detail .prose p,
.industry-detail .prose p,
.product-detail .prose p{margin:0 0 1.15rem}
.editorial-body .prose ul,
.service-detail .prose ul,
.industry-detail .prose ul,
.product-detail .prose ul{margin:.8rem 0 1.55rem 1.15rem;gap:.5rem}

/* Reliable live/screenshot browser preview. The generated artwork stays behind
   the iframe until the remote page reports a load event, avoiding a blank white
   box while a remote homepage is still loading or blocks framing. */
.preview-live{opacity:0;transition:opacity .28s ease}
.preview-live.is-ready{opacity:1}
.orbit-browser.is-media-preview .preview-live,
.orbit-browser.is-media-preview .preview-live.is-ready{opacity:0;pointer-events:none}
.preview-media{opacity:1}
.orbit-browser:not(.is-media-preview) .preview-media{opacity:0;pointer-events:none}
.preview-generated{z-index:1}
.preview-media{transition:opacity .24s ease}
.orbit-browser-screen{isolation:isolate}

/* More balanced orbit presentation on common 1366–1920 desktop screens. */
.orbit-showcase-heading{padding-top:clamp(3.2rem,6vw,6.5rem);padding-bottom:2rem}
.orbit-showcase-heading h2{font-size:clamp(2.4rem,4.7vw,5.1rem)}
.orbit-layout{grid-template-columns:minmax(340px,.72fr) minmax(0,1.28fr);gap:clamp(2rem,4vw,5rem)}
.orbit-browser{min-height:clamp(330px,38vw,560px)}
.orbit-browser-screen{min-height:clamp(286px,34vw,516px)}
.orbit-slide-copy h3{font-size:clamp(1.9rem,3.35vw,3.7rem)}
.orbit-slide-copy>p{font-size:clamp(.94rem,1.05vw,1.08rem)}

@media(max-width:820px){
  .editorial-body .prose,.service-detail .prose,.industry-detail .prose,.product-detail .prose{font-size:1rem;line-height:1.72}
  .editorial-body .prose h2,.service-detail .prose h2,.industry-detail .prose h2,.product-detail .prose h2{font-size:clamp(1.65rem,7.2vw,2.25rem)}
  .orbit-showcase-heading{padding-top:3rem}
  .orbit-browser{min-height:0}
  .orbit-browser-screen{min-height:240px}
}

/* =========================================================
   KOAF release 2026-08-20.3 — mobile portfolio experience
   ========================================================= */
.orbit-mobile-nav{display:none}
.orbit-showcase-section.has-many-items .orbit-node{width:clamp(42px,4.2vw,58px);padding:.35rem}
.orbit-showcase-section.has-many-items .orbit-node strong{display:none}
.orbit-showcase-section.has-many-items .orbit-node span{font-size:.52rem}
.orbit-showcase-section.has-many-items .orbit-node.is-active{scale:1.2}

@media(max-width:820px){
  /* Mobile intentionally does not emulate the heavy desktop 3D scroll scene.
     One project is shown at a time with screenshot/live preview and simple
     touch controls, so the section fits the viewport instead of becoming a
     long stack of dozens of iframes. */
  .orbit-showcase-section{overflow:hidden}
  .orbit-showcase-heading{padding:2.5rem 4.5vw 1.35rem}
  .orbit-showcase-heading>div{max-width:none}
  .orbit-showcase-heading h2{margin:.35rem 0 .7rem;font-size:clamp(2.15rem,10vw,3.35rem);line-height:.96}
  .orbit-showcase-heading>div>p:last-child{font-size:.94rem;line-height:1.6}
  .orbit-showcase-heading>.button{width:100%;justify-content:center}
  .orbit-scroll-shell{height:auto;min-height:0}
  .orbit-sticky{position:relative;top:auto;height:auto;min-height:0;padding:0 0 2.5rem;overflow:visible}
  .orbit-layout{width:100%;display:block;margin:0}
  .rolling-orbit{display:none!important}
  .orbit-mobile-nav{width:calc(100% - 9vw);margin:0 auto 1rem;display:grid;grid-template-columns:44px minmax(0,1fr) auto 44px;gap:.55rem;align-items:end;padding:.75rem;border:1px solid rgba(255,255,255,.1);border-radius:1rem;background:#0d1214}
  .orbit-mobile-nav>button{width:44px;height:44px;display:grid;place-items:center;border:1px solid rgba(216,173,87,.28);border-radius:.75rem;background:rgba(216,173,87,.06);color:var(--koaf-gold);font:inherit;font-size:1rem;cursor:pointer}
  .orbit-mobile-nav>button:disabled{opacity:.3;cursor:default}
  .orbit-mobile-nav label{min-width:0;display:grid;gap:.35rem}
  .orbit-mobile-nav label>span{color:#828c8e;font-size:.55rem;letter-spacing:.12em;text-transform:uppercase}
  .orbit-mobile-nav select{width:100%;min-width:0;height:44px;padding:0 2.1rem 0 .8rem;border:1px solid rgba(255,255,255,.12);border-radius:.75rem;background:#11181a;color:#fff;font:inherit;font-size:.72rem;white-space:nowrap;text-overflow:ellipsis}
  .orbit-mobile-count{align-self:center;white-space:nowrap;color:#7f898b;font-size:.63rem;letter-spacing:.08em}
  .orbit-mobile-count strong{color:var(--koaf-gold);font-size:.85rem}
  .orbit-slides{width:calc(100% - 9vw);min-height:0;margin:auto;display:block;position:relative}
  .orbit-slide,.orbit-slide[aria-hidden="true"]{display:none;position:relative;inset:auto;opacity:1;visibility:visible;transform:none;pointer-events:auto;grid-template-rows:auto auto;gap:0;padding:0;border:1px solid rgba(255,255,255,.1);border-radius:1.15rem;background:#0b1012;overflow:hidden;box-shadow:0 18px 42px rgba(0,0,0,.24)}
  .orbit-slide.is-active{display:grid}
  .orbit-browser{min-height:0;border:0;border-radius:0;box-shadow:none;background:#06090a}
  .orbit-browser-bar{height:38px;grid-template-columns:auto minmax(0,1fr) auto;gap:.65rem;padding:0 .75rem;font-size:.56rem}
  .browser-dots i{width:6px;height:6px}
  .orbit-browser-screen{width:100%;height:auto;min-height:0;aspect-ratio:16/10;background:#080b0d}
  .preview-generated strong{max-width:90%;font-size:clamp(1.45rem,7.8vw,2.15rem);line-height:1}
  .preview-generated{padding:1.1rem}
  .preview-media{object-position:top center}
  .preview-live{background:#fff}
  .preview-switch{padding:.55rem .65rem;overflow-x:auto}
  .preview-switch button{flex:1;min-width:max-content;text-align:center}
  .preview-note{font-size:.58rem;line-height:1.45}
  .orbit-slide-copy{padding:1.15rem 1.05rem 1.25rem}
  .orbit-meta{align-items:flex-start;flex-direction:column;gap:.3rem;font-size:.55rem;letter-spacing:.09em}
  .orbit-slide-copy h3{margin:.55rem 0 .65rem;font-size:clamp(1.72rem,8.5vw,2.55rem);line-height:1;letter-spacing:-.045em}
  .orbit-slide-copy>p{font-size:.93rem;line-height:1.62}
  .orbit-slide-copy dl{display:grid;grid-template-columns:1fr;gap:.35rem;font-size:.7rem}
  .orbit-actions{display:grid;grid-template-columns:1fr;gap:.65rem;margin-top:1rem}
  .orbit-actions .button,.orbit-actions .text-link{width:100%;justify-content:center;text-align:center}

  /* Individual project case-study mobile layout. */
  .case-study .interior-hero{min-height:auto;padding:calc(var(--header-height) + 2.25rem) 4.5vw 2.5rem;display:block}
  .case-study .interior-hero h1{margin:.9rem 0 1rem;font-size:clamp(2.55rem,12vw,4.4rem);line-height:.94}
  .case-study .interior-hero>div>p:last-child{font-size:1rem;line-height:1.6}
  .case-study .product-actions{display:grid;grid-template-columns:1fr;gap:.65rem}
  .case-study .product-actions .button{width:100%;justify-content:center}
  .detail-preview{padding-top:2.2rem;padding-bottom:2.2rem}
  .detail-preview .section-heading-inline{display:grid;grid-template-columns:1fr;gap:1rem;margin-bottom:1rem}
  .detail-preview .section-heading-inline>div{display:block}
  .detail-preview .section-heading-inline h2{margin:.35rem 0 .55rem;font-size:clamp(1.85rem,8vw,2.7rem);line-height:1}
  .detail-preview .section-heading-inline p{font-size:.92rem;line-height:1.6}
  .detail-preview .section-heading-inline>.button{width:100%;justify-content:center}
  .orbit-browser-detail{min-height:0;border-radius:1rem}
  .orbit-browser-detail .orbit-browser-screen{min-height:0;aspect-ratio:16/10}
  .case-grid{padding-top:2.2rem;padding-bottom:3rem;gap:2rem}
  .case-grid aside{padding:1rem;border:1px solid rgba(255,255,255,.1);border-radius:1rem;background:#0d1214}
  .case-grid .prose{font-size:1rem;line-height:1.72}
  .case-grid .prose h2{margin:2rem 0 .65rem;font-size:clamp(1.65rem,7.5vw,2.3rem);line-height:1.05}
  .project-technology strong{font-size:.8rem;line-height:1.35}
}

@media(max-width:480px){
  .orbit-mobile-nav{grid-template-columns:40px minmax(0,1fr) 40px;padding:.6rem}
  .orbit-mobile-nav>button{width:40px;height:40px}
  .orbit-mobile-count{display:none}
  .orbit-mobile-nav select{height:40px;font-size:.68rem}
  .orbit-browser-screen,.orbit-browser-detail .orbit-browser-screen{aspect-ratio:16/10}
  .orbit-slide-copy{padding:1rem .9rem 1.1rem}
}

/* =========================================================
   KOAF release 2026-08-20.4 — standard project archive,
   project-detail typography and universal preview fallback
   ========================================================= */

/* Project view navigation */
.project-view-switch{display:flex;flex-wrap:wrap;gap:.8rem;margin-top:1.6rem}
.projects-landing-hero{min-height:min(720px,82svh)}

/* A conventional portfolio directory sits alongside the immersive 3D orbit. */
.project-archive-hero{min-height:min(700px,82svh);padding:calc(var(--header-height) + clamp(4rem,8vw,8rem)) max(4vw,calc((100vw - 1440px)/2)) clamp(4rem,7vw,7rem);display:grid;grid-template-columns:minmax(0,1.35fr) .65fr;gap:6vw;align-items:end;background:radial-gradient(circle at 78% 18%,#202a2d 0,#0a0e10 48%,#080b0d 100%)}
.project-archive-hero>div{max-width:980px}.project-archive-hero h1{margin:1rem 0 1.2rem;max-width:1050px;font-size:clamp(3rem,6.6vw,7.6rem);line-height:.92;letter-spacing:-.055em;font-weight:500}.project-archive-hero>div>p:not(.eyebrow){max-width:760px;color:var(--koaf-muted);font-size:clamp(1rem,1.3vw,1.2rem);line-height:1.65}.project-archive-hero>span{align-self:center;justify-self:end;color:var(--koaf-gold);writing-mode:vertical-rl;font-size:.62rem;letter-spacing:.2em}

.project-directory-section{background:#0a0e10;border-top:1px solid var(--koaf-line)}
.project-directory-compact{background:#090d0f}
.project-directory-heading{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:3rem;align-items:end;margin-bottom:2rem}.project-directory-heading>div{max-width:900px}.project-directory-heading h2{margin:.45rem 0 .8rem;font-size:clamp(2.4rem,5vw,5.7rem);line-height:.96;font-weight:500;letter-spacing:-.05em}.project-directory-heading>div>p:last-child{max-width:720px;margin:0;color:var(--koaf-muted);line-height:1.65}
.project-directory-tools{display:grid;grid-template-columns:minmax(260px,1.2fr) minmax(190px,.55fr) auto;gap:1rem;align-items:end;margin-bottom:2rem;padding:1rem;border:1px solid rgba(255,255,255,.09);border-radius:1rem;background:#0d1214}.project-directory-tools label{display:grid;gap:.4rem}.project-directory-tools label>span{color:#7e888a;font-size:.58rem;text-transform:uppercase;letter-spacing:.13em}.project-directory-tools input,.project-directory-tools select{width:100%;height:46px;padding:0 .9rem;border:1px solid rgba(255,255,255,.12);border-radius:.75rem;background:#101719;color:#fff;font:inherit}.project-directory-tools p{margin:0;padding:.8rem .3rem;color:#7e888a;font-size:.72rem}.project-directory-tools p strong{color:var(--koaf-gold);font-size:1rem}
.project-directory-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}.project-directory-card{min-width:0;display:flex;flex-direction:column;border:1px solid rgba(255,255,255,.09);border-radius:1.1rem;overflow:hidden;background:#0d1214;transition:transform .25s ease,border-color .25s ease,box-shadow .25s ease}.project-directory-card:hover{transform:translateY(-4px);border-color:rgba(216,173,87,.36);box-shadow:0 22px 50px rgba(0,0,0,.24)}.project-directory-card[hidden]{display:none!important}
.project-card-visual{position:relative;display:block;aspect-ratio:16/10;overflow:hidden;background:#070a0b;border-bottom:1px solid rgba(255,255,255,.08)}.project-card-visual>img,.project-card-visual>video{width:100%;height:100%;display:block;object-fit:cover;object-position:top center;transition:transform .45s ease}.project-directory-card:hover .project-card-visual>img,.project-directory-card:hover .project-card-visual>video{transform:scale(1.025)}.project-card-index{position:absolute;z-index:6;left:.8rem;top:.8rem;min-width:32px;height:32px;padding:0 .45rem;display:grid;place-items:center;border:1px solid rgba(216,173,87,.45);border-radius:999px;background:rgba(7,10,11,.76);backdrop-filter:blur(8px);color:var(--koaf-gold);font-size:.56rem;letter-spacing:.1em}
.project-card-generated{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:flex-end;padding:1.35rem;background:radial-gradient(circle at 78% 18%,rgba(216,173,87,.12),transparent 26%),linear-gradient(145deg,#141d20,#080b0d 70%);overflow:hidden}.project-card-generated::before,.project-card-generated::after{content:"";position:absolute;border:1px solid rgba(216,173,87,.16);border-radius:50%}.project-card-generated::before{width:62%;aspect-ratio:1;right:-10%;top:-31%;box-shadow:0 0 0 30px rgba(216,173,87,.02),0 0 0 65px rgba(216,173,87,.012)}.project-card-generated::after{width:11px;height:11px;right:18%;bottom:20%;background:var(--koaf-gold);box-shadow:0 0 34px 9px rgba(216,173,87,.18)}.project-card-generated small,.project-card-generated strong,.project-card-generated em{position:relative;z-index:1}.project-card-generated small{color:var(--koaf-gold);font-size:.55rem;text-transform:uppercase;letter-spacing:.13em}.project-card-generated strong{max-width:90%;margin:.45rem 0 .65rem;color:#fff;font-size:clamp(1.35rem,2.4vw,2.25rem);line-height:.98;font-weight:500}.project-card-generated em{color:#718083;font-size:.58rem;font-style:normal;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.project-card-body{display:flex;flex:1;flex-direction:column;padding:1.15rem}.project-card-meta{display:flex;justify-content:space-between;gap:.8rem;align-items:flex-start;color:var(--koaf-gold);font-size:.55rem;text-transform:uppercase;letter-spacing:.09em}.project-card-meta em{color:#899294;font-style:normal;text-align:right}.project-card-body h3{margin:.75rem 0 .65rem;font-size:clamp(1.45rem,2.3vw,2.2rem);line-height:1;font-weight:500;letter-spacing:-.035em}.project-card-body h3 a{color:#fff}.project-card-body>p{margin:0;color:var(--koaf-muted);font-size:.88rem;line-height:1.6}.project-card-type{margin-top:1rem;padding-top:.8rem;border-top:1px solid rgba(255,255,255,.07);color:#9da5a6;font-size:.67rem}.project-card-capabilities{display:flex;flex-wrap:wrap;gap:.35rem;margin-top:.75rem}.project-card-capabilities span{padding:.35rem .52rem;border:1px solid rgba(255,255,255,.08);border-radius:999px;color:#849092;font-size:.55rem}.project-card-actions{display:flex;justify-content:space-between;gap:1rem;align-items:center;margin-top:auto;padding-top:1.15rem}.text-link-muted{color:#879194!important}.project-directory-empty{text-align:center;padding:5rem 1rem}.project-directory-empty>span{color:var(--koaf-gold);font-size:.62rem;text-transform:uppercase;letter-spacing:.15em}.project-directory-empty h3{font-size:2rem;font-weight:500}

/* Project detail pages now use an editorial case-study layout instead of the
   extra-large generic interior hero that previously collided visually with the preview. */
.project-detail-hero{padding:calc(var(--header-height) + clamp(3.5rem,7vw,7rem)) max(4vw,calc((100vw - 1440px)/2)) clamp(3rem,6vw,5.5rem);display:grid;grid-template-columns:minmax(0,1.28fr) minmax(280px,.52fr);gap:clamp(3rem,7vw,8rem);align-items:end;background:radial-gradient(circle at 83% 18%,#1b2427 0,#090d0f 42%,#080b0d 100%);border-bottom:1px solid var(--koaf-line)}
.project-detail-hero-copy{min-width:0;max-width:980px}.project-breadcrumb{display:flex;gap:.55rem;align-items:center;margin-bottom:2.2rem;color:#7e898b;font-size:.65rem;text-transform:uppercase;letter-spacing:.1em}.project-breadcrumb a:hover{color:var(--koaf-gold)}.project-detail-hero h1{margin:.8rem 0 1.15rem;max-width:1050px;font-size:clamp(3rem,6.2vw,7rem);line-height:.92;letter-spacing:-.055em;font-weight:500;overflow-wrap:anywhere}.project-hero-summary{max-width:800px;margin:0;color:#a3abad;font-size:clamp(1rem,1.35vw,1.22rem);line-height:1.68}.project-detail-actions{display:flex;align-items:center;flex-wrap:wrap;gap:.8rem 1rem;margin-top:1.6rem}
.project-hero-facts{padding:1.25rem 1.35rem;border:1px solid rgba(255,255,255,.1);border-radius:1rem;background:rgba(14,20,22,.72);backdrop-filter:blur(12px)}.project-hero-facts dl{margin:1rem 0 0}.project-hero-facts dl div{padding:.8rem 0;border-bottom:1px solid rgba(255,255,255,.08)}.project-hero-facts dl div:last-child{border-bottom:0}.project-hero-facts dt{color:#778285;font-size:.55rem;text-transform:uppercase;letter-spacing:.12em}.project-hero-facts dd{margin:.28rem 0 0;color:#fff;font-size:.84rem;line-height:1.45;overflow-wrap:anywhere}

.detail-preview{padding-top:clamp(3.5rem,6vw,6rem);padding-bottom:clamp(3.5rem,6vw,6rem);background:#090d0f}.project-preview-heading{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:3rem;align-items:end;margin-bottom:1.5rem}.project-preview-heading>div{max-width:850px}.project-preview-heading h2{margin:.4rem 0 .65rem;font-size:clamp(2.25rem,4.3vw,4.8rem);line-height:.98;letter-spacing:-.045em;font-weight:500}.project-preview-heading p:not(.eyebrow){max-width:720px;margin:0;color:var(--koaf-muted);line-height:1.65}.orbit-browser-detail{min-height:0}.orbit-browser-detail .orbit-browser-screen{min-height:0;aspect-ratio:16/8.7}
.preview-generated em{position:relative;margin-top:.7rem;color:#748084;font-size:.6rem;font-style:normal;letter-spacing:.03em;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.preview-generated{z-index:1}.preview-media{z-index:2;opacity:0;pointer-events:none}.preview-live{z-index:3;opacity:0;pointer-events:none}.orbit-browser.is-media-preview .preview-media{opacity:1;pointer-events:auto}.orbit-browser.is-live-preview .preview-live.is-ready{opacity:1;pointer-events:auto}.orbit-browser:not(.is-live-preview) .preview-live,.orbit-browser.is-generated-preview .preview-live{opacity:0!important;pointer-events:none!important}.orbit-browser:not(.is-media-preview) .preview-media,.orbit-browser.is-generated-preview .preview-media{opacity:0!important;pointer-events:none!important}.orbit-browser.is-generated-preview .preview-generated{opacity:1}.preview-switch{flex-wrap:wrap}.preview-switch button{flex:0 0 auto}.preview-note{line-height:1.5}

.project-story{display:grid;grid-template-columns:minmax(280px,.46fr) minmax(0,1fr);gap:clamp(3rem,8vw,9rem);background:#0b0f11}.project-story-intro{position:sticky;top:calc(var(--header-height) + 2rem);align-self:start}.project-story-intro h2{margin:.65rem 0 1rem;font-size:clamp(2.3rem,4.4vw,5rem);line-height:.97;letter-spacing:-.045em;font-weight:500}.project-story-intro>p:not(.eyebrow){color:var(--koaf-muted);font-size:1rem;line-height:1.72}.project-capability-cloud{display:flex;flex-wrap:wrap;gap:.45rem;margin-top:1.35rem}.project-capability-cloud span{padding:.48rem .65rem;border:1px solid rgba(216,173,87,.18);border-radius:999px;background:rgba(216,173,87,.035);color:#b2b8b9;font-size:.62rem}
.project-story-sections{border-top:1px solid rgba(255,255,255,.1)}.project-story-block{display:grid;grid-template-columns:56px minmax(0,1fr);gap:1.4rem;padding:clamp(2rem,4vw,4rem) 0;border-bottom:1px solid rgba(255,255,255,.1)}.project-story-block>span{color:var(--koaf-gold);font-size:.64rem;letter-spacing:.12em}.project-story-block h3{margin:.35rem 0 1rem;font-size:clamp(2rem,3.4vw,3.8rem);line-height:1;letter-spacing:-.04em;font-weight:500}.project-story-block .prose,.project-story-block>div>p:not(.eyebrow){max-width:850px;color:#b0b6b7;font-size:clamp(.98rem,1.08vw,1.08rem);line-height:1.8}.project-story-block .prose p{margin:0 0 1.15rem}.project-story-block .prose h2,.project-story-block .prose h3{font-size:1.25rem;line-height:1.25;letter-spacing:-.01em;margin:1.5rem 0 .6rem}.project-story-block .prose ul{margin:.7rem 0 1.2rem 1.15rem}.project-story-block .prose li{margin:.35rem 0}
.project-evidence{display:grid;grid-template-columns:.6fr 1fr;gap:6vw;background:var(--koaf-paper-warm);color:var(--koaf-ink)}.project-evidence h2{font-size:clamp(2.3rem,4vw,4.5rem);font-weight:500;line-height:1}.project-evidence>div:first-child>p:last-child{max-width:520px}.project-evidence-grid{display:grid;grid-template-columns:repeat(2,1fr);border-top:1px solid var(--koaf-line-dark);border-left:1px solid var(--koaf-line-dark)}.project-evidence-grid>div{min-height:150px;padding:1.2rem;border-right:1px solid var(--koaf-line-dark);border-bottom:1px solid var(--koaf-line-dark)}.project-evidence-grid span{display:block;color:#626968;font-size:.62rem;text-transform:uppercase;letter-spacing:.11em}.project-evidence-grid strong{display:block;margin-top:2rem;font-size:clamp(1.7rem,3vw,3rem);font-weight:500}

/* Project landing directory doesn't need to display every card twice; show a
   useful first set then link to the full archive. */
.project-directory-compact .project-directory-grid .project-directory-card:nth-child(n+7){display:none}

@media(max-width:1100px){
  .project-directory-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .project-detail-hero{grid-template-columns:minmax(0,1.2fr) minmax(260px,.6fr);gap:3rem}
  .project-story{grid-template-columns:.42fr 1fr;gap:4rem}
}

@media(max-width:820px){
  .projects-landing-hero{min-height:auto;padding-top:calc(var(--header-height) + 3.25rem);padding-bottom:3rem}
  .project-view-switch{display:grid;grid-template-columns:1fr}.project-view-switch .button{width:100%;justify-content:center}
  .project-archive-hero{min-height:auto;display:block;padding:calc(var(--header-height) + 3rem) 4.5vw 3.25rem}.project-archive-hero>span{display:none}.project-archive-hero h1{font-size:clamp(2.75rem,12vw,4.8rem)}
  .project-directory-heading{grid-template-columns:1fr;gap:1.2rem}.project-directory-heading>.button{width:100%;justify-content:center}.project-directory-heading h2{font-size:clamp(2.3rem,10vw,3.8rem)}
  .project-directory-tools{grid-template-columns:1fr}.project-directory-tools p{padding:.2rem 0}
  .project-directory-grid{grid-template-columns:1fr;gap:.85rem}.project-card-visual{aspect-ratio:16/9}.project-card-body{padding:1rem}.project-card-body h3{font-size:clamp(1.65rem,7vw,2.15rem)}.project-card-actions{flex-wrap:wrap;justify-content:flex-start}.project-card-actions .text-link{font-size:.67rem}
  .project-detail-hero{display:block;padding:calc(var(--header-height) + 2.8rem) 4.5vw 2.8rem}.project-breadcrumb{margin-bottom:1.45rem}.project-detail-hero h1{font-size:clamp(2.65rem,12vw,4.8rem);line-height:.94}.project-hero-summary{font-size:1rem;line-height:1.65}.project-detail-actions{display:grid;grid-template-columns:1fr}.project-detail-actions .button,.project-detail-actions .text-link{width:100%;justify-content:center;text-align:center}.project-hero-facts{margin-top:1.8rem}
  .project-preview-heading{grid-template-columns:1fr;gap:1rem}.project-preview-heading>.button{width:100%;justify-content:center}.project-preview-heading h2{font-size:clamp(2rem,8.5vw,3rem)}.orbit-browser-detail .orbit-browser-screen{aspect-ratio:16/10}
  .project-story{grid-template-columns:1fr;gap:2.5rem}.project-story-intro{position:static}.project-story-intro h2{font-size:clamp(2.25rem,9.5vw,3.4rem)}.project-story-block{grid-template-columns:36px minmax(0,1fr);gap:.8rem;padding:2rem 0}.project-story-block h3{font-size:clamp(1.8rem,7.8vw,2.5rem)}.project-story-block .prose{font-size:1rem;line-height:1.72}
  .project-evidence{grid-template-columns:1fr}.project-evidence-grid{grid-template-columns:1fr}
  .project-directory-compact .project-directory-grid .project-directory-card:nth-child(n+5){display:none}
}

@media(max-width:520px){
  .project-directory-section{padding-inline:4.5vw}.project-directory-tools{padding:.75rem}.project-card-generated{padding:1rem}.project-card-generated strong{font-size:1.55rem}.project-card-capabilities span:nth-child(n+4){display:none}
  .project-detail-hero{padding-inline:4.5vw}.project-detail-hero h1{font-size:clamp(2.45rem,11.5vw,3.7rem)}.project-hero-facts{padding:1rem}.project-preview-heading h2{font-size:2rem}.preview-switch{display:grid;grid-template-columns:1fr}.preview-switch button{width:100%}.project-story-block{grid-template-columns:1fr}.project-story-block>span{margin-bottom:.2rem}
}

/* =========================================================
   KOAF release 2026-08-21 — layout integrity + universal search
   ========================================================= */
/* The homepage industry explorer is the only place where the industry intro
   should behave as a sticky rail. Detail pages use a normal document flow so
   long sector copy can never sit on top of the capability directory. */
.industry-section > .industry-intro{align-self:start;position:sticky;top:calc(var(--header-height) + 3rem)}
.industry-detail .industry-intro{position:static;top:auto}
.industry-detail-intro{display:grid;grid-template-columns:minmax(280px,.72fr) minmax(0,1.28fr);gap:clamp(3rem,7vw,8rem);align-items:start;padding-bottom:clamp(4rem,8vw,8rem);border-bottom:1px solid var(--koaf-line)}
.industry-detail-heading{min-width:0;max-width:640px}
.industry-detail-heading h2{margin:.8rem 0 1rem;font-size:clamp(2.5rem,4.6vw,5.4rem);line-height:.98;letter-spacing:-.05em;font-weight:500;text-wrap:balance}
.industry-detail-heading>p:not(.eyebrow){max-width:560px;margin:0;color:var(--koaf-muted);font-size:clamp(.95rem,1.15vw,1.08rem);line-height:1.7}
.industry-detail-copy{min-width:0;max-width:820px}
.industry-capability-heading{display:grid;grid-template-columns:minmax(0,1fr) minmax(260px,.52fr);gap:clamp(2rem,6vw,7rem);align-items:end;padding:clamp(4rem,8vw,7rem) 0 2rem}
.industry-capability-heading h2{max-width:920px;margin:.45rem 0 0;font-size:clamp(2.3rem,4.2vw,4.7rem);line-height:.98;letter-spacing:-.045em;font-weight:500;text-wrap:balance}
.industry-capability-heading>p{max-width:480px;margin:0;color:var(--koaf-muted);line-height:1.7}
.industry-service-stack{width:100%}
.industry-detail .directory-row{grid-template-columns:3rem minmax(210px,.66fr) minmax(0,1fr) 3rem;gap:clamp(1rem,2.5vw,2.5rem);min-height:112px}
.industry-detail .directory-row strong{font-size:clamp(1.45rem,2.25vw,2.45rem);text-wrap:balance}
.industry-detail .directory-row p{max-width:680px;line-height:1.62}

/* Defensive grid rules: long database-driven words, URLs or headings should
   wrap inside their own column rather than paint over neighbouring content. */
.section>*,.section-heading>*,.editorial-body>*,.service-body>*,.product-detail>*,.case-grid>*,.industry-detail-intro>*,.industry-capability-heading>*,.directory-row>*{min-width:0}
.prose,.directory-row p,.project-hero-summary,.orbit-slide-copy>p,.product-detail,.industry-detail{overflow-wrap:break-word;word-break:normal}
.prose h2,.prose h3,.project-detail-hero h1,.ecosystem-detail-hero h1,.interior-hero h1{overflow-wrap:break-word;text-wrap:balance}

/* Brand images should never stretch the header or expose their fallback alt
   text as a layout-sized element. */
.brand img{display:block;width:auto;max-width:min(220px,42vw);height:auto;max-height:52px;object-fit:contain;object-position:left center}

/* Comprehensive public search. */
.search-hero>div{max-width:1050px}
.search-hero>div>p:not(.eyebrow){max-width:760px}
.search-results{min-height:520px}
.search-guidance,.search-results-heading{display:grid;grid-template-columns:minmax(0,1fr) minmax(260px,.55fr);gap:clamp(2rem,6vw,7rem);align-items:end;margin-bottom:2rem}
.search-guidance h2,.search-results-heading h2{margin:.5rem 0 0;font-size:clamp(2.2rem,4vw,4.6rem);line-height:.98;letter-spacing:-.045em;font-weight:500}
.search-guidance>p:last-child,.search-results-heading>p{max-width:500px;margin:0;color:var(--koaf-muted);line-height:1.7}
.search-result-list{border-top:1px solid var(--koaf-line)}
.search-result-list>a{display:grid;grid-template-columns:140px minmax(220px,.75fr) minmax(0,1fr) 3rem;gap:clamp(1rem,3vw,3rem);align-items:center;padding:1.5rem 0;border-bottom:1px solid var(--koaf-line);transition:background .18s ease,padding .18s ease}
.search-result-list>a:hover{padding-inline:1rem;background:rgba(216,173,87,.045)}
.search-result-list span{color:var(--koaf-gold);font-size:.62rem;text-transform:uppercase;letter-spacing:.12em}
.search-result-list h2{margin:0;font-size:clamp(1.35rem,2.2vw,2.35rem);line-height:1.08;font-weight:520}
.search-result-list p{margin:0;color:var(--koaf-muted);line-height:1.6;overflow-wrap:anywhere}
.search-result-list i{width:2.7rem;height:2.7rem;display:grid;place-items:center;border:1px solid var(--koaf-line);border-radius:50%;color:var(--koaf-gold);font-style:normal}

@media(max-width:900px){
  .industry-detail-intro,.industry-capability-heading,.search-guidance,.search-results-heading{grid-template-columns:1fr;gap:1.5rem}
  .industry-detail .directory-row{grid-template-columns:2.2rem minmax(0,1fr) 2.7rem;gap:1rem;padding:1.35rem 0}
  .industry-detail .directory-row p{grid-column:2 / -1}
  .industry-detail .directory-row i{grid-column:3;grid-row:1}
  .search-result-list>a{grid-template-columns:100px minmax(0,1fr) 2.7rem;gap:1rem}
  .search-result-list>a p{grid-column:2 / -1}
  .search-result-list>a i{grid-column:3;grid-row:1 / span 2}
}
@media(max-width:600px){
  .industry-detail-intro{padding-bottom:3rem}
  .industry-capability-heading{padding-top:3rem}
  .industry-detail-heading h2{font-size:clamp(2.2rem,10vw,3.2rem)}
  .industry-capability-heading h2{font-size:clamp(2rem,9vw,3rem)}
  .industry-detail .directory-row{grid-template-columns:1.8rem minmax(0,1fr) 2.5rem}
  .industry-detail .directory-row strong{font-size:1.35rem}
  .industry-detail .directory-row p{font-size:.88rem}
  .search-result-list>a{grid-template-columns:1fr 2.5rem;padding:1.25rem 0}
  .search-result-list span{grid-column:1;font-size:.56rem}
  .search-result-list h2{grid-column:1;font-size:1.45rem}
  .search-result-list p{grid-column:1 / -1;font-size:.9rem}
  .search-result-list i{grid-column:2;grid-row:1 / span 2}
  .brand img{max-width:min(190px,54vw);max-height:44px}
}


/* =========================================================
   KOAF release 2026-08-21.2 — preview mode + orbit fit
   ========================================================= */
/* The preview and the project copy must occupy separate grid rows. The older
   minmax row could become shorter than the iframe itself on common laptop
   heights, allowing the project title to paint underneath the browser frame. */
@media(min-width:821px){
  .orbit-sticky{min-height:0}
  .orbit-layout{align-items:center}
  .orbit-slides{height:min(calc(100vh - var(--header-height) - 3rem),820px);min-height:620px;max-height:820px}
  .orbit-slide{grid-template-rows:auto auto;align-content:center;gap:clamp(1.15rem,2.1vh,1.7rem);min-height:0}
  .orbit-browser{min-height:0;align-self:end}
  .orbit-browser-screen{height:clamp(270px,41vh,470px);min-height:0;aspect-ratio:auto}
  .orbit-slide-copy{position:relative;z-index:6;align-self:start;padding:.15rem .25rem 0}
  .orbit-slide-copy h3{margin:.45rem 0 .65rem;font-size:clamp(1.9rem,3vw,3.25rem);line-height:.98}
  .orbit-slide-copy>p{font-size:clamp(.9rem,1vw,1.02rem);line-height:1.58}
  .orbit-actions{margin-top:1rem}
  .preview-switch{position:relative;z-index:7}
  .preview-note{position:relative;z-index:7}
}

/* Shorter laptop displays get a deliberately more compact preview so the
   browser frame, title, description and action buttons all remain inside the
   sticky scene at the same time. */
@media(min-width:821px) and (max-height:850px){
  .orbit-slides{height:calc(100vh - var(--header-height) - 2rem);min-height:540px}
  .rolling-orbit{min-height:min(62vh,560px)}
  .orbit-browser-screen{height:clamp(235px,34vh,330px)}
  .orbit-browser-bar{height:38px}
  .preview-switch{padding:.42rem .55rem}
  .preview-switch button{padding:.42rem .62rem;font-size:.56rem}
  .preview-note{padding:.45rem .75rem;font-size:.55rem}
  .orbit-slide-copy h3{font-size:clamp(1.65rem,2.6vw,2.65rem)}
  .orbit-slide-copy>p{line-height:1.5}
  .orbit-actions{margin-top:.75rem}
}

/* Screenshot/video previews represent a homepage, so preserve the top of the
   uploaded capture instead of cropping around its centre. */
.preview-media{object-fit:cover;object-position:top center}

/* On full project/platform pages the visual preview is intentionally separate
   from the editorial text and cannot overlap it. */
.orbit-browser-detail{display:block;overflow:hidden}
.orbit-browser-detail + *{position:relative;z-index:1}

/* =========================================================
   KOAF Blue Signature theme — matched to official KOAF logo
   ========================================================= */
html[data-site-theme="koaf-blue"]{background:#001538;color-scheme:dark}
html[data-site-theme="koaf-blue"] body{background:#001538;color:#fff}
html[data-site-theme="koaf-blue"] .site-progress span{background:linear-gradient(90deg,#31a0ff,#0b79f7);box-shadow:0 0 16px rgba(11,121,247,.7)}
html[data-site-theme="koaf-blue"] .site-header.is-scrolled,
html[data-site-theme="koaf-blue"] .site-header.is-open{background:rgba(0,21,56,.95);border-color:rgba(130,190,255,.2)}
html[data-site-theme="koaf-blue"] .brand img{background:#fff;border-radius:.3rem;padding:.15rem;max-height:52px}
html[data-site-theme="koaf-blue"] .brand-copy-with-logo strong{color:#fff}
html[data-site-theme="koaf-blue"] .brand-copy-with-logo small{color:#68b9ff}
html[data-site-theme="koaf-blue"] .mega-menu,
html[data-site-theme="koaf-blue"] .mobile-menu,
html[data-site-theme="koaf-blue"] .search-drawer{background:#031b3b}
html[data-site-theme="koaf-blue"] .button-gold{background:linear-gradient(135deg,#0b79f7,#0862d4);color:#fff;box-shadow:0 12px 34px rgba(2,83,180,.2)}
html[data-site-theme="koaf-blue"] .button-gold:hover{background:linear-gradient(135deg,#31a0ff,#0b79f7);color:#fff}
html[data-site-theme="koaf-blue"] .button-ghost{border-color:rgba(130,190,255,.27)}
html[data-site-theme="koaf-blue"] .hq-hero,
html[data-site-theme="koaf-blue"] .interior-hero,
html[data-site-theme="koaf-blue"] .service-hero,
html[data-site-theme="koaf-blue"] .form-hero,
html[data-site-theme="koaf-blue"] .ecosystem-detail-hero{background:radial-gradient(circle at 78% 24%,#0a4f9b 0,#052f66 24%,#001c4d 58%,#001538 100%)}
html[data-site-theme="koaf-blue"] .hero-core{border-color:rgba(104,185,255,.34);background:radial-gradient(circle at 42% 38%,rgba(104,185,255,.32),rgba(11,121,247,.09) 31%,transparent 64%)}
html[data-site-theme="koaf-blue"] .hero-core::after{background:radial-gradient(circle at 35% 32%,#d8efff,#168dff 26%,#052552 70%)}
html[data-site-theme="koaf-blue"] .ecosystem-section,
html[data-site-theme="koaf-blue"] .media-wall-section,
html[data-site-theme="koaf-blue"] .detail-preview,
html[data-site-theme="koaf-blue"] .orbit-showcase-section{background:#00183e}
html[data-site-theme="koaf-blue"] .ecosystem-map{background:radial-gradient(circle,rgba(11,121,247,.14),transparent 55%)}
html[data-site-theme="koaf-blue"] .ecosystem-centre,
html[data-site-theme="koaf-blue"] .ecosystem-node{background:#062451;border-color:rgba(130,190,255,.25)}
html[data-site-theme="koaf-blue"] .ecosystem-node:hover,
html[data-site-theme="koaf-blue"] .ecosystem-node.is-active{background:#0b3268;border-color:#68b9ff}
html[data-site-theme="koaf-blue"] .finder-section{background:linear-gradient(135deg,#062c5e,#00183e)}
html[data-site-theme="koaf-blue"] .project-item{background:linear-gradient(145deg,#062451,#00183e)}
html[data-site-theme="koaf-blue"] .project-item:hover{background:#0b3268}
html[data-site-theme="koaf-blue"] .command-shell,
html[data-site-theme="koaf-blue"] .capability-section{background:#031d42}
html[data-site-theme="koaf-blue"] .operations-section{background:#e8f2ff;color:#001c4d}
html[data-site-theme="koaf-blue"] .industry-console{background:#f5f9ff}
html[data-site-theme="koaf-blue"] .operations-map{background:radial-gradient(circle,rgba(11,121,247,.18),transparent 55%)}
html[data-site-theme="koaf-blue"] .map-marker{background:#0b79f7}
html[data-site-theme="koaf-blue"] .final-cta{background:linear-gradient(135deg,#0877ef,#0052b4);color:#fff}
html[data-site-theme="koaf-blue"] .final-cta .button-ghost{color:#fff;border-color:rgba(255,255,255,.32)}
html[data-site-theme="koaf-blue"] .magnetic-cta:hover{background:#001c4d}
html[data-site-theme="koaf-blue"] .business-form input,
html[data-site-theme="koaf-blue"] .business-form select,
html[data-site-theme="koaf-blue"] .business-form textarea{background:#062451;border-color:rgba(130,190,255,.23)}
html[data-site-theme="koaf-blue"] .site-notice,
html[data-site-theme="koaf-blue"] .cookie-notice{background:#052451}
html[data-site-theme="koaf-blue"] .site-footer{background:#00112f}
html[data-site-theme="koaf-blue"] .media-wall-item{background:#052451}
html[data-site-theme="koaf-blue"] .media-wall-frame{background:#00112f}
html[data-site-theme="koaf-blue"] .orbit-ball{background:radial-gradient(circle at 28% 22%,#d9f0ff 0 4%,#1e94ff 9%,#0b4d91 31%,#032555 62%,#00112f 100%)}
html[data-site-theme="koaf-blue"] .orbit-node{background:rgba(3,31,70,.9);border-color:rgba(130,190,255,.2)}
html[data-site-theme="koaf-blue"] .orbit-node:hover,
html[data-site-theme="koaf-blue"] .orbit-node.is-active{background:#0b3268;border-color:#68b9ff}
html[data-site-theme="koaf-blue"] .orbit-browser{background:#00112f;border-color:rgba(130,190,255,.24);box-shadow:0 22px 70px rgba(0,10,32,.5),0 0 0 1px rgba(11,121,247,.08)}
html[data-site-theme="koaf-blue"] .orbit-browser-bar{background:#052451;border-color:rgba(130,190,255,.18)}
html[data-site-theme="koaf-blue"] .orbit-browser-screen{background:radial-gradient(circle at 75% 20%,rgba(11,121,247,.18),transparent 30%),#00183e}
html[data-site-theme="koaf-blue"] .preview-generated{background:linear-gradient(155deg,#07366f,#001538 67%)}
html[data-site-theme="koaf-blue"] .preview-switch{background:#042049;border-color:rgba(130,190,255,.18)}
html[data-site-theme="koaf-blue"] .preview-switch button{border-color:rgba(130,190,255,.18)}
html[data-site-theme="koaf-blue"] .preview-switch button.is-active{border-color:rgba(104,185,255,.7);background:rgba(11,121,247,.18)}
html[data-site-theme="koaf-blue"] .orbit-mobile-nav,
html[data-site-theme="koaf-blue"] .orbit-slide{background:#042049;border-color:rgba(130,190,255,.18)}
html[data-site-theme="koaf-blue"] .orbit-mobile-nav select{background:#062451;border-color:rgba(130,190,255,.2)}
html[data-site-theme="koaf-blue"] .selected-service-context{border-color:rgba(11,121,247,.38);background:rgba(11,121,247,.08)}
html[data-site-theme="koaf-blue"] .document-room-notice{border-color:rgba(11,121,247,.38);background:rgba(11,121,247,.08)}
html[data-site-theme="koaf-blue"] .gateway-grid a:hover{background:rgba(11,121,247,.1)}

/* Square official-logo support on every theme. */
.brand-copy-with-logo{margin-left:.1rem}
@media(max-width:640px){.brand-copy-with-logo{display:none}.brand img{max-width:52px}}
.brand-with-name img{width:52px;height:52px;max-width:52px;max-height:52px;flex:0 0 52px;object-fit:contain}

/* Project-driven KOAF Ecosystem -------------------------------------------------
   Ecosystem entries now reuse the exact Project & Case Study record. These rules
   keep long real project titles readable and prevent preview/copy collisions. */
.ecosystem-project-hero h1{max-width:1050px;font-size:clamp(2.8rem,6.2vw,7rem);line-height:.94;text-wrap:balance;overflow-wrap:break-word}
.ecosystem-project-hero>div>p{max-width:800px;line-height:1.7}
.ecosystem-project-hero .product-actions{margin-top:1.6rem}
.ecosystem-project-story{display:grid;grid-template-columns:minmax(260px,.42fr) minmax(0,1fr);gap:clamp(3rem,8vw,8rem);background:#0b0f11}
.ecosystem-project-intro{align-self:start;position:sticky;top:calc(var(--header-height) + 2rem)}
.ecosystem-project-intro h2{margin:.55rem 0 1rem;font-size:clamp(2.2rem,4vw,4.5rem);line-height:.98;letter-spacing:-.045em;font-weight:500;text-wrap:balance}
.ecosystem-project-intro>p:not(.eyebrow){color:var(--koaf-muted);font-size:clamp(.98rem,1.05vw,1.08rem);line-height:1.75}
.ecosystem-project-sections{border-top:1px solid var(--koaf-line)}
.ecosystem-project-sections>section{display:grid;grid-template-columns:48px minmax(0,1fr);gap:1.3rem;padding:clamp(2rem,4vw,3.5rem) 0;border-bottom:1px solid var(--koaf-line)}
.ecosystem-project-sections>section>span{color:var(--koaf-gold);font-size:.65rem;letter-spacing:.12em}
.ecosystem-project-sections h3{margin:.35rem 0 1rem;font-size:clamp(1.8rem,3vw,3.2rem);line-height:1;letter-spacing:-.035em;font-weight:500;text-wrap:balance}
.ecosystem-project-sections .prose{max-width:860px;font-size:clamp(.96rem,1.05vw,1.06rem);line-height:1.78}
.home-orbit-ecosystem .orbit-slide-copy h3,.collection-orbit .orbit-slide-copy h3{max-width:900px;font-size:clamp(1.85rem,3vw,3.25rem);line-height:.98;text-wrap:balance;overflow-wrap:break-word}
.home-orbit-ecosystem .orbit-slide-copy>p,.collection-orbit .orbit-slide-copy>p{max-width:820px;font-size:clamp(.92rem,1vw,1.04rem);line-height:1.62}
.home-orbit-ecosystem .orbit-meta,.collection-orbit .orbit-meta{flex-wrap:wrap;line-height:1.5}
.preview-note{max-width:none;overflow-wrap:break-word}

@media(max-width:900px){
  .ecosystem-project-story{grid-template-columns:1fr;gap:2rem}
  .ecosystem-project-intro{position:relative;top:auto}
  .ecosystem-project-hero h1{font-size:clamp(2.5rem,10vw,4.8rem)}
}
@media(max-width:620px){
  .ecosystem-project-sections>section{grid-template-columns:32px minmax(0,1fr);gap:.85rem}
  .ecosystem-project-sections h3{font-size:clamp(1.65rem,7.8vw,2.35rem)}
  .home-orbit-ecosystem .orbit-slide-copy h3,.collection-orbit .orbit-slide-copy h3{font-size:clamp(1.7rem,8vw,2.4rem)}
}

/* =========================================================
   KOAF release 2026-08-22 — whole-site text integrity
   =========================================================
   IMPORTANT: the numbered capability list is a direct child of .service-body.
   Never apply that grid styling to list items rendered inside .prose. */
.service-detail .service-body{grid-template-columns:minmax(0,1.08fr) minmax(300px,.72fr);gap:clamp(2.5rem,7vw,7rem);align-items:start}
.service-detail .service-body>div{min-width:0}
.service-detail .service-body>div>h2{max-width:820px;margin:.8rem 0 1.4rem;font-size:clamp(2.35rem,4.2vw,4.75rem);line-height:1;letter-spacing:-.045em;text-wrap:balance}
.service-detail .service-body>.prose,.service-detail .service-body>div>.prose{max-width:820px}
.service-body>ol>li>strong{display:block;min-width:0;max-width:100%;font-weight:600;line-height:1.45;overflow-wrap:break-word;word-break:normal;hyphens:none}

/* Restore ordinary editorial lists inside service copy. These rules deliberately
   outrank the old descendant selectors so prose never becomes a 3rem grid. */
.service-detail .service-body .prose ul,
.service-detail .service-body .prose ol{display:block;margin:.85rem 0 1.6rem 1.25rem;padding-left:.7rem;border:0;list-style-position:outside}
.service-detail .service-body .prose ul{list-style:disc}
.service-detail .service-body .prose ol{list-style:decimal}
.service-detail .service-body .prose li{
  display:list-item;
  grid-template-columns:none;
  min-width:0;
  margin:.45rem 0;
  padding:0 0 0 .15rem;
  border:0;
  color:inherit;
  line-height:1.72;
  overflow-wrap:break-word;
  word-break:normal;
  hyphens:none;
}
.service-detail .service-body .prose li::marker{color:var(--accent,var(--koaf-gold))}

/* Text should wrap by words, not by arbitrary letters. This protects database-
   driven copy throughout services, industries, ecosystem and case studies. */
.site-main :where(h1,h2,h3,h4,h5,h6,p,li,dt,dd,strong,blockquote){
  min-width:0;
  overflow-wrap:break-word;
  word-break:normal;
  hyphens:none;
}
.site-main :where(h1,h2,h3){text-wrap:balance}
.site-main :where(p,li,blockquote){text-wrap:pretty}

@media(max-width:1050px){
  .service-detail .service-body{grid-template-columns:minmax(0,1fr) minmax(270px,.62fr);gap:2.75rem}
  .service-detail .service-body>div>h2{font-size:clamp(2.2rem,4.8vw,3.8rem)}
}
@media(max-width:820px){
  .service-detail .service-body{grid-template-columns:1fr;gap:2.5rem}
  .service-detail .service-body>ol{width:100%}
  .service-detail .service-body>div>h2{font-size:clamp(2rem,8vw,3rem)}
}
@media(max-width:520px){
  .service-detail .service-body>div>h2{font-size:clamp(1.9rem,9vw,2.6rem)}
  .service-body>ol>li{grid-template-columns:2rem minmax(0,1fr);gap:.5rem;padding:1rem 0}
  .service-detail .service-body .prose ul,
  .service-detail .service-body .prose ol{margin-left:1rem;padding-left:.55rem}
}


/* =========================================================
   KOAF orbit core logo update — 2026-08-23
   ========================================================= */
.orbit-ball-brand{overflow:visible;isolation:isolate}
.orbit-core-emblem{position:relative;z-index:4;display:grid;place-items:center;width:70%;aspect-ratio:1;padding:clamp(.75rem,1.4vw,1rem);border-radius:50%;background:radial-gradient(circle at 30% 28%,rgba(255,255,255,.28),rgba(255,255,255,.07) 28%,rgba(9,18,36,.88) 100%);border:1px solid rgba(255,255,255,.18);box-shadow:0 0 0 6px rgba(255,255,255,.04),0 18px 34px rgba(0,0,0,.28),inset 0 1px 16px rgba(255,255,255,.08);transform:translateZ(40px)}
.orbit-core-emblem::before{content:"";position:absolute;inset:8%;border-radius:50%;border:1px solid rgba(255,255,255,.08)}
.orbit-core-emblem img{position:relative;z-index:1;display:block;width:100%;height:auto;max-height:92px;object-fit:contain;filter:drop-shadow(0 6px 14px rgba(0,0,0,.45))}
.orbit-core-fallback{position:relative;z-index:1;display:grid;place-items:center;text-align:center;color:#fff;font-size:clamp(.58rem,.92vw,.78rem);line-height:1.2;font-weight:800;letter-spacing:.12em;text-transform:uppercase;text-shadow:0 2px 10px rgba(0,0,0,.45)}
.orbit-core-fallback strong{display:block;max-width:90%}
html[data-site-theme="koaf-blue"] .orbit-core-emblem{background:radial-gradient(circle at 30% 28%,rgba(220,241,255,.38),rgba(91,166,255,.22) 30%,rgba(2,28,67,.94) 100%);border-color:rgba(123,194,255,.35);box-shadow:0 0 0 6px rgba(104,185,255,.06),0 18px 34px rgba(0,0,0,.3),inset 0 1px 18px rgba(212,240,255,.12)}
@media(max-width:1100px){.orbit-core-emblem img{max-height:78px}}
@media(max-width:820px){.orbit-core-emblem img{max-height:64px}}
@media(max-width:520px){.orbit-core-emblem img{max-height:56px}}

/* =========================================================
   KOAF release 2026-08-23 — operations map, project copy,
   WhatsApp assistant and public polish
   ========================================================= */

/* Real Nigeria-style operations visual replaces the generic radar graphic. */
.nigeria-operations-map{border:0!important;border-radius:0!important;background:transparent!important;aspect-ratio:1.12/1;display:grid;place-items:center;overflow:visible}
.nigeria-operations-map::before,.nigeria-operations-map::after{display:none!important}
.nigeria-operations-map svg{width:100%;height:auto;display:block;filter:drop-shadow(0 22px 36px rgba(0,28,77,.08))}
.ng-outline{fill:rgba(255,255,255,.32);stroke:rgba(0,28,77,.32);stroke-width:2.2;vector-effect:non-scaling-stroke}
.ng-boundary{fill:none;stroke:rgba(0,28,77,.12);stroke-width:1;clip-path:path('M104 78 L158 50 L231 55 L278 72 L332 62 L386 86 L432 126 L451 180 L442 226 L455 279 L425 326 L389 356 L344 370 L302 402 L247 394 L207 410 L158 387 L132 350 L104 321 L87 278 L78 229 L89 183 L75 135 Z');vector-effect:non-scaling-stroke}
.ng-boundary-soft{stroke:rgba(0,28,77,.075)}
.ng-pin-halo{fill:rgba(11,121,247,.14);filter:url(#ngGlow)}
.ng-pin-dot{fill:#0b79f7;stroke:#fff;stroke-width:2;vector-effect:non-scaling-stroke}
.map-key{width:90%;display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-top:-1rem;padding:.75rem 0;border-top:1px solid rgba(0,28,77,.13);color:#24466e;font-size:.64rem;letter-spacing:.07em;text-transform:uppercase}
.map-key span{display:flex;align-items:center;gap:.55rem}.map-key i{width:8px;height:8px;border-radius:50%;background:#0b79f7;box-shadow:0 0 0 5px rgba(11,121,247,.12)}.map-key strong{font-size:.72rem;color:#001c4d}
html[data-site-theme="obsidian-gold"] .ng-outline{fill:rgba(216,173,87,.05);stroke:rgba(139,99,30,.36)}
html[data-site-theme="obsidian-gold"] .ng-boundary{stroke:rgba(139,99,30,.14)}
html[data-site-theme="obsidian-gold"] .ng-boundary-soft{stroke:rgba(139,99,30,.08)}
html[data-site-theme="obsidian-gold"] .ng-pin-dot{fill:#b77b20}html[data-site-theme="obsidian-gold"] .ng-pin-halo{fill:rgba(216,173,87,.16)}
html[data-site-theme="obsidian-gold"] .map-key{border-color:rgba(139,99,30,.18);color:#806a48}html[data-site-theme="obsidian-gold"] .map-key i{background:#b77b20;box-shadow:0 0 0 5px rgba(216,173,87,.12)}html[data-site-theme="obsidian-gold"] .map-key strong{color:#362a19}

/* Keep the project/eCosystem metadata, title and actions in a clean editorial block. */
.orbit-slide-copy{min-width:0;display:grid;grid-template-columns:minmax(0,1fr);gap:.75rem;padding:.2rem .35rem 0}
.orbit-meta{display:grid!important;grid-template-columns:minmax(0,1fr) auto;gap:.75rem 1.5rem;align-items:start!important;padding-bottom:.7rem;border-bottom:1px solid rgba(255,255,255,.09)}
.orbit-meta span{min-width:0;line-height:1.45;overflow-wrap:break-word}.orbit-meta em{max-width:340px;text-align:right;line-height:1.45;white-space:normal!important}
.orbit-slide-copy h3{max-width:920px;margin:.05rem 0 .15rem!important;font-size:clamp(2.05rem,3.45vw,4rem)!important;line-height:.98!important;overflow-wrap:break-word;text-wrap:balance}
.orbit-slide-copy>p{max-width:820px!important;margin:0!important;line-height:1.72!important}
.orbit-slide-copy dl{margin:.2rem 0 0!important;align-items:flex-start}.orbit-slide-copy dd{min-width:0;overflow-wrap:break-word}
.orbit-actions{margin-top:.35rem!important}
@media(max-width:1100px){.orbit-meta{grid-template-columns:1fr}.orbit-meta em{text-align:left;max-width:none}.orbit-slide-copy h3{font-size:clamp(2rem,4.5vw,3.4rem)!important}}
@media(max-width:820px){.orbit-slide-copy{padding:1.15rem 1rem 1.3rem;gap:.7rem}.orbit-meta{grid-template-columns:1fr}.orbit-slide-copy h3{font-size:clamp(1.9rem,8.6vw,3rem)!important}.orbit-actions{display:grid!important;grid-template-columns:1fr;gap:.65rem!important}.orbit-actions .button,.orbit-actions a{width:100%;justify-content:space-between}.operations-section{gap:2rem}.nigeria-operations-map{width:min(92vw,560px)}}

/* Configurable WhatsApp conversation assistant. */
.koaf-chat-widget{position:fixed;right:clamp(1rem,2.3vw,2rem);bottom:clamp(1rem,2.3vw,2rem);z-index:860;display:grid;justify-items:end;gap:.65rem;font-family:var(--font-sans)}
.koaf-chat-launcher{min-width:76px;height:52px;display:flex;align-items:center;justify-content:center;gap:.5rem;padding:0 1rem;border:1px solid rgba(255,255,255,.18);border-radius:999px;background:#0a8f55;color:white;box-shadow:0 15px 36px rgba(0,0,0,.28);font:inherit;font-size:.72rem;font-weight:750;cursor:pointer}.koaf-chat-launcher span{width:25px;height:25px;display:grid;place-items:center;border:2px solid currentColor;border-radius:50%;font-size:0}.koaf-chat-launcher span::after{content:"";width:7px;height:7px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:translate(7px,7px) rotate(22deg)}
.koaf-chat-panel{width:min(380px,calc(100vw - 2rem));overflow:hidden;border:1px solid rgba(255,255,255,.14);border-radius:1.15rem;background:#0d1416;color:#f8fbfa;box-shadow:0 28px 80px rgba(0,0,0,.42)}.koaf-chat-panel[hidden]{display:none}.koaf-chat-panel header{min-height:70px;display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1rem 1.1rem;background:linear-gradient(135deg,#087f4b,#0a9f5e)}.koaf-chat-panel header>div{display:grid}.koaf-chat-panel header span{font-size:.53rem;letter-spacing:.14em;text-transform:uppercase;opacity:.8}.koaf-chat-panel header strong{margin-top:.2rem;font-size:1rem}.koaf-chat-panel header button{width:34px;height:34px;border:0;border-radius:50%;background:rgba(0,0,0,.14);color:white;font-size:1.25rem}.koaf-chat-conversation{display:grid;gap:.55rem;max-height:240px;overflow:auto;padding:1rem}.chat-bubble{max-width:88%;margin:0;padding:.75rem .85rem;border-radius:1rem;font-size:.74rem;line-height:1.55}.chat-bot{justify-self:start;border-bottom-left-radius:.25rem;background:#172225;color:#e8efed}.chat-user{justify-self:end;border-bottom-right-radius:.25rem;background:#0a8f55;color:white}.koaf-chat-options{display:flex;flex-wrap:wrap;gap:.45rem;padding:0 1rem .85rem}.koaf-chat-options button{padding:.55rem .72rem;border:1px solid rgba(255,255,255,.12);border-radius:999px;background:#111b1e;color:#d8e1df;font:inherit;font-size:.62rem;cursor:pointer}.koaf-chat-options button:hover{border-color:#1dbf73;color:white}.koaf-chat-whatsapp{display:flex;align-items:center;justify-content:space-between;margin:0 1rem;padding:.8rem .9rem;border-radius:.8rem;background:#0a8f55;color:white;font-size:.7rem;font-weight:750}.koaf-chat-panel>small{display:block;padding:.75rem 1rem 1rem;color:#778486;font-size:.55rem;line-height:1.45}
@media(max-width:560px){.koaf-chat-widget{right:.75rem;bottom:.75rem}.koaf-chat-panel{width:calc(100vw - 1.5rem)}.koaf-chat-launcher{height:48px;min-width:68px}.cookie-notice{bottom:5.5rem}}
.ng-state-node{fill:rgba(0,28,77,.18)}
html[data-site-theme="obsidian-gold"] .ng-state-node{fill:rgba(139,99,30,.2)}
