
:root{--blue:#2a3eb1;--purple:#4B0082;--purple-light:#6A0DAD;--charcoal:#252525;--text:#292929}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Arial,Helvetica,sans-serif;color:var(--text);background:white}a{color:inherit}.site-header{background:var(--charcoal);color:white;min-height:76px;display:flex;align-items:center;justify-content:space-between;padding:15px max(24px,calc((100vw - 1200px)/2));gap:20px}.brand{font-size:1.12rem;font-weight:700;text-decoration:none;letter-spacing:.02em}.site-nav{display:flex;gap:26px;align-items:center}.site-nav a{text-decoration:none;font-size:1rem}.site-nav a:hover,.site-nav a[aria-current=page]{text-decoration:underline}.menu-toggle{display:none;border:1px solid #aaa;background:transparent;color:white;padding:9px 12px;border-radius:4px;font-size:1rem}.site-footer{background:var(--charcoal);color:white;text-align:center;padding:28px 16px;font-size:.9rem}.site-footer nav{display:flex;gap:22px;flex-wrap:wrap;justify-content:center;margin:0 0 15px}.site-footer a{color:white}.home-hero{background:#4B0082;color:white;text-align:center;padding:86px 22px}.home-hero h1{font-size:clamp(2.4rem,5.5vw,4.2rem);margin:0 0 16px}.home-hero p{font-size:clamp(1.3rem,2.5vw,2rem);margin:0}.welcome{max-width:950px;margin:0 auto;padding:55px 24px 70px;line-height:1.7;font-size:1.18rem}.welcome h2{font-size:2.1rem;line-height:1.2;margin-top:0}.welcome .strapline{font-size:1.5rem;font-weight:600}.welcome ul{padding-left:28px}.quicklinks{display:flex;flex-wrap:wrap;gap:14px;margin-top:24px}.quicklinks a{background:#2a3eb1;color:white;padding:12px 22px;text-decoration:none;border-radius:4px}.quicklinks a:hover{filter:brightness(.9)}.books-page{background:#2a3eb1}.books-page>table{margin:0}.books-page table img{max-width:100%;object-fit:contain}.resources-page{background:#4B0082;color:white;padding:40px 16px 48px;min-height:55vh}.resources-page h1{text-align:center;font-size:clamp(2rem,4vw,3.4rem);margin:0 0 14px}.resources-page .intro{text-align:center;max-width:760px;margin:0 auto 30px;font-size:1.15rem;line-height:1.5}.resources-page .resource-table-wrapper{overflow-x:auto}.resources-page .resource-table-wrapper>div{min-width:360px}.newsletter-section{background:#4B0082;padding:0 16px 38px}.legal{max-width:900px;margin:0 auto;padding:44px 24px 75px;line-height:1.65}.legal h1{font-size:2.5rem}.legal h2{font-size:1.2rem;margin-top:28px}.legal p{margin:10px 0 18px}.legal-note{background:#fff5e8;border-left:4px solid #a56b1f;padding:12px 18px;margin:0 0 25px}.site-header a:focus-visible,.site-footer a:focus-visible,.quicklinks a:focus-visible{outline:3px solid #f8d75e;outline-offset:4px}
@media(max-width:740px){.site-header{flex-wrap:wrap;padding:16px 20px}.menu-toggle{display:block}.site-nav{display:none;flex-basis:100%;flex-direction:column;align-items:flex-start;gap:0}.site-nav.is-open{display:flex}.site-nav a{width:100%;padding:12px 0}.books-page>table{width:100%!important}.books-page>table>tbody>tr>td{padding:0!important}.books-page table table td{padding:4px!important}.books-page table div[style*="3.6rem"]{font-size:clamp(1.8rem,7vw,3.6rem)!important}.books-page table div[style*="2.2rem"]{font-size:clamp(1.3rem,5vw,2.2rem)!important}.welcome{padding:40px 20px}}

/* Homepage: extend original Teachable-style indigo purple through welcome section. */
body:has(.home-hero){background:#4B0082}
.home-hero{background:#4B0082;padding-bottom:48px}
.welcome{background:#4B0082;color:#fff;max-width:none;padding:40px max(24px,calc((100vw - 950px)/2)) 78px}
.welcome h2,.welcome .strapline{color:#fff}

/* Approved Teachable violet gradient applied to homepage only; original layout preserved. */
body:has(.home-hero){background:#4D00FE}
.home-hero{background:linear-gradient(180deg,#6100FF 0%,#4D00FE 100%)}
.welcome{background:linear-gradient(180deg,#4D00FE 0%,#6100FF 100%)}

/* Brand logo in the site header */
.brand{display:inline-flex;align-items:center;gap:10px;min-width:0}.brand-logo{width:44px;height:44px;object-fit:contain;flex-shrink:0}@media(max-width:480px){.brand{font-size:.94rem;gap:7px}.brand-logo{width:36px;height:36px}}

/* Mobile books layout: prevent horizontal overflow and show two covers per row. */
@media (max-width:740px) {
  .books-page {width:100%; overflow-x:hidden;}
  .books-page > table {display:block; width:100% !important; max-width:100%; padding:18px 14px 10px !important;}
  .books-page > table > tbody,
  .books-page > table > tbody > tr,
  .books-page > table > tbody > tr > td {display:block; width:100%; max-width:100%;}
  .books-page > table > tbody > tr > td > div {max-width:100% !important;}
  .books-page > table:first-child > tbody > tr > td > div:first-of-type {
    white-space:normal !important;
    overflow-wrap:normal;
    font-size:clamp(1.5rem,6vw,2.2rem) !important;
    line-height:1.16;
    margin:10px auto 18px !important;
  }
  .books-page > table > tbody > tr > td > div:nth-of-type(2),
  .books-page > table:nth-child(2) > tbody > tr > td > div:first-of-type {
    font-size:clamp(1.15rem,4.8vw,1.6rem) !important;
    line-height:1.25;
    margin:0 auto 12px !important;
  }
  .books-page > table > tbody > tr > td > table {display:block; width:100% !important; max-width:520px !important; margin:0 auto !important;}
  .books-page > table > tbody > tr > td > table > tbody {display:block;}
  .books-page > table > tbody > tr > td > table > tbody > tr {
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:14px;
  }
  .books-page > table > tbody > tr > td > table > tbody > tr > td {
    display:block;
    width:auto !important;
    min-width:0;
    padding:0 !important;
  }
  .books-page > table > tbody > tr > td > table img {width:100% !important; max-width:225px; height:auto;}
  .books-page > table:nth-child(2) {padding-top:12px !important; padding-bottom:22px !important;}
}
