/* Keep both headline lines and the actions on one visual center axis. */
@media (min-width:721px){
	.hero-title{align-items:center;display:flex;flex-direction:column}
	.hero-title .title-line{margin-left:auto;margin-right:auto;max-width:none;width:max-content}
	.hero .button-row{margin-left:auto;margin-right:auto;width:fit-content}
}

/* Match the shared .mc-head body-copy system exactly. */
.home-cycle .home-story__heading--wide>p:last-child{
	color:#5c6d72;
	font-size:clamp(.94rem,1.1vw,1.06rem);
	line-height:1.8;
	margin:18px auto 0;
	max-width:64ch;
	text-wrap:balance;
}
.home-cycle .home-story__heading--wide>p:last-child strong{
	color:inherit;
}

/* Use the same .mc-head body-copy system in Partnership-led RCM. */
.home-partnership__intro>p{
	color:#5c6d72;
	font-size:clamp(.94rem,1.1vw,1.06rem);
	font-weight:400;
	line-height:1.8;
	margin:0;
	max-width:64ch;
	text-wrap:balance;
}
.home-partnership__intro>p+p{
	margin-top:18px;
}
.home-partnership__intro>p strong{
	color:inherit;
}

/* Use the same .mc-head body-copy system in Technology & analytics. */
.home-intelligence__copy>p:not(.section-sub){
	color:#5c6d72;
	font-size:clamp(.94rem,1.1vw,1.06rem);
	font-weight:400;
	line-height:1.8;
	margin-top:18px;
	max-width:64ch;
	text-wrap:balance;
}
.home-intelligence__copy>p:not(.section-sub) strong{
	color:inherit;
}

/* Use the same .mc-head body-copy system in Who we help. */
.home-audiences .home-story__heading--wide>p:last-child{
	color:#5c6d72;
	font-size:clamp(.94rem,1.1vw,1.06rem);
	font-weight:400;
	line-height:1.8;
	margin:18px auto 0;
	max-width:64ch;
	text-wrap:balance;
}
.home-audiences .home-story__heading--wide>p:last-child strong{
	color:inherit;
}

/* How We Work intro: bicolor subhead and shared .mc-head body copy. */
.process-intro .services-intro__lede em{
	color:var(--brand-accent-ink);
	font-style:normal;
}
.process-intro .services-intro__text{
	color:#5c6d72;
	font-size:clamp(.94rem,1.1vw,1.06rem);
	font-weight:400;
	line-height:1.8;
	margin-top:18px;
	max-width:64ch;
	text-wrap:balance;
}
.process-intro .services-intro__text strong{
	color:inherit;
}

/* Operating rhythm cards: secondary copy should remain secondary. */
.process-steps__lede{
	color:#5c6d72;
	font-weight:400;
	line-height:1.7;
}

/* Who We Help cards: secondary copy should remain secondary. */
.page-template-page-who-we-help .services-detail__lede{
	color:#5c6d72;
	font-weight:400;
	line-height:1.7;
}

/* Who We Help: grey canvas, white modal cards, rich step-style icons. */
.page-template-page-who-we-help .services-detail{
	background:var(--brand-surface);
}
:is(.page-template-page-who-we-help,.home) .audience-detail__card{
	background:#fff;
	border-color:rgba(var(--brand-navy-rgb),.09);
}
:is(.page-template-page-who-we-help,.home) .audience-detail__card:hover{
	border-color:rgba(var(--brand-accent-rgb),.4);
	box-shadow:0 20px 46px rgba(var(--brand-navy-rgb),.09);
}
:is(.page-template-page-who-we-help,.home) .audience-detail__icon{
	align-items:center;
	background:transparent;
	display:flex;
	height:60px;
	justify-content:flex-start;
	width:60px;
}
:is(.page-template-page-who-we-help,.home) .audience-detail__icon .step-icon{
	color:var(--brand-accent);
	height:60px;
	width:60px;
}
:is(.page-template-page-who-we-help,.home) .audience-detail__more{
	border-top:1px solid rgba(var(--brand-navy-rgb),.1);
	margin-top:auto;
	padding-top:18px;
	width:100%;
}

/* Specialty experience: dark brand band with a high-contrast white directory. */
:is(.page-template-page-who-we-help,.home) .audience-coverage{
	background:var(--brand-navy);
	color:rgba(255,255,255,.72);
	overflow:hidden;
	position:relative;
}
:is(.page-template-page-who-we-help,.home) .audience-coverage::before{
	background:radial-gradient(circle,rgba(var(--brand-rose-rgb),.24),transparent 68%);
	content:"";
	height:620px;
	left:-260px;
	pointer-events:none;
	position:absolute;
	top:-220px;
	width:620px;
}
:is(.page-template-page-who-we-help,.home) .audience-coverage>.shell{
	position:relative;
	z-index:1;
}
:is(.page-template-page-who-we-help,.home) .audience-coverage .services-detail__heading h2{
	color:#fff;
}
:is(.page-template-page-who-we-help,.home) .audience-coverage .services-detail__heading h2 em{
	color:var(--brand-rose);
}
:is(.page-template-page-who-we-help,.home) .audience-coverage .section-sub{
	color:rgba(255,255,255,.92);
}
:is(.page-template-page-who-we-help,.home) .audience-coverage .section-sub em{
	color:var(--brand-rose);
}
:is(.page-template-page-who-we-help,.home) .audience-coverage__intro{
	color:rgba(255,255,255,.7);
}
:is(.page-template-page-who-we-help,.home) .audience-coverage__card{
	background:#fff;
	border-color:rgba(255,255,255,.14);
	box-shadow:0 28px 70px rgba(0,0,0,.2);
}

/* Give the specialty directory the visual weight of a featured capability. */
:is(.page-template-page-who-we-help,.home) .audience-coverage{
	padding:clamp(82px,9vw,128px) 0 clamp(76px,8vw,116px);
}
:is(.page-template-page-who-we-help,.home) .audience-coverage::after{
	background-image:linear-gradient(90deg,var(--brand-navy) 0%,rgba(var(--brand-navy-rgb),.76) 32%,rgba(var(--brand-navy-rgb),.18) 100%),url('../img/about/operations.webp');
	background-position:center;
	background-size:cover;
	content:"";
	height:clamp(300px,32vw,440px);
	top:0;
	pointer-events:none;
	position:absolute;
	right:0;
	width:62%;
}
:is(.page-template-page-who-we-help,.home) .audience-coverage .services-detail__heading{
	margin:0;
	max-width:680px;
	position:relative;
	text-align:left;
	z-index:2;
}
:is(.page-template-page-who-we-help,.home) .audience-coverage .services-detail__heading h2,
:is(.page-template-page-who-we-help,.home) .audience-coverage .section-sub,
:is(.page-template-page-who-we-help,.home) .audience-coverage__intro{
	margin-left:0;
	margin-right:0;
	text-align:left;
}
:is(.page-template-page-who-we-help,.home) .audience-coverage__intro{
	max-width:62ch;
}
:is(.page-template-page-who-we-help,.home) .audience-coverage__card{
	align-items:stretch;
	border-radius:28px;
	gap:0;
	margin-top:clamp(58px,7vw,96px);
	overflow:hidden;
	padding:0;
	position:relative;
	z-index:2;
}
:is(.page-template-page-who-we-help,.home) .audience-coverage__card .home-coverage__group{
	padding:clamp(28px,3.2vw,46px);
}
:is(.page-template-page-who-we-help,.home) .audience-coverage__card .home-coverage__group+.home-coverage__group{
	padding-left:clamp(28px,3.2vw,46px);
}
:is(.page-template-page-who-we-help,.home) .audience-coverage__card .home-coverage__group header{
	border-bottom:0;
	margin-bottom:18px;
	padding-bottom:0;
}
:is(.page-template-page-who-we-help,.home) .audience-coverage__card .home-coverage__group header svg{
	background:var(--brand-surface);
	border-radius:12px;
	box-sizing:content-box;
	height:22px;
	padding:11px;
	width:22px;
}
:is(.page-template-page-who-we-help,.home) .audience-coverage__card .home-coverage__group h3{
	font-size:clamp(.92rem,1.15vw,1.08rem);
	min-height:0;
}
:is(.page-template-page-who-we-help,.home) .audience-coverage__card .home-coverage__list li{
	border-bottom:1px solid rgba(var(--brand-navy-rgb),.1);
	display:grid;
	font-size:.86rem;
	font-weight:500;
	gap:12px;
	grid-template-columns:48px minmax(0,1fr) auto;
	padding:13px 2px;
}
:is(.page-template-page-who-we-help,.home) .audience-coverage__card .home-coverage__list li::before{
	display:none;
}
:is(.page-template-page-who-we-help,.home) .audience-coverage__card .home-coverage__list li::after{
	align-self:center;
	color:var(--brand-accent-ink);
	content:'\2192';
	font-size:1rem;
	margin-left:14px;
	transition:transform .22s;
}
:is(.page-template-page-who-we-help,.home) .audience-specialty__thumb{
	align-items:center;
	background:var(--brand-surface);
	border-radius:11px;
	display:flex;
	height:48px;
	justify-content:center;
	overflow:hidden;
	width:48px;
}
:is(.page-template-page-who-we-help,.home) .audience-specialty__thumb img{
	display:block;
	height:100%;
	object-fit:cover;
	transition:transform .35s ease;
	width:100%;
}
:is(.page-template-page-who-we-help,.home) .audience-specialty__thumb svg{
	color:var(--brand-accent);
	height:20px;
	width:20px;
}
:is(.page-template-page-who-we-help,.home) .audience-specialty__name{
	align-self:center;
}
:is(.page-template-page-who-we-help,.home) .audience-specialty:hover .audience-specialty__thumb img{
	transform:scale(1.08);
}
:is(.page-template-page-who-we-help,.home) .audience-coverage__card .home-coverage__list li:hover::after{
	transform:translateX(4px);
}
@media(max-width:980px){
	:is(.page-template-page-who-we-help,.home) .audience-coverage::after{opacity:.48;width:100%}
	:is(.page-template-page-who-we-help,.home) .audience-coverage__card .home-coverage__group+.home-coverage__group{padding-left:clamp(28px,3.2vw,46px)}
}
@media(max-width:600px){
	:is(.page-template-page-who-we-help,.home) .audience-coverage{padding-top:74px}
	:is(.page-template-page-who-we-help,.home) .audience-coverage::after{height:430px;opacity:.32}
	:is(.page-template-page-who-we-help,.home) .audience-coverage__card{border-radius:20px;margin-top:48px}
	:is(.page-template-page-who-we-help,.home) .audience-coverage__card .home-coverage__group{padding:26px 22px}
}

/* Interactive specialty directory tabs. */
:is(.page-template-page-who-we-help,.home) .audience-coverage__tabs{display:block}
:is(.page-template-page-who-we-help,.home) .audience-tabs__list{background:var(--brand-surface);border-bottom:1px solid rgba(var(--brand-navy-rgb),.1);display:grid;grid-template-columns:repeat(3,minmax(0,1fr));padding:10px}
:is(.page-template-page-who-we-help,.home) .audience-tabs__tab{align-items:center;background:transparent;border:0;border-radius:18px;color:var(--brand-navy);cursor:pointer;display:grid;font:inherit;gap:12px;grid-template-columns:44px minmax(0,1fr) auto;min-height:82px;padding:14px 16px;text-align:left;transition:background .22s,box-shadow .22s,transform .22s}
:is(.page-template-page-who-we-help,.home) .audience-tabs__tab+.audience-tabs__tab{border-left:1px solid rgba(var(--brand-navy-rgb),.1)}
:is(.page-template-page-who-we-help,.home) .audience-tabs__tab:hover{background:#fff;transform:translateY(-2px)}
:is(.page-template-page-who-we-help,.home) .audience-tabs__tab.is-active{background:#fff;box-shadow:0 10px 30px rgba(var(--brand-navy-rgb),.1)}
:is(.page-template-page-who-we-help,.home) .audience-tabs__tab:focus-visible{outline:3px solid rgba(var(--brand-rose-rgb),.38);outline-offset:2px}
:is(.page-template-page-who-we-help,.home) .audience-tabs__icon{align-items:center;background:#fff;border-radius:12px;color:var(--brand-accent);display:flex;height:44px;justify-content:center;width:44px}
:is(.page-template-page-who-we-help,.home) .audience-tabs__tab.is-active .audience-tabs__icon{background:var(--brand-accent);color:#fff}
:is(.page-template-page-who-we-help,.home) .audience-tabs__icon svg{height:21px;width:21px}
:is(.page-template-page-who-we-help,.home) .audience-tabs__label{font-size:clamp(.82rem,1vw,.98rem);font-weight:700;line-height:1.2}
:is(.page-template-page-who-we-help,.home) .audience-tabs__count{align-items:center;background:rgba(var(--brand-rose-rgb),.12);border-radius:999px;color:var(--brand-accent-ink);display:flex;font-size:.72rem;font-weight:800;height:28px;justify-content:center;min-width:28px;padding:0 8px}
:is(.page-template-page-who-we-help,.home) .audience-tabs__panels{background:#fff;padding:clamp(20px,2.4vw,34px)}
:is(.page-template-page-who-we-help,.home) .audience-coverage__card .audience-tabs__panel{padding:0}
:is(.page-template-page-who-we-help,.home) .audience-tabs__panel[hidden]{display:none}
:is(.page-template-page-who-we-help,.home) .audience-tabs__panel.is-active{animation:audience-panel-in .32s ease both}
:is(.page-template-page-who-we-help,.home) .audience-tabs__panel .home-coverage__list{display:grid;gap:0 clamp(24px,3vw,44px);grid-template-columns:repeat(3,minmax(0,1fr))}
@keyframes audience-panel-in{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
@media(max-width:900px){
	:is(.page-template-page-who-we-help,.home) .audience-tabs__list{display:flex;overflow-x:auto;padding:8px;scrollbar-width:thin}
	:is(.page-template-page-who-we-help,.home) .audience-tabs__tab{flex:0 0 min(290px,78vw)}
	:is(.page-template-page-who-we-help,.home) .audience-tabs__tab+.audience-tabs__tab{border-left:0}
	:is(.page-template-page-who-we-help,.home) .audience-tabs__panel .home-coverage__list{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:600px){
	:is(.page-template-page-who-we-help,.home) .audience-tabs__tab{min-height:72px;padding:10px 12px}
	:is(.page-template-page-who-we-help,.home) .audience-tabs__panels{padding:18px}
	:is(.page-template-page-who-we-help,.home) .audience-tabs__panel .home-coverage__list{grid-template-columns:1fr}
}
/* Specialty directory boundary overlap. */
:is(.page-template-page-who-we-help,.home) .audience-coverage{
	--audience-directory-overlap:clamp(165px,11vw,195px);
	background:linear-gradient(to bottom,var(--brand-navy) 0 calc(100% - clamp(76px,8vw,116px) - var(--audience-directory-overlap)),#fff calc(100% - clamp(76px,8vw,116px) - var(--audience-directory-overlap)) 100%);
}
:is(.page-template-page-who-we-help,.home) .audience-tabs__panels{min-height:210px}
@media(max-width:600px){
	:is(.page-template-page-who-we-help,.home) .audience-coverage{--audience-directory-overlap:72px}
	:is(.page-template-page-who-we-help,.home) .audience-tabs__panels{min-height:0}
}
/* Specialty tab spacing refinement. */
:is(.page-template-page-who-we-help,.home) .audience-tabs__list{gap:10px}
:is(.page-template-page-who-we-help,.home) .audience-tabs__tab{border:1px solid rgba(var(--brand-navy-rgb),.08)}
:is(.page-template-page-who-we-help,.home) .audience-tabs__tab+.audience-tabs__tab{border-left:1px solid rgba(var(--brand-navy-rgb),.08)}
@media(max-width:600px){:is(.page-template-page-who-we-help,.home) .audience-tabs__list{gap:8px}}
/* Home audience directory integration. */
.home .home-audiences{margin:0;padding-top:clamp(82px,9vw,128px)}
.home .home-audiences>.shell{position:relative;z-index:1}
.home .home-audiences__cta{background:#fff;margin:0;padding:clamp(24px,3vw,42px) 20px clamp(74px,8vw,112px);text-align:center}
.home .home-audiences+.home-audiences__cta+.home-why{margin-top:0}
@media(max-width:600px){.home .home-audiences__cta{padding-top:20px}}
/* White Why OlleyaHealth section. */
.home .home-why{background:#fff;color:#5c6d72}
.home .home-why h2,.home .home-why__reason h3{color:var(--brand-navy)}
.home .home-why .section-sub{color:var(--brand-navy)}
.home .home-why .section-sub em{color:var(--brand-accent)}
.home .home-why__logo-img{filter:none;opacity:1}
.home .home-why__reason{background:var(--brand-surface);border-color:rgba(var(--brand-navy-rgb),.1)}
.home .home-why__reason:hover{background:#fff;border-color:rgba(var(--brand-rose-rgb),.32);box-shadow:0 18px 45px rgba(var(--brand-navy-rgb),.09)}
.home .home-why__reason p{color:#5c6d72}
.home .home-why__reason>span,.home .home-why__more{color:var(--brand-accent)}
/* Home audience header CTA. */
.home .home-audiences__header-cta{margin-top:clamp(24px,3vw,34px)}
.home .home-audiences__header-cta .button{margin:0}
/* Home audience image framing refinement. */
.home .home-audiences::after{
	background-image:linear-gradient(to bottom,rgba(var(--brand-navy-rgb),0) 62%,var(--brand-navy) 100%),linear-gradient(90deg,var(--brand-navy) 0%,rgba(var(--brand-navy-rgb),.72) 32%,rgba(var(--brand-navy-rgb),.12) 100%),url('../img/about/operations.webp');
	background-position:center,center,center 42%;
	height:clamp(440px,36vw,540px);
	width:68%;
}
.home .home-audiences__header-cta .button-light{background:#fff;border-color:#fff;color:var(--brand-navy)}
.home .home-audiences__header-cta .button-light:hover{background:var(--brand-rose);border-color:var(--brand-rose);color:var(--brand-navy)}
@media(max-width:980px){.home .home-audiences::after{height:470px;width:100%}}
@media(max-width:600px){.home .home-audiences::after{height:430px}}
/* Home audience-to-why spacing. */
.home .home-why{padding-top:clamp(34px,3.2vw,52px)}
@media(max-width:720px){.home .home-why{padding-top:34px}}
/* Who We Help image framing refinement. */
.page-template-page-who-we-help .audience-coverage::after{
	background-image:linear-gradient(to bottom,rgba(var(--brand-navy-rgb),0) 62%,var(--brand-navy) 100%),linear-gradient(90deg,var(--brand-navy) 0%,rgba(var(--brand-navy-rgb),.72) 32%,rgba(var(--brand-navy-rgb),.12) 100%),url('../img/about/operations.webp');
	background-position:center,center,center 42%;
	height:clamp(440px,36vw,540px);
	width:68%;
}
@media(max-width:980px){.page-template-page-who-we-help .audience-coverage::after{height:470px;width:100%}}
@media(max-width:600px){.page-template-page-who-we-help .audience-coverage::after{height:430px}}
/* Why card iconography. */
.home .home-why__reason{min-height:210px;padding-right:clamp(82px,7vw,112px);position:relative}
.home .home-why__reason>.home-why__reason-icon{align-items:center;background:#fff;border:1px solid rgba(var(--brand-navy-rgb),.09);border-radius:15px;box-shadow:0 10px 24px rgba(var(--brand-navy-rgb),.07);color:var(--brand-accent);display:flex;height:54px;justify-content:center;letter-spacing:0;margin:0;position:absolute;right:clamp(24px,2.5vw,32px);top:clamp(24px,2.5vw,32px);width:54px}
.home .home-why__reason-icon svg{height:25px;width:25px}
.home .home-why__reason:hover>.home-why__reason-icon{background:var(--brand-accent);border-color:var(--brand-accent);color:#fff;transform:translateY(-3px)}
.home .home-why__reason>.home-why__reason-icon{transition:background .24s,border-color .24s,color .24s,transform .24s}
@media(max-width:980px){.home .home-why__reason{min-height:170px}}
@media(max-width:600px){.home .home-why__reason{padding-right:82px}.home .home-why__reason>.home-why__reason-icon{height:46px;right:20px;top:22px;width:46px}.home .home-why__reason-icon svg{height:22px;width:22px}}
/* Explicit final home color overrides for Sage and Sand. */
.home .home-why .section-sub{color:#374F4E!important}
.home .home-why .section-sub em{color:#a25249!important}
.home .home-invite .button-primary{background:#374F4E!important;border-color:#374F4E!important;color:#fff!important}
.home .home-invite .button-primary:hover{background:#2d4140!important;border-color:#2d4140!important;color:#fff!important}

/* Global Sage and Sand primary button color. */
.button-primary,
.button-about,
.home-invite .button,
.home-cycle .home-tabs__cta,
.mobile-nav-actions .button,
.site-header .header-cta .button,
.site-header .button-primary {
	background:#374F4E!important;
	border-color:#374F4E!important;
	color:#fff!important;
}
.button-primary .icon,
.button-about .icon,
.home-invite .button .icon,
.home-cycle .home-tabs__cta .icon,
.mobile-nav-actions .button .icon,
.site-header .header-cta .button .icon,
.site-header .button-primary .icon {
	color:#fff!important;
}
.button-primary:hover,
.button-about:hover,
.home-invite .button:hover,
.home-cycle .home-tabs__cta:hover,
.mobile-nav-actions .button:hover,
.site-header .header-cta .button:hover,
.site-header .button-primary:hover {
	background:#2d4140!important;
	border-color:#2d4140!important;
	color:#fff!important;
}
/* Global Sage and Sand heading/subhead text color normalization. */
.section-sub,
.home-story__subhead,
.home-story__lead,
.home-partnership .section-sub,
.home-partnership .section-sub:not(em),
.home-partnership .home-story__heading .section-sub,
.home-why .section-sub,
.mc-head__sub {
	color:#374F4E!important;
}
.section-sub em,
.home-story__subhead em,
.home-partnership .section-sub em,
.home-partnership .home-story__heading .section-sub em,
.home-why .section-sub em,
.mc-head__sub em {
	color:#a25249!important;
}
.site-header--over-dark:not(.is-scrolled) .section-sub,
.home .site-header:not(.is-scrolled) .section-sub,
.home-audiences .section-sub,
.home-audiences .services-detail__heading .section-sub,
.home-cycle .section-sub,
.hero .section-sub {
	color:#fff!important;
}
.home-audiences .section-sub em,
.home-audiences .services-detail__heading .section-sub em,
.home-cycle .section-sub em,
.hero .section-sub em {
	color:var(--brand-title-accent)!important;
}
/* Connected RCM support title line break. */
#home-cycle-title>span{display:block}

/* Light centered subhead for dark How/Managed model header. */
.home-how .section-sub,
.home-how .home-story__subhead {
	border-left:0!important;
	color:#fff!important;
	padding-left:0!important;
	position:relative;
	text-align:center;
}
.home-how .section-sub em,
.home-how .home-story__subhead em {
	color:var(--brand-title-accent)!important;
}
.home-how .section-sub::after,
.home-how .home-story__subhead::after {
	background:var(--brand-title-accent);
	content:"";
	display:block;
	height:3px;
	margin:18px auto 0;
	width:86px;
}
/* Desktop header fit refinement. */
@media (min-width:1441px){
	.header-inner-full{width:calc(100% - 28px)!important;max-width:none!important}
	.primary-nav .menu{gap:clamp(16px,1.25vw,24px)!important}
	.primary-nav a{font-size:.82rem!important;line-height:1.28!important;letter-spacing:.005em!important}
	.header-actions .header-cta{font-size:.74rem!important;min-height:46px!important;padding:10px 20px!important;white-space:nowrap!important}
}
@media (min-width:1281px) and (max-width:1440px){
	.header-inner-full{width:calc(100% - 24px)!important;max-width:none!important}
	.primary-nav .menu{gap:14px!important}
	.primary-nav a{font-size:.76rem!important;line-height:1.25!important;letter-spacing:0!important}
	.header-actions .header-cta{font-size:.7rem!important;min-height:44px!important;padding:10px 18px!important;white-space:nowrap!important}
}
/* Wider desktop navigation refinement. */
@media (min-width:1281px){
	.header-inner{gap:18px!important}
	.header-inner-full{width:calc(100% - 12px)!important;max-width:none!important}
	.site-header .custom-logo{max-height:78px!important}
	.site-header.is-scrolled .custom-logo{max-height:62px!important}
	.primary-nav{left:50.5%!important;width:min(1000px,calc(100vw - 520px))!important}
	.primary-nav .menu{gap:12px!important;justify-content:space-between!important;width:100%!important}
	.primary-nav a{font-size:.74rem!important;line-height:1.18!important;padding-block:13px!important;text-align:center!important}
	.primary-nav .menu-item-has-children>a{padding-right:14px!important}
	.primary-nav .menu-item-has-children>a::before{right:0!important}
	.header-actions .header-cta{font-size:.68rem!important;min-height:42px!important;padding:9px 16px!important}
}
@media (min-width:1441px){
	.primary-nav{width:min(1080px,calc(100vw - 540px))!important}
	.primary-nav a{font-size:.78rem!important}
	.primary-nav .menu{gap:14px!important}
	.header-actions .header-cta{font-size:.72rem!important;padding:10px 18px!important}
}
/* Centered subheads use bottom rule, not left border. */
.services-detail__heading,
.home-why__heading,
.home-how .home-story__heading {
	text-align:center;
}
.services-detail__heading>.section-sub,
.home-why__heading>.section-sub,
.home-how .home-story__heading>.section-sub {
	border-left:0!important;
	margin-left:auto!important;
	margin-right:auto!important;
	padding-left:0!important;
	position:relative;
	text-align:center!important;
}
.services-detail__heading>.section-sub::after,
.home-why__heading>.section-sub::after,
.home-how .home-story__heading>.section-sub::after {
	background:currentColor;
	content:"";
	display:block;
	height:3px;
	margin:18px auto 0;
	opacity:.95;
	width:86px;
}
/* Services detail title line break. */
#services-detail-title>span{display:block}

/* Services scope guardrail callout. */
.services-scope-note{
	background:#fff;
	padding:0 0 clamp(34px,4vw,54px);
}
.services-scope-note .shell{
	max-width:min(100% - 48px,1040px);
}
.services-scope-note p{
	background:#f3eee9;
	border:1px solid rgba(55,79,78,.1);
	border-left:4px solid #a25249;
	border-radius:18px;
	box-shadow:0 14px 36px rgba(55,79,78,.055);
	color:#5f6e6d;
	font-size:clamp(.82rem,.95vw,.94rem);
	line-height:1.72;
	margin:0;
	padding:18px 22px;
}
.services-scope-note strong{
	color:#a25249;
	font-family:var(--font-heading);
	letter-spacing:.02em;
	text-transform:uppercase;
}
/* Refined standalone services scope section. */
.services-scope-note{
	background:#fff!important;
	padding:clamp(64px,7vw,96px) 0!important;
}
.services-scope-note .shell{
	max-width:min(100% - 48px,1080px)!important;
}
.services-scope-note__card{
	background:linear-gradient(135deg,#f4eee8,#fbfaf8);
	border:1px solid rgba(55,79,78,.1);
	border-radius:26px;
	box-shadow:0 22px 60px rgba(55,79,78,.075);
	margin:0 auto;
	max-width:960px;
	padding:clamp(30px,4vw,48px);
	position:relative;
}
.services-scope-note__card::before{
	background:#a25249;
	border-radius:999px;
	content:"";
	display:block;
	height:4px;
	margin:0 0 24px;
	width:72px;
}
.services-scope-note__card span{
	color:#a25249;
	display:block;
	font-size:.68rem;
	font-weight:850;
	letter-spacing:.13em;
	margin-bottom:14px;
	text-transform:uppercase;
}
.services-scope-note__card p{
	background:transparent!important;
	border:0!important;
	box-shadow:none!important;
	color:#374F4E!important;
	font-size:clamp(1rem,1.25vw,1.16rem)!important;
	line-height:1.78!important;
	margin:0!important;
	padding:0!important;
}
/* Header nav Sage and Sand color normalization. */
.site-header .primary-nav a,
.site-header.is-scrolled .primary-nav a,
.site-header--over-dark.is-scrolled .primary-nav a,
.home .site-header.is-scrolled .primary-nav a,
.site-header .primary-nav .sub-menu a,
.site-header.is-scrolled .primary-nav .sub-menu a {
	color:#374F4E!important;
}
.site-header .primary-nav a::after,
.site-header.is-scrolled .primary-nav a::after,
.site-header--over-dark.is-scrolled .primary-nav a::after,
.home .site-header.is-scrolled .primary-nav a::after {
	background:#a25249!important;
}
.site-header .primary-nav a:hover,
.site-header .primary-nav a:focus-visible,
.site-header .primary-nav .current-menu-item>a,
.site-header .primary-nav .current-menu-ancestor>a {
	color:#374F4E!important;
}
.site-header--over-dark:not(.is-scrolled) .primary-nav>a,
.site-header--over-dark:not(.is-scrolled) .primary-nav .menu>li>a,
.home .site-header:not(.is-scrolled) .primary-nav .menu>li>a {
	color:rgba(255,255,255,.94)!important;
}
/* Dark content-width services scope section. */
.services-scope-note{
	background:#fff!important;
	padding:clamp(54px,6vw,82px) 0!important;
}
.services-scope-note .shell{
	max-width:var(--shell)!important;
}
.services-scope-note__card{
	background:#374F4E!important;
	border:1px solid rgba(255,255,255,.08)!important;
	border-radius:26px!important;
	box-shadow:0 24px 70px rgba(55,79,78,.16)!important;
	margin:0!important;
	max-width:none!important;
	padding:clamp(34px,4.2vw,54px)!important;
}
.services-scope-note__card::before{
	background:var(--brand-title-accent)!important;
	margin-bottom:24px!important;
}
.services-scope-note__card span{
	color:var(--brand-title-accent)!important;
}
.services-scope-note__card p{
	color:rgba(255,255,255,.82)!important;
	max-width:980px!important;
}
/* Who We Help approval-safe specialty message. */
.audience-approval-note{
	align-items:center;
	background:#fff;
	border:1px solid rgba(55,79,78,.1);
	border-radius:24px;
	box-shadow:0 18px 48px rgba(55,79,78,.07);
	display:grid;
	gap:20px;
	grid-template-columns:auto 1fr;
	margin:clamp(34px,4vw,54px) auto 0;
	max-width:860px;
	padding:clamp(24px,3vw,34px);
}
.audience-approval-note>span{
	align-items:center;
	background:#f3eee9;
	border-radius:16px;
	color:#a25249;
	display:flex;
	height:58px;
	justify-content:center;
	width:58px;
}
.audience-approval-note svg{height:27px;width:27px}
.audience-approval-note strong{
	color:#374F4E;
	display:block;
	font-family:var(--font-heading);
	font-size:clamp(1.05rem,1.35vw,1.28rem);
	line-height:1.25;
	margin-bottom:8px;
}
.audience-approval-note p{
	color:#667574;
	font-size:.94rem;
	line-height:1.7;
	margin:0;
}
@media(max-width:640px){.audience-approval-note{grid-template-columns:1fr}.audience-approval-note>span{height:52px;width:52px}}
/* Fix approval-safe Specialty Experience dark section. */
.audience-coverage .services-detail__heading{
	max-width:760px!important;
	text-align:left!important;
}
.audience-coverage .services-detail__heading h2{
	text-align:left!important;
}
.audience-coverage .services-detail__heading>.section-sub{
	border-left:0!important;
	color:#fff!important;
	font-size:clamp(1.05rem,1.45vw,1.35rem)!important;
	line-height:1.35!important;
	margin:16px 0 0!important;
	max-width:620px!important;
	padding:0!important;
	text-align:left!important;
}
.audience-coverage .services-detail__heading>.section-sub::after{
	background:var(--brand-title-accent)!important;
	display:block!important;
	margin:18px 0 0!important;
	width:78px!important;
}
.audience-coverage .services-detail__heading>.section-sub em{
	color:var(--brand-title-accent)!important;
}
.audience-coverage__intro{
	color:rgba(255,255,255,.82)!important;
	font-size:clamp(.98rem,1.12vw,1.08rem)!important;
	line-height:1.8!important;
	margin-top:30px!important;
	max-width:720px!important;
	text-align:left!important;
}
.audience-coverage__intro .olleya-brand-inline{
	color:#fff!important;
}
.audience-approval-note{
	margin:clamp(48px,5vw,72px) 0 0!important;
	max-width:860px!important;
}
@media(max-width:980px){
	.audience-coverage .services-detail__heading,
	.audience-coverage .services-detail__heading h2,
	.audience-coverage .services-detail__heading>.section-sub,
	.audience-coverage__intro{text-align:left!important}
}
/* Keep specialty approval note inside dark section. */
.audience-coverage{
	background:#374F4E!important;
	padding-bottom:clamp(78px,8vw,120px)!important;
}
.audience-coverage::before{
	background:linear-gradient(90deg,rgba(55,79,78,.96) 0%,rgba(55,79,78,.74) 42%,rgba(55,79,78,.38) 100%)!important;
}
.audience-coverage::after{
	bottom:0!important;
	height:100%!important;
}
.audience-approval-note{
	position:relative!important;
	z-index:2!important;
}
/* Specialty experience without subhead spacing. */
.audience-coverage .services-detail__heading h2+.audience-coverage__intro{margin-top:28px!important}

/* Managed RCM Model: ongoing operations pillars. */
.managed-ops{
	background:#fff;
	padding:clamp(82px,9vw,130px) 0;
}
.managed-ops__grid{
	display:grid;
	gap:clamp(16px,1.8vw,24px);
	grid-template-columns:repeat(4,minmax(0,1fr));
	margin-top:clamp(42px,5vw,68px);
}
.managed-ops__card{
	background:#f3f5f4;
	border:1px solid rgba(55,79,78,.12);
	border-radius:24px;
	min-height:430px;
	padding:clamp(26px,2.6vw,34px);
	position:relative;
}
.managed-ops__icon{
	align-items:center;
	background:#fff;
	border-radius:15px;
	box-shadow:0 10px 24px rgba(55,79,78,.07);
	color:#a25249;
	display:flex;
	height:54px;
	justify-content:center;
	margin-bottom:44px;
	width:54px;
}
.managed-ops__icon svg{height:25px;width:25px}
.managed-ops__step{
	color:rgba(162,82,73,.26);
	font-family:var(--font-heading);
	font-size:clamp(3.8rem,5vw,5.8rem);
	font-weight:800;
	line-height:1;
	position:absolute;
	right:22px;
	top:20px;
}
.managed-ops__card h3{
	color:#374F4E;
	font-size:clamp(1.25rem,1.55vw,1.65rem);
	line-height:1.18;
	margin:0 0 16px;
	position:relative;
	z-index:1;
}
.managed-ops__card p{
	color:#5f6e6d;
	font-size:.9rem;
	line-height:1.72;
	margin:0;
}
.managed-ops__card ul{
	border-top:1px solid rgba(55,79,78,.12);
	list-style:none;
	margin:22px 0 0;
	padding:18px 0 0;
}
.managed-ops__card li{
	color:#374F4E;
	font-size:.78rem;
	font-weight:650;
	line-height:1.45;
	padding-left:17px;
	position:relative;
}
.managed-ops__card li+li{margin-top:10px}
.managed-ops__card li::before{
	background:#a25249;
	border-radius:50%;
	content:"";
	height:5px;
	left:0;
	position:absolute;
	top:.62em;
	width:5px;
}
@media(max-width:1180px){.managed-ops__grid{grid-template-columns:repeat(2,minmax(0,1fr))}.managed-ops__card{min-height:360px}}
@media(max-width:680px){.managed-ops__grid{grid-template-columns:1fr}.managed-ops__card{min-height:0}}
/* Managed ops compact read-more cards. */
.managed-ops__card{
	background:#fff!important;
	border-color:rgba(55,79,78,.12)!important;
	box-shadow:0 16px 42px rgba(55,79,78,.06)!important;
	display:flex!important;
	flex-direction:column!important;
	min-height:310px!important;
	padding:clamp(24px,2.4vw,32px)!important;
}
.managed-ops__card:hover{
	border-color:rgba(162,82,73,.28)!important;
	box-shadow:0 20px 52px rgba(55,79,78,.09)!important;
	transform:translateY(-3px);
}
.managed-ops__icon{margin-bottom:32px!important}
.managed-ops__step{font-size:clamp(3rem,4vw,4.5rem)!important;opacity:.85!important}
.managed-ops__card p{font-size:.86rem!important;line-height:1.68!important}
.managed-ops__more{
	align-items:center;
	background:transparent;
	border:0;
	color:#a25249;
	cursor:pointer;
	display:inline-flex;
	font-size:.68rem;
	font-weight:850;
	gap:10px;
	letter-spacing:.08em;
	margin-top:auto;
	padding:24px 0 0;
	text-transform:uppercase;
}
.managed-ops__more i{
	border:1px solid rgba(162,82,73,.5);
	border-radius:50%;
	display:block;
	height:20px;
	position:relative;
	width:20px;
}
.managed-ops__more i::before,
.managed-ops__more i::after{
	background:#a25249;
	content:"";
	left:50%;
	position:absolute;
	top:50%;
	transform:translate(-50%,-50%);
}
.managed-ops__more i::before{height:1px;width:9px}
.managed-ops__more i::after{height:9px;width:1px}
.process-modal__body ul{list-style:none;margin:0;padding:0}
.process-modal__body li{color:#5f6e6d;line-height:1.7;padding-left:18px;position:relative}
.process-modal__body li+li{margin-top:10px}
.process-modal__body li::before{background:#a25249;border-radius:50%;content:"";height:5px;left:0;position:absolute;top:.7em;width:5px}
/* Managed ops inline expandable details. */
.managed-ops__details{
	border-top:1px solid rgba(55,79,78,.1);
	margin-top:22px;
	padding-top:16px;
}
.managed-ops__details summary{
	align-items:center;
	color:#a25249;
	cursor:pointer;
	display:inline-flex;
	font-size:.68rem;
	font-weight:850;
	gap:10px;
	letter-spacing:.08em;
	list-style:none;
	text-transform:uppercase;
}
.managed-ops__details summary::-webkit-details-marker{display:none}
.managed-ops__details summary i{
	border:1px solid rgba(162,82,73,.5);
	border-radius:50%;
	display:block;
	height:20px;
	position:relative;
	width:20px;
}
.managed-ops__details summary i::before,
.managed-ops__details summary i::after{
	background:#a25249;
	content:"";
	left:50%;
	position:absolute;
	top:50%;
	transform:translate(-50%,-50%);
	transition:transform .2s ease;
}
.managed-ops__details summary i::before{height:1px;width:9px}
.managed-ops__details summary i::after{height:9px;width:1px}
.managed-ops__details[open] summary i::after{transform:translate(-50%,-50%) rotate(90deg)}
.managed-ops__details ul{
	border-top:0!important;
	list-style:none!important;
	margin:16px 0 0!important;
	padding:0!important;
}
.managed-ops__details li{
	color:#374F4E;
	font-size:.78rem;
	font-weight:650;
	line-height:1.45;
	padding-left:17px;
	position:relative;
}
.managed-ops__details li+li{margin-top:10px}
.managed-ops__details li::before{
	background:#a25249;
	border-radius:50%;
	content:"";
	height:5px;
	left:0;
	position:absolute;
	top:.62em;
	width:5px;
}
/* Managed RCM Model governance cadence cards. */
.process-model__content{
	display:grid;
	gap:16px;
	grid-template-columns:repeat(2,minmax(0,1fr));
}
.process-model__card{
	min-height:245px;
}
.process-model__card h3{
	font-size:clamp(1.1rem,1.35vw,1.36rem);
	line-height:1.22;
}
.process-model__card p{
	font-size:.88rem;
	line-height:1.72;
}
@media(max-width:720px){.process-model__content{grid-template-columns:1fr}.process-model__card{min-height:0}}
/* Relationship section dark subhead readability. */
.process-model .process-model__heading>.section-sub{
	border-left:0!important;
	color:#fff!important;
	font-size:clamp(1.05rem,1.45vw,1.35rem)!important;
	line-height:1.35!important;
	margin:18px 0 0!important;
	max-width:560px!important;
	padding:0!important;
	text-align:left!important;
}
.process-model .process-model__heading>.section-sub em{
	color:var(--brand-title-accent)!important;
}
.process-model .process-model__heading>.section-sub::after{
	background:var(--brand-title-accent)!important;
	content:"";
	display:block!important;
	height:3px;
	margin:18px 0 0!important;
	width:78px!important;
}
.process-model__subhead{
	color:#fff!important;
}
/* ============================================================
   Header: primary nav optically centred between logo and CTA.
   The absolute 50.5% centring left uneven gutters (small logo
   on the left, wide CTA on the right), so the menu read as
   pushed to the right. Flex centring splits the free space.
   ============================================================ */
/* 2026-07-31: era min-width:981px. El menú horizontal ahora arranca en 1281px
   -- por debajo se usa el panel del toggle -- y este grid con position:static
   !important dejaba el panel en flujo, estirando la fila del header. */
@media(min-width:1281px){
	/* 1fr | auto | 1fr: the nav column lands on the page centre line, so the
	   menu shares the axis of the hero headline (also centred in .shell).
	   The side columns stay equal until the CTA needs more than its share,
	   at which point the grid gives it room instead of letting it collide. */
	.site-header .header-inner{
		align-items:center!important;
		display:grid!important;
		gap:clamp(14px,1.6vw,28px)!important;
		grid-template-columns:1fr auto 1fr!important;
	}
	.site-header .site-brand{justify-self:start!important}
	.site-header .primary-nav{
		justify-self:center!important;
		left:auto!important;
		max-width:none!important;
		min-width:0!important;
		position:static!important;
		top:auto!important;
		transform:none!important;
		width:auto!important;
	}
	.site-header .primary-nav .menu{
		flex-wrap:nowrap!important;
		justify-content:center!important;
		width:auto!important;
	}
	.site-header .header-actions{
		justify-self:end!important;
		margin-left:0!important;
	}
}
/* 2026-07-31: el "compact tier" de 981-1280px se eliminó. Achicaba la fuente a
   .68rem para meter nueve ítems a la fuerza; esa franja ahora usa el panel del
   toggle, y el !important le pisaba el tamaño de texto al panel. */
@media(min-width:1281px) and (max-width:1440px){
	.site-header .primary-nav .menu{gap:clamp(12px,1.15vw,18px)!important}
}
@media(min-width:1441px){
	.site-header .primary-nav .menu{gap:clamp(16px,1.25vw,24px)!important}
}

/* ============================================================
   Home "Who we help": one even overlay over the photo and the
   organization cards straddling the bottom edge of the band.
   ============================================================ */
body.home{--wwh-overlap:clamp(96px,8vw,130px)}
.home .home-audiences,
.home #who-we-help{
	background:var(--brand-navy)!important;
	display:flow-root;
	/* isolation:isolate trapped the cards' z-index inside the section, and the
	   next section (.home-story is position:relative) painted its white
	   background over the half that overhangs. Lift the whole band instead. */
	isolation:auto!important;
	margin:0!important;
	overflow:visible!important;
	padding:clamp(88px,9vw,128px) 0 0!important;
	position:relative;
	z-index:2!important;
}
/* Stray 620px gradient blob that used to float off the top-left corner. */
.home .home-audiences::before{display:none!important}
/* Single full-band photo + scrim: legible on the left, photo readable on the right. */
.home .home-audiences::after{
	background-image:
		linear-gradient(to bottom,rgba(var(--brand-navy-rgb),0) 58%,rgba(var(--brand-navy-rgb),.92) 100%),
		linear-gradient(90deg,var(--brand-navy) 0%,rgba(var(--brand-navy-rgb),.95) 26%,rgba(var(--brand-navy-rgb),.74) 62%,rgba(var(--brand-navy-rgb),.6) 100%),
		url('../img/about/operations.webp')!important;
	background-position:center,center,center 40%!important;
	background-repeat:no-repeat,no-repeat,no-repeat!important;
	background-size:cover,cover,cover!important;
	bottom:0!important;
	content:""!important;
	height:auto!important;
	left:0!important;
	pointer-events:none!important;
	position:absolute!important;
	right:0!important;
	top:0!important;
	width:100%!important;
	z-index:0!important;
}
.home .home-audiences>.shell{position:relative;z-index:2}
/* Cards: half inside the dark band, half over the white section below. */
.home .home-audiences .home-organization-cards,
.home #who-we-help .home-organization-cards{
	bottom:auto!important;
	margin-bottom:calc(var(--wwh-overlap) * -1)!important;
	margin-top:clamp(44px,4.5vw,64px)!important;
	position:relative;
	z-index:3!important;
}
/* The following white section must stay behind the overhanging cards. */
.home .home-audiences + .home-story,
.home #who-we-help + .home-story{
	z-index:1;
}
/* Room for the overhang, then normal breathing space. */
.home .home-audiences + .home-story,
.home .home-audiences + section,
.home #who-we-help + .home-story,
.home #who-we-help + section{
	padding-top:calc(var(--wwh-overlap) + clamp(46px,4.5vw,70px))!important;
}
@media(max-width:1180px){
	body.home{--wwh-overlap:clamp(72px,6vw,96px)}
}
@media(max-width:720px){
	body.home{--wwh-overlap:0px}
	.home .home-audiences,
	.home #who-we-help{padding-bottom:clamp(56px,9vw,72px)!important}
	.home .home-audiences .home-organization-cards,
	.home #who-we-help .home-organization-cards{margin-bottom:0!important}
	.home .home-audiences + .home-story,
	.home .home-audiences + section,
	.home #who-we-help + .home-story,
	.home #who-we-help + section{padding-top:78px!important}
}


/* ============================================================
   Security & Compliance: "Control areas subject to validation"
   adopts the .home-how__card glass format from the home page
   "managed RCM operating model" pillars.
   ============================================================ */
.security-controls{
	/* background-attachment:fixed rendered the photo at viewport scale,
	   misaligned with the section and fighting the cards' backdrop blur. */
	background-attachment:scroll!important;
	background-image:linear-gradient(180deg,rgba(55,79,78,.9),rgba(55,79,78,.94)),url("../img/security-compliance-controls.png")!important;
	background-position:center!important;
	background-size:cover!important;
}
.security-controls__grid{
	gap:clamp(16px,1.8vw,24px)!important;
}
.security-control-card{
	background:linear-gradient(180deg,rgba(255,255,255,.16),rgba(255,255,255,.08))!important;
	border:1px solid rgba(255,255,255,.28)!important;
	border-radius:22px!important;
	box-shadow:0 18px 45px rgba(11,30,38,.22)!important;
	justify-content:center!important;
	min-height:clamp(200px,16vw,236px)!important;
	overflow:hidden!important;
	padding:clamp(34px,3vw,44px) clamp(24px,2.4vw,32px) clamp(30px,2.6vw,38px)!important;
	transition:background .25s,border-color .25s,transform .25s!important;
	backdrop-filter:blur(14px) saturate(120%);
	-webkit-backdrop-filter:blur(14px) saturate(120%);
}
.security-control-card:hover{
	background:linear-gradient(180deg,rgba(255,255,255,.24),rgba(255,255,255,.13))!important;
	border-color:rgba(255,255,255,.45)!important;
	transform:translateY(-3px);
}
/* Accent hairline that widens on hover, same as the pillars. */
.security-control-card::before{
	background:linear-gradient(90deg,transparent,var(--brand-accent),transparent)!important;
	content:""!important;
	display:block!important;
	height:2px!important;
	left:50%!important;
	opacity:.55!important;
	position:absolute!important;
	top:0!important;
	transform:translateX(-50%)!important;
	transition:width .35s ease,opacity .35s ease!important;
	width:56px!important;
}
.security-control-card:hover::before{opacity:1!important;width:100%!important}
/* Markup order is icon, step, title -- matching the pillar cards. */
.security-control-card__icon{
	align-items:center!important;
	background:rgba(255,255,255,.2)!important;
	border:1px solid rgba(255,255,255,.35)!important;
	border-radius:18px!important;
	box-shadow:none!important;
	color:#fff!important;
	display:flex!important;
	height:56px!important;
	justify-content:center!important;
	margin:0 auto 18px!important;
	transition:background .25s,border-color .25s,color .25s,transform .25s!important;
	width:56px!important;
}
.security-control-card:hover .security-control-card__icon{
	background:var(--brand-accent)!important;
	border-color:var(--brand-accent)!important;
	transform:translateY(-2px);
}
.security-control-card__icon .icon{
	height:27px!important;
	width:27px!important;
}
.security-control-card__num{
	color:rgba(255,255,255,.72)!important;
	font-size:.55rem!important;
	font-weight:800!important;
	letter-spacing:.14em!important;
	margin:0 0 10px!important;
}
.security-control-card h3{
	font-size:clamp(1.02rem,1.25vw,1.18rem)!important;
	line-height:1.3!important;
	margin:0 auto!important;
	max-width:20ch!important;
}
@media(max-width:980px){
	.security-control-card{min-height:190px!important}
}
@media(max-width:620px){
	.security-control-card{min-height:0!important;padding:32px 24px!important}
}

/* Security intro headline: 4.2rem was oversized for this long title in a
   46%-wide column. */
.security-intro__copy h2{
	font-size:clamp(1.85rem,2.95vw,2.95rem)!important;
	line-height:1.12!important;
	max-width:620px!important;
}

/* Security review qualification: the card had ~118px of air above but
   ~206px below (this section's padding-bottom plus .services-close's
   padding-top stacking). Hand the whole gap to the next section so both
   sides match. Both blocks are white, so there is no visible seam. */
.security-compliance-page .security-qualification{
	padding-bottom:0!important;
}
.security-compliance-page .security-qualification + .services-close{
	padding-top:clamp(84px,8vw,118px)!important;
}

/* ============================================================
   Experience & Insights: taller hero carrying the lede, then
   the educational topics on white.
   ============================================================ */
.experience-insights-page .experience-insights-hero{
	align-items:center;
	display:flex;
	min-height:clamp(380px,36vw,500px);
	padding:calc(var(--header-height) + clamp(46px,5vw,72px)) 0 clamp(46px,5vw,72px);
}
.experience-insights-page .experience-hero__lede{
	color:rgba(255,255,255,.86);
	font-size:clamp(1.04rem,1.35vw,1.28rem);
	line-height:1.75;
	margin:clamp(20px,2.4vw,30px) auto 0;
	max-width:70ch;
	text-align:center;
	text-wrap:balance;
}
/* Educational topics: white canvas, navy heading, maroon accent. */
.experience-insights-page .experience-cards{
	background:#fff!important;
}
.experience-insights-page .experience-cards::before,
.experience-insights-page .experience-cards::after{
	display:none!important;
}
.experience-insights-page .experience-cards .mc-head{
	margin-inline:auto;
	text-align:center;
}
.experience-insights-page .experience-cards .mc-head h2{
	color:#374F4E!important;
}
.experience-insights-page .experience-cards .mc-head h2 em{
	color:#a25249!important;
	font-style:normal;
}
/* White cards would vanish on a white canvas: give them the surface tint. */
.experience-insights-page .experience-card{
	background:var(--brand-surface)!important;
	border:1px solid rgba(55,79,78,.1)!important;
	box-shadow:0 18px 44px rgba(55,79,78,.07)!important;
}
.experience-insights-page .experience-card__icon{
	background:#fff!important;
	box-shadow:0 10px 26px rgba(55,79,78,.08)!important;
}
/* Topic cards become links once their post is published. */
.experience-insights-page .experience-card--link{
	color:inherit;
	display:block;
	text-decoration:none;
	transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease;
}
.experience-insights-page .experience-card--link:hover{
	border-color:rgba(162,82,73,.35)!important;
	box-shadow:0 24px 56px rgba(55,79,78,.12)!important;
	transform:translateY(-3px);
}
.experience-insights-page .experience-card--link:focus-visible{
	outline:2px solid #a25249;
	outline-offset:3px;
}

/* ============================================================
   Insights archive (Experience & Insights) + single post.
   ============================================================ */
.insights-archive .insight-eyebrow{
	color:#a25249;
	display:block;
	font-size:.58rem;
	font-weight:800;
	letter-spacing:.14em;
	margin-bottom:12px;
	text-transform:uppercase;
}
.insights-archive .insight-more{
	align-items:center;
	color:#a25249;
	display:inline-flex;
	font-size:.76rem;
	font-weight:750;
	gap:8px;
	margin-top:auto;
	padding-top:18px;
}
.insights-archive .insight-more .icon{height:16px;width:16px;transition:transform .25s ease}
.insights-archive .insight-excerpt{
	color:#5c6d72;
	display:block;
	font-size:.86rem;
	line-height:1.75;
	margin-top:10px;
}

/* Lead article: wide, image beside the copy. */
.insight-feature{
	align-items:stretch;
	background:var(--brand-surface);
	border:1px solid rgba(55,79,78,.1);
	border-radius:26px;
	box-shadow:0 20px 50px rgba(55,79,78,.08);
	color:inherit;
	display:grid;
	gap:0;
	grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);
	margin-bottom:clamp(18px,2vw,26px);
	overflow:hidden;
	text-decoration:none;
	transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease;
}
.insight-feature:hover{
	border-color:rgba(162,82,73,.32);
	box-shadow:0 28px 66px rgba(55,79,78,.14);
	transform:translateY(-3px);
}
.insight-feature:hover .insight-more .icon{transform:translateX(4px)}
.insight-feature__media{
	display:block;
	min-height:320px;
	overflow:hidden;
	position:relative;
}
.insight-feature__media img{
	display:block;
	height:100%;
	left:0;
	object-fit:cover;
	position:absolute;
	top:0;
	transition:transform .5s ease;
	width:100%;
}
.insight-feature:hover .insight-feature__media img{transform:scale(1.04)}
.insight-feature__body{
	display:flex;
	flex-direction:column;
	padding:clamp(30px,3.2vw,48px);
	text-align:left;
}
.insight-feature__body h3{
	color:#374F4E;
	font-family:var(--font-heading);
	font-size:clamp(1.4rem,2.1vw,2.05rem);
	line-height:1.2;
	margin:0;
}

/* Remaining articles. */
.insights-archive__grid{
	display:grid;
	gap:clamp(16px,1.8vw,24px);
	grid-template-columns:repeat(auto-fit,minmax(230px,1fr));
}
.insight-card{
	background:var(--brand-surface);
	border:1px solid rgba(55,79,78,.1);
	border-radius:22px;
	box-shadow:0 16px 40px rgba(55,79,78,.07);
	color:inherit;
	display:flex;
	flex-direction:column;
	overflow:hidden;
	text-decoration:none;
	transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease;
}
.insight-card:hover{
	border-color:rgba(162,82,73,.32);
	box-shadow:0 24px 56px rgba(55,79,78,.13);
	transform:translateY(-3px);
}
.insight-card:hover .insight-more .icon{transform:translateX(4px)}
.insight-card__media{
	aspect-ratio:16/10;
	display:block;
	overflow:hidden;
}
.insight-card__media img{
	display:block;
	height:100%;
	object-fit:cover;
	transition:transform .5s ease;
	width:100%;
}
.insight-card:hover .insight-card__media img{transform:scale(1.05)}
.insight-card__body{
	display:flex;
	flex:1;
	flex-direction:column;
	padding:clamp(22px,2vw,28px);
	text-align:left;
}
.insight-card__body h3{
	color:#374F4E;
	font-family:var(--font-heading);
	font-size:clamp(.98rem,1.1vw,1.1rem);
	line-height:1.28;
	margin:0;
}
.insight-feature:focus-visible,
.insight-card:focus-visible{outline:2px solid #a25249;outline-offset:3px}
@media(max-width:900px){
	.insight-feature{grid-template-columns:1fr}
	.insight-feature__media{min-height:0;aspect-ratio:16/9;position:relative}
}

/* ---------- Single post ---------- */
.post-page .post-hero{
	background:var(--brand-navy);
	display:flex;
	align-items:flex-end;
	min-height:clamp(360px,42vw,540px);
	overflow:hidden;
	padding:calc(var(--header-height) + clamp(56px,6vw,88px)) 0 clamp(44px,5vw,72px);
	position:relative;
}
.post-page .post-hero__media{inset:0;position:absolute}
.post-page .post-hero__media img{
	height:100%;
	object-fit:cover;
	width:100%;
}
.post-page .post-hero--has-media::after{
	background:linear-gradient(180deg,rgba(20,36,35,.5) 0%,rgba(20,36,35,.72) 55%,rgba(20,36,35,.92) 100%);
	content:"";
	inset:0;
	position:absolute;
}
.post-page .post-hero__inner{position:relative;z-index:2}
.post-page .post-hero__meta{
	align-items:center;
	display:flex;
	flex-wrap:wrap;
	gap:14px;
	margin:0 0 18px;
}
.post-page .post-hero__tag{
	background:rgba(237,189,149,.18);
	border:1px solid rgba(237,189,149,.5);
	border-radius:99px;
	color:#EDBD95;
	font-size:.58rem;
	font-weight:800;
	letter-spacing:.14em;
	padding:7px 14px;
	text-transform:uppercase;
}
.post-page .post-hero__meta time{
	color:rgba(255,255,255,.7);
	font-size:.72rem;
	font-weight:650;
}
.post-page .post-hero h1{
	color:#fff;
	font-size:clamp(2.1rem,4vw,3.7rem);
	line-height:1.08;
	margin:0;
	max-width:20ch;
}
.post-page .post-hero__lede{
	color:rgba(255,255,255,.82);
	font-size:clamp(1rem,1.2vw,1.14rem);
	line-height:1.75;
	margin:20px 0 0;
	max-width:62ch;
}
.post-page .prose-content{padding-block:clamp(52px,6vw,86px)}
.post-page .post-back{padding-bottom:clamp(52px,6vw,86px)}
.post-page .post-back__link{
	align-items:center;
	color:#a25249;
	display:inline-flex;
	font-size:.8rem;
	font-weight:750;
	gap:9px;
}
/* The shared arrow icon points right; flip it for the back link. */
.post-page .post-back__link .icon{height:17px;transform:rotate(180deg);width:17px}
/* With no body copy the hero would sit straight on the CTA band. */
.post-page .post-article > .post-hero + .post-back{padding-top:clamp(44px,5vw,72px)}

/* ============================================================
   Final CTA banner: bordo accent on the #374F4E green.
   True bordo (#a25249) on that green is ~1.4:1 contrast, so it
   is used where it becomes a surface (the button) and a lighter
   tint of the same hue carries the text.
   ============================================================ */
.cta-banner{
	background:#374F4E!important;
}
.cta-banner .eyebrow{
	color:#D98873;
	justify-content:center;
	margin-bottom:16px;
}
.cta-banner .eyebrow>span{
	background:#D98873;
	box-shadow:0 0 0 5px rgba(217,136,115,.16);
}
.cta-banner h2 em{
	color:#D98873!important;
	font-style:normal;
}
.cta-banner p{
	color:rgba(255,255,255,.78);
}
/* Decorative rings were soft pink. */
.cta-banner::after{
	border-color:rgba(217,136,115,.3)!important;
}
.cta-banner .button,
.cta-banner .button-light{
	background:#a25249!important;
	border-color:#a25249!important;
	color:#fff!important;
}
.cta-banner .button .icon{color:#fff!important}
.cta-banner .button:hover,
.cta-banner .button-light:hover{
	background:#8c463e!important;
	border-color:#8c463e!important;
	color:#fff!important;
}

/* ============================================================
   About: intro in two columns, beliefs as glass cards over a
   photo (matching Security & Compliance), connected pillars.
   ============================================================ */

/* ---- Intro: photo + copy ---- */
.about-page-safe .about-safe-intro__grid{
	align-items:center;
	display:grid;
	gap:clamp(38px,6vw,86px);
	grid-template-columns:minmax(0,1fr) minmax(0,1.02fr);
}
.about-page-safe .about-safe-intro__media{
	border-radius:30px;
	box-shadow:0 30px 76px rgba(55,79,78,.14);
	margin:0;
	overflow:hidden;
	position:relative;
}
.about-page-safe .about-safe-intro__media::after{
	background:linear-gradient(160deg,rgba(55,79,78,.08),rgba(55,79,78,.34));
	content:"";
	inset:0;
	position:absolute;
}
.about-page-safe .about-safe-intro__media img{
	display:block;
	height:100%;
	min-height:380px;
	object-fit:cover;
	width:100%;
}
.about-page-safe .about-safe-intro__copy h2{
	color:#374F4E;
	font-size:clamp(1.9rem,3.3vw,3.2rem);
	line-height:1.08;
	margin:0 0 24px;
	text-align:left;
	text-wrap:balance;
}
.about-page-safe .about-safe-intro__copy h2 em{color:#a25249;font-style:normal}
.about-page-safe .about-safe-intro__copy p{
	color:#5c6d72;
	font-size:clamp(1rem,1.2vw,1.14rem);
	line-height:1.8;
	margin:0;
	max-width:62ch;
	text-align:left;
}
@media(max-width:980px){
	.about-page-safe .about-safe-intro__grid{grid-template-columns:1fr}
	.about-page-safe .about-safe-intro__media{order:2}
	.about-page-safe .about-safe-intro__media img{min-height:280px}
}

/* ---- What we believe: photo band + glass cards ---- */
.about-page-safe .about-beliefs{
	background-color:#374F4E;
	background-image:linear-gradient(180deg,rgba(55,79,78,.9),rgba(55,79,78,.94)),url('../img/about/operations.webp');
	background-position:center;
	background-repeat:no-repeat;
	background-size:cover;
}
.about-page-safe .about-beliefs::before,
.about-page-safe .about-beliefs::after{display:none}
.about-page-safe .about-belief-card{
	align-items:center;
	background:linear-gradient(180deg,rgba(255,255,255,.16),rgba(255,255,255,.08));
	border:1px solid rgba(255,255,255,.28);
	border-radius:22px;
	box-shadow:0 18px 45px rgba(11,30,38,.22);
	display:flex;
	flex-direction:column;
	justify-content:center;
	min-height:clamp(200px,16vw,236px);
	padding:clamp(30px,2.8vw,40px) clamp(22px,2vw,28px);
	text-align:center;
	transition:background .25s,border-color .25s,transform .25s;
	backdrop-filter:blur(14px) saturate(120%);
	-webkit-backdrop-filter:blur(14px) saturate(120%);
}
.about-page-safe .about-belief-card:hover{
	background:linear-gradient(180deg,rgba(255,255,255,.24),rgba(255,255,255,.13));
	border-color:rgba(255,255,255,.45);
	transform:translateY(-3px);
}
.about-page-safe .about-belief-card::before{
	background:linear-gradient(90deg,transparent,var(--brand-accent),transparent);
	content:"";
	height:2px;
	left:50%;
	opacity:.55;
	position:absolute;
	top:0;
	transform:translateX(-50%);
	transition:width .35s ease,opacity .35s ease;
	width:56px;
}
.about-page-safe .about-belief-card:hover::before{opacity:1;width:100%}
/* Was an oversized ghost numeral pinned to the corner. */
.about-page-safe .about-belief-card__num{
	color:rgba(255,255,255,.72);
	font-size:.55rem;
	font-weight:800;
	letter-spacing:.14em;
	line-height:1;
	margin:0 0 14px;
	position:static;
}
.about-page-safe .about-belief-card h3{
	color:#fff;
	font-size:clamp(.95rem,1.08vw,1.08rem);
	line-height:1.42;
	margin:0;
	max-width:24ch;
}

/* ============================================================
   About: leadership roster. Editorial layout -- no card chrome,
   wide black-and-white portraits, names flush left underneath.
   ============================================================ */
.about-page-safe .about-team__grid{
	display:grid;
	gap:clamp(38px,4.4vw,58px) clamp(20px,2.2vw,32px);
	grid-template-columns:repeat(3,minmax(0,1fr));
	margin-top:clamp(42px,4.6vw,64px);
}
.about-page-safe .about-team-member{
	background:none;
	border:0;
	border-radius:0;
	box-shadow:none;
	padding:0;
	text-align:left;
	transition:none;
}
.about-page-safe .about-team-member:hover{
	box-shadow:none;
	transform:none;
}
.about-page-safe .about-team-member__media{
	aspect-ratio:5/3;
	overflow:hidden;
	position:relative;
}
.about-page-safe .about-team-member__photo{
	display:block;
	filter:grayscale(1);
	height:100%;
	object-fit:cover;
	object-position:center 22%;
	transition:transform .5s ease;
	width:100%;
}
.about-page-safe .about-team-member:hover .about-team-member__photo{transform:scale(1.03)}
/* Placeholder for leaders whose portrait has not been supplied: kept neutral
   so it sits inside the black-and-white treatment. */
.about-page-safe .about-team-member__initials{
	align-items:center;
	background:linear-gradient(155deg,#3d4746,#2a3130);
	color:rgba(255,255,255,.5);
	display:flex;
	font-family:var(--font-heading);
	font-size:clamp(1.9rem,3vw,2.7rem);
	font-weight:800;
	height:100%;
	justify-content:center;
	letter-spacing:.03em;
	width:100%;
}
.about-page-safe .about-team-member__name{
	color:#374F4E;
	font-family:var(--font-heading);
	font-size:clamp(1rem,1.15vw,1.14rem);
	font-weight:750;
	line-height:1.3;
	margin:20px 0 0;
}
.about-page-safe .about-team-member__role{
	color:#5c6d72;
	font-size:clamp(.88rem,1.02vw,1rem);
	font-weight:400;
	letter-spacing:0;
	line-height:1.45;
	margin:4px 0 0;
	text-transform:none;
}
@media(max-width:900px){
	.about-page-safe .about-team__grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:560px){
	.about-page-safe .about-team__grid{grid-template-columns:1fr;gap:34px}
	.about-page-safe .about-team-member__media{max-width:420px}
}
/* The roster reads left-to-right, so the heading above it aligns left too.
   The shared .mc-head h2 runs to 3.3rem, which dwarfed the short intro
   paragraph underneath; both sizes are brought closer together here. */
.about-page-safe .about-leadership-safe .mc-head{
	margin-inline:0;
	max-width:none;
	text-align:left;
}
.about-page-safe .about-leadership-safe .mc-head h2{
	font-size:clamp(1.8rem,2.8vw,2.75rem);
	line-height:1.1;
	margin:0;
	max-width:22ch;
}
.about-page-safe .about-leadership-safe .mc-head p{
	font-size:clamp(.98rem,1.15vw,1.1rem);
	line-height:1.75;
	margin:clamp(18px,2vw,24px) 0 0;
	max-width:74ch;
}

/* ============================================================
   About: the managed RCM model as a stacked 3D diagram.
   Four planes in isometric perspective, deepest at the bottom.
   Hovering the diagram (or any legend row) opens the stack; the
   legend and the layers stay in sync through :has().
   Institutional read: shallow tilt, slow easing, brand ramp from
   deep green up to terracotta, restrained shadows.
   ============================================================ */
.model-stack__layout{
	align-items:center;
	display:grid;
	gap:clamp(34px,5vw,80px);
	grid-template-columns:minmax(0,1fr) minmax(0,1fr);
	margin-top:clamp(38px,4.4vw,60px);
}

.model-stack{
	--spread:1;
	display:grid;
	min-height:clamp(340px,32vw,440px);
	perspective:1500px;
	perspective-origin:50% 44%;
	place-items:center;
}
.model-stack__inner{
	animation:olleyaModelFloat 9s ease-in-out infinite;
	aspect-ratio:1;
	position:relative;
	transform:rotateX(55deg) rotateZ(-40deg);
	transform-style:preserve-3d;
	width:min(380px,80%);
}
@keyframes olleyaModelFloat{
	0%,100%{transform:rotateX(55deg) rotateZ(-40deg) translateZ(0)}
	50%{transform:rotateX(55deg) rotateZ(-40deg) translateZ(8px)}
}

/* Each plane sits at a fixed height; --spread multiplies it on hover. */
.model-layer{
	inset:0;
	position:absolute;
	transform:translateZ(calc(var(--z) * var(--spread)));
	transform-style:preserve-3d;
	transition:transform 640ms cubic-bezier(.22,1,.36,1);
}
.model-layer--1{--z:0px}
.model-layer--2{--z:30px}
.model-layer--3{--z:60px}
.model-layer--4{--z:90px}

.model-layer__face{
	background:var(--face);
	border:1px solid rgba(255,255,255,.14);
	border-radius:22px;
	box-shadow:0 20px 38px rgba(55,79,78,.18),inset 0 1px 0 rgba(255,255,255,.12);
	inset:0;
	position:absolute;
	transition:box-shadow 420ms ease,filter 420ms ease;
}
/* Faint grid so the planes do not read as flat blocks. */
.model-layer__face::before{
	background-image:
		linear-gradient(to right,rgba(255,255,255,.5) 1px,transparent 1px),
		linear-gradient(to bottom,rgba(255,255,255,.5) 1px,transparent 1px);
	background-size:32px 32px;
	border-radius:inherit;
	content:"";
	inset:0;
	opacity:.1;
	pointer-events:none;
	position:absolute;
}
/* Brand ramp, bottom to top. */
.model-layer--1{--face:#2b3f3e}
.model-layer--2{--face:#374F4E}
.model-layer--3{--face:#8c463e}
.model-layer--4{--face:#a25249}

.model-layer__num{
	color:rgba(255,255,255,.46);
	font-size:.72rem;
	font-weight:800;
	left:24px;
	letter-spacing:.1em;
	position:absolute;
	top:20px;
}
.model-layer__tag{
	background:#f6f2ee;
	border-radius:999px;
	bottom:22px;
	color:#374F4E;
	font-size:.7rem;
	font-weight:750;
	opacity:0;
	padding:7px 17px;
	position:absolute;
	right:22px;
	transform:translateZ(1px);
	transition:opacity 380ms ease;
	white-space:nowrap;
}
/* The logo rides above the top plane. */
.model-layer__logo{
	filter:drop-shadow(0 14px 20px rgba(55,79,78,.34));
	left:50%;
	position:absolute;
	top:50%;
	transform:translate(-50%,-50%) translateZ(24px);
	transition:transform 640ms cubic-bezier(.22,1,.36,1);
	width:46%;
}
.model-layer__logo img{
	display:block;
	filter:brightness(0) invert(1);
	height:auto;
	width:100%;
}

/* Opening the stack. */
.model-stack:hover,
.model-stack:focus-within{--spread:2.5}
.model-stack:hover .model-layer__tag,
.model-stack:focus-within .model-layer__tag{opacity:1;transition-delay:180ms}
.model-stack:hover .model-layer__logo,
.model-stack:focus-within .model-layer__logo{transform:translate(-50%,-50%) translateZ(58px)}
.model-stack:hover .model-stack__inner,
.model-stack:focus-within .model-stack__inner{animation-play-state:paused}

/* Legend. */
.model-legend{
	display:grid;
	gap:4px;
	list-style:none;
	margin:0;
	padding:0;
}
.model-legend__item{
	border:1px solid transparent;
	border-radius:16px;
	display:grid;
	gap:16px;
	grid-template-columns:42px minmax(0,1fr);
	padding:18px 16px;
	transition:background 320ms ease,border-color 320ms ease;
}
.model-legend__item:hover{
	background:#fff;
	border-color:rgba(55,79,78,.1);
}
.model-legend__num{
	align-items:center;
	background:var(--dot);
	border-radius:12px;
	color:#f6f2ee;
	display:grid;
	font-family:var(--font-heading);
	font-size:.72rem;
	font-weight:800;
	height:42px;
	place-items:center;
	width:42px;
}
.model-legend__item--1{--dot:#2b3f3e}
.model-legend__item--2{--dot:#374F4E}
.model-legend__item--3{--dot:#8c463e}
.model-legend__item--4{--dot:#a25249}
.model-legend__item h3{
	color:#374F4E;
	font-family:var(--font-heading);
	font-size:clamp(1rem,1.15vw,1.14rem);
	line-height:1.25;
	margin:0 0 6px;
}
.model-legend__item p{
	color:#5c6d72;
	font-size:.88rem;
	line-height:1.68;
	margin:0;
}

/* Hovering a legend row opens the stack and lifts its matching plane. */
.model-stack__layout:has(.model-legend__item:hover) .model-stack{--spread:2.5}
.model-stack__layout:has(.model-legend__item:hover) .model-layer__tag{opacity:1;transition-delay:180ms}
.model-stack__layout:has(.model-legend__item:hover) .model-stack__inner{animation-play-state:paused}
.model-stack__layout:has(.model-legend__item--1:hover) .model-layer--1 .model-layer__face,
.model-stack__layout:has(.model-legend__item--2:hover) .model-layer--2 .model-layer__face,
.model-stack__layout:has(.model-legend__item--3:hover) .model-layer--3 .model-layer__face,
.model-stack__layout:has(.model-legend__item--4:hover) .model-layer--4 .model-layer__face{
	box-shadow:0 0 0 3px #f6f2ee,0 28px 52px rgba(55,79,78,.26),inset 0 1px 0 rgba(255,255,255,.18);
	filter:brightness(1.12);
}

.about-page-safe .about-model-summary .button-row{
	justify-content:center;
	margin-top:clamp(34px,4vw,54px);
}

@media(max-width:980px){
	.model-stack__layout{gap:26px;grid-template-columns:1fr}
	.model-stack{min-height:320px}
	.model-stack__inner{width:min(300px,80%)}
	/* No hover on touch: leave the stack open and the tags readable. */
	.model-stack{--spread:2.2}
	.model-layer__tag{opacity:1}
}
@media(prefers-reduced-motion:reduce){
	.model-stack__inner{animation:none}
	.model-layer,
	.model-layer__logo{transition:none}
}

/* Fifth plane: a clean cap above the four pillars, carrying the mark.
   Its face is white so the logo reads in its own colour, no invert. */
.model-layer--cap{--z:120px}
.model-layer--cap .model-layer__face{
	background:#fff;
	border:1px solid rgba(55,79,78,.1);
	box-shadow:0 24px 44px rgba(55,79,78,.2),inset 0 1px 0 rgba(255,255,255,.6);
}
.model-layer--cap .model-layer__face::before{opacity:.5;background-image:
	linear-gradient(to right,rgba(55,79,78,.12) 1px,transparent 1px),
	linear-gradient(to bottom,rgba(55,79,78,.12) 1px,transparent 1px)}
.model-layer--cap .model-layer__logo{
	filter:drop-shadow(0 10px 16px rgba(55,79,78,.22));
	transform:translate(-50%,-50%) translateZ(10px);
	width:52%;
}
.model-layer--cap .model-layer__logo img{filter:none}
.model-stack:hover .model-layer--cap .model-layer__logo,
.model-stack:focus-within .model-layer--cap .model-layer__logo{
	transform:translate(-50%,-50%) translateZ(34px);
}

/* ============================================================
   The managed RCM model section on the warm surface tone.
   The h2 em and the primary button both default to --brand-accent
   (#EDBD95), which is far too light against this background at
   1.5:1, so both switch to bordo here.
   ============================================================ */
.about-page-safe .about-model-summary{
	background:#F3EFE9!important;
}
.about-page-safe .about-model-summary .mc-head h2{color:#374F4E}
.about-page-safe .about-model-summary .mc-head h2 em{color:#a25249;font-style:normal}
.model-legend__item p{color:#374F4E}
.model-legend__item:hover{
	background:#fff;
	border-color:rgba(55,79,78,.14);
}
.about-page-safe .about-model-summary .button-primary{
	background:#a25249;
	border-color:#a25249;
	color:#fff;
}
.about-page-safe .about-model-summary .button-primary:hover{
	background:#8c463e;
	border-color:#8c463e;
}
.about-page-safe .about-model-summary .button-primary .icon{color:#fff}
/* Tag pills sit on the coloured planes: keep them light and legible. */
.model-layer__tag{background:#FFF7EC}

/* Cap in brand green with the mark reversed out in white. */
.model-layer__logo{
	display:block;
	line-height:0;
}
.model-layer--cap .model-layer__face{
	background:#374F4E;
	border:1px solid rgba(255,255,255,.16);
	box-shadow:0 26px 48px rgba(55,79,78,.28),inset 0 1px 0 rgba(255,255,255,.14);
}
.model-layer--cap .model-layer__face::before{
	background-image:
		linear-gradient(to right,rgba(255,255,255,.5) 1px,transparent 1px),
		linear-gradient(to bottom,rgba(255,255,255,.5) 1px,transparent 1px);
	opacity:.1;
}
.model-layer--cap .model-layer__logo{
	filter:drop-shadow(0 12px 18px rgba(20,36,35,.4));
	width:50%;
}
.model-layer--cap .model-layer__logo img{filter:brightness(0) invert(1)}

/* ---- How We Work: the same stacked diagram for ongoing operations ---- */
.managed-ops__layout{margin-top:clamp(38px,4.4vw,60px)}
/* This section is white, so the legend needs a tinted hover to register. */
.managed-ops .model-legend__item:hover{
	background:#F3EFE9;
	border-color:rgba(55,79,78,.12);
}
.managed-ops .model-legend__details{
	margin-top:14px;
}
.managed-ops .model-legend__details summary{
	padding:0;
}
.managed-ops .model-legend__details ul{
	margin:12px 0 0;
}
@media(max-width:980px){
	.managed-ops__layout{gap:26px}
}

/* Client governance callout: 104px of air above the card but 196px below
   (this section's padding-bottom plus .services-close's padding-top). Hand the
   whole gap to the next section so both sides match. Both blocks are white. */
.governance-callout{
	padding-bottom:0!important;
}
.governance-callout + .services-close,
.governance-callout + .cta-banner{
	padding-top:clamp(64px,7vw,104px)!important;
}

/* Leadership heading accent: bordo, not the amber .mc-head default.
   (The "What we believe" em stays amber -- it sits on the dark band.) */
.about-page-safe .about-leadership-safe .mc-head h2 em{
	color:#a25249;
	font-style:normal;
}

/* Contact hero: same treatment as the Experience & Insights hero. */
.contact-hero{
	align-items:center;
	display:flex;
	min-height:clamp(380px,36vw,500px);
	padding:calc(var(--header-height) + clamp(46px,5vw,72px)) 0 clamp(46px,5vw,72px);
}
.contact-hero__lede{
	color:rgba(255,255,255,.86);
	font-size:clamp(1.04rem,1.35vw,1.28rem);
	line-height:1.75;
	margin:clamp(20px,2.4vw,30px) auto 0;
	max-width:70ch;
	text-align:center;
	text-wrap:balance;
}

/* ============================================================
   Contact form polish. The eleven fields are grouped: the five
   required ones first, then a rule, then the optional block.
   ============================================================ */
.contact-form{
	gap:16px 18px;
}
.form-divider{
	background:rgba(55,79,78,.12);
	grid-column:1/-1;
	height:1px;
	margin:8px 0 2px;
}
/* Labels like "EHR / Practice-Management System" wrap to two lines, which
   pushed their input below the one beside it. subgrid makes every field share
   the form's label and input tracks, so inputs stay on one baseline without
   reserving blank space under the short labels. */
.form-field{
	display:grid;
	gap:8px;
	grid-row:span 2;
	grid-template-rows:subgrid;
}
@supports not (grid-template-rows:subgrid){
	.form-field{grid-row:auto}
	.form-field label{min-height:2.7em}
	.form-field-full label{min-height:0}
}
/* Plain muted text, not a pill: a chip stranded on its own second line
   after a wrapping label read as a layout bug. */
.form-field label{
	display:block;
	line-height:1.35;
}
.form-field label span{
	background:none;
	border-radius:0;
	color:#8b9896;
	font-size:.74rem;
	font-weight:500;
	letter-spacing:0;
	margin-left:6px;
	padding:0;
	text-transform:none;
	white-space:nowrap;
}
.form-field label span::before{content:"· "}
/* Native selects render inconsistently next to the inputs. */
.form-field select{
	appearance:none;
	-webkit-appearance:none;
	background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23374F4E' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");
	background-position:right 14px center;
	background-repeat:no-repeat;
	background-size:16px;
	padding-right:40px;
}
.form-field input:focus,
.form-field select:focus,
.form-field textarea:focus{
	border-color:#a25249;
	box-shadow:0 0 0 3px rgba(162,82,73,.14);
}
.form-field textarea{
	min-height:130px;
}
.contact-form .button{
	grid-column:1/-1;
	justify-self:start;
	margin-top:6px;
}

/* PHI notice moved below the form and set quiet, per client request.
   It keeps role="note" and is wired to the textarea via aria-describedby so
   screen readers still announce it while the message field has focus. */
.contact-phi-warning{
	background:none!important;
	border-left:0!important;
	border-top:1px solid rgba(55,79,78,.12)!important;
	border-radius:0!important;
	grid-column:1/-1;
	margin-top:6px;
	padding:16px 0 0!important;
}
.contact-phi-warning p{
	color:#8b9896!important;
	font-family:var(--font-body)!important;
	font-size:.66rem!important;
	font-weight:700!important;
	letter-spacing:.04em!important;
	line-height:1.6!important;
}

/* Submit button in bordo. */
.contact-form .button{
	background:#a25249;
	border-color:#a25249;
	color:#fff;
}
.contact-form .button:hover{
	background:#8c463e;
	border-color:#8c463e;
	color:#fff;
}
.contact-form .button .icon{color:#fff}

/* Concentric rings behind the form section. */
.contact-section{
	overflow:hidden;
	position:relative;
}
.contact-section::before,
.contact-section::after{
	border:1px solid rgba(55,79,78,.12);
	border-radius:50%;
	content:"";
	pointer-events:none;
	position:absolute;
}
.contact-section::before{
	height:620px;
	left:-260px;
	top:-200px;
	width:620px;
}
.contact-section::after{
	bottom:-300px;
	height:760px;
	right:-320px;
	width:760px;
}
/* Inner ring on each, for the concentric read. */
.contact-section .contact-grid{
	position:relative;
	z-index:1;
}
.contact-rings{
	inset:0;
	overflow:hidden;
	pointer-events:none;
	position:absolute;
	z-index:0;
}
.contact-rings::before,
.contact-rings::after{
	border:1px solid rgba(162,82,73,.14);
	border-radius:50%;
	content:"";
	position:absolute;
}
.contact-rings::before{
	height:460px;
	left:-180px;
	top:-120px;
	width:460px;
}
.contact-rings::after{
	bottom:-200px;
	height:560px;
	right:-220px;
	width:560px;
}
@media(max-width:720px){
	.contact-section::before,
	.contact-section::after,
	.contact-rings{display:none}
}

/* Contact aside: photo filling the space left below the copy. */
.contact-aside__media{
	border-radius:26px;
	box-shadow:0 26px 60px rgba(55,79,78,.14);
	margin:clamp(30px,3.4vw,44px) 0 0;
	overflow:hidden;
	position:relative;
}
.contact-aside__media::after{
	background:linear-gradient(160deg,rgba(55,79,78,.06),rgba(55,79,78,.36));
	content:"";
	inset:0;
	position:absolute;
}
.contact-aside__media img{
	aspect-ratio:4/3;
	display:block;
	height:auto;
	object-fit:cover;
	width:100%;
}
@media(max-width:980px){
	.contact-aside__media{display:none}
}

/* ============================================================================
   MOBILE NAVIGATION -- single source of truth (<= 980px).

   Rebuilt from scratch. Rules for this panel had accumulated across
   responsive.css lines 19, 20, 249, 268 and 1174-1191 plus main.css 250-272,
   each generation overriding the last, so the panel's geometry, colours and
   typography came from five places at once. Everything below is written at
   `.site-header .primary-nav` (0,2,0) so it outranks every legacy rule
   without !important, and each inherited property is explicitly reset rather
   than left to whichever file happens to win.

   Layout: fixed panel under the header, full width, own scroll, scrim behind.
   ============================================================================ */
@media (max-width: 1280px) {

	/* ---- Toggle button ---- */
	.site-header .nav-toggle{
		align-items:center;
		background:transparent;
		border:0;
		border-radius:10px;
		cursor:pointer;
		display:flex;
		flex-direction:column;
		gap:5px;
		height:44px;
		justify-content:center;
		margin-left:auto;
		padding:0;
		position:relative;
		width:44px;
		z-index:3;
	}
	.site-header .nav-toggle > span:not(.sr-only){
		background:var(--color-primary-deep);
		border-radius:2px;
		display:block;
		height:2px;
		margin:0;
		transition:transform .28s ease, opacity .2s ease;
		width:24px;
	}
	.site-header--over-dark:not(.is-scrolled) .nav-toggle > span:not(.sr-only){
		background:#fff;
	}
	.site-header .nav-toggle[aria-expanded="true"] > span:nth-of-type(1){transform:translateY(7px) rotate(45deg)}
	.site-header .nav-toggle[aria-expanded="true"] > span:nth-of-type(2){opacity:0}
	.site-header .nav-toggle[aria-expanded="true"] > span:nth-of-type(3){transform:translateY(-7px) rotate(-45deg)}
	/* While the panel is open the header is white, so the bars must be dark. */
	.site-header .nav-toggle[aria-expanded="true"] > span:not(.sr-only){
		background:var(--color-primary-deep);
	}

	/* ---- Panel ---- */
	.site-header .primary-nav{
		background:#fff;
		border:0;
		border-radius:0 0 22px 22px;
		bottom:auto;
		box-shadow:0 24px 60px rgba(20,36,35,.22);
		margin:0;
		/* svh, not dvh: with dvh the panel extends under the browser's bottom
		   bar and the last row gets clipped. */
		max-height:calc(100vh - var(--header-height));
		max-height:calc(100svh - var(--header-height));
		opacity:0;
		overflow-x:hidden;
		overflow-y:auto;
		overscroll-behavior:contain;
		padding:8px 16px 20px;
		pointer-events:none;
		/* The panel's offset parent is .header-inner (position:relative), which
		   is only calc(100% - 44px) wide and centred -- so left:0 / width:100%
		   produced an inset floating card instead of a full-bleed sheet. Break
		   out of it with left:50% + 100vw. top:100% still tracks the header,
		   which is 128px tall normally and 104px once scrolled. */
		position:absolute;
		left:50%;
		right:auto;
		top:100%;
		transform:translate(-50%,-10px);
		transition:opacity .26s ease, transform .26s cubic-bezier(.22,1,.36,1);
		width:100vw;
		-webkit-overflow-scrolling:touch;
	}
	.site-header .primary-nav.is-open{
		opacity:1;
		pointer-events:auto;
		transform:translate(-50%,0);
	}

	/* ---- List: one column ---- */
	.site-header .primary-nav .menu{
		display:block;
		gap:0;
		grid-template-columns:none;
		margin:0;
		max-height:none;
		overflow:visible;
		padding:0;
	}
	.site-header .primary-nav .menu > li{
		display:block;
		margin:0;
		position:relative;
	}
	.site-header .primary-nav .menu > li + li{
		border-top:1px solid rgba(55,79,78,.09);
	}
	.site-header .primary-nav .menu > li > a{
		align-items:center;
		border:0;
		color:var(--color-primary);
		display:flex;
		font-size:.88rem;
		font-weight:650;
		letter-spacing:0;
		line-height:1.25;
		min-height:46px;
		padding:9px 34px 9px 4px;
		position:relative;
		text-align:left;
	}
	/* The desktop underline animation has no place here. */
	.site-header .primary-nav a::after{display:none}
	.site-header .primary-nav .current-menu-item > a,
	.site-header .primary-nav .current-menu-ancestor > a{
		color:#a25249;
	}

	/* ---- Parent item chevron ---- */
	.site-header .primary-nav .menu-item-has-children > a::before{
		border-bottom:1.6px solid currentColor;
		border-right:1.6px solid currentColor;
		content:"";
		height:7px;
		opacity:.5;
		position:absolute;
		right:14px;
		top:50%;
		transform:translateY(-70%) rotate(45deg);
		width:7px;
	}

	/* ---- Sub-menu: always visible, indented under its parent ---- */
	.site-header .primary-nav .sub-menu{
		background:none;
		border:0;
		border-left:2px solid rgba(162,82,73,.3);
		border-radius:0;
		box-shadow:none;
		display:block;
		left:auto;
		margin:0 0 10px 4px;
		min-width:0;
		opacity:1;
		padding:0 0 0 14px;
		pointer-events:auto;
		position:static;
		top:auto;
		transform:none;
		transition:none;
		width:auto;
	}
	.site-header .primary-nav .sub-menu li{margin:0}
	.site-header .primary-nav .sub-menu a{
		border:0;
		color:#5c6d72;
		display:flex;
		align-items:center;
		font-size:.82rem;
		font-weight:600;
		min-height:38px;
		padding:6px 4px;
		white-space:normal;
	}
	.site-header .primary-nav .sub-menu a:hover,
	.site-header .primary-nav .sub-menu a:focus{
		background:none;
		color:#a25249;
	}

	/* ---- CTA inside the panel ---- */
	.site-header .primary-nav .mobile-nav-actions{
		display:block;
		grid-template-columns:none;
		margin-top:12px;
		padding-bottom:2px;
	}
	/* The CTA rendered as a dark green slab with no readable label: the base
	   .button colours were winning. Forced here, and the row is shorter so the
	   whole panel fits without the button falling past the scroll edge. */
	.site-header .primary-nav .mobile-nav-actions .button{
		align-items:center;
		background:#a25249!important;
		border:1px solid #a25249!important;
		border-radius:99px!important;
		color:#fff!important;
		display:flex!important;
		font-size:.85rem!important;
		font-weight:750!important;
		gap:8px;
		justify-content:center;
		line-height:1.2!important;
		min-height:46px;
		padding:11px 18px!important;
		text-align:center;
		white-space:normal;
		width:100%;
	}
	.site-header .primary-nav .mobile-nav-actions .button .icon{
		color:#fff!important;
		flex:0 0 auto;
		height:16px;
		width:16px;
	}

	/* ---- Scrim: below the fixed header (z-index 900), above the page ---- */
	body.menu-open::after{
		animation:olleyaNavScrim .26s ease both;
		background:rgba(20,36,35,.5);
		content:"";
		inset:0;
		position:fixed;
		z-index:800;
	}
	@keyframes olleyaNavScrim{from{opacity:0}to{opacity:1}}

	/* While open, the header itself must be opaque so the panel reads as
	   attached to it -- otherwise a dark hero shows through the gap. */
	body.menu-open .site-header{
		background:#fff;
		box-shadow:0 4px 20px rgba(55,79,78,.08);
	}
	body.menu-open .site-header .primary-nav .menu > li > a,
	body.menu-open .site-header .site-brand .brand-name{
		color:var(--color-primary);
	}
	body.menu-open .site-header--over-dark:not(.is-scrolled) .custom-logo{
		filter:none;
	}
}

@media (max-width: 1280px) and (prefers-reduced-motion: reduce) {
	/* Must keep translateX(-50%): it is centring, not animation. */
	.site-header .primary-nav{transition:opacity .01ms linear; transform:translate(-50%,0)}
	.site-header .primary-nav.is-open{transform:translate(-50%,0)}
	body.menu-open::after{animation:none}
	.site-header .nav-toggle > span:not(.sr-only){transition:none}
}

/* ============================================================================
   MOBILE NAV -- overrides for the dark-hero colour rules.

   responsive.css 249 (.home .site-header:not(.is-scrolled) .primary-nav a) and
   1161 (.site-header--over-dark:not(.is-scrolled) .primary-nav a) paint the nav
   white for dark heroes. On desktop that is correct; inside the white mobile
   panel it rendered white text on white. Those selectors carry 4 classes, so
   these need !important rather than a longer selector chain.
   ============================================================================ */
@media (max-width: 1280px) {
	.site-header .primary-nav .menu > li > a{
		color:var(--color-primary)!important;
	}
	.site-header .primary-nav .current-menu-item > a,
	.site-header .primary-nav .current-menu-ancestor > a{
		color:#a25249!important;
	}
	.site-header .primary-nav .sub-menu a{
		color:#5c6d72!important;
	}
	/* With the panel open the header must be a solid white shelf: the dark-hero
	   gradient and its ::before scrim both have to go. */
	body.menu-open .site-header,
	body.menu-open .site-header:not(.is-scrolled){
		background:#fff!important;
		box-shadow:0 4px 20px rgba(55,79,78,.08)!important;
	}
	body.menu-open .site-header--over-dark:not(.is-scrolled)::before{
		display:none!important;
	}
	body.menu-open .site-header .nav-toggle > span:not(.sr-only),
	body.menu-open .site-header--over-dark:not(.is-scrolled) .nav-toggle span{
		background:var(--color-primary-deep)!important;
	}
	body.menu-open .site-header .custom-logo{
		filter:none!important;
	}
	body.menu-open .site-header .brand-name{
		color:var(--color-primary)!important;
	}
	/* The topbar sits above the panel and stays its own colour. */
	body.menu-open .site-topbar{
		position:relative;
		z-index:2;
	}
}

/* Home "Who we help" cards were 96% white over the photo, which read as a
   haze against the section edge. */
.home-organization-card{
	background:#fff!important;
}

/* Two columns on phones instead of one: single-column cards were nearly
   full-width slabs with a lot of empty space beside the title. */
@media(max-width:720px){
	.home-organization-cards{
		gap:12px!important;
		grid-template-columns:repeat(2,minmax(0,1fr))!important;
	}
	.home-organization-card{
		border-radius:18px!important;
		min-height:0!important;
		padding:18px 16px!important;
	}
	.home-organization-card__icon{
		border-radius:13px!important;
		height:40px!important;
		margin:14px 0 14px!important;
		width:40px!important;
	}
	.home-organization-card__icon .icon{
		height:19px!important;
		width:19px!important;
	}
	.home-organization-card h3{
		font-size:.82rem!important;
		line-height:1.25!important;
	}
	.home-organization-card__number{
		font-size:.55rem!important;
	}
}

/* ============================================================================
   MOBILE NAV -- final corrections.

   1. hero-centering.css:646 paints the nav white for dark heroes with
      !important at specificity (0,4,2). The earlier override here was (0,3,2),
      so it lost and the labels stayed white on the white panel. Matching those
      exact selectors later in the file settles it deterministically. Literal
      hex rather than var(--color-primary), so no custom-property scope can
      change the resolved value.

   2. The toggle's first <span> is the .sr-only label, so nth-of-type(1..3)
      addressed sr-only + bar1 + bar2 and never touched bar3 -- the X rendered
      as one diagonal plus a stray horizontal bar. The bars are 2, 3 and 4.
   ============================================================================ */
@media (max-width: 1280px) {

	.site-header .primary-nav .menu > li > a,
	.site-header--over-dark:not(.is-scrolled) .primary-nav > a,
	.site-header--over-dark:not(.is-scrolled) .primary-nav .menu > li > a,
	.home .site-header:not(.is-scrolled) .primary-nav .menu > li > a{
		color:#374F4E!important;
	}
	.site-header .primary-nav .current-menu-item > a,
	.site-header .primary-nav .current-menu-ancestor > a,
	.site-header--over-dark:not(.is-scrolled) .primary-nav .menu > li.current-menu-item > a,
	.home .site-header:not(.is-scrolled) .primary-nav .menu > li.current-menu-item > a{
		color:#a25249!important;
	}
	.site-header .primary-nav .sub-menu a,
	.site-header--over-dark:not(.is-scrolled) .primary-nav .sub-menu a,
	.home .site-header:not(.is-scrolled) .primary-nav .sub-menu a{
		color:#5c6d72!important;
	}
	body.menu-open .site-header .brand-name{
		color:#374F4E!important;
	}

	/* Hamburger -> X. Bars are spans 2, 3 and 4; span 1 is the sr-only label. */
	.site-header .nav-toggle > span:not(.sr-only){
		background:#374F4E;
		opacity:1;
		transform:none;
	}
	.site-header--over-dark:not(.is-scrolled) .nav-toggle > span:not(.sr-only){
		background:#fff;
	}
	.site-header .nav-toggle[aria-expanded="true"] > span:nth-of-type(2){
		opacity:1;
		transform:translateY(7px) rotate(45deg);
	}
	.site-header .nav-toggle[aria-expanded="true"] > span:nth-of-type(3){
		opacity:0;
		transform:none;
	}
	.site-header .nav-toggle[aria-expanded="true"] > span:nth-of-type(4){
		opacity:1;
		transform:translateY(-7px) rotate(-45deg);
	}
	/* Open state: the header is white, so the bars must be dark on any hero. */
	.site-header .nav-toggle[aria-expanded="true"] > span:not(.sr-only),
	.site-header--over-dark:not(.is-scrolled) .nav-toggle[aria-expanded="true"] > span:not(.sr-only){
		background:#374F4E!important;
	}
}

/* ============================================================================
   Home, mobile refinements.
   ============================================================================ */
@media (max-width: 720px) {

	/* 1. "Who we help" matched to the "Managed professional RCM" scale.
	   It was inheriting .services-detail__heading h2 -- clamp(1.8rem,3vw,2.9rem)
	   -- whose vw term collapses on phones, so it capped at 1.8rem while the
	   partnership heading runs at 11vw. */
	.home .audience-coverage .services-detail__heading h2{
		font-size:clamp(2.55rem,11vw,4rem)!important;
		line-height:1.02!important;
		max-width:none!important;
	}

	/* 2. Partnership block centred. The container is .home-story__heading --
	   .home-partnership__heading does not exist, so the earlier selector never
	   matched and the title kept its left margin. */
	.home-partnership__content,
	.home-partnership .home-story__heading,
	.home-partnership__intro{
		text-align:center;
	}
	.home-partnership .home-story__heading h2,
	.home-partnership__intro > p{
		margin-inline:auto;
	}
	/* The subhead's left accent bar cannot sit beside centred text: it becomes
	   a centred rule underneath, the pattern used elsewhere on the site. */
	.home-partnership .section-sub{
		border-left:0!important;
		margin-inline:auto!important;
		padding-left:0!important;
		padding-right:0!important;
		text-align:center;
	}
	.home-partnership .section-sub::after{
		background:var(--brand-accent);
		content:"";
		display:block;
		height:3px;
		margin:16px auto 0;
		width:70px;
	}
	.home-partnership__content .button,
	.home-partnership__content .button-row{
		justify-content:center;
		margin-inline:auto;
	}

}

/* ============================================================================
   Tablet header (981px - 1280px).

   The header CTA was hidden only up to 1180px, so between 1181 and 1280 it
   reappeared while the nine-item menu was still at its widest -- logo + menu +
   CTA exceeded the available inner width and the row overflowed. iPad Pro 11"
   landscape (1194px) lands exactly in that gap. The CTA now stays hidden
   through 1280px, where the desktop tier takes over with its own smaller CTA.
   ============================================================================ */
@media (min-width: 981px) and (max-width: 1280px) {
	.site-header .header-actions .header-cta{
		display:none!important;
	}
	/* With no CTA the actions column is empty; keep it from claiming width so
	   the nav stays on the page centre line. */
	.site-header .header-actions{
		min-width:0;
	}
}
/* 2026-07-31: los dos "tiers" de 981-1120 y 1121-1280 apretaban el menú
   horizontal en esa franja. Ahora ahí va el panel del toggle, así que solo
   queda el tamaño del logo, que sí sigue siendo útil. */
@media (min-width: 981px) and (max-width: 1120px) {
	.site-header .custom-logo{max-height:64px!important}
}
@media (min-width: 1121px) and (max-width: 1280px) {
	.site-header .custom-logo{max-height:72px!important}
}

/* ============================================================================
   Home partnership visual.

   The block was built for two overlapping photos: --main pinned right at 78%
   width and --secondary bottom-left, inside a container reserving 650px of
   height. Only --main is left in the markup, so it sat flush right with dead
   space beside it and a tall empty box underneath. With a single photo the
   absolute composition has no purpose -- it flows and centres instead.
   ============================================================================ */
.home-partnership__visual{
	margin-inline:auto;
	min-height:0!important;
}
.home-partnership__photo--main{
	aspect-ratio:.82;
	border-radius:26px!important;
	inset:auto!important;
	margin-inline:auto!important;
	position:relative!important;
	width:min(100%,440px)!important;
}
/* The decorative ring was placed against the old two-photo geometry. */
.home-partnership__visual::before{
	right:-40px!important;
	top:40px!important;
}
@media(max-width:980px){
	.home-partnership__visual{min-height:0!important}
	.home-partnership__visual::before{display:none!important}
	.home-partnership__photo--main{animation:none!important;width:min(100%,420px)!important}
}

/* ============================================================================
   Technology & analytics: the h2 is now its own grid child (moved out of
   .home-intelligence__copy) so mobile can place it above the chart.

   The previous attempt used display:contents on the copy block, which
   dissolved it: the grid's 48-110px gap started applying between every
   paragraph and the block's max-widths were lost. Three real children instead.
   ============================================================================ */
@media (min-width: 981px) {
	.home-intelligence__grid{
		grid-template-rows:auto minmax(0,1fr);
	}
	.home-intelligence__title{
		grid-column:1;
		grid-row:1;
		margin-bottom:0;
	}
	.home-intelligence__copy{
		grid-column:1;
		grid-row:2;
	}
	.home-intelligence__visual{
		align-self:center;
		grid-column:2;
		grid-row:1 / span 2;
	}
	/* The grid gap is the column gutter; rows need far less. */
	.home-intelligence__grid{
		row-gap:22px;
	}
}
@media (max-width: 980px) {
	.home-intelligence__grid{
		display:flex;
		flex-direction:column;
		gap:26px;
	}
	.home-intelligence__title{order:1;margin:0}
	.home-intelligence__visual{order:2}
	.home-intelligence__copy{order:3}
}

/* Operating model pillars: two columns on phones as well.
   responsive.css:464 dropped them to a single column below 720px, which made
   each pillar a tall full-width slab. */
@media(max-width:720px){
	.home-how__cards{
		gap:12px!important;
		grid-template-columns:repeat(2,minmax(0,1fr))!important;
	}
	.home-how__card{
		border-radius:18px!important;
		padding:24px 14px 22px!important;
	}
	.home-how__card > span.home-how__card-icon{
		height:44px!important;
		margin-bottom:14px!important;
		width:44px!important;
	}
	.home-how__card-icon svg{height:21px!important;width:21px!important}
	.home-how__card > span.home-how__card-step{
		font-size:.5rem!important;
		margin-bottom:8px!important;
	}
	.home-how__card > strong{
		font-size:.88rem!important;
		line-height:1.22!important;
		margin-bottom:10px!important;
	}
	.home-how__card p{
		font-size:.74rem!important;
		line-height:1.6!important;
		max-width:none!important;
	}
	.home-how__card::before{width:40px!important}
}

/* Services cards: two columns on phones.
   responsive.css:1121 and 1214 both drop the list to a single column (at 980px
   and 760px), leaving very tall full-width cards. */
@media(max-width:760px){
	.services-detail__list{
		gap:12px!important;
		grid-template-columns:repeat(2,minmax(0,1fr))!important;
	}
	.services-detail__item{
		border-radius:18px!important;
		padding:20px 15px!important;
	}
	.services-detail__label{margin-bottom:12px!important}
	.services-detail__num{font-size:.55rem!important}
	.services-detail__icon{
		border-radius:12px!important;
		height:40px!important;
		width:40px!important;
	}
	.services-detail__icon .icon{height:19px!important;width:19px!important}
	.services-detail__label h3{
		font-size:.88rem!important;
		line-height:1.22!important;
		margin-bottom:6px!important;
	}
	.services-detail__lede{
		font-size:.74rem!important;
		line-height:1.55!important;
	}
	.services-detail__disclosure summary{
		font-size:.58rem!important;
		letter-spacing:.06em!important;
	}
	.services-detail__disclosure li,
	.services-detail__disclosure p{
		font-size:.74rem!important;
		line-height:1.6!important;
	}
}

/* Who We Help reuses .services-detail__list / __item, so the two-column rule
   above already applies. Its icons are the rich 60px step marks, which
   overflowed the reduced chip -- both the box and the mark need shrinking. */
@media(max-width:760px){
	:is(.page-template-page-who-we-help,.home) .audience-detail__icon{
		height:42px!important;
		width:42px!important;
	}
	:is(.page-template-page-who-we-help,.home) .audience-detail__icon .step-icon{
		height:42px!important;
		width:42px!important;
	}
	.audience-detail__more,
	.process-steps__more{
		padding-top:12px!important;
	}
}

/* ============================================================================
   How We Work, mobile: the remaining grids drop to a single column, leaving
   tall full-width slabs. Two columns, with the internals scaled to match.
   ============================================================================ */
@media(max-width:760px){

	/* Operating rhythm cards -- responsive.css:1238 drops these to 1fr at 560px. */
	.process-steps__grid,
	.process-steps__grid--cols2{
		column-gap:12px!important;
		grid-template-columns:repeat(2,minmax(0,1fr))!important;
		row-gap:12px!important;
	}
	.process-steps__card{
		border-radius:18px!important;
		padding:20px 15px!important;
	}
	.process-steps__card h3{
		font-size:.88rem!important;
		line-height:1.22!important;
	}
	.process-steps__lede,
	.process-steps__card p{
		font-size:.74rem!important;
		line-height:1.6!important;
	}
	.process-steps__card .step-icon,
	.process-steps__card .icon{
		height:38px!important;
		width:38px!important;
	}

	/* Operating cadence cards -- hero-centering.css:1007 drops these at 720px. */
	.process-model__content{
		gap:12px!important;
		grid-template-columns:repeat(2,minmax(0,1fr))!important;
	}
	.process-model__card{
		border-radius:18px!important;
		min-height:0!important;
		padding:18px 14px!important;
	}
	.process-model__icon{
		height:40px!important;
		width:40px!important;
	}
	.process-model__icon .step-icon,
	.process-model__icon .icon{
		height:32px!important;
		width:32px!important;
	}
	.process-model__card h3{
		font-size:.85rem!important;
		line-height:1.22!important;
	}
	.process-model__card p,
	.process-model__details p,
	.process-model__details li{
		font-size:.73rem!important;
		line-height:1.58!important;
	}
	.process-model__details summary{
		font-size:.58rem!important;
		letter-spacing:.06em!important;
	}

	/* The stacked diagram legend reads better full width than squeezed. */
	.managed-ops__layout .model-legend__item{
		gap:12px!important;
		grid-template-columns:36px minmax(0,1fr)!important;
		padding:14px 10px!important;
	}
	.managed-ops__layout .model-legend__num{
		height:36px!important;
		width:36px!important;
	}
	.managed-ops__layout .model-legend__item h3{font-size:.92rem!important}
	.managed-ops__layout .model-legend__item p{font-size:.78rem!important}
}

/* "How we manage ongoing operations": .managed-ops is white and the h2 em fell
   back to the generic h2 em{color:var(--brand-accent)} -- amber on white, about
   1.5:1, so half the heading was invisible. Bordo, as on the About page.
   The heading also caps at 1.8rem on phones because .services-detail__heading's
   3vw term collapses; brought closer to the other section titles. */
.managed-ops .services-detail__heading h2{
	color:#374F4E;
}
.managed-ops .services-detail__heading h2 em{
	color:#a25249;
	font-style:normal;
}
@media(max-width:720px){
	.managed-ops .services-detail__heading h2{
		font-size:clamp(2rem,8.5vw,2.9rem)!important;
		line-height:1.06!important;
		max-width:none!important;
	}
}

/* ============================================================================
   Stacked diagram on mobile.

   Under perspective, translateZ projects the planes well above their layout
   box -- the browser reserves no space for it. With --spread:2.2 and the cap
   at --z:120px the top plane rendered ~215px above the container and covered
   the section heading. Smaller Z steps, a smaller spread and real top padding
   keep the projection inside its own space.
   ============================================================================ */
@media (max-width: 980px) {
	.model-stack{
		--spread:1.6;
		min-height:0;
		/* Room for the upward projection of the open stack. */
		padding-top:120px;
	}
	.model-stack__inner{
		width:min(260px,64%);
	}
	/* Shorter ladder so the whole composition stays compact. */
	.model-layer--1{--z:0px}
	.model-layer--2{--z:20px}
	.model-layer--3{--z:40px}
	.model-layer--4{--z:60px}
	.model-layer--cap{--z:80px}

	.model-layer__num{
		font-size:.58rem;
		left:16px;
		top:14px;
	}
	.model-layer__tag{
		bottom:14px;
		font-size:.58rem;
		padding:5px 12px;
		right:14px;
	}
	/* Bigger mark on the cap: at 50% it was tiny once the plane shrank. */
	.model-layer--cap .model-layer__logo{
		width:62%;
	}

	/* Whatever the projection does, the heading stays on top. */
	.managed-ops .services-detail__heading,
	.about-model-summary .mc-head{
		position:relative;
		z-index:3;
	}
	.model-stack{
		position:relative;
		z-index:1;
	}
}
@media (max-width: 560px) {
	.model-stack{padding-top:96px}
	.model-stack__inner{width:min(220px,68%)}
}

/* ============================================================================
   Stacked diagram on touch: no hover, so nothing ever animated -- --spread was
   a static value. It now opens when it scrolls into view (JS adds .is-open)
   and a tap toggles it.

   The logo also carried filter:drop-shadow(). A filter inside a preserve-3d
   context flattens the element, and mobile Safari/Chrome routinely drop or
   mis-sort it against the sibling planes -- which is why the mark disappeared.
   ============================================================================ */
@media (max-width: 980px) {
	.model-stack{
		--spread:1;
	}
	.model-stack.is-open{
		--spread:1.6;
	}
	.model-layer__tag{
		opacity:0;
	}
	.model-stack.is-open .model-layer__tag{
		opacity:1;
		transition-delay:220ms;
	}
	/* No filters inside the 3D context on mobile. */
	.model-layer__logo,
	.model-layer--cap .model-layer__logo{
		filter:none!important;
	}
	.model-layer--cap .model-layer__logo{
		transform:translate(-50%,-50%) translateZ(14px);
		width:62%;
	}
	.model-stack.is-open .model-layer--cap .model-layer__logo{
		transform:translate(-50%,-50%) translateZ(30px);
	}
	/* Closed the stack is compact, so it needs less room above. */
	.model-stack{
		padding-top:64px;
		transition:padding-top .5s ease;
	}
	.model-stack.is-open{
		padding-top:120px;
	}
}
@media (max-width: 560px) {
	.model-stack{padding-top:48px}
	.model-stack.is-open{padding-top:96px}
}

/* Cap logo on mobile: centred with flexbox instead of the
   translate(-50%,-50%) + translateZ combination. Stacking a percentage
   translate onto a Z translate inside a rotated preserve-3d plane is where the
   offset came from; flex centring is measured from the plane itself. */
@media (max-width: 980px) {
	.model-layer--cap{
		align-items:center;
		display:flex;
		justify-content:center;
	}
	.model-layer--cap .model-layer__logo{
		left:auto;
		margin:0;
		position:relative;
		top:auto;
		transform:translateZ(14px);
		width:44%;
	}
	.model-stack.is-open .model-layer--cap .model-layer__logo{
		transform:translateZ(30px);
	}
	.model-layer--cap .model-layer__logo img{
		display:block;
		height:auto;
		width:100%;
	}
}
@media (max-width: 560px) {
	.model-layer--cap .model-layer__logo{width:48%}
}

/* Cap logo, final centring pass on mobile.

   Two things were still displacing it:
   - perspective-origin:50% 44% projects anything with a Z offset away from
     that off-centre point, so the logo drifted relative to its own plane.
   - the logo carried its own translateZ on top of the plane's, compounding it.
   Origin recentred and the logo now sits flat on the cap: pure flex centring,
   no Z of its own, nothing left to skew it. */
@media (max-width: 980px) {
	.model-stack{
		perspective-origin:50% 50%;
	}
	.model-layer--cap .model-layer__logo,
	.model-stack.is-open .model-layer--cap .model-layer__logo{
		align-self:center;
		inset:auto!important;
		justify-self:center;
		margin:0!important;
		position:relative!important;
		transform:none!important;
		width:44%!important;
	}
}
@media (max-width: 560px) {
	.model-layer--cap .model-layer__logo,
	.model-stack.is-open .model-layer--cap .model-layer__logo{width:48%!important}
}

/* ============================================================================
   ESCALA DE TITULARES DEL HOME — criterio único.

   Los títulos se venían definiendo uno por uno, así que uno de 60 caracteres
   usaba el mismo cuerpo que uno de 11 y terminaba ocupando cuatro renglones
   enormes. El peso óptico de un titular es, en la práctica, cuerpo por cantidad
   de líneas: para que se lean parejos, los cortos van más grandes y los largos
   más chicos, y el ancho se acota en "ch" para que todos quiebren en dos o
   tres líneas.

   Tres escalones, todos por debajo del h1 del hero, que corre
   clamp(2.7rem,4.6vw,4.6rem) en escritorio y clamp(2.4rem,9.5vw,3.2rem) en
   teléfono.

     CORTO  (hasta ~25 car.)  Who we help · Why OlleyaHealth · Managed prof. RCM
     MEDIO  (~26 a 40)        Connected professional RCM support
     LARGO  (41 o más)        The OlleyaHealth managed RCM operating model
                              BI reporting that moves the conversation...
                              Start with the area creating the most...
   ============================================================================ */
.home #home-partnership-title,
.home #home-why-title,
.home #home-audiences-title{
	font-size:clamp(2.5rem,3.9vw,4.1rem)!important;
	line-height:1.04!important;
	max-width:14ch!important;
}
.home #home-cycle-title{
	font-size:clamp(2.2rem,3.4vw,3.5rem)!important;
	line-height:1.05!important;
	max-width:19ch!important;
}
.home #home-how-title,
.home #home-intelligence-title,
.home #home-invite-title{
	font-size:clamp(1.95rem,2.9vw,2.9rem)!important;
	line-height:1.1!important;
	max-width:24ch!important;
}
@media (max-width: 720px) {
	/* margin-inline:auto is required alongside max-width: with a narrow box the
	   text centres inside it, but the box itself would stay flush left. */
	.home #home-partnership-title,
	.home #home-why-title,
	.home #home-audiences-title{
		font-size:clamp(2rem,8vw,2.6rem)!important;
		margin-inline:auto!important;
		max-width:12ch!important;
	}
	.home #home-cycle-title{
		font-size:clamp(1.85rem,7.2vw,2.35rem)!important;
		margin-inline:auto!important;
		max-width:16ch!important;
	}
	.home #home-how-title,
	.home #home-intelligence-title,
	.home #home-invite-title{
		font-size:clamp(1.7rem,6.6vw,2.1rem)!important;
		margin-inline:auto!important;
		max-width:20ch!important;
	}
}

/* ============================================================================
   Technology & Analytics, mobile.
   ============================================================================ */
@media (max-width: 720px) {

	/* Hero title: clamp(3.2rem,6.6vw,6.8rem) bottoms out at 3.2rem on phones,
	   which is larger than every other page title at that width. */
	.technology-analytics-hero .hero-title{
		font-size:clamp(2.3rem,10vw,3.2rem)!important;
		line-height:1.04!important;
		margin-bottom:18px!important;
	}
	.technology-analytics-hero .hero-subhead{
		font-size:.98rem!important;
		line-height:1.6!important;
	}

	/* Hero buttons side by side. responsive.css:20 stacks .button-row and sets
	   .button{width:100%} for every hero on the site; scoped override here. */
	.technology-analytics-hero .button-row{
		align-items:stretch!important;
		display:grid!important;
		flex-direction:row!important;
		gap:10px!important;
		grid-template-columns:repeat(2,minmax(0,1fr))!important;
	}
	.technology-analytics-hero .button-row .button{
		font-size:.72rem!important;
		gap:6px;
		justify-content:center;
		line-height:1.2!important;
		min-height:46px;
		padding:10px 12px!important;
		text-align:center;
		white-space:normal!important;
		width:100%!important;
	}
	.technology-analytics-hero .button-row .button .icon{
		flex:0 0 auto;
		height:14px;
		width:14px;
	}

	/* Maturity cards: the grid stayed at three columns all the way down. */
	.technology-maturity__grid{
		gap:12px!important;
		grid-template-columns:repeat(2,minmax(0,1fr))!important;
	}
	.technology-maturity__card{
		border-radius:18px!important;
		min-height:0!important;
		padding:18px 14px!important;
	}
	.technology-maturity__num{font-size:.55rem!important}
	.technology-maturity__icon{
		height:40px!important;
		margin-bottom:14px!important;
		width:40px!important;
	}
	.technology-maturity__icon .icon,
	.technology-maturity__icon .step-icon{
		height:20px!important;
		width:20px!important;
	}
	.technology-maturity__card h3{
		font-size:.85rem!important;
		line-height:1.22!important;
	}
	.technology-maturity__card p,
	.technology-maturity__card li{
		font-size:.73rem!important;
		line-height:1.58!important;
	}

	/* Intro block: image below the copy, not squeezed beside it. */
	.technology-intro__grid{
		display:flex!important;
		flex-direction:column!important;
		gap:26px!important;
	}
	.technology-intro__media img{
		border-radius:18px;
		height:auto;
		width:100%;
	}
}

/* ============================================================================
   MedhaCode / .mc-section: amber accents on light backgrounds.

   h2 em and the subhead em inherit var(--brand-accent) (#EDBD95), which is a
   dark-section colour. On the white and tinted .mc-section variants it drops to
   roughly 1.5:1 -- the accented half of every heading was barely readable.
   Bordo everywhere except the navy variant, which keeps amber.
   ============================================================================ */
.mc-section:not(.mc-section--navy) h2 em,
.mc-section:not(.mc-section--navy) .mc-head__sub em,
.mc-section:not(.mc-section--navy) .mc-head p em{
	color:#a25249;
	font-style:normal;
}
.mc-section--navy h2 em,
.mc-section--navy .mc-head__sub em{
	color:#EDBD95;
}
/* Accent rules and bars in the same blocks. */
.mc-section:not(.mc-section--navy) .mc-head__sub{
	border-left-color:#a25249;
}

/* Identify cards: two columns on phones.
   responsive.css:1849 drops .mc-cards to a single column below 600px. */
@media(max-width:600px){
	.mc-cards,
	.mc-cards--4{
		gap:12px!important;
		grid-template-columns:repeat(2,minmax(0,1fr))!important;
	}
	.mc-card{
		border-radius:18px!important;
		padding:18px 14px!important;
	}
	.mc-card__icon{
		height:40px!important;
		margin-bottom:12px!important;
		width:40px!important;
	}
	.mc-card__icon .icon,
	.mc-card__icon .step-icon{
		height:20px!important;
		width:20px!important;
	}
	.mc-card h3{
		font-size:.85rem!important;
		line-height:1.22!important;
	}
	.mc-card p,
	.mc-card li{
		font-size:.73rem!important;
		line-height:1.58!important;
	}
}

/* ============================================================================
   Power BI & Reporting, mobile.
   ============================================================================ */
@media (max-width: 720px) {

	/* Hero title bottoms out at 3rem on phones -- same oversized floor as the
	   Technology hero had. */
	.power-bi-hero .hero-title{
		font-size:clamp(2.3rem,10vw,3.2rem)!important;
		line-height:1.04!important;
		margin-bottom:16px!important;
	}
	.power-bi-hero .hero-subhead{
		font-size:.98rem!important;
		line-height:1.6!important;
		margin-bottom:22px!important;
	}
	.power-bi-hero .button-row .button{
		font-size:.78rem!important;
		min-height:48px;
		padding:12px 18px!important;
	}

	/* The report mockup: heading, then the chart, then the copy -- same order
	   as the home Technology & analytics block, which shares these classes. */
	.power-bi-detail .home-intelligence__grid{
		display:flex!important;
		flex-direction:column!important;
		gap:24px!important;
	}
}

/* Reporting cards: responsive.css:1487 drops them to one column below 620px. */
@media (max-width: 620px) {
	.reporting-sections__grid{
		gap:12px!important;
		grid-template-columns:repeat(2,minmax(0,1fr))!important;
	}
	.reporting-section-card{
		border-radius:18px!important;
		min-height:0!important;
		padding:18px 14px!important;
	}
	.reporting-section-card__num{font-size:.55rem!important}
	.reporting-section-card__icon{
		border-radius:12px!important;
		height:40px!important;
		margin-bottom:14px!important;
		width:40px!important;
	}
	.reporting-section-card__icon .icon,
	.reporting-section-card__icon .step-icon{
		height:20px!important;
		width:20px!important;
	}
	.reporting-section-card h3{
		font-size:.85rem!important;
		line-height:1.22!important;
	}
	.reporting-section-card p,
	.reporting-section-card li{
		font-size:.73rem!important;
		line-height:1.58!important;
	}
}

/* ============================================================================
   Power BI detail block: this page carries its own order rules at
   responsive.css:1459-1460 (.power-bi-detail .home-intelligence__copy{order:2}
   and __visual{order:1}) with two classes of specificity, which outranked the
   generic ordering and left the sequence as chart -> title -> copy.
   Matched here at the same specificity, later in the cascade.

   Desktop also differs from the home block: here the chart sits on the LEFT,
   so the title and copy are placed in column 2 rather than column 1.
   ============================================================================ */
@media (max-width: 980px) {
	.power-bi-detail .home-intelligence__title{order:1}
	.power-bi-detail .home-intelligence__visual{order:2}
	.power-bi-detail .home-intelligence__copy{order:3}
}
@media (min-width: 981px) {
	.power-bi-detail .home-intelligence__title{
		grid-column:2;
		grid-row:1;
	}
	.power-bi-detail .home-intelligence__copy{
		grid-column:2;
		grid-row:2;
	}
	.power-bi-detail .home-intelligence__visual{
		align-self:center;
		grid-column:1;
		grid-row:1 / span 2;
	}
}

/* ============================================================================
   Security & Compliance, mobile.
   ============================================================================ */
@media (max-width: 720px) {
	/* Hero title floors at 3.2rem on phones, like the other inner heroes did. */
	.security-compliance-hero .hero-title{
		font-size:clamp(2.3rem,10vw,3.2rem)!important;
		line-height:1.04!important;
	}
	.security-intro__media img{border-radius:18px}
	.security-intro__media,
	.security-intro__media img{min-height:220px!important}
}
/* Control cards: responsive.css:1580 drops the grid to one column at 620px. */
@media (max-width: 620px) {
	.security-controls__grid{
		gap:12px!important;
		grid-template-columns:repeat(2,minmax(0,1fr))!important;
	}
	.security-control-card{
		border-radius:18px!important;
		min-height:0!important;
		padding:22px 12px!important;
	}
	.security-control-card__icon{
		height:44px!important;
		margin:0 auto 14px!important;
		width:44px!important;
	}
	.security-control-card__icon .icon{height:21px!important;width:21px!important}
	.security-control-card__num{font-size:.5rem!important;margin-bottom:8px!important}
	.security-control-card h3{
		font-size:.85rem!important;
		line-height:1.25!important;
		max-width:none!important;
	}
	.security-control-card::before{width:40px!important}
}

/* ============================================================================
   About, mobile.
   ============================================================================ */
@media (max-width: 720px) {
	/* Beliefs: five glass cards, one per row below 820px. */
	.about-page-safe .about-beliefs__grid{
		gap:12px!important;
		grid-template-columns:repeat(2,minmax(0,1fr))!important;
	}
	.about-page-safe .about-belief-card{
		border-radius:18px!important;
		min-height:0!important;
		padding:22px 13px!important;
	}
	.about-page-safe .about-belief-card__num{
		font-size:.5rem!important;
		margin-bottom:10px!important;
	}
	.about-page-safe .about-belief-card h3{
		font-size:.82rem!important;
		line-height:1.35!important;
		max-width:none!important;
	}
	.about-page-safe .about-belief-card::before{width:40px!important}

	/* Intro logo panel does not need to be as tall on a phone. */
	.about-page-safe .about-safe-intro__media--logo{
		min-height:220px!important;
		padding:32px!important;
	}
}

/* Leadership roster: slightly larger portraits, and two per row on phones
   instead of one full-width column. */
.about-page-safe .about-team__grid{
	gap:clamp(34px,4vw,52px) clamp(18px,2vw,28px);
}
.about-page-safe .about-team-member__media{
	aspect-ratio:4/3.2;
}
@media (max-width: 560px) {
	.about-page-safe .about-team__grid{
		gap:22px 12px!important;
		grid-template-columns:repeat(2,minmax(0,1fr))!important;
	}
	.about-page-safe .about-team-member__media{
		max-width:none!important;
	}
	.about-page-safe .about-team-member__name{
		font-size:.85rem!important;
		margin-top:14px!important;
	}
	.about-page-safe .about-team-member__role{
		font-size:.74rem!important;
		line-height:1.4!important;
	}
	.about-page-safe .about-team-member__initials{
		font-size:1.6rem!important;
	}
}

/* ============================================================================
   Insights archive, mobile.

   The featured card's photo collapsed to zero height: the media is a grid item
   under align-items:stretch, so the row (sized by content) decided its height,
   and its only child is an absolutely positioned img that contributes none --
   which also overrides the aspect-ratio. Letting the image flow normally on
   mobile gives the container real height.
   ============================================================================ */
@media (max-width: 900px) {
	.insight-feature__media{
		align-self:start;
		aspect-ratio:auto;
		min-height:0;
	}
	.insight-feature__media img{
		aspect-ratio:16/9;
		height:auto;
		left:auto;
		position:relative;
		top:auto;
		width:100%;
	}
}
/* Lead article full width, the rest two per row. auto-fit with a 230px floor
   resolved to a single column on a phone. */
@media (max-width: 720px) {
	.insights-archive__grid{
		gap:12px!important;
		grid-template-columns:repeat(2,minmax(0,1fr))!important;
	}
	.insight-card__body{padding:14px 12px 16px!important}
	.insight-card__body h3{
		font-size:.85rem!important;
		line-height:1.24!important;
	}
	.insights-archive .insight-eyebrow{
		font-size:.5rem!important;
		margin-bottom:8px!important;
	}
	.insights-archive .insight-more{
		font-size:.68rem!important;
		padding-top:12px!important;
	}
	.insights-archive .insight-more .icon{height:13px;width:13px}
	.insight-feature__body{padding:20px 16px 22px!important}
	.insight-feature__body h3{
		font-size:1.15rem!important;
		line-height:1.22!important;
	}
}

/* Contact on mobile: form first, supporting copy after it. Stacked in DOM
   order the visitor had to scroll past the whole aside to reach the fields. */
@media (max-width: 980px) {
	.contact-grid > .contact-form{order:1}
	.contact-grid > .contact-aside{order:2}
	.contact-grid{gap:34px}
	/* Reads as a closing note under the form rather than an intro. */
	.contact-aside{
		border-top:1px solid rgba(55,79,78,.12);
		padding-top:30px;
	}
}

/* Top bar in bordo. The EMAIL / PHONE labels were white at 50% opacity, which
   on this darker background falls to about 2.8:1 at 9px -- raised to 72%. */
.site-topbar{
	background:#9A4F46;
}
.site-topbar__label{
	color:rgba(255,255,255,.72);
}

/* ============================================================================
   Footer.

   The Navigate column pointed at a stale four-item menu (Services, MedhaCode,
   About, Contact) on http:// URLs while the site had grown to ten pages. It now
   uses a full footer menu, so the column needs two columns of links, wider
   space in the grid, and larger tap targets.
   ============================================================================ */
.footer-grid{
	gap:clamp(38px,4.4vw,64px);
	grid-template-columns:1.15fr 1.05fr .8fr;
}
.footer-column h2{
	margin-bottom:18px;
}
.footer-menu.menu,
.footer-menu{
	columns:2;
	column-gap:22px;
	display:block;
}
.footer-menu li{
	break-inside:avoid;
	margin:0;
}
.footer-menu a{
	display:block;
	font-size:.76rem;
	line-height:1.35;
	padding:7px 0;
}
.footer-menu a:hover,
.footer-menu a:focus-visible{
	color:var(--brand-accent);
}
.contact-list li span:first-child{
	width:66px;
}
.footer-legal{
	justify-content:flex-start;
}
.footer-legal a{
	padding:4px 0;
}
@media(max-width:980px){
	.footer-grid{
		gap:34px;
		grid-template-columns:1fr 1fr;
	}
	.footer-brand{grid-column:1 / -1}
}
@media(max-width:600px){
	.footer-grid{grid-template-columns:1fr;gap:30px}
	.footer-menu{columns:2}
	.footer-legal{
		gap:6px 10px;
		row-gap:4px;
	}
	.footer-bottom{
		align-items:flex-start;
		display:flex;
		flex-direction:column;
		gap:10px;
	}
}

/* ============================================================================
   Home hero: three competing blocks -> one hierarchy.

   The first supporting paragraph was font-weight:800 at up to 1.38rem, so it
   read as a second headline rather than a subtitle, and both paragraphs sat at
   92-100% white with near-identical measures. Nothing needed cutting: the copy
   just needed three distinct levels of emphasis.
   ============================================================================ */
.hero-brand .hero-supporting{
	margin-bottom:clamp(26px,3vw,38px);
	max-width:780px;
}
/* Subtitle: still prominent, no longer a second headline. */
.hero-brand .hero-supporting p:first-child{
	font-size:clamp(1rem,1.22vw,1.2rem);
	font-weight:600;
	line-height:1.45;
	max-width:52ch;
}
/* Supporting detail: recedes, and a shorter measure makes it quicker to scan. */
.hero-brand .hero-supporting p:last-child{
	color:rgba(255,255,255,.74);
	font-size:clamp(.88rem,.98vw,.98rem);
	font-weight:400;
	line-height:1.62;
	margin-top:14px;
	max-width:58ch;
	padding-top:14px;
}
/* The divider was doing work the hierarchy now does on its own. */
.hero-brand .hero-supporting p:last-child::before{
	opacity:.4;
	width:min(220px,46%);
}
@media(max-width:720px){
	.hero-brand .hero-supporting p:first-child{font-size:1rem;line-height:1.4}
	.hero-brand .hero-supporting p:last-child{font-size:.86rem;margin-top:12px;padding-top:12px}
}

/* The supporting paragraph moved to the partnership section, so the hero block
   has a single <p> -- which matches BOTH :first-child and :last-child, and the
   :last-child rules (small, faded, divider on top) were winning. Restore the
   subtitle treatment when it is the only paragraph. */
.hero-brand .hero-supporting p:only-child{
	color:#fff;
	font-size:clamp(1rem,1.22vw,1.2rem);
	font-weight:600;
	line-height:1.45;
	margin-top:0;
	max-width:52ch;
	padding-top:0;
}
.hero-brand .hero-supporting p:only-child::before{display:none}

/* Home hero buttons side by side on phones, and the secondary one in solid
   white. responsive.css:20 stacks .button-row and forces .button{width:100%}
   for every hero, so this is scoped to the home hero only. */
@media (max-width: 720px) {
	/* Scoped to the home hero: .hero-brand is also the MedhaCode hero, which has
	   a single button -- in a two-column grid it sat in column one, off-centre. */
	.home .hero-brand .button-row{
		align-items:stretch!important;
		display:grid!important;
		flex-direction:row!important;
		gap:10px!important;
		grid-template-columns:repeat(2,minmax(0,1fr))!important;
	}
	.home .hero-brand .button-row .button{
		font-size:.72rem!important;
		gap:6px;
		justify-content:center;
		line-height:1.2!important;
		min-height:48px;
		padding:10px 12px!important;
		text-align:center;
		white-space:normal!important;
		width:100%!important;
	}
	.home .hero-brand .button-row .button .icon{
		flex:0 0 auto;
		height:14px;
		width:14px;
	}
}
/* Secondary hero button: solid white instead of the translucent outline.
   Scoped like the rest: .hero-brand is shared with the MedhaCode and
   Power BI heroes. */
.home .hero-brand .button-row .button-outline-light{
	background:#fff;
	border-color:#fff;
	color:#374F4E;
	backdrop-filter:none;
}
.home .hero-brand .button-row .button-outline-light .icon{color:#374F4E}
.home .hero-brand .button-row .button-outline-light:hover{
	background:#F3EFE9;
	border-color:#F3EFE9;
	color:#374F4E;
}

/* "Managed professional RCM": smaller. Has to be written with the ID, because
   responsive.css:978 sets clamp(3.2rem,5.4vw,5.8rem) on
   .home-partnership #home-partnership-title -- an ID selector that outranks any
   class-based rule regardless of file order.
   Sized to stay under the hero h1 at every width: the hero runs
   clamp(2.7rem,4.6vw,4.6rem) on desktop and clamp(2.4rem,9.5vw,3.2rem) on
   phones, so this sits roughly 85% of it across the range. */
.home-partnership #home-partnership-title{
	font-size:clamp(2.5rem,3.9vw,4.1rem);
	line-height:1.04;
}
@media(max-width:720px){
	.home-partnership #home-partnership-title{font-size:clamp(2rem,8vw,2.6rem)}
}
/* Forced break used only on phones: "Managed / professional / RCM". */
.br-mobile{display:none}
@media(max-width:720px){
	.br-mobile{display:inline}
}

/* Background videos on phones as well. responsive.css:501 and 966 hide both
   containers below 720px; the prefers-reduced-motion rules stay untouched. */
@media (max-width: 720px) {
	.hero-video,
	.home-how__video{
		display:block;
	}
	/* Portrait crops a 16:9 frame hard, so lift the scrim a little to keep the
	   headline readable over whatever part of the frame lands behind it. */
	.hero-video::after{
		background:linear-gradient(135deg,rgba(var(--brand-navy-rgb),.94),rgba(var(--brand-navy-rgb),.86) 55%,rgba(var(--brand-navy-rgb),.92));
	}
	.home-how__video::after{
		background:linear-gradient(180deg,rgba(var(--brand-navy-rgb),.95),rgba(var(--brand-navy-rgb),.88) 45%,rgba(var(--brand-navy-rgb),.95));
	}
}


/* ============================================================================
   "Who we help" centrado en mobile.

   El bloque se fuerza a la izquierda en varias reglas con !important
   (hero-centering.css:720-745 y el bloque de 980px de la línea 761), pensadas
   para la composición de escritorio, donde el texto convive con la foto a la
   derecha. Apilado en una columna esa alineación queda descolgada.

   La barra de acento de la bajada también se recentra: con el texto centrado,
   un subrayado pegado a la izquierda se lee como un error.
   ============================================================================ */
@media (max-width: 980px) {
	.home .audience-coverage .services-detail__heading,
	.home .audience-coverage .services-detail__heading h2,
	.home .audience-coverage .services-detail__heading > .section-sub,
	.home .audience-coverage__intro{
		text-align:center!important;
	}
	.home .audience-coverage .services-detail__heading,
	.home .audience-coverage .services-detail__heading h2,
	.home .audience-coverage .services-detail__heading > .section-sub,
	.home .audience-coverage__intro{
		margin-inline:auto!important;
	}
	.home .audience-coverage .services-detail__heading > .section-sub::after{
		margin:16px auto 0!important;
	}
	/* El botón acompaña al bloque. */
	.home .home-audiences__header-cta{
		display:flex;
		justify-content:center;
	}
}

/* Top bar en #DBA77A. Es un tono claro: el texto blanco que traía daba 2,1:1
   de contraste, inaceptable para 11px. Con texto oscuro sube a 5,1:1. */
.site-topbar{
	background:#DBA77A;
}
.site-topbar a,
.site-topbar strong{
	color:#2b3f3e;
}
.site-topbar a:hover{
	color:#16221f;
}
.site-topbar svg{
	stroke:#2b3f3e;
}
.site-topbar__label{
	color:rgba(43,63,62,.82);
}

/* Leadership bios (2026-07-30). Approved introductory biography collapsed behind
   a "Read bio" toggle so the roster stays scannable; members without an approved
   bio omit the whole <details>, so no empty placeholder is ever rendered. */
.about-page-safe .about-team-member__bio{
	margin:12px 0 0;
	max-width:44ch;
}
.about-page-safe .about-team-member__bio-toggle{
	align-items:center;
	color:#374F4E;
	cursor:pointer;
	display:inline-flex;
	font-size:clamp(.82rem,.94vw,.9rem);
	font-weight:650;
	gap:7px;
	letter-spacing:.01em;
	list-style:none;
	transition:color .2s ease;
}
/* Safari still paints the disclosure triangle without this. */
.about-page-safe .about-team-member__bio-toggle::-webkit-details-marker{display:none}
.about-page-safe .about-team-member__bio-toggle::after{
	border-bottom:1.5px solid currentColor;
	border-right:1.5px solid currentColor;
	content:"";
	height:6px;
	transform:rotate(45deg);
	transition:transform .25s ease;
	width:6px;
}
.about-page-safe .about-team-member__bio[open] .about-team-member__bio-toggle::after{
	transform:rotate(-135deg);
}
.about-page-safe .about-team-member__bio-toggle:hover{color:#B46258}
.about-page-safe .about-team-member__bio-toggle:focus-visible{
	outline:2px solid #374F4E;
	outline-offset:3px;
}
.about-page-safe .about-team-member__bio p{
	color:#5c6d72;
	font-size:clamp(.86rem,.98vw,.95rem);
	line-height:1.62;
	margin:10px 0 0;
}

/* Insight cards render as <div> while the article has no content (see
   page-experience-insights.php). Nothing is clickable there, so the hover lift
   and image zoom would promise a link that does not exist. */
div.insight-feature:hover,
div.insight-card:hover{
	box-shadow:none;
	transform:none;
}
div.insight-feature:hover .insight-feature__media img,
div.insight-card:hover .insight-card__media img{transform:none}

/* Hero intro condensed to a single two-line paragraph (2026-07-30). The 52ch
   measure above was sized for the old two-paragraph block and wrapped this one
   onto four lines; a wider measure lands it on two. */
.hero-brand .hero-supporting p:only-child{max-width:82ch}

/* Portraits are black and white at rest and come to colour on hover. The base
   rule only transitions transform, so filter is added here to keep the fade
   smooth rather than snapping. */
.about-page-safe .about-team-member__photo{
	transition:transform .5s ease,filter .45s ease;
}
.about-page-safe .about-team-member:hover .about-team-member__photo,
.about-page-safe .about-team-member:focus-within .about-team-member__photo{
	filter:grayscale(0);
}

/* ============================================================================
   FOOTER ON MOBILE (2026-07-30)
   The footer was tuned for the desktop grid: label sizes bottom out around 8px,
   the contact list hangs its values off a fixed 66px indent that long emails
   wrap under, and the 85px top padding is a lot of dead space on a phone.
   ============================================================================ */
@media(max-width:600px){
	.site-footer{padding-top:56px}
	.footer-grid{
		gap:34px;
		padding-bottom:38px;
	}
	.footer-brand>p{
		font-size:.84rem;
		margin-top:18px;
		max-width:none;
	}
	/* Rótulos de columna: .55rem es ilegible en pantalla chica. */
	.footer-column h2{
		font-size:.66rem;
		letter-spacing:.1em;
		margin-bottom:14px;
	}
	.footer-menu a{
		font-size:.86rem;
		padding:9px 0;
	}
	/* Label above value: the inline 66px indent left long emails wrapping into a
	   ragged hanging column. */
	.contact-list li{
		font-size:.86rem;
		margin:0 0 14px;
	}
	.contact-list li span:first-child{
		display:block;
		font-size:.6rem;
		letter-spacing:.1em;
		margin-bottom:2px;
		width:auto;
	}
	.footer-legal{
		font-size:.75rem;
		gap:2px 18px;
	}
	.footer-legal a{padding:6px 0}
	/* The pipes are decorative and strand themselves at the start of a wrapped
	   line; the gap already separates the links. */
	.footer-legal>span[aria-hidden]{display:none}
	.footer-bottom{padding:18px 0}
	.footer-bottom p{font-size:.66rem}
}

/* ============================================================
   About: leadership roster sizing (2026-07-31). The 1280px shell
   left each of the three columns around 400px, which squeezed the
   longer titles ("Director of Human Resources and Special
   Projects") against the column edge. The roster gets a wider
   shell and taller portraits so names, roles and the "Read bio"
   toggle all sit comfortably inside the box.
   ============================================================ */
.about-page-safe .about-leadership-safe>.shell{
	width:min(1620px,calc(100vw - 56px));
}
.about-page-safe .about-team__grid{
	gap:clamp(44px,4.8vw,66px) clamp(28px,3vw,44px);
}
/* Caja 4/5 (2026-07-31). El original de Jamie es 1080x1350, o sea exactamente
   4/5: en esta proporción entra el encuadre completo, sin recorte. La cuadrada
   anterior le cortaba arriba y abajo. Randy (1254x1254) pierde un poco de aire
   arriba y Sruthi (520x436, apaisada) se amplía y se recorta de los lados --
   es el costo de tener originales en tres formatos distintos. */
.about-page-safe .about-team-member__media{
	aspect-ratio:4/5;
}
.about-page-safe .about-team-member__photo{
	object-position:center 24%;
}
.about-page-safe .about-team-member__name{
	font-size:clamp(1.1rem,1.4vw,1.34rem);
	margin-top:24px;
}
.about-page-safe .about-team-member__role{
	font-size:clamp(.96rem,1.15vw,1.1rem);
	line-height:1.5;
	max-width:34ch;
}
@media(max-width:1180px){
	.about-page-safe .about-leadership-safe>.shell{
		width:min(1080px,calc(100vw - 48px));
	}
}

/* ============================================================================
   Menú horizontal desde 1281px (2026-07-31).

   El menú de nueve ítems mide ~880px a .72rem. A 1300px hay ~1115px libres
   descontando el logo, así que entra: lo que sobraba era el CTA del header,
   que se llevaba unos 210px justo en el rango más ajustado.

   Además el grid del header (1fr auto 1fr) no dejaba encoger la columna del
   medio -- el mínimo automático de un item de grid es su contenido -- así que
   en vez de comprimirse, la fila se desbordaba. minmax(0,1fr) y min-width:0 lo
   habilitan a ceder.

   1281-1499: sin CTA, tipografía compacta.
   1500+:     el CTA vuelve, ya hay lugar para los tres bloques.
   ============================================================================ */
@media (min-width:1281px) and (max-width:1499px){
	.site-header .header-inner{
		grid-template-columns:minmax(0,auto) minmax(0,1fr) minmax(0,auto)!important;
		gap:14px!important;
	}
	.site-header .header-actions .header-cta{display:none!important}
	.site-header .header-actions{min-width:0}
	.site-header .primary-nav{
		min-width:0!important;
		justify-self:center!important;
	}
	.site-header .primary-nav .menu{
		flex-wrap:nowrap!important;
		gap:10px!important;
		justify-content:center!important;
	}
	.site-header .primary-nav .menu > li > a{
		font-size:.72rem!important;
		letter-spacing:0!important;
		line-height:1.2!important;
		padding-block:12px!important;
		white-space:nowrap!important;
	}
	.site-header .custom-logo{max-height:64px!important}
	.site-header.is-scrolled .custom-logo{max-height:56px!important}
}
/* Red de seguridad para todo el rango de menú horizontal: la columna del medio
   siempre puede encoger en vez de desbordar la fila. Sin overflow:hidden en
   .header-inner -- recortaría los submenús desplegables. */
@media (min-width:1281px){
	.site-header .primary-nav{min-width:0}
	.site-header .primary-nav .menu{min-width:0}
}
