:root{--ink:#2c2b2b;--rose:#b76e79;--rose-dark:#8c4854;--cream:#f9f1e6;--paper:#fffdf9;--muted:#605a59;--line:#d9d1cc;--soft:#eae5e3}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:2rem}body{margin:0;background:var(--paper);color:var(--ink);font-family:Arial,Helvetica,sans-serif;font-size:17px;line-height:1.65}img{display:block;max-width:100%;height:auto}a{color:inherit;text-decoration:none}a:hover{text-decoration:underline;text-underline-offset:6px}button{font:inherit}a,button{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible{outline:3px solid var(--rose);outline-offset:6px}h1,h2,h3,p,figure,dl,dd{margin:0}p+p{margin-top:1.2rem}h1,h2,h3{line-height:1.12;font-weight:500;letter-spacing:-.045em}h2{font-size:clamp(2.25rem,4vw,3.75rem)}h3{font-size:1.65rem;letter-spacing:-.03em}p{max-width:65ch}.wrap{width:min(1280px,calc(100% - 112px));margin-inline:auto}.section{padding:110px 0}.eyebrow{font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.16em;line-height:1.5;margin-bottom:24px}.header,.hero,.why,.footer{background:var(--ink);color:var(--cream)}.header-inner{display:flex;justify-content:space-between;align-items:center;min-height:108px;border-bottom:1px solid #ffffff26}.logo{display:block;width:118px;height:100px;overflow:hidden;position:relative;flex-shrink:0}.logo img{width:130px;max-width:none;position:absolute;left:-6px;top:-15px}.header nav{display:flex;align-items:center;gap:30px;font-size:.9rem}.header a[aria-current]{color:#e1a2ac}.nav-contact{border:1px solid #a49b94;padding:9px 18px;border-radius:3px;margin-left:14px}.nav-contact span{margin-left:25px}.hero{padding:65px 0 90px}.hero-grid{display:grid;grid-template-columns:1.4fr 1fr;gap:55px;align-items:center}.hero h1{font-size:clamp(3.3rem,5.5vw,5rem);line-height:1.05;margin-bottom:30px;max-width:850px}.hero h1 span{color:#d8939f}.hero-copy>p:not(.eyebrow){font-size:1rem;color:#e1dcd6;max-width:610px}.hero-intro{font-size:1.1rem!important}.hero-visual img{width:100%}.hero-visual p{border-top:1px solid #ffffff33;margin:30px 10% 0;padding-top:20px;font-size:.9rem;color:#d9ceca;line-height:1.5}.actions{display:flex;align-items:center;gap:32px;margin-top:34px}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:44px;padding:15px 23px;background:var(--rose-dark);color:#fff;border-radius:3px;font-weight:600;font-size:.95rem;transition:background .2s}.button:hover{background:var(--rose-dark);text-decoration:none}.button span{font-size:1.3rem}.text-link{display:inline-flex;gap:35px;align-items:center;font-size:.95rem;padding:12px 0;border-bottom:1px solid currentColor;font-weight:600}.split{display:grid;grid-template-columns:1fr 1.15fr;gap:120px}.split h2{margin-bottom:27px}.split>div>p:last-child{color:var(--muted)}.sector-list>div{padding:18px 0;border-top:1px solid var(--line);display:grid;grid-template-columns:1fr 1.2fr;gap:28px}.sector-list>div:first-child{padding-top:0;border-top:0}.sector-list dt{font-weight:600;font-size:1rem;line-height:1.45}.sector-list dd{font-size:.9rem;color:var(--muted);line-height:1.55}.services{background:var(--soft)}.section-heading{display:flex;justify-content:space-between;gap:80px;align-items:flex-end;margin-bottom:60px}.section-heading>p{max-width:450px;color:var(--muted)}.service{display:grid;grid-template-columns:40px 1fr 1.55fr 26px;gap:25px;padding:34px 0;border-top:1px solid #bbb0ad;position:relative;align-items:start}.service h3{font-size:clamp(1.5rem,2.5vw,2.2rem)}.service p{font-size:.98rem;line-height:1.65}.service .details{font-size:.8rem;color:var(--muted);margin-top:16px;line-height:1.8}.number{color:var(--rose-dark);font-size:.8rem;padding-top:7px}.service-arrow{font-size:1.5rem;color:var(--rose-dark)}.services>.wrap>.text-link{margin-top:20px}.projects{display:grid;grid-template-columns:1.12fr 1fr;gap:40px}.project:nth-child(2){padding-top:80px}.project-image{height:360px;display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden;border:1px solid var(--line)}.project-image img{object-fit:contain;width:70%;max-height:70%;transition:transform .3s}.project-image:hover img{transform:scale(1.03)}.hospital{background:#eff3f7}.brain{background:#fff}.placeholder-label{position:absolute;bottom:16px;left:20px;font-size:.75rem;color:var(--muted);letter-spacing:.02em}.project-type{font-size:.78rem;color:var(--muted);margin-top:22px;margin-bottom:8px}.project h3{font-size:1.65rem;line-height:1.25}.project h3 span{float:right;color:var(--rose-dark)}.third-project{display:flex;gap:30px;align-items:center;padding:25px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin:45px 0 25px}.third-project .eyebrow{margin:0}.third-project p{font-size:.9rem}.third-project p span{color:var(--muted)}.why-grid{display:grid;grid-template-columns:1.12fr 1fr;gap:80px}.why h2{line-height:1.18}.why h2 span{color:#d8939f}.why-grid>div{color:#d9d2cb;font-size:1rem}.why-grid .lead{font-size:1.25rem;color:var(--cream)}.reasons{display:grid;grid-template-columns:1fr 1fr 1fr;gap:48px;margin-top:70px;border-top:1px solid #ffffff38;padding-top:35px}.reasons article{border-left:2px solid var(--rose);padding-left:23px}.reasons h3{font-size:1.2rem;letter-spacing:-.01em;line-height:1.4;margin-bottom:15px}.reasons p{font-size:.9rem;color:#d9d2cb}.award-grid{display:grid;grid-template-columns:1.3fr 1fr;gap:65px;align-items:center}.award-photo img{width:100%;border-radius:2px}.award-copy h2{font-size:clamp(1.65rem,2.6vw,2.5rem);line-height:1.2}.award-copy p{font-size:.88rem;margin-top:18px;color:var(--muted)}.secondary-award{border-top:1px solid var(--line);margin-top:30px;padding-top:25px}.secondary-award h3{font-size:1.35rem;line-height:1.3}.secondary-award p{margin-top:8px}.consultancy-award{display:flex;align-items:center;gap:28px;border-top:1px solid var(--line);padding-top:30px;margin-top:35px}.consultancy-award img{width:92px;height:130px;object-fit:contain;background:#eee}.consultancy-award h3{font-size:1.25rem;letter-spacing:-.02em}.consultancy-award p{font-size:.85rem;color:var(--muted);margin-top:8px}.testimonials{background:#f1e8e5}.quotes{display:grid;grid-template-columns:1fr 1fr;gap:80px}.quote-main{position:relative;padding-right:40px;border-right:1px solid #cbbab6}.quote-mark{font-family:Georgia,serif;font-size:7rem;line-height:.9;color:var(--rose-dark)}.quote-main blockquote{font-size:1.5rem;line-height:1.55;letter-spacing:-.02em}.quote blockquote{margin:0}.quote figcaption{display:flex;flex-direction:column;margin-top:25px;font-size:.88rem;line-height:1.6}.quote figcaption span{color:var(--muted)}.quote-stack{display:grid;gap:35px}.quote-stack .quote+.quote{padding-top:30px;border-top:1px solid #cbbab6}.quote-stack blockquote{font-size:1rem;line-height:1.7}.contact{background:var(--rose-dark);color:var(--cream)}.contact-grid{display:flex;align-items:center;justify-content:space-between;gap:80px}.contact h2{font-size:clamp(2.4rem,4.5vw,4.2rem)}.contact p{max-width:650px;margin-top:25px;color:#f5e4e7;font-size:1rem}.button-light{background:var(--cream);color:var(--ink);flex-shrink:0}.button-light:hover{background:#fff}.footer{padding:60px 0 25px}.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:50px;padding-bottom:60px}.footer-brand .logo{margin-bottom:12px}.footer-brand p{font-size:.95rem;color:#d5cec8}.email{display:inline-block;margin-top:20px;font-size:.9rem;overflow-wrap:anywhere}.footer nav{display:flex;flex-direction:column;align-items:flex-start;gap:10px;padding-top:25px;font-size:.88rem}.footer nav h2{font-size:.75rem;text-transform:uppercase;letter-spacing:.15em;font-weight:700;margin-bottom:12px;color:#dc9fab}.footer-bottom{border-top:1px solid #ffffff2a;padding-top:25px;display:flex;justify-content:space-between;gap:35px;font-size:.72rem;color:#c4bab3}.footer-bottom p+p{margin-top:8px}.footer-bottom a{text-decoration:underline;text-underline-offset:3px}.legal{display:flex;flex-wrap:wrap;justify-content:flex-end;align-content:flex-start;gap:10px 20px;max-width:430px}.skip{position:fixed;top:-100px;left:15px;padding:12px;background:white;color:#222;z-index:10}.skip:focus{top:12px}.menu-toggle{display:none;background:none;color:var(--cream);border:1px solid #aaa;padding:6px 14px;border-radius:3px}.menu-toggle[hidden]{display:none}
@media(min-width:1600px){.hero h1{font-size:5.4rem}}
@media(max-width:1100px){.wrap{width:calc(100% - 64px)}.header nav{gap:20px}.hero-grid{gap:25px;grid-template-columns:1.4fr 1fr}.hero h1{font-size:3.8rem}.split{gap:60px}.sector-list>div{display:block}.sector-list dd{margin-top:5px}.section{padding:80px 0}.why-grid,.quotes{gap:45px}.award-grid{gap:35px}.service{grid-template-columns:25px 1fr 1.5fr 20px;gap:15px}.project-image{height:290px}}
@media(max-width:760px){.wrap{width:calc(100% - 40px)}.section{padding:65px 0}.header-inner{flex-wrap:wrap;min-height:90px}.header .logo{height:85px;width:100px}.header .logo img{width:112px;top:-13px}.menu-toggle:not([hidden]){display:block}.header nav{width:100%;flex-wrap:wrap;gap:12px 22px;padding:15px 0 25px;font-size:1rem}.js .header nav:not(.is-open){display:none}.header .nav-contact{margin:0;padding:5px 12px}.hero{padding:40px 0 55px}.hero-grid{grid-template-columns:1fr;gap:35px}.hero h1{font-size:clamp(2.75rem,9.8vw,4rem);max-width:620px}.hero-copy>p:not(.eyebrow){font-size:1rem}.hero-visual{display:flex;align-items:center;gap:15px}.hero-visual img{width:50%;max-width:240px}.hero-visual p{margin:0;width:50%;font-size:.82rem;padding-top:15px}.actions{gap:25px}.button{gap:30px}.split,.why-grid,.award-grid,.quotes{grid-template-columns:1fr;gap:35px}.split h2{max-width:500px}.sector-list>div{display:grid;grid-template-columns:1fr 1.2fr;gap:20px}.section-heading{display:block;margin-bottom:35px}.section-heading>p{margin-top:25px;max-width:620px}.service{grid-template-columns:24px 1fr 20px;padding:25px 0}.service h3{font-size:1.8rem}.service>div{grid-column:2/4}.service-arrow{position:absolute;right:0;top:22px}.projects{grid-template-columns:1fr;gap:35px}.project:nth-child(2){padding-top:0}.project-image{height:310px}.third-project{display:block}.third-project p{margin-top:10px}.reasons{grid-template-columns:1fr;gap:28px;margin-top:40px}.award-copy h2{font-size:2rem}.consultancy-award{gap:20px}.quote-main{padding:0 0 35px;border-right:0;border-bottom:1px solid #cbbab6}.quote-main blockquote{font-size:1.35rem}.contact-grid{display:block}.contact .button{margin-top:30px}.footer-grid{grid-template-columns:1fr 1fr;gap:20px}.footer-brand{grid-column:1/-1}.footer-bottom{display:block;font-size:.78rem}.legal{justify-content:flex-start;margin-top:25px;max-width:none}.footer{padding-top:35px}h2{font-size:2.45rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

/* Brand palette and WCAG 2.2 AA accessibility refinements. */
:root {
  --ink: #333333;
  --rose: #B76E79;
  --rose-dark: #333333;
  --cream: #DAD7CD;
  --sand: #DAD7CD;
  --sage: #A3B18A;
  --paper: #ffffff;
  --soft: #DAD7CD;
  --muted: #333333;
  --line: #b5b2aa;
  --header-height: 7rem;
}
html { scroll-padding-top: calc(var(--header-height) + 1.5rem); }
body { font-size: 1.1875rem; }
.header { position: sticky; top: 0; z-index: 20; max-height: 50svh; overflow-y: auto; }
.header-inner { gap: 1.5rem; }
.header nav { font-size: 1.1875rem; gap: clamp(1rem, 2vw, 1.875rem); }
.header nav a { min-height: 44px; display: inline-flex; align-items: center; }
.header a[aria-current] { color: var(--sand); text-decoration: underline; text-decoration-thickness: 2px; text-underline-offset: 8px; }
.nav-contact { border-color: var(--sage); }
.hero h1 span, .why h2 span { color: var(--rose); }
.hero-copy > p:not(.eyebrow), .hero-intro,
.service p, .sector-list dd, .reasons p, .why-grid > div,
.quote-stack blockquote, .contact p { font-size: 1.1875rem !important; line-height: 1.7; }
.hero-copy > p:not(.eyebrow), .hero-visual p, .why-grid > div,
.reasons p, .footer-brand p, .footer-bottom, .footer nav h2 { color: var(--sand); }
.hero-visual p, .service .details, .project-type, .third-project p,
.award-copy p, .consultancy-award p, .quote figcaption,
.footer-brand p, .email, .footer nav { font-size: 1rem; }
.service .details { font-size: 1rem !important; }
.eyebrow, .placeholder-label, .number, .footer nav h2, .footer-bottom { font-size: .875rem; }
.sector-list dt { font-size: 1.125rem; }
.why-grid .lead { font-size: 1.375rem !important; }
.button, .text-link { font-size: 1.125rem; min-height: 44px; }
.button { background: var(--sand); color: var(--ink); }
.button:hover { background: var(--sage); color: var(--ink); }
.contact { background: var(--sage); color: var(--ink); }
.contact p { color: var(--ink); }
.contact .button { background: var(--ink); color: var(--sand); }
.contact .button:hover { background: var(--sand); color: var(--ink); }
.testimonials { background: var(--sand); }
.reasons article { border-color: var(--sage); }
.hospital { background: var(--sand); }
.footer nav a, .legal a { min-height: 28px; }
.menu-toggle { min-width: 88px; min-height: 44px; border-color: var(--sand); font-size: 1.125rem; }
:where(a, button, [tabindex]):focus-visible {
  outline: 3px solid #ffffff;
  outline-offset: 2px;
  box-shadow: 0 0 0 7px #333333;
}
.skip { z-index: 30; }
#main:focus { outline: none; }
:where(h1, h2, h3, p, dt, dd, a) { overflow-wrap: anywhere; }
:where(.hero-grid, .split, .why-grid, .award-grid, .quotes, .footer-grid, .service) > * { min-width: 0; }
.actions { flex-wrap: wrap; }
.placeholder-label { right: 20px; }
.project-image { min-height: 310px; height: auto; aspect-ratio: 1.5; }
@media (max-width: 1000px) {
  .header-inner { flex-wrap: wrap; min-height: 90px; }
  .header .logo { height: 85px; width: 100px; }
  .header .logo img { width: 112px; top: -13px; }
  .menu-toggle:not([hidden]) { display: block; }
  .header nav { width: 100%; flex-wrap: wrap; gap: 10px 24px; padding: 5px 0 20px; font-size: 1.1875rem; }
  .js .header nav:not(.is-open) { display: none; }
  .header .nav-contact { margin: 0; padding: 5px 12px; }
}
@media (max-width: 760px) {
  .hero-copy > p:not(.eyebrow) { font-size: 1.1875rem; }
  .hero h1 { font-size: clamp(2.4rem, 9.8vw, 4rem); }
  .hero-visual p { font-size: 1rem; }
  .sector-list > div { grid-template-columns: 1fr; gap: 6px; }
  .sector-list dd { margin-top: 0; }
  .consultancy-award { align-items: flex-start; }
  .consultancy-award img { flex-shrink: 0; width: 75px; }
  .footer-bottom { font-size: .875rem; }
  .legal { gap: 14px 20px; }
}
@media (max-width: 380px) {
  .footer-grid { grid-template-columns: 1fr; }
  .project-image { min-height: 260px; }
}
@media (forced-colors: active) {
  a:focus-visible, button:focus-visible { outline: 3px solid Highlight; }
  .button, .menu-toggle { border: 1px solid ButtonText; }
}

/* Compact editorial portfolio: genuine client identities, no image placeholders. */
.work-list { border-top: 1px solid var(--line); margin-bottom: 32px; }
.work-entry { border-bottom: 1px solid var(--line); }
.work-entry-link { display: grid; grid-template-columns: 190px minmax(0, 1fr) auto; align-items: center; gap: 42px; padding: 30px 12px; }
.work-entry-link:hover { text-decoration: none; background: #DAD7CD; }
.work-entry-link:hover h3, .work-entry-link:focus-visible h3 { text-decoration: underline; text-underline-offset: 6px; }
.work-logo { background: #fff; padding: 12px; min-height: 130px; display: flex; align-items: center; justify-content: center; }
.work-logo img { width: 100%; height: 108px; object-fit: contain; }
.work-entry .project-type { margin: 0 0 12px; font-size: 1rem; }
.work-entry h3 { font-size: clamp(1.5rem, 2.4vw, 2rem); line-height: 1.25; max-width: 680px; }
.work-read { display: flex; align-items: center; gap: 22px; font-size: 1rem; white-space: nowrap; text-decoration: underline; text-underline-offset: 5px; }
.work-read span { font-size: 1.5rem; }
@media (max-width: 1000px) {
  .work-entry-link { grid-template-columns: 145px minmax(0, 1fr); gap: 18px 28px; }
  .work-read { grid-column: 2; }
  .work-logo { grid-row: span 2; }
}
@media (max-width: 600px) {
  .work-entry-link { grid-template-columns: minmax(0, 1fr); gap: 20px; padding: 26px 8px; }
  .work-logo { grid-row: auto; width: 160px; min-height: 100px; }
  .work-logo img { height: 80px; }
  .work-read { grid-column: 1; white-space: normal; }
}

/* Contact details supplied by HG Marketing. */
.footer-grid { grid-template-columns: 1.35fr 1.45fr .75fr 1fr; gap: 32px; }
.footer-contact { padding-top: 25px; font-size: 1rem; color: var(--sand); }
.footer-contact h2 { font-size: .875rem; text-transform: uppercase; letter-spacing: .15em; font-weight: 700; line-height: 1.5; margin-bottom: 22px; }
.footer-contact address { font-style: normal; }
.footer-contact .phone { display: inline-flex; align-items: center; min-height: 44px; margin-top: 8px; text-decoration: underline; text-underline-offset: 4px; }
.opening-hours { margin-top: 16px; }
.opening-hours > div { display: flex; flex-wrap: wrap; gap: 4px 14px; }
.opening-hours dt { font-weight: 700; min-width: 90px; }
.closed-hours { margin-top: 12px; }
.remote-note { margin-top: 16px; line-height: 1.65; }
@media (max-width: 1100px) {
  .footer-grid { grid-template-columns: 1fr 1fr; gap: 32px 50px; }
  .footer-brand { grid-column: auto; }
}
@media (max-width: 600px) {
  .footer-grid { grid-template-columns: 1fr 1fr; gap: 24px; }
  .footer-brand, .footer-contact { grid-column: 1 / -1; }
}
@media (max-width: 380px) {
  .footer-grid { grid-template-columns: 1fr; }
}

/* Services: the same palette, type scale and shared shell as the homepage. */
.service-hero { background: var(--ink); color: var(--sand); padding: 24px 0 80px; }
.breadcrumbs { display: flex; flex-wrap: wrap; gap: 12px; font-size: 1rem; margin-bottom: 50px; }
.breadcrumbs a { text-decoration: underline; text-underline-offset: 4px; min-height: 28px; }
.service-hero-grid { display: grid; grid-template-columns: 1.1fr 1fr; gap: 80px; }
.service-hero h1 { font-size: clamp(2.75rem, 4.6vw, 4.4rem); line-height: 1.12; max-width: 13ch; }
.service-hero .eyebrow { color: var(--sand); border-left: 3px solid var(--rose); padding-left: 15px; }
.service-intro { font-size: 1.1875rem; line-height: 1.7; }
.service-navigation { background: var(--sand); padding: 16px 0; }
.service-navigation .wrap { display: flex; flex-wrap: wrap; gap: 12px 40px; }
.service-navigation a { display: inline-flex; align-items: center; min-height: 44px; font-size: 1.0625rem; }
.service-navigation a[aria-current] { font-weight: 700; text-decoration: underline; text-underline-offset: 7px; }
.directory-entry { display: grid; grid-template-columns: 40px 1fr 1.15fr; gap: 36px; padding: 42px 0; border-top: 1px solid var(--line); }
.directory-entry:last-child { border-bottom: 1px solid var(--line); }
.directory-entry h2 { font-size: clamp(2rem, 3vw, 2.75rem); }
.directory-headline { font-size: 1.25rem; margin-top: 20px; max-width: 28ch; }
.directory-entry .text-link { margin-top: 25px; }
.capability-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 40px 70px; margin-top: 50px; }
.capability-grid article { border-top: 2px solid var(--sage); padding-top: 24px; }
.capability-grid h3 { font-size: 1.55rem; line-height: 1.3; margin-bottom: 18px; }
.capability-grid p { font-size: 1.1875rem; }
.service-story-grid { display: grid; grid-template-columns: 1fr 1.1fr; gap: 100px; }
.service-story h2 { font-size: clamp(2rem, 3.2vw, 3rem); line-height: 1.2; }
.service-story p { font-size: 1.1875rem; }
.story-1 { background: var(--sand); }
.story-2 { background: var(--paper); }
.story-3 { background: var(--sand); }
.brand-proof { background: var(--ink); color: var(--sand); }
.brand-proof figure { max-width: 960px; margin-inline: auto; }
.brand-proof .quote-mark { color: var(--rose); }
.brand-proof blockquote { margin: 0; font-size: clamp(1.5rem, 2.4vw, 2.2rem); line-height: 1.5; letter-spacing: -.02em; }
.brand-proof figcaption { font-size: 1.0625rem; margin-top: 28px; }
.alternative { background: var(--paper); padding-block: 55px; }
.alternative-inner { display: grid; grid-template-columns: 1fr 1.4fr; gap: 70px; border-top: 1px solid var(--line); padding-top: 35px; }
.alternative h2 { font-size: 1.65rem; line-height: 1.3; }
.alternative p { font-size: 1.0625rem; }
.alternative .text-link { margin-top: 22px; font-size: 1.0625rem; }
@media (max-width: 1000px) {
  .service-hero-grid, .service-story-grid { gap: 45px; }
  .directory-entry { gap: 25px; grid-template-columns: 28px 1fr 1.1fr; }
}
@media (max-width: 760px) {
  .service-hero { padding-bottom: 55px; }
  .breadcrumbs { margin-bottom: 32px; }
  .service-hero-grid, .service-story-grid, .alternative-inner { grid-template-columns: minmax(0, 1fr); gap: 30px; }
  .service-hero h1 { max-width: 18ch; font-size: clamp(2.4rem, 8.7vw, 3.6rem); }
  .service-navigation .wrap { gap: 8px 24px; }
  .directory-entry { grid-template-columns: 24px minmax(0, 1fr); gap: 18px; padding-block: 32px; }
  .directory-entry > div:last-child { grid-column: 2; }
  .capability-grid { grid-template-columns: minmax(0, 1fr); gap: 30px; margin-top: 35px; }
  .alternative { padding-block: 40px; }
}

/* Four services in a compact two-by-two directory. */
.service-directory > .wrap {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 48px 64px;
}
.directory-entry {
  display: flex;
  flex-direction: column;
  gap: 18px;
  padding: 28px 0 0;
  border-top: 2px solid var(--sage);
}
.directory-entry:last-child { border-bottom: 0; }
.directory-entry .number { padding-top: 0; }
.directory-entry > div:last-child { display: flex; flex-direction: column; flex: 1; }
.directory-entry > div:last-child > p { margin-bottom: 24px; }
.directory-entry .text-link { margin-top: auto; align-self: flex-start; }
.directory-headline { margin-top: 16px; max-width: none; }
@media (max-width: 760px) {
  .service-directory > .wrap { grid-template-columns: minmax(0, 1fr); gap: 36px; }
  .directory-entry { padding-top: 24px; }
}

/* Pink is the primary brand accent. Dark text keeps pink buttons readable. */
.button, .button-light, .contact .button, .nav-contact, .menu-toggle {
  background: var(--rose); color: #111111; border-color: var(--rose);
}
.button:hover, .button-light:hover, .contact .button:hover, .nav-contact:hover, .menu-toggle:hover {
  background: var(--rose); color: #111111; text-decoration: underline; text-underline-offset: 5px;
}
.contact { background: var(--sand); color: var(--ink); }
.capability-grid article, .directory-entry, .reasons article { border-color: var(--rose); }
.about-values { background: var(--ink); color: var(--sand); }
.about-values > .wrap > p, .about-clients > .wrap > p { margin-top: 25px; }
.about-values h2 { max-width: 20ch; }
.about-awards { display: grid; grid-template-columns: 2fr 1fr; gap: 35px; align-items: center; margin-top: 50px; }
.about-awards img { width: 100%; max-height: 530px; object-fit: contain; }
.about-clients { background: var(--sand); }
.client-logo-strip { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 40px; margin-top: 45px; background: #fff; padding: 30px; }
.client-logo-strip img { width: 100%; height: 130px; object-fit: contain; }
@media(max-width:760px) {
  .about-awards { gap: 18px; grid-template-columns: 1fr; }
  .about-awards img:last-child { max-height: 300px; }
  .client-logo-strip { grid-template-columns: 1fr; gap: 28px; }
}

.service-story p a { text-decoration: underline; text-underline-offset: 4px; }
