.who .section-inner{display:block}.who .section-title{max-width:760px}.who .section-intro{max-width:850px}.audience-options{display:flex;align-items:center;flex-wrap:wrap;gap:18px;padding:16px 0;margin:24px 0;font:12px Inter,sans-serif;border-block:1px solid #ded5c4}.audience-options span{color:#806427;text-transform:uppercase;letter-spacing:.1em}.audience-options a{color:#17253e;text-decoration:none;padding:7px 0}.audience-options a[aria-current]{border-bottom:2px solid #c9a84c;font-weight:700}.audience-visual{position:relative;min-height:450px;background:#17253e;overflow:hidden}.audience-visual img{position:absolute;width:100%;height:100%;object-fit:cover;object-position:center 42%}.audience-a .audience-visual:after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,rgba(23,37,62,.02) 25%,rgba(23,37,62,.65) 62%,#17253e 100%)}.audience-names{position:relative;z-index:1;color:white;font:24px/1.3 'Playfair Display',serif}.audience-a .audience-names{display:grid;grid-template-columns:repeat(4,1fr);gap:26px;padding:290px 36px 38px}.audience-names>div{border-top:2px solid #c9a84c;padding-top:16px}.audience-b .audience-visual{display:grid;grid-template-columns:1.15fr 1fr;min-height:450px}.audience-b .audience-visual img{position:relative;height:100%;min-height:450px;object-position:66% center}.audience-b .audience-names{padding:28px 40px;display:flex;flex-direction:column;justify-content:center;gap:22px;font-size:25px}.audience-b .audience-names>div{border:0;border-bottom:1px solid #c9a84c66;padding:0 0 20px}.audience-b .audience-names>div:last-child{border:0;padding-bottom:0}.audience-descriptions{display:grid;grid-template-columns:repeat(4,1fr);gap:30px;margin-top:32px}.audience-descriptions h3{font:18px/1.4 'Playfair Display',serif;margin-bottom:12px}.audience-descriptions p{font:14px/1.8 Inter,sans-serif;color:#4d5866}.who{padding-top:54px}.who .section-title{font-size:2.5rem}.who .section-title br{display:none}
@media(max-width:900px){.audience-a .audience-names{grid-template-columns:repeat(2,1fr);padding-top:240px}.audience-descriptions{grid-template-columns:repeat(2,1fr)}.audience-b .audience-names{padding:28px;font-size:21px}}
@media(max-width:600px){.audience-options{gap:12px}.audience-options span{width:100%}.audience-a .audience-names{grid-template-columns:1fr;padding:220px 24px 28px;gap:18px;font-size:22px}.audience-visual img{object-position:65% center}.audience-a .audience-visual:after{background:linear-gradient(180deg,transparent,#17253eee 45%,#17253e)}.audience-b .audience-visual{display:block}.audience-b .audience-visual img{height:240px;min-height:0;display:block}.audience-b .audience-names{padding:28px}.audience-descriptions{grid-template-columns:1fr;gap:24px}.who .section-title{font-size:2rem}}
@media(max-width:600px){.audience-a .audience-visual img{height:300px;object-position:65% center}.audience-a .audience-visual:after{background:linear-gradient(180deg,transparent 120px,#17253e 300px)}.audience-a .audience-names{padding-top:260px}}

/* Refined option B: audience descriptions belong with their headings. */
.audience-b .audience-names{gap:20px;padding:34px 38px}
.audience-b .audience-names h3{font:24px/1.25 'Playfair Display',serif;color:white;margin:0 0 10px}
.audience-b .audience-names p{font:14px/1.7 Inter,sans-serif;color:#d8dfe7;margin:0}
.audience-b .audience-visual{grid-template-columns:1fr 1fr}
.audience-b .audience-visual img{object-position:67% center}
@media(max-width:900px){.audience-b .audience-names{padding:28px}.audience-b .audience-names h3{font-size:22px}}
@media(max-width:600px){.audience-b .audience-names{padding:28px 24px}.audience-b .audience-visual img{height:260px;object-position:70% center}}

/* Shift the crop right, prioritising the group over the left wall. */
.audience-b .audience-visual img{object-position:100% center}
/* Keep all five participants visible: show the complete photograph. */
.audience-b .audience-visual{grid-template-columns:1.2fr 1fr;align-items:center}
.audience-b .audience-visual img{position:relative;width:100%;height:auto;min-height:0;object-fit:contain;object-position:center;display:block}
@media(max-width:600px){.audience-b .audience-visual img{height:auto;min-height:0;object-fit:contain}}
/* Full-bleed image alongside the audience panel. */
.audience-b .audience-visual{align-items:stretch}
.audience-b .audience-visual img{height:100%;object-fit:cover;object-position:100% center;min-height:0}
@media(max-width:600px){.audience-b .audience-visual img{height:auto;object-fit:contain}}
/* Align the introductory heading with the photograph below. */
.audience-b .section-title{max-width:calc(100% * 1.2 / 2.2)}
@media(max-width:600px){.audience-b .section-title{max-width:100%}}
/* Keep title and introduction together above the photo column. */
.audience-b .section-title,.audience-b .section-intro{max-width:calc(100% * 1.2 / 2.2)}
@media(max-width:600px){.audience-b .section-title,.audience-b .section-intro{max-width:100%}}
/* Introduction spans the complete image-and-text frame. */
.audience-b .section-title,.audience-b .section-intro{width:100%;max-width:none}
/* Services: a simple stack of numbered index cards. */
.service-index{margin-top:40px;display:flex;flex-direction:column;gap:12px}
.service-index-item{background:#fff;border:1px solid #ded5c4;border-top:3px solid #c9a84c;border-radius:5px;box-shadow:0 3px 0 #e6dece;overflow:hidden}
.service-index-item summary{display:flex;align-items:center;gap:28px;padding:25px 30px;list-style:none;cursor:pointer;color:#17253e}
.service-index-item summary::-webkit-details-marker{display:none}
.index-number{font:500 15px Inter,sans-serif;color:#806427;align-self:flex-start;padding-top:5px;min-width:28px}
.index-intro{flex:1;display:block}.index-title{display:block;font:26px/1.3 'Playfair Display',serif;margin-bottom:8px}.index-blurb{display:block;font:15px/1.7 Inter,sans-serif;color:#4d5866;max-width:900px}
.index-toggle{width:42px;height:42px;flex:0 0 42px;border:1px solid #c9a84c;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#17253e;font:300 27px/1 Inter,sans-serif}.index-toggle:before{content:'+'}.service-index-item[open] .index-toggle:before{content:'−'}
.service-index-item summary:hover{background:#fbf9f4}.service-index-item summary:focus-visible{outline:2px solid #17253e;outline-offset:-5px}
.index-body{margin:0 100px 0 86px;padding:0 0 28px}.index-body>p{font:15px/1.8 Inter,sans-serif;color:#4d5866;max-width:900px;border-top:1px solid #e6dece;padding-top:20px}.index-body .service-tags{margin-top:18px;display:flex;gap:8px;flex-wrap:wrap}
@media(max-width:600px){.service-index-item summary{padding:22px 18px;gap:12px}.index-title{font-size:22px}.index-blurb{font-size:14px}.index-number{font-size:12px;min-width:20px}.index-toggle{width:34px;height:34px;flex-basis:34px;font-size:24px}.index-body{margin:0 24px 0 50px}.index-body>p{font-size:14px}}

.services .section-intro{max-width:none;width:100%}

.service-support-note{font:15px/1.7 Inter,sans-serif;color:#17253e;margin:28px 0 0;padding-top:20px;border-top:1px solid #c9a84c}
/* Qualifications: restrained alternating cream panels. */
.credentials .cred-grid{gap:16px}
.credentials .cred-item{background:#f3eee4;padding:22px 24px;border-top:2px solid #c9a84c;border-radius:4px}
.credentials .cred-item:nth-child(even){background:#f8f5ef}
.credentials .cred-item h4{color:#17253e}
@media(max-width:600px){.credentials .cred-item{padding:20px}}

#work .hf-eyebrow{color:#8a7336}

.credentials .section-intro + .section-intro{margin-top:16px}
@media(min-width:769px){.credentials .cred-recent,.credentials .cred-foundation{grid-template-columns:repeat(3,minmax(0,1fr))}}

/* Spacious, touch-friendly phone navigation. */
@media(max-width:768px){
 nav{height:184px}
 nav .nav-links{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-template-rows:repeat(2,44px);gap:0 8px;flex:0 0 88px}
 nav .nav-links a{font-size:13px;min-height:44px;white-space:nowrap}
 .hero{padding-top:220px}
 section[id],#work{scroll-margin-top:200px}
 .contact a{overflow-wrap:anywhere}
}

.audience-b .audience-visual{margin-top:32px}
@media(max-width:768px){nav .nav-links li:has(a[href="#how"]){display:none}}

@media(max-width:768px){
 nav{height:144px;padding-inline:12px}
 nav .nav-links{display:flex;justify-content:space-between;gap:4px;flex:0 0 48px}
 nav .nav-links a{font-size:12px;white-space:nowrap;min-height:44px;letter-spacing:0}
 .hero{padding-top:180px}
 section[id],#work{scroll-margin-top:160px}
}
@media(max-width:359px){nav .nav-links a{font-size:11px}}

@media(max-width:768px){
 .how-step{display:grid;grid-template-columns:44px minmax(0,1fr);gap:12px 16px;align-items:center}
 .how-step-num{margin:0;width:44px;height:44px}
 .how-step h3{margin:0}
 .how-step p{grid-column:2;margin:0}
}

