/* Full-bleed reel: the footage carries the hero, with a directional scrim
   behind the existing copy and a poster underneath for immediate rendering. */
.home-page main { margin-top:calc(-1 * var(--nr-header-height)); }
.home-page .site-header { background:transparent;border-bottom-color:#ffffff26; }
.home-page .site-header[data-reel-passed],
.home-page.desktop-mega-open .site-header { background:#080909; }
.home-page .hero.hero-reel {
  display:flex;flex-direction:column;justify-content:center;isolation:isolate;
  height:100svh;min-height:720px;max-height:none;background:#080909;
}
.home-page .hero.hero-reel .hero-visual {
  position:absolute;inset:0;width:100%;height:100%;max-width:none;max-height:none;
  margin:0;mask-image:none;pointer-events:none;z-index:0;
  background:#080909 url('../assets/noeraven-hero-poster.webp') center / cover no-repeat;
}
.hero-video { display:block;width:100%;height:100%;object-fit:cover;object-position:center;opacity:0;transition:opacity .6s ease; }
.hero[data-video-ready=true] .hero-video { opacity:1; }
.hero-reel .hero-visual::after {
  content:"";position:absolute;inset:0;
  background:linear-gradient(90deg,rgba(0,0,0,.66),rgba(0,0,0,.30) 48%,rgba(0,0,0,.08) 80%),
    linear-gradient(180deg,rgba(0,0,0,.50),transparent 24%,transparent 58%,rgba(0,0,0,.78));
}
.home-page .hero.hero-reel .hero-copy {
  position:relative;z-index:2;order:0;
  padding:calc(var(--nr-header-height) + 44px) var(--nr-gutter) 150px;
}
.home-page .hero.hero-reel h1 { max-width:9em;font-size:clamp(56px,5.4vw,88px);line-height:1.08;letter-spacing:-.04em;color:#fff; }
.home-page .hero.hero-reel h1 span { color:#fff; }
.home-page .hero-reel .hero-description { margin-top:30px;max-width:31ch;color:#e0e3df; }
.home-page .hero-reel .hero-description .hero-statement { font-size:26px;margin-bottom:16px; }
.home-page .hero.hero-reel .hero-bottom {
  position:absolute;inset:auto var(--nr-gutter) max(20px,env(safe-area-inset-bottom));
  margin:0;z-index:3;padding-top:18px;border-top:1px solid #ffffff40;
}
.home-page .hero-reel :is(.hero-product-links a span,.motion-toggle,.hero-story-entry,.hero-mission-link) { color:#e0e3df; }
.home-page .hero .button-light { transition:background .25s ease; }
@media(min-width:1600px) {
  .home-page .hero.hero-reel .hero-copy { padding-left:max(var(--nr-gutter),calc((100vw - 1660px)/2)); }
}
@media(max-width:767px) {
  .home-page .hero.hero-reel { min-height:700px; }
  .home-page .hero.hero-reel .hero-bottom { border-top:0; }
  .home-page .hero-reel .hero-story-entry { border-top:0; }
  .home-page .hero.hero-reel .hero-copy { padding:calc(var(--nr-header-height) + 48px) var(--nr-gutter) 180px; }
  .home-page .hero.hero-reel h1 { font-size:clamp(32px,10.6vw,64px); }
  .home-page .hero-reel .hero-description { margin-top:24px; }
  .home-page .hero-reel .hero-description .hero-statement { font-size:23px;margin-bottom:8px; }
  .hero-reel .hero-visual::after {
    background:linear-gradient(90deg,rgba(0,0,0,.46),rgba(0,0,0,.22)),
      linear-gradient(180deg,rgba(0,0,0,.45),rgba(0,0,0,.12) 35%,rgba(0,0,0,.36) 65%,rgba(0,0,0,.85));
  }
  .home-page .hero.hero-reel .hero-bottom .motion-toggle { max-width:none;white-space:nowrap; }
}
@media(prefers-reduced-motion:reduce) { .hero-video { transition:none; } }
.motion-paused .hero-scroll-arrow { animation:none; }

/* Homepage composition. Shared product pages retain their own styles. */
.home-page {
  --experience-ink:#e9eee8;
  --experience-muted:#a8b1aa;
  --experience-line:#ffffff26;
  background:#080909;color:var(--experience-ink);
  scrollbar-color:#627068 #080909;
}
.home-page ::selection { color:#080909;background:#c3d0bb; }
.home-page :is(a,button):focus-visible { outline:2px solid #c3d0bb;outline-offset:5px; }
.home-page :is(.projects,.operating-model,.approach,.contact,.footer) { background:#080909;color:var(--experience-ink); }
.home-page .projects { padding-top:112px;padding-bottom:100px; }
.home-page .section-heading { grid-template-columns:1fr auto;gap:32px;align-items:end;margin-bottom:60px; }
.home-page .section-heading h2 { font-size:clamp(48px,6.2vw,88px);max-width:10ch;line-height:1.02;letter-spacing:-.04em; }
.home-page .section-intro { color:var(--experience-muted);font-size:16px;max-width:25ch;padding-bottom:5px; }
.home-page .project-row { grid-template-columns:minmax(0,1.8fr) minmax(260px,1fr);gap:40px 7%;padding:42px 0 84px;border-color:var(--experience-line);min-height:0; }
.home-page .project-row:last-child { border-bottom:0;padding-bottom:0; }
.project-header { grid-column:1/-1;display:flex;justify-content:space-between;align-items:center;gap:24px; }
.home-page .project-header h3 { margin:0;font-size:clamp(50px,7vw,102px);line-height:1.1;letter-spacing:-.04em;font-weight:400; }
.project-availability { color:var(--experience-muted);font-size:12px;line-height:1.4;display:flex;align-items:center;gap:9px; }
.project-availability i { width:5px;height:5px;border-radius:50%;background:#c3d0bb; }
.home-page .project-copy { grid-column:2;grid-row:2;padding:20px 0;gap:40px; }
.home-page .project-copy>div>p:not(.project-detail) { font-size:clamp(24px,2.45vw,36px);letter-spacing:-.03em;line-height:1.22; }
.home-page .project-detail { color:var(--experience-muted);font-size:15px;line-height:1.7;margin-top:24px;max-width:32ch; }
.home-page .project-copy .text-link { color:var(--experience-ink);border-color:var(--experience-line);font-size:14px;padding-top:18px;width:100%;margin-top:0; }
.home-page .product-visual { grid-column:1;grid-row:2;overflow:hidden;min-width:0;background:#161b18;border:1px solid #303933; }
.home-page .visual-caption,.home-page .visual-bottom { color:#b3bdb5;border-color:#ffffff18;font-size:10px;letter-spacing:.035em; }
.home-page .visual-caption { padding:16px 20px; }
.home-page .visual-caption>span:last-child { display:none; }
.home-page .visual-bottom { padding:16px 20px; }
.home-page .product-visual .preview-stage { padding:24px; }
.home-page .harness-window { box-shadow:0 20px 36px #00000038; }
.home-page .project-code { grid-template-columns:minmax(260px,1fr) minmax(0,1.45fr);padding-top:44px; }
.home-page .project-code .project-copy { grid-column:1; }
.home-page .project-code .product-visual { grid-column:2;background:#101512; }
.home-page .code-window { box-shadow:0 20px 36px #00000038;border-color:#3c443e; }
.home-page .code-visual .visual-caption i { display:none; }

/* A horizontal choice rail keeps the workflow explorable, with each example
   as the focus rather than enclosing every piece of copy in a separate card. */
.home-page .operating-model { padding-block:100px 120px;border-block:1px solid var(--experience-line); }
.home-page .operating-heading { grid-template-columns:1.1fr .65fr;gap:12%;margin-bottom:58px; }
.home-page .operating-heading h2 { font-size:clamp(48px,6vw,84px);line-height:1.03;letter-spacing:-.04em; }
.home-page .operating-heading h2 span { color:#93a395; }
.home-page .operating-heading>p { font-size:16px;line-height:1.7;color:var(--experience-muted);max-width:38ch; }
.home-page .operation-study { border:0; }
.home-page .operation-brief { display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:18px 36px;padding:24px 0;background:transparent;border-top:1px solid var(--experience-line);border-bottom:0; }
.workflow-label { font-size:12px;color:var(--experience-muted); }
.home-page .operation-brief p { font-size:18px;line-height:1.5;letter-spacing:-.015em;text-align:right; }
.home-page .brief-ref { display:none; }
.home-page .operation-layout { display:block; }
.home-page .operation-stages { display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border:0;padding:0;gap:0; }
.home-page .operation-stage { position:relative;grid-template-columns:24px 1fr;gap:12px;padding:24px 18px 28px 0;border:0;border-top:1px solid #536158;background:transparent;color:#a9b4ab; }
.home-page .operation-stage>span:last-child { display:none; }
.home-page .operation-stage::after { content:"";position:absolute;bottom:0;left:0;right:24px;height:2px;transform:scaleX(0);transform-origin:left;background:#c3d0bb;transition:transform .35s cubic-bezier(.16,1,.3,1); }
.home-page .operation-stage[aria-pressed=true] { color:#edf1eb;background:transparent; }
.home-page .operation-stage[aria-pressed=true]::after { transform:scaleX(1); }
.home-page .operation-stage:hover { color:#edf1eb;background:#ffffff04; }
.home-page .operation-stage strong { font-size:17px;font-weight:400;line-height:1.4;letter-spacing:-.015em; }
.home-page .operation-stage small { font-size:12px;line-height:1.4; }
.home-page .stage-number { font-size:10px;padding-top:4px;color:#a9b4ab; }
.home-page .operation-detail { display:grid;grid-template-columns:1fr .85fr;column-gap:10%;padding:44px 40px;background:#141a16; }
.home-page .trace-heading { grid-column:1/-1;margin-bottom:28px; }
.home-page .context-map { grid-column:2;grid-row:2/5;min-height:200px;margin:0;background:none;grid-template-columns:1fr 64px 1fr; }
.home-page .map-inputs>span { background:#121713;border-color:#566159;color:#dce2da;font:11px/1.5 var(--font-sans);padding:10px; }
.home-page .map-junction>span { background:#c3d0bb;border-color:#141a16; }
.home-page .map-output { background:#243027;border-color:#596f5c; }
.home-page .map-output>span { font-size:14px; }
.home-page .map-output small { font-size:11px; }
.home-page .operation-detail h3 { grid-column:1;font-size:clamp(26px,3vw,40px);font-weight:400;letter-spacing:-.03em;max-width:18ch; }
.home-page .operation-detail>p { grid-column:1;font-size:14px;line-height:1.7;min-height:0;color:#b6c0b8; }
.home-page .trace-artifact { grid-column:1;display:block;margin-top:24px;padding-top:20px;border-color:#ffffff26; }
.home-page .trace-artifact .eyebrow { display:block;margin-bottom:10px; }
.home-page .trace-artifact ul { font-size:13px; }
.home-page .operation-footnote { color:#a8b3aa;border-color:var(--experience-line);padding:20px 0;font-size:11px; }

/* The mission owns one large, quiet field, using Noeraven's actual mark. */
.home-page .mission-bridge { position:relative;isolation:isolate;overflow:hidden;display:grid;grid-template-columns:1fr 1fr;gap:56px 10%;padding-block:140px 110px;background:#171e19;color:var(--experience-ink); }
.mission-emblem { position:absolute;width:min(64vw,900px);height:auto;right:-9%;top:50%;transform:translateY(-50%);color:#91a58f;opacity:.075;z-index:-1; }
.home-page .bridge-heading { grid-column:1/-1; }
.home-page .bridge-heading h2 { font-size:clamp(56px,8vw,112px);line-height:1.05;letter-spacing:-.04em;color:var(--experience-ink); }
.home-page .bridge-heading h2 span { color:#a1b59d; }
.home-page .bridge-link { color:var(--experience-ink);margin-top:36px;max-width:290px;font-size:14px;border-color:#6c7e6c; }
.home-page .bridge-copy { grid-column:2;max-width:44ch;position:relative; }
.home-page .bridge-copy .bridge-statement { color:var(--experience-ink);font-size:25px;line-height:1.4;letter-spacing:-.025em; }
.home-page .bridge-copy>p:not(.bridge-statement) { color:#b7c4b5;line-height:1.7;font-size:15px; }
.home-page .sovereignty-register { gap:12px 24px;flex-wrap:wrap;border-color:#4c5f4b; }
.home-page .sovereignty-register span { font-size:10px;letter-spacing:.08em;color:#d1dfcc; }
.home-page .bridge-copy .bridge-note { font-size:12px;color:#b7c4b5; }

.home-page .approach { display:grid;grid-template-columns:1fr 1.1fr;column-gap:12%;padding-top:120px;padding-bottom:56px; }
.home-page .approach-top { display:block; }
.home-page .approach-top h2 { font-size:clamp(36px,4.5vw,62px);line-height:1.08;letter-spacing:-.035em; }
.home-page .approach-top h2 span { color:#96a397; }
.home-page .principles { display:block;border:0;margin:0; }
.home-page .principles article { display:grid;grid-template-columns:70px 1fr;gap:12px 28px;padding:28px 0;border:0;border-top:1px solid var(--experience-line); }
.home-page .principles article:first-child { padding-top:0;border:0; }
.principle-verb { padding-top:5px;font-size:12px;color:#a4b0a5; }
.home-page .principles h3 { margin:0;font-size:25px;line-height:1.3;letter-spacing:-.02em; }
.home-page .principles p { grid-column:2;color:var(--experience-muted);font-size:14px;line-height:1.65;margin:0;max-width:36ch; }
.home-page .approach-link { grid-column:1/-1;margin-top:66px;padding-block:28px;border-color:var(--experience-line);font-size:14px; }
.home-page .approach-link>span:last-child { color:#b9c5ba;font-size:13px; }
.home-page .contact { padding-block:100px 120px;display:grid;grid-template-columns:1.4fr .7fr;gap:10%;align-items:end;border-top:1px solid var(--experience-line); }
.home-page .contact h2 { font-size:clamp(54px,7vw,100px);line-height:1.04;letter-spacing:-.04em; }
.home-page .contact h2 span { color:#98a996; }
.home-page .cta-actions p { color:var(--experience-muted);font-size:15px;line-height:1.7;max-width:32ch;margin-bottom:30px; }
.home-page .cta-button { display:flex;align-items:center;justify-content:center;min-height:52px;background:#dbe4d7;color:#111811;border:0;font-size:14px; }
.home-page .cta-button:hover { background:#eff4ec; }
@media(min-width:1800px) {
  .home-page :is(.projects,.operating-model,.mission-bridge,.approach,.contact,.footer) { padding-inline:max(var(--nr-gutter),calc((100vw - 1660px)/2)); }
}
@media(max-width:1100px) {
  .home-page .project-row { grid-template-columns:minmax(0,1.45fr) minmax(230px,1fr);gap:32px 5%; }
  .home-page .project-code { grid-template-columns:minmax(230px,1fr) minmax(0,1.45fr); }
  .home-page .product-visual .preview-stage { padding:16px; }
  .home-page .operating-heading { grid-template-columns:1fr .8fr;gap:8%; }
  .home-page .operation-detail { column-gap:5%;padding:32px 24px; }
  .home-page .context-map { grid-template-columns:1fr 45px 1fr; }
  .home-page .approach { column-gap:7%; }
  .home-page .mission-bridge { padding-block:110px 90px; }
  .home-page .contact { gap:6%; }
}
@media(max-width:767px) {
  .home-page .projects { padding-block:64px; }
  .home-page .section-heading { grid-template-columns:1fr;gap:20px;margin-bottom:36px; }
  .home-page .section-heading h2 { font-size:48px;max-width:12ch; }
  .home-page .section-intro { font-size:15px;max-width:none; }
  .home-page .project-row,.home-page .project-code { display:flex;flex-direction:column;align-items:stretch;gap:26px;padding:28px 0 48px; }
  .home-page .project-header { order:0;align-items:end;gap:16px; }
  .home-page .project-header h3 { font-size:clamp(38px,10vw,64px); }
  .project-availability { font-size:10px;white-space:nowrap;margin-bottom:6px;gap:5px; }
  .home-page .project-copy { order:2;padding:0;gap:26px; }
  .home-page .project-copy>div>p:not(.project-detail) { font-size:26px; }
  .home-page .project-detail { margin-top:16px;max-width:none;font-size:14px; }
  .home-page .project-copy .text-link { max-width:none; }
  .home-page .product-visual { order:1; }
  .home-page .product-visual .preview-stage { padding:12px; }
  .home-page .visual-caption,.home-page .visual-bottom { padding:12px;font-size:9px; }
  .home-page .operating-model { padding-block:64px; }
  .home-page .operating-heading { grid-template-columns:1fr;gap:26px;margin-bottom:32px; }
  .home-page .operating-heading h2 { font-size:48px; }
  .home-page .operating-heading>p { font-size:15px;max-width:44ch; }
  .home-page .operation-brief { display:block;padding:20px 0; }
  .home-page .operation-brief p { text-align:left;margin:10px 0 0;font-size:17px; }
  .home-page .operation-stages { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .home-page .operation-stage { padding:18px 8px 20px 0;gap:6px;grid-template-columns:20px 1fr; }
  .home-page .operation-stage strong { font-size:14px; }
  .home-page .operation-stage small { font-size:11px; }
  .home-page .operation-stage::after { right:16px; }
  .home-page .operation-detail { display:flex;flex-direction:column;padding:24px 20px; }
  .home-page .trace-heading { margin-bottom:24px; }
  .home-page .context-map { order:5;min-height:0;margin-top:28px;padding-top:24px;border-top:1px solid var(--experience-line);gap:16px; }
  .home-page .context-map .map-inputs { grid-template-columns:repeat(3,minmax(0,1fr));gap:6px; }
  .home-page .map-inputs>span { font-size:10px;padding:8px 6px;overflow-wrap:anywhere; }
  .home-page .map-output { padding:16px;min-height:0; }
  .home-page .operation-detail h3 { font-size:28px; }
  .home-page .operation-detail>p { min-height:0;font-size:14px; }
  .home-page .trace-artifact ul { font-size:12px; }
  .home-page .operation-footnote { font-size:10px; }
  .home-page .mission-bridge { display:block;padding-block:76px 64px; }
  .mission-emblem { width:110%;right:-36%;top:47%; }
  .home-page .bridge-heading h2 { font-size:clamp(42px,11vw,70px); }
  .home-page .bridge-link { margin-top:30px; }
  .home-page .bridge-copy { margin-top:64px;max-width:38ch; }
  .home-page .bridge-copy .bridge-statement { font-size:23px; }
  .home-page .bridge-copy>p:not(.bridge-statement) { font-size:14px; }
  .home-page .approach { display:block;padding-block:64px 28px; }
  .home-page .approach-top h2 { font-size:38px; }
  .home-page .principles { margin-top:40px; }
  .home-page .principles article { grid-template-columns:54px 1fr;gap:12px 20px;padding-block:24px; }
  .home-page .principles h3 { font-size:22px; }
  .home-page .principles p { font-size:13px; }
  .principle-verb { font-size:11px; }
  .home-page .approach-link { margin-top:30px;font-size:12px;gap:20px; }
  .home-page .approach-link>span:last-child { font-size:12px; }
  .home-page .contact { grid-template-columns:1fr;gap:36px;padding-block:64px; }
  .home-page .contact h2 { font-size:clamp(48px,12vw,72px); }
  .home-page .cta-actions p { max-width:38ch;font-size:14px; }
  .home-page .cta-button { width:100%; }
}

/* The sequence reads as three chapters of one physical mechanism. */
.home-page .hero:not([data-stage=rest]) { background:radial-gradient(ellipse at 53% 42%,#17201a 0%,#080909 68%); }
.hero-stage-index { font-size:10px;letter-spacing:.04em;opacity:.65;font-variant-numeric:tabular-nums; }
.hero-stage-nav { gap:48px; }
.hero-stage-nav a { gap:10px;min-width:104px; }
.hero-stage-nav a[aria-current] .hero-stage-index { opacity:1; }
.home-page .hero-stage-hint { display:none; }
@media(max-width:767px) {
  .hero-stage-nav { gap:0; }
  .hero-stage-nav a { min-width:0;gap:8px; }
}

.hero-inference-guide { display:none;position:absolute;top:88px;left:var(--nr-gutter);right:var(--nr-gutter);grid-template-columns:repeat(3,1fr);gap:24px;max-width:560px;margin:auto; }
.hero[data-stage=neural] .hero-inference-guide { display:grid; }
.inference-step { padding:0 0 12px;border-bottom:1px solid #3b4540;color:#9aa69e;transition:color .3s,border-color .3s; }
.inference-step b { display:block;font-weight:400;font-size:14px; }
.inference-step small { display:block;font-size:11px;margin-top:4px; }
.inference-step[data-reached=true] { color:#e6ece4;border-color:#a6b49b; }
.inference-step[data-current=true] { border-bottom-width:2px; }
@media(max-width:767px) {
 .hero-inference-guide { top:83px;gap:14px; }
 .inference-step b { font-size:12px; }
 .inference-step small { font-size:10px; }
}
@media(max-height:500px) and (orientation:landscape) { .hero-inference-guide { display:none!important; } }
