:root{
    --indigo:#232152; --indigo2:#33307a; --indigo-soft:#EEEDF6;
    --orange:#E8562A; --orange-dk:#CB4620; --green:#1FA45A; --green-dk:#178048;
    --amber:#E0A118; --amber-dk:#9A6B0E; --amber-soft:#FBEFD2;
    --ink:#22283A; --slate:#5C6472; --rule:#E7E2D8; --paper:#FFFFFF; --cream:#FBF6EF;
    --ok-bg:#E7F0EB; --ok-tx:#178048; --maxw:1120px;
  }
  *{box-sizing:border-box}
  html{scroll-behavior:smooth}
  @media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
  body{margin:0; background:var(--cream); color:var(--ink);
    font:400 16.5px/1.65 -apple-system,"Segoe UI",Roboto,"Noto Sans",sans-serif; -webkit-font-smoothing:antialiased; padding-bottom:84px}
  @media(min-width:960px){body{padding-bottom:0}}
  h1,h2,h3,.serif{font-family:Georgia,"Times New Roman",serif}
  h1{font-size:2rem; line-height:1.15; margin:0 0 .3em; letter-spacing:-.01em}
  h2{font-size:1.6rem; line-height:1.2; margin:0 0 .35em; color:var(--indigo)}
  h3{font-size:1.12rem; margin:0 0 .3em}
  @media(min-width:960px){h1{font-size:2.7rem} h2{font-size:2rem}}
  p{margin:0 0 1em}
  a{color:var(--indigo2)}
  strong{font-weight:700}
  .wrap{max-width:var(--maxw); margin:0 auto; padding:0 18px}
  .num{font-variant-numeric:tabular-nums}
  .eyebrow{font:700 .72rem/1.4 -apple-system,"Segoe UI",Roboto,sans-serif; letter-spacing:.15em; text-transform:uppercase; color:var(--orange); margin:0 0 .5em}
  .eyebrow::before{content:"— "}
  .skip{position:absolute; left:-999px; top:0; background:var(--indigo); color:#fff; padding:10px 16px; z-index:200}
  .skip:focus{left:8px; top:8px}
  :focus-visible{outline:2px solid var(--amber); outline-offset:2px}

  /* logo (text, no image) */
  .logo{display:inline-flex; align-items:baseline; gap:7px; text-decoration:none; font-family:Georgia,serif}
  .logo .m{font-weight:800; font-size:1.35rem; letter-spacing:-.03em; color:var(--orange)}
  .logo .m i{color:var(--ink); font-style:normal}
  .logo .u{display:flex; flex-direction:column; line-height:1; border-left:2px solid var(--rule); padding-left:7px}
  .logo .u b{font:700 .82rem/1 -apple-system,sans-serif; letter-spacing:.02em; color:var(--ink)}
  .logo .u span{font:700 .62rem/1 -apple-system,sans-serif; letter-spacing:.32em; color:var(--orange); margin-top:2px}

  /* chips / badges */
  .chip{display:inline-flex; align-items:center; gap:5px; font:700 .64rem/1.3 -apple-system,sans-serif; letter-spacing:.04em; text-transform:uppercase; padding:4px 9px; border-radius:999px; white-space:nowrap; vertical-align:middle}
  .chip.ok{background:var(--ok-bg); color:var(--ok-tx)} .chip.verify{background:#EEE9E0; color:var(--slate)}
  .chip svg{width:12px;height:12px}
  .badge{display:inline-flex; align-items:center; gap:6px; font:700 .74rem/1.3 -apple-system,sans-serif; padding:6px 12px; border-radius:8px; background:rgba(255,255,255,.14); color:#fff; border:1px solid rgba(255,255,255,.22)}
  .pill-row{display:flex; flex-wrap:wrap; gap:8px}

  /* buttons */
  .btn{display:inline-flex; align-items:center; justify-content:center; gap:8px; font-weight:700; font-size:.98rem; padding:13px 20px; border-radius:9px; border:2px solid transparent; cursor:pointer; text-decoration:none; min-height:48px; transition:.15s}
  .btn svg{width:19px;height:19px}
  .btn-apply{background:var(--orange); color:#fff} .btn-apply:hover{background:var(--orange-dk)}
  .btn-wa{background:var(--green); color:#fff} .btn-wa:hover{background:var(--green-dk)}
  .btn-ghost{background:transparent; color:#fff; border-color:rgba(255,255,255,.5)} .btn-ghost:hover{background:rgba(255,255,255,.12)}
  .btn-out{background:#fff; color:var(--indigo2); border-color:var(--rule)} .btn-out:hover{border-color:var(--indigo2)}
  .btn-block{display:flex; width:100%}
  .cta-row{display:flex; flex-wrap:wrap; gap:10px; margin:6px 0}

  /* top bar + header */
  .topbar{background:var(--indigo); color:#EDECF7; font-size:.78rem}
  .topbar .wrap{display:flex; justify-content:space-between; align-items:center; min-height:34px; gap:10px}
  .topbar a{color:#fff; font-weight:700; text-decoration:none}
  header.site{position:sticky; top:0; z-index:90; background:#fff; border-bottom:1px solid var(--rule)}
  header .wrap{display:flex; align-items:center; justify-content:space-between; min-height:60px; gap:12px}
  header nav{display:none; gap:20px}
  header nav a{color:var(--ink); text-decoration:none; font-weight:600; font-size:.9rem}
  header nav a:hover{color:var(--orange)}
  header .h-cta{display:flex; gap:8px}
  header .h-cta .btn{padding:9px 16px; min-height:40px; font-size:.88rem}
  header .h-cta .btn-out{display:none}
  @media(min-width:960px){header nav{display:flex} header .h-cta .btn-out{display:inline-flex}}

  /* hero */
  .hero{background:linear-gradient(160deg,#2a2765,#1c1a45); color:#fff}
  .hero .wrap{padding:26px 18px 32px}
  .hero-grid{display:grid; gap:22px}
  @media(min-width:1000px){.hero-grid{grid-template-columns:1.4fr .95fr; align-items:start}}
  .hero .eyebrow{color:#F6B44B}
  .hero h1{color:#fff}
  .hero .sub{color:#CFCEE8; max-width:60ch; font-size:1.02rem}
  .hero .kw{color:#F6B44B; font-size:.86rem; margin:-6px 0 12px; min-height:0}
  .hero .facts{display:flex; flex-wrap:wrap; gap:8px; margin:14px 0 18px}
  .hero .fx{background:rgba(255,255,255,.09); border:1px solid rgba(255,255,255,.16); border-radius:9px; padding:8px 12px}
  .hero .fx .l{display:block; font-size:.6rem; letter-spacing:.1em; text-transform:uppercase; color:#B7B6DA; font-weight:700}
  .hero .fx .v{font-weight:700; font-size:.98rem}
  .hero .fx .v.money{color:#F6B44B}
  .hero .trust{font-size:.78rem; color:#B7B6DA; margin-top:14px}
  .hero .trust b{color:#EDECF7}

  /* lead form */
  .lead{background:#fff; color:var(--ink); border-radius:14px; padding:20px; box-shadow:0 14px 40px rgba(10,8,40,.28)}
  .lead h3{font-family:-apple-system,sans-serif; font-weight:800; margin-bottom:3px}
  .lead .sub2{font-size:.82rem; color:var(--slate); margin-bottom:14px}
  .field{margin-bottom:11px}
  .field label{display:block; font-size:.78rem; font-weight:700; margin-bottom:5px}
  .field input,.field select{width:100%; padding:12px; font-size:16px; border:1px solid var(--rule); border-radius:8px; background:#fff; color:var(--ink)}
  .field input:focus,.field select:focus{outline:2px solid var(--amber); outline-offset:1px; border-color:var(--indigo2)}
  .err{color:#B42318; font-size:.76rem; margin-top:4px; display:none}
  .field.bad input,.field.bad select{border-color:#B42318} .field.bad .err{display:block}
  .consent{font-size:.7rem; color:var(--slate); margin:6px 0 10px}
  .lead-ok{display:none; text-align:center; padding:8px 4px}
  .lead-ok .tick{width:50px;height:50px;margin:2px auto 8px;color:var(--green)}

  /* sections */
  section{padding:38px 0; border-bottom:1px solid var(--rule)}
  section.white{background:#fff}
  .lede{color:var(--slate); max-width:70ch}

  .anchornav{position:sticky; top:60px; z-index:80; background:#fff; border-bottom:1px solid var(--rule)}
  .anchornav .wrap{display:flex; gap:8px; overflow-x:auto; padding:10px 18px}
  .anchornav a{flex:0 0 auto; font:700 .82rem/1 -apple-system,sans-serif; color:var(--indigo2); background:var(--indigo-soft); padding:8px 13px; border-radius:999px; text-decoration:none}

  /* cards */
  .grid{display:grid; gap:14px}
  @media(min-width:720px){.g2{grid-template-columns:1fr 1fr} .g3{grid-template-columns:repeat(3,1fr)} .g4{grid-template-columns:repeat(4,1fr)}}
  .card{background:#fff; border:1px solid var(--rule); border-radius:13px; padding:18px}
  .card.soft{background:var(--cream)}
  .card h3{font-family:-apple-system,sans-serif; font-weight:750; font-size:1.02rem}
  .card p{margin:0; font-size:.92rem; color:var(--slate)}
  .card .k{font:700 .68rem/1.3 -apple-system,sans-serif; letter-spacing:.06em; text-transform:uppercase; color:var(--orange); margin-bottom:7px}
  .icard{border:1px solid var(--rule); border-radius:12px; padding:16px; text-align:center; background:#fff}
  .icard .t{font-weight:800; font-size:.96rem; color:var(--indigo); margin-top:4px}
  .icard .d{font-size:.76rem; color:var(--slate)}

  ul.plus{list-style:none; padding:0; margin:0}
  ul.plus li{position:relative; padding:7px 0 7px 26px; font-size:.94rem; color:var(--ink)}
  ul.plus li::before{content:"✦"; position:absolute; left:2px; top:7px; color:var(--orange); font-size:.8rem}
  ul.plus.tight li{padding:5px 0 5px 24px; font-size:.9rem}

  /* tables */
  .tw{overflow-x:auto; border:1px solid var(--rule); border-radius:12px; margin-top:14px; background:#fff}
  table{width:100%; border-collapse:collapse; font-size:.92rem}
  caption{text-align:left; font-size:.78rem; color:var(--slate); padding:10px 12px 0}
  th,td{text-align:left; padding:11px 13px; border-bottom:1px solid var(--rule); vertical-align:top}
  thead th{background:var(--indigo); color:#fff; font:700 .74rem/1.3 -apple-system,sans-serif; letter-spacing:.03em; text-transform:uppercase; border-bottom:none}
  tbody tr:nth-child(even){background:var(--cream)}
  td.money{color:var(--amber-dk); font-weight:750; text-align:right; white-space:nowrap}
  th.right,td.right{text-align:right}
  .rowhead{font-weight:700; color:var(--indigo)}
  .tag{font:700 .62rem/1.3 -apple-system,sans-serif; text-transform:uppercase; letter-spacing:.04em; padding:2px 7px; border-radius:5px}
  .tag.once{background:var(--amber-soft); color:var(--amber-dk)} .tag.recur{background:var(--ok-bg); color:var(--ok-tx)}

  /* highlight boxes */
  .callout{border:1px solid var(--rule); border-left:4px solid var(--amber); background:#FDF8EC; border-radius:10px; padding:14px 16px; margin:16px 0; font-size:.92rem}
  .callout.indigo{border-left-color:var(--indigo2); background:var(--indigo-soft)}
  .callout.green{border-left-color:var(--green); background:#E9F6EF}
  .note{font-size:.8rem; color:var(--slate)}

  /* chips list (skills/documents) */
  .chips{display:flex; flex-wrap:wrap; gap:8px; margin-top:10px}
  .chips span{font:600 .82rem/1 -apple-system,sans-serif; background:var(--amber-soft); color:var(--amber-dk); padding:8px 12px; border-radius:7px}
  .chips.indigo span{background:var(--indigo-soft); color:var(--indigo2)}

  /* CTA band */
  .band{background:linear-gradient(120deg,#efe9dd,#f7efe0); border:1px solid var(--rule); border-radius:14px; padding:22px; text-align:center; margin:6px 0}
  .band h3{font-family:Georgia,serif; font-size:1.35rem; color:var(--indigo); margin-bottom:4px}
  .band p{color:var(--slate); font-size:.92rem; margin-bottom:14px}
  .band .cta-row{justify-content:center}

  /* steps */
  .steps{counter-reset:s; display:grid; gap:12px}
  @media(min-width:720px){.steps{grid-template-columns:1fr 1fr}}
  .step{position:relative; border:1px solid var(--rule); border-radius:12px; padding:15px 15px 15px 54px; background:#fff}
  .step::before{counter-increment:s; content:counter(s); position:absolute; left:14px; top:14px; width:28px;height:28px; border-radius:50%; background:var(--indigo); color:#fff; font:800 .9rem/28px -apple-system,sans-serif; text-align:center}
  .step h3{font-family:-apple-system,sans-serif; font-size:.98rem; margin-bottom:2px} .step p{margin:0; font-size:.88rem; color:var(--slate)}

  /* accordion */
  details{border:1px solid var(--rule); border-radius:11px; margin-bottom:10px; background:#fff; overflow:hidden}
  summary{cursor:pointer; padding:15px 16px; font-weight:700; font-size:.96rem; list-style:none; display:flex; justify-content:space-between; align-items:center; gap:12px}
  summary::-webkit-details-marker{display:none}
  summary .pl{flex:0 0 auto; width:20px;height:20px; color:var(--orange); transition:transform .2s}
  details[open] summary .pl{transform:rotate(45deg)}
  details .body{padding:0 16px 16px; font-size:.92rem; color:var(--slate)}

  /* news */
  .news{display:grid; gap:12px; margin-top:14px}
  @media(min-width:700px){.news{grid-template-columns:1fr 1fr}}
  @media(min-width:1000px){.news{grid-template-columns:repeat(3,1fr)}}
  .ncard{display:flex; flex-direction:column; border:1px solid var(--rule); border-radius:12px; padding:16px; background:#fff; text-decoration:none; color:var(--ink); transition:.15s}
  .ncard:hover{border-color:var(--indigo2); box-shadow:0 6px 18px rgba(20,15,60,.08)}
  .ncard .wm{font-family:Georgia,serif; font-weight:700; font-size:1.02rem; color:var(--indigo); margin-bottom:8px}
  .ncard .hd{font-size:.88rem; line-height:1.45; margin:0 0 10px; color:var(--ink)}
  .ncard .go{margin-top:auto; font-size:.76rem; font-weight:700; color:var(--orange)}

  /* footer */
  footer{background:var(--indigo); color:#C9C8E0; padding:32px 0; font-size:.86rem}
  footer a{color:#F6B44B}
  footer .flogo .m{color:#fff} footer .flogo .m i{color:#F6B44B}
  footer .flogo .u b{color:#fff} footer .flogo .u span{color:#F6B44B}
  footer .disc{border-top:1px solid #3a3770; margin-top:18px; padding-top:16px; color:#9a99c4; font-size:.76rem}

  /* sticky mobile */
  .sticky{position:fixed; left:0; right:0; bottom:0; z-index:100; display:flex; gap:8px; background:#fff; border-top:1px solid var(--rule); box-shadow:0 -4px 16px rgba(20,15,60,.12); padding:8px calc(8px + env(safe-area-inset-right)) calc(8px + env(safe-area-inset-bottom)) calc(8px + env(safe-area-inset-left))}
  .sticky a{flex:1; display:flex; flex-direction:column; align-items:center; gap:2px; text-decoration:none; font:700 .72rem/1 -apple-system,sans-serif; padding:8px 4px; border-radius:9px; min-height:48px; justify-content:center}
  .sticky svg{width:19px;height:19px}
  .sticky .a{background:var(--orange); color:#fff} .sticky .w{background:var(--green); color:#fff} .sticky .c{background:var(--indigo-soft); color:var(--indigo2)}
  @media(min-width:960px){.sticky{display:none}}
  .wa-float{display:none}
  @media(min-width:960px){.wa-float{display:inline-flex; position:fixed; right:20px; bottom:20px; z-index:100; align-items:center; gap:8px; background:var(--green); color:#fff; padding:12px 18px; border-radius:999px; text-decoration:none; font-weight:700; box-shadow:0 6px 20px rgba(0,0,0,.2)} .wa-float svg{width:22px;height:22px}}

  /* ---- desktop polish (mobile untouched) ---- */
  .hero-extra{display:none}
  @media(min-width:1000px){
    .hero-extra{display:block; margin-top:24px; border-top:1px solid rgba(255,255,255,.14); padding-top:18px; max-width:540px; list-style:none; padding-left:0}
    .hero-extra li{position:relative; padding:7px 0 7px 28px; color:#D7D6EC; font-size:.94rem}
    .hero-extra li::before{content:"✓"; position:absolute; left:2px; top:7px; color:#54D98C; font-weight:800}
  }
  @media(min-width:960px){
    section{padding:56px 0}
    .anchornav .wrap{justify-content:center; flex-wrap:wrap; overflow:visible}
    .card,.ncard,.icard{transition:transform .15s ease, box-shadow .15s ease}
    .card:hover,.ncard:hover,.icard:hover{transform:translateY(-2px); box-shadow:0 12px 28px rgba(20,15,60,.08)}
    main{padding-right:0}
    .hero .wrap{padding-top:34px; padding-bottom:44px}
    h2{margin-bottom:.5em}
    .lede{font-size:1.05rem}
  }
  @media(min-width:1280px){ :root{--maxw:1160px} }

  /* ================= INFOGRAPHICS ================= */
  .ig{background:#fff; border:1px solid var(--rule); border-radius:14px; padding:18px 16px; margin-top:16px}
  section.white .ig{background:var(--cream)}
  .ig-hd{display:flex; flex-wrap:wrap; align-items:center; gap:9px; margin-bottom:3px}
  .ig-hd svg{width:19px; height:19px; flex:0 0 auto; color:var(--orange)}
  .ig-t{font:800 1rem/1.3 -apple-system,sans-serif; color:var(--indigo); margin-right:auto}
  .ig-sub{font-size:.84rem; color:var(--slate); margin:0 0 14px; max-width:70ch}
  .src{display:block; font-size:.72rem; line-height:1.55; color:var(--slate); border-top:1px dashed var(--rule); margin-top:14px; padding-top:9px}
  .src b{color:var(--ink)}

  /* data-provenance labels */
  .dl{display:inline-block; font:700 .58rem/1.4 -apple-system,sans-serif; letter-spacing:.06em; text-transform:uppercase; padding:3px 8px; border-radius:999px; white-space:nowrap}
  .dl.v{background:var(--ok-bg); color:var(--ok-tx)}
  .dl.o{background:var(--indigo-soft); color:var(--indigo2)}
  .dl.q{background:#EEE9E0; color:var(--slate)}
  .dl.c{background:var(--amber-soft); color:var(--amber-dk)}

  /* horizontal bar chart */
  .bars{display:grid; gap:12px; margin-top:8px}
  .bar-l{display:flex; justify-content:space-between; align-items:baseline; gap:10px; font-size:.85rem; font-weight:650; margin-bottom:4px}
  .bar-l .v{font-weight:800; color:var(--indigo); font-variant-numeric:tabular-nums; white-space:nowrap}
  .bar-t{background:var(--indigo-soft); border-radius:999px; height:15px; overflow:hidden}
  section.white .bar-t{background:#EFEAE1}
  .bar-f{display:block; height:100%; border-radius:999px; min-width:5px; background:linear-gradient(90deg,#4A46A8,var(--indigo))}
  .bar-f.or{background:linear-gradient(90deg,#F08A4B,var(--orange))}
  .bar-f.gr{background:linear-gradient(90deg,#45C583,var(--green-dk))}
  .bar-f.am{background:linear-gradient(90deg,#F0C862,var(--amber-dk))}
  .bar-f.sl{background:#B9B2A6}
  .bar-n{font-size:.76rem; color:var(--slate); margin-top:3px}
  @media(prefers-reduced-motion:no-preference){
    .bar-f{animation:grow .8s cubic-bezier(.22,1,.36,1) both}
    @keyframes grow{from{transform:scaleX(.02); transform-origin:left} to{transform:scaleX(1); transform-origin:left}}
  }

  /* donut */
  .donut-row{display:grid; gap:14px; align-items:center}
  @media(min-width:560px){.donut-row{grid-template-columns:158px 1fr}}
  .donut{width:158px; height:158px; margin:0 auto; display:block}
  .donut circle{fill:none; stroke-width:21; transform:rotate(-90deg); transform-origin:50% 50%}
  .donut .trk{stroke:var(--indigo-soft)}
  .dc{font:800 1.02rem/1 Georgia,serif; fill:var(--indigo); text-anchor:middle}
  .dcs{font:700 .5rem/1 -apple-system,sans-serif; fill:var(--slate); text-anchor:middle; letter-spacing:.09em; text-transform:uppercase}
  .lg{display:grid; gap:9px; margin:0; padding:0; list-style:none}
  .lg li{display:flex; align-items:flex-start; gap:9px; font-size:.86rem}
  .lg .sw{flex:0 0 auto; width:12px; height:12px; border-radius:3px; margin-top:5px}
  .lg .lv{margin-left:auto; font-weight:800; color:var(--indigo); font-variant-numeric:tabular-nums; white-space:nowrap; padding-left:8px}

  /* stat tiles */
  .stats{display:grid; gap:10px; grid-template-columns:repeat(2,1fr); margin-top:14px}
  @media(min-width:760px){.stats{grid-template-columns:repeat(4,1fr)} .stats.s3{grid-template-columns:repeat(3,1fr)}}
  .stat{border:1px solid var(--rule); border-radius:12px; padding:15px 12px; background:#fff; text-align:center}
  section.white .stat{background:var(--cream)}
  .stat svg{width:20px; height:20px; color:var(--orange); margin-bottom:5px}
  .stat .n{font:800 1.45rem/1.1 Georgia,serif; color:var(--indigo); font-variant-numeric:tabular-nums; letter-spacing:-.01em}
  .stat .n.or{color:var(--orange-dk)} .stat .n.gr{color:var(--green-dk)} .stat .n.am{color:var(--amber-dk)}
  .stat .l{font-size:.76rem; color:var(--slate); margin-top:5px; line-height:1.45}

  /* icon comparison matrix */
  .mx{overflow-x:auto; border:1px solid var(--rule); border-radius:12px; background:#fff; margin-top:12px}
  .mx table{min-width:600px}
  .mx td{font-size:.86rem}
  .dot{display:inline-flex; align-items:center; justify-content:center; width:23px; height:23px; border-radius:50%; font:800 .8rem/1 -apple-system,sans-serif; margin-right:7px; vertical-align:-6px}
  .dot svg{width:13px; height:13px}
  .dot.y{background:var(--ok-bg); color:var(--ok-tx)}
  .dot.p{background:var(--amber-soft); color:var(--amber-dk)}
  .dot.n{background:#EDE8DF; color:var(--slate)}
  .key{display:flex; flex-wrap:wrap; gap:14px; margin-top:11px; font-size:.78rem; color:var(--slate)}
  .key span{display:inline-flex; align-items:center}

  /* 5-block meter */
  .meter{display:inline-flex; gap:3px; vertical-align:-1px}
  .meter i{width:14px; height:9px; border-radius:2px; background:#E4DED3; display:block}
  .meter i.on{background:var(--indigo2)}
  .meter.or i.on{background:var(--orange)}
  .meter.gr i.on{background:var(--green)}
  .meter.am i.on{background:var(--amber-dk)}
  .mrow{display:grid; gap:12px; margin-top:10px}
  @media(min-width:720px){.mrow{grid-template-columns:1fr 1fr}}
  .mcard{border:1px solid var(--rule); border-radius:12px; padding:14px; background:#fff}
  section.white .mcard{background:var(--cream)}
  .mcard .mt{font:800 .9rem/1.3 -apple-system,sans-serif; color:var(--indigo); margin-bottom:9px}
  .mline{display:flex; justify-content:space-between; align-items:center; gap:10px; padding:6px 0; font-size:.84rem; border-top:1px solid var(--rule)}
  .mline:first-of-type{border-top:none}

  /* timeline */
  .tl{position:relative; margin:14px 0 0; padding:2px 0 0 28px; list-style:none}
  .tl::before{content:""; position:absolute; left:8px; top:10px; bottom:10px; width:2px; background:linear-gradient(180deg,var(--orange),var(--indigo2))}
  .tl li{position:relative; padding:0 0 18px}
  .tl li:last-child{padding-bottom:0}
  .tl li::before{content:""; position:absolute; left:-26px; top:5px; width:12px; height:12px; border-radius:50%; background:#fff; border:3px solid var(--indigo2); box-sizing:content-box}
  .tl li.hi::before{border-color:var(--orange)}
  .tl .yr{font:800 .66rem/1.4 -apple-system,sans-serif; letter-spacing:.08em; text-transform:uppercase; color:var(--orange)}
  .tl .ti{font-weight:750; font-size:.95rem; color:var(--ink)}
  .tl .td{font-size:.85rem; color:var(--slate)}

  /* skill demand rows */
  .skillrow{display:grid; gap:10px; margin-top:10px}
  .skl{display:grid; grid-template-columns:1fr; gap:5px; border:1px solid var(--rule); border-radius:11px; padding:12px 13px; background:#fff}
  section.white .skl{background:var(--cream)}
  .skl .sn{font-weight:750; font-size:.9rem; color:var(--indigo)}
  .skl .sd{font-size:.82rem; color:var(--slate)}
  @media(min-width:720px){.skillrow{grid-template-columns:1fr 1fr}}

/* Performance overrides: stable, animation-free course rendering. */
.reveal,.reveal.in,.bars .bar-f,.bars.play .bar-f,.meter i.on,.meter.play i.on,.skillrow .skl,.skillrow.play .skl{opacity:1;transform:none;transition:none;animation:none}
.bars .bar-f,.bars.play .bar-f{width:var(--w)!important}
html[data-course] main>section:not(.hero){content-visibility:auto;contain-intrinsic-size:auto 720px}
html[data-course] img{background-color:var(--paper,#fff)}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
