/* Shared identity and interaction system. Loaded last on every public page. */
:root{scroll-padding-top:112px;--accent:#d7ff44}
.header.wrap{position:sticky;top:0;z-index:30;width:100%;max-width:none;padding:16px max(24px,calc((100vw - 1360px)/2));min-height:88px;height:auto;background:#f6f7f2;border-bottom:1px solid #d8ddd3;gap:28px}
.brand-lockup{display:flex;flex-direction:column;gap:5px;flex-shrink:0;width:212px}
.brand img{display:block;width:212px;height:auto;aspect-ratio:414/56;object-fit:contain}
.brand-tagline{display:block;color:#171d19;font:500 11.5px/1.3 Manrope,Arial,sans-serif;letter-spacing:-.025em;white-space:nowrap}
.header nav{gap:8px;font-size:13px;align-items:center}.header nav a{padding:12px 13px;border-radius:3px;transition:background .16s,color .16s;white-space:nowrap}
.header nav a[aria-current]{background:var(--accent);color:#171d19}
a:focus-visible,button:focus-visible,summary:focus-visible{outline:2px solid #171d19;outline-offset:4px;box-shadow:none}
.hero-world a:focus-visible{outline-color:#fff}
.button,.button.small{border-radius:3px;min-height:46px;transition:background .16s,color .16s}.button:hover{transform:none}
.button.dark:hover,.button.dark:focus-visible,#public-download:hover,#public-download:focus-visible{background:var(--accent);color:#171d19}
.button.lime:hover,.button.lime:focus-visible{background:#e6ff8d;color:#171d19}
.text-link:hover,.service-links a:hover,.service-links a:focus-visible,.compact-insights a:hover,.compact-insights a:focus-visible,.industry-card a:hover,.article-toc a[aria-current],.related-links a:hover,.insight-card>a:hover,.footer a:not(.brand):hover,.footer a[aria-current=true]{background:var(--accent);color:#171d19;text-decoration:none}
.compact-site .industry-links a:hover,.industry-links a:hover{background:var(--accent);color:#171d19}
.compact-site .service-tabs button[aria-selected=true]{background:var(--accent);color:#171d19}
.compact-site .service-tabs button[aria-selected=true] span:last-child{background:#171d19;color:var(--accent)}
.industry-card:target{border-top:3px solid #9bb824;background:linear-gradient(180deg,#e9ede2,transparent 180px);padding-inline:20px;scroll-margin-top:110px}
.article-toc{top:115px}.article-body section{scroll-margin-top:112px}
.region-links{padding-block:20px;display:flex;gap:16px;flex-wrap:wrap;font-size:13px}.footer .region-links.wrap{width:100%;max-width:none}.region-links a{padding:8px}.region-links a[aria-current=true]{font-weight:700}
.footer-top{align-items:center}.footer .brand-lockup{width:212px}.footer a:not(.brand){transition:background .16s,color .16s}
#public-result{margin-top:20px}#public-brief{display:grid;gap:12px}#public-brief label{display:grid;gap:7px;margin:0}#public-brief input,#public-brief select,#public-brief textarea{width:100%;padding:12px;border:1px solid #738373;background:#fff;color:#171d19;font:inherit;font-size:16px}#brief .contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:60px}
@media(max-width:1100px){.header.wrap{padding-inline:32px}.header nav{gap:0}.header nav a{padding-inline:10px}.header-cta{display:none}}
@media(max-width:800px){:root{scroll-padding-top:96px}.header.wrap{padding:14px 20px;min-height:84px;gap:12px}.brand-lockup,.footer .brand-lockup{width:200px}.brand img{width:200px}.brand-tagline{font-size:10.8px}.header nav{top:100%;left:0;right:0;align-items:stretch}.header nav a{padding:14px 20px}.menu-toggle{min-height:44px;font-size:12px;padding:10px}.menu-toggle span{font-size:18px}.article-body section,.industry-card:target{scroll-margin-top:102px}#brief .contact-grid{grid-template-columns:1fr;gap:28px}}
@media(prefers-reduced-motion:reduce){:root{scroll-behavior:auto}*,*::before,*::after{transition:none!important;animation:none!important}}

.header nav a[aria-current]{font-weight:700;text-decoration:underline;text-underline-offset:5px}.article-toc a[aria-current]{font-weight:700;border-left:3px solid #171d19;padding-left:10px}.header.wrap{padding-inline:max(56px,calc((100vw - 1360px)/2))}@media(max-width:1150px){.header.wrap{padding-inline:32px}}@media(max-width:800px){.header.wrap{padding-inline:20px}}

.compact-site .service-tabs button{letter-spacing:-.01em}.compact-site .section-heading h2{letter-spacing:-.035em}.compact-site .service-panels h3{letter-spacing:-.025em}

/* Align tagline to first outlined letter (81.5 / 414), excluding the symbol. */
.brand-tagline{margin-inline-start:19.686%;width:80.314%;font-size:10px;line-height:14px;letter-spacing:-.01em}@media(max-width:800px){.brand-tagline{font-size:9.4px;line-height:13px}}

/* Consistent feedback: lime is hover/focus; selection has its own persistent cue. */
.header nav a[aria-current],.article-toc a[aria-current],.footer .region-links a[aria-current]{background:transparent;color:#171d19;font-weight:700;text-decoration:underline;text-underline-offset:5px}
.compact-site .service-tabs button[aria-selected=true]{background:#13241b;color:#f6f7f2;box-shadow:inset 4px 0 #d7ff44}
.compact-site .service-tabs button[aria-selected=true] span:last-child{background:#d7ff44;color:#171d19}
.header nav a,.compact-site .service-tabs button,.article-toc a,.footer .region-links a,.compact-site .industry-links a,.industry-links a{transition:none}
.menu-toggle[aria-expanded=true]{background:#e9ede2;color:#171d19}
/* Equal pointer and keyboard feedback across navigation, tabs, links and controls. */
a:not(.brand):is(:hover,:focus-visible),button:not(:disabled):is(:hover,:focus-visible),summary:is(:hover,:focus-visible),.header nav a:is(:hover,:focus-visible),.article-toc a:is(:hover,:focus-visible),.footer .region-links a:is(:hover,:focus-visible),.compact-site .service-tabs button:is(:hover,:focus-visible),.compact-site .industry-links a:is(:hover,:focus-visible),.industry-links a:is(:hover,:focus-visible),.planner-disclosure summary:is(:hover,:focus-visible),.menu-toggle:is(:hover,:focus-visible){background:#d7ff44;color:#171d19}
.compact-site .service-tabs button:is(:hover,:focus-visible) span:last-child{background:#171d19;color:#d7ff44}
.button.lime:is(:hover,:focus-visible){background:#e6ff8d;color:#171d19}
a.brand:is(:hover,:focus-visible){outline:2px solid #596259;outline-offset:5px}
@media(max-width:360px){.header.wrap{padding-inline:16px;gap:8px}.header .brand-lockup,.header .brand img{width:180px}.header .brand-tagline{font-size:8.5px}.header .menu-toggle{padding-inline:8px;font-size:11px}}


/* Keyboard focus retains its outline without imitating a second pointer hover. */
.compact-site .service-tabs button[aria-selected=true]:focus-visible:not(:hover){background:#13241b;color:#f6f7f2}
.compact-site .service-tabs button[aria-selected=true]:focus-visible:not(:hover) span:last-child{background:#d7ff44;color:#171d19}

/* Fluid reading rhythm: native scroll, crisp text, progressive CSS timelines. */
.compact-site .header.wrap{background:rgba(246,247,242,.9);border-bottom-color:rgba(216,221,211,.65);backdrop-filter:blur(16px) saturate(125%);-webkit-backdrop-filter:blur(16px) saturate(125%)}
.compact-site .service-panels{border-radius:22px;box-shadow:0 16px 44px -32px #13241b66}
.compact-site .global-reach{border-top:0;border-radius:26px;background:linear-gradient(130deg,#ffffff,#edf1e7);padding:44px; margin-block:28px}
.compact-site .industry-links a{border-radius:12px}
.compact-site .button{border-radius:12px}
@media(prefers-reduced-motion:no-preference){
 .compact-site .service-panels [role="tabpanel"]:not([hidden]){animation:panel-settle .32s cubic-bezier(.22,1,.36,1) both}
 @keyframes panel-settle{from{opacity:.82;transform:translateY(8px)}to{opacity:1;transform:none}}
 @supports(animation-timeline:view()){
  .compact-site #expertise,.compact-site #industries,.compact-site #global,.compact-site #about,.compact-site .compact-insights,.compact-site #brief{animation:section-flow linear both;animation-timeline:view();animation-range:entry 0% entry 85%}
  @keyframes section-flow{from{transform:translateY(30px)}to{transform:translateY(0)}}
  .compact-site .hero-world .hero-copy{animation:hero-depth linear both;animation-timeline:view();animation-range:exit 0% exit 100%}
  @keyframes hero-depth{from{transform:translateY(0)}to{transform:translateY(-24px)}}
  .compact-site main section:focus-within{animation:none}
 }
}
@media(max-width:800px){
 .compact-site .global-reach{padding:26px 22px;border-radius:20px;margin-block:20px}
 .compact-site .service-panels{border-radius:16px}
 @keyframes section-flow{from{transform:translateY(14px)}to{transform:translateY(0)}}
}
@media(prefers-reduced-transparency:reduce){.compact-site .header.wrap{background:#f6f7f2;backdrop-filter:none;-webkit-backdrop-filter:none}}
@media(prefers-reduced-motion:reduce){.compact-site main section,.compact-site .hero-copy,.compact-site .service-panels [role="tabpanel"]{animation:none!important;transform:none!important}}
/* 29 Oct 2026: screen-reader heading on the guides index, and footer/breadcrumb links tall enough to tap on phones (24px minimum). */
.visually-hidden{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
.footer-bottom a,.footer-bottom button,.footer-top>a,.breadcrumb a{display:inline-flex;align-items:center;min-height:24px}
/* (home uses concourse styles) */.home-page .footer .footer-bottom a,.home-page .footer .footer-bottom button,.home-page .footer .footer-top>a{display:inline-flex;align-items:center;min-height:24px}
