@font-face{font-family:'Zodiak';src:url('https://thekaymedia.com/wp-content/uploads/tkm-v2/fonts/zodiak-400.woff2') format('woff2');font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:'General Sans';src:url('https://thekaymedia.com/wp-content/uploads/tkm-v2/fonts/gs-400.woff2') format('woff2');font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:'General Sans';src:url('https://thekaymedia.com/wp-content/uploads/tkm-v2/fonts/gs-500.woff2') format('woff2');font-weight:500;font-style:normal;font-display:swap}
@font-face{font-family:'General Sans';src:url('https://thekaymedia.com/wp-content/uploads/tkm-v2/fonts/gs-600.woff2') format('woff2');font-weight:600;font-style:normal;font-display:swap}
:root{
    --ground:#FFFFFF;      /* pure white — brightest per feedback */
    --panel:var(--s-warm);  /* legacy alias -> warm surface */
    --paper:var(--s-soft);  /* legacy alias -> soft surface */
    --ink:#1A1712; --graphite:#564F41; --line:#E3DCCE;
    /* SURFACE SYSTEM — exactly three */
    --s-base:#FFFFFF;      /* default sections */
    --s-soft:#FAF9F6;      /* subtle bands: statbar, proof, footer */
    --s-warm:#F8F2E5;      /* the two 'moments': how, close */
    --bronze:#9A7B4F; --bronze-ink:#7E6440;
    --gold:#BE8A2E;        /* strong CTA fill — saturated on-brand gold */
    --gold-text:#FBF6EA;
    --serif:'Zodiak',Georgia,serif; --sans:'General Sans',system-ui,sans-serif;
  }
.wrap{max-width:1320px;margin:0 auto;padding:0 clamp(24px,4vw,64px)}
/* ---------- nav: minimal, airy ---------- */
  .nav{position:fixed;top:0;left:0;right:0;z-index:60;background:var(--ground);border-bottom:1px solid rgba(90,75,55,.16)}
/* the hero already pads 76px/118px to clear the 62px bar, so fixed needs no compensation */
  .nav.scrolled{box-shadow:0 1px 12px -6px rgba(60,45,20,.28)}
.burger{display:none;width:42px;height:42px;margin-left:-9px;border:0;background:none;cursor:pointer;
    flex-direction:column;justify-content:center;gap:5px;padding:0 9px}
.burger span{display:block;height:1.5px;background:var(--ink);border-radius:2px;transition:transform .26s,opacity .2s}
.burger span:nth-child(1){width:20px}
.burger span:nth-child(2){width:14px}
.burger span:nth-child(3){width:20px}
.burger[aria-expanded="true"] span:nth-child(1){transform:translateY(6.5px) rotate(45deg);width:20px}
.burger[aria-expanded="true"] span:nth-child(2){opacity:0}
.burger[aria-expanded="true"] span:nth-child(3){transform:translateY(-6.5px) rotate(-45deg);width:20px}
.b-short{display:none}
.c-short{display:none}
.mnav{position:fixed;inset:var(--navh) 0 0;z-index:55;background:rgba(26,23,18,.28);backdrop-filter:blur(2px);
    opacity:0;transition:opacity .24s;overflow-y:auto;-webkit-overflow-scrolling:touch}
.mnav.open{opacity:1}
.mnav-panel{background:var(--s-base,#fff);border-bottom:1px solid #ECE6DA;padding:22px clamp(24px,6vw,32px) 30px;
    transform:translateY(-10px);transition:transform .26s}
.mnav.open .mnav-panel{transform:translateY(0)}
.mnav-eye{font-size:10px;letter-spacing:.2em;text-transform:uppercase;color:var(--bronze-ink);
    margin:20px 0 10px;padding-top:14px;border-top:1px solid #ECE6DA}
.mnav-eye:first-child{margin-top:4px;padding-top:0;border-top:0}
.mnav-panel a{display:block;font-size:16px;line-height:1.35;color:var(--ink);padding:9px 0;text-decoration:none}
.mnav-panel a:active{color:var(--gold)}
.mnav-cta{margin-top:22px;text-align:center;font-size:12px;font-weight:600;letter-spacing:.14em;
    text-transform:uppercase;color:#231802!important;background:linear-gradient(135deg,#FBDA76,#EFC751);
    border-radius:100px;padding:15px 20px!important}
.mnav-tel{text-align:center;color:var(--graphite)!important;font-size:14px}
@media(prefers-reduced-motion:reduce){
.mnav,.mnav-panel,.burger span{transition:none}
}
.nav-in{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;height:62px}
.nav-l{justify-self:start;display:flex;align-items:center;gap:32px}
.nav-l a.link,.nav-r a.link{font-size:12px;font-weight:500;letter-spacing:.13em;text-transform:uppercase;color:var(--graphite);transition:color .2s}
.nav-l a.link:hover,.nav-r a.link:hover{color:var(--ink)}
.brand{justify-self:center;font-family:var(--sans);font-weight:600;letter-spacing:.24em;text-transform:uppercase;font-size:15px;white-space:nowrap}
.nav-r{justify-self:end;display:flex;align-items:center;gap:32px}
.nav-cta{position:relative;font-size:11px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:#231802;border:1px solid rgba(255,250,235,.55);border-radius:100px;padding:9px 20px;
    background:linear-gradient(135deg,#FBDA76,#EFC751);
    box-shadow:inset 0 1px 0 rgba(255,255,255,.6),0 1px 2px rgba(90,60,10,.12),0 5px 14px -8px rgba(175,132,28,.34);transition:transform .2s,filter .2s}
.nav-cta::before{display:none}
.nav-cta .lbl{position:relative;z-index:2}
.nav-cta:hover{transform:translateY(-1px);filter:brightness(1.05)}
@media (max-width:940px){
/* Absolutely-centred wordmark: a 3-column grid ties the side columns to each
       other's width, which squeezed the CTA onto two lines. Centring the brand on
       the bar itself keeps it optically centred whatever the sides do. */
    .nav-in{position:relative;display:flex;justify-content:space-between;align-items:center;height:56px}
.nav-l{display:none}
.nav-r .link{display:none}
.burger{display:flex;width:34px;height:34px;margin-left:-8px;padding:0 7px;gap:4.5px}
.burger span:nth-child(1),.burger span:nth-child(3){width:18px}
.burger span:nth-child(2){width:12px}
.burger[aria-expanded="true"] span:nth-child(1){transform:translateY(5.5px) rotate(45deg);width:18px}
.burger[aria-expanded="true"] span:nth-child(3){transform:translateY(-5.5px) rotate(-45deg);width:18px}
/* .nav-in .brand, not .brand: a later touch-target rule sets .brand{position:relative}
and would otherwise win on source order and un-centre the wordmark. */
    .nav-in .brand{position:absolute;left:50%;transform:translateX(-50%);justify-self:auto;
      font-size:11.5px;letter-spacing:.18em;white-space:nowrap}
.b-short{display:none}
/* full wordmark fits once the CTA is shortened */
    .nav-cta{font-size:9.5px;letter-spacing:.1em;padding:8px 13px;white-space:nowrap}
.c-full{display:none}
.c-short{display:inline}
}
@media (max-width:520px){
.nav-in{height:76px}
}
/* ===================== LANDING-PAGE SECTIONS ===================== */
  .lp-wrap{max-width:1320px;margin:0 auto;padding:0 clamp(24px,4vw,64px)}
/* ---- site footer ---- */
  .ftr{background:var(--s-soft);border-top:1px solid #ECE6DA;padding:clamp(46px,5.5vw,64px) 0;position:relative;z-index:3;
    --gold:#83651D;--serif:'Zodiak',Georgia,serif}
.ftr-top{display:grid;grid-template-columns:1.35fr .85fr 1.05fr .95fr;gap:clamp(22px,3vw,44px);padding-bottom:clamp(30px,3.4vw,42px);border-bottom:1px solid #ECE6DA}
.ftr-word{font-family:var(--sans);font-weight:600;font-size:15px;color:#1A1712;letter-spacing:.2em;text-transform:uppercase}
.ftr-bot a{color:#6E6556;text-decoration:none}
.ftr-bot a:hover{color:var(--gold)}
.ftr-brand p{font-size:13px;line-height:1.6;color:#564F41;margin:12px 0 0;max-width:40ch}
.ftr-nav{display:flex;flex-direction:column;gap:11px;align-content:start}
.ftr-h{font-size:10px;letter-spacing:.2em;text-transform:uppercase;color:var(--bronze-ink);margin:0 0 3px}
.ftr-nap{margin-top:20px}
.ftr-nav a{font-size:13px;color:#3D3122;text-decoration:none;width:fit-content}
.ftr-nav a:hover{color:var(--gold)}
.ftr-nap{display:flex;flex-direction:column;gap:11px;font-size:13px}
.ftr-nap span{color:#564F41}
.ftr-nap a{color:#1A1712;text-decoration:none;font-weight:600;width:fit-content}
.ftr-nap a:hover{color:var(--gold)}
.ftr-bot{display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;padding-top:20px;font-size:12px;color:#6E6556}
@media(max-width:1040px) and (min-width:761px){
.ftr-top{grid-template-columns:1fr 1fr;gap:30px}
}
@media(max-width:760px){
.ftr-top{grid-template-columns:1fr;gap:26px}
.ftr-bot{flex-direction:column;gap:8px}
}
/* scoped — never applied outside the chrome */
.nav *,.mnav *,.ftr *{box-sizing:border-box}
.nav a,.mnav a,.ftr a{text-decoration:none;color:inherit}
.ftr p,.ftr span,.ftr div{margin:0}
.mnav-panel a,.ftr-nav a{display:block}
/* the theme's own header is replaced by ours */
.elementor-location-header{display:none!important}
/* the homepage hero pads itself to clear the fixed bar; inner pages do not, so they
   need the offset. Safe to set body here because this file loads ONLY on inner pages. */
body{padding-top:62px}
@media(max-width:940px){body{padding-top:56px}}

/* ---- accessibility corrections for legacy page content (Lighthouse 2026-07-27) ----
   All measured failures, all in page content rather than the chrome. Scoped so they
   cannot touch the nav/footer.
   !important is required: these blocks ship their own inline <style> in the page body,
   which loads after this stylesheet and would otherwise win.
   The calculator's right-hand panel is styled for a dark background that never renders,
   so its white/gold text sat on cream and was effectively invisible. */
.rev-calculator .calc-right h3,
.rev-calculator .calc-right .result span{color:#1A1712!important}  /* was #fff on #fffbf5 = 1.03:1 */
.rev-calculator .calc-right .result strong{color:#6F5836!important} /* was #caa96b = 2.16:1 */
.rev-calculator small{color:#4B5563!important}                      /* was 4.28:1 at 14px */
.tkm-services-eyebrow{color:#6F6862!important}                      /* was 3.69:1 at 12px */
.elementor p a:not(.elementor-button){color:#8A6B2E!important}      /* gold links were 2.15:1 */
