/* V5.2 coordinated visual refinement. The approved service copy remains unchanged. */
body{color:var(--ink)}
.section-intro>p,.split-intro>p,.service-heading p:not(.card-label),.process-list p,.conversation-bridge p{color:#554b5c}

/* Hero-derived heading hierarchy on light surfaces. */
.situation-card h3,.service-row h3,.fit-card h3,.conversation-bridge h3,.process-list h3,.practice-content h4,.faq-groups summary,.footer-grid strong{color:var(--heading-secondary)}

/* V5.2 uses a text-led hero; the earlier matrix-style artwork is removed. */
.hero::before{background:radial-gradient(circle at 82% 18%,rgba(109,62,208,.24),transparent 34%),linear-gradient(115deg,#11031d 0%,#1b072d 58%,#29104a 100%)}
.hero-copy{max-width:760px}
.hero h1{max-width:740px}
.hero-lede,.hero-detail{max-width:670px}

/* Recognition introduces the services without overpowering them. */
.situations .section-intro{margin-bottom:24px}
.compact-five{gap:12px}
.compact-five .situation-card{display:grid;grid-template-columns:1fr;grid-template-rows:auto auto;padding:18px 20px;border-radius:16px;background:#fbfaf8}
.compact-five .situation-card.featured{background:#fbfaf8;color:var(--ink);border-color:var(--line)}
.compact-five .situation-card.wide{grid-column:1/-1;padding-right:20px;background:#fbfaf8}
.compact-five .card-number{position:static;grid-row:1/3;color:var(--violet);font-weight:700}
.compact-five .situation-card h3{margin:0 0 6px;font-size:clamp(1.24rem,1.75vw,1.55rem);line-height:1.15}
.compact-five .situation-card p:not(.card-label),.compact-five .featured p:not(.card-label){grid-column:1;margin:0;color:#5b5261;font-size:15.5px;line-height:1.45}
.situations .story-bridge{margin-top:24px}

/* The commercial services become the clearest repeated structure. */
.services{background:linear-gradient(180deg,#eee8f8 0,#f7f3fa 34%,#faf8f4 100%)}
.services .section-intro{margin-bottom:34px}
.service-stack{border-top:0;display:grid;gap:18px}
.service-row{position:relative;grid-template-columns:54px minmax(0,1.45fr) minmax(270px,.72fr);gap:28px;padding:30px;border:1px solid #d7cce0;border-radius:20px;background:rgba(255,255,255,.78);box-shadow:0 12px 32px rgba(50,16,95,.045)}
.service-row::before{content:'';position:absolute;left:0;top:24px;bottom:24px;width:4px;border-radius:0 4px 4px 0;background:var(--violet)}
.service-index{font-size:15px}
.service-row .card-label{margin-bottom:10px;color:#6333bd;font-size:12px}
.service-row h3{margin-bottom:14px;font-size:clamp(1.75rem,2.4vw,2.25rem)}
.service-heading p:not(.card-label){font-size:17.5px;line-height:1.55}
.service-side{padding-left:24px}
.practice{background:#fff}
.practice summary{font-size:15px}
.service-contact{margin-top:15px}
.services .story-bridge{margin-top:26px}

/* The distinctive dark section is easier to scan. */
.difference-grid{gap:72px}
.difference-copy>strong{font-size:20px}
.principles div{grid-template-columns:38px 1fr;padding:15px 0}
.principles p{font-size:16.5px;line-height:1.4}
.difference .light-bridge{max-width:700px;margin-top:28px;padding-top:22px;border-top:1px solid rgba(255,255,255,.14)}

/* Fit guidance remains constructive while becoming easier to read. */
.fit-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;align-items:stretch}
.fit-card{height:100%;padding:26px 28px;border-radius:18px}
.fit-card.good{background:#f8f5fb;border-color:#d9cce3}
.fit-card.challenge{background:#f1eaf8;border-color:#d3c2e2}
.fit-mark,.fit-card.challenge .fit-mark{width:44px;height:44px;border:2px solid var(--ink);background:var(--ink);color:#f8f5fb;font-size:25px;font-weight:600}
.fit-card h3{margin:14px 0;font-size:27px}
.fit-card ul{display:grid;gap:0;padding-left:18px}
.fit-card li{margin:0;padding:7px 0 7px 3px;color:#443a49;line-height:1.43}
.fit .story-bridge{margin-top:25px}

/* Short explanatory statements use sampled Point 2; long body copy stays muted. */
.services .section-intro>p,.fit .section-intro>p,.process-intro>p:last-child,.process-closing{color:var(--heading-secondary)}

/* One connected process: introduction, first contact, then five steps. */
.approach{padding-block:38px}
.process-intro{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(360px,.8fr);gap:5px 32px;align-items:end;margin-bottom:16px}
.process-intro .eyebrow{grid-column:1/-1;margin-bottom:0}
.process-intro h2{max-width:780px}
.process-intro>p:last-child{align-self:end;margin:0 0 3px;font-size:18px;line-height:1.45}
.conversation-bridge{grid-template-columns:150px 1fr;gap:24px;align-items:center;margin:0;padding:21px 25px;border:1px solid #d2c3e2;border-bottom:0;border-radius:16px 16px 0 0;background:#eee8f8}
.prelude-marker{color:var(--violet);font-size:11px;font-weight:700;letter-spacing:.13em;text-transform:uppercase}
.conversation-bridge h3{margin:0 0 4px;font-size:22px}
.conversation-bridge p{margin:0;font-size:16.5px;line-height:1.48}
.process-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;padding:14px;border:1px solid #d2c3e2;border-top:0;border-radius:0 0 16px 16px;background:#fff}
.process-list li{grid-template-columns:48px 1fr;align-content:start;padding:22px;border:1px solid #ded4e6;border-radius:13px;background:#f4eff9}
.process-list>li>span{padding-top:6px;font-size:18px;line-height:1.35}
.process-list li:nth-child(even){background:#f4eff9}
.process-list li:last-child{grid-column:1/-1;background:#f4eff9}
.process-list h3{font-size:24px}
.process-list p{font-size:16.5px}
.process-closing{max-width:1050px;margin-top:22px}

/* The invitation leads the contact area instead of the form. */
.contact-grid{grid-template-columns:1.08fr .92fr;gap:64px;align-items:start}
.contact-copy{position:sticky;top:120px}
.contact-copy h2{max-width:620px}
.contact-copy>p:not(.eyebrow){max-width:590px}
.direct-contact{grid-template-columns:auto 1fr;column-gap:18px;align-items:baseline;margin-top:28px}
.direct-contact span{margin-top:8px}
.enquiry-form{padding:25px 26px;border-radius:18px}
.enquiry-form label{margin-bottom:13px}
.enquiry-form input,.enquiry-form select,.enquiry-form textarea{padding:10px 12px}
.footer-brand{justify-content:flex-start}

/* Protect the FAQ hero and let mobile readers reach answers sooner. */
.faq-hero{position:relative;padding-block:52px 44px}
.faq-hero h1{max-width:820px;font-size:clamp(3rem,5.2vw,4.65rem);line-height:.98}
.faq-hero>div>p:last-child{margin-top:18px;font-size:18px}
.faq-content{padding-block:50px}
.faq-layout{gap:64px}
.faq-index{top:104px}

@media(max-width:980px){
  .service-row{grid-template-columns:46px 1fr}
  .service-side{grid-column:2}
  .process-intro{grid-template-columns:1fr;gap:12px}
  .process-intro .eyebrow{grid-column:auto}
  .process-intro>p:last-child{max-width:700px}
  .contact-grid{grid-template-columns:1fr}
  .contact-copy{position:static}
}

@media(max-width:680px){
  .section-intro h2,.difference h2,.contact h2{font-size:2.15rem}
  .compact-five{gap:8px}
  .compact-five .situation-card,.compact-five .situation-card.wide{grid-template-columns:1fr;padding:15px 14px;border-radius:13px}
  .compact-five .situation-card h3{font-size:1.15rem}
  .compact-five .situation-card p:not(.card-label),.compact-five .featured p:not(.card-label){font-size:14.5px}
  .service-stack{gap:13px}
  .service-row{grid-template-columns:1fr;gap:13px;padding:23px 18px 21px}
  .service-row::before{top:18px;bottom:18px}
  .service-index{display:none}
  .service-row h3{font-size:1.65rem}
  .service-heading p:not(.card-label){font-size:16.5px}
  .service-side{grid-column:auto;padding:13px 0 0;border-left:0;border-top:1px solid var(--line)}
  .difference-grid{gap:30px}
  .difference-copy p:not(.eyebrow){font-size:17px}
  .principles div{padding:12px 0}
  .fit-card{padding:21px 20px}
  .fit-grid{grid-template-columns:1fr}
  .fit-card h3{font-size:24px}
  .fit-card li{font-size:15px;padding-block:6px}
  .process-intro{margin-bottom:18px}
  .process-intro>p:last-child{font-size:16.5px}
  .conversation-bridge{grid-template-columns:1fr;gap:5px;padding:17px 16px}
  .conversation-bridge h3{font-size:20px}
  .conversation-bridge p{font-size:15.5px}
  .process-list li{grid-template-columns:38px 1fr;padding:17px 12px}
  .process-list{grid-template-columns:1fr;padding:9px;gap:8px}
  .process-list li:last-child{grid-column:auto}
  .process-list h3{font-size:20px}
  .process-list p{font-size:15.5px}
  .contact-grid{gap:28px}
  .direct-contact{grid-template-columns:1fr;gap:2px}
  .direct-contact a{margin-bottom:7px}
  .enquiry-form{padding:20px 18px}
  .faq-hero{padding-block:38px 34px}
  .faq-hero h1{font-size:2.65rem}
  .faq-content{padding-block:34px}
  .faq-index{display:flex;flex-direction:row;flex-wrap:wrap;gap:7px 14px;padding:14px 16px;border-radius:12px}
  .faq-index p{flex-basis:100%;margin-bottom:2px}
  .faq-index a{font-size:14px;text-decoration:underline;text-underline-offset:3px}
  .faq-groups>section{margin-bottom:38px}
}
