/* ============================================
   GLOBAL TOKENS + RESET
   ============================================ */
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}

:root{
  --ground:#FAFAF7;
  --ground-soft:#F4F1E9;
  --ground-deep:#EDE9DD;
  --ink:#0F1F3A;
  --ink-deep:#0A1428;
  --ink-soft:#2A3654;
  --text:#1A1A1A;
  --text-soft:#3D434F;
  --muted:#6B7280;
  --line:#E8E2D4;
  --line-strong:#D4CCB8;
  --accent:#B8924D;
  --accent-deep:#9A7A3F;
  --accent-soft:#D4B270;
  --accent-pale:#F0E2C5;
  --success:#3F7D5C;
  --paper-white:#FFFFFF;
}

body{
  background:var(--ground);
  color:var(--text);
  font-family:'Inter', sans-serif;
  font-feature-settings:"ss01","cv11","cv02";
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
  line-height:1.5;
}

.container{max-width:1280px;margin:0 auto;padding:0 32px}

a{color:inherit}

.eyebrow{
  font-family:'JetBrains Mono', monospace;
  font-size:11px;letter-spacing:.18em;text-transform:uppercase;
  color:var(--ink-soft);font-weight:600;
  display:inline-flex;align-items:center;gap:10px;
}
.eyebrow::before{content:"";width:24px;height:1px;background:var(--accent)}

/* ============================================
   CROSS-BRAND TAB BAR — sits above main header
   ============================================ */
.brand-tabs{
  background:#EFE8D6;
  border-bottom:1px solid var(--line-strong);
}
.brand-tabs-inner{
  max-width:1280px;
  margin:0 auto;
  padding:0 32px;
  display:flex;
  align-items:stretch;
  gap:18px;
}
.brand-tabs-label{
  display:flex;
  align-items:center;
  gap:5px;
  flex-shrink:0;
  white-space:nowrap;
}
.brand-tabs-label .btl-frame{
  font-family:'Source Serif 4', serif;
  font-size:14px;
  font-weight:400;
  font-style:italic;
  color:var(--muted);
  letter-spacing:-.005em;
}
.brand-tabs-label .btl-mark{
  font-family:'Source Serif 4', serif;
  font-size:15px;
  font-weight:600;
  line-height:1.1;
  letter-spacing:-.005em;
  color:var(--ink);
  display:inline-block;
}
.brand-tabs-label .btl-mark em{
  font-style:italic;
  font-weight:500;
  color:var(--ink);
  margin-left:-0.05em;
}
.brand-tab-list{display:flex;gap:6px;align-items:flex-end;padding-top:6px}
.brand-tab{
  padding:8px 20px;
  text-decoration:none;
  display:inline-flex;align-items:center;gap:9px;
  background:transparent;
  border-radius:4px 4px 0 0;
  transition:background .15s, box-shadow .15s, transform .15s;
  position:relative;
}
.brand-tab .bt-mark{
  font-family:'Source Serif 4', serif;
  font-size:15px;
  font-weight:600;
  line-height:1.1;
  letter-spacing:-.005em;
  white-space:nowrap;
  display:inline-block;
}
.brand-tab .bt-mark em{
  font-style:italic;
  font-weight:500;
  margin-left:-0.05em;
}
.brand-tab .dot{
  width:6px;height:6px;border-radius:50%;
  flex-shrink:0;
}

/* Brand colours on both tabs — inactive uses softened brand tone */
.brand-tab.business .bt-mark,
.brand-tab.business .bt-mark em{color:#9A7A3F}        /* softened brass */
.brand-tab.business .dot{background:#C9B07A}

.brand-tab.websites .bt-mark,
.brand-tab.websites .bt-mark em{color:#3F7D5C}        /* softened teal */
.brand-tab.websites .dot{background:#7FB397}

.brand-tab.accounts .bt-mark,
.brand-tab.accounts .bt-mark em{color:#A85C3D}        /* softened terracotta */
.brand-tab.accounts .dot{background:#C98F75}

.brand-tab:hover{background:rgba(255,255,255,.4)}

/* Active tab — paper white, soft drop shadow lifting it forward, deeper brand colour */
.brand-tab.active{
  background:var(--paper-white);
  box-shadow:0 -2px 8px rgba(15,31,58,.08);
}
.brand-tab.business.active .bt-mark,
.brand-tab.business.active .bt-mark em{color:#7A5F2F}  /* deeper brass for emphasis */
.brand-tab.websites.active .bt-mark,
.brand-tab.websites.active .bt-mark em{color:#2A5640} /* deeper teal for emphasis */
.brand-tab.accounts.active .bt-mark,
.brand-tab.accounts.active .bt-mark em{color:#824428} /* deeper terracotta for emphasis */
.brand-tab.business.active .dot{background:#9A7A3F}
.brand-tab.websites.active .dot{background:#3F7D5C}
.brand-tab.accounts.active .dot{background:#824428}

@media (max-width:680px){
  .brand-tabs-inner{padding:0 20px}
  .brand-tabs-label{display:none}
  .brand-tab{padding:7px 14px}
  .brand-tab .bt-mark{font-size:14px}
  .brand-tab-list{gap:3px}
}

/* ============================================
   HEADER (shared across all sections)
   ============================================ */
.header{
  background:rgba(250,250,247,.95);
  backdrop-filter:blur(8px);
  border-bottom:1px solid var(--line);
  position:sticky;top:0;z-index:50;
}
.header-inner{
  max-width:1280px;margin:0 auto;padding:18px 32px;
  display:flex;justify-content:space-between;align-items:center;gap:48px;
}
.brand{
  text-decoration:none;
  font-family:'Source Serif 4', serif;
  font-weight:600;font-size:23px;color:var(--ink);
  letter-spacing:-.015em;line-height:1;
  display:inline-flex;align-items:baseline;gap:1px;
}
.brand em{font-style:italic;font-weight:500;color:var(--accent)}

.nav{display:flex;align-items:center;gap:28px}
.nav > a, .nav > .nav-item > .nav-trigger{
  font-family:'Inter', sans-serif;
  font-size:14px;font-weight:500;color:var(--text-soft);
  text-decoration:none;transition:color .15s;
  background:none;border:none;cursor:pointer;padding:0;
  display:inline-flex;align-items:center;gap:5px;
}
.nav > a:hover, .nav > .nav-item > .nav-trigger:hover{color:var(--ink)}
.nav > a.active{color:var(--ink);position:relative}
.nav > a.active::after{
  content:"";position:absolute;bottom:-22px;left:0;right:0;
  height:2px;background:var(--accent);
}
.nav-item{position:relative}
.nav-trigger .chev{width:10px;height:10px;transition:transform .2s;margin-top:1px}
.nav-item:hover .nav-trigger .chev,
.nav-item:focus-within .nav-trigger .chev{transform:rotate(180deg)}
.nav-item:hover .nav-trigger,
.nav-item:focus-within .nav-trigger{color:var(--ink)}
.nav-dropdown{
  position:absolute;top:calc(100% + 14px);left:50%;
  transform:translateX(-50%);min-width:280px;
  background:var(--paper-white);border:1px solid var(--line-strong);
  border-radius:4px;padding:10px;
  box-shadow:0 12px 32px rgba(15,31,58,.10), 0 2px 6px rgba(15,31,58,.04);
  opacity:0;visibility:hidden;pointer-events:none;
  transition:opacity .15s, visibility .15s, transform .15s;z-index:60;
}
.nav-item:hover .nav-dropdown,
.nav-item:focus-within .nav-dropdown{
  opacity:1;visibility:visible;pointer-events:auto;
  transform:translateX(-50%) translateY(-2px);
}
.nav-dropdown::before{
  content:"";position:absolute;top:-7px;left:50%;
  transform:translateX(-50%) rotate(45deg);
  width:12px;height:12px;background:var(--paper-white);
  border-left:1px solid var(--line-strong);border-top:1px solid var(--line-strong);
}
.nav-dropdown a{
  display:block;padding:9px 14px;text-decoration:none;
  color:var(--text);font-size:14px;font-weight:500;
  border-radius:3px;transition:all .15s;line-height:1.3;
}
.nav-dropdown a:hover{background:var(--ground-soft);color:var(--accent-deep)}
.nav-dropdown a small{
  display:block;font-size:11.5px;font-weight:400;
  color:var(--muted);margin-top:2px;line-height:1.4;
}
.nav-dropdown .dd-foot{
  padding:8px 14px 4px;margin-top:4px;
  border-top:1px solid var(--line);
  font-family:'JetBrains Mono', monospace;
  font-size:10px;letter-spacing:.12em;
  text-transform:uppercase;color:var(--muted);
}
.nav-dropdown .dd-foot a{
  padding:0;font-family:'JetBrains Mono', monospace;
  font-size:10px;color:var(--accent-deep);letter-spacing:.12em;
  background:none !important;
}
.nav .btn-nav{
  background:var(--ink);color:var(--ground);
  padding:10px 18px;border-radius:3px;font-weight:600;
  transition:all .2s;font-size:13px;
}
.nav .btn-nav:hover{background:var(--accent);color:var(--ink)}

/* ============================================
   ROUTE SWITCHING — sections show/hide based on hash
   ============================================ */
/* SPA routing removed for multi-file build */
.page-section{display:block}
/* .page-section.is-active removed */

/* ============================================
   SHARED ELEMENTS
   ============================================ */
.section-eyebrow{
  font-family:'JetBrains Mono', monospace;
  font-size:11px;letter-spacing:.18em;text-transform:uppercase;
  color:var(--ink-soft);font-weight:600;
  display:inline-flex;align-items:center;gap:10px;
  margin-bottom:14px;
}
.section-eyebrow::before{content:"";width:24px;height:1px;background:var(--accent)}

.btn-primary{
  background:var(--ink);color:var(--ground);
  padding:13px 22px;border-radius:3px;
  text-decoration:none;font-size:14px;font-weight:600;
  transition:all .2s;display:inline-flex;align-items:center;gap:8px;
  border:none;cursor:pointer;font-family:'Inter', sans-serif;
}
.btn-primary:hover{background:var(--accent-deep)}
.btn-secondary{
  background:transparent;color:var(--ink);
  padding:13px 22px;border-radius:3px;
  text-decoration:none;font-size:14px;font-weight:600;
  transition:all .2s;display:inline-flex;align-items:center;gap:8px;
  border:1.5px solid var(--ink);
}
.btn-secondary:hover{background:var(--ink);color:var(--ground)}

/* ============================================
   HOME PAGE
   ============================================ */
.home-hero{
  padding:64px 0 48px;
  background:
    radial-gradient(ellipse 60% 80% at 80% 0%, rgba(184,146,77,.06) 0%, transparent 70%),
    var(--ground);
  border-bottom:1px solid var(--line);
}
.home-hero-frame{max-width:1280px;margin:0 auto;padding:0 32px}
.home-question{text-align:center;max-width:880px;margin:0 auto 48px}
.home-question .eyebrow{margin-bottom:24px;justify-content:center}
.home-question .eyebrow::after{
  content:"";width:24px;height:1px;background:var(--accent);margin-left:10px;
}
.home-question .eyebrow::before{margin-right:0}
.home-question h1{
  font-family:'Source Serif 4', serif;
  font-weight:500;
  font-size:clamp(38px, 5vw, 68px);
  line-height:1.05;letter-spacing:-.025em;
  color:var(--ink);margin-bottom:18px;
}
.home-question h1 em{font-style:italic;color:var(--accent-deep);font-weight:500}
.home-question .lede{
  font-size:18px;line-height:1.55;color:var(--text-soft);
  max-width:64ch;margin:0 auto;
}

.sit-primary{
  display:grid;grid-template-columns:repeat(3, 1fr);gap:20px;margin-bottom:24px;
}
.sit-card-lg{
  background:var(--paper-white);
  border:1px solid var(--line-strong);
  border-radius:4px;text-decoration:none;color:inherit;
  transition:all .25s;
  display:flex;flex-direction:column;overflow:hidden;position:relative;
}
.sit-card-lg:hover{
  transform:translateY(-4px);
  box-shadow:0 16px 40px rgba(15,31,58,.10), 0 4px 8px rgba(15,31,58,.04);
  border-color:var(--ink);
}
.sit-card-lg .sit-head{
  padding:28px 28px 20px;border-bottom:1px solid var(--line);
  background:var(--ground-soft);position:relative;
}
.sit-card-lg .sit-icon{width:36px;height:36px;color:var(--accent-deep);margin-bottom:18px}
.sit-card-lg .sit-icon svg{width:100%;height:100%;stroke:currentColor;fill:none;stroke-width:1.5}
.sit-card-lg h3{
  font-family:'Source Serif 4', serif;
  font-weight:600;font-size:24px;line-height:1.15;
  letter-spacing:-.015em;margin-bottom:8px;color:var(--ink);
}
.sit-card-lg h3 em{font-style:italic;color:var(--accent-deep);font-weight:500}
.sit-card-lg .sit-blurb{font-size:14px;line-height:1.5;color:var(--text-soft)}

.sit-card-lg .sit-product{padding:20px 28px;flex:1;display:flex;flex-direction:column}
.sit-card-lg .sit-product-tag{
  font-family:'JetBrains Mono', monospace;
  font-size:10px;letter-spacing:.18em;text-transform:uppercase;
  color:var(--accent-deep);margin-bottom:10px;font-weight:600;
}
.sit-card-lg .sit-product-name{
  font-family:'Source Serif 4', serif;
  font-weight:600;font-size:18px;line-height:1.2;
  margin-bottom:8px;color:var(--ink);letter-spacing:-.01em;
}
.sit-card-lg .sit-product-blurb{
  font-size:13px;line-height:1.5;color:var(--text-soft);
  margin-bottom:16px;flex:1;
}
.sit-card-lg .sit-product-foot{
  display:flex;justify-content:space-between;align-items:center;
  padding-top:14px;border-top:1px dotted var(--line-strong);
}
.sit-card-lg .sit-price{
  font-family:'Source Serif 4', serif;font-weight:600;
  font-size:18px;color:var(--ink);
}
.sit-card-lg .sit-price small{
  font-family:'Inter', sans-serif;font-size:11px;font-weight:400;
  color:var(--muted);margin-left:4px;
}
.sit-card-lg .sit-cta{
  font-size:13px;font-weight:600;color:var(--accent-deep);
  display:inline-flex;align-items:center;gap:6px;
}
.sit-card-lg .arr{transition:transform .2s;display:inline-block}
.sit-card-lg:hover .arr{transform:translateX(3px)}
.sit-card-lg .sit-more{
  padding:12px 28px;background:var(--ground-soft);
  border-top:1px solid var(--line);
  font-family:'JetBrains Mono', monospace;
  font-size:11px;letter-spacing:.1em;color:var(--accent-deep);
  text-transform:uppercase;font-weight:600;
}
.sit-card-lg .sit-more strong{color:var(--ink)}

.sit-secondary-label{
  margin:32px 0 16px;padding-top:24px;
  border-top:1px dashed var(--line-strong);
  display:flex;align-items:baseline;gap:14px;flex-wrap:wrap;
}
.sit-secondary-label strong{
  font-family:'Source Serif 4', serif;
  font-style:italic;font-weight:500;font-size:18px;color:var(--ink);
}
.sit-secondary{display:grid;grid-template-columns:repeat(4, 1fr);gap:14px}
.sit-card-sm{
  background:transparent;
  border:1px dashed var(--line-strong);border-radius:3px;
  padding:20px 22px;text-decoration:none;color:inherit;
  transition:all .2s;min-height:160px;display:flex;flex-direction:column;
}
.sit-card-sm:hover{
  background:var(--paper-white);border-color:var(--ink);border-style:solid;
}
.sit-card-sm .sit-icon-sm{width:24px;height:24px;color:var(--muted);margin-bottom:14px}
.sit-card-sm:hover .sit-icon-sm{color:var(--accent-deep)}
.sit-card-sm .sit-icon-sm svg{width:100%;height:100%;stroke:currentColor;fill:none;stroke-width:1.5}
.sit-card-sm h4{
  font-family:'Source Serif 4', serif;
  font-weight:600;font-size:15px;line-height:1.2;
  margin-bottom:6px;color:var(--ink);
}
.sit-card-sm p{font-size:12.5px;line-height:1.5;color:var(--text-soft);flex:1;margin-bottom:12px}
.sit-card-sm .sit-status{
  font-family:'JetBrains Mono', monospace;
  font-size:10px;letter-spacing:.1em;color:var(--muted);
  text-transform:uppercase;font-weight:600;
}
.sit-card-sm:hover .sit-status{color:var(--accent-deep)}

.home-hero-bottom{
  margin-top:40px;padding-top:28px;border-top:1px solid var(--line);
  display:flex;justify-content:space-between;align-items:center;
  gap:32px;flex-wrap:wrap;
}
.home-hero-bottom-left{display:flex;gap:28px;flex-wrap:wrap}
.trust-item{
  display:flex;align-items:center;gap:8px;
  font-size:13px;color:var(--text-soft);
}
.trust-item svg{
  width:14px;height:14px;stroke:var(--accent-deep);fill:none;
  stroke-width:2;flex-shrink:0;
}
.home-hero-bottom-links{display:flex;gap:18px;align-items:center;font-size:14px}
.home-hero-bottom-links a{
  color:var(--ink-soft);text-decoration:none;
  border-bottom:1px solid var(--line-strong);
  padding-bottom:1px;transition:all .15s;
}
.home-hero-bottom-links a:hover{color:var(--accent-deep);border-color:var(--accent-deep)}

.home-letter{background:var(--ground-soft);padding:80px 0}
.home-letter-inner{max-width:920px;margin:0 auto;padding:0 32px}
.home-letter-card{
  background:var(--paper-white);
  border:1px solid var(--line-strong);border-radius:4px;
  padding:48px;display:grid;grid-template-columns:1.4fr 1fr;
  gap:48px;align-items:center;
}
.home-letter-body h2{
  font-family:'Source Serif 4', serif;
  font-weight:600;font-size:32px;line-height:1.05;
  letter-spacing:-.02em;margin-bottom:14px;color:var(--ink);
}
.home-letter-body h2 em{font-style:italic;color:var(--accent-deep);font-weight:500}
.home-letter-body p{
  font-size:15px;line-height:1.55;color:var(--text-soft);margin-bottom:20px;
}
.home-letter-form{
  display:flex;border:1px solid var(--ink);border-radius:3px;overflow:hidden;
}
.home-letter-form input{
  flex:1;padding:12px 16px;border:none;background:transparent;
  font-family:'Inter', sans-serif;font-size:14px;outline:none;color:var(--text);
}
.home-letter-form input::placeholder{color:var(--muted)}
.home-letter-form button{
  padding:12px 18px;background:var(--ink);color:var(--ground);
  border:none;font-family:'Inter', sans-serif;
  font-size:13px;font-weight:600;cursor:pointer;transition:background .2s;
}
.home-letter-form button:hover{background:var(--accent-deep)}
.home-letter-meta{margin-top:12px;font-size:12px;color:var(--muted)}

.home-letter-art{
  aspect-ratio:1/1;background:var(--ink);color:var(--ground);
  border-radius:3px;padding:32px;
  display:flex;flex-direction:column;justify-content:space-between;
  position:relative;overflow:hidden;
}
.home-letter-art::before{
  content:"";position:absolute;bottom:-50px;right:-50px;
  width:200px;height:200px;border:1px solid var(--accent-soft);
  border-radius:50%;opacity:.2;
}
.home-letter-art-tag{
  font-family:'JetBrains Mono', monospace;
  font-size:10px;letter-spacing:.2em;color:var(--accent-soft);
  font-weight:700;position:relative;z-index:2;
}
.home-letter-art h4{
  font-family:'Source Serif 4', serif;
  font-style:italic;font-weight:500;font-size:24px;line-height:1.15;
  color:var(--ground);position:relative;z-index:2;
}

/* ============================================
   GENERIC PAGE HERO (used by topic, for-you, etc)
   ============================================ */
.page-hero{padding:64px 0 24px;text-align:center;background:var(--ground)}
.page-hero-inner{max-width:880px;margin:0 auto;padding:0 32px}
.page-hero .eyebrow{justify-content:center;margin-bottom:16px}
.page-hero .eyebrow::after{
  content:"";width:24px;height:1px;background:var(--accent);margin-left:10px;
}
.page-hero .eyebrow::before{margin-right:0}
.page-hero h1{
  font-family:'Source Serif 4', serif;
  font-weight:500;font-size:clamp(40px, 5.4vw, 68px);
  line-height:1.0;letter-spacing:-.025em;color:var(--ink);margin-bottom:14px;
}
.page-hero h1 em{font-style:italic;color:var(--accent-deep);font-weight:500}
.page-hero .lede{
  font-size:17px;line-height:1.55;color:var(--text-soft);
  max-width:54ch;margin:0 auto;
}

/* ============================================
   FOR YOU PAGE — picker, blurbs, products
   ============================================ */
.stage-input{position:absolute;opacity:0;pointer-events:none}

.picker-section{padding:32px 0 0}
.picker-frame{max-width:1100px;margin:0 auto;padding:0 32px}
.picker{
  background:var(--paper-white);
  border:1px solid var(--line-strong);
  border-radius:6px;padding:6px;
  display:grid;grid-template-columns:repeat(5, 1fr);gap:4px;
  box-shadow:0 4px 16px rgba(15,31,58,.06), 0 1px 3px rgba(15,31,58,.04);
}
.picker label{
  cursor:pointer;padding:16px 14px;border-radius:4px;
  text-align:center;transition:all .2s;
  background:transparent;user-select:none;
  font-family:'Inter', sans-serif;
  font-size:14px;font-weight:600;color:var(--ink);line-height:1.25;
}
.picker label:hover{background:var(--ground-soft)}
#stage-all:checked ~ .for-you-page .picker label[for="stage-all"],
#stage-student:checked ~ .for-you-page .picker label[for="stage-student"],
#stage-trainee:checked ~ .for-you-page .picker label[for="stage-trainee"],
#stage-consultant:checked ~ .for-you-page .picker label[for="stage-consultant"],
#stage-manager:checked ~ .for-you-page .picker label[for="stage-manager"]{
  background:var(--ink);color:var(--ground);
}

.role-blurb-wrap{padding:36px 0 12px}
.role-blurb-inner{max-width:780px;margin:0 auto;padding:0 32px}
.role-blurb{
  display:none;
  font-family:'Source Serif 4', serif;
  font-size:19px;line-height:1.55;color:var(--text);
  text-align:center;letter-spacing:-.005em;
}
.role-blurb em{font-style:italic;color:var(--accent-deep)}
.role-blurb-all{text-align:left}
.role-blurb-all .ra-row{
  display:grid;grid-template-columns:160px 1fr;gap:20px;
  padding:14px 0;border-bottom:1px dotted var(--line-strong);
  align-items:start;
}
.role-blurb-all .ra-row:last-child{border-bottom:none}
.role-blurb-all .ra-name{
  font-family:'Source Serif 4', serif;
  font-style:italic;font-weight:500;color:var(--ink);font-size:18px;
}
.role-blurb-all .ra-desc{
  font-family:'Inter', sans-serif;font-size:14.5px;line-height:1.5;
  color:var(--text-soft);
}
.role-blurb-all .ra-desc label{
  color:var(--accent-deep);cursor:pointer;font-weight:600;
  border-bottom:1px dotted var(--accent-deep);padding-bottom:1px;margin-left:4px;
}
.role-blurb-all .ra-desc label:hover{color:var(--ink);border-color:var(--ink)}

#stage-all:checked ~ .for-you-page .role-blurb-all{display:block}
#stage-student:checked ~ .for-you-page .role-blurb-student{display:block}
#stage-trainee:checked ~ .for-you-page .role-blurb-trainee{display:block}
#stage-consultant:checked ~ .for-you-page .role-blurb-consultant{display:block}
#stage-manager:checked ~ .for-you-page .role-blurb-manager{display:block}

.fy-products-wrap{padding:24px 0 80px}
.fy-products-frame{max-width:1280px;margin:0 auto;padding:0 32px}

.fy-product-section{display:none;margin-bottom:48px}
.fy-product-section:last-child{margin-bottom:0}

#stage-all:checked ~ .for-you-page .fy-product-section,
#stage-student:checked ~ .for-you-page .fy-product-section.has-student,
#stage-trainee:checked ~ .for-you-page .fy-product-section.has-trainee,
#stage-consultant:checked ~ .for-you-page .fy-product-section.has-consultant,
#stage-manager:checked ~ .for-you-page .fy-product-section.has-manager{
  display:block;
}

.fy-product-card{display:none}
#stage-all:checked ~ .for-you-page .fy-product-card,
#stage-student:checked ~ .for-you-page .fy-product-card.for-student,
#stage-trainee:checked ~ .for-you-page .fy-product-card.for-trainee,
#stage-consultant:checked ~ .for-you-page .fy-product-card.for-consultant,
#stage-manager:checked ~ .for-you-page .fy-product-card.for-manager{
  display:flex;
}

.section-header{
  display:flex;align-items:baseline;gap:14px;
  margin-bottom:18px;padding-bottom:14px;
  border-bottom:1px solid var(--line-strong);
}
.section-header h2{
  font-family:'Source Serif 4', serif;
  font-weight:600;font-size:28px;line-height:1;
  color:var(--ink);letter-spacing:-.015em;
}
.section-header h2 em{font-style:italic;color:var(--accent-deep);font-weight:500}
.section-header .section-sub{
  font-family:'Inter', sans-serif;font-size:13.5px;color:var(--text-soft);flex:1;
}

.product-grid{display:grid;grid-template-columns:repeat(3, 1fr);gap:14px}

/* The uniform product card (used everywhere products are listed) */
.product-card{
  background:var(--paper-white);
  border:1px solid var(--line);border-radius:4px;
  padding:22px 22px 18px;text-decoration:none;color:inherit;
  transition:all .2s;flex-direction:column;
  min-height:220px;position:relative;
}
.product-card:hover{
  border-color:var(--ink);
  box-shadow:0 6px 18px rgba(15,31,58,.08);transform:translateY(-2px);
}
.product-card .pc-type{
  font-family:'JetBrains Mono', monospace;
  font-size:10px;letter-spacing:.18em;
  color:var(--accent-deep);text-transform:uppercase;
  font-weight:700;margin-bottom:10px;
}
.product-card h3{
  font-family:'Source Serif 4', serif;
  font-weight:600;font-size:17.5px;line-height:1.2;
  color:var(--ink);letter-spacing:-.005em;margin-bottom:8px;
}
.product-card p{
  font-size:13.5px;line-height:1.5;color:var(--text-soft);
  flex:1;margin-bottom:14px;
}
.product-card .pc-foot{
  padding-top:12px;border-top:1px dotted var(--line);
  display:flex;justify-content:space-between;align-items:center;
}
.product-card .pc-meta{font-size:12px;color:var(--muted)}
.product-card .pc-price{
  font-family:'Source Serif 4', serif;font-weight:600;
  font-size:15px;color:var(--ink);
}
.product-card .pc-price.free{color:var(--success)}
.product-card .pc-cta{
  font-size:12.5px;font-weight:600;color:var(--accent-deep);
  display:inline-flex;align-items:center;gap:5px;
}
.product-card .pc-arr{transition:transform .2s;display:inline-block}
.product-card:hover .pc-arr{transform:translateX(3px)}

.letter-cta{
  background:var(--ground-soft);
  border:1px solid var(--line-strong);border-radius:4px;
  padding:24px 28px;margin-top:48px;
  display:flex;align-items:center;gap:24px;flex-wrap:wrap;
}
.letter-cta-text{flex:1;min-width:240px;font-size:14px;color:var(--text-soft);line-height:1.5}
.letter-cta-text strong{
  font-family:'Source Serif 4', serif;font-weight:600;font-size:16px;
  color:var(--ink);margin-right:6px;
}
.letter-cta-text strong em{font-style:italic;color:var(--accent-deep);font-weight:500}
.letter-form{
  display:flex;border:1px solid var(--ink);border-radius:3px;overflow:hidden;
  background:var(--paper-white);min-width:280px;
}
.letter-form input{
  flex:1;padding:10px 14px;border:none;background:transparent;
  font-family:'Inter', sans-serif;font-size:13.5px;outline:none;color:var(--text);
}
.letter-form input::placeholder{color:var(--muted)}
.letter-form button{
  padding:10px 16px;background:var(--ink);color:var(--ground);
  border:none;cursor:pointer;font-family:'Inter', sans-serif;
  font-size:13px;font-weight:600;transition:background .2s;
}
.letter-form button:hover{background:var(--accent-deep)}

.exit-band{background:var(--ink);color:var(--ground);padding:48px 0}
.exit-inner{max-width:880px;margin:0 auto;padding:0 32px;text-align:center}
.exit-inner h2{
  font-family:'Source Serif 4', serif;
  font-weight:500;font-size:clamp(24px,3vw,32px);
  line-height:1.15;letter-spacing:-.015em;color:var(--ground);margin-bottom:10px;
}
.exit-inner h2 em{font-style:italic;color:var(--accent-soft);font-weight:500}
.exit-inner p{
  font-size:15px;line-height:1.55;color:#C9D1E0;
  max-width:56ch;margin:0 auto 22px;
}
.btn-row{display:flex;gap:10px;justify-content:center;flex-wrap:wrap}
.exit-band .btn-primary{background:var(--accent);color:var(--ink)}
.exit-band .btn-primary:hover{background:var(--accent-soft)}
.exit-band .btn-secondary{color:var(--ground);border-color:var(--ground)}
.exit-band .btn-secondary:hover{background:var(--ground);color:var(--ink)}

/* ============================================
   TOPIC PAGE
   ============================================ */
.breadcrumb{
  padding:18px 0;background:var(--ground-soft);
  border-bottom:1px solid var(--line);
  font-family:'JetBrains Mono', monospace;
  font-size:11px;letter-spacing:.12em;color:var(--muted);text-transform:uppercase;
}
.breadcrumb a{color:var(--text-soft);text-decoration:none}
.breadcrumb a:hover{color:var(--accent-deep)}
.breadcrumb strong{color:var(--accent-deep);font-weight:600}

.topic-hero{padding:48px 0 32px}
.topic-hero-inner{max-width:1100px;margin:0 auto;padding:0 32px}
.topic-hero h1{
  font-family:'Source Serif 4', serif;
  font-weight:500;font-size:clamp(36px, 5vw, 60px);
  line-height:1.05;letter-spacing:-.025em;
  color:var(--ink);margin-bottom:16px;max-width:18ch;
}
.topic-hero h1 em{font-style:italic;color:var(--accent-deep);font-weight:500}
.topic-hero .lede{
  font-size:18px;line-height:1.55;color:var(--text-soft);max-width:62ch;
}

.topic-products{padding:48px 0 80px;border-top:1px solid var(--line);background:var(--ground-soft)}
.topic-products-inner{max-width:1280px;margin:0 auto;padding:0 32px}
.topic-products .section-header{margin-bottom:32px}

/* ============================================
   BROWSE / CATALOG PAGE
   ============================================ */
.browse-hero{padding:48px 0 24px}
.browse-hero-inner{max-width:1280px;margin:0 auto;padding:0 32px}
.browse-hero h1{
  font-family:'Source Serif 4', serif;
  font-weight:500;font-size:clamp(36px, 5vw, 56px);
  line-height:1.05;letter-spacing:-.025em;
  color:var(--ink);margin-bottom:12px;
}
.browse-hero h1 em{font-style:italic;color:var(--accent-deep);font-weight:500}
.browse-hero .lede{
  font-size:17px;line-height:1.5;color:var(--text-soft);max-width:60ch;
}

/* Bundle bar — call out the Library + Letter as bundles */
.bundle-bar{
  max-width:1280px;margin:24px auto 0;padding:0 32px;
  display:grid;grid-template-columns:1fr 1fr;gap:14px;
}
.bundle-card{
  background:var(--ink);color:var(--ground);
  border-radius:4px;padding:24px 28px;
  display:flex;justify-content:space-between;align-items:center;
  gap:18px;text-decoration:none;
  transition:all .2s;
  position:relative;overflow:hidden;
}
.bundle-card.alt{background:var(--paper-white);color:var(--ink);border:1px solid var(--line-strong)}
.bundle-card:hover{transform:translateY(-2px);box-shadow:0 12px 24px rgba(15,31,58,.12)}
.bundle-card .bc-tag{
  font-family:'JetBrains Mono', monospace;
  font-size:10px;letter-spacing:.18em;text-transform:uppercase;
  color:var(--accent-soft);font-weight:700;margin-bottom:6px;
}
.bundle-card.alt .bc-tag{color:var(--accent-deep)}
.bundle-card h3{
  font-family:'Source Serif 4', serif;
  font-weight:600;font-size:20px;line-height:1.2;margin-bottom:4px;
}
.bundle-card h3 em{font-style:italic;color:var(--accent-soft);font-weight:500}
.bundle-card.alt h3 em{color:var(--accent-deep)}
.bundle-card p{font-size:13px;line-height:1.45;opacity:.85}
.bundle-card .bc-cta{
  flex-shrink:0;font-size:13px;font-weight:600;
  display:inline-flex;align-items:center;gap:6px;
  color:var(--accent-soft);
}
.bundle-card.alt .bc-cta{color:var(--accent-deep)}

/* Filter bar */
.browse-filter-bar{
  max-width:1280px;margin:32px auto 0;padding:18px 32px;
  background:var(--paper-white);border:1px solid var(--line-strong);
  border-radius:4px;
  display:flex;align-items:center;gap:24px;flex-wrap:wrap;
}
.filter-group{display:flex;align-items:center;gap:8px}
.filter-label{
  font-family:'JetBrains Mono', monospace;
  font-size:10px;letter-spacing:.15em;text-transform:uppercase;
  color:var(--muted);font-weight:700;margin-right:4px;
}
.filter-pills{display:flex;gap:6px;flex-wrap:wrap}
.filter-pill{
  font-family:'Inter', sans-serif;font-size:12.5px;font-weight:500;
  padding:6px 12px;border-radius:24px;
  background:var(--ground-soft);
  color:var(--text-soft);
  border:1px solid transparent;
  cursor:pointer;transition:all .15s;
  user-select:none;
}
.filter-pill:hover{background:var(--ground-deep);color:var(--ink)}
.filter-pill.active{background:var(--ink);color:var(--ground);border-color:var(--ink)}

.browse-result-meta{
  max-width:1280px;margin:24px auto 18px;padding:0 32px;
  display:flex;justify-content:space-between;align-items:center;
  font-size:13px;color:var(--text-soft);
  flex-wrap:wrap;gap:12px;
}
.browse-result-meta strong{color:var(--ink);font-weight:600}
.browse-sort{
  display:flex;align-items:center;gap:8px;
  font-family:'JetBrains Mono', monospace;
  font-size:11px;letter-spacing:.1em;color:var(--muted);
  text-transform:uppercase;
}
.browse-sort select{
  border:1px solid var(--line-strong);border-radius:3px;
  padding:5px 8px;background:var(--paper-white);
  font-family:'Inter', sans-serif;font-size:12.5px;
  color:var(--text);cursor:pointer;letter-spacing:0;text-transform:none;
}

.browse-grid-wrap{padding:0 0 80px}
.browse-grid{
  max-width:1280px;margin:0 auto;padding:0 32px;
  display:grid;grid-template-columns:repeat(3, 1fr);gap:14px;
}
.browse-grid .product-card{display:flex}

/* ============================================
   PRODUCT DETAIL (Guide + Playbook share most)
   ============================================ */
.product-detail{padding:48px 0 80px}
.product-detail-inner{max-width:1100px;margin:0 auto;padding:0 32px}
.product-layout{
  display:grid;grid-template-columns:1.4fr 1fr;gap:48px;align-items:start;
}
.product-main h1{
  font-family:'Source Serif 4', serif;
  font-weight:600;font-size:clamp(32px, 4.4vw, 48px);
  line-height:1.05;letter-spacing:-.02em;
  color:var(--ink);margin-bottom:14px;
}
.product-main h1 em{font-style:italic;color:var(--accent-deep);font-weight:500}
.product-main .pd-tag{
  font-family:'JetBrains Mono', monospace;
  font-size:11px;letter-spacing:.18em;text-transform:uppercase;
  color:var(--accent-deep);font-weight:700;margin-bottom:14px;
}
.product-main .pd-lede{
  font-size:18px;line-height:1.55;color:var(--text-soft);
  margin-bottom:32px;max-width:60ch;
}
.product-main h2{
  font-family:'Source Serif 4', serif;
  font-weight:600;font-size:24px;line-height:1.15;
  color:var(--ink);margin:32px 0 14px;letter-spacing:-.015em;
}
.product-main h2 em{font-style:italic;color:var(--accent-deep);font-weight:500}
.product-main p{
  font-size:15px;line-height:1.65;color:var(--text);margin-bottom:14px;
}
.product-main ul{margin:14px 0 14px 0;padding-left:0;list-style:none}
.product-main ul li{
  font-size:15px;line-height:1.55;color:var(--text);
  padding:6px 0 6px 22px;position:relative;
}
.product-main ul li::before{
  content:"§";position:absolute;left:0;top:6px;
  color:var(--accent);font-weight:700;
}

/* Sidebar buy panel */
.product-buy{
  background:var(--paper-white);
  border:1px solid var(--line-strong);
  border-radius:4px;padding:28px;
  position:sticky;top:100px;
}
.product-buy .buy-cover{
  background:linear-gradient(135deg, var(--ink) 0%, var(--ink-deep) 100%);
  color:var(--ground);
  border-radius:3px;padding:24px;margin-bottom:20px;
  position:relative;overflow:hidden;
  min-height:140px;
  display:flex;flex-direction:column;justify-content:space-between;
}
.product-buy .buy-cover.playbook{
  background:linear-gradient(135deg, var(--accent-deep) 0%, #6E5A2F 100%);
}
.product-buy .buy-cover::before{
  content:"";position:absolute;inset:0;
  background-image:
    linear-gradient(to right, rgba(245,242,234,.04) 1px, transparent 1px),
    linear-gradient(to bottom, rgba(245,242,234,.04) 1px, transparent 1px);
  background-size:18px 18px;
}
.product-buy .buy-cover-tag{
  font-family:'JetBrains Mono', monospace;
  font-size:10px;letter-spacing:.18em;color:var(--accent-soft);
  font-weight:700;position:relative;z-index:2;
}
.product-buy .buy-cover-title{
  font-family:'Source Serif 4', serif;
  font-style:italic;font-weight:500;font-size:20px;
  line-height:1.1;color:var(--ground);position:relative;z-index:2;
}
.product-buy .buy-price{
  font-family:'Source Serif 4', serif;
  font-weight:600;font-size:36px;color:var(--ink);
  line-height:1;margin-bottom:4px;
}
.product-buy .buy-price-meta{
  font-size:12px;color:var(--muted);margin-bottom:18px;
}
.product-buy .buy-cta{
  width:100%;background:var(--ink);color:var(--ground);
  padding:14px 22px;border-radius:3px;
  font-size:14px;font-weight:600;text-decoration:none;
  display:flex;align-items:center;justify-content:center;gap:8px;
  border:none;cursor:pointer;transition:all .2s;
  font-family:'Inter', sans-serif;
}
.product-buy .buy-cta:hover{background:var(--accent-deep)}
.product-buy .buy-meta{
  margin-top:18px;padding-top:18px;border-top:1px dotted var(--line);
}
.product-buy .buy-meta-row{
  display:flex;justify-content:space-between;
  font-size:13px;padding:6px 0;
}
.product-buy .buy-meta-row span:first-child{color:var(--muted)}
.product-buy .buy-meta-row span:last-child{color:var(--ink);font-weight:500}

.product-buy .buy-includes{
  margin-top:18px;padding-top:18px;border-top:1px dotted var(--line);
}
.product-buy .buy-includes-label{
  font-family:'JetBrains Mono', monospace;
  font-size:10px;letter-spacing:.15em;text-transform:uppercase;
  color:var(--muted);font-weight:700;margin-bottom:10px;
}
.product-buy .buy-includes ul{list-style:none;padding:0;margin:0}
.product-buy .buy-includes li{
  font-size:13px;line-height:1.4;color:var(--text);
  padding:4px 0 4px 16px;position:relative;
}
.product-buy .buy-includes li::before{
  content:"§";position:absolute;left:0;top:4px;
  color:var(--accent);font-weight:700;
}

/* ============================================
   ABOUT / LEGAL PAGES (shared treatment)
   ============================================ */
.prose-page{padding:48px 0 80px}
.prose-inner{max-width:780px;margin:0 auto;padding:0 32px}
.prose-inner h1{
  font-family:'Source Serif 4', serif;
  font-weight:500;font-size:clamp(36px, 5vw, 56px);
  line-height:1.05;letter-spacing:-.025em;
  color:var(--ink);margin-bottom:18px;
}
.prose-inner h1 em{font-style:italic;color:var(--accent-deep);font-weight:500}
.prose-inner .lede{
  font-size:18px;line-height:1.55;color:var(--text-soft);
  margin-bottom:32px;
}
.prose-inner h2{
  font-family:'Source Serif 4', serif;
  font-weight:600;font-size:24px;line-height:1.15;
  color:var(--ink);margin:36px 0 14px;letter-spacing:-.015em;
}
.prose-inner h2 em{font-style:italic;color:var(--accent-deep);font-weight:500}
.prose-inner h3{
  font-family:'Source Serif 4', serif;
  font-weight:600;font-size:18px;line-height:1.2;
  color:var(--ink);margin:24px 0 10px;
}
.prose-inner p{font-size:15.5px;line-height:1.7;color:var(--text);margin-bottom:14px}
.prose-inner ul{margin:14px 0;padding-left:24px}
.prose-inner li{font-size:15px;line-height:1.6;color:var(--text);margin-bottom:6px}
.prose-inner .meta-line{
  font-size:13px;color:var(--muted);
  font-family:'JetBrains Mono', monospace;
  letter-spacing:.05em;margin-top:32px;
  padding-top:18px;border-top:1px solid var(--line);
}

/* ============================================
   FOOTER (mirrors top nav)
   ============================================ */
footer{background:var(--ink);color:var(--ground);padding:56px 0 28px}
.footer-inner{max-width:1280px;margin:0 auto;padding:0 32px}
.footer-top{
  display:grid;grid-template-columns:2fr 1fr 1.2fr;gap:48px;
  padding-bottom:40px;border-bottom:1px solid rgba(184,146,77,.2);
}
.footer-brand .brand{color:var(--ground);font-size:23px}
.footer-brand .brand em{color:var(--accent-soft)}
.footer-brand p{
  font-size:14px;line-height:1.55;color:#C9D1E0;
  margin-top:14px;max-width:38ch;
}
.footer-brand .footer-network{
  margin-top:18px;
  padding-top:14px;
  border-top:1px solid rgba(184,146,77,.18);
  display:flex;
  align-items:baseline;
  gap:5px;
  flex-wrap:wrap;
}
.footer-brand .footer-network .fn-frame{
  font-family:'Source Serif 4', serif;
  font-size:13px;
  font-weight:400;
  font-style:italic;
  color:#9BA5BA;
  letter-spacing:-.005em;
}
.footer-brand .footer-network .fn-mark{
  font-family:'Source Serif 4', serif;
  font-size:14px;
  font-weight:600;
  line-height:1.1;
  letter-spacing:-.005em;
  color:var(--ground);
  display:inline-block;
}
.footer-brand .footer-network .fn-mark em{
  font-style:italic;
  font-weight:500;
  color:var(--ground);
  margin-left:-0.05em;
}
.footer-col h5{
  font-family:'JetBrains Mono', monospace;
  font-size:10px;letter-spacing:.2em;text-transform:uppercase;
  color:var(--accent-soft);margin-bottom:18px;font-weight:700;
}
.footer-col a{
  display:block;color:var(--ground);text-decoration:none;
  font-size:14px;margin-bottom:10px;transition:color .15s;cursor:pointer;
}
.footer-col a:hover{color:var(--accent-soft)}
.footer-bottom{
  padding-top:20px;
  display:flex;justify-content:space-between;
  font-family:'JetBrains Mono', monospace;
  font-size:11px;color:#9BA5BA;
  flex-wrap:wrap;gap:12px;
}
.footer-bottom .legal-links a{
  color:#9BA5BA;text-decoration:none;margin-left:14px;cursor:pointer;
}
.footer-bottom .legal-links a:hover{color:var(--accent-soft)}

/* ============================================
   RESPONSIVE
   ============================================ */
@media (max-width:1024px){
  .sit-primary{grid-template-columns:1fr;gap:14px}
  .sit-secondary{grid-template-columns:repeat(2,1fr)}
  .home-letter-card{grid-template-columns:1fr;padding:32px}
  .picker{grid-template-columns:repeat(3, 1fr)}
  .picker label[for="stage-all"]{grid-column:1 / -1}
  .product-grid{grid-template-columns:repeat(2, 1fr)}
  .browse-grid{grid-template-columns:repeat(2, 1fr)}
  .bundle-bar{grid-template-columns:1fr}
  .product-layout{grid-template-columns:1fr}
  .product-buy{position:static}
  .footer-top{grid-template-columns:1fr 1fr;gap:32px}
  .footer-brand{grid-column:1 / -1}
}
@media (max-width:680px){
  .header-inner{padding:14px 20px;gap:14px}
  .nav{gap:14px}
  .nav > a:not(.btn-nav){display:none}
  .nav .nav-item{display:none}
  .container, .home-hero-frame, .topic-hero-inner, .browse-hero-inner,
  .browse-grid, .product-detail-inner, .prose-inner, .picker-frame,
  .role-blurb-inner, .fy-products-frame, .exit-inner, .bundle-bar,
  .browse-result-meta, .browse-filter-bar{padding-left:20px;padding-right:20px}
  .home-hero{padding:40px 0 36px}
  .picker{grid-template-columns:1fr 1fr;gap:4px;padding:5px}
  .picker label[for="stage-all"]{grid-column:1 / -1}
  .picker label{padding:13px 10px;font-size:13px}
  .product-grid, .browse-grid{grid-template-columns:1fr}
  .role-blurb-all .ra-row{grid-template-columns:1fr;gap:4px;padding:12px 0}
  .role-blurb-all .ra-name{font-size:16px}
  .section-header{flex-direction:column;align-items:flex-start;gap:6px}
  .section-header h2{font-size:24px}
  .browse-filter-bar{flex-direction:column;align-items:flex-start;gap:14px}
  .footer-top{grid-template-columns:1fr;gap:32px}
  .footer-bottom{flex-direction:column;gap:8px;align-items:flex-start}
  .footer-bottom .legal-links a:first-child{margin-left:0}
  .home-hero-bottom{flex-direction:column;align-items:flex-start;gap:18px}
}

/* ============================================
   COMING SOON — unshipped product cards
   ============================================ */
.product-card.coming-soon,
.tp-product.coming-soon,
.role-prod-card.coming-soon{
  opacity:0.55;
  pointer-events:none;
  cursor:default;
  position:relative;
}
.product-card.coming-soon:hover,
.tp-product.coming-soon:hover,
.role-prod-card.coming-soon:hover{
  transform:none;
  box-shadow:none;
  border-color:var(--line-strong);
}
.cs-badge{
  position:absolute;
  top:10px;
  right:10px;
  background:var(--accent-soft);
  color:var(--paper-white);
  font-family:'JetBrains Mono', monospace;
  font-size:9px;
  letter-spacing:.15em;
  font-weight:700;
  padding:3px 9px;
  border-radius:24px;
  text-transform:uppercase;
  z-index:2;
  pointer-events:none;
}

/* ============================================
   SKIP LINK (a11y for keyboard nav)
   ============================================ */
.skip-link{
  position:absolute;
  top:-40px;
  left:8px;
  background:var(--ink);
  color:var(--ground);
  padding:8px 14px;
  text-decoration:none;
  border-radius:3px;
  font-size:13px;
  font-weight:600;
  z-index:1000;
  transition:top .15s;
}
.skip-link:focus{top:8px}

/* ============================================
   PRODUCT PAGE — additions for shipped product detail pages
   ============================================ */
.product-main ol.product-toc{
  counter-reset:toc-item;
  list-style:none;
  padding:0;
  margin:18px 0;
}
.product-main ol.product-toc li{
  counter-increment:toc-item;
  font-size:15px;
  line-height:1.5;
  color:var(--text);
  padding:7px 0 7px 36px;
  position:relative;
  border-bottom:1px dotted var(--line);
}
.product-main ol.product-toc li:last-child{border-bottom:none}
.product-main ol.product-toc li::before{
  content:counter(toc-item, lower-roman) ".";
  position:absolute;
  left:0;
  top:7px;
  font-family:'Source Serif 4', serif;
  font-style:italic;
  font-weight:500;
  color:var(--accent-deep);
  font-size:15px;
  width:30px;
}

.product-main .product-excerpt{
  font-family:'Source Serif 4', serif;
  font-style:italic;
  font-size:17px;
  line-height:1.55;
  color:var(--text);
  margin:24px 0 6px;
  padding:18px 24px;
  border-left:3px solid var(--accent);
  background:var(--ground-soft);
  border-radius:0 4px 4px 0;
}
.product-main .product-excerpt-attr{
  font-family:'JetBrains Mono', monospace;
  font-size:11px;
  letter-spacing:.05em;
  color:var(--muted);
  margin-bottom:24px;
  padding-left:24px;
}
.product-main .product-excerpt-attr em{
  font-family:'Source Serif 4', serif;
  font-style:italic;
  font-size:12px;
  letter-spacing:0;
  color:var(--text-soft);
}

.product-main ul.product-audience,
.product-main ul.product-related{
  margin:14px 0;
  padding-left:0;
  list-style:none;
}
.product-main ul.product-audience li,
.product-main ul.product-related li{
  font-size:15px;
  line-height:1.6;
  color:var(--text);
  padding:8px 0 8px 22px;
  position:relative;
}
.product-main ul.product-audience li::before,
.product-main ul.product-related li::before{
  content:"§";
  position:absolute;
  left:0;
  top:8px;
  color:var(--accent);
  font-weight:700;
}
.product-main ul.product-related li a{
  color:var(--accent-deep);
  text-decoration:none;
  border-bottom:1px solid var(--line-strong);
}
.product-main ul.product-related li a:hover{
  border-color:var(--accent-deep);
}

/* ============================================
   BREADCRUMB-NAV — newer alternative to .breadcrumb
   ============================================ */
.breadcrumb-nav{
  padding:18px 0;
  background:var(--ground-soft);
  border-bottom:1px solid var(--line);
  font-family:'JetBrains Mono', monospace;
  font-size:11px;
  letter-spacing:.12em;
  color:var(--muted);
  text-transform:uppercase;
}
.breadcrumb-inner{
  max-width:1100px;
  margin:0 auto;
  padding:0 32px;
}
.breadcrumb-nav a{color:var(--text-soft);text-decoration:none}
.breadcrumb-nav a:hover{color:var(--accent-deep)}
.breadcrumb-nav span[aria-current]{color:var(--accent-deep);font-weight:600}

/* ============================================
   TOPIC PAGE — multi-file build additions
   ============================================ */
.topic-section{padding:0 0 60px}
.topic-section-inner{max-width:1100px;margin:0 auto;padding:0 32px}
.topic-intro{
  max-width:780px;
  margin:0 0 36px;
}
.topic-intro p{
  font-size:16px;
  line-height:1.65;
  color:var(--text);
  margin-bottom:14px;
}
.topic-intro strong{color:var(--ink);font-weight:600}

.tp-products-grid{
  display:grid;
  grid-template-columns:repeat(auto-fill, minmax(280px, 1fr));
  gap:18px;
}
.tp-product{
  display:block;
  background:var(--paper-white);
  border:1px solid var(--line-strong);
  border-radius:4px;
  padding:22px 24px;
  text-decoration:none;
  color:var(--ink);
  transition:transform .15s, box-shadow .15s, border-color .15s;
  position:relative;
}
.tp-product:hover{
  transform:translateY(-2px);
  border-color:var(--accent);
  box-shadow:0 4px 12px rgba(0,0,0,.05);
}
.tp-product-tag{
  font-family:'JetBrains Mono', monospace;
  font-size:10px;
  letter-spacing:.18em;
  text-transform:uppercase;
  color:var(--accent-deep);
  font-weight:700;
  margin-bottom:8px;
}
.tp-product-title{
  font-family:'Source Serif 4', serif;
  font-size:18px;
  font-weight:600;
  line-height:1.25;
  color:var(--ink);
  margin-bottom:10px;
}
.tp-product-meta{
  font-family:'JetBrains Mono', monospace;
  font-size:12px;
  color:var(--muted);
  margin-top:14px;
}
.tp-product-meta span{color:var(--ink);font-weight:500}

/* ============================================
   NOTES PAGE — subscribe block + about
   ============================================ */
.notes-subscribe{
  display:grid;
  grid-template-columns:1.2fr 1fr;
  gap:36px;
  background:var(--ground-soft);
  border:1px solid var(--line-strong);
  border-radius:4px;
  padding:32px 36px;
  margin:24px 0 0;
  align-items:center;
}
@media (max-width: 720px){
  .notes-subscribe{grid-template-columns:1fr;gap:24px;padding:24px}
}
.notes-subscribe-text h3{
  font-family:'Source Serif 4', serif;
  font-size:24px;
  font-weight:600;
  line-height:1.2;
  color:var(--ink);
  margin-bottom:10px;
}
.notes-subscribe-text h3 em{font-style:italic;color:var(--accent-deep);font-weight:500}
.notes-subscribe-text p{
  font-size:14.5px;
  line-height:1.55;
  color:var(--text);
}
.notes-subscribe-form .form-row{
  display:flex;
  gap:0;
}
.notes-subscribe-form input[type="email"]{
  flex:1;
  padding:12px 16px;
  border:1px solid var(--line-strong);
  border-right:none;
  border-radius:4px 0 0 4px;
  background:var(--paper-white);
  font-family:'Inter', sans-serif;
  font-size:14px;
  color:var(--ink);
}
.notes-subscribe-form input[type="email"]:focus{
  outline:none;
  border-color:var(--accent);
}
.notes-subscribe-form button{
  padding:12px 22px;
  background:var(--ink);
  color:var(--ground);
  border:1px solid var(--ink);
  border-radius:0 4px 4px 0;
  font-family:'Inter', sans-serif;
  font-size:14px;
  font-weight:600;
  cursor:pointer;
  transition:background .15s;
}
.notes-subscribe-form button:hover{background:var(--accent-deep);border-color:var(--accent-deep)}
.notes-subscribe-form .form-meta{
  font-family:'JetBrains Mono', monospace;
  font-size:10.5px;
  color:var(--muted);
  margin-top:8px;
  letter-spacing:.05em;
}

.notes-about h2{
  font-family:'Source Serif 4', serif;
  font-weight:600;
  font-size:26px;
  color:var(--ink);
  margin:0 0 14px;
  letter-spacing:-.015em;
}
.notes-about h2 em{font-style:italic;color:var(--accent-deep);font-weight:500}
.notes-about p{
  font-size:15.5px;
  line-height:1.7;
  color:var(--text);
  margin-bottom:14px;
}
.notes-about strong{color:var(--ink);font-weight:600}

/* ============================================
   META LINE — bottom of legal & about pages
   ============================================ */
.prose-inner .meta-line{
  font-family:'JetBrains Mono', monospace;
  font-size:11px;
  letter-spacing:.05em;
  color:var(--muted);
  margin-top:36px;
  padding-top:20px;
  border-top:1px solid var(--line);
}

/* ============================================
   PROSE LISTS
   ============================================ */
.prose-inner ul{
  margin:14px 0 18px;
  padding-left:0;
  list-style:none;
}
.prose-inner ul li{
  font-size:15.5px;
  line-height:1.6;
  color:var(--text);
  padding:6px 0 6px 22px;
  position:relative;
}
.prose-inner ul li::before{
  content:"§";
  position:absolute;
  left:0;
  top:6px;
  color:var(--accent);
  font-weight:700;
}
.prose-inner ul li strong{color:var(--ink);font-weight:600}

/* ============================================
   TAB BAR — clickable DoctorSupport wordmark
   ============================================ */
.brand-tabs-label .btl-mark-link{
  text-decoration:none;
  color:inherit;
  transition:color .15s, opacity .15s;
  cursor:pointer;
}
.brand-tabs-label .btl-mark-link:hover{
  color:var(--accent-soft);
  opacity:1;
}

/* ============================================
   FOOTER — Doctor Support network link (was static span, now anchor)
   ============================================ */
.footer-brand a.footer-network{
  text-decoration:none;
  transition:opacity .15s;
  margin-top:18px;
  padding-top:14px;
  border-top:1px solid rgba(184,146,77,.18);
  display:flex;
  align-items:baseline;
  gap:5px;
  flex-wrap:wrap;
}
.footer-brand a.footer-network:hover{
  opacity:0.85;
}
.footer-brand a.footer-network:hover .fn-mark{
  color:var(--accent-soft);
}
.footer-brand a.footer-network:hover .fn-mark em{
  color:var(--accent-soft);
}

/* ============================================
   FOOTER — Company column: vertical list, divider, cross-brand link
   ============================================ */
.footer-col-company a{
  margin-bottom:14px;
  font-size:14.5px;
}
.footer-col-divider{
  height:1px;
  background:rgba(184,146,77,.25);
  margin:8px 0 14px;
}
.footer-col-company a.footer-cross-brand{
  font-family:'JetBrains Mono', monospace;
  font-size:13px;
  letter-spacing:.05em;
  color:var(--accent-soft);
  font-weight:500;
  margin-bottom:8px;
}
.footer-col-company a.footer-cross-brand:hover{
  color:var(--ground);
}

/* ============================================
   HOMEPAGE — 6-topic grid (3x2), even cards
   ============================================ */
.lede-sub{
  font-family:'JetBrains Mono', monospace;
  font-size:12.5px;
  letter-spacing:.05em;
  color:var(--muted);
  margin-top:14px;
  text-transform:uppercase;
}
.lede-sub strong{color:var(--ink);font-weight:700}

.topic-grid{
  display:grid;
  grid-template-columns:repeat(3, 1fr);
  gap:18px;
  margin-top:48px;
}
.topic-card{
  display:flex;
  flex-direction:column;
  background:var(--paper-white);
  border:1px solid var(--line-strong);
  border-radius:5px;
  padding:26px 26px 22px;
  text-decoration:none;
  color:var(--ink);
  transition:transform .15s, box-shadow .15s, border-color .15s;
  position:relative;
  min-height:240px;
}
.topic-card:hover{
  transform:translateY(-2px);
  border-color:var(--accent);
  box-shadow:0 4px 14px rgba(0,0,0,.06);
}
.topic-card-icon{
  width:36px;
  height:36px;
  margin-bottom:16px;
  color:var(--accent-deep);
}
.topic-card-icon svg{
  width:100%;
  height:100%;
  fill:none;
  stroke:currentColor;
  stroke-width:1.5;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.topic-card h3{
  font-family:'Source Serif 4', serif;
  font-weight:600;
  font-size:21px;
  line-height:1.2;
  letter-spacing:-.015em;
  color:var(--ink);
  margin-bottom:10px;
}
.topic-card p{
  font-size:14.5px;
  line-height:1.55;
  color:var(--text-soft);
  margin-bottom:16px;
  flex:1;
}
.topic-pill{
  display:inline-block;
  font-family:'JetBrains Mono', monospace;
  font-size:10.5px;
  letter-spacing:.1em;
  text-transform:uppercase;
  font-weight:700;
  background:var(--ground-soft);
  color:var(--accent-deep);
  padding:5px 10px;
  border-radius:24px;
  margin-bottom:12px;
  align-self:flex-start;
}
.topic-card-cta{
  font-family:'JetBrains Mono', monospace;
  font-size:11px;
  letter-spacing:.1em;
  text-transform:uppercase;
  font-weight:600;
  color:var(--accent-deep);
  padding-top:10px;
  border-top:1px dotted var(--line-strong);
}

@media (max-width: 980px){
  .topic-grid{grid-template-columns:repeat(2, 1fr)}
}
@media (max-width: 680px){
  .topic-grid{grid-template-columns:1fr}
}

/* ============================================
   HOMEPAGE — Role selector (4 cards)
   ============================================ */
.home-roles{
  padding:72px 0 56px;
  background:var(--ground-soft);
  border-top:1px solid var(--line);
  border-bottom:1px solid var(--line);
}
.home-roles-inner{
  max-width:1280px;
  margin:0 auto;
  padding:0 32px;
}
.home-roles-header{
  text-align:center;
  max-width:680px;
  margin:0 auto 36px;
}
.home-roles-header .eyebrow{
  justify-content:center;
  margin-bottom:14px;
}
.home-roles-header h2{
  font-family:'Source Serif 4', serif;
  font-weight:600;
  font-size:clamp(28px, 3.4vw, 36px);
  line-height:1.1;
  letter-spacing:-.018em;
  color:var(--ink);
  margin-bottom:14px;
}
.home-roles-header h2 em{
  font-style:italic;
  color:var(--accent-deep);
  font-weight:500;
}
.home-roles-header .lede{
  font-size:16px;
  line-height:1.55;
  color:var(--text-soft);
  margin:0 auto;
  max-width:560px;
}

.role-grid{
  display:grid;
  grid-template-columns:repeat(4, 1fr);
  gap:14px;
}
.role-card{
  display:flex;
  flex-direction:column;
  background:var(--paper-white);
  border:1px solid var(--line-strong);
  border-radius:5px;
  padding:22px 22px 20px;
  text-decoration:none;
  color:var(--ink);
  transition:transform .15s, box-shadow .15s, border-color .15s;
  min-height:200px;
}
.role-card:hover{
  transform:translateY(-2px);
  border-color:var(--accent);
  box-shadow:0 4px 14px rgba(0,0,0,.06);
}
.role-card-eyebrow{
  font-family:'JetBrains Mono', monospace;
  font-size:10px;
  letter-spacing:.18em;
  text-transform:uppercase;
  color:var(--accent-deep);
  font-weight:700;
  margin-bottom:8px;
}
.role-card h3{
  font-family:'Source Serif 4', serif;
  font-weight:600;
  font-size:22px;
  line-height:1.15;
  letter-spacing:-.015em;
  color:var(--ink);
  margin-bottom:10px;
}
.role-card p{
  font-size:14px;
  line-height:1.55;
  color:var(--text-soft);
  margin-bottom:14px;
  flex:1;
}
.role-card-cta{
  font-family:'JetBrains Mono', monospace;
  font-size:11px;
  letter-spacing:.1em;
  text-transform:uppercase;
  font-weight:600;
  color:var(--accent-deep);
}

@media (max-width: 980px){
  .role-grid{grid-template-columns:repeat(2, 1fr)}
}
@media (max-width: 480px){
  .role-grid{grid-template-columns:1fr}
}

/* ============================================
   ROLE LANDING PAGES — /for/[role]/
   ============================================ */
.role-hero{
  padding:64px 0 36px;
  background:var(--ground);
  text-align:center;
}
.role-hero-inner{
  max-width:780px;
  margin:0 auto;
  padding:0 32px;
}
.role-hero .eyebrow{
  justify-content:center;
  margin-bottom:14px;
}
.role-hero h1{
  font-family:'Source Serif 4', serif;
  font-weight:600;
  font-size:clamp(34px, 4.6vw, 52px);
  line-height:1.05;
  letter-spacing:-.022em;
  color:var(--ink);
  margin-bottom:18px;
}
.role-hero h1 em{font-style:italic;color:var(--accent-deep);font-weight:500}
.role-hero .lede{
  font-size:18px;
  line-height:1.6;
  color:var(--text-soft);
  max-width:640px;
  margin:0 auto;
}

.role-section{
  padding:48px 0;
}
.role-section-alt{
  background:var(--ground-soft);
  border-top:1px solid var(--line);
  border-bottom:1px solid var(--line);
}
.role-section-inner{
  max-width:1100px;
  margin:0 auto;
  padding:0 32px;
}
.role-section-h{
  font-family:'Source Serif 4', serif;
  font-weight:600;
  font-size:clamp(24px, 3vw, 30px);
  line-height:1.15;
  letter-spacing:-.018em;
  color:var(--ink);
  margin-bottom:14px;
}
.role-section-h em{font-style:italic;color:var(--accent-deep);font-weight:500}
.role-section-inner > p{
  font-size:16px;
  line-height:1.6;
  color:var(--text);
  margin-bottom:22px;
  max-width:680px;
}

.role-list{
  margin:16px 0;
  padding-left:0;
  list-style:none;
}
.role-list li{
  font-size:15.5px;
  line-height:1.65;
  color:var(--text);
  padding:10px 0 10px 26px;
  position:relative;
  max-width:740px;
}
.role-list li::before{
  content:"§";
  position:absolute;
  left:0;
  top:10px;
  color:var(--accent);
  font-weight:700;
}
.role-list strong{color:var(--ink);font-weight:600}

.role-arc{
  margin:18px 0 0;
  padding-left:0;
  list-style:none;
  display:flex;
  flex-direction:column;
  gap:20px;
}
.role-arc li{
  display:grid;
  grid-template-columns:54px 1fr;
  gap:20px;
  align-items:start;
  padding:18px 0 0;
}
.role-arc-num{
  font-family:'Source Serif 4', serif;
  font-style:italic;
  font-weight:500;
  font-size:36px;
  line-height:1;
  color:var(--accent-deep);
  text-align:center;
  border-right:1px solid var(--line-strong);
  padding-right:12px;
}
.role-arc-body h3{
  font-family:'Source Serif 4', serif;
  font-weight:600;
  font-size:20px;
  line-height:1.2;
  color:var(--ink);
  margin-bottom:8px;
  letter-spacing:-.015em;
}
.role-arc-body p{
  font-size:15px;
  line-height:1.6;
  color:var(--text);
  max-width:680px;
}
.role-arc-body p a{
  color:var(--accent-deep);
  text-decoration:none;
  border-bottom:1px solid var(--line-strong);
}
.role-arc-body p a:hover{
  border-color:var(--accent-deep);
}

.role-section-cta{
  text-align:center;
  max-width:680px;
  margin:0 auto;
}
.role-section-cta .role-section-h{
  margin-bottom:10px;
}
.role-cta-btn{
  display:inline-block;
  padding:13px 24px;
  background:var(--ink);
  color:var(--ground);
  text-decoration:none;
  border-radius:3px;
  font-family:'Inter', sans-serif;
  font-size:14px;
  font-weight:600;
  transition:background .15s;
}
.role-cta-btn:hover{
  background:var(--accent-deep);
}

.for-index-section{padding:48px 0 80px}
.for-index-inner{max-width:1100px;margin:0 auto;padding:0 32px}

@media (max-width: 680px){
  .role-arc li{grid-template-columns:1fr;gap:6px}
  .role-arc-num{
    text-align:left;
    border-right:none;
    padding-right:0;
    font-size:28px;
  }
}

/* ============================================
   BROWSE — count badge at the right of the filter bar
   ============================================ */
.browse-count{
  margin-left:auto;
  font-family:'JetBrains Mono', monospace;
  font-size:12px;
  letter-spacing:.04em;
  color:var(--muted);
}
.browse-count strong{color:var(--ink);font-weight:700}

@media (max-width: 680px){
  .browse-count{margin-left:0;margin-top:8px}
}
