/* Content additions use the existing consultant theme and brand palette. */
.skip-link:focus{position:fixed;left:24px;top:16px;z-index:100;background:var(--paper);color:var(--ink);padding:12px 18px}
.site-header .primary-nav{gap:24px;margin-right:28px}
.mobile-menu{display:none}
.service-panel{display:flex;flex-direction:column;min-height:360px}
.service-panel-primary{background:#edf0f4;border-color:#cbd3de}
.service-title{position:relative;z-index:2;margin:0;padding:30px 0 20px;font-size:22px;line-height:1.5;font-weight:600}
.service-details{display:flex;flex-direction:column;flex:1}
.service-details p{font-size:14px;line-height:1.9;flex:1}
.service-tags{font-size:11px}
.service-details a{align-self:flex-start;font-size:13px}
.service-details a:hover,.knowledge-channels a:hover,.service-pathways a:hover{color:#314e72;border-color:#314e72}
.service-pathways{display:grid;grid-template-columns:1.3fr 1fr;gap:40px;border-top:1px solid #d8dce1;margin-top:26px;padding-top:24px}
.service-pathways h3{font-size:13px;font-weight:600;margin:0 0 14px;color:var(--ink)}
.service-pathways nav{display:flex;flex-wrap:wrap;gap:12px 20px}
.service-pathways a{font-size:13px;color:#657184;border-bottom:1px solid transparent;padding-bottom:3px}
.news-screen{background:#e9edf1;padding:64px 0;min-height:min(100svh,820px);display:flex;align-items:center}
.news-screen-inner{width:1320px}
.news-screen .section-heading{align-items:center;margin-bottom:32px;gap:40px}
.news-screen h2{font-size:36px}
.news-screen .eyebrow{margin-bottom:16px}
.news-heading-aside{max-width:390px;flex-shrink:0}
.news-heading-aside p{font-size:14px;line-height:1.9;color:#657184;margin:0 0 16px}
.news-heading-aside .text-link{display:inline-block}
.news-feature-grid{display:grid;grid-template-columns:1.1fr 1fr;gap:44px}
.news-lead{background:var(--navy);color:#fff;padding:34px 36px;display:flex;flex-direction:column;min-width:0}
.news-topic{display:flex;flex-wrap:wrap;gap:8px 14px;font-size:12px;color:#657184;line-height:1.6}
.news-lead .news-topic{color:#c0b194}
.news-topic span+span{border-left:1px solid currentColor;padding-left:14px}
.news-lead h3{font-size:27px;line-height:1.6;font-weight:500;margin:24px 0 20px;overflow-wrap:anywhere}
.news-lead h3 a:hover,.news-brief h3 a:hover{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:5px}
.news-summary{font-size:15px;line-height:1.95;color:#b7c1cd;margin:0 0 24px}
.news-lead-bottom{margin-top:auto}
.news-byline{display:flex;flex-wrap:wrap;align-items:baseline;gap:6px 16px;color:#657184;font-size:13px;line-height:1.7}
.news-byline time{white-space:nowrap;font-variant-numeric:tabular-nums}
.news-lead .news-byline{color:#aeb9c6;border-top:1px solid rgba(255,255,255,.18);padding-top:18px}
.news-read{display:inline-block;font-size:13px;border-bottom:1px solid #667382;padding-bottom:5px;margin-top:18px;color:#f2f0e9}
.news-briefs{display:flex;flex-direction:column;border-top:1px solid #c5cdd7}
.news-brief{padding:20px 0;border-bottom:1px solid #c5cdd7;flex:1;display:flex;flex-direction:column;justify-content:center}
.news-brief h3{font-size:19px;font-weight:600;line-height:1.6;margin:12px 0;overflow-wrap:anywhere}
.news-date-note{margin:18px 0 0;color:#6b7787;font-size:12px;line-height:1.8}
.news-empty{padding:48px 0;font-size:16px;color:var(--ink)}
.news-empty a{text-decoration:underline;margin-left:12px}
.news-screen+.about{border-top:1px solid #cfd5dc}
.method-deliverables{display:grid;grid-template-columns:1fr 2fr;gap:50px;margin-top:42px;align-items:start}
.method-deliverables .eyebrow{margin-bottom:12px}
.method-deliverables h3{font-size:23px;line-height:1.6;font-weight:500;margin:0}
.method-deliverables dl{display:grid;grid-template-columns:repeat(3,1fr);gap:25px;margin:0}
.method-deliverables dt{font-size:14px;font-weight:600;margin:0 0 12px}
.method-deliverables dd{font-size:13px;line-height:1.9;color:#6b7787;margin:0}
.knowledge-channels{display:flex;flex-wrap:wrap;gap:12px 26px;margin:-10px 0 28px;padding-bottom:22px;border-bottom:1px solid #d8dce1}
.knowledge-channels a{font-size:13px;color:#657184}
.footer-navigation{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:36px;padding:34px 0;border-bottom:1px solid rgba(255,255,255,.12)}
.footer-navigation h3{font-size:13px;font-weight:500;color:#d6dce3;margin:0 0 18px}
.footer-navigation a{display:block;width:fit-content;font-size:12px;line-height:1.8;color:#9aa8b8;margin:0 0 10px}
.footer-navigation a:hover{color:#fff;text-decoration:underline;text-underline-offset:4px}
.site-header>.brand{min-width:200px}
.site-header .primary-nav{gap:24px;margin-right:24px}
.site-map-menu{display:block;margin-left:18px}
.site-map-menu summary{list-style:none;cursor:pointer;font-size:13px;font-weight:600;color:#e0e6ed;white-space:nowrap;padding:14px 0}
.site-map-menu summary::-webkit-details-marker{display:none}
.site-map-menu[open] summary{text-decoration:underline;text-underline-offset:6px}
body .site-header .site-map-menu .site-directory{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px 30px;position:absolute;left:auto;right:0;top:100%;margin:0;width:760px;max-width:calc(100vw - 48px);max-height:75svh;overflow-y:auto;padding:26px;background:var(--navy);border:1px solid #48596e;box-shadow:0 18px 36px rgba(0,0,0,.18)}
body .site-header .site-map-menu:not([open]) .site-directory{display:none}
.directory-title{display:block;font-size:13px;font-weight:700;color:#c0b194;margin-bottom:8px}
.site-header .site-map-menu nav a{display:block;color:#e0e6ed;font-size:14px;line-height:1.6;padding:8px 0;white-space:normal}
.site-header .primary-nav a:hover,.site-header .site-map-menu nav a:hover{text-decoration:underline;text-underline-offset:5px}
.service-title a:hover{text-decoration:underline;text-underline-offset:6px}
.service-details>a{font-size:14px;font-weight:600;border:1px solid #acb7c5;padding:10px 13px;line-height:1.5;min-height:42px}
.service-details>a:hover{background:#dce3eb;border-color:#7c8da3}
@media(min-width:1101px) and (max-height:760px){.news-screen{padding-top:48px;padding-bottom:40px}.news-lead{padding:28px 30px}.news-lead h3{font-size:25px;margin:18px 0}.news-summary{font-size:14px;line-height:1.85;margin-bottom:18px}.news-brief{padding:16px 0}.news-brief h3{font-size:18px;margin:10px 0}.news-screen .section-heading{margin-bottom:26px}}
@media(max-width:1100px){
  body .site-header{display:grid;grid-template-columns:minmax(0,1fr) auto auto auto;gap:16px}
  .site-header .brand{min-width:0}
  .site-header .primary-nav{display:none}
  body .language-switch{margin:0}
  .mobile-menu{display:block}
  .mobile-menu summary{cursor:pointer;list-style:none;font-size:13px;color:#d6dce3;padding:12px 0 12px 6px}
  .mobile-menu summary::-webkit-details-marker{display:none}
  .mobile-menu[open] summary{text-decoration:underline;text-underline-offset:5px}
  body .site-header .mobile-menu nav{display:grid;grid-template-columns:1fr 1fr;gap:0;position:absolute;left:0;right:0;top:100%;margin:0;padding:14px 18px;background:var(--navy);border:1px solid #3a4b61;max-height:70svh;overflow:auto;box-shadow:0 20px 30px rgba(0,0,0,.15)}
  body .site-header .mobile-menu:not([open]) nav{display:none}
  .mobile-menu nav a{padding:14px 10px;font-size:14px}
  .service-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .service-pathways{grid-template-columns:1fr;gap:22px}
  .news-screen h2{font-size:32px}
  .news-feature-grid{gap:28px}
  .news-lead{padding:28px}
  .news-lead h3{font-size:24px}
  .news-brief h3{font-size:18px}
  .method-deliverables{grid-template-columns:1fr;gap:25px}
  .footer-navigation{gap:24px}
  .site-map-menu{margin-left:0}
  body .site-header .site-map-menu .site-directory{left:0;right:0;width:auto;grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media(max-width:800px){
  body .site-header{grid-template-columns:minmax(0,1fr) auto auto auto;gap:10px}
  .mobile-menu summary{font-size:11px;padding-left:0}
  body .nav-contact{font-size:10px;padding:9px 10px}
  .service-panel{min-height:0}
  .service-title{font-size:20px;padding:20px 0 14px}
  .service-details p{font-size:14px}
  .service-pathways{margin-top:22px;padding-top:22px}
  .service-pathways nav{gap:12px 22px}
  .news-screen{display:block;min-height:0;padding:60px 0}
  .news-screen-inner{width:auto}
  .news-screen .section-heading{display:block;margin-bottom:28px}
  .news-screen h2{font-size:29px}
  .news-heading-aside{max-width:none;margin-top:20px}
  .news-heading-aside p{font-size:13px;margin-bottom:14px}
  .news-feature-grid{grid-template-columns:1fr;gap:26px}
  .news-lead{padding:26px 24px}
  .news-lead h3{font-size:23px;margin:20px 0 18px}
  .news-summary{font-size:14px}
  .news-topic{font-size:12px}
  .news-byline{font-size:13px}
  .news-brief{padding:22px 0}
  .news-brief h3{font-size:18px}
  .method-deliverables{margin-top:30px}
  .method-deliverables h3{font-size:21px}
  .method-deliverables h3 br{display:none}
  .method-deliverables dl{grid-template-columns:1fr;gap:22px}
  .method-deliverables dt{margin-bottom:7px}
  .knowledge-channels{gap:15px 22px;margin:0 0 24px}
  .footer-navigation{grid-template-columns:1fr 1fr;gap:22px;padding:28px 0}
  .footer-navigation h3{margin-bottom:14px}
  .footer-navigation a{font-size:13px;margin-bottom:12px}
  body .site-header>.brand{min-width:0}
  body .site-header .site-map-menu .site-directory{grid-template-columns:repeat(2,minmax(0,1fr));padding:20px;gap:22px 16px}
  .site-header .site-map-menu nav a{font-size:13px;min-height:40px}
  .site-map-menu summary{font-size:11px}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

/* Approved news remains static HTML; JavaScript adds a controllable scroll window. */
.news-briefs{display:block;border-top:0;min-width:0}
.news-window{border-top:1px solid #c5cdd7;scrollbar-width:thin;scrollbar-color:#9aa7b7 transparent;overflow-y:auto;scrollbar-gutter:stable}
.news-window.is-enhanced{height:calc(var(--news-row-height) * var(--news-visible-count));overflow-y:auto;overflow-x:hidden;overscroll-behavior-y:contain;scroll-snap-type:y proximity}
.news-track{display:block}
.news-brief{flex:none;scroll-snap-align:start;padding:18px 8px 18px 0;min-height:142px}
.news-window.is-enhanced .news-brief{height:var(--news-row-height)}
.news-scroll-controls{display:flex;justify-content:flex-end;gap:8px;align-items:center;padding-top:12px}
.news-position{margin-right:auto;color:#56667b;font-size:12px;font-variant-numeric:tabular-nums}
.news-scroll-controls button{font-size:12px;line-height:1.4;border:1px solid #acb7c5;background:transparent;color:#243b58;padding:9px 11px;min-height:38px;cursor:pointer}
.news-scroll-controls button:hover{background:#dce3eb}
@media(max-width:800px){.news-brief{min-height:180px;padding:18px 8px 18px 0}.news-scroll-controls{gap:6px}.news-scroll-controls button{padding:10px 8px;min-height:44px;font-size:12px}}
@media(min-width:1101px) and (max-height:760px){
 .news-screen{padding-top:32px;padding-bottom:28px}
 .news-screen .section-heading{margin-bottom:20px}
 .news-heading-aside{display:flex;align-items:center;gap:22px;max-width:520px}
 .news-heading-aside p{margin:0;font-size:13px}
 .news-heading-aside .text-link{white-space:nowrap}
 .news-brief{padding-top:14px;padding-bottom:14px;min-height:136px}
 .news-date-note{margin-top:14px}
}

/* Readable type hierarchy, using the existing navy and warm-paper palette. */
.site-header:before{content:"";position:absolute;inset:0;background:var(--hero-blue);box-shadow:0 0 0 100vmax var(--hero-blue);clip-path:inset(0 -100vmax);z-index:-1}
.site-header .primary-nav{gap:22px}
.site-header .primary-nav a{font-size:15px;font-weight:650;color:#e0e6ed}
.site-map-menu summary{font-weight:650}
.language-switch select{color:#d6dce3}
.hero-message h1{font-weight:750;letter-spacing:-1px}
.hero-message p{color:#d0d8e2;font-weight:450}
.button-white,.hero-link,.nav-contact,.text-link{font-weight:650}
.section-heading h2,.about-copy h2,.contact-copy h2{font-weight:750}
.service-title,.approach-grid h3,.case-row h3,.guide h3,.method-deliverables h3,.news-lead h3,.news-brief h3{font-weight:700}
.section-intro,.service-details p,.about-copy>p:not(.eyebrow),.approach-grid p,.method-deliverables dd,.guide p{font-size:15px;color:#4f5e72;line-height:1.95}
.about-copy .about-lead{font-weight:650}
.service-tags,.service-boundary,.service-pathways a,.knowledge-channels a,.news-heading-aside p,.news-topic,.news-byline,.news-date-note,.guide-category{color:#526177}
.service-pathways h3,.method-deliverables dt{font-size:15px;font-weight:700}
.service-pathways a,.knowledge-channels a,.text-link,.guide-read{font-size:14px;font-weight:550}
.credentials span{font-size:12px;font-weight:550}
.news-summary{color:#c6d0dc}
.news-lead .news-topic{color:#c9bb9e}
.news-lead .news-byline{color:#bdc8d6}
.case-row p{font-size:14px;color:#c0ccda}
.case-row h3 span,.case-index,.case-note,.contact-actions span{color:#b0bed0}
.contact-copy>p,.fact p{color:#c0ccda}
.fact.client-fact strong{font-weight:650}
.footer-navigation h3{font-weight:700}
.footer-navigation a{font-size:13px;color:#b0bed0}
@media(max-width:800px){
 .hero-message p{font-size:15px}
 .hero .hero-message h1{font-size:34px}
 .section-intro,.service-details p,.about-copy>p:not(.eyebrow),.approach-grid p,.method-deliverables dd,.guide p{font-size:15px}
 .service-tags,.service-boundary,.fact p{font-size:12px}
}

/* A lighter opening, with a continuous full-width background below the hero. */
:root{--hero-blue:#29455f}
.hero,.facts-band{background:var(--hero-blue)}
.site-header:before{background:var(--hero-blue)}
body .site-header .site-map-menu .site-directory{background:var(--hero-blue)}
.hero-image{filter:grayscale(.15) brightness(.95)}
.hero-shade{background:linear-gradient(90deg,var(--hero-blue) 0%,var(--hero-blue) 37%,rgba(41,69,95,.78) 52%,rgba(41,69,95,.08) 78%),linear-gradient(0deg,rgba(41,69,95,.8),transparent 52%)}
.hero-message p,.facts-band .fact p{color:#dce5ee}
.hero-tab{color:#c3d0dd}
.facts-band{width:100%}
.facts-band .facts{background:transparent}
@media(max-width:800px){
 .hero-image{opacity:.72}
 .hero-shade{background:linear-gradient(90deg,rgba(41,69,95,.96),rgba(41,69,95,.7)),linear-gradient(0deg,var(--hero-blue) 0%,transparent 65%)}
}

/* Batch 1: continuous footer background, keeping the existing content alignment. */
.site-footer.wrap{
  width:100%;
  max-width:none;
  margin-inline:0;
  padding-inline:max(48px,calc((100% - 1320px)/2));
}
@media(max-width:800px){
  .site-footer.wrap{padding-inline:24px}
  body .site-header .nav-contact{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:44px;
    padding:10px 8px;
    font-size:14px;
    white-space:nowrap;
  }
  .site-header .site-map-menu summary{
    display:flex;
    align-items:center;
    min-height:44px;
    padding-block:0;
    font-size:14px;
    white-space:nowrap;
  }
  .hero-actions .button-white,.hero-actions .hero-link{
    display:inline-flex;
    align-items:center;
    min-height:44px;
    font-size:14px;
  }
  .wechat #copy-wechat{
    min-height:44px;
    padding:10px 14px;
    border:1px solid #aab3bf;
    font-size:14px;
    cursor:pointer;
  }
  .wechat #copy-wechat:focus-visible{outline:2px solid var(--ink);outline-offset:3px}
  .wechat .copy-status{font-size:12px;line-height:1.6}
}
@media(max-width:380px){
  body .site-header{gap:4px}
  body .site-header .brand strong{font-size:14px;letter-spacing:0;white-space:nowrap}
}
