:root{
  --fg-ink:#13251f;
  --fg-deep:#071c2d;
  --fg-deep2:#10241e;
  --fg-paper:#f5f8fb;
  --fg-cream:#ffffff;
  --fg-fog:#dce2db;
  --fg-sage:#93a18f;
  --fg-rust:#b95d3d;
  --fg-clay:#c56b4b;
  --fg-line:rgba(19,37,31,.18);
  --fg-white-line:rgba(255,255,255,.26);
  --fg-shadow:0 22px 50px rgba(4,20,32,.16);
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body.jb-fieldguide{
  margin:0!important;
  color:var(--fg-ink)!important;
  background:var(--fg-paper)!important;
  font-family:"Avenir Next",Avenir,"Helvetica Neue",Arial,sans-serif!important;
}
body.jb-fieldguide h1,body.jb-fieldguide h2,body.jb-fieldguide h3,body.jb-fieldguide h4{
  font-family:"Avenir Next",Avenir,"Helvetica Neue",Arial,sans-serif!important;
  font-weight:400!important;
  letter-spacing:-.018em;
}
body.jb-fieldguide p,body.jb-fieldguide li{line-height:1.62}
body.jb-fieldguide .eyebrow,
body.jb-fieldguide .hero-kicker,
body.jb-fieldguide .num,
body.jb-fieldguide .program-number{
  font-family:"Avenir Next",Avenir,"Helvetica Neue",Arial,sans-serif!important;
  letter-spacing:.16em!important;
  text-transform:uppercase!important;
  font-weight:400!important;
}

/* FIELD-NAV: the architecture from John's active site, wrapped in the stronger field-guide visual language. */
body.jb-fieldguide .site-nav.jb31-site-nav{
  position:sticky!important;
  top:12px!important;
  z-index:9999!important;
  width:min(1260px,calc(100% - 36px))!important;
  min-height:72px!important;
  margin:12px auto 0!important;
  color:var(--fg-deep)!important;
  background:rgba(251,247,238,.96)!important;
  border:1px solid rgba(144,132,108,.35)!important;
  box-shadow:0 16px 38px rgba(4,20,32,.16)!important;
  backdrop-filter:blur(14px)!important;
  -webkit-backdrop-filter:blur(14px)!important;
  border-radius:0!important;
  clip-path:polygon(14px 0,calc(100% - 14px) 0,100% 14px,100% calc(100% - 14px),calc(100% - 14px) 100%,14px 100%,0 calc(100% - 14px),0 14px)!important;
}
body.jb-fieldguide .jb31-nav-inner{max-width:none!important;min-height:70px!important;padding:0 24px!important;gap:22px!important}
body.jb-fieldguide .jb31-brand strong{font-family:"Avenir Next",Avenir,"Helvetica Neue",Arial,sans-serif!important;font-size:23px!important;font-weight:400!important;color:var(--fg-deep)!important;letter-spacing:0!important}
body.jb-fieldguide .jb31-brand span{font-family:"Avenir Next",Avenir,"Helvetica Neue",Arial,sans-serif!important;font-size:9px!important;letter-spacing:.14em!important;text-transform:uppercase!important;color:#586a63!important}
body.jb-fieldguide .jb31-main-nav{gap:16px!important}
body.jb-fieldguide .jb31-link,
body.jb-fieldguide .jb31-menu-trigger{
  color:var(--fg-deep)!important;
  font-family:"Avenir Next",Avenir,"Helvetica Neue",Arial,sans-serif!important;
  font-size:10.5px!important;
  line-height:1!important;
  letter-spacing:.11em!important;
  text-transform:uppercase!important;
  font-weight:500!important;
}
body.jb-fieldguide .jb31-link:hover,
body.jb-fieldguide .jb31-link.active,
body.jb-fieldguide .jb31-menu-trigger:hover{color:var(--fg-rust)!important}
body.jb-fieldguide .jb31-dropdown{
  background:var(--fg-cream)!important;
  border:1px solid rgba(144,132,108,.35)!important;
  border-radius:0!important;
  box-shadow:0 18px 36px rgba(4,20,32,.16)!important;
  padding:10px!important;
}
body.jb-fieldguide .jb31-dropdown a{border-radius:0!important;font-family:"Avenir Next",Avenir,"Helvetica Neue",Arial,sans-serif!important;color:var(--fg-ink)!important}
body.jb-fieldguide .jb31-dropdown a:hover{background:var(--fg-fog)!important;color:var(--fg-deep)!important}
body.jb-fieldguide .jb31-desktop-phone{
  background:var(--fg-deep)!important;
  color:var(--fg-paper)!important;
  border:1px solid var(--fg-deep)!important;
  border-radius:0!important;
  font-family:"Avenir Next",Avenir,"Helvetica Neue",Arial,sans-serif!important;
  letter-spacing:.09em!important;
}
body.jb-fieldguide .jb31-desktop-phone:hover{background:var(--fg-rust)!important;border-color:var(--fg-rust)!important}
body.jb-fieldguide .jb31-desktop-phone svg,body.jb-fieldguide .jb31-mobile-icon svg{fill:currentColor!important}

/* HOME HERO */
body.jb-fieldguide .hero-shell{
  margin:14px 22px 0!important;
  min-height:690px!important;
  border-radius:52px!important;
  overflow:hidden!important;
  border:1px solid rgba(255,255,255,.13)!important;
  box-shadow:var(--fg-shadow)!important;
  background:var(--fg-deep)!important;
}
body.jb-fieldguide .hero-shell .hero-art{
  min-height:690px!important;
  background-image:linear-gradient(90deg,rgba(4,20,32,.96) 0%,rgba(4,20,32,.86) 35%,rgba(4,20,32,.36) 68%,rgba(4,20,32,.20) 100%),url('images/neighborhood-day.png')!important;
  background-size:cover!important;
  background-position:center 53%!important;
  position:relative!important;
}
body.jb-fieldguide .hero-shell .hero-art:after{
  content:'';position:absolute;inset:0;pointer-events:none;opacity:.15;
  background-image:repeating-linear-gradient(0deg,transparent 0 5px,rgba(255,255,255,.06) 6px);
}
body.jb-fieldguide .hero-layout{position:relative!important;z-index:2!important;min-height:690px!important;display:flex!important;align-items:center!important}
body.jb-fieldguide .hero-panel{
  width:min(620px,58vw)!important;
  margin-left:0!important;
  padding:42px 44px 40px!important;
  background:rgba(7,28,45,.54)!important;
  border:1px solid rgba(255,255,255,.30)!important;
  border-radius:0!important;
  box-shadow:0 22px 70px rgba(0,0,0,.20)!important;
  backdrop-filter:blur(8px)!important;
  -webkit-backdrop-filter:blur(8px)!important;
}
body.jb-fieldguide .hero-panel:before{
  content:'SC  /  GA  /  NJ';display:block;margin:0 0 18px;color:#8fc5f5;
  font:400 11px "Avenir Next",Avenir,"Helvetica Neue",Arial,sans-serif;letter-spacing:.22em;text-transform:uppercase;
}
body.jb-fieldguide .hero-panel h1{
  margin:0 0 24px!important;color:var(--fg-paper)!important;
  font-family:"Avenir Next",Avenir,"Helvetica Neue",Arial,sans-serif!important;font-weight:300!important;
  font-size:clamp(48px,5.3vw,76px)!important;line-height:.97!important;letter-spacing:-.045em!important;
  max-width:700px!important;text-wrap:balance;
}
body.jb-fieldguide .hero-panel .hero-rule{background:rgba(255,255,255,.48)!important}
body.jb-fieldguide .hero-copy-text{max-width:570px!important;color:rgba(255,255,255,.90)!important;font-size:17px!important;line-height:1.65!important}

/* Shared buttons */
body.jb-fieldguide a.hero-btn,
body.jb-fieldguide a.btn,
body.jb-fieldguide button.btn,
body.jb-fieldguide .outline-btn,
body.jb-fieldguide .program-link{
  border-radius:0!important;
  font-family:"Avenir Next",Avenir,"Helvetica Neue",Arial,sans-serif!important;
  letter-spacing:.10em!important;
  text-transform:uppercase!important;
}
body.jb-fieldguide a.hero-btn.primary,
body.jb-fieldguide .btn.primary,
body.jb-fieldguide .btn-primary{
  background:var(--fg-rust)!important;color:white!important;border-color:var(--fg-rust)!important;
}
body.jb-fieldguide a.hero-btn.primary:hover,
body.jb-fieldguide .btn.primary:hover,
body.jb-fieldguide .btn-primary:hover{background:var(--fg-deep2)!important;border-color:var(--fg-deep2)!important}
body.jb-fieldguide .outline-btn{border-color:rgba(19,37,31,.34)!important;color:var(--fg-ink)!important}
body.jb-fieldguide .outline-btn:hover{background:var(--fg-deep)!important;color:var(--fg-paper)!important}

/* HOME BODY */
body.jb-fieldguide .home-content{background:var(--fg-paper)!important}
body.jb-fieldguide .home-content section{border-radius:0!important}
body.jb-fieldguide .meet-section{background:var(--fg-paper)!important}
body.jb-fieldguide .meet-card{background:var(--fg-cream)!important;border:1px solid var(--fg-line)!important;border-radius:0!important;box-shadow:none!important}
body.jb-fieldguide .section-title{font-size:clamp(40px,4.4vw,66px)!important;line-height:1!important;color:var(--fg-deep)!important}
body.jb-fieldguide .eyebrow{color:var(--fg-rust)!important;font-size:10px!important;line-height:1.55!important}
body.jb-fieldguide .portrait-wrap{border-radius:0!important;box-shadow:0 22px 50px rgba(4,20,32,.16)!important}
body.jb-fieldguide .portrait-wrap img{filter:saturate(.88) contrast(.98)!important}

/* Broad interior hero language */
body.jb-fieldguide main > .hero,
body.jb-fieldguide main > .intro,
body.jb-fieldguide main > .page-hero{
  margin:18px 22px 0!important;
  background:var(--fg-deep)!important;
  color:var(--fg-paper)!important;
  border-radius:44px!important;
  overflow:hidden!important;
  border:1px solid rgba(255,255,255,.11)!important;
  box-shadow:var(--fg-shadow)!important;
  position:relative!important;
}
body.jb-fieldguide main > .hero:before,
body.jb-fieldguide main > .intro:before,
body.jb-fieldguide main > .page-hero:before{
  content:'';position:absolute;inset:0;pointer-events:none;opacity:.17;
  background-image:radial-gradient(circle at 82% 22%,rgba(197,107,75,.24),transparent 25%),repeating-linear-gradient(0deg,transparent 0 6px,rgba(255,255,255,.03) 7px);
}
body.jb-fieldguide main > .hero h1,
body.jb-fieldguide main > .intro h1,
body.jb-fieldguide main > .page-hero h1{
  color:var(--fg-paper)!important;
  font-size:clamp(44px,5.2vw,72px)!important;
  line-height:1.02!important;
  max-width:980px!important;
  text-wrap:balance;
}
body.jb-fieldguide main > .hero p,
body.jb-fieldguide main > .intro p,
body.jb-fieldguide main > .page-hero p{color:rgba(255,255,255,.84)!important}
body.jb-fieldguide main > .hero .eyebrow,
body.jb-fieldguide main > .intro .eyebrow,
body.jb-fieldguide main > .page-hero .eyebrow{color:#8fc5f5!important}

/* Interior sections, cards and comparison blocks */
body.jb-fieldguide main section:not(.hero-shell):not(.hero):not(.intro):not(.page-hero){background-color:transparent}
body.jb-fieldguide .story,
body.jb-fieldguide .principles,
body.jb-fieldguide .options,
body.jb-fieldguide .summary,
body.jb-fieldguide .program-index,
body.jb-fieldguide .program-sections,
body.jb-fieldguide .faq,
body.jb-fieldguide .resource-grid-section,
body.jb-fieldguide .article,
body.jb-fieldguide .calc-section,
body.jb-fieldguide .calculator-section,
body.jb-fieldguide .legal-main{background:var(--fg-paper)!important}
body.jb-fieldguide .principle,
body.jb-fieldguide .option,
body.jb-fieldguide .program-card,
body.jb-fieldguide .faq-card,
body.jb-fieldguide .resource-card,
body.jb-fieldguide .compare-card,
body.jb-fieldguide .calc-panel,
body.jb-fieldguide .content-block,
body.jb-fieldguide .wall-card{
  border-radius:0!important;
  border-color:var(--fg-line)!important;
  box-shadow:none!important;
}
body.jb-fieldguide .program-card,
body.jb-fieldguide .resource-card,
body.jb-fieldguide .compare-card,
body.jb-fieldguide .content-block{background:var(--fg-cream)!important}
body.jb-fieldguide .program-card:hover,
body.jb-fieldguide .resource-card:hover{border-color:rgba(185,93,61,.65)!important;transform:translateY(-2px)}
body.jb-fieldguide .faq-card{background:#eef5fb!important}
body.jb-fieldguide .wall{background:var(--fg-fog)!important}
body.jb-fieldguide .wall-card{background:var(--fg-cream)!important}
body.jb-fieldguide .stars{color:var(--fg-rust)!important}

/* Calls to action */
body.jb-fieldguide .cta,
body.jb-fieldguide .next-step,
body.jb-fieldguide .resource-callout,
body.jb-fieldguide .contact-band,
body.jb-fieldguide .contact{
  background:var(--fg-deep2)!important;
  color:var(--fg-paper)!important;
  border-radius:0!important;
}
body.jb-fieldguide .cta h2,
body.jb-fieldguide .next-step h2,
body.jb-fieldguide .resource-callout h2,
body.jb-fieldguide .contact-band h2,
body.jb-fieldguide .contact h2{color:var(--fg-paper)!important}
body.jb-fieldguide .cta p,
body.jb-fieldguide .next-step p,
body.jb-fieldguide .resource-callout p,
body.jb-fieldguide .contact-band p,
body.jb-fieldguide .contact p{color:rgba(255,255,255,.80)!important}

/* Resource switcher */
body.jb-fieldguide .resource-switcher{background:#eaf2f8!important;border-top:1px solid var(--fg-line)!important;border-bottom:1px solid var(--fg-line)!important}
body.jb-fieldguide .resource-switcher a{border-radius:0!important;font-family:"Avenir Next",Avenir,"Helvetica Neue",Arial,sans-serif!important;text-transform:uppercase!important;letter-spacing:.08em!important}
body.jb-fieldguide .resource-switcher a.current{background:var(--fg-deep)!important;color:var(--fg-paper)!important}

/* Inputs and calculators */
body.jb-fieldguide input,body.jb-fieldguide select,body.jb-fieldguide textarea{border-radius:0!important;border-color:rgba(19,37,31,.28)!important;background:var(--fg-cream)!important}
body.jb-fieldguide .big-result{background:var(--fg-deep)!important;color:var(--fg-paper)!important;border-radius:0!important}
body.jb-fieldguide .result-row{border-color:var(--fg-line)!important}

/* Legal surfaces */
body.jb-fieldguide .legal-side{background:var(--fg-fog)!important;border-radius:0!important;border:1px solid var(--fg-line)!important}
body.jb-fieldguide .legal-copy h2{color:var(--fg-deep)!important}

/* Footer */
body.jb-fieldguide .site-footer{
  background:var(--fg-deep)!important;
  color:var(--fg-paper)!important;
  border-top:0!important;
}
body.jb-fieldguide .site-footer a{color:var(--fg-paper)!important}
body.jb-fieldguide .site-footer a:hover{color:#8fc5f5!important}
body.jb-fieldguide .site-footer p,body.jb-fieldguide .jb-footer-bottom{color:rgba(255,255,255,.70)!important}
body.jb-fieldguide .jb-footer-brand,body.jb-fieldguide .site-footer strong{font-family:"Avenir Next",Avenir,"Helvetica Neue",Arial,sans-serif!important;font-weight:400!important}

/* Page-specific visual cues without re-localizing the brand. */
body.jb-fieldguide.jb-about-page main > .hero{background-image:linear-gradient(90deg,rgba(7,28,45,.98),rgba(7,28,45,.72)),url('images/john-business-casual.png')!important;background-repeat:no-repeat!important;background-size:cover!important;background-position:80% 28%!important}
body.jb-fieldguide .reviews.hero,body.jb-fieldguide main > .hero.reviews{background-image:linear-gradient(90deg,rgba(7,28,45,.98),rgba(7,28,45,.66)),url('images/client-experience-home.png')!important;background-repeat:no-repeat!important;background-size:cover!important;background-position:center!important}

/* Mobile */
@media(max-width:1080px){
  body.jb-fieldguide .site-nav.jb31-site-nav{width:calc(100% - 24px)!important;top:8px!important;margin-top:8px!important;clip-path:none!important;border-radius:18px!important}
  body.jb-fieldguide .jb31-nav-inner{padding:0 16px!important}
  body.jb-fieldguide .jb31-mobile-menu{background:var(--fg-cream)!important;border-top:1px solid var(--fg-line)!important}
  body.jb-fieldguide .jb31-mobile-menu a{color:var(--fg-ink)!important}
  body.jb-fieldguide .jb31-mobile-label{color:var(--fg-rust)!important;font-family:"Avenir Next",Avenir,"Helvetica Neue",Arial,sans-serif!important;letter-spacing:.12em!important;text-transform:uppercase!important}
}
@media(max-width:720px){
  body.jb-fieldguide .hero-shell{margin:10px 10px 0!important;border-radius:30px!important;min-height:calc(100svh - 96px)!important}
  body.jb-fieldguide .hero-shell .hero-art{min-height:calc(100svh - 96px)!important;background-position:62% center!important}
  body.jb-fieldguide .hero-layout{min-height:calc(100svh - 96px)!important;align-items:flex-end!important;padding-bottom:24px!important}
  body.jb-fieldguide .hero-panel{width:100%!important;padding:28px 24px!important;background:rgba(7,28,45,.80)!important}
  body.jb-fieldguide .hero-panel h1{font-size:clamp(38px,12vw,52px)!important;line-height:1!important;margin-bottom:18px!important}
  body.jb-fieldguide .hero-copy-text{font-size:15px!important;line-height:1.55!important}
  body.jb-fieldguide main > .hero,body.jb-fieldguide main > .intro,body.jb-fieldguide main > .page-hero{margin:10px 10px 0!important;border-radius:28px!important}
  body.jb-fieldguide main > .hero h1,body.jb-fieldguide main > .intro h1,body.jb-fieldguide main > .page-hero h1{font-size:clamp(38px,11vw,50px)!important;line-height:1.04!important}
  body.jb-fieldguide .section-title{font-size:38px!important}
  body.jb-fieldguide .actions{display:grid!important;grid-template-columns:1fr!important;gap:12px!important}
  body.jb-fieldguide .actions a,body.jb-fieldguide .hero-actions-row a{width:100%!important;text-align:center!important;justify-content:center!important}
}
