/* A softer glass panel, keeping the existing navigation layout. */
@media(min-width:900px){#nav .expertise-menu-panel{background:#111111;backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);top:calc(100% + 8px);border-radius:15px;border:0;box-shadow:0 12px 32px rgba(17,17,17,.12);overflow:hidden}}
.approach-cards{display:grid;gap:40px;width:100%;max-width:1240px;margin:0 auto}
.approach-card{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:48px;padding:40px;background:#F4F6F5;border:1px solid rgba(187,198,195,.16);border-radius:24px;box-shadow:0 18px 34px -18px rgba(17,17,17,.3),0 3px 10px rgba(17,17,17,.025)}
.approach-card-copy{padding:8px 0 8px 8px;min-width:0}.approach-card-number{font-size:14px;line-height:1.4;color:#6E6F70;margin:0 0 16px;letter-spacing:.08em}
.approach-card h3{border-left:3px solid #93D500;padding-left:16px;font-size:clamp(24px,2.3vw,34px);line-height:1.15;letter-spacing:-.035em;margin:0 0 24px;color:#111111;text-wrap:balance}
.approach-card-copy>p:last-child{font-size:17px;line-height:1.65;color:#6E6F70;margin:0}
.approach-card>img{display:block;width:100%;height:340px;object-fit:cover;object-position:center 65%;border-radius:15px;margin:0;min-width:0}
.approach-card:nth-child(even)>img{grid-column:1;grid-row:1}.approach-card:nth-child(even)>.approach-card-copy{grid-column:2;grid-row:1}
@media(max-width:700px){.approach-cards{gap:24px}.approach-card{grid-template-columns:1fr;gap:24px;padding:24px;border-radius:20px}.approach-card-copy{padding:0}.approach-card h3{font-size:26px;margin-bottom:16px}.approach-card-copy>p:last-child{font-size:16px}.approach-card>img{height:260px}.approach-card:nth-child(even)>img,.approach-card:nth-child(even)>.approach-card-copy{grid-column:auto;grid-row:auto}}
.cursor-follower{display:none;position:fixed;top:0;left:0;width:10px;height:10px;margin:-5px 0 0 -5px;border-radius:50%;background:#fff;mix-blend-mode:difference;z-index:9999;pointer-events:none;opacity:0;transition:opacity .15s;will-change:transform}
@media(hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference){.cursor-follower{display:block}.cursor-follower.is-visible{opacity:1}}
/* The approach panels lift gently without acting as links. */
@media(hover:hover) and (pointer:fine){
 .approach-card{cursor:default;transition:transform .32s ease,box-shadow .32s ease}
 .approach-card:hover{transform:translateY(-6px);box-shadow:0 28px 48px -18px rgba(17,17,17,.38),0 8px 20px rgba(17,17,17,.08)}
}
@media(prefers-reduced-motion:reduce){.approach-card{transition:none}.approach-card:hover{transform:none}}

@media(min-width:900px){#nav .expertise-menu-panel::before{content:"";position:absolute;left:0;right:0;top:-12px;height:12px}#nav .expertise-menu-panel{overflow:visible}}
.budget-picker{position:relative;display:grid;gap:10px;margin:22px 0;color:#111111;font-size:16px}
.budget-native{position:absolute!important;width:1px!important;height:1px!important;opacity:0;pointer-events:none;padding:0!important;border:0!important}
.budget-trigger{width:100%;display:flex;align-items:center;justify-content:space-between;gap:16px;text-align:left;padding:17px 20px;background:#F4F6F5;color:#111111;border:1px solid #BBC6C3;border-radius:15px;font:inherit;transition:border-color .2s,box-shadow .2s}
.budget-trigger::after{content:'';width:7px;height:7px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(45deg);margin:0 3px 4px;transition:transform .2s}
.budget-trigger[aria-expanded=true]::after{transform:rotate(225deg);margin-bottom:-3px}
.budget-trigger:hover{border-color:#6E6F70}.budget-trigger:focus-visible,.budget-trigger[aria-expanded=true]{outline:none;border-color:#93D500;box-shadow:0 0 0 2px #93D50026}
.budget-options{position:absolute;z-index:20;top:calc(100% + 8px);left:0;right:0;padding:8px;background:#F4F6F5;border:1px solid #BBC6C380;border-radius:15px;box-shadow:0 18px 40px -12px #11111130;max-height:280px;overflow-y:auto}
.budget-options[hidden]{display:none}.budget-options [role=option]{padding:13px 16px;border-radius:9px;cursor:pointer;font-size:16px;line-height:1.4;transition:background .15s}
.budget-options [role=option]:hover,.budget-options .is-focused{background:#BBC6C340}.budget-options [aria-selected=true]{background:#93D50026;font-weight:500;box-shadow:inset 3px 0 #93D500}
.service-card-section{display:block}.service-card-intro{max-width:1240px;margin:0 auto 40px}.service-card-intro>p:not(.eyebrow){margin:16px 0;color:#6E6F70}.service-card-intro>a{text-decoration:underline;text-underline-offset:5px}
.approach-card h2{border-left:3px solid #93D500;padding-left:16px;font-size:clamp(24px,2.3vw,34px);line-height:1.15;letter-spacing:-.035em;margin:0 0 24px;color:#111111;text-wrap:balance}
.service-card-section .approach-card-copy>p:not(.approach-card-number){font-size:17px;line-height:1.65;color:#6E6F70;margin:0 0 18px}.service-card-section .approach-card-copy>p:last-child{margin-bottom:0}
@media(max-width:700px){.approach-card h2{font-size:26px;margin-bottom:16px}.service-card-section .approach-card-copy>p:not(.approach-card-number){font-size:16px}}
.service-intro-centered{text-align:center}.service-intro-centered .breadcrumb{justify-content:center}.service-intro-centered .service-statement{margin-left:auto;margin-right:auto}.service-intro-centered .service-lead{display:flex;flex-direction:column;align-items:center;gap:26px;margin:30px auto 0;max-width:850px}.service-intro-centered .service-lead>p{max-width:850px;text-align:center}.service-intro-centered .service-lead .button{margin:0}.service-card-intro{text-align:center}
/* All inner-page H1/H2 titles share a centered alignment, at every size. */
body.inner-page main h1,body.inner-page main h2{text-align:center!important;margin-left:auto!important;margin-right:auto!important}
body.inner-page .service-statement{margin-left:auto;margin-right:auto}
body.inner-page .section-heading{display:flex;flex-direction:column;align-items:center;text-align:center}
body.inner-page .section-heading>h1,body.inner-page .section-heading>h2{width:100%;max-width:1200px}
body.inner-page .section-heading>.section-intro{margin-left:auto;margin-right:auto;text-align:center}
body.inner-page .approach-card h2{border-left:0;padding-left:0}
body.inner-page .contact-intro{text-align:center}
body.inner-page .contact-intro>p{margin-left:auto;margin-right:auto}
/* Subtle paper grain on surfaces only; media retain their original appearance. */
body,body .section,body .project-title,body .project-caption,body .approach-card,body .google-review-card,body #avis.google-testimonials,body .questionnaire,body footer,body .budget-trigger,body .budget-options,body .related-grid>a,body .related-grid>article{background-image:url('assets/paper-grain.svg');background-repeat:repeat;background-size:180px 180px}
/* Center the before/after introduction as a single balanced block. */
body .project-title{display:flex;flex-direction:column;align-items:center;text-align:center;gap:24px}
body .project-title .project-copy{width:100%;max-width:1200px;margin-left:auto;margin-right:auto;text-align:center}
body .project-title .project-copy h2{margin-left:auto;margin-right:auto;text-align:center}
body .project-title .project-copy>p{max-width:850px;margin-left:auto;margin-right:auto;text-align:center}
body .approach .section-heading,body .team-heading{display:flex;flex-direction:column;align-items:center;text-align:center;gap:24px}
body .approach .section-heading>h1,body .approach .section-heading>h2,body .team-heading>div{width:100%;max-width:1200px;margin-left:auto;margin-right:auto;text-align:center}
body .approach .section-heading>.section-intro,body .team-heading>p{width:100%;max-width:850px;margin-left:auto;margin-right:auto;text-align:center}
body .team-heading h2{text-align:center;margin-left:auto;margin-right:auto}
/* Match the approach introduction to the wider centered editorial rhythm. */
body .approach .section-heading>h1,body .approach .section-heading>h2{max-width:1400px;font-size:clamp(28px,3.6vw,52px);line-height:1.15;text-wrap:initial}
body .approach .section-heading>.section-intro{max-width:1000px;font-size:20px;line-height:1.7;margin-top:4px}
@media(min-width:900px){body .approach .section-heading>h1 em,body .approach .section-heading>h2 em{white-space:nowrap}}
@media(max-width:700px){body .approach .section-heading>.section-intro{font-size:17px;line-height:1.65}}
/* Contact introduction is the explicit exception to centered page headings. */
body.inner-page .contact-intro,body.inner-page .contact-intro h1,body.inner-page .contact-intro>p,body.inner-page .contact-intro>a,body.inner-page .contact-intro>span{text-align:left!important;margin-left:0!important;margin-right:0!important}
body .contact-preparation .related-grid>article{box-shadow:none;transition:background-color .25s ease,border-color .25s ease,transform .3s ease;cursor:default}
@media(hover:hover) and (pointer:fine){body .contact-preparation .related-grid>article:hover{background-color:#BBC6C326;border-color:#BBC6C3;transform:translateY(-5px);box-shadow:none}}
@media(prefers-reduced-motion:reduce){body .contact-preparation .related-grid>article{transition:none}body .contact-preparation .related-grid>article:hover{transform:none}}
body .services .editorial-intro{text-align:center}
body .services .editorial-intro h1{text-align:center;text-indent:0;margin-left:auto;margin-right:auto}
body .services .concise-intro .intro-bottom{display:flex;justify-content:center;align-items:center;margin:28px 0 0}
body.v2 .approach .section-heading,body.v3 .approach .section-heading,body .approach .section-heading{align-items:center}
body .approach .section-heading>.eyebrow{align-self:center;text-align:center;width:100%;margin-left:auto;margin-right:auto}
body .google-reviews-foot{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:8px}
body.inner-page .service-card-section{padding-top:8px}
body.inner-page .service-intro{padding-top:28px}
body #nav.return-header .header-cta{background:#30352f;color:#fff;border:0;border-radius:30px;padding:12px 25px;font-family:var(--font);font-weight:600;font-size:18px;line-height:1.5;text-decoration:none;transition:background-color .2s}
body #nav.return-header .header-cta:hover{background:#4b5348;text-decoration:none}
@media(max-width:899px){body #nav.return-header .header-cta{padding:10px 14px;font-size:15px}}
@media(max-width:420px){body #nav.return-header .header-cta{padding:8px 12px;font-size:14px}}
body.inner-page .service-faq>div:first-child,body.inner-page .service-faq>div:first-child h2,body.inner-page .service-faq>div:first-child p{text-align:left!important;margin-left:0!important;margin-right:0!important}

/* Form surface matches the approach modules; choices remain lighter. */
body .questionnaire,body.v2 .questionnaire,body.v3 .questionnaire{background-color:#F4F6F5;border-color:rgba(187,198,195,.16);box-shadow:0 18px 34px -18px rgba(17,17,17,.3),0 3px 10px rgba(17,17,17,.025)}
body .questionnaire .choice{background-color:#fff;border-color:#e1e4da;transition:background-color .2s,border-color .2s}
body .questionnaire .choice:has(input:checked){background-color:#edf1e5;border-color:#8c9d76}
body .questionnaire .budget-trigger,body .questionnaire .budget-options{background-color:#fff}
@media(hover:hover) and (pointer:fine){body .questionnaire .choice:hover{border-color:#BBC6C3}body .questionnaire .choice:has(input:checked):hover{border-color:#8c9d76}}

/* Complementary services on the structural transformation page. */
body .related-services-stacked{text-align:center}
body .related-services-stacked>h2{max-width:1000px;margin-left:auto;margin-right:auto}
.related-services-stacked .related-introduction{max-width:800px;margin:24px auto 0;color:var(--muted)}
.related-services-stacked .related-introduction>p{font-size:20px;line-height:1.65}
.related-services-stacked .related-introduction .related-caption{font-size:14px;margin-top:8px}
.related-services-stacked .related-grid{grid-template-columns:repeat(3,minmax(0,1fr));max-width:1240px;margin:36px auto 0;gap:20px}
.related-services-stacked .related-grid>a{padding:32px;text-align:center;background-color:#F4F6F5;transition:background-color .2s,transform .2s}
.related-services-stacked .related-grid p{margin-top:12px}
@media(hover:hover) and (pointer:fine){.related-services-stacked .related-grid>a:hover{background-color:#BBC6C326;transform:translateY(-3px)}}
@media(prefers-reduced-motion:reduce){.related-services-stacked .related-grid>a{transition:none}.related-services-stacked .related-grid>a:hover{transform:none}}

@media(max-width:700px){.related-services-stacked .related-grid{grid-template-columns:1fr}.related-services-stacked .related-grid>a{padding:25px}}
