/* ==========================================================================
   RECA Justice — brand stylesheet for live spoke pages
   Self-contained: tokens + base + page utility classes. Link this one file.
   Fonts: brand font is Avenir LT Pro (licensed); Nunito Sans is the free
          stand-in, with Avenir listed first for devices that have it.
   ========================================================================== */
@import url('assets/fonts/nunito-sans.css');

:root {
  /* Navy (primary) */
  --navy-900:#10233F; --navy-800:#1A3052; --navy-700:#25405F; --navy-600:#345070;
  --navy-500:#51678A; --navy-300:#9AA8BF; --navy-100:#D7DEE8; --navy-050:#EBEFF4;
  /* Gold (accent only) */
  --gold-700:#8A6E2A; --gold-600:#A8842F; --gold-500:#C8A24B; --gold-400:#D6B670;
  --gold-200:#E9DBB6; --gold-100:#F4ECD7;
  /* Action blue (primary CTA) — sampled from the live site button */
  --blue-500:#216B91; --blue-600:#1B5B7B; --blue-700:#164A66; --blue-100:#DCEAF1;
  --action:var(--blue-500); --action-hover:var(--blue-600);
  /* Warm neutrals */
  --white:#FFFFFF; --paper:#F7F5EF; --paper-2:#EFEBE1;
  --ink-900:#10233F; --ink-700:#38445C; --ink-500:#5C6678;
  --line:#E0DACD; --line-2:#D2CBBA;
  /* Status */
  --success-700:#2E6B4F; --warning-700:#8A5A14; --warning-100:#F5E9D4; --danger-700:#97302E;
  /* Semantic */
  --text-body:var(--ink-900); --text-secondary:var(--ink-700); --text-muted:var(--ink-500);
  --accent:var(--gold-500); --accent-strong:var(--gold-600); --border:var(--line);
  /* Type — Avenir LT Pro (brand) with Nunito Sans free stand-in */
  --font-sans:'Nunito Sans','Avenir Next','Avenir',system-ui,-apple-system,'Segoe UI',Roboto,Helvetica,Arial,sans-serif;
  --font-serif:var(--font-sans); /* brand is all-sans; legacy alias */
  /* Radii / shadow */
  --radius-md:8px; --radius-lg:12px; --radius-xl:16px; --radius-pill:999px;
  --shadow-sm:0 1px 3px rgba(16,35,63,.08),0 1px 2px rgba(16,35,63,.04);
  --shadow-md:0 4px 12px rgba(16,35,63,.08),0 2px 4px rgba(16,35,63,.05);
  --shadow-lg:0 14px 36px rgba(16,35,63,.12),0 4px 10px rgba(16,35,63,.06);
  --container:1120px;
}

*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;font-family:var(--font-sans);font-size:18px;line-height:1.6;
  color:var(--text-body);background:var(--paper);-webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}
h1,h2,h3,h4{font-family:var(--font-sans);color:var(--navy-900);font-weight:700;line-height:1.2;margin:0 0 .5em;text-wrap:balance}
h1{font-size:clamp(34px,5vw,56px);line-height:1.08;letter-spacing:-.01em}
h2{font-size:clamp(28px,3.4vw,38px)}
h3{font-size:24px}
h4{font-size:20px}
p{margin:0 0 1em;text-wrap:pretty}
a{color:var(--navy-700);text-underline-offset:2px}
a:hover{color:var(--navy-900)}
img{max-width:100%;display:block}

/* Layout */
.container{max-width:var(--container);margin:0 auto;padding-left:24px;padding-right:24px}
.section{padding:clamp(56px,8vw,96px) 0}
.section--paper{background:var(--paper)}
.section--white{background:var(--white);border-top:1px solid var(--border)}
.section--navy{background:var(--navy-900);color:#fff}
.section--navy h1,.section--navy h2,.section--navy h3,.section--navy h4{color:#fff}

/* White cards inside a navy section must NOT inherit the navy-section
   white-text overrides (otherwise content goes white-on-white). Reset them. */
.section--navy .card,.section--navy .gate-card{color:var(--text-body)}
.section--navy .card h1,.section--navy .card h2,.section--navy .card h3,.section--navy .card h4,
.section--navy .gate-card h1,.section--navy .gate-card h2,.section--navy .gate-card h3,.section--navy .gate-card h4{color:var(--navy-900)}
.section--navy .card .check-list li,.section--navy .gate-card .check-list li{color:var(--text-body)}
.section--navy .card .check-list li::before,.section--navy .gate-card .check-list li::before{background-color:var(--navy-900)}
.section--navy .card .lead,.section--navy .gate-card .lead{color:var(--text-secondary)}

/* Eyebrow / overline */
.eyebrow{font-family:var(--font-sans);font-size:15px;font-weight:600;letter-spacing:.08em;
  text-transform:uppercase;color:var(--accent-strong);margin:0 0 14px}
.eyebrow--on-navy{color:var(--gold-400)}
.lead{font-size:20px;line-height:1.6;color:var(--text-secondary);max-width:64ch}
.section--navy .lead{color:rgba(255,255,255,.82)}
.fineprint{font-size:14px;color:var(--text-muted);line-height:1.55}
.rule-accent{width:56px;height:3px;background:var(--accent);border:0;border-radius:999px;margin:18px 0}

/* Buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;
  font-family:var(--font-sans);font-weight:600;font-size:20px;line-height:1.1;
  text-decoration:none;border-radius:var(--radius-md);cursor:pointer;
  padding:16px 28px;min-height:52px;border:1px solid transparent;
  transition:background-color .15s ease,border-color .15s ease,transform .05s ease}
.btn:active{transform:translateY(1px)}
.btn--primary{background:var(--action);color:#fff;border-color:var(--action);box-shadow:var(--shadow-sm)}
.btn--primary:hover{background:var(--action-hover);color:#fff}
.btn--navy{background:var(--navy-900);color:#fff;border-color:var(--navy-900);box-shadow:var(--shadow-sm)}
.btn--navy:hover{background:var(--navy-700);color:#fff}
.btn--secondary{background:#fff;color:var(--navy-900);border-color:var(--line-2)}
.btn--secondary:hover{background:var(--paper);color:var(--navy-900)}
.btn--onnavy{background:var(--action);color:#fff;border-color:var(--action)}
.btn--onnavy:hover{background:var(--action-hover);color:#fff}
.btn--ghostnavy{background:transparent;color:#fff;border-color:rgba(255,255,255,.5)}
.btn--ghostnavy:hover{background:rgba(255,255,255,.08);color:#fff}
.btn--md{font-size:18px;padding:12px 20px;min-height:44px}

/* Card */
.card{background:#fff;border:1px solid var(--border);border-radius:var(--radius-lg);
  box-shadow:var(--shadow-sm);padding:32px}
.card--accent{border-top:3px solid var(--accent)}
.card--flat{box-shadow:none}

/* Badge / chip */
.badge{display:inline-flex;align-items:center;gap:6px;padding:5px 12px;font-family:var(--font-sans);
  font-size:15px;font-weight:600;line-height:1.2;border-radius:var(--radius-pill);white-space:nowrap}
.badge--navy{background:var(--navy-900);color:#fff}
.badge--outline{background:#fff;color:var(--navy-900);border:1px solid var(--gold-500)}
.badge--gold{background:var(--gold-100);color:var(--navy-900);border:1px solid var(--gold-200)}
.badge--neutral{background:var(--paper-2);color:var(--text-secondary);border:1px solid var(--border)}

/* Check list */
.check-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:14px}
.check-list li{display:flex;align-items:flex-start;gap:12px;font-size:18px;line-height:1.55;color:var(--text-body)}
.section--navy .check-list li{color:rgba(255,255,255,.9)}
.check-list li::before{content:"";flex:0 0 auto;width:26px;height:26px;margin-top:1px;border-radius:50%;
  background:var(--navy-900);
  background-image:linear-gradient(45deg,transparent 42%,var(--gold-500) 42%,var(--gold-500) 50%,transparent 50%),
                   linear-gradient(-45deg,transparent 42%,var(--gold-500) 42%,var(--gold-500) 50%,transparent 50%);
  background-position:7px 9px,13px 9px;background-size:8px 8px,8px 8px;background-repeat:no-repeat}
.section--navy .check-list li::before{background-color:rgba(255,255,255,.12)}

/* Numbered seal (steps / pillars) */
.seal{display:inline-flex;align-items:center;justify-content:center;width:48px;height:48px;
  border-radius:50%;background:var(--navy-900);border:2px solid var(--accent);color:var(--accent);
  font-family:var(--font-serif);font-weight:700;font-size:22px;flex:0 0 auto}

/* Notice / compliance callout */
.notice{display:flex;flex-direction:column;gap:4px;padding:20px 24px;border-radius:var(--radius-md);
  background:var(--gold-100);border-left:4px solid var(--accent)}
.notice--caution{background:var(--warning-100);border-left-color:var(--warning-700)}
.notice--info{background:var(--navy-050);border-left-color:var(--navy-600)}
.notice b{font-weight:700;color:var(--navy-900)}
.notice p{margin:0;color:var(--text-secondary);font-size:18px;line-height:1.55}

/* Stat */
.stat{display:flex;flex-direction:column;gap:6px;padding:24px;background:#fff;border:1px solid var(--border);
  border-radius:var(--radius-lg);box-shadow:var(--shadow-sm)}
.stat .num{font-family:var(--font-serif);font-size:40px;font-weight:700;line-height:1;color:var(--navy-900)}
.stat .lab{font-size:17px;color:var(--text-secondary);line-height:1.5}

/* Grids */
.grid{display:grid;gap:20px}
.grid-2{grid-template-columns:repeat(2,1fr)}
.grid-3{grid-template-columns:repeat(3,1fr)}
.grid-4{grid-template-columns:repeat(4,1fr)}

/* Site header */
.site-header{position:sticky;top:0;z-index:40;background:#fff;border-bottom:1px solid var(--border)}
.announce{background:#C0271D;color:#fff;font-size:15px}
.announce .container{display:flex;align-items:center;justify-content:center;gap:10px;padding-top:9px;padding-bottom:9px;text-align:center;line-height:1.4}
.announce .dot{width:8px;height:8px;border-radius:50%;background:#fff;flex:0 0 auto}
.nav{display:flex;align-items:center;justify-content:space-between;gap:24px;padding-top:14px;padding-bottom:14px}
/* Real logo lockup (image) */
.site-logo{display:inline-flex;align-items:center;text-decoration:none}
.site-logo img{height:40px;width:auto;display:block}
.site-footer .site-logo img{height:44px}
.nav-links{display:flex;align-items:center;gap:28px}
.nav-links a:not(.btn){font-weight:600;font-size:18px;color:var(--navy-900);text-decoration:none;white-space:nowrap}
.brand-lockup{display:inline-flex;align-items:center;gap:13px;text-decoration:none}
.brand-lockup img{height:42px;width:auto}
.brand-lockup .wm{font-family:var(--font-sans);font-size:26px;line-height:1;color:var(--navy-900);white-space:nowrap}
.brand-lockup .wm b{font-weight:700}
.brand-lockup .wm span{font-weight:400}

/* Site footer */
.site-footer{background:var(--navy-900);color:#fff}
.site-footer h3,.site-footer h4{color:#fff;font-family:var(--font-sans);font-size:18px;margin:0 0 12px}
.site-footer .muted{color:rgba(255,255,255,.8);line-height:1.65}
.site-footer .brand-lockup .wm{color:#fff}
.disclaimer-box{background:rgba(255,255,255,.06);border:1px solid var(--navy-700);border-radius:var(--radius-md);
  padding:14px 18px;font-size:15px;color:rgba(255,255,255,.8);line-height:1.55}
.disclaimer-box b{color:#fff}

@media (max-width:860px){
  .grid-2,.grid-3,.grid-4{grid-template-columns:1fr}
}
/* Nav collapses to the mobile menu before it can wrap (text toggle takes ~90px) */
@media (max-width:1120px){
  .nav-links{display:none}
}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

/* ==========================================================================
   Eligibility modal (vanilla — opened by eligibility.js from any #check CTA)
   ========================================================================== */
.elig-overlay{position:fixed;inset:0;z-index:100;background:rgba(16,35,63,.55);backdrop-filter:blur(2px);
  display:flex;align-items:center;justify-content:center;padding:24px}
.elig-overlay[hidden]{display:none}
.elig-modal{width:min(640px,100%);max-height:90vh;overflow:auto;background:#fff;
  border-radius:var(--radius-xl);box-shadow:var(--shadow-lg);border-top:4px solid var(--accent)}
.elig-head{padding:20px 28px;border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between}
.elig-title{font-weight:700;color:var(--navy-900);font-size:18px}
.elig-close{width:40px;height:40px;border:1px solid var(--border);border-radius:var(--radius-md);background:#fff;
  cursor:pointer;font-size:22px;line-height:1;color:var(--ink-500)}
.elig-close:hover{background:var(--paper)}
.elig-dots{display:flex;gap:8px;padding:16px 28px 0}
.elig-dots span{height:6px;flex:1;border-radius:999px;background:var(--line-2)}
.elig-dots span.on{background:var(--accent)}
.elig-body{padding:22px 28px}
.elig-body h3{font-size:24px;margin:0 0 18px}
.elig-foot{padding:16px 28px 24px;display:flex;justify-content:space-between;gap:12px}
.elig-radios{display:flex;flex-direction:column;gap:12px}
.elig-radio{display:flex;align-items:flex-start;gap:14px;width:100%;text-align:left;padding:16px 18px;
  border:1px solid var(--line-2);border-radius:var(--radius-md);background:#fff;cursor:pointer;
  font-family:var(--font-sans);transition:border-color .15s ease,background-color .15s ease}
.elig-radio:hover{border-color:var(--navy-300);background:var(--paper)}
.elig-radio.sel{border-color:var(--accent);background:var(--gold-100);box-shadow:inset 0 0 0 1px var(--accent)}
.elig-radio__dot{flex:0 0 auto;width:22px;height:22px;border-radius:50%;border:2px solid var(--line-2);margin-top:1px}
.elig-radio.sel .elig-radio__dot{border-color:var(--accent);background:radial-gradient(circle at center,var(--accent) 0 5px,transparent 6px)}
.elig-radio__label{display:block;font-size:18px;font-weight:600;color:var(--navy-900)}
.elig-radio__desc{display:block;font-size:15px;color:var(--text-secondary);margin-top:2px}
.elig-fields{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-bottom:18px}
.elig-fields label{display:flex;flex-direction:column;gap:6px;font-size:14px;font-weight:600;color:var(--navy-900)}
.elig-fields input,.elig-fields select{font-family:var(--font-sans);font-size:16px;padding:12px 14px;
  border:1px solid var(--line-2);border-radius:var(--radius-md);background:#fff;min-height:48px;color:var(--ink-900)}
.elig-fields input:focus,.elig-fields select:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--gold-200)}
.elig-seal{width:64px;height:64px;border-radius:50%;background:var(--navy-900);border:2px solid var(--accent);
  display:flex;align-items:center;justify-content:center;margin:0 auto 18px}
@media (max-width:520px){.elig-fields{grid-template-columns:1fr}.elig-head,.elig-dots,.elig-body,.elig-foot{padding-left:20px;padding-right:20px}}

/* ==========================================================================
   Town Hall / webinar funnel (briefing · watch · book · confirmed)
   Additive — safe for all existing spoke pages.
   ========================================================================== */
/* Reusable trust strip */
.trust-bar{background:var(--navy-800);border-top:1px solid var(--navy-700);border-bottom:1px solid var(--navy-700)}
.trust-bar .container{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:12px 22px;
  padding-top:16px;padding-bottom:16px}
.trust-bar .ti{display:flex;align-items:center;gap:9px;font-size:15.5px;font-weight:600;color:rgba(255,255,255,.9);line-height:1.35}
.trust-bar .ti::before{content:"";flex:0 0 auto;width:7px;height:7px;border-radius:50%;background:var(--gold-500)}
.trust-bar--light{background:var(--paper);border-top:1px solid var(--border);border-bottom:1px solid var(--border)}
.trust-bar--light .ti{color:var(--navy-800)}

/* Labeled embed placeholder slots (GHL form, video, calendar) */
.embed-slot{border:2px dashed var(--navy-300);border-radius:var(--radius-lg);background:var(--navy-050);
  display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;
  gap:12px;padding:44px 28px;min-height:180px}
.embed-slot .tag{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:12.5px;font-weight:700;
  letter-spacing:.03em;color:var(--navy-700);background:#fff;border:1px solid var(--navy-100);border-radius:6px;padding:7px 13px}
.embed-slot h3,.embed-slot h4{margin:0;color:var(--navy-900);font-size:20px}
.embed-slot p{margin:0;font-size:15px;color:var(--text-secondary);max-width:46ch;line-height:1.5}
.embed-slot ul{margin:2px 0 0;padding:0;list-style:none;font-size:14.5px;color:var(--text-secondary);line-height:1.7}
.embed-slot--video{aspect-ratio:16/9;min-height:0;background:var(--navy-900);border-color:var(--navy-600);color:#fff}
.embed-slot--video .tag{background:rgba(255,255,255,.08);border-color:var(--navy-600);color:var(--gold-400)}
.embed-slot--video p{color:rgba(255,255,255,.75)}

/* Split hero for /briefing */
.split{display:grid;grid-template-columns:1fr 540px;gap:56px;align-items:start}
.gate-card{background:#fff;border-radius:var(--radius-xl);box-shadow:var(--shadow-lg);border-top:4px solid var(--accent);
  padding:36px 36px 30px;position:sticky;top:104px}
@media (max-width:960px){
  .split{grid-template-columns:1fr;gap:36px}
  .gate-col{order:-1}                            /* form ABOVE pitch on mobile */
  .gate-card{position:static}
}

/* Persistent booking bar (/watch) */
.book-bar{position:sticky;bottom:0;z-index:30;background:var(--navy-900);color:#fff;
  border-top:3px solid var(--accent);box-shadow:0 -10px 28px rgba(16,35,63,.22)}
.book-bar .container{display:flex;align-items:center;justify-content:space-between;gap:18px 28px;
  flex-wrap:wrap;padding-top:16px;padding-bottom:16px}
.book-bar .bb-txt{font-size:19px;font-weight:700;color:#fff;margin:0;line-height:1.3}
.book-bar .bb-sub{font-size:15px;color:rgba(255,255,255,.75);margin:3px 0 0}

/* Copyable share row (referral nudge) */
.share-row{display:flex;flex-wrap:wrap;gap:12px;align-items:center}
.share-link{flex:1 1 260px;min-width:0;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;
  font-size:15px;color:var(--navy-800);background:#fff;border:1px solid var(--line-2);border-radius:var(--radius-md);
  padding:13px 16px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}

/* Mobile: full-width buttons for older-reader tap targets */
@media (max-width:600px){
  .btn--block-mobile{width:100%}
  .book-bar .container{flex-direction:column;align-items:stretch;text-align:center}
}

/* ==========================================================================
   Site enhancements (site.js) — text-size toggle · mobile menu · glossary ·
   "prefer to talk" lines · survey reassurance · print styles
   Additive — safe for all existing spoke pages.
   ========================================================================== */

/* — Header right-side group (built by site.js) — */
.nav-right{display:flex;align-items:center;gap:18px;min-width:0}

/* — Larger-text mode — */
html.text-xl body{font-size:21px}
html.text-xl .lead{font-size:23px}
html.text-xl .check-list li{font-size:21px}
html.text-xl .notice p{font-size:21px}
html.text-xl .fineprint{font-size:16px}
html.text-xl .stat .lab{font-size:19px}
html.text-xl .disclaimer-box{font-size:17px}
html.text-xl .announce{font-size:17px}
html.text-xl .elig-radio__label{font-size:21px}
html.text-xl .elig-radio__desc{font-size:17px}
html.text-xl .badge{font-size:16px}
html.text-xl .eyebrow{font-size:16px}

.text-toggle{display:inline-flex;align-items:center;gap:2px;background:#fff;border:1px solid var(--line-2);
  border-radius:var(--radius-md);padding:3px;flex:0 0 auto}
.text-toggle button{font-family:var(--font-sans);border:0;background:transparent;color:var(--navy-900);
  cursor:pointer;border-radius:6px;padding:5px 11px;font-weight:700;line-height:1;min-height:36px;min-width:36px}
.text-toggle button:hover{background:var(--paper)}
.text-toggle button[aria-pressed="true"]{background:var(--navy-900);color:#fff}
.text-toggle .tA{font-size:15px}
.text-toggle .tAA{font-size:20px}

/* — Mobile navigation menu (breakpoint matches .nav-links collapse above) — */
.nav-toggle{display:none}
@media (max-width:1120px){
  .nav-toggle{display:inline-flex;align-items:center;gap:9px;background:#fff;border:1px solid var(--line-2);
    border-radius:var(--radius-md);min-height:44px;padding:8px 14px;cursor:pointer;
    font-family:var(--font-sans);font-size:16px;font-weight:700;color:var(--navy-900)}
  .nav-toggle .bars{display:inline-flex;flex-direction:column;gap:4px}
  .nav-toggle .bars span{display:block;width:18px;height:2px;background:var(--navy-900);border-radius:2px}
  .site-header.nav-open .nav-links{display:flex;flex-direction:column;align-items:stretch;gap:0;
    position:absolute;left:0;right:0;top:100%;background:#fff;border-bottom:1px solid var(--border);
    box-shadow:var(--shadow-lg);padding:8px 24px 22px;z-index:50}
  .site-header.nav-open .nav-links a:not(.btn){padding:15px 4px;border-bottom:1px solid var(--border);font-size:19px;white-space:normal}
  .site-header.nav-open .nav-links .btn{margin-top:16px}
}

/* — "Prefer to talk?" line under eligibility CTAs — */
.talk-line{display:block;width:100%;font-size:17px;line-height:1.5;color:var(--text-secondary);margin-top:14px}
.talk-line a{font-weight:700;color:var(--navy-800);white-space:nowrap}
.section--navy .talk-line{color:rgba(255,255,255,.8)}
.section--navy .talk-line a{color:var(--gold-400)}

/* — Glossary terms + definition popover — */
.term{background:none;border:0;padding:0;margin:0;font:inherit;color:inherit;text-align:left;cursor:pointer;
  border-bottom:2px dotted var(--gold-600)}
.term:hover{background:var(--gold-100)}
.term:focus-visible{outline:2px solid var(--gold-600);outline-offset:2px}
.term-pop{position:absolute;z-index:80;background:var(--navy-900);color:rgba(255,255,255,.92);font-size:16px;
  line-height:1.55;padding:14px 17px;border-radius:var(--radius-md);box-shadow:var(--shadow-lg);
  border-top:3px solid var(--gold-500)}
.term-pop b{display:block;color:var(--gold-400);margin-bottom:4px;font-size:13px;letter-spacing:.07em;text-transform:uppercase}

/* — "What happens next" reassurance strip (eligibility survey) — */
.elig-next{display:flex;flex-direction:column;gap:8px;background:var(--navy-050);border:1px solid var(--navy-100);
  border-radius:var(--radius-md);padding:14px 16px;margin:16px 0 0}
.elig-next p{margin:0;font-size:15px;color:var(--navy-800);display:flex;gap:9px;align-items:flex-start;line-height:1.45}
.elig-next p::before{content:"";flex:0 0 auto;width:7px;height:7px;border-radius:50%;background:var(--gold-500);margin-top:7px}
.elig-next strong{color:var(--navy-900)}

/* — Print: hide chrome, keep the content (checklist + explainers) — */
@media print{
  .site-header,.site-footer,.announce,.trust-bar,.book-bar,.btn,.talk-line,.elig-overlay,
  .nav-toggle,.embed-slot,.rail,.term-pop,#cnw-cookie-banner{display:none !important}
  body{background:#fff;color:#000}
  .section,.section--paper,.section--white,.section--navy{background:#fff;color:#000;padding:14pt 0}
  .section--navy *,.desert-band__card *{color:#000 !important}
  .desert-band__img,.desert-credit{display:none !important}
  .desert-band__inner{position:static !important}
  .desert-band__card{background:none !important;border:none !important;padding:0 !important}
  .section--navy h1,.section--navy h2,.section--navy h3,.section--navy h4{color:#000}
  .section--navy .lead,.section--navy p{color:#222}
  .layout{display:block !important}
  .card,.stat,.myth{box-shadow:none;break-inside:avoid}
  .term{border-bottom:none}
  a{color:#000}
}

/* =====================================================================
   Audit additions — announce link, collapsed-nav quick actions, call bar
   ===================================================================== */
.announce a.announce-link{color:#fff;text-decoration:none}
.announce .announce-cta{text-decoration:underline;text-underline-offset:3px;font-weight:700;white-space:nowrap}
.announce a.announce-link:hover .announce-cta{text-decoration-thickness:2px}
/* Rotating announce banner (site.js) — slides crossfade in place */
.announce .container.announce-rotate{position:relative}
.announce-rotate .announce-slide{display:flex;align-items:center;justify-content:center;gap:10px;opacity:0;transition:opacity .6s ease;pointer-events:none}
.announce-rotate .announce-slide:not(.is-on){position:absolute;inset:0;padding:9px 24px}
.announce-rotate .announce-slide.is-on{opacity:1;pointer-events:auto}
.announce-rotate.announce-instant .announce-slide{transition:none}
/* Phone + CTA stay visible while the menu is collapsed (641–1120px) */
.nav-quick{display:none;align-items:center;gap:16px}
.nav-quick .nq-tel{font-weight:700;font-size:17px;color:var(--navy-700);text-decoration:none;white-space:nowrap}
.nav-quick .btn{padding:10px 16px;font-size:16px;white-space:nowrap}
@media (max-width:1120px){.nav-quick{display:flex}}
@media (max-width:640px){.nav-quick{display:none}}
/* Mobile call bar (small screens; site.js injects, dismissible) */
.call-bar{position:fixed;left:0;right:0;bottom:0;z-index:60;display:none;background:var(--navy-900);border-top:3px solid var(--accent);box-shadow:0 -8px 24px rgba(16,35,63,.28);padding:10px 10px calc(10px + env(safe-area-inset-bottom));gap:8px;align-items:stretch}
.call-bar a{flex:1;display:flex;align-items:center;justify-content:center;min-height:48px;border-radius:var(--radius-md);font-weight:700;font-size:16px;text-decoration:none;text-align:center;padding:4px 8px}
.call-bar .cb-call{border:1.5px solid rgba(255,255,255,.55);color:#fff}
.call-bar .cb-book{background:#fff;color:var(--navy-900)}
.call-bar .cb-close{flex:0 0 auto;min-width:44px;background:none;border:none;color:rgba(255,255,255,.75);font-size:24px;line-height:1;cursor:pointer;border-radius:var(--radius-sm)}
.call-bar .cb-close:hover{color:#fff}
@media (max-width:640px){.call-bar{display:flex}body.call-bar-on{padding-bottom:78px}}
@media print{.call-bar,.announce{display:none}}

/* Registration form (/briefing gate card) — appended */
.reg-form{display:flex;flex-direction:column;gap:12px;width:100%;text-align:left}
.reg-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.reg-form label{display:flex;flex-direction:column;gap:6px;font-size:14px;font-weight:600;color:var(--navy-900)}
.reg-form input,.reg-form select{font-family:var(--font-sans);font-size:16px;padding:13px 14px;width:100%;
  border:1px solid var(--line-2);border-radius:var(--radius-md);background:#fff;min-height:50px;color:var(--ink-900)}
.reg-form input:focus,.reg-form select:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--gold-200)}
.reg-consent{display:flex;gap:12px;align-items:flex-start;text-align:left;font-size:14px;
  color:var(--text-secondary);line-height:1.5;background:#fff;border:1px solid var(--line-2);
  border-radius:var(--radius-md);padding:13px 14px;cursor:pointer;font-weight:400}
.reg-consent input[type="checkbox"]{flex:0 0 auto;width:22px;height:22px;min-height:0;margin:1px 0 0;accent-color:var(--blue-500)}
.reg-error{display:none;background:#FBEAE9;border:1px solid #E4B7B5;border-radius:var(--radius-md);
  color:var(--danger-700);font-size:15px;line-height:1.5;padding:12px 14px;margin:0}
.reg-error a{color:var(--danger-700);font-weight:700}
.reg-form .btn[disabled]{opacity:.6;cursor:wait}
@media (max-width:520px){.reg-row{grid-template-columns:1fr}}
