/*
  Homepage system layer. Loaded last. One set of rules for type, section heads,
  spacing, surfaces, the primary button, Insights and the footer, so the page reads as one system.
  Palette: brand warm neutrals (tokens in styles.css :root), one Deep Crimson signal.
  Surfaces alternate canvas / paper: hero, services, proof, insights, footer.
*/
/* ---------- base ---------- */
html{scroll-padding-top:24px}
@media (prefers-reduced-motion:no-preference){html{scroll-behavior:smooth}}
body{background:var(--paper);color:var(--ink)}
::selection{background:var(--surface-alt)}
.eyebrow{font-family:'IBM Plex Mono','IBM Plex Sans Arabic',monospace;font-size:.75rem;line-height:1.6;text-transform:uppercase;letter-spacing:.08em;color:var(--muted)}
h3{letter-spacing:-.018em}
/* ---------- header: tighter bar, same markup and branding ---------- */

/* ---------- grid and spacing tokens (8px base) ---------- */
:root{--section:128px;--head-gap:72px;--gutter:24px}
@media (max-width:1199px){:root{--section:104px;--head-gap:56px}}
@media (max-width:767px){:root{--section:80px;--head-gap:40px;--gutter:16px}}
@media (max-width:429px){:root{--section:64px;--head-gap:32px}}
.section-space{padding-top:var(--section);padding-bottom:var(--section)}
/* ---------- section head: index (path + gate), rule, title ---------- */
.section-head{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:var(--gutter);align-items:start;border-top:1px solid var(--line);padding-top:28px}
.section-index{display:flex;align-items:center;gap:12px;margin:0;font-family:'IBM Plex Mono','IBM Plex Sans Arabic',monospace;font-size:.75rem;line-height:1.5;text-transform:uppercase;letter-spacing:.08em;color:var(--muted)}
.section-head>.section-index{grid-column:1/span 3;padding-top:1rem}
.index-no{color:var(--ink)}
/* the brand's Path & Gate mark at label scale: a line of work meets one crimson gate */
.index-rule{position:relative;width:28px;height:1px;background:var(--edge);flex:none;margin-right:2px}
.index-rule::after{content:'';position:absolute;right:-2px;top:-5px;width:2px;height:11px;background:var(--signal)}
.section-head-main{grid-column:5/-1;min-width:0}
.section-head-main{display:flex;align-items:flex-end;justify-content:space-between;gap:32px}
.section-title{margin:0;font-size:clamp(2.125rem,1.4rem + 2.1vw,3rem);font-weight:500;line-height:1.04;letter-spacing:-.028em;color:var(--ink);max-width:16em;text-wrap:balance}
.t-quiet{color:#7D7873}
.section-title .t-quiet{display:block;font-weight:400}
.section-link{flex:none;font-size:.875rem;padding-bottom:6px}
.section-head+.service-grid{margin-top:var(--head-gap)}
@media (max-width:1023px){.section-head>.section-index{grid-column:1/-1;padding-top:0}.section-head-main{grid-column:1/-1;margin-top:28px}}
@media (max-width:767px){.section-head-main{flex-direction:column;align-items:flex-start;gap:24px;margin-top:24px}.section-title{letter-spacing:-.024em;line-height:1.06}}
/* ---------- one primary button (same as the hero CTA) ---------- */
.primary-button{position:relative;display:inline-flex;align-items:center;gap:10px;min-height:0;background:var(--ink);color:var(--paper);border:0;border-radius:0;font-size:.9375rem;font-weight:500;line-height:1.2;padding:16px 28px 16px 32px;box-shadow:none;cursor:pointer;
  transition:transform 220ms var(--ease-flow),box-shadow 220ms var(--ease-flow),background-color 220ms}
.primary-button::before{content:'';position:absolute;left:0;top:0;bottom:0;width:4px;background:var(--signal)}
.primary-button>span{font-size:inherit}
@media (hover:hover){.primary-button:hover{transform:translateY(-2px);box-shadow:0 10px 20px -8px rgba(20,21,26,.35)}}
.primary-button:focus-visible{transform:translateY(-2px);box-shadow:0 10px 20px -8px rgba(20,21,26,.35)}
.primary-button:active{transform:none;box-shadow:none;background:var(--ink-soft);transition-duration:0ms}
/* ---------- services ---------- */
.services .capability h3{font-size:clamp(1.375rem,1.2rem + .5vw,1.625rem);line-height:1.2}
.services .capability-top>.mono{color:var(--muted)}
.services .service-connection>span[aria-hidden]{color:var(--quiet)}
/* ---------- proof: same band surface as the hero canvas ---------- */
.proof,.proof.section-space{background:var(--canvas)}
.proof .proof-inner{align-items:start}

/* ---------- insights: editorial cover language (brand "Spatial Visible Intelligence", A Layered Reveal) ---------- */
.feature-story{position:relative;margin-top:var(--head-gap)}
.feature-cover{margin:0}
.cover{position:relative;overflow:hidden;border:1px solid var(--line);border-radius:10px;background:var(--canvas);aspect-ratio:1600/840;transition:border-color 220ms}
.cover picture{display:block;width:100%;height:100%}
.cover-art{display:block;width:100%;height:100%;object-fit:cover;transition:transform 420ms var(--ease-flow)}
.cover-kicker,.cover-note,.cover-flag{position:absolute;font-family:'IBM Plex Mono','IBM Plex Sans Arabic',monospace;text-transform:uppercase;letter-spacing:.08em;line-height:1.3;pointer-events:none}
.cover-kicker{left:4.5%;top:7.4%;font-size:.75rem;color:var(--muted)}
.cover-note{right:4.5%;bottom:6.6%;font-size:.6875rem;color:var(--muted)}
.cover-flag{left:calc(79.78% + 22px);top:44.88%;transform:translateY(-50%);display:inline-flex;align-items:center;gap:12px;font-size:.75rem;color:var(--ink);white-space:nowrap}
.cover-flag::before{content:'';width:2.5px;height:11px;background:var(--signal);box-shadow:5px 0 0 var(--signal);margin-right:5px}
.feature-body{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:var(--gutter);margin-top:44px;align-items:end}
.feature-heading{grid-column:1/span 8;min-width:0}
.feature-aside{grid-column:9/-1;min-width:0}
.story-meta{display:flex;flex-wrap:wrap;align-items:center;gap:6px 0;margin:0;font-family:'IBM Plex Mono','IBM Plex Sans Arabic',monospace;font-size:.75rem;line-height:1.5;text-transform:uppercase;letter-spacing:.08em;color:var(--muted)}
.story-meta>span+span{margin-left:14px;padding-left:14px;border-left:1px solid var(--edge)}
.story-topic{color:var(--ink)}
.story-title{margin-top:20px;font-size:clamp(2rem,1.3rem + 1.9vw,2.875rem);font-weight:500;line-height:1.06;letter-spacing:-.026em;max-width:16em;text-wrap:balance}
.story-link{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:.16em;text-decoration-color:transparent;transition:text-decoration-color 200ms,color 200ms}
.story-link::after{content:'';position:absolute;inset:0;z-index:1}
.story-link:focus-visible{outline:none}
.feature-story:has(.story-link:focus-visible){outline:2px solid var(--signal);outline-offset:12px;border-radius:12px}
.story-teaser{font-size:1.0625rem;line-height:1.65;max-width:24em;text-wrap:pretty}
.story-foot{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:4px 16px;margin-top:28px;padding-top:16px;border-top:1px solid var(--line)}
.story-date{font-family:'IBM Plex Mono','IBM Plex Sans Arabic',monospace;font-size:.75rem;color:var(--muted)}
.story-action{white-space:nowrap;display:inline-flex;align-items:center;gap:12px;font-size:.9375rem;font-weight:500;color:var(--ink);min-height:44px}
.story-arrow{display:inline-block;transition:transform 200ms var(--ease-flow),color 200ms}
@media (hover:hover){.feature-story:hover .story-link{text-decoration-color:var(--signal)}.feature-story:hover .story-arrow{transform:translateX(4px);color:var(--signal)}.feature-story:hover .cover-art{transform:translate(-6px,-3px)}.feature-story:hover .cover{border-color:var(--edge)}}
.feature-story:focus-within .story-link{text-decoration-color:var(--signal)}
.feature-story:focus-within .story-arrow{transform:translateX(4px);color:var(--signal)}
.feature-story:active .story-link{color:var(--signal);transition-duration:0ms}
.feature-story:active .cover{border-color:var(--signal);transition-duration:0ms}
/* reserved positions: the same cover world, empty. Neutral, untinted, dashed (brand rule for "not yet known") */
.reserved-block{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:var(--gutter);margin-top:96px;padding-top:24px;border-top:1px solid var(--line)}
.reserved-label{grid-column:1/span 3;margin:0;padding-top:2px;font-family:'IBM Plex Mono','IBM Plex Sans Arabic',monospace;font-size:.75rem;line-height:1.5;text-transform:uppercase;letter-spacing:.08em;color:var(--muted)}
.reserved-stories{grid-column:5/-1;display:grid;grid-template-columns:1fr 1fr;column-gap:var(--gutter);min-width:0}
.reserved-story{display:grid;gap:18px;align-content:start;min-width:0}
.reserved-cover{overflow:hidden;border:1px solid var(--line);border-radius:8px;aspect-ratio:1600/840;background:var(--canvas)}
.reserved-cover img{display:block;width:100%;height:100%;object-fit:cover}
.reserved-cover{position:relative}
.reserved-no{position:absolute;left:5%;bottom:4%;font-size:clamp(2.25rem,1rem + 3vw,4.25rem);font-weight:500;line-height:1;letter-spacing:-.04em;color:#E0E0E0;pointer-events:none}
.reserved-text .story-meta{margin-bottom:8px}
.reserved-title{font-size:1.125rem;font-weight:500;line-height:1.3;letter-spacing:-.012em;color:var(--muted)}
.reserved-note{margin-top:6px;font-size:.875rem;line-height:1.55;color:var(--muted)}
@media (max-width:1023px){.feature-heading,.feature-aside{grid-column:1/-1}.feature-aside{margin-top:24px}.story-title{max-width:18em}.reserved-block{margin-top:72px}.reserved-label{grid-column:1/-1}.reserved-stories{grid-column:1/-1;margin-top:24px}}
@media (max-width:767px){.cover{aspect-ratio:400/500}.cover-kicker{left:6%;top:5.6%;font-size:.6875rem}.cover-note{right:6%;bottom:4.4%;font-size:.625rem}.cover-flag{left:auto;right:6%;top:63%;font-size:.6875rem;gap:10px}.feature-body{margin-top:28px}.story-title{margin-top:16px}.story-teaser{font-size:1rem}.reserved-block{margin-top:56px}.reserved-stories{grid-template-columns:1fr;margin-top:8px}.reserved-story{grid-template-columns:112px minmax(0,1fr);gap:20px;align-items:center;padding:20px 0;border-bottom:1px solid var(--line)}.reserved-cover{aspect-ratio:4/3;border-radius:6px}.reserved-no{font-size:1.75rem;left:8%;bottom:8%}.reserved-title{font-size:1.0625rem}.reserved-text .story-meta{margin-bottom:6px}}
@media (max-width:429px){.reserved-story{grid-template-columns:84px minmax(0,1fr);gap:16px}}
.form-kicker{margin:0 0 24px;font-family:'IBM Plex Mono','IBM Plex Sans Arabic',monospace;font-size:.75rem;line-height:1.5;text-transform:uppercase;letter-spacing:.08em;color:var(--muted)}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.field{min-width:0}
.field-wide{grid-column:1/-1}
.field>label{display:flex;align-items:baseline;gap:10px;margin-bottom:8px;font-size:.875rem;font-weight:500;color:var(--ink)}
.field-optional{font-family:'IBM Plex Mono','IBM Plex Sans Arabic',monospace;font-size:.6875rem;font-weight:400;text-transform:uppercase;letter-spacing:.08em;color:var(--muted)}
.field input[type=text],.field input[type=email],.field textarea{display:block;width:100%;min-height:48px;padding:12px 14px;font:inherit;font-size:1rem;line-height:1.4;color:var(--ink);background:#FEFDFC;border:1px solid var(--edge);border-radius:6px;transition:border-color 180ms,box-shadow 180ms;-webkit-appearance:none;appearance:none}
.field textarea{min-height:104px;resize:vertical;line-height:1.5}
@media (hover:hover){.field input:hover,.field textarea:hover{border-color:#BDB7B0}}
.field input:focus-visible,.field textarea:focus-visible{outline:2px solid var(--signal);outline-offset:2px;border-color:var(--ink)}
.field [aria-invalid=true]{border-color:var(--signal)}
.field-error{margin-top:6px;font-size:.8125rem;line-height:1.45;color:var(--signal)}
.field-error:empty{display:none}
.field-hint{margin-top:6px;font-size:.8125rem;line-height:1.45;color:var(--muted)}
.hp-field{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
.consent-field{margin-top:24px}
.consent-row{display:flex;align-items:flex-start;gap:12px}
.consent-row input{flex:none;width:20px;height:20px;margin:2px 0 0;accent-color:var(--ink);cursor:pointer}
.consent-row input:focus-visible{outline:2px solid var(--signal);outline-offset:3px}
.consent-row label{font-size:.875rem;line-height:1.5;color:var(--body);cursor:pointer;padding-bottom:4px}
.consent-row input[aria-invalid=true]{outline:2px solid var(--signal);outline-offset:2px}
.privacy-note{margin-top:10px;padding-left:32px}
.privacy-note a{display:inline-flex;align-items:center;min-height:32px;font-size:.8125rem;color:var(--body);text-decoration:underline;text-decoration-color:var(--edge);text-underline-offset:4px}
.privacy-note a:hover,.privacy-note a:focus-visible{text-decoration-color:var(--signal)}
.form-actions{margin-top:28px}
.review-submit{width:100%;justify-content:space-between}
.review-submit[aria-disabled=true]{cursor:progress;background:var(--ink-soft);transform:none;box-shadow:none}
.form-status{margin-top:14px;min-height:2.9em;font-size:.875rem;line-height:1.45;color:var(--body)}
.form-status.is-error{color:var(--signal)}
.review-success{display:grid;align-content:center;min-height:var(--panel-h,0px)}
.review-success[hidden]{display:none}
.success-title{margin-top:4px;font-size:clamp(1.5rem,1.2rem + .8vw,1.875rem);font-weight:500;line-height:1.15;letter-spacing:-.022em}
.success-title:focus{outline:none}
.success-copy{margin-top:14px;font-size:1rem;line-height:1.6}
.success-copy strong{font-weight:500;color:var(--ink);overflow-wrap:anywhere}
@media (prefers-reduced-motion:reduce){.cover-art,.story-arrow{transition:none}.feature-story:hover .cover-art{transform:none}}

/* homepage Insights preview uses the editorial cover language */

/* ---------- header, pass 7: precise and calm; one primary action, a publication action on Insights ---------- */
:root{--bar-h:84px;--bar-pad:max(64px,calc((100% - 1312px) / 2))}
@media (max-width:1199px){:root{--bar-h:80px;--bar-pad:40px}}
@media (max-width:850px){:root{--bar-pad:32px}}
@media (max-width:600px){:root{--bar-h:68px;--bar-pad:20px}}
html{scroll-padding-top:calc(var(--bar-h) + 20px)}
.skip-link{z-index:40}
.site-bar{position:sticky;top:0;z-index:30;background:var(--paper);border-bottom:1px solid transparent;transition:border-color 240ms var(--ease)}
.site-bar.is-scrolled{border-bottom-color:var(--line)}
.site-header{display:flex;align-items:stretch;height:var(--bar-h);border-bottom:1px solid var(--line);transition:border-color 240ms var(--ease)}
.site-bar.is-scrolled .site-header{border-bottom-color:transparent}
.site-header .wordmark{align-self:center;font-size:2.25rem;padding-block:6px}
.desktop-nav{display:flex;align-items:stretch;gap:30px;margin-left:56px}
.desktop-nav a{position:relative;display:flex;align-items:center;font-size:.875rem;color:var(--body);transition:color var(--micro)}
.desktop-nav a::after{content:'';position:absolute;left:0;right:0;bottom:-1px;height:1px;background:var(--ink);transform:scaleX(0);transform-origin:left;transition:transform 240ms var(--ease)}
.desktop-nav a:hover{color:var(--ink)}
.desktop-nav a:hover::after{transform:scaleX(1)}
.desktop-nav a:focus-visible{outline-offset:2px;color:var(--ink)}
.desktop-nav a[aria-current=page]{color:var(--ink);font-weight:500}
.desktop-nav a[aria-current=page]::after{height:2px;background:var(--signal);transform:none}
.header-end{display:flex;align-items:center;gap:6px;margin-left:auto}
.header-languages{display:flex;align-items:center}
.header-languages::after{content:'';width:1px;height:18px;margin:0 14px 0 10px;background:var(--line)}
.header-languages a{position:relative;display:flex;align-items:center;justify-content:center;min-width:34px;min-height:44px;font-family:'IBM Plex Mono','IBM Plex Sans Arabic',monospace;font-size:.6875rem;letter-spacing:.08em;color:var(--muted);transition:color var(--micro)}
.header-languages a:hover{color:var(--ink)}
.header-languages a[aria-current]{color:var(--ink)}
.header-languages a[aria-current]::after{content:'';position:absolute;left:11px;right:11px;bottom:10px;height:1px;background:var(--signal)}
.header-subscribe{display:inline-flex;align-items:center;min-height:40px;padding:0 14px;border-radius:3px;font-size:.8125rem;font-weight:500;color:var(--ink);transition:background-color var(--micro)}
.header-subscribe:hover{background:var(--surface)}
.header-subscribe:active{background:var(--surface-alt)}
.header-action{position:relative;display:inline-flex;align-items:center;gap:14px;min-height:40px;padding:0 16px 0 19px;background:var(--ink);color:var(--paper);font-size:.8125rem;font-weight:500;white-space:nowrap;transition:background-color var(--micro)}
.header-action::before{content:'';position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--signal)}
.header-action>span{display:inline-block;transition:transform 220ms var(--ease)}
.header-action:hover{background:var(--ink-soft)}
.header-action:hover>span{transform:translate(2px,-2px)}
.header-action:focus-visible{outline-offset:3px}
a.header-action:active{background:#000;color:var(--paper)}
.mobile-menu{display:none}
.mobile-links a[aria-current=page]{color:var(--ink);font-weight:500}
@media (max-width:1199px){.desktop-nav{gap:24px;margin-left:40px}.header-languages::after{margin:0 8px 0 4px}.header-languages a{min-width:32px}.header-subscribe{padding:0 10px}}
@media (max-width:1023px){
  .desktop-nav,.header-languages,.header-subscribe{display:none}
  .header-end{gap:0}
  .mobile-menu{display:flex;align-items:center;margin-left:12px}
  .mobile-menu summary{list-style:none;display:flex;align-items:center;gap:12px;min-height:44px;padding:0 2px 0 12px;font-size:.875rem;cursor:pointer}
  .mobile-menu summary::-webkit-details-marker{display:none}
  .menu-symbol{display:block;flex:none;width:18px;height:8px;border-top:1.5px solid var(--ink);border-bottom:1.5px solid var(--ink);transition:height 200ms var(--ease)}
  .mobile-menu[open] .menu-symbol{height:1.5px;border-bottom:0}
  .mobile-menu nav{position:absolute;left:0;right:0;top:100%;display:flex;flex-direction:column;max-height:calc(100dvh - var(--bar-h));overflow:auto;padding:8px var(--bar-pad) 28px;background:var(--paper);border-top:1px solid var(--line);border-bottom:1px solid var(--line);box-shadow:0 20px 28px -28px rgba(20,21,26,.3)}
  .mobile-links{display:flex;flex-direction:column}
  .mobile-links a{position:relative;display:flex;align-items:center;min-height:52px;font-size:1.0625rem;color:var(--body);border-bottom:1px solid var(--line)}
  .mobile-links a[aria-current=page]::before{content:'';position:absolute;left:calc(-1 * var(--bar-pad));top:14px;bottom:14px;width:3px;background:var(--signal)}
  .mobile-actions{display:flex;flex-direction:column;align-items:stretch;gap:4px;margin-top:20px}
  .mobile-cta{display:none;justify-content:space-between}
  .mobile-subscribe{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:48px;font-size:.9375rem;font-weight:500;color:var(--ink)}
  .mobile-soon{font-family:'IBM Plex Mono','IBM Plex Sans Arabic',monospace;font-size:.6875rem;font-weight:400;text-transform:uppercase;letter-spacing:.08em;color:var(--muted)}
  .mobile-languages{display:flex;gap:8px;margin-top:12px;margin-left:-10px}
  .mobile-languages a{position:relative;display:flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;font-family:'IBM Plex Mono','IBM Plex Sans Arabic',monospace;font-size:.75rem;letter-spacing:.06em;color:var(--muted)}
  .mobile-languages a[aria-current]{color:var(--ink)}
  .mobile-languages a[aria-current]::after{content:'';position:absolute;left:14px;right:14px;bottom:10px;height:1px;background:var(--signal)}
}
@media (max-width:600px){
  .header-action{display:none}
  .site-header .wordmark{font-size:2rem}
  .mobile-cta{display:flex}
}
@media (max-width:1023px) and (min-width:601px){.mobile-actions:not(:has(.mobile-subscribe)){display:none}}

/* ---------- contact page: the full workflow review request ---------- */
.contact-layout{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));grid-template-rows:auto 1fr;column-gap:var(--gutter);padding-top:32px;padding-bottom:128px}
.contact-head{grid-column:1/span 5;grid-row:1;min-width:0}
.contact-aside{grid-column:1/span 4;grid-row:2;align-self:end;min-width:0;padding-top:64px}
.request-panel{grid-column:7/-1;grid-row:1/span 2;align-self:start;min-width:0;margin-top:56px}
.crumbs ol{display:flex;flex-wrap:wrap;gap:10px;margin:0;padding:0;list-style:none;font-family:'IBM Plex Mono','IBM Plex Sans Arabic',monospace;font-size:.75rem;text-transform:uppercase;letter-spacing:.08em;color:var(--muted)}
.crumbs li+li::before{content:'/';margin-right:10px;color:var(--dashed)}
.crumbs a{display:inline-flex;align-items:center;min-height:32px;color:var(--body);text-decoration-color:var(--signal);text-underline-offset:4px}
.crumbs a:hover,.crumbs a:focus-visible{text-decoration-line:underline}
.crumbs [aria-current]{display:inline-flex;align-items:center;min-height:32px;color:var(--ink)}
.page-kicker{margin:48px 0 0;padding-top:12px;border-top:2px solid var(--ink);font-family:'IBM Plex Mono','IBM Plex Sans Arabic',monospace;font-size:.75rem;text-transform:uppercase;letter-spacing:.08em;color:var(--ink)}
.contact-title{margin-top:28px;font-size:clamp(2.5rem,1.7rem + 2.2vw,3.5rem);font-weight:500;line-height:1.06;letter-spacing:-.028em;max-width:10em;text-wrap:balance}
.contact-lede{margin-top:24px;max-width:27rem;font-size:1.125rem;line-height:1.6;color:var(--body)}
.aside-label{margin:0;padding-bottom:12px;border-bottom:1px solid var(--ink);font-family:'IBM Plex Mono','IBM Plex Sans Arabic',monospace;font-size:.75rem;font-weight:400;text-transform:uppercase;letter-spacing:.08em;color:var(--ink)}
.next-steps ol{list-style:none;margin:0;padding:0}
.next-steps li{display:grid;grid-template-columns:40px minmax(0,1fr);align-items:baseline;padding:14px 0;border-bottom:1px solid var(--line);font-size:1rem;line-height:1.5;color:var(--ink)}
.step-no{font-family:'IBM Plex Mono','IBM Plex Sans Arabic',monospace;font-size:.75rem;letter-spacing:.04em;color:var(--signal)}
.direct{margin-top:48px}
.direct-list{margin:0}
.direct-list>div{display:flex;justify-content:space-between;align-items:center;gap:16px;min-height:48px;border-bottom:1px solid var(--line)}
.direct-list dt{font-size:.9375rem;color:var(--ink)}
.direct-list dd{margin:0;font-family:'IBM Plex Mono','IBM Plex Sans Arabic',monospace;font-size:.75rem;letter-spacing:.04em;color:var(--muted)}
.direct-privacy{margin-top:8px}
.direct-privacy a{display:inline-flex;align-items:center;min-height:44px;font-size:.875rem;color:var(--body);text-decoration:underline;text-decoration-color:var(--edge);text-underline-offset:4px}
.direct-privacy a:hover,.direct-privacy a:focus-visible{text-decoration-color:var(--signal)}
.request-panel{position:relative;background:var(--canvas);border:1px solid var(--line);border-radius:10px;padding:40px}
.request-panel::before{content:'';position:absolute;left:-1px;top:40px;width:3px;height:22px;background:var(--signal)}
.request-panel .form-kicker{margin-bottom:24px;font-weight:400;color:var(--ink)}
.request-panel .privacy-note{margin-top:6px}
.request-panel .form-actions{margin-top:24px}
.request-panel .form-status{margin-top:12px}
.request-panel .review-success{min-height:var(--panel-h,0px)}
@media (max-width:1199px){.request-panel{grid-column:6/-1;padding:32px}.contact-head{grid-column:1/span 5}.contact-aside{grid-column:1/span 5}}
@media (max-width:1023px){
  .contact-layout{grid-template-rows:auto;padding-bottom:96px}
  .contact-head,.contact-aside,.request-panel{grid-column:1/-1;grid-row:auto}
  .contact-title{max-width:14em}
  .request-panel{margin-top:40px;max-width:760px}
  .contact-aside{display:grid;grid-template-columns:1fr 1fr;column-gap:40px;padding-top:56px}
  .direct{margin-top:0}
}
@media (max-width:767px){.form-grid{grid-template-columns:1fr;gap:18px}.request-panel{padding:28px 20px}.request-panel::before{top:28px}.contact-aside{grid-template-columns:1fr;padding-top:48px}.direct{margin-top:40px}.review-submit{padding-left:28px}}
@media (max-width:600px){.contact-layout{padding-top:20px;padding-bottom:72px}.page-kicker{margin-top:28px}.contact-title{margin-top:22px}.contact-lede{font-size:1.0625rem}}
@media (max-width:429px){.request-panel{padding:24px 16px}}

.request-panel{padding-bottom:28px}
@media (max-width:767px){.request-panel{padding-bottom:20px}}

/* ---------- ending, pass 8: a compact, light conversion close ---------- */
.close-cta{background:var(--paper);color:var(--ink);padding:88px 0 96px}
.close-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:var(--gutter);align-items:end;padding-top:24px;border-top:1px solid var(--line)}
.close-cta .section-index{grid-column:1/-1;margin:0 0 28px}
.close-main{grid-column:1/span 7;min-width:0}
.close-cta .section-title{margin:0;font-size:clamp(1.875rem,1.25rem + 1.7vw,2.625rem);line-height:1.08;max-width:14em}
.close-cta .section-title:focus{outline:none}
.close-lede{margin-top:16px;max-width:30rem;font-size:1rem;line-height:1.6;color:var(--body)}
.close-actions{grid-column:9/-1;justify-self:end;display:flex;flex-direction:column;align-items:flex-start;gap:6px}
.close-secondary{display:inline-flex;align-items:center;gap:12px;min-height:44px;font-size:.9375rem;color:var(--ink)}
.cs-text{text-decoration:underline;text-decoration-thickness:1px;text-decoration-color:var(--edge);text-underline-offset:6px;transition:text-decoration-color var(--micro)}
.cs-arrow{display:inline-block;transition:transform 220ms var(--ease)}
.close-secondary:hover .cs-text{text-decoration-color:var(--signal)}
.close-secondary:hover .cs-arrow{transform:translateX(3px)}
@media (max-width:1023px){.close-cta{padding:72px 0 80px}.close-main{grid-column:1/-1}.close-actions{grid-column:1/-1;justify-self:start;margin-top:28px}}
@media (max-width:600px){.close-cta{padding:56px 0 64px}.close-actions{align-self:stretch;align-items:stretch;width:100%}.close-cta .primary-button{justify-content:space-between}}

/* ---------- footer, pass 8: signature + utility, one strip ---------- */
.site-foot{background:#14151A;color:#FEFDFC}
.foot-row{display:flex;align-items:center;justify-content:space-between;gap:24px clamp(24px,3vw,48px);padding-block:26px}
.foot-mark{font-size:2rem;line-height:1;padding-block:0;color:#FEFDFC}
.foot-nav,.foot-legal,.foot-lang{display:flex;align-items:center}
.foot-nav{gap:24px}
.foot-legal{gap:18px}
.foot-lang{gap:2px}
.foot-nav a,.foot-legal a,.foot-intel a{display:inline-flex;align-items:center;min-height:40px;font-size:.875rem;color:#C9C4BD;text-decoration-thickness:1px;text-decoration-color:var(--signal);text-underline-offset:5px;transition:color var(--micro)}
.foot-nav a:hover,.foot-legal a:hover,.foot-intel a:hover,.foot-lang a:hover{color:#FEFDFC;text-decoration-line:underline}
.site-foot [aria-current]{color:#FEFDFC;text-decoration-line:underline}
.site-foot :focus-visible{outline-color:#FEFDFC}
.foot-intel{display:flex;align-items:center;gap:14px;margin:0}
.foot-intel-name{font-size:.875rem;font-weight:500;color:#FEFDFC}
.foot-intel a{text-decoration-line:underline;text-decoration-color:rgba(254,253,252,.3)}
.foot-soon{font-family:'IBM Plex Mono','IBM Plex Sans Arabic',monospace;font-size:.6875rem;text-transform:uppercase;letter-spacing:.08em;color:#8A8580}
.foot-meta{display:flex;align-items:center;gap:20px}
.foot-lang a{display:inline-flex;align-items:center;justify-content:center;min-width:34px;min-height:40px;font-family:'IBM Plex Mono','IBM Plex Sans Arabic',monospace;font-size:.6875rem;letter-spacing:.08em;color:#A7A29D}
.foot-lang [aria-current]{text-decoration-color:var(--signal)}
.foot-copy{font-size:.8125rem;color:#8A8580;white-space:nowrap}
@media (pointer:coarse){.foot-nav a,.foot-legal a,.foot-intel a,.foot-lang a{min-height:44px}}
@media (max-width:1199px){
  .foot-row{display:grid;grid-template-columns:auto 1fr auto;row-gap:8px;padding-block:24px 18px}
  .foot-nav{justify-self:center}
  .foot-meta{grid-column:1/-1;justify-content:space-between;padding-top:10px;border-top:1px solid rgba(254,253,252,.1)}
}
@media (max-width:767px){
  .foot-row{grid-template-columns:1fr;row-gap:14px;padding-block:28px 16px}
  .foot-nav{justify-self:start;flex-wrap:wrap;gap:4px 22px}
  .foot-meta{flex-wrap:wrap;gap:4px 18px;justify-content:flex-start}
  .foot-lang{margin-left:-10px}
  .foot-copy{flex-basis:100%}
}

/* editorial covers (approved Insights imagery) on shared pages */
.cover-editorial{background:#F2F2F2}
.cover-editorial .cover-art{object-position:58% 50%}
@media (max-width:767px){.cover.cover-editorial{aspect-ratio:4/3}}

/* contact · live request summary and character count */
.request-summary{margin-bottom:48px}
.rs-list{margin:0}
.rs-list>div{display:grid;grid-template-columns:96px minmax(0,1fr);gap:12px;padding:12px 0;border-bottom:1px solid var(--line)}
.rs-list dt{font-family:'IBM Plex Mono','IBM Plex Sans Arabic',monospace;font-size:.6875rem;line-height:1.9;text-transform:uppercase;letter-spacing:.08em;color:var(--muted)}
.rs-list dd{margin:0;font-size:.9375rem;line-height:1.5;color:var(--ink);overflow-wrap:anywhere;transition:color 200ms}
.rs-list dd.is-empty{color:var(--muted)}
.rs-note{margin-top:12px;font-size:.8125rem;color:var(--muted)}
.field-hint{display:flex;justify-content:space-between;gap:16px}
.char-count{flex:none;font-family:'IBM Plex Mono','IBM Plex Sans Arabic',monospace;font-size:.6875rem;color:var(--muted)}
.char-count.is-near{color:var(--signal)}

/* ---------- motion layer: explain, respond, acknowledge, reveal, resolve ---------- */
@media (prefers-reduced-motion:no-preference){
  /* no cross-document view transition: it can hold the first paint of the next page */
  .rv{opacity:0;transform:translateY(14px)}
  .rv.rv-in{opacity:1;transform:none;transition:opacity 560ms ease-out,transform 700ms cubic-bezier(.2,.7,.2,1)}
  .mobile-menu[open] nav{animation:tb-drop 240ms cubic-bezier(.2,.7,.2,1)}
  .discovery.is-open .discovery-panel{animation:tb-drop 240ms cubic-bezier(.2,.7,.2,1)}
  .field-error:not(:empty){animation:tb-fade 200ms ease-out}
  .review-success:not([hidden]){animation:tb-rise 520ms cubic-bezier(.2,.7,.2,1)}
  .form-status.is-error:not(:empty){animation:tb-fade 200ms ease-out}
}
@keyframes tb-drop{from{opacity:0;transform:translateY(-6px)}}
@keyframes tb-fade{from{opacity:0}}
@keyframes tb-rise{from{opacity:0;transform:translateY(10px)}}
/* links: the underline draws in rather than snapping */
.primary-link,.cs-text,.story-link,.latest-link{transition:text-decoration-color 240ms ease}
.field input,.field textarea{transition:border-color 180ms,box-shadow 180ms,background-color 180ms}
.field input:user-valid:not([aria-invalid=true]){border-color:#8FA79D}
@media print{.rv{opacity:1!important;transform:none!important}}

/* Shared tactile grammar. The approved homepage Hero keeps its own motion. */
:root{--motion-fast:180ms;--motion-settle:320ms;--motion-resolve:720ms;--motion-ease:cubic-bezier(.2,.7,.2,1)}
body :is(.primary-button,.header-action,.subscribe-submit,.review-submit,.exp-action,.experience-controls button,.disc-topic){transition:transform var(--motion-fast) var(--motion-ease),border-color var(--motion-fast),background-color var(--motion-fast),box-shadow var(--motion-fast)}
body :is(.primary-button,.header-action,.text-link,.close-secondary,.story-action,.latest-arrow) :is(.arrow,.story-arrow,.cs-arrow,[aria-hidden=true]){display:inline-block;transition:transform var(--motion-fast) var(--motion-ease)}
.search{transition:transform var(--motion-fast) var(--motion-ease),border-color var(--motion-fast),box-shadow var(--motion-fast)}
.search:focus-within{transform:translateY(-2px);border-color:var(--signal);box-shadow:0 3px 8px -6px #5D5A58}
body .field :is(input,textarea){transition:transform var(--motion-fast) var(--motion-ease),border-color var(--motion-fast),box-shadow var(--motion-fast)}
body .field :is(input,textarea):focus{transform:translateY(-1px)}
@media(hover:hover){
 body :is(.primary-button,.header-action,.subscribe-submit,.review-submit,.exp-action,.experience-controls button,.disc-topic):not(:disabled):hover{transform:translateY(-2px)}
 body :is(.primary-button,.header-action,.text-link,.close-secondary,.story-action):hover :is(.arrow,.story-arrow,.cs-arrow,[aria-hidden=true]){transform:translateX(3px)}
 .search:hover:not(:focus-within){transform:translateY(-1px)}
 .page-insights .latest-article:hover,.page-insights .latest-article:focus-within{transform:translateY(-2px)}
 .page-insights .latest-article:hover .latest-thumb img{transform:translateY(-1px)}
 .page-insights .latest-article:hover .latest-arrow{transform:translateX(3px);color:var(--signal)}
}
body :is(.primary-button,.header-action,.subscribe-submit,.review-submit,.exp-action,.experience-controls button,.disc-topic):not(:disabled):active{transform:translateY(0) scale(.985);transition-duration:80ms}
@media(prefers-reduced-motion:reduce){
 body :is(.primary-button,.header-action,.subscribe-submit,.review-submit,.exp-action,.experience-controls button,.disc-topic,.search,.latest-article),body .field :is(input,textarea){transition:none!important;transform:none!important}
}
