/* JK chrome (header+footer) extracted verbatim from jk_styles_css — do not hand-edit; regenerate from source */
/* ============================================================
   JK Accounting Group — "Atlas" website styles
   Tokens, type, and components lifted verbatim from the
   design system (jk-brand-showcase.html). Petrol teal +
   warm bronze on soft ivory. Content renders with zero JS;
   any script only enhances.
   ============================================================ */
:root{
  --teal-50:#EAF1F2; --teal-100:#CFE0E2; --teal-200:#A6C4C8; --teal-300:#6F9DA4;
  --teal-400:#3F767F; --teal-500:#245C66; --teal-600:#1A4C55; --teal-700:#163F47;
  --teal-800:#123841; --teal-900:#0D2A31; --teal-950:#091F24;
  --bronze-50:#F7F0E6; --bronze-100:#EFDDC6; --bronze-200:#E1C195; --bronze-300:#CFA268;
  --bronze-400:#B98545; --bronze-500:#9C6A39; --bronze-600:#7E5430; --bronze-700:#61411F; --bronze-800:#49321A;
  --greige-50:#F6F3EC; --greige-100:#EDE9DF; --greige-150:#E5E0D4; --greige-200:#DAD4C6;
  --greige-300:#C5BEAD; --greige-400:#A19986; --greige-500:#6F6857; --greige-600:#534D40;
  --greige-700:#3C372E; --greige-800:#28241D; --greige-900:#1A1713;
  --sage-50:#E9F2EF; --sage-100:#D2E5E0; --sage-300:#84B4A8; --sage-500:#3E7D6E; --sage-600:#2E6457; --sage-700:#234E44;
  --success:#2F8F5E; --success-text:#1F7049; --success-bg:#E3F1EA;
  --warning:#B8841C; --warning-text:#8A6111; --warning-bg:#F6ECD2;
  --error:#B23A3A; --error-text:#8C2A2A; --error-bg:#F6E3DF;
  --info:#2F5E8C; --info-text:#214668; --info-bg:#E3EAF3;
  --bg-page:#F6F3EC; --surface:#FFFFFF; --paper:#FBF8F2; --bg-inverse:#123841; --bg-inverse-deep:#0D2A31;
  --text-primary:#0D2A31; --text-body:#22201A; --text-muted:#6F6857;
  --text-on-dark:#ECE6DA; --text-on-dark-muted:#9FB3B6; --text-gold:#7E5430;
  --brand:#123841; --accent:#9C6A39; --border:#C5BEAD; --border-subtle:#DAD4C6;
  --serif:"Source Serif 4", Georgia, "Times New Roman", serif;
  --sans:"IBM Plex Sans", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
  --mono:"IBM Plex Mono", ui-monospace, "SFMono-Regular", Menlo, monospace;
  --shadow-sm:0 1px 2px rgba(9,38,44,0.07), 0 2px 6px rgba(9,38,44,0.06);
  --shadow-md:0 2px 4px rgba(9,38,44,0.06), 0 6px 16px rgba(9,38,44,0.09);
  --shadow-lg:0 4px 8px rgba(9,38,44,0.07), 0 14px 32px rgba(9,38,44,0.11);
  --shadow-xl:0 8px 16px rgba(9,38,44,0.09), 0 28px 56px rgba(9,38,44,0.15);
  --maxw:1180px; --gutter:clamp(20px,5vw,40px); --appbar-h:64px;
  --ease-out:cubic-bezier(0.22,1,0.36,1);
  --z-appbar:100; --z-scrim:200; --z-drawer:300;
}
.wrap{max-width:var(--maxw); margin:0 auto; padding-inline:var(--gutter);}
/* ============================================================
   App bar / primary navigation (real links; CSS-only mobile menu)
   ============================================================ */
.nav-toggle{position:absolute; width:1px; height:1px; opacity:0; overflow:hidden; clip:rect(0 0 0 0); pointer-events:none;}
.appbar{position:fixed; top:0; left:0; right:0; height:var(--appbar-h); z-index:var(--z-appbar); background:rgba(18,56,65,0.92); backdrop-filter:saturate(140%) blur(10px); -webkit-backdrop-filter:saturate(140%) blur(10px); border-bottom:1px solid rgba(236,230,218,0.12);}
.appbar .wrap{height:100%; display:flex; align-items:center; justify-content:space-between; gap:18px;}
.brandmark{display:flex; align-items:center; gap:11px; text-decoration:none; flex:0 0 auto;}
.brandmark img{height:38px; width:auto;}
.brandmark .bm-fallback{display:flex; align-items:center; gap:11px;}
.brandmark .bm-fallback svg{width:30px; height:30px;}
.brandmark b{font-family:var(--serif); font-weight:600; font-size:16px; color:var(--text-on-dark); letter-spacing:-0.01em;}
.primary-nav{display:flex; align-items:center; gap:6px;}
.primary-nav a{font-family:var(--sans); font-size:14.5px; font-weight:500; color:var(--text-on-dark); text-decoration:none; padding:9px 13px; border-radius:8px; transition:background .18s, color .18s; opacity:.92; white-space:nowrap;}
.primary-nav a:hover{background:rgba(236,230,218,0.09); opacity:1;}
.primary-nav .nav-cta-m{display:none;}
/* mobile-only CTA inside the menu */
.nav-right{display:flex; align-items:center; gap:14px; flex:0 0 auto;}
.nav-cta{font-family:var(--sans); font-size:13.5px; font-weight:600; background:var(--accent); color:#fff; text-decoration:none; padding:9px 16px; border-radius:9px; transition:background .18s; white-space:nowrap;}
.nav-cta:hover{background:var(--bronze-600);}
.menu-btn{display:none; align-items:center; justify-content:center; width:42px; height:42px; background:transparent; border:1px solid rgba(236,230,218,0.3); color:var(--text-on-dark); border-radius:9px; cursor:pointer;}
.menu-btn svg{width:20px; height:20px;}
.menu-btn .x{display:none;}
.scrim{display:none;}
@media (max-width:1100px){
.menu-btn{display:inline-flex;}
.primary-nav{position:fixed; top:var(--appbar-h); left:0; right:0; flex-direction:column; align-items:stretch; gap:2px; background:linear-gradient(180deg,#10333b,#0b232a); border-bottom:1px solid rgba(236,230,218,0.12); padding:14px var(--gutter) 22px; transform:translateY(-12px); opacity:0; visibility:hidden; transition:opacity .26s var(--ease-out), transform .26s var(--ease-out), visibility .26s; box-shadow:var(--shadow-xl);}
.primary-nav a{padding:13px 12px; font-size:16px; border-radius:9px;}
.primary-nav .nav-cta-m{display:block; margin-top:8px; background:var(--accent); color:#fff; text-align:center; font-weight:600;}
.nav-right .nav-cta{display:none;}
/* the bar CTA folds into the menu on mobile */
  .nav-toggle:checked ~ .appbar .primary-nav,
  .appbar:has(.nav-toggle:checked) .primary-nav{transform:none; opacity:1; visibility:visible;}
#nav-toggle:checked ~ .scrim{display:block; position:fixed; inset:var(--appbar-h) 0 0; z-index:calc(var(--z-appbar) - 1); background:rgba(9,31,36,0.4);}
}
/* the checkbox lives before .appbar so sibling selector works */
#nav-toggle:checked ~ .appbar .primary-nav{transform:none; opacity:1; visibility:visible;}
#nav-toggle:checked ~ .appbar .menu-btn .x{display:block;}
#nav-toggle:checked ~ .appbar .menu-btn .bars{display:none;}
@media (prefers-reduced-motion:reduce){
.primary-nav{transition:none;}
}
.hero .wrap{position:relative; z-index:1;}
/* ============================================================
   Footer
   ============================================================ */
.site-footer{background:var(--bg-inverse-deep); color:var(--text-on-dark-muted); padding-block:clamp(48px,7vw,72px) 28px;}
.footer-top{display:grid; grid-template-columns:1.4fr 1fr 1fr 1fr; gap:clamp(28px,5vw,56px);}
@media (max-width:820px){
.footer-top{grid-template-columns:1fr 1fr;}
}
@media (max-width:520px){
.footer-top{grid-template-columns:1fr;}
}
.footer-brand img{height:54px; width:auto; margin-bottom:18px;}
.footer-brand p{font-size:14.5px; line-height:1.65; color:var(--text-on-dark-muted); max-width:34ch;}
.footer-col h4{font-family:var(--mono); font-size:10.5px; letter-spacing:0.14em; text-transform:uppercase; color:var(--text-on-dark-muted); margin-bottom:16px;}
.footer-col ul{list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:11px;}
.footer-col a{font-size:14.5px; color:var(--text-on-dark); text-decoration:none; opacity:.86; transition:opacity .18s;}
.footer-col a:hover{opacity:1; color:var(--bronze-300);}
.footer-bottom{margin-top:clamp(40px,6vw,60px); padding-top:24px; border-top:1px solid rgba(236,230,218,0.12); display:flex; flex-wrap:wrap; gap:12px 24px; align-items:center; justify-content:space-between; font-family:var(--mono); font-size:11px; letter-spacing:0.06em;}
.footer-bottom .ll{text-transform:uppercase;}
