
  /* ── TOKENS ── */
  :root {
    --navy:   #1C3358;
    --navy2:  #162948;
    --gold:   #B07D2A;
    --gold2:  #C99235;
    --cream:  #F9F6F0;
    --light:  #EEE9E0;
    --text:   #1a1a1a;
    --muted:  #5a5a5a;
    --white:  #ffffff;
    --radius: 6px;
  }

  *, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }

  html { scroll-behavior: smooth; }
  section[id] { scroll-margin-top: 76px; }

  body {
    font-family: 'Source Sans 3', sans-serif;
    font-size: 17px;
    line-height: 1.7;
    color: var(--text);
    background: var(--cream);
  }
  img { max-width: 100%; }
  a:focus-visible, button:focus-visible, input:focus-visible {
    outline: 3px solid var(--gold2);
    outline-offset: 3px;
  }
  .sr-only {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0,0,0,0);
    white-space: nowrap;
    border: 0;
  }

  /* ── NAV ── */
  nav {
    background: var(--navy);
    padding: 0 2rem;
    display: flex;
    align-items: center;
    justify-content: space-between;
    height: 60px;
    position: sticky;
    top: 0;
    z-index: 100;
  }
  .nav-logo {
    font-family: 'Playfair Display', serif;
    font-size: 1.1rem;
    color: var(--gold2);
    letter-spacing: .08em;
    text-decoration: none;
    white-space: nowrap;
  }
  .nav-links { display: flex; gap: 2rem; }
  .nav-links a {
    color: rgba(255,255,255,.75);
    text-decoration: none;
    font-size: .9rem;
    font-weight: 600;
    letter-spacing: .04em;
    transition: color .2s;
  }
  .nav-links a { white-space: nowrap; }
  .nav-links a:hover { color: var(--gold2); }
  @media(max-width:480px) {
    nav { padding: 0 1rem; }
    .nav-logo { font-size: .9rem; }
    .nav-links { gap: .75rem; }
    .nav-links a { font-size: .78rem; letter-spacing: .02em; }
  }

  /* ── HERO ── */
  .hero {
    background: var(--navy);
    color: var(--white);
    padding: 80px 2rem 90px;
    text-align: center;
  }
  .hero-eyebrow {
    font-size: .8rem;
    font-weight: 600;
    letter-spacing: .18em;
    text-transform: uppercase;
    color: var(--gold2);
    margin-bottom: 1.2rem;
  }
  .hero h1 {
    font-family: 'Playfair Display', serif;
    font-size: clamp(2rem, 5vw, 3.4rem);
    line-height: 1.15;
    max-width: 760px;
    margin: 0 auto 1.4rem;
  }
  .hero h1 em { color: var(--gold2); font-style: normal; }
  .hero-sub {
    font-size: 1.1rem;
    color: rgba(255,255,255,.8);
    max-width: 560px;
    margin: 0 auto 2.4rem;
  }

  /* Opt-in box */
  .opt-in-box {
    background: rgba(255,255,255,.06);
    border: 1px solid rgba(176,125,42,.35);
    border-radius: 10px;
    padding: 2rem 2rem 1.6rem;
    max-width: 680px;
    margin: 0 auto;
  }
  #beehiiv-hero-embed, #beehiiv-family-safety-embed { width: 100%; }
  #beehiiv-hero-embed iframe, #beehiiv-family-safety-embed iframe {
    width: 100% !important;
    max-width: 100% !important;
  }
  .opt-in-label {
    display: block;
    font-size: .78rem;
    font-weight: 600;
    letter-spacing: .14em;
    text-transform: uppercase;
    color: var(--gold2);
    margin-bottom: 1.1rem;
  }
  .opt-in-bullets {
    list-style: none;
    text-align: left;
    font-size: .9rem;
    color: rgba(255,255,255,.78);
    margin-bottom: 1.4rem;
    display: flex;
    flex-direction: column;
    gap: .5rem;
  }
  .opt-in-bullets li::before { content: "✓ "; color: var(--gold2); font-weight: 700; }
  .form-fine {
    font-size: .78rem;
    color: rgba(255,255,255,.45);
    margin-top: 1rem;
  }
  .opt-in-box--light {
    background: var(--white);
    border: 1px solid #e3dcc9;
    box-shadow: 0 1px 3px rgba(0,0,0,.04);
  }
  .opt-in-box--light .opt-in-bullets { color: var(--muted); }
  .opt-in-box--light .form-fine { color: #8a8a8a; }

  /* ── SOCIAL PROOF STRIP ── */
  .proof-strip {
    background: var(--light);
    border-top: 3px solid var(--gold);
    border-bottom: 1px solid #ddd6c8;
    padding: 1.4rem 2rem;
    display: flex;
    justify-content: center;
    gap: 3rem;
    flex-wrap: wrap;
  }
  .proof-item {
    text-align: center;
    font-size: .85rem;
  }
  .proof-item strong {
    display: block;
    font-family: 'Playfair Display', serif;
    font-size: 1.5rem;
    color: var(--navy);
  }
  .proof-item span { color: var(--muted); }

  /* ── SECTION SHELLS ── */
  section { padding: 72px 2rem; }
  .section-inner { max-width: 900px; margin: 0 auto; }
  .section-label {
    font-size: .75rem;
    font-weight: 700;
    letter-spacing: .18em;
    text-transform: uppercase;
    color: var(--gold);
    margin-bottom: .8rem;
  }
  .section-heading {
    font-family: 'Playfair Display', serif;
    font-size: clamp(1.6rem, 3.5vw, 2.4rem);
    color: var(--navy);
    line-height: 1.2;
    margin-bottom: 1rem;
  }
  .section-heading em { color: var(--gold); font-style: normal; }

  /* ── PROMPT PACK ── */
  .pack-section { background: var(--white); }
  .pack-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 2.5rem;
    margin-top: 2.5rem;
    align-items: start;
  }
  @media(max-width:640px){ .pack-grid { grid-template-columns:1fr; } }
  .pack-card {
    background: var(--navy);
    border-radius: 12px;
    padding: 2rem;
    color: var(--white);
  }
  .pack-badge {
    font-size: .7rem;
    font-weight: 700;
    letter-spacing: .14em;
    text-transform: uppercase;
    color: var(--gold2);
    margin-bottom: .6rem;
  }
  .pack-card h3 {
    font-family: 'Playfair Display', serif;
    font-size: 1.5rem;
    line-height: 1.2;
    margin-bottom: 1.4rem;
  }
  .pack-categories { display: flex; flex-direction: column; gap: .7rem; }
  .pack-cat {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: .55rem .9rem;
    background: rgba(255,255,255,.07);
    border-radius: var(--radius);
    font-size: .87rem;
  }
  .pack-cat-count {
    font-size: .75rem;
    color: var(--gold2);
    font-weight: 600;
  }
  .pack-details { display: flex; flex-direction: column; gap: 1rem; }
  .pack-detail {
    border-left: 3px solid var(--gold);
    padding-left: 1rem;
  }
  .pack-detail h4 {
    font-size: .95rem;
    font-weight: 700;
    color: var(--navy);
    margin-bottom: .2rem;
  }
  .pack-detail p { font-size: .88rem; color: var(--muted); line-height: 1.5; }
  .btn-gold {
    display: inline-block;
    margin-top: 1.8rem;
    background: var(--gold);
    color: var(--white);
    font-weight: 700;
    font-size: .95rem;
    letter-spacing: .04em;
    padding: .85rem 2rem;
    border-radius: var(--radius);
    text-decoration: none;
    transition: background .2s, transform .15s;
  }
  .btn-gold:hover { background: var(--gold2); transform: translateY(-1px); }

  /* ── BOOKS ── */
  .books-section { background: var(--cream); }
  .books-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 1.8rem;
    margin-top: 2.5rem;
  }
  @media(max-width:720px){ .books-grid { grid-template-columns:1fr; } }

  .book-card {
    background: var(--white);
    border-radius: 10px;
    border: 1px solid #ddd6c8;
    overflow: hidden;
    display: flex;
    flex-direction: column;
    transition: box-shadow .2s, transform .2s;
  }
  .book-card:hover { box-shadow: 0 8px 32px rgba(28,51,88,.12); transform: translateY(-3px); }
  .book-card.coming-soon { opacity: .82; }

  .book-main {
    display: grid;
    grid-template-columns: 145px minmax(0,1fr);
    flex: 1;
  }
  .book-cover-link {
    display: block;
    background: var(--navy2);
    padding: 1rem .85rem;
    align-self: stretch;
  }
  .book-cover {
    display: block;
    width: 100%;
    height: auto;
    border-radius: 3px;
    box-shadow: 0 8px 24px rgba(0,0,0,.24);
  }
  .book-format {
    display: block;
    color: var(--muted);
    font-size: .76rem;
    margin: -.45rem 0 1rem;
  }
  @media(max-width:860px) and (min-width:721px) {
    .book-main { grid-template-columns: 115px minmax(0,1fr); }
    .book-cover-link { padding: 1rem .65rem; }
  }
  @media(max-width:420px) {
    .book-main { grid-template-columns: 1fr; }
    .book-cover-link { padding: 1.2rem; display: flex; justify-content: center; }
    .book-cover { width: 150px; }
    .book-body { padding: 1.15rem 1rem 1.35rem; }
  }

  .book-num {
    background: var(--navy);
    color: var(--gold2);
    font-family: 'Playfair Display', serif;
    font-size: .75rem;
    font-weight: 700;
    letter-spacing: .14em;
    text-transform: uppercase;
    padding: .55rem 1.1rem;
    display: flex;
    justify-content: space-between;
    align-items: center;
  }
  .book-level {
    font-family: 'Source Sans 3', sans-serif;
    font-size: .72rem;
    color: rgba(255,255,255,.55);
    letter-spacing: .1em;
  }
  .book-body { padding: 1.4rem 1.4rem 1.8rem; flex: 1; display: flex; flex-direction: column; }
  .book-title {
    font-family: 'Playfair Display', serif;
    font-size: 1.2rem;
    color: var(--navy);
    line-height: 1.25;
    margin-bottom: .7rem;
  }
  .book-desc { font-size: .88rem; color: var(--muted); line-height: 1.6; flex: 1; margin-bottom: 1.2rem; }
  .book-tags { display: flex; flex-wrap: wrap; gap: .4rem; margin-bottom: 1.2rem; }
  .book-tag {
    font-size: .72rem;
    font-weight: 600;
    letter-spacing: .06em;
    text-transform: uppercase;
    background: var(--light);
    color: var(--navy);
    padding: .25rem .65rem;
    border-radius: 20px;
  }
  .btn-amazon {
    display: block;
    text-align: center;
    background: var(--navy);
    color: var(--white);
    font-weight: 700;
    font-size: .88rem;
    letter-spacing: .04em;
    padding: .75rem 1rem;
    border-radius: var(--radius);
    text-decoration: none;
    transition: background .2s;
  }
  .btn-amazon:hover { background: var(--gold); }
  .btn-soon {
    display: block;
    text-align: center;
    background: var(--light);
    color: var(--muted);
    font-weight: 700;
    font-size: .88rem;
    letter-spacing: .04em;
    padding: .75rem 1rem;
    border-radius: var(--radius);
    cursor: default;
    border: 1px dashed #ccc5b8;
  }
  .soon-badge {
    display: inline-block;
    background: var(--gold);
    color: var(--white);
    font-size: .68rem;
    font-weight: 700;
    letter-spacing: .1em;
    text-transform: uppercase;
    padding: .22rem .65rem;
    border-radius: 20px;
    margin-bottom: .7rem;
  }

  /* ── ABOUT ── */
  .about-section { background: var(--navy); color: var(--white); }
  .about-section .section-heading { color: var(--white); }
  .about-grid {
    display: grid;
    grid-template-columns: 240px 1fr;
    gap: 3rem;
    align-items: start;
    margin-top: 2rem;
  }
  @media(max-width:640px){ .about-grid { grid-template-columns:1fr; } }
  .about-photo {
    width: 100%;
    height: auto;
    aspect-ratio: 1 / 1;
    object-fit: cover;
    object-position: center;
    border-radius: 10px;
    border: 3px solid var(--gold);
    display: block;
  }
  @media(max-width:640px) {
    .about-photo { max-width: 300px; margin: 0 auto; }
  }
  .about-text p { color: rgba(255,255,255,.82); margin-bottom: 1rem; }
  .about-text p:last-child { margin-bottom: 0; }

  /* ── BOTTOM CTA ── */
  .cta-section {
    background: var(--light);
    text-align: center;
    border-top: 3px solid var(--gold);
  }
  .cta-section .section-heading { margin-bottom: .8rem; }
  .cta-sub { color: var(--muted); margin-bottom: 2rem; font-size: 1rem; }
  .cta-form-wrap {
    max-width: 520px;
    margin: 0 auto;
  }
  .cta-fine { font-size: .78rem; color: var(--muted); margin-top: .9rem; }

  /* ── NATIVE FORMS ── */
  .native-form { width: 100%; }
  .native-form-row {
    display: flex;
    gap: .6rem;
    flex-wrap: wrap;
  }
  .native-form-row--stacked {
    flex-direction: column;
    align-items: stretch;
  }
  .native-form input[type="text"],
  .native-form input[type="email"] {
    flex: 1;
    min-width: 0;
    padding: .75rem 1rem;
    border-radius: var(--radius);
    border: 1px solid rgba(176,125,42,.4);
    background: rgba(255,255,255,.08);
    color: var(--white);
    font-family: 'Source Sans 3', sans-serif;
    font-size: .95rem;
    outline: none;
    transition: border-color .2s, background .2s;
  }
  .native-form input[type="text"]::placeholder,
  .native-form input[type="email"]::placeholder { color: rgba(255,255,255,.45); }
  .native-form input[type="text"]:focus,
  .native-form input[type="email"]:focus {
    border-color: var(--gold2);
    background: rgba(255,255,255,.12);
  }
  .native-form button {
    padding: .75rem 1.4rem;
    background: var(--gold);
    color: var(--white);
    font-family: 'Source Sans 3', sans-serif;
    font-weight: 700;
    font-size: .92rem;
    border: none;
    border-radius: var(--radius);
    cursor: pointer;
    white-space: nowrap;
    transition: background .2s, transform .15s;
  }
  .native-form button:hover { background: var(--gold2); transform: translateY(-1px); }
  .native-form button:disabled { opacity: .6; cursor: default; transform: none; }

  /* Light variant (CTA section on cream bg) */
  .native-form--light input[type="text"],
  .native-form--light input[type="email"] {
    background: var(--white);
    color: var(--text);
    border: 1px solid #ccc5b8;
  }
  .native-form--light input[type="text"]::placeholder,
  .native-form--light input[type="email"]::placeholder { color: #aaa; }
  .native-form--light input[type="text"]:focus,
  .native-form--light input[type="email"]:focus {
    border-color: var(--navy);
    background: var(--white);
  }
  .native-form-row--stacked input,
  .native-form-row--stacked button { width: 100%; }

  @media(max-width:600px) {
    .hero .native-form-row { flex-direction: column; }
    .hero .native-form input,
    .hero .native-form button { width: 100%; }
  }

  .form-msg {
    margin-top: .7rem;
    font-size: .88rem;
    color: var(--gold2);
    min-height: 1.2em;
  }
  .form-msg--dark { color: var(--navy); }

  /* ── FOOTER ── */
  footer {
    background: var(--navy2);
    color: rgba(255,255,255,.45);
    text-align: center;
    padding: 1.6rem 2rem;
    font-size: .82rem;
    letter-spacing: .03em;
  }
  footer a { color: var(--gold2); text-decoration: none; }
  .footer-links {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    gap: .5rem 1.2rem;
    margin-top: .55rem;
  }
  .launch-note {
    max-width: 620px;
    margin: 1.5rem auto 0;
    font-size: .86rem;
    color: var(--muted);
    text-align: center;
  }

/* Conversion and landing-page layouts */
.hero {padding:36px 24px 44px}.hero-grid {max-width:1120px;margin:auto;display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:center;text-align:left}.hero h1{font-size:clamp(2rem,4vw,3.25rem)}.hero .hero-sub{margin:0 0 24px}.hero .opt-in-box{width:100%;padding:16px;scroll-margin-top:80px}.hero .opt-in-label{margin-bottom:8px}.hero .opt-in-bullets{margin-bottom:8px}.actions{display:flex;gap:12px;flex-wrap:wrap;margin:20px 0}.button{display:inline-block;padding:12px 20px;border-radius:6px;background:#f0c778;color:#162948;font-weight:700;text-decoration:none;line-height:1.5}.button.secondary{background:transparent;border:1px solid currentColor;color:inherit}.fine{font-size:.88rem;margin-top:12px}.fine a{color:inherit;text-decoration:underline}.book-details-link{display:block;margin-top:12px;color:var(--navy);font-weight:700}.choose-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:14px;margin-top:24px}.choose-card{padding:22px;border:1px solid #d8c9ae;border-radius:8px;background:white;color:var(--navy);text-decoration:none}.choose-card strong,.choose-card span{display:block}.choose-card span{font-size:.93rem;margin-top:8px}.landing{max-width:1000px;margin:auto;padding:44px 24px}.landing h1{font-family:Georgia,serif;font-size:clamp(2rem,5vw,3.3rem);line-height:1.15;color:var(--navy);margin:20px 0}.landing h2{font-family:Georgia,serif;color:var(--navy);margin:28px 0 12px}.landing ul{padding-left:24px}.landing p{margin:12px 0}.landing-grid{display:grid;grid-template-columns:260px 1fr;gap:48px;align-items:start}.landing-cover{width:260px;height:auto;border-radius:4px;box-shadow:0 15px 28px #1c335822}.resource-panel{max-width:600px;margin:30px auto;padding:24px;background:#fff;border:1px solid #ddd;border-radius:10px}.resource-panel iframe{width:100%;min-height:440px;border:0}.breadcrumbs{font-size:.9rem;margin-bottom:24px}.breadcrumbs a{color:var(--navy)}.sample{padding:24px;border-left:4px solid var(--gold);background:var(--cream);margin:20px 0}.resource-link{color:var(--navy);font-weight:bold}.form-fallback{font-size:.85rem;margin:12px 0}.form-fallback a{color:inherit;text-decoration:underline}.hero .form-fallback{color:white}.btn-gold,.btn-amazon{background:#edc478!important;color:#162948!important}.book-title a{color:inherit;text-decoration:none}
@media(max-width:760px){.hero-grid,.landing-grid{grid-template-columns:1fr;gap:24px}.hero{padding:24px 18px}.hero h1{font-size:2.15rem}.hero-eyebrow{margin-bottom:10px}.hero .hero-sub{font-size:1rem}.hero .opt-in-box{padding:12px}.landing-cover{width:180px;margin:auto}.landing{padding:28px 18px}.choose-grid{grid-template-columns:1fr}.nav-links{gap:12px}.nav-links a{font-size:.76rem}nav{padding:0 12px}.nav-logo{font-size:.85rem}.resource-panel{padding:16px}section{padding:40px 18px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
.skip-link{position:absolute;left:12px;top:-100px;z-index:1000;background:white;color:#162948;padding:12px}.skip-link:focus{top:12px}
#beehiiv-hero-embed{min-height:431px}
@media(max-width:760px){.landing-cover{width:130px}.landing h1{font-size:2rem}.landing-grid{gap:16px}.landing p{margin:10px 0}}
.resource-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,320px),1fr))}.resource-card{min-width:0}.resources-section{padding:40px 24px}.resource-card .btn-gold{white-space:normal;text-align:center}.resource-card .resource-cta{margin-top:auto;padding-top:12px}.resource-card .resource-cta .btn-gold{display:flex;align-items:center;justify-content:center;width:100%;min-height:54px;padding:14px 16px;line-height:1.5}
