/* Final optical rhythm. The existing symbols, palette and artwork remain the identity. */
:root{--reading:#59675f;--finish-line:#d7ddcf;--finish-space:clamp(64px,6.5vw,96px)}
.hero h1{letter-spacing:-.047em;text-wrap:balance}
.hero-title-line{display:block}
.hero-description,.hero-track-record{max-width:53ch}
.hero-description{line-height:1.8}
.hero-signature{margin-top:26px}
.hero-actions{row-gap:18px}
.phi-scene{border:1px solid #d5b77a26;box-shadow:0 14px 38px #1733310d}
.proof-strip{padding-block:28px;border-color:var(--finish-line)}
.proof-item strong{font-variant-numeric:tabular-nums;font-weight:550}
.proof-item span{line-height:1.7}

.section{padding-block:var(--finish-space)}
.section-heading{gap:clamp(36px,6vw,84px);margin-bottom:38px}
.section-heading h2{max-width:19ch;letter-spacing:-.036em;text-wrap:balance}
.section-heading p{max-width:50ch;line-height:1.85}
.pathways-heading h2,.experience-heading h2,.qualification-heading h2,.contact-copy h2{text-wrap:balance}
.pathways-heading{gap:40px;margin-bottom:24px}
.pathway-grid{border-color:#d2dac9;border-radius:7px}
.pathway{padding:28px 29px 26px;min-width:0;border-color:#d2dac9}
.pathway h3{line-height:1.35;text-wrap:balance}
.pathway p{line-height:1.8}
.pathway-index{letter-spacing:1.3px}
.pathway-link{font-size:11px;line-height:1.6}
.pathway:hover{background:#e8edda}
.pathway:focus-visible{outline-offset:-4px}
.pathways-next{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:18px 28px;margin-top:18px}
.implementation-entry{display:inline-flex;align-items:center;gap:14px;justify-self:start;max-width:100%;font-size:13px;font-weight:600;line-height:1.7;text-decoration:underline;text-decoration-color:#b29362;text-decoration-thickness:1px;text-underline-offset:5px}
.implementation-entry .arrow{font-size:18px;flex-shrink:0}
.implementation-entry:hover{text-decoration-color:#172f32}
.pathways-next .pathway-assistant{margin:0;font-size:12px;line-height:1.6;min-height:44px;padding:10px 13px;text-align:left}

.service summary{min-height:90px;padding-block:25px}
.service-summary{font-size:13px;line-height:1.75}
.service-plus{width:32px;height:32px;border-color:#c4cfbb}
.service-body{padding-bottom:32px}
.service-body>p{font-size:14px;line-height:1.85;max-width:52ch}
.service-output small{font-size:10px;line-height:1.6;letter-spacing:1.2px}
.service-output ul{font-size:13px;line-height:1.8}
.service-output button{font-size:12px;line-height:1.6;min-height:32px}
.service[open]{background:linear-gradient(90deg,#edf2e5,transparent 82%)}

.selected-experience{padding-block:clamp(56px,5.2vw,76px)}
.experience-heading{margin-bottom:30px;gap:40px}
.experience-cards{gap:28px}
.experience-card{border-top:2px solid #bba879;padding-top:21px}
.experience-card h3{line-height:1.4;letter-spacing:-.025em}
.experience-card>p{line-height:1.85;max-width:49ch}
.approach-grid{margin-top:48px;gap:30px}
.approach-step h3{line-height:1.4;margin-top:27px}
.approach-step p{line-height:1.85}
.about-copy>p{font-size:14px;line-height:1.9;max-width:67ch}
.profile-card-portrait{border:1px solid #dde0d3;border-radius:7px}
.profile-card-portrait .profile-info{padding:26px 29px 29px}
.profile-link{font-size:12px;min-height:32px;line-height:1.5}
.qualification-grid{gap:24px}
.qualification h3{line-height:1.75}
.qualification>span{font-size:10px;line-height:1.6}
.contact-grid{gap:clamp(40px,7vw,92px)}
.contact-copy>p{max-width:51ch}
.contact-copy>.first-conversation{font-size:13px;line-height:1.8;padding-left:17px}
.contact-copy>.first-conversation strong{display:inline-block;margin-bottom:4px;color:var(--ink)}
.contact-linkedin{min-height:32px;font-size:12px}
.footer-links button,.footer-links>a{font-size:11px;min-height:36px;display:inline-flex;align-items:center}

/* One reviewable enquiry surface for every entry point. */
#briefing{width:min(650px,calc(100% - 32px));padding:32px 34px;overflow-y:auto;overscroll-behavior:contain;scrollbar-gutter:stable;border-color:#cbd4c0;border-radius:10px;box-shadow:0 24px 100px #142b3138}
#briefing .enquiry-identity{display:flex;align-items:center;gap:9px;font-size:10px;font-weight:600;line-height:1.4;letter-spacing:1.3px;text-transform:uppercase;color:#52634f;margin:0 0 16px}
#briefing .enquiry-identity>span{font-family:Georgia,serif;font-size:27px;font-weight:400;letter-spacing:0;line-height:1;color:var(--ink)}
#briefing h2{font-size:30px;line-height:1.2;letter-spacing:-.8px;text-wrap:balance;margin-bottom:12px}
#briefing .dialog-intro{font-size:13px;line-height:1.8;margin:0 0 18px;max-width:55ch}
#briefing .brief-form{margin-top:0;gap:17px}
#briefing .field label{font-size:12px;line-height:1.5}
#briefing .field input,#briefing .field select,#briefing .field textarea{border-color:#84927b;border-radius:5px;font-size:14px;line-height:1.65;padding:11px 12px;background:#fff}
#briefing .field textarea{min-height:126px}
#briefing .field input::placeholder,#briefing .field textarea::placeholder{color:#657273;opacity:1}
#briefing #enquiry-confidential{font-size:11px;line-height:1.75;color:#52634f;background:#f0f1e6;border-left:2px solid #b29362;padding:10px 12px;margin:1px 0 0}
#briefing .form-hint{font-size:11px!important;line-height:1.75;color:#59675f}
#briefing .enquiry-actions{gap:11px}
#briefing .enquiry-actions .button{font-size:12px;min-height:48px;margin-top:0}
#briefing .enquiry-action-status{font-size:12px;line-height:1.75}
#briefing .enquiry-manual textarea{min-height:185px;font-size:13px}
.close-dialog{width:36px;height:36px;border-color:#c5cfba}
.close-dialog:hover{background:#edf1e4}
.button,.header-contact{min-height:44px}
.button:hover{transform:none}
.button:focus-visible,.header-contact:focus-visible,.implementation-entry:focus-visible{outline-offset:4px}
.assistant-launcher{box-shadow:0 6px 22px #10282724}

@media(max-width:1180px){
  .pathway{padding:25px 24px}
  .pathways-next{gap:16px}
  .implementation-entry{font-size:12px}
  .pathways-next .pathway-assistant{font-size:11px;padding-inline:10px}
}
@media(max-width:960px){
  .section{padding-block:72px}
  .section-heading{gap:32px}
  .pathway{padding:23px 20px}
  .service-summary{font-size:12px}
  .service-body>p{font-size:13px}
  .experience-cards{gap:22px}
  .about-copy>p{font-size:13px}
}
@media(max-width:720px){
  .hero h1{font-size:clamp(34px,9vw,52px);line-height:1.1;letter-spacing:-.042em;margin:18px 0 20px}
  .hero-description,.hero-track-record{max-width:54ch}
  .proof-strip{padding-block:23px;gap:12px}
  .proof-item strong{font-size:25px}
  .proof-item span{font-size:10px;line-height:1.65}
  .section{padding-block:58px}
  .section-heading{margin-bottom:29px;gap:19px}
  .section-heading h2{max-width:21ch;letter-spacing:-.033em}
  .pathways-heading{margin-bottom:22px}
  .pathway{padding:24px 22px}
  .pathway h3{margin-top:16px;margin-bottom:13px}
  .pathway-link{font-size:11px}
  .pathways-next{grid-template-columns:1fr;gap:13px;margin-top:18px}
  .implementation-entry{font-size:13px;line-height:1.7;padding:3px 0}
  .pathways-next .pathway-assistant{justify-content:space-between;justify-self:stretch;font-size:12px;border:1px solid #cbd4c0;padding:11px 13px;border-radius:5px}
  .service summary{min-height:0;padding-block:23px}
  .service-summary{font-size:12px;line-height:1.75}
  .service-body>p,.service-output ul{font-size:13px}
  .service-output small{font-size:10px}
  .service-output button{font-size:12px}
  .selected-experience{padding-block:50px}
  .experience-heading{margin-bottom:27px}
  .experience-cards{gap:27px}
  .experience-card{padding-top:19px}
  .experience-card h3{margin-top:12px}
  .approach-grid{gap:29px 24px;margin-top:35px}
  .approach-step h3{margin-top:24px}
  .approach-step p{font-size:12px;line-height:1.85}
  .about-copy>p{font-size:13px;line-height:1.85}
  .profile-card-portrait .profile-info{padding:24px 25px 25px}
  .qualification h3{font-size:12px;line-height:1.75}
  .qualification>span{font-size:9px;line-height:1.7;letter-spacing:.7px}
  .contact-grid{gap:30px}
  .contact-copy>.first-conversation{font-size:13px;margin-block:21px 14px}
  .footer-links button,.footer-links>a{font-size:11px;min-height:40px}
  #briefing{width:calc(100% - 24px);max-height:calc(100dvh - 24px);padding:24px 20px;border-radius:9px}
  #briefing h2{font-size:27px;line-height:1.22}
  #briefing .enquiry-identity{margin-bottom:14px}
  #briefing .brief-form{gap:15px}
  #briefing .field input,#briefing .field select,#briefing .field textarea{font-size:16px;padding:10px 11px;line-height:1.55}
  #briefing .field textarea{min-height:128px}
  #briefing #enquiry-confidential{font-size:11px;line-height:1.7;padding:10px 11px}
  #briefing .form-row{gap:15px}
  #briefing .enquiry-actions .button{font-size:12px;min-height:48px}
}
@media(max-width:360px){
  .hero h1{font-size:32px}
  .proof-item strong{font-size:22px}
  .proof-item span{font-size:9.5px}
  .pathway{padding-inline:19px}
  .implementation-entry{font-size:12px}
  .pathways-next .pathway-assistant{font-size:11px;gap:8px}
  #briefing{padding:22px 17px}
  #briefing h2{font-size:25px}
}
@media(max-height:620px){
  #briefing{max-height:calc(100dvh - 20px);padding-block:21px}
  #briefing .enquiry-identity{margin-bottom:11px}
  #briefing h2{font-size:25px}
  #briefing .dialog-intro{margin-bottom:15px}
  #briefing .brief-form{gap:14px}
  #briefing .field textarea{min-height:106px}
}
#briefing .enquiry-identity>span{text-transform:none}
@media(min-width:721px){.pathway h3{min-height:2.7em}}

/* Keep reference reading and supporting evidence comfortable on small screens. */
.experience-card>p,.balance-body{font-size:14px}
.balance-perspectives h3{font-size:12px}
.balance-perspectives p,.balance-shared{font-size:12px}
.dialog{--dialog-sticky-offset:-36px}
#briefing{--dialog-sticky-offset:-32px}
.dialog-top{position:sticky;top:var(--dialog-sticky-offset);z-index:3;background:var(--paper);padding-top:8px;padding-bottom:8px;margin-top:-8px;box-shadow:0 8px 0 var(--paper)}
.dialog input,.dialog select,.dialog textarea,.dialog .enquiry-actions button{scroll-margin-block:90px 18px}
@media(max-width:720px){
  .dialog{--dialog-sticky-offset:-27px}
  #briefing{--dialog-sticky-offset:-24px}
  .hero-track-record,.pathway p,.section-heading p,.engagement-audience,.experience-heading>p,.experience-card>p,.approach-step p,.about-copy>p,.balance-body{font-size:14px}
  .service-body>p,.service-output ul{font-size:14px}
  .proof-item span{font-size:11px}
  .qualification>span{font-size:10px}
  .qualification h3{font-size:13px}
  .balance-perspectives h3,.balance-perspectives p,.balance-shared{font-size:12px}
}
@media(max-height:620px){#briefing{--dialog-sticky-offset:-21px}}
.professional-membership{display:grid;grid-template-columns:190px minmax(0,1fr);gap:24px;border-top:1px solid var(--finish-line);padding-top:23px;margin-top:29px}
.professional-membership>h3{font-size:13px;font-weight:600;line-height:1.7;color:#52634f;margin:0}
.professional-membership h4{font-size:16px;line-height:1.5;font-weight:500;margin:0 0 7px}
.professional-membership p,.dialog .professional-membership p{font-size:13px;line-height:1.8;color:#59675f;margin:0}
.dialog .professional-membership{grid-template-columns:1fr;gap:10px;margin-top:23px;padding-top:18px}
@media(max-width:720px){.professional-membership{grid-template-columns:1fr;gap:10px}.professional-membership p{font-size:13px}}

/* Official registers require a manual lookup; keep those details with the full record. */
.qualification-verification{margin-top:10px;font-size:13px;line-height:1.75;color:#46574e}
.qualification-verification a{display:inline-flex;align-items:center;gap:8px;max-width:100%;min-height:32px;font-size:13px;font-weight:600;text-decoration:underline;text-underline-offset:3px}
.qualification-verification a:focus-visible{outline:3px solid #526d29;outline-offset:4px}
.qualification-verification p,.dialog .qualification-verification p{font-size:13px;line-height:1.75;margin:5px 0 0;color:#46574e}
.qualification-verification code{font:inherit;font-variant-numeric:tabular-nums;user-select:text;overflow-wrap:anywhere;color:var(--ink)}
