/* Shared editorial rhythm: open rows, clear type and restrained rules. */
.service-wrap { width:min(1120px,calc(100% - 112px));margin-inline:auto; }
.service-section { padding-block:88px;color:#001a33; }
.service-section--light { background:#f4f6f8; }
.service-section h2,.editorial-content-section h2 { font-size:clamp(1.8rem,2.7vw,2.55rem);font-weight:500;line-height:1.2;letter-spacing:-.035em; }
.service-section h3,.service-row h3,.project-row h3 { font-size:clamp(1.3rem,1.8vw,1.65rem);font-weight:500;line-height:1.3;letter-spacing:-.025em;margin:0;color:#001a33; }
.service-section p,.service-row p,.project-row p { font-size:1rem;line-height:1.75;color:#354d68;margin:0 0 18px; }
.service-intro { display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:80px; }
.service-intro>*,.service-row>*,.project-row>* { min-width:0; }
.service-row h3,.project-row h3,.service-intro h2 { overflow-wrap:break-word;hyphens:auto; }
.service-intro h2 { margin:0 0 24px; }
.service-kicker { display:block;font-size:.76rem !important;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:#8b1536 !important;margin:0 0 20px !important; }
.editorial-section-heading { text-align:left;margin:0 0 44px; }
.editorial-section-heading h2 { margin:0 0 20px; }
.editorial-section-heading p { max-width:660px;margin:0;font-size:1.05rem;line-height:1.7;color:#354d68; }
.service-list { display:block;width:100%; }
.service-row { display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:80px;padding:36px 0;border-top:1px solid #bdc8d3; }
.service-row:last-child { border-bottom:1px solid #bdc8d3; }
.service-row__heading { display:grid;grid-template-columns:34px minmax(0,1fr);gap:22px;align-content:start; }
.service-row__heading .service-tier { grid-column:1/-1;font-size:.78rem;line-height:1.5;color:#8b1536;margin:0;font-weight:600; }
.service-number { color:#8b1536;font-size:.82rem;font-weight:600;padding-top:5px; }
.service-row__copy>:last-child { margin-bottom:0; }
.service-topics { font-size:.82rem !important;color:#526278 !important; }
.service-link,.service-related a { color:#001a33;font-weight:600;text-underline-offset:5px;text-decoration:underline;text-decoration-thickness:1px;display:inline-block;line-height:1.6;padding-block:6px; }
.service-link:hover,.service-related a:hover { color:#a10e31; }
.service-outcomes { list-style:none;padding:0;margin:0; }
.service-outcomes li { padding:20px 0 20px 26px;border-top:1px solid #bdc8d3;font-size:1.06rem;line-height:1.55;position:relative; }
.service-outcomes li::before { content:'•';position:absolute;left:0;color:#8b1536; }
.service-outcomes li:last-child { border-bottom:1px solid #bdc8d3; }
.process-list { margin:0;padding:0;list-style:none;counter-reset:process; }
.process-list>li { display:grid;grid-template-columns:80px minmax(0,1fr);gap:36px;padding:30px 0;border-top:1px solid #bdc8d3; }
.process-list>li:last-child { border-bottom:1px solid #bdc8d3; }
.process-number { color:#8b1536;font-size:1.6rem;font-weight:400;line-height:1.3; }
.process-list h3 { margin:0 0 14px;font-size:1.4rem;font-weight:500;color:#001a33; }
.process-list p { max-width:740px;margin:0;color:#354d68;line-height:1.75; }
.service-faq { border-top:1px solid #bdc8d3; }
.service-faq:last-child { border-bottom:1px solid #bdc8d3; }
.service-faq summary { cursor:pointer;position:relative;padding:22px 34px 22px 0;list-style:none;font-size:1.12rem;font-weight:500;line-height:1.5;color:#001a33; }
.service-faq summary::-webkit-details-marker { display:none; }
.service-faq summary::after { content:'+';position:absolute;right:2px;top:22px;font-size:1.4rem;font-weight:400;color:#8b1536; }
.service-faq[open] summary::after { content:'−'; }
.service-faq p { padding:0 30px 8px 0; }
.service-related { margin:0;padding:0;list-style:none; }
.service-related li { padding:18px 0;border-top:1px solid #bdc8d3; }
.service-related li:last-child { border-bottom:1px solid #bdc8d3; }
.service-related a { font-size:1.25rem;font-weight:500; }
.service-related span { display:block;font-size:.9rem;color:#526278;margin-top:4px; }
.service-cta { background:#001a33;color:white; }
.service-cta h2 { color:white; }
.service-cta p { color:#d9e3ee;margin-bottom:28px; }
.service-cta a:focus-visible { outline-color:#fcd600; }
.service-breadcrumb { margin-bottom:28px; }
.service-breadcrumb ol { display:flex;flex-wrap:wrap;gap:8px 10px;list-style:none;margin:0;padding:0;color:#c2cfdf;font-size:.76rem;line-height:1.6; }
.service-breadcrumb li:not(:first-child)::before { content:'/';margin-right:10px;color:#a4bbd6; }
.service-breadcrumb a { color:#e0e7f0;text-underline-offset:4px; }
.editorial-content-section>.container { max-width:1120px; }
.project-list { display:block; }
.project-row { display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:60px;align-items:center;padding:44px 0;border-top:1px solid #bdc8d3; }
.project-row:last-child { border-bottom:1px solid #bdc8d3; }
.project-row__image { display:block;width:100%;height:auto;aspect-ratio:1.65;object-fit:cover; }
.project-row__copy h3 { margin:0 0 20px; }
.project-facts { margin:0;padding:0; }
.project-facts>div { display:grid;grid-template-columns:1fr 1.5fr;gap:24px;padding:18px 0;border-top:1px solid #bdc8d3;text-align:left; }
.project-facts>div:last-child { border-bottom:1px solid #bdc8d3; }
.project-facts dt { color:#526278; }
.project-facts dd { margin:0;color:#001a33;font-weight:500; }
.project-lead { border-left:2px solid #bf133c;padding-left:28px; }
.editorial-job { padding:28px 0;border-block:1px solid #bdc8d3;display:flex;align-items:center;justify-content:space-between;gap:28px; }
/* Service disclosure: ordinary navigation links, no application-menu roles. */
.services-dropdown { position:relative; }
.services-trigger { display:flex;align-items:center;gap:9px;cursor:pointer;list-style:none;min-height:44px; }
.services-trigger::-webkit-details-marker { display:none; }
.services-chevron { display:block;width:7px;height:7px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:translateY(-2px) rotate(45deg); }
.services-dropdown[open] .services-chevron { transform:translateY(2px) rotate(225deg); }
.services-dropdown[data-active="true"]>.services-trigger { text-decoration:underline;text-underline-offset:6px; }
.services-panel { position:absolute;top:calc(100% + 10px);left:-24px;width:490px;max-width:calc(100vw - 48px);max-height:calc(100dvh - var(--header-height) - 32px);overflow:auto;overscroll-behavior:contain;background:#fff;color:#001a33;border-top:3px solid #bf133c;box-shadow:0 16px 40px #001a3329;padding:8px 24px 0;z-index:5; }
.services-panel ul { list-style:none;padding:0;margin:0; }
.services-panel li+li { border-top:1px solid #d5dde5; }
.services-panel li a { display:block;padding:18px 0;color:#001a33;text-decoration:none; }
.services-panel a span { font-size:1.02rem;font-weight:500;line-height:1.4; }
.services-panel a small { display:block;color:#526278;font-size:.8rem;line-height:1.5;margin-top:5px; }
.services-panel a:hover>span,.services-panel a[aria-current="page"]>span { color:#a10e31;text-decoration:underline;text-underline-offset:4px; }
.services-panel .services-overview { display:flex;align-items:center;justify-content:space-between;gap:16px;padding:18px 0;color:#001a33;text-decoration:underline;text-underline-offset:5px;border-top:1px solid #bdc8d3;font-size:.88rem;font-weight:600; }
.header .services-panel a:focus-visible { outline-color:#bf133c;outline-offset:2px; }
summary:focus-visible { outline:3px solid #bf133c;outline-offset:4px; }
.header .services-trigger:focus-visible { outline-color:#fcd600; }
@media(max-width:1100px) {
 .service-wrap { width:calc(100% - 64px); }
 .service-intro,.service-row { gap:40px; }
 .project-row { gap:36px; }
}
@media(max-width:1050px) {
 .services-trigger { justify-content:space-between; }
 .services-panel { position:static;width:auto;max-width:none;max-height:none;margin:0 24px 16px;padding:0 18px;box-shadow:none;background:#092741;border-top:1px solid #486079; }
 .services-panel li+li,.services-panel .services-overview { border-color:#486079; }
 .services-panel li a,.services-panel .services-overview { color:#fff; }
 .services-panel a small { color:#c2cfdf; }
 .services-panel a:hover>span,.services-panel a[aria-current="page"]>span { color:#fff; }
 .header .services-panel a:focus-visible { outline-color:#fcd600; }
}
@media(max-width:768px) {
 .service-wrap { width:calc(100% - 48px); }
 .service-section { padding-block:60px; }
 .service-intro { grid-template-columns:1fr;gap:22px; }
 .service-intro h2 { max-width:600px; }
 .service-row { grid-template-columns:1fr;gap:18px;padding-block:28px; }
 .service-row__heading { gap:16px;grid-template-columns:28px minmax(0,1fr); }
 .service-row__copy { padding-left:44px; }
 .editorial-section-heading { margin-bottom:32px; }
 .project-row { gap:28px; }
 .process-list>li { grid-template-columns:44px minmax(0,1fr);gap:20px; }
 .editorial-job { align-items:start;flex-direction:column; }
}
@media(max-width:600px) {
 .service-wrap { width:calc(100% - 40px); }
 .service-section { padding-block:52px; }
 .service-row__copy { padding-left:0; }
 .project-row { grid-template-columns:1fr;gap:26px;padding-block:30px; }
 .project-row h3 { font-size:1.5rem; }
 .service-breadcrumb { margin-bottom:24px; }
 .service-faq summary { font-size:1.05rem; }
 .service-faq p { padding-right:0; }
 .project-facts>div { grid-template-columns:1fr 1.4fr;gap:16px; }
 .project-lead { padding-left:20px; }
}
