/* A continuous visual rhythm: quiet gradients, common radii, meaningful connections. */
:root { --radius:16px; --wash:#edf5f6; --soft:#f8faf9; }
main { overflow:clip; }
.hero { background:radial-gradient(ellipse at 94% 24%,#bcdfe7 0,transparent 65%),linear-gradient(150deg,#f6fafb 10%,#e6f2f5 65%,#dceef2); }
.hero-photo.portrait-studio { object-position:center top; border-radius:96px 20px 20px 20px; }
.photo-outline { border-radius:96px 20px 20px 20px; }
.photo-caption { border-radius:0 14px 14px 0; background:linear-gradient(125deg,#083246,#155269); }
.expertise-strip { background:linear-gradient(180deg,#dceef2,#eaf4f6); border:0; padding-top:29px; padding-bottom:32px; }
.expertise-heading { align-items:center; margin-bottom:27px; }
.expertise-heading>div>p { color:var(--navy); font-size:17px; margin-top:6px; }
.expertise-people { display:flex; align-items:center; gap:13px; }
.expertise-faces { display:flex; padding-left:9px; }
.expertise-faces img { width:36px; height:36px; border-radius:50%; object-fit:cover; object-position:center 20%; border:2px solid #f1f7f7; margin-left:-9px; }
.expertise-grid { grid-template-columns:repeat(4,minmax(0,1fr)); gap:21px; }
.expertise-proof { gap:11px; }
.expertise-proof+.expertise-proof { padding-left:21px; }
.expertise-proof>svg { width:25px; height:25px; flex-basis:25px; }
.expertise-proof h3 { font-size:16px; letter-spacing:-.02em; }
.expertise-proof p { font-size:12px; line-height:1.7; }
.expertise-proof p br { display:none; }
.early-trust { background:linear-gradient(180deg,#eaf4f6,#fff); padding-top:8px; padding-bottom:0; }
.trust-quote { border-top:0; padding:24px 0; }
.clients { padding-bottom:16px; }
.logo-window { mask-image:linear-gradient(90deg,transparent,#000 5%,#000 95%,transparent); border-radius:0; margin-top:14px; }
.logo-track { width:max-content; transition:none; will-change:transform; }
.logo-run { display:flex; align-items:center; gap:30px; padding-right:30px; flex:none; }
.logo-item { display:flex; align-items:center; justify-content:center; width:180px; height:100px; padding:13px; }
.logo-item img { width:160px; height:65px; object-fit:contain; filter:grayscale(1); opacity:.78; transition:filter .25s,opacity .25s; }
.logo-window:hover .logo-item img { filter:grayscale(0); opacity:1; }
.logo-controls { margin-top:4px; }
#logo-status { font-size:11px; }
.section-pad { padding-top:82px; padding-bottom:82px; }
.needs { background:linear-gradient(180deg,#fff,#e4f1f4); max-width:1640px; margin:auto; padding-bottom:40px; }
.needs .section-top { grid-template-columns:1.4fr 1fr; }
.needs-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:0 30px; }
.needs-grid>a { position:relative; display:block; padding:25px 28px 25px 0; border-top:1px solid #bbd3dc; text-decoration:none; transition:color .2s; }
.need-label { display:block; font-size:11px; color:var(--blue); margin-bottom:13px; letter-spacing:.035em; }
.needs-grid h3 { font-size:23px; line-height:1.22; letter-spacing:-.025em; max-width:330px; }
.needs-grid p { font-size:14px; line-height:1.65; color:var(--muted); margin-top:13px; }
.needs-grid>a>svg { width:18px; height:18px; position:absolute; right:0; top:27px; color:var(--blue); transform:rotate(-40deg); transition:transform .2s; }
.needs-grid>a:hover h3 { color:var(--blue); }
.needs-grid>a:hover>svg { transform:translate(2px,-2px) rotate(-40deg); }
.topics { background:radial-gradient(ellipse at 12% 48%,#c5e4ec80,transparent 65%),linear-gradient(180deg,#e4f1f4,#d9ecf1); padding-top:52px; padding-bottom:45px; }
.topic-card { border-radius:18px; }
.topic-card:first-child { border-top-left-radius:45px; }
.topic-detail { background:#ffffffcc; border-radius:0 16px 16px 0; }

.leadership-foundation { margin-top:64px; padding:44px; gap:46px; align-items:center; border:0; border-radius:34px; color:white; background:radial-gradient(ellipse at 100% 0,#277c944d,transparent 65%),linear-gradient(130deg,#083246,#124a60); box-shadow:0 20px 55px #08324614; position:relative; }
.leadership-copy .eyebrow { color:var(--ice); font-size:11px; }
.leadership-copy h3 { font-size:clamp(26px,2.4vw,35px); line-height:1.15; max-width:550px; }
.leadership-copy>p:not(.eyebrow) { color:#d0e2e8; font-size:15px; line-height:1.7; margin-top:21px; }
.leadership-foundation ul { gap:16px 20px; font-size:13px; line-height:1.55; margin-top:25px; }
.leadership-foundation li { border-left-color:#7fc4d5; }
.leadership-copy>.text-button { color:var(--ice); border-color:#80c9d7; font-size:13px; margin-top:26px; }
.leadership-graphic { min-width:0; position:relative; }
.leadership-node { border:1px solid #82b5c54d; border-radius:14px; padding:19px; text-align:center; background:#ffffff08; }
.leadership-node>span,.leadership-robert span { display:block; font-size:16px; font-weight:700; margin-bottom:5px; }
.leadership-node strong { display:block; font-size:12px; line-height:1.6; font-weight:400; color:#d6e9ef; }
.leadership-top { background:#e1f3f6; color:var(--navy); border:0; }
.leadership-top strong { color:var(--ink); }
.connection-label { display:block; position:relative; text-align:center; padding:25px 8px; color:#b8dce7; font-size:10px; }
.connection-label:before,.connection-label:after { content:''; position:absolute; left:50%; height:15px; width:1px; background:#87c3d5; }
.connection-label:before { top:0; }.connection-label:after { bottom:0; }
.leadership-robert { display:flex; align-items:center; gap:15px; text-align:left; padding:19px 24px; }
.leadership-robert img { width:52px; height:52px; object-fit:cover; object-position:center 20%; border-radius:50%; }
.leadership-robert>div { min-width:0; }
.leadership-branches { display:grid; grid-template-columns:1fr 1fr; gap:16px; padding-top:28px; position:relative; }
.leadership-branches:before { content:''; height:15px; width:1px; background:#87c3d5; position:absolute; left:50%; top:0; }
.leadership-branches:after { content:''; height:13px; border:1px solid #87c3d5; border-bottom:0; position:absolute; left:24%; right:24%; top:15px; border-radius:7px 7px 0 0; }
.leadership-branches .leadership-node { padding:17px 12px; }
.leadership-branches svg { width:22px; height:22px; color:var(--ice); margin:0 auto 9px; }
.leadership-branches .leadership-node>span { font-size:14px; }
.leadership-feedback { font-size:11px; text-align:center; color:#b8dce7; border-top:1px solid #82b5c54d; margin-top:19px; padding-top:14px; }

.approach { background:linear-gradient(180deg,#d9ecf1,#eaf4f5); color:var(--navy); padding-top:44px; }
.approach .eyebrow.light { color:var(--blue); }
.approach .section-aside { color:var(--muted); }
.approach .watermark { filter:none; opacity:.065; width:680px; right:-200px; top:110px; }
.approach-layout { gap:60px; grid-template-columns:1fr 1.22fr; margin-top:42px; align-items:start; }
.process-caption { font-size:11px; color:var(--blue); letter-spacing:.06em; text-transform:uppercase; margin-bottom:26px; }
.process-path { list-style:none; padding:0; margin:0; }
.process-path li { position:relative; display:grid; grid-template-columns:37px 1fr; gap:17px; padding-bottom:29px; }
.process-path li:not(:last-child):after { content:''; width:1px; background:linear-gradient(#80b9ca,#c7dde2); position:absolute; left:17px; top:38px; bottom:2px; }
.process-path li>span { display:grid; place-items:center; width:35px; height:35px; background:#fff; border:1px solid #b6d5df; color:var(--blue); font-size:11px; border-radius:50%; }
.process-path h3 { font-size:21px; line-height:1.25; margin:2px 0 8px; letter-spacing:-.02em; }
.process-path p { color:var(--muted); font-size:14px; line-height:1.65; }
.process-more { font-size:13px; margin:0 0 0 54px; }
.example-box { border-radius:28px; background:#ffffffed; border:1px solid #d7e6ea; box-shadow:0 20px 60px #08324608; padding:31px; }
.example-box>.eyebrow { margin-bottom:16px; }
.example-tabs { flex-wrap:wrap; gap:7px; border:0; padding-bottom:22px; margin:0; }
.example-tabs button { padding:9px 12px; font-size:12px; border:1px solid #cfdee3; border-radius:30px; color:var(--muted); background:#f5f9fa; transition:background .2s,color .2s; }
.example-tabs button[aria-selected=true] { border-color:var(--navy); background:var(--navy); color:white; }
.example-tabs button:hover { border-color:var(--blue); }
.example-heading { font-size:25px; }
.example-result { border-radius:12px; background:linear-gradient(120deg,#e6f4f5,#f2f8f8); }
.example-foot { font-size:11px; }
.home-formats { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; margin-top:55px; position:relative; z-index:1; }
.home-formats>a { display:flex; flex-direction:column; text-decoration:none; border-top:2px solid #b7d4de; padding:24px 6px 0 0; }
.home-formats svg { color:var(--blue); width:26px; height:26px; margin-bottom:16px; }
.home-formats h3 { font-size:24px; margin-bottom:13px; }
.home-formats p { color:var(--muted); font-size:14px; line-height:1.65; margin-bottom:18px; }
.home-formats a>span { margin-top:auto; font-size:12px; color:var(--blue); }
.home-formats a:hover>span { text-decoration:underline; text-underline-offset:4px; }
.people { background:linear-gradient(180deg,#eaf4f5,#fff); padding-top:35px; }
.people-grid { grid-template-columns:repeat(4,minmax(0,1fr)); gap:22px; }
.person { background:#ffffffb8; border:1px solid #dfe9ec; border-radius:20px; overflow:hidden; }
.person-photo { border-radius:0; height:270px; }
.person-photo img { object-position:center top; }
.person-photo.matthias img { object-fit:cover; padding:0; object-position:center top; }
.person-body { padding:22px 21px; }
.person-body>p:not(.person-role) { min-height:0; }
.person-role { min-height:36px; }
.person h3 { font-size:24px; }
.person .text-button { font-size:12px; }
.testimonials { background:linear-gradient(180deg,#fff,#e3f0f4); padding-top:40px; }
.reference-layout { border-radius:26px; border:1px solid #dde8ec; }
.contact { background:radial-gradient(ellipse at 0% 80%,#bddfe880,transparent 65%),linear-gradient(180deg,#e3f0f4,#edf6f7); }
.contact-form-wrap { background:#ffffffbd; border:1px solid #d8e6ea; border-radius:22px; }
footer { background:#fff; }

/* Editorial subpages follow the same connected visual language. */
.subhero { background:radial-gradient(ellipse at 90% 25%,#bddfe7,transparent 65%),linear-gradient(160deg,#f6fafb,#e3f1f4); }
.engagement-jumps { padding:0 var(--gutter) 30px; max-width:1640px; margin:auto; display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:13px; }
.engagement-jumps a { display:block; font-size:15px; font-weight:700; text-decoration:none; padding:20px; border:1px solid #cddfe5; border-radius:14px; background:linear-gradient(130deg,#f4f9fa,#fff); }
.engagement-jumps span { display:block; color:var(--blue); font-size:11px; font-weight:400; margin-top:8px; }
.engagement-jumps a:hover { border-color:var(--blue); }
.organisation-section { background:linear-gradient(180deg,#fff,#dfeff3); max-width:1640px; margin:auto; }
.oe-levels { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); position:relative; gap:25px; }
.oe-levels article { border-top:2px solid #a2c9d5; padding:22px 20px 20px 0; position:relative; }
.level-number { font-size:12px; color:var(--blue); display:block; margin-bottom:17px; }
.oe-levels h3 { font-size:25px; margin-bottom:13px; }
.oe-levels p { font-size:15px; line-height:1.7; color:var(--muted); }
.oe-responsibility { margin-top:24px; padding:26px 29px; border-radius:18px; background:linear-gradient(115deg,#083246,#15536b); color:#dcecf0; display:flex; gap:21px; align-items:flex-start; }
.oe-responsibility svg { color:var(--ice); margin-top:3px; width:30px; height:30px; }
.oe-responsibility p { font-size:15px; line-height:1.7; }.oe-responsibility strong { color:white; }
.journey { margin-top:55px; scroll-margin-top:15px; }
.journey-heading { max-width:760px; }.journey-heading .eyebrow { margin-bottom:13px; }
.journey-heading h3 { font-size:32px; line-height:1.2; }.journey-heading>p:last-child { color:var(--muted); font-size:15px; margin:17px 0 28px; }
.journey-steps { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:12px; align-items:start; position:relative; }
.journey-steps:before { content:''; position:absolute; height:1px; background:#a6c6d3; left:0; right:0; top:35px; }
.journey-steps details { margin:0; border:1px solid #cbdee4; background:#ffffffed; border-radius:15px; z-index:1; min-width:0; }
.journey-steps summary { display:flex; flex-wrap:wrap; align-items:center; gap:18px 9px; padding:20px 17px; list-style:none; cursor:pointer; }
.journey-steps summary>.journey-number { width:100%; font-size:12px; color:var(--blue); }
.journey-steps summary>span:nth-child(2) { width:calc(100% - 27px); font-size:16px; line-height:1.35; font-weight:700; }
.journey-steps small { display:block; font-size:11px; line-height:1.5; color:var(--muted); font-weight:400; margin-top:9px; }
.journey-steps summary svg { width:18px; height:18px; }
.journey-steps details>div { padding:0 17px 22px; font-size:13px; line-height:1.65; color:var(--muted); }
.journey-return { border-bottom:1px solid #bad4de; padding:15px 0; color:var(--blue); font-size:12px; }
.journey-return span { font-size:20px; vertical-align:middle; margin-right:7px; }
.accompaniment { display:grid; grid-template-columns:1fr 1fr; gap:28px; background:linear-gradient(180deg,#dfeff3,#edf6f7); max-width:1640px; margin:auto; padding-top:30px; }
.accompaniment-card { background:#fff; border:1px solid #d2e3e8; border-radius:26px; padding:36px; scroll-margin-top:115px; }
.accompaniment-heading { display:flex; gap:13px; align-items:center; margin-bottom:18px; }.accompaniment-heading svg { color:var(--blue); }.accompaniment-heading .eyebrow { margin:0; font-size:11px; }
.accompaniment-card h2 { font-size:33px; margin-bottom:19px; }
.accompaniment-intro { font-size:20px; line-height:1.45; color:var(--navy); min-height:58px; }
.accompaniment-card>p:not(.accompaniment-intro) { font-size:15px; color:var(--muted); margin:19px 0 26px; line-height:1.7; }
.accompaniment-card details { border-top:1px solid var(--line); }
.accompaniment-card summary { font-size:15px; padding:18px 0; }
.accompaniment-card details>div { font-size:14px; color:var(--muted); padding-right:0; line-height:1.7; }
.accompaniment-card ul { padding-left:18px; }.accompaniment-card li+li { margin-top:9px; }
.accompaniment-card .text-button { margin-top:22px; font-size:14px; }
.specialisms-intro { background:linear-gradient(180deg,#edf6f7,#fff); padding:35px var(--gutter); max-width:1640px; margin:auto; }
.specialisms-intro h2 { font-size:36px; }.specialisms-intro>p:last-child { font-size:16px; color:var(--muted); max-width:760px; margin-top:20px; }
.offer-section { background:linear-gradient(180deg,#fff,#e3f0f4); }
.offer-section.tinted { background:linear-gradient(180deg,#e3f0f4,#fff); }
.offer-image,.offer-pair { border-radius:28px; }
.format-section { background:linear-gradient(180deg,#fff,#eff6f7); }
.sub-cta { background:linear-gradient(125deg,#083246,#185d73); border-radius:32px 32px 0 0; }
.expert-gallery.tinted { background:linear-gradient(180deg,#fff,#dceef2); }
.expert-profile { border-radius:24px; }
.collaboration { background:linear-gradient(180deg,#dceef2,#eaf4f6); }
.story-section { background:linear-gradient(180deg,#e3f1f4,#f7fafb,#fff); }

@media(min-width:1700px) {
 .approach,.testimonials,.offer-section,.format-section,.sub-cta { padding-left:max(var(--gutter),calc((100vw - 1440px)/2)); padding-right:max(var(--gutter),calc((100vw - 1440px)/2)); }
}
@media(max-width:1180px) {
 .expertise-grid { grid-template-columns:1fr 1fr; gap:24px; }
 .expertise-proof:nth-child(3) { border-left:0; padding-left:0; }
 .expertise-heading>div>p { font-size:15px; }
 .expertise-people { font-size:11px; gap:7px; }
 .needs-grid h3 { font-size:21px; }
 .leadership-foundation { padding:33px; gap:30px; }
 .leadership-foundation ul { grid-template-columns:1fr; gap:10px; }
 .approach-layout { gap:35px; }
 .person-body { padding:21px 17px; }.person h3 { font-size:21px; }
 .engagement-jumps a { padding:17px 13px; font-size:13px; }
 .journey-steps { grid-template-columns:1fr; gap:0; padding-left:17px; }
 .journey-steps:before { left:0; top:0; bottom:0; right:auto; width:1px; height:auto; }
 .journey-steps details { margin-bottom:12px; }
 .journey-steps summary { flex-wrap:nowrap; gap:20px; padding:19px 23px; }
 .journey-steps summary>.journey-number { width:30px; flex-shrink:0; }
 .journey-steps summary>span:nth-child(2) { width:auto; flex:1; font-size:17px; }
 .journey-steps small { display:inline; margin-left:15px; }
 .journey-steps details>div { padding:0 25px 24px 73px; font-size:14px; }
 .accompaniment-card { padding:28px; }
}
@media(max-width:960px) {
 .expertise-heading { align-items:flex-start; gap:22px; }
 .expertise-people { flex-wrap:wrap; justify-content:flex-end; max-width:210px; }
 .expertise-faces { width:100%; justify-content:flex-end; }
 .needs-grid { grid-template-columns:1fr 1fr; gap:0 27px; }
 .leadership-foundation { grid-template-columns:1fr; }
 .leadership-foundation ul { grid-template-columns:1fr 1fr; }
 .leadership-graphic { max-width:550px; width:100%; margin:0 auto; }
 .home-formats { gap:21px; }.home-formats h3 { font-size:20px; }
 .people-grid { grid-template-columns:1fr 1fr; gap:25px; }.person-photo { height:320px; }.person h3 { font-size:26px; }
 .person-body>p:not(.person-role),.person-robert .person-body>p:not(.person-role) { font-size:14px; min-height:0; }
 .engagement-jumps { grid-template-columns:1fr 1fr; }.engagement-jumps a { font-size:15px; padding:20px; }
 .oe-levels { gap:20px; }.oe-levels h3 { font-size:22px; }
 .accompaniment { grid-template-columns:1fr; }.accompaniment-intro { min-height:0; }
}
@media(max-width:700px) {
 .section-pad { padding-top:52px; padding-bottom:52px; }
 .hero-photo.portrait-studio { object-position:center 19%; border-radius:60px 18px 18px 18px; }
 .photo-outline { border-radius:60px 18px 18px 18px; }
 .expertise-heading { display:block; }.expertise-heading>div>p { font-size:16px; max-width:320px; }
 .expertise-heading .expertise-people { display:flex; flex-wrap:nowrap; justify-content:flex-start; max-width:none; gap:12px; margin-top:18px; font-size:11px; white-space:normal; }
 .expertise-faces { width:auto; flex-shrink:0; }.expertise-faces img { width:31px; height:31px; }
 .expertise-grid { grid-template-columns:1fr 1fr; gap:22px 18px; }
 .expertise-proof,.expertise-proof+.expertise-proof { display:block; padding:0; border:0; }
 .expertise-proof>svg { margin-bottom:8px; }.expertise-proof h3 { font-size:15px; line-height:1.3; }.expertise-proof p { font-size:12px; }
 .early-trust { padding-top:8px; }.trust-quote { padding-top:20px; }
 .logo-item { width:145px; height:85px; padding:10px; }.logo-run { gap:20px; padding-right:20px; }.logo-item img { max-width:125px; height:55px; }
 .logo-controls { gap:8px; flex-wrap:wrap; }#logo-status { font-size:10px; }#logo-pause { font-size:10px; padding:8px 4px; }
 .needs { padding-bottom:20px; }.needs .section-top { display:block; }
 .needs-grid { grid-template-columns:1fr; gap:0; }.needs-grid>a { padding:23px 26px 23px 0; }.needs-grid h3 { font-size:22px; max-width:none; }.needs-grid p { font-size:14px; margin-top:11px; }
 .topics { padding-top:36px; padding-bottom:28px; }
 .leadership-foundation { margin-top:40px; padding:29px 24px; border-radius:23px; gap:31px; display:grid; }
 .leadership-copy h3 { font-size:29px; line-height:1.16; }.leadership-copy>p:not(.eyebrow) { font-size:14px; }
 .leadership-foundation ul { grid-template-columns:1fr; gap:12px; font-size:13px; }.leadership-copy>.text-button { font-size:12px; }
 .leadership-node { padding:16px; }.leadership-node>span,.leadership-robert span { font-size:14px; }.leadership-node strong { font-size:11px; }
 .leadership-robert { padding:17px 14px; gap:11px; }.leadership-robert img { width:43px; height:43px; }
 .leadership-branches { gap:10px; }.leadership-branches .leadership-node { padding:16px 9px; }.leadership-branches .leadership-node>span { font-size:12px; }
 .leadership-feedback { font-size:10px; }.connection-label { font-size:9px; }
 .approach { padding-top:29px; }.approach-layout { display:flex; flex-direction:column; gap:32px; margin-top:29px; }
 .process-caption { margin-bottom:22px; }.process-path li { grid-template-columns:34px 1fr; gap:14px; padding-bottom:25px; }.process-path h3 { font-size:20px; }.process-path p { font-size:14px; }.process-more { margin-left:48px; font-size:12px; }
 .example-box { padding:25px 22px; border-radius:22px; }.example-tabs { gap:6px; }.example-tabs button { font-size:12px; padding:9px 11px; }.example-heading { font-size:24px; }
 .home-formats { grid-template-columns:1fr; gap:25px; margin-top:35px; }.home-formats>a { padding-top:22px; }.home-formats h3 { font-size:24px; }.home-formats p { font-size:15px; }.home-formats svg { margin-bottom:12px; }
 .people { padding-top:20px; }.people-grid { gap:17px; }.person-photo { height:225px; }.person-body { padding:20px 16px; }.person h3 { font-size:22px; }.person-role { font-size:10px; min-height:45px; }
 .person-body>p:not(.person-role),.person-robert .person-body>p:not(.person-role) { font-size:13px; }.person .text-button { font-size:12px; }
 .testimonials { padding-top:25px; }.reference-layout { border-radius:21px; }
 .engagement-jumps { gap:10px; padding-bottom:18px; }.engagement-jumps a { font-size:13px; padding:16px 13px; }.engagement-jumps span { font-size:10px; }
 .oe-levels { grid-template-columns:1fr; gap:12px; }.oe-levels article { padding:20px 0; }.oe-levels h3 { font-size:25px; }.oe-levels p { font-size:15px; }.level-number { margin-bottom:12px; }
 .oe-responsibility { padding:24px; gap:13px; }.oe-responsibility svg { width:23px; height:23px; }.oe-responsibility p { font-size:14px; }
 .journey { margin-top:35px; }.journey-heading h3 { font-size:28px; }.journey-heading>p:last-child { font-size:14px; }
 .journey-steps summary { gap:12px; padding:18px 15px; }.journey-steps summary>.journey-number { width:22px; }.journey-steps summary>span:nth-child(2) { font-size:16px; }.journey-steps small { display:block; margin:5px 0 0; font-size:11px; }.journey-steps details>div { padding:0 20px 23px; font-size:14px; }.journey-return { font-size:11px; }
 .accompaniment { padding-top:15px; gap:23px; }.accompaniment-card { padding:26px 23px; border-radius:22px; }.accompaniment-card h2 { font-size:30px; }.accompaniment-intro { font-size:19px; }.accompaniment-card>p:not(.accompaniment-intro) { font-size:14px; }.accompaniment-card summary { font-size:14px; }
 .specialisms-intro { padding-top:20px; }.specialisms-intro h2 { font-size:30px; }.specialisms-intro>p:last-child { font-size:15px; }
 .sub-cta { border-radius:25px 25px 0 0; }
}
@media(max-width:480px) {
 .people-grid { grid-template-columns:1fr; gap:23px; }.person-photo { height:330px; }.person-body { padding:25px; }.person-role { min-height:0; font-size:11px; }.person h3 { font-size:28px; }.person-body>p:not(.person-role),.person-robert .person-body>p:not(.person-role) { font-size:15px; }.person .text-button { font-size:14px; }
 .engagement-jumps { grid-template-columns:1fr 1fr; }.engagement-jumps a { font-size:12px; overflow-wrap:anywhere; }
}

/* Portraits share a framing system, with individual face coordinates in portraits.js. */
/* Selected brand motifs, decorative only: never intercept content or interaction. */
.hero,.subhero,.contact,.collaboration,.organisation-section { position:relative; isolation:isolate; }
.hero::before,.subhero::before,.contact::before,.collaboration::before,.organisation-section::before {
 content:""; position:absolute; pointer-events:none; z-index:-1;
 background:url("assets/slw-symbol.png") center/contain no-repeat;
 width:clamp(290px,36vw,550px); aspect-ratio:1; opacity:.055;
}
.hero::before,.subhero::before { left:-115px; top:26px; transform:rotate(-12deg); }
.contact::before { left:-115px; bottom:10px; width:440px; opacity:.065; transform:rotate(14deg); }
.collaboration::before { right:-160px; top:25px; width:560px; opacity:.065; }
.organisation-section::before { right:-150px; top:60px; width:540px; opacity:.05; }
.engagement-jumps { background:linear-gradient(180deg,#e3f1f4,#fff); }
@media(min-width:1640px) {
 .hero,.expertise-strip,.early-trust,.needs,.topics,.people,.contact,
 .subhero,.story-section,.expert-gallery,.collaboration,.organisation-section,
 .accompaniment,.specialisms-intro,.engagement-jumps {
  max-width:none; padding-left:max(var(--gutter),calc((100vw - 1440px)/2));
  padding-right:max(var(--gutter),calc((100vw - 1440px)/2));
 }
}
@media(max-width:700px) {
 .hero::before,.subhero::before { width:330px; left:-150px; top:10px; opacity:.045; }
 .contact::before { width:300px; left:-125px; bottom:15px; opacity:.055; }
 .collaboration::before,.organisation-section::before { width:330px; right:-170px; opacity:.05; }
 .approach .watermark { width:430px; right:-240px; top:80px; opacity:.05; }
}
.portrait-frame { display:block; position:relative; overflow:hidden; min-width:0; background:#dcebef; flex-shrink:0; }
.portrait-frame>img { position:absolute!important; max-width:none!important; min-height:0!important; padding:0!important; margin:0!important; border:0!important; border-radius:0!important; object-fit:fill!important; transform:none!important; transition:none!important; }
.portrait-avatar { width:40px; height:40px; border-radius:50%; border:2px solid white; }
.detail-avatars,.expertise-faces,.signature-pair { align-items:center; flex-shrink:0; }
.detail-avatars .portrait-avatar { margin-left:-7px; }.detail-avatars .portrait-avatar:first-child { margin-left:0; }
.expertise-faces .portrait-avatar { width:36px; height:36px; margin-left:-7px; }
.expert-signature .portrait-avatar { width:47px; height:47px; margin-top:0; }
.signature-pair .portrait-avatar { margin-left:-5px; }
.leadership-robert .portrait-avatar { width:52px; height:52px; }
.contact-person .portrait-avatar { width:90px; height:90px; }
.portrait-editorial { width:100%; height:100%; border-radius:inherit; }
.person-photo .portrait-editorial,.topic-portraits .portrait-editorial,.offer-pair .portrait-editorial { border-radius:0; }
.people-mosaic a>.portrait-frame { position:relative; inset:auto; padding:0; margin:0; width:100%; height:100%; border-radius:0; }
.expert-profile>.portrait-frame { height:360px; flex-shrink:0; border-radius:0; }
.profile-layout>.portrait-frame { height:auto; min-height:420px; border-radius:0; }
.personal-signature { color:var(--blue); font-size:12px; margin:-7px 0 25px; }
.collaboration-circle { padding:42px; border-radius:32px; background:radial-gradient(ellipse at 50% 0%,#e1f1f4,transparent 70%),linear-gradient(135deg,#f2f8f8,#fff); border:1px solid var(--line); }
.circle-intention { text-align:center; max-width:680px; margin:auto; }
.circle-intention .eyebrow { display:block; margin-bottom:13px; }
.circle-intention h3 { font-size:30px; line-height:1.2; margin:0 0 16px; }
.circle-intention p { font-size:16px; color:var(--muted); margin:0; }
.circle-people { display:grid; grid-template-columns:repeat(4,1fr); gap:24px; margin:34px 0; padding:32px 0; border-top:1px solid var(--line); border-bottom:1px solid var(--line); }
.circle-person { display:flex; flex-direction:column; align-items:center; gap:13px; text-align:center; text-decoration:none; border-radius:16px; padding:15px 8px; transition:background .2s; }
.circle-person:hover { background:#e3f0f2; }
.circle-person .portrait-avatar { width:90px; height:90px; border:3px solid white; box-shadow:0 5px 20px #08324612; }
.circle-person strong { font-size:18px; line-height:1.2; }
.circle-person>span:not(.portrait-frame) { font-size:12px; color:var(--muted); line-height:1.6; }
.collaboration-rhythm { padding:0; margin:0; display:grid; grid-template-columns:repeat(4,1fr); gap:18px; list-style:none; }
.collaboration-rhythm li { display:flex; align-items:center; gap:10px; font-size:13px; }
.collaboration-rhythm li>span { display:grid; place-items:center; width:29px; height:29px; border:1px solid #95bbc5; border-radius:50%; font-size:10px; color:var(--blue); flex-shrink:0; }
.circle-note { text-align:center; color:var(--muted); margin:25px 0 0; font-size:13px; }
@media(max-width:960px) {
 .expert-profile>.portrait-frame { height:300px; }
 .collaboration-circle { padding:30px; }.circle-people { gap:12px; }.circle-person strong { font-size:16px; }
 .collaboration-rhythm { grid-template-columns:1fr 1fr; gap:17px; }
}
@media(max-width:700px) {
 .expertise-faces .portrait-avatar { width:31px; height:31px; }
 .expert-signature .portrait-avatar { width:42px; height:42px; }
 .leadership-robert .portrait-avatar { width:43px; height:43px; }
 .expert-profile>.portrait-frame { height:320px; }
 .profile-layout>.portrait-frame { height:255px; min-height:0; }
 .collaboration-circle { padding:27px 19px; border-radius:23px; }
 .circle-intention h3 { font-size:26px; }.circle-intention p { font-size:14px; }
 .circle-people { grid-template-columns:1fr 1fr; gap:16px 10px; margin:25px 0; padding:22px 0; }
 .circle-person { padding:8px 0; gap:11px; }.circle-person .portrait-avatar { width:76px; height:76px; }
 .circle-person strong { font-size:16px; }.circle-person>span:not(.portrait-frame) { font-size:11px; }
 .collaboration-rhythm { gap:16px 10px; }.collaboration-rhythm li { font-size:11px; gap:7px; }
 .collaboration-rhythm li>span { width:24px; height:24px; font-size:9px; }.circle-note { font-size:12px; }
}
