/* Section rhythm: compact service gallery, photo mosaic, open columns, dark results. */
.service-direction-tabs { display:flex; gap:8px; margin-bottom:32px; border-bottom:1px solid #c4bfb3; }
.service-direction-tabs button { border:0; border-bottom:3px solid transparent; background:transparent; padding:18px 22px; color:#607581; font:500 20px/1.4 'Noto Sans',sans-serif; }
.service-direction-tabs button[aria-selected=true] { border-color:#101e28; color:#101e28; background:#eff2f2; }
.service-card-group[hidden] { display:none; }
.reference-service-groups { display:block; }
.service-group-heading { border:0; margin-bottom:20px; padding:0; }
.service-group-heading h3 { font-size:17px; color:#526876; }
.service-group-heading p { font-size:14px; }
.reference-service-cards.service-carousel { display:flex; gap:24px; overflow-x:auto; scroll-snap-type:x mandatory; scrollbar-width:thin; scrollbar-color:#a6bbc6 transparent; padding:5px 0 20px; }
.service-carousel .reference-service-card { flex:0 0 calc((100% - 24px)/2); scroll-snap-align:start; min-height:285px; box-sizing:border-box; box-shadow:none; background:#f3f5f4; border:0; border-top:2px solid #c4bfb3; }
.service-carousel .reference-service-card:hover { transform:none; background:#eaf0f3; }
.carousel-controls { display:flex; justify-content:space-between; align-items:center; padding-top:18px; }
.carousel-count { color:#607581; font-size:15px; font-variant-numeric:tabular-nums; }
.carousel-controls > div { display:flex; gap:10px; }
.carousel-controls button { width:48px; height:48px; border:1px solid #a5b5bd; border-radius:50%; background:white; color:#101e28; font-size:24px; transition:background .25s,color .25s; }
.carousel-controls button:hover:enabled { background:#101e28; color:white; }
.carousel-controls button:disabled { opacity:.3; cursor:default; }
#about { background:#e5e3dd; }
.reference-trust-grid { gap:16px; }
#about .trust-card { min-height:255px; box-shadow:none; }
#audience { background:#fff; }
.reference-role-cards { gap:40px; }
.reference-role-cards article { padding:0 28px 0 0; background:transparent; border:0; border-right:1px solid #c4bfb3; box-shadow:none; }
.reference-role-cards article:last-child { border:0; }
.reference-role-cards article:hover { background:transparent; }
.reference-role-cards h3 { font:400 29px/1.25 Lora,serif; }
#challenges { border-top:1px solid #d6dcde; }
.reference-problem-cards { gap:0 50px; }
.reference-problem-cards article { background:transparent; box-shadow:none; border:0; border-bottom:1px solid #ccd5d9; padding:28px 0; }
.reference-problem-cards article:hover { box-shadow:none; }
.reference-problem-cards .problem-question { color:#6a8290; }
#results { background:#101e28; color:#ededed; }
#results .eyebrow,#results .section-heading > p { color:#afc1cb; }
.reference-result-cards { grid-template-columns:repeat(3,1fr); gap:38px; }
.reference-result-cards .trust-card,.reference-result-cards .trust-card:last-child { grid-column:auto; min-height:0; padding:28px 0 0; background:transparent; color:#ededed; border-top:1px solid #70828d; box-shadow:none; }
.reference-result-cards .trust-card > img,.reference-result-cards .trust-card::before,.reference-result-cards .trust-card::after { display:none; }
.reference-result-cards .trust-card h3 { font:400 29px/1.3 Lora,serif; }
.reference-result-cards .trust-card > div > span { border:0; color:#b9d0dc; }
#results > .r2-plan { color:#bcd5e3; opacity:.09; }
@media(max-width:800px) {
 .service-direction-tabs { gap:0; }
 .service-direction-tabs button { flex:1; font-size:16px; padding:15px 10px; }
 .service-group-heading p { display:none; }
 .service-carousel .reference-service-card { flex-basis:90%; min-height:340px; padding:26px 23px; }
 .service-carousel .reference-service-card h3 { font-size:22px; }
 .reference-role-cards,.reference-result-cards { grid-template-columns:1fr; gap:30px; }
 .reference-role-cards article { border-right:0; border-bottom:1px solid #c4bfb3; padding-bottom:26px; }
 .reference-problem-cards { grid-template-columns:1fr; }
 .reference-result-cards .trust-card { padding-top:24px; }
}
.reference-service-cards.service-carousel { scrollbar-width:none; }
.service-carousel::-webkit-scrollbar { display:none; }
.carousel-controls { border-top:1px solid #d7dfe2; }
