/* Consistent page alignment and spacing */
main > section:not(.hero):not(.editorial-hero):not(.contact) { padding-block:55px; }
.contact { padding-top:55px; text-align:center; }
.detail-content { padding-bottom:38px; }
.detail-section { margin-bottom:31px; }
.detail-section:last-child { margin-bottom:0; }
.section-head { margin-bottom:31px; }
.home-addition .section-head,.insights-home .section-head { margin-bottom:18px; }
.resource-content { max-width:var(--max); padding-bottom:40px; text-align:left; }
.detail-section > p,.section-head .lead,.editorial-hero p,.diagnostic p,.about-copy p,.faq-item p { max-width:none; }
main h1,main h2,main h3 { position:relative; left:-.035em; }
.contact h2 { left:0; }
.page-jump { min-height:0; justify-content:flex-start; align-items:center; gap:12px; }
.page-jump a { display:inline-flex; align-items:center; justify-content:center; border:1px solid var(--accent); border-radius:999px; padding:10px 18px; color:var(--accent-dark); background:transparent; text-decoration:none; transition:background .15s ease,color .15s ease; }
.page-jump a:hover,.page-jump a[aria-current="location"] { background:var(--accent); color:var(--ink); }
.audience-grid .detail-card { display:grid; grid-template-rows:subgrid; grid-row:span 2; row-gap:14px; align-content:start; }
.audience-grid .detail-card h3,.audience-grid .detail-card p { margin:0; }
@media(max-width:800px) { .audience-grid .detail-card { display:block; grid-row:auto; } .audience-grid .detail-card h3 { margin-bottom:14px; } }
@media(max-width:560px) {
 main > section:not(.hero):not(.editorial-hero):not(.contact) { padding-block:39px; }
 .contact { padding-top:39px; }
 .detail-content { padding-bottom:26px; }
 .detail-section { margin-bottom:22px; }
 .section-head { margin-bottom:21px; }
 .resource-content { padding-bottom:30px; }
}

/* Clear heading hierarchy, aligned service cards and gold link pills */
.section-head h2,.about h2,.contact h2,.fit h2,.diagnostic h2,
.detail-section h2,.reading h2,.insight-card h2,.health-result h2,
.resource-cta h2 { font-size:clamp(1.65rem,2.8vw,2.2rem); line-height:1.15; }
.service h3 { font-size:1.25rem; line-height:1.3; }
.detail-card h3,.detail-split h3,.insight-card h3,.reading h3 { font-size:1.1rem; line-height:1.35; }
.timeline-phase h3 { font-size:1.2rem; line-height:1.35; }
.nav-links a:not(.nav-cta):hover,.nav-group > summary:hover { color:var(--accent); }
.button.lozenge { min-height:44px; padding:10px 18px; font-size:.95rem; line-height:1.35; text-align:center; }
.aligned-service-grid .detail-card,.aligned-investment-grid .detail-card {
 display:grid; grid-template-rows:subgrid; row-gap:18px; align-content:start;
}
.aligned-service-grid .detail-card { grid-row:span 3; }
.aligned-investment-grid .detail-card { grid-row:span 4; }
.aligned-service-grid .detail-card h3,.aligned-service-grid .detail-card p,
.aligned-investment-grid .detail-card h3,.aligned-investment-grid .detail-card p { margin:0; }
.aligned-service-grid .lozenge,.aligned-investment-grid .lozenge { justify-self:start; align-self:end; }
@media(max-width:800px) {
 .aligned-service-grid .detail-card,.aligned-investment-grid .detail-card { display:flex; flex-direction:column; gap:18px; grid-row:auto; }
 .aligned-service-grid .lozenge,.aligned-investment-grid .lozenge { align-self:flex-start; }
}
/* Article discovery, contact and consent controls */
.insights-tools { margin-bottom:32px; }
.filter-options { display:flex; flex-wrap:wrap; gap:10px; margin-bottom:24px; }
.filter-pill { padding:10px 16px; border:1px solid var(--accent-dark); border-radius:999px; background:transparent; color:var(--ink); font-weight:700; min-height:44px; }
.filter-pill:hover,.filter-pill[aria-pressed="true"] { background:var(--accent); }
.search-label { display:block; font-weight:700; margin-bottom:8px; }
#insights-search { width:min(100%,540px); padding:12px 16px; font:inherit; border:1px solid var(--line); background:var(--white); border-radius:6px; }
.insights-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px; }
.insights-grid .insight-card { margin:0; max-width:none; }
.insights-grid .insight-card h2 { font-size:1.4rem; line-height:1.3; }
.outline-button { background:transparent; color:var(--ink); border:1px solid var(--accent-dark); }
.health-result .text-link,.health-result .outline-button { color:var(--accent); }
.contact-form label { display:block; font-weight:700; }
.contact-form input:not([type="checkbox"]),.contact-form textarea,.contact-form select { display:block; width:100%; padding:12px; border:1px solid var(--line); border-radius:6px; background:var(--white); color:var(--ink); font:inherit; margin:8px 0 22px; }
.form-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:0 24px; }
.check-label { display:grid !important; grid-template-columns:22px 1fr; gap:8px 12px; align-items:start; margin:20px 0; font-weight:700; }
.check-label input { width:20px; height:20px; accent-color:var(--accent-dark); margin-top:4px; }
.check-label span { grid-column:2; font-weight:400; color:var(--muted); }
.text-button { background:none; border:0; padding:0; color:inherit; font:inherit; text-decoration:underline; text-underline-offset:4px; }
.contact-alternative { font-size:1rem !important; margin-bottom:0 !important; }
#shared-health { padding:24px; background:var(--paper-deep); margin-bottom:24px; }
#shared-health-text { font:inherit; white-space:pre-wrap; overflow-wrap:anywhere; }
.cookie-banner { position:fixed; bottom:0; inset-inline:0; z-index:100; background:var(--white); box-shadow:0 -4px 35px rgba(0,0,0,.15); border-top:3px solid var(--accent); padding:22px max(20px,calc((100% - 1180px)/2)); display:flex; align-items:center; gap:24px; }
.cookie-banner h2 { margin:0 0 8px; font-size:1.2rem; }
.cookie-banner p { margin:0; font-size:.95rem; }
.cookie-banner .button-row { flex-shrink:0; }
.cookie-banner .button { min-height:44px; font-size:.9rem; }
.preferences-dialog { width:min(620px,calc(100% - 32px)); max-height:calc(100dvh - 32px); overflow:auto; padding:0; border:0; border-radius:8px; color:var(--ink); background:var(--white); }
.preferences-dialog::backdrop { background:rgba(10,16,32,.8); }
.preferences-inner { padding:28px; }
.preferences-inner h2 { margin-top:0; font-size:1.6rem; }
.booking-dialog-inner { overflow:auto; }
.booking-placeholder { padding:32px; background:var(--white); }
.chat-launcher { position:fixed; bottom:24px; right:24px; z-index:20; border:1px solid var(--accent); border-radius:999px; padding:12px 20px; font-weight:700; background:var(--ink); color:var(--white); box-shadow:0 6px 20px rgba(0,0,0,.2); }
.nav-toggle { display:none; }
.nav-links { gap:12px; }
@media(max-width:1250px) { header { position:relative; background:var(--ink); } nav.wrap { flex-wrap:wrap; } .nav-links { width:100%; flex-wrap:wrap; padding-bottom:16px; } }
@media(max-width:1100px) {
 .enhanced-site .nav-toggle { display:inline-flex; align-items:center; min-height:44px; padding:8px 16px; border:1px solid var(--accent); border-radius:999px; background:transparent; color:var(--white); }
 .enhanced-site .nav-links { display:none; }
 .enhanced-site .nav-links.menu-open { display:flex; }
 .cookie-banner { flex-direction:column; align-items:stretch; gap:16px; max-height:70dvh; overflow:auto; }
 .cookie-banner .button-row { flex-shrink:1; }
}
@media(max-width:700px) {
 .insights-grid,.form-grid { grid-template-columns:1fr; }
 .insights-grid .insight-card { padding:24px; }
 .insight-card h2 { font-size:1.35rem; }
 .nav-group { position:static; }
 .nav-links { position:relative; }
 .nav-dropdown { position:relative; top:auto; left:auto; width:100%; min-width:0; margin-top:4px; }
 .nav-group { width:100%; }
 .nav-links > a { min-height:44px; align-items:center; }
 .button { max-width:100%; white-space:normal; }
 .table-scroll { max-width:100%; }
 .health-options { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .chat-launcher { bottom:16px; right:16px; }
 .preferences-inner,.booking-placeholder { padding:22px; }
}
@media(prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } .button,.page-jump a { transition:none; } }

@media(max-width:1250px) { .hero { padding-top:72px; } }

/* Reserve the existing square portrait layout before decoding. Fonts use the
   existing local system stack: no delayed webfont substitution. */
.headshot-frame img { height:auto; aspect-ratio:1; object-fit:cover; }

/* Shared CTA typography and requested layout refinements. */
.button,.button.lozenge,.cookie-banner .button { font-size:14px; line-height:1.35; min-height:38px; padding:8px 16px; }
.nav-links .nav-cta { display:inline-flex; align-items:center; justify-content:center; font-size:13px; line-height:1.35; min-height:32px; padding:6px 12px; white-space:nowrap; }
.footer-links a { width:64px; height:64px; transition:color .2s ease,background .2s ease,box-shadow .2s ease; }
.footer-links svg { width:46px; height:46px; }
.footer-links a:hover,.footer-links a:focus-visible { color:var(--accent); background:rgba(229,193,58,.12); box-shadow:0 0 20px rgba(229,193,58,.3); }
.fit-item { align-items:flex-start; }
.fit-item::before { top:calc(22px + .725em); }
main > .home-addition { padding-bottom:27.5px !important; }
main > #insights { padding-top:27.5px !important; padding-bottom:27.5px !important; }
main > #sales-health-check { padding-top:27.5px !important; }
.career-page .detail-section h2 { font-size:clamp(1.4rem,2.2vw,1.8rem); line-height:1.2; }
.career-page .detail-section .career-overview-title { font-size:clamp(1.65rem,2.8vw,2.2rem); }
.result-heading { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:16px 24px; align-items:start; margin-bottom:20px; }
.result-heading h2 { margin-bottom:0; }
.health-result .result-score { white-space:nowrap; text-align:right; }
.health-result .result-sharing-note { margin-top:28px; }
@media(max-width:560px) {
 main > .home-addition { padding-bottom:19.5px !important; }
 main > #insights { padding-top:19.5px !important; padding-bottom:19.5px !important; }
 main > #sales-health-check { padding-top:19.5px !important; }
 .result-heading { gap:12px; }
 .health-result .result-score { font-size:1.5rem; }
}
@media(prefers-reduced-motion:reduce) { .footer-links a { transition:none; } }

/* Four service options keep an even layout without widening existing cards. */
.four-service-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
@media(max-width:800px) { .four-service-grid { grid-template-columns:1fr; } }

.hiring-home-callout { margin-top:30px; padding-top:24px; border-top:1px solid var(--line); }
.hiring-home-callout h3 { margin:0 0 12px; font-size:1.25rem; }
.hiring-home-callout p { margin:0 0 18px; color:var(--muted); }

/* Align article body text with the hero's shared page gutter. */
.editorial article.wrap.reading { margin-left:max(20px, calc((100% - var(--max)) / 2)); margin-right:auto; }
@media(max-width:560px) { .editorial article.wrap.reading { margin-left:14px; } }

/* Compact primary navigation with consistent rhythm and quiet page indicators. */
nav.wrap .nav-links { gap:26px; align-items:center; }
.nav-links > a:not(.nav-cta),.nav-group > summary { position:relative; font-size:14px; font-weight:650; line-height:1.4; padding-block:12px; }
.nav-group > summary { display:flex; align-items:center; gap:9px; list-style:none; }
.nav-group > summary::-webkit-details-marker { display:none; }
.nav-group > summary::marker { content:""; }
.nav-group > summary::after { content:""; width:6px; height:6px; border-right:1.5px solid currentColor; border-bottom:1.5px solid currentColor; transform:translateY(-2px) rotate(45deg); }
.nav-group[open] > summary::after { transform:translateY(1px) rotate(225deg); }
.nav-links > a:not(.nav-cta):is([aria-current="page"],.nav-current),.nav-group > summary.nav-current { color:var(--accent); text-decoration:underline; text-decoration-thickness:1px; text-underline-offset:9px; }
.nav-dropdown a[aria-current="page"] { color:var(--accent); background:rgba(229,193,58,.08); }
.nav-dropdown { padding:10px; border-color:rgba(229,193,58,.22); }
@media(min-width:1101px) and (max-width:1250px) {
 nav.wrap { flex-wrap:nowrap; }
 nav.wrap .nav-links { width:auto; flex-wrap:nowrap; padding-bottom:0; gap:22px; }
}
@media(max-width:1100px) {
 nav.wrap .nav-links { width:100%; gap:14px 24px; align-items:center; }
}
@media(max-width:700px) {
 nav.wrap .nav-links.menu-open { align-items:stretch; gap:8px; }
 .nav-links > a:not(.nav-cta),.nav-group > summary { min-height:44px; }
 .nav-group > summary { justify-content:space-between; }
 .nav-links > .nav-cta { align-self:flex-start; margin-top:8px; }
}

/* Button elements share the same outline as neighbouring contact links. */
.contact-options > button.button.outline-button { border:1px solid var(--accent-dark); }

/* Paired page CTAs transfer emphasis to the hovered or keyboard-focused option. */
main .button-row { --cta-rest-text:var(--ink); --cta-rest-border:var(--accent-dark); }
main .hero .button-row,main .editorial-hero .button-row { --cta-rest-text:var(--white); --cta-rest-border:rgba(255,255,255,.55); }
main .button-row > .button:is(.secondary,.outline-button):is(:hover,:focus-visible) {
 background:var(--accent);
 color:var(--ink);
 border-color:var(--accent);
 box-shadow:0 0 16px rgba(229,193,58,.25);
}
main .button-row:has(> .button:not(:first-child):is(:hover,:focus-visible)) > .button:first-child {
 background:transparent;
 color:var(--cta-rest-text);
 box-shadow:inset 0 0 0 1px var(--cta-rest-border);
}

/* Shared interactive-card motion: one restrained 3px lift, without reflow. */
main :is(a.insight-card,.detail-card:has(a),.service:has(a),.hp-problem,.hp-featured,.hp-health-panel,.hp-engine-card,.audit-dimension){transition:transform .18s ease,background .18s ease,border-color .18s ease,box-shadow .18s ease}
@media(hover:hover) and (pointer:fine){
 main :is(a.insight-card,.detail-card:has(a),.service:has(a),.hp-problem,.hp-featured,.hp-health-panel,.hp-engine-card,.audit-dimension):hover{transform:translateY(-3px)}
}
main :is(a.insight-card,.detail-card:has(a),.service:has(a),.hp-problem,.hp-featured,.hp-health-panel,.hp-engine-card,.audit-dimension):focus-within{transform:translateY(-3px)}
@media(prefers-reduced-motion:reduce){
 main :is(a.insight-card,.detail-card:has(a),.service:has(a),.hp-problem,.hp-featured,.hp-health-panel,.hp-engine-card,.audit-dimension){transition:none;transform:none!important}
}

/* Shared closing invitation: centre the label above its heading on every page. */
main .contact .wrap>.eyebrow{display:block;width:100%;max-width:none;margin:0 auto 18px;text-align:center}

/* Full-width section introductions follow their available content column. */
.section-head,.hp-heading,.ac-section-head{max-width:none}
.section-head>p,.section-head .lead,.hp-heading>p,.ac-section-head>p{max-width:none}

/* Match the homepage closing invitation on every public page. */
main>section.contact{padding-block:55px}
main>section.contact .contact-alternative{margin:18px auto 0!important;max-width:none;text-align:center}
@media(max-width:600px){main>section.contact{padding-block:39px}}

/* Keep the closing ring's curved upper edge inside shorter invitation bands. */
main>section.contact::after{top:max(24px,calc(100% - 260px));bottom:auto;box-sizing:border-box}

/* V2 audit: keyboard access, text contrast and narrow-screen containment. */
:root{--muted:#5b6379}
.skip-link{position:fixed;top:12px;left:12px;z-index:1000;padding:12px 18px;background:var(--accent);color:var(--ink);font-weight:700;border-radius:4px;transform:translateY(-180%)}
.skip-link:focus{transform:translateY(0);outline:3px solid var(--white);outline-offset:3px}
main:focus{outline:none}
.home-refresh .about .text-link{color:var(--accent)}
.home-refresh .hp-partner-copy .eyebrow,.article-end .text-link{color:var(--ink)}
.contact .eyebrow{color:var(--accent-dark)}
@media(max-width:600px){.headshot-frame{width:calc(100% - 18px)}}
