/* Overview masthead: business scenes and eight clear service entry points. */
.original-theme .page-hero.service-index-hero { padding:146px 0 0; min-height:0; height:auto; overflow:visible; --index-ink:#1c393c; --index-gold:#e8c18a; --index-paper:#fbf8ef; }
.original-theme .service-index-hero > .index-breadcrumb { display:flex; flex-direction:row; gap:12px; align-items:center; min-height:46px; padding-block:8px 18px; font-size:12px; line-height:1.6; color:#52615e; }
.index-breadcrumb a { text-underline-offset:4px; }
.index-masthead { display:grid; grid-template-columns:1.05fr 1fr; min-height:480px; background:var(--index-ink); color:var(--index-paper); }
.index-copy { padding:42px 38px 44px max(5vw,calc((100vw - 1440px) / 2)); align-self:center; min-width:0; }
.index-eyebrow { margin:0 0 12px; color:var(--index-gold); font-size:11px; font-weight:700; letter-spacing:.14em; line-height:1.6; }
.original-theme .service-index-hero h1 { color:inherit; font-size:clamp(18px,1.6vw,23px); line-height:1.6; letter-spacing:.03em; margin:0; order:initial; }
.service-index-hero .index-headline { margin:24px 0 20px; color:inherit; font-size:clamp(30px,3.05vw,48px); line-height:1.5; letter-spacing:-.045em; text-wrap:balance; }
.index-lead { max-width:36em; color:#dae5e2; font-size:14px; line-height:1.95; margin:0 0 10px; }
.index-promise { color:var(--index-paper); font-size:15px; line-height:1.8; margin:0 0 28px; font-weight:600; }
.index-actions { display:flex; align-items:center; flex-wrap:wrap; gap:16px 24px; }
.index-primary { display:inline-flex; align-items:center; justify-content:space-between; gap:24px; padding:14px 18px; min-height:50px; background:var(--index-gold); color:var(--index-ink); font-size:13px; font-weight:700; line-height:1.5; text-decoration:none; transition:background .2s; }
.index-primary:hover { background:#fff8e8; }
.index-primary > svg { width:22px; height:22px; flex:none; transform:rotate(90deg); }
.index-consult { display:inline-flex; align-items:center; gap:12px; font-size:13px; line-height:1.5; color:var(--index-paper); text-decoration:underline; text-underline-offset:6px; }
.index-scenes { display:grid; grid-template-columns:1fr 1fr; grid-template-rows:1.15fr 1fr; gap:4px; min-width:0; background:#f4f0e7; }
.index-scene { position:relative; min-height:0; min-width:0; margin:0; overflow:hidden; background:#d1d8cc; }
.index-scene--entry { grid-column:1 / -1; }
.index-scene img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:center 40%; }
.index-scene--entry img { object-position:center 10%; }
.index-scene--research img { object-position:50% 36%; }
.index-scene--people img { object-position:center 37%; }
.index-scene figcaption { position:absolute; bottom:0; left:0; right:0; padding:24px 20px 14px; background:linear-gradient(transparent,#122e32dd); color:#fff; font-size:12px; font-weight:600; letter-spacing:.035em; line-height:1.6; }
.index-directory { padding:26px max(5vw,calc((100vw - 1440px) / 2)) 20px; background:#e9ede7; color:var(--index-ink); }
.index-directory-heading { display:flex; align-items:center; justify-content:space-between; gap:24px; margin:0 0 12px; }
.service-index-hero .index-directory-heading h2 { font-size:18px; line-height:1.5; margin:0; letter-spacing:.01em; color:inherit; }
.index-directory-heading > span { font-size:10px; line-height:1.6; letter-spacing:.12em; font-weight:700; }
.index-services { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); }
.index-service { display:flex; align-items:center; gap:13px; min-width:0; padding:18px 16px; min-height:88px; border-top:1px solid #b7c5bc; text-decoration:none; color:var(--index-ink); transition:background .2s; }
.index-service:nth-child(4n+1) { padding-left:0; }
.index-service:nth-child(4n) { padding-right:0; }
.index-service > .index-service-icon { width:29px; height:29px; flex:0 0 29px; color:#486b63; }
.index-service-copy { display:flex; flex-direction:column; gap:6px; flex:1; min-width:0; }
.index-service strong { font-size:14px; line-height:1.5; font-weight:700; }
.index-service small { font-size:11px; line-height:1.6; color:#52675f; }
.index-service > svg:last-child { width:17px; height:17px; flex:0 0 17px; transform:rotate(90deg); }
.index-service:hover { background:#d6e1d7; }
.service-index-hero a:focus-visible { outline:3px solid #376e76; outline-offset:4px; }
.index-masthead a:focus-visible { outline-color:#fff; }
.service-index-page .service-list { padding-top:64px; }
.service-index-page main [id] { scroll-margin-top:175px; }
.english-site .index-headline { font-size:clamp(31px,3.1vw,48px); line-height:1.18; letter-spacing:-.035em; }
.english-site .index-service strong { font-size:13px; }
.english-site .index-service small { font-size:10px; }
@media(min-width:1600px) { .index-masthead { min-height:550px; } .index-copy { padding-block:60px; } .index-service { padding-block:22px; } }
@media(max-width:1100px) and (min-width:768px) {
 .index-copy { padding:36px 28px 38px 5vw; }
 .index-masthead { min-height:475px; }
 .index-actions { gap:16px 20px; }
 .index-services { grid-template-columns:repeat(4,minmax(0,1fr)); }
 .index-service { padding:16px 11px; gap:10px; }
 .index-service > .index-service-icon { width:24px; height:24px; flex-basis:24px; }
 .index-service strong { font-size:12px; }
 .index-service small { font-size:10px; }
 .index-service > svg:last-child { display:none; }
 .english-site .index-service strong { font-size:12px; }
}
@media(max-width:767px) {
 .original-theme .page-hero.service-index-hero { padding-top:124px; }
 .original-theme .service-index-hero > .index-breadcrumb { min-height:34px; padding-block:6px 14px; font-size:10px; gap:8px; }
 .index-masthead { grid-template-columns:minmax(0,1fr); min-height:0; }
 .index-copy { padding:28px 24px 30px; }
 .index-eyebrow { font-size:10px; margin-bottom:8px; }
 .original-theme .service-index-hero h1 { font-size:16px; }
 .service-index-hero .index-headline { font-size:clamp(28px,7.4vw,40px); line-height:1.48; margin:21px 0 18px; }
 .english-site .index-headline { font-size:32px; line-height:1.2; }
 .index-lead { font-size:13px; line-height:1.9; margin-bottom:8px; }
 .index-promise { font-size:14px; margin-bottom:22px; }
 .index-actions { gap:18px; }
 .index-primary { min-height:46px; padding:12px 15px; font-size:12px; gap:16px; }
 .index-consult { font-size:12px; gap:6px; }
 .index-scenes { height:250px; grid-template-columns:1.2fr 1fr; grid-template-rows:1fr 1fr; gap:3px; }
 .index-scene--entry { grid-column:1; grid-row:1 / 3; }
 .index-scene img { object-position:48% 40%; }
 .index-scene figcaption { font-size:10px; padding:24px 12px 10px; }
 .index-directory { padding:24px 20px 18px; }
 .index-directory-heading { gap:12px; margin-bottom:12px; }
 .service-index-hero .index-directory-heading h2 { font-size:16px; }
 .index-directory-heading > span { font-size:9px; }
 .index-services { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .index-service,.index-service:nth-child(4n+1),.index-service:nth-child(4n) { padding:16px 9px; gap:10px; min-height:86px; }
 .index-service:nth-child(odd) { padding-left:0; }
 .index-service:nth-child(even) { padding-right:0; }
 .index-service > .index-service-icon { width:24px; height:24px; flex-basis:24px; }
 .index-service strong { font-size:12px; }
 .index-service small { font-size:10px; }
 .index-service > svg:last-child { display:none; }
 .english-site .index-service strong { font-size:12px; }
 .service-index-page .service-list { padding-top:36px; }
 .service-index-page main [id] { scroll-margin-top:135px; }
}
@media(prefers-reduced-motion:reduce) { .index-primary,.index-service { transition:none; } }
@media print { .original-theme .page-hero.service-index-hero { padding-top:0; } .index-masthead { print-color-adjust:exact; -webkit-print-color-adjust:exact; } }
