
:root{
  color-scheme:light;
  --ink:#0b1320;
  --ink-2:#172033;
  --navy:#07111f;
  --navy-2:#0b1c31;
  --navy-3:#102a46;
  --surface:#ffffff;
  --surface-2:#f5f8fc;
  --surface-3:#edf4fb;
  --text:#162235;
  --muted:#5b6b80;
  --border:#dbe5ef;
  --border-strong:#c5d4e2;
  --blue:#1d9bf0;
  --blue-2:#2563eb;
  --cyan:#22d3ee;
  --green:#22c55e;
  --green-2:#34d399;
  --amber:#f59e0b;
  --max:78rem;
  --measure:76ch;
  --radius:18px;
  --shadow:0 18px 60px rgba(3,16,31,.10);
  --shadow-soft:0 10px 35px rgba(13,31,55,.08);
  font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;background:var(--navy)}
body{
  margin:0;
  background:
    radial-gradient(circle at 10% 3%,rgba(34,211,238,.08),transparent 23rem),
    linear-gradient(180deg,#eef5fb 0,#f8fbfd 32rem,#f7f9fc 100%);
  color:var(--text);
  line-height:1.68;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}
img,svg{max-width:100%;height:auto}
a{color:#075fbd;text-underline-offset:.18em;text-decoration-thickness:.08em}
a:hover{color:#034b95}
a:focus-visible,button:focus-visible{outline:3px solid var(--cyan);outline-offset:4px;border-radius:5px}
.skip-link{position:absolute;left:-9999px;top:auto}
.skip-link:focus{
  left:1rem;top:1rem;z-index:10000;background:#fff;color:var(--ink);
  padding:.7rem .9rem;border:2px solid var(--cyan);box-shadow:var(--shadow)
}

/* Header */
.site-header{
  position:sticky;top:0;z-index:50;
  background:rgba(7,17,31,.94);
  color:#fff;
  border-bottom:1px solid rgba(148,163,184,.17);
  box-shadow:0 10px 30px rgba(3,10,20,.18);
  backdrop-filter:saturate(140%) blur(12px);
}
.header-inner{
  max-width:var(--max);margin:0 auto;padding:.85rem 1.4rem;
  display:flex;align-items:center;justify-content:space-between;gap:1rem 2rem
}
.brand{
  color:#fff;text-decoration:none;font-size:1.05rem;font-weight:820;
  letter-spacing:-.01em;display:inline-flex;align-items:center;gap:.7rem;white-space:nowrap
}
.site-nav ul{list-style:none;margin:0;padding:0;display:flex;align-items:center;gap:.2rem;flex-wrap:wrap}
.site-nav a{
  color:#c8d6e6;text-decoration:none;font-size:.88rem;font-weight:680;
  padding:.55rem .68rem;border-radius:9px;transition:background-color .15s ease,color .15s ease
}
.site-nav a:hover,.site-nav a:focus{color:#fff;background:rgba(255,255,255,.07)}
.site-nav a[aria-current="page"]{
  color:#fff;background:linear-gradient(180deg,rgba(34,211,238,.15),rgba(29,155,240,.07));
  box-shadow:inset 0 0 0 1px rgba(34,211,238,.28)
}

/* Global shell */
.page-shell{max-width:var(--max);margin:0 auto;padding:1rem 1.4rem 5rem}
.breadcrumbs{font-size:.86rem;color:#66788d;margin:.35rem 0 .9rem;padding:.1rem .15rem}
.breadcrumbs ol{display:flex;flex-wrap:wrap;list-style:none;margin:0;padding:0;gap:.3rem}
.breadcrumbs a{color:#48637f;text-decoration:none}
.breadcrumbs a:hover{text-decoration:underline}
.breadcrumbs li:not(:last-child)::after{content:"›";margin-left:.38rem;color:#9aa9b8;font-weight:700}

.site-main{display:grid;grid-template-columns:minmax(0,1fr);gap:1.35rem;min-width:0}

/* Hero */
.hero{
  min-width:0;position:relative;overflow:hidden;isolation:isolate;
  min-height:31rem;
  border-radius:28px;
  padding:clamp(1.35rem,4vw,3.6rem);
  display:grid;grid-template-columns:minmax(0,1.03fr) minmax(21rem,.97fr);
  align-items:center;gap:clamp(1.4rem,4vw,4rem);
  background:
    radial-gradient(circle at 82% 18%,rgba(34,211,238,.15),transparent 18rem),
    radial-gradient(circle at 8% 88%,rgba(34,197,94,.09),transparent 16rem),
    linear-gradient(135deg,#07111f 0%,#0a1f38 54%,#071725 100%);
  border:1px solid rgba(79,151,197,.23);
  box-shadow:0 24px 70px rgba(4,16,31,.20);
  color:#f7fbff
}
.hero::before{
  content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;opacity:.55;
  background-image:
    linear-gradient(rgba(148,197,230,.055) 1px,transparent 1px),
    linear-gradient(90deg,rgba(148,197,230,.055) 1px,transparent 1px);
  background-size:34px 34px;
  mask-image:linear-gradient(to right,#000,transparent 80%)
}
.hero::after{
  content:"";position:absolute;width:26rem;height:26rem;border-radius:50%;
  right:-12rem;bottom:-16rem;background:rgba(34,211,238,.08);filter:blur(4px);z-index:-1
}
.hero__copy{position:relative;z-index:2}
.hero h1{
  margin:0 0 1.15rem;max-width:16ch;
  font-size:clamp(2.55rem,5.7vw,5rem);line-height:.98;letter-spacing:-.055em;
  color:#fff;text-wrap:balance
}
.page-foundation .hero h1,.page-k8s .hero h1{font-size:clamp(2.35rem,5vw,4.35rem)}
.page-lfcs-prep .hero h1,.page-cka-prep .hero h1{font-size:clamp(2.35rem,5vw,4.35rem)}
.hero p{
  margin:.8rem 0 0;max-width:63ch;color:#c8d7e7;font-size:clamp(1rem,1.5vw,1.15rem)
}
.hero p strong{color:#f8fcff}
.hero a{color:#67e8f9;font-weight:700}
.hero a:hover{color:#a5f3fc}
.hero__visual{
  position:relative;display:grid;place-items:center;min-width:0
}
.hero__visual::before{
  content:"";position:absolute;inset:12% 8%;border-radius:50%;
  background:radial-gradient(circle,rgba(34,211,238,.12),transparent 65%);
  filter:blur(8px)
}
.hero__visual img{
  position:relative;width:100%;max-width:37rem;filter:drop-shadow(0 20px 38px rgba(0,0,0,.27))
}

/* Theme-specific hero accents */
.hero--home{background:radial-gradient(circle at 80% 20%,rgba(34,211,238,.18),transparent 18rem),linear-gradient(135deg,#06121f,#0b2947 58%,#071724)}
.hero--foundation{background:radial-gradient(circle at 80% 12%,rgba(59,130,246,.16),transparent 18rem),linear-gradient(135deg,#07111f,#112846 58%,#071724)}
.hero--lfcs,.hero--lfcs-prep{background:radial-gradient(circle at 80% 12%,rgba(52,211,153,.12),transparent 18rem),linear-gradient(135deg,#06131d,#0c2331 55%,#071723)}
.hero--k8s,.hero--cka,.hero--cka-prep{background:radial-gradient(circle at 80% 12%,rgba(34,211,238,.17),transparent 18rem),linear-gradient(135deg,#07111f,#0b2541 58%,#071724)}

/* Article sections */
.content-section{
  min-width:0;position:relative;background:var(--surface);border:1px solid var(--border);
  border-radius:var(--radius);padding:clamp(1.25rem,3vw,2.55rem);
  box-shadow:var(--shadow-soft)
}
.content-section > :last-child{margin-bottom:0}
.content-section h2{
  margin:0 0 1rem;max-width:28ch;color:var(--ink);
  font-size:clamp(1.55rem,3.3vw,2.35rem);line-height:1.11;letter-spacing:-.032em;text-wrap:balance
}
.content-section h2::before{
  content:"";display:block;width:3.2rem;height:4px;margin:0 0 .8rem;border-radius:99px;
  background:linear-gradient(90deg,var(--blue),var(--cyan))
}
.content-section h3{
  margin:1.9rem 0 .55rem;max-width:50ch;color:#18304b;
  font-size:clamp(1.13rem,2vw,1.3rem);line-height:1.28;letter-spacing:-.015em
}
.content-section p,.content-section li{max-width:var(--measure)}
.content-section p{margin:.75rem 0 1rem}
.content-section ul,.content-section ol{padding-left:1.25rem}
.content-section li{margin:.34rem 0}
.content-section li::marker{color:#1686ca;font-weight:700}

.section--facts{
  background:
    radial-gradient(circle at 90% 10%,rgba(34,211,238,.08),transparent 20rem),
    linear-gradient(180deg,#f8fcff,#ffffff);
  border-color:#c9e1f0
}
.section--decision{
  border-left:5px solid var(--cyan);
  background:linear-gradient(120deg,#ffffff,#f8fcff)
}
.section--prep{
  background:
    linear-gradient(180deg,rgba(7,17,31,.02),rgba(34,211,238,.025)),
    #fff;
}
.section--sources{
  background:linear-gradient(135deg,#0a1626,#0d2238);
  border-color:#203d5c;color:#c7d5e4;box-shadow:0 18px 45px rgba(4,17,31,.16)
}
.section--sources h2,.section--sources h3{color:#fff}
.section--sources h2::before{background:linear-gradient(90deg,var(--green-2),var(--cyan))}
.section--sources a{color:#67e8f9}
.section--sources p,.section--sources li{color:#c7d5e4}

/* Cards/lists */
.decision-list,.prep-list{
  list-style:none!important;padding:0!important;margin:1.15rem 0!important;
  display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem
}
.decision-list li,.prep-list li{
  margin:0!important;padding:.9rem 1rem;border:1px solid #d6e5f0;border-radius:12px;
  background:#fbfdff;box-shadow:0 4px 14px rgba(15,34,54,.04)
}
.decision-list li::before,.prep-list li::before{
  content:"";display:inline-block;width:.48rem;height:.48rem;margin:0 .55rem .08rem 0;
  border-radius:50%;background:linear-gradient(135deg,var(--green-2),var(--cyan))
}

/* Tables */
.table-scroll{
  width:100%;max-width:100%;overflow-x:auto;margin:1.15rem 0 1.6rem;border-radius:14px;
  border:1px solid var(--border-strong);background:#fff;
  box-shadow:0 8px 24px rgba(12,31,50,.055);-webkit-overflow-scrolling:touch
}
.data-table{width:100%;border-collapse:collapse;margin:0;min-width:38rem}
.data-table th,.data-table td{
  padding:.82rem .9rem;text-align:left;vertical-align:top;border:0;border-bottom:1px solid #e4ebf2;
  min-width:8rem
}
.data-table th{
  background:linear-gradient(180deg,#102740,#0d2035);color:#f6fbff;
  font-size:.78rem;line-height:1.35;text-transform:uppercase;letter-spacing:.055em
}
.data-table tr:last-child td{border-bottom:0}
.data-table tbody tr:nth-child(even){background:#f8fbfd}
.data-table tbody tr:hover{background:#f0f8fc}
.section--prep .data-table th{background:linear-gradient(180deg,#0d2b2c,#0c2327)}
.section--sources .table-scroll{border-color:#2c4964;background:#0e1f32}
.section--sources .data-table td{border-color:#243b51;color:#d3deea}
.section--sources .data-table tbody tr:nth-child(even){background:#10263b}

/* Callouts and commercial paths */
.callout,blockquote{
  margin:1.3rem 0;padding:1rem 1.15rem 1rem 1.25rem;
  border:1px solid #c9e5f0;border-left:4px solid var(--cyan);
  border-radius:0 12px 12px 0;background:linear-gradient(90deg,#eefbff,#f8fdff)
}
.cta-line{
  max-width:72ch!important;margin:1.45rem 0!important;padding:1.05rem 1.15rem!important;
  border-radius:14px;border:1px solid #b7d9ed;
  background:
    radial-gradient(circle at 100% 0,rgba(34,211,238,.12),transparent 10rem),
    linear-gradient(135deg,#f1faff,#f7fff9);
  box-shadow:0 8px 24px rgba(13,44,70,.06)
}
.cta-line a[rel~="sponsored"]{
  display:inline-flex;align-items:center;gap:.35rem;
  color:#064f92;font-weight:800;text-decoration:none;
  border-bottom:2px solid #22d3ee;padding-bottom:.08rem
}
.cta-line a[rel~="sponsored"]::after{content:"↗";font-size:.9em}
.freshness-note{
  display:inline-block;max-width:100%!important;padding:.5rem .72rem;border-radius:999px;
  background:#eef5fa;color:#50657b;font-size:.86rem;border:1px solid #d7e5ef
}

/* Code / technical surfaces */
code{
  font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;
  font-size:.92em;background:#eef3f7;color:#18324b;padding:.1em .3em;border-radius:5px
}
pre{
  overflow:auto;background:#07111f;color:#d8f8ff;padding:1rem 1.1rem;border-radius:12px;
  border:1px solid #233d56;box-shadow:inset 0 1px 0 rgba(255,255,255,.04)
}
pre code{background:transparent;color:inherit;padding:0}

/* Prep-roadmap feel */
.page-lfcs-prep .section--prep,
.page-cka-prep .section--prep{border-left:4px solid #35cfa0}
.page-lfcs-prep .section--prep ol,
.page-cka-prep .section--prep ol{counter-reset:roadstep}
.page-lfcs-prep .section--prep ol > li,
.page-cka-prep .section--prep ol > li{position:relative}
.page-lfcs-prep .section--prep h3,
.page-cka-prep .section--prep h3{
  padding-left:.85rem;border-left:3px solid rgba(34,211,238,.45)
}

/* Footer */
.site-footer{
  position:relative;overflow:hidden;background:#07111f;color:#9fb1c4;border-top:1px solid #18324b
}
.site-footer::before{
  content:"";position:absolute;inset:0;pointer-events:none;
  background:radial-gradient(circle at 15% 0,rgba(34,211,238,.08),transparent 18rem)
}
.footer-inner{position:relative;max-width:var(--max);margin:0 auto;padding:2.1rem 1.4rem 2.6rem}
.footer-inner p{margin:.35rem 0;max-width:88ch;font-size:.9rem}
.footer-inner a{color:#67e8f9}
.updated{font-size:.88rem;color:#6b7e92;margin-top:1.4rem}

/* 404 */
body:not([class]) .content{max-width:60rem;margin:3rem auto;background:#fff;border:1px solid var(--border);padding:2rem;border-radius:18px}

/* Tablet */
@media (max-width:64rem){
  .header-inner{align-items:flex-start;flex-direction:column;gap:.55rem}
  .site-nav{width:100%;overflow-x:auto;padding-bottom:.12rem;scrollbar-width:thin}
  .site-nav ul{width:max-content;min-width:100%;flex-wrap:nowrap}
  .hero{grid-template-columns:1fr;min-height:auto}
  .hero__copy{max-width:52rem}
  .hero__visual{max-width:43rem;margin:0 auto;width:100%}
  .hero__visual img{max-height:23rem}
}

/* Mobile */
@media (max-width:46rem){
  body{background:linear-gradient(180deg,#edf5fb,#f8fafc 28rem)}
  .site-header{position:relative}
  .header-inner{padding:.78rem .85rem}
  .brand{font-size:.97rem}
  .site-nav a{font-size:.82rem;padding:.48rem .58rem}
  .page-shell{padding:.65rem .72rem 3rem}
  .breadcrumbs{font-size:.79rem;margin:.25rem 0 .65rem;overflow-x:auto;white-space:nowrap}
  .breadcrumbs ol{flex-wrap:nowrap;width:max-content}
  .site-main{gap:.85rem}
  .hero{
    border-radius:19px;padding:1.35rem 1.05rem 1.1rem;
    gap:1rem;box-shadow:0 16px 36px rgba(4,17,31,.18)
  }
  .hero h1,.page-foundation .hero h1,.page-k8s .hero h1,
  .page-lfcs-prep .hero h1,.page-cka-prep .hero h1{
    font-size:clamp(2.15rem,11.5vw,3.2rem);max-width:18ch;letter-spacing:-.05em
  }
  .hero p{font-size:.98rem;line-height:1.58}
  .hero__visual img{max-height:none}
  .content-section{border-radius:14px;padding:1.1rem .95rem}
  .content-section h2{font-size:1.58rem}
  .content-section h3{font-size:1.12rem}
  .decision-list,.prep-list{grid-template-columns:1fr}
  .table-scroll{border-radius:10px;margin-left:0;margin-right:0}
  .data-table{min-width:41rem;font-size:.92rem}
  .data-table th,.data-table td{padding:.68rem .72rem;min-width:9.5rem}
  .cta-line{border-radius:11px;padding:.9rem!important}
  .freshness-note{border-radius:10px}
}

/* Very small screens */
@media (max-width:24rem){
  .page-shell{padding-left:.48rem;padding-right:.48rem}
  .hero{padding-left:.88rem;padding-right:.88rem}
  .content-section{padding-left:.82rem;padding-right:.82rem}
}

/* Print */
@media print{
  .site-header,.hero__visual,.site-footer{display:none!important}
  body{background:#fff;color:#000}
  .page-shell{max-width:none;padding:0}
  .hero,.content-section{display:block;background:#fff;color:#000;border:0;box-shadow:none;padding:0}
  .hero h1,.hero p,.section--sources,.section--sources h2,.section--sources h3{color:#000}
}

/* Reduced motion */
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *{transition:none!important;animation:none!important}
}

/* Visual subcomponents for decision and preparation content */
.subcard-grid{
  display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;margin-top:1.2rem
}
.subcard{
  position:relative;padding:1rem 1rem 1.05rem;border:1px solid #d9e7f1;border-radius:14px;
  background:linear-gradient(180deg,#fff,#f8fbfd);box-shadow:0 8px 22px rgba(12,35,58,.05)
}
.subcard::before{
  content:"";position:absolute;left:0;top:0;bottom:0;width:3px;border-radius:14px 0 0 14px;
  background:linear-gradient(var(--cyan),var(--blue-2))
}
.subcard h3{margin:.05rem 0 .55rem;padding-left:.1rem}
.subcard p:last-child,.subcard ul:last-child,.subcard ol:last-child{margin-bottom:0}

.section--timeline{
  overflow:hidden;
  background:
    linear-gradient(90deg,rgba(34,211,238,.035),transparent 22%),
    #fff
}
.section--timeline .subcard-grid{
  position:relative;grid-template-columns:repeat(3,minmax(0,1fr))
}
.section--timeline .subcard-grid::before{
  content:"";position:absolute;left:5%;right:5%;top:1.18rem;height:2px;
  background:linear-gradient(90deg,var(--green-2),var(--cyan),var(--blue-2));opacity:.35
}
.section--timeline .subcard{padding-top:2.2rem}
.section--timeline .subcard::after{
  content:"";position:absolute;top:.82rem;left:1rem;width:.72rem;height:.72rem;border-radius:50%;
  background:var(--cyan);box-shadow:0 0 0 5px rgba(34,211,238,.12)
}
.section--readiness{
  border-color:#bfe9d2;background:
    radial-gradient(circle at 92% 10%,rgba(34,197,94,.10),transparent 18rem),
    linear-gradient(180deg,#f9fffb,#fff)
}
.section--readiness h2::before{background:linear-gradient(90deg,var(--green),var(--cyan))}
.section--readiness li::marker{color:var(--green)}
.section--competency{
  background:
    radial-gradient(circle at 90% 10%,rgba(37,99,235,.07),transparent 18rem),
    #fff
}
.section--workflow{
  border-color:#cbe6eb;background:linear-gradient(135deg,#f7fdff,#fbfffd)
}
.section--workflow h2::before{background:linear-gradient(90deg,var(--green-2),var(--cyan))}

@media (max-width:64rem){
  .section--timeline .subcard-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:46rem){
  .subcard-grid,.section--timeline .subcard-grid{grid-template-columns:1fr}
  .section--timeline .subcard-grid::before{left:1.35rem;right:auto;top:1.3rem;bottom:1.3rem;width:2px;height:auto}
  .section--timeline .subcard{padding-top:1rem;padding-left:2.25rem}
  .section--timeline .subcard::after{top:1.15rem;left:.98rem}
}

/* Contrast/readability bugfix — DEC-009
   Bounded color-only correction; no layout/content/link/metadata changes. */
.breadcrumbs{
  color:#52657a;
}
.breadcrumbs li:not(:last-child)::after{
  color:#6a7d90;
}
.freshness-note{
  background:#f2f7fb;
  color:#3f5369;
  border-color:#c5d8e6;
}
.updated{
  color:#40556b;
}

/* Light disclosure/CTA surfaces inside dark source bands must use dark text. */
.section--sources .callout,
.section--sources blockquote{
  color:#142538;
  background:linear-gradient(90deg,#edfaff,#f8fdff);
  border-color:#9bcfe0;
}
.section--sources .callout p,
.section--sources blockquote p,
.section--sources .callout strong,
.section--sources blockquote strong{
  color:#142538;
}
.section--sources .callout a,
.section--sources blockquote a{
  color:#064f92;
}
.section--sources .cta-line,
.section--sources p.cta-line{
  color:#162235;
}

/* Freshness badges stay dark-on-dark-section with bright foreground. */
.section--sources .freshness-note,
.section--sources .freshness-note.updated{
  background:#132b42;
  color:#edf7ff;
  border-color:#365a78;
}
.section--sources .freshness-note strong,
.section--sources .freshness-note.updated strong{
  color:#ffffff;
}
.section--sources .freshness-note a,
.section--sources .freshness-note.updated a{
  color:#8be9f7;
}



/* Footer / trust-page corrective — DEC-010
   Non-substantive utility structure only; BLUEPRINT_v1.0 substantive architecture unchanged. */
.site-footer--trust{
  margin-top:3.25rem;
  background:
    radial-gradient(circle at 12% 0,rgba(34,211,238,.11),transparent 24rem),
    radial-gradient(circle at 90% 110%,rgba(34,197,94,.08),transparent 22rem),
    linear-gradient(180deg,#081525,#050c16);
  color:#c8d7e6;
  border-top:1px solid #1c3d58;
}
.site-footer--trust .footer-inner{padding:3.1rem 1.4rem 1.25rem}
.footer-grid{
  display:grid;
  grid-template-columns:minmax(0,1.55fr) minmax(12rem,.72fr) minmax(12rem,.72fr);
  gap:2.4rem;
  align-items:start;
}
.footer-brand-block h2,
.footer-column h2{
  margin:0 0 .85rem;
  color:#f7fbff;
  font-size:1rem;
  line-height:1.25;
  letter-spacing:.01em;
}
.footer-brand-block h2{
  font-size:1.18rem;
  color:#fff;
}
.footer-summary{
  max-width:52rem!important;
  margin:0 0 .8rem!important;
  color:#dce9f5;
  font-size:1rem!important;
  line-height:1.65;
}
.footer-independence{
  max-width:62rem!important;
  color:#afc2d5;
  font-size:.86rem!important;
  line-height:1.7;
}
.footer-links{
  list-style:none;
  margin:0;
  padding:0;
  display:grid;
  gap:.34rem;
}
.footer-links a{
  display:inline-block;
  padding:.2rem 0;
  color:#c7d8e8;
  text-decoration:none;
  text-underline-offset:.2em;
}
.footer-links a:hover{color:#7debf7;text-decoration:underline}
.footer-links a:focus-visible{
  color:#fff;
  outline:2px solid #22d3ee;
  outline-offset:4px;
  border-radius:3px;
}
.footer-bottom{
  display:flex;
  justify-content:space-between;
  gap:1rem;
  margin-top:2.25rem;
  padding-top:1.05rem;
  border-top:1px solid #17324a;
}
.footer-bottom p{
  margin:0!important;
  color:#9fb5c8;
  font-size:.82rem!important;
}

/* Utility/trust pages */
.utility-page .page-shell{padding-top:.95rem}
.hero--utility{
  min-height:auto;
  grid-template-columns:minmax(0,1fr) 14rem;
  align-items:center;
  background:
    radial-gradient(circle at 78% 0,rgba(34,211,238,.14),transparent 18rem),
    linear-gradient(135deg,#0b1e33,#0b1727 58%,#0c2630);
}
.hero--utility .hero__copy{max-width:54rem}
.utility-signal{
  position:relative;
  min-height:10rem;
  border:1px solid rgba(125,235,247,.18);
  border-radius:18px;
  background:
    linear-gradient(rgba(255,255,255,.025) 1px,transparent 1px),
    linear-gradient(90deg,rgba(255,255,255,.025) 1px,transparent 1px),
    rgba(4,14,24,.35);
  background-size:22px 22px;
  overflow:hidden;
}
.utility-signal::before{
  content:"";
  position:absolute;
  left:15%;
  right:15%;
  top:50%;
  height:1px;
  background:linear-gradient(90deg,transparent,#22d3ee,#34d399,transparent);
}
.utility-signal span{
  position:absolute;
  width:.72rem;height:.72rem;border-radius:50%;
  background:#7debf7;
  box-shadow:0 0 0 7px rgba(34,211,238,.08),0 0 22px rgba(34,211,238,.25);
}
.utility-signal span:nth-child(1){left:18%;top:48%}
.utility-signal span:nth-child(2){left:40%;top:26%;background:#34d399}
.utility-signal span:nth-child(3){right:34%;top:58%}
.utility-signal span:nth-child(4){right:18%;top:35%;background:#34d399}
.utility-content{max-width:66rem}
.utility-section{padding:1.4rem 1.45rem}
.utility-section p:last-child{margin-bottom:0}
.utility-note{margin-top:1.25rem}

@media (max-width:64rem){
  .footer-grid{grid-template-columns:minmax(0,1.3fr) repeat(2,minmax(10rem,.7fr));gap:1.5rem}
  .hero--utility{grid-template-columns:1fr 10rem}
}
@media (max-width:46rem){
  .site-footer--trust{margin-top:2rem}
  .site-footer--trust .footer-inner{padding:2.35rem .95rem 1rem}
  .footer-grid{grid-template-columns:1fr;gap:1.65rem}
  .footer-brand-block{padding-bottom:.2rem}
  .footer-column{padding-top:.1rem;border-top:1px solid rgba(125,235,247,.10)}
  .footer-column h2{padding-top:1rem}
  .footer-links{grid-template-columns:1fr}
  .footer-links a{padding:.38rem 0}
  .footer-bottom{flex-direction:column;gap:.3rem;margin-top:1.6rem}
  .hero--utility{grid-template-columns:1fr}
  .utility-signal{min-height:6rem}
}


/* =========================================================
   DEC-011 — final brand / contrast / editorial rhythm pass
   Bounded front-end correction only; substantive content,
   URLs, metadata/schema and affiliate mappings are unchanged.
   ========================================================= */

:root{
  --text:#111c2b;
  --muted:#435970;
  --text-on-dark:#f6faff;
  --muted-on-dark:#c1d1e0;
  --link:#075fa8;
  --link-hover:#034b86;
}

/* Brand system */
.brand--site,.brand--footer{
  display:inline-flex;align-items:center;gap:.72rem;
  min-width:0;text-decoration:none;color:#fff;
}
.brand__mark{
  width:42px;height:42px;flex:0 0 42px;display:block;
  filter:drop-shadow(0 7px 18px rgba(34,211,238,.12));
}
.brand__wordmark{
  display:grid;gap:.05rem;line-height:1.02;
  font-weight:780;letter-spacing:-.025em;color:#f7fbff;
}
.brand__wordmark span:last-child{
  color:#b9ccdc;font-weight:680;letter-spacing:-.018em;
}
.brand--footer .brand__mark{width:46px;height:46px;flex-basis:46px}
.brand--footer .brand__wordmark{font-size:1.02rem}
.brand--footer:hover .brand__wordmark span:first-child,
.brand--site:hover .brand__wordmark span:first-child{color:#dffaff}
.brand--footer:focus-visible,.brand--site:focus-visible{
  outline:3px solid #67e8f9;outline-offset:4px;border-radius:10px
}

/* Global readability rules */
body{color:var(--text)}
a{color:var(--link);text-decoration-thickness:.08em;text-underline-offset:.16em}
a:hover{color:var(--link-hover)}
.content-section,.utility-section{color:var(--text)}
.content-section p,.content-section li,.content-section dd,.content-section td,
.utility-section p,.utility-section li{color:var(--text)}
.freshness-note{
  background:#e7f1f8;color:#29455f;border-color:#bed2e2;font-weight:560
}
.updated{color:#435970;font-weight:560}
.callout,blockquote,.cta-line{
  color:#17263a
}
.callout p,blockquote p,.cta-line p,
.callout li,blockquote li,.cta-line li{color:#17263a}
.callout a,blockquote a,.cta-line a{color:#075a9d;font-weight:650}
.site-nav a{color:#dce8f4}
.site-nav a:hover,.site-nav a:focus-visible{color:#fff}
.site-nav a[aria-current="page"]{color:#fff;background:#12304d}
.hero,.hero p,.hero li,.hero strong{color:var(--text-on-dark)}
.hero p{color:#d9e7f3}
.site-footer,.site-footer p,.site-footer li{color:var(--muted-on-dark)}
.footer-summary{color:#e5eef7!important}
.footer-independence{color:#c1d1e0!important}
.footer-column a{color:#dce8f4}
.footer-column a:hover,.footer-column a:focus-visible{color:#fff}
.section--sources,.section-rhythm--dark,.section-rhythm--feature{
  color:var(--text-on-dark)
}
.section--sources p,.section--sources li,.section--sources dd,
.section-rhythm--dark p,.section-rhythm--dark li,.section-rhythm--dark dd,
.section-rhythm--feature p,.section-rhythm--feature li,.section-rhythm--feature dd{
  color:#dbe8f4
}
.section--sources h2,.section--sources h3,
.section-rhythm--dark h2,.section-rhythm--dark h3,
.section-rhythm--feature h2,.section-rhythm--feature h3{color:#fff}
.section--sources a,.section-rhythm--dark a,.section-rhythm--feature a{
  color:#67e8f9;text-decoration-color:#38bdf8
}
.section--sources a:hover,.section-rhythm--dark a:hover,.section-rhythm--feature a:hover{
  color:#d7fbff
}
.section--sources .freshness-note,.section-rhythm--dark .freshness-note,
.section-rhythm--feature .freshness-note{
  background:#0f3049;color:#edfaff;border-color:#2e6988
}
.section--sources .updated,.section-rhythm--dark .updated,.section-rhythm--feature .updated{
  color:#c5d7e7
}
.section--sources .callout,.section--sources blockquote,
.section-rhythm--dark .callout,.section-rhythm--dark blockquote,
.section-rhythm--feature .callout,.section-rhythm--feature blockquote{
  background:#f4fbff;color:#17263a;border-color:#a8d5e7
}
.section--sources .callout p,.section--sources blockquote p,
.section-rhythm--dark .callout p,.section-rhythm--dark blockquote p,
.section-rhythm--feature .callout p,.section-rhythm--feature blockquote p{
  color:#17263a
}
.section--sources .cta-line,.section-rhythm--dark .cta-line,
.section-rhythm--feature .cta-line{
  background:linear-gradient(135deg,#f2fbff,#f4fff8);color:#17263a
}
.section--sources .cta-line p,.section-rhythm--dark .cta-line p,
.section-rhythm--feature .cta-line p{color:#17263a}

/* Editorial section rhythm: sections are bands, not generic cards. */
.site-main{gap:1rem}
.content-section{
  border-radius:4px;
  box-shadow:none;
  border-left:0;border-right:0;
  padding:clamp(1.55rem,4vw,3.25rem);
}
.content-section > h2{
  position:relative;margin-top:0;padding-top:.15rem;
  letter-spacing:-.025em
}
.content-section > h2::before{
  content:"";display:block;width:2.8rem;height:3px;border-radius:999px;
  margin-bottom:.8rem;background:linear-gradient(90deg,#22d3ee,#22c55e)
}
.section-rhythm--plain{
  background:#fff;border-top:1px solid transparent;border-bottom:1px solid #e7edf3
}
.section-rhythm--tint{
  background:
    radial-gradient(circle at 95% 8%,rgba(34,211,238,.08),transparent 17rem),
    linear-gradient(180deg,#f2f7fb,#eef5fa);
  border-top:1px solid #d8e5ef;border-bottom:1px solid #d8e5ef
}
.section-rhythm--feature{
  background:
    radial-gradient(circle at 92% 12%,rgba(34,211,238,.12),transparent 18rem),
    radial-gradient(circle at 8% 85%,rgba(34,197,94,.07),transparent 16rem),
    linear-gradient(135deg,#081523,#0c2238);
  border-top:1px solid #21415e;border-bottom:1px solid #21415e
}
.section-rhythm--dark{
  border-radius:4px;box-shadow:none
}
.section--facts,.section--decision,.section--prep{
  border-radius:4px;box-shadow:none
}
.section--decision{border-left:0}
.utility-section{box-shadow:none}
.utility-content{gap:1rem}

/* Preserve genuine discrete cards while avoiding "card soup". */
.content-section .card,
.content-section .decision-card,
.content-section .fact-card{
  border-radius:14px;
  box-shadow:0 8px 26px rgba(13,31,55,.065)
}

/* Tables remain high-contrast and locally scrollable. */
.table-scroll{background:#fff}
.data-table{color:#172235;background:#fff}
.data-table td{color:#172235;background:#fff}
.data-table th{color:#fff;background:#102a46}
.data-table a{color:#075a9d}

/* Mobile brand/header/footer durability */
@media (max-width: 760px){
  .header-inner{align-items:flex-start}
  .brand--site{max-width:13rem}
  .brand--site .brand__wordmark{font-size:.94rem}
  .brand__mark{width:38px;height:38px;flex-basis:38px}
  .content-section{padding:1.45rem 1.1rem}
}
@media (max-width: 460px){
  .brand--site .brand__wordmark span{display:block}
  .brand--site{gap:.55rem}
  .brand__mark{width:36px;height:36px;flex-basis:36px}
}


/* =========================================================
   DEC-012 — duplicate-logo + global contrast implementation bugfix
   Bounded implementation correction only.
   ========================================================= */

:root{
  --text-light-primary:#111c2b;
  --text-light-secondary:#40556a;
  --link-light:#075a9d;
  --text-dark-primary:#f7fbff;
  --text-dark-secondary:#c8d8e8;
  --link-dark:#67e8f9;
}

/* Single-brand guarantee: the legacy generic pseudo-mark is retired. */
.brand--site::before,
.brand--footer::before{
  content:none!important;
  display:none!important;
}

/* Light-surface text tokens. */
.section-rhythm--plain,
.section-rhythm--tint,
.section--facts,
.utility-section{
  color:var(--text-light-primary);
}
.section-rhythm--plain p,
.section-rhythm--plain li,
.section-rhythm--plain dd,
.section-rhythm--tint p,
.section-rhythm--tint li,
.section-rhythm--tint dd,
.section--facts p,
.section--facts li,
.section--facts dd,
.utility-section p,
.utility-section li,
.utility-section dd{
  color:var(--text-light-primary);
}
.section-rhythm--plain .updated,
.section-rhythm--tint .updated,
.section--facts .updated,
.utility-section .updated{
  color:var(--text-light-secondary);
}
.section-rhythm--plain a,
.section-rhythm--tint a,
.section--facts a,
.utility-section a{
  color:var(--link-light);
}

/*
  Critical inheritance fix:
  DEC-011 intentionally made feature-band text light, but several feature bands
  contain genuinely light subcomponents. Those descendants must switch back to
  the light-surface text tokens instead of inheriting near-white text.
*/
.section-rhythm--feature .subcard,
.section-rhythm--dark .subcard,
.section--sources .subcard,
.section-rhythm--feature .decision-list li,
.section-rhythm--dark .decision-list li,
.section--sources .decision-list li,
.section-rhythm--feature .prep-list li,
.section-rhythm--dark .prep-list li,
.section--sources .prep-list li{
  color:var(--text-light-primary)!important;
}
.section-rhythm--feature .subcard p,
.section-rhythm--feature .subcard li,
.section-rhythm--feature .subcard dd,
.section-rhythm--feature .subcard h3,
.section-rhythm--feature .subcard h4,
.section-rhythm--dark .subcard p,
.section-rhythm--dark .subcard li,
.section-rhythm--dark .subcard dd,
.section-rhythm--dark .subcard h3,
.section-rhythm--dark .subcard h4,
.section--sources .subcard p,
.section--sources .subcard li,
.section--sources .subcard dd,
.section--sources .subcard h3,
.section--sources .subcard h4,
.section-rhythm--feature .decision-list li,
.section-rhythm--feature .prep-list li,
.section-rhythm--dark .decision-list li,
.section-rhythm--dark .prep-list li,
.section--sources .decision-list li,
.section--sources .prep-list li{
  color:var(--text-light-primary)!important;
}
.section-rhythm--feature .subcard a,
.section-rhythm--dark .subcard a,
.section--sources .subcard a,
.section-rhythm--feature .decision-list li a,
.section-rhythm--feature .prep-list li a,
.section-rhythm--dark .decision-list li a,
.section-rhythm--dark .prep-list li a,
.section--sources .decision-list li a,
.section--sources .prep-list li a{
  color:var(--link-light)!important;
}
.section-rhythm--feature .subcard code,
.section-rhythm--dark .subcard code,
.section--sources .subcard code,
.section-rhythm--feature .decision-list li code,
.section-rhythm--feature .prep-list li code{
  color:#18324b!important;
  background:#eef3f7!important;
}

/* Dark-surface tokens remain explicit and non-decorative. */
.hero,
.section-rhythm--feature,
.section-rhythm--dark,
.section--sources,
.site-header,
.site-footer{
  --surface-text-primary:var(--text-dark-primary);
  --surface-text-secondary:var(--text-dark-secondary);
  --surface-link:var(--link-dark);
}
.hero p,
.section-rhythm--feature > p,
.section-rhythm--feature > ul > li,
.section-rhythm--feature > ol > li,
.section-rhythm--dark > p,
.section-rhythm--dark > ul > li,
.section-rhythm--dark > ol > li,
.section--sources > p,
.section--sources > ul > li,
.section--sources > ol > li{
  color:var(--surface-text-secondary);
}
.hero h1,.hero h2,.hero h3,
.section-rhythm--feature > h2,
.section-rhythm--feature > h3,
.section-rhythm--dark > h2,
.section-rhythm--dark > h3,
.section--sources > h2,
.section--sources > h3{
  color:var(--surface-text-primary);
}

/* Small but meaningful navigation/breadcrumb UI must not fade out. */
.breadcrumbs{
  color:#4b6076;
}
.breadcrumbs a{
  color:#365873;
}
.breadcrumbs li:not(:last-child)::after{
  color:#5c7085;
}

/* Disclosure/source/freshness surfaces get explicit contrast-safe tokens. */
.callout,
blockquote,
.cta-line{
  color:#17263a;
}
.callout p,
.callout li,
blockquote p,
blockquote li,
.cta-line,
.cta-line p,
.cta-line li{
  color:#17263a!important;
}
.callout a,
blockquote a,
.cta-line a{
  color:var(--link-light)!important;
}
.freshness-note{
  color:#29455f;
}
.section-rhythm--feature .freshness-note,
.section-rhythm--dark .freshness-note,
.section--sources .freshness-note{
  color:#edfaff!important;
}
.section-rhythm--feature .updated,
.section-rhythm--dark .updated,
.section--sources .updated{
  color:#cbdbea!important;
}

/* UI boundaries and focus states remain clearly distinguishable. */
.site-nav a:focus-visible,
.footer-column a:focus-visible,
.content-section a:focus-visible,
.utility-section a:focus-visible{
  outline:3px solid #22d3ee;
  outline-offset:3px;
  border-radius:4px;
}


/* WCAG non-text focus contrast: dark vs. light surfaces. */
.site-nav a:focus-visible,
.footer-column a:focus-visible,
.brand--site:focus-visible,
.brand--footer:focus-visible{
  outline-color:#67e8f9;
}
.content-section a:focus-visible,
.utility-section a:focus-visible{
  outline-color:#075a9d;
}
