:root{
  --paper:#FBFAF7; --paper-raised:#FFFFFF; --ink:#0F1F38; --ink-soft:#5C6672;
  --line:#E7E4DC; --line-soft:#F0EEE7; --teal:#1F6E52; --teal-deep:#154A37;
  --accent:#1F6E52; --accent-deep:#154A37; --stamp:#0F1F38;
  --shadow-sm:0 1px 2px rgba(15,31,56,.05), 0 2px 6px -2px rgba(15,31,56,.07);
  --shadow-md:0 4px 14px -4px rgba(15,31,56,.09), 0 14px 34px -14px rgba(15,31,56,.13);
  --shadow-lg:0 10px 26px -8px rgba(15,31,56,.13), 0 26px 56px -20px rgba(15,31,56,.18);
  --radius:22px; --radius-sm:14px;
}
*{box-sizing:border-box;}
body{ margin:0; color:var(--ink); font-family:'IBM Plex Sans',sans-serif; line-height:1.6; background:var(--paper); }
.wrap{ max-width:760px; margin:0 auto; padding:0 24px; }
h1,h2,h3{ font-family:'Fraunces',Georgia,serif; font-weight:600; line-height:1.2; margin:0 0 12px; }
h1{ font-size:2rem; letter-spacing:-.01em;} h2{ font-size:1.3rem; margin-top:38px; }
p{ margin:0 0 14px; color:var(--ink-soft); }
a{ color:var(--teal); }
header{ background:rgba(247,244,238,.9); border-bottom:1px solid var(--line); padding:16px 0; position:sticky; top:0; }
.headerbar{ display:flex; align-items:center; justify-content:space-between; gap:16px; flex-wrap:wrap; }
.logo{ display:flex; align-items:center; gap:6px; text-decoration:none; font-family:'Fraunces',serif; font-weight:600; font-size:1.1rem; color:var(--ink); }
nav.crumbs a{ font-size:.85rem; color:var(--ink-soft); text-decoration:none; margin-left:14px; }
nav.crumbs a:hover{ color:var(--teal); }
.pg-hero{
  position:relative; min-height:420px; display:flex; align-items:flex-end; overflow:hidden;
  background:
    radial-gradient(ellipse 700px 500px at 15% 15%, rgba(31,110,82,.55) 0%, transparent 60%),
    radial-gradient(ellipse 650px 550px at 90% 85%, rgba(21,74,55,.6) 0%, transparent 55%),
    linear-gradient(155deg, #0F1F38 0%, #16304F 45%, #0F1F38 100%);
  margin-bottom:0;
}
.pg-hero::before{
  content:""; position:absolute; inset:0; opacity:.5; mix-blend-mode:overlay; pointer-events:none;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='140' height='140'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix type='saturate' values='0'/%3E%3C/filter%3E%3Crect width='140' height='140' filter='url(%23n)' opacity='0.5'/%3E%3C/svg%3E");
}
.pg-hero::after{
  content:""; position:absolute; top:-20%; right:-10%; width:480px; height:480px;
  border:36px solid rgba(255,255,255,.05); border-radius:50%; pointer-events:none;
}
.pg-hero-inner{ position:relative; z-index:1; width:100%; padding:60px 0 44px;}
.pg-hero-crumb{ font-size:.8rem; color:rgba(255,255,255,.75); margin-bottom:18px;}
.pg-hero-crumb a{ color:rgba(255,255,255,.75); text-decoration:none;}
.pg-hero-crumb a:hover{ color:#fff;}
.pg-hero-crumb span{ margin:0 6px; color:rgba(255,255,255,.4);}
.pg-hero .eyebrow{ color:#fff !important; opacity:.9;}
.pg-hero h1{ margin-bottom:14px;}
.pg-hero .tp-row{ color:#fff;}
@media (max-width:600px){ .pg-hero{min-height:340px;} .pg-hero-inner{padding:40px 0 32px;} }
.cta.secondary.light{ border:1.5px solid rgba(255,255,255,.7); color:#fff !important; background:rgba(255,255,255,.08);}
.eyebrow{ font-family:'IBM Plex Mono',monospace; font-size:.72rem; letter-spacing:.1em; text-transform:uppercase; color:var(--teal); margin-bottom:12px; }
.tp-row{ display:flex; align-items:center; gap:8px; margin:16px 0 26px; font-size:.95rem; }
.star{ width:19px; height:19px; color:#1DA35C; }
.star.empty{ color:var(--line); }
.star path{ fill:currentColor; }
.star.empty path{ fill:none; stroke:var(--line); stroke-width:1; }
.tp-num{ font-family:'IBM Plex Mono',monospace; font-weight:700; }
.card{ background:var(--paper-raised); border:1px solid var(--line); border-radius:var(--radius); box-shadow:var(--shadow-sm); padding:24px 26px; margin-bottom:22px; }
.price-list{ display:flex; flex-direction:column; gap:10px; }
.price-row{ display:flex; justify-content:space-between; align-items:center; padding-bottom:10px; border-bottom:1px solid var(--line-soft); gap:12px; }
.price-row:last-child{ border-bottom:none; padding-bottom:0; }
.price-row .cat{ font-weight:600; font-size:.88rem; }
.price-row .price{ font-family:'IBM Plex Mono',monospace; font-weight:700; color:var(--teal); text-align:right; }
ul.plain{ list-style:none; padding:0; margin:0; }
ul.plain li{ padding:9px 0 9px 22px; position:relative; border-bottom:1px solid var(--line-soft); font-size:.92rem; }
ul.plain li:last-child{ border-bottom:none; }
ul.plain li::before{ content:"→"; position:absolute; left:0; color:var(--teal); font-weight:600; }
details{ background:var(--paper-raised); border:1px solid var(--line); border-radius:var(--radius-sm); margin-bottom:10px; box-shadow:var(--shadow-sm); }
summary{ padding:16px 18px; cursor:pointer; font-weight:600; font-size:.94rem; list-style:none; }
summary::-webkit-details-marker{ display:none; }
summary::before{ content:"+ "; color:var(--teal); font-weight:700; }
details[open] summary::before{ content:"− "; }
details p{ margin:0; padding:0 18px 16px 34px; font-size:.9rem; }
.cta{
  display:inline-block; background:var(--accent); color:#fff !important;
  text-decoration:none; padding:15px 28px; border-radius:999px; font-weight:600; font-size:.92rem; margin:6px 8px 6px 0;
  box-shadow:var(--shadow-sm); transition:transform .2s ease, box-shadow .2s ease, background .2s ease;
}
.cta:hover{ transform:translateY(-2px); box-shadow:var(--shadow-md); background:var(--accent-deep);}
.cta.secondary{ background:none; border:1.5px solid var(--line); color:var(--ink) !important; box-shadow:none;}
.cta.secondary:hover{ transform:translateY(-2px); box-shadow:var(--shadow-sm);}
.regulation-box{ background:#EEF5F1; border-left:4px solid var(--teal); border-radius:8px; padding:16px 18px; font-size:.87rem; margin:16px 0; }
footer{ border-top:1px solid var(--line); margin-top:56px; padding:30px 0 44px; font-size:.8rem; color:var(--ink-soft); }
footer a{ color:var(--ink-soft); }
.disclaimer{ font-size:.78rem; color:var(--ink-soft); background:var(--paper-raised); border:1px solid var(--line); border-radius:var(--radius-sm); padding:16px 18px; margin-top:32px; }

/* Verification stamp — same signature element as the main site */
.verify-stamp{
  display:inline-flex; align-items:center; gap:7px; border:2.5px solid var(--stamp); border-radius:8px;
  padding:8px 14px 7px; transform:rotate(-2.5deg); font-family:'IBM Plex Mono',monospace; font-weight:700;
  font-size:.7rem; letter-spacing:.09em; text-transform:uppercase; color:var(--stamp); position:relative; white-space:nowrap;
}
.verify-stamp::before{ content:""; position:absolute; inset:-3px; border:1px solid var(--stamp); border-radius:9px; opacity:.3; transform:rotate(2deg); pointer-events:none;}
.verify-stamp svg{ width:13px; height:13px; flex-shrink:0;}
.verify-stamp-row{ display:flex; flex-wrap:wrap; gap:10px; margin:16px 0;}

/* Breadcrumb navigation */
.breadcrumb{ font-size:.82rem; color:var(--ink-soft); margin:20px 0 4px; }
.breadcrumb a{ color:var(--ink-soft); text-decoration:none; }
.breadcrumb a:hover{ color:var(--teal); text-decoration:underline; }
.breadcrumb span{ margin:0 6px; color:var(--line); }
.breadcrumb [aria-current]{ color:var(--ink); font-weight:600; }

/* Hero CTA pairing */
.hero-actions{ display:flex; flex-wrap:wrap; gap:12px; margin-top:22px; }

/* Quick Facts — scannable checklist, matching the Course2Career "Quick Overview" pattern */
.quick-facts{ background:var(--paper-raised); border:1px solid var(--line); border-radius:var(--radius); padding:26px 28px; margin:28px 0 36px; box-shadow:var(--shadow-sm); }
.qf-heading{ margin:0 0 16px; font-size:1.05rem; }
.qf-list{ list-style:none; margin:0; padding:0; display:grid; gap:12px; }
.qf-list li{ position:relative; padding-left:30px; font-size:.94rem; color:var(--ink); font-weight:500; }
.qf-list li::before{
  content:"✓"; position:absolute; left:0; top:-1px; width:20px; height:20px; border-radius:50%;
  background:var(--accent); color:#fff; font-size:.7rem; font-weight:700; display:flex; align-items:center; justify-content:center;
}

/* Final CTA block — bold closing section with prominent price, matching the C2C "Program Price" pattern */
.final-cta-block{
  display:flex; flex-wrap:wrap; gap:28px; align-items:center; justify-content:space-between;
  background:linear-gradient(135deg, var(--ink), #1B3550); border-radius:var(--radius); padding:38px 40px; margin:44px 0 28px;
}
.fcb-text h2{ color:#fff; margin:0 0 8px; font-size:1.5rem; }
.fcb-text p{ color:#C9D2CC; margin:0; max-width:38ch; }
.fcb-price{ text-align:center; flex-shrink:0; }
.fcb-price-label{ display:block; font-size:.75rem; text-transform:uppercase; letter-spacing:.08em; color:#9FB0A5; }
.fcb-price-value{ display:block; font-family:'IBM Plex Mono',monospace; font-weight:700; font-size:1.6rem; color:#fff; margin:2px 0 14px; }
@media (max-width:600px){ .final-cta-block{ padding:28px 24px; } .fcb-price{ width:100%; } }

/* Treatment-page-specific additions */
.pros-cons{ display:grid; grid-template-columns:1fr 1fr; gap:16px; margin:16px 0;}
@media (max-width:600px){ .pros-cons{grid-template-columns:1fr;} }
.pc-block{ padding:16px 18px; border-radius:var(--radius-sm); border:1px solid var(--line);}
.pc-block.pros{ background:#EEF5F1; border-color:#CFE3DF;}
.pc-block.cons{ background:#FBF3EE; border-color:#EAD4C4;}
.pc-block h4{ margin:0 0 10px; font-size:.85rem; text-transform:uppercase; letter-spacing:.03em;}
.pc-block ul{ margin:0; padding-left:18px;}
.pc-block li{ margin-bottom:8px; font-size:.9rem; color:var(--ink-soft);}
.best-for-box{ background:var(--paper-raised); border:1px solid var(--line); border-radius:var(--radius-sm); padding:16px 18px; margin:16px 0;}
.best-for-box h4{ margin:0 0 8px; font-size:.85rem; text-transform:uppercase; letter-spacing:.03em; color:var(--teal);}
.sources-list{ font-size:.82rem; color:var(--ink-soft); padding-left:18px;}
.sources-list li{ margin-bottom:6px;}
.reviewed-date{ font-size:.78rem; color:var(--ink-soft); margin:0 0 20px; padding-bottom:16px; border-bottom:1px solid var(--line-soft);}
.investigational-badge{ display:inline-block; background:#FBEFE8; color:#B5651D; font-size:.72rem; font-weight:700; text-transform:uppercase; letter-spacing:.03em; padding:5px 12px; border-radius:999px; margin-bottom:10px;}
