/* Ladders ACT Prep — shared site frame (header, footer, full-width bands).
   Loaded last on every page so it sits on top of each page's own styles. */
:root{
  --lx-navy:#003366;--lx-navy-deep:#00254d;--lx-gold:#FFB800;--lx-gold-deep:#cf9500;--lx-gold-soft:#fff4d6;
  --lx-green:#00a352;--lx-green-ink:#0a7a42;--lx-ink:#13202e;--lx-muted:#5b6b7d;--lx-line:#dce5ef;--lx-mist:#f4f7fb;
  --lx-gutter:max(32px,calc((100% - 1200px) / 2));
  color-scheme:only light;
}
@media(max-width:640px){:root{--lx-gutter:18px}}

/* ---------- top strip ---------- */
.lx-top{background:var(--lx-navy-deep);color:#c9d6e5;font:700 .8rem/1.4 'Source Sans 3',system-ui,sans-serif;text-align:center;padding:8px 16px;letter-spacing:.02em}
.lx-top b{color:var(--lx-gold)}

/* ---------- header band: edge to edge ---------- */
.lx-head{position:sticky;top:0;z-index:200;background:var(--lx-navy);border-bottom:3px solid var(--lx-gold);font-family:'Source Sans 3',system-ui,sans-serif}
.lx-head .lx-in{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:14px var(--lx-gutter)}
.lx-brand{display:flex;align-items:center;gap:12px;text-decoration:none}
.lx-mark{width:42px;height:42px;border-radius:11px;background:var(--lx-gold);color:var(--lx-navy);display:flex;align-items:center;justify-content:center;font:900 1.3rem 'Playfair Display',Georgia,serif;flex:0 0 auto}
.lx-name{font:900 1.2rem/1.1 'Playfair Display',Georgia,serif;color:#fff;letter-spacing:-.01em}
.lx-name small{display:block;font:700 .62rem 'Source Sans 3',sans-serif;color:var(--lx-gold);text-transform:uppercase;letter-spacing:.16em;margin-top:4px}
.lx-nav{display:flex;align-items:center;gap:6px}
.lx-nav a{color:#dbe6f2;text-decoration:none;font-weight:700;font-size:.98rem;padding:9px 14px;border-radius:9px;white-space:nowrap}
.lx-nav a:hover{background:rgba(255,255,255,.1);color:#fff}
.lx-nav a.on{color:#fff;box-shadow:inset 0 -3px 0 var(--lx-gold);border-radius:0}
.lx-nav a.lx-cta{background:var(--lx-gold);color:var(--lx-navy);margin-left:8px;box-shadow:0 4px 0 var(--lx-gold-deep);border-radius:10px}
.lx-nav a.lx-cta:hover{background:var(--lx-gold);transform:translateY(1px);box-shadow:0 3px 0 var(--lx-gold-deep)}
@media(max-width:760px){
  .lx-head{position:relative}
  .lx-head .lx-in{flex-wrap:wrap;gap:10px;padding:12px var(--lx-gutter)}
  .lx-name{font-size:1.05rem}
  .lx-nav{width:100%;display:grid;grid-template-columns:1fr 1fr 1fr;gap:6px}
  .lx-nav a{font-size:.86rem;padding:9px 4px;text-align:center;white-space:normal;line-height:1.2;background:rgba(255,255,255,.07);border-radius:9px;display:flex;align-items:center;justify-content:center}
  .lx-nav a.on{box-shadow:inset 0 -3px 0 var(--lx-gold);border-radius:9px}
  .lx-nav a.lx-cta{margin-left:0;padding:9px 4px;box-shadow:0 3px 0 var(--lx-gold-deep)}
  .lx-cta .lx-long{display:none}
}
@media(min-width:761px){.lx-cta .lx-short{display:none}}


/* ---------- footer band: edge to edge ---------- */
footer.lx-foot{background:var(--lx-navy);color:#aebfd2;border-top:3px solid var(--lx-gold);padding:48px var(--lx-gutter) 30px;font-family:'Source Sans 3',system-ui,sans-serif;margin:0;text-align:left}
.lx-foot .lx-cols{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:34px}
.lx-foot .lx-name{font-size:1.25rem;color:#fff}
.lx-foot a.lx-brand{display:flex}
.lx-foot p{color:#aebfd2;font-size:.95rem;line-height:1.55;margin:12px 0 0;max-width:34ch}
footer.lx-foot h4{font:800 .72rem 'Source Sans 3',sans-serif;letter-spacing:.14em;text-transform:uppercase;color:var(--lx-gold);margin:4px 0 12px}
.lx-foot a:not(.lx-brand){display:block;color:#fff;text-decoration:none;font-weight:600;font-size:.95rem;padding:4px 0}
.lx-foot a:hover{color:var(--lx-gold)}
.lx-foot .lx-bottom{margin-top:36px;padding-top:18px;border-top:1px solid rgba(255,255,255,.14);display:flex;justify-content:space-between;gap:14px;flex-wrap:wrap;font-size:.84rem;color:#8ea3ba}
@media(max-width:860px){.lx-foot .lx-cols{grid-template-columns:1fr 1fr}.lx-foot .lx-cols>div:first-child{grid-column:1/-1}}
@media(max-width:420px){.lx-foot .lx-cols{grid-template-columns:1fr}}

/* ---------- inner pages: fit the old layouts under the new header ---------- */
.lx-page .phero{padding-top:88px}
.lx-page .art-head{padding-top:72px}
@media(max-width:760px){.lx-page .phero{padding-top:56px}.lx-page .art-head{padding-top:44px}}
.lx-page .reveal{opacity:1!important;transform:none!important}   /* content is always visible, even to search engines and link previews */
.lx-page .guide-grid{max-width:1200px;grid-template-columns:repeat(3,1fr)}
@media(max-width:1000px){.lx-page .guide-grid{grid-template-columns:1fr 1fr}}
@media(max-width:640px){.lx-page .guide-grid{grid-template-columns:1fr}}
.lx-page .wrap{max-width:1200px}

/* ======================================================================
   HOME PAGE (full-width bands, content on a 1200px grid)
   ====================================================================== */
.lx-home{margin:0;background:#fff;color:var(--lx-ink);font-family:'Source Sans 3',system-ui,sans-serif;line-height:1.55;-webkit-font-smoothing:antialiased}
.lx-home *{box-sizing:border-box}
.lx-home h1,.lx-home h2,.lx-home h3,.lx-home h4{font-family:'Playfair Display',Georgia,serif;color:var(--lx-navy);line-height:1.12;margin:0}
.lx-band{padding:72px var(--lx-gutter)}
.lx-band.mist{background:var(--lx-mist)}
.lx-band.navy{background:linear-gradient(135deg,var(--lx-navy),var(--lx-navy-deep));color:#fff}
.lx-band.navy h2{color:#fff}
@media(max-width:640px){.lx-band{padding:48px var(--lx-gutter)}}
.lx-kicker{display:block;font-weight:900;text-transform:uppercase;letter-spacing:.18em;font-size:.76rem;color:var(--lx-green);margin-bottom:14px}
.lx-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;font-weight:900;font-size:1.05rem;text-decoration:none;border-radius:12px;padding:16px 26px;transition:transform .08s,box-shadow .08s}
.lx-btn.gold{background:var(--lx-gold);color:var(--lx-navy);box-shadow:0 5px 0 var(--lx-gold-deep)}
.lx-btn.green{background:var(--lx-green);color:#fff;box-shadow:0 5px 0 #007a3d}
.lx-btn.ghost{background:transparent;color:#fff;border:2px solid rgba(255,255,255,.45)}
.lx-btn:hover{transform:translateY(2px)}

/* hero: headline left, coach card right */
.lx-hero{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);gap:56px;align-items:center}
.lx-hero h1{font-size:clamp(2.3rem,4.4vw,3.6rem);font-weight:900;letter-spacing:-.015em}
.lx-hero h1 em{font-style:normal;color:var(--lx-gold)}
.lx-hero .sub{font-size:1.2rem;color:var(--lx-muted);margin:18px 0 28px;max-width:44ch}
.lx-hero .ctas{display:flex;gap:14px;flex-wrap:wrap}
.lx-coach{background:linear-gradient(135deg,var(--lx-navy),var(--lx-navy-deep));color:#fff;border-radius:20px;padding:30px;box-shadow:0 24px 50px rgba(0,37,77,.2);position:relative;overflow:hidden}
.lx-coach:after{content:"";position:absolute;right:-90px;top:-90px;width:240px;height:240px;border-radius:50%;background:radial-gradient(circle,rgba(255,184,0,.22),transparent 65%)}
.lx-coach .top{display:flex;gap:18px;align-items:center;position:relative;z-index:1}
.lx-coach img{width:104px;height:104px;border-radius:18px;object-fit:cover;border:3px solid var(--lx-gold);flex:0 0 auto}
.lx-coach h3{color:#fff;font-size:1.4rem}
.lx-coach .role{color:var(--lx-gold);font-weight:800;font-size:.78rem;letter-spacing:.14em;text-transform:uppercase;margin-top:4px}
.lx-coach p{color:#c9d6e5;margin:18px 0 0;position:relative;z-index:1}
.lx-coach p b{color:#fff}
.lx-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:20px;position:relative;z-index:1}
.lx-stats div{background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.14);border-radius:12px;padding:12px;text-align:center}
.lx-stats b{display:block;font:900 1.5rem 'Source Sans 3',sans-serif;color:var(--lx-gold)}
.lx-stats span{font-size:.76rem;color:#c9d6e5;text-transform:uppercase;letter-spacing:.08em;font-weight:700}
@media(max-width:900px){.lx-hero{grid-template-columns:1fr;gap:34px}}

/* guides: grid + sidebar */
.lx-head2{display:flex;justify-content:space-between;align-items:flex-end;gap:20px;flex-wrap:wrap;margin-bottom:26px}
.lx-head2 h2{font-size:clamp(1.7rem,2.6vw,2.2rem);font-weight:900}
.lx-head2 p{color:var(--lx-muted);margin:6px 0 0}
.lx-guides{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:28px;align-items:start}
.lx-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.lx-card{display:flex;flex-direction:column;background:#fff;border:1px solid var(--lx-line);border-radius:14px;padding:20px;text-decoration:none;transition:transform .15s,box-shadow .15s,border-color .15s}
.lx-card:hover{transform:translateY(-3px);box-shadow:0 16px 34px rgba(0,37,77,.1);border-color:#f5dc9b}
.lx-card .tag{font-size:.7rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:var(--lx-green)}
.lx-card .t{font:900 1.08rem/1.25 'Playfair Display',Georgia,serif;color:var(--lx-navy);margin:10px 0 8px}
.lx-card .d{color:var(--lx-muted);font-size:.93rem;flex:1}
.lx-card .go{color:var(--lx-green-ink);font-weight:800;font-size:.9rem;margin-top:12px}
.lx-side{display:flex;flex-direction:column;gap:16px;position:sticky;top:96px}
.lx-box{background:#fff;border:1px solid var(--lx-line);border-radius:16px;padding:22px}
.lx-box h3{font-size:1.2rem;margin-bottom:8px}
.lx-box p{color:var(--lx-muted);margin:0 0 16px;font-size:.95rem}
.lx-box.navy{background:linear-gradient(135deg,var(--lx-navy),var(--lx-navy-deep));border:0;color:#fff}
.lx-box.navy h3{color:#fff}.lx-box.navy h3 span{color:var(--lx-gold)}
.lx-box.navy p{color:#c9d6e5}
.lx-box.gold{background:var(--lx-gold-soft);border-color:#f5dc9b}
.lx-box .lx-btn{width:100%;font-size:.98rem;padding:13px 16px}
.lx-tiers{list-style:none;margin:0 0 16px;padding:0;display:grid;gap:6px}
.lx-tiers li{display:flex;justify-content:space-between;background:rgba(255,255,255,.08);border-radius:8px;padding:7px 11px;font-size:.9rem;color:#dbe6f2}
.lx-tiers li b{color:var(--lx-gold)}
.lx-center{text-align:center;margin-top:26px}
@media(max-width:1080px){.lx-guides{grid-template-columns:1fr}.lx-side{position:static;display:grid;grid-template-columns:1fr 1fr}}
@media(max-width:900px){.lx-grid{grid-template-columns:1fr 1fr}}
@media(max-width:620px){.lx-grid,.lx-side{grid-template-columns:1fr}}

/* two ways forward */
.lx-duo{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:28px}
.lx-duo .lx-box{padding:30px}
.lx-duo h3{font-size:1.45rem}
@media(max-width:760px){.lx-duo{grid-template-columns:1fr}}
.lx-key{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:30px;align-items:center}
.lx-key h2{font-size:clamp(1.8rem,3vw,2.5rem);font-weight:900}
.lx-key h2 em{font-style:normal;color:var(--lx-gold)}
.lx-key p{color:#c9d6e5;font-size:1.12rem;margin:12px 0 0;max-width:56ch}
.lx-key p b{color:#fff}
.lx-key .note{font-size:.9rem;color:#9fb3cb;margin-top:12px}
.lx-key .note a{color:var(--lx-gold);font-weight:700}
@media(max-width:820px){.lx-key{grid-template-columns:1fr}}

/* the old pages reference --green-deep without defining it, which left this button with no background */
.lx-page .btn-green{background:var(--lx-green)!important;color:#fff!important}

/* ======================================================================
   READABILITY FLOOR — written for a parent reading on a phone or laptop.
   No text under 14px; small capital labels get less letter-spacing so they
   read as words; secondary gray text is darker.
   ====================================================================== */
html{font-size:17px}
@media(min-width:1280px){html{font-size:18px}}
:root{--lx-muted:#45546a;--muted:#45546a}

/* frame */
.lx-top{font-size:15px;letter-spacing:.01em;padding:9px 16px}
.lx-name small{font-size:12.5px;letter-spacing:.1em}
.lx-nav a{font-size:16.5px}
footer.lx-foot h4{font-size:14px;letter-spacing:.1em}
.lx-foot a:not(.lx-brand){font-size:17px}
.lx-foot p{font-size:16.5px;color:#c9d6e5}
.lx-foot .lx-bottom{font-size:15px;color:#aebfd2}

/* small capital labels, site-wide */
.lx-kicker,.lx-coach .role,.lx-card .tag,.eyebrow,.eyebrow-c,.calc-eyebrow,.gtag,.art-cat,.cr-tier-label{font-size:14.5px!important;letter-spacing:.1em!important}
.lx-stats span{font-size:14px;letter-spacing:.06em}
.cl{font-size:13.5px!important;letter-spacing:.04em}
.sl,.csub{font-size:14.5px!important}
.csrc{font-size:14px!important}
table th{font-size:14px!important;letter-spacing:.04em}
table td{font-size:16px}

/* home page */
.lx-hero .sub{font-size:1.25rem}
.lx-head2 p{font-size:1.05rem}
.lx-card{padding:22px}
.lx-card .t{font-size:1.2rem}
.lx-card .d{font-size:1rem;color:var(--lx-muted)}
.lx-card .go{font-size:.98rem}
.lx-coach p{font-size:1rem}
.lx-box p{font-size:1rem}
.lx-tiers li{font-size:1rem}
.lx-duo p{font-size:1.05rem}

/* guide list + articles */
.gdate,.gread{font-size:15px!important;letter-spacing:.02em!important}
.art-meta{font-size:15.5px!important;letter-spacing:.02em!important}
.art-back{font-size:16px!important;letter-spacing:.02em!important}
.btn-green,.btn-gold{font-size:16.5px!important}

/* calculator */
.phero-trust{font-size:15px!important}
.calc-scale span{font-size:14px!important}
.cn{font-size:16.5px!important}
.ca{font-size:16px!important}
.ai-badge{font-size:13px!important;letter-spacing:.04em!important}
.lm-fine{font-size:15px!important}
.em{font-size:15.5px!important}
.status{font-size:15px!important}
.calc-note{font-size:15px!important;letter-spacing:0!important}

@media(max-width:760px){
  .lx-name small{font-size:11.5px;letter-spacing:.08em}
  .lx-nav a{font-size:15.5px}
  .lx-top{font-size:14.5px}
}
/* calculator: keep the bigger type inside the card on phones */
.calc-shell>*{min-width:0}
@media(max-width:640px){.calc-shell{padding:22px 18px!important}}
.lx-hero .ctas .lx-btn{padding:16px 22px}
