/* Editorial additions: reuse the studio palette and let content set section heights. */
.home-services-overview { padding:clamp(56px,7vw,96px) 0; background:#edf3f5; color:#172c3c; }
.services-overview-grid { display:grid; grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr); gap:clamp(32px,5vw,80px); align-items:start; }
.overview-intro h2,.content-faq h2 { margin:16px 0 20px; font-size:clamp(30px,3vw,44px); line-height:1.12; letter-spacing:-.035em; color:#132d3e; }
.overview-intro>p:not(.editorial-index),.content-faq p { font-size:15px; line-height:1.75; color:#435967; max-width:52ch; }
.content-link { display:inline-flex; align-items:center; flex-wrap:wrap; gap:8px; width:fit-content; min-height:44px; color:inherit; font-size:14px; font-weight:600; text-decoration:underline; text-underline-offset:5px; text-decoration-thickness:1px; text-decoration-color:currentColor; }
.overview-intro .content-link { margin-top:20px; color:#20516b; }
.service-index { display:grid; grid-template-columns:1fr 1fr; gap:0 28px; min-width:0; }
.service-index>a { display:grid; grid-template-columns:22px minmax(0,1fr) 16px; gap:10px; align-items:start; padding:22px 0; color:#173c52; border-top:1px solid #a9beca; text-decoration:none; }
.service-index-number { font:10px/1.7 var(--font-family-mono); color:#50758a; }
.service-index h3 { margin:0 0 7px; font-size:18px; line-height:1.25; font-weight:600; }
.service-index p { margin:0; color:#506571; font-size:13px; line-height:1.6; }
.service-index>a:hover h3 { text-decoration:underline; text-underline-offset:4px; }
.service-index>a:hover { color:#08678f; }
.home-page .home-card-performance b { font-size:13px; white-space:nowrap; }
.home-page .concept-copy .content-link { display:inline-flex; font-size:12px; margin-top:8px; color:#a9dbef; }
.service-panels { min-width:0; display:grid; gap:28px; align-content:start; }
.service-panel[hidden] { display:none !important; }
.service-panel,.case-nord,.case-volt { scroll-margin-top:100px; }
.services-page .service-list { align-self:start; }
.services-page .service-tab { min-height:82px; text-decoration:none; }
.services-page .service-panel { min-height:0; padding:34px; }
.services-page .service-panel h2 { font-size:clamp(30px,3.4vw,46px); overflow-wrap:anywhere; }
.services-page .service-description { line-height:1.7; }
.services-page .service-columns { gap:24px; }
.services-page .service-result { margin:26px 0 12px; padding:18px 0 0 18px; border-top:1px solid #34576a; border-left:2px solid #83cbe5; }
.service-result h3 { margin:0 0 8px; font-size:12px; text-transform:uppercase; letter-spacing:.1em; color:#9bd2e8; }
.service-result p { font-size:15px; line-height:1.7; color:#d0e0e9; margin:0; }
.service-panel .content-link { color:#a6d9ef; }
.content-faq { background:#edf3f5; color:#172c3c; padding:clamp(56px,7vw,96px) 0; }
.faq-grid { display:grid; grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr); gap:clamp(32px,5vw,80px); }
.faq-grid h2 { margin-top:0; }
.faq-list details { border-top:1px solid #a9beca; padding:0; }
.faq-list details:last-child { border-bottom:1px solid #a9beca; }
.faq-list summary { cursor:pointer; padding:20px 24px 20px 0; font-size:17px; line-height:1.45; font-weight:600; color:#1b3e53; }
.faq-list p { margin:0 0 22px; }
.faq-list summary:focus-visible { outline:2px solid #136e97; outline-offset:4px; }
.portfolio-page .case-study { grid-column:1/-1; min-width:0; border-top:1px solid #355166; padding-top:26px; }
.portfolio-page .portfolio-case .concept-disclosure { max-width:75ch; font-size:12px; line-height:1.6; color:#acc2cf; margin-bottom:24px; }
.case-study-notes { display:grid; grid-template-columns:1fr 1fr; gap:24px 36px; margin:0; }
.case-study-notes>div:first-child { grid-column:1/-1; max-width:76ch; }
.case-study-notes dt { color:#8dcbe4; font-size:11px; text-transform:uppercase; letter-spacing:.1em; margin-bottom:8px; }
.case-study-notes dd { color:#c7d8e3; font-size:14px; line-height:1.75; margin:0; }
.portfolio-page .portfolio-case .case-related { max-width:none; margin:26px 0 0; font-size:13px; color:#a9c8d9; }
.case-related a { display:inline; text-decoration:underline; text-underline-offset:4px; line-height:2; color:#b6e2f6; }
.portfolio-page .portfolio-case-reverse .portfolio-case-content { grid-column:2; grid-row:1; }
.portfolio-page .portfolio-case-reverse .portfolio-visual { grid-column:1; grid-row:1; }
.portfolio-page .portfolio-case-reverse .case-study { order:3; }
.studio-facts { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; border-top:1px solid #456173; padding-top:20px; margin-top:24px; max-width:560px; }
.studio-facts dt { margin-bottom:8px; color:#9eb6c7; font-size:11px; text-transform:uppercase; letter-spacing:.1em; }
.studio-facts dd { margin:0; color:#dcecf5; font-size:17px; line-height:1.4; }
.content-actions { display:flex; flex-wrap:wrap; gap:12px 24px; margin-top:14px; }
.contact-brief-note { margin-top:24px; padding-top:20px; border-top:1px solid #416277; }
.contact-page .contact-brief-note p { color:#b5cedd; font-size:13px; line-height:1.7; margin-bottom:10px; }
.contact-brief-note .content-link { display:flex; color:#a5d7ed; }
@media(max-width:1023px) {
 .services-overview-grid,.faq-grid { grid-template-columns:minmax(0,1fr); gap:32px; }
 .overview-intro { max-width:650px; }
 .portfolio-page .portfolio-case-reverse .portfolio-case-content,.portfolio-page .portfolio-case-reverse .portfolio-visual { grid-column:auto; grid-row:auto; }
}
@media(max-width:767px) {
 .service-index { grid-template-columns:minmax(0,1fr); }
 .service-index>a { padding:17px 0; }
 .service-index h3 { font-size:19px; }
 .services-page .service-panel { padding:28px 18px; }
 .services-page .service-tab { min-height:74px; }
 .case-study-notes { grid-template-columns:minmax(0,1fr); gap:20px; }
 .case-study-notes>div:first-child { grid-column:auto; }
 .studio-facts { gap:10px; }
 .studio-facts dd { font-size:15px; }
 .studio-facts dt { letter-spacing:.04em; font-size:10px; }
}
