/* Approved October 2026 direction. Shared with every public page. */
:root { --navy:#14212e; --teal:#2da584; --teal-light:#2da584; --teal-deep:#1f7d60; --teal-hover:#1c6f56; --white:#fff; --muted:#4c5f6e; --maxw:1312px; --pad-x:clamp(24px,5.8vw,90px); --shadow-sm:none; --shadow-card:none; --shadow-teal:none; }
::selection { background:#cfe3db; color:var(--navy); }
html { scroll-padding-top:110px; }
body { font-feature-settings:'cv11','ss01'; }
h1,h2,h3 { text-wrap:balance; }
p { text-wrap:pretty; }
a { text-underline-offset:4px; }
button,input,select,textarea { font:inherit; }
img { display:block; }
.section { padding:76px var(--pad-x); }
.h2 { font-size:clamp(30px,3.2vw,46px); line-height:1.13; letter-spacing:-.035em; }
.lead { line-height:1.65; }
#our-relationship { padding-bottom:32px; }
#our-relationship .relationship-note { margin:20px 0 0; padding-top:16px; border-top:1px solid var(--border); font-size:14px; line-height:1.6; color:var(--muted); }
#our-relationship + #your-choice { padding-top:32px; }
.nav { background:#fff; backdrop-filter:none; box-shadow:none!important; }
.nav-bar { min-height:92px; }
.nav-brand img { height:58px; width:auto; }
.nav-links { gap:27px; }
.nav-links a[aria-current=page] { text-decoration:underline; text-decoration-thickness:2px; text-underline-offset:16px; }
.btn,.nav-hub,.ladder-cta,.btn-reserve,.btn-book { box-shadow:none!important; transition:background .18s,color .18s,border-color .18s; }
.btn:hover,.ladder-cta:hover,.btn-reserve:hover { transform:none!important; }
.btn { border-radius:32px; }
.btn:focus-visible { border-radius:32px; }
.btn-primary { background:var(--teal-deep); color:#fff; }
.btn-primary:hover { background:var(--teal-hover); }
.hero-blob,.bm-glow { display:none; }
.hero { padding:0; background:var(--navy); color:white; overflow:visible; }
.home-hero-grid { display:grid; grid-template-columns:1.08fr .92fr; max-width:1536px; }
.hero-inner { padding:72px 40px 52px max(24px,calc((100vw - 1312px)/2)); max-width:none; min-width:0; }
.hero h1 { color:#fff; font-size:clamp(43px,4.7vw,74px); line-height:1.06; letter-spacing:-.045em; max-width:760px; }
.hero-accent { display:block; color:var(--teal); }
.hero .eyebrow { color:var(--teal); }
.hero .hero-lead { color:#e2e8ec; font-size:18px; line-height:1.65; max-width:650px; }
.hero-ctas { gap:14px; }
.hero .btn-outline,.page-header .btn-outline { border-color:#c4ced5; color:#fff; background:transparent; }
.hero .btn-outline:hover,.page-header .btn-outline:hover { background:white; color:var(--navy); }
.hero .btn-lg { font-size:16px; padding:16px 24px; }
.hero-photo,.training-photo { margin:0; min-width:0; position:relative; overflow:hidden; }
.hero-photo img,.training-photo img { width:100%; height:100%; position:absolute; object-fit:cover; object-position:center 35%; }
.proof-strip { background:var(--navy); color:white; padding:25px var(--pad-x); border-top:1px solid #53616d; }
.proof-strip .container { display:flex; align-items:center; gap:36px; }
.proof-strip a { color:#fff; display:flex; align-items:center; gap:22px; text-decoration:none; }
.proof-strip a:hover span { text-decoration:underline; }
.proof-strip strong { font-size:38px; line-height:1; letter-spacing:-.04em; font-variant-numeric:tabular-nums; }
.proof-strip .container>span { border-left:1px solid #53616d; padding-left:36px; font-size:17px; font-weight:600; }
.proof-strip .container>span:last-child { margin-left:0; }
#problem .problem-rows li { border-color:var(--border); }
#problem .problem-rows h3 { color:var(--navy); }
#problem .problem-rows p,#problem .problem-summary { color:var(--muted); }
.page-header,.page-header.page-header--adviser { background:var(--navy); color:#fff; border:0; padding:44px var(--pad-x) 56px; }
.page-header h1 { color:#fff; max-width:1050px; font-size:clamp(38px,4.6vw,68px); line-height:1.08; letter-spacing:-.04em; }
.page-header .accent,.page-header .eyebrow { color:var(--teal); }
.page-header .page-lead { color:#e2e8ec; font-size:20px; line-height:1.65; max-width:900px; }
.page-header .back-link { color:#e2e8ec; margin-bottom:32px; }
.page-header .article-meta { color:#c4ced5; }
.page-header .inline-link { color:#fff; text-decoration:underline; }
.page-header .personal-index-note { font-size:15px; max-width:780px; }
.page-header .personal-index-free { font-size:18px; }
.page-training .page-header { padding:0; }
.training-hero-grid { display:grid; grid-template-columns:1.1fr .9fr; max-width:1536px; }
.training-hero-copy { padding:44px 40px 56px max(24px,calc((100vw - 1312px)/2)); }
.training-hero-copy h1 { font-size:clamp(40px,4.3vw,66px); }
.training-hero-copy .accent { display:block; }
.training-hero-copy .page-lead { font-size:18px; }
.page-training #course { border-bottom:1px solid var(--border); }
.page-training #course .course-intro { max-width:900px; }
.meta-chips { gap:0; margin-top:24px; }
.meta-chip { border:0; border-left:1px solid var(--border); border-radius:0; padding:10px 20px; }
.meta-chip:first-child { border-left:0; padding-left:0; }
.meta-chip--price { background:transparent; color:var(--teal-deep); }
.adviser-hero-grid { display:grid; grid-template-columns:minmax(0,1fr) 290px; gap:60px; align-items:center; }
.page-header--adviser h1 { font-size:clamp(38px,4.1vw,60px); }
.page-header--adviser .page-lead { font-size:18px; }
.strategy-sheet { border:1px solid #9babb8; padding:30px; border-radius:3px; position:relative; margin-top:35px; }
.strategy-sheet:after { content:''; position:absolute; inset:12px -12px -12px 12px; border-right:1px solid #6c7e8b; border-bottom:1px solid #6c7e8b; pointer-events:none; }
.sheet-label { font-size:10px; letter-spacing:.12em; color:#c4ced5; }
.strategy-sheet h2 { font-size:23px; margin:18px 0 32px; color:white; }
.strategy-sheet>div { margin-top:25px; }
.strategy-sheet strong { font-size:14px; color:white; }
.strategy-sheet i { display:block; height:2px; background:#7c919e; margin-top:12px; width:100%; }
.strategy-sheet i:last-child { width:65%; }
.uplift-grid { gap:32px; }
.uplift-card,.uplift-card.featured { border:0; border-top:1px solid var(--border); background:transparent; border-radius:0; box-shadow:none; padding:24px 0; }
.uplift-card:hover { transform:none; }
.uplift-num { color:var(--teal-deep); }
.lead-card,.tool-card,.stage-card,.price-card,.testi-card,.client-story,.agenda-card,.day-card,.contact-form,.trend-card,.quad-card,.contact-success { box-shadow:none!important; border-radius:8px!important; }
.lead-card { border-width:1px; padding:26px; }
.stage-card { border-width:1px; border-top:3px solid var(--teal-deep); }
.price-card { border-width:1px; }
.price-card.featured { border-top:3px solid var(--teal-deep); }
.price-card .amount { font-variant-numeric:tabular-nums; }
.tool-card:hover,.lead-card:hover,.testi-card:hover { transform:none; }
.ladder-row { border-radius:6px; box-shadow:none; border-width:1px; }
.bg-navy .lead { color:#d6dfe5; }
.bg-navy .accent,.bg-navy .eyebrow { color:var(--teal); }
.dark-card { border-radius:6px; box-shadow:none; }
.dark-card.goal { background:#1a3a3b; border-color:#58ab92; }
.notes-heading { display:flex; align-items:center; gap:28px; font-size:28px; letter-spacing:-.03em; margin:0 0 34px; }
.notes-heading:after { content:''; flex:1; height:1px; background:#b7c5ce; }
.notes-grid { gap:0; }
.article-card { border:0; border-radius:0; border-left:1px solid var(--border); border-bottom:1px solid var(--border); padding:8px 32px 32px; margin-bottom:32px; background:transparent; }
.article-card:nth-child(3n+1) { border-left:0; padding-left:0; }
.article-card:nth-child(3n) { padding-right:0; }
a.article-card:hover { transform:none; box-shadow:none; }
a.article-card:hover h3 { text-decoration:underline; text-underline-offset:5px; }
.article-card h3 { font-size:23px; letter-spacing:-.035em; }
.article-card p { font-size:17px; }
.article-card .more { font-size:16px; padding-top:12px; }
.page-article .page-header .container { max-width:960px; }
.page-article .page-header h1 { font-size:clamp(34px,4vw,54px); }
.page-article .page-header .page-lead { font-size:19px; }
.article-body { max-width:760px; }
.article-body p,.article-body li { font-size:18px; line-height:1.8; }
.article-body blockquote { border-radius:0; }
.article-body h2 { letter-spacing:-.035em; }
.article-cta { border-radius:6px; }
.legal { max-width:850px; }
.legal h1 { font-size:clamp(38px,5vw,62px); letter-spacing:-.04em; }
.legal h2 { margin-top:42px; }
.legal p,.legal li { font-size:17px; line-height:1.8; }
.legal .back-link { display:inline-block; margin-bottom:28px; }
.faq-item { border-radius:0; box-shadow:none; }
.faq-q { min-height:54px; }
.contact-form,.contact-success { border:1px solid var(--border); }
.footer { padding-top:60px; }
.footer-about,.footer-reg,.footer-copy,.footer-col span { color:#b8c5cf; }
.footer a:hover { color:#fff; text-decoration:underline; }
:is(.hero,.page-header,.bg-navy,.footer,.proof-strip) :is(a,button):focus-visible { outline:3px solid white; outline-offset:5px; }
input,textarea,select { max-width:100%; }
@media(min-width:1537px) { .hero-inner,.training-hero-copy { padding-left:112px; } }
@media(max-width:1200px) { .nav-links { gap:18px; } .nav-bar { min-height:82px; } .hero-inner { padding-left:40px; padding-top:56px; } .adviser-hero-grid { gap:40px; grid-template-columns:minmax(0,1fr) 250px; } }
@media(max-width:1119px) { .nav-links a[aria-current=page] { text-underline-offset:5px; } }
@media(max-width:900px) {
  .home-hero-grid,.training-hero-grid { grid-template-columns:1fr; }
  .hero-inner,.training-hero-copy { padding:44px var(--pad-x); }
  .hero h1 { max-width:700px; font-size:clamp(40px,7.2vw,62px); }
  .hero-photo,.training-photo { height:430px; }
  .hero-photo img { object-position:center 38%; }
  .training-photo img { object-position:center 45%; }
  .proof-strip .container { gap:22px; flex-wrap:wrap; }
  .proof-strip .container>span { padding-left:22px; }
  .proof-strip .container>span:last-child { margin-left:0; }
  .adviser-hero-grid { grid-template-columns:1fr; }
  .strategy-sheet { display:none; }
  .page-header,.page-header.page-header--adviser { padding:34px var(--pad-x) 44px; }
  .page-training .page-header { padding:0; }
  .notes-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .article-card:nth-child(n) { padding:12px 24px 28px; border-left:1px solid var(--border); }
  .article-card:nth-child(2n+1) { padding-left:0; border-left:0; }
  .article-card:nth-child(2n) { padding-right:0; }
}
@media(max-width:600px) {
  :root { --pad-x:22px; }
  .section { padding:50px var(--pad-x); }
  .nav-brand img { height:45px; }
  .nav-bar { min-height:74px; }
  .hero h1 { font-size:clamp(36px,9.2vw,52px); }
  .hero .hero-lead { font-size:17px; }
  .hero-photo,.training-photo { height:360px; }
  .hero-ctas { margin-top:26px; }
  .proof-strip { padding:24px var(--pad-x); }
  .proof-strip .container { gap:18px; }
  .proof-strip a { width:100%; gap:16px; }
  .proof-strip a span { font-size:14px; max-width:180px; }
  .proof-strip .container>span { font-size:14px; padding-left:0; border:0; }
  .proof-strip .container>span:last-child { border-left:1px solid #53616d; padding-left:18px; }
  .page-header h1,.page-header--adviser h1,.training-hero-copy h1 { font-size:clamp(34px,8.8vw,46px); }
  .page-header .page-lead { font-size:17px; }
  .notes-grid { grid-template-columns:1fr; }
  .article-card:nth-child(n) { padding:8px 0 26px; margin-bottom:24px; border-left:0; }
  .article-card h3 { font-size:22px; }
  .notes-heading { font-size:25px; }
  .uplift-grid { grid-template-columns:1fr; gap:0; }
  .meta-chip { font-size:13px; padding:8px 12px; }
  .meta-chip--price { border:0; padding-left:0; width:100%; }
  .article-body p,.article-body li { font-size:17px; }
  .footer { padding:44px var(--pad-x); }
}
@media(prefers-reduced-motion:reduce) { *,*:before,*:after { scroll-behavior:auto!important; animation:none!important; transition:none!important; } }
/* Mobile uses a text-only hero; photography stays on wider screens. */
@media(max-width:900px) {
  .hero-photo,.training-photo { display:none; }
}
@media(max-width:600px) {
  .cta-row { min-width:0; width:100%; flex-wrap:wrap; }
  .cta-row .btn { min-width:0; max-width:100%; white-space:normal; text-align:center; }
}
/* Compact navigation panel for touch screens and small desktops. */
@media(max-width:1119px) {
  .nav { padding-top:0; padding-bottom:0; }
  .nav-bar { min-height:80px; }
  .nav-toggle { position:relative; width:84px; height:44px; padding:10px 12px 10px 50px; border:1px solid var(--border); border-radius:8px; color:var(--navy); }
  .nav-toggle::before { content:'Menu'; position:absolute; left:10px; top:12px; font-size:12px; font-weight:600; }
  .nav-toggle[aria-expanded=true]::before { content:'Close'; }
  .nav-toggle span { position:absolute; right:10px; width:18px; height:2px; margin:0; background:currentColor; transition:transform .15s; }
  .nav-toggle span:nth-child(1) { top:15px; }
  .nav-toggle span:nth-child(2) { top:21px; }
  .nav-toggle span:nth-child(3) { top:27px; }
  .nav-toggle[aria-expanded=true] span:nth-child(1) { top:21px; transform:rotate(45deg); }
  .nav-toggle[aria-expanded=true] span:nth-child(2) { opacity:0; }
  .nav-toggle[aria-expanded=true] span:nth-child(3) { top:21px; transform:rotate(-45deg); }
  .nav-links { gap:0; padding:12px var(--pad-x) 24px; border-top:1px solid var(--border); border-bottom:1px solid var(--border); box-shadow:0 12px 22px #14212e14; max-height:calc(100dvh - 80px); }
  .nav-links a:not(.btn) { display:flex; align-items:center; justify-content:space-between; min-height:50px; padding:12px 4px; font-size:17px; line-height:1.4; border-bottom:1px solid var(--border); }
  .nav-links a:not(.btn)::after { content:none; }
  .nav-links a[aria-current=page] { text-decoration:none; border-left:3px solid var(--teal-deep); padding-left:12px; background:#f1f7f4; }
  .nav-links .nav-hub-menu:not(.btn),.nav-links .nav-index-menu:not(.btn) { display:none; }
}
@media(max-width:639px) {
  .nav-brand img { height:44px; }
  .nav-links .nav-hub-menu:not(.btn) { display:flex; margin-top:20px; padding:12px 16px; border:1px solid #a7b9b3; border-radius:8px; justify-content:center; gap:10px; }
  .nav-links .nav-index-menu:not(.btn) { display:flex; margin-top:10px; padding:14px 16px; border:0; border-radius:8px; background:var(--teal-deep); color:white; justify-content:center; gap:10px; font-size:15px; text-align:center; }
  .nav-links .nav-index-menu:not(.btn)::after { color:white; }
  .nav-links .nav-index-menu:hover { background:var(--teal-hover); }
}
/* Let the workshop photography reach the browser edge on wide screens. */
.home-hero-grid,.training-hero-grid { max-width:none; width:100%; }
@media(min-width:1537px) {
  .hero-inner,.training-hero-copy { padding-left:max(24px,calc((100vw - 1312px)/2)); }
}

/* Keep delivery information alongside the other proof points. */
@media(min-width:901px) {
  .proof-strip .container { gap:clamp(24px,3vw,48px); }
  .proof-strip .container>span { padding-left:clamp(24px,3vw,48px); }
}
@media(max-width:600px) {
  .proof-strip .container { display:grid; grid-template-columns:1fr; gap:16px; }
  .proof-strip .container>span:last-child { border-left:0; padding-left:0; }
}
/* Proof and delivery: a consistent hierarchy, with a compact phone layout. */
.proof-strip { padding:30px var(--pad-x); border-top:1px solid #3b4c5a; }
.proof-strip .proof-layout { display:grid; grid-template-columns:1.15fr 1fr .9fr; gap:0; align-items:center; }
.proof-strip .proof-rating { display:flex; width:auto; gap:20px; padding-right:32px; }
.proof-strip .proof-rating strong { font-size:46px; font-weight:750; line-height:1; white-space:nowrap; }
.proof-strip .proof-rating strong span { font-size:28px; font-weight:500; color:#c1cdd5; }
.proof-strip .proof-caption { font-size:14px; line-height:1.5; color:#d4dce2; max-width:none; }
.proof-strip .proof-detail { border-left:1px solid #3b4c5a; padding:0 32px; min-width:0; }
.proof-strip .proof-label { display:block; color:#b5c4ce; font-size:10px; font-weight:600; letter-spacing:.12em; margin-bottom:8px; }
.proof-strip .proof-detail p { margin:0; font-size:18px; line-height:1.45; font-weight:600; text-wrap:initial; }
.proof-strip .proof-detail p span { color:#d4dce2; font-size:15px; font-weight:400; }
@media(max-width:700px) {
 .proof-strip { padding:26px var(--pad-x); }
 .proof-strip .proof-layout { grid-template-columns:1fr 1fr; row-gap:22px; }
 .proof-strip .proof-rating { grid-column:1/-1; gap:18px; padding:0 0 22px; border-bottom:1px solid #3b4c5a; }
 .proof-strip .proof-rating strong { font-size:42px; }
 .proof-strip .proof-detail { padding:0 0 0 20px; }
 .proof-strip .proof-detail:nth-child(2) { padding:0 16px 0 0; border-left:0; }
 .proof-strip .proof-detail p { font-size:15px; }
 .proof-strip .proof-detail p span { font-size:13px; }
 .proof-strip .proof-label { font-size:9px; letter-spacing:.09em; }
}
/* Quiet menu control alongside the two pill-shaped navigation actions. */
@media(max-width:1119px) {
  .nav-toggle { border-color:transparent; background:transparent; border-radius:0; }
  .nav-toggle:hover { color:var(--teal-deep); }
  .nav-toggle:focus-visible { outline:3px solid var(--teal-deep); outline-offset:3px; }
}
@media(max-width:1119px) {
  .nav-toggle { width:100px; padding-left:64px; }
  .nav-toggle::before { font-size:16px; line-height:22px; top:10px; }
}
/* Separate the homepage's approach from the preceding problem section. */
.page-index #methodology { background:#f5f7f8; }
/* The arrow identifies the card action without a persistent bright rule. */
#score .index-card-link .index-card-action { text-decoration:none; border-bottom:0; }
#score .index-card-link:hover .index-card-action { text-decoration:underline; text-decoration-thickness:1px; text-underline-offset:4px; }
.index-card-link:focus-visible { outline:3px solid white; outline-offset:5px; }
/* Give the founder introduction its own visual section after the offers. */
.page-index #trainer { background:#fff; }
/* Separate client experiences from the white founder introduction. */
.page-index #proof { background:#f5f7f8; }
/* One readable secondary text colour throughout the shared footer. */
.footer,.footer p,.footer span,.footer a,.footer button,
.footer .footer-col a,.footer .footer-col span,
.footer .footer-copy span,.footer .footer-copy a { color:#b8c5cf; }
.footer h2,.footer h3,.footer h4 { color:#fff; }
.footer a:hover,.footer button:hover,
.footer .footer-col a:hover,.footer .footer-copy a:hover { color:#fff; }
/* A clean transition from grey testimonials into the FAQ. */
.page-index #faq { background:#fff; }
.page-index #faq .faq-grid { max-width:var(--maxw); }
/* Supporting founder portrait: smaller scale, quiet corners, stable text column. */
.page-index .founder { align-items:start; }
.page-index .founder-photo { width:75%; max-width:380px; height:auto; aspect-ratio:1; object-fit:cover; border-radius:8px; margin:36px 0 0; }
@media(max-width:880px) {
  .page-index .founder { gap:32px; }
  .page-index .founder-photo { width:100%; max-width:280px; height:auto; margin:0; }
}
.page-index .founder-body > .eyebrow { margin-top:0; }
/* Complete the lower-page sequence: white FAQ, grey partners, white contact. */
.page-index #partners { background:#f5f7f8; }
.page-index #partners .lead-card { background:#fff; }
.page-index #contact { background:var(--teal-pale); border-top:1px solid var(--border); }
/* Editorial founder profile: bring the portrait and biography together. */
.page-index .founder { max-width:1120px; grid-template-columns:320px minmax(0,1fr); gap:64px; }
.page-index .founder-photo { width:100%; max-width:none; margin:0; }
.page-index .founder-profile { padding-top:36px; }
.page-index .founder-body .h2 { font-size:clamp(30px,3vw,40px); line-height:1.15; }
.page-index .founder-body p:not(.eyebrow) { font-size:17px; line-height:1.7; margin:0 0 20px; }
.founder-caption { display:flex; flex-direction:column; gap:4px; padding-top:18px; font-size:14px; line-height:1.5; color:var(--muted); }
.founder-caption strong { color:var(--navy); font-size:17px; }
.founder-caption .founder-experience { border-top:1px solid var(--border); margin-top:10px; padding-top:12px; }
@media(max-width:880px) {
 .page-index .founder { grid-template-columns:240px minmax(0,1fr); gap:32px; }
}
@media(max-width:600px) {
 .page-index .founder { grid-template-columns:1fr; gap:30px; }
 .page-index .founder-profile { padding-top:0; max-width:260px; }
 .page-index .founder-body .h2 { font-size:30px; }
}
.founder-caption .founder-linkedin { align-self:flex-start; margin-top:10px; color:var(--teal-deep); font-weight:600; text-decoration:none; }
.founder-caption .founder-linkedin:hover { text-decoration:underline; }
.founder-caption .founder-linkedin:focus-visible { outline:3px solid var(--teal-deep); outline-offset:4px; }
/* Compact portrait caption with one clear identity block. */
.founder-caption { padding-top:16px; gap:3px; font-size:13px; line-height:1.5; }
.founder-caption strong { font-size:17px; margin-bottom:2px; letter-spacing:-.015em; }
.founder-caption .founder-experience { border:0; padding:0; margin:0; font-size:13px; }
.founder-caption .founder-linkedin { margin-top:12px; font-size:13px; font-weight:600; display:inline-flex; align-items:center; gap:6px; min-height:32px; }
/* Keep LinkedIn visually attached to the portrait credentials. */
.founder-caption .founder-linkedin { margin-top:2px; min-height:24px; }
/* Governance entry point: primary action and invitation guidance have distinct roles. */
.personal-index-header > .container > .page-lead { max-width:760px; font-size:19px; line-height:1.65; }
.governance-start { max-width:1040px; display:grid; grid-template-columns:minmax(0,1.6fr) minmax(240px,1fr); gap:40px; align-items:start; margin-top:30px; padding-top:26px; border-top:1px solid #3b4c5a; }
.page-header .governance-start .personal-index-free { font-size:16px; line-height:1.55; margin:0 0 18px; }
.governance-start .personal-index-actions { margin:0 0 14px; }
.page-header .governance-start .personal-index-note { font-size:14px; line-height:1.65; color:#c6d2da; margin:0; max-width:540px; }
.governance-invite { padding:20px 22px; background:#20303e; border-radius:8px; }
.governance-invite strong { display:block; margin-bottom:8px; color:white; font-size:16px; }
@media(max-width:700px) {
 .governance-start { grid-template-columns:1fr; gap:24px; margin-top:24px; }
 .personal-index-header > .container > .page-lead { font-size:17px; }
 .governance-start .btn { white-space:normal; text-align:center; }
}
/* One desktop navigation underline for both active and hover states. */
@media(min-width:1120px) {
  .nav-links a[aria-current=page] { text-decoration:none; }
  .nav-links a[aria-current=page]::after { transform:scaleX(1); }
}

/* Labels remain visible when a visitor starts typing. */
.contact-form .form-field { min-width:0; }
.contact-form .form-field label { display:block; font-size:14px; font-weight:600; color:var(--navy); margin-bottom:7px; }
.contact-form .form-field input,.contact-form .form-field textarea { width:100%; }
.contact-form [aria-invalid=true] { border-color:#a22a24; }

.contact-form > .form-field { margin-bottom:16px; }
.contact-form .form-field textarea { margin-bottom:0; }

/* Keep the left-hand group and central curve visible in the homepage photograph. */
.home-hero-grid .hero-photo img { object-position:57% center; }

/* Continue the overhead desk journey in the AI Adviser header. */
.page-header.page-header--adviser { padding:0; }
.adviser-hero-grid { width:100%; max-width:none; display:grid; grid-template-columns:1.1fr .9fr; gap:0; align-items:stretch; }
.adviser-hero-copy { padding:44px 40px 56px max(24px,calc((100vw - 1312px)/2)); min-width:0; }
.adviser-photo { margin:0; position:relative; overflow:hidden; min-width:0; }
.adviser-photo img { position:absolute; width:100%; height:100%; object-fit:cover; object-position:55% center; }
@media(max-width:900px) {
  .adviser-hero-grid { grid-template-columns:1fr; }
  .adviser-hero-copy { padding:36px var(--pad-x) 44px; }
  .adviser-photo { display:none; }
}

/* Shared desk imagery for methodology and training. */
.page-header.page-header--methodology { padding:0; }
.methodology-hero-grid { display:grid; grid-template-columns:1.1fr .9fr; width:100%; max-width:none; align-items:stretch; }
.methodology-hero-copy { padding:44px 40px 56px max(24px,calc((100vw - 1312px)/2)); min-width:0; }
.methodology-hero-copy .page-lead { font-size:18px; }
.methodology-photo { position:relative; margin:0; min-width:0; overflow:hidden; }
.methodology-photo img { position:absolute; width:100%; height:100%; object-fit:cover; object-position:75% center; }
.training-photo img { object-position:54% 48%; transform:none; }
@media(max-width:900px) {
 .methodology-hero-grid { grid-template-columns:1fr; }
 .methodology-hero-copy { padding:36px var(--pad-x) 44px; }
 .methodology-photo { display:none; }
}

.notes-photo img { object-position:65% center; }
.partners-photo img { object-position:52% center; }

/* Focus the homepage photograph on the trainer and two learners. */
.home-hero-grid .hero-photo img { filter:none; transform:none; object-position:57% center; }

/* Keep both illustrative report charts in the Free Indices hero crop. */
.indices-photo img { object-position:62% center; }
