/* ==========================================================================
   Better Managers — site styles (GeneratePress child)
   Tokens come from :root custom properties (functions.php / GP global colours).
   ========================================================================== */

/* ---------- Fonts (self-hosted, SIL OFL) ---------- */
@font-face{font-family:"Newsreader";src:url(../fonts/newsreader-latin-400-normal.woff2) format("woff2");font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:"Newsreader";src:url(../fonts/newsreader-latin-500-normal.woff2) format("woff2");font-weight:500;font-style:normal;font-display:swap}
@font-face{font-family:"Newsreader";src:url(../fonts/newsreader-latin-400-italic.woff2) format("woff2");font-weight:400;font-style:italic;font-display:swap}
@font-face{font-family:"Newsreader";src:url(../fonts/newsreader-latin-500-italic.woff2) format("woff2");font-weight:500;font-style:italic;font-display:swap}
@font-face{font-family:"Source Sans 3";src:url(../fonts/source-sans-3-latin-400-normal.woff2) format("woff2");font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:"Source Sans 3";src:url(../fonts/source-sans-3-latin-600-normal.woff2) format("woff2");font-weight:600;font-style:normal;font-display:swap}
@font-face{font-family:"Source Sans 3";src:url(../fonts/source-sans-3-latin-700-normal.woff2) format("woff2");font-weight:700;font-style:normal;font-display:swap}

:root{
	--bm-serif:"Newsreader",Georgia,"Times New Roman",serif;
	--bm-sans:"Source Sans 3",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
	--bm-gutter:clamp(20px,5vw,48px);
	--bm-section:clamp(72px,9vw,120px);
	--bm-radius:18px;
	--bm-shadow:0 30px 60px -30px rgba(30,38,41,.45);
	--bm-portrait-filter:sepia(.24) saturate(1.15) contrast(1.03) brightness(1.02);
}

/* ---------- Base ---------- */
body,
.editor-styles-wrapper{
	font-family:var(--bm-sans);
	font-size:18px;
	line-height:1.6;
	color:var(--body);
	background:var(--ivory);
	-webkit-font-smoothing:antialiased;
	-moz-osx-font-smoothing:grayscale;
	text-rendering:optimizeLegibility;
}
h1,h2,h3,h4,h5,h6,
.editor-styles-wrapper h1,.editor-styles-wrapper h2,.editor-styles-wrapper h3,.editor-styles-wrapper h4{
	font-family:var(--bm-serif);
	font-weight:400;
	color:var(--ink);
	letter-spacing:-.01em;
	text-wrap:balance;
}
p{text-wrap:pretty}
a{color:var(--teal);text-underline-offset:.18em;text-decoration-thickness:1px}
a:hover,a:focus{color:var(--teal-deep)}
:focus-visible{outline:2px solid var(--gold-line);outline-offset:3px}
img{max-width:100%;height:auto}
strong{color:var(--ink);font-weight:600}
::selection{background:var(--teal-tint);color:var(--ink)}

/* ---------- Layout helpers ---------- */
.bm-wrap{max-width:1200px;margin-inline:auto;padding-inline:var(--bm-gutter);box-sizing:border-box}
.bm-narrow{max-width:820px}
.bm-section{padding-block:var(--bm-section)}
.bm-section--tight{padding-block:clamp(40px,5vw,56px)}
.bm-section--flush-top{padding-top:0}
.bm-section--paper{background:var(--paper);border-block:1px solid var(--line)}
.bm-section--dark{background:var(--teal-deep);color:#DCE7E3}
.bm-section--dark h2,.bm-section--dark h3{color:#fff}
.bm-section--dark a{color:var(--gold-light)}
.bm-section--dark a:hover{color:#fff}
.bm-center{text-align:center}

/* GeneratePress canvas: pages are full-bleed block sections */
.bm-page .site.grid-container,
.bm-page .grid-container.site{max-width:none;padding:0}
.bm-page .site-content{display:block;padding:0}
.bm-page .content-area{width:100%;float:none}
.bm-page .site-main{margin:0!important}
.bm-page .inside-article{padding:0;background:transparent}
.bm-page .entry-content{margin:0}
.bm-page article{margin-bottom:0}
.bm-page .entry-content > .wp-block-group{margin-block:0}
.one-container.bm-page .site-content{padding:0}
.bm-page .site{background:transparent}

/* Block margins inside sections */
.wp-block-columns{margin-bottom:0}

/* ---------- Icons (CSS masks; swap files in assets/icons) ---------- */
.bm-i{display:inline-block;width:1em;height:1em;flex:none;background:currentColor;-webkit-mask:var(--i) center/contain no-repeat;mask:var(--i) center/contain no-repeat}
.bm-i--phone{--i:url(../icons/phone.svg?v=2)}
.bm-i--menu{--i:url(../icons/menu.svg?v=2)}
.bm-i--close{--i:url(../icons/close.svg?v=2)}
.bm-i--mail{--i:url(../icons/mail.svg?v=2)}
.bm-i--pin{--i:url(../icons/pin.svg?v=2)}
.bm-i--arrow{--i:url(../icons/arrow-right.svg?v=2)}
.bm-i--thesis{--i:url(../icons/thesis.svg?v=2)}

/* ---------- Utility bar ---------- */
.bm-utility{background:var(--teal-deep);color:#DCE7E3;font-size:14px;line-height:1.4}
.bm-utility__inner{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px 24px;padding-block:10px}
.bm-utility__phone{color:#fff;text-decoration:none;font-weight:600;display:inline-flex;align-items:center;gap:8px}
.bm-utility__phone:hover,.bm-utility__phone:focus{color:var(--gold-light)}
.bm-utility__phone .bm-i{width:15px;height:15px}

/* ---------- Header ---------- */
.bm-header{background:var(--ivory);border-bottom:1px solid var(--line);position:relative;z-index:20}
.bm-header__inner{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px 32px;padding-block:18px}
.bm-brand{display:flex;flex-direction:column;gap:6px;line-height:1;text-decoration:none}
.bm-brand__name{font-family:var(--bm-serif);font-size:30px;font-weight:500;color:var(--ink);letter-spacing:-.01em}
.bm-brand__domain{font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--gold);font-weight:600}
.bm-brand:hover .bm-brand__name{color:var(--teal)}

.bm-nav__list{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;align-items:center;gap:8px 32px;font-size:16px}
.bm-nav__list a{color:var(--body);text-decoration:none;padding:6px 0;border-bottom:2px solid transparent;display:inline-block}
.bm-nav__list a:hover{color:var(--teal)}
.bm-nav__list .current-menu-item > a,
.bm-nav__list .current_page_item > a{color:var(--ink);font-weight:600;border-bottom-color:var(--gold-line)}
/* Last item = Contact John call to action */
.bm-nav__list > li:last-child > a{background:var(--teal);color:#fff;font-weight:600;padding:12px 24px;border-radius:999px;border:0;min-height:44px;box-sizing:border-box;display:inline-flex;align-items:center}
.bm-nav__list > li:last-child > a:hover{background:var(--teal-deep);color:#fff}
.bm-nav__list > li.current-menu-item:last-child > a{background:var(--teal-deep)}

.bm-nav-toggle{display:none;width:44px;height:44px;border-radius:50%;background:var(--paper);border:1px solid #DDD7CA;color:var(--ink);align-items:center;justify-content:center;padding:0;cursor:pointer}
.bm-nav-toggle .bm-i{width:20px;height:20px}
.bm-nav-open .bm-nav-toggle .bm-i{--i:url(../icons/close.svg?v=2)}

@media (max-width:900px){
	.bm-utility__tag{font-size:13px}
	.bm-brand__name{font-size:25px}
	.bm-nav-toggle{display:inline-flex}
	.bm-nav{display:none;flex-basis:100%}
	.bm-nav-open .bm-nav{display:block}
	.bm-nav__list{flex-direction:column;align-items:stretch;gap:0;padding-block:8px 6px;border-top:1px solid var(--line)}
	.bm-nav__list a{display:block;padding:14px 0;border-bottom:1px solid var(--line);font-size:18px}
	.bm-nav__list .current-menu-item > a{border-bottom-color:var(--line);color:var(--teal)}
	.bm-nav__list > li:last-child > a{display:flex;justify-content:center;margin-top:14px;font-size:17px;min-height:52px}
}
@media (max-width:560px){
	.bm-utility__tag{display:none}
	.bm-utility__inner{justify-content:flex-end}
}

/* ---------- Type components ---------- */
.bm-eyebrow{display:flex;align-items:center;gap:14px;font-size:13px;line-height:1.4;letter-spacing:.16em;text-transform:uppercase;font-weight:600;color:var(--gold);margin:0 0 22px}
.bm-eyebrow::before{content:"";width:36px;height:2px;background:var(--gold-line);flex:none}
.bm-section--dark .bm-eyebrow{color:var(--gold-light)}
.bm-section--dark .bm-eyebrow::before{background:var(--gold-light)}
.bm-center .bm-eyebrow{justify-content:center}

.bm-display{font-size:clamp(42px,5.2vw,70px);line-height:1.05;letter-spacing:-.018em;margin:0 0 28px}
.bm-display em,.bm-h2 em{color:var(--teal);font-style:italic}
.bm-h2{font-size:clamp(32px,3.4vw,46px);line-height:1.15;margin:0 0 16px}
.bm-statement{font-size:clamp(28px,2.8vw,38px);line-height:1.2;margin:0}
.bm-lede{font-size:20px;line-height:1.6;max-width:34em;margin:0 0 36px}
.bm-lede--serif{font-family:var(--bm-serif);font-style:italic;font-size:clamp(22px,2.2vw,28px);line-height:1.4;color:var(--teal)}
.bm-callline{font-size:16px;color:var(--muted);margin:0}
.bm-callline a{font-weight:700}
.bm-note{font-size:15px;color:var(--muted);margin:22px 0 0}
.bm-kicker{font-size:13px;letter-spacing:.14em;text-transform:uppercase;font-weight:600;color:var(--gold);margin:0 0 6px}
.bm-placeholder{border:1.5px dashed #C9B48A;border-radius:14px;padding:18px 22px;background:#FFFDF7;font-size:16px;color:var(--muted)}
.bm-section--dark .bm-placeholder{background:transparent;border-color:rgba(217,185,112,.6);color:#DCE7E3}

/* Arrow text links: paragraph.bm-arrow-link > a */
.bm-arrow-link{margin:0}
.bm-arrow-link a{font-weight:700;text-decoration:none;display:inline-flex;align-items:center;gap:8px;font-size:17px}
.bm-arrow-link a::after{content:"";width:18px;height:18px;background:currentColor;-webkit-mask:url(../icons/arrow-right.svg?v=2) center/contain no-repeat;mask:url(../icons/arrow-right.svg?v=2) center/contain no-repeat;transition:transform .2s ease}
.bm-arrow-link a:hover::after{transform:translateX(3px)}

/* ---------- Buttons ---------- */
.wp-block-buttons{gap:14px}
.wp-block-buttons.bm-buttons{margin-bottom:26px}
.bm-center .wp-block-buttons{justify-content:center}
.wp-block-button .wp-block-button__link{
	border-radius:999px;padding:15px 30px;font-family:var(--bm-sans);font-weight:600;font-size:17px;line-height:1.2;
	min-height:52px;box-sizing:border-box;display:inline-flex;align-items:center;gap:10px;text-decoration:none;
	transition:background-color .2s ease,border-color .2s ease,color .2s ease;
	background:var(--teal)!important;color:#fff!important;border:1.5px solid var(--teal)!important;
}
.wp-block-button .wp-block-button__link:hover,.wp-block-button .wp-block-button__link:focus{background:var(--teal-deep)!important;border-color:var(--teal-deep)!important;color:#fff!important}
.wp-block-button.is-style-outline .wp-block-button__link{background:transparent!important;color:var(--ink)!important;border-color:#C9C2B2!important}
.wp-block-button.is-style-outline .wp-block-button__link:hover,.wp-block-button.is-style-outline .wp-block-button__link:focus{background:#F1EEE6!important;color:var(--ink)!important;border-color:#B5AD9B!important}
.wp-block-button.bm-btn-phone .wp-block-button__link::before{content:"";width:18px;height:18px;flex:none;background:currentColor;-webkit-mask:url(../icons/phone.svg?v=2) center/contain no-repeat;mask:url(../icons/phone.svg?v=2) center/contain no-repeat}
@media (max-width:560px){
	.bm-hero .wp-block-buttons{flex-direction:column;align-items:stretch}
	.bm-hero .wp-block-button .wp-block-button__link{justify-content:center;width:100%}
}

/* ---------- Hero ---------- */
.bm-hero{padding-block:clamp(56px,8vw,104px) clamp(64px,8vw,112px)}
.wp-block-columns.bm-hero__cols{gap:64px;align-items:center}
@media (min-width:782px){
	.wp-block-columns.bm-hero__cols > .wp-block-column:first-child{flex:1 1 56%}
	.wp-block-columns.bm-hero__cols > .wp-block-column:last-child{flex:0 1 400px}
	.wp-block-columns.bm-hero__cols--flip > .wp-block-column:first-child{flex:0 1 420px}
	.wp-block-columns.bm-hero__cols--flip > .wp-block-column:last-child{flex:1 1 52%}
}

/* Portrait card: image block .bm-portrait with caption "<strong>Name</strong>Title" */
.wp-block-image.bm-portrait{position:relative;margin:0;padding-bottom:34px;max-width:420px;margin-inline:auto}
.wp-block-image.bm-portrait::before{content:"";position:absolute;top:22px;left:22px;right:-18px;bottom:14px;border:1px solid #D8C7A0;border-radius:22px}
.wp-block-image.bm-portrait img{position:relative;display:block;width:100%;aspect-ratio:4/5;object-fit:cover;object-position:50% 30%;border-radius:20px;box-shadow:var(--bm-shadow);filter:var(--bm-portrait-filter)}
.wp-block-image.bm-portrait figcaption{position:absolute;left:28px;right:28px;bottom:0;margin:0;background:var(--paper);border-radius:14px;padding:16px 20px 14px;text-align:center;box-shadow:0 16px 36px -18px rgba(30,38,41,.35);font-size:12px;line-height:1.5;letter-spacing:.14em;text-transform:uppercase;font-weight:600;color:var(--gold)}
.wp-block-image.bm-portrait figcaption strong{display:block;font-family:var(--bm-serif);font-size:23px;line-height:1.2;letter-spacing:0;text-transform:none;font-weight:400;color:var(--ink);margin-bottom:6px}
.wp-block-image.bm-portrait--plain{padding-bottom:0}
.wp-block-image.bm-portrait--plain::before{left:-18px;right:22px;top:22px;bottom:-18px}
@media (max-width:781px){.wp-block-image.bm-portrait{max-width:320px}}

/* Small round avatar */
.wp-block-image.bm-avatar{margin:0 auto 26px;width:84px}
.wp-block-image.bm-avatar img{width:84px;height:84px;border-radius:50%;object-fit:cover;object-position:50% 28%;border:3px solid #fff;box-shadow:0 8px 24px -10px rgba(30,38,41,.4);filter:var(--bm-portrait-filter)}

/* ---------- Stats strip ---------- */
.wp-block-columns.bm-stats{gap:32px}
.wp-block-columns.bm-stats > .wp-block-column{border-left:2px solid var(--gold-line);padding-left:22px}
.bm-stat__num{font-family:var(--bm-serif);font-size:clamp(30px,2.6vw,38px);line-height:1.1;color:var(--ink);margin:0;white-space:nowrap}
.bm-stat__label{font-size:15px;line-height:1.5;color:var(--muted);margin:8px 0 0}
.bm-career{margin:32px 0 0;font-size:13px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);font-weight:600}
@media (max-width:781px){
	.wp-block-columns.bm-stats{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));gap:26px 18px}
	.bm-stat__num{font-size:28px}
	.bm-stat__label{font-size:14px}
}

/* ---------- Two-column statement ---------- */
.wp-block-columns.bm-split{gap:32px 72px;align-items:flex-start}
.wp-block-columns.bm-split--center{align-items:center}

/* ---------- Service cards (home) ---------- */
.bm-intro{max-width:760px;margin-bottom:48px}
.wp-block-columns.bm-cards{gap:28px;counter-reset:bmcard;align-items:stretch}
.wp-block-columns.bm-cards > .wp-block-column{display:flex}
.bm-card,
.bm-card > .wp-block-group__inner-container{display:flex;flex-direction:column;width:100%}
.bm-card{background:var(--paper);border:1px solid var(--line);border-radius:var(--bm-radius);overflow:hidden;counter-increment:bmcard;flex:1}
.bm-card .wp-block-image.bm-card__img{position:relative;margin:0}
.bm-card .bm-card__img img{display:block;width:100%;aspect-ratio:16/10;object-fit:cover}
.bm-card .bm-card__img::after{content:counter(bmcard,decimal-leading-zero);position:absolute;top:16px;right:16px;background:rgba(255,255,255,.92);border-radius:999px;padding:4px 12px;font-family:var(--bm-serif);font-style:italic;font-size:15px;line-height:1.4;color:var(--gold)}
.bm-card__body,
.bm-card__body > .wp-block-group__inner-container{display:flex;flex-direction:column;flex:1}
.bm-card__body{padding:28px 28px 30px}
.bm-card__title{font-size:27px;line-height:1.2;font-weight:500;margin:0 0 12px;position:relative;padding-top:66px}
.bm-card__title::before{content:"";position:absolute;top:0;left:0;width:46px;height:46px;border-radius:12px;background:var(--teal-tint)}
.bm-card__title::after{content:"";position:absolute;top:12px;left:12px;width:22px;height:22px;background:var(--teal);-webkit-mask:var(--i) center/contain no-repeat;mask:var(--i) center/contain no-repeat}
.bm-icon-strategy{--i:url(../icons/strategy.svg?v=2)}
.bm-icon-operations{--i:url(../icons/operations.svg?v=2)}
.bm-icon-people{--i:url(../icons/people.svg?v=2)}
.bm-card__text{font-size:17px;margin:0 0 22px}
.bm-card__includes{margin-top:auto;border-top:1px solid #ECE8DF;padding-top:18px}
.bm-label{font-size:12px;letter-spacing:.14em;text-transform:uppercase;font-weight:600;color:var(--gold);margin:0 0 10px}
.wp-block-list.bm-includes{margin:0;padding:0 0 0 18px;font-size:16px;line-height:1.7;color:var(--ink)}
.wp-block-list.bm-includes li::marker{color:var(--gold-line)}

/* ---------- Thesis / research ---------- */
.wp-block-quote.bm-thesis{border:0;margin:0;padding:0;background:none;font-style:normal}
.wp-block-quote.bm-thesis::before{display:none}
.wp-block-quote.bm-thesis p{font-family:var(--bm-serif);font-style:italic;font-weight:400;font-size:clamp(28px,2.8vw,38px);line-height:1.28;color:#fff;margin:0}
.bm-thesis__meta{margin:22px 0 0;font-size:14px;letter-spacing:.12em;text-transform:uppercase;font-weight:600;color:#B9CCC6}
.bm-section--dark p{font-size:18px;line-height:1.7}

/* ---------- Memberships ---------- */
.bm-members{background:var(--paper);border-top:1px solid var(--line)}
.bm-members .bm-wrap,
.bm-members .bm-wrap > .wp-block-group__inner-container{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:28px 56px;padding-block:44px}
.bm-members .bm-wrap > .wp-block-group__inner-container{padding-block:0}
.bm-members__label{font-family:var(--bm-serif);font-style:italic;font-size:20px;color:var(--muted);margin:0}
.wp-block-image.bm-logo{margin:0}
.wp-block-image.bm-logo img{display:block;height:62px;width:auto}
.wp-block-image.bm-logo--invert img{height:40px;filter:invert(1)}
.wp-block-image.bm-logo a{display:block}

/* ---------- How We Help ---------- */
.bm-chips{display:flex;flex-wrap:wrap;gap:12px;margin:0}
.bm-chips a{text-decoration:none;color:var(--ink);background:var(--paper);border:1px solid #DDD7CA;border-radius:999px;padding:10px 20px;font-size:16px;font-weight:600;min-height:44px;box-sizing:border-box;display:inline-flex;align-items:center}
.bm-chips a:hover{border-color:var(--teal);color:var(--teal)}
.bm-num{font-family:var(--bm-serif);font-style:italic;font-size:20px;color:var(--gold);margin:0 0 8px}
.bm-h2--pillar{font-size:clamp(34px,3.6vw,48px);line-height:1.1}
.bm-pillar-lede{font-size:19px;margin:0}
.wp-block-image.bm-wide{margin:0}
.wp-block-image.bm-wide img{display:block;width:100%;aspect-ratio:16/9;object-fit:cover;border-radius:var(--bm-radius)}
.bm-gap-below{margin-bottom:56px!important}
.wp-block-columns.bm-services{gap:28px;align-items:stretch}
.wp-block-columns.bm-services > .wp-block-column{display:flex}
.bm-service{background:var(--ivory);border:1px solid var(--line);border-radius:var(--bm-radius);padding:34px 32px 36px;width:100%;box-sizing:border-box}
.bm-section--ivory .bm-service{background:var(--paper)}
.bm-service h3{font-size:clamp(25px,2.2vw,28px);line-height:1.2;font-weight:500;margin:0 0 6px}
.bm-service .bm-kicker{margin-bottom:18px}
.bm-service p{margin:0 0 16px}
.bm-service p:last-child{margin-bottom:0}
.bm-service--dark{background:var(--teal-deep);border-color:var(--teal-deep);color:#DCE7E3}
.bm-service--dark h3{color:#fff}
.bm-service--dark .bm-kicker{color:var(--gold-light)}
section[id]{scroll-margin-top:24px}

/* ---------- About ---------- */
.wp-block-list.bm-creds{list-style:none;margin:0 0 34px;padding:0;display:flex;flex-wrap:wrap;gap:10px}
.wp-block-list.bm-creds li{background:var(--paper);border:1px solid var(--line);border-radius:999px;padding:8px 16px;font-size:15px;line-height:1.4;color:var(--ink);margin:0}
.bm-h1-name{font-size:clamp(44px,5.4vw,72px);line-height:1.02;letter-spacing:-.02em;margin:0 0 22px}
.bm-timeline{border-top:1px solid var(--line)}
.wp-block-columns.bm-timeline__item{gap:12px 56px;padding-block:34px;border-bottom:1px solid var(--line);margin:0}
.bm-timeline__item h3{font-size:26px;line-height:1.25;font-weight:500;margin:0}
.bm-timeline__item p:not(.bm-kicker){margin:0}
@media (min-width:782px){
	.wp-block-columns.bm-timeline__item > .wp-block-column:first-child{flex:0 0 34%}
}

/* ---------- Contact ---------- */
.wp-block-columns.bm-contact{gap:56px 72px;align-items:flex-start}
.bm-callcard{background:var(--paper);border:1px solid var(--line);border-radius:var(--bm-radius);padding:22px 24px;margin-bottom:16px}
.bm-callcard .bm-kicker{margin-bottom:2px}
.bm-callcard__number{font-family:var(--bm-serif);font-size:clamp(28px,2.6vw,34px);line-height:1.2;margin:0}
.bm-callcard__number a{color:var(--ink);text-decoration:none}
.bm-callcard__number a:hover{color:var(--teal)}
.wp-block-columns.bm-infocards{gap:16px}
.bm-infocard{background:var(--paper);border:1px solid var(--line);border-radius:var(--bm-radius);padding:20px 24px;height:100%;box-sizing:border-box}
.bm-infocard p{margin:0;color:var(--ink)}
.bm-infocard .bm-kicker{display:flex;align-items:center;gap:8px}
.bm-infocard--post .bm-kicker::before,.bm-infocard--mail .bm-kicker::before{content:"";width:18px;height:18px;background:var(--teal);-webkit-mask:var(--i) center/contain no-repeat;mask:var(--i) center/contain no-repeat}
.bm-infocard--post{--i:url(../icons/pin.svg?v=2)}
.bm-infocard--mail{--i:url(../icons/mail.svg?v=2)}
.bm-formcard{background:var(--paper);border:1px solid var(--line);border-radius:22px;padding:clamp(26px,3vw,40px);box-shadow:0 30px 60px -40px rgba(30,38,41,.3)}
.bm-formcard h2{font-size:30px;line-height:1.2;font-weight:500;margin:0 0 6px}
.bm-formcard > p,.bm-formcard > .wp-block-group__inner-container > p{font-size:16px;color:var(--muted)}

/* Gravity Forms */
.bm-formcard .gform_wrapper{
	--gf-color-primary:var(--teal);
	--gf-color-primary-darker:var(--teal-deep);
	--gf-ctrl-border-color:#D6D0C3;
	--gf-ctrl-bg-color:var(--ivory);
	--gf-radius:12px;
	--gf-ctrl-size:50px;
	--gf-font-family-base:var(--bm-sans);
	--gf-ctrl-font-size:17px;
	--gf-ctrl-label-color-primary:var(--ink);
	--gf-ctrl-btn-radius:999px;
	margin:0;
}
.bm-formcard .gform_wrapper .gfield_label,.bm-formcard .gform_wrapper legend{font-size:15px;font-weight:600;color:var(--ink)}
.bm-formcard .gform_wrapper input:not([type=submit]):not([type=checkbox]):not([type=radio]),
.bm-formcard .gform_wrapper textarea,
.bm-formcard .gform_wrapper select{font:inherit;font-size:17px;padding:12px 16px;border:1.5px solid #D6D0C3;border-radius:12px;background:var(--ivory);color:var(--ink);min-height:50px;box-sizing:border-box}
.bm-formcard .gform_wrapper input:focus,.bm-formcard .gform_wrapper textarea:focus{border-color:var(--teal);outline:2px solid var(--gold-line);outline-offset:1px}
.bm-formcard .gform_wrapper .gform_footer input[type=submit],
.bm-formcard .gform_wrapper .gform_footer button,
.bm-formcard .gform_wrapper .gform-button{width:100%;background:var(--teal)!important;color:#fff!important;border:0!important;border-radius:999px!important;padding:15px 32px!important;min-height:52px;font:inherit;font-size:17px!important;font-weight:600!important;cursor:pointer}
.bm-formcard .gform_wrapper .gform_footer input[type=submit]:hover,
.bm-formcard .gform_wrapper .gform-button:hover{background:var(--teal-deep)!important}
.bm-privacy-note{font-size:14px;color:var(--muted);margin:18px 0 0}

/* ---------- Footer ---------- */
.bm-footer{background:var(--teal-deep);color:#B9CCC6;font-size:16px}
.bm-footer .bm-wrap{padding-block:64px 28px}
.bm-footer__grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:40px}
.bm-footer__brand{display:flex;flex-direction:column;gap:8px}
.bm-footer__brand .bm-brand__name{color:#fff;font-size:28px;line-height:1}
.bm-footer__brand .bm-brand__domain{color:var(--gold-light)}
.bm-footer__brand p{margin:10px 0 0;line-height:1.6}
.bm-footer__label{display:block;font-size:12px;letter-spacing:.16em;text-transform:uppercase;font-weight:600;color:var(--gold-light);margin-bottom:12px}
.bm-footer__list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px}
.bm-footer__list a,.bm-footer a{color:#E7EFEC;text-decoration:none}
.bm-footer__list a:hover,.bm-footer a:hover{color:#fff;text-decoration:underline}
.bm-footer__contact{display:flex;flex-direction:column;gap:10px}
.bm-footer__contact .bm-footer__label{margin-bottom:2px}
.bm-footer__phone{color:#fff!important;font-weight:600}
.bm-footer__base{margin-top:48px;padding-top:22px;border-top:1px solid rgba(255,255,255,.14);display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px;font-size:14px}
.site-footer:empty{display:none}

/* ---------- Motion preference ---------- */
@media (prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}
@media (prefers-reduced-motion:no-preference){html{scroll-behavior:smooth}}

/* ---------- Page-content helpers ---------- */
.wp-block-columns + .bm-arrow-link{margin-top:36px}
.bm-center .bm-lede,.bm-center .bm-cta-sub{margin-inline:auto}
.bm-cta-sub{font-size:20px;margin:0 0 36px}
.bm-chips em{font-family:var(--bm-serif);font-style:italic;font-weight:400;color:var(--gold);margin-right:10px}
.bm-pillar-lede + .bm-placeholder{margin-top:24px}
.bm-display--sm{font-size:clamp(38px,4.4vw,58px);line-height:1.08}
.bm-lede + .bm-chips{margin-top:-4px}
.bm-callcard,
.bm-callcard > .wp-block-group__inner-container{display:flex;align-items:center;gap:20px}
.wp-block-image.bm-avatar-sm{margin:0;flex:none}
.wp-block-image.bm-avatar-sm img{width:64px;height:64px;border-radius:50%;object-fit:cover;object-position:50% 28%;filter:var(--bm-portrait-filter)}
.bm-callcard__text p{margin:0}
.bm-infocards{margin-top:0}
.bm-formcard .bm-privacy-note{margin-bottom:0}

/* Classic-theme group inner containers: GP pads and centres them; our sections handle layout */
.bm-page .entry-content .wp-block-group .wp-block-group__inner-container,
.editor-styles-wrapper .wp-block-group .wp-block-group__inner-container{max-width:none;margin-inline:0;padding:0}


/* ---------- Refinements 1.1 — spacing and layout ---------- */
/* Section rhythm: the statement leads into How we help, separated by a hairline */
.bm-section:has(+ .bm-section--flush-top){padding-bottom:clamp(56px,6vw,80px)}
.bm-section--flush-top .bm-intro{border-top:1px solid var(--line);padding-top:clamp(56px,6vw,80px)}

/* Stats: four equal columns, numbers sized to fit */
.bm-stat__num{font-size:clamp(28px,2.4vw,34px)}
@media (min-width:782px){
	.wp-block-columns.bm-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:32px}
}

/* Statement split: body column starts level with the heading, wider gutter */
@media (min-width:782px){
	.wp-block-columns.bm-split{column-gap:clamp(48px,7vw,96px)}
	.wp-block-columns.bm-split:not(.bm-split--center) > .wp-block-column:last-child{padding-top:42px}
}

/* Cards: one-line titles where possible, content top-aligned */
.bm-card__title{font-size:clamp(22px,1.8vw,25px);padding-top:64px}
.bm-card__text{margin-bottom:24px}
.bm-card__includes{margin-top:0}
.bm-card__body{padding:26px 28px 30px}

/* Service cards: subtitles as italic serif, not shouty caps */
.bm-service .bm-kicker{font-family:var(--bm-serif);font-style:italic;font-weight:400;text-transform:none;letter-spacing:0;font-size:18px;color:var(--gold);margin-bottom:16px}
.bm-service--dark .bm-kicker{color:var(--gold-light)}
.bm-service h3{margin-bottom:4px}

/* How We Help: tighter pillar headers, more air before service cards */
.bm-gap-below{margin-bottom:clamp(40px,5vw,64px)!important}

/* About: credentials and timeline rhythm */
.wp-block-columns.bm-timeline__item{padding-block:30px}
.bm-timeline__item .bm-kicker{margin-bottom:8px}

/* Memberships: a touch more air */
.bm-members .bm-wrap,.bm-members .bm-wrap > .wp-block-group__inner-container{gap:24px 64px}
.bm-members .bm-wrap{padding-block:52px}

/* Footer: brand column wider */
@media (min-width:782px){.bm-footer__grid{grid-template-columns:1.6fr 1fr 1fr}}

.bm-section--flush-top .bm-intro{max-width:none}
.bm-intro h2,.bm-intro p{max-width:760px}

@media (max-width:781px){.bm-stat__num{white-space:normal;font-size:26px}}

/* ---------- Refinements 1.2: stat icons, aligned service headings ---------- */
.bm-stat__num[class*="bm-si-"]{position:relative;padding-top:56px}
.bm-stat__num[class*="bm-si-"]::before{content:"";position:absolute;top:0;left:0;width:40px;height:40px;border-radius:10px;background:var(--teal-tint)}
.bm-stat__num[class*="bm-si-"]::after{content:"";position:absolute;top:9px;left:9px;width:22px;height:22px;background:var(--teal);-webkit-mask:var(--i) center/contain no-repeat;mask:var(--i) center/contain no-repeat}
.bm-si-tenure{--i:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3.5' y='5.5' width='17' height='15' rx='2'/%3E%3Cpath d='M3.5 10H20.5M8 3.5V7M16 3.5V7'/%3E%3Ccircle cx='15.5' cy='15.5' r='1.25' fill='currentColor' stroke='none'/%3E%3C/svg%3E")}
.bm-si-clients{--i:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='9' cy='8' r='3.25'/%3E%3Cpath d='M3.5 20.5V19A4.5 4.5 0 0 1 8 14.5H10A4.5 4.5 0 0 1 14.5 19V20.5M15.5 4.9A3.25 3.25 0 0 1 15.5 11.1M17.5 14.6A4.5 4.5 0 0 1 20.5 18.9V20.5'/%3E%3C/svg%3E")}
.bm-si-profit{--i:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3.5 3.5V18.5A2 2 0 0 0 5.5 20.5H20.5M7.5 15.5L11 11.5L14 14L18.5 8.5'/%3E%3Ccircle cx='18.5' cy='8.5' r='1.25' fill='currentColor' stroke='none'/%3E%3C/svg%3E")}
.bm-si-award{--i:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='9' r='5.5'/%3E%3Cpath d='M8.5 13.25L7 20.5L12 18.5L17 20.5L15.5 13.25'/%3E%3Ccircle cx='12' cy='9' r='1.25' fill='currentColor' stroke='none'/%3E%3C/svg%3E")}
.bm-si-thesis{--i:url(../icons/thesis.svg?v=2)}
.bm-si-people{--i:url(../icons/people.svg?v=2)}
@media (max-width:781px){
	.bm-stat__num[class*="bm-si-"]{padding-top:48px}
	.bm-stat__num[class*="bm-si-"]::before{width:34px;height:34px;border-radius:9px}
	.bm-stat__num[class*="bm-si-"]::after{top:7px;left:7px;width:20px;height:20px}
	.bm-service h3 br{display:none}
}
.bm-service h3,.bm-card__title{text-wrap:balance}

/* ---------- Refinements 1.3: CEO group quotes, LinkedIn card ---------- */
.wp-block-columns.bm-quotes{gap:28px;align-items:stretch}
.wp-block-columns.bm-quotes > .wp-block-column{display:flex}
.wp-block-quote.bm-cquote{position:relative;display:flex;flex-direction:column;width:100%;box-sizing:border-box;margin:0;padding:66px 30px 28px;background:var(--ivory);border:1px solid var(--line);border-radius:var(--bm-radius);font-style:normal}
.wp-block-quote.bm-cquote::before{content:"\201C";display:block;position:absolute;top:16px;left:26px;font-family:var(--bm-serif);font-size:76px;line-height:1;color:var(--gold-line)}
.wp-block-quote.bm-cquote p{font-family:var(--bm-serif);font-style:italic;font-weight:400;font-size:21px;line-height:1.45;color:var(--ink);margin:0 0 22px}
.wp-block-quote.bm-cquote cite{display:block;margin-top:auto;font-style:normal;font-size:12px;line-height:1.4;letter-spacing:.14em;text-transform:uppercase;font-weight:600;color:var(--gold)}
.bm-quotes-note{font-size:15px;color:var(--muted);margin:24px 0 10px}
.bm-voices{margin-top:clamp(64px,8vw,104px)}
.bm-quotes-grid > .wp-block-group__inner-container{columns:2;column-gap:28px}
.bm-quotes-grid .wp-block-quote.bm-cquote{display:block;break-inside:avoid;margin:0 0 28px;padding:58px 28px 26px}
.bm-quotes-grid .wp-block-quote.bm-cquote p{font-size:19px;margin-bottom:18px}
.bm-infocard--linkedin .bm-kicker::before{content:"";width:18px;height:18px;background:var(--teal);-webkit-mask:var(--i) center/contain no-repeat;mask:var(--i) center/contain no-repeat}
.bm-infocard--linkedin{--i:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='9' cy='8' r='3.25'/%3E%3Cpath d='M3.5 20.5V19A4.5 4.5 0 0 1 8 14.5H10A4.5 4.5 0 0 1 14.5 19V20.5M15.5 4.9A3.25 3.25 0 0 1 15.5 11.1M17.5 14.6A4.5 4.5 0 0 1 20.5 18.9V20.5'/%3E%3C/svg%3E")}
.bm-infocard a{color:var(--teal);font-weight:600;text-decoration:none}
.bm-infocard a:hover,.bm-infocard a:focus{text-decoration:underline}
.bm-footer__contact a.bm-footer__social{font-weight:600}
@media (max-width:781px){
	.bm-quotes-grid > .wp-block-group__inner-container{columns:1}
	.wp-block-quote.bm-cquote p{font-size:19px}
}

/* 1.3 spacing: thesis link, John's operations paragraph */
.bm-thesis__meta + .bm-arrow-link{margin-top:18px}
.bm-pillar-lede + p{margin-top:16px}

/* 1.3 photos: John's new photos are colour, so no warming filter */
:root{--bm-portrait-filter:none}

/* ---------- 1.4: FAQ, legal pages, blog drafts ---------- */
.bm-faq-list{border-top:1px solid var(--line)}
.wp-block-details.bm-faq{border-bottom:1px solid var(--line);margin:0;padding:0}
.wp-block-details.bm-faq summary{position:relative;cursor:pointer;list-style:none;font-family:var(--bm-serif);font-size:clamp(20px,1.9vw,24px);line-height:1.3;color:var(--ink);padding:22px 48px 22px 0}
.wp-block-details.bm-faq summary::-webkit-details-marker{display:none}
.wp-block-details.bm-faq summary::after{content:"";position:absolute;right:6px;top:50%;width:16px;height:16px;margin-top:-8px;background:var(--teal);-webkit-mask:url(../icons/arrow-right.svg?v=2) center/contain no-repeat;mask:url(../icons/arrow-right.svg?v=2) center/contain no-repeat;transform:rotate(90deg);transition:transform .2s ease}
.wp-block-details.bm-faq[open] summary::after{transform:rotate(-90deg)}
.wp-block-details.bm-faq summary:hover{color:var(--teal)}
.wp-block-details.bm-faq > :not(summary){margin:0 0 14px}
.wp-block-details.bm-faq > :last-child{margin-bottom:26px}
.bm-legal h2{font-size:clamp(23px,2.1vw,28px);line-height:1.25;margin:44px 0 12px}
.bm-legal ul.bm-legal-list{padding-left:20px;margin:0 0 16px}
.bm-legal ul.bm-legal-list li{margin-bottom:8px}
.bm-legal .bm-note{margin:0 0 8px}

/* ---------- Refinements 1.5 (28 Oct 2026): Contact page email card ---------- */
.bm-infocards+.bm-infocards{margin-top:16px}
.bm-footer__contact a.bm-footer__email{font-weight:600}
