/* site-shell.css: header, menu, footer and base styles, copied by build.py from
   insights/quintuple-stroller-record/index.html on 2026-11-11. Do not edit by hand: rerun build.py. */
/* ── page styles ── */
  :root {
    --navy:    #07111E;
    --navy2:   #0C1C30;
    --gold:    #C4920A;
    --gold-lt: #E8B830;
    --gold-dk: #9A7008;
    --cream:   #F5F0E8;
    --white:   #FAFAF7;
    --dark:    #1C2638;
    --mid:     #4E6078;
    --max-w:   1160px;
  }

  :root { color-scheme: light only; }
  * { margin: 0; padding: 0; box-sizing: border-box; }
  html { background: var(--cream); }
  html, body { overflow-x: hidden; max-width: 100vw; }
  body {
    font-family: 'Crimson Pro', Georgia, serif;
    background: var(--cream);
    color: var(--dark);
    -webkit-font-smoothing: antialiased;
  }
  h1, h2, h3 { font-family: 'Cormorant Garamond', Georgia, serif; }
  a:focus-visible, button:focus-visible { outline: 2px solid var(--gold-lt); outline-offset: 3px; }

  @keyframes goldShimmer {
    0%   { background-position: -250% center; }
    60%  { background-position: 250% center; }
    100% { background-position: 250% center; }
  }
  @keyframes heroReveal {
    from { opacity: 0; transform: translateY(18px); }
    to   { opacity: 1; transform: translateY(0); }
  }

  /* ── NAVIGATION (matches main site) ─────────────────────── */
  nav {
    position: fixed;
    top: 0; left: 0; right: 0;
    z-index: 100;
    background: rgba(7,17,30,0.88);
    backdrop-filter: blur(24px) saturate(180%);
    -webkit-backdrop-filter: blur(24px) saturate(180%);
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 0 48px;
    height: 64px;
    border-bottom: 1px solid rgba(196,146,10,0.16);
  }
  nav::after {
    content: '';
    position: absolute;
    bottom: -1px; left: 0; right: 0;
    height: 1px;
    background: linear-gradient(90deg, transparent 0%, var(--gold-dk) 15%, var(--gold) 30%, #F0C840 48%, #FDE999 50%, #F0C840 52%, var(--gold) 70%, var(--gold-dk) 85%, transparent 100%);
    background-size: 300% auto;
    animation: goldShimmer 5.5s ease-in-out infinite;
    opacity: 0.65;
  }
  .nav-logo {
    display: flex; align-items: center; gap: 10px;
    font-family: 'Cormorant Garamond', serif;
    font-size: 1.35rem;
    font-weight: 700;
    color: var(--white);
    text-decoration: none;
    letter-spacing: 0.03em;
  }
  .nav-logo img { height: 36px; width: 36px; object-fit: contain; }
  .nav-logo span { color: var(--gold); }
  .nav-links { display: flex; align-items: center; gap: 36px; list-style: none; }
  .nav-links a {
    font-family: 'Outfit', sans-serif;
    font-size: 0.71rem;
    font-weight: 500;
    color: rgba(255,255,255,0.78);
    text-decoration: none;
    letter-spacing: 0.16em;
    text-transform: uppercase;
    transition: color 0.2s;
    position: relative;
  }
  .nav-links a::after {
    content: '';
    position: absolute;
    bottom: -3px; left: 0; right: 0;
    height: 1px;
    background: var(--gold-lt);
    transform: scaleX(0);
    transform-origin: left;
    transition: transform 0.25s ease;
  }
  .nav-links a:hover::after, .nav-links a.active::after { transform: scaleX(1); }
  .nav-links a:hover, .nav-links a.active { color: var(--gold-lt); }
  .nav-cta {
    font-family: 'Outfit', sans-serif;
    font-size: 0.71rem;
    font-weight: 700;
    letter-spacing: 0.13em;
    text-transform: uppercase;
    background: linear-gradient(135deg, var(--gold-dk) 0%, var(--gold) 45%, var(--gold-lt) 100%);
    color: var(--navy);
    padding: 10px 24px;
    text-decoration: none;
    border-radius: 2px;
    box-shadow: 0 2px 12px rgba(196,146,10,0.28);
    transition: opacity 0.2s, transform 0.2s, box-shadow 0.2s;
  }
  .nav-cta:hover { opacity: 0.94; transform: translateY(-1px); box-shadow: 0 5px 20px rgba(196,146,10,0.38); }
  .hamburger { display: none; }
  .mobile-menu { display: none; }

  /* ── INSIGHTS HERO ──────────────────────────────────────── */
  .insights-hero {
    background: var(--navy);
    padding: 144px 0 88px;
    text-align: center;
    position: relative;
    overflow: hidden;
  }
  .insights-hero::before {
    content: '';
    position: absolute;
    inset: 0;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='300' height='300'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='300' height='300' filter='url(%23n)' opacity='0.055'/%3E%3C/svg%3E");
    pointer-events: none;
    opacity: 0.4;
  }
  .insights-hero-inner {
    position: relative;
    z-index: 1;
    max-width: 680px;
    margin: 0 auto;
    padding: 0 24px;
    animation: heroReveal 0.8s ease both;
  }
  .insights-hero h1 {
    font-size: clamp(2.6rem, 6vw, 4.2rem);
    font-weight: 700;
    color: var(--white);
    letter-spacing: -0.012em;
    line-height: 1.05;
  }
  .gold-rule {
    width: 44px; height: 2px;
    margin: 22px auto 24px;
    background: linear-gradient(90deg, var(--gold-dk) 0%, var(--gold) 30%, #F0C840 48%, #FDE999 50%, #F0C840 52%, var(--gold) 70%, var(--gold-dk) 100%);
    background-size: 300% auto;
    animation: goldShimmer 4.2s ease-in-out infinite;
  }
  .insights-subtitle {
    font-family: 'Cormorant Garamond', serif;
    font-size: clamp(1.3rem, 2.6vw, 1.7rem);
    font-weight: 600;
    font-style: italic;
    color: var(--gold-lt);
    line-height: 1.35;
    margin-bottom: 22px;
  }
  .insights-intro {
    font-size: 1.05rem;
    color: rgba(255,255,255,0.52);
    max-width: 560px;
    margin: 0 auto;
    line-height: 1.8;
  }

  /* ── POSTS AREA (built out as posts are added) ──────────── */
  .insights-body { padding: 88px 0 104px; background: var(--cream); }
  .container { max-width: var(--max-w); margin: 0 auto; padding: 0 48px; width: 100%; }
  .insights-empty {
    max-width: 560px;
    margin: 0 auto;
    text-align: center;
    font-size: 1.1rem;
    color: var(--mid);
    line-height: 1.8;
  }

  /* ── TOPICS ─────────────────────────────────────────────── */
  .topics { max-width: 720px; margin: 0 auto 56px; text-align: center; }
  .topics-heading {
    font-family: 'Cormorant Garamond', serif;
    font-size: 1.5rem;
    font-weight: 700;
    color: var(--navy);
    margin-bottom: 22px;
  }
  .topic-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 12px;
  }
  .topic-btn {
    font-family: 'Outfit', sans-serif;
    font-size: 0.74rem;
    font-weight: 600;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    color: var(--navy);
    background: transparent;
    border: 1px solid rgba(196,146,10,0.45);
    border-radius: 2px;
    padding: 16px 8px;
    cursor: pointer;
    transition: background 0.2s, border-color 0.2s, color 0.2s;
  }
  .topic-btn:hover { border-color: var(--gold); background: rgba(196,146,10,0.07); }
  .topic-btn[aria-pressed="true"] {
    background: linear-gradient(135deg, var(--gold-dk) 0%, var(--gold) 45%, var(--gold-lt) 100%);
    border-color: var(--gold);
    color: var(--navy);
  }
  .topic-btn:focus-visible { outline: 2px solid var(--navy); outline-offset: 3px; }

  .topic-panel {
    max-width: 560px;
    margin: 0 auto;
    text-align: center;
  }
  .topic-panel.swap { animation: heroReveal 0.35s ease both; }
  .topic-panel h2 {
    font-size: clamp(1.9rem, 4vw, 2.4rem);
    font-weight: 700;
    color: var(--navy);
    line-height: 1.15;
    margin-bottom: 12px;
  }
  .topic-panel .topic-desc {
    font-size: 1.15rem;
    color: var(--dark);
    line-height: 1.75;
    margin-bottom: 18px;
  }
  .topic-panel .topic-status {
    font-size: 1rem;
    font-style: italic;
    color: var(--mid);
    margin-bottom: 22px;
  }
  .topic-talk {
    font-family: 'Outfit', sans-serif;
    font-size: 0.8rem;
    color: var(--mid);
    letter-spacing: 0.02em;
  }
  .topic-talk a {
    color: var(--gold-dk);
    font-weight: 600;
    text-decoration: none;
    border-bottom: 1px solid rgba(154,112,8,0.35);
    transition: border-color 0.2s, color 0.2s;
  }
  .topic-talk a:hover { color: var(--gold); border-color: var(--gold); }
  .show-all {
    display: inline-block;
    margin-top: 28px;
    font-family: 'Outfit', sans-serif;
    font-size: 0.72rem;
    font-weight: 600;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    color: var(--mid);
    background: none;
    border: none;
    cursor: pointer;
    padding: 6px;
  }
  .show-all:hover { color: var(--gold-dk); }
  .show-all[hidden] { display: none; }



  /* Static overview of all topics (visible by default, crawlable) */
  .topic-overview { margin-top: 8px; }
  .topic-overview[hidden] { display: none; }
  .topic-overview .insights-empty { margin-bottom: 40px; }
  .talk-cols {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 40px;
    max-width: 1000px;
    margin: 0 auto;
  }
  .talk-label {
    font-family: 'Outfit', sans-serif;
    font-size: 0.78rem;
    color: var(--mid);
    padding-bottom: 12px;
    margin-bottom: 20px;
    border-bottom: 1px solid rgba(196,146,10,0.35);
  }
  .talk-label a { color: var(--gold-dk); font-weight: 600; text-decoration: none; }
  .talk-label a:hover { color: var(--gold); }
  .topic-item { margin-bottom: 24px; scroll-margin-top: 90px; }
  .topic-item h3 { font-size: 1.35rem; font-weight: 700; color: var(--navy); margin-bottom: 4px; }
  .topic-item p { font-size: 1.02rem; color: var(--dark); line-height: 1.65; }
  .topic-panel[hidden] { display: none; }

  /* Post list (cards added later; each post gets data-topics) */
  .post-list { margin-top: 48px; }
  .post-list:empty { display: none; }

  /* ── FOOTER (matches main site) ─────────────────────────── */
  footer {
    background: var(--navy);
    border-top: 1px solid rgba(196,146,10,0.14);
    padding: 40px 48px;
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: 26px;
  }
  /* Footer rows (2026-09-30): brand + main links, then programs, then copyright */
  .footer-top { display: flex; align-items: center; justify-content: space-between; gap: 24px; }
  .footer-programs { display: flex; flex-wrap: wrap; justify-content: center; align-items: baseline; gap: 10px 22px; padding-top: 22px; border-top: 1px solid rgba(255,255,255,0.06); }
  .footer-programs-label { font-family: 'Outfit', sans-serif; font-size: 0.6rem; font-weight: 600; letter-spacing: 0.18em; text-transform: uppercase; color: rgba(196,146,10,0.55); }
  .footer-programs a { font-family: 'Outfit', sans-serif; font-size: 0.62rem; font-weight: 500; letter-spacing: 0.1em; text-transform: uppercase; color: rgba(255,255,255,0.62); text-decoration: none; transition: color 0.2s; }
  .footer-programs a:hover { color: var(--gold-lt); }
  footer .footer-copy { text-align: center; }
  .footer-name { display: flex; align-items: center; gap: 12px; font-family: 'Cormorant Garamond', serif; font-size: 1.15rem; font-weight: 700; color: var(--white); letter-spacing: 0.02em; }
  .footer-name img { height: 48px; width: 48px; object-fit: contain; opacity: 0.75; }
  .footer-name span { color: var(--gold-lt); }
  .footer-links { display: flex; gap: 28px; list-style: none; }
  .footer-links a { font-family: 'Outfit', sans-serif; font-size: 0.68rem; font-weight: 500; letter-spacing: 0.12em; text-transform: uppercase; color: rgba(255,255,255,0.62); text-decoration: none; transition: color 0.2s; }
  .footer-links a:hover, .footer-links a.active { color: var(--gold-lt); }
  .footer-copy { font-family: 'Outfit', sans-serif; font-size: 0.66rem; color: rgba(255,255,255,0.62); }

  /* ── RESPONSIVE ─────────────────────────────────────────── */
  @media (max-width: 768px) {
    nav { padding: 0 16px; height: 56px; }
    .nav-links { display: none; }
    .nav-cta { padding: 8px 14px; font-size: 0.68rem; }
    .hamburger {
      display: flex; flex-direction: column; justify-content: center; gap: 5px;
      background: none; border: none; cursor: pointer; padding: 6px; z-index: 200; flex-shrink: 0;
    }
    .hamburger span { display: block; width: 22px; height: 2px; background: rgba(255,255,255,0.75); border-radius: 2px; transition: transform 0.25s ease, opacity 0.25s ease; }
    .hamburger.open span:nth-child(1) { transform: translateY(7px) rotate(45deg); }
    .hamburger.open span:nth-child(2) { opacity: 0; }
    .hamburger.open span:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }
    .mobile-menu {
      position: fixed; top: 56px; left: 0; right: 0; bottom: 0;
      background: var(--navy); z-index: 99;
      flex-direction: column; align-items: center; justify-content: center;
      border-top: 1px solid rgba(196,146,10,0.28);
    }
    .mobile-menu.open { display: flex; }
    .mobile-menu a {
      font-family: 'Outfit', sans-serif; font-size: 1rem; font-weight: 500;
      letter-spacing: 0.18em; text-transform: uppercase;
      color: rgba(255,255,255,0.68); text-decoration: none;
      padding: 20px 0; width: 100%; text-align: center;
      border-bottom: 1px solid rgba(255,255,255,0.05);
    }
    .mobile-menu a.active { color: var(--gold-lt); background: rgba(196,146,10,0.04); }
    .mobile-menu .mobile-cta {
      margin-top: 24px;
      background: linear-gradient(135deg, var(--gold-dk), var(--gold), var(--gold-lt));
      color: var(--navy); font-weight: 700;
      padding: 16px 48px; width: auto; border-bottom: none;
    }
    .insights-hero { padding: 104px 0 64px; }
    .insights-body { padding: 56px 0 72px; }
    .container { padding: 0 20px; }
    .topics { margin-bottom: 40px; }
    .topic-grid { gap: 8px; }
    .topic-btn { font-size: 0.66rem; letter-spacing: 0.1em; padding: 14px 4px; }
    .talk-cols { grid-template-columns: 1fr; gap: 16px; }
    footer { flex-direction: column; gap: 16px; text-align: center; padding: 28px 20px; }
    .footer-top { flex-direction: column; gap: 16px; }
    .footer-programs { gap: 10px 16px; }
    .footer-programs-label { width: 100%; }
    .footer-links { flex-wrap: wrap; justify-content: center; gap: 14px; }
  }

  @media (prefers-reduced-motion: reduce) {
    *, *::before, *::after { animation: none !important; transition: none !important; }
  }

  /* ── POST ───────────────────────────────────────────────── */
  .post-hero { background: var(--navy); padding: 132px 0 64px; position: relative; overflow: hidden; }
  .post-hero::before {
    content: ''; position: absolute; inset: 0; pointer-events: none; opacity: 0.4;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='300' height='300'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='300' height='300' filter='url(%23n)' opacity='0.055'/%3E%3C/svg%3E");
  }
  .post-wrap { max-width: 700px; margin: 0 auto; padding: 0 24px; position: relative; z-index: 1; }
  .crumbs { font-family: 'Outfit', sans-serif; font-size: 0.78rem; color: rgba(255,255,255,0.62); margin-bottom: 22px; }
  .crumbs a { color: rgba(255,255,255,0.65); text-decoration: none; }
  .crumbs a:hover { color: var(--gold-lt); }
  .post-hero h1 { font-size: clamp(2.1rem, 5vw, 3.2rem); font-weight: 700; color: var(--white); line-height: 1.12; margin-bottom: 18px; }
  .post-meta { font-family: 'Outfit', sans-serif; font-size: 0.8rem; color: rgba(255,255,255,0.7); display: flex; flex-wrap: wrap; gap: 8px 16px; align-items: center; }
  .post-tags { display: flex; gap: 8px; flex-wrap: wrap; }
  .post-tags a {
    font-family: 'Outfit', sans-serif; font-size: 0.66rem; font-weight: 600; letter-spacing: 0.14em; text-transform: uppercase;
    color: var(--gold-lt); text-decoration: none; border: 1px solid rgba(196,146,10,0.45); border-radius: 2px; padding: 5px 10px;
  }
  .post-tags a:hover { background: rgba(196,146,10,0.12); }

  .post-body { padding: 64px 0 40px; background: var(--cream); }
  .post-body p, .post-body li { font-size: 1.2rem; line-height: 1.8; color: var(--dark); }
  .post-body p { margin-bottom: 1.2em; }
  .post-body h2 { font-size: 1.9rem; font-weight: 700; color: var(--navy); line-height: 1.2; margin: 1.8em 0 0.6em; }
  .post-body ul, .post-body ol { margin: 0 0 1.2em 1.3em; }
  .post-body a { color: var(--gold-dk); }

  .quick-answer { border-left: 3px solid var(--gold); background: var(--white); padding: 22px 24px; margin-bottom: 40px; }
  .quick-answer h2 { font-size: 1.25rem; margin: 0 0 6px; }
  .quick-answer p { margin: 0; font-size: 1.12rem; }

  .try-this { background: var(--navy); color: rgba(255,255,255,0.85); padding: 28px 28px 10px; margin: 40px 0; border-radius: 2px; }
  .try-this h2 { color: var(--gold-lt); font-size: 1.5rem; margin: 0 0 10px; }
  .try-this p, .try-this li { color: rgba(255,255,255,0.85); }

  .video { position: relative; aspect-ratio: 16 / 9; background: var(--navy); margin: 40px 0; border-radius: 2px; overflow: hidden; }
  .video button { all: unset; cursor: pointer; position: absolute; inset: 0; display: block; }
  .video img { width: 100%; height: 100%; object-fit: cover; display: block; }
  .video .play {
    position: absolute; top: 50%; left: 50%; width: 72px; height: 72px; margin: -36px 0 0 -36px; border-radius: 50%;
    background: linear-gradient(135deg, var(--gold-dk), var(--gold), var(--gold-lt)); box-shadow: 0 6px 24px rgba(0,0,0,0.45);
  }
  .video .play::after { content: ''; position: absolute; left: 29px; top: 23px; border-style: solid; border-width: 13px 0 13px 21px; border-color: transparent transparent transparent var(--navy); }
  .video iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }
  .video button:focus-visible { outline: 3px solid var(--gold-lt); outline-offset: -3px; }

  .story-note { font-style: italic; color: var(--mid); border-left: 3px solid rgba(196,146,10,0.45); padding-left: 16px; }
  .post-signup { background: var(--white); border-top: 3px solid var(--gold); padding: 30px 28px; margin: 12px 0 8px; }
  .post-signup h2 { font-size: 1.6rem; margin: 0 0 8px; }
  .post-signup p { font-size: 1.05rem; line-height: 1.7; margin-bottom: 16px; }
  .post-signup em { color: var(--gold-dk); }
  .post-signup-form { display: flex; gap: 10px; flex-wrap: wrap; }
  .post-signup-form input {
    flex: 1 1 240px; font-family: 'Crimson Pro', serif; font-size: 1.05rem; color: var(--dark);
    background: var(--cream); border: 1px solid rgba(196,146,10,0.45); border-radius: 2px; padding: 13px 16px;
  }
  .post-signup-form input:focus { outline: 2px solid var(--gold); outline-offset: 1px; }
  .post-signup-form select { flex: 1 1 200px; min-width: 0; font-family: 'Crimson Pro', serif; font-size: 1.05rem; color: var(--dark); background: var(--cream) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='7'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%239A7008' stroke-width='1.5' fill='none'/%3E%3C/svg%3E") no-repeat right 14px center; border: 1px solid rgba(196,146,10,0.45); border-radius: 2px; padding: 13px 40px 13px 16px; appearance: none; -webkit-appearance: none; cursor: pointer; }
  .post-signup-form select:focus { outline: 2px solid var(--gold); outline-offset: 1px; }
  .post-signup-form button {
    flex: 0 0 auto; font-family: 'Outfit', sans-serif; font-size: 0.74rem; font-weight: 700; letter-spacing: 0.12em; text-transform: uppercase;
    background: linear-gradient(135deg, var(--gold-dk) 0%, var(--gold) 45%, var(--gold-lt) 100%); color: var(--navy);
    border: none; border-radius: 2px; padding: 14px 22px; cursor: pointer;
  }
  .post-signup-form button:disabled { opacity: 0.7; cursor: default; }
  .post-signup .post-signup-alt { font-family: 'Outfit', sans-serif; font-size: 0.82rem; color: var(--mid); margin: 14px 0 0; }
  .post-signup-alt a { color: var(--gold-dk); font-weight: 600; }
  .signup-done { font-family: 'Cormorant Garamond', serif; font-size: 1.4rem; font-weight: 700; color: var(--gold-dk); }
  .visually-hidden { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
  .try-this strong { color: var(--gold-lt); }
  .story-photo { max-width: 300px; margin: 0 auto 36px; }
  .story-photo.wide { max-width: 100%; }
  .story-photo figcaption { margin-top: 12px; font-size: 0.95rem; font-style: italic; text-align: center; color: var(--dark); }
  .story-photo img { display: block; width: 100%; height: auto; box-shadow: 0 8px 28px rgba(7,17,30,0.25); }
  .sources h2 { font-size: 1.3rem; }
  .sources li { font-size: 1rem; }
  .content-note { font-family: 'Outfit', sans-serif; font-size: 0.95rem !important; line-height: 1.7 !important; color: var(--mid) !important; border: 1px solid rgba(196,146,10,0.45); padding: 14px 18px; margin-bottom: 32px !important; }
  .help-box { border-left: 3px solid var(--gold); background: var(--white); padding: 22px 24px; margin: 40px 0; }
  .help-box h2 { font-size: 1.35rem; margin: 0 0 6px; }
  .help-box p { margin: 0 0 0.6em; font-size: 1.12rem; }
  .read-next { margin: 40px 0 0; padding: 20px 0; border-top: 2px solid var(--gold); border-bottom: 1px solid rgba(196,146,10,0.35); }
  .read-next-label { display: block; font-family: 'Outfit', sans-serif; font-size: 0.72rem; font-weight: 600; letter-spacing: 0.14em; text-transform: uppercase; color: var(--gold-dk); margin-bottom: 6px; }
  .read-next a { font-family: 'Cormorant Garamond', serif; font-size: 1.4rem; font-weight: 700; color: var(--navy); text-decoration: none; }
  .read-next a:hover { color: var(--gold-dk); }

  .author-box { display: grid; grid-template-columns: 96px 1fr; gap: 22px; align-items: start; border-top: 1px solid rgba(196,146,10,0.35); padding: 36px 0 20px; margin-top: 48px; }
  .author-box img { width: 96px; height: 96px; border-radius: 50%; object-fit: cover; }
  .author-box h2 { font-size: 1.4rem; margin: 0 0 6px; }
  .author-box p { font-size: 1.05rem; line-height: 1.7; margin-bottom: 0.8em; }

  .talk-cta { background: var(--navy); text-align: center; padding: 64px 24px; }
  .talk-cta p.lead { font-family: 'Outfit', sans-serif; font-size: 0.8rem; color: rgba(255,255,255,0.7); margin-bottom: 10px; }
  .talk-cta h2 { color: var(--white); font-size: clamp(1.7rem, 4vw, 2.4rem); margin-bottom: 14px; }
  .talk-cta p { color: rgba(255,255,255,0.7); font-size: 1.08rem; max-width: 520px; margin: 0 auto 28px; line-height: 1.7; }
  .btn-gold {
    display: inline-block; font-family: 'Outfit', sans-serif; font-size: 0.78rem; font-weight: 700; letter-spacing: 0.14em; text-transform: uppercase;
    background: linear-gradient(135deg, var(--gold-dk) 0%, var(--gold) 45%, var(--gold-lt) 100%); color: var(--navy);
    padding: 14px 30px; text-decoration: none; border-radius: 2px; box-shadow: 0 2px 12px rgba(196,146,10,0.28);
  }
  .back-link { display: inline-block; margin-top: 28px; font-family: 'Outfit', sans-serif; font-size: 0.78rem; color: rgba(255,255,255,0.7); text-decoration: none; }
  .back-link:hover { color: var(--gold-lt); }
  @media (max-width: 768px) {
    .post-hero { padding: 96px 0 44px; }
    .post-body { padding: 44px 0 24px; }
    .post-body p, .post-body li { font-size: 1.1rem; }
    .author-box { grid-template-columns: 64px 1fr; gap: 16px; }
    .author-box img { width: 64px; height: 64px; }
  }

/* ── page styles ── */
  /* Gold links on navy (2026-10-08), same look as the California page.
     Plain "a" only reaches links that had no color set, so styled links stay as they are. */
  a { color: #E8B830; text-decoration-color: rgba(232,184,48,0.45); text-decoration-thickness: 1px; text-underline-offset: 3px; }
  a:hover { text-decoration-color: #E8B830; }
  .cta-sub a { text-decoration: none; }

/* ── page styles ── */
  /* Pull line inside an article (post 9, 2026-10-10) */
  .post-body p.pull { font-family: 'Cormorant Garamond', Georgia, serif; font-size: 1.6rem; font-weight: 600; line-height: 1.3; color: var(--navy); border-left: 3px solid var(--gold); padding: 4px 0 4px 18px; margin: 28px 0; }
  @media (max-width: 600px) { .post-body p.pull { font-size: 1.35rem; } }

  /* Insights masthead and topic row (2026-10-08) */
  .ins-mastbar { text-align: center; border-bottom: 1px solid rgba(196,146,10,0.35); margin: 0 0 22px; }
  .ins-mast { display: inline-block; font-family: 'Gloock', 'Cormorant Garamond', serif; font-weight: 400; font-size: 2.4rem; line-height: 0.98; letter-spacing: -0.012em; color: #F4EFE4; text-decoration: none; }
  .ins-mast:hover, .ins-mast:focus-visible { color: #FFFFFF; }
  .ins-wm-i { position: relative; display: inline-block; }
  .ins-wm-dot { position: absolute; left: 0.158em; top: 0.1825em; width: 0.215em; height: 0.215em; transform: translate(-50%, -50%); border-radius: 50%; background: radial-gradient(circle at 38% 34%, #F8E29A 0%, #DDB540 40%, #C49A1A 70%, #A9850F 100%); box-shadow: 0 0 0.1em 0.03em rgba(242,204,96,0.58), 0 0 0.41em 0.14em rgba(196,154,26,0.32), 0 0 1.15em 0.49em rgba(196,154,26,0.14); }
  .ins-topics { display: flex; justify-content: safe center; gap: 6px 18px; margin: 14px 0 0; padding: 0 0 12px; overflow-x: auto; scrollbar-width: none; -webkit-overflow-scrolling: touch; }
  .ins-topics::-webkit-scrollbar { display: none; }
  .ins-topics a { flex: 0 0 auto; font-family: 'Outfit', sans-serif; font-size: 0.68rem; font-weight: 600; letter-spacing: 0.12em; text-transform: uppercase; color: rgba(255,255,255,0.7); text-decoration: none; padding: 4px 0; border-bottom: 1px solid transparent; transition: color 0.2s, border-color 0.2s; }
  .ins-topics a:hover, .ins-topics a:focus-visible { color: #E8B830; }
  .ins-topics a.is-on { color: #E8B830; border-bottom-color: rgba(232,184,48,0.6); }
  @media (max-width: 600px) { .ins-mast { font-size: 2rem; } }
  @media (max-width: 700px) {
    .ins-topics { justify-content: flex-start; gap: 6px 18px; margin-left: -24px; margin-right: -24px; padding-left: 24px; padding-right: 24px;
      -webkit-mask-image: linear-gradient(90deg, #000 85%, transparent); mask-image: linear-gradient(90deg, #000 85%, transparent); }
  }

/* ── page styles ── */
  /* Share, More from Insights, byline link, print (2026-10-08) */
  .post-meta a.byline { color: inherit; text-decoration: none; border-bottom: 1px solid rgba(255,255,255,0.25); }
  .post-meta a.byline:hover { color: #E8B830; border-bottom-color: rgba(232,184,48,0.6); }
  .share-btn { font-family: 'Outfit', sans-serif; font-size: 0.68rem; font-weight: 600; letter-spacing: 0.12em; text-transform: uppercase; background: transparent; color: rgba(255,255,255,0.75); border: 1px solid rgba(255,255,255,0.3); border-radius: 2px; padding: 5px 12px; cursor: pointer; transition: color 0.2s, border-color 0.2s; }
  .share-btn:hover, .share-btn:focus-visible { color: #E8B830; border-color: #E8B830; }
  .post-meta .share-btn { border: 0; padding: 4px 0; display: inline-flex; align-items: center; gap: 6px; letter-spacing: 0.1em; }
  .post-meta .share-btn svg { width: 14px; height: 14px; }
  .share-end { display: flex; align-items: center; gap: 14px; flex-wrap: wrap; margin: 40px 0 0; font-family: 'Outfit', sans-serif; font-size: 0.85rem; color: var(--mid); }
  .share-end .share-btn { color: var(--navy); border-color: rgba(7,17,30,0.3); padding: 9px 18px; font-size: 0.72rem; }
  .share-end .share-btn:hover, .share-end .share-btn:focus-visible { color: var(--gold-dk); border-color: var(--gold-dk); }
  .share-note { font-family: 'Outfit', sans-serif; font-size: 0.8rem; color: var(--gold-dk); min-height: 1em; }
  .more-ins { margin: 44px 0 0; }
  .post-body .more-ins-label, .more-ins-label { display: block; line-height: 1.4; font-family: 'Outfit', sans-serif; font-size: 0.72rem; font-weight: 600; letter-spacing: 0.14em; text-transform: uppercase; color: var(--gold-dk); margin: 0 0 14px; }
  .rel-card { display: grid; grid-template-columns: 72px 1fr; gap: 16px; align-items: center; padding: 14px 0; border-top: 1px solid rgba(7,17,30,0.1); text-decoration: none; color: inherit; }
  .rel-card:last-child { border-bottom: 1px solid rgba(7,17,30,0.1); }
  .rel-num { display: flex; align-items: center; justify-content: center; width: 72px; height: 72px; background: var(--navy); color: rgba(232,184,48,0.55); font-family: 'Cormorant Garamond', serif; font-size: 2rem; font-weight: 700; border-radius: 3px; }
  .rel-body { display: flex; flex-direction: column; gap: 4px; }
  .rel-topics { font-family: 'Outfit', sans-serif; font-size: 0.66rem; font-weight: 600; letter-spacing: 0.14em; text-transform: uppercase; color: var(--gold-dk); }
  .rel-title { font-family: 'Cormorant Garamond', serif; font-size: 1.3rem; font-weight: 700; line-height: 1.15; color: var(--navy); transition: color 0.2s; }
  .rel-card:hover .rel-title, .rel-card:focus-visible .rel-title { color: var(--gold-dk); }
  .rel-meta { font-family: 'Outfit', sans-serif; font-size: 0.75rem; color: var(--mid); }
  .print-only { display: none; }
  @media (max-width: 600px) { .rel-card { grid-template-columns: 56px 1fr; gap: 14px; } .rel-num { width: 56px; height: 56px; font-size: 1.6rem; } .rel-title { font-size: 1.18rem; } }
  @media print {
    @page { margin: 0.7in; }
    html, body { background: #fff !important; color: #000 !important; }
    body { padding-top: 0 !important; }
    body > nav, nav, .ckh, .ckh-menu, .mobile-menu, #mobileMenu, .ins-topics, .share-btn, .share-end, .more-ins, .read-next, .post-signup, .talk-cta, footer, .crumbs, script { display: none !important; }
    .post-hero { background: #fff !important; padding: 0 0 12px !important; }
    .post-hero::before { display: none !important; }
    .post-hero h1, .post-hero * { color: #000 !important; }
    .ins-mastbar { border-bottom: 1px solid #999; margin-bottom: 12px; }
    .ins-wm-dot { box-shadow: none !important; -webkit-print-color-adjust: exact; print-color-adjust: exact; }
    .post-tags a { border-color: #999 !important; }
    .post-body { background: #fff !important; padding-top: 0 !important; }
    .post-body, .post-body * { color: #000 !important; }
    .post-wrap { max-width: none !important; padding: 0 !important; }
    .post-body a { text-decoration: underline; }
    .post-body div, .post-body aside, .post-body section, .post-body blockquote { background: #fff !important; box-shadow: none !important; }
    .try-this, .quick-answer { border: 1px solid #999 !important; }
    figure, img, blockquote, .quick-answer, .author-box { break-inside: avoid; page-break-inside: avoid; }
    img { max-width: 100% !important; height: auto !important; }
    .story-photo img { max-height: 2.5in; width: auto !important; margin: 0 auto; display: block; }
    h2, h3 { break-after: avoid; page-break-after: avoid; }
    .post-body p, .post-body li, .post-body blockquote { font-size: 11pt !important; line-height: 1.45 !important; margin-bottom: 0.6em !important; }
    .post-body h2 { font-size: 15pt !important; margin: 1em 0 0.4em !important; }
    .post-body h3 { font-size: 12.5pt !important; margin: 0.8em 0 0.3em !important; }
    .post-hero h1 { font-size: 22pt !important; margin-bottom: 6pt !important; }
    .try-this, .quick-answer { padding: 10pt 14pt !important; margin: 10pt 0 !important; }
    .story-photo { margin: 10pt auto !important; }
    .story-photo figcaption { font-size: 9pt !important; margin-top: 4pt !important; }
    .sources li, .sources p { font-size: 8.5pt !important; line-height: 1.35 !important; }
    .print-only { display: block !important; margin-top: 24px; padding-top: 10px; border-top: 1px solid #999; font-family: 'Outfit', sans-serif; font-size: 9pt; }
  }

/* ── page styles ── *//* audience dropdown on small screens (2026-10-09) */@media (max-width: 420px){select[name="audience"]{font-size:0.88rem !important;padding-right:30px !important;background-position:right 10px center !important;text-overflow:ellipsis}}
/* ── page styles ── */
/* Menu fit (2026-10-09): tighter spacing on narrow desktops so the Documents link fits,
   and the phone-style menu button on tablets (769-1000px) instead of a menu that wraps. */
@media (min-width: 1001px) and (max-width: 1300px) { nav { padding-left: 28px; padding-right: 28px; } .nav-links { gap: 20px; } .nav-links a { letter-spacing: 0.12em; } }
@media (min-width: 1001px) and (max-width: 1100px) { nav { padding-left: 20px; padding-right: 20px; } .nav-links { gap: 13px; } .nav-links a { font-size: 0.64rem; letter-spacing: 0.07em; } .nav-cta { padding: 9px 14px; } }
@media (min-width: 769px) and (max-width: 1000px) {
  nav { padding-left: 28px; padding-right: 28px; gap: 18px; }
  nav .nav-links { display: none !important; }
  nav .nav-logo { margin-right: auto; }
  nav .hamburger { display: flex !important; flex-direction: column; justify-content: center; gap: 5px; background: none; border: none; cursor: pointer; padding: 6px; z-index: 200; flex-shrink: 0; }
  nav .hamburger span { display: block; width: 22px; height: 2px; background: rgba(255,255,255,0.75); border-radius: 2px; transition: transform 0.25s ease, opacity 0.25s ease; }
  nav .hamburger.open span:nth-child(1) { transform: translateY(7px) rotate(45deg); }
  nav .hamburger.open span:nth-child(2) { opacity: 0; }
  nav .hamburger.open span:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }
  .mobile-menu { position: fixed; top: 64px; left: 0; right: 0; bottom: 0; background: #07111E; z-index: 99; flex-direction: column; align-items: center; justify-content: center; border-top: 1px solid rgba(196,146,10,0.28); overflow-y: auto; }
  .mobile-menu.open { display: flex !important; }
  .mobile-menu a { font-family: 'Outfit', sans-serif; font-size: 1rem; font-weight: 500; letter-spacing: 0.18em; text-transform: uppercase; color: rgba(255,255,255,0.68); text-decoration: none; padding: 18px 0; width: 100%; text-align: center; border-bottom: 1px solid rgba(255,255,255,0.05); }
  .mobile-menu a:hover, .mobile-menu a.active { color: #E8B830; background: rgba(196,146,10,0.04); }
  .mobile-menu .mobile-cta { margin-top: 24px; background: linear-gradient(135deg, #9A7008, #C4920A, #E8B830); color: #07111E !important; font-weight: 700; padding: 16px 48px !important; width: auto !important; border-bottom: none !important; }
}

/* ── ck-contrast ── */
/* Readable gold text (added 2026-10-09): darker gold on light backgrounds, stronger gold on dark ones, so every label passes the WCAG AA contrast check. */
#moreInsHeading { color: #7E5A05 !important; }
div.post-body > div.post-wrap > p.read-next > span.read-next-label { color: #7E5A05 !important; }
div.post-wrap > aside.author-box > div > p:nth-of-type(1) > a:not(:hover) { color: #7E5A05 !important; }
div.post-wrap > aside.author-box > div > p:nth-of-type(2) > a:not(:hover) { color: #7E5A05 !important; }
div.post-wrap > div.sources > ul > li:nth-of-type(1) > a:not(:hover) { color: #7E5A05 !important; }
div.post-wrap > div.sources > ul > li:nth-of-type(2) > a:not(:hover) { color: #7E5A05 !important; }
div.post-wrap > div.sources > ul > li:nth-of-type(3) > a:not(:hover) { color: #7E5A05 !important; }
div.post-wrap > div.sources > ul > li:nth-of-type(4) > a:not(:hover) { color: #7E5A05 !important; }
div.post-wrap > div.sources > ul > li:nth-of-type(5) > a:not(:hover) { color: #7E5A05 !important; }
div.post-wrap > div.sources > ul > li > a:not(:hover) { color: #7E5A05 !important; }
div.post-wrap > div.try-this a:not(:hover) { color: var(--gold-lt) !important; text-decoration: underline; text-decoration-color: rgba(232, 184, 48, 0.5); }
div.post-wrap > section.post-signup > p.post-signup-alt > a:not(:hover) { color: #7E5A05 !important; }
div.post-wrap > section.post-signup > p:nth-of-type(1) > em { color: #7E5A05 !important; }
div.rel-list > a.rel-card > span.rel-body > span.rel-topics:not(:hover) { color: #7E5A05 !important; }
footer > div.footer-programs > span.footer-programs-label { color: rgba(196, 146, 10, 0.8) !important; }

/* ── ck-contrast-footer ── */
/* Readable footer text (added 2026-10-09): the faint gray links and copyright line are brighter so they pass the WCAG AA contrast check. Hover and gold link colors are unchanged. */
footer.ckf .ckf-links a:not(.active):not(.ckf-shop):not([style]):not([aria-current]):not(:hover),
.footer-links a:not(.active):not(.ckf-shop):not([style]):not([aria-current]):not(:hover),
footer.ckf .ckf-programs a:not(.active):not(.ckf-shop):not([style]):not([aria-current]):not(:hover),
.footer-programs a:not(.active):not(.ckf-shop):not([style]):not([aria-current]):not(:hover),
footer.ckf .ckf-copy,
.footer-copy { color: rgba(255, 255, 255, 0.7) !important; }

/* ── ck-legal ── */
/* Privacy and Terms links in the footer (added 2026-10-09). */
.ckf-copy a, .footer-copy a { color:inherit; text-decoration:none; border-bottom:1px solid rgba(255,255,255,0.28); }
.ckf-copy a:hover, .footer-copy a:hover { color:#E8B830; border-bottom-color:#E8B830; }

/* ── ck-subscribe ── */
/* Subscribe button + overlay (added 2026-10-10). The button sits in the article byline row and the Insights hero;
   it opens a small sign-up card in place, so the reader never leaves the page. */
/* Filled gold like the header's Book Chad button, so it reads as a button and not as one of the gold-outlined topic tags beside it. */
.sub-btn { font-family:'Outfit',sans-serif; font-size:0.68rem; font-weight:700; letter-spacing:0.12em; text-transform:uppercase; color:#07111E; background:linear-gradient(135deg,#9A7008 0%,#C4920A 45%,#E8B830 100%); border:0; border-radius:2px; padding:7px 14px; cursor:pointer; line-height:1.2; box-shadow:0 2px 10px rgba(196,146,10,0.25); transition:opacity .2s, transform .2s, box-shadow .2s; }
.sub-btn:hover { opacity:0.94; transform:translateY(-1px); box-shadow:0 5px 18px rgba(196,146,10,0.38); }
.sub-btn:focus-visible { outline:2px solid #E8B830; outline-offset:3px; }
.ar-hero-cta { display:flex; align-items:center; flex-wrap:wrap; gap:12px 16px; margin:22px 0 0; }
.ar-hero-cta .sub-btn { padding:10px 20px; font-size:0.72rem; }
.ar-hero-cta span { font-family:'Crimson Pro',Georgia,serif; font-size:1rem; color:rgba(255,255,255,0.7); }
.sub-overlay { position:fixed; inset:0; z-index:9000; background:rgba(7,17,30,0.76); -webkit-backdrop-filter:blur(3px); backdrop-filter:blur(3px); display:flex; align-items:center; justify-content:center; padding:20px; }
.sub-overlay[hidden] { display:none; }
.sub-card { position:relative; width:100%; max-width:440px; background:#FAFAF7; border-top:3px solid #C4920A; box-shadow:0 24px 60px rgba(0,0,0,0.45); color:#1A2433; }
.sub-head { position:relative; background:#07111E; padding:26px 30px 22px; text-align:center; }
.sub-close { position:absolute; top:8px; right:8px; width:38px; height:38px; border:0; background:transparent; color:rgba(250,250,247,0.75); font-size:26px; line-height:1; cursor:pointer; border-radius:50%; }
.sub-close:hover, .sub-close:focus-visible { background:rgba(250,250,247,0.1); color:#FFFFFF; outline:none; }
.sub-wm { font-family:'Gloock','Cormorant Garamond',Georgia,serif; font-weight:400; font-size:2.5rem; line-height:1; letter-spacing:-0.012em; color:#F4EFE4; margin:0; }
.sub-wm-i { position:relative; display:inline-block; }
.sub-wm-dot { position:absolute; left:0.158em; top:0.1825em; width:0.215em; height:0.215em; transform:translate(-50%,-50%); border-radius:50%; background:radial-gradient(circle at 38% 34%, #F8E29A 0%, #DDB540 40%, #C49A1A 70%, #A9850F 100%); box-shadow:0 0 0.1em 0.03em rgba(242,204,96,0.58), 0 0 0.41em 0.14em rgba(196,154,26,0.32); }
.sub-body { padding:24px 30px; }
.sub-tag { font-family:'Crimson Pro',Georgia,serif; font-style:italic; font-size:1.02rem; color:rgba(250,250,247,0.72); margin:8px 0 0; }
.sub-success { text-align:center; padding:4px 0 2px; }
.sub-ok-title { font-family:'Cormorant Garamond',Georgia,serif; font-size:1.75rem; font-weight:700; line-height:1.15; color:#07111E; margin:0 0 8px; }
.sub-ok-text { font-family:'Crimson Pro',Georgia,serif; font-size:1.08rem; line-height:1.55; color:#1A2433; margin:0 0 20px; }
.sub-ok-btn { font-family:'Outfit',sans-serif; font-size:0.78rem; font-weight:700; letter-spacing:0.13em; text-transform:uppercase; color:#07111E; background:linear-gradient(135deg,#9A7008,#C4920A,#E8B830); border:0; border-radius:2px; padding:14px 28px; cursor:pointer; }
.sub-ok-btn:focus-visible { outline:2px solid #C4920A; outline-offset:3px; }
.sub-card.is-done .sub-gift, .sub-card.is-done .sub-fine, .sub-card.is-done .signup-done, .sub-card.is-done .ar-signup-done { display:none; }
.sub-gift { font-family:'Crimson Pro',Georgia,serif; font-size:1.02rem; line-height:1.5; color:#7E5A05; text-align:center; margin:12px 0 0; }
.sub-form { display:grid; gap:10px; }
.sub-form input, .sub-form select { width:100%; box-sizing:border-box; font-family:'Crimson Pro',Georgia,serif; font-size:1.05rem; color:#1A2433; background:#fff; border:1px solid rgba(7,17,30,0.25); border-radius:2px; padding:12px 14px; }
.sub-form input:focus, .sub-form select:focus { outline:2px solid #C4920A; outline-offset:1px; }
.sub-form button { font-family:'Outfit',sans-serif; font-size:0.78rem; font-weight:700; letter-spacing:0.13em; text-transform:uppercase; color:#07111E; background:linear-gradient(135deg,#9A7008,#C4920A,#E8B830); border:0; border-radius:2px; padding:14px 20px; cursor:pointer; }
.sub-form button:disabled { opacity:0.7; cursor:default; }
.sub-fine { font-family:'Outfit',sans-serif; font-size:0.74rem; color:#5B6472; margin:8px 0 0; line-height:1.5; text-align:center; }
.sub-fine a { color:#7E5A05; }
.sub-card .signup-done, .sub-card .ar-signup-done { font-family:'Cormorant Garamond',Georgia,serif; font-size:1.4rem; font-weight:700; color:#7E5A05; margin:0; text-align:center; }
body.sub-open { overflow:hidden; }
@media (max-width:520px) {
  .sub-overlay { align-items:flex-end; padding:0; }
  .sub-card { max-width:none; border-radius:14px 14px 0 0; overflow:hidden; }
  .sub-head { padding:22px 22px 18px; }
  .sub-body { padding:20px 22px 26px; }
}
.sub-sr { position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0 0 0 0); white-space:nowrap; }

/* ── ck-talk-link ── *//* 2026-10-11: the talk link in the "This post comes from the talk" box was default blue on navy */.talk-cta p a:not(.back-link){color:var(--gold-lt);text-decoration:underline;text-decoration-color:rgba(232,184,48,0.45);text-decoration-thickness:1px;text-underline-offset:3px}.talk-cta p a:not(.back-link):hover{text-decoration-color:var(--gold-lt)}
/* ── ck-menu-fit ── */
/* 2026-10-11: phone menu fits the screen. Rows tighten on short screens so Book Chad shows without scrolling, and when the
   list still runs long it starts at the top and scrolls (plain centering was cutting off Home above the screen). */
.mobile-menu, .ckh-menu { justify-content: flex-start !important; padding-top: 6px; padding-bottom: calc(72px + env(safe-area-inset-bottom, 0px)); }
.mobile-menu > :first-child, .ckh-menu > :first-child { margin-top: auto; }
.mobile-menu > :last-child, .ckh-menu > :last-child { margin-bottom: auto; }
.mobile-menu a, .ckh-menu a { padding-top: clamp(7px, 1.4vh, 18px) !important; padding-bottom: clamp(7px, 1.4vh, 18px) !important; }
.mobile-menu a, .ckh-menu a { padding-top: clamp(7px, 1.4dvh, 18px) !important; padding-bottom: clamp(7px, 1.4dvh, 18px) !important; }
.mobile-menu a.mobile-cta, .ckh-menu a.ckh-menu-cta { margin-top: clamp(10px, 2dvh, 24px) !important; padding-top: 13px !important; padding-bottom: 13px !important; }

/* ── ck-social ── *//* 2026-10-15: social logos in the footer, gold to match the site. One link per platform. */
.ck-social{display:flex;justify-content:center;flex-wrap:wrap;gap:4px;margin:18px 0 4px}
.ck-social a{width:44px;height:44px;display:inline-flex;align-items:center;justify-content:center;color:rgba(232,184,48,.75);border-radius:50%;transition:color .2s,transform .2s}
.ck-social a:hover,.ck-social a:focus-visible{color:#E8B830;transform:translateY(-2px)}
.ck-social a:focus-visible{outline:2px solid #E8B830;outline-offset:2px}
.ck-social svg{width:18px;height:18px;fill:currentColor;display:block}
@media (prefers-reduced-motion: reduce){.ck-social a{transition:none}.ck-social a:hover,.ck-social a:focus-visible{transform:none}}
.ck-social-handle{font-family:'Space Mono',monospace;font-size:.66rem;letter-spacing:.16em;color:rgba(232,184,48,.75);text-align:center;margin:-26px 0 0}
@media print{.ck-social,.ck-social-handle{display:none}}

/* ── ck-nav-aud ── *//* 2026-10-15: For Educators / For Students in the desktop menu only where they fit (1260px+); always in the phone menu and footer */
.ck-nav-aud{display:none}
@media (min-width:1260px){.ck-nav-aud{display:list-item}}

/* ── ck-yt ── *//* 2026-10-17: click-to-play YouTube Short, nothing loads until tapped */
.ck-yt{max-width:320px;margin:0 auto 36px}
.ck-yt-box{position:relative;aspect-ratio:9/16;background:var(--navy);cursor:pointer;overflow:hidden;box-shadow:0 8px 28px rgba(7,17,30,0.25)}
.ck-yt-box img{display:block;width:100%;height:100%;object-fit:cover;box-shadow:none}
.ck-yt-box iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.ck-yt-play{position:absolute;left:50%;top:50%;width:74px;height:74px;margin:-37px 0 0 -37px;border-radius:50%;background:linear-gradient(135deg,var(--gold-dk) 0%,var(--gold) 45%,var(--gold-lt) 100%);box-shadow:0 4px 18px rgba(0,0,0,.4);transition:transform .2s}
.ck-yt-play::after{content:'';position:absolute;left:30px;top:22px;border-left:24px solid var(--navy);border-top:15px solid transparent;border-bottom:15px solid transparent}
.ck-yt-box:hover .ck-yt-play{transform:scale(1.06)}
.ck-yt-box:focus-visible{outline:2px solid var(--gold-lt);outline-offset:3px}
@media print{.ck-yt{display:none}}

/* ── ck-nav-cta-fit ── *//* 2026-10-19: Book Chad on narrow phones. At 320-345px the button wrapped to two lines and its text sat left of center. Same fit as the Insights hub. */
@media (max-width:768px){.nav-cta{white-space:nowrap}}
@media (max-width:480px){body>nav{gap:8px}.nav-logo{font-size:1.12rem;min-width:0;flex-shrink:1;gap:8px}.nav-logo img{width:32px;height:32px;flex-shrink:0}.nav-cta{letter-spacing:.09em;padding:8px 11px;margin-left:auto;flex-shrink:0}.hamburger{flex-shrink:0;margin-right:-4px}}

/* ── ck-inline-photo ── *//* 2026-10-19: a cutout photo on cream that sits beside the text instead of breaking it up */
.inline-photo{float:right;width:42%;max-width:270px;margin:6px 0 14px 28px}
.inline-photo img{display:block;width:100%;height:auto}
.inline-photo figcaption{margin-top:6px;font-size:0.9rem;font-style:italic;text-align:center;color:var(--dark)}
.inline-photo.left{float:left;margin:6px 28px 14px 0}
.post-body h2{clear:both}
.inline-photo.landscape{width:55%;max-width:360px}
.try-this::after{content:"";display:block;clear:both}
.try-this .inline-photo figcaption{color:rgba(255,255,255,0.78)}
@media (max-width:600px){.inline-photo{width:44%;margin:4px -4px 10px 16px}.inline-photo.slim{width:34%}.inline-photo.left{margin:4px 16px 10px -4px}.inline-photo figcaption{font-size:0.8rem}.inline-photo.landscape{width:50%}}
@media print{.inline-photo{width:1.9in;margin:0 0 6pt 12pt}.inline-photo.left{margin:0 12pt 6pt 0}}

