/*
 * Public Editorial UI v2
 * Scope: public marketing pages and unauthenticated landing/auth surfaces only.
 * The authenticated workspace keeps its existing product UI.
 */

:root {
  --site-ink: #183129;
  --site-ink-deep: #10231e;
  --site-muted: #6e6a61;
  --site-paper: #f1ede4;
  --site-paper-deep: #e6dfd2;
  --site-panel: #fbf8f1;
  --site-accent: #d16f55;
  --site-red: var(--site-accent);
  --site-green: #2f6255;
  --site-gold: #b68a45;
  --site-line: rgba(24, 49, 41, .17);
  --site-line-strong: rgba(24, 49, 41, .32);
  --site-nav-height: 82px;
  --site-font-display: "Microsoft YaHei", "微软雅黑", Arial, sans-serif;
  --site-font-sans: "Microsoft YaHei", "微软雅黑", Arial, sans-serif;
  --site-font-mono: "Microsoft YaHei", "微软雅黑", Arial, sans-serif;
  --editorial-shadow: 0 28px 70px rgba(34, 37, 31, .15);
}

html {
  background: var(--site-paper);
}

body.site-public-body,
body.site-legal-document {
  min-height: 100vh;
  min-height: 100dvh;
  height: auto;
  overflow-x: hidden;
  overflow-y: auto;
  background:
    radial-gradient(circle at 16% 2%, rgba(255, 255, 255, .82), transparent 28rem),
    repeating-linear-gradient(90deg, rgba(63, 52, 38, .018) 0 1px, transparent 1px 6px),
    var(--site-paper);
  color: var(--site-ink);
}

body.site-public-body::before,
body.site-legal-document::before {
  content: "";
  position: fixed;
  inset: 0;
  z-index: -20;
  opacity: .24;
  pointer-events: none;
  background-image:
    radial-gradient(circle at 10% 20%, rgba(255, 255, 255, .74) 0 1px, transparent 1px),
    radial-gradient(circle at 80% 60%, rgba(80, 68, 50, .14) 0 1px, transparent 1px);
  background-size: 22px 22px, 29px 29px;
}

.site-page {
  width: 100%;
  min-height: 100vh;
  min-height: 100dvh;
  height: auto;
  overflow: visible;
  background: transparent;
}

.site-nav {
  position: sticky;
  top: 0;
  z-index: 80;
  min-height: var(--site-nav-height);
  padding: 0 clamp(24px, 5vw, 84px);
  border-color: rgba(24, 49, 41, .14);
  /* 2026-08-18 反馈：导航栏透明度再降一半（.88 → .94，剩余透明 .12 → .06），hero 图不再透上来 */
  background: rgba(244, 240, 232, .94);
  box-shadow: 0 1px 0 rgba(255, 255, 255, .76);
  backdrop-filter: blur(18px) saturate(.88);
}

.site-brand {
  display: inline-flex;
  align-items: center;
  gap: 11px;
  font-family: var(--site-font-display);
  font-size: 18px;
  font-weight: 700;
  letter-spacing: .08em;
}

.site-brand::before {
  content: "";
  width: 31px;
  aspect-ratio: 1;
  flex: 0 0 auto;
  background: url("/site-images/20260818-v1/orb-brand-mark-site.webp") center / contain no-repeat;
  filter: saturate(.9);
}

.site-nav-links {
  gap: clamp(18px, 2vw, 34px);
}

/* 只给顶层导航项加大点击区；此前用 `.site-nav-links a` 连下拉菜单里的项也吃到 29/27px 上下内边距，
   把「公司」下拉撑成 7 行 × 72px 的长条（2026-08-18 反馈）。 */
.site-nav-links > a,
.site-nav-links > .nav-group > a {
  padding: 29px 0 27px;
  color: #5e665e;
  font-size: 12px;
  letter-spacing: .04em;
}

.nav-menu a {
  padding: 9px 14px;
  color: #4b443f;
  font-size: 12px;
  letter-spacing: .02em;
  line-height: 1.4;
}

.site-nav-links a[aria-current="page"]::before {
  left: 0;
  right: 0;
  top: auto;
  bottom: 18px;
  width: auto;
  height: 1px;
  border-radius: 0;
  transform: none;
  background: var(--site-accent);
}

.nav-menu,
.site-account-menu {
  border: 1px solid var(--site-line);
  border-radius: 0;
  background: rgba(251, 248, 241, .98);
  box-shadow: 0 24px 60px rgba(25, 38, 32, .14);
}

/* 下拉面板贴近触发项（顶层项自带 27px 下内边距，再留 6px 即可；hover 桥 .nav-group::after 为 12px，不会掉出） */
.nav-menu {
  top: calc(100% + 6px);
  min-width: 176px;
  padding: 6px;
}

.nav-menu a:hover,
.nav-menu a:focus-visible,
.site-account-menu-item:hover {
  background: #ede7dc;
}

.site-home-login,
.site-home-register,
.site-account-link.primary,
.site-primary-action,
.site-secondary-action {
  border-radius: 0;
}

.site-home-login {
  min-width: 64px;
  border-color: var(--site-line-strong);
}

.site-home-register,
.site-account-link.primary,
.site-primary-action {
  border-color: var(--site-ink);
  background: var(--site-ink);
  color: #fff;
}

.site-home-register:hover,
.site-account-link.primary:hover,
.site-primary-action:hover {
  border-color: #284e43;
  background: #284e43;
  color: #fff;
  box-shadow: 0 10px 28px rgba(24, 49, 41, .18);
}

.site-secondary-action {
  border-color: var(--site-line-strong);
}

.site-secondary-action:hover {
  border-color: var(--site-ink);
  background: rgba(251, 248, 241, .7);
}

.site-scene {
  width: min(1600px, 100%);
  margin: 0 auto;
  padding: clamp(58px, 7vw, 104px) clamp(24px, 5vw, 84px) clamp(64px, 8vw, 112px);
  overflow: hidden;
}

.site-scene::before {
  left: auto;
  right: clamp(-210px, -10vw, -80px);
  top: 6%;
  width: min(640px, 55vw);
  max-width: none;
  opacity: .045;
  filter: saturate(.85);
  transform: rotate(-9deg);
}

.site-scene-mark {
  right: clamp(24px, 5vw, 84px);
  top: 34px;
  letter-spacing: .16em;
}

.site-eyebrow,
.editorial-kicker {
  color: var(--site-accent);
  font-family: var(--site-font-mono);
  font-size: 10px;
  letter-spacing: .16em;
  text-transform: uppercase;
}

.site-title,
.detail-head h2,
.detail-cta h2,
.editorial-section-head h2,
.editorial-hero-copy h1,
.technology-hero h1,
.product-overview-hero h1,
.case-aside h1,
.case-aside h2,
.case-artifact h1,
.lead-title,
.site-legal-hero h1 {
  font-family: var(--site-font-display);
  font-weight: 700;
  letter-spacing: -.035em;
}

.site-copy {
  color: var(--site-muted);
  font-size: 15px;
  line-height: 1.9;
}

.site-page-caption {
  bottom: 18px;
  color: #8c867b;
  letter-spacing: .13em;
}

.site-footer {
  min-height: 58px;
  padding: 13px clamp(24px, 5vw, 84px);
  border-color: var(--site-line);
  background: #e6dfd2 !important;
  color: #746f65;
}

/* Home */
.public-home .home-scene {
  width: min(1600px, 100%);
  min-height: calc(100vh - var(--site-nav-height));
  min-height: calc(100dvh - var(--site-nav-height));
  grid-template-columns: minmax(340px, .78fr) minmax(560px, 1.22fr);
  grid-template-rows: minmax(600px, auto) auto;
  column-gap: clamp(42px, 6vw, 100px);
  row-gap: 44px;
  align-items: center;
  padding-top: clamp(54px, 7vh, 90px);
  background:
    linear-gradient(90deg, rgba(255,255,255,.52), transparent 42%),
    var(--site-paper);
}

.public-home .home-scene::after {
  content: "YUANXU ZHIHUI / PROFESSIONAL CREATION";
  position: absolute;
  left: clamp(24px, 5vw, 84px);
  top: 24px;
  color: #9b9286;
  font: 9px var(--site-font-mono);
  letter-spacing: .2em;
}

.public-home .home-copy {
  max-width: 590px;
  align-self: center;
}

.public-home .home-copy .site-eyebrow {
  color: var(--site-accent) !important;
  font-size: 11px !important;
  letter-spacing: .18em !important;
}

.public-home .home-copy .site-title {
  max-width: 7.8em;
  margin-top: 20px;
  font-family: var(--site-font-display);
  font-size: clamp(58px, 6vw, 96px);
  font-weight: 700;
  line-height: .98;
  letter-spacing: -.06em;
}

.public-home .apple-home-title .wide-line {
  font-size: 1em;
}

.public-home .home-copy .site-copy {
  max-width: 34em;
  margin-top: 28px;
  color: #5f645c;
  font-size: 16px;
}

.public-home .home-actions {
  margin-top: 34px;
}

.home-scene-index {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0;
  max-width: 480px;
  margin-top: 42px;
  border-top: 1px solid var(--site-line);
  border-bottom: 1px solid var(--site-line);
}

.home-scene-index span {
  position: relative;
  padding: 12px 16px 12px 24px;
  color: #666a62;
  font-size: 11px;
}

.home-scene-index span::before {
  content: "";
  position: absolute;
  left: 3px;
  top: 50%;
  width: 7px;
  height: 7px;
  border: 1px solid currentColor;
  border-radius: 50%;
  transform: translateY(-50%);
}

.home-scene-index span:nth-child(1) { color: #456d7d; }
.home-scene-index span:nth-child(2) { color: #9a7046; }
.home-scene-index span:nth-child(3) { color: #537665; }
.home-scene-index span:nth-child(4) { color: #7b5968; }

.public-home .home-stage {
  min-height: 560px;
  padding: 22px;
  border: 1px solid rgba(236, 230, 219, .2);
  background: #15221e;
  box-shadow: var(--editorial-shadow);
}

.public-home .home-stage::before {
  content: "SELECTED SCENES / 01—05";
  position: absolute;
  left: 24px;
  top: 8px;
  z-index: 8;
  color: rgba(255,255,255,.48);
  font: 8px var(--site-font-mono);
  letter-spacing: .18em;
}

.public-home .home-stage-panels {
  width: 100%;
  height: 100%;
}

.public-home .home-stage-panel,
.public-home .home-stage-figure {
  height: 100%;
}

.public-home .home-stage .home-stage-figure {
  position: relative;
  aspect-ratio: auto;
  border: 0;
  border-radius: 0;
  background: #ddd6ca;
  box-shadow: none;
}

.public-home .home-stage .home-stage-figure::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, transparent 56%, rgba(12, 25, 21, .14));
  pointer-events: none;
}

.public-home .home-stage .home-stage-figure img {
  filter: saturate(.9) contrast(.98);
}

.public-home .home-stage-panel:first-child .home-stage-figure img {
  object-position: 76% center;
}

.public-home .home-stage-arrows {
  width: calc(100% - 12px);
}

.public-home .home-stage-arrow {
  width: 44px;
  height: 58px;
  border: 1px solid rgba(255,255,255,.34);
  border-radius: 0;
  background: rgba(18, 34, 29, .82);
  color: #fff;
  box-shadow: none;
}

.public-home .home-stage-arrow:hover {
  border-color: rgba(255,255,255,.72);
  background: rgba(18, 34, 29, .96);
  color: #fff;
}

.public-home .home-proof-wrap {
  margin: 0 clamp(-84px, -5vw, -24px);
  border-top: 1px solid var(--site-line);
  border-bottom: 1px solid var(--site-line);
  background: rgba(230, 223, 210, .72);
}

.public-home .proof-group-head {
  padding: 18px clamp(24px, 5vw, 84px) 10px;
  font-family: var(--site-font-display);
  font-size: 17px;
  font-weight: 700;
}

.public-home .home-proof {
  grid-template-columns: repeat(4, minmax(0, 1fr));
  border: 0;
  background: transparent;
}

.public-home .proof-item {
  min-height: 92px;
  padding: 18px clamp(18px, 2vw, 32px);
  background: rgba(248, 244, 236, .54);
}

.public-home .proof-item strong {
  font-family: var(--site-font-display);
  font-size: 15px;
  font-weight: 700;
}

/* Public scene pages */
.products-scene,
.solutions-scene {
  gap: 44px;
}

.scene-heading {
  align-items: end;
  padding-right: 0;
}

.product-grid,
.solution-grid {
  gap: 0;
  border: 0;
  border-top: 1px solid var(--site-line-strong);
  border-bottom: 1px solid var(--site-line-strong);
  background: transparent;
}

.product-lane,
.solution-lane {
  min-height: 420px;
  padding: 32px;
  border-left: 1px solid var(--site-line);
  background: rgba(250, 247, 240, .62);
}

.product-lane:first-child,
.solution-lane:first-child {
  border-left: 0;
}

.product-lane:hover,
.product-lane.featured,
.solution-lane:hover {
  background: var(--site-ink);
}

.product-lane h2,
.solution-lane h2 {
  font-family: var(--site-font-display);
  font-size: 38px;
  font-weight: 700;
}

.public-how .workflow-scene {
  grid-template-columns: minmax(300px, .66fr) minmax(620px, 1.34fr);
}

.workflow-board {
  min-height: 500px;
  padding: 38px;
  border: 1px solid var(--site-line-strong);
  background:
    linear-gradient(rgba(255,255,255,.54), rgba(255,255,255,.54)),
    repeating-linear-gradient(0deg, transparent 0 31px, rgba(42,58,50,.08) 31px 32px),
    #eee7da;
  box-shadow: 16px 24px 54px rgba(54, 48, 38, .11);
}

.workflow-board::before,
.workflow-rail {
  display: none;
}

.workflow-stages {
  grid-template-columns: repeat(4, minmax(0, 1fr));
  align-items: stretch;
  padding: 72px 0 0;
}

.workflow-stage {
  min-height: 250px;
  padding: 20px 16px;
  border: 0;
  border-top: 2px solid var(--site-accent);
  background: transparent;
  box-shadow: none;
}

.workflow-stage strong {
  margin-top: 34px;
  font-family: var(--site-font-display);
  font-size: 23px;
}

.public-education .education-scene,
.public-enterprise .enterprise-scene {
  grid-template-columns: minmax(340px, .72fr) minmax(620px, 1.28fr);
  min-height: 760px;
  background: transparent;
}

.public-education .education-copy .site-title,
.public-enterprise .enterprise-copy .site-title {
  font-size: clamp(56px, 5vw, 82px);
}

.education-path,
.enterprise-network {
  min-height: 560px;
  border: 0;
  background-color: #d9d1c3;
  background-position: 72% center;
  background-size: cover;
  box-shadow: var(--editorial-shadow);
}

.education-path {
  grid-template-columns: repeat(5, minmax(0, 1fr));
  align-items: end;
  padding: 0 26px 28px;
  background-image:
    linear-gradient(180deg, transparent 42%, rgba(18, 35, 29, .9) 100%),
    url("/site-images/20260818-v1/school-course.webp");
}

.education-path::before {
  content: "CAMPUS / CURRICULUM DEVELOPMENT";
  color: rgba(255,255,255,.7);
}

.education-path::after {
  display: none;
}

.grade-node,
.grade-node:nth-child(2),
.grade-node:nth-child(3),
.grade-node:nth-child(4),
.grade-node:nth-child(5) {
  min-height: 116px;
  padding: 15px 10px;
  border: 0;
  border-top: 1px solid rgba(255,255,255,.58);
  background: transparent;
  box-shadow: none;
  color: #fff;
  transform: none;
}

.grade-node small,
.grade-node span {
  color: rgba(255,255,255,.72);
}

.grade-node strong {
  font-family: var(--site-font-display);
  font-size: 16px;
}

.enterprise-network {
  background-image:
    linear-gradient(180deg, transparent 44%, rgba(9, 19, 26, .32)),
    url("/site-images/20260818-v1/business-plan.webp");
  background-position: 72% center;
}

.enterprise-network::before {
  color: rgba(255,255,255,.72);
}

.enterprise-network > * {
  display: none;
}

.public-enterprise .enterprise-scene {
  background: #dcd6ca;
}

.public-enterprise .enterprise-copy {
  position: relative;
  z-index: 1;
}

.public-enterprise .enterprise-copy .site-eyebrow {
  color: #9b713e;
}

/* Personal and start: replace application mockup with a material scene */
.public-personal .live-document,
.public-start .live-document {
  width: 100%;
  min-height: 560px;
  border: 0;
  border-radius: 0;
  background-position: 74% center;
  background-size: cover;
  box-shadow: var(--editorial-shadow);
}

.public-personal .live-document {
  background-image: url("/site-images/20260818-v1/all-scenes.webp");
}

.public-start .live-document {
  background-image: url("/site-images/20260818-v1/all-scenes.webp");
}

.public-personal .live-document > *,
.public-start .live-document > * {
  visibility: hidden;
}

.public-personal .home-scene,
.public-start .home-scene {
  min-height: 760px;
  grid-template-columns: minmax(340px, .72fr) minmax(620px, 1.28fr);
  background: transparent;
}

/* Cases */
.public-cases .cases-scene {
  grid-template-columns: 180px minmax(520px, 1fr) minmax(240px, .4fr);
  min-height: 760px;
}

.case-list {
  border-top-color: var(--site-accent);
}

.case-list button {
  padding: 16px 0;
  font-family: var(--site-font-display);
  font-size: 14px;
}

.case-artifact {
  min-height: 560px;
  padding: 54px;
  border: 1px solid rgba(74, 63, 48, .2);
  background:
    linear-gradient(rgba(255,255,255,.7), rgba(255,255,255,.7)),
    repeating-linear-gradient(0deg, transparent 0 31px, rgba(50,60,55,.06) 31px 32px),
    #f7f1e6;
  box-shadow: 18px 26px 62px rgba(44, 39, 32, .12);
  transform: rotate(-.5deg);
}

.case-artifact h1 {
  font-size: clamp(46px, 5vw, 76px);
}

.case-section {
  border-radius: 0;
  background: transparent;
}

/* Detail pages */
.detail-section {
  padding: clamp(68px, 8vw, 116px) clamp(24px, 5vw, 84px);
  background: rgba(244, 240, 232, .74);
}

.detail-section.alt {
  background: rgba(229, 222, 209, .72);
}

.detail-section > *,
.detail-cta > * {
  max-width: 1380px;
}

.detail-head {
  align-items: end;
  margin-bottom: 44px;
}

.detail-head h2 {
  font-size: clamp(36px, 4vw, 56px);
}

.detail-grid {
  gap: 0;
  border: 0;
  border-top: 1px solid var(--site-line-strong);
  border-bottom: 1px solid var(--site-line-strong);
  background: transparent;
}

.detail-cell,
.detail-section.alt .detail-cell {
  min-height: 180px;
  padding: 24px;
  border-left: 1px solid var(--site-line);
  background: rgba(250, 247, 240, .42);
}

.detail-cell:first-child {
  border-left: 0;
}

.detail-cell strong {
  margin-top: 22px;
  font-family: var(--site-font-display);
  font-size: 19px;
}

.detail-cta {
  padding: 72px clamp(24px, 5vw, 84px);
  background: var(--site-ink);
  color: #f7f1e7;
}

.detail-cta p,
.detail-cta .detail-price,
.detail-cta .detail-price small {
  color: rgba(255,255,255,.68);
}

.detail-cta .site-primary-action {
  border-color: #f7f1e7;
  background: #f7f1e7;
  color: var(--site-ink);
}

/* Contact and forms */
.lead-layout {
  gap: clamp(54px, 7vw, 110px);
}

.lead-point {
  padding: 14px 0;
  border: 0;
  border-bottom: 1px solid var(--site-line);
  background: transparent;
}

.lead-form {
  padding: clamp(28px, 4vw, 48px);
  border: 1px solid var(--site-line-strong);
  background:
    linear-gradient(rgba(255,255,255,.72), rgba(255,255,255,.72)),
    repeating-linear-gradient(0deg, transparent 0 34px, rgba(36,51,43,.05) 34px 35px),
    #f8f3e9;
  box-shadow: var(--editorial-shadow);
}

.lead-field input,
.lead-field select,
.lead-field textarea {
  border: 0;
  border-bottom: 1px solid var(--site-line-strong);
  border-radius: 0;
  background: rgba(255,255,255,.42);
}

/* Long editorial pages */
.editorial-page,
.technology-page,
.product-overview-page,
.editorial-main,
.product-overview-main {
  background: transparent;
}

.editorial-section,
.technology-hero,
.product-overview-hero {
  border-color: var(--site-line);
  background: rgba(246, 242, 234, .7);
}

.editorial-section-soft,
.product-series-section {
  background: rgba(229, 222, 209, .72);
}

.editorial-section-darkline {
  background: rgba(238, 231, 219, .74);
}

.editorial-section-number {
  color: var(--site-accent);
}

.editorial-section-number span,
.editorial-section-number span::before {
  background: rgba(209, 111, 85, .56);
}

.editorial-hero-copy h1,
.technology-hero h1,
.product-overview-hero h1 {
  font-size: clamp(54px, 5.5vw, 84px);
}

.editorial-card,
.team-profile,
.research-module,
.deployment-grid article {
  border-radius: 0;
  background: rgba(250, 247, 240, .58);
  box-shadow: none;
}

.editorial-card h3,
.team-profile h3,
.research-module h3,
.deployment-grid h3 {
  font-family: var(--site-font-display);
}

.product-overview-hero {
  grid-template-columns: minmax(380px, .76fr) minmax(560px, 1.24fr);
}

.product-foundation-band {
  min-height: 510px;
  border: 0;
  background:
    linear-gradient(90deg, rgba(18,35,29,.05), rgba(18,35,29,.1)),
    url("/site-images/20260818-v1/all-scenes.webp") 72% center / cover no-repeat;
  box-shadow: var(--editorial-shadow);
}

.product-foundation-band > * {
  visibility: hidden;
}

.product-series-grid {
  gap: 0;
  border-top: 1px solid var(--site-line-strong);
  border-bottom: 1px solid var(--site-line-strong);
}

.product-series-card {
  min-height: 500px;
  padding: 34px;
  border: 0;
  border-left: 1px solid var(--site-line);
  border-radius: 0;
  background: rgba(250,247,240,.5);
  box-shadow: none;
}

.product-series-card:first-child {
  border-left: 0;
}

.product-series-card:hover {
  border-color: var(--site-line);
  background: rgba(255,252,246,.86);
  box-shadow: none;
}

.product-series-symbol {
  border-radius: 0;
}

.product-series-card h3 {
  font-family: var(--site-font-display);
  font-size: 32px;
}

/* Legal */
.site-legal-shell {
  width: min(1040px, calc(100% - 48px));
}

.site-legal-hero {
  padding: 94px 0 62px;
}

.site-legal-content {
  padding-bottom: 110px;
}

.site-legal-notice {
  border-left-color: var(--site-accent);
  background: rgba(251, 248, 241, .66);
}

.site-legal-table th {
  background: #ebe4d8;
}

/* The fallback unauthenticated landing surface in index.html */
.landing-page,
.auth-page {
  background:
    radial-gradient(circle at 12% 8%, rgba(255,255,255,.85), transparent 30rem),
    #f1ede4;
  color: var(--site-ink);
}

.landing-brand {
  font-family: var(--site-font-display);
  color: var(--site-ink);
}

.landing-brand::before {
  content: "";
  width: 34px;
  aspect-ratio: 1;
  background: url("/site-images/20260818-v1/orb-brand-mark-site.webp") center / contain no-repeat;
}

.landing-title,
.landing-section-heading h2,
.landing-contact h2,
.auth-slogan,
.auth-panel h2 {
  font-family: var(--site-font-display);
  font-weight: 700;
  letter-spacing: -.04em;
}

.landing-preview {
  min-height: 520px;
  border: 0;
  border-radius: 0;
  background: url("/site-images/20260818-v1/all-scenes.webp") 75% center / cover no-repeat;
  box-shadow: var(--editorial-shadow);
  transform: none;
}

.landing-preview > * {
  visibility: hidden;
}

.landing-audience-grid,
.landing-product-grid {
  gap: 0;
}

.landing-audience-item,
.landing-product-item {
  border-radius: 0;
  background: rgba(249,246,239,.58);
}

.landing-product-item h3,
.landing-audience-item strong,
.landing-scene-item strong,
.landing-workflow-grid strong {
  font-family: var(--site-font-display);
}

/* Login and register */
.auth-page {
  grid-template-rows: 82px minmax(0,1fr) 50px;
}

.auth-topbar {
  min-height: 82px;
  border-color: var(--site-line);
  background: rgba(244,240,232,.9);
  backdrop-filter: blur(18px);
}

.auth-brand {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  font-family: var(--site-font-display);
  color: var(--site-ink);
  letter-spacing: .08em;
}

.auth-brand::before {
  content: "";
  width: 31px;
  aspect-ratio: 1;
  background: url("/site-images/20260818-v1/orb-brand-mark-site.webp") center / contain no-repeat;
}

.auth-stage {
  grid-template-columns: minmax(0, 1.25fr) minmax(410px, .75fr);
}

.auth-visual {
  padding: clamp(44px, 7vw, 108px);
  background-image:
    linear-gradient(90deg, rgba(12,31,25,.97) 0 38%, rgba(12,31,25,.72) 62%, rgba(12,31,25,.16) 100%),
    url("/site-images/20260818-v1/all-scenes.webp");
  background-position: center, 82% center;
  background-size: cover;
}

.auth-visual::after {
  background: rgba(255,255,255,.22);
}

.auth-visual img {
  display: none;
}

.auth-eyebrow {
  color: #efad91;
}

.auth-slogan {
  color: #fff8ec;
  font-size: clamp(56px, 6vw, 94px);
}

.auth-visual-copy p,
.auth-capabilities {
  color: rgba(255,248,236,.72);
}

.auth-capabilities span + span {
  border-color: rgba(255,255,255,.28);
}

.auth-panel {
  padding: clamp(38px, 5vw, 70px);
  border-color: var(--site-line);
  background:
    repeating-linear-gradient(0deg, transparent 0 35px, rgba(42,54,47,.04) 35px 36px),
    #faf6ee;
}

.auth-panel::before {
  height: 1px;
  background: var(--site-accent);
}

.auth-panel-eyebrow {
  color: var(--site-accent);
}

.auth-panel h2 {
  color: var(--site-ink);
  font-size: 38px;
}

.auth-method-tabs {
  border-color: var(--site-line-strong);
}

.auth-method-tab {
  border-color: var(--site-line);
}

.auth-method-tab.active {
  background: var(--site-ink);
}

.auth-field input,
.auth-field select,
.auth-phone-input {
  border: 0;
  border-bottom: 1px solid var(--site-line-strong);
  background: rgba(255,255,255,.44);
}

.auth-phone-input:focus-within,
.auth-field input:focus,
.auth-field select:focus {
  border-color: var(--site-accent);
  box-shadow: 0 2px 0 rgba(209,111,85,.16);
}

.pill-btn.solid.auth-submit {
  border-radius: 0;
  border-color: var(--site-ink);
  background: var(--site-ink);
}

.auth-footer {
  border-color: var(--site-line);
  background: #e6dfd2;
}

@media (max-width: 1180px) {
  .site-nav {
    grid-template-columns: auto 1fr auto;
  }

  .public-home .home-scene,
  .public-personal .home-scene,
  .public-start .home-scene,
  .public-education .education-scene,
  .public-enterprise .enterprise-scene,
  .product-overview-hero {
    grid-template-columns: minmax(300px, .82fr) minmax(480px, 1.18fr);
  }

  .public-home .home-copy .site-title {
    font-size: clamp(56px, 6.6vw, 78px);
  }
}

@media (max-width: 920px) {
  .site-nav {
    min-height: 70px;
  }

  .site-nav-links {
    background: rgba(244,240,232,.98);
  }

  .public-home .home-scene,
  .public-personal .home-scene,
  .public-start .home-scene,
  .public-education .education-scene,
  .public-enterprise .enterprise-scene,
  .public-how .workflow-scene,
  .product-overview-hero {
    display: grid;
    grid-template-columns: 1fr;
  }

  .public-home .home-scene {
    grid-template-areas: "copy" "demo" "proof";
    grid-template-rows: auto 620px auto;
  }

  .public-home .home-copy {
    max-width: 720px;
  }

  .public-home .home-stage {
    min-height: 600px;
  }

  .public-home .home-proof {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .education-path,
  .enterprise-network,
  .public-personal .live-document,
  .public-start .live-document,
  .product-foundation-band {
    min-height: 520px;
  }

  .public-cases .cases-scene {
    grid-template-columns: 150px minmax(0, 1fr);
  }

  .case-aside {
    grid-column: 1 / -1;
  }

  .editorial-hero-grid,
  .technology-hero,
  .editorial-section-head {
    grid-template-columns: 1fr;
  }

  .auth-stage {
    grid-template-columns: 1fr;
    overflow: visible;
  }

  .auth-page {
    height: auto;
    overflow: visible;
  }

  .auth-visual {
    min-height: 520px;
    background-position: center, 76% center;
  }
}

@media (max-width: 680px) {
  :root {
    --site-nav-height: 68px;
  }

  .site-nav {
    padding: 0 18px;
  }

  .site-brand {
    font-size: 15px;
  }

  .site-brand::before {
    width: 27px;
  }

  .site-scene {
    padding: 62px 20px 84px;
  }

  .public-home .home-scene {
    grid-template-rows: auto 430px auto;
    padding-top: 72px;
  }

  .public-home .home-copy .site-title {
    font-size: clamp(50px, 16vw, 68px);
  }

  .public-home .home-copy .site-copy {
    font-size: 14px;
  }

  .home-scene-index {
    grid-template-columns: 1fr;
  }

  .public-home .home-stage {
    min-height: 410px;
    padding: 12px;
  }

  .public-home .home-stage::before {
    display: none;
  }

  .public-home .home-stage-arrows {
    width: calc(100% + 8px);
  }

  .public-home .home-proof {
    grid-template-columns: 1fr;
  }

  .public-home .proof-item {
    border-top: 1px solid var(--site-line);
    border-left: 0;
  }

  .scene-heading,
  .detail-head,
  .product-series-head,
  .landing-contact {
    align-items: flex-start;
    flex-direction: column;
  }

  .product-grid,
  .solution-grid,
  .detail-grid,
  .detail-grid.two,
  .detail-grid.five,
  .product-series-grid,
  .editorial-card-grid,
  .landing-audience-grid,
  .landing-product-grid,
  .landing-scene-grid,
  .landing-workflow-grid {
    grid-template-columns: 1fr;
  }

  .product-lane,
  .solution-lane,
  .detail-cell,
  .product-series-card {
    min-height: 280px;
    border-top: 1px solid var(--site-line);
    border-left: 0;
  }

  .workflow-stages {
    grid-template-columns: 1fr;
  }

  .workflow-stage {
    min-height: 150px;
  }

  .education-path {
    grid-template-columns: 1fr;
    align-content: end;
    padding-top: 80px;
  }

  .grade-node,
  .grade-node:nth-child(2),
  .grade-node:nth-child(3),
  .grade-node:nth-child(4),
  .grade-node:nth-child(5) {
    min-height: 70px;
  }

  .public-cases .cases-scene {
    grid-template-columns: 1fr;
  }

  .case-artifact {
    min-height: 500px;
    padding: 32px 24px;
  }

  .editorial-section {
    grid-template-columns: 34px minmax(0,1fr);
    gap: 12px;
    padding: 72px 18px;
  }

  .editorial-section-number strong {
    font-size: 20px;
  }

  .editorial-hero-copy h1,
  .technology-hero h1,
  .product-overview-hero h1 {
    font-size: clamp(44px, 13vw, 62px);
  }

  .site-legal-section {
    grid-template-columns: 1fr;
    gap: 16px;
  }

  .auth-visual {
    min-height: 390px;
    padding: 44px 20px 96px;
  }

  .auth-slogan {
    font-size: clamp(42px, 13vw, 58px);
  }

  .auth-capabilities {
    left: 20px;
    right: 20px;
    flex-wrap: wrap;
  }

  .auth-panel {
    padding: 38px 20px 46px;
  }
}

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

/* Public Editorial UI v3
 * The reference composition is the site-wide visual baseline: warm paper,
 * editorial copy on the left, and a dark-green, photograph-led scene frame.
 */

.public-home .home-stage,
.case-artifact,
.education-path,
.enterprise-network,
.public-personal .live-document,
.public-start .live-document,
.product-foundation-band {
  border-color: #152a24;
  background-color: #152a24;
  box-shadow:
    0 26px 62px rgba(31, 39, 33, .16),
    inset 0 0 0 1px rgba(255, 255, 255, .07);
}

.education-path,
.enterprise-network,
.public-personal .live-document,
.public-start .live-document,
.product-foundation-band {
  border: clamp(12px, 1.25vw, 20px) solid #152a24;
}

.public-home .home-stage .home-stage-figure {
  isolation: isolate;
  overflow: hidden;
  background: #cfc6b7;
}

.public-home .home-stage .home-stage-figure::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 2;
  pointer-events: none;
  box-shadow:
    inset 0 0 0 1px rgba(255, 255, 255, .12),
    inset 0 0 34px rgba(17, 35, 29, .16);
}

.public-home .home-stage .home-stage-figure::after {
  z-index: 1;
  background:
    linear-gradient(90deg, rgba(18, 35, 29, .1), transparent 10%, transparent 90%, rgba(18, 35, 29, .1)),
    linear-gradient(180deg, rgba(18, 35, 29, .08), transparent 14%, transparent 76%, rgba(12, 25, 21, .2));
}

.public-home .home-stage .home-stage-figure img {
  object-position: center;
  transform: scale(1.006);
}

.public-home .home-stage-panel:first-child .home-stage-figure img {
  object-position: center;
}

.public-home .home-stage-dots {
  position: absolute;
  left: 50%;
  bottom: 13px;
  z-index: 9;
  margin: 0;
  transform: translateX(-50%);
}

.public-home .home-stage-dot {
  background: rgba(255, 255, 255, .12);
}

.public-home .home-stage-dot:hover {
  background: rgba(255, 255, 255, .32);
}

.public-home .home-stage-dot.is-active {
  background: var(--site-accent);
}

/* Cases now use a real-scene carousel instead of a floating application card. */
.public-cases .cases-scene {
  grid-template-areas:
    "aside artifact"
    "tabs tabs";
  grid-template-columns: minmax(260px, .52fr) minmax(620px, 1.48fr);
  grid-template-rows: minmax(0, 1fr) auto;
  gap: clamp(24px, 3.5vw, 64px);
  align-items: center;
}

.public-cases .case-aside {
  grid-area: aside;
  max-width: 390px;
}

.public-cases .case-aside h1,
.public-cases .case-aside h2 {
  margin-top: 18px;
  font-size: clamp(42px, 4vw, 66px);
  line-height: 1.04;
}

.public-cases .case-aside p {
  max-width: 30em;
  font-size: 13px;
  line-height: 1.9;
}

.public-cases .case-artifact {
  grid-area: artifact;
  position: relative;
  width: 100%;
  min-height: 0;
  aspect-ratio: 1.5;
  padding: 20px 20px 42px;
  overflow: hidden;
  border: 1px solid rgba(255, 255, 255, .08);
  background: #152a24;
  transform: none;
}

.case-artifact::before {
  content: "SELECTED RESULTS / 01—04";
  top: 7px;
  left: 20px;
  right: auto;
  z-index: 7;
  color: rgba(255, 255, 255, .5);
  letter-spacing: .18em;
}

.case-artifact-media {
  position: relative;
  height: 100%;
  overflow: hidden;
  background: #cfc6b7;
}

.case-artifact-media::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
  pointer-events: none;
  background:
    linear-gradient(90deg, rgba(18, 35, 29, .14), transparent 12%, transparent 88%, rgba(18, 35, 29, .13)),
    linear-gradient(180deg, rgba(18, 35, 29, .05), transparent 65%, rgba(18, 35, 29, .18));
  box-shadow: inset 0 0 30px rgba(18, 35, 29, .13);
}

.case-artifact-media > img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  filter: saturate(.86) contrast(.97);
  transform: scale(1.006);
  transition: opacity .22s ease, transform .7s ease;
}

.case-artifact[data-case-theme="course"] .case-artifact-media > img { object-position: 57% center; }
.case-artifact[data-case-theme="business"] .case-artifact-media > img { object-position: 64% center; }
.case-artifact[data-case-theme="knowledge"] .case-artifact-media > img { object-position: 58% center; }
.case-artifact[data-case-theme="gov"] .case-artifact-media > img { object-position: 58% center; }

.case-artifact-copy {
  position: absolute;
  inset: 0 auto 0 0;
  z-index: 3;
  width: min(49%, 430px);
  padding: clamp(28px, 3vw, 48px);
  background: linear-gradient(90deg, rgba(246, 241, 231, .97) 0 82%, rgba(246, 241, 231, .76) 92%, transparent 100%);
}

.case-artifact-copy .site-eyebrow {
  color: var(--site-accent);
}

.case-artifact-copy h1 {
  margin-top: 14px;
  font-size: clamp(34px, 3.3vw, 56px);
  line-height: 1.02;
}

.case-artifact-copy > p {
  max-width: 28em;
  margin-top: 15px;
  color: #5f625b;
  font-size: 11px;
  line-height: 1.75;
}

.case-artifact-copy .case-sections {
  gap: 0;
  margin-top: clamp(18px, 2.3vw, 30px);
  border-top: 1px solid var(--site-line);
  border-bottom: 1px solid var(--site-line);
}

.case-artifact-copy .case-section {
  min-height: 86px;
  padding: 12px 10px;
  border: 0;
  border-left: 1px solid var(--site-line);
}

.case-artifact-copy .case-section:first-child {
  border-left: 0;
}

.case-artifact-copy .case-section strong {
  margin-top: 9px;
  font-size: 11px;
}

.case-artifact-copy .case-section span {
  margin-top: 4px;
  font-size: 8px;
}

.case-arrows {
  position: absolute;
  left: 8px;
  right: 8px;
  top: 50%;
  z-index: 8;
  display: flex;
  justify-content: space-between;
  pointer-events: none;
  transform: translateY(-50%);
}

.case-arrows button {
  display: grid;
  width: 44px;
  height: 56px;
  padding: 0;
  place-items: center;
  border: 1px solid rgba(255, 255, 255, .32);
  border-radius: 0;
  background: rgba(18, 42, 36, .84);
  color: #fff;
  cursor: pointer;
  pointer-events: auto;
}

.case-arrows button:hover {
  border-color: rgba(255, 255, 255, .72);
  background: rgba(18, 42, 36, .98);
}

.case-arrows span {
  font-family: var(--site-font-sans);
  font-size: 26px;
  line-height: 1;
}

.public-cases .case-list {
  grid-area: tabs;
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  width: 100%;
  padding: 0;
  border-top: 1px solid var(--site-line-strong);
  border-bottom: 1px solid var(--site-line-strong);
}

.public-cases .case-list button {
  display: flex;
  min-height: 64px;
  align-items: center;
  gap: 12px;
  padding: 0 20px;
  border: 0;
  border-left: 1px solid var(--site-line);
  color: #77766f;
  font-family: var(--site-font-display);
  font-size: 14px;
}

.public-cases .case-list button:first-child {
  border-left: 0;
}

.public-cases .case-list button small {
  color: #a19a8f;
  font: 9px var(--site-font-mono);
}

.public-cases .case-list button[aria-selected="true"] {
  background: rgba(251, 248, 241, .72);
  color: var(--site-ink);
  box-shadow: inset 0 2px 0 var(--site-accent);
}

.public-cases .case-list button[aria-selected="true"] small {
  color: var(--site-accent);
}

/* Bring all primary public scenes into the same framed editorial language. */
.public-how .workflow-board,
.public-solutions .solution-grid {
  border: clamp(12px, 1.25vw, 20px) solid #152a24;
  background-color: #f1ebdf;
  box-shadow: 0 26px 62px rgba(31, 39, 33, .14);
}

.public-solutions .solution-grid {
  gap: 1px;
  background: #152a24;
}

.public-solutions .solution-lane {
  border: 0;
  background: #f4eee3;
}

.public-solutions .solution-lane + .solution-lane {
  border-left: 1px solid rgba(21, 42, 36, .18);
}

.public-products .product-foundation-band,
.public-education .education-path,
.public-enterprise .enterprise-network,
.public-personal .live-document,
.public-start .live-document {
  background-clip: padding-box;
}

@media (min-width: 921px) {
  body.public-home,
  body.public-cases,
  body.public-how,
  body.public-solutions {
    height: 100vh;
    height: 100dvh;
    overflow: hidden;
  }

  .public-home .site-page,
  .public-cases .site-page,
  .public-how .site-page,
  .public-solutions .site-page {
    height: 100vh;
    height: 100dvh;
    min-height: 0;
    overflow: hidden;
    grid-template-rows: var(--site-nav-height) minmax(0, 1fr) auto;
  }

  .public-home .home-scene {
    width: min(1600px, 100%);
    height: 100%;
    min-height: 0;
    grid-template-columns: minmax(330px, .76fr) minmax(560px, 1.24fr);
    grid-template-rows: minmax(0, 1fr) auto;
    column-gap: clamp(38px, 5vw, 84px);
    row-gap: clamp(12px, 2vh, 22px);
    padding: clamp(28px, 4vh, 44px) clamp(24px, 5vw, 84px) 0;
  }

  .public-home .home-copy {
    align-self: center;
  }

  .public-home .home-copy .site-title {
    margin-top: clamp(12px, 2vh, 20px);
    font-size: clamp(54px, 5.1vw, 86px);
  }

  .public-home .home-copy .site-copy {
    margin-top: clamp(16px, 2.6vh, 26px);
    font-size: clamp(13px, .9vw, 16px);
    line-height: 1.8;
  }

  .public-home .home-actions {
    margin-top: clamp(18px, 3vh, 30px);
  }

  .public-home .home-scene-index {
    margin-top: clamp(20px, 3.5vh, 34px);
  }

  .public-home .home-stage {
    align-self: center;
    width: 100%;
    height: auto;
    min-height: 0;
    aspect-ratio: 1.5;
    padding: 20px 20px 38px;
  }

  .public-home .home-stage-panels {
    align-self: center;
    width: 100%;
    height: auto;
    aspect-ratio: 16 / 9;
  }

  .public-home .home-stage-panel,
  .public-home .home-stage-figure {
    width: 100%;
    height: 100%;
  }

  .public-home .home-proof-wrap {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    margin-top: 0;
  }

  .public-home .proof-group {
    min-width: 0;
  }

  .public-home .proof-group + .proof-group {
    border-left: 1px solid var(--site-line);
  }

  .public-home .proof-group-head {
    padding: 9px clamp(16px, 2vw, 28px) 7px;
    font-size: 13px;
  }

  .public-home .proof-group-head span {
    margin-left: 10px;
    font-size: 7px;
  }

  .public-home .proof-item {
    min-height: 58px !important;
    padding: 10px clamp(10px, 1.4vw, 22px);
  }

  .public-home .proof-item strong {
    font-size: 12px;
  }

  .public-home .site-page-caption,
  .public-cases .site-page-caption {
    display: none;
  }

  .public-home .site-footer,
  .public-cases .site-footer,
  .public-how .site-footer,
  .public-solutions .site-footer {
    min-height: 42px;
    padding-block: 6px;
  }

  .public-cases .cases-scene {
    width: min(1600px, 100%);
    height: 100%;
    min-height: 0;
    padding: clamp(26px, 4vh, 44px) clamp(24px, 5vw, 84px) clamp(20px, 3vh, 34px);
  }

  .public-cases .case-artifact {
    align-self: center;
    max-height: min(59vh, 570px);
  }

  .public-how .workflow-scene,
  .public-solutions .solutions-scene {
    width: min(1600px, 100%);
    height: 100%;
    min-height: 0;
    padding-top: clamp(30px, 5vh, 56px);
    padding-bottom: clamp(34px, 5vh, 58px);
  }
}

@media (min-width: 921px) and (max-height: 820px) {
  :root {
    --site-nav-height: 70px;
  }

  .site-nav-links a {
    padding-top: 23px;
    padding-bottom: 21px;
  }

  .site-nav-links a[aria-current="page"]::before {
    bottom: 14px;
  }

  .public-home .home-scene {
    padding-top: 22px;
    row-gap: 10px;
  }

  .public-home .home-scene::after {
    top: 9px;
  }

  .public-home .home-copy .site-title {
    font-size: clamp(50px, 4.75vw, 72px);
  }

  .public-home .home-copy .site-copy {
    max-width: 32em;
    margin-top: 14px;
    line-height: 1.7;
  }

  .public-home .home-actions {
    margin-top: 16px;
  }

  .public-home .home-scene-index {
    margin-top: 18px;
  }

  .public-home .home-stage {
    max-height: 52vh;
  }

  .public-home .proof-group-head {
    padding-block: 7px 5px;
  }

  .public-home .proof-item {
    min-height: 50px !important;
    padding-block: 8px;
  }

  .public-cases .case-aside h1,
  .public-cases .case-aside h2 {
    font-size: clamp(38px, 3.6vw, 54px);
  }

  .public-cases .case-artifact {
    max-height: 54vh;
  }

  .public-cases .case-list button {
    min-height: 54px;
  }
}

@media (min-width: 921px) and (max-width: 1180px) {
  .public-home .home-scene {
    grid-template-columns: minmax(285px, .78fr) minmax(470px, 1.22fr);
    column-gap: 32px;
    padding-inline: 32px;
  }

  .public-home .home-copy .site-title {
    font-size: clamp(52px, 6.4vw, 72px);
  }

  .public-cases .cases-scene {
    grid-template-columns: minmax(230px, .5fr) minmax(500px, 1.5fr);
    gap: 32px;
    padding-inline: 32px;
  }

  .case-artifact-copy {
    width: 52%;
    padding: 28px;
  }

  .case-artifact-copy .case-sections {
    margin-top: 18px;
  }
}

@media (max-width: 920px) {
  .public-home .home-stage {
    width: 100%;
    min-height: 0;
    aspect-ratio: 1.5;
    padding: 16px 16px 36px;
  }

  .public-home .home-stage-panels {
    width: 100%;
    height: auto;
    aspect-ratio: 16 / 9;
  }

  .public-home .home-stage-panel,
  .public-home .home-stage-figure {
    width: 100%;
    height: 100%;
  }

  .public-cases .cases-scene {
    grid-template-areas:
      "aside"
      "artifact"
      "tabs";
    grid-template-columns: 1fr;
    grid-template-rows: auto auto auto;
  }

  .public-cases .case-aside {
    max-width: 680px;
  }

  .public-cases .case-artifact {
    aspect-ratio: 1.4;
  }

  .public-cases .case-list {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 680px) {
  .public-home .home-scene {
    grid-template-rows: auto auto auto;
  }

  .public-home .home-stage {
    aspect-ratio: auto;
    min-height: 0;
  }

  .public-home .home-stage-panels {
    aspect-ratio: 16 / 9;
  }

  .public-cases .case-artifact {
    aspect-ratio: auto;
    padding: 16px 16px 38px;
  }

  .case-artifact-media {
    height: auto;
    overflow: visible;
    background: #f5efe4;
  }

  .case-artifact-media > img {
    height: 230px;
  }

  .case-artifact-copy {
    position: relative;
    width: 100%;
    padding: 26px 22px 24px;
    background: #f5efe4;
  }

  .case-artifact-copy h1 {
    font-size: 38px;
  }

  .case-artifact-copy .case-sections {
    grid-template-columns: 1fr;
  }

  .case-artifact-copy .case-section {
    min-height: 68px;
    border-top: 1px solid var(--site-line);
    border-left: 0;
  }

  .case-arrows {
    top: 132px;
  }

  .public-cases .case-list button {
    min-height: 58px;
    padding: 0 12px;
    font-size: 12px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .case-artifact-media > img,
  .public-home .home-stage-panel,
  .public-home .home-stage-figure img {
    animation: none !important;
    transition: none !important;
  }
}

/* Photo-led variants for pages that previously exposed abstract UI diagrams. */
.public-about .cognition-map,
.public-technology .technology-foundation-map {
  min-height: 520px;
  border: clamp(12px, 1.25vw, 20px) solid #152a24;
  border-radius: 0;
  background-color: #152a24;
  background-position: center;
  background-size: cover;
  box-shadow:
    0 26px 62px rgba(31, 39, 33, .16),
    inset 0 0 42px rgba(18, 35, 29, .15);
}

.public-about .cognition-map {
  background-image:
    linear-gradient(180deg, rgba(18, 35, 29, .02) 45%, rgba(18, 35, 29, .22)),
    url("/site-images/20260818-v1/all-scenes.webp");
  background-position: 64% center;
}

.public-technology .technology-foundation-map {
  background-image:
    linear-gradient(180deg, rgba(18, 35, 29, .04) 38%, rgba(18, 35, 29, .28)),
    url("/site-images/20260818-v1/business-plan.webp");
  background-position: 66% center;
}

.public-about .cognition-map > *,
.public-technology .technology-foundation-map > * {
  visibility: hidden;
}

.public-how .workflow-board {
  background-image:
    linear-gradient(180deg, rgba(13, 31, 26, .08) 18%, rgba(13, 31, 26, .9) 100%),
    url("/site-images/20260818-v1/all-scenes.webp");
  background-position: 62% center;
  background-size: cover;
}

.public-how .workflow-head {
  color: rgba(255, 255, 255, .68);
}

.public-how .workflow-stages {
  align-items: end;
  padding-top: 180px;
}

.public-how .workflow-stage {
  min-height: 170px;
  border-top-color: rgba(255, 255, 255, .62);
  color: #fff;
}

.public-how .workflow-stage small,
.public-how .workflow-stage span {
  color: rgba(255, 255, 255, .68);
}

.public-how .workflow-stage strong {
  margin-top: 22px;
}

.public-solutions .solution-lane {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  color: #fff;
  background-position: center;
  background-size: cover;
}

.public-solutions .solution-lane::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  background: linear-gradient(180deg, rgba(13, 31, 26, .12) 20%, rgba(13, 31, 26, .88) 100%);
}

.public-solutions .solution-lane:first-child {
  background-image: url("/site-images/20260818-v1/school-course.webp");
  background-position: 58% center;
}

.public-solutions .solution-lane:last-child {
  background-image: url("/site-images/20260818-v1/business-plan.webp");
  background-position: 64% center;
}

.public-solutions .solution-lane:hover,
.public-solutions .solution-lane:focus-visible {
  background-color: #152a24;
}

.public-solutions .solution-lane p,
.public-solutions .solution-lane .lane-number,
.public-solutions .solution-lane .lane-bottom {
  color: rgba(255, 255, 255, .76);
}

.public-solutions .solution-lane h2,
.public-solutions .solution-lane .lane-bottom b {
  color: #fff;
}

@media (max-width: 920px) {
  .public-about .cognition-map,
  .public-technology .technology-foundation-map {
    min-height: 420px;
  }

  .public-how .workflow-stages {
    padding-top: 120px;
  }
}

@media (max-width: 680px) {
  .public-about .cognition-map,
  .public-technology .technology-foundation-map {
    min-height: 300px;
  }

  .public-how .workflow-stages {
    padding-top: 160px;
  }

  .public-how .workflow-stage {
    min-height: 118px;
  }
}

/* Case themes: selecting a result changes the complete page environment. */
body.public-cases {
  --case-page: #edf1e8;
  --case-nav: #f2f2e9;
  --case-frame: #17372f;
  --case-copy-rgb: 244, 241, 229;
  --case-scene-image: url("/site-images/20260818-v1/school-course.webp");
  --case-scene-position: 58% center;
  --case-scene-opacity: .17;
  --site-ink: #19372f;
  --site-muted: #667068;
  --site-accent: #c46f53;
  --site-red: var(--site-accent);
  --site-line: rgba(25, 55, 47, .16);
  --site-line-strong: rgba(25, 55, 47, .3);
  background-color: var(--case-page);
  transition: background-color .38s ease, color .38s ease;
}

body.public-cases[data-case-theme="business"] {
  --case-page: #d9d3c7;
  --case-nav: #e5dfd3;
  --case-frame: #101f25;
  --case-copy-rgb: 237, 232, 220;
  --case-scene-image: url("/site-images/20260818-v1/business-plan.webp");
  --case-scene-position: 66% center;
  --case-scene-opacity: .2;
  --site-ink: #14292d;
  --site-muted: #676860;
  --site-accent: #aa7740;
  --site-red: var(--site-accent);
  --site-line: rgba(20, 41, 45, .17);
  --site-line-strong: rgba(20, 41, 45, .32);
}

body.public-cases[data-case-theme="knowledge"] {
  --case-page: #e2e8e6;
  --case-nav: #eaf0ed;
  --case-frame: #16323a;
  --case-copy-rgb: 239, 242, 237;
  --case-scene-image: url("/site-images/20260818-v1/academic-paper.webp");
  --case-scene-position: 56% center;
  --case-scene-opacity: .15;
  --site-ink: #203b42;
  --site-muted: #627176;
  --site-accent: #63808b;
  --site-red: var(--site-accent);
  --site-line: rgba(32, 59, 66, .16);
  --site-line-strong: rgba(32, 59, 66, .3);
}

body.public-cases[data-case-theme="gov"] {
  --case-page: #e6dfd7;
  --case-nav: #eee7df;
  --case-frame: #202b27;
  --case-copy-rgb: 242, 236, 226;
  --case-scene-image: url("/site-images/20260818-v1/all-scenes.webp");
  --case-scene-position: 62% center;
  --case-scene-opacity: .14;
  --site-ink: #2b3530;
  --site-muted: #706b65;
  --site-accent: #985747;
  --site-red: var(--site-accent);
  --site-line: rgba(43, 53, 48, .16);
  --site-line-strong: rgba(43, 53, 48, .3);
}

.public-cases .site-page {
  background: var(--case-page);
  transition: background-color .38s ease;
}

.public-cases .site-nav {
  background: color-mix(in srgb, var(--case-nav) 92%, transparent);
  transition: background-color .38s ease, border-color .38s ease;
}

.public-cases .site-footer {
  background: var(--case-nav) !important;
  transition: background-color .38s ease, border-color .38s ease;
}

.public-cases .cases-scene {
  background:
    radial-gradient(circle at 18% 24%, rgba(255, 255, 255, .72), transparent 27rem),
    var(--case-page);
  transition: background-color .38s ease, color .38s ease;
}

.public-cases .cases-scene::before {
  inset: 0;
  z-index: -2;
  width: auto;
  max-width: none;
  aspect-ratio: auto;
  background-image: var(--case-scene-image);
  background-position: var(--case-scene-position);
  background-size: cover;
  opacity: var(--case-scene-opacity);
  filter: saturate(.72) contrast(.9);
  transform: none;
  transition: background-image .3s ease, opacity .38s ease;
}

.public-cases .cases-scene::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  pointer-events: none;
  background:
    linear-gradient(90deg, var(--case-page) 0 22%, color-mix(in srgb, var(--case-page) 82%, transparent) 47%, color-mix(in srgb, var(--case-page) 65%, transparent) 72%, var(--case-page) 100%),
    linear-gradient(180deg, color-mix(in srgb, var(--case-page) 78%, transparent), transparent 38%, color-mix(in srgb, var(--case-page) 82%, transparent));
}

.public-cases .case-aside,
.public-cases .case-aside h1,
.public-cases .case-aside h2,
.public-cases .case-aside p,
.public-cases .case-meta {
  transition: color .38s ease, border-color .38s ease;
}

.public-cases .case-aside {
  position: relative;
  padding: 26px 28px 28px;
  margin-left: -28px;
  background: linear-gradient(90deg, color-mix(in srgb, var(--case-page) 92%, transparent), color-mix(in srgb, var(--case-page) 58%, transparent) 84%, transparent);
  backdrop-filter: blur(7px);
}

.public-cases .case-artifact {
  border-color: color-mix(in srgb, var(--case-frame) 82%, #fff);
  background: var(--case-frame);
  box-shadow:
    0 26px 64px color-mix(in srgb, var(--case-frame) 22%, transparent),
    inset 0 0 0 1px rgba(255, 255, 255, .07);
  transition: background-color .38s ease, border-color .38s ease, box-shadow .38s ease;
}

.public-cases .case-artifact-copy {
  background: linear-gradient(90deg, rgba(var(--case-copy-rgb), .98) 0 82%, rgba(var(--case-copy-rgb), .78) 92%, transparent 100%);
  transition: background .38s ease;
}

.public-cases .case-arrows button {
  background: color-mix(in srgb, var(--case-frame) 88%, transparent);
  transition: background-color .25s ease, border-color .25s ease;
}

.public-cases .case-arrows button:hover {
  background: var(--case-frame);
}

.public-cases .case-list {
  background: color-mix(in srgb, var(--case-page) 74%, transparent);
  backdrop-filter: blur(9px);
  transition: background-color .38s ease, border-color .38s ease;
}

.public-cases .case-list button {
  transition: background-color .28s ease, color .28s ease, border-color .28s ease, box-shadow .28s ease;
}

.public-cases .case-list button[aria-selected="true"] {
  background: color-mix(in srgb, var(--case-nav) 86%, transparent);
  box-shadow: inset 0 2px 0 var(--site-accent);
}

@media (max-width: 680px) {
  .public-cases .case-aside {
    padding: 0;
    margin-left: 0;
    background: transparent;
    backdrop-filter: none;
  }

  .public-cases .cases-scene::before {
    opacity: .1;
  }

  .public-cases .case-artifact-copy {
    background: rgb(var(--case-copy-rgb));
  }
}

/* V5 — bright, scene-first modules. Public information reads like an editorial
   system instead of a collection of application cards. */
.detail-scene-figure {
  position: relative;
  width: 100%;
  margin: 0 0 42px;
  aspect-ratio: 16 / 7.5;
  overflow: hidden;
  border: clamp(10px, 1.2vw, 18px) solid #173129;
  background: #e9e5da;
  box-shadow: 0 22px 54px rgba(32, 43, 36, .12);
}

.detail-scene-figure::after {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .28);
}

.detail-scene-figure img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  filter: brightness(1.06) saturate(.88) contrast(.96);
}

.education-k12-figure img { object-position: 52% 53%; }
.enterprise-knowledge-figure img { object-position: 50% 55%; }
.partner-meeting-figure img { object-position: 50% 53%; }

/* How it works: one bright studio scene with an integrated process index. */
.public-how .workflow-board {
  min-height: 570px;
  padding: 28px 30px 30px;
  border: clamp(12px, 1.25vw, 20px) solid #173129;
  background-image:
    linear-gradient(180deg, rgba(11, 31, 25, 0) 46%, rgba(11, 31, 25, .18) 65%, rgba(11, 31, 25, .78) 100%),
    url("/site-images/20260818-v1/workflow-studio-v2.webp");
  background-position: 54% center;
  background-size: cover;
  box-shadow: 0 24px 56px rgba(31, 43, 36, .13);
}

.public-how .workflow-head {
  color: rgba(23, 49, 41, .8);
  text-shadow: 0 1px 12px rgba(255, 255, 255, .78);
}

.public-how .workflow-stages {
  align-items: end;
  gap: 0;
  padding-top: 280px;
}

.public-how .workflow-stage {
  min-height: 158px;
  padding: 18px 17px 6px;
  border-top: 1px solid rgba(255, 255, 255, .72);
  border-left: 1px solid rgba(255, 255, 255, .28);
  color: #fff;
  background: transparent;
  text-shadow: 0 1px 12px rgba(7, 20, 16, .46);
}

.public-how .workflow-stage:first-child { border-left: 0; }

.public-how .workflow-stage strong {
  margin-top: 24px;
  font-size: 24px;
}

.public-how .workflow-stage small,
.public-how .workflow-stage span {
  color: rgba(255, 255, 255, .8);
}

/* Products: three real-world routes, not three abstract software tiles. */
.public-products .product-series-grid {
  gap: 1px;
  padding: clamp(10px, 1.15vw, 17px);
  border: 0;
  background: #173129;
}

.public-products .product-series-card {
  position: relative;
  isolation: isolate;
  min-height: 630px;
  justify-content: flex-end;
  gap: 20px;
  padding: 330px 30px 28px;
  overflow: hidden;
  border: 0;
  color: #173129;
  background: #f5f0e6;
}

.public-products .product-series-card::before {
  content: "";
  position: absolute;
  inset: 0 0 auto;
  z-index: -2;
  height: 48%;
  background-position: center;
  background-size: cover;
  filter: brightness(1.07) saturate(.85) contrast(.96);
  transition: transform .45s ease;
}

.public-products .product-series-card::after {
  content: "";
  position: absolute;
  inset: 39% 0 auto;
  z-index: -1;
  height: 14%;
  background: linear-gradient(180deg, transparent, #f5f0e6 88%);
}

.public-products .product-series-personal::before {
  background-image: url("/site-images/20260818-v1/long-narrative.webp");
  background-position: 54% 48%;
}

.public-products .product-series-education::before {
  background-image: url("/site-images/20260818-v1/k12-classroom-v2.webp");
  background-position: 52% 52%;
}

.public-products .product-series-enterprise::before {
  background-image: url("/site-images/20260818-v1/enterprise-knowledge-v2.webp");
  background-position: 54% 52%;
}

.public-products .product-series-card:hover {
  color: #173129;
  background: #fbf7ef;
}

.public-products .product-series-card:hover::before { transform: scale(1.018); }

.public-products .product-series-card-head {
  position: absolute;
  inset: 20px 20px auto;
  align-items: center;
}

.public-products .product-series-card-head > span {
  padding: 7px 9px;
  color: #fff;
  background: rgba(16, 43, 35, .84);
  backdrop-filter: blur(7px);
}

.public-products .product-series-symbol { display: none; }

.public-products .product-series-card h3 {
  font-size: clamp(27px, 2.1vw, 34px);
  line-height: 1.2;
}

.public-products .product-series-card footer {
  border-top-color: rgba(23, 49, 41, .24);
  color: #173129;
}

/* Flat editorial ledgers replace the inherited boxed-card language. */
.public-education .detail-grid,
.public-enterprise .detail-grid,
.public-partners .detail-grid,
.public-personal .detail-grid,
.public-careers .detail-grid,
.editorial-card-grid,
.team-grid,
.deployment-grid {
  gap: 0;
  border: 0;
  border-top: 1px solid var(--site-line-strong);
  border-bottom: 1px solid var(--site-line-strong);
  background: transparent;
}

.public-education .detail-cell,
.public-enterprise .detail-cell,
.public-partners .detail-cell,
.public-personal .detail-cell,
.public-careers .detail-cell,
.editorial-card,
.team-profile,
.deployment-grid article {
  min-height: 190px;
  padding: 25px 26px 28px;
  border: 0;
  border-left: 1px solid var(--site-line);
  border-radius: 0;
  background: transparent !important;
  box-shadow: none;
  transform: none;
}

.public-education .detail-cell:first-child,
.public-enterprise .detail-cell:first-child,
.public-partners .detail-cell:first-child,
.public-personal .detail-cell:first-child,
.public-careers .detail-cell:first-child,
.editorial-card:first-child,
.team-profile:first-child,
.deployment-grid article:first-child {
  border-left: 0;
}

.public-education .detail-cell:hover,
.public-enterprise .detail-cell:hover,
.public-partners .detail-cell:hover,
.public-personal .detail-cell:hover,
.public-careers .detail-cell:hover,
.editorial-card:hover,
.team-profile:hover,
.deployment-grid article:hover {
  background: rgba(255, 255, 255, .25) !important;
  box-shadow: none;
  transform: none;
}

.public-education .detail-cell strong,
.public-enterprise .detail-cell strong,
.public-partners .detail-cell strong,
.public-personal .detail-cell strong,
.public-careers .detail-cell strong {
  max-width: 18em;
  font-size: clamp(18px, 1.45vw, 22px);
  line-height: 1.35;
}

.public-education .detail-cell small,
.public-enterprise .detail-cell small,
.public-partners .detail-cell small,
.public-personal .detail-cell small,
.public-careers .detail-cell small {
  display: inline-flex;
  width: fit-content;
  padding-bottom: 8px;
  border-bottom: 2px solid currentColor;
}

.research-module {
  border: 0;
  border-top: 1px solid var(--site-line-strong);
  border-bottom: 1px solid var(--site-line-strong);
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}

/* Page-specific material and tone. */
.public-education #k12 {
  background:
    radial-gradient(circle at 88% 12%, rgba(255, 255, 255, .72), transparent 27rem),
    #e9ede4;
}

.public-education #k12 .detail-cell { color: #20453c; }

.public-enterprise #capabilities {
  color: #18333a;
  background:
    radial-gradient(circle at 10% 8%, rgba(255, 255, 255, .72), transparent 28rem),
    #e4e8e5;
}

.public-enterprise #capabilities .detail-cell small { color: #4e7881; }

.public-partners .detail-section:first-of-type {
  background:
    radial-gradient(circle at 86% 8%, rgba(255, 255, 255, .8), transparent 28rem),
    #eee9df;
}

.public-contact .lead-section {
  background:
    radial-gradient(circle at 8% 8%, rgba(255, 255, 255, .88), transparent 28rem),
    #eeeae1;
}

.public-contact .contact-consultation-figure {
  margin: 30px 0 0;
  aspect-ratio: 3 / 2;
  border-width: 12px;
}

.public-contact .contact-consultation-figure img { object-position: 51% 54%; }

.public-contact .lead-points {
  gap: 0;
  margin-top: 26px;
  border-top: 1px solid var(--site-line-strong);
}

.public-contact .lead-point {
  min-height: 62px;
  padding: 15px 2px;
  border-bottom: 1px solid var(--site-line);
}

.public-contact .lead-point small { min-width: 78px; }

.public-contact .lead-form {
  border: 1px solid rgba(23, 49, 41, .32);
  background:
    linear-gradient(rgba(255, 255, 255, .76), rgba(255, 255, 255, .76)),
    repeating-linear-gradient(0deg, transparent 0 34px, rgba(36, 51, 43, .05) 34px 35px),
    #fbf7ef;
  box-shadow: 16px 20px 44px rgba(31, 43, 36, .08);
}

@media (max-width: 1100px) {
  .public-how .workflow-stages { padding-top: 220px; }

  .public-products .product-series-card {
    min-height: 590px;
    padding-top: 300px;
  }
}

@media (max-width: 900px) {
  .detail-scene-figure { aspect-ratio: 16 / 9; }

  .public-how .workflow-board { min-height: 620px; }

  .public-how .workflow-stages {
    grid-template-columns: 1fr 1fr;
    padding-top: 250px;
  }

  .public-how .workflow-stage { min-height: 126px; }

  .public-products .product-series-grid { grid-template-columns: 1fr; }

  .public-products .product-series-card {
    min-height: 530px;
    padding-top: 285px;
  }

  .public-education .detail-cell:nth-child(odd),
  .public-enterprise .detail-cell:nth-child(odd),
  .public-partners .detail-cell:nth-child(odd),
  .public-personal .detail-cell:nth-child(odd),
  .public-careers .detail-cell:nth-child(odd),
  .editorial-card:nth-child(odd),
  .deployment-grid article:nth-child(odd) {
    border-left: 0;
  }
}

@media (max-width: 620px) {
  .detail-scene-figure {
    margin-bottom: 28px;
    aspect-ratio: 4 / 3;
    border-width: 8px;
  }

  .public-how .workflow-board {
    min-height: 690px;
    padding: 22px 20px;
    background-position: 60% center;
  }

  .public-how .workflow-stages {
    grid-template-columns: 1fr;
    padding-top: 230px;
  }

  .public-how .workflow-stage {
    min-height: 88px;
    padding: 12px 2px;
    border-left: 0;
  }

  .public-how .workflow-stage strong { margin-top: 8px; }

  .public-products .product-series-grid { padding: 8px; }

  .public-products .product-series-card {
    min-height: 500px;
    padding: 270px 22px 24px;
  }

  .public-education .detail-cell,
  .public-enterprise .detail-cell,
  .public-partners .detail-cell,
  .public-personal .detail-cell,
  .public-careers .detail-cell,
  .editorial-card,
  .team-profile,
  .deployment-grid article {
    min-height: 0;
    padding: 24px 2px;
    border-top: 1px solid var(--site-line);
    border-left: 0;
  }
}

/* V6 — separate the homepage canvas from its scene carousel and remove the
   dark gutters that made photo modules look nested inside another card. */
.public-home .home-scene {
  isolation: isolate;
  background:
    linear-gradient(90deg, #f3efe7 0 30%, rgba(243, 239, 231, .98) 39%, rgba(243, 239, 231, .9) 52%, rgba(243, 239, 231, .68) 76%, rgba(243, 239, 231, .58) 100%),
    linear-gradient(180deg, rgba(246, 242, 234, .54), rgba(238, 232, 221, .68)),
    url("/site-images/20260818-v1/hero-books.webp") 67% 51% / cover no-repeat;
}

.public-home .home-scene::before {
  display: none;
}

.public-home .home-copy,
.public-home .home-proof-wrap,
.public-home .home-stage {
  position: relative;
  z-index: 2;
}

.public-home .home-stage {
  width: min(100%, 780px);
  min-height: 0;
  aspect-ratio: 16 / 9;
  justify-self: end;
  padding: 0;
  overflow: hidden;
  border: 1px solid rgba(244, 239, 229, .76);
  background: transparent;
  box-shadow:
    0 24px 58px rgba(25, 38, 32, .16),
    0 0 0 1px rgba(23, 49, 41, .14);
}

.public-home .home-stage::before {
  content: "SELECTED SCENES / 01—04";
  left: 16px;
  top: 14px;
  padding: 7px 9px;
  color: rgba(255, 255, 255, .82);
  background: rgba(15, 39, 32, .66);
  text-shadow: 0 1px 8px rgba(0, 0, 0, .28);
  backdrop-filter: blur(7px);
}

.public-home .home-stage-panels,
.public-home .home-stage-panel,
.public-home .home-stage-figure {
  width: 100%;
  height: 100%;
  aspect-ratio: auto;
}

.public-home .home-stage .home-stage-figure {
  background: #e7e1d5;
}

.public-home .home-stage .home-stage-figure::before {
  box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .2);
}

.public-home .home-stage .home-stage-figure::after {
  background:
    linear-gradient(90deg, rgba(16, 37, 30, .08), transparent 8%, transparent 92%, rgba(16, 37, 30, .08)),
    linear-gradient(180deg, rgba(16, 37, 30, .04), transparent 66%, rgba(16, 37, 30, .16));
}

.public-home .home-stage .home-stage-figure img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  filter: brightness(1.045) saturate(.9) contrast(.96);
  transform: scale(1.002);
}

.public-home .home-stage-panel:first-child .home-stage-figure img {
  object-position: 54% center;
}

.public-home .home-stage-arrows {
  left: 10px;
  right: 10px;
  width: auto;
  transform: translateY(-50%);
}

.public-home .home-stage-arrow {
  width: 42px;
  height: 52px;
  border-color: rgba(255, 255, 255, .54);
  background: rgba(18, 42, 35, .68);
  backdrop-filter: blur(8px);
}

.public-home .home-stage-dots {
  bottom: 14px;
  gap: 7px;
  padding: 8px 10px;
  border: 1px solid rgba(255, 255, 255, .18);
  border-radius: 999px;
  background: rgba(15, 39, 32, .62);
  backdrop-filter: blur(8px);
}

.public-home .home-stage-dot {
  width: 7px;
  height: 7px;
  background: rgba(255, 255, 255, .42);
}

.public-home .home-stage-dot.is-active {
  width: 22px;
  background: #d7775d;
}

/* Solutions use clean photography; all copy is rendered by the page so there
   is no duplicated title or brand mark baked into the image. */
.public-solutions .solution-grid {
  gap: 0;
  padding: 0;
  overflow: hidden;
  border: 1px solid rgba(23, 49, 41, .22);
  background: transparent;
  box-shadow: 0 24px 56px rgba(31, 43, 36, .12);
}

.public-solutions .solution-lane {
  min-height: 500px;
  padding: clamp(28px, 3vw, 44px);
  color: #fff;
  background-color: #dfe5df;
  background-position: center;
  background-size: cover;
  text-shadow: 0 1px 12px rgba(7, 24, 18, .36);
}

.public-solutions .solution-lane::before {
  background:
    linear-gradient(90deg, rgba(13, 34, 28, .7) 0, rgba(13, 34, 28, .38) 38%, rgba(13, 34, 28, .08) 70%),
    linear-gradient(180deg, rgba(13, 34, 28, .06) 36%, rgba(13, 34, 28, .66) 100%);
}

.public-solutions .solution-lane::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  pointer-events: none;
  box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .18);
}

.public-solutions .solution-lane:first-child {
  background-image: url("/site-images/20260818-v1/k12-classroom-v2.webp");
  background-position: 52% 52%;
}

.public-solutions .solution-lane:last-child {
  background-image: url("/site-images/20260818-v1/enterprise-knowledge-v2.webp");
  background-position: 54% 52%;
}

.public-solutions .solution-lane + .solution-lane {
  border-left: 1px solid rgba(244, 239, 229, .62);
}

.public-solutions .solution-lane h2,
.public-solutions .solution-lane p,
.public-solutions .solution-lane .lane-number,
.public-solutions .solution-lane .lane-bottom,
.public-solutions .solution-lane .lane-bottom b {
  color: #fff;
}

.public-solutions .solution-lane p {
  max-width: 24em;
  color: rgba(255, 255, 255, .84);
}

.public-solutions .solution-lane:hover,
.public-solutions .solution-lane:focus-visible {
  background-color: #dfe5df;
}

@media (max-width: 920px) {
  .public-home .home-scene {
    background:
      linear-gradient(180deg, rgba(243, 239, 231, .98) 0 38%, rgba(243, 239, 231, .78) 64%, rgba(243, 239, 231, .62)),
      url("/site-images/20260818-v1/hero-books.webp") 67% 36% / cover no-repeat;
  }

  .public-home .home-stage {
    width: 100%;
    aspect-ratio: 16 / 9;
  }
}

@media (max-width: 680px) {
  .public-home .home-stage::before {
    left: 10px;
    top: 10px;
    font-size: 7px;
  }

  .public-home .home-stage-arrow {
    width: 38px;
    height: 46px;
  }

  .public-solutions .solution-lane {
    min-height: 360px;
  }

  .public-solutions .solution-lane + .solution-lane {
    border-top: 1px solid rgba(244, 239, 229, .62);
    border-left: 0;
  }
}

/* V7 — restore the branded homepage depth and normalize every photographic
   module to a full-bleed image with a quiet hairline instead of a dark frame. */
.public-home .home-stage::before,
.public-cases .case-artifact::before {
  content: none;
  display: none;
}

.public-home .home-scene {
  background:
    linear-gradient(90deg, #f3efe7 0 27%, rgba(243, 239, 231, .95) 38%, rgba(243, 239, 231, .58) 54%, rgba(243, 239, 231, .2) 76%, rgba(243, 239, 231, .1) 100%),
    linear-gradient(180deg, rgba(246, 242, 234, .18), rgba(229, 221, 209, .28)),
    url("/site-images/20260818-v1/hero-books.webp") 67% 51% / cover no-repeat;
}

.public-home .home-scene::before {
  display: block;
  left: 51%;
  right: auto;
  top: 47%;
  z-index: 0;
  width: min(520px, 36vw);
  max-width: 520px;
  aspect-ratio: 1;
  opacity: .12;
  background: url("/site-images/20260818-v1/orb-brand-mark-site.webp") center / contain no-repeat;
  filter: saturate(.82) contrast(.96);
  transform: translate(-50%, calc(-50% + var(--orb-shift, 0px))) rotate(-7deg);
}

.public-home .home-copy {
  text-shadow: 0 1px 20px rgba(247, 243, 235, .8);
}

.public-home .home-stage,
.public-solutions .solution-grid,
.public-how .workflow-board,
.public-cases .case-artifact,
.public-about .cognition-map,
.public-technology .technology-foundation-map,
.public-products .product-foundation-band,
.public-education .education-path,
.public-enterprise .enterprise-network,
.public-personal .live-document,
.public-start .live-document,
.detail-scene-figure {
  border: 1px solid rgba(23, 49, 41, .2);
  background-clip: border-box;
  box-shadow:
    0 22px 52px rgba(31, 43, 36, .12),
    0 0 0 1px rgba(255, 255, 255, .28);
}

.public-home .home-stage,
.public-cases .case-artifact,
.public-solutions .solution-grid,
.detail-scene-figure {
  padding: 0;
}

.public-home .home-stage,
.public-cases .case-artifact,
.public-solutions .solution-grid,
.public-about .cognition-map,
.public-technology .technology-foundation-map,
.public-products .product-foundation-band,
.public-how .workflow-board,
.detail-scene-figure {
  overflow: hidden;
}

.public-home .home-stage .home-stage-figure::before,
.case-artifact-media::after,
.detail-scene-figure::after {
  box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .2);
}

/* Product photography no longer sits inside a dark mounting board. */
.public-products .product-series-grid {
  gap: 0;
  padding: 0;
  overflow: hidden;
  border: 1px solid rgba(23, 49, 41, .2);
  background: #f5f0e6;
  box-shadow: 0 22px 52px rgba(31, 43, 36, .11);
}

.public-products .product-series-card + .product-series-card {
  border-left: 1px solid rgba(23, 49, 41, .18);
}

/* The workflow copy remains integrated with its photo; only the artificial
   outer mount is removed. */
.public-how .workflow-board {
  padding: 28px 30px 30px;
  background-color: #e7e1d5;
}

/* Case imagery fills the complete artifact. Controls and copy stay overlaid. */
.public-cases .case-artifact {
  background: #e6dfd4;
}

.public-cases .case-artifact-media {
  width: 100%;
  height: 100%;
}

.public-cases .case-artifact-media::after {
  background:
    linear-gradient(90deg, rgba(18, 35, 29, .08), transparent 9%, transparent 91%, rgba(18, 35, 29, .07)),
    linear-gradient(180deg, rgba(18, 35, 29, .03), transparent 72%, rgba(18, 35, 29, .12));
}

/* About, technology, contact and partner photos share the same quiet edge. */
.public-about .cognition-map,
.public-technology .technology-foundation-map {
  background-color: #e7e1d5;
}

.detail-scene-figure,
.public-contact .contact-consultation-figure {
  border-width: 1px;
}

@media (max-width: 920px) {
  .public-home .home-scene {
    background:
      linear-gradient(180deg, rgba(243, 239, 231, .94) 0 31%, rgba(243, 239, 231, .58) 55%, rgba(243, 239, 231, .24)),
      linear-gradient(90deg, rgba(243, 239, 231, .72), rgba(243, 239, 231, .18)),
      url("/site-images/20260818-v1/hero-books.webp") 67% 36% / cover no-repeat;
  }

  .public-home .home-scene::before {
    left: 72%;
    top: 38%;
    width: min(420px, 58vw);
    opacity: .1;
  }
}

@media (max-width: 680px) {
  .public-home .home-scene::before {
    left: 70%;
    top: 34%;
    width: 68vw;
    opacity: .08;
  }

  .public-products .product-series-card + .product-series-card {
    border-top: 1px solid rgba(23, 49, 41, .18);
    border-left: 0;
  }

  .public-how .workflow-board {
    padding: 22px 20px;
  }

  .public-cases .case-artifact {
    padding: 0;
  }
}

/* V12 — keep only about 10% of the homepage photograph visible at the right edge. */
.public-home .home-scene {
  background: #f3efe7;
}

.public-home .home-scene-backdrop {
  position: absolute;
  inset: 0;
  z-index: 0;
  pointer-events: none;
  background:
    linear-gradient(90deg, #f3efe7 0 27%, rgba(243, 239, 231, .95) 38%, rgba(243, 239, 231, .8) 54%, rgba(243, 239, 231, .86) 76%, rgba(243, 239, 231, .87) 100%),
    linear-gradient(180deg, rgba(246, 242, 234, .18), rgba(229, 221, 209, .28)),
    url("/site-images/20260818-v1/hero-books.webp") 67% 51% / cover no-repeat;
}

.public-home .home-scene::before {
  z-index: 1;
}

@media (max-width: 920px) {
  .public-home .home-scene {
    background: #f3efe7;
  }

  .public-home .home-scene-backdrop {
    background:
      linear-gradient(180deg, rgba(243, 239, 231, .94) 0 31%, rgba(243, 239, 231, .58) 55%, rgba(243, 239, 231, .24)),
      linear-gradient(90deg, rgba(243, 239, 231, .9), rgba(243, 239, 231, .87)),
      url("/site-images/20260818-v1/hero-books.webp") 67% 36% / cover no-repeat;
  }
}

/* V13 — five-page homepage carousel with an outcome-first information hierarchy. */
.public-home .home-scene-index span:nth-child(5) {
  grid-column: 1 / -1;
  color: #765f8f;
}

.public-home .home-stage-panel {
  isolation: isolate;
  overflow: hidden;
}

.public-home .home-stage-content {
  position: absolute;
  inset: 0;
  z-index: 4;
  display: flex;
  min-width: 0;
  flex-direction: column;
  justify-content: flex-end;
  padding: clamp(64px, 8vw, 106px) clamp(68px, 7vw, 96px) clamp(52px, 6vw, 76px);
  color: #fff;
  background:
    linear-gradient(180deg, rgba(10, 25, 21, .08) 0 28%, rgba(10, 25, 21, .56) 62%, rgba(9, 24, 20, .94) 100%),
    linear-gradient(90deg, rgba(8, 24, 19, .42), transparent 72%);
  pointer-events: none;
}

.public-home .home-stage-kicker {
  margin: 0;
  color: rgba(255, 255, 255, .9);
  font-size: clamp(13px, 1.25vw, 18px);
  font-weight: 700;
  line-height: 1.45;
  letter-spacing: .05em;
  text-shadow: 0 2px 14px rgba(0, 0, 0, .38);
}

.public-home .home-stage-content h2 {
  max-width: 15em;
  margin: 8px 0 0;
  color: #fff;
  font-family: var(--site-font-sans);
  font-size: clamp(27px, 2.55vw, 42px);
  font-weight: 900;
  line-height: 1.18;
  letter-spacing: -.025em;
  text-wrap: balance;
  text-shadow: 0 3px 22px rgba(0, 0, 0, .5);
}

.public-home .home-stage-flow {
  display: flex;
  align-items: center;
  gap: clamp(5px, .7vw, 11px);
  margin-top: clamp(12px, 1.4vw, 19px);
  color: rgba(255, 255, 255, .67);
  font-size: clamp(9px, .82vw, 12px);
  font-weight: 400;
  line-height: 1.55;
}

.public-home .home-stage-flow span {
  white-space: nowrap;
}

.public-home .home-stage-flow i {
  color: rgba(255, 255, 255, .38);
  font-style: normal;
}

.public-home .home-stage-note {
  margin: 8px 0 0;
  color: rgba(255, 255, 255, .62);
  font-size: clamp(9px, .75vw, 11px);
  font-weight: 400;
  line-height: 1.5;
  letter-spacing: .03em;
}

.public-home .home-stage-panel.is-active .home-stage-kicker,
.public-home .home-stage-panel.is-active .home-stage-content h2,
.public-home .home-stage-panel.is-active .home-stage-flow,
.public-home .home-stage-panel.is-active .home-stage-note {
  animation: home-stage-copy-in 420ms ease-out both;
}

.public-home .home-stage-panel.is-active .home-stage-content h2 { animation-delay: 70ms; }
.public-home .home-stage-panel.is-active .home-stage-flow { animation-delay: 130ms; }
.public-home .home-stage-panel.is-active .home-stage-note { animation-delay: 180ms; }

.public-home .home-stage-panel-grid {
  background:
    radial-gradient(circle at 86% 12%, rgba(190, 143, 90, .22), transparent 31%),
    linear-gradient(135deg, #153129 0%, #10251f 52%, #1c2f29 100%);
}

.public-home .home-stage-scene-grid {
  position: relative;
  z-index: 2;
  display: grid;
  width: 100%;
  height: 100%;
  grid-template-rows: auto minmax(0, 1fr) auto;
  gap: clamp(10px, 1.4vw, 18px);
  padding: clamp(32px, 4vw, 54px) clamp(58px, 6vw, 82px) clamp(46px, 5vw, 64px);
  color: #fff;
}

.public-home .home-stage-scene-grid::before {
  content: "";
  position: absolute;
  right: -5%;
  top: -15%;
  z-index: -1;
  width: 46%;
  aspect-ratio: 1;
  background: url("/site-images/20260818-v1/orb-brand-mark-site.webp") center / contain no-repeat;
  opacity: .08;
  transform: rotate(-10deg);
}

.public-home .home-stage-scene-grid > .home-stage-kicker {
  font-size: clamp(18px, 1.75vw, 26px);
  font-weight: 900;
  letter-spacing: 0;
}

.public-home .home-stage-category-grid {
  display: grid;
  min-height: 0;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: clamp(8px, 1vw, 14px);
}

.public-home .home-stage-category {
  position: relative;
  min-width: 0;
  padding: clamp(11px, 1.25vw, 17px);
  border: 1px solid rgba(255, 255, 255, .18);
  border-top: 3px solid var(--category-color);
  background: rgba(249, 246, 238, .08);
  box-shadow: inset 0 1px rgba(255, 255, 255, .05);
}

.public-home .home-stage-category h2 {
  margin: 0;
  color: #fff;
  font-size: clamp(12px, 1vw, 15px);
  font-weight: 800;
  line-height: 1.35;
}

.public-home .home-stage-category p {
  margin: clamp(5px, .65vw, 9px) 0 0;
  color: rgba(255, 255, 255, .68);
  font-size: clamp(8px, .73vw, 10.5px);
  line-height: 1.65;
}

.public-home .category-academic { --category-color: #78a9bc; }
.public-home .category-business { --category-color: #c99868; }
.public-home .category-education { --category-color: #70a288; }
.public-home .category-creative { --category-color: #aa778f; }

@keyframes home-stage-copy-in {
  from { opacity: 0; transform: translateY(8px); }
  to { opacity: 1; transform: none; }
}

@media (max-width: 1180px) {
  .public-home .home-stage-content {
    padding-right: 68px;
    padding-left: 68px;
  }

  .public-home .home-stage-content h2 {
    font-size: clamp(24px, 2.8vw, 34px);
  }

  .public-home .home-stage-scene-grid {
    padding-right: 60px;
    padding-left: 60px;
  }
}

@media (max-width: 680px) {
  .public-home .home-scene-index span:nth-child(5) {
    grid-column: auto;
  }

  .public-home .home-stage-content {
    padding: 28px 50px 34px;
  }

  .public-home .home-stage-kicker {
    font-size: 11px;
  }

  .public-home .home-stage-content h2 {
    max-width: none;
    margin-top: 5px;
    font-size: clamp(18px, 5.5vw, 23px);
    line-height: 1.16;
  }

  .public-home .home-stage-flow {
    flex-wrap: wrap;
    gap: 2px 5px;
    margin-top: 8px;
    font-size: 8px;
    line-height: 1.35;
  }

  .public-home .home-stage-note {
    margin-top: 4px;
    font-size: 8px;
  }

  .public-home .home-stage-scene-grid {
    gap: 6px;
    padding: 16px 48px 30px;
  }

  .public-home .home-stage-scene-grid > .home-stage-kicker {
    font-size: 14px;
  }

  .public-home .home-stage-category-grid {
    gap: 5px;
  }

  .public-home .home-stage-category {
    padding: 7px 8px;
    border-top-width: 2px;
  }

  .public-home .home-stage-category h2 {
    font-size: 9px;
  }

  .public-home .home-stage-category p {
    margin-top: 3px;
    font-size: 7px;
    line-height: 1.45;
  }
}

@media (prefers-reduced-motion: reduce) {
  .public-home .home-stage-panel.is-active .home-stage-kicker,
  .public-home .home-stage-panel.is-active .home-stage-content h2,
  .public-home .home-stage-panel.is-active .home-stage-flow,
  .public-home .home-stage-panel.is-active .home-stage-note {
    animation: none;
  }
}

/* V14 — text-only homepage carousel. Photography has been removed; each slide
   now uses a structured editorial layout with a distinct scene accent. */
.public-home .home-stage {
  border-color: rgba(23, 49, 41, .14);
  border-radius: clamp(16px, 1.4vw, 22px);
  background: #f8f5ee;
  box-shadow:
    0 28px 72px rgba(25, 38, 32, .12),
    0 8px 24px rgba(25, 38, 32, .07),
    0 0 0 1px rgba(255, 255, 255, .5);
}

.public-home .home-stage::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 3;
  border-radius: inherit;
  box-shadow:
    inset 0 0 0 1px rgba(255, 255, 255, .62),
    inset 0 0 34px rgba(23, 49, 41, .025);
  pointer-events: none;
}

.public-home .home-stage-panel {
  --scene-accent: #456d7d;
  --scene-ink: #173029;
  --scene-wash: #dfe9e9;
  --scene-line: rgba(69, 109, 125, .24);
  --scene-number: rgba(69, 109, 125, .09);
  background:
    radial-gradient(circle at 88% 18%, rgba(255, 255, 255, .78), transparent 29%),
    linear-gradient(145deg, #fbf9f4 0 54%, var(--scene-wash) 100%);
}

.public-home .home-stage-panel:nth-child(2) {
  --scene-accent: #9a7046;
  --scene-wash: #eee2d3;
  --scene-line: rgba(154, 112, 70, .24);
  --scene-number: rgba(154, 112, 70, .09);
}

.public-home .home-stage-panel:nth-child(3) {
  --scene-accent: #537665;
  --scene-wash: #dfe8df;
  --scene-line: rgba(83, 118, 101, .24);
  --scene-number: rgba(83, 118, 101, .09);
}

.public-home .home-stage-panel:nth-child(4) {
  --scene-accent: #7b5968;
  --scene-wash: #eadfe4;
  --scene-line: rgba(123, 89, 104, .24);
  --scene-number: rgba(123, 89, 104, .09);
}

.public-home .home-stage-panel::before {
  content: attr(data-home-stage-number);
  position: absolute;
  right: clamp(34px, 5vw, 70px);
  top: clamp(20px, 3vw, 38px);
  z-index: 1;
  color: var(--scene-number);
  font-family: var(--site-font-sans);
  font-size: clamp(78px, 11vw, 154px);
  font-weight: 900;
  line-height: .8;
  letter-spacing: -.08em;
  pointer-events: none;
}

.public-home .home-stage-content {
  position: absolute;
  inset: 0;
  z-index: 2;
  display: grid;
  grid-template-rows: auto minmax(0, 1fr) auto auto;
  align-items: start;
  padding: clamp(42px, 5vw, 66px) clamp(68px, 7vw, 96px) clamp(48px, 5vw, 66px);
  color: var(--scene-ink);
  background: transparent;
  pointer-events: none;
}

.public-home .home-stage-content::before {
  content: "";
  position: absolute;
  left: 0;
  top: 18px;
  bottom: 18px;
  width: 6px;
  border-radius: 0 999px 999px 0;
  background: var(--scene-accent);
  box-shadow: 2px 0 12px rgba(23, 49, 41, .08);
}

.public-home .home-stage-kicker {
  display: flex;
  align-items: center;
  gap: 12px;
  margin: 0;
  color: var(--scene-accent);
  font-size: clamp(12px, 1vw, 15px);
  font-weight: 800;
  line-height: 1.45;
  letter-spacing: .08em;
  text-shadow: none;
}

.public-home .home-stage-kicker::after {
  content: "";
  width: clamp(36px, 5vw, 68px);
  height: 1px;
  background: var(--scene-line);
}

.public-home .home-stage-content h2 {
  align-self: center;
  max-width: 14em;
  margin: clamp(18px, 2.5vw, 34px) 0;
  color: var(--scene-ink);
  font-family: var(--site-font-sans);
  font-size: clamp(28px, 3.15vw, 48px);
  font-weight: 900;
  line-height: 1.16;
  letter-spacing: -.035em;
  text-shadow: none;
  text-wrap: balance;
}

.public-home .home-stage-flow {
  display: grid;
  grid-template-columns: repeat(7, max-content);
  align-items: center;
  justify-content: start;
  gap: clamp(5px, .7vw, 10px);
  width: 100%;
  margin-top: 0;
  padding-top: clamp(14px, 1.8vw, 22px);
  border-top: 1px solid var(--scene-line);
  color: var(--scene-ink);
  font-size: clamp(9px, .78vw, 11.5px);
  font-weight: 700;
  line-height: 1.4;
}

.public-home .home-stage-flow span {
  display: inline-flex;
  min-height: 30px;
  align-items: center;
  padding: 6px clamp(7px, .8vw, 11px);
  border: 1px solid var(--scene-line);
  border-radius: 7px;
  background: rgba(255, 255, 255, .52);
  white-space: nowrap;
}

.public-home .home-stage-flow i {
  color: var(--scene-accent);
  font-style: normal;
}

.public-home .home-stage-note {
  margin: 8px 0 0;
  color: rgba(23, 48, 41, .62);
  font-size: clamp(9px, .76vw, 11px);
  font-weight: 500;
  line-height: 1.5;
  letter-spacing: .03em;
}

.public-home .home-stage-panel-grid {
  --scene-number: rgba(255, 255, 255, .065);
  background:
    radial-gradient(circle at 86% 12%, rgba(190, 143, 90, .18), transparent 31%),
    linear-gradient(135deg, #173129 0%, #10251f 54%, #1c2f29 100%);
}

.public-home .home-stage-scene-grid {
  gap: clamp(10px, 1.4vw, 18px);
  padding: clamp(36px, 4.5vw, 60px) clamp(58px, 6vw, 82px) clamp(46px, 5vw, 64px);
}

.public-home .home-stage-scene-grid::before {
  content: none;
  display: none;
}

.public-home .home-stage-scene-grid > .home-stage-kicker {
  color: #fff;
}

.public-home .home-stage-scene-grid > .home-stage-kicker::after {
  background: rgba(255, 255, 255, .2);
}

.public-home .home-stage-category {
  border-color: rgba(255, 255, 255, .16);
  border-top-color: var(--category-color);
  border-radius: 10px;
  background: rgba(249, 246, 238, .075);
}

.public-home .home-stage-arrow {
  border-color: rgba(23, 49, 41, .24);
  border-radius: 10px;
  background: rgba(23, 49, 41, .9);
  color: #fff;
}

.public-home .home-stage-arrow:hover {
  border-color: rgba(23, 49, 41, .46);
  background: #173129;
}

.public-home .home-stage-dots {
  border-color: rgba(23, 49, 41, .12);
  background: rgba(255, 255, 255, .76);
  box-shadow: 0 6px 24px rgba(23, 49, 41, .08);
}

.public-home .home-stage-dot {
  background: rgba(23, 49, 41, .22);
}

.public-home .home-stage-dot:hover {
  background: rgba(23, 49, 41, .4);
}

.public-home .home-stage-dot.is-active {
  background: var(--site-accent);
}

@media (max-width: 1180px) {
  .public-home .home-stage-content {
    padding-right: 64px;
    padding-left: 64px;
  }

  .public-home .home-stage-content h2 {
    font-size: clamp(26px, 3.2vw, 38px);
  }

  .public-home .home-stage-flow {
    gap: 5px;
  }
}

@media (max-width: 680px) {
  .public-home .home-stage {
    aspect-ratio: auto;
  }

  .public-home .home-stage-panels {
    aspect-ratio: 4 / 3;
  }

  .public-home .home-stage-panel::before {
    right: 30px;
    top: 22px;
    font-size: clamp(58px, 20vw, 92px);
  }

  .public-home .home-stage-content {
    padding: 26px 48px 32px;
    background: transparent;
  }

  .public-home .home-stage-content::before {
    top: 12px;
    bottom: 12px;
    width: 4px;
  }

  .public-home .home-stage-kicker {
    gap: 8px;
    font-size: 10px;
    letter-spacing: .05em;
  }

  .public-home .home-stage-content h2 {
    max-width: 15em;
    margin: 12px 0;
    font-size: clamp(17px, 5.2vw, 22px);
    line-height: 1.18;
  }

  .public-home .home-stage-flow {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 4px;
    padding-top: 8px;
    font-size: 8.5px;
  }

  .public-home .home-stage-flow span {
    min-height: 24px;
    padding: 3px 6px;
  }

  .public-home .home-stage-flow i {
    display: none;
  }

  .public-home .home-stage-note {
    margin-top: 4px;
    font-size: 7.5px;
  }

  .public-home .home-stage-scene-grid {
    padding: 18px 46px 30px;
  }
}
