/* ============================================================
   Lineup Logic — theme styles (ported from the design system)
   Tokens + base + components + pages + print
   ============================================================ */

:root{
  --blue-900:#002b5c;--blue-800:#003d80;--blue-700:#004da2;--blue-600:#0a5cb8;--blue-500:#1a6fca;
  --blue-400:#5fa2d5;--blue-300:#8fbfe3;--blue-200:#bcdaf0;--blue-100:#e2eff9;--blue-50:#f3f8fc;
  --crimson:#b20031;--crimson-700:#8a0026;--crimson-100:#fbe4ea;
  --gold:#d98a00;--gold-600:#b57200;--gold-100:#f8ead1;--success:#1f8a53;
  --ink:#14202e;--slate-800:#2b3a4a;--slate-600:#4a5b6d;--slate-500:#697787;--slate-400:#94a2b1;
  --slate-300:#c2ccd6;--slate-200:#dfe5eb;--slate-100:#eef2f6;--slate-50:#f7f9fb;--white:#fff;
  --fd:'Barlow Condensed','Barlow',sans-serif;--fb:'Barlow',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;
  --r-sm:4px;--r-md:8px;--r-lg:14px;--r-xl:20px;--r-pill:999px;
  --sh-sm:0 1px 3px rgba(20,32,46,.08);--sh-md:0 8px 24px rgba(20,32,46,.12);--sh-lg:0 24px 60px rgba(20,32,46,.18);
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{font-family:var(--fb);color:var(--ink);background:#fff;line-height:1.6;-webkit-font-smoothing:antialiased}
a{text-decoration:none;color:inherit}
img{max-width:100%;height:auto}
.ll-wrap{max-width:1160px;margin:0 auto;padding:0 24px}
.ll-narrow{max-width:1080px}

/* ---------- Buttons ---------- */
.ll-btn{font-family:var(--fd);font-weight:600;text-transform:uppercase;letter-spacing:.06em;font-size:.95rem;
  display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:13px 26px;border-radius:var(--r-md);
  border:1.5px solid transparent;cursor:pointer;transition:.18s;white-space:nowrap}
.ll-btn-primary{background:var(--blue-700);color:#fff}
.ll-btn-primary:hover{background:var(--blue-800);box-shadow:var(--sh-md);transform:translateY(-2px)}
.ll-btn-gold{background:var(--gold);color:#fff}
.ll-btn-gold:hover{background:var(--gold-600);transform:translateY(-2px)}
.ll-btn-ghost{background:transparent;border-color:rgba(255,255,255,.4);color:#fff}
.ll-btn-ghost:hover{border-color:#fff;background:rgba(255,255,255,.08)}
.ll-btn-ghost-dark{background:transparent;border-color:var(--slate-300);color:var(--blue-700)}
.ll-btn-ghost-dark:hover{border-color:var(--blue-700);background:var(--blue-50)}
.ll-btn-sm{padding:9px 16px;font-size:.85rem}
.ll-btn-block{width:100%}

.ll-eyebrow{font-family:var(--fd);text-transform:uppercase;letter-spacing:.18em;font-weight:600;font-size:.82rem;color:var(--blue-500)}

/* ---------- Header / nav ---------- */
.ll-nav{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.9);backdrop-filter:blur(10px);border-bottom:1px solid var(--slate-200)}
.ll-nav-inner{display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:72px;padding:12px 24px}
.ll-brand{display:flex;align-items:center;gap:10px;flex-shrink:0}
.ll-brand img{height:110px;width:auto;max-width:100%;display:block}
.ll-brand strong{font-family:var(--fd);font-size:1.3rem;color:var(--blue-700)}
.ll-nav-links{display:flex;gap:28px;font-family:var(--fd);text-transform:uppercase;letter-spacing:.05em;font-weight:600;font-size:.9rem;color:var(--slate-600);list-style:none;margin:0}
.ll-nav-links a:hover,.ll-nav-links .current-menu-item>a{color:var(--blue-700)}
.ll-nav-cta{display:flex;gap:12px;align-items:center}
.ll-nav-login{font-family:var(--fd);text-transform:uppercase;letter-spacing:.05em;font-weight:600;font-size:.9rem;color:var(--blue-700)}
.ll-nav-toggle{display:none;background:none;border:0;cursor:pointer;font-size:1.5rem;color:var(--blue-700)}
@media(max-width:860px){.ll-nav-links{display:none}.ll-nav-links.open{display:flex;position:absolute;top:100%;left:0;right:0;background:#fff;flex-direction:column;padding:16px 24px;gap:14px;border-bottom:1px solid var(--slate-200);box-shadow:var(--sh-md)}.ll-nav-toggle{display:block}.ll-brand img{height:76px}.ll-nav-inner{gap:12px}.ll-nav-cta{gap:14px}
/* Drop the Start Free button from the mobile bar — it overflows next to the logo + Log In + menu, and the hero CTA and hamburger menu already cover it. */
.ll-nav-cta .ll-btn{display:none}
/* Let the logo give up space instead of shoving the menu button off-screen. */
.ll-brand{flex-shrink:1;min-width:0}.ll-brand img{max-width:100%}}
@media(max-width:480px){.ll-brand img{height:60px}.ll-nav-login{font-size:.82rem}}

/* ---------- Sections ---------- */
.ll-section{padding:88px 0}
.ll-section.pad-sm{padding:52px 0}
.ll-muted{background:var(--slate-50)}
.ll-sec-head{text-align:center;max-width:640px;margin:0 auto 52px}
.ll-sec-head h2{font-family:var(--fd);font-weight:700;font-size:2.4rem;letter-spacing:-.005em;margin:10px 0 12px}
.ll-sec-head p{color:var(--slate-600);font-size:1.08rem}

/* ---------- Hero ---------- */
.ll-hero{position:relative;background:linear-gradient(135deg,var(--blue-900) 0%,var(--blue-700) 60%,var(--blue-500) 100%);color:#fff;overflow:hidden}
.ll-hero::after{content:"";position:absolute;right:-140px;top:-120px;width:520px;height:520px;background:radial-gradient(circle,rgba(95,162,213,.35),transparent 70%)}
.ll-hero-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:48px;align-items:center;padding-top:90px;padding-bottom:100px}
.ll-hero h1{font-family:var(--fd);font-weight:700;font-size:clamp(2.6rem,5vw,4rem);line-height:1.02;letter-spacing:-.01em;margin:16px 0 18px}
.ll-hero .sub{font-size:1.2rem;color:rgba(255,255,255,.88);max-width:520px;margin-bottom:30px}
.ll-hero .cta-row{display:flex;gap:14px;flex-wrap:wrap}
.ll-hero .eyebrow,.ll-hero .ll-eyebrow{color:var(--blue-200)}
.ll-hero-note{margin-top:18px;font-size:.9rem;color:rgba(255,255,255,.7)}
@media(max-width:860px){.ll-hero-grid{grid-template-columns:1fr;gap:36px;padding-top:56px;padding-bottom:64px}.ll-inning-card{margin-left:auto;margin-right:auto}}

/* Inning card visual */
.ll-inning-card{background:#fff;border-radius:var(--r-xl);box-shadow:var(--sh-lg);padding:18px;max-width:380px;margin-left:auto;color:var(--ink)}
.ll-inning-card .ic-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:6px}
.ll-inning-card .ic-num{font-family:var(--fd);font-weight:700;font-size:1.5rem;color:var(--blue-700)}
.ll-inning-card .ic-lbl{font-family:var(--fd);text-transform:uppercase;letter-spacing:.1em;font-size:.72rem;color:var(--slate-500)}
.ll-field-area{position:relative;aspect-ratio:300/305;background-size:contain;background-repeat:no-repeat;background-position:center}
.ll-tag{position:absolute;transform:translate(-50%,-50%);background:#fff;border:1.5px solid var(--blue-700);border-radius:5px;font-family:var(--fd);font-weight:600;font-size:.66rem;padding:2px 6px;white-space:nowrap;color:var(--blue-800)}
.ll-bench{margin-top:8px;background:var(--slate-50);border:1px solid var(--slate-200);border-radius:var(--r-md);padding:8px 10px;font-size:.78rem}
.ll-bench b{font-family:var(--fd);text-transform:uppercase;letter-spacing:.06em;color:var(--slate-600);font-size:.72rem}

/* ---------- Trust bar ---------- */
.ll-trust{background:var(--blue-50);border-bottom:1px solid var(--slate-200)}
.ll-trust-inner{display:flex;align-items:center;justify-content:center;gap:40px;flex-wrap:wrap;padding:22px 0;font-family:var(--fd);text-transform:uppercase;letter-spacing:.08em;font-weight:600;font-size:.85rem;color:var(--slate-600)}
.ll-trust-inner span{display:flex;align-items:center;gap:8px}
.ll-trust-dot{width:8px;height:8px;border-radius:50%;background:var(--blue-400)}

/* ---------- Modes ---------- */
.ll-modes{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:24px}
.ll-modes + .ll-mode-group{margin-top:44px}
.ll-mode-group{font-family:var(--fd);text-transform:uppercase;letter-spacing:.08em;font-weight:700;font-size:1.15rem;color:var(--slate-500);margin:0 0 20px;display:flex;align-items:center;gap:14px}
.ll-mode-group::after{content:"";flex:1;height:1px;background:var(--slate-200)}
.ll-mode{background:#fff;border:1px solid var(--slate-200);border-radius:var(--r-lg);overflow:hidden;box-shadow:var(--sh-sm);transition:.2s;display:flex;flex-direction:column}
.ll-mode:hover{box-shadow:var(--sh-md);transform:translateY(-4px)}
.ll-mode .accent{height:6px}
.ll-mode .m-body{padding:26px 24px;display:flex;flex-direction:column;flex:1}
.ll-mode h3{font-family:var(--fd);font-weight:700;text-transform:uppercase;letter-spacing:.03em;font-size:1.3rem;margin-bottom:8px}
.ll-mode .tagline{font-family:var(--fd);text-transform:uppercase;letter-spacing:.06em;font-size:.72rem;color:var(--slate-500);margin-bottom:14px}
.ll-mode p{color:var(--slate-600);font-size:.95rem;margin-bottom:16px}
.ll-mode ul{list-style:none;margin:0 0 22px;padding:0}
.ll-mode li{display:flex;gap:9px;align-items:flex-start;font-size:.9rem;color:var(--ink);padding:4px 0}
.ll-mode li::before{content:"";flex:0 0 7px;height:7px;margin-top:7px;border-radius:2px;background:currentColor;opacity:.5}
.ll-mode .m-cta{margin-top:auto}
.ll-mode-ll .accent{background:var(--blue-700)}.ll-mode-ll h3{color:var(--blue-700)}.ll-mode-ll li{color:var(--blue-700)}
.ll-mode-as .accent{background:var(--crimson)}.ll-mode-as h3{color:var(--crimson)}.ll-mode-as li{color:var(--crimson)}
.ll-mode-tr .accent{background:var(--blue-400)}.ll-mode-tr h3{color:var(--blue-500)}.ll-mode-tr li{color:var(--blue-500)}
.ll-mode-hs .accent{background:var(--gold)}.ll-mode-hs h3{color:var(--gold)}.ll-mode-hs li{color:var(--gold)}
.ll-mode-sb .accent{background:var(--success)}.ll-mode-sb h3{color:var(--success)}.ll-mode-sb li{color:var(--success)}

/* ---------- Features ---------- */
.ll-feat-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:26px}
.ll-feat{background:#fff;border:1px solid var(--slate-200);border-radius:var(--r-lg);padding:26px}
.ll-feat .fic{width:44px;height:44px;border-radius:11px;background:var(--blue-100);display:flex;align-items:center;justify-content:center;margin-bottom:14px}
.ll-feat h4{font-family:var(--fd);text-transform:uppercase;letter-spacing:.03em;font-size:1.1rem;margin-bottom:6px}
.ll-feat p{color:var(--slate-600);font-size:.92rem}

/* ---------- Smart tools (Generator + Upload) ---------- */
.ll-smart-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:26px}
.ll-smart{position:relative;background:#fff;border:1px solid var(--slate-200);border-radius:var(--r-lg);padding:34px 30px 30px;box-shadow:var(--sh-sm);display:flex;flex-direction:column;overflow:hidden;transition:.2s}
.ll-smart::before{content:"";position:absolute;left:0;top:0;width:100%;height:5px;background:linear-gradient(90deg,var(--blue-700),var(--blue-400))}
.ll-smart:hover{box-shadow:var(--sh-md);transform:translateY(-3px)}
.ll-smart-icon{width:52px;height:52px;border-radius:13px;background:var(--blue-100);display:flex;align-items:center;justify-content:center;margin-bottom:16px}
.ll-smart-tag{position:absolute;top:20px;right:22px;font-family:var(--fd);text-transform:uppercase;letter-spacing:.06em;font-size:.68rem;font-weight:700;color:var(--gold-600);background:var(--gold-100);padding:4px 11px;border-radius:var(--r-pill)}
.ll-smart h3{font-family:var(--fd);font-weight:700;text-transform:uppercase;letter-spacing:.02em;font-size:1.5rem;margin-bottom:10px}
.ll-smart>p{color:var(--slate-600);font-size:1rem;line-height:1.55;margin-bottom:18px}
.ll-smart ul{list-style:none;margin:0 0 26px;padding:0}
.ll-smart li{display:flex;gap:10px;align-items:flex-start;font-size:.95rem;color:var(--ink);padding:6px 0;border-top:1px solid var(--slate-100)}
.ll-smart li:first-child{border-top:0}
.ll-smart li .ck{color:var(--success);font-weight:700;flex:0 0 auto}
.ll-smart-cta{margin-top:auto}
@media(max-width:760px){.ll-smart-grid{grid-template-columns:1fr}}

/* ---------- Print CTA ---------- */
.ll-print-cta{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:center}
.ll-pc-visual{background:#fff;border:1px solid var(--slate-200);border-radius:var(--r-lg);padding:20px;box-shadow:var(--sh-md);aspect-ratio:8.5/11;width:100%;max-width:440px;margin:0 auto}
.ll-mini-sheet{display:grid;grid-template-columns:1fr 1fr;grid-auto-rows:1fr;gap:9px;height:100%}
.ll-mini-cell{border:1.5px solid var(--blue-700);border-radius:7px;padding:6px;position:relative;overflow:hidden}
.ll-mini-cell.batting{background:var(--blue-700);color:#fff;font-family:var(--fd);font-weight:700;display:flex;flex-direction:column;padding:10px 11px}
.ll-mini-cell.batting .ms-title{font-size:.82rem;letter-spacing:.05em;text-transform:uppercase;margin-bottom:5px}
.ll-mini-cell.batting .ms-order{display:grid;grid-template-columns:1fr 1fr;grid-template-rows:repeat(5,auto);grid-auto-flow:column;gap:2px 10px;font-size:.72rem;line-height:1.3}
.ll-mini-cell .mnum{position:absolute;top:4px;left:7px;font-family:var(--fd);font-weight:700;font-size:.8rem;color:var(--blue-700);z-index:1}
.ll-mini-field{height:100%;background-size:contain;background-repeat:no-repeat;background-position:center;opacity:.9}

/* ---------- Pricing ---------- */
.ll-price-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;align-items:start}
.ll-price-grid.two{grid-template-columns:repeat(2,1fr);max-width:820px;margin:0 auto}
.ll-price{background:#fff;border:1px solid var(--slate-200);border-radius:var(--r-lg);padding:34px 30px;display:flex;flex-direction:column;box-shadow:var(--sh-sm)}
.ll-price.featured{border:2px solid var(--blue-700);box-shadow:var(--sh-lg);position:relative}
.ll-price .badge{position:absolute;top:-13px;left:30px;background:var(--gold);color:#fff;font-family:var(--fd);text-transform:uppercase;letter-spacing:.06em;font-size:.72rem;font-weight:700;padding:4px 12px;border-radius:var(--r-pill)}
.ll-price h3{font-family:var(--fd);text-transform:uppercase;letter-spacing:.04em;font-size:1.3rem;margin-bottom:4px}
.ll-price .sub{color:var(--slate-500);font-size:.9rem;margin-bottom:8px}
.ll-price .amt{font-family:var(--fd);font-weight:700;font-size:2.8rem;color:var(--blue-700);line-height:1;margin:10px 0}
.ll-price .amt small{font-size:1rem;color:var(--slate-500);font-weight:400}
.ll-price .amt.custom{font-size:2rem}
.ll-price ul{list-style:none;padding:0;margin:18px 0 26px;flex:1}
.ll-price li{padding:7px 0;font-size:.95rem;color:var(--ink);display:flex;gap:10px;align-items:flex-start;border-top:1px solid var(--slate-100)}
.ll-price li:first-child{border-top:none}
.ll-price li .ck{color:var(--success);font-weight:700}
.ll-price li.muted{color:var(--slate-400)}
.ll-league-note{text-align:center;color:var(--slate-500);font-size:.92rem;margin-top:22px}

/* ---------- Final CTA ---------- */
.ll-final{background:linear-gradient(135deg,var(--blue-800),var(--blue-500));color:#fff;text-align:center;padding:80px 0}
.ll-final h2{font-family:var(--fd);font-weight:700;font-size:2.6rem;margin-bottom:12px}
.ll-final p{color:rgba(255,255,255,.88);font-size:1.15rem;margin-bottom:28px}

/* ---------- Banner (interior pages) ---------- */
.ll-banner{background:linear-gradient(135deg,var(--blue-900),var(--blue-700));color:#fff;padding:58px 0 48px;position:relative;overflow:hidden}
.ll-banner::after{content:"";position:absolute;right:-120px;top:-100px;width:400px;height:400px;background:radial-gradient(circle,rgba(95,162,213,.3),transparent 70%)}
.ll-crumb{font-family:var(--fd);text-transform:uppercase;letter-spacing:.1em;font-size:.76rem;color:var(--blue-200);margin-bottom:10px}
.ll-banner h1{font-family:var(--fd);font-weight:700;font-size:clamp(2.1rem,4vw,3.2rem);line-height:1.05;letter-spacing:-.01em}
.ll-banner p{color:rgba(255,255,255,.85);margin-top:10px;max-width:660px;font-size:1.08rem}

/* ---------- Forms ---------- */
.ll-field{display:flex;flex-direction:column;gap:6px}
.ll-field.full{grid-column:1/-1}
.ll-field label{font-family:var(--fd);text-transform:uppercase;letter-spacing:.05em;font-size:.75rem;font-weight:600;color:var(--slate-600)}
.ll-field input,.ll-field select,.ll-field textarea{font-family:var(--fb);font-size:.95rem;padding:11px 12px;border:1.5px solid var(--slate-300);border-radius:var(--r-md);background:#fff;color:var(--ink);width:100%}
.ll-field input:focus,.ll-field select:focus,.ll-field textarea:focus{outline:none;border-color:var(--blue-700)}
.ll-field textarea{resize:vertical;min-height:96px}
.ll-form-card{max-width:720px;margin:0 auto;background:#fff;border:1px solid var(--slate-200);border-radius:var(--r-lg);box-shadow:var(--sh-md);padding:34px}
.ll-frow{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:16px}
@media(max-width:600px){.ll-frow{grid-template-columns:1fr}}

/* ---------- Builder (app) page ---------- */
.ll-tool-layout{display:grid;grid-template-columns:300px 1fr;gap:36px;align-items:start}
.ll-tool-side{position:sticky;top:150px}
.ll-side-card{background:#fff;border:1px solid var(--slate-200);border-radius:var(--r-lg);padding:22px;box-shadow:var(--sh-sm);margin-bottom:18px}
.ll-side-card h3{font-family:var(--fd);text-transform:uppercase;letter-spacing:.04em;font-size:1.05rem;margin-bottom:10px}
.ll-side-steps{list-style:none;padding:0;margin:8px 0 0;counter-reset:s}
.ll-side-steps li{counter-increment:s;position:relative;padding:6px 0 6px 30px;font-size:.9rem}
.ll-side-steps li::before{content:counter(s);position:absolute;left:0;top:5px;width:20px;height:20px;border-radius:50%;background:var(--blue-100);color:var(--blue-700);font-family:var(--fd);font-weight:700;font-size:.72rem;display:flex;align-items:center;justify-content:center}
.ll-mode-switch{display:flex;flex-direction:column;gap:8px}
.ll-mode-switch a{display:flex;align-items:center;gap:10px;padding:10px 12px;border:1px solid var(--slate-200);border-radius:var(--r-md);font-family:var(--fd);text-transform:uppercase;letter-spacing:.03em;font-size:.85rem;font-weight:600;cursor:pointer;transition:.15s}
.ll-mode-switch a:hover{background:var(--blue-50);border-color:var(--blue-300)}
.ll-mode-switch a.active{background:var(--blue-700);color:#fff;border-color:var(--blue-700)}
.ll-mode-switch .dot{width:9px;height:9px;border-radius:2px;flex-shrink:0}
.ll-ad-slot{background:var(--slate-100);border:1px dashed var(--slate-300);border-radius:var(--r-md);text-align:center;padding:14px;font-family:var(--fd);text-transform:uppercase;letter-spacing:.1em;font-size:.72rem;color:var(--slate-400);margin:18px 0}
/* Collapse ad units that Google doesn't fill (pre-approval, or normal unfilled
   impressions) so there's no reserved empty band. Google stamps the <ins> with
   data-ad-status="unfilled" when nothing is served. */
ins.adsbygoogle[data-ad-status="unfilled"]{display:none!important}
.blm-ad:has(> ins.adsbygoogle[data-ad-status="unfilled"]){margin:0!important;padding:0!important}
.ll-wrap:has(> .blm-ad > ins.adsbygoogle[data-ad-status="unfilled"]){padding:0!important}
@media(max-width:820px){.ll-tool-layout{grid-template-columns:1fr}.ll-tool-side{position:static}}

/* ---------- Dashboard ---------- */
.ll-dash-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:20px}
.ll-dash-card{background:#fff;border:1px solid var(--slate-200);border-radius:var(--r-lg);padding:22px;box-shadow:var(--sh-sm)}
.ll-dash-card h3{font-family:var(--fd);text-transform:uppercase;letter-spacing:.03em;font-size:1.1rem;margin-bottom:6px}
.ll-dash-card .meta{font-size:.85rem;color:var(--slate-500);margin-bottom:12px}
.ll-empty{text-align:center;padding:56px 24px;border:2px dashed var(--slate-300);border-radius:var(--r-lg);color:var(--slate-500)}
.ll-gate{max-width:560px;margin:0 auto;text-align:center;background:var(--blue-50);border:1px solid var(--blue-200);border-radius:var(--r-lg);padding:40px 32px}
.ll-gate h2{font-family:var(--fd);font-weight:700;font-size:1.8rem;margin-bottom:10px}
.ll-gate p{color:var(--slate-600);margin-bottom:20px}

/* ---------- About-specific ---------- */
.ll-lede{font-size:1.25rem;color:var(--ink);max-width:760px;margin:0 auto 8px;text-align:center;font-weight:500}
.ll-story{margin:32px 0 0}
.ll-story p{color:var(--slate-600);font-size:1.05rem;margin-bottom:18px;line-height:1.6}
.ll-story h2{font-family:var(--fd);font-weight:700;font-size:1.9rem;line-height:1.12;letter-spacing:-.01em;margin:0 0 18px;color:var(--ink)}
.ll-story h3{font-family:var(--fd);font-weight:700;font-size:1.32rem;margin:32px 0 10px;color:var(--blue-800)}
.ll-story h4{font-family:var(--fb);font-weight:700;font-size:1.05rem;margin:20px 0 6px;color:var(--ink)}
.ll-story ul{margin:0 0 18px;padding-left:22px}
.ll-story li{color:var(--slate-600);font-size:1.02rem;margin-bottom:9px;line-height:1.55}
.ll-story .ll-faq-q{color:var(--blue-800)}
.ll-story .ll-guide-note{font-size:.92rem;color:var(--slate-500);border-top:1px solid var(--slate-200);padding-top:18px;margin-top:28px}
.ll-mode-guide{border-top:1px solid var(--slate-200)}
/* Guides hub */
.ll-guide-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.ll-guide-card{background:#fff;border:1px solid var(--slate-200);border-radius:var(--r-lg);padding:26px;box-shadow:var(--sh-sm);display:flex;flex-direction:column;transition:.2s;color:inherit;text-decoration:none}
.ll-guide-card:hover{box-shadow:var(--sh-md);transform:translateY(-3px);border-color:var(--blue-300)}
.ll-guide-card h3{font-family:var(--fd);font-weight:700;font-size:1.22rem;line-height:1.15;margin-bottom:10px;color:var(--blue-800)}
.ll-guide-card p{color:var(--slate-600);font-size:.94rem;line-height:1.5;margin-bottom:16px;flex:1}
.ll-guide-more{font-family:var(--fd);text-transform:uppercase;letter-spacing:.05em;font-size:.78rem;font-weight:700;color:var(--blue-700)}
@media(max-width:860px){.ll-guide-grid{grid-template-columns:1fr}}
.ll-who-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.ll-who-card{background:#fff;border:1px solid var(--slate-200);border-radius:var(--r-lg);padding:24px;box-shadow:var(--sh-sm)}
.ll-who-card .tag{font-family:var(--fd);text-transform:uppercase;letter-spacing:.05em;font-weight:700;font-size:.78rem;padding:3px 10px;border-radius:var(--r-pill);display:inline-block;margin-bottom:12px}
.ll-who-card.primary .tag{background:var(--blue-100);color:var(--blue-800)}
.ll-who-card.second .tag{background:var(--gold-100);color:var(--gold)}
.ll-who-card h3{font-family:var(--fd);text-transform:uppercase;letter-spacing:.03em;font-size:1.15rem;margin-bottom:6px}
.ll-who-card p{color:var(--slate-600);font-size:.92rem}

/* ---------- Rules-specific ---------- */
.ll-note{border-radius:var(--r-lg);padding:16px 20px;margin-bottom:16px}
.ll-note h4{font-family:var(--fd);text-transform:uppercase;letter-spacing:.05em;font-size:.9rem;margin-bottom:4px}
.ll-note.local{background:var(--gold-100);border:1px solid var(--gold)}.ll-note.local h4{color:var(--gold)}.ll-note.local p{color:#5c3b00}
.ll-note.official{background:var(--blue-50);border:1px solid var(--blue-300)}.ll-note.official h4{color:var(--blue-700)}.ll-note.official p{color:var(--slate-600)}
.ll-rcards{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}
.ll-rcard{background:#fff;border:1px solid var(--slate-200);border-radius:var(--r-lg);padding:22px 24px;box-shadow:var(--sh-sm);display:flex;flex-direction:column}
.ll-rcard .org{font-family:var(--fd);text-transform:uppercase;letter-spacing:.03em;font-weight:700;font-size:1.1rem;color:var(--blue-700)}
.ll-cite{align-self:flex-start;font-family:var(--fd);font-weight:700;letter-spacing:.03em;font-size:.72rem;text-transform:uppercase;background:var(--blue-100);color:var(--blue-800);padding:2px 8px;border-radius:var(--r-pill);margin:10px 0 8px}

/* ---------- Footer ---------- */
.ll-footer{background:var(--blue-900);color:var(--blue-200);padding:56px 0 28px}
.ll-foot-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:44px;margin-bottom:36px}
.ll-footer img.rev{height:140px;width:auto;max-width:100%;margin-bottom:14px}
.ll-footer .fcol h5{font-family:var(--fd);text-transform:uppercase;letter-spacing:.08em;font-size:.85rem;color:#fff;margin-bottom:14px}
.ll-footer .fcol a{display:block;color:var(--blue-200);font-size:.92rem;padding:5px 0}
.ll-footer .fcol a:hover{color:#fff}
.ll-footer .tagline{font-size:.92rem;color:var(--blue-300);max-width:260px}
/* Footer menu: span the non-logo columns, split into 3 bullet-free columns, set off from the logo */
.ll-foot-menu{grid-column:2 / -1;padding-left:24px}
.ll-foot-links{list-style:none;margin:0;padding:0;column-count:3;column-gap:40px}
.ll-foot-links li{break-inside:avoid}
/* Force an even 3 / 2 / 2 split (col 2 starts at item 4, col 3 at item 6) */
.ll-foot-links li:nth-child(4){break-before:column;-webkit-column-break-before:always}
.ll-foot-links li:nth-child(6){break-before:column;-webkit-column-break-before:always}
.ll-foot-bottom{border-top:1px solid rgba(255,255,255,.12);padding-top:22px;display:flex;justify-content:space-between;flex-wrap:wrap;gap:10px;font-family:var(--fd);text-transform:uppercase;letter-spacing:.08em;font-size:.78rem;color:var(--blue-300)}
.ll-foot-legal{display:flex;gap:18px;flex-wrap:wrap}
.ll-foot-legal a{color:var(--blue-200)}.ll-foot-legal a:hover{color:#fff}

/* ---------- Responsive ---------- */
@media(max-width:860px){
  .ll-modes,.ll-feat-grid,.ll-who-grid{grid-template-columns:1fr}
  .ll-price-grid,.ll-price-grid.two{grid-template-columns:1fr;max-width:440px;margin:0 auto}
  .ll-print-cta{grid-template-columns:1fr;gap:30px}
  .ll-foot-grid{grid-template-columns:1fr 1fr}
  .ll-foot-menu{grid-column:1 / -1;padding-left:0}
  .ll-foot-links{column-count:2;column-gap:24px}
}
@media(max-width:520px){.ll-foot-links{column-count:1}}
@media(max-width:760px){.ll-rcards{grid-template-columns:1fr}}

/* ---------- Editable prose (block editor content, e.g. About) ---------- */
.ll-prose{max-width:760px;margin:0 auto}
.ll-prose>*{max-width:100%}
.ll-prose h2{font-family:var(--fd);font-weight:700;font-size:2rem;letter-spacing:-.005em;color:var(--ink);margin:40px 0 14px}
.ll-prose>h2:first-child{margin-top:0}
.ll-prose h3{font-family:var(--fd);font-weight:700;text-transform:uppercase;letter-spacing:.05em;font-size:1.4rem;color:var(--blue-700);margin:34px 0 12px;display:flex;align-items:center;gap:12px}
.ll-prose h3::after{content:"";flex:1;height:1px;background:var(--slate-200)}
.ll-prose h4{font-family:var(--fd);font-weight:700;text-transform:uppercase;letter-spacing:.03em;font-size:1.12rem;color:var(--ink);margin:22px 0 6px}
.ll-prose p{color:var(--slate-600);font-size:1.05rem;line-height:1.72;margin:0 0 16px}
.ll-prose a{color:var(--blue-700);font-weight:600}
.ll-prose a:hover{text-decoration:underline}
.ll-prose strong{color:var(--ink)}
.ll-prose ul,.ll-prose ol{color:var(--slate-600);font-size:1.05rem;line-height:1.72;margin:0 0 16px;padding-left:22px}
.ll-prose .wp-block-buttons{margin:22px 0}
.ll-prose .wp-block-button__link{background:var(--blue-700);color:#fff;font-family:var(--fd);text-transform:uppercase;letter-spacing:.06em;font-weight:600;border-radius:var(--r-md);padding:13px 26px}
.ll-prose .wp-block-button__link:hover{background:var(--blue-800);text-decoration:none}

/* ---------- Gravity Forms (brand) ---------- */
.gform_wrapper .gfield_label{font-family:var(--fd);text-transform:uppercase;letter-spacing:.05em;font-weight:600;font-size:.8rem;color:var(--slate-600);margin-bottom:6px}
.gform_wrapper .gfield_required{color:var(--crimson)}
.gform_wrapper input[type=text],.gform_wrapper input[type=email],.gform_wrapper input[type=tel],.gform_wrapper input[type=url],.gform_wrapper input[type=number],.gform_wrapper input[type=password],.gform_wrapper textarea,.gform_wrapper select{font-family:var(--fb);font-size:.95rem;color:var(--ink);padding:11px 12px;border:1.5px solid var(--slate-300);border-radius:var(--r-md);background:#fff;width:100%}
.gform_wrapper input:focus,.gform_wrapper textarea:focus,.gform_wrapper select:focus{outline:none;border-color:var(--blue-700);box-shadow:none}
.gform_wrapper textarea{min-height:96px}
.gform_wrapper ::placeholder{color:var(--slate-400)}
.gform_wrapper .gform_footer input[type=submit],.gform_wrapper .gform_footer button,.gform_wrapper .gform-button,.gform_wrapper .gform_page_footer input[type=submit]{font-family:var(--fd);text-transform:uppercase;letter-spacing:.06em;font-weight:600;font-size:.95rem;background:var(--blue-700);color:#fff;border:1.5px solid var(--blue-700);border-radius:var(--r-md);padding:13px 26px;cursor:pointer;transition:.18s;width:auto}
.gform_wrapper .gform_footer input[type=submit]:hover,.gform_wrapper .gform_footer button:hover,.gform_wrapper .gform-button:hover{background:var(--blue-800);border-color:var(--blue-800);box-shadow:var(--sh-md);transform:translateY(-2px)}
.gform_wrapper .gfield_error .gfield_label{color:var(--crimson)}
.gform_wrapper .gfield_error input,.gform_wrapper .gfield_error textarea,.gform_wrapper .gfield_error select{border-color:var(--crimson)}
.gform_wrapper .validation_message,.gform_wrapper .gfield_validation_message{color:var(--crimson);font-size:.85rem}
.gform_wrapper .gform_validation_errors{background:var(--crimson-100);border:1px solid var(--crimson);border-radius:var(--r-md);color:var(--crimson-700)}
.gform_confirmation_message{background:#e2f2ea;border:1px solid var(--success);border-radius:var(--r-md);color:#0f5132;padding:16px;font-family:var(--fb)}

/* ---------- Print ---------- */
@media print{
  .ll-nav,.ll-footer,.ll-ad-slot,.ll-tool-side{display:none!important}
  body{color:#000}
  *{-webkit-print-color-adjust:exact;print-color-adjust:exact}
}
