/* Scoped to the homepage, About and Consulting; protected pages do not load this file. */
.reading-copy { max-width:76ch; }
.home-section > h2,.consult-section > h2 { margin-bottom:2rem; }
.expertise-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:2rem 3rem; margin-block:2rem; }
.expertise-grid article { padding-top:1.4rem; border-top:1px solid var(--line-100); min-width:0; }
.expertise-grid h3 { font-size:1.3rem; }
.expertise-grid p { color:var(--ink-600); }
.home-section + .home-section { border-top:1px solid var(--line-100); }
.profile-copy .profile-description { max-width:65ch; }
.profile-links a { color:var(--hero-muted); }
.work-list article { grid-template-columns:160px minmax(0,1fr) minmax(0,1.6fr); align-items:center; gap:.65rem 2rem; }
.work-list article > img { grid-row:1/3; width:160px; height:110px; object-fit:contain; background:#fff; padding:.4rem; }
.work-list article .work-kind { grid-column:2; align-self:end; font-size:.78rem; }
.work-list article h3 { grid-column:2; grid-row:2; align-self:start; overflow-wrap:anywhere; }
.work-list article > p:last-child { grid-column:3; grid-row:1/3; }
.founder-story { display:grid; grid-template-columns:1.1fr 1fr; gap:3rem; align-items:center; }
.founder-story img { width:100%; height:auto; background:#fff; }
.recognition-list { padding:0; list-style:none; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:2rem; }
.recognition-list li { border-top:1px solid var(--line-100); padding-top:1.25rem; }
.recognition-list strong,.recognition-list span { display:block; }
.recognition-list span { color:var(--ink-600); margin-block:.4rem; }
.about-subtitle { font-size:clamp(1.3rem,2.5vw,1.9rem); color:var(--hero-ink); line-height:1.4; }
.about-hero { background:var(--hero-bg); color:var(--hero-ink); }
.about-hero h1,.about-hero .intro,.about-hero .eyebrow,.about-hero p { color:var(--hero-ink); }
.about-hero .link-light { color:var(--hero-ink)!important; }
.about-hero img { height:auto; }
.about-journey { border-left:1px solid var(--line-200); padding-left:1.5rem; }
.about-stop { background:transparent; border:0; border-radius:0; position:relative; }
.about-stop::before { content:''; position:absolute; width:.6rem; height:.6rem; border-radius:50%; background:var(--blue); top:1.7rem; left:-1.83rem; }
.about-page .expertise-grid { grid-template-columns:1fr; gap:1rem; }
.about-page .expertise-grid h3 { margin-top:0; }
.about-page .recognition-list { grid-template-columns:1fr; }
.consult-subtitle { color:var(--hero-ink); font-size:1.35rem; max-width:45ch; margin-top:1.5rem; line-height:1.45; }
.consult-proof { row-gap:2rem; }
.consult-services-section { grid-template-columns:.7fr 2fr; gap:3rem; }
.consult-services-section > h2 { position:sticky; top:7rem; }
.process-list { list-style:decimal-leading-zero; padding-left:2rem; max-width:80ch; }
.process-list li { padding:1rem 0 1rem 1rem; border-bottom:1px solid var(--line-100); }
.process-list li::marker { color:var(--blue); font-weight:600; }
.process-list h3 { font-size:1.25rem; }
.enquiry-form { max-width:850px; margin-block:2rem 3rem; text-align:left; }
.enquiry-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1.5rem; }
.enquiry-wide { grid-column:1/-1; }
.enquiry-form label { display:block; color:var(--ink-900); font-weight:500; margin-bottom:.5rem; }
.enquiry-form input,.enquiry-form select,.enquiry-form textarea { width:100%; min-width:0; background:var(--white); color:var(--ink-900); border:1px solid var(--line-200); border-radius:3px; padding:.8rem; font:inherit; }
.enquiry-form textarea { resize:vertical; }
.enquiry-form .field-help,#enquiry-help,#enquiry-privacy { font-size:.9rem; color:var(--ink-600); }
#enquiry-privacy { margin-top:1.4rem; }
#enquiry-result { margin-top:1.5rem; padding-top:1.5rem; border-top:1px solid var(--line-100); }
#enquiry-result label { margin-top:1.5rem; }
#copy-enquiry { margin:1rem; }
#contact .profile-actions { margin-bottom:1.5rem; }
.site-footer-brand > p:not([class]) { font-size:.85rem; color:inherit; }
@media (min-width:1051px) and (max-width:1250px) {
 .site-nav-inner { flex-wrap:wrap; gap:.5rem 1rem; padding-block:.7rem; }
 .site-nav ul { order:4; justify-content:center; width:100%; }
}
@media(max-width:767px) {
 .expertise-grid,.founder-story,.recognition-list,.enquiry-grid { grid-template-columns:1fr; }
 .work-list article { grid-template-columns:90px minmax(0,1fr); gap:.5rem 1rem; }
 .work-list article > img { width:90px; height:85px; }
 .work-list article > p:last-child { grid-column:1/-1; grid-row:3; }
 .consult-services-section { grid-template-columns:1fr; }
 .consult-services-section > h2 { position:static; }
 .consult-services-section .section-heading { min-width:0; }
 .contact-email { overflow-wrap:anywhere; }
 .about-journey { padding-left:1rem; }
 .about-stop::before { left:-1.33rem; }
}
@media print { .enquiry-form { display:none; } }
.consult-hero-grid { display:grid; grid-template-columns:1.6fr .65fr; gap:3rem; align-items:center; }
.consult-science { margin:0; }
.consult-science img { width:100%; height:auto; background:#fff; }
.consult-science figcaption { color:var(--hero-muted); font-size:.8rem; margin-top:1rem; }
.consult-science a { color:var(--hero-ink); }
@media(max-width:767px) { .consult-hero-grid { grid-template-columns:1fr; } .consult-science { max-width:260px; } }

/* Typography, rhythm and controls share the same hierarchy across all three pages. */
.profile-page h1 { font-weight:500; letter-spacing:-.045em; }
.profile-page h2 { font-weight:500; letter-spacing:-.03em; }
.profile-page .profile-hero { padding-block:4.5rem; align-items:start; }
.profile-page .profile-lead { color:var(--ink-600); max-width:52ch; line-height:1.7; }
.profile-page .profile-description { font-size:1.1rem; line-height:1.8; }
.profile-page .profile-photo { max-width:360px; justify-self:end; }
.profile-page .profile-photo img { aspect-ratio:4/5; }
.profile-page .profile-links { gap:.7rem 1.3rem; margin-top:1.8rem; }
.profile-page .profile-links a { color:var(--blue); font-size:.85rem; }
.profile-page .btn-primary { --bs-btn-bg:var(--blue); --bs-btn-border-color:var(--blue); --bs-btn-color:var(--surface-50); --bs-btn-hover-bg:var(--crimson); --bs-btn-hover-border-color:var(--crimson); --bs-btn-hover-color:var(--surface-50); }
.profile-page .text-link { color:var(--blue); }
.profile-page .home-section,.profile-page .consult-section { padding-block:3.5rem; }
.profile-page .reading-copy { max-width:72ch; }
.profile-page .editorial-lead { font-size:clamp(1.3rem,2vw,1.65rem); color:var(--ink-900); }
.profile-page .expertise-grid { gap:1.6rem 3rem; }
.profile-page .expertise-grid h3 { font-size:1.15rem; line-height:1.5; }
.profile-page .about-aside { background:transparent; border:0; border-left:1px solid var(--line-100); border-radius:0; }
.profile-page .about-hero p { color:var(--ink-600); }
.profile-page .about-subtitle { margin-block:1.4rem; font-size:1.4rem; }
.profile-page .about-hero .intro { max-width:65ch; font-size:1.08rem; }
.profile-page .about-section { padding-block:1.5rem; }
.profile-page .about-cta a { background:transparent; color:var(--blue); border:0; border-bottom:1px solid var(--line-200); padding:.4rem 0; border-radius:0; }
.profile-page .about-cta { gap:1rem 1.5rem; }
.profile-page .recognition-photo { float:right; width:210px; height:auto; background:#fff; padding:.75rem; margin:0 0 2rem 2.5rem; }
.profile-page section[aria-labelledby="recognition"]::after { content:''; display:block; clear:both; }
.profile-page .recognition-list { gap:1.5rem; }
.profile-page .consult-hero { padding-block:4rem; }
.profile-page .consult-hero h1 { font-size:clamp(2.25rem,4.5vw,3.8rem); }
.profile-page .consult-subtitle { color:var(--ink-600); font-size:1.15rem; }
.profile-page .consult-intro { margin-top:1.5rem; }
.profile-page .service-body h4 { color:var(--ink-900); font-size:1rem; }
.profile-page .service-row summary { color:var(--ink-900); }
.profile-page .site-footer { color:var(--ink-900); border-top:1px solid var(--line-100); }
.profile-page .site-footer-name,.profile-page .site-footer-heading { color:var(--ink-900); }
.profile-page .site-footer-role,.profile-page .site-footer-facts li,.profile-page .site-footer-base,.profile-page .site-footer .theme-picker { color:var(--ink-600); }
.profile-page .site-footer-col a,.profile-page .site-footer-cv,.profile-page .site-footer-col a:hover,.profile-page .site-footer-cv:hover { color:var(--blue); }
.profile-page .site-footer-base { border-color:var(--line-100); }
.profile-page .site-footer-heading { letter-spacing:.08em; }
.profile-page :focus-visible { outline:2px solid var(--blue); outline-offset:4px; }
@media(max-width:767px) {
 .profile-page .profile-hero { padding-block:3rem; }
 .profile-page .profile-photo { width:100%; max-width:280px; justify-self:start; }
 .profile-page .home-section,.profile-page .consult-section { padding-block:2.5rem; }
 .profile-page .recognition-photo { float:none; width:180px; margin:0 0 2rem; }
 .profile-page .about-aside { border-left:0; border-top:1px solid var(--line-100); padding:1.5rem 0; }
}
.profile-page .enquiry-trap { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); }
#enquiry-status { min-height:1.8em; margin-top:1.4rem; }
@media(prefers-reduced-motion:no-preference) {
 .profile-page .btn,.profile-page .about-cta a { transition:background-color .18s ease,color .18s ease,border-color .18s ease; }
}
