@import url('./toolkit-accordion.css');

/* HXG interface system. Tabler information hierarchy, Emil interaction rules. */
body.toolkit-site {
  --ui-ink:#162b45; --ui-muted:#55677c; --ui-line:#dce3eb;
  --ui-brand:#1956b1; --ui-surface:#fff; --ui-canvas:#f5f7fa;
  --primary:#1956b1; --primary-dark:#143f80;
  font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC","Microsoft YaHei",sans-serif;
  color:var(--ui-ink); background:var(--ui-surface); line-height:1.7;
}
.toolkit-site *, .toolkit-site *::before, .toolkit-site *::after { box-sizing:border-box; }
.toolkit-site :is(a,button,input,select,textarea,summary):focus-visible { outline:3px solid #2872d6!important; outline-offset:4px; }
.toolkit-site :is(h1,h2,h3) { text-wrap:balance; color:var(--ui-ink); letter-spacing:-.025em; }
.toolkit-site :is(p,li,td,label) { overflow-wrap:anywhere; }
.toolkit-site .container { width:100%; max-width:1240px; padding-inline:32px; }
.toolkit-site main [id] { scroll-margin-top:116px; }
.toolkit-site .top-bar { background:#f5f7fa; color:#53657b; border-bottom:1px solid var(--ui-line); padding:7px 0; font-size:11px; }
.toolkit-site header { background:#fff; border-bottom:1px solid var(--ui-line); box-shadow:none; }
.toolkit-site .header-inner { min-height:84px; gap:24px; padding-block:12px; }
.toolkit-site .logo-icon { border-radius:10px!important; background:var(--ui-brand); width:42px; height:42px; flex:0 0 42px; }
.toolkit-site .logo-text .site-name { font-size:22px; font-weight:750; color:var(--ui-ink); }
.toolkit-site .logo-text p:not(.site-name) { font-size:10px; color:var(--ui-muted); max-width:228px; white-space:normal; }
.toolkit-site nav.main-nav { gap:3px; }
.toolkit-site nav.main-nav > a { font-size:13px; font-weight:600; padding:10px; height:auto; min-height:42px; color:var(--ui-ink); border:0; background:none; white-space:nowrap; }
.toolkit-site nav.main-nav > a[aria-current=page] { background:#eef4fc; color:var(--ui-brand); border-radius:6px!important; }
.toolkit-site nav.main-nav > a::after { display:none; }
.toolkit-site nav.main-nav > .cta-header { margin-left:8px; background:var(--ui-brand)!important; color:#fff!important; border-radius:7px!important; padding:11px 16px!important; }
.toolkit-site .toolkit-nav-more { position:relative; font-size:13px; }
.toolkit-site .toolkit-nav-more summary { cursor:pointer; padding:10px; min-height:44px; color:var(--ui-ink); white-space:nowrap; }
.toolkit-site .toolkit-nav-panel { position:absolute; top:100%; right:0; width:220px; padding:10px; background:#fff; border:1px solid var(--ui-line); border-radius:10px!important; box-shadow:0 16px 38px #162b4520; z-index:30; }
.toolkit-site .toolkit-nav-panel a { display:block!important; padding:10px 12px; color:var(--ui-ink); font-size:14px; min-height:44px; }
.toolkit-site .toolkit-nav-panel .language-switcher { display:block!important; padding:8px; }
.toolkit-site .toolkit-nav-panel select { width:100%; }
.toolkit-site .btn { border-radius:7px!important; min-height:46px; padding:12px 20px; font-weight:650; box-shadow:none; transition:background-color 150ms ease,color 150ms ease,transform 100ms ease; }
.toolkit-site .btn-primary { background:var(--ui-brand); color:#fff; border:1px solid var(--ui-brand); }
.toolkit-site .btn:active { transform:scale(.98); }
.toolkit-site .page-banner { padding:48px 0 36px; background:#f5f7fa!important; color:var(--ui-ink); border-bottom:1px solid var(--ui-line); }
.toolkit-site .page-banner::before { display:none; }
.toolkit-site .page-banner h1 { font-size:clamp(28px,3vw,40px); color:var(--ui-ink)!important; text-shadow:none; line-height:1.35; margin:0 0 14px; }
.toolkit-site .page-banner p { color:var(--ui-muted)!important; max-width:820px; font-size:16px; }
.toolkit-site .breadcrumb { color:#53657b; font-size:12px; margin-top:20px; }
.toolkit-site .breadcrumb a { color:var(--ui-brand); }
.toolkit-site :is(.section,.content-section) { padding-block:48px; }
.toolkit-site .content-grid { gap:36px; align-items:start; }
.toolkit-site :is(.content-main,.content-side,.sidebar) { min-width:0; }
.toolkit-site .content-main { font-size:16px; line-height:1.9; }
.toolkit-site :is(.service-card,.feature-card,.quote-form,.rfq-form,.info-card,.contact-card,.article-card,.project-card) { border:1px solid var(--ui-line); border-radius:10px!important; box-shadow:none; background:#fff; }
.toolkit-site :is(.service-card,.article-card,.project-card):hover { transform:none; box-shadow:none; border-color:#99b1ce; }
.toolkit-site .article-detail { max-width:940px; padding-top:42px; padding-bottom:64px; font-size:16px; line-height:1.9; }
.toolkit-site .article-detail h1 { font-size:clamp(28px,3vw,40px); line-height:1.4; }
.toolkit-site .article-detail h2 { font-size:25px; margin-top:42px; padding-top:24px; border-top:1px solid var(--ui-line); }
.toolkit-site .toolkit-page-index { display:flex; align-items:center; flex-wrap:wrap; gap:6px 20px; margin:24px auto; padding:18px 20px; border:1px solid var(--ui-line); border-radius:8px!important; background:#f7f9fc; font-size:13px; }
.toolkit-site .toolkit-page-index>span { color:var(--ui-muted); font-weight:600; }
.toolkit-site .toolkit-page-index a { color:#1c5193; padding:3px 0; }
.toolkit-site .toolkit-table-scroll { max-width:100%; overflow-x:auto; margin:18px 0; border:1px solid var(--ui-line); border-radius:8px!important; }
.toolkit-site .toolkit-table-scroll table { margin:0; width:100%; font-size:14px; }
.toolkit-site table th { background:#edf2f8; color:#264363; padding:14px; text-align:left; }
.toolkit-site table td { padding:14px; border-bottom:1px solid var(--ui-line); }
.toolkit-site .ai-summary { background:#f0f5fc; border:1px solid #cedced; border-left:3px solid var(--ui-brand); border-radius:7px!important; color:#304d6e; line-height:1.8; }
.toolkit-site .toolkit-form-group { padding:0; border:0; margin:28px 0; min-width:0; }
.toolkit-site .toolkit-form-group legend { width:100%; font-size:15px; font-weight:700; color:#234b7b; padding:0 0 16px; margin-bottom:16px; border-bottom:1px solid var(--ui-line); }
.toolkit-site :is(.rfq-form-grid,.form-grid-2) { gap:18px; }
.toolkit-site :is(input,select,textarea) { border-radius:6px!important; border-color:#b7c5d6; box-shadow:none; font-size:15px; }
.toolkit-site :is(input,select,textarea):not([type=checkbox]):not([type=radio]) { min-height:44px; }
.toolkit-site textarea { line-height:1.7; }
.toolkit-site :is(.rfq-actions,.contact-actions) { border-top:1px solid var(--ui-line); padding-top:22px; margin-top:24px; }
.toolkit-site .faq-item { border:1px solid var(--ui-line); border-radius:8px!important; margin-bottom:12px; background:#fff; overflow:hidden; }
.toolkit-site .faq-question { padding:20px; font-size:16px; font-weight:650; background:#fff; color:var(--ui-ink); }
.toolkit-site .faq-item .faq-answer { display:block!important; max-height:none!important; padding:0 20px!important; visibility:visible; margin:0; }
.toolkit-site .faq-answer>:last-child { padding-bottom:20px; }
.toolkit-site .t-acc-panel { min-height:0; }
.toolkit-site .t-acc-panel-inner { min-height:0; }
.toolkit-site footer { background:#102b49; color:#d3dfed; }
.toolkit-site footer :is(h4,a) { color:#e7eff8; }
.toolkit-site .footer-quick-nav { gap:20px; padding-block:22px; }

/* Homepage: direct inquiry on the left, material context on the right. */
.toolkit-site.home-page .hero { background:#fff!important; color:var(--ui-ink); }
.toolkit-site.home-page .hero-inner { display:grid; grid-template-columns:1.12fr .88fr; gap:40px; padding-block:48px; align-items:center; }
.toolkit-site.home-page .home-hero-copy { max-width:none; }
.toolkit-site.home-page .hero .hero-kicker { color:#506b8a!important; font-size:12px!important; margin-bottom:22px!important; letter-spacing:.08em; }
.toolkit-site.home-page .hero h1.hero-title { font-size:clamp(30px,3.1vw,46px); color:var(--ui-ink)!important; line-height:1.4; font-weight:750; margin-bottom:20px; }
.toolkit-site.home-page .hero h1.hero-title span { color:var(--ui-brand)!important; }
.toolkit-site.home-page .hero .hero-intro { color:var(--ui-muted)!important; font-size:15px; line-height:1.9; margin-bottom:22px; }
.toolkit-site.home-page .hero-proof-pills { gap:10px 18px; margin-bottom:26px; }
.toolkit-site.home-page .hero-proof-pills a { color:#45617e; font-size:12px; }
.toolkit-site.home-page .hero-proof-pills a::before { background:#3d78bf; }
.toolkit-site.home-page .home-next-step { color:#244b76; font-size:13px; margin:0 0 12px; }
.toolkit-site.home-page .hero-buttons { flex-wrap:wrap; }
.toolkit-site.home-page .hero-buttons .btn { font-size:14px; min-height:48px; padding:12px 19px; }
.toolkit-site.home-page .hero-buttons .btn-primary { background:var(--ui-brand); color:#fff; border-color:var(--ui-brand); }
.toolkit-site.home-page .hero-buttons .btn-outline { background:#fff; color:#244b76; border-color:#b6c7dc; }
.toolkit-site.home-page .hero .home-hero-footnote { color:#64768b; font-size:11px; margin-top:20px; }
.toolkit-site.home-page .home-hero-visual { min-height:400px; position:relative; border-radius:12px!important; overflow:hidden; background:linear-gradient(180deg,#07182e18,#07182ed9),url('../assets/optimized/home-hero-proof-first-v1.jpg') center/cover; }
.toolkit-site.home-page .home-visual-caption { padding:28px; color:#fff; }
.toolkit-site.home-page .home-visual-caption span { font-size:10px; letter-spacing:.12em; background:#102b49; padding:5px 9px; }
.toolkit-site.home-page .home-visual-caption strong { display:block; font-size:24px; line-height:1.5; margin-top:14px; color:#fff; text-shadow:0 1px 5px #07182e; }
.toolkit-site.home-page .hero-wechat[data-hero-priority=primary] { position:absolute; display:flex; flex-direction:row; gap:14px; bottom:38px; left:24px; right:24px; width:auto; padding:14px; box-shadow:none; border-radius:8px!important; text-align:left; }
.toolkit-site.home-page .hero-wechat[data-hero-priority=primary] img { width:84px; height:86px; flex:0 0 84px; }
.toolkit-site.home-page .hero-wechat[data-hero-priority=primary] span { display:block; font-size:11px; }
.toolkit-site.home-page .home-image-credit { bottom:10px; right:20px; }
.toolkit-site.home-page .home-service-rail { background:#f5f7fa; border-block:1px solid var(--ui-line); }
.toolkit-site.home-page .home-service-rail a { color:var(--ui-ink); border-color:var(--ui-line); padding-block:22px; }
.toolkit-site.home-page .home-service-rail b { color:var(--ui-brand); }
.toolkit-site.home-page .home-service-rail small { color:var(--ui-muted); }
.toolkit-site.home-page .home-service-rail strong { font-size:15px; }
.toolkit-site.home-page :is(.home-materials,.home-service,.home-resources) { padding:56px 0; }
.toolkit-site.home-page h2 { font-size:clamp(25px,2.4vw,32px); }
.toolkit-site.home-page .home-material-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:0 36px; }
.toolkit-site.home-page .home-material-card { display:grid; grid-template-columns:150px 1fr; border:0; border-top:1px solid var(--ui-line); padding:24px 0; border-radius:0!important; gap:22px; align-items:start; }
.toolkit-site.home-page .home-material-photo { aspect-ratio:1; border-radius:8px!important; }
.toolkit-site.home-page .home-material-photo img { aspect-ratio:1; }
.toolkit-site.home-page .home-material-card>div { padding:0; }
.toolkit-site.home-page .home-material-card h3 { font-size:18px; margin:8px 0; }
.toolkit-site.home-page .home-material-card p { margin:0 0 10px; }
.toolkit-site.home-page .home-material-card>div>a { border:0; padding:0; }
.toolkit-site.home-page .home-service { background:#f5f7fa; }
.toolkit-site.home-page .home-service-points { grid-template-columns:1fr; gap:22px; }
.toolkit-site.home-page .home-service-points article { border-top:1px solid #cbd8e8; gap:22px; }
.toolkit-site.home-page .home-capability-details { display:grid; grid-template-columns:1fr 1fr; gap:20px; margin:12px 0; }
.toolkit-site.home-page .home-capability-details li { border:0; padding:0; }
.toolkit-site.home-page .home-region-card { background:#eef3f9; border:1px solid var(--ui-line); color:var(--ui-ink); border-radius:10px!important; }
.toolkit-site.home-page .home-region-card :is(p,small,.home-card-number) { color:var(--ui-muted); }
.toolkit-site.home-page .home-coverage-row { color:#254666; border-color:#cfdbe9; }
.toolkit-site.home-page .home-contact { background:#102f57; }
.toolkit-site.home-page .home-contact h2 { color:#fff; }
.toolkit-site.home-page .home-contact .btn-primary { background:#fff; color:#163f70; border-color:#fff; }

@media(hover:hover) and (pointer:fine) {
  .toolkit-site :is(.toolkit-nav-panel a,.toolkit-page-index a):hover { color:#174f9e; background:#edf3fc; }
  .toolkit-site .btn-primary:hover { background:#14478f; color:#fff; }
}
@media(min-width:1080px) {
  .toolkit-site nav.main-nav { display:flex!important; position:static; flex-flow:row nowrap; align-items:center; height:auto; padding:0; background:none; border:0; box-shadow:none; }
  .toolkit-site .mobile-menu-btn,.toolkit-site .mobile-menu-actions { display:none!important; }
}
@media(max-width:1079px) {
  .toolkit-site .container { padding-inline:24px; }
  .toolkit-site .header-inner { min-height:74px; }
  .toolkit-site .mobile-menu-btn { display:flex!important; margin-left:auto; width:44px; height:44px; align-items:center; justify-content:center; border:1px solid var(--ui-line); border-radius:7px!important; font-size:23px; background:#fff; color:var(--ui-ink); }
  .toolkit-site .js nav.main-nav { display:none; }
  .js .toolkit-site nav.main-nav { display:none!important; }
  .js .toolkit-site nav.main-nav.open { display:flex!important; position:absolute; top:100%; left:0; right:0; max-height:calc(100dvh - 110px); overflow:auto; flex-flow:column; align-items:stretch; background:#fff; padding:18px 24px; border-bottom:1px solid var(--ui-line); }
  .toolkit-site nav.main-nav>a { display:block!important; padding:12px!important; height:auto!important; }
  .toolkit-site .toolkit-nav-panel { position:static; width:auto; box-shadow:none; margin:4px 8px 10px; }
  .toolkit-site .mobile-menu-actions { display:flex; gap:12px; flex-wrap:wrap; }
  .toolkit-site.home-page .hero-inner { gap:26px; }
  .toolkit-site.home-page .home-hero-visual { min-height:420px; }
  .toolkit-site.home-page .hero-wechat[data-hero-priority=primary] { left:14px; right:14px; gap:8px; }
  .toolkit-site.home-page .hero-wechat[data-hero-priority=primary] img { width:64px; height:66px; flex-basis:64px; }
  .toolkit-site.home-page .home-material-card { grid-template-columns:110px 1fr; gap:16px; }
}
@media(max-width:760px) {
  .toolkit-site .container { padding-inline:18px; }
  .toolkit-site .header-inner { gap:12px; }
  .toolkit-site .header-inner .logo { min-width:0; flex:1 1 0; max-width:calc(100% - 56px); }
  .toolkit-site .header-inner .logo-text { min-width:0; }
  .toolkit-site .header-inner .logo-text .site-name { white-space:normal; overflow-wrap:anywhere; font-size:20px; }
  .toolkit-site .mobile-menu-btn { flex:0 0 44px; }
  .toolkit-site .top-bar { font-size:10px; }
  .toolkit-site .top-bar .container { gap:6px; }
  .toolkit-site .page-banner { padding-block:30px; }
  .toolkit-site :is(.content-grid,.rfq-layout,.rfq-form-grid,.form-grid-2,.contact-grid) { grid-template-columns:minmax(0,1fr)!important; }
  .toolkit-site :is(.section,.content-section) { padding-block:32px; }
  .toolkit-site .toolkit-page-index { margin-block:20px; padding:16px; }
  .toolkit-site.home-page .hero-inner { grid-template-columns:1fr; padding-block:30px; gap:24px; }
  .toolkit-site.home-page .hero h1.hero-title { font-size:clamp(28px,6vw,38px); }
  .toolkit-site.home-page .home-hero-visual { min-height:260px; }
  .toolkit-site.home-page .home-visual-caption { padding:18px; }
  .toolkit-site.home-page .home-visual-caption strong { font-size:20px; }
  .toolkit-site.home-page .hero-wechat[data-hero-priority=primary] { left:auto; width:210px; bottom:34px; right:14px; }
  .toolkit-site.home-page .home-service-rail .container { grid-template-columns:1fr; }
  .toolkit-site.home-page .home-service-rail a { padding:16px 0; border-right:0; border-bottom:1px solid var(--ui-line); }
  .toolkit-site.home-page .home-service-rail a:last-child { border-bottom:0; }
  .toolkit-site.home-page .home-material-grid { grid-template-columns:1fr; }
  .toolkit-site.home-page .home-material-card { grid-template-columns:112px 1fr; }
  .toolkit-site.home-page .home-section-heading { align-items:start; gap:12px; flex-direction:column; }
  .toolkit-site.home-page .home-service-layout,.toolkit-site.home-page .home-resources-layout { grid-template-columns:1fr; }
  .toolkit-site.home-page .home-region-card { padding:22px 18px; }
  .toolkit-site.home-page .home-service-intro .home-service-photo { max-width:540px; }
}
@media(prefers-reduced-motion:reduce) {
  .toolkit-site *, .toolkit-site *::before, .toolkit-site *::after { transition:none!important; animation:none!important; scroll-behavior:auto!important; }
}

/* Related HXG businesses use the same crawlable navigation on every page. */
.toolkit-site nav.main-nav > a.business-site-link { color:var(--ui-brand); }
.toolkit-site .footer-business-links { display:flex; flex-wrap:wrap; align-items:center; gap:8px 24px; padding-block:16px; border-top:1px solid #ffffff24; }
.toolkit-site .footer-business-links > span { color:#b9cce0; font-size:13px; }
.toolkit-site .footer-business-links > a { display:inline-flex; align-items:center; min-height:44px; font-size:14px; text-underline-offset:4px; }
.toolkit-site .footer-business-links > a:hover { text-decoration:underline; }
@media(min-width:1080px) and (max-width:1199px) {
  .toolkit-site .header-inner { gap:12px; }
  .toolkit-site nav.main-nav { gap:1px; }
  .toolkit-site nav.main-nav > a { padding-inline:8px; }
}
