/* Shared editorial rhythm for the landing page and its service details. */
:root{--reading-width:68ch}
.entry-intro{grid-template-columns:1.55fr 1fr;gap:5%;align-items:center;margin-bottom:28px}
.entry-intro h1{font-size:clamp(2.2rem,4.2vw,3.85rem);line-height:1.13;letter-spacing:-.035em;text-wrap:balance;overflow-wrap:break-word}
.entry-intro-copy{font-size:1.0625rem;line-height:1.8;padding:0}
.entry-intro-copy .hero-region{font-size:.875rem;line-height:1.8;margin-top:20px;color:var(--gold-light)}
.entry-prompt{font-size:1rem;color:#e0e7e3;margin-bottom:17px}
.entry-card{box-shadow:none;border-radius:2px}
.entry-card-title{line-height:1.23;letter-spacing:-.025em}
.entry-card-action,.card-link{font-size:.9375rem}
.entry-card-number,.card-number{font-variant-numeric:lining-nums}
.section-heading h2,.consulting h2,.prep-main h2{text-wrap:balance}
.training-card{border-radius:2px}
.training-card h3{line-height:1.23}
.training-card .tag{font-size:.875rem}
.training-card.featured{background:#f4f7f5}
.consulting-services h3{font-size:1.125rem}
.source-link{font-size:.875rem;line-height:1.75}
.region-section{display:grid;grid-template-columns:1.1fr 1fr;gap:8%;border-top:1px solid var(--line)}
.region-section h2{font-size:clamp(2.1rem,3.6vw,3.35rem);line-height:1.16;text-wrap:balance}
.region-copy>p{color:var(--muted);font-size:1rem;line-height:1.85;margin-bottom:20px;max-width:var(--reading-width)}
.region-copy .text-link{font-size:.9375rem;line-height:1.65;margin-top:5px}
.contact-details address.location{font-style:normal;line-height:1.8;color:#c5cfda;font-size:1rem}
.footer-links a{padding-block:8px}

/* The supplied portrait forms part of the page, with its original framing. */
.trainer-section{padding-block:72px;border-bottom:1px solid var(--line);scroll-margin-top:112px}
.trainer-layout{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:clamp(32px,7vw,100px);align-items:center;max-width:1120px}
.trainer-portrait{max-width:420px;width:100%;background:var(--soft)}
.trainer-portrait img{width:100%;height:auto;aspect-ratio:1122/1402}
.trainer-copy{min-width:0;max-width:60ch}
.trainer-copy .eyebrow{font-size:.875rem;letter-spacing:.09em;margin-bottom:16px}
.trainer-copy h2{font-size:clamp(2.5rem,4vw,3.75rem);line-height:1.16;margin-bottom:17px}
.trainer-copy .trainer-role{font-size:1rem;font-weight:600;line-height:1.75;color:var(--forest);padding-bottom:22px;margin-bottom:24px;border-bottom:1px solid var(--line)}
.trainer-copy>p:not(.eyebrow):not(.trainer-role){font-size:1rem;line-height:1.85;color:var(--muted);margin-bottom:18px}
.trainer-copy .button{font-size:1rem;margin-top:10px;text-align:center}
@media(max-width:900px){.trainer-section{padding-block:55px}.trainer-layout{gap:32px;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr)}.trainer-copy .eyebrow{letter-spacing:.06em}}
@media(max-width:700px){.trainer-section{padding-block:40px 44px}.trainer-layout{grid-template-columns:minmax(0,1fr);gap:30px}.trainer-portrait{max-width:360px;margin-inline:auto}.trainer-copy{max-width:none}.trainer-copy h2{font-size:2.75rem}.trainer-copy .trainer-role{padding-bottom:18px;margin-bottom:20px}.trainer-copy .button{max-width:100%;gap:16px}}
@media print{.trainer-section{padding-block:30px;break-inside:avoid}.trainer-layout{grid-template-columns:180px minmax(0,1fr);gap:30px}.trainer-portrait{max-width:180px;margin:0}.trainer-copy h2{font-size:26pt}}

/* Selected stock photographs support the service content. */
.stock-photo{margin:0;min-width:0}
.stock-photo img{display:block;width:100%;height:auto;aspect-ratio:3/2;object-fit:cover;border-radius:2px;background:var(--soft)}
.stock-photo figcaption{font-size:.875rem;line-height:1.65;color:var(--muted);padding-top:10px}
.consulting-intro .stock-photo{max-width:455px;margin-top:32px}
.consulting-intro .stock-photo figcaption{color:#bdcccc}
.consulting-intro .stock-photo+.consulting-result{margin-top:28px}
.service-section-intro .stock-photo{margin-top:30px;max-width:560px}
@media(max-width:900px){.service-section-intro .stock-photo{max-width:500px}}
@media(max-width:700px){.consulting-intro .stock-photo{max-width:none}.stock-photo figcaption{font-size:.875rem}.consulting-intro .stock-photo{margin-top:28px}}
@media print{.stock-photo{break-inside:avoid;max-width:300px!important}.stock-photo figcaption,.consulting-intro .stock-photo figcaption{color:var(--ink)}}

/* Focused service pages: one reading column, a concise overview, a clear enquiry. */
.service-hero{background:var(--forest);color:var(--paper);padding-block:27px 65px;border-bottom:1px solid #355156}
.service-hero .breadcrumb{display:flex;position:static;align-items:center;flex-wrap:wrap;gap:8px 13px;width:auto;margin:0 0 42px;padding:0;border:0;background:transparent;box-shadow:none;color:#c6d4d3;font-size:.875rem;line-height:1.6}
.service-hero .breadcrumb a{white-space:normal;text-decoration:underline;text-underline-offset:4px;padding-block:6px;font-size:.875rem;color:inherit}
.service-hero .breadcrumb a:hover{color:var(--gold-light)}
.breadcrumb>[aria-current]{color:var(--gold-light)}
.service-hero-grid{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(0,1fr);gap:8%;align-items:start}
.service-hero .eyebrow,.service-enquiry .eyebrow{color:var(--gold-light);font-size:.8125rem}
.service-hero h1{font-size:clamp(2.25rem,4.5vw,4.1rem);letter-spacing:-.03em;line-height:1.13;hyphens:auto;overflow-wrap:break-word;text-wrap:balance}
.service-hero h1 em,.service-enquiry h2 em{color:var(--gold-light)}
.service-intro{max-width:60ch;font-size:1.0625rem;line-height:1.85;color:#e0e7e3;margin-top:25px}
.service-hero .button{margin-top:28px;font-size:1rem}
.service-facts{border-top:2px solid var(--gold-light);padding-top:22px;margin-top:7px;min-width:0}
.service-facts .eyebrow{margin-bottom:11px}
.service-facts dl{margin:0}
.service-facts dl>div{padding:17px 0;border-bottom:1px solid #3f5d61}
.service-facts dt{font-size:.875rem;color:#c6d4d3;margin-bottom:5px}
.service-facts dd{margin:0;font:400 1.375rem/1.45 var(--serif);overflow-wrap:break-word}
.service-facts-region{font-size:.875rem;line-height:1.8;margin-top:22px;color:#c6d4d3}
.service-body{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.3fr);gap:9%;align-items:start}
.service-section-intro h2{font-size:clamp(2.25rem,3.4vw,3.25rem);line-height:1.17;text-wrap:balance}
.service-section-intro>p:not(.eyebrow){font-size:1rem;color:var(--muted);line-height:1.85;margin-top:25px;max-width:var(--reading-width)}
.service-topics{border-top:1px solid var(--gold)}
.service-topic{display:flex;gap:23px;padding:27px 0;border-bottom:1px solid var(--line)}
.service-topic>span{font:400 1.125rem/1.5 var(--serif);color:var(--gold);min-width:23px}
.service-topic h3{font:600 1.125rem/1.5 var(--sans);letter-spacing:0;margin-bottom:10px}
.service-topic p{color:var(--muted);font-size:1rem;line-height:1.85;max-width:var(--reading-width)}
.service-preparation{background:var(--soft);border-block:1px solid var(--line);padding-block:65px}
.service-preparation-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.3fr);gap:9%;align-items:center}
.service-preparation h2{font-size:clamp(2.1rem,3.4vw,3.15rem);line-height:1.17}
.service-preparation-grid>div>p:not(.eyebrow){line-height:1.85;color:var(--muted);margin-bottom:18px;max-width:var(--reading-width)}
.service-preparation-grid>div>p:last-child{margin-bottom:0}
.service-page .questions{gap:9%;grid-template-columns:minmax(0,1fr) minmax(0,1.3fr)}
.service-page .questions>div>p:not(.eyebrow){max-width:var(--reading-width)}
.service-page summary{font-size:1rem}
.service-sources{border-left:2px solid var(--line);padding-left:20px;margin-top:27px}
.service-sources p{font-size:.875rem;font-weight:600;color:var(--muted);margin-bottom:9px}
.service-sources a{display:block;font-size:.875rem;line-height:1.8;padding-block:5px;text-underline-offset:4px;color:var(--navy);overflow-wrap:anywhere}
.service-enquiry{padding-block:70px;background:var(--navy);color:var(--paper);scroll-margin-top:110px}
.service-enquiry-grid{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:12%;align-items:center}
.service-enquiry h2{font-size:clamp(2.5rem,4vw,3.7rem);line-height:1.14}
.service-enquiry-grid>div>p:not(.eyebrow){color:#c5cfda;line-height:1.85;max-width:46ch;margin-top:23px}
.service-enquiry-actions{display:flex;align-items:flex-start;flex-direction:column;gap:20px;min-width:0}
.service-enquiry-actions .button{font-size:1rem}
.service-phone{font:400 clamp(1.6rem,2.6vw,2.1rem)/1.5 var(--serif);text-decoration:none}
.service-phone:hover,.service-proof:hover{color:var(--gold-light)}
.service-enquiry-grid .service-enquiry-actions p{margin:0;font-size:1rem}
.service-proof{font-size:.875rem;text-underline-offset:4px;line-height:1.7}
.related-services{padding-block:45px;border-bottom:1px solid var(--line)}
.related-services h2{font:400 1.7rem/1.3 var(--serif);letter-spacing:-.02em;margin-bottom:23px}
.related-services>div{display:flex;flex-wrap:wrap;gap:14px 32px}
.related-services a{display:inline-flex;gap:20px;align-items:center;font-size:1rem;padding-block:9px;text-decoration:underline;text-decoration-color:#aebbb5;text-underline-offset:6px}
.related-services a:hover{color:var(--gold)}

@media(max-width:1120px){
  .service-hero-grid{gap:6%;grid-template-columns:minmax(0,1.6fr) minmax(0,1fr)}
  .entry-intro{grid-template-columns:1.45fr 1fr;gap:5%}
}
@media(max-width:900px){
  .service-hero h1{font-size:clamp(2.1rem,4.8vw,3.4rem)}
  .service-facts dd{font-size:1.1875rem}
  .service-body,.service-page .questions{grid-template-columns:1fr;gap:36px}
  .service-section-intro{max-width:var(--reading-width)}
  .service-topics{max-width:var(--reading-width)}
  .service-preparation-grid,.region-section{gap:6%;grid-template-columns:minmax(0,1fr) minmax(0,1.2fr)}
  .service-enquiry-grid{gap:7%}
  .entry-intro h1{font-size:clamp(2.1rem,4.2vw,3.3rem)}
}
@media(max-width:700px){
  .entry-intro{grid-template-columns:1fr;gap:18px;margin-bottom:23px}
  .entry-intro h1{font-size:clamp(2.1rem,7.5vw,3.1rem);line-height:1.13}
  .entry-intro-copy .hero-region{margin-top:12px}
  .entry-prompt{font-size:.9375rem;margin-bottom:14px}
  .entry-card-title{font-size:clamp(1.4rem,5vw,1.65rem);hyphens:auto}
  .region-section{grid-template-columns:1fr;gap:27px}
  .region-section h2{font-size:clamp(2rem,7vw,2.7rem)}
  .service-hero{padding-block:18px 42px}
  .service-hero .breadcrumb{margin-bottom:28px;font-size:.875rem}
  .service-hero-grid{grid-template-columns:1fr;gap:34px}
  .service-hero h1{font-size:clamp(2.1rem,7.7vw,3.4rem);line-height:1.15}
  .service-hero .eyebrow{font-size:.75rem;letter-spacing:.09em}
  .service-intro{font-size:1rem;margin-top:21px}
  .service-facts{margin:0;padding-top:20px}
  .service-facts dl>div{display:grid;grid-template-columns:minmax(0,.7fr) minmax(0,1.3fr);gap:15px;padding-block:14px}
  .service-facts dt{margin:0;padding-top:3px}
  .service-facts dd{font-size:1.125rem}
  .service-facts-region{margin-top:17px}
  .service-section-intro h2{font-size:2.25rem}
  .service-topic{padding-block:23px;gap:17px}
  .service-preparation{padding-block:48px}
  .service-preparation-grid{grid-template-columns:1fr;gap:26px}
  .service-preparation h2{font-size:2.35rem}
  .service-enquiry{padding-block:52px;scroll-margin-top:90px}
  .service-enquiry-grid{grid-template-columns:1fr;gap:32px}
  .service-enquiry h2{font-size:2.7rem}
  .related-services{padding-block:35px}
  .related-services>div{flex-direction:column;align-items:flex-start;gap:9px}
}
@media(max-width:370px){
  .entry-card-title{font-size:1.4rem}
  .service-hero h1{font-size:2.1rem}
  .service-facts dl>div{grid-template-columns:1fr;gap:5px}
}
@media print{
  .service-hero,.service-enquiry{background:white;color:var(--ink)}
  .service-hero p,.service-enquiry p,.service-hero em,.service-enquiry em,.service-hero .eyebrow{color:var(--ink)!important}
  .service-hero,.service-enquiry,.service-preparation{padding-block:25px}
  .service-hero-grid,.service-body,.service-preparation-grid,.service-enquiry-grid{display:block}
  .service-facts{margin-top:25px}.service-facts dd{color:var(--ink)}
  .service-topic{break-inside:avoid}
  .service-hero .breadcrumb,.service-enquiry-actions,.related-services{display:none}
}
