@import url("https://fonts.googleapis.com/css2?family=IBM+Plex+Sans:wght@400;500;600&family=IBM+Plex+Mono:wght@400;500&display=swap");

/* @section tokens — City Boy Survival daylight system over Kadence's global palette */
:root{
  --cbs-bone:#F6F1E7; --cbs-bone2:#EDE6D8; --cbs-paper:#FBFAF7; --cbs-wood:#D9C3A0;
  --cbs-pine800:#152921; --cbs-pine700:#1D392E; --cbs-pine600:#2B4A3E; --cbs-pine50:#E6F6EF;
  --cbs-brass300:#F0C45E; --cbs-brass700:#7A5B00;
  --cbs-slate800:#1E2229; --cbs-slate700:#2F333A; --cbs-slate600:#494D56; --cbs-slate500:#6D727A;
  --cbs-ink-d:#E5E8ED; --cbs-muted-d:#A0A5AC;
  --cbs-sans:'IBM Plex Sans',Inter,system-ui,sans-serif; --cbs-mono:'IBM Plex Mono','JetBrains Mono',ui-monospace,monospace;
  --cbs-ease:cubic-bezier(.2,.8,.2,1);
  /* Kadence palette slots */
  --global-palette1:#7A5B00;   /* accent — brass 700 (light) */
  --global-palette2:#1D392E;   /* accent alt — pine 700 */
  --global-palette3:#152921;   /* strongest text — pine 800 */
  --global-palette4:#1D392E;   /* strong text — pine 700 */
  --global-palette5:#3A3F46;   /* medium text */
  --global-palette6:#5B5F66;   /* subtle text */
  --global-palette7:#EDE6D8;   /* subtle background — bone 2 */
  --global-palette8:#F6F1E7;   /* lighter background — bone */
  --global-palette9:#FBFAF7;   /* white / offwhite — paper */
  --global-body-font-family:var(--cbs-sans);
  --global-heading-font-family:var(--cbs-sans);
}
body{background:var(--cbs-bone);color:var(--cbs-pine800);font-family:var(--cbs-sans);-webkit-font-smoothing:antialiased;font-optical-sizing:auto}
h1,h2,h3,h4{font-family:var(--cbs-sans);color:var(--cbs-pine700);letter-spacing:-.02em}
a{color:var(--cbs-brass700)}
a:hover{color:#634800}
::selection{background:var(--cbs-wood);color:var(--cbs-pine800)}

/* @section header — sitewide header: nav 3 | centered lockup | nav 3, horizon strip, compacting sticky */
#masthead{position:relative;z-index:9}
#masthead .site-header-row-container,
#masthead .site-header-wrap,
#masthead .site-header-inner-wrap{background:var(--cbs-slate800);color:var(--cbs-ink-d)}
#masthead .site-main-header-wrap{overflow:hidden;transition:background .35s var(--cbs-ease)}
#masthead .site-main-header-wrap:not(.item-is-fixed){position:relative}
#masthead .site-main-header-wrap.item-is-fixed{position:fixed;left:0;right:0;width:100%;z-index:100}
#masthead .site-main-header-wrap::after{content:"";position:absolute;left:0;right:0;bottom:0;height:84px;background:url("https://cityboysurvival.com/wp-content/uploads/2026/10/cortexmcp-1793125304-scaled.png") center bottom / cover no-repeat;pointer-events:none;opacity:1;transition:height .35s var(--cbs-ease),opacity .35s}
#masthead .site-header-row-container-inner{position:relative;z-index:1}
#masthead .site-container{max-width:1440px;padding-inline:max(clamp(16px,5.5vw,80px),env(safe-area-inset-left,0px)) max(clamp(16px,5.5vw,80px),env(safe-area-inset-right,0px))}
#masthead .site-main-header-inner-wrap{display:grid;grid-template-columns:1fr auto 1fr;align-items:start;gap:28px;min-height:150px;padding-block:12px;transition:padding .35s var(--cbs-ease),min-height .35s var(--cbs-ease)}
#masthead .site-header-main-section-left{justify-content:flex-end}
#masthead .site-header-main-section-right{justify-content:flex-start}
#masthead .site-header-main-section-center{justify-content:center}

/* lockup — 343px wide so the SURVIVAL line renders at a 10px cap height */
#masthead .site-branding{padding:0;line-height:0}
#masthead .site-branding a.brand{display:block;line-height:0}
#main-header .site-branding img.custom-logo,
#main-header .site-branding .custom-logo-link img{width:343px!important;max-width:343px!important;height:auto;transform-origin:50% 50%;transition:transform .35s var(--cbs-ease)}
#masthead .site-title{font-family:var(--cbs-sans);font-weight:600;color:var(--cbs-ink-d);font-size:22px;letter-spacing:-.02em}

/* nav — muted on slate, ink on hover, brass for the current silo */
#masthead .header-navigation{margin-top:14px;transition:margin .35s var(--cbs-ease)}
#masthead .header-navigation ul.menu{display:flex;gap:28px;align-items:center}
#masthead .header-navigation ul.menu>li{margin:0}
#masthead .header-navigation ul.menu>li>a{font-family:var(--cbs-sans);font-size:15px;font-weight:500;color:var(--cbs-muted-d);padding:12px 0;min-height:44px;display:inline-flex;align-items:center;white-space:nowrap;letter-spacing:.01em;background:none;transition:color .15s,transform .12s ease-out;-webkit-tap-highlight-color:transparent}
#masthead .header-navigation ul.menu>li>a:hover,
#masthead .header-navigation ul.menu>li>a:focus-visible{color:var(--cbs-ink-d)}
#masthead .header-navigation ul.menu>li>a:active{transform:scale(.97)}
#masthead .header-navigation ul.menu>li.current-menu-item>a,
#masthead .header-navigation ul.menu>li.current-menu-ancestor>a,
#masthead .header-navigation ul.menu>li.current_page_parent>a{color:var(--cbs-brass300)}
#masthead .header-navigation ul.menu>li>a:focus-visible{outline:2px solid var(--cbs-brass300);outline-offset:4px}

/* sticky compaction — Kadence adds .item-is-stuck once the row sticks; this state is the page's one translucent material */
#masthead .item-is-stuck .site-main-header-wrap,
#masthead .site-main-header-wrap.item-is-stuck{background:rgba(30,34,41,.84);-webkit-backdrop-filter:blur(18px) saturate(140%);backdrop-filter:blur(18px) saturate(140%)}
#masthead .site-main-header-wrap.kadence-sticky-header.item-is-fixed>.site-header-row-container-inner{background:transparent!important}
#masthead .site-main-header-wrap.kadence-sticky-header.item-is-stuck{height:auto!important}
#masthead .site-main-header-wrap.kadence-sticky-header.item-is-stuck .site-main-header-inner-wrap{min-height:0!important;height:auto!important}
#masthead .item-is-stuck .site-main-header-wrap::after{height:48px;opacity:.75}
#masthead .item-is-stuck .site-main-header-inner-wrap{min-height:0;padding-block:4px;align-items:center}
#main-header .item-is-stuck .site-branding img.custom-logo{transform:scale(.62);max-height:none!important;height:auto!important}
#main-header .item-is-stuck .site-branding{margin-block:-24px}
#masthead .item-is-stuck .header-navigation{margin-top:0}
@media (prefers-reduced-transparency:reduce){
  #masthead .item-is-stuck .site-main-header-wrap{background:var(--cbs-slate800);-webkit-backdrop-filter:none;backdrop-filter:none}
}
@media (prefers-reduced-motion:reduce){
  #masthead *{transition:none!important}
  #masthead .header-navigation ul.menu>li>a:active{transform:none;opacity:.8}
}

/* @section header-mobile — Kadence swaps to #mobile-header at its tablet breakpoint: lockup centered, hamburger right */
#mobile-header .site-main-header-wrap{overflow:hidden;background:var(--cbs-slate800)}
#mobile-header .site-main-header-wrap::after{content:"";position:absolute;left:0;right:0;bottom:0;height:48px;background:url("https://cityboysurvival.com/wp-content/uploads/2026/10/cortexmcp-1793125304-scaled.png") center bottom / cover no-repeat;pointer-events:none}
#mobile-header .site-header-row-container-inner{position:relative;z-index:1}
#mobile-header .site-container{padding-inline:max(16px,env(safe-area-inset-left,0px)) max(16px,env(safe-area-inset-right,0px))}
#mobile-header .site-main-header-inner-wrap{display:grid;grid-template-columns:44px minmax(0,1fr) 44px;align-items:start;min-height:108px;padding-block:12px}
#mobile-header .site-header-main-section-left{grid-column:2;justify-content:center}
#mobile-header .site-header-main-section-right{grid-column:3;justify-content:flex-end}
#mobile-header .site-branding{padding:0;line-height:0}
#mobile-header .site-branding img{width:220px!important;max-width:100%!important;height:auto}
#mobile-header .item-is-stuck .site-branding img{width:170px!important;max-width:170px!important}
#mobile-header .item-is-stuck .site-main-header-inner-wrap{min-height:0;padding-block:6px;align-items:center}
#mobile-header .item-is-stuck .site-main-header-wrap::after{height:32px;opacity:.75}
#mobile-header .menu-toggle-open{width:44px;height:44px;padding:10px;color:var(--cbs-ink-d);background:transparent;border:0;border-radius:4px;-webkit-tap-highlight-color:transparent}
#mobile-header .menu-toggle-open:active{transform:scale(.94)}
#mobile-header .menu-toggle-open .menu-toggle-icon{color:var(--cbs-ink-d)}

/* drawer — slate 700 sheet, 44px rows, brass current */
#mobile-drawer .drawer-inner{background:var(--cbs-slate700);color:var(--cbs-ink-d)}
#mobile-drawer .drawer-header{background:var(--cbs-slate800)}
#mobile-drawer .menu-toggle-close{color:var(--cbs-ink-d)}
#mobile-drawer .mobile-navigation ul li{border-bottom:1px solid var(--cbs-slate600)}
#mobile-drawer .mobile-navigation ul li a{font-family:var(--cbs-sans);font-size:17px;font-weight:500;color:var(--cbs-ink-d);padding:14px 0;min-height:48px}
#mobile-drawer .mobile-navigation ul li.current-menu-item>a{color:var(--cbs-brass300)}
#mobile-drawer .mobile-navigation ul li a:hover{color:var(--cbs-brass300)}

/* @section footer — Kadence Element #24 (replace_footer): slate 800 instrument, 4 columns, legal row */
.cbs-footer{background:var(--cbs-slate800);color:var(--cbs-muted-d);padding:56px clamp(16px,5.5vw,80px) 40px;margin:0}
.cbs-footer>*{max-width:1280px;margin-inline:auto}
.cbs-footer .cbs-fgrid{gap:32px;margin-bottom:0}
.cbs-footer .cbs-fgrid>.wp-block-column{min-width:0}
.cbs-footer .cbs-flockup{margin:0 0 12px}
.cbs-footer .cbs-flockup img{width:220px;height:auto;display:block}
.cbs-footer .cbs-ftag{color:var(--cbs-ink-d);font-size:15px;font-weight:500;margin:0 0 8px;line-height:1.4}
.cbs-footer .cbs-fmuted{color:var(--cbs-muted-d);font-size:14px;line-height:1.55;max-width:34ch;margin:0}
.cbs-footer .cbs-fhead{color:var(--cbs-ink-d);font-family:var(--cbs-mono);font-size:12px;font-weight:500;letter-spacing:.02em;margin:0 0 10px}
.cbs-footer .cbs-flinks{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:2px}
.cbs-footer .cbs-flinks li{margin:0;padding:0}
.cbs-footer .cbs-flinks a{color:var(--cbs-muted-d);text-decoration:none;font-size:14px;padding:9px 0;min-height:40px;display:inline-flex;align-items:center;transition:color .15s}
.cbs-footer .cbs-flinks a:hover,.cbs-footer .cbs-flinks a:focus-visible{color:var(--cbs-brass300)}
.cbs-footer .cbs-flinks a:focus-visible{outline:2px solid var(--cbs-brass300);outline-offset:3px}
.cbs-footer .cbs-flegal{border-top:1px solid var(--cbs-slate600);margin-top:40px;padding-top:20px;gap:12px 24px;font-family:var(--cbs-mono);font-size:12px;line-height:1.5;color:var(--cbs-muted-d)}
.cbs-footer .cbs-flegal p{margin:0}
.cbs-footer .cbs-flegal a{color:var(--cbs-muted-d);text-decoration:underline;text-underline-offset:3px}
.cbs-footer .cbs-flegal a:hover{color:var(--cbs-ink-d)}
@media (max-width:781px){
  .cbs-footer{padding:36px 16px 28px}
  .cbs-footer .cbs-fgrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px 20px}
  .cbs-footer .cbs-fgrid>.wp-block-column{flex-basis:auto!important;width:auto!important}
  .cbs-footer .cbs-fbrand{grid-column:1/-1}
  .cbs-footer .cbs-flockup img{width:200px}
}

/* @section home — homepage (pass 3): Kadence Row Layout / Column / Advanced Heading / Advanced Button / Image blocks own layout, spacing and type; this CSS only covers what blocks can't express */
.home.page-id-44 .tsma-ghost-toc{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);margin:-1px}
.home.page-id-44 .entry-content>.wp-block-kadence-rowlayout:first-child{margin-top:0}
/* links set inside Advanced Heading blocks inherit the block color; no theme underline */
.cbs-k-go a,.cbs-k-rlink a{color:inherit;text-decoration:none;border-bottom:1px solid currentColor;padding-bottom:1px;transition:opacity .15s}
.cbs-k-go a:hover,.cbs-k-rlink a:hover{opacity:.78}
.cbs-k-go a:focus-visible,.cbs-k-rlink a:focus-visible{outline:2px solid var(--cbs-brass300);outline-offset:3px}
.cbs-ka{color:var(--cbs-brass300)}
/* right-hand cells in slate readout headers */
.cbs-k-right>.kt-inside-inner-col{align-items:flex-end;justify-content:flex-end}
.cbs-k-right .wp-block-kadence-advancedheading{text-align:right}
/* lab figures: caption as a mono strip on slate below the image */
.cbs-k-fig figcaption{margin:0;padding:8px 10px;font-family:'IBM Plex Mono',ui-monospace,monospace;font-size:12px;line-height:1.5;color:var(--cbs-muted-d);background:var(--cbs-slate800);text-align:left;border-radius:0 0 4px 4px}
.cbs-k-fig .kb-is-ratio-image{border-radius:4px 4px 0 0;overflow:hidden}
/* proof cards: photo bleeds to the card edge, body padded */
.cbs-k-card>.kt-inside-inner-col{overflow:hidden}
.cbs-k-card .wp-block-kadence-image{margin:0}
/* ladder steps: number cell and copy sit on one line */
.cbs-k-step .kt-row-column-wrap{align-items:flex-start}
/* the Tuesday form (core/html inside a Kadence column) */
.cbs-tuesday-form{display:flex;gap:10px;flex-wrap:wrap;margin:0}
.cbs-tuesday-form input{flex:1 1 240px;min-height:52px;padding:0 16px;font:inherit;font-size:16px;color:var(--cbs-ink-d);background:var(--cbs-slate800);border:1px solid var(--cbs-slate600);border-radius:4px}
.cbs-tuesday-form input:focus-visible{outline:2px solid var(--cbs-brass300);outline-offset:2px}
.cbs-tuesday-form .cbs-cta-light{background:var(--cbs-ink-d);color:var(--cbs-slate800);font:inherit;font-weight:600;font-size:16px;padding:0 22px;min-height:52px;border:0;border-radius:4px;cursor:pointer;transition:transform .12s ease-out,background .2s}
.cbs-tuesday-form .cbs-cta-light:hover{background:#fff}
.cbs-tuesday-form .cbs-cta-light:active{transform:scale(.97)}
/* primary brass button: press feedback */
.cbs-k-hero .kb-button:active,.cbs-k-offer .kb-button:active{transform:scale(.98)}
@media (max-width:767px){
  .cbs-k-hero .kb-buttons-wrap,.cbs-k-hero .kb-button,.cbs-k-offer .kb-button{width:100%;justify-content:center}
  .cbs-tuesday-form .cbs-cta-light{width:100%}
  .cbs-k-right>.kt-inside-inner-col{align-items:flex-start}
  .cbs-k-right .wp-block-kadence-advancedheading{text-align:left}
}
@media (prefers-reduced-motion:reduce){.cbs-k-hero .kb-button:active,.cbs-k-offer .kb-button:active,.cbs-tuesday-form .cbs-cta-light:active{transform:none;opacity:.8}}

/* home pass 3a: pick cells — two-line name slot so the weights sit on one baseline across the strip */
.cbs-k-pickname{min-height:calc(2 * 1.3em)}

/* home pass 3b: phone — hero/offer buttons span the column; readout header right cells fall left */
@media (max-width:767px){
  .cbs-k-hero .kb-buttons-wrap,.cbs-k-hero .kb-button,.cbs-k-offer .kb-button{width:100%!important;justify-content:center}
  .cbs-k-right .wp-block-kadence-advancedheading{text-align:left!important}
}