
@import url('https://fonts.googleapis.com/css2?family=Lexend:wght@300;400;600&family=Oswald:wght@600;700&display=swap');

:root{
  --navy:#0b2545;
  --navy-2:#163b66;
  --ink:#000000;
  --white:#ffffff;
  --nav:#202020;
  --line:#d9dee5;
  --soft:#f6f8fb;
  --soft-blue:#eef3f8;
  --green:#315f48;
  --muted:#596575;
  --max:1180px;

  /* Responsive-R01 P01a — strict fluid foundation.
     Only values that already change at an existing responsive breakpoint are
     interpolated. Non-responsive typography/content/layout remains locked. */
  --fluid-shell-inline:clamp(22px,calc(-23px + 5vw),36px);
  --fluid-hero-block-start:clamp(46px,calc(-5.4286px + 5.7143vw),62px);
  --fluid-hero-block-end:clamp(46px,calc(-18.2857px + 7.1429vw),66px);
  --fluid-page-block-start:clamp(20px,calc(-5.7143px + 2.8571vw),28px);
  --fluid-page-block-end:clamp(60px,calc(8.5714px + 5.7143vw),76px);
  --fluid-content-block-start:clamp(20px,calc(7.1429px + 1.4286vw),24px);
  --fluid-content-block-end:clamp(60px,calc(21.4286px + 4.2857vw),72px);
  --fluid-breadcrumb-block:clamp(12px,calc(8.7857px + .3571vw),13px);
  --fluid-footer-block-start:clamp(30px,calc(17.1429px + 1.4286vw),34px);
  --fluid-footer-block-end:clamp(26px,calc(13.1429px + 1.4286vw),30px);
  --fluid-h1:clamp(27pt,calc(4.5pt + 3.3333vw),34pt);
  --fluid-nav-inline:clamp(16px,calc(-20px + 7.5vw),22px);
  --fluid-nav-gap:clamp(14px,calc(-58px + 15vw),26px);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  background:var(--white);
  color:var(--ink);
  font-family:"Lexend",Arial,sans-serif;
  font-weight:300;
  font-size:11pt;
  line-height:1.25;
}
a{color:var(--navy)}
img{max-width:100%}
.skip-link{
  position:fixed;
  top:10px;
  left:12px;
  z-index:1000;
  padding:10px 14px;
  border:2px solid #fff;
  border-radius:7px;
  background:var(--navy);
  color:#fff;
  font-weight:600;
  text-decoration:none;
  transform:translateY(-160%);
  transition:transform .12s ease;
}
.skip-link:focus{transform:translateY(0)}
.feedback-copy-output{margin-top:18px}
.feedback-copy-output small{display:block;margin-top:7px;color:var(--muted)}
.feedback-copy-output textarea{min-height:250px}
.site-header{
  background:var(--nav);
  color:#fff;
  position:sticky;
  top:0;
  z-index:100;
  box-shadow:0 1px 0 rgba(255,255,255,.08);
}
.nav-shell{
  max-width:var(--max);
  margin:0 auto;
  min-height:58px;
  display:flex;
  align-items:center;
  gap:var(--fluid-nav-gap);
  padding:0 var(--fluid-nav-inline);
}
.brand{
  color:#fff;
  text-decoration:none;
  white-space:nowrap;
  font-weight:400;
}
.main-nav{
  display:flex;
  align-items:center;
  gap:22px;
  margin-left:auto;
}
.main-nav a{
  color:#fff;
  text-decoration:none;
  font-size:10.5pt;
  white-space:nowrap;
  opacity:.96;
}
.main-nav a:hover{opacity:1;text-decoration:underline}
.nav-toggle{
  display:none;
  margin-left:auto;
  border:0;
  background:none;
  color:#fff;
  font-size:22px;
  cursor:pointer;
}
.hero{
  background:
    linear-gradient(135deg,rgba(11,37,69,.93),rgba(11,37,69,.985)),
    linear-gradient(45deg,#263747 0 28%,#1d2a38 28% 52%,#3d4b59 52% 78%,#243342 78%);
  color:#fff;
}
.hero-inner{
  max-width:var(--max);
  margin:0 auto;
  padding:var(--fluid-hero-block-start) var(--fluid-shell-inline) var(--fluid-hero-block-end);
}
.hero .eyebrow{
  font-family:"Oswald",sans-serif;
  font-weight:700;
  letter-spacing:.06em;
  text-transform:uppercase;
  font-size:10.5pt;
  opacity:.82;
  margin-bottom:10px;
}
h1,h2,h3{
  font-family:"Oswald",Arial,sans-serif;
  font-weight:700;
  color:var(--navy);
  line-height:1.12;
  margin-top:0;
}
h1{margin:0;font-size:var(--fluid-h1);color:#fff}
h2{font-size:17pt;margin-bottom:14px}
h3{font-size:14pt;margin-bottom:10px}
.hero-sub{
  max-width:850px;
  margin:16px 0 0;
  font-size:12.5pt;
  line-height:1.45;
}
.breadcrumbs{
  max-width:var(--max);
  margin:0 auto;
  padding:var(--fluid-breadcrumb-block) var(--fluid-shell-inline);
  font-size:9.5pt;
  color:#596575;
  border-bottom:1px solid #eef0f3;
}
.breadcrumbs a{text-decoration:none}
.page-shell{
  max-width:var(--max);
  margin:0 auto;
  padding:var(--fluid-page-block-start) var(--fluid-shell-inline) var(--fluid-page-block-end);
}
.content-shell{
  max-width:var(--max);
  margin:0 auto;
  padding:var(--fluid-content-block-start) var(--fluid-shell-inline) var(--fluid-content-block-end);
}
.with-sidebar{
  max-width:1320px;
  margin:0 auto;
  display:grid;
  grid-template-columns:250px minmax(0,1fr);
  gap:42px;
  padding:28px 32px 72px;
}
.chapter-sidebar{
  position:sticky;
  top:82px;
  align-self:start;
  max-height:calc(100vh - 105px);
  overflow:auto;
  padding:16px 0;
  border-right:1px solid var(--line);
}
.chapter-sidebar h2{font-size:14pt;padding-right:20px;margin-bottom:12px}
.chapter-sidebar a{
  display:block;
  padding:7px 18px 7px 0;
  color:#27364a;
  text-decoration:none;
  font-size:9.6pt;
  line-height:1.35;
}
.chapter-sidebar a:hover{color:var(--navy);font-weight:400}
.chapter-sidebar a.active{
  color:var(--navy);
  font-weight:600;
  border-right:3px solid var(--navy);
}
.chapter-content{min-width:0}
.topic{padding:20px 0 26px}
.topic p{text-align:justify;margin:0 0 12px}
.topic ul,.topic ol{margin:8px 0 14px 25px;padding:0}
.topic li{margin:0 0 9px;padding-left:3px;text-align:left}
.line-stack{margin:8px 0 14px}
.line-stack>div{margin:0 0 4px;text-align:left}
.process-line{
  margin:14px 0 16px;
  text-align:center;
  font-weight:300;
  white-space:nowrap;
  overflow-x:auto;
  padding:3px 0;
}
.diagram{
  margin:14px auto 16px;
  padding:0;
  background:transparent;
  border:0;
  color:#000;
  font-family:"Courier New",Consolas,monospace;
  font-size:10.5pt;
  line-height:1.3;
  text-align:left;
  white-space:pre;
  width:max-content;
  max-width:100%;
  overflow-x:auto;
}
.formula{margin:8px 0 12px;text-align:left}
.key-line{font-weight:600}
.part-divider{padding:36px 0 25px;text-align:center}
.part-divider .part-kicker{display:inline;font-family:"Oswald",Arial,sans-serif;font-size:24pt;font-weight:700;color:var(--navy)}
.part-divider .part-kicker::after{content:" — "}
.part-divider h2{display:inline;font-family:"Oswald",Arial,sans-serif;font-size:24pt;font-weight:700;color:var(--navy)}
.table-wrap{margin:16px 0 18px;overflow-x:auto}
table{width:100%;border-collapse:collapse;font-size:10pt}
th,td{
  border:1px solid #aeb7c2;
  padding:6px 8px;
  text-align:left;
  vertical-align:top
}
th{background:var(--green);color:#fff;font-weight:600}
.visual-block{
  margin:20px 0 28px;
  padding:18px;
  background:#f8fafc;
  border:1px solid #e1e6ec;
  border-radius:8px
}
.visual-block h3{margin:0 0 12px}
.visual-single{max-width:780px;margin:0 auto}
.visual-block figure{margin:0}
.visual-block img{
  display:block;width:100%;height:auto;max-height:470px;object-fit:contain;
  background:#fff;border:1px solid #d9dee5;border-radius:6px
}
.visual-block figcaption{
  font-size:8.5pt;line-height:1.35;color:#4a5563;margin-top:8px;text-align:left
}
.visual-block .visual-note{margin:10px 0 0;font-size:9.5pt;color:#263747;text-align:left}
details.chapter-group{
  margin:14px 0;border:1px solid #d9dee5;border-radius:6px;background:#fff;overflow:hidden
}
details.chapter-group>summary{
  cursor:pointer;list-style:none;padding:16px 18px;
  font-family:"Oswald",Arial,sans-serif;font-weight:700;font-size:17pt;line-height:1.12;
  color:var(--navy);background:#f8fafc;position:relative
}
details.chapter-group>summary::-webkit-details-marker{display:none}
details.chapter-group>summary::after{
  content:"＋";position:absolute;right:18px;top:14px;color:var(--navy);
  font-family:Arial,sans-serif;font-size:18pt;font-weight:400
}
details.chapter-group[open]>summary::after{content:"−"}
.group-body{padding:18px 20px 22px}
.group-body p{text-align:justify;margin:0 0 12px}
.group-body ul,.group-body ol{margin:8px 0 14px 25px;padding:0}
.group-body li{margin:0 0 9px;padding-left:3px}
.group-body h3{margin-top:20px}
.scope-note,.callout{
  border-left:4px solid var(--navy);
  background:var(--soft);
  padding:14px 16px;
  margin:16px 0
}
.scope-note p,.callout p{margin:0 0 8px}
.scope-note p:last-child,.callout p:last-child{margin-bottom:0}
.card-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:18px;
  margin:24px 0;
}
.card{
  border:1px solid var(--line);
  border-radius:8px;
  padding:20px;
  background:#fff;
}
.card h3{margin-bottom:8px}
.card p{margin:0;text-align:left;line-height:1.45}
.two-col{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:18px;
  margin:24px 0;
}
.concept-card{
  border:1px solid var(--line);
  border-radius:8px;
  padding:20px;
  background:#fff;
}
.concept-card h3{margin-bottom:8px}
.concept-card p{margin:0;text-align:left;line-height:1.45}
.visual-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:18px;
  align-items:start;
}
@media(max-width:680px){
  .two-col,.visual-grid{grid-template-columns:1fr}
}
.module-list{display:grid;gap:10px;margin:24px 0}
.module-row,.chapter-row{
  border:1px solid var(--line);
  border-radius:6px;
  padding:14px 16px;
  display:flex;
  align-items:center;
  gap:14px;
  color:var(--navy);
  text-decoration:none;
  background:#fff;
}
.module-row:hover,.chapter-row:hover{background:var(--soft)}
.number-badge{
  flex:0 0 auto;width:34px;height:34px;border-radius:50%;
  display:grid;place-items:center;background:var(--navy);color:#fff;font-weight:600
}
.status-pill{
  margin-left:auto;font-size:8.5pt;padding:4px 8px;border-radius:999px;
  background:#e8f2ec;color:#28563f
}
.status-pill.pending{background:#f2f3f5;color:#65707d}
.cta{
  margin:28px 0 0;
  background:var(--navy);
  color:#fff;
  padding:24px;
  text-align:center
}
.cta a{
  display:inline-block;margin-top:10px;padding:10px 18px;background:#fff;color:var(--navy);
  text-decoration:none;border-radius:3px;font-weight:600
}
.next-prev{
  display:grid;grid-template-columns:1fr 1fr;gap:16px;margin:34px 0 0
}
.next-prev a{
  border:1px solid var(--line);padding:16px;text-decoration:none;background:var(--soft)
}
.next-prev .next{text-align:right}
.site-footer{
  border-top:1px solid #e4e7eb;
  text-align:center;
  padding:24px;
  font-size:8.5pt;
  line-height:1.35;
  color:#3f4853
}
.site-footer nav{margin-bottom:9px}
.site-footer nav a{margin:0 8px;text-decoration:none}
.placeholder{
  border:1px dashed #aeb7c2;background:#fafbfc;padding:24px;border-radius:8px;color:#4d5967
}
@media(max-width:980px){
  .with-sidebar{grid-template-columns:1fr;padding:22px}
  .chapter-sidebar{display:none}
  .card-grid{grid-template-columns:1fr 1fr}
}
@media(max-width:900px){
  .nav-toggle{display:block}
  .main-nav{
    display:none;position:absolute;left:0;right:0;top:58px;background:#202020;
    padding:16px 22px 20px;flex-direction:column;align-items:flex-start;gap:14px
  }
  .main-nav.open{display:flex}
}
@media(max-width:680px){
  .card-grid{grid-template-columns:1fr}
  .process-line{white-space:normal}
  .next-prev{grid-template-columns:1fr}
  .next-prev .next{text-align:left}
}


/* Module 1 Chapters 1–7 migration */
.diagram-lines{
  margin:14px auto 18px;
  text-align:center;
  max-width:100%;
  overflow-x:auto;
  padding:4px 0;
}
.diagram-line{
  font-family:"Lexend",Arial,sans-serif;
  font-weight:300;
  font-size:11pt;
  line-height:1.28;
  white-space:pre-wrap;
  text-align:center;
  margin:2px 0;
}
.continue-button{
  display:inline-block;
  margin-top:10px;
  padding:10px 16px;
  background:#0b2545;
  color:#fff !important;
  text-decoration:none;
  border-radius:4px;
  font-weight:600;
}
.continue-button:hover{background:#163b66}
.legacy-visual{
  margin:20px auto 28px;
  max-width:960px;
}
.legacy-visual img{
  display:block;
  width:100%;
  height:auto;
  border:1px solid #d9dee5;
  border-radius:6px;
  background:#fff;
}
.legacy-visual figcaption{
  max-width:620px;
  margin:8px auto 0;
  color:#4a5563;
  font-size:8.5pt;
  line-height:1.4;
  text-align:left;
}
.sheet-embed{
  margin:18px 0 24px;
  border:1px solid #d9dee5;
  border-radius:6px;
  overflow:hidden;
  background:#fff;
}
.sheet-embed iframe{
  display:block;
  width:100%;
  height:520px;
  border:0;
  background:#fff;
}
@media(max-width:700px){
  .sheet-embed iframe{height:440px}
}


/* ==========================================================
   TECHDEPTH LOCKED SITE-WIDE LEARNING STANDARDS — v2
   ========================================================== */

/* Part I / Part II / Part III... are subtitle-title elements. */
.part-divider{
  padding:38px 0 26px;
  text-align:center;
}
.part-divider .part-kicker,
.part-divider h2{
  display:inline;
  font-family:"Oswald",Arial,sans-serif;
  font-size:24pt !important;
  line-height:1.12;
  font-weight:700;
  color:var(--navy);
}
.part-divider .part-kicker::after{content:" — "}

/* Horizontal text-process diagrams used across ALL modules. */
.horizontal-process{
  display:flex;
  align-items:stretch;
  gap:10px;
  margin:16px 0 20px;
  padding:12px 2px 14px;
  overflow-x:auto;
  scrollbar-width:thin;
}
.horizontal-process .process-node{
  flex:0 0 auto;
  min-width:125px;
  max-width:245px;
  display:flex;
  flex-direction:column;
  justify-content:center;
  align-items:center;
  padding:10px 12px;
  border:1px solid #b9c5d2;
  border-radius:7px;
  background:#f8fafc;
  color:#0b2545;
  text-align:center;
  line-height:1.3;
  font-size:10pt;
}
.horizontal-process .process-node .node-subline{
  display:block;
  margin-top:4px;
  color:#4b5969;
  font-size:8.8pt;
  line-height:1.3;
}
.horizontal-process .process-arrow{
  flex:0 0 auto;
  display:flex;
  align-items:center;
  justify-content:center;
  color:#0b2545;
  font-size:18pt;
  font-weight:600;
  padding:0 1px;
}
.horizontal-process .branch-node{
  min-width:205px;
}
.horizontal-process .branch-options{
  display:flex;
  gap:6px;
  flex-wrap:wrap;
  justify-content:center;
}
.horizontal-process .branch-chip{
  display:inline-block;
  padding:5px 8px;
  background:#eaf0f6;
  border:1px solid #c7d2de;
  border-radius:999px;
  color:#0b2545;
  font-size:8.8pt;
}
.process-stack{
  margin:16px 0 22px;
}
.process-stack .horizontal-process{
  margin:8px 0;
}

/* Native table standard used by every TechDepth chapter/module. */
.table-wrap{
  margin:18px 0 24px;
  overflow-x:auto;
  border-radius:7px;
}
.table-wrap table{
  width:100%;
  border-collapse:collapse;
  background:#fff;
  font-size:10pt;
  line-height:1.35;
}
.table-wrap th,
.table-wrap td{
  border:1px solid #aeb7c2;
  padding:9px 10px;
  text-align:left;
  vertical-align:top;
}
.table-wrap th{
  background:#315f48;
  color:#fff;
  font-weight:600;
}
.table-wrap tbody tr:nth-child(even) td{
  background:#f8fafc;
}

/* Chapter sidebar: Modules own their Chapters. */
.module-tree-sidebar{
  padding-right:0;
}
.sidebar-collection{
  padding:0 18px 13px 0;
  margin-bottom:10px;
  border-bottom:1px solid #d9dee5;
}
.sidebar-collection a{
  padding:0 !important;
  font-family:"Oswald",Arial,sans-serif;
  font-weight:700;
  font-size:14pt !important;
  color:#0b2545 !important;
}
.module-tree{
  display:grid;
  gap:7px;
  padding-right:14px;
}
.module-tree-group{
  border:1px solid #d9dee5;
  border-radius:7px;
  background:#fff;
  overflow:hidden;
}
.module-tree-title{
  display:block !important;
  padding:10px 11px !important;
  text-decoration:none;
  border:0 !important;
  color:#0b2545 !important;
  background:#f6f8fb;
}
.module-tree-title .module-code{
  display:block;
  font-family:"Oswald",Arial,sans-serif;
  font-size:11.5pt;
  font-weight:700;
  line-height:1.12;
}
.module-tree-title .module-name{
  display:block;
  margin-top:3px;
  color:#4d5967;
  font-size:8.7pt;
  line-height:1.25;
  font-weight:300;
}
.module-tree-group.is-current{
  border-color:#9fb1c5;
  box-shadow:0 0 0 1px rgba(11,37,69,.04);
}
.module-tree-group.is-current .module-tree-title{
  background:#eaf0f6;
}
.module-tree-chapters{
  padding:5px 0 7px 11px;
  border-top:1px solid #d9dee5;
}
.module-tree-chapters a{
  padding:6px 9px 6px 0 !important;
  font-size:8.9pt !important;
  line-height:1.3 !important;
  border-right:0 !important;
}
.module-tree-chapters a.active{
  color:#0b2545 !important;
  font-weight:600 !important;
  border-right:3px solid #0b2545 !important;
}
.module-tree-group:not(.is-current) .module-tree-title:hover{
  background:#eef3f8;
}

/* Chapter visual standard. */
.visual-block{
  margin:22px 0 30px;
  padding:18px;
  background:#f8fafc;
  border:1px solid #e1e6ec;
  border-radius:8px;
}
.visual-block figure{margin:0}
.visual-block img{
  display:block;
  width:100%;
  max-width:900px;
  max-height:520px;
  object-fit:contain;
  margin:0 auto;
  background:#fff;
  border:1px solid #d9dee5;
  border-radius:6px;
}
.visual-block figcaption{
  max-width:900px;
  margin:9px auto 0;
  color:#4a5563;
  font-size:8.5pt;
  line-height:1.4;
  text-align:left;
}

.module-sequence-nav{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:16px;
  margin:32px 0 0;
}
.module-sequence-nav a{
  border:1px solid #d9dee5;
  padding:16px;
  background:#f6f8fb;
  color:#0b2545;
  text-decoration:none;
  border-radius:6px;
}
.module-sequence-nav a.next{text-align:right}

@media(max-width:680px){
  .horizontal-process{
    padding-bottom:16px;
  }
  .horizontal-process .process-node{
    min-width:145px;
  }
  .module-sequence-nav{
    grid-template-columns:1fr;
  }
  .module-sequence-nav a.next{text-align:left}
}


/* ==========================================================
   TECHDEPTH REFINEMENT STANDARD — v3
   ========================================================== */
.visual-block{max-width:680px;margin:20px auto 26px;padding:12px}
.visual-block img{width:auto;max-width:100%;max-height:360px;margin:0 auto;object-fit:contain}
.visual-block figcaption{max-width:620px;margin:8px auto 0}
.legacy-visual{max-width:620px;margin:20px auto 26px}
.legacy-visual img{max-width:100%;max-height:360px;object-fit:contain}
.chapter-scope{background:#f8fafc;border-left:4px solid #0b2545;padding:16px 18px !important;margin:18px 0 24px}
.chapter-scope h2{margin-bottom:8px}.chapter-scope p{margin-bottom:0 !important}
.concept-grid-table td{min-width:230px;width:33.333%;padding:14px}
.concept-grid-table td strong{display:block;margin-bottom:7px;color:#0b2545;font-family:"Oswald",Arial,sans-serif;font-size:12pt}
.concept-grid-table td ul{margin:5px 0 0 18px}
.next-chapter-card{padding:2px 0}.next-chapter-card p{margin:0 0 10px}
.continue-button{display:inline-block;margin-top:6px;padding:10px 16px;background:#0b2545;color:#fff !important;text-decoration:none;border-radius:4px;font-weight:600}
.continue-button:hover{background:#163b66}
.knowledge-check-list>li,.response-list>li{margin-bottom:14px}
.response-list>li>p:first-child{margin-top:0}
@media(max-width:700px){.visual-block,.legacy-visual{max-width:100%}.visual-block img,.legacy-visual img{max-height:300px}}


/* ==========================================================
   TECHDEPTH END-OF-CHAPTER STANDARD — v5
   ========================================================== */
.knowledge-check-list,
.response-list{
  margin:8px 0 14px 25px;
  padding:0;
}
.knowledge-check-list>li,
.response-list>li{
  margin:0 0 12px;
  padding-left:4px;
  line-height:1.4;
}
.activity-suggested-response{
  margin-top:20px;
  padding-top:16px;
  border-top:1px solid #d9dee5;
}
.activity-suggested-response h3{
  margin-bottom:9px;
}


/* ==========================================================
   TECHDEPTH MODULE LANDING PAGE STANDARD — v1
   ========================================================== */
.module-landing-content{
  min-width:0;
}
.module-intro{
  background:#f8fafc;
  border-left:4px solid #0b2545;
}
.module-progression{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:12px;
  flex-wrap:wrap;
  padding:16px 0 4px;
}
.module-progression .progression-node{
  min-width:190px;
  padding:12px 16px;
  border:1px solid #b9c5d2;
  border-radius:7px;
  background:#f8fafc;
  color:#0b2545;
  text-align:center;
  font-weight:600;
}
.module-progression .progression-arrow{
  color:#0b2545;
  font-size:20pt;
  font-weight:700;
}
.chapter-overview-grid{
  display:grid;
  gap:14px;
  margin-top:14px;
}
.chapter-overview-card{
  border:1px solid #d9dee5;
  border-radius:8px;
  background:#fff;
  overflow:hidden;
}
.chapter-overview-card summary{
  list-style:none;
  cursor:pointer;
  padding:16px 18px;
  background:#f6f8fb;
  color:#0b2545;
}
.chapter-overview-card summary::-webkit-details-marker{display:none}
.chapter-overview-card summary::after{
  content:"+";
  float:right;
  font-size:17pt;
  line-height:1;
  font-weight:500;
}
.chapter-overview-card[open] summary::after{content:"–"}
.chapter-overview-card .chapter-overview-number{
  display:block;
  margin-bottom:4px;
  font-size:8.7pt;
  font-weight:600;
  text-transform:uppercase;
  letter-spacing:.04em;
  color:#657382;
}
.chapter-overview-card .chapter-overview-title{
  display:block;
  font-family:"Oswald",Arial,sans-serif;
  font-weight:700;
  font-size:17pt;
  line-height:1.14;
}
.chapter-overview-body{
  padding:16px 18px 18px;
}
.chapter-overview-body>p:first-child{
  margin-top:0;
}
.chapter-overview-body h3{
  margin-top:16px;
}

/* Vertical rhythm refinement: add breathing room before headings after dense blocks */
.stack-gap-next-heading + h2,
.stack-gap-next-heading + h3{
  margin-top:22px;
}
.coverage-tags{
  display:flex;
  flex-wrap:wrap;
  gap:7px;
  margin:9px 0 4px;
}
.coverage-tag{
  display:inline-block;
  padding:5px 8px;
  border:1px solid #ccd6e0;
  border-radius:999px;
  background:#f8fafc;
  color:#33485f;
  font-size:8.8pt;
  line-height:1.2;
}
.chapter-open-link{
  display:inline-block;
  margin-top:13px;
  padding:9px 14px;
  background:#0b2545;
  color:#fff !important;
  text-decoration:none;
  border-radius:4px;
  font-weight:600;
}
.chapter-open-link:hover{background:#163b66}
.module-milestone ul{
  margin-bottom:0;
}
.module-landing-sidebar .module-tree-chapters a{
  overflow-wrap:anywhere;
}
.module-landing-sidebar .module-tree-chapters a.anchor-link{
  color:#455668 !important;
}
@media(max-width:700px){
  .module-progression{
    justify-content:flex-start;
    flex-wrap:nowrap;
    overflow-x:auto;
    padding-bottom:12px;
  }
  .module-progression .progression-node{
    flex:0 0 190px;
  }
}


/* ==========================================================
   TECHDEPTH SUPPORT / INFORMATION PAGE STANDARD — v1
   ========================================================== */
.support-page{
  max-width:1040px;
  margin:0 auto;
  padding:24px 22px 54px;
}
.support-intro{
  background:#f8fafc;
  border-left:4px solid #0b2545;
}
.support-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:16px;
  margin:18px 0;
}
.support-card{
  border:1px solid #d9dee5;
  border-radius:8px;
  background:#fff;
  padding:18px;
}
.support-card h3{
  margin-top:0;
}
.support-note{
  margin:18px 0;
  padding:14px 16px;
  background:#fff8e8;
  border-left:4px solid #d7a928;
  border-radius:0 6px 6px 0;
}
.support-meta{
  color:#5d6977;
  font-size:9pt;
  margin-top:8px;
}
.feedback-form{
  display:grid;
  gap:15px;
  margin-top:16px;
}
.feedback-form label{
  display:block;
  margin-bottom:6px;
  font-weight:600;
  color:#0b2545;
}
.feedback-form input,
.feedback-form select,
.feedback-form textarea{
  width:100%;
  box-sizing:border-box;
  padding:10px 11px;
  border:1px solid #b9c5d2;
  border-radius:5px;
  background:#fff;
  color:#000;
  font:inherit;
}
.feedback-form textarea{
  min-height:150px;
  resize:vertical;
}
.feedback-actions{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  align-items:center;
}
.feedback-button{
  display:inline-block;
  border:0;
  border-radius:4px;
  padding:10px 15px;
  background:#0b2545;
  color:#fff;
  font:inherit;
  font-weight:600;
  cursor:pointer;
}
.feedback-button.secondary{
  background:#eaf0f6;
  color:#0b2545;
  border:1px solid #b9c5d2;
}
.feedback-status{
  min-height:22px;
  color:#33485f;
  font-size:9pt;
}
.site-footer .support-links{
  display:flex;
  justify-content:center;
  flex-wrap:wrap;
  gap:10px 18px;
  margin:7px 0 12px;
}
.site-footer .support-links a{
  color:#dbe7f2;
}
@media(max-width:700px){
  .support-grid{grid-template-columns:1fr}
}


/* ==========================================================
   TECHDEPTH SUPPORT BUTTON VISIBILITY — v2
   ========================================================== */

.feedback-button,
.feedback-button.secondary {
  display: inline-block;
  background: #0b2545 !important;
  color: #ffffff !important;
  border: 1px solid #0b2545 !important;
  border-radius: 4px;
  padding: 10px 15px;
  font: inherit;
  font-weight: 600;
  cursor: pointer;
  text-decoration: none;
  box-shadow: 0 1px 2px rgba(11, 37, 69, 0.12);
  transition:
    background-color 0.18s ease,
    border-color 0.18s ease,
    box-shadow 0.18s ease,
    transform 0.18s ease;
}

.feedback-button:hover,
.feedback-button.secondary:hover {
  background: #163b66 !important;
  border-color: #163b66 !important;
  color: #ffffff !important;
  box-shadow: 0 2px 5px rgba(11, 37, 69, 0.18);
}

.feedback-button:focus-visible,
.feedback-button.secondary:focus-visible {
  outline: 3px solid rgba(11, 37, 69, 0.28);
  outline-offset: 2px;
}

.feedback-button:active,
.feedback-button.secondary:active {
  transform: translateY(1px);
}

/* Any support-page CTA follows the same high-contrast TechDepth blue. */
.support-page .continue-button,
.support-page .chapter-open-link {
  background: #0b2545 !important;
  color: #ffffff !important;
  border: 1px solid #0b2545 !important;
}

.support-page .continue-button:hover,
.support-page .chapter-open-link:hover {
  background: #163b66 !important;
  border-color: #163b66 !important;
}


/* ==========================================================
   TECHDEPTH FOOTER SUPPORT BUTTONS — v3
   ========================================================== */

/* Secondary footer navigation is shown as real high-contrast buttons. */
.site-footer .support-links{
  display:flex;
  justify-content:center;
  flex-wrap:wrap;
  gap:10px 12px;
  margin:14px 0 16px;
}

.site-footer .support-links a{
  display:inline-block;
  padding:8px 13px;
  background:#0b2545 !important;
  color:#ffffff !important;
  border:1px solid #ffffff !important;
  border-radius:5px;
  text-decoration:none !important;
  font-weight:600;
  line-height:1.2;
  box-shadow:0 1px 3px rgba(0,0,0,.22);
  transition:
    background-color .18s ease,
    border-color .18s ease,
    box-shadow .18s ease,
    transform .18s ease;
}

.site-footer .support-links a:hover{
  background:#163b66 !important;
  color:#ffffff !important;
  border-color:#ffffff !important;
  box-shadow:0 2px 6px rgba(0,0,0,.30);
}

.site-footer .support-links a:focus-visible{
  outline:3px solid #ffffff;
  outline-offset:3px;
}

.site-footer .support-links a:active{
  transform:translateY(1px);
}

@media(max-width:700px){
  .site-footer .support-links{
    gap:8px;
  }

  .site-footer .support-links a{
    width:calc(50% - 8px);
    box-sizing:border-box;
    text-align:center;
  }
}

@media(max-width:430px){
  .site-footer .support-links a{
    width:100%;
  }
}


/* ==========================================================
   MODULE 2 — TECHNICAL LEARNING COMPONENTS
   ========================================================== */
.code-block{
  margin:14px 0 18px;
  padding:14px 16px;
  overflow-x:auto;
  background:#0e1b2a;
  color:#f2f6fa;
  border-radius:7px;
  border-left:4px solid #315f48;
  font-family:Consolas,"Courier New",monospace;
  font-size:9.6pt;
  line-height:1.5;
  white-space:pre;
}
.code-label{
  margin:12px 0 -8px;
  color:#43566a;
  font-size:9pt;
  font-weight:600;
}
.technical-note{
  margin:14px 0;
  padding:13px 15px;
  background:#f5f8fb;
  border-left:4px solid #315f48;
  border-radius:0 6px 6px 0;
}
.warning,
.warning-note{
  margin:14px 0;
  padding:13px 15px;
  background:#fff8e8;
  border-left:4px solid #d7a928;
  border-radius:0 6px 6px 0;
}
.formula{
  margin:12px 0 16px;
  padding:12px 14px;
  overflow-x:auto;
  background:#f6f8fb;
  border:1px solid #d9e0e7;
  border-radius:6px;
  font-family:"Cambria Math","Times New Roman",serif;
  font-size:12pt;
  line-height:1.45;
}
.inline-code{
  padding:1px 4px;
  background:#edf2f6;
  border-radius:3px;
  font-family:Consolas,"Courier New",monospace;
  font-size:.92em;
}
.comparison-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:14px;
  margin:14px 0 18px;
}
.comparison-card{
  padding:14px 16px;
  border:1px solid #d9dee5;
  border-radius:7px;
  background:#fff;
}
.comparison-card h3{margin-top:0}
@media(max-width:700px){
  .comparison-grid{grid-template-columns:1fr}
  .code-block{font-size:8.9pt}
}


/* ==========================================================
   TECHDEPTH LINKED HEADER LOGO — v1
   ========================================================== */
.brand.brand-logo{
  display:inline-flex;
  align-items:center;
  flex:0 0 auto;
  text-decoration:none;
  line-height:0;
  padding:4px 0;
}

.brand.brand-logo .site-logo{
  display:block;
  width:auto;
  height:44px;
  max-width:220px;
  object-fit:contain;
}

.brand.brand-logo:hover .site-logo{
  opacity:.94;
}

.brand.brand-logo:focus-visible{
  outline:3px solid rgba(255,255,255,.85);
  outline-offset:4px;
  border-radius:4px;
}

@media(max-width:900px){
  .brand.brand-logo .site-logo{
    height:40px;
    max-width:200px;
  }
}

@media(max-width:480px){
  .brand.brand-logo .site-logo{
    height:36px;
    max-width:170px;
  }
}


/* ==========================================================
   TECHDEPTH AI-FOCUSED TOP-LEVEL PAGES — v1
   ========================================================== */
.focus-banner{
  margin:0 0 26px;
  padding:20px 22px;
  background:#f8fafc;
  border-left:4px solid #0b2545;
  border-radius:0 7px 7px 0;
}
.focus-banner h2{margin-top:0}
.focus-banner p:last-child{margin-bottom:0}

.top-page-actions{
  display:flex;
  gap:12px;
  flex-wrap:wrap;
  margin:20px 0 6px;
}
.primary-action,
.secondary-action{
  display:inline-block;
  padding:10px 16px;
  border-radius:4px;
  font-weight:600;
  text-decoration:none;
}
.primary-action{
  background:#0b2545;
  border:1px solid #0b2545;
  color:#fff !important;
}
.primary-action:hover{background:#163b66}
.secondary-action{
  background:#fff;
  border:1px solid #0b2545;
  color:#0b2545 !important;
}
.secondary-action:hover{background:#f1f5f9}

.ai-module-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:16px;
  margin:18px 0 24px;
}
.ai-module-card{
  position:relative;
  padding:20px;
  background:#fff;
  border:1px solid #d9dee5;
  border-radius:8px;
}
.ai-module-card .module-label{
  display:block;
  margin-bottom:5px;
  color:#657382;
  font-size:8.8pt;
  font-weight:600;
  letter-spacing:.035em;
  text-transform:uppercase;
}
.ai-module-card h3{margin-top:0}
.ai-module-card p{text-align:left}
.ai-module-card .module-link{
  display:inline-block;
  margin-top:6px;
  color:#0b2545;
  font-weight:600;
  text-decoration:none;
}
.ai-module-card .module-link:hover{text-decoration:underline}
.ai-module-card .module-state{
  display:inline-block;
  margin-top:8px;
  padding:4px 8px;
  border-radius:999px;
  background:#e8f2ec;
  color:#28563f;
  font-size:8.4pt;
  font-weight:600;
}
.ai-module-card .module-state.developing{
  background:#f2f3f5;
  color:#5f6975;
}

.ai-resource-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:14px;
  margin:16px 0 20px;
}
.ai-resource-card{
  padding:17px 18px;
  border:1px solid #d9dee5;
  border-radius:7px;
  background:#f8fafc;
}
.ai-resource-card h3{margin-top:0}
.ai-resource-card p{
  margin-bottom:0;
  text-align:left;
}
.resource-status{
  display:inline-block;
  margin-top:9px;
  color:#657382;
  font-size:8.5pt;
  font-weight:600;
}

.content-type-table td:first-child{
  width:28%;
  font-weight:600;
  color:#0b2545;
}

.learning-principles{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:14px;
  margin:18px 0;
}
.learning-principle{
  padding:17px;
  border:1px solid #d9dee5;
  border-radius:7px;
  background:#fff;
}
.learning-principle h3{margin-top:0}
.learning-principle p{text-align:left;margin-bottom:0}

.entry-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:14px;
  margin:18px 0 24px;
}
.entry-card{
  padding:18px;
  border:1px solid #d9dee5;
  border-radius:7px;
  background:#fff;
}
.entry-card h3{margin-top:0}
.entry-card p{text-align:left}
.entry-card a{
  font-weight:600;
  text-decoration:none;
}

.site-purpose-strip{
  display:grid;
  grid-template-columns:1.35fr .65fr;
  gap:18px;
  margin:22px 0 28px;
  align-items:stretch;
}
.site-purpose-main,
.site-purpose-side{
  padding:20px;
  border-radius:8px;
}
.site-purpose-main{
  background:#0b2545;
  color:#fff;
}
.site-purpose-main h2,
.site-purpose-main h3{color:#fff}
.site-purpose-main p{color:#fff;text-align:left}
.site-purpose-side{
  border:1px solid #d9dee5;
  background:#fff;
}
.site-purpose-side p{text-align:left}

.no-order-note{
  margin:18px 0;
  padding:15px 17px;
  border-left:4px solid #315f48;
  background:#f5f8f6;
}
.no-order-note p:last-child{margin-bottom:0}

.module-map{
  display:grid;
  gap:10px;
  margin:20px 0 26px;
}
.module-map .module-row{
  align-items:flex-start;
}
.module-map .module-row > span:nth-child(2){
  flex:1;
}
.module-map .module-row p{
  color:#333;
  margin:5px 0 0;
  text-align:left;
}

@media(max-width:800px){
  .ai-module-grid,
  .ai-resource-grid,
  .entry-grid,
  .site-purpose-strip{
    grid-template-columns:1fr;
  }
  .learning-principles{
    grid-template-columns:1fr 1fr;
  }
}
@media(max-width:520px){
  .learning-principles{
    grid-template-columns:1fr;
  }
  .top-page-actions a{
    width:100%;
    box-sizing:border-box;
    text-align:center;
  }
}


/* ==========================================================
   NON-CHAPTER INTRO PANEL SPACING — review candidate v1
   Applies only to module landing pages and support pages.
   Chapter formatting is intentionally excluded.
   ========================================================== */
.module-intro,
.support-intro{
  padding-left:22px;
  padding-right:22px;
  box-sizing:border-box;
}


/* ==========================================================
   PDF REQUESTED MODULE / OUTCOME REFINEMENTS — v26
   ========================================================== */

/* Module completion outcome box */
.module-outcomes{
  padding-top:10px;
}
.module-outcomes-box{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:18px;
  padding:20px;
  border:1px solid #d9dee5;
  border-radius:8px;
  background:#f8fafc;
}
.module-outcome-column h3{
  margin:0 0 12px;
  font-family:"Oswald",Arial,sans-serif;
  font-size:14pt;
  line-height:1.12;
  color:#0b2545;
}
.outcome-tags{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
}
.outcome-tag{
  display:inline-block;
  padding:6px 10px;
  border:1px solid #c7d2de;
  border-radius:999px;
  background:#eaf0f6;
  color:#263747;
  font-family:"Lexend",Arial,sans-serif;
  font-size:8.8pt;
  font-weight:400;
  line-height:1.25;
}
.outcome-tag.tool-tag{
  background:#f3f6f8;
}

/* Formatting correction requested for Modules 1 and 2:
   centre short horizontal flow diagrams while preserving scroll access
   for diagrams wider than the content column. */
.module-foundations-chapter .horizontal-process > :first-child,
.module-technical-foundations-chapter .horizontal-process > :first-child{
  margin-left:auto;
}
.module-foundations-chapter .horizontal-process > :last-child,
.module-technical-foundations-chapter .horizontal-process > :last-child{
  margin-right:auto;
}

/* Typography guardrail: new UI elements inherit the established
   Lexend body / Oswald heading system. */
.module-outcomes-box,
.module-outcomes-box p,
.module-outcomes-box li{
  font-family:"Lexend",Arial,sans-serif;
}

@media(max-width:700px){
  .module-outcomes-box{grid-template-columns:1fr}
  .module-foundations-chapter .horizontal-process > :first-child,
  .module-technical-foundations-chapter .horizontal-process > :first-child{margin-left:0}
  .module-foundations-chapter .horizontal-process > :last-child,
  .module-technical-foundations-chapter .horizontal-process > :last-child{margin-right:0}
}


/* ==========================================================
   TECHDEPTH GLOBAL AI ECOSYSTEM DROPDOWN NAVIGATION — v1
   Extends the existing TechDepth navigation without changing
   the typography, palette, content width or core page styling.
   ========================================================== */
.main-nav .nav-dropdown{
  position:relative;
  display:flex;
  align-items:center;
  align-self:stretch;
}
.main-nav .nav-dropdown-toggle{
  display:flex;
  align-items:center;
  gap:6px;
  min-height:58px;
  padding:0;
  border:0;
  background:transparent;
  color:#fff;
  font-family:"Lexend",Arial,sans-serif;
  font-size:10.5pt;
  font-weight:300;
  line-height:1;
  cursor:pointer;
  white-space:nowrap;
  opacity:.96;
}
.main-nav .nav-dropdown-toggle:hover,
.main-nav .nav-dropdown-toggle:focus-visible{
  opacity:1;
  text-decoration:underline;
}
.main-nav .nav-dropdown-toggle:focus-visible{
  outline:2px solid rgba(255,255,255,.85);
  outline-offset:5px;
  border-radius:2px;
}
.main-nav .nav-caret{
  display:inline-block;
  font-size:8pt;
  line-height:1;
  transition:transform .18s ease;
}
.main-nav .nav-dropdown.open .nav-caret{
  transform:rotate(180deg);
}
.main-nav .nav-dropdown-menu{
  display:none;
  position:absolute;
  top:100%;
  right:0;
  z-index:180;
  width:320px;
  padding:8px;
  background:#202020;
  border:1px solid rgba(255,255,255,.14);
  border-radius:0 0 7px 7px;
  box-shadow:0 12px 28px rgba(0,0,0,.24);
}
.main-nav .nav-dropdown.open > .nav-dropdown-menu{
  display:block;
}
.main-nav .nav-dropdown-menu a{
  display:block;
  padding:9px 11px;
  border-radius:4px;
  color:#fff;
  font-size:9.5pt;
  line-height:1.3;
  white-space:normal;
  opacity:.95;
}
.main-nav .nav-dropdown-menu a:hover,
.main-nav .nav-dropdown-menu a:focus-visible{
  background:#2d2d2d;
  text-decoration:none;
  opacity:1;
}
.main-nav .nav-dropdown-menu .nav-dropdown-featured{
  background:#2a2a2a;
  font-weight:600;
}
.main-nav .nav-dropdown-label{
  display:block;
  padding:9px 11px 5px;
  margin-top:4px;
  border-top:1px solid rgba(255,255,255,.10);
  color:#b7bec7;
  font-size:7.9pt;
  font-weight:600;
  letter-spacing:.045em;
  text-transform:uppercase;
}
.main-nav a.nav-current,
.main-nav .nav-dropdown-toggle.nav-current-parent{
  font-weight:600;
  opacity:1;
}
@media(min-width:901px){
  .main-nav .nav-dropdown:hover > .nav-dropdown-menu,
  .main-nav .nav-dropdown:focus-within > .nav-dropdown-menu{
    display:block;
  }
}
@media(max-width:900px){
  .main-nav .nav-dropdown{
    width:100%;
    display:block;
    align-self:auto;
  }
  .main-nav .nav-dropdown-toggle{
    width:100%;
    min-height:0;
    justify-content:space-between;
    padding:0;
    line-height:1.35;
  }
  .main-nav .nav-dropdown-menu{
    position:static;
    width:100%;
    margin-top:10px;
    padding:7px;
    border-radius:6px;
    background:#181818;
    box-shadow:none;
  }
  .main-nav .nav-dropdown-menu a{
    padding:9px 10px;
  }
}


/* ==========================================================
   TECHDEPTH THIRD-PARTY REFERENCE & ATTRIBUTION SYSTEM — v3
   Uniform compact superscript marker across body copy, cards,
   headings and living-library titles. Hover/focus/click/tap
   behaviour and the existing attribution popover are unchanged.
   ========================================================== */
.third-party-reference{
  position:relative;
  display:inline-flex;
  align-items:baseline;
  gap:2px;
  max-width:100%;
}
.third-party-reference-name{display:inline}
.third-party-ref-trigger{
  flex:0 0 auto;
  position:relative;
  /* Inherit the surrounding text size only for superscript positioning.
     The visible glyph itself is fixed and compact via ::after below. */
  top:-.60em;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:10px;
  height:10px;
  min-width:10px;
  min-height:10px;
  padding:0;
  border:1px solid #8a98a8;
  border-radius:50%;
  background:#fff;
  color:transparent;
  font-family:"Lexend",Arial,sans-serif;
  font-size:inherit;
  font-weight:600;
  line-height:1;
  cursor:pointer;
  vertical-align:baseline;
  overflow:visible;
}
.third-party-ref-trigger::before{
  content:"";
  position:absolute;
  inset:-6px;
  border-radius:50%;
}
.third-party-ref-trigger::after{
  content:"i";
  position:absolute;
  inset:0;
  display:flex;
  align-items:center;
  justify-content:center;
  color:var(--navy);
  font-family:"Lexend",Arial,sans-serif;
  font-size:6px;
  font-weight:700;
  line-height:1;
}
.third-party-ref-trigger:hover,
.third-party-ref-trigger:focus-visible{
  border-color:var(--navy);
  background:var(--soft-blue);
  outline:none;
}
.third-party-ref-popover{
  position:absolute;
  z-index:240;
  left:0;
  top:calc(100% + 8px);
  width:min(340px,calc(100vw - 44px));
  padding:13px 14px;
  border:1px solid var(--line);
  border-radius:7px;
  background:#fff;
  box-shadow:0 12px 30px rgba(11,37,69,.18);
  color:var(--ink);
  font-family:"Lexend",Arial,sans-serif;
  font-size:9.2pt;
  font-weight:300;
  line-height:1.45;
  text-align:left;
  white-space:normal;
  display:none;
  visibility:hidden;
  opacity:0;
  pointer-events:none;
  transform:translateY(-4px);
  transition:opacity .14s ease,transform .14s ease,visibility .14s ease;
}
.third-party-ref-popover strong{
  display:block;
  margin:0 0 6px;
  color:var(--navy);
  font-family:"Oswald",Arial,sans-serif;
  font-size:11pt;
  line-height:1.2;
}
.third-party-ref-popover > span{
  display:block;
  margin-bottom:8px;
}
.third-party-ref-popover a{
  display:inline-block;
  font-weight:600;
  text-decoration:none;
}
.third-party-ref-popover a:hover,
.third-party-ref-popover a:focus-visible{text-decoration:underline}
.third-party-reference.is-flipped .third-party-ref-popover{left:auto;right:0}
.third-party-reference:hover .third-party-ref-popover,
.third-party-reference:focus-within .third-party-ref-popover,
.third-party-reference.is-open .third-party-ref-popover{
  display:block;
  visibility:visible;
  opacity:1;
  pointer-events:auto;
  transform:translateY(0);
}
.third-party-reference-note{
  margin:8px 0 14px !important;
  text-align:left !important;
}
.rights-register-card{
  scroll-margin-top:88px;
}
.rights-register-card .register-label{
  display:block;
  margin:10px 0 4px;
  color:var(--muted);
  font-size:8.3pt;
  font-weight:600;
  letter-spacing:.03em;
  text-transform:uppercase;
}
.rights-register-card .official-source{
  display:inline-block;
  margin-top:8px;
  font-weight:600;
  text-decoration:none;
}
.rights-register-card .official-source:hover,
.rights-register-card .official-source:focus-visible{text-decoration:underline}
#how-niyama-vidya-references-third-parties,
#model-platform-organisations,
#development-infrastructure,
#benchmarks-research{scroll-margin-top:88px}
@media(max-width:600px){
  .third-party-ref-popover,
  .third-party-reference.is-flipped .third-party-ref-popover{
    position:fixed;
    left:20px;
    right:20px;
    top:auto;
    bottom:22px;
    width:auto;
    max-width:none;
  }
}

/* ==========================================================
   TECHDEPTH GLOBAL NAVIGATION & SITE DIRECTORY — v2
   Information architecture expansion only. Existing TechDepth
   typography, palette and spacing scale remain authoritative.
   ========================================================== */
.main-nav .nav-dropdown-rich{
  width:360px;
  padding:9px;
}
.main-nav .nav-dropdown-rich .nav-dropdown-label{
  margin:0 3px 5px;
  padding:7px 9px 8px;
  border-top:0;
  border-bottom:1px solid rgba(255,255,255,.10);
}
.main-nav .nav-dropdown-rich a{
  padding:10px 11px;
}
.main-nav .nav-menu-title{
  display:block;
  font-weight:600;
  line-height:1.25;
}
.main-nav .nav-menu-desc{
  display:block;
  margin-top:3px;
  color:#c3c9d0;
  font-size:8.2pt;
  font-weight:300;
  line-height:1.32;
}
.main-nav .nav-dropdown-rich a:hover .nav-menu-desc,
.main-nav .nav-dropdown-rich a:focus-visible .nav-menu-desc{
  color:#ffffff;
}

.site-footer{
  padding:0;
  text-align:left;
  background:#f6f8fb;
  color:#3f4853;
}
.footer-directory-shell{
  max-width:var(--max);
  margin:0 auto;
  padding:var(--fluid-footer-block-start) var(--fluid-shell-inline) var(--fluid-footer-block-end);
}
.footer-directory-intro{
  margin-bottom:25px;
  padding-bottom:18px;
  border-bottom:1px solid #d9dee5;
}
.footer-directory-eyebrow{
  font-family:"Oswald",Arial,sans-serif;
  font-size:17pt;
  font-weight:700;
  color:var(--navy);
  line-height:1.12;
}
.footer-directory-title{
  margin-top:6px;
  color:#596575;
  font-size:10pt;
  line-height:1.4;
}
.footer-directory-grid{
  display:grid;
  grid-template-columns:repeat(6,minmax(0,1fr));
  gap:26px;
  align-items:start;
}
.footer-group{
  min-width:0;
}
.footer-group summary{
  list-style:none;
  cursor:default;
  font-family:"Oswald",Arial,sans-serif;
  font-size:11pt;
  font-weight:700;
  line-height:1.2;
  color:var(--navy);
}
.footer-group summary::-webkit-details-marker{display:none}
.footer-group summary::marker{display:none}
.footer-links{
  display:grid;
  gap:8px;
  margin-top:12px;
}
.site-footer .footer-directory-grid .footer-links a{
  margin:0;
  padding:0;
  background:transparent !important;
  border:0 !important;
  border-radius:0;
  box-shadow:none;
  color:#4f5b68 !important;
  font-size:8.9pt;
  font-weight:300;
  line-height:1.38;
  text-decoration:none !important;
}
.site-footer .footer-directory-grid .footer-links a:hover,
.site-footer .footer-directory-grid .footer-links a:focus-visible{
  color:var(--navy) !important;
  text-decoration:underline !important;
  box-shadow:none;
  transform:none;
}
.site-footer .footer-directory-grid .footer-links a:focus-visible{
  outline:2px solid var(--navy);
  outline-offset:3px;
}
.footer-group-legal{
  padding-left:16px;
  border-left:2px solid #315f48;
}
.footer-bottom-strip{
  border-top:1px solid #d9dee5;
  background:#ffffff;
  padding:16px 24px 18px;
  text-align:center;
  font-size:8.2pt;
  line-height:1.4;
  color:#4f5965;
}
.footer-bottom-strip>div{
  max-width:var(--max);
  margin:0 auto;
}

@media(max-width:1100px){
  .footer-directory-grid{
    grid-template-columns:repeat(3,minmax(0,1fr));
    row-gap:28px;
  }
}
@media(max-width:900px){
  .main-nav .nav-dropdown-rich{
    width:100%;
  }
  .main-nav .nav-menu-desc{
    font-size:8.4pt;
  }
}
@media(max-width:700px){
  .footer-directory-intro{
    margin-bottom:12px;
    padding-bottom:16px;
  }
  .footer-directory-grid{
    display:block;
  }
  .footer-group,
  .footer-group-legal{
    padding:0;
    border-left:0;
    border-bottom:1px solid #d9dee5;
  }
  .footer-group summary{
    position:relative;
    cursor:pointer;
    padding:13px 28px 13px 0;
    font-size:11.5pt;
  }
  .footer-group summary::after{
    content:"+";
    position:absolute;
    right:1px;
    top:50%;
    transform:translateY(-50%);
    color:var(--navy);
    font-family:"Lexend",Arial,sans-serif;
    font-size:14pt;
    font-weight:300;
  }
  .footer-group[open] summary::after{content:"–"}
  .footer-links{
    gap:0;
    margin:0 0 11px;
  }
  .site-footer .footer-directory-grid .footer-links a{
    display:block;
    padding:7px 0;
    font-size:9.1pt;
  }
  .footer-bottom-strip{
    padding:15px 22px 17px;
    text-align:left;
  }
}


/* ==========================================================
   TECHDEPTH BUTTON FUN — GLOBAL CTA SYSTEM v2
   Website-wide for genuine CTA/button elements only. Runtime
   targeting in site.js excludes navigation, footer, breadcrumbs,
   Previous/Next controls, pathway rows and ordinary text links.
   ========================================================== */
.button-fun{
  --td-fun-aura:rgba(49,95,72,.18);
  --td-fun-glow:rgba(22,59,102,.18);
  --td-fun-shine:rgba(255,255,255,.72);
  position:relative;
  isolation:isolate;
  overflow:hidden;
  transform:translateZ(0);
  transition:transform .22s ease,box-shadow .22s ease,background-color .22s ease,border-color .22s ease;
  will-change:transform;
}
.primary-action.button-fun,
.continue-button.button-fun,
.chapter-open-link.button-fun,
.feedback-button.button-fun{
  --td-fun-aura:rgba(111,170,137,.28);
  --td-fun-glow:rgba(11,37,69,.22);
  --td-fun-shine:rgba(255,255,255,.76);
}
.secondary-action.button-fun,
.cta a.button-fun{
  --td-fun-aura:rgba(49,95,72,.14);
  --td-fun-glow:rgba(49,95,72,.12);
  --td-fun-shine:rgba(49,95,72,.24);
}
.button-fun-label{
  position:relative;
  z-index:2;
}
.button-fun::before,
.button-fun::after{
  content:"";
  position:absolute;
  pointer-events:none;
  z-index:1;
}
.button-fun::before{
  width:110px;
  height:110px;
  left:-55px;
  bottom:-78px;
  border-radius:50%;
  background:radial-gradient(circle,var(--td-fun-aura) 0 20%,rgba(49,95,72,0) 68%);
  opacity:0;
  transform:scale(.55);
}
.button-fun::after{
  top:-90%;
  left:-42%;
  width:28%;
  height:280%;
  background:linear-gradient(90deg,transparent 0%,var(--td-fun-shine) 48%,transparent 100%);
  opacity:0;
  transform:rotate(19deg) translateX(-240%);
}
.button-fun:hover,
.button-fun:focus-visible{
  transform:translateY(-2px);
  box-shadow:0 9px 22px var(--td-fun-glow),0 0 0 3px var(--td-fun-aura);
  animation:td-button-fun-aura .62s ease-out both;
}
.button-fun:hover::before,
.button-fun:focus-visible::before{
  animation:td-button-fun-bloom .9s ease-out both;
}
.button-fun:hover::after,
.button-fun:focus-visible::after{
  animation:td-button-fun-shine .72s cubic-bezier(.2,.7,.2,1) both;
}
.button-fun:active{
  transform:translateY(0) scale(.985);
  box-shadow:0 4px 12px var(--td-fun-glow);
}
@keyframes td-button-fun-aura{
  0%{box-shadow:0 0 0 0 rgba(49,95,72,0),0 3px 8px rgba(11,37,69,.08)}
  45%{box-shadow:0 0 0 5px var(--td-fun-aura),0 10px 24px var(--td-fun-glow)}
  100%{box-shadow:0 9px 22px var(--td-fun-glow),0 0 0 3px var(--td-fun-aura)}
}
@keyframes td-button-fun-bloom{
  0%{opacity:0;transform:translate(-10px,12px) scale(.45)}
  38%{opacity:1}
  100%{opacity:0;transform:translate(105px,-58px) scale(1.65)}
}
@keyframes td-button-fun-shine{
  0%{opacity:0;transform:rotate(19deg) translateX(-240%)}
  16%{opacity:.92}
  82%{opacity:.48}
  100%{opacity:0;transform:rotate(19deg) translateX(650%)}
}
@media(prefers-reduced-motion:reduce){
  .button-fun,
  .button-fun::before,
  .button-fun::after{
    animation:none !important;
    transition:none !important;
  }
  .button-fun:hover,
  .button-fun:focus-visible{
    transform:none;
  }
}

/* ==========================================================
   CHECKPOINT 24 — CRITICAL PAGE EXPERIENCE SYSTEM
   Scoped enhancements for Home, Start Here, AI Ecosystem and Privacy.
   Preserves the locked TechDepth typography, palette and shared shell.
   ========================================================== */
.section-kicker{
  display:block;
  margin-bottom:7px;
  color:var(--green);
  font-family:"Oswald",Arial,sans-serif;
  font-size:9pt;
  font-weight:700;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.section-heading-row{
  display:grid;
  grid-template-columns:minmax(0,1.35fr) minmax(280px,.65fr);
  gap:34px;
  align-items:end;
  margin-bottom:20px;
}
.section-heading-row h2{margin-bottom:0}
.section-heading-row>p{
  margin:0;
  color:#4f5b68;
  font-size:10pt;
  line-height:1.5;
  text-align:left;
}
.inline-action-row{display:flex;gap:12px;flex-wrap:wrap;margin-top:22px}

/* Home */
.home-hero{
  position:relative;
  overflow:hidden;
  color:#fff;
  background:
    radial-gradient(circle at 78% 24%,rgba(111,170,137,.19),transparent 24%),
    radial-gradient(circle at 91% 82%,rgba(91,127,165,.21),transparent 28%),
    linear-gradient(135deg,#0b2545 0%,#102f53 54%,#173c65 100%);
}
.home-hero::before,
.home-hero::after{
  content:"";
  position:absolute;
  border:1px solid rgba(255,255,255,.11);
  border-radius:50%;
  pointer-events:none;
}
.home-hero::before{width:520px;height:520px;right:-160px;top:-245px}
.home-hero::after{width:360px;height:360px;right:120px;bottom:-250px}
.home-hero-inner{
  position:relative;
  z-index:1;
  max-width:var(--max);
  margin:0 auto;
  padding:72px 36px 74px;
  display:grid;
  grid-template-columns:minmax(0,1.12fr) minmax(360px,.88fr);
  gap:66px;
  align-items:center;
}
.home-hero .eyebrow{
  margin-bottom:12px;
  font-family:"Oswald",Arial,sans-serif;
  font-size:10pt;
  font-weight:700;
  letter-spacing:.08em;
  text-transform:uppercase;
  opacity:.82;
}
.home-hero h1{font-size:39pt;max-width:700px}
.home-hero-sub{max-width:710px;margin:18px 0 0;font-size:12.5pt;line-height:1.55;color:rgba(255,255,255,.9)}
.home-hero .top-page-actions{margin-top:26px}
.home-hero .secondary-action{border-color:rgba(255,255,255,.7);color:#fff !important;background:rgba(255,255,255,.04)}
.home-hero .secondary-action:hover,.home-hero .secondary-action:focus-visible{background:rgba(255,255,255,.12);color:#fff !important}
.home-trust-line{display:flex;flex-wrap:wrap;gap:8px 18px;margin-top:24px;color:rgba(255,255,255,.74);font-size:8.9pt}
.home-trust-line span{position:relative;padding-left:13px}
.home-trust-line span::before{content:"";position:absolute;left:0;top:.46em;width:5px;height:5px;border-radius:50%;background:#9ac5ad}
.home-blueprint-visual{
  position:relative;
  padding:24px;
  border:1px solid rgba(255,255,255,.18);
  border-radius:18px;
  background:linear-gradient(180deg,rgba(255,255,255,.11),rgba(255,255,255,.055));
  box-shadow:0 26px 60px rgba(0,0,0,.17);
  backdrop-filter:blur(4px);
}
.blueprint-visual-kicker{margin-bottom:15px;color:rgba(255,255,255,.62);font-family:"Oswald",Arial,sans-serif;font-size:8.3pt;letter-spacing:.1em}
.blueprint-stage{display:flex;align-items:center;gap:15px;padding:16px;border:1px solid rgba(255,255,255,.17);border-radius:10px;background:rgba(7,28,52,.44)}
.blueprint-stage-index{display:grid;place-items:center;min-width:38px;height:38px;border-radius:8px;background:rgba(255,255,255,.1);font-family:"Oswald",Arial,sans-serif;font-weight:700;color:#cde0d5}
.blueprint-stage strong{display:block;font-family:"Oswald",Arial,sans-serif;font-size:17pt;color:#fff}
.blueprint-stage small{display:block;margin-top:3px;color:rgba(255,255,255,.7);font-size:8.8pt}
.blueprint-stage-explore{border-color:rgba(145,181,213,.32)}
.blueprint-stage-apply{border-color:rgba(134,193,158,.37)}
.blueprint-connector{height:26px;display:flex;justify-content:flex-start;padding-left:34px}
.blueprint-connector span{width:1px;height:100%;background:linear-gradient(#8bb49e,rgba(255,255,255,.12))}
.blueprint-resource-rail{display:flex;gap:7px;flex-wrap:wrap;margin-top:16px;padding-top:15px;border-top:1px solid rgba(255,255,255,.15)}
.blueprint-resource-rail span{padding:5px 8px;border-radius:999px;background:rgba(255,255,255,.08);color:rgba(255,255,255,.68);font-size:7.8pt}
.home-page-shell{padding-top:42px}
.library-snapshot{padding:8px 0 34px}
.metric-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
.metric-card{padding:20px;border:1px solid var(--line);border-radius:10px;background:linear-gradient(180deg,#fff,#f8fafc)}
.metric-card strong{display:block;font-family:"Oswald",Arial,sans-serif;font-size:28pt;color:var(--navy);line-height:1}
.metric-card span{display:block;margin-top:7px;font-weight:600;color:#22364c}
.metric-card small{display:block;margin-top:4px;color:#687381;font-size:8.4pt;line-height:1.35}
.five-w-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px}
.five-w-card{padding:18px;border-top:3px solid var(--green);background:var(--soft);border-radius:0 0 8px 8px}
.five-w-card>span{display:block;margin-bottom:9px;color:#6b7784;font-family:"Oswald",Arial,sans-serif;font-size:8.6pt;font-weight:700;letter-spacing:.08em}
.five-w-card h3{font-size:13pt}
.five-w-card p{margin:0;text-align:left;font-size:9.25pt;line-height:1.48;color:#374655}
.learning-mode-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.learning-mode-card{display:grid;grid-template-columns:48px 1fr;gap:14px;padding:22px;border:1px solid var(--line);border-radius:10px;background:#fff}
.mode-icon{display:grid;place-items:center;width:42px;height:42px;border-radius:10px;background:var(--navy);color:#fff;font-family:"Oswald",Arial,sans-serif;font-size:18pt;font-weight:700}
.learning-mode-card:nth-child(2) .mode-icon{background:var(--navy-2)}
.learning-mode-card:nth-child(3) .mode-icon{background:var(--green)}
.learning-mode-card p{font-size:9.5pt;line-height:1.48;text-align:left}
.learning-mode-card a{font-weight:600;text-decoration:none;font-size:9pt}
.learning-mode-card a:hover{text-decoration:underline}
.audience-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
.audience-grid article{padding:20px;border-left:3px solid #9fb4a8;background:#fafbfc}
.audience-grid p{margin:0;text-align:left;font-size:9.35pt;line-height:1.47;color:#465464}
.home-principles-band{margin:32px 0;padding:28px;border-radius:12px;background:linear-gradient(135deg,#eef3f8,#f7faf8);border:1px solid #dce4e2}
.home-principles-band>div:first-child{max-width:700px}
.home-principles-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;margin-top:18px}
.home-principles-grid p{margin:0;text-align:left;font-size:9.3pt;line-height:1.48}
.home-final-cta{margin:38px 0 6px;padding:30px;border:1px solid #cfd9e3;border-radius:12px;background:linear-gradient(135deg,#f7f9fc,#eef3f8);display:grid;grid-template-columns:minmax(0,1fr) auto;gap:30px;align-items:center}
.home-final-cta h2{margin-bottom:8px}
.home-final-cta p{margin:0;text-align:left;max-width:700px;color:#4b5967;line-height:1.5}
.home-final-cta .top-page-actions{margin:0;white-space:nowrap}

/* Start Here */
.route-check-strip{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;margin:4px 0 24px;background:#d8e0e7;border:1px solid #d8e0e7;border-radius:10px;overflow:hidden}
.route-check-strip>div{display:flex;align-items:center;gap:12px;padding:16px 18px;background:#f9fbfc}
.route-check-strip strong{display:grid;place-items:center;min-width:30px;height:30px;border-radius:50%;background:var(--navy);color:#fff;font-family:"Oswald",Arial,sans-serif}
.route-check-strip span{font-size:9.3pt;color:#344455}
.route-choice-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.route-choice-grid article{display:flex;flex-direction:column;padding:20px;border:1px solid var(--line);border-radius:10px;background:#fff}
.route-choice-grid h3{font-size:13.2pt}
.route-choice-grid p{flex:1;text-align:left;font-size:9.35pt;line-height:1.48;color:#445263}
.route-choice-grid .primary-action{align-self:flex-start;margin-top:6px}
.route-tag{display:inline-block;align-self:flex-start;margin-bottom:10px;padding:4px 7px;border-radius:999px;background:#edf3ef;color:var(--green);font-family:"Oswald",Arial,sans-serif;font-size:7.8pt;font-weight:700;letter-spacing:.06em}
.start-module-map .module-row{grid-template-columns:auto minmax(0,1fr) auto}
.route-rail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.route-rail{padding:20px;border:1px solid var(--line);border-radius:9px;background:#fbfcfd}
.route-nodes{display:flex;align-items:center;gap:7px;flex-wrap:wrap;margin:12px 0 10px}
.route-nodes span{padding:6px 8px;border-radius:6px;background:#eaf0f5;color:#183a61;font-size:8.2pt;font-weight:600}
.route-nodes i{font-style:normal;color:#8a96a3}
.route-rail p{margin:0;text-align:left;font-size:9.2pt;line-height:1.45;color:#4d5966}
.start-skip-note{margin:30px 0;padding:28px;border-radius:12px;background:#0f2d4e;color:#fff;display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:32px}
.start-skip-note h2{color:#fff;margin-bottom:0}
.start-skip-note .section-kicker{color:#9fc7b1}
.skip-principles{display:grid;gap:12px}
.skip-principles p{margin:0;padding-bottom:12px;border-bottom:1px solid rgba(255,255,255,.13);text-align:left;font-size:9.3pt;line-height:1.48;color:rgba(255,255,255,.84)}
.skip-principles p:last-child{border-bottom:0;padding-bottom:0}
.start-final-cta{margin-top:34px}

/* AI Ecosystem master blueprint */
.ecosystem-snapshot{display:grid;grid-template-columns:minmax(0,1fr) minmax(440px,.9fr);gap:42px;align-items:end;padding:8px 0 30px;border-bottom:1px solid #e1e6eb}
.ecosystem-snapshot h2{margin-bottom:8px}
.ecosystem-snapshot p{margin:0;max-width:720px;color:#4f5b68;line-height:1.5}
.ecosystem-metrics{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:7px}
.ecosystem-metrics span{padding:12px 8px;border-radius:8px;background:#f3f6f9;text-align:center;font-size:7.8pt;color:#5f6c79}
.ecosystem-metrics strong{display:block;font-family:"Oswald",Arial,sans-serif;font-size:18pt;color:var(--navy)}
.ecosystem-stage-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;align-items:start}
.ecosystem-stage-card{position:relative;padding:22px;border:1px solid var(--line);border-radius:12px;background:#fff;box-shadow:0 8px 24px rgba(14,38,65,.04)}
.ecosystem-stage-card::after{content:"→";position:absolute;right:-15px;top:38px;color:#9aa7b4;font-family:"Oswald",Arial,sans-serif;font-size:18pt;z-index:2}
.ecosystem-stage-card:last-child::after{display:none}
.stage-card-header{display:flex;align-items:flex-start;gap:13px;padding-bottom:14px;border-bottom:1px solid #e5e9ed}
.stage-number{display:grid;place-items:center;min-width:38px;height:38px;border-radius:9px;background:#edf2f6;color:var(--navy);font-family:"Oswald",Arial,sans-serif;font-weight:700}
.stage-label{display:block;color:var(--green);font-family:"Oswald",Arial,sans-serif;font-size:7.8pt;font-weight:700;letter-spacing:.09em}
.stage-card-header h3{margin:3px 0 0;font-size:15pt}
.stage-summary{min-height:76px;margin:15px 0!important;text-align:left!important;font-size:9.2pt;line-height:1.48;color:#475564}
.stage-link-list{display:grid;gap:8px}
.stage-link-list a{position:relative;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;padding:10px 11px;border-radius:7px;background:#f7f9fb;text-decoration:none;color:#20364e;font-size:8.8pt}
.stage-link-list a:hover{background:#eef3f7}
.stage-link-list a strong{font-weight:600}
.stage-link-list a span{align-self:start;padding:3px 5px;border-radius:999px;background:#e6edf3;color:#506477;font-size:7.2pt;white-space:nowrap}
.stage-link-list-large a{grid-template-columns:minmax(0,1fr) auto}
.stage-link-list-large a small{grid-column:1/-1;color:#65717d;font-size:7.9pt;line-height:1.4}
.stage-card-foot{margin-top:15px;padding-top:13px;border-top:1px solid #e5e9ed}
.stage-card-foot a{text-decoration:none;font-size:8.8pt;font-weight:600}
.stage-card-foot a:hover{text-decoration:underline}
.stage-apply{border-color:#cbdccf}
.connection-flow{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr) auto minmax(0,1fr);gap:12px;align-items:stretch}
.connection-flow>div{padding:18px;border-radius:10px;background:#f6f8fb;border:1px solid #dce2e8}
.connection-flow>div:nth-of-type(3){background:#f2f7f3;border-color:#d2dfd5}
.connection-flow span{display:block;color:var(--green);font-family:"Oswald",Arial,sans-serif;font-size:8pt;font-weight:700;letter-spacing:.08em}
.connection-flow strong{display:block;margin-top:7px;color:var(--navy);font-size:10pt;line-height:1.4}
.connection-flow small{display:block;margin-top:6px;color:#697480;font-size:8pt}
.connection-flow>i{align-self:center;font-style:normal;color:#9ba6b1;font-size:17pt}
.resource-foundation-rail{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:14px;padding:13px 15px;border-radius:9px;background:#0f2d4e;color:#fff;font-size:8.5pt}
.resource-foundation-rail strong{margin-right:4px;font-family:"Oswald",Arial,sans-serif;font-size:10pt}
.resource-foundation-rail span{padding:4px 7px;border-radius:999px;background:rgba(255,255,255,.08);color:rgba(255,255,255,.78)}
.resource-foundation-rail a{margin-left:auto;color:#fff;font-weight:600;text-decoration:none}
.use-mode-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
.use-mode-grid article{padding:19px;border-top:3px solid #c9d5df;background:#fafbfc}
.use-mode-grid article>span{display:block;color:#83909d;font-family:"Oswald",Arial,sans-serif;font-size:8.2pt;font-weight:700}
.use-mode-grid h3{margin-top:7px;font-size:13pt}
.use-mode-grid p{margin:0;text-align:left;font-size:9.1pt;line-height:1.45;color:#4b5967}
.ecosystem-support-band{margin:28px 0;padding:27px;border:1px solid #dce4e2;border-radius:12px;background:linear-gradient(135deg,#f4f8f5,#f3f6fa);display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:30px}
.ecosystem-support-band p{margin:0;text-align:left;color:#4b5967;line-height:1.5}
.support-link-grid{display:grid;gap:8px}
.support-link-grid a{display:flex;justify-content:space-between;gap:15px;padding:12px 14px;border-radius:8px;background:#fff;border:1px solid #dfe4e8;text-decoration:none}
.support-link-grid strong{color:var(--navy)}
.support-link-grid span{color:#63707c;font-size:8.4pt;text-align:right}

/* Privacy */
.privacy-hero .hero-inner{padding-bottom:52px}
.privacy-updated{margin-top:18px;color:rgba(255,255,255,.72);font-size:9pt}
.privacy-page-shell{padding-top:32px}
.privacy-summary-panel{display:grid;grid-template-columns:minmax(0,.7fr) minmax(0,1.3fr);gap:32px;padding:26px;border:1px solid #d8e1e8;border-radius:12px;background:linear-gradient(135deg,#f6f9fb,#f3f8f5)}
.privacy-summary-copy p{margin:0;color:#4b5967;line-height:1.52}
.privacy-status-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.privacy-status-grid>div{display:grid;grid-template-columns:auto 1fr;column-gap:9px;padding:13px;border:1px solid #dce4e2;border-radius:8px;background:#fff}
.privacy-status-icon{grid-row:1/3;display:grid;place-items:center;width:24px;height:24px;border-radius:50%;background:#e7f0ea;color:var(--green);font-weight:600}
.privacy-status-grid strong{font-size:9pt;color:#20364e}
.privacy-status-grid small{margin-top:4px;color:#687480;font-size:7.8pt;line-height:1.35}
.privacy-layout{display:grid;grid-template-columns:220px minmax(0,1fr);gap:46px;margin-top:34px}
.privacy-toc{position:sticky;top:84px;align-self:start;padding:16px 0;border-top:2px solid var(--navy);border-bottom:1px solid var(--line)}
.privacy-toc-title{margin-bottom:8px;font-family:"Oswald",Arial,sans-serif;font-size:11pt;font-weight:700;color:var(--navy)}
.privacy-toc a{display:block;padding:6px 0;color:#536170;text-decoration:none;font-size:8.6pt;line-height:1.35}
.privacy-toc a:hover{color:var(--navy);text-decoration:underline}
.privacy-content{min-width:0}
.privacy-section{position:relative;padding:0 0 30px 46px;margin:0 0 28px;border-bottom:1px solid #e1e5e9;scroll-margin-top:90px}
.privacy-section:last-child{border-bottom:0}
.privacy-section-number{position:absolute;left:0;top:1px;color:#9aa5af;font-family:"Oswald",Arial,sans-serif;font-size:10pt;font-weight:700}
.privacy-section h2{font-size:18pt}
.privacy-section p{max-width:900px;text-align:left;line-height:1.58;color:#283746}
.privacy-data-table{margin:16px 0 18px;border:1px solid #d9dee5;border-radius:8px;overflow:hidden}
.privacy-data-row{display:grid;grid-template-columns:1fr .75fr 1.15fr;border-top:1px solid #e1e5e9}
.privacy-data-row:first-child{border-top:0}
.privacy-data-row span{padding:10px 12px;font-size:8.7pt;line-height:1.4}
.privacy-data-head{background:var(--green);color:#fff;font-weight:600}
.privacy-example-grid,.privacy-trigger-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:15px 0 18px}
.privacy-example-grid>div,.privacy-trigger-grid>div{padding:13px;border:1px solid #dfe4e8;border-radius:8px;background:#fafbfc}
.privacy-example-grid strong,.privacy-trigger-grid strong{display:block;color:var(--navy);font-size:9pt}
.privacy-example-grid span,.privacy-trigger-grid span{display:block;margin-top:4px;color:#65717d;font-size:8.1pt;line-height:1.4}
.privacy-callout{display:grid;grid-template-columns:auto minmax(0,1fr);gap:4px 16px;margin:17px 0;padding:16px;border-left:3px solid var(--green);background:#f3f7f4}
.privacy-callout strong{color:var(--navy)}
.privacy-callout span{font-size:8.9pt;line-height:1.45;color:#4c5966}
.privacy-callout a{grid-column:2;text-decoration:none;font-size:8.6pt;font-weight:600}
.privacy-bottom-note{margin-top:20px;padding:22px;border:1px solid #d6dee6;border-radius:10px;background:#f8fafc;display:flex;align-items:center;justify-content:space-between;gap:24px}
.privacy-bottom-note>div{display:grid;gap:4px}
.privacy-bottom-note strong{font-family:"Oswald",Arial,sans-serif;color:var(--navy);font-size:12pt}
.privacy-bottom-note span{max-width:850px;color:#53606c;font-size:8.9pt;line-height:1.45}

@media(max-width:1050px){
  .home-hero-inner{grid-template-columns:minmax(0,1fr) 360px;gap:38px}
  .five-w-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
  .ecosystem-stage-grid{grid-template-columns:1fr}
  .ecosystem-stage-card::after{content:"↓";right:auto;left:50%;top:auto;bottom:-19px}
  .ecosystem-snapshot{grid-template-columns:1fr}
  .ecosystem-metrics{max-width:700px}
  .use-mode-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:820px){
  .section-heading-row{grid-template-columns:1fr;gap:8px;align-items:start}
  .home-hero-inner{grid-template-columns:1fr;padding:58px 30px 60px}
  .home-blueprint-visual{max-width:560px;width:100%}
  .metric-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .learning-mode-grid,.route-choice-grid{grid-template-columns:1fr}
  .audience-grid,.home-principles-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .home-final-cta{grid-template-columns:1fr}
  .home-final-cta .top-page-actions{justify-content:flex-start}
  .route-check-strip{grid-template-columns:1fr}
  .route-rail-grid{grid-template-columns:1fr}
  .start-skip-note,.ecosystem-support-band{grid-template-columns:1fr}
  .connection-flow{grid-template-columns:1fr}
  .connection-flow>i{text-align:center;transform:rotate(90deg)}
  .resource-foundation-rail a{margin-left:0;width:100%;margin-top:4px}
  .privacy-summary-panel{grid-template-columns:1fr}
  .privacy-layout{grid-template-columns:1fr;gap:24px}
  .privacy-toc{position:static;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 18px;padding:14px}
  .privacy-toc-title{grid-column:1/-1}
}
@media(max-width:600px){
  .home-hero h1{font-size:31pt}
  .home-hero-inner{padding:48px 22px 50px}
  .home-blueprint-visual{padding:17px}
  .home-trust-line{gap:7px 13px}
  .five-w-grid,.metric-grid,.audience-grid,.home-principles-grid,.use-mode-grid{grid-template-columns:1fr}
  .home-final-cta{padding:22px}
  .route-check-strip>div{padding:13px}
  .start-module-map .module-row{grid-template-columns:auto minmax(0,1fr)}
  .start-module-map .status-pill{grid-column:2;justify-self:start}
  .ecosystem-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}
  .ecosystem-metrics span:last-child{grid-column:1/-1}
  .stage-summary{min-height:0}
  .stage-link-list a,.stage-link-list-large a{grid-template-columns:1fr}
  .stage-link-list a span{justify-self:start}
  .privacy-status-grid,.privacy-example-grid,.privacy-trigger-grid{grid-template-columns:1fr}
  .privacy-toc{grid-template-columns:1fr}
  .privacy-section{padding-left:32px}
  .privacy-data-table{overflow-x:auto}
  .privacy-data-row{min-width:600px}
  .privacy-callout{grid-template-columns:1fr}
  .privacy-callout a{grid-column:1}
  .privacy-bottom-note{align-items:flex-start;flex-direction:column}
}


/* =========================================================
   Checkpoint 25 — Professional trust pages
   About · Feedback · Disclaimer · Third-Party Rights
   Extends the locked TechDepth UI system without changing it.
   ========================================================= */
.trust-hero .hero-inner{padding-bottom:48px}
.trust-hero .hero-sub{max-width:870px}
.trust-hero-meta{display:flex;flex-wrap:wrap;gap:7px 9px;margin-top:20px}
.trust-hero-meta span{padding:6px 10px;border:1px solid rgba(255,255,255,.24);border-radius:999px;background:rgba(255,255,255,.06);color:rgba(255,255,255,.83);font-size:8.2pt;line-height:1.2}
.trust-updated{margin-top:17px;color:rgba(255,255,255,.68);font-size:8.7pt}
.trust-page-shell{padding-top:32px}
.trust-summary-panel{display:grid;grid-template-columns:minmax(0,.82fr) minmax(430px,1.18fr);gap:30px;padding:26px;border:1px solid #d8e1e8;border-radius:12px;background:linear-gradient(135deg,#f6f9fb,#f3f8f5)}
.trust-summary-copy h2{margin:4px 0 10px;font-size:20pt}
.trust-summary-copy p{margin:0;max-width:760px;text-align:left;color:#4b5967;line-height:1.55}
.trust-layout{display:grid;grid-template-columns:220px minmax(0,1fr);gap:46px;margin-top:36px}
.trust-toc{position:sticky;top:84px;align-self:start;padding:16px 0;border-top:2px solid var(--navy);border-bottom:1px solid var(--line)}
.trust-toc-title{margin-bottom:8px;font-family:"Oswald",Arial,sans-serif;font-size:11pt;font-weight:700;color:var(--navy)}
.trust-toc a{display:block;padding:6px 0;color:#536170;text-decoration:none;font-size:8.55pt;line-height:1.35}
.trust-toc a:hover,.trust-toc a:focus-visible{color:var(--navy);text-decoration:underline}
.trust-content{min-width:0}
.trust-numbered-section{position:relative;padding:0 0 31px 46px;margin:0 0 29px;border-bottom:1px solid #e1e5e9;scroll-margin-top:90px}
.trust-numbered-section:last-child{border-bottom:0}
.trust-section-number{position:absolute;left:0;top:2px;color:#98a4ae;font-family:"Oswald",Arial,sans-serif;font-size:10pt;font-weight:700}
.trust-numbered-section h2{font-size:18pt;margin-bottom:10px}
.trust-numbered-section>p{max-width:920px;text-align:left;line-height:1.6;color:#2c3a48}
.trust-section-block{margin-top:34px}
.trust-callout{display:grid;grid-template-columns:auto minmax(0,1fr);gap:4px 16px;margin:18px 0;padding:16px;border-left:3px solid var(--green);background:#f3f7f4}
.trust-callout strong{color:var(--navy)}
.trust-callout span{font-size:8.9pt;line-height:1.48;color:#4c5966}
.trust-callout a{grid-column:2;text-decoration:none;font-size:8.55pt;font-weight:600}
.trust-bottom-band{margin-top:18px;padding:22px;border:1px solid #d6dee6;border-radius:10px;background:#f8fafc;display:flex;align-items:center;justify-content:space-between;gap:24px}
.trust-bottom-band>div{display:grid;gap:4px}
.trust-bottom-band strong{font-family:"Oswald",Arial,sans-serif;color:var(--navy);font-size:12pt}
.trust-bottom-band span{max-width:820px;color:#53606c;font-size:8.9pt;line-height:1.45}

/* About */
.about-today-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.about-today-grid>div{padding:14px;border:1px solid #dce4e2;border-radius:9px;background:#fff}
.about-today-grid strong{display:block;font-family:"Oswald",Arial,sans-serif;font-size:22pt;line-height:1;color:var(--navy)}
.about-today-grid span{display:block;margin-top:5px;color:#20364e;font-weight:600;font-size:8.8pt}
.about-today-grid small{display:block;margin-top:3px;color:#6a7681;font-size:7.7pt}
.about-story-grid{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(300px,.75fr);gap:18px;margin-top:28px}
.about-story-card{padding:25px;border:1px solid #dce2e7;border-radius:12px;background:#fff}
.about-story-primary{background:linear-gradient(140deg,#fff,#f5f8fa)}
.about-story-card h2{font-size:20pt}
.about-story-card h3{font-size:16pt}
.about-story-card p{max-width:850px;text-align:left;line-height:1.58;color:#344251}
.about-story-card a{text-decoration:none;font-weight:600}
.about-layer-flow{display:grid;grid-template-columns:1fr auto 1fr auto 1fr;align-items:stretch;gap:10px;margin-top:18px}
.about-layer-flow>a{display:flex;flex-direction:column;padding:19px;border:1px solid #dce3e8;border-radius:10px;background:#fff;text-decoration:none;box-shadow:0 7px 22px rgba(14,38,65,.035)}
.about-layer-flow>a:hover,.about-layer-flow>a:focus-visible{border-color:#afbdc9;box-shadow:0 9px 26px rgba(14,38,65,.07)}
.about-layer-flow>a>span{color:var(--green);font-size:7.7pt;font-weight:700;letter-spacing:.06em}
.about-layer-flow>a>strong{margin-top:6px;color:var(--navy);font-family:"Oswald",Arial,sans-serif;font-size:13pt}
.about-layer-flow>a>small{margin-top:7px;color:#62707d;font-size:8.1pt;line-height:1.43}
.about-layer-flow>i{align-self:center;color:#9ca8b3;font-family:"Oswald",Arial,sans-serif;font-size:17pt;font-style:normal}
.about-principles-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:18px}
.about-principles-grid article{position:relative;padding:19px;border:1px solid #dfe4e8;border-radius:9px;background:#fafbfc}
.about-principles-grid article>span{position:absolute;right:14px;top:11px;color:#bcc5cc;font-family:"Oswald",Arial,sans-serif;font-size:10pt}
.about-principles-grid h3{padding-right:25px;font-size:11.5pt}
.about-principles-grid p{margin:7px 0 0;text-align:left;color:#5c6975;font-size:8.45pt;line-height:1.48}
.trust-link-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:17px}
.trust-link-grid a{display:grid;gap:5px;padding:16px;border:1px solid #dce3e8;border-radius:9px;background:#fff;text-decoration:none}
.trust-link-grid strong{color:var(--navy);font-family:"Oswald",Arial,sans-serif;font-size:11.5pt}
.trust-link-grid span{color:#64717d;font-size:8.2pt;line-height:1.4}
.about-direction-band{margin:34px 0;padding:27px;border:1px solid #dce4e2;border-radius:12px;background:linear-gradient(135deg,#f4f8f5,#f3f6fa);display:grid;grid-template-columns:minmax(0,1.2fr) minmax(330px,.8fr);gap:30px}
.about-direction-band p{margin:0;text-align:left;color:#4e5b68;line-height:1.52}
.about-direction-list{display:grid;gap:8px;align-content:start}
.about-direction-list span{padding:10px 12px;border:1px solid #dce3e6;border-radius:8px;background:#fff;color:#425160;font-size:8.5pt}

/* Feedback */
.feedback-status-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.feedback-status-grid>div{display:grid;grid-template-columns:auto 1fr;column-gap:9px;padding:13px;border:1px solid #dce4e2;border-radius:8px;background:#fff}
.feedback-status-grid>div>span{grid-row:1/3;display:grid;place-items:center;width:25px;height:25px;border-radius:50%;background:#e7f0ea;color:var(--green);font-weight:700;font-size:8pt}
.feedback-status-grid strong{font-size:8.8pt;color:#20364e}
.feedback-status-grid small{margin-top:4px;color:#687480;font-size:7.7pt;line-height:1.35}
.feedback-category-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:17px 0}
.feedback-category-grid article{padding:15px;border:1px solid #dfe4e8;border-radius:8px;background:#fafbfc}
.feedback-category-grid article>span{color:var(--green);font-size:7.4pt;font-weight:700;text-transform:uppercase;letter-spacing:.06em}
.feedback-category-grid h3{margin:5px 0 5px;font-size:10.5pt}
.feedback-category-grid p{margin:0;text-align:left;color:#64717d;font-size:8.15pt;line-height:1.44}
.feedback-anatomy{display:grid;grid-template-columns:1fr auto 1fr auto 1fr auto 1fr;gap:8px;align-items:center;margin:17px 0}
.feedback-anatomy>div{height:100%;padding:14px;border:1px solid #dfe4e8;border-radius:8px;background:#fff}
.feedback-anatomy strong{display:block;color:var(--navy);font-size:8.7pt}
.feedback-anatomy span{display:block;margin-top:5px;color:#66737f;font-size:7.8pt;line-height:1.4}
.feedback-anatomy i{font-style:normal;color:#a3adb7}
.feedback-form-pro{margin-top:16px}
.feedback-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}
.feedback-form-full{grid-column:1/-1}
.feedback-form-pro textarea{min-height:120px}
.feedback-form-pro #feedback-improvement{min-height:98px}
.field-optional{color:#7b8792;font-size:7.5pt;font-weight:400}
.feedback-after-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:16px 0}
.feedback-after-grid>div{padding:16px;border:1px solid #dfe4e8;border-radius:8px;background:#fafbfc}
.feedback-after-grid strong{color:var(--navy);font-size:9pt}
.feedback-after-grid p{margin:6px 0 0;text-align:left;color:#62707c;font-size:8.2pt;line-height:1.45}

/* Disclaimer */
.disclaimer-status-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.disclaimer-status-grid>div{display:grid;grid-template-columns:auto 1fr;column-gap:9px;padding:13px;border:1px solid #dce4e2;border-radius:8px;background:#fff}
.disclaimer-status-grid>div>span{grid-row:1/3;display:grid;place-items:center;min-width:28px;height:25px;padding:0 5px;border-radius:6px;background:#eef3f7;color:var(--navy);font-family:"Oswald",Arial,sans-serif;font-size:7.2pt;font-weight:700}
.disclaimer-status-grid strong{font-size:8.8pt;color:#20364e}
.disclaimer-status-grid small{margin-top:4px;color:#687480;font-size:7.7pt;line-height:1.35}
.disclaimer-boundary-table{margin:17px 0;border:1px solid #d9dfe5;border-radius:9px;overflow:hidden}
.disclaimer-boundary-table>div{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid #e2e6ea}
.disclaimer-boundary-table>div:first-child{border-top:0}
.disclaimer-boundary-table span{padding:11px 13px;font-size:8.45pt;line-height:1.4}
.disclaimer-boundary-head{background:var(--green);color:#fff;font-weight:600}
.disclaimer-risk-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:17px 0}
.disclaimer-risk-grid article{padding:15px;border:1px solid #dfe4e8;border-radius:8px;background:#fafbfc}
.disclaimer-risk-grid h3{font-size:10.5pt;margin-bottom:5px}
.disclaimer-risk-grid p{margin:0;text-align:left;color:#61707c;font-size:8.15pt;line-height:1.45}
.responsibility-ladder{display:grid;grid-template-columns:1fr auto 1fr auto 1fr;gap:9px;align-items:stretch;margin:18px 0}
.responsibility-ladder>div{padding:15px;border:1px solid #dfe4e8;border-radius:8px;background:#fff}
.responsibility-ladder>div>span{display:block;color:var(--green);font-size:7.2pt;font-weight:700;letter-spacing:.05em}
.responsibility-ladder strong{display:block;margin-top:5px;color:var(--navy);font-size:9pt}
.responsibility-ladder small{display:block;margin-top:5px;color:#67747f;font-size:7.8pt;line-height:1.4}
.responsibility-ladder i{align-self:center;color:#a4afb8;font-style:normal}

/* Third-party rights */
.rights-summary-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.rights-summary-grid>div{padding:13px;border:1px solid #dce4e2;border-radius:8px;background:#fff}
.rights-summary-grid strong{display:block;color:var(--navy);font-family:"Oswald",Arial,sans-serif;font-size:17pt}
.rights-summary-grid span{display:block;margin-top:2px;color:#20364e;font-weight:600;font-size:8.5pt}
.rights-summary-grid small{display:block;margin-top:4px;color:#6c7781;font-size:7.6pt;line-height:1.34}
.rights-summary-card{display:flex;flex-direction:column}
.rights-summary-value{display:flex !important;align-items:center;gap:9px;min-height:30px}
.rights-summary-value-icon-only{gap:0;min-height:30px}
.rights-summary-number{display:inline-block !important;margin-top:0 !important;color:var(--navy);font:inherit}
.rights-summary-icon{display:inline-block;width:30px;height:30px;min-width:30px;margin:0 !important;border-radius:50%;background-color:#e9f2ed;background-repeat:no-repeat;background-position:center;background-size:22px 22px;box-shadow:inset 0 0 0 1px #dbe7e1;flex:0 0 30px;font-size:0 !important;line-height:0}
.rights-icon-records{background-image:url('/assets/icons/icon-rights-register-records.svg')}
.rights-icon-central{background-image:url('/assets/icons/icon-rights-central-register.svg')}
.rights-icon-marker{background-image:url('/assets/icons/icon-rights-contextual-marker.svg')}
.rights-icon-sources{background-image:url('/assets/icons/icon-rights-official-sources.svg')}
.rights-marker-demo{display:grid;grid-template-columns:220px minmax(0,1fr);gap:18px;align-items:center;margin:17px 0;padding:18px;border:1px solid #dce3e8;border-radius:10px;background:#f8fafb}
.rights-marker-example{display:flex;align-items:flex-start;justify-content:center;padding:28px 15px;border-radius:8px;background:#fff;border:1px solid #e0e5e9;color:var(--navy);font-family:"Oswald",Arial,sans-serif;font-size:16pt}
.rights-marker-example sup{margin-left:3px;color:var(--green);font-family:"Lexend",Arial,sans-serif;font-size:7pt;line-height:1}
.rights-marker-steps{display:grid;gap:7px}
.rights-marker-steps>div{display:grid;grid-template-columns:145px 1fr;gap:10px;padding-bottom:7px;border-bottom:1px solid #e2e6e9}
.rights-marker-steps>div:last-child{border-bottom:0;padding-bottom:0}
.rights-marker-steps strong{font-size:8.4pt;color:#20364e}
.rights-marker-steps span{font-size:8.1pt;line-height:1.4;color:#66727d}
.rights-principle-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:17px 0}
.rights-principle-grid article{position:relative;padding:18px;border:1px solid #dfe4e8;border-radius:9px;background:#fafbfc}
.rights-principle-grid article>span{position:absolute;right:12px;top:10px;color:#c0c8ce;font-family:"Oswald",Arial,sans-serif;font-size:9pt}
.rights-principle-grid h3{padding-right:22px;font-size:11pt}
.rights-principle-grid p{margin:7px 0 0;text-align:left;color:#62707c;font-size:8.2pt;line-height:1.45}
.rights-boundary-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:17px 0}
.rights-boundary-grid>div{padding:14px;border:1px solid #dfe4e8;border-radius:8px;background:#fff}
.rights-boundary-grid strong{display:block;color:var(--navy);font-size:8.8pt}
.rights-boundary-grid span{display:block;margin-top:5px;color:#65717d;font-size:8pt;line-height:1.42}
.rights-register-directory{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:18px 0 4px}
.rights-register-directory a{display:flex;justify-content:space-between;gap:15px;padding:12px 13px;border:1px solid #dfe4e8;border-radius:8px;background:#fff;text-decoration:none}
.rights-register-directory strong{color:var(--navy);font-size:8.6pt}
.rights-register-directory span{color:#75808a;font-size:7.8pt}
.rights-register-section{padding-top:8px;margin:22px 0 36px;scroll-margin-top:90px}
.rights-register-heading{display:grid;grid-template-columns:42px 1fr;gap:12px;align-items:start;margin-bottom:15px;padding-bottom:12px;border-bottom:1px solid #dfe4e8}
.rights-register-heading>span{color:#9aa5af;font-family:"Oswald",Arial,sans-serif;font-size:9pt;font-weight:700}
.rights-register-heading h2{margin:0;font-size:16pt}
.rights-register-heading p{margin:7px 0 0;text-align:left;color:#63707c;font-size:8.5pt;line-height:1.45}
.rights-page .ai-resource-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.rights-page .rights-register-card{padding:18px;border-radius:9px;background:#fff;box-shadow:0 4px 15px rgba(14,38,65,.025)}
.rights-page .rights-register-card h3{font-size:12pt}
.rights-page .rights-register-card p{font-size:8.15pt;line-height:1.45}
.rights-page .rights-register-card .register-label{font-size:7.3pt;letter-spacing:.04em}
.rights-page .rights-register-card .official-source{display:inline-flex;margin-top:5px;font-size:8pt}

@media(max-width:980px){
  .trust-summary-panel{grid-template-columns:1fr}
  .trust-layout{grid-template-columns:1fr;gap:24px}
  .trust-toc{position:static;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 18px;padding:14px}
  .trust-toc-title{grid-column:1/-1}
  .about-story-grid,.about-direction-band{grid-template-columns:1fr}
  .about-layer-flow,.responsibility-ladder{grid-template-columns:1fr}
  .about-layer-flow>i,.responsibility-ladder>i{transform:rotate(90deg);justify-self:center}
  .about-principles-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .feedback-anatomy{grid-template-columns:1fr}
  .feedback-anatomy i{transform:rotate(90deg);justify-self:center}
  .rights-marker-demo{grid-template-columns:1fr}
  .rights-page .ai-resource-grid{grid-template-columns:1fr}
}
@media(max-width:700px){
  .trust-hero-meta{gap:6px}
  .trust-summary-panel{padding:20px}
  .trust-toc{grid-template-columns:1fr}
  .trust-numbered-section{padding-left:32px}
  .about-today-grid,.feedback-status-grid,.disclaimer-status-grid,.rights-summary-grid,.about-principles-grid,.trust-link-grid,.feedback-category-grid,.feedback-form-grid,.feedback-after-grid,.disclaimer-risk-grid,.rights-principle-grid,.rights-boundary-grid,.rights-register-directory{grid-template-columns:1fr}
  .feedback-form-full{grid-column:auto}
  .disclaimer-boundary-table{overflow-x:auto}
  .disclaimer-boundary-table>div{min-width:560px}
  .rights-marker-steps>div{grid-template-columns:1fr;gap:3px}
  .trust-bottom-band{align-items:flex-start;flex-direction:column}
  .rights-register-heading{grid-template-columns:32px 1fr}
}
.rights-page .record-rights-note{margin:10px 0 5px;padding-top:9px;border-top:1px solid #e5e9ec;color:#74808a;font-size:7.35pt;line-height:1.35}
.compat-anchor{position:absolute;top:-90px;left:0;width:1px;height:1px;overflow:hidden}

/* ==========================================================
   TECHDEPTH GLOBAL LEARNER ACCOUNT NAVIGATION — v1
   State-aware Sign In / My Account control for the shared
   top navigation. Uses the existing server session endpoint;
   no Supabase browser client is required on ordinary pages.
   ========================================================== */
.nav-account-shell{
  display:flex;
  align-items:center;
  align-self:stretch;
  margin-left:2px;
  padding-left:18px;
  border-left:1px solid rgba(255,255,255,.14);
}
.main-nav .nav-account-control{
  display:grid;
  grid-template-columns:28px auto 7px;
  align-items:center;
  gap:8px;
  min-height:42px;
  padding:5px 11px 5px 7px;
  border:1px solid rgba(255,255,255,.30);
  border-radius:999px;
  background:rgba(255,255,255,.055);
  color:#fff;
  text-decoration:none;
  opacity:1;
  transition:background .16s ease,border-color .16s ease,transform .16s ease,box-shadow .16s ease;
}
.main-nav .nav-account-control:hover{
  border-color:rgba(255,255,255,.62);
  background:rgba(255,255,255,.105);
  text-decoration:none;
  transform:translateY(-1px);
}
.main-nav .nav-account-control:focus-visible{
  outline:2px solid rgba(255,255,255,.92);
  outline-offset:3px;
  text-decoration:none;
}
.main-nav .nav-account-control.nav-current{
  border-color:rgba(255,255,255,.68);
  background:rgba(255,255,255,.12);
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.08);
}
.nav-account-avatar{
  width:28px;
  height:28px;
  display:grid;
  place-items:center;
  overflow:hidden;
  border-radius:50%;
  background:#fff;
  color:var(--navy);
  box-shadow:0 0 0 1px rgba(255,255,255,.28);
}
.nav-account-avatar svg{
  width:16px;
  height:16px;
  fill:currentColor;
}
.nav-account-avatar img{
  width:100%;
  height:100%;
  display:block;
  object-fit:cover;
}
.nav-account-copy{
  display:grid;
  gap:1px;
  min-width:0;
  line-height:1.1;
}
.nav-account-label{
  font-family:"Lexend",Arial,sans-serif;
  font-size:9.1pt;
  font-weight:600;
  white-space:nowrap;
}
.nav-account-meta{
  color:#c8cdd4;
  font-family:"Lexend",Arial,sans-serif;
  font-size:6.9pt;
  font-weight:300;
  white-space:nowrap;
}
.nav-account-status{
  width:7px;
  height:7px;
  border-radius:50%;
  background:transparent;
}
.nav-account-shell.is-authenticated .nav-account-status{
  background:#75c59a;
  box-shadow:0 0 0 2px rgba(117,197,154,.16);
}
.nav-account-shell.is-authenticated .nav-account-avatar{
  background:#edf5f0;
}

@media(max-width:1120px) and (min-width:901px){
  .main-nav{gap:17px}
  .nav-account-shell{padding-left:12px}
  .nav-account-meta{display:none}
  .main-nav .nav-account-control{grid-template-columns:28px auto 7px;padding-right:10px}
}

@media(max-width:900px){
  .nav-account-shell{
    width:100%;
    align-self:auto;
    margin:2px 0 0;
    padding:14px 0 0;
    border-left:0;
    border-top:1px solid rgba(255,255,255,.14);
  }
  .main-nav .nav-account-control{
    width:100%;
    grid-template-columns:32px 1fr 8px;
    min-height:50px;
    padding:7px 12px 7px 8px;
    border-radius:9px;
  }
  .nav-account-avatar{width:32px;height:32px}
  .nav-account-label{font-size:10pt}
  .nav-account-meta{display:block;font-size:7.4pt}
}

/* ==========================================================
   CHECKPOINT 28C — LEARNER IDENTITY NAVIGATION v2
   ========================================================== */
.nav-account-shell{position:relative;display:flex;align-items:center;align-self:stretch;margin-left:4px;padding-left:16px;border-left:1px solid rgba(255,255,255,.14)}
.nav-auth-actions,.nav-account-signed-in{position:relative;display:flex;align-items:center;gap:8px}
.main-nav .nav-signin-trigger,.main-nav .nav-signup-trigger,.main-nav .nav-account-control{font-family:"Lexend",Arial,sans-serif;cursor:pointer}
.main-nav .nav-signin-trigger{border:0;background:transparent;color:#fff;font-size:9pt;font-weight:600;padding:9px 5px}
.main-nav .nav-signin-trigger:hover,.main-nav .nav-signin-trigger:focus-visible{text-decoration:underline;text-underline-offset:4px}
.main-nav .nav-signup-trigger{border:1px solid rgba(255,255,255,.6);border-radius:999px;background:#fff;color:#0b2545;font-size:8.8pt;font-weight:700;padding:8px 13px;box-shadow:none}
.main-nav .nav-signup-trigger:hover,.main-nav .nav-signup-trigger:focus-visible{background:#edf3f7;transform:translateY(-1px)}
.nav-auth-popover,.nav-account-menu{position:absolute;z-index:140;top:calc(100% + 12px);right:0;width:min(360px,calc(100vw - 28px));padding:17px;border:1px solid #d8e1e8;border-radius:14px;background:#fff;color:#223247;box-shadow:0 22px 55px rgba(7,26,49,.24);opacity:0;visibility:hidden;transform:translateY(-7px);transition:opacity .15s ease,transform .15s ease,visibility .15s ease}
.nav-auth-popover.is-open,.nav-account-menu.is-open{opacity:1;visibility:visible;transform:translateY(0)}
.nav-auth-popover::before,.nav-account-menu::before{content:"";position:absolute;right:28px;top:-7px;width:13px;height:13px;background:#fff;border-left:1px solid #d8e1e8;border-top:1px solid #d8e1e8;transform:rotate(45deg)}
.nav-popover-kicker{display:block;margin-bottom:5px;color:#315f48;font-size:7.2pt;font-weight:800;letter-spacing:.08em;text-transform:uppercase}
.nav-auth-popover>strong{display:block;color:#0b2545;font-family:"Oswald",Arial,sans-serif;font-size:16pt;line-height:1.15}.nav-auth-popover>p{margin:7px 0 14px;color:#61707c;font-size:8pt;line-height:1.5;text-align:left}
.nav-provider-button{display:flex;width:100%;align-items:center;gap:11px;margin-top:9px;padding:10px 13px;border:1px solid #cfd8df;border-radius:9px;background:#fff;color:#1f1f1f;font:600 9pt "Lexend",Arial,sans-serif;cursor:pointer;text-align:left}.nav-provider-button:hover,.nav-provider-button:focus-visible{border-color:#93a5b4;background:#f7f9fa}.nav-provider-button img{width:20px;height:20px;object-fit:contain}.nav-provider-button[data-nav-auth-provider="github"] img{border-radius:50%}.nav-provider-button:disabled{opacity:.55;cursor:wait}
.nav-auth-state{min-height:16px;margin-top:9px;color:#8b3f3f;font-size:7.5pt;line-height:1.35}.nav-auth-fallback{display:inline-block;margin-top:8px;color:#315f48!important;font-size:7.6pt!important;font-weight:700!important;text-decoration:none!important}.nav-auth-fallback:hover{text-decoration:underline!important}
.main-nav .nav-account-control{display:grid;grid-template-columns:31px auto 10px;align-items:center;gap:8px;min-height:44px;padding:5px 10px 5px 6px;border:1px solid rgba(255,255,255,.3);border-radius:999px;background:rgba(255,255,255,.055);color:#fff;text-align:left}.main-nav .nav-account-control:hover,.main-nav .nav-account-control:focus-visible{border-color:rgba(255,255,255,.62);background:rgba(255,255,255,.105)}
.nav-account-avatar{width:31px;height:31px}.nav-account-label{font-size:8.8pt}.nav-account-meta{font-size:6.6pt}.nav-account-menu{width:320px;padding:10px}.nav-account-menu-head{padding:10px 11px 12px;border-bottom:1px solid #e3e8ec}.nav-account-menu-head strong{display:block;color:#0b2545;font:700 10pt "Lexend",Arial,sans-serif}.nav-account-menu-head span{display:block;margin-top:3px;color:#5f6e79;font-size:7.4pt;overflow-wrap:anywhere}
.main-nav .nav-account-menu a,.main-nav .nav-account-menu button{display:grid;width:100%;gap:2px;margin:0;padding:10px 11px;border:0;border-radius:8px;background:transparent;color:#203247;text-align:left;text-decoration:none;cursor:pointer}.main-nav .nav-account-menu a:hover,.main-nav .nav-account-menu a:focus-visible,.main-nav .nav-account-menu button:hover,.main-nav .nav-account-menu button:focus-visible{background:#f0f5f2;text-decoration:none}.nav-account-menu a span,.nav-account-menu button span{font:700 8.7pt "Lexend",Arial,sans-serif}.nav-account-menu a small,.nav-account-menu button small{color:#5f6e79;font:400 7.1pt "Lexend",Arial,sans-serif}.nav-account-menu button{margin-top:5px;border-top:1px solid #e3e8ec;border-radius:0 0 8px 8px;color:#8a3030}
@media(max-width:1160px) and (min-width:901px){.main-nav{gap:13px}.nav-account-shell{padding-left:11px}.nav-account-meta{display:none}.main-nav .nav-account-control{grid-template-columns:28px auto 9px}.nav-account-avatar{width:28px;height:28px}.main-nav .nav-signup-trigger{padding:8px 10px}}
@media(max-width:900px){.nav-account-shell{width:100%;align-self:auto;margin-top:3px;padding:14px 0 0;border-left:0;border-top:1px solid rgba(255,255,255,.14)}.nav-auth-actions,.nav-account-signed-in{width:100%}.nav-auth-actions{display:grid;grid-template-columns:1fr 1fr}.main-nav .nav-signin-trigger,.main-nav .nav-signup-trigger{width:100%;border-radius:9px;padding:11px 12px}.main-nav .nav-signin-trigger{border:1px solid rgba(255,255,255,.3);text-decoration:none}.main-nav .nav-account-control{width:100%;grid-template-columns:34px 1fr 10px;border-radius:9px}.nav-account-avatar{width:34px;height:34px}.nav-account-meta{display:block}.nav-auth-popover,.nav-account-menu{position:relative;top:auto;right:auto;grid-column:1/-1;width:100%;margin-top:3px;box-shadow:none}.nav-auth-popover::before,.nav-account-menu::before{display:none}.nav-account-signed-in{display:block}.nav-account-menu{margin-top:8px}}

/* ==========================================================
   CHECKPOINT 28C — PUBLIC LEARNER WORKSPACE SURFACING
   Surfaces the authenticated learner-continuity layer on
   public master pages while learning content remains gated.
   ========================================================== */
.learner-workspace-callout,.learner-route-memory,.ecosystem-learner-workspace{
  position:relative;display:grid;gap:18px;margin:28px 0;padding:26px 28px;
  border:1px solid #d8e3dc;border-radius:16px;
  background:linear-gradient(120deg,#f7fbf8 0%,#fff 54%,#f3f7fa 100%);
  box-shadow:0 12px 30px rgba(11,37,69,.055)
}
.learner-workspace-callout{grid-template-columns:minmax(0,1.25fr) minmax(360px,.9fr);align-items:center}
.learner-workspace-callout .top-page-actions{grid-column:1/-1;margin:0}
.learner-workspace-callout-copy h2,.learner-route-memory h2,.ecosystem-learner-workspace h2{margin:4px 0 8px;color:#0b2545}
.learner-workspace-callout-copy p,.learner-route-memory p,.ecosystem-learner-workspace p{margin:0;color:#5f6e79;text-align:left;line-height:1.62}
.learner-workspace-feature-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
.learner-workspace-feature-grid>div{padding:13px;border:1px solid #dce5df;border-radius:10px;background:rgba(255,255,255,.8)}
.learner-workspace-feature-grid strong,.learner-workspace-feature-grid span{display:block}.learner-workspace-feature-grid strong{color:#315f48;font-size:8.1pt}.learner-workspace-feature-grid span{margin-top:4px;color:#6e7b84;font-size:7pt;line-height:1.42}
.learner-route-memory,.ecosystem-learner-workspace{grid-template-columns:minmax(0,1fr) auto;align-items:center}.learner-route-memory .top-page-actions,.ecosystem-workspace-actions{display:flex;gap:9px;flex-wrap:wrap;justify-content:flex-end}
.provider-mark-notice{margin:18px 0 22px}
@media(max-width:900px){.learner-workspace-callout,.learner-route-memory,.ecosystem-learner-workspace{grid-template-columns:1fr}.learner-workspace-feature-grid{grid-template-columns:1fr}.learner-route-memory .top-page-actions,.ecosystem-workspace-actions{justify-content:flex-start}}

/* ==========================================================
   CHECKPOINT 28D — AI ECOSYSTEM HOME + ABOUT REFINEMENT
   ========================================================== */
.ecosystem-home-body .home-hero{padding-bottom:6px}.ecosystem-home-page{padding-top:38px}.ecosystem-home-snapshot{margin-top:0}.mandatory-account-band{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:32px;align-items:center;margin:28px 0;padding:25px 28px;border:1px solid #d7e2dc;border-radius:16px;background:linear-gradient(120deg,#f6faf7 0%,#eef4f1 100%)}.mandatory-account-band h2{margin:4px 0 8px;color:#0b2545}.mandatory-account-band p{max-width:850px;margin:0;color:#5f6f7a;line-height:1.65;text-align:left}.mandatory-account-band .top-page-actions{margin:0;justify-content:flex-end}.ecosystem-home-workspace{margin-top:28px}.ecosystem-support-band .support-link-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
.about-identity-shell{padding-top:34px}.about-identity-intro{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(280px,.65fr);gap:28px;align-items:start;margin-bottom:30px}.about-identity-intro>div,.about-identity-intro>aside{padding:24px;border:1px solid #dce4e9;border-radius:15px;background:#fff}.about-identity-intro>div{box-shadow:0 12px 30px rgba(11,37,69,.045)}.about-identity-intro h2{margin:4px 0 11px}.about-identity-intro p{color:#5f6d79;line-height:1.68;text-align:left}.about-identity-intro aside{background:#0b2545;color:#fff}.about-identity-intro aside strong{display:block;color:#b9d8c7;font-size:8pt;letter-spacing:.05em;text-transform:uppercase}.about-identity-intro aside p{margin:10px 0 0;color:#eef3f6;font-size:10pt;line-height:1.65}.about-method-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:18px}.about-method-grid article{padding:17px;border:1px solid #dde5ea;border-radius:12px;background:#fbfcfd}.about-method-grid strong{display:block;color:#17304e;font-size:8.7pt}.about-method-grid p{margin:7px 0 0;color:#65737f;font-size:7.7pt;line-height:1.5;text-align:left}.about-boundary-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:18px}.about-boundary-grid>div{padding:19px;border:1px solid #dde5ea;border-radius:12px;background:#fbfcfd}.about-boundary-grid strong{display:block;color:#17304e}.about-boundary-grid ul{margin:10px 0 0;padding-left:20px;color:#5f6e79;line-height:1.6}
@media(max-width:980px){.mandatory-account-band{grid-template-columns:1fr}.mandatory-account-band .top-page-actions{justify-content:flex-start}.ecosystem-support-band .support-link-grid{grid-template-columns:1fr 1fr}.about-method-grid{grid-template-columns:1fr 1fr}.about-identity-intro{grid-template-columns:1fr}}
@media(max-width:620px){.ecosystem-support-band .support-link-grid,.about-method-grid,.about-boundary-grid{grid-template-columns:1fr}.mandatory-account-band{padding:20px}}

/* ==========================================================
   CHECKPOINT 28E — AI ECOSYSTEM HOME LAYOUT REFINEMENT
   Refines visual hierarchy and corrects the My Learning
   workspace arrangement without changing learning content.
   ========================================================== */
.ecosystem-home-workspace{
  margin:32px 0;
  padding:30px;
  border:1px solid #d6e1da;
  border-radius:16px;
  background:linear-gradient(135deg,#f7fbf8 0%,#ffffff 55%,#f2f6fa 100%);
  box-shadow:0 12px 30px rgba(11,37,69,.05)
}
.ecosystem-workspace-head{
  display:grid;
  grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);
  gap:36px;
  align-items:end;
  padding-bottom:22px;
  border-bottom:1px solid #dfe7e2
}
.ecosystem-workspace-head h2{margin:4px 0 0;color:#0b2545;max-width:620px}
.ecosystem-workspace-head>p{margin:0;color:#566673;line-height:1.65;text-align:left;max-width:760px}
.ecosystem-workspace-feature-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:14px;
  margin-top:20px
}
.ecosystem-workspace-feature-grid article{
  min-width:0;
  padding:18px;
  border:1px solid #dce5df;
  border-radius:12px;
  background:#fff
}
.workspace-feature-index{
  display:inline-grid;
  place-items:center;
  min-width:30px;
  height:24px;
  margin-bottom:12px;
  padding:0 7px;
  border-radius:999px;
  background:#eaf2ed;
  color:#315f48;
  font-family:"Oswald",Arial,sans-serif;
  font-size:7.5pt;
  font-weight:700;
  letter-spacing:.06em
}
.ecosystem-workspace-feature-grid strong{display:block;color:#17304e;font-size:9.1pt;line-height:1.4}
.ecosystem-workspace-feature-grid p{margin:7px 0 0;color:#64727d;font-size:8pt;line-height:1.52;text-align:left}
.ecosystem-workspace-footer{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:24px;
  align-items:center;
  margin-top:20px;
  padding-top:20px;
  border-top:1px solid #dfe7e2
}
.ecosystem-workspace-note{display:grid;gap:4px;max-width:760px}
.ecosystem-workspace-note strong{color:#20364e;font-size:8.7pt}
.ecosystem-workspace-note span{color:#687681;font-size:7.8pt;line-height:1.45}
.ecosystem-workspace-actions{display:flex;gap:9px;flex-wrap:wrap;justify-content:flex-end}

/* Keep the three blueprint layers visually balanced on desktop. */
.ecosystem-stage-grid{align-items:stretch}
.ecosystem-stage-card{display:flex;flex-direction:column;height:100%}
.ecosystem-stage-card .stage-link-list{flex:1;align-content:start}
.ecosystem-stage-card .stage-card-foot{margin-top:auto}

/* Supporting-page cards need usable width inside the two-column band. */
.ecosystem-support-band .support-link-grid{grid-template-columns:repeat(2,minmax(0,1fr));align-content:start}
.ecosystem-support-band .support-link-grid a{display:grid;grid-template-columns:1fr;gap:5px;align-content:start}
.ecosystem-support-band .support-link-grid span{text-align:left;line-height:1.4}

@media(max-width:980px){
  .ecosystem-workspace-head{grid-template-columns:1fr;gap:10px;align-items:start}
  .ecosystem-workspace-feature-grid{grid-template-columns:1fr}
  .ecosystem-workspace-footer{grid-template-columns:1fr;align-items:start}
  .ecosystem-workspace-actions{justify-content:flex-start}
}
@media(max-width:820px){
  .ecosystem-support-band .support-link-grid{grid-template-columns:1fr 1fr}
}
@media(max-width:620px){
  .ecosystem-home-workspace{padding:22px}
  .ecosystem-support-band .support-link-grid{grid-template-columns:1fr}
  .ecosystem-workspace-actions{display:grid;grid-template-columns:1fr;width:100%}
  .ecosystem-workspace-actions a{justify-content:center;text-align:center}
}


/* ==========================================================
   CHECKPOINT 28J — STRICT ACCOUNT ENTRY DISTINCTION
   ========================================================== */
.mandatory-account-choices{display:flex;gap:14px;align-items:flex-end;justify-content:flex-end;flex-wrap:wrap}
.mandatory-account-choice{display:grid;gap:7px;min-width:168px}
.mandatory-account-choice>span{color:#667681;font-size:7.4pt;font-weight:600;line-height:1.35;text-align:left}
.mandatory-account-choice .primary-action,.mandatory-account-choice .secondary-action{justify-content:center;text-align:center;white-space:nowrap}
@media(max-width:980px){.mandatory-account-choices{justify-content:flex-start}.mandatory-account-choice{min-width:190px}}
@media(max-width:620px){.mandatory-account-choices{display:grid;grid-template-columns:1fr;width:100%}.mandatory-account-choice{min-width:0;width:100%}.mandatory-account-choice .primary-action,.mandatory-account-choice .secondary-action{width:100%}}

/* Checkpoint 28M — unified learner access control */
.main-nav .nav-access-trigger{border:1px solid rgba(255,255,255,.62);border-radius:999px;background:#fff;color:#0b2545;font-family:"Lexend",Arial,sans-serif;font-size:8.8pt;font-weight:700;padding:8px 14px;cursor:pointer;box-shadow:none;white-space:nowrap}
.main-nav .nav-access-trigger:hover,.main-nav .nav-access-trigger:focus-visible{background:#edf3f7;transform:translateY(-1px)}
.nav-auth-switch{display:flex;align-items:center;justify-content:center;gap:5px;flex-wrap:wrap;margin-top:13px;padding-top:13px;border-top:1px solid #e2e8ec;color:#667580;font-size:7.6pt;text-align:center}
.nav-auth-switch button{appearance:none;border:0;background:transparent;padding:2px;color:#0b4f7a;font:700 7.6pt "Lexend",Arial,sans-serif;cursor:pointer;text-decoration:underline;text-underline-offset:3px}
.main-nav .nav-auth-switch a{color:#245c43;font:700 7.6pt "Lexend",Arial,sans-serif;opacity:1;text-decoration:underline;text-underline-offset:3px}
.nav-auth-switch button:hover,.nav-auth-switch button:focus-visible,.main-nav .nav-auth-switch a:hover,.main-nav .nav-auth-switch a:focus-visible{color:#17304e}
.mandatory-account-entry{display:grid;grid-template-columns:minmax(220px,1fr) auto;gap:18px;align-items:center;min-width:min(410px,100%)}
.mandatory-account-entry-copy{display:grid;gap:4px}.mandatory-account-entry-copy strong{color:#17304e;font-size:8.4pt}.mandatory-account-entry-copy span{color:#667681;font-size:7.5pt;line-height:1.45}.mandatory-account-entry .primary-action{justify-content:center;white-space:nowrap}
@media(max-width:900px){.nav-auth-actions{display:block}.main-nav .nav-access-trigger{width:100%;border-radius:9px;padding:11px 12px}.nav-auth-popover{width:100%}}
@media(max-width:620px){.mandatory-account-entry{grid-template-columns:1fr;width:100%}.mandatory-account-entry .primary-action{width:100%}}

/* ==========================================================
   CHECKPOINT 28N — AI ECOSYSTEM LEARNER ACCESS COMPOSITION
   Rebuilds the account-required band as one coherent two-part
   component instead of three visually disconnected columns.
   ========================================================== */
.ecosystem-home-page .mandatory-account-band{
  display:grid;
  grid-template-columns:minmax(0,1.25fr) minmax(360px,.75fr);
  gap:30px;
  align-items:stretch;
  margin:30px 0;
  padding:30px;
  border:1px solid #d7e2dc;
  border-radius:18px;
  background:linear-gradient(125deg,#f7faf8 0%,#eef4f1 100%);
  box-shadow:0 10px 26px rgba(11,37,69,.035)
}
.ecosystem-home-page .mandatory-account-intro{
  display:flex;
  flex-direction:column;
  justify-content:center;
  min-width:0;
  padding:4px 4px 4px 0
}
.ecosystem-home-page .mandatory-account-intro h2{
  max-width:760px;
  margin:5px 0 10px;
  color:#0b2545;
  line-height:1.18
}
.ecosystem-home-page .mandatory-account-intro p{
  max-width:780px;
  margin:0;
  color:#5f6f7a;
  line-height:1.65;
  text-align:left
}
.ecosystem-home-page .mandatory-account-entry{
  display:grid;
  grid-template-columns:1fr;
  gap:16px;
  min-width:0;
  padding:21px;
  border:1px solid #d9e3dd;
  border-radius:14px;
  background:rgba(255,255,255,.92);
  box-shadow:0 9px 24px rgba(11,37,69,.045)
}
.ecosystem-home-page .mandatory-account-entry-head{display:grid;gap:4px}
.ecosystem-home-page .mandatory-account-entry-head>span{
  color:#315f48;
  font-family:"Oswald",Arial,sans-serif;
  font-size:7.4pt;
  font-weight:700;
  letter-spacing:.08em;
  text-transform:uppercase
}
.ecosystem-home-page .mandatory-account-entry-head h3{
  margin:0;
  color:#17304e;
  font-size:13pt;
  line-height:1.3
}
.ecosystem-home-page .mandatory-account-entry-head p{
  margin:2px 0 0;
  color:#6a7882;
  font-size:7.3pt;
  line-height:1.48;
  text-align:left
}
.ecosystem-home-page .mandatory-account-paths{display:grid;gap:8px}
.ecosystem-home-page .mandatory-account-paths>div{
  display:grid;
  grid-template-columns:112px minmax(0,1fr);
  gap:11px;
  align-items:center;
  padding:10px 11px;
  border:1px solid #e1e8e4;
  border-radius:10px;
  background:#f9fbfa
}
.ecosystem-home-page .mandatory-account-path-tag{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:25px;
  padding:4px 8px;
  border-radius:999px;
  background:#eaf2ed;
  color:#315f48;
  font-size:6.9pt;
  font-weight:700;
  line-height:1.25;
  text-align:center
}
.ecosystem-home-page .mandatory-account-paths strong{
  color:#4d5f6c;
  font-size:7.4pt;
  font-weight:500;
  line-height:1.45
}
.ecosystem-home-page .mandatory-account-entry .primary-action{
  width:100%;
  justify-content:center;
  text-align:center;
  white-space:normal
}
@media(max-width:980px){
  .ecosystem-home-page .mandatory-account-band{grid-template-columns:1fr;gap:20px}
  .ecosystem-home-page .mandatory-account-intro{padding-right:0}
}
@media(max-width:620px){
  .ecosystem-home-page .mandatory-account-band{padding:21px}
  .ecosystem-home-page .mandatory-account-entry{padding:17px}
  .ecosystem-home-page .mandatory-account-paths>div{grid-template-columns:1fr;gap:7px;align-items:start}
  .ecosystem-home-page .mandatory-account-path-tag{justify-self:start}
}


/* ==========================================================
   CHECKPOINT 28O — AUTHENTICATED ACCOUNT-MENU VISIBILITY
   Keep the authenticated account surface, especially Log Out,
   out of the UI until /api/auth-session confirms a learner.
   ========================================================== */
.nav-auth-actions[hidden],
.nav-account-signed-in[hidden],
.nav-account-menu [data-nav-signout][hidden]{display:none!important}
.nav-account-shell.is-authenticated .nav-auth-actions{display:none!important}


/* ==========================================================
   CHECKPOINT 01 — LEARNING FLOW & IN-CONTEXT PROGRESS
   Scoped refinements only; existing typography/palette remain authoritative.
   ========================================================== */
.ecosystem-home-hero .primary-action{
  border:1px solid rgba(255,255,255,.88);
}
.ecosystem-home-hero .primary-action:hover,
.ecosystem-home-hero .primary-action:focus-visible{
  border-color:#fff;
}
.ecosystem-start-decision{
  margin-top:22px;
  padding:18px 20px;
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:22px;
  align-items:center;
  border:1px solid #d9e1e8;
  border-radius:10px;
  background:#f7f9fb;
}
.ecosystem-start-decision>div{display:grid;gap:4px}
.ecosystem-start-decision strong{color:#0b2545;font-size:10pt}
.ecosystem-start-decision span{color:#536273;font-size:8.9pt;line-height:1.5}
.ecosystem-start-decision .primary-action{margin:0;white-space:nowrap}
.start-certificate-rule{
  margin-top:2px;
  padding-top:14px;
  border-top:1px solid rgba(255,255,255,.18);
}
.learning-series-layout{align-items:start}
.learning-series-content{min-width:0}
.module-tree-title,
.module-tree-chapters a{position:relative}
.module-tree-title{padding-right:34px !important}
.module-tree-chapters a{padding-right:30px !important}
.learning-complete-check{
  position:absolute;
  right:9px;
  top:50%;
  transform:translateY(-50%);
  width:17px;
  height:17px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border-radius:50%;
  background:#315f48;
  color:#fff;
  font-family:Arial,sans-serif;
  font-size:8pt;
  font-weight:700;
  line-height:1;
}
.module-tree-group.is-learning-complete{border-color:#a9c7b4}
.module-tree-group.is-learning-complete>.module-tree-title{background:#eef7f1}
.module-tree-chapters a.is-learning-complete{
  color:#315f48 !important;
  background:linear-gradient(90deg,rgba(49,95,72,.07),transparent 82%);
}
.module-tree-chapters a.active.is-learning-complete{color:#0b2545 !important}
.learning-layer-handoff{display:block}
.learning-layer-handoff span{
  display:block;
  margin-top:6px;
  color:#536273;
  font-size:8.7pt;
  line-height:1.4;
}
@media(max-width:900px){
  .ecosystem-start-decision{grid-template-columns:1fr}
  .ecosystem-start-decision .primary-action{justify-self:start}
}
@media(max-width:620px){
  .ecosystem-start-decision .primary-action{width:100%;text-align:center;justify-content:center}
}


/* ==========================================================
   CHECKPOINT 02 — PATHWAY CONTINUITY & CTA CONTRAST
   Keep Checkpoint 01 visual system; correct the wrapped CTA label
   and extend the existing Previous/Next navigation language across
   Explore and Applied AI landing pages.
   ========================================================== */
.ecosystem-start-decision .primary-action .button-fun-label{
  color:#fff !important;
}

/* Auth state resolution: preserve navigation space without flashing signed-out controls before the server session check completes. */
.nav-account-shell.is-resolving .nav-auth-actions,.nav-account-shell.is-resolving .nav-account-signed-in{visibility:hidden!important;pointer-events:none!important}

/* ==========================================================
   TECHDEPTH SITE-WIDE TABLE CAPTION STANDARD — A-R08-C04
   Uses the native caption treatment visible in Learn → Module 1 →
   Chapter 1 §1.14: centred supporting text above the green header row,
   in normal Lexend/body typography rather than heading typography.
   ========================================================== */
.table-wrap table > caption,
.table-wrap table > caption.table-caption{
  display:table-caption !important;
  caption-side:top;
  text-align:center;
  font-family:"Lexend",Arial,sans-serif;
  font-size:9.5pt;
  font-weight:300;
  font-style:normal;
  line-height:1.4;
  color:var(--ink);
  padding:0 0 4px;
  margin:0;
}

/* Site-wide extension of the Chapter 1 Topic 1.8 flow alignment rule:
   centre sequences that fit; retain horizontal scrolling for long sequences. */
.horizontal-process > :first-child{margin-left:auto}
.horizontal-process > :last-child{margin-right:auto}
@media(max-width:700px){
  .horizontal-process > :first-child{margin-left:0}
  .horizontal-process > :last-child{margin-right:0}
}

/* FLOW-R03 P03 — Compact two-row Rail-Card Workflow refinement. */
.horizontal-process.flow-r03-process{
  --flow-card-standard:136px;
  --flow-card-wide:156px;
  --flow-card-extra:180px;
  --flow-branch-width:220px;
  --flow-card-height:72px;
  --flow-gap:12px;
  --flow-row-gap:14px;
  --flow-rail:#315f50;
  --flow-rail-dark:#173b55;
  --flow-card-border:#b9c8d5;
  --flow-card-bg:#fbfcfd;
  display:flex;
  align-items:stretch;
  gap:var(--flow-gap);
  margin:12px 0 14px;
  padding:10px 12px 12px;
  overflow-x:auto;
  overflow-y:hidden;
  scrollbar-width:thin;
  scroll-behavior:smooth;
}
.horizontal-process.flow-r03-process > :first-child,
.horizontal-process.flow-r03-process > :last-child{
  margin-left:0;
  margin-right:0;
}
.horizontal-process.flow-r03-process.flow-r03-density-compact{
  --flow-card-standard:124px;
  --flow-card-wide:144px;
  --flow-card-extra:164px;
  --flow-branch-width:200px;
}
.horizontal-process.flow-r03-process.flow-r03-density-tight{
  --flow-card-standard:112px;
  --flow-card-wide:132px;
  --flow-card-extra:152px;
  --flow-branch-width:184px;
}
.horizontal-process.flow-r03-process .process-node{
  box-sizing:border-box;
  flex:0 0 var(--flow-card-standard);
  width:var(--flow-card-standard);
  min-width:var(--flow-card-standard);
  max-width:var(--flow-card-standard);
  height:var(--flow-card-height);
  min-height:var(--flow-card-height);
  max-height:var(--flow-card-height);
  padding:6px 8px;
  border:1px solid var(--flow-card-border);
  border-top:2px solid #557968;
  border-radius:10px;
  background:linear-gradient(180deg,#ffffff 0%,var(--flow-card-bg) 100%);
  box-shadow:0 1px 3px rgba(11,37,69,.06);
  color:#0b2545;
  display:flex;
  flex-direction:column;
  justify-content:center;
  align-items:center;
  text-align:center;
  font-family:"Lexend",Arial,sans-serif;
  font-size:10.5px;
  font-weight:500;
  line-height:1.14;
  overflow-wrap:anywhere;
  overflow:hidden;
}
.horizontal-process.flow-r03-process .process-node--wide{
  flex-basis:var(--flow-card-wide);
  width:var(--flow-card-wide);
  min-width:var(--flow-card-wide);
  max-width:var(--flow-card-wide);
}
.horizontal-process.flow-r03-process .process-node--extra{
  flex-basis:var(--flow-card-extra);
  width:var(--flow-card-extra);
  min-width:var(--flow-card-extra);
  max-width:var(--flow-card-extra);
}
.horizontal-process.flow-r03-process .process-node--tall{
  height:var(--flow-card-height);
  min-height:var(--flow-card-height);
  max-height:var(--flow-card-height);
}
.horizontal-process.flow-r03-process .process-node .node-subline{
  display:block;
  margin-top:3px;
  color:#526271;
  font-size:9.5px;
  line-height:1.12;
  text-align:center;
}
.horizontal-process.flow-r03-process .process-arrow{
  box-sizing:border-box;
  flex:0 0 var(--flow-gap);
  width:var(--flow-gap);
  min-width:var(--flow-gap);
  padding:0;
  margin:0;
  position:relative;
  display:flex;
  align-items:center;
  justify-content:center;
  color:transparent;
  font-size:0;
  line-height:1;
}
.horizontal-process.flow-r03-process.flow-r03-adaptive{
  display:block;
  gap:0;
}
.horizontal-process.flow-r03-process .process-flow-stage{
  position:relative;
  box-sizing:border-box;
  min-width:max-content;
  margin:0 auto;
  padding:0 12px;
}
.horizontal-process.flow-r03-process .process-row{
  position:relative;
  z-index:2;
  display:flex;
  align-items:center;
  gap:0;
  width:max-content;
  margin-left:auto;
  margin-right:auto;
}
.horizontal-process.flow-r03-process .process-row:not(:last-of-type){
  margin-bottom:var(--flow-row-gap);
}
.horizontal-process.flow-r03-process .process-row-reverse{
  flex-direction:row-reverse;
}
.horizontal-process.flow-r03-process .process-row .process-arrow--right::before,
.horizontal-process.flow-r03-process .process-row .process-arrow--left::before,
.horizontal-process.flow-r03-process .process-row .process-arrow--both::before{
  content:"";
  position:absolute;
  top:50%;
  left:0;
  right:0;
  height:2px;
  border-radius:999px;
  background:var(--flow-rail);
  transform:translateY(-50%);
}
.horizontal-process.flow-r03-process .process-row .process-arrow--right::after{
  content:"";
  position:absolute;
  top:50%;
  right:0;
  width:0;height:0;
  border-top:4px solid transparent;
  border-bottom:4px solid transparent;
  border-left:7px solid var(--flow-rail);
  transform:translateY(-50%);
}
.horizontal-process.flow-r03-process .process-row .process-arrow--left::after{
  content:"";
  position:absolute;
  top:50%;
  left:0;
  width:0;height:0;
  border-top:4px solid transparent;
  border-bottom:4px solid transparent;
  border-right:7px solid var(--flow-rail);
  transform:translateY(-50%);
}
.horizontal-process.flow-r03-process .process-row .process-arrow--both::after{
  content:"";
  position:absolute;
  top:50%;left:0;right:0;height:8px;
  transform:translateY(-50%);
  background:
    linear-gradient(45deg,transparent 46%,var(--flow-rail) 47% 53%,transparent 54%) left center/7px 8px no-repeat,
    linear-gradient(-45deg,transparent 46%,var(--flow-rail) 47% 53%,transparent 54%) right center/7px 8px no-repeat;
}
.horizontal-process.flow-r03-process .process-row .process-arrow--semantic{
  color:#173b55;
  font-size:10.5px;
  font-weight:600;
}
.horizontal-process.flow-r03-process .process-turn-source{
  position:absolute !important;
  width:1px !important;
  height:1px !important;
  padding:0 !important;
  margin:-1px !important;
  overflow:hidden !important;
  clip:rect(0,0,0,0) !important;
  white-space:nowrap !important;
  border:0 !important;
}
.horizontal-process.flow-r03-process .process-turn-rail{
  position:absolute;
  inset:0;
  z-index:1;
  width:100%;
  height:100%;
  overflow:visible;
  pointer-events:none;
}
.horizontal-process.flow-r03-process .process-turn-rail-path{
  fill:none;
  stroke:var(--flow-rail-dark);
  stroke-width:2;
  stroke-linecap:round;
  stroke-linejoin:round;
  vector-effect:non-scaling-stroke;
}
.horizontal-process.flow-r03-process .process-turn-rail-head{
  fill:var(--flow-rail-dark);
}
.horizontal-process.flow-r03-process.flow-r03-special{
  justify-content:center;
  align-items:center;
}
.horizontal-process.flow-r03-process.flow-r03-special .process-arrow--semantic{
  color:#173b55;
  font-size:10.5px;
  font-weight:600;
}
.horizontal-process.flow-r03-process .branch-node{
  flex-basis:var(--flow-branch-width);
  width:var(--flow-branch-width);
  min-width:var(--flow-branch-width);
  max-width:var(--flow-branch-width);
  height:auto;
  min-height:var(--flow-card-height);
  max-height:none;
  padding:6px 8px;
}
.horizontal-process.flow-r03-process .branch-options{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:4px;
  width:100%;
  align-items:stretch;
}
.horizontal-process.flow-r03-process .branch-chip{
  padding:3px 6px;
  border:1px solid #c8d4dd;
  border-radius:999px;
  background:#edf3f0;
  color:#173b55;
  font-size:9.5px;
  line-height:1.12;
  text-align:center;
  overflow-wrap:anywhere;
}
@media(max-width:700px){
  .horizontal-process.flow-r03-process{
    padding-left:8px;
    padding-right:8px;
  }
  .horizontal-process.flow-r03-process .process-flow-stage{
    margin-left:0;
    margin-right:0;
  }
}



/* Progressive Process — interactive stage explanations */
.progressive-process{
  margin:1rem 0 1.1rem;
  border:1px solid #dbe5ed;
  border-radius:18px;
  background:#fff;
  overflow:hidden;
  box-shadow:0 5px 18px rgba(15,47,99,.055);
}
.progressive-process__rail-wrap{
  overflow-x:auto;
  scrollbar-width:thin;
  padding:.85rem .9rem .5rem;
  background:linear-gradient(#fff,#fbfdff);
}
.progressive-process__rail{
  min-width:max(100%,calc(var(--progressive-step-count, 4) * 7.35rem));
  display:grid;
  grid-template-columns:repeat(var(--progressive-step-count, 4),minmax(7.35rem,1fr));
  position:relative;
}
.progressive-process__rail::before{
  content:"";
  position:absolute;
  left:calc(50% / var(--progressive-step-count, 4));
  right:calc(50% / var(--progressive-step-count, 4));
  top:1.05rem;
  height:2px;
  background:#dbe5ed;
  z-index:0;
}
.progressive-process__tab{
  position:relative;
  z-index:1;
  min-width:0;
  border:0;
  background:transparent;
  padding:0 .38rem .55rem;
  color:#607087;
  font:inherit;
  text-align:center;
  cursor:pointer;
}
.progressive-process__tab-num{
  width:2.15rem;
  height:2.15rem;
  margin:0 auto .42rem;
  display:grid;
  place-items:center;
  border-radius:999px;
  border:3px solid #fff;
  outline:1px solid #d4dfe8;
  background:#eaf0f5;
  color:#52667d;
  font-size:.78rem;
  font-weight:800;
  transition:transform .16s ease,background .16s ease,color .16s ease,outline-color .16s ease;
}
.progressive-process__tab-label{
  display:block;
  min-height:2.45em;
  font-size:.76rem;
  line-height:1.22;
  font-weight:650;
}
.progressive-process__tab:hover .progressive-process__tab-num{transform:translateY(-1px)}
.progressive-process__tab:focus-visible{outline:2px solid #2f7d5d;outline-offset:2px;border-radius:10px}
.progressive-process__tab.is-active{color:#102e55}
.progressive-process__tab.is-active .progressive-process__tab-num{
  background:#102e55;
  color:#fff;
  outline-color:#102e55;
}
.progressive-process__tab.is-active::after{
  content:"";
  position:absolute;
  left:28%;
  right:28%;
  bottom:0;
  height:3px;
  border-radius:999px;
  background:#2f7d5d;
}
.progressive-process__detail{
  border-top:1px solid #e7edf2;
  background:#f8fbfd;
  padding:1rem 1.1rem;
}
/* P08 resilience: without successful JS enhancement, expose all stage content and hide inert controls. */
.progressive-process:not([data-progressive-ready="true"]) .progressive-process__rail-wrap,
.progressive-process:not([data-progressive-ready="true"]) .progressive-process__footer{display:none}
.progressive-process:not([data-progressive-ready="true"]) .progressive-process__detail{border-top:0}
.progressive-process:not([data-progressive-ready="true"]) .progressive-process__panel + .progressive-process__panel{margin-top:.75rem}
.progressive-process__panel{
  border:1px solid #dfe8ef;
  border-radius:14px;
  background:#fff;
  padding:1rem 1.1rem;
}
.progressive-process__panel[hidden]{display:none}
.progressive-process__step-meta{
  margin:0 0 .28rem;
  color:#2f7d5d;
  font-size:.72rem;
  font-weight:800;
  letter-spacing:.055em;
  text-transform:uppercase;
}
.progressive-process__panel h3{
  margin:.1rem 0 .6rem;
  color:#102e55;
}
.progressive-process__panel p:first-of-type{margin-top:0}
.progressive-process__panel p:last-child,.progressive-process__panel ul:last-child,.progressive-process__panel ol:last-child{margin-bottom:0}
.progressive-process__panel ul,.progressive-process__panel ol{margin-top:.45rem}
@media (min-width:780px){
  .progressive-process__panel ul{columns:2;column-gap:2rem}
  .progressive-process__panel li{break-inside:avoid}
}
.progressive-process__footer{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:.8rem;
  padding:.65rem 1.1rem .85rem;
  background:#f8fbfd;
}
.progressive-process__progress{
  color:#6a7889;
  font-size:.76rem;
  font-weight:700;
}
.progressive-process__controls{display:flex;gap:.5rem}
.progressive-process__button{
  min-height:2.25rem;
  border:1px solid #cdd9e3;
  border-radius:10px;
  padding:.42rem .72rem;
  background:#fff;
  color:#17304f;
  font:inherit;
  font-size:.78rem;
  font-weight:700;
  cursor:pointer;
}
.progressive-process__button--next{
  border-color:#102e55;
  background:#102e55;
  color:#fff;
}
.progressive-process__button:disabled{opacity:.42;cursor:not-allowed}
.progressive-process__button:focus-visible{outline:2px solid #2f7d5d;outline-offset:2px}
@media (max-width:650px){
  .progressive-process{border-radius:14px}
  .progressive-process__rail-wrap{padding:.75rem .65rem .45rem}
  .progressive-process__rail{
    min-width:max(42rem,calc(var(--progressive-step-count, 4) * 6.4rem));
    grid-template-columns:repeat(var(--progressive-step-count, 4),minmax(6.4rem,1fr));
  }
  .progressive-process__tab-label{font-size:.72rem}
  .progressive-process__detail{padding:.75rem}
  .progressive-process__panel{padding:.85rem .9rem}
  .progressive-process__footer{padding:.55rem .75rem .7rem}
  .progressive-process__button{padding:.42rem .6rem}
}

/* ==========================================================
   BLOCK-R03 P01 — Structural Block & Architecture Diagram System
   Representative production implementation of the six Block-R02 modes.
   These components express structure, hierarchy, boundaries and relations;
   they are intentionally separate from Flow-R03 sequential process styling.
   ========================================================== */
.structural-diagram{
  --block-navy:#0b2545;
  --block-green:#315f48;
  --block-line:#cad6df;
  --block-soft:#f7f9fb;
  --block-soft-blue:#eef3f8;
  --block-soft-green:#edf4ef;
  max-width:100%;
  margin:12px 0 14px;
  padding:10px 12px 12px;
  border:1px solid #dbe3e9;
  border-radius:12px;
  background:#fbfcfd;
  box-shadow:0 1px 4px rgba(11,37,69,.045);
}
.structural-diagram__scroll{
  max-width:100%;
  overflow-x:auto;
  overflow-y:hidden;
  overscroll-behavior-inline:contain;
  scrollbar-width:thin;
  padding:2px 1px 4px;
}
.structural-node{
  box-sizing:border-box;
  min-height:44px;
  padding:7px 10px;
  border:1px solid var(--block-line);
  border-radius:10px;
  background:#fff;
  color:var(--block-navy);
  display:flex;
  align-items:center;
  justify-content:center;
  text-align:center;
  font-family:"Lexend",Arial,sans-serif;
  font-size:11px;
  font-weight:600;
  line-height:1.18;
  overflow-wrap:anywhere;
}
.structural-node--primary{
  border-color:var(--block-navy);
  background:var(--block-navy);
  color:#fff;
}
.structural-node--soft{background:var(--block-soft-blue)}
.structural-node--support{
  border-color:#c7d9cf;
  background:var(--block-soft-green);
  color:#244b39;
}
.structural-zone-label{
  margin:0 0 7px;
  color:#687786;
  font-family:"Oswald",Arial,sans-serif;
  font-size:9.5px;
  font-weight:700;
  line-height:1.2;
  letter-spacing:.065em;
  text-transform:uppercase;
}
.structural-link{
  position:relative;
  display:block;
  flex:0 0 16px;
  width:16px;
  min-width:16px;
  height:2px;
  background:var(--block-green);
  align-self:center;
}
.structural-link--arrow::after{
  content:"";
  position:absolute;
  top:50%;
  right:0;
  width:0;
  height:0;
  border-top:4px solid transparent;
  border-bottom:4px solid transparent;
  border-left:7px solid var(--block-green);
  transform:translate(1px,-50%);
}

/* A — Hierarchy / Taxonomy */
.structural-taxonomy{
  width:min(100%,620px);
  min-width:440px;
  margin:0 auto;
  display:grid;
  justify-items:center;
}
.structural-taxonomy__root{width:164px}
.structural-taxonomy__stem{
  width:2px;
  height:14px;
  background:var(--block-green);
}
.structural-taxonomy__children{
  width:100%;
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:7px;
  padding:11px;
  border-top:2px solid var(--block-green);
  border-radius:10px;
  background:#f6f9fb;
}
.structural-taxonomy__children .structural-node{min-height:40px}

/* B — Layer / Stack */
.structural-stack{
  min-width:700px;
  display:grid;
  grid-template-columns:minmax(112px,1fr) 14px minmax(120px,1fr) 14px minmax(150px,1.15fr) 14px minmax(130px,1fr) 14px minmax(112px,1fr);
  align-items:center;
  gap:0;
}
.structural-stack__join{
  height:2px;
  width:100%;
  background:var(--block-green);
}

/* C — System / Component Architecture */
.structural-system{
  min-width:760px;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:0;
}
.structural-system .structural-node{
  flex:1 0 112px;
  max-width:150px;
}

/* D — Boundary / Dependency */
.structural-boundary{
  min-width:720px;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:0;
}
.structural-boundary > .structural-node{flex:0 0 118px}
.structural-boundary > .structural-node:last-child{flex-basis:142px}
.structural-boundary__zone,
.structural-boundary__outside{
  padding:9px 10px 10px;
  border-radius:11px;
  background:#fff;
}
.structural-boundary__zone{
  flex:0 0 278px;
  border:1.5px dashed #7c9a89;
  background:#fbfdfb;
}
.structural-boundary__outside{
  flex:0 0 142px;
  border:1px solid #d7e0e7;
  background:#fafbfc;
}
.structural-boundary__inner{
  display:flex;
  align-items:center;
  gap:0;
}
.structural-boundary__inner .structural-node{flex:1 1 0;min-width:0}
.structural-boundary__outside .structural-node{min-height:40px}

/* E — Schema / Record */
.structural-diagram--schema{padding:10px 12px}
.structural-schema{
  width:min(100%,590px);
  margin:0 auto;
  overflow:hidden;
  border:1px solid #becdd8;
  border-radius:11px;
  background:#fff;
}
.structural-schema__head{
  padding:9px 12px;
  background:var(--block-navy);
  color:#fff;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
}
.structural-schema__head strong{font-size:11.5px}
.structural-schema__head span{font-size:9px;opacity:.78;text-transform:uppercase;letter-spacing:.045em}
.structural-schema__grid{
  margin:0;
  display:grid;
  grid-template-columns:minmax(150px,190px) 1fr;
}
.structural-schema__grid dt,
.structural-schema__grid dd{
  margin:0;
  padding:7px 10px;
  border-top:1px solid #e2e8ed;
  font-size:10.5px;
  line-height:1.2;
}
.structural-schema__grid dt{
  font-weight:600;
  color:var(--block-navy);
  background:#f8fafc;
}
.structural-schema__grid dd{color:#394857}
.structural-schema__grid code{
  padding:0;
  background:transparent;
  color:#65727f;
  font-size:inherit;
}

/* F — Convergence / Relationship */
.structural-convergence{
  min-width:650px;
  display:grid;
  grid-template-columns:minmax(390px,1fr) 72px 172px;
  align-items:center;
}
.structural-convergence__sources{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:7px;
}
.structural-convergence__sources .structural-node{min-height:40px}
.structural-convergence__sources .structural-node:last-child{grid-column:1 / -1;justify-self:center;width:calc(50% - 4px)}
.structural-convergence__rail{
  position:relative;
  align-self:stretch;
  min-height:118px;
}
.structural-convergence__rail::before{
  content:"";
  position:absolute;
  left:50%;
  top:16px;
  bottom:16px;
  width:2px;
  background:var(--block-green);
}
.structural-convergence__rail::after{
  content:"";
  position:absolute;
  left:50%;
  top:50%;
  right:0;
  height:2px;
  background:var(--block-green);
  transform:translateY(-50%);
}
.structural-convergence__target{
  position:relative;
  min-height:52px;
}
.structural-convergence__target::before{
  content:"";
  position:absolute;
  left:-1px;
  top:50%;
  width:0;
  height:0;
  border-top:5px solid transparent;
  border-bottom:5px solid transparent;
  border-left:8px solid var(--block-green);
  transform:translate(-100%,-50%);
}

@media(max-width:700px){
  .structural-diagram{padding:8px 8px 10px}
  .structural-node{font-size:10.5px;min-height:42px}
  .structural-taxonomy{margin-left:0;margin-right:0}
  .structural-schema__head{padding:8px 10px}
  .structural-schema__grid{grid-template-columns:135px 1fr}
  .structural-schema__grid dt,.structural-schema__grid dd{padding:6px 8px;font-size:10px}
}


/* Block-R03 P02 — hierarchy/schema/system controlled rollout extensions */
.structural-taxonomy__children--two{grid-template-columns:repeat(2,minmax(0,1fr))}
.structural-taxonomy__branch{display:grid;justify-items:stretch;align-content:start;min-width:0}
.structural-taxonomy__branch-stem{width:2px;height:11px;background:var(--block-green);justify-self:center}
.structural-taxonomy__nested-child{width:100%}
.structural-node__subline{display:block;margin-top:2px;font-size:8.75px;font-weight:500;line-height:1.15;opacity:.72}
.structural-schema__items{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}
.structural-schema__item{padding:8px 10px;border-top:1px solid #e2e8ed;color:#394857;background:#fff;font-size:10.5px;font-weight:600;line-height:1.2;text-align:center}
.structural-schema__item:nth-child(odd){border-right:1px solid #e2e8ed;background:#f8fafc}
.structural-system-hub{width:min(100%,650px);min-width:520px;margin:0 auto;display:grid;justify-items:center}
.structural-system-hub__root{width:190px}
.structural-system-hub__stem{width:2px;height:14px;background:var(--block-green)}
.structural-system-hub__components{width:100%;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;padding:11px;border-top:2px solid var(--block-green);border-radius:10px;background:#f6f9fb}
.structural-system-hub__components .structural-node{min-height:40px}
@media(max-width:700px){
  .structural-node__subline{font-size:8.25px}
  .structural-schema__items{grid-template-columns:1fr 1fr}
  .structural-schema__item{padding:7px 8px;font-size:10px}
  .structural-system-hub{min-width:520px;margin-left:0;margin-right:0}
}
/* Block-R03 P02 nested-taxonomy compactness refinement */
.structural-taxonomy__children--two > .structural-node{align-self:start}
.structural-taxonomy__nested-child{flex-direction:column}


/* ==========================================================
   Block-R03 P03 — compact structural-chain and peer-relationship refinements
   Extends approved System/Component, Boundary/Dependency and
   Convergence/Relationship modes without changing Flow-R03.
   ========================================================== */
.structural-system--compact-chain{
  width:100%;
  margin:0 auto;
  min-width:0;
}
.structural-system--compact-chain .structural-node{
  flex:1 1 0;
  max-width:none;
  min-width:68px;
  min-height:42px;
  padding:6px 7px;
  font-size:10.25px;
}
.structural-system--compact-chain .structural-link{
  flex:0 0 12px;
  width:12px;
  min-width:12px;
}
.structural-system--chain-5{min-width:480px;max-width:650px}
.structural-system--chain-6{min-width:540px;max-width:720px}
.structural-system--chain-7{min-width:600px;max-width:790px}
.structural-system--chain-8{min-width:640px;max-width:850px}
.structural-stack--compact{
  min-width:620px;
  grid-template-columns:minmax(94px,1fr) 12px minmax(106px,1fr) 12px minmax(130px,1.15fr) 12px minmax(110px,1fr) 12px minmax(94px,1fr);
}
.structural-stack--compact .structural-stack__join{height:2px}
.structural-relationship-line{
  width:min(100%,640px);
  min-width:430px;
  margin:0 auto;
  display:flex;
  align-items:center;
  justify-content:center;
}
.structural-relationship-line .structural-node{
  flex:1 1 0;
  min-width:94px;
  max-width:150px;
}
.structural-link--bidirectional{
  flex:0 0 30px;
  width:30px;
  min-width:30px;
}
.structural-link--bidirectional::before,
.structural-link--bidirectional::after{
  content:"";
  position:absolute;
  top:50%;
  width:0;
  height:0;
  border-top:4px solid transparent;
  border-bottom:4px solid transparent;
  transform:translateY(-50%);
}
.structural-link--bidirectional::before{
  left:0;
  border-right:7px solid var(--block-green);
  transform:translate(-1px,-50%);
}
.structural-link--bidirectional::after{
  right:0;
  border-left:7px solid var(--block-green);
  transform:translate(1px,-50%);
}
@media(max-width:700px){
  .structural-system--compact-chain .structural-node{font-size:10px;min-height:40px}
  .structural-relationship-line{margin-left:0;margin-right:0}
}


/* ==========================================================
   Block-R03 P04 — Explore structural rollout refinements
   Compact architecture grouping, dependency rows, layer lanes
   and component grids. Extends approved Block-R02 modes only.
   ========================================================== */
.structural-architecture-group{
  display:grid;
  gap:7px;
  margin:12px 0 14px;
}
.structural-architecture-group > .structural-diagram{margin:0}
.structural-diagram--dependency-mini{padding-top:7px;padding-bottom:8px;background:#fcfdfd}
.structural-dependency-line{
  width:min(100%,610px);
  min-width:390px;
  margin:0 auto;
  display:flex;
  align-items:center;
  justify-content:center;
}
.structural-dependency-line .structural-node{
  flex:1 1 0;
  min-width:110px;
  max-width:190px;
  min-height:38px;
  padding:6px 8px;
  font-size:10px;
}
.structural-dependency-line .structural-link{flex-basis:18px;width:18px;min-width:18px}
.structural-layer-lane{
  width:min(100%,740px);
  min-width:570px;
  margin:0 auto;
  display:flex;
  align-items:center;
}
.structural-layer-lane .structural-node{
  flex:1 1 0;
  min-width:78px;
  min-height:42px;
  padding:6px 7px;
  font-size:10.25px;
}
.structural-layer-lane .structural-stack__join{flex:0 0 12px;width:12px;min-width:12px}
.structural-component-grid{
  width:min(100%,680px);
  min-width:520px;
  margin:0 auto;
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:7px;
  padding:10px;
  border-top:2px solid var(--block-green);
  border-radius:10px;
  background:#f6f9fb;
}
.structural-component-grid .structural-node{min-height:40px}
.structural-component-grid--seven .structural-node:nth-child(n+5){transform:translateX(50%)}
@media(max-width:700px){
  .structural-dependency-line{margin-left:0;margin-right:0}
  .structural-layer-lane{margin-left:0;margin-right:0}
  .structural-component-grid{margin-left:0;margin-right:0}
  .structural-layer-lane .structural-node{font-size:10px;min-height:40px}
}
/* Block-R03 P04 mobile containment hardening */
.structural-architecture-group{min-width:0;max-width:100%;grid-template-columns:minmax(0,1fr)}
.structural-architecture-group > .structural-diagram{min-width:0;max-width:100%}

/* ==========================================================
   Block-R03 P05 — Guided Labs controlled-boundary refinement
   Supports three-node responsibility/trust cores inside the
   approved Boundary / Dependency mode; no Flow-R03 changes.
   ========================================================== */
.structural-boundary--controlled-core{min-width:696px}
.structural-boundary--controlled-core > .structural-node{flex:0 0 118px}
.structural-boundary--controlled-core > .structural-node:last-child{flex-basis:132px}
.structural-boundary__zone--wide{flex:1 0 405px}
.structural-boundary__inner--three{display:flex;align-items:center;gap:0}
.structural-boundary__inner--three .structural-node{flex:1 1 0;min-width:0;min-height:42px;padding:6px 7px;font-size:10px}
.structural-boundary__inner--three .structural-link{flex:0 0 12px;width:12px;min-width:12px}
@media(max-width:700px){
  .structural-boundary--controlled-core{min-width:696px}
  .structural-boundary__inner--three .structural-node{font-size:9.75px;min-height:40px}
}



/* Icon-R01 P01 — trust & informational card icon implementation */
.status-icon,.privacy-status-icon.status-icon{grid-row:1/3;align-self:center;justify-self:center;display:grid;place-items:center;width:28px;min-width:28px;height:28px;margin:0 !important;padding:0;border-radius:50%;background-color:#e9f2ed;background-position:center;background-repeat:no-repeat;background-size:24px 24px;color:transparent !important;font-size:0 !important;line-height:0;overflow:hidden;box-shadow:inset 0 0 0 1px #dbe7e1;image-rendering:auto}
.feedback-status-grid>div>span.status-icon,.disclaimer-status-grid>div>span.status-icon{font-family:inherit;min-width:28px;height:28px;border-radius:50%;background-color:#e9f2ed;color:transparent !important;padding:0}
.feedback-status-grid>div>span.status-icon{width:28px}
.disclaimer-status-grid>div>span.status-icon{width:28px}
.privacy-status-grid .privacy-status-icon.status-icon{width:28px;height:28px}
.status-icon.icon-keyboard{background-image:url('/assets/icons/icon-keyboard.svg')}
.status-icon.icon-focus{background-image:url('/assets/icons/icon-focus.svg')}
.status-icon.icon-responsive{background-image:url('/assets/icons/icon-responsive.svg')}
.status-icon.icon-report-barriers{background-image:url('/assets/icons/icon-report-barriers.svg')}
.status-icon.icon-educational-material{background-image:url('/assets/icons/icon-educational-material.svg')}
.status-icon.icon-technology-changes{background-image:url('/assets/icons/icon-technology-changes.svg')}
.status-icon.icon-verify-before-relying{background-image:url('/assets/icons/icon-verify-before-relying.svg')}
.status-icon.icon-content-feedback{background-image:url('/assets/icons/icon-content-feedback.svg')}
.status-icon.icon-account-support{background-image:url('/assets/icons/icon-account-support.svg')}
.status-icon.icon-privacy-requests{background-image:url('/assets/icons/icon-privacy-requests.svg')}
.status-icon.icon-accessibility{background-image:url('/assets/icons/icon-accessibility.svg')}
.status-icon.icon-direct-submission{background-image:url('/assets/icons/icon-direct-submission.svg')}
.status-icon.icon-separate-learning-record{background-image:url('/assets/icons/icon-separate-learning-record.svg')}
.status-icon.icon-avoid-sensitive-data{background-image:url('/assets/icons/icon-avoid-sensitive-data.svg')}
.status-icon.icon-be-precise{background-image:url('/assets/icons/icon-be-precise.svg')}
.status-icon.icon-learn-responsibly{background-image:url('/assets/icons/icon-learn-responsibly.svg')}
.status-icon.icon-protect-identity{background-image:url('/assets/icons/icon-protect-identity.svg')}
.status-icon.icon-no-bypass{background-image:url('/assets/icons/icon-no-bypass.svg')}
.status-icon.icon-completion-not-accreditation{background-image:url('/assets/icons/icon-completion-not-accreditation.svg')}
.status-icon.icon-not-professional-advice{background-image:url('/assets/icons/icon-not-professional-advice.svg')}
.status-icon.icon-account-required{background-image:url('/assets/icons/icon-account-required.svg')}
.status-icon.icon-no-password{background-image:url('/assets/icons/icon-no-password.svg')}
.status-icon.icon-private-learner-state{background-image:url('/assets/icons/icon-private-learner-state.svg')}
.status-icon.icon-no-sale-profile{background-image:url('/assets/icons/icon-no-sale-profile.svg')}


/* Banner-R01 P01d — Start Here luminous layering & text-flow correction
   Approved visual direction: professional, elegant and simple. The former
   four-phase route, cards, points and destination flag are removed. Existing
   Start Here eyebrow, H1 and supporting copy remain unchanged. */
.start-here-hero{
  position:relative;
  overflow:hidden;
  isolation:isolate;
  background:
    radial-gradient(circle at 79% 43%,rgba(72,137,183,.23),transparent 26%),
    radial-gradient(circle at 91% 19%,rgba(41,104,153,.15),transparent 28%),
    linear-gradient(118deg,#092541 0%,#0c3157 58%,#124773 100%);
}
.start-here-hero::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:-2;
  pointer-events:none;
  background:
    linear-gradient(154deg,transparent 0 47%,rgba(103,163,202,.055) 47.2% 55%,transparent 55.2%),
    linear-gradient(28deg,transparent 0 62%,rgba(255,255,255,.028) 62.2% 71%,transparent 71.2%);
}
.start-here-hero::after{
  content:"";
  position:absolute;
  z-index:-1;
  width:min(48vw,720px);
  aspect-ratio:1.7/1;
  right:-4%;
  top:5%;
  pointer-events:none;
  background:radial-gradient(ellipse at 54% 48%,rgba(248,222,160,.085),rgba(94,161,204,.045) 34%,transparent 70%);
  transform:rotate(-4deg);
}
.start-here-hero-inner{
  position:relative;
  z-index:1;
  display:block;
  padding-top:clamp(3.25rem,4.7vw,4.25rem);
  padding-bottom:clamp(3.25rem,4.8vw,4.5rem);
}
.start-here-hero-copy{
  position:relative;
  z-index:2;
  min-width:0;
  max-width:min(50rem,72%);
}
.start-here-hero .eyebrow{margin-bottom:12px;letter-spacing:.075em;color:rgba(255,255,255,.78)}
.start-here-hero h1{max-width:760px;font-size:clamp(34pt,3.25vw,45pt);line-height:1.08}
.start-here-hero .hero-sub{max-width:800px;margin-top:18px;color:rgba(255,255,255,.9);line-height:1.55}
.start-here-luminous-visual{
  position:absolute;
  z-index:0;
  top:50%;
  right:clamp(-5.5rem,-4vw,-1rem);
  width:min(58vw,49rem);
  height:clamp(20rem,33vw,27rem);
  transform:translateY(-50%);
  opacity:.96;
  pointer-events:none;
}
.start-here-luminous-visual svg{display:block;width:100%;height:100%;overflow:visible}
.start-here-luminous-visual .luminous-back-plane{fill:rgba(108,164,203,.055)}
.start-here-luminous-visual .luminous-back-plane-b{fill:rgba(91,146,188,.035)}
.start-here-luminous-visual .luminous-orbit{fill:none;stroke:rgba(151,205,237,.16);stroke-width:1.1}
.start-here-luminous-visual .luminous-orbit-dash{stroke:rgba(163,212,240,.18);stroke-dasharray:2 9}
.start-here-luminous-visual .luminous-pane{stroke:rgba(183,224,249,.33);stroke-width:1.1;stroke-linejoin:round}
.start-here-luminous-visual .luminous-pane-center{stroke:rgba(255,239,194,.72);stroke-width:1.3}
.start-here-luminous-visual .luminous-floor-beam{opacity:.92}
.start-here-luminous-visual .luminous-horizon{fill:none;stroke:rgba(164,213,241,.36);stroke-width:1.15;stroke-linecap:round}
.start-here-luminous-visual .luminous-door-edge{fill:none;stroke:#f6d489;stroke-width:2.25;stroke-linecap:round}
.start-here-luminous-visual .luminous-floor-edge{fill:none;stroke:rgba(216,233,241,.34);stroke-width:1.05;stroke-linecap:round;stroke-linejoin:round}
.start-here-luminous-visual .luminous-focus{fill:#fff4cf;opacity:.88}
@media(max-width:1080px){
  .start-here-hero-copy{max-width:72%}
  .start-here-luminous-visual{right:clamp(-7rem,-7vw,-2rem);width:min(62vw,43rem);height:clamp(18rem,36vw,23rem);opacity:.9}
}
@media(max-width:820px){
  .start-here-hero-inner{padding-top:clamp(2.8rem,7vw,3.3rem);padding-bottom:clamp(2.7rem,7vw,3.2rem)}
  .start-here-hero-copy{max-width:100%}
  .start-here-luminous-visual{top:52%;right:clamp(-12rem,-21vw,-6rem);width:min(76vw,36rem);height:clamp(16rem,54vw,22rem);opacity:.6}
  .start-here-hero::after{width:88vw;right:-24%;top:20%}
}
@media(max-width:620px){
  .start-here-hero h1{font-size:29pt}
  .start-here-hero .hero-sub{font-size:11.2pt;line-height:1.5}
  .start-here-luminous-visual{top:55%;right:-13rem;width:34rem;height:19rem;opacity:.34}
  .start-here-luminous-visual .luminous-pane-far-left,.start-here-luminous-visual .luminous-pane-far-right{opacity:.38}
  .start-here-luminous-visual .luminous-orbit-outer{opacity:.45}
  .start-here-luminous-visual .luminous-horizon{opacity:.58}
}

/* Responsive-R01 P01a — strict scope correction.
   All content, HTML, SVGs, tables/captions, sidebars, links, cards, navigation
   behavior, diagrams, icons and non-responsive typography remain preserved. */

/* Responsive-R01 P02 — Global Pages Fluid Layout Conversion
   Preservation lock: layout mechanics only. No content, HTML, SVG, table,
   caption, link, navigation, form, icon, banner-design or behavior changes. */

/* Global-page component containers: responsive decisions below are based on
   actual component/page width rather than named device widths. */
.trust-page-shell,
.privacy-page-shell,
.start-here-page,
body:has(#core-learning-resources) > main.page-shell{
  container-type:inline-size;
  container-name:global-page;
}

/* Shared trust / legal / support pages. Preserve the existing wide-state
   hierarchy while allowing fixed column widths and spacing to breathe. */
.trust-summary-panel{
  grid-template-columns:minmax(0,.82fr) minmax(clamp(20rem,46cqi,26.875rem),1.18fr);
  gap:clamp(1.5rem,3.25cqi,1.875rem);
  padding:clamp(1.25rem,2.8cqi,1.625rem);
}
.trust-layout{
  grid-template-columns:clamp(12.5rem,23cqi,13.75rem) minmax(0,1fr);
  gap:clamp(1.5rem,4.95cqi,2.875rem);
}
.trust-toc{position:sticky;display:block;padding:1rem 0}
.trust-toc-title{grid-column:auto}
.trust-numbered-section{padding-left:clamp(2rem,4.9cqi,2.875rem)}
.trust-bottom-band{align-items:center;flex-direction:row}

/* Re-establish the current wide-state column counts. Their collapse points
   are moved below from viewport media queries to the actual page container. */
.feedback-status-grid,
.feedback-category-grid,
.feedback-form-grid,
.disclaimer-status-grid,
.disclaimer-risk-grid,
.rights-summary-grid,
.rights-boundary-grid,
.rights-register-directory,
.trust-link-grid,
.about-today-grid{
  grid-template-columns:repeat(2,minmax(0,1fr));
}
.feedback-form-full{grid-column:1/-1}
.about-principles-grid,
.about-method-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
.about-boundary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}

/* Preserve the established asymmetric About layouts; only their rigid minimum
   widths/gaps become bounded fluid values. */
.about-story-grid{
  grid-template-columns:minmax(0,1.65fr) minmax(clamp(16rem,31cqi,18.75rem),.75fr);
  gap:clamp(.875rem,2cqi,1.125rem);
}
.about-direction-band{
  grid-template-columns:minmax(0,1.2fr) minmax(clamp(18rem,35cqi,20.625rem),.8fr);
  gap:clamp(1.5rem,3.2cqi,1.875rem);
}
.about-identity-intro{
  grid-template-columns:minmax(0,1.35fr) minmax(clamp(16rem,30cqi,17.5rem),.65fr);
  gap:clamp(1.25rem,3cqi,1.75rem);
}

.rights-marker-demo{
  grid-template-columns:clamp(11rem,24cqi,13.75rem) minmax(0,1fr);
  gap:clamp(.875rem,2cqi,1.125rem);
}
.rights-marker-steps>div{
  grid-template-columns:clamp(7.5rem,16cqi,9.0625rem) minmax(0,1fr);
  gap:clamp(.375rem,1cqi,.625rem);
}
.rights-register-heading{
  grid-template-columns:clamp(2rem,4.5cqi,2.625rem) minmax(0,1fr);
}
.rights-page .ai-resource-grid{grid-template-columns:repeat(2,minmax(0,1fr))}

/* Privacy keeps its existing visual hierarchy, but sidebar/minimum widths and
   spacing scale inside the actual page container. */
.privacy-summary-panel{
  grid-template-columns:minmax(0,.7fr) minmax(0,1.3fr);
  gap:clamp(1.5rem,4cqi,2rem);
  padding:clamp(1.25rem,3.2cqi,1.625rem);
}
.privacy-layout{
  grid-template-columns:clamp(12.5rem,25cqi,13.75rem) minmax(0,1fr);
  gap:clamp(1.5rem,5.9cqi,2.875rem);
}
.privacy-toc{position:sticky;display:block;padding:1rem 0}
.privacy-toc-title{grid-column:auto}
.privacy-section{padding-left:clamp(2rem,5.3cqi,2.875rem)}
.privacy-status-grid,
.privacy-example-grid,
.privacy-trigger-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.privacy-callout{grid-template-columns:auto minmax(0,1fr)}
.privacy-callout a{grid-column:2}
.privacy-bottom-note{align-items:center;flex-direction:row}

/* Start Here body only. Banner-R01 P01b remains untouched. */
.start-here-page .section-heading-row{
  grid-template-columns:minmax(0,1.35fr) minmax(clamp(16rem,32cqi,17.5rem),.65fr);
  gap:clamp(.5rem,3.7cqi,2.125rem);
  align-items:end;
}
.start-here-page .route-check-strip{grid-template-columns:repeat(3,minmax(0,1fr))}
.start-here-page .route-choice-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
.start-here-page .route-rail-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.start-here-page .start-skip-note{
  grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);
  gap:clamp(1.5rem,3.5cqi,2rem);
}
.start-here-page .route-check-strip>div{
  padding:clamp(.8125rem,1.7cqi,1rem) clamp(.8125rem,2cqi,1.125rem);
}
.start-here-page .start-module-map .module-row{grid-template-columns:auto minmax(0,1fr) auto}
.start-here-page .start-module-map .status-pill{grid-column:auto;justify-self:auto}

/* Resources landing page only. The unique #core-learning-resources anchor is
   used strictly as a scope guard so shared Learn/Explore card classes remain
   untouched outside the Resources landing page. */
body:has(#core-learning-resources) > main.page-shell .ai-resource-grid,
body:has(#core-learning-resources) > main.page-shell .entry-grid{
  grid-template-columns:repeat(auto-fit,minmax(min(100%,23.25rem),1fr));
}

/* Trust/global structural changes migrate from viewport assumptions to the
   page container. Thresholds are derived from the existing rendered content
   widths; visual order and component states are unchanged. */
@container global-page (max-width:58rem){
  .trust-summary-panel{grid-template-columns:1fr}
  .trust-layout{grid-template-columns:1fr;gap:1.5rem}
  .trust-toc{position:static;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 1.125rem;padding:.875rem}
  .trust-toc-title{grid-column:1/-1}
  .about-story-grid,.about-direction-band,.about-identity-intro{grid-template-columns:1fr}
  .about-principles-grid,.about-method-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .about-layer-flow,.responsibility-ladder{grid-template-columns:1fr}
  .about-layer-flow>i,.responsibility-ladder>i{transform:rotate(90deg);justify-self:center}
  .feedback-anatomy{grid-template-columns:1fr}
  .feedback-anatomy i{transform:rotate(90deg);justify-self:center}
  .rights-marker-demo{grid-template-columns:1fr}
  .rights-page .ai-resource-grid{grid-template-columns:1fr}
}

@container global-page (max-width:48.5rem){
  .privacy-summary-panel{grid-template-columns:1fr}
  .privacy-layout{grid-template-columns:1fr;gap:1.5rem}
  .privacy-toc{position:static;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 1.125rem;padding:.875rem}
  .privacy-toc-title{grid-column:1/-1}

  .start-here-page .section-heading-row{grid-template-columns:1fr;gap:.5rem;align-items:start}
  .start-here-page .route-check-strip,
  .start-here-page .route-choice-grid,
  .start-here-page .route-rail-grid,
  .start-here-page .start-skip-note{grid-template-columns:1fr}
}

@container global-page (max-width:41rem){
  .trust-toc{grid-template-columns:1fr}
  .about-today-grid,
  .about-principles-grid,
  .feedback-status-grid,
  .feedback-category-grid,
  .feedback-form-grid,
  .feedback-after-grid,
  .disclaimer-status-grid,
  .disclaimer-risk-grid,
  .rights-summary-grid,
  .rights-principle-grid,
  .rights-boundary-grid,
  .rights-register-directory,
  .trust-link-grid{grid-template-columns:1fr}
  .feedback-form-full{grid-column:auto}
  .rights-marker-steps>div{grid-template-columns:1fr;gap:.1875rem}
  .trust-bottom-band{align-items:flex-start;flex-direction:column}
}

@container global-page (max-width:36rem){
  .about-method-grid,
  .about-boundary-grid{grid-template-columns:1fr}
}

@container global-page (max-width:34.75rem){
  .privacy-toc{grid-template-columns:1fr}
  .privacy-status-grid,
  .privacy-example-grid,
  .privacy-trigger-grid{grid-template-columns:1fr}
  .privacy-callout{grid-template-columns:1fr}
  .privacy-callout a{grid-column:1}
  .privacy-bottom-note{align-items:flex-start;flex-direction:column}

  .start-here-page .start-module-map .module-row{grid-template-columns:auto minmax(0,1fr)}
  .start-here-page .start-module-map .status-pill{grid-column:2;justify-self:start}
}

/* Responsive-R01 P04 — Learn Fluid Layout Conversion
   Preservation lock: Learn content, HTML, SVGs, tables/captions, chapter
   sidebar structure, navigation cards, links, diagrams, exercises and learning
   IDs remain unchanged. Only the wide Learn shell geometry is fluidized. */

/* The Learn chapter/module shell previously held a fixed 250px sidebar,
   42px column gap and 28/32/72px outer spacing until the structural sidebar
   collapse at 980px. Preserve the 980px structural state, but interpolate
   those wide-state measurements between that collapse boundary and the
   established 1320px shell maximum. */
@media(min-width:981px){
  .with-sidebar{
    grid-template-columns:
      clamp(220px,calc(133.47px + 8.8235vw),250px)
      minmax(0,1fr);
    gap:clamp(28px,calc(-12.35px + 4.1176vw),42px);
    padding:
      clamp(22px,calc(4.71px + 1.7647vw),28px)
      clamp(22px,calc(-6.82px + 2.9412vw),32px)
      clamp(22px,calc(-122.12px + 14.7059vw),72px);
  }
}

/* Responsive-R01 P05 — Explore Fluid Layout Conversion
   Preservation lock: Explore pathway content, Part structure/titles, routes,
   IDs, Study Guide / Part Focus blocks, SVGs, tables/captions, links,
   references/markers and navigation cards remain unchanged. Only responsive
   grid mechanics on the three Explore pathways are converted from viewport
   assumptions to page-container behavior. */

/* Scope exclusively by the existing canonical URL in <head>; no HTML change is
   introduced. Shared classes elsewhere in Learn, Applied AI, Resources and
   global pages therefore remain outside the P05 boundary. */
:where(
  html:has(link[rel="canonical"][href*="/artificial-intelligence/ai-models-model-ecosystems/"]),
  html:has(link[rel="canonical"][href*="/artificial-intelligence/chatbots-ai-assistants/"]),
  html:has(link[rel="canonical"][href*="/artificial-intelligence/other-ai-tools-resources/"])
) body > main.page-shell{
  container-type:inline-size;
  container-name:explore-page;
}

/* Preserve the established wide-state column counts exactly. The transition
   now keys off the Explore content container rather than a device viewport. */
:where(
  html:has(link[rel="canonical"][href*="/artificial-intelligence/ai-models-model-ecosystems/"]),
  html:has(link[rel="canonical"][href*="/artificial-intelligence/chatbots-ai-assistants/"]),
  html:has(link[rel="canonical"][href*="/artificial-intelligence/other-ai-tools-resources/"])
) .ai-resource-grid,
:where(
  html:has(link[rel="canonical"][href*="/artificial-intelligence/ai-models-model-ecosystems/"]),
  html:has(link[rel="canonical"][href*="/artificial-intelligence/chatbots-ai-assistants/"]),
  html:has(link[rel="canonical"][href*="/artificial-intelligence/other-ai-tools-resources/"])
) .entry-grid,
:where(
  html:has(link[rel="canonical"][href*="/artificial-intelligence/ai-models-model-ecosystems/"]),
  html:has(link[rel="canonical"][href*="/artificial-intelligence/chatbots-ai-assistants/"]),
  html:has(link[rel="canonical"][href*="/artificial-intelligence/other-ai-tools-resources/"])
) .comparison-grid{
  grid-template-columns:repeat(2,minmax(0,1fr));
}
:where(
  html:has(link[rel="canonical"][href*="/artificial-intelligence/ai-models-model-ecosystems/"]),
  html:has(link[rel="canonical"][href*="/artificial-intelligence/chatbots-ai-assistants/"]),
  html:has(link[rel="canonical"][href*="/artificial-intelligence/other-ai-tools-resources/"])
) .learning-principles{
  grid-template-columns:repeat(3,minmax(0,1fr));
}

/* Thresholds reproduce the existing visual states at approximately the same
   usable content widths, but are now component/page-container driven. */
@container explore-page (max-width:47.5rem){
  .ai-resource-grid,
  .entry-grid{grid-template-columns:1fr}
  .learning-principles{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@container explore-page (max-width:41.25rem){
  .comparison-grid{grid-template-columns:1fr}
}
@container explore-page (max-width:29.75rem){
  .learning-principles{grid-template-columns:1fr}
}


/* Responsive-R01 P06 — Applied AI Fluid Layout Conversion
   Preservation lock: Guided Labs, Portfolio Projects and Build Challenges
   content, HTML, routes/IDs, cards, SVGs, tables/captions, links, references,
   progress behavior and learner-facing wording remain unchanged. Only
   existing presentation breakpoints used by Applied AI are converted to
   page-container behavior. */

/* Scope exclusively by the existing canonical Applied AI URL. No body class,
   HTML wrapper or content change is introduced. */
:where(html:has(
  link[rel="canonical"][href*="/artificial-intelligence/guided-ai-labs/"],
  link[rel="canonical"][href*="/artificial-intelligence/portfolio-projects/"],
  link[rel="canonical"][href*="/artificial-intelligence/ai-build-challenges/"]
)) body > main.page-shell{
  container-type:inline-size;
  container-name:applied-ai-page;
}

/* Re-establish the existing wide states after the legacy global viewport
   rules, then let the Applied AI content container determine the same
   presentation transitions. */
:where(html:has(
  link[rel="canonical"][href*="/artificial-intelligence/guided-ai-labs/"],
  link[rel="canonical"][href*="/artificial-intelligence/portfolio-projects/"],
  link[rel="canonical"][href*="/artificial-intelligence/ai-build-challenges/"]
)) .ai-resource-grid{
  grid-template-columns:repeat(2,minmax(0,1fr));
}
:where(html:has(
  link[rel="canonical"][href*="/artificial-intelligence/guided-ai-labs/"],
  link[rel="canonical"][href*="/artificial-intelligence/portfolio-projects/"],
  link[rel="canonical"][href*="/artificial-intelligence/ai-build-challenges/"]
)) .learning-principles{
  grid-template-columns:repeat(3,minmax(0,1fr));
}
:where(html:has(
  link[rel="canonical"][href*="/artificial-intelligence/guided-ai-labs/"],
  link[rel="canonical"][href*="/artificial-intelligence/portfolio-projects/"],
  link[rel="canonical"][href*="/artificial-intelligence/ai-build-challenges/"]
)) .next-prev{
  grid-template-columns:1fr 1fr;
}
:where(html:has(
  link[rel="canonical"][href*="/artificial-intelligence/guided-ai-labs/"],
  link[rel="canonical"][href*="/artificial-intelligence/portfolio-projects/"],
  link[rel="canonical"][href*="/artificial-intelligence/ai-build-challenges/"]
)) .next-prev .next{
  text-align:right;
}
:where(html:has(
  link[rel="canonical"][href*="/artificial-intelligence/guided-ai-labs/"],
  link[rel="canonical"][href*="/artificial-intelligence/portfolio-projects/"],
  link[rel="canonical"][href*="/artificial-intelligence/ai-build-challenges/"]
)) .top-page-actions a{
  width:auto;
}

/* The preserved 800px viewport transition corresponds to approximately
   756px of usable page content after the locked shell gutters. Key the same
   presentation state to that available page-container width. */
@container applied-ai-page (max-width:47.25rem){
  .ai-resource-grid{grid-template-columns:1fr}
  .learning-principles{grid-template-columns:repeat(2,minmax(0,1fr))}
}

/* The preserved 680px viewport transition corresponds to approximately
   636px of usable page content after the locked shell gutters. */
@container applied-ai-page (max-width:39.75rem){
  .next-prev{grid-template-columns:1fr}
  .next-prev .next{text-align:left}
}

/* The preserved 520px viewport transition corresponds to approximately
   476px of usable page content after the locked shell gutters. */
@container applied-ai-page (max-width:29.75rem){
  .learning-principles{grid-template-columns:1fr}
  .top-page-actions a{width:100%;box-sizing:border-box;text-align:center}
}

/* Responsive-R01 P07 — Diagram & Interactive Component Fluid Layout Conversion
   Preservation lock: SVG artwork/content, process labels, structural-diagram
   semantics, Progressive Process stage content, captions, tables, links and
   JavaScript interaction logic remain unchanged. P07 only lets the already-
   approved responsive presentation states respond to the component's actual
   available inline size instead of relying only on viewport-width categories. */

/* Flow-R03 remains horizontally bounded and scrollable exactly as before.
   The process wrapper becomes a query container so its stage alignment can
   respond to the real process width when used inside a narrower content area. */
.horizontal-process.flow-r03-process{
  container-type:inline-size;
  container-name:flow-process;
}
@container flow-process (max-width:43.75rem){
  .process-flow-stage{
    margin-left:0;
    margin-right:0;
  }
}

/* Progressive Process keeps the locked rail, labels, controls and fallback
   behavior. Existing 780px/650px presentation states are mirrored against the
   component width, allowing the same component to adapt inside a narrow Learn
   content column even when the overall viewport is wider. */
.progressive-process{
  container-type:inline-size;
  container-name:progressive-process;
}
@container progressive-process (max-width:48.6875rem){
  .progressive-process__panel ul{
    columns:1;
    column-gap:normal;
  }
}
@container progressive-process (min-width:48.75rem){
  .progressive-process__panel ul{
    columns:2;
    column-gap:2rem;
  }
  .progressive-process__panel li{break-inside:avoid}
}
@container progressive-process (max-width:40.625rem){
  .progressive-process__rail-wrap{padding:.75rem .65rem .45rem}
  .progressive-process__rail{
    min-width:max(42rem,calc(var(--progressive-step-count, 4) * 6.4rem));
    grid-template-columns:repeat(var(--progressive-step-count, 4),minmax(6.4rem,1fr));
  }
  .progressive-process__tab-label{font-size:.72rem}
  .progressive-process__detail{padding:.75rem}
  .progressive-process__panel{padding:.85rem .9rem}
  .progressive-process__footer{padding:.55rem .75rem .7rem}
  .progressive-process__button{padding:.42rem .6rem}
}

/* Block-R03 structural diagrams keep every locked node, connector, minimum
   semantic width and local horizontal-scroll rule. The existing <=700px
   compact presentation is additionally keyed to the diagram container width,
   so diagrams embedded in narrower columns receive the same approved compact
   treatment without redefining their geometry. */
.structural-diagram{
  container-type:inline-size;
  container-name:structural-diagram;
}
@container structural-diagram (max-width:43.75rem){
  .structural-node{font-size:10.5px;min-height:42px}
  .structural-taxonomy{margin-left:0;margin-right:0}
  .structural-schema__head{padding:8px 10px}
  .structural-schema__grid{grid-template-columns:135px 1fr}
  .structural-schema__grid dt,
  .structural-schema__grid dd{padding:6px 8px;font-size:10px}

  .structural-node__subline{font-size:8.25px}
  .structural-schema__items{grid-template-columns:1fr 1fr}
  .structural-schema__item{padding:7px 8px;font-size:10px}
  .structural-system-hub{min-width:520px;margin-left:0;margin-right:0}

  .structural-system--compact-chain .structural-node{font-size:10px;min-height:40px}
  .structural-relationship-line{margin-left:0;margin-right:0}

  .structural-dependency-line,
  .structural-layer-lane,
  .structural-component-grid{margin-left:0;margin-right:0}
  .structural-layer-lane .structural-node{font-size:10px;min-height:40px}

  .structural-boundary__inner--three .structural-node{font-size:9.75px;min-height:40px}
}

/* Banner-R01 P02 — About simplified luminous banner implementation
   Preservation lock: About banner presentation only. Existing copy, meta
   labels, page-body content and Responsive-R01 F01 behavior remain unchanged.
   Decorative artwork is absolutely positioned behind the text and does not
   participate in document flow. */
.about-trust-hero{
  position:relative;
  overflow:hidden;
  isolation:isolate;
  background:
    radial-gradient(circle at 79% 42%,rgba(75,141,187,.24),transparent 27%),
    radial-gradient(circle at 92% 18%,rgba(43,108,157,.15),transparent 29%),
    linear-gradient(118deg,#092541 0%,#0c3157 57%,#124773 100%);
}
.about-trust-hero::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:0;
  pointer-events:none;
  background:
    linear-gradient(154deg,transparent 0 46%,rgba(104,165,203,.052) 46.2% 55%,transparent 55.2%),
    linear-gradient(28deg,transparent 0 63%,rgba(255,255,255,.026) 63.2% 72%,transparent 72.2%);
}
.about-trust-hero::after{
  content:"";
  position:absolute;
  z-index:0;
  width:min(48vw,720px);
  aspect-ratio:1.7/1;
  right:-4%;
  top:4%;
  pointer-events:none;
  background:radial-gradient(ellipse at 55% 49%,rgba(248,222,160,.082),rgba(94,161,204,.044) 34%,transparent 70%);
  transform:rotate(-4deg);
}
.about-trust-hero-inner{
  position:relative;
  z-index:2;
  padding-top:clamp(3.25rem,4.7vw,4.25rem);
  padding-bottom:clamp(3.25rem,4.8vw,4.5rem);
}
.about-trust-hero-copy{
  position:relative;
  z-index:2;
  min-width:0;
  max-width:min(50rem,70%);
}
.about-trust-hero .hero-sub{max-width:47rem}
.about-trust-hero .trust-hero-meta{position:relative;z-index:2}
.about-luminous-visual{
  position:absolute;
  z-index:1;
  top:50%;
  right:clamp(-5rem,-3.7vw,-.75rem);
  width:min(57vw,48rem);
  height:clamp(20rem,33vw,27rem);
  transform:translateY(-50%);
  opacity:.95;
  pointer-events:none;
}
.about-luminous-visual svg{display:block;width:100%;height:100%;overflow:visible}
.about-luminous-visual .about-luminous-back-plane{fill:rgba(108,164,203,.052)}
.about-luminous-visual .about-luminous-back-plane-b{fill:rgba(91,146,188,.032)}
.about-luminous-visual .about-luminous-orbit{fill:none;stroke:rgba(151,205,237,.155);stroke-width:1.1}
.about-luminous-visual .about-luminous-orbit-dash{stroke:rgba(163,212,240,.175);stroke-dasharray:2 9}
.about-luminous-visual .about-luminous-pane{stroke:rgba(183,224,249,.32);stroke-width:1.1;stroke-linejoin:round}
.about-luminous-visual .about-luminous-pane-center{stroke:rgba(255,239,194,.74);stroke-width:1.35}
.about-luminous-visual .about-principle-window{fill:none;stroke-linejoin:round;stroke-linecap:round}
.about-luminous-visual .about-principle-frame{fill:rgba(255,247,218,.018);stroke:rgba(255,241,202,.58);stroke-width:1.08}
.about-luminous-visual .about-principle-frame-2{stroke:rgba(255,234,182,.68);stroke-width:1.12}
.about-luminous-visual .about-principle-frame-3{stroke:rgba(255,225,153,.77);stroke-width:1.18}
.about-luminous-visual .about-principle-frame-core{fill:rgba(255,241,198,.055);stroke:rgba(255,216,128,.9);stroke-width:1.3;filter:url(#about-luminous-edge-glow)}
.about-luminous-visual .about-principle-spine{fill:none;stroke:rgba(255,221,142,.88);stroke-width:1.6;filter:url(#about-luminous-edge-glow)}
.about-luminous-visual .about-luminous-floor-beam{opacity:.9}
.about-luminous-visual .about-luminous-horizon{fill:none;stroke:rgba(164,213,241,.35);stroke-width:1.15;stroke-linecap:round}
.about-luminous-visual .about-luminous-door-edge{fill:none;stroke:#f6d489;stroke-width:2.3;stroke-linecap:round}
.about-luminous-visual .about-luminous-floor-edge{fill:none;stroke:rgba(216,233,241,.33);stroke-width:1.05;stroke-linecap:round;stroke-linejoin:round}
.about-luminous-visual .about-luminous-focus{fill:#fff4cf;opacity:.86}
@media(max-width:1080px){
  .about-trust-hero-copy{max-width:73%}
  .about-luminous-visual{right:clamp(-7rem,-7vw,-2rem);width:min(62vw,43rem);height:clamp(18rem,36vw,23rem);opacity:.87}
}
@media(max-width:820px){
  .about-trust-hero-inner{padding-top:clamp(2.8rem,7vw,3.3rem);padding-bottom:clamp(2.7rem,7vw,3.2rem)}
  .about-trust-hero-copy{max-width:100%}
  .about-trust-hero .hero-sub{max-width:100%}
  .about-luminous-visual{top:52%;right:clamp(-12rem,-21vw,-6rem);width:min(76vw,36rem);height:clamp(16rem,54vw,22rem);opacity:.52}
  .about-trust-hero::after{width:88vw;right:-24%;top:20%}
}
@media(max-width:620px){
  .about-luminous-visual{top:55%;right:-13rem;width:34rem;height:19rem;opacity:.29}
  .about-luminous-visual .about-luminous-pane-far-left,.about-luminous-visual .about-luminous-pane-far-right{opacity:.36}
  .about-luminous-visual .about-luminous-orbit-outer{opacity:.42}
  .about-luminous-visual .about-luminous-horizon{opacity:.54}
}

/* Banner-R01 P03 — Feedback luminous banner implementation
   Preservation lock: Feedback banner presentation only. Existing TechDepth
   copy, meta labels, forms, page-body content and Responsive-R01 behavior
   remain unchanged. Decorative artwork is absolutely positioned behind the
   text and does not participate in document flow. */
.feedback-trust-hero{
  position:relative;
  overflow:hidden;
  isolation:isolate;
  background:
    radial-gradient(circle at 78% 44%,rgba(75,141,187,.23),transparent 27%),
    radial-gradient(circle at 93% 17%,rgba(43,108,157,.14),transparent 29%),
    linear-gradient(118deg,#092541 0%,#0c3157 57%,#124773 100%);
}
.feedback-trust-hero::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:0;
  pointer-events:none;
  background:
    linear-gradient(154deg,transparent 0 46%,rgba(104,165,203,.05) 46.2% 55%,transparent 55.2%),
    linear-gradient(28deg,transparent 0 63%,rgba(255,255,255,.025) 63.2% 72%,transparent 72.2%);
}
.feedback-trust-hero::after{
  content:"";
  position:absolute;
  z-index:0;
  width:min(48vw,720px);
  aspect-ratio:1.7/1;
  right:-4%;
  top:5%;
  pointer-events:none;
  background:radial-gradient(ellipse at 55% 49%,rgba(248,222,160,.078),rgba(94,161,204,.042) 34%,transparent 70%);
  transform:rotate(-4deg);
}
.feedback-trust-hero .hero-inner{
  position:relative;
  z-index:2;
  padding-top:clamp(3.25rem,4.7vw,4.25rem);
  padding-bottom:clamp(3.25rem,4.8vw,4.5rem);
}
.feedback-trust-hero .hero-sub{position:relative;z-index:2;max-width:47rem}
.feedback-trust-hero .eyebrow,.feedback-trust-hero h1,.feedback-trust-hero .trust-hero-meta{position:relative;z-index:2}
.feedback-luminous-visual{
  position:absolute;
  z-index:1;
  top:50%;
  right:clamp(-5rem,-3.7vw,-.75rem);
  width:min(57vw,48rem);
  height:clamp(20rem,33vw,27rem);
  transform:translateY(-50%);
  opacity:.95;
  pointer-events:none;
}
.feedback-luminous-visual svg{display:block;width:100%;height:100%;overflow:visible}
.feedback-luminous-visual .feedback-luminous-back-plane{fill:rgba(108,164,203,.052)}
.feedback-luminous-visual .feedback-luminous-back-plane-b{fill:rgba(91,146,188,.032)}
.feedback-luminous-visual .feedback-luminous-orbit{fill:none;stroke:rgba(151,205,237,.15);stroke-width:1.1}
.feedback-luminous-visual .feedback-luminous-orbit-dash{stroke:rgba(163,212,240,.17);stroke-dasharray:2 9}
.feedback-luminous-visual .feedback-luminous-pane{stroke:rgba(183,224,249,.32);stroke-width:1.1;stroke-linejoin:round}
.feedback-luminous-visual .feedback-luminous-pane-center{stroke:rgba(255,239,194,.72);stroke-width:1.35}
.feedback-luminous-visual .feedback-luminous-floor-beam{opacity:.9}
.feedback-luminous-visual .feedback-luminous-horizon{fill:none;stroke:rgba(164,213,241,.34);stroke-width:1.1;stroke-linecap:round}
.feedback-luminous-visual .feedback-luminous-door-edge{fill:none;stroke:#f6d489;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.feedback-luminous-visual .feedback-signal-line{fill:none;stroke:url(#feedback-beam);stroke-width:1.8;stroke-linecap:round}
.feedback-luminous-visual .feedback-signal-node circle:first-child{fill:rgba(246,217,148,.08);stroke:rgba(249,229,178,.22);stroke-width:1}
.feedback-luminous-visual .feedback-signal-node circle:last-child{fill:#fff0bd;stroke:rgba(255,250,227,.72);stroke-width:.8}
.feedback-luminous-visual .feedback-signal-node-2 circle:last-child{fill:#ffe09a}
.feedback-luminous-visual .feedback-signal-node-3 circle:last-child{fill:#ffd276}
@media(max-width:1080px){
  .feedback-luminous-visual{right:clamp(-7rem,-7vw,-2rem);width:min(62vw,43rem);height:clamp(18rem,36vw,23rem);opacity:.87}
  .feedback-trust-hero .hero-sub{max-width:66%}
}
@media(max-width:820px){
  .feedback-trust-hero .hero-inner{padding-top:clamp(2.8rem,7vw,3.3rem);padding-bottom:clamp(2.7rem,7vw,3.2rem)}
  .feedback-trust-hero .hero-sub{max-width:100%}
  .feedback-luminous-visual{top:52%;right:clamp(-12rem,-21vw,-6rem);width:min(76vw,36rem);height:clamp(16rem,54vw,22rem);opacity:.50}
  .feedback-trust-hero::after{width:88vw;right:-24%;top:20%}
}
@media(max-width:620px){
  .feedback-luminous-visual{top:55%;right:-13rem;width:34rem;height:19rem;opacity:.27}
  .feedback-luminous-visual .feedback-luminous-pane-far-left,.feedback-luminous-visual .feedback-luminous-pane-far-right{opacity:.34}
  .feedback-luminous-visual .feedback-luminous-orbit-outer{opacity:.40}
  .feedback-luminous-visual .feedback-luminous-horizon{opacity:.52}
  .feedback-luminous-visual .feedback-signal-node-1{opacity:.55}
}

/* Banner-R01 P04 — Contact & Support luminous banner implementation
   Preservation lock: Contact & Support banner presentation only. Existing
   TechDepth copy, meta labels, forms, page-body content and Responsive-R01
   behavior remain unchanged. Decorative artwork is absolutely positioned
   behind the text and does not participate in document flow. */
.contact-trust-hero{
  position:relative;
  overflow:hidden;
  isolation:isolate;
  background:
    radial-gradient(circle at 78% 43%,rgba(75,141,187,.23),transparent 27%),
    radial-gradient(circle at 93% 17%,rgba(43,108,157,.14),transparent 29%),
    linear-gradient(118deg,#092541 0%,#0c3157 57%,#124773 100%);
}
.contact-trust-hero::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:0;
  pointer-events:none;
  background:
    linear-gradient(154deg,transparent 0 46%,rgba(104,165,203,.05) 46.2% 55%,transparent 55.2%),
    linear-gradient(28deg,transparent 0 63%,rgba(255,255,255,.025) 63.2% 72%,transparent 72.2%);
}
.contact-trust-hero::after{
  content:"";
  position:absolute;
  z-index:0;
  width:min(48vw,720px);
  aspect-ratio:1.7/1;
  right:-4%;
  top:5%;
  pointer-events:none;
  background:radial-gradient(ellipse at 55% 49%,rgba(248,222,160,.078),rgba(94,161,204,.042) 34%,transparent 70%);
  transform:rotate(-4deg);
}
.contact-trust-hero .hero-inner{
  position:relative;
  z-index:2;
  padding-top:clamp(3.25rem,4.7vw,4.25rem);
  padding-bottom:clamp(3.25rem,4.8vw,4.5rem);
}
.contact-trust-hero .hero-sub{position:relative;z-index:2;max-width:47rem}
.contact-trust-hero .eyebrow,.contact-trust-hero h1,.contact-trust-hero .trust-hero-meta{position:relative;z-index:2}
.contact-luminous-visual{
  position:absolute;
  z-index:1;
  top:50%;
  right:clamp(-5rem,-3.7vw,-.75rem);
  width:min(57vw,48rem);
  height:clamp(20rem,33vw,27rem);
  transform:translateY(-50%);
  opacity:.95;
  pointer-events:none;
}
.contact-luminous-visual svg{display:block;width:100%;height:100%;overflow:visible}
.contact-luminous-visual .contact-luminous-back-plane{fill:rgba(108,164,203,.052)}
.contact-luminous-visual .contact-luminous-back-plane-b{fill:rgba(91,146,188,.032)}
.contact-luminous-visual .contact-luminous-orbit{fill:none;stroke:rgba(151,205,237,.15);stroke-width:1.1}
.contact-luminous-visual .contact-luminous-orbit-dash{stroke:rgba(163,212,240,.17);stroke-dasharray:2 9}
.contact-luminous-visual .contact-luminous-pane{stroke:rgba(183,224,249,.32);stroke-width:1.1;stroke-linejoin:round}
.contact-luminous-visual .contact-luminous-pane-center{stroke:rgba(255,239,194,.74);stroke-width:1.35}
.contact-luminous-visual .contact-person{fill:none;stroke:rgba(194,225,241,.34);stroke-width:2.2;stroke-linecap:round}
.contact-luminous-visual .contact-person-center{stroke:rgba(255,238,190,.78);stroke-width:2.6;filter:url(#contact-edge-glow)}
.contact-luminous-visual .contact-support-orbit{fill:none;stroke:url(#contact-orbit-line);stroke-width:1.75;stroke-linecap:round}
.contact-luminous-visual .contact-support-node circle:first-child{fill:rgba(246,217,148,.08);stroke:rgba(249,229,178,.22);stroke-width:1}
.contact-luminous-visual .contact-support-node circle:last-child{fill:#fff0bd;stroke:rgba(255,250,227,.72);stroke-width:.8}
.contact-luminous-visual .contact-support-node-b circle:last-child{fill:#ffe09a}
.contact-luminous-visual .contact-support-node-c circle:last-child{fill:#ffd276}
.contact-luminous-visual .contact-luminous-floor-beam{opacity:.9}
.contact-luminous-visual .contact-luminous-horizon{fill:none;stroke:rgba(164,213,241,.34);stroke-width:1.1;stroke-linecap:round}
.contact-luminous-visual .contact-luminous-door-edge{fill:none;stroke:#f6d489;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;filter:url(#contact-edge-glow)}
.contact-luminous-visual .contact-luminous-focus{fill:#fff4cf;opacity:.86}
@media(max-width:1080px){
  .contact-luminous-visual{right:clamp(-7rem,-7vw,-2rem);width:min(62vw,43rem);height:clamp(18rem,36vw,23rem);opacity:.87}
  .contact-trust-hero .hero-sub{max-width:66%}
}
@media(max-width:820px){
  .contact-trust-hero .hero-inner{padding-top:clamp(2.8rem,7vw,3.3rem);padding-bottom:clamp(2.7rem,7vw,3.2rem)}
  .contact-trust-hero .hero-sub{max-width:100%}
  .contact-luminous-visual{top:52%;right:clamp(-12rem,-21vw,-6rem);width:min(76vw,36rem);height:clamp(16rem,54vw,22rem);opacity:.50}
  .contact-trust-hero::after{width:88vw;right:-24%;top:20%}
}
@media(max-width:620px){
  .contact-luminous-visual{top:55%;right:-13rem;width:34rem;height:19rem;opacity:.27}
  .contact-luminous-visual .contact-luminous-pane-left,.contact-luminous-visual .contact-luminous-pane-right{opacity:.35}
  .contact-luminous-visual .contact-luminous-orbit-outer{opacity:.40}
  .contact-luminous-visual .contact-luminous-horizon{opacity:.52}
  .contact-luminous-visual .contact-person-left,.contact-luminous-visual .contact-person-right{opacity:.42}
  .contact-luminous-visual .contact-support-node-a{opacity:.55}
}

/* Banner-R01 P05 — Privacy luminous banner implementation
   Preservation lock: Privacy banner presentation only. Existing TechDepth
   copy, effective/update notice, page-body content and Responsive-R01 behavior
   remain unchanged. Decorative artwork is absolutely positioned behind the
   text and does not participate in document flow. */
.privacy-trust-hero{
  position:relative;
  overflow:hidden;
  isolation:isolate;
  background:
    radial-gradient(circle at 78% 42%,rgba(75,141,187,.22),transparent 27%),
    radial-gradient(circle at 93% 17%,rgba(43,108,157,.14),transparent 29%),
    linear-gradient(118deg,#092541 0%,#0c3157 57%,#124773 100%);
}
.privacy-trust-hero::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:0;
  pointer-events:none;
  background:
    linear-gradient(154deg,transparent 0 46%,rgba(104,165,203,.05) 46.2% 55%,transparent 55.2%),
    linear-gradient(28deg,transparent 0 63%,rgba(255,255,255,.025) 63.2% 72%,transparent 72.2%);
}
.privacy-trust-hero::after{
  content:"";
  position:absolute;
  z-index:0;
  width:min(48vw,720px);
  aspect-ratio:1.7/1;
  right:-4%;
  top:5%;
  pointer-events:none;
  background:radial-gradient(ellipse at 55% 49%,rgba(248,222,160,.075),rgba(94,161,204,.04) 34%,transparent 70%);
  transform:rotate(-4deg);
}
.privacy-trust-hero .hero-inner{
  position:relative;
  z-index:2;
  padding-top:clamp(3.25rem,4.7vw,4.25rem);
  padding-bottom:clamp(3.25rem,4.8vw,4.5rem);
}
.privacy-trust-hero .hero-sub{position:relative;z-index:2;max-width:50rem}
.privacy-trust-hero .eyebrow,.privacy-trust-hero h1,.privacy-trust-hero .privacy-updated{position:relative;z-index:2}
.privacy-luminous-visual{
  position:absolute;
  z-index:1;
  top:50%;
  right:clamp(-5rem,-3.7vw,-.75rem);
  width:min(57vw,48rem);
  height:clamp(20rem,33vw,27rem);
  transform:translateY(-50%);
  opacity:.94;
  pointer-events:none;
}
.privacy-luminous-visual svg{display:block;width:100%;height:100%;overflow:visible}
.privacy-luminous-visual .privacy-luminous-back-plane{fill:rgba(108,164,203,.05)}
.privacy-luminous-visual .privacy-luminous-back-plane-b{fill:rgba(91,146,188,.03)}
.privacy-luminous-visual .privacy-luminous-orbit{fill:none;stroke:rgba(151,205,237,.14);stroke-width:1.1}
.privacy-luminous-visual .privacy-luminous-orbit-dash{stroke:rgba(163,212,240,.17);stroke-dasharray:2 9}
.privacy-luminous-visual .privacy-luminous-pane{stroke:rgba(183,224,249,.31);stroke-width:1.1;stroke-linejoin:round}
.privacy-luminous-visual .privacy-luminous-pane-center{stroke:rgba(255,239,194,.74);stroke-width:1.35}
.privacy-luminous-visual .privacy-control-window rect{fill:rgba(255,255,255,.018);stroke:rgba(255,239,194,.62);stroke-width:1.15}
.privacy-luminous-visual .privacy-control-window rect+rect{stroke:rgba(200,229,243,.42);stroke-width:1}
.privacy-luminous-visual .privacy-control-window path{fill:none;stroke:rgba(255,241,204,.42);stroke-width:1;stroke-linecap:round}
.privacy-luminous-visual .privacy-luminous-floor-beam{opacity:.88}
.privacy-luminous-visual .privacy-luminous-horizon{fill:none;stroke:rgba(164,213,241,.33);stroke-width:1.1;stroke-linecap:round}
.privacy-luminous-visual .privacy-luminous-door-edge{fill:none;stroke:#f6d489;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;filter:url(#privacy-edge-glow)}
.privacy-luminous-visual .privacy-luminous-focus{fill:#fff4cf;opacity:.84}
@media(max-width:1080px){
  .privacy-luminous-visual{right:clamp(-7rem,-7vw,-2rem);width:min(62vw,43rem);height:clamp(18rem,36vw,23rem);opacity:.86}
  .privacy-trust-hero .hero-sub{max-width:67%}
}
@media(max-width:820px){
  .privacy-trust-hero .hero-inner{padding-top:clamp(2.8rem,7vw,3.3rem);padding-bottom:clamp(2.7rem,7vw,3.2rem)}
  .privacy-trust-hero .hero-sub{max-width:100%}
  .privacy-luminous-visual{top:52%;right:clamp(-12rem,-21vw,-6rem);width:min(76vw,36rem);height:clamp(16rem,54vw,22rem);opacity:.48}
  .privacy-trust-hero::after{width:88vw;right:-24%;top:20%}
}
@media(max-width:620px){
  .privacy-luminous-visual{top:55%;right:-13rem;width:34rem;height:19rem;opacity:.25}
  .privacy-luminous-visual .privacy-luminous-pane-left,.privacy-luminous-visual .privacy-luminous-pane-right{opacity:.34}
  .privacy-luminous-visual .privacy-luminous-orbit-outer{opacity:.38}
  .privacy-luminous-visual .privacy-luminous-horizon{opacity:.50}
  .privacy-luminous-visual .privacy-control-window{opacity:.62}
}

/* Banner-R01 P06 — Accessibility luminous banner implementation
   Preservation lock: Accessibility banner presentation only. Existing
   TechDepth copy, meta labels, last-reviewed notice, page-body content and
   Responsive-R01 behavior remain unchanged. Decorative artwork is absolutely
   positioned behind the text and does not participate in document flow. */
.accessibility-trust-hero{
  position:relative;
  overflow:hidden;
  isolation:isolate;
  background:
    radial-gradient(circle at 78% 42%,rgba(75,141,187,.22),transparent 27%),
    radial-gradient(circle at 93% 17%,rgba(43,108,157,.14),transparent 29%),
    linear-gradient(118deg,#092541 0%,#0c3157 57%,#124773 100%);
}
.accessibility-trust-hero::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:0;
  pointer-events:none;
  background:
    linear-gradient(154deg,transparent 0 46%,rgba(104,165,203,.05) 46.2% 55%,transparent 55.2%),
    linear-gradient(28deg,transparent 0 63%,rgba(255,255,255,.025) 63.2% 72%,transparent 72.2%);
}
.accessibility-trust-hero::after{
  content:"";
  position:absolute;
  z-index:0;
  width:min(48vw,720px);
  aspect-ratio:1.7/1;
  right:-4%;
  top:5%;
  pointer-events:none;
  background:radial-gradient(ellipse at 55% 49%,rgba(248,222,160,.075),rgba(94,161,204,.04) 34%,transparent 70%);
  transform:rotate(-4deg);
}
.accessibility-trust-hero .hero-inner{
  position:relative;
  z-index:2;
  padding-top:clamp(3.25rem,4.7vw,4.25rem);
  padding-bottom:clamp(3.25rem,4.8vw,4.5rem);
}
.accessibility-hero-copy{position:relative;z-index:2}
.accessibility-trust-hero .hero-sub{position:relative;z-index:2;max-width:51rem}
.accessibility-trust-hero .eyebrow,.accessibility-trust-hero h1,.accessibility-trust-hero .trust-hero-meta,.accessibility-trust-hero .trust-last-updated{position:relative;z-index:2}
.accessibility-luminous-visual{
  position:absolute;
  z-index:1;
  top:50%;
  right:clamp(-5rem,-3.7vw,-.75rem);
  width:min(57vw,48rem);
  height:clamp(20rem,33vw,27rem);
  transform:translateY(-50%);
  opacity:.94;
  pointer-events:none;
}
.accessibility-luminous-visual svg{display:block;width:100%;height:100%;overflow:visible}
.accessibility-luminous-visual .accessibility-luminous-back-plane{fill:rgba(108,164,203,.05)}
.accessibility-luminous-visual .accessibility-luminous-back-plane-b{fill:rgba(91,146,188,.03)}
.accessibility-luminous-visual .accessibility-luminous-orbit{fill:none;stroke:rgba(151,205,237,.14);stroke-width:1.1}
.accessibility-luminous-visual .accessibility-luminous-orbit-dash{stroke:rgba(163,212,240,.17);stroke-dasharray:2 9}
.accessibility-luminous-visual .accessibility-luminous-pane{stroke:rgba(183,224,249,.31);stroke-width:1.1;stroke-linejoin:round}
.accessibility-luminous-visual .accessibility-luminous-pane-center{stroke:rgba(255,239,194,.74);stroke-width:1.35}
.accessibility-luminous-visual .accessibility-luminous-floor-beam{opacity:.88}
.accessibility-luminous-visual .accessibility-luminous-horizon{fill:none;stroke:rgba(164,213,241,.33);stroke-width:1.1;stroke-linecap:round}
.accessibility-luminous-visual .accessibility-luminous-door-edge{fill:none;stroke:#f6d489;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;filter:url(#accessibility-edge-glow)}
.accessibility-luminous-visual .accessibility-luminous-focus{opacity:.84}
@media(max-width:1080px){
  .accessibility-luminous-visual{right:clamp(-7rem,-7vw,-2rem);width:min(62vw,43rem);height:clamp(18rem,36vw,23rem);opacity:.86}
  .accessibility-trust-hero .hero-sub{max-width:68%}
}
@media(max-width:820px){
  .accessibility-trust-hero .hero-inner{padding-top:clamp(2.8rem,7vw,3.3rem);padding-bottom:clamp(2.7rem,7vw,3.2rem)}
  .accessibility-trust-hero .hero-sub{max-width:100%}
  .accessibility-luminous-visual{top:52%;right:clamp(-12rem,-21vw,-6rem);width:min(76vw,36rem);height:clamp(16rem,54vw,22rem);opacity:.48}
  .accessibility-trust-hero::after{width:88vw;right:-24%;top:20%}
}
@media(max-width:620px){
  .accessibility-luminous-visual{top:55%;right:-13rem;width:34rem;height:19rem;opacity:.25}
  .accessibility-luminous-visual .accessibility-luminous-pane-left,.accessibility-luminous-visual .accessibility-luminous-pane-right{opacity:.34}
  .accessibility-luminous-visual .accessibility-luminous-orbit-outer{opacity:.38}
  .accessibility-luminous-visual .accessibility-luminous-horizon{opacity:.50}
}

/* Banner-R01 P06b — Accessibility structural alignment correction
   The decorative visual is a direct child of the full-width hero, matching
   the established Privacy banner anchoring model. No visual geometry, copy,
   banner height, semantics or behavior is changed. */

/* Banner-R01 P07 — Disclaimer luminous banner implementation
   Locked banner system: full-width hero anchoring, right-side luminous visual,
   absolute/out-of-flow decorative artwork, preserved TechDepth copy/content. */
.disclaimer-trust-hero{
  position:relative;
  overflow:hidden;
  isolation:isolate;
  background:
    radial-gradient(circle at 86% 48%,rgba(248,222,160,.075),transparent 27%),
    radial-gradient(circle at 93% 17%,rgba(43,108,157,.14),transparent 29%),
    linear-gradient(118deg,#092541 0%,#0c3157 57%,#124773 100%);
}
.disclaimer-trust-hero::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:0;
  pointer-events:none;
  background:
    linear-gradient(154deg,transparent 0 46%,rgba(104,165,203,.05) 46.2% 55%,transparent 55.2%),
    linear-gradient(28deg,transparent 0 63%,rgba(255,255,255,.025) 63.2% 72%,transparent 72.2%);
}
.disclaimer-trust-hero::after{
  content:"";
  position:absolute;
  z-index:0;
  width:min(48vw,720px);
  aspect-ratio:1.7/1;
  right:-4%;
  top:5%;
  pointer-events:none;
  background:radial-gradient(ellipse at 55% 49%,rgba(248,222,160,.075),rgba(94,161,204,.04) 34%,transparent 70%);
  transform:rotate(-4deg);
}
.disclaimer-trust-hero .hero-inner{
  position:relative;
  z-index:2;
  padding-top:clamp(3.25rem,4.7vw,4.25rem);
  padding-bottom:clamp(3.25rem,4.8vw,4.5rem);
}
.disclaimer-trust-hero .hero-sub{position:relative;z-index:2;max-width:51rem}
.disclaimer-trust-hero .eyebrow,.disclaimer-trust-hero h1,.disclaimer-trust-hero .trust-hero-meta,.disclaimer-trust-hero .trust-updated{position:relative;z-index:2}
.disclaimer-luminous-visual{
  position:absolute;
  z-index:1;
  top:50%;
  right:clamp(-5rem,-3.7vw,-.75rem);
  width:min(57vw,48rem);
  height:clamp(20rem,33vw,27rem);
  transform:translateY(-50%);
  opacity:.94;
  pointer-events:none;
}
.disclaimer-luminous-visual svg{display:block;width:100%;height:100%;overflow:visible}
.disclaimer-luminous-visual .disclaimer-luminous-back-plane{fill:rgba(108,164,203,.05)}
.disclaimer-luminous-visual .disclaimer-luminous-back-plane-b{fill:rgba(91,146,188,.03)}
.disclaimer-luminous-visual .disclaimer-luminous-orbit{fill:none;stroke:rgba(151,205,237,.14);stroke-width:1.1}
.disclaimer-luminous-visual .disclaimer-luminous-orbit-dash{stroke:rgba(163,212,240,.17);stroke-dasharray:2 9}
.disclaimer-luminous-visual .disclaimer-luminous-pane{stroke:rgba(183,224,249,.31);stroke-width:1.1;stroke-linejoin:round}
.disclaimer-luminous-visual .disclaimer-luminous-pane-center{stroke:rgba(255,239,194,.74);stroke-width:1.35}
.disclaimer-luminous-visual .disclaimer-document-mark{fill:none;stroke:rgba(255,241,204,.58);stroke-width:1.65;stroke-linecap:round}
.disclaimer-luminous-visual .disclaimer-luminous-floor-beam{opacity:.88}
.disclaimer-luminous-visual .disclaimer-luminous-horizon{fill:none;stroke:rgba(164,213,241,.33);stroke-width:1.1;stroke-linecap:round}
.disclaimer-luminous-visual .disclaimer-luminous-door-edge{fill:none;stroke:#f6d489;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;filter:url(#disclaimer-edge-glow)}
.disclaimer-luminous-visual .disclaimer-luminous-focus{fill:#fff4cf;opacity:.84}
@media(max-width:1080px){
  .disclaimer-luminous-visual{right:clamp(-7rem,-7vw,-2rem);width:min(62vw,43rem);height:clamp(18rem,36vw,23rem);opacity:.86}
  .disclaimer-trust-hero .hero-sub{max-width:68%}
}
@media(max-width:820px){
  .disclaimer-trust-hero .hero-inner{padding-top:clamp(2.8rem,7vw,3.3rem);padding-bottom:clamp(2.7rem,7vw,3.2rem)}
  .disclaimer-trust-hero .hero-sub{max-width:100%}
  .disclaimer-luminous-visual{top:52%;right:clamp(-12rem,-21vw,-6rem);width:min(76vw,36rem);height:clamp(16rem,54vw,22rem);opacity:.48}
  .disclaimer-trust-hero::after{width:88vw;right:-24%;top:20%}
}
@media(max-width:620px){
  .disclaimer-luminous-visual{top:55%;right:-13rem;width:34rem;height:19rem;opacity:.25}
  .disclaimer-luminous-visual .disclaimer-luminous-pane-left,.disclaimer-luminous-visual .disclaimer-luminous-pane-right{opacity:.34}
  .disclaimer-luminous-visual .disclaimer-luminous-orbit-outer{opacity:.38}
  .disclaimer-luminous-visual .disclaimer-luminous-horizon{opacity:.50}
  .disclaimer-luminous-visual .disclaimer-document-mark{opacity:.56}
}

/* Banner-R01 P08 — Third-Party Rights & Attribution luminous banner implementation
   Locked banner system: full-width hero anchoring, right-side luminous visual,
   absolute/out-of-flow decorative artwork, preserved TechDepth copy/content. */
.rights-trust-hero{
  position:relative;
  overflow:hidden;
  isolation:isolate;
  background:
    radial-gradient(circle at 86% 48%,rgba(248,222,160,.075),transparent 27%),
    radial-gradient(circle at 93% 17%,rgba(43,108,157,.14),transparent 29%),
    linear-gradient(118deg,#092541 0%,#0c3157 57%,#124773 100%);
}
.rights-trust-hero::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:0;
  pointer-events:none;
  background:
    linear-gradient(154deg,transparent 0 46%,rgba(104,165,203,.05) 46.2% 55%,transparent 55.2%),
    linear-gradient(28deg,transparent 0 63%,rgba(255,255,255,.025) 63.2% 72%,transparent 72.2%);
}
.rights-trust-hero::after{
  content:"";
  position:absolute;
  z-index:0;
  width:min(48vw,720px);
  aspect-ratio:1.7/1;
  right:-4%;
  top:5%;
  pointer-events:none;
  background:radial-gradient(ellipse at 55% 49%,rgba(248,222,160,.075),rgba(94,161,204,.04) 34%,transparent 70%);
  transform:rotate(-4deg);
}
.rights-trust-hero .hero-inner{
  position:relative;
  z-index:2;
  padding-top:clamp(3.25rem,4.7vw,4.25rem);
  padding-bottom:clamp(3.25rem,4.8vw,4.5rem);
}
.rights-trust-hero .hero-sub{position:relative;z-index:2;max-width:51rem}
.rights-trust-hero .eyebrow,.rights-trust-hero h1,.rights-trust-hero .trust-hero-meta,.rights-trust-hero .trust-updated{position:relative;z-index:2}
.rights-luminous-visual{
  position:absolute;
  z-index:1;
  top:50%;
  right:clamp(-5rem,-3.7vw,-.75rem);
  width:min(57vw,48rem);
  height:clamp(20rem,33vw,27rem);
  transform:translateY(-50%);
  opacity:.94;
  pointer-events:none;
}
.rights-luminous-visual svg{display:block;width:100%;height:100%;overflow:visible}
.rights-luminous-visual .rights-luminous-back-plane{fill:rgba(108,164,203,.05)}
.rights-luminous-visual .rights-luminous-back-plane-b{fill:rgba(91,146,188,.03)}
.rights-luminous-visual .rights-luminous-orbit{fill:none;stroke:rgba(151,205,237,.14);stroke-width:1.1}
.rights-luminous-visual .rights-luminous-orbit-dash{stroke:rgba(163,212,240,.17);stroke-dasharray:2 9}
.rights-luminous-visual .rights-luminous-pane{stroke:rgba(183,224,249,.31);stroke-width:1.1;stroke-linejoin:round}
.rights-luminous-visual .rights-luminous-pane-center{stroke:rgba(255,239,194,.74);stroke-width:1.35}
.rights-luminous-visual .rights-register-mark{fill:none;stroke:rgba(255,241,204,.58);stroke-width:1.5;stroke-linecap:round}
.rights-luminous-visual .rights-register-mark circle{fill:#fff0bd;stroke:rgba(255,250,227,.62);stroke-width:.7}
.rights-luminous-visual .rights-luminous-floor-beam{opacity:.88}
.rights-luminous-visual .rights-luminous-horizon{fill:none;stroke:rgba(164,213,241,.33);stroke-width:1.1;stroke-linecap:round}
.rights-luminous-visual .rights-luminous-door-edge{fill:none;stroke:#f6d489;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;filter:url(#rights-edge-glow)}
.rights-luminous-visual .rights-luminous-focus{fill:#fff4cf;opacity:.84}
@media(max-width:1080px){
  .rights-luminous-visual{right:clamp(-7rem,-7vw,-2rem);width:min(62vw,43rem);height:clamp(18rem,36vw,23rem);opacity:.86}
  .rights-trust-hero .hero-sub{max-width:68%}
}
@media(max-width:820px){
  .rights-trust-hero .hero-inner{padding-top:clamp(2.8rem,7vw,3.3rem);padding-bottom:clamp(2.7rem,7vw,3.2rem)}
  .rights-trust-hero .hero-sub{max-width:100%}
  .rights-luminous-visual{top:52%;right:clamp(-12rem,-21vw,-6rem);width:min(76vw,36rem);height:clamp(16rem,54vw,22rem);opacity:.48}
  .rights-trust-hero::after{width:88vw;right:-24%;top:20%}
}
@media(max-width:620px){
  .rights-luminous-visual{top:55%;right:-13rem;width:34rem;height:19rem;opacity:.25}
  .rights-luminous-visual .rights-luminous-pane-left,.rights-luminous-visual .rights-luminous-pane-right{opacity:.34}
  .rights-luminous-visual .rights-luminous-orbit-outer{opacity:.38}
  .rights-luminous-visual .rights-luminous-horizon{opacity:.50}
  .rights-luminous-visual .rights-register-mark{opacity:.56}
}

/* Banner-R01 P09 — Terms of Use luminous banner implementation
   Locked banner system: full-width hero anchoring, right-side luminous visual,
   absolute/out-of-flow decorative artwork, preserved TechDepth copy/content. */
.terms-trust-hero{
  position:relative;
  overflow:hidden;
  isolation:isolate;
  background:
    radial-gradient(circle at 86% 48%,rgba(248,222,160,.075),transparent 27%),
    radial-gradient(circle at 93% 17%,rgba(43,108,157,.14),transparent 29%),
    linear-gradient(118deg,#092541 0%,#0c3157 57%,#124773 100%);
}
.terms-trust-hero::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:0;
  pointer-events:none;
  background:
    linear-gradient(154deg,transparent 0 46%,rgba(104,165,203,.05) 46.2% 55%,transparent 55.2%),
    linear-gradient(28deg,transparent 0 63%,rgba(255,255,255,.025) 63.2% 72%,transparent 72.2%);
}
.terms-trust-hero::after{
  content:"";
  position:absolute;
  z-index:0;
  width:min(48vw,720px);
  aspect-ratio:1.7/1;
  right:-4%;
  top:5%;
  pointer-events:none;
  background:radial-gradient(ellipse at 55% 49%,rgba(248,222,160,.075),rgba(94,161,204,.04) 34%,transparent 70%);
  transform:rotate(-4deg);
}
.terms-trust-hero .hero-inner{
  position:relative;
  z-index:2;
  padding-top:clamp(3.25rem,4.7vw,4.25rem);
  padding-bottom:clamp(3.25rem,4.8vw,4.5rem);
}
.terms-trust-hero .hero-sub{position:relative;z-index:2;max-width:51rem}
.terms-trust-hero .eyebrow,.terms-trust-hero h1,.terms-trust-hero .trust-hero-meta,.terms-trust-hero .trust-last-updated{position:relative;z-index:2}
.terms-luminous-visual{
  position:absolute;
  z-index:1;
  top:50%;
  right:clamp(-5rem,-3.7vw,-.75rem);
  width:min(57vw,48rem);
  height:clamp(20rem,33vw,27rem);
  transform:translateY(-50%);
  opacity:.94;
  pointer-events:none;
}
.terms-luminous-visual svg{display:block;width:100%;height:100%;overflow:visible}
.terms-luminous-visual .terms-luminous-back-plane{fill:rgba(108,164,203,.05)}
.terms-luminous-visual .terms-luminous-back-plane-b{fill:rgba(91,146,188,.03)}
.terms-luminous-visual .terms-luminous-orbit{fill:none;stroke:rgba(151,205,237,.14);stroke-width:1.1}
.terms-luminous-visual .terms-luminous-orbit-dash{stroke:rgba(163,212,240,.17);stroke-dasharray:2 9}
.terms-luminous-visual .terms-luminous-pane{stroke:rgba(183,224,249,.31);stroke-width:1.1;stroke-linejoin:round}
.terms-luminous-visual .terms-luminous-pane-center{stroke:rgba(255,239,194,.74);stroke-width:1.35}
.terms-luminous-visual .terms-boundary-mark{fill:none;stroke:rgba(255,241,204,.58);stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
.terms-luminous-visual .terms-luminous-floor-beam{opacity:.88}
.terms-luminous-visual .terms-luminous-horizon{fill:none;stroke:rgba(164,213,241,.33);stroke-width:1.1;stroke-linecap:round}
.terms-luminous-visual .terms-luminous-door-edge{fill:none;stroke:#f6d489;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;filter:url(#terms-edge-glow)}
.terms-luminous-visual .terms-luminous-focus{fill:#fff4cf;opacity:.84}
@media(max-width:1080px){
  .terms-luminous-visual{right:clamp(-7rem,-7vw,-2rem);width:min(62vw,43rem);height:clamp(18rem,36vw,23rem);opacity:.86}
  .terms-trust-hero .hero-sub{max-width:68%}
}
@media(max-width:820px){
  .terms-trust-hero .hero-inner{padding-top:clamp(2.8rem,7vw,3.3rem);padding-bottom:clamp(2.7rem,7vw,3.2rem)}
  .terms-trust-hero .hero-sub{max-width:100%}
  .terms-luminous-visual{top:52%;right:clamp(-12rem,-21vw,-6rem);width:min(76vw,36rem);height:clamp(16rem,54vw,22rem);opacity:.48}
  .terms-trust-hero::after{width:88vw;right:-24%;top:20%}
}
@media(max-width:620px){
  .terms-luminous-visual{top:55%;right:-13rem;width:34rem;height:19rem;opacity:.25}
  .terms-luminous-visual .terms-luminous-pane-left,.terms-luminous-visual .terms-luminous-pane-right{opacity:.34}
  .terms-luminous-visual .terms-luminous-orbit-outer{opacity:.38}
  .terms-luminous-visual .terms-luminous-horizon{opacity:.50}
  .terms-luminous-visual .terms-boundary-mark{opacity:.56}
}

/* Sitewide-Hardening-R05 P01 — Narrow-Screen Overflow Remediation */
@media(max-width:380px){
  body.hardening-r05-challenge6 .topic li{
    overflow-wrap:anywhere;
  }
  body.hardening-r05-lab4 .topic .inline-code{
    overflow-wrap:anywhere;
  }
  body.hardening-r05-project6 .module-map .module-row > span:nth-child(2){
    min-width:0;
    overflow-wrap:anywhere;
  }
  body.hardening-r05-contact .trust-callout{
    grid-template-columns:minmax(0,1fr);
  }
  body.hardening-r05-contact .trust-callout a{
    grid-column:auto;
  }
}
