/* Foxbridge Consulting Group theme for Keel (design copied from the Debdenker Keel site). Values from Astra 3.7.6 inline CSS, Elementor kit post-5.css and page post-13.css. */
/* 1. @font-face: Montserrat (SIL OFL 1.1, Google Fonts v31, latin subset) in kit/fonts/. URLs = Keel media (build/manifest.csv). */
@font-face{font-family:"Montserrat";font-weight:400;font-style:normal;font-display:fallback;src:url("/_media/b4beb9de-0c4b-400c-a8d9-8b1f7588ef41/original.woff2") format("woff2")}
@font-face{font-family:"Montserrat";font-weight:500;font-style:normal;font-display:fallback;src:url("/_media/a188829e-9b4b-4672-9450-a522d688ef6c/original.woff2") format("woff2")}
@font-face{font-family:"Montserrat";font-weight:700;font-style:normal;font-display:fallback;src:url("/_media/59c813cd-5391-47e9-b2ee-02aca5c2c513/original.woff2") format("woff2")}
@font-face{font-family:"Montserrat";font-weight:800;font-style:normal;font-display:fallback;src:url("/_media/3e0e1283-d97d-4893-ae34-c3f0f5fde304/original.woff2") format("woff2")}
@font-face{font-family:"Font Awesome 5 Free";font-weight:900;font-style:normal;font-display:block;src:url("/_media/4e0281e5-9625-46cf-84c2-10dabaa2e479/original.woff2") format("woff2")}

/* 2. Tokens and base (Astra 3.7.6 + Elementor kit; measured against the source render 16 Oct) */
:root{--teal:#98ccc7;--red:#eb2127;--ink:#333;--mist:#f4f4f4;--white:#fff;--ink-2:#424242;--teal-faint:#98ccc74a;--container:1140px}
html{font-size:100%}
html,body{overflow-x:hidden}
body{margin:0;font-family:"Montserrat",sans-serif;font-weight:400;font-size:1rem;line-height:1.85714;color:var(--ink);background:#fff}
h1,h2,h3,h4,h5,h6{font-family:"Montserrat",sans-serif;font-weight:800;color:var(--ink);margin:0}
h1{font-size:42px;line-height:1.2}h2{font-size:30px;line-height:1.3}h5{font-size:1.125rem;line-height:1.6}
a{color:var(--red)}
::selection{background:var(--teal);color:#000}
img{max-width:100%;height:auto}
main .keel-region{max-width:var(--container);margin:0 auto;box-sizing:border-box}
main .keel-block{margin:0}
main .keel-block:not(:last-child){margin-bottom:20px}
main .rich-text{display:flow-root}
main .rich-text p{margin:0 0 1.6em}
main figure.keel-block{margin:0}
main figure.keel-block img{display:block}
/* buttons */
a.button.button--primary,.k-cta{display:inline-block;font-family:"Montserrat",sans-serif;font-size:16px;font-weight:700;line-height:1;color:#fff;background:var(--red);border:0;border-radius:0;padding:15px 25px;text-decoration:none;transition:all .3s;box-sizing:border-box}
a.button.button--primary:hover,a.button.button--primary:focus,.k-cta:hover{color:#fff;background:var(--ink)}
main .keel-block--button{justify-self:start;align-self:start}
/* header: Astra transparent bar over the teal hero */
.k-header{position:absolute;top:0;left:0;right:0;z-index:50;background:var(--teal);border-bottom:1px solid #eaeaea}
.k-header__inner{max-width:1200px;margin:0 auto;min-height:70px;display:flex;align-items:center;justify-content:space-between;padding:0 20px}
.k-header__logo img{max-width:145px;display:block}
.k-header .k-cta{font-size:.875rem;padding:10px 20px}
/* hero #35c11aa: padding-top 80, text column centred beside a 570px image that hangs 30px below */
.k-hero{background:var(--teal);padding:80px 0 0;height:540px;margin-bottom:30px}
.k-hero .keel-region{display:grid;grid-template-columns:570px 570px;grid-template-rows:1fr auto auto auto 1fr;height:540px}
.k-hero .keel-region>.keel-block--heading{grid-area:2/1;margin-top:-5px}
.k-hero .keel-region>.keel-block--richText{grid-area:3/1}
.k-hero .keel-region>.keel-block--button{grid-area:4/1}
.k-hero .keel-region>.keel-block--heading,.k-hero .keel-region>.keel-block--richText{padding-right:30px}
.k-hero .keel-region>.keel-block--image{grid-area:1/2/6/3;height:570px;margin:0}
.k-hero .keel-block--image img{width:570px;height:570px;object-fit:cover}
.k-hero h1{color:#fff}
.k-hero .rich-text{color:#fff;font-weight:500}
/* intro #49af0f6 */
.k-intro{padding:80px 0 30px;text-align:center}
.k-intro .keel-region{padding:10px}
/* steps #ea41880: numbered teal circles (was inline SVG) via CSS counter */
.k-steps-wrap .keel-region{padding:0}
.k-steps-wrap .columns{display:grid;grid-template-columns:repeat(3,380px);gap:0;counter-reset:step}
.k-steps-wrap .column{background:var(--mist);margin:20px;padding:30px;text-align:center;counter-increment:step}
.k-steps-wrap .column::before{content:counter(step);display:flex;align-items:center;justify-content:center;width:110px;height:110px;margin:0 auto 20px;border-radius:50%;background:var(--teal);color:#fff;font-family:"Times New Roman",Times,serif;font-weight:400;font-size:72px;line-height:1;transition:all .3s}/* source SVG asks for an unavailable "Montserrat-Bold", so browsers draw the numeral in the default serif */
.k-steps-wrap .column:hover::before{background:#fff;color:var(--teal)}
.k-steps-wrap .column h5{margin-bottom:20px}
.k-cta-mid{text-align:center;padding:10px 0 90px}
.k-cta-mid .keel-region{display:flex;justify-content:center}
/* shared CTA bands: decorative image part = cover background + dark overlay */
.k-band{position:relative;overflow:hidden;text-align:center;box-sizing:border-box}
.k-band .keel-region{position:static;display:flex;flex-direction:column;align-items:center;justify-content:center}
.k-band .k-bg{position:absolute!important;inset:0;margin:0!important;z-index:0}
.k-band .k-bg img{width:100%;height:100%;object-fit:cover}
.k-band::before{content:"";position:absolute;inset:0;z-index:1;background:#000}
.k-band .keel-block--heading,.k-band .keel-block--button{position:relative;z-index:2;justify-self:auto;align-self:center}
.k-band h2{color:#fff}
.k-band--stuck{max-width:1140px;margin:0 auto 80px;padding:80px;height:304px}
.k-band--stuck::before{background:#0000008c;opacity:.5}
.k-band--closing{height:450px;padding:0 80px}
.k-band--closing .keel-region{height:450px;max-width:980px}
.k-band--closing::before{opacity:.4}
.k-band--closing .k-bg img{object-position:left center}
/* about #a565f3f: headshot fills the left column (was column background, cover) */
.k-about{height:568px;margin-bottom:80px}
.k-about .keel-region{display:grid;grid-template-columns:570px 530px;column-gap:20px;grid-template-rows:auto auto 1fr;height:568px}
.k-about .keel-region>.keel-block--image{grid-area:1/1/4/2;height:568px;margin:0}
.k-about .keel-block--image img{width:570px;height:568px;object-fit:cover;object-position:center}
.k-about .keel-region>.keel-block--heading{grid-area:1/2}
.k-about .keel-region>.keel-block--richText{grid-area:2/2}
.k-about .keel-region>.keel-block--button{grid-area:3/2}
/* testimonials #302dc44 */
.k-testimonials{margin:0 0 130px;position:relative;height:373px}
.k-testimonials .keel-region{display:grid;grid-template-columns:380px 760px;align-items:center;position:relative;height:373px}
.k-testimonials .keel-region>.keel-block--heading{grid-area:1/1;position:relative;z-index:999;padding:0 10px;margin:0}
.k-testimonials .keel-region>.keel-block--heading::before{content:"\f10d";font-family:"Font Awesome 5 Free";font-weight:900;position:absolute;left:-50px;top:-84px;font-size:140px;line-height:1;color:var(--teal-faint);z-index:-1}
.k-testimonials .k-blue-panel{position:absolute!important;top:0;left:calc(380px + 4vw);width:80vw;max-width:80vw;z-index:1;margin:0!important}
.k-testimonials .k-blue-panel img{width:100%;height:365px;object-fit:fill}
.k-testimonials .keel-region>.keel-block--slider{grid-area:1/2;z-index:99;padding:50px 0 30px;margin:0;align-self:start}
.k-testimonials section.keel-slider{background:transparent}
main .k-testimonials section.keel-slider.keel-block{margin:0 19px;width:722px;box-sizing:border-box}
.k-testimonials section.keel-slider .keel-slider__viewport{padding:0}
.k-testimonials section.keel-slider .keel-slider__slide{flex:0 0 100%;max-width:100%;background:#fff;border:solid #eaeaeab5;border-width:1px 1.5px 2px 1.5px;border-radius:0;padding:20px;box-shadow:none;box-sizing:border-box}
.k-testimonials section.keel-slider .keel-slider__quote{margin:0;padding:0;border:0}
.k-testimonials section.keel-slider .keel-slider__quote p{font-size:16px;line-height:30px;font-style:italic;color:var(--ink);margin:0;text-align:left}
.k-testimonials section.keel-slider .keel-slider__quote::before,.k-testimonials section.keel-slider .keel-slider__quote::after{content:none}
.k-testimonials section.keel-slider .keel-slider__prev,.k-testimonials section.keel-slider .keel-slider__next{display:none}
.k-testimonials section.keel-slider .keel-slider__controls{background:transparent;box-shadow:none;border-radius:0;padding:0;margin:0;justify-content:center;display:flex;position:static;width:100%}
.k-testimonials section.keel-slider .keel-slider__dot::before{content:none}
.k-testimonials section.keel-slider .keel-slider__dots{display:flex;justify-content:center;gap:21px;height:30px;align-items:center;margin:0;padding:0;background:transparent}
.k-testimonials section.keel-slider .keel-slider__dot{width:11px;height:11px;border-radius:50%;background:#000;opacity:.2;border:0;padding:0;min-width:0;min-height:0}
.k-testimonials section.keel-slider .keel-slider__dot[aria-current="true"],.k-testimonials section.keel-slider .keel-slider__dot[aria-selected="true"]{background:#fff;opacity:1}
/* footer */
.k-footer{background:var(--ink);color:#fff;height:100px;box-sizing:border-box;padding:0 20px;display:flex;align-items:center}
.k-footer__inner{max-width:1200px;width:100%;margin:0 auto;display:flex;align-items:center;gap:30px}
.k-footer__logo{max-width:155px}
.k-footer__copy{margin:0;font-size:16px;flex:1;text-align:left}
.k-social{list-style:none;display:flex;gap:12px;padding:0;margin:0;order:3}
.k-social__link{display:inline-flex;width:15px;height:15px}
.k-social__link img{width:15px;height:15px;filter:brightness(0) invert(1)}/* source renders the official-colour icons white on the dark footer */
/* was style="--color:#557dbc" etc. (Astra official social colours) */
.k-social--facebook{color:#557dbc}.k-social--linkedin{color:#1c86c6}.k-social--instagram{color:#8a3ab9}.k-social--pinterest{color:#ea575a}
.k-sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.k-404__main{max-width:var(--container);margin:0 auto;padding:130px 20px 60px}
@media (max-width:921px){.k-header .k-cta{display:none}}
/* tablet/mobile (Elementor 1024/767, Astra html 91.2% at 544) */
@media (max-width:1024px){
 .k-hero,.k-about,.k-testimonials,.k-band--stuck{height:auto}
 .k-hero .keel-region,.k-about .keel-region,.k-testimonials .keel-region{height:auto}
}
@media (max-width:767px){
 html{font-size:91.2%}
 h1{font-size:30px}h2{font-size:25px}
 .k-hero{padding:40px 0 0;margin:0}
 .k-hero .keel-region{display:block;padding:0}
 .k-hero .keel-region>.keel-block--heading,.k-hero .keel-region>.keel-block--richText{padding:0 20px;margin-left:0}
 .k-hero .keel-region>.keel-block--heading{margin-top:20px}
 .k-hero .keel-region>.keel-block--button{display:inline-block;margin:0 20px 20px}
 .k-hero .keel-region>.keel-block--image{height:auto;margin-top:0}
 .k-hero .keel-block--image img{width:390px;height:390px}
 .k-intro .keel-region{padding:10px}
 .k-steps-wrap .columns{grid-template-columns:1fr}
 .k-cta-mid .keel-region{padding:0 10px}
 .k-band--stuck{max-width:none;padding:40px 20px;margin-bottom:0}
 .k-band--stuck .k-bg img{object-position:top center}
 .k-band--closing{padding:0 20px}
 .k-band--closing .k-bg img{object-position:right top}
 .k-about{margin-bottom:0;padding:40px 20px}
 .k-about .keel-region{display:block}
 .k-about .keel-region>.keel-block--image{height:auto;margin-bottom:20px}
 .k-about .keel-block--image img{width:350px;height:233px}
 .k-about .rich-text{font-size:16px;line-height:1.85714}
 .k-testimonials{margin:80px 0 130px}
 .k-testimonials .keel-region{display:block}
 .k-testimonials .keel-region>.keel-block--heading{padding:10px}
 .k-testimonials .keel-region>.keel-block--heading::before{top:-68px;left:-40px}
 .k-testimonials .k-blue-panel{display:none}
 .k-testimonials .keel-region>.keel-block--slider{padding:0}
 main .k-testimonials section.keel-slider.keel-block{margin:0 10px;width:auto}
 .k-testimonials section.keel-slider .keel-slider__viewport{padding:0}
 .k-testimonials section.keel-slider .keel-slider__slide{padding:20px 20px 68px}
 .k-testimonials .keel-region>.keel-block--slider{padding:0}
 .k-testimonials section.keel-slider .keel-slider__controls{background:transparent;box-shadow:none;border-radius:0;padding:0;margin:0;justify-content:center;display:flex;position:static;width:100%}
.k-testimonials section.keel-slider .keel-slider__dot::before{content:none}
.k-testimonials section.keel-slider .keel-slider__dots{margin:-8px 0 0}
 .k-footer{height:auto;padding:20px}
 .k-footer__inner{flex-direction:column;gap:12px}.k-footer__logo{max-width:175px}.k-footer__copy{text-align:center}
}
/* ===== Foxbridge Consulting Group (body.fcg): landing + HR pages. Scoped so the coaching (k-*) pages are unchanged. Spec: DESIGN-SPEC.md v2 ===== */
/* Montserrat 400/500/700/800 @font-face is already declared at the top of this theme (brand font of foxbridgeconsultinggroup.com). */
body.fcg{--fcg-navy:#031a3f;--fcg-navy-2:#0b2a5b;--fcg-orange:#d96016;--fcg-orange-ink:#b4500f;--fcg-orange-tint:#fbeee5;--fcg-mist:#f3f5f8;--fcg-line:#d8dee8;--fcg-text:#26354a;--fcg-muted:#556377;--fcg-white:#fff;
  --fcg-max:1200px;--fcg-pad:clamp(20px,4vw,48px);--fcg-r-sm:6px;--fcg-r-md:12px;--fcg-shadow:0 14px 36px rgba(3,26,63,.14);--fcg-dur:180ms;--fcg-ease:cubic-bezier(.2,.7,.2,1);
  margin:0;font-family:"Montserrat",system-ui,-apple-system,"Segoe UI",sans-serif;font-weight:400;font-size:1.0625rem;line-height:1.65;color:var(--fcg-text);background:var(--fcg-white);overflow-x:hidden;overflow-wrap:anywhere}
body.fcg h1,body.fcg h2,body.fcg h3,body.fcg h4,body.fcg h5,body.fcg h6{font-family:inherit;color:var(--fcg-navy);font-weight:700;margin:0}
body.fcg a{color:var(--fcg-orange-ink)}
body.fcg :focus-visible{outline:3px solid var(--fcg-orange);outline-offset:3px;border-radius:2px}
body.fcg ::selection{background:var(--fcg-orange-tint);color:var(--fcg-navy)}
.fcg-skip{position:absolute;left:-9999px;top:0;z-index:100;background:var(--fcg-white);color:var(--fcg-navy);padding:12px 16px}
.fcg-skip:focus{left:16px;top:16px}
/* header: white bar so the logo artwork (white ground) sits naturally */
.fcg-header{background:var(--fcg-white);border-bottom:1px solid var(--fcg-line)}
.fcg-header__inner{box-sizing:border-box;max-width:var(--fcg-max);margin:0 auto;padding:10px var(--fcg-pad);display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px 32px}
.fcg-header__logo{display:block;line-height:0}
.fcg-header__logo img{height:68px;width:auto;display:block}
.fcg-nav ul{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:4px 32px}
body.fcg .fcg-nav a{color:var(--fcg-navy);text-decoration:none;font-size:.95rem;font-weight:600;display:inline-block;padding:12px 0;border-bottom:2px solid transparent;transition:border-color var(--fcg-dur) var(--fcg-ease),color var(--fcg-dur) var(--fcg-ease)}
body.fcg .fcg-nav a:hover{color:var(--fcg-orange-ink);border-bottom-color:var(--fcg-orange)}
body.fcg .fcg-nav a[aria-current="page"]{border-bottom-color:var(--fcg-orange)}
/* regions */
body.fcg main .keel-region{max-width:var(--fcg-max);margin:0 auto;padding:0 var(--fcg-pad);box-sizing:border-box}
body.fcg main .keel-block{margin:0}
body.fcg main .keel-block:not(:last-child){margin-bottom:20px}
body.fcg main .rich-text p{margin:0 0 1em;max-width:62ch}
body.fcg main .rich-text p:last-child{margin-bottom:0}
/* hero: full-bleed photo (Picture part) under a navy duotone gradient; copy sits left on the deep end of the gradient (WCAG: white text over >=.86 navy) */
.fcg-hero{position:relative;isolation:isolate;overflow:hidden;background:var(--fcg-navy);color:var(--fcg-white);padding:clamp(72px,9vw,128px) 0 clamp(96px,11vw,160px)}
.fcg-hero::before{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;background:linear-gradient(90deg,rgba(3,26,63,.96) 0%,rgba(3,26,63,.9) 48%,rgba(3,26,63,.66) 72%,rgba(3,26,63,.38) 100%),linear-gradient(0deg,rgba(3,26,63,.55) 0%,rgba(3,26,63,0) 40%)}
.fcg-hero::after{content:"";position:absolute;left:0;right:0;bottom:0;height:4px;z-index:1;background:linear-gradient(90deg,var(--fcg-orange) 0%,var(--fcg-orange) 30%,transparent 30%)}
body.fcg .fcg-hero .keel-region{position:static}
body.fcg .fcg-hero .keel-region>:not(.keel-block--image){position:relative;z-index:2}
body.fcg .fcg-hero .keel-region>.keel-block--image{position:absolute;inset:0;z-index:0;margin:0;width:100%;height:100%;max-width:none}
body.fcg .fcg-hero .keel-block--image picture{display:block;width:100%;height:100%}
body.fcg .fcg-hero .keel-block--image img{display:block;width:100%;height:100%;max-width:none;object-fit:cover;object-position:70% 40%;filter:grayscale(1) contrast(1.08) brightness(.9)}
body.fcg .fcg-hero .keel-block--image figcaption{display:none}
body.fcg .fcg-hero h1{color:var(--fcg-white);font-weight:800;font-size:clamp(2.4rem,5.4vw,4.25rem);line-height:1.06;letter-spacing:-.02em;text-wrap:balance;max-width:15ch}
body.fcg .fcg-hero h1::after{content:"";display:block;width:64px;height:4px;margin-top:clamp(20px,2.5vw,28px);background:var(--fcg-orange);border-radius:2px}
body.fcg .fcg-hero .rich-text{color:#ffffffe6;font-size:clamp(1.1rem,1.6vw,1.3rem);line-height:1.6;font-weight:500}
body.fcg .fcg-hero .rich-text p{max-width:40ch}
/* two service choices (Columns part), lifted over the hero edge */
.fcg-options{background:var(--fcg-mist);padding:0 0 clamp(56px,8vw,104px)}
body.fcg .fcg-options .keel-region{position:relative;top:calc(-1 * clamp(40px,6vw,72px));margin-bottom:calc(-1 * clamp(40px,6vw,72px))}
body.fcg .fcg-options .columns{display:grid;grid-template-columns:1fr 1fr;gap:clamp(20px,3vw,32px)}
body.fcg .fcg-options .column{background:var(--fcg-white);border:1px solid var(--fcg-line);border-top:4px solid var(--fcg-navy);border-radius:var(--fcg-r-md);padding:var(--fcg-card-pad);display:flex;flex-direction:column;align-items:flex-start;box-sizing:border-box;transition:box-shadow var(--fcg-dur) var(--fcg-ease),border-color var(--fcg-dur) var(--fcg-ease)}
body.fcg .fcg-options .column:hover,body.fcg .fcg-options .column:focus-within{box-shadow:var(--fcg-shadow);border-top-color:var(--fcg-orange)}
body.fcg .fcg-options .column>.keel-block{margin:0 0 16px}
body.fcg .fcg-options .column>.keel-block--button{margin:auto 0 0;padding-top:12px}
body.fcg .fcg-options .column{--fcg-card-pad:clamp(28px,3.5vw,44px);overflow:hidden}
body.fcg .fcg-options figure.keel-block--image{width:72px;height:84px;margin:0 0 24px;background:var(--fcg-orange-tint);border-radius:999px 999px var(--fcg-r-sm) var(--fcg-r-sm);display:flex;align-items:center;justify-content:center}
body.fcg .fcg-options figure.keel-block--image img{width:40px;height:40px;display:block}
body.fcg .fcg-options .column>figure.keel-block--image:first-child{position:relative;width:calc(100% + 2 * var(--fcg-card-pad));height:auto;aspect-ratio:16/9;margin:calc(-1 * var(--fcg-card-pad)) calc(-1 * var(--fcg-card-pad)) 0;border-radius:0;background:var(--fcg-navy);overflow:hidden;display:block}
body.fcg .fcg-options .column>figure.keel-block--image:first-child::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(3,26,63,0) 45%,rgba(3,26,63,.45) 100%);pointer-events:none}
body.fcg .fcg-options .column>figure.keel-block--image:first-child picture{display:block;width:100%;height:100%}
body.fcg .fcg-options .column>figure.keel-block--image:first-child img{width:100%;height:100%;max-width:none;object-fit:cover;object-position:center 35%;transition:transform 480ms var(--fcg-ease)}
body.fcg .fcg-options .column:hover>figure.keel-block--image:first-child img{transform:scale(1.04)}
body.fcg .fcg-options .column>figure.keel-block--image+figure.keel-block--image{position:relative;z-index:1;margin-top:-42px;border:4px solid var(--fcg-white);box-shadow:0 6px 18px rgba(3,26,63,.16)}
body.fcg .fcg-options h2{font-size:clamp(1.5rem,2.4vw,1.9rem);line-height:1.2;font-weight:700}
body.fcg .fcg-options .rich-text{color:var(--fcg-muted);font-size:1.0625rem}
/* buttons */
body.fcg a.button.button--primary{display:inline-block;font-family:inherit;font-size:1rem;font-weight:700;line-height:1.2;color:var(--fcg-white);background:var(--fcg-orange-ink);border:2px solid var(--fcg-orange-ink);border-radius:var(--fcg-r-sm);padding:14px 24px;text-decoration:none;min-height:48px;box-sizing:border-box;transition:background-color var(--fcg-dur) var(--fcg-ease),color var(--fcg-dur) var(--fcg-ease),border-color var(--fcg-dur) var(--fcg-ease)}
body.fcg a.button.button--primary:hover,body.fcg a.button.button--primary:focus-visible{background:var(--fcg-navy);border-color:var(--fcg-navy);color:var(--fcg-white)}
body.fcg .fcg-hero a.button.button--primary:hover{background:var(--fcg-white);border-color:var(--fcg-white);color:var(--fcg-navy)}
body.fcg .fcg-hero :focus-visible{outline-color:var(--fcg-white)}
/* body content (service pages) */
.fcg-body{background:var(--fcg-mist);padding:clamp(56px,8vw,104px) 0}
body.fcg .fcg-body .keel-region{max-width:820px;background:var(--fcg-white);border:1px solid var(--fcg-line);border-top:4px solid var(--fcg-orange);border-radius:var(--fcg-r-md);padding:clamp(28px,4.5vw,56px);box-shadow:0 10px 30px rgba(3,26,63,.08)}
body.fcg .fcg-body h2{font-size:clamp(1.6rem,2.6vw,2.1rem);line-height:1.2;scroll-margin-top:24px}
body.fcg .fcg-body .rich-text{color:var(--fcg-muted);font-size:1.125rem}
/* contact form (native Keel form part) */
body.fcg .keel-form{display:flex;flex-wrap:wrap;gap:20px 20px;margin-top:28px}
body.fcg .keel-form .keel-field{flex:1 1 100%;min-width:0;margin:0}
body.fcg .keel-form .keel-field--half{flex:1 1 calc(50% - 10px)}
body.fcg .keel-form__errors,body.fcg .keel-form__actions{flex:1 1 100%}
body.fcg .keel-field__label{display:block;margin:0 0 8px;font-size:.95rem;font-weight:600;color:var(--fcg-navy)}
body.fcg .keel-field__required{color:var(--fcg-orange-ink)}
body.fcg .keel-field__input{display:block;width:100%;box-sizing:border-box;min-height:48px;padding:12px 14px;font:inherit;font-size:1rem;color:var(--fcg-text);background:var(--fcg-white);border:1px solid #8a97a8;border-radius:var(--fcg-r-sm);transition:border-color var(--fcg-dur) var(--fcg-ease),box-shadow var(--fcg-dur) var(--fcg-ease)}
body.fcg textarea.keel-field__input{min-height:140px;resize:vertical}
body.fcg .keel-field__input:hover{border-color:var(--fcg-navy-2)}
body.fcg .keel-field__input:focus{outline:none;border-color:var(--fcg-navy);box-shadow:0 0 0 3px rgba(217,96,22,.35)}
body.fcg .keel-field__choice{display:flex;align-items:flex-start;gap:12px}
body.fcg .keel-field__choice .keel-field__label{margin:0;font-weight:500;color:var(--fcg-text);line-height:1.5}
body.fcg .keel-field__checkbox{width:20px;height:20px;margin:2px 0 0;flex:none;accent-color:var(--fcg-orange-ink)}
body.fcg .keel-field__error{margin:6px 0 0;color:#b42318;font-size:.9rem;font-weight:600}
body.fcg .keel-form__errors{color:#b42318;font-weight:600}
body.fcg .keel-form__submit{display:inline-block;font:inherit;font-size:1rem;font-weight:700;line-height:1.2;color:var(--fcg-white);background:var(--fcg-orange-ink);border:2px solid var(--fcg-orange-ink);border-radius:var(--fcg-r-sm);padding:14px 32px;min-height:48px;cursor:pointer;transition:background-color var(--fcg-dur) var(--fcg-ease),border-color var(--fcg-dur) var(--fcg-ease)}
body.fcg .keel-form__submit:hover,body.fcg .keel-form__submit:focus-visible{background:var(--fcg-navy);border-color:var(--fcg-navy)}
body.fcg .keel-form__notice{margin:12px 0 0;color:var(--fcg-muted);font-size:.9rem}
/* footer */
.fcg-footer{background:var(--fcg-white);border-top:1px solid var(--fcg-line);color:var(--fcg-muted);font-size:.95rem}
.fcg-footer__inner{box-sizing:border-box;max-width:var(--fcg-max);margin:0 auto;padding:40px var(--fcg-pad) 28px;display:grid;grid-template-columns:auto 1fr auto;gap:24px 40px;align-items:center}
.fcg-footer__logo img{height:84px;width:auto;display:block}
.fcg-footer__tagline{margin:0;color:var(--fcg-navy);font-weight:600}
.fcg-footer__nav{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:4px 28px}
body.fcg .fcg-footer__nav a{color:var(--fcg-navy);font-weight:600;text-decoration:none;display:inline-block;padding:10px 0}
body.fcg .fcg-footer__nav a:hover{color:var(--fcg-orange-ink);text-decoration:underline}
.fcg-footer__copy{grid-column:1/-1;margin:0;padding-top:20px;border-top:1px solid var(--fcg-line);font-size:.875rem}
@media (max-width:860px){
  .fcg-hero::before{background:linear-gradient(180deg,rgba(3,26,63,.86) 0%,rgba(3,26,63,.78) 55%,rgba(3,26,63,.9) 100%)}
  body.fcg .fcg-hero .keel-block--image img{object-position:65% center}
  body.fcg .fcg-options .columns{grid-template-columns:1fr}
  .fcg-footer__inner{grid-template-columns:1fr}
  body.fcg .fcg-body .keel-region{margin:0 16px}
  body.fcg .keel-form .keel-field--half{flex-basis:100%}
}
@media (max-width:480px){
  .fcg-header__logo img{height:56px}
  .fcg-nav ul{gap:0 20px}
  body.fcg .fcg-nav a{font-size:.9rem}
}
@media (prefers-reduced-motion:reduce){body.fcg *{transition:none!important}}

/* ===== Executive Coaching additions (v4): Foxbridge top bar + Contact Us modal. Coaching look otherwise unchanged. ===== */
/* Foxbridge bar above the coaching header (page layout only; the 404 layout does not include it) */
.fcg-topbar{--fcg-topbar-h:38px;background:#031a3f;font-family:"Montserrat",sans-serif;font-size:13px;line-height:1;position:relative;z-index:60}
.fcg-topbar__inner{box-sizing:border-box;max-width:1200px;margin:0 auto;padding:0 20px;height:var(--fcg-topbar-h);display:flex;align-items:center;justify-content:space-between;gap:16px;white-space:nowrap;overflow:hidden}
.fcg-topbar a{display:inline-flex;align-items:center;gap:8px;height:var(--fcg-topbar-h);text-decoration:none;font-weight:600}
.fcg-topbar__brand{color:#fff}
.fcg-topbar__brand img{width:22px;height:22px;border-radius:3px;background:#fff;display:block;flex:none}
.fcg-topbar__nav ul{list-style:none;margin:0;padding:0;display:flex;gap:20px}
.fcg-topbar__nav a{color:#f2894a}
.fcg-topbar a:hover{text-decoration:underline;text-underline-offset:3px}
.fcg-topbar a:focus-visible{outline:2px solid #f2894a;outline-offset:-2px}
.fcg-topbar + .k-header{top:38px}
@media (max-width:600px){.fcg-topbar__back{display:none}}
@media (max-width:360px){.fcg-topbar__more{display:none}}
/* Contact Us modal (native <dialog> holding the Keel contact form part) */
html.k-modal-open{overflow:hidden}
.k-modal{box-sizing:border-box;width:min(620px,calc(100% - 24px));max-width:none;max-height:calc(100% - 24px);margin:auto;padding:0;border:0;border-top:6px solid var(--red);border-radius:0;background:var(--white);color:var(--ink);font-family:"Montserrat",sans-serif;overflow:auto;overscroll-behavior:contain;box-shadow:0 24px 64px rgba(0,0,0,.35)}
.k-modal::backdrop{background:rgba(51,51,51,.72)}
.k-modal[open]{animation:k-modal-in .22s ease-out}
@keyframes k-modal-in{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}
.k-modal__panel{position:relative;padding:clamp(28px,5vw,48px)}
.k-modal__close{position:absolute;top:6px;right:6px;width:44px;height:44px;padding:0;border:0;background:transparent;color:var(--ink);font:400 30px/1 "Montserrat",sans-serif;cursor:pointer}
.k-modal__close:hover{color:var(--red)}
.k-modal :focus-visible{outline:2px solid var(--red);outline-offset:2px}
.k-modal .keel-region{display:block}
.k-modal h2{font-size:28px;line-height:1.25;margin:0 48px 8px 0}
.k-modal .rich-text p{margin:0 0 20px;font-size:16px}
.k-modal .keel-form{display:flex;flex-wrap:wrap;gap:16px}
.k-modal .keel-field{flex:1 1 100%;min-width:0;margin:0}
.k-modal .keel-field--half{flex:1 1 calc(50% - 8px)}
.k-modal .keel-form__errors,.k-modal .keel-form__actions{flex:1 1 100%}
.k-modal .keel-field__label{display:block;margin:0 0 6px;font-size:14px;font-weight:700;color:var(--ink)}
.k-modal .keel-field__required{color:var(--red)}
.k-modal .keel-field__input{display:block;box-sizing:border-box;width:100%;min-height:46px;padding:10px 12px;font:inherit;font-size:16px;color:var(--ink);background:var(--white);border:1px solid #8a8a8a;border-radius:0}
.k-modal textarea.keel-field__input{min-height:120px;resize:vertical}
.k-modal .keel-field__input:focus{outline:2px solid var(--red);outline-offset:0;border-color:var(--ink)}
.k-modal .keel-field__choice{display:flex;align-items:flex-start;gap:10px}
.k-modal .keel-field__choice .keel-field__label{margin:0;font-weight:500;line-height:1.5}
.k-modal .keel-field__checkbox{width:20px;height:20px;margin:1px 0 0;flex:none;accent-color:var(--red)}
.k-modal .keel-field__error,.k-modal .keel-form__errors{margin:6px 0 0;color:#b3001b;font-size:14px;font-weight:600}
.k-modal .keel-form__submit{display:inline-block;font:700 16px/1 "Montserrat",sans-serif;color:#fff;background:var(--red);border:0;border-radius:0;padding:15px 25px;min-height:46px;cursor:pointer;transition:background-color .3s}
.k-modal .keel-form__submit:hover,.k-modal .keel-form__submit:focus-visible{background:var(--ink)}
.k-modal .keel-form__notice{margin:12px 0 0;font-size:14px;color:var(--ink-2)}
@media (max-width:480px){.k-modal .keel-field--half{flex-basis:100%}.k-modal h2{font-size:24px}}
@media (prefers-reduced-motion:reduce){.k-modal[open]{animation:none}}

/* one-pager: widen the white content box to the banner text margins (only pages with a .fcg-wide part) */
body.fcg .fcg-body .keel-region:has(.keel-block.fcg-wide){max-width:calc(var(--fcg-max) - 2 * var(--fcg-pad));width:calc(100% - 2 * var(--fcg-pad));margin-left:auto;margin-right:auto}
