/* Homepage composition. Kept separate from legacy inner-page themes. */
.home-page { --home-blue:#114992; --home-ink:#142d4e; --home-accent:#ffb648; }
.home-page main [id] { scroll-margin-top:100px; }
.home-page .container { width:100%; max-width:1240px; padding-left:40px; padding-right:40px; }
.home-page .top-bar { padding:6px 0; font-size:11px; background:#f2f5f9; }
.home-page .header-inner { min-height:76px; gap:28px; padding-top:0; padding-bottom:0; }
.home-page .logo { flex:0 0 auto; }
.home-page .logo-text { min-width:0; }
.home-page .logo-text .site-name { font-size:23px; font-weight:800; white-space:nowrap; }
.home-page .logo-text p:not(.site-name) { font-size:11px; max-width:260px; white-space:nowrap; }
.home-page .logo-icon { width:42px; height:42px; flex:0 0 42px; font-size:23px; background:#114992; }
.home-page nav.main-nav > a[href="quote.html"],
.home-page nav.main-nav > a[href="faq.html"],
.home-page nav.main-nav > .language-switcher { display:none; }
.home-page nav.main-nav > a { font-size:14px; font-weight:600; white-space:nowrap; }
.home-page .hero {
  display:block; min-height:0; padding:0; border:0;
  background:linear-gradient(90deg,rgba(5,23,48,.96) 0%,rgba(6,29,58,.85) 38%,rgba(6,29,58,.23) 74%,rgba(6,29,58,.10)),url("../assets/optimized/home-hero-proof-first-v1.jpg") center center/cover no-repeat!important;
}
.home-page .hero::before { display:none; }
.home-page .hero-inner { position:relative; display:block; padding-top:58px; padding-bottom:58px; }
.home-page .home-hero-copy { max-width:780px; }
.home-page .hero .hero-kicker { margin:0 0 22px!important; font-size:13px!important; font-weight:600!important; letter-spacing:.08em; color:#b9d8fc!important; }
.home-page .hero h1.hero-title { max-width:none!important; margin:0 0 22px; font-size:clamp(36px,4vw,54px); font-weight:800; line-height:1.23; letter-spacing:.01em; color:#fff; text-shadow:none; }
.home-page .hero h1.hero-title span { color:#ffbe55!important; }
.home-page .hero .hero-intro { max-width:660px; margin:0 0 24px; font-size:17px; line-height:1.85; color:#f1f6fb!important; text-shadow:none; }
.home-page .hero-proof-pills { gap:20px; margin:0 0 28px; max-width:720px; }
.home-page .hero-proof-pills a { min-height:24px; padding:0; border:0; border-radius:0; background:none; backdrop-filter:none; color:#d9e7f8; font-size:13px; font-weight:500; }
.home-page .hero-proof-pills a::before { content:""; width:5px; height:5px; background:#ffbe55; margin-right:9px; }
.home-page .hero-proof-pills a:hover { color:#fff; text-decoration:underline; }
.home-page .hero-buttons { display:flex; gap:12px; }
.home-page .hero-buttons .btn { min-height:52px; padding:14px 24px; border-radius:5px!important; font-size:16px; font-weight:700; box-shadow:none; }
.home-page .hero-buttons .btn-primary,
.home-page .home-contact .btn-primary { background:#ffb648; color:#182b43; border:1px solid #ffb648; }
.home-page .hero-buttons .btn-outline { border:1px solid #9db2cc; color:#fff; background:rgba(10,35,67,.45); }
.home-page .hero .home-hero-footnote { margin:22px 0 0; color:#b8cbe0; font-size:12px; }
.home-page .home-image-credit { position:absolute; bottom:16px; right:40px; padding:2px 7px; color:#e7eef6; background:rgba(4,21,43,.55); font-size:10px; letter-spacing:.06em; }
.home-page .home-service-rail { position:relative; background:rgba(6,29,60,.92); border-top:1px solid rgba(255,255,255,.17); }
.home-page .home-service-rail .container { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); }
.home-page .home-service-rail a { display:flex; align-items:center; gap:16px; padding:21px 24px; border-right:1px solid rgba(255,255,255,.17); color:#fff; }
.home-page .home-service-rail a:first-child { padding-left:0; }
.home-page .home-service-rail a:last-child { border-right:0; }
.home-page .home-service-rail b { font-size:13px; color:#ffbe55; font-weight:500; }
.home-page .home-service-rail strong { display:block; font-size:17px; font-weight:600; }
.home-page .home-service-rail small { display:block; margin-top:3px; color:#b9cce3; font-size:12px; }
.home-page .home-service-rail i { margin-left:auto; color:#92b8e5; font-style:normal; }
.home-page .hero-wechat[data-hero-priority="primary"] { width:144px; right:12px; bottom:32px; padding:10px; background:#fff; color:#142d4e; border:1px solid #d9e4f0!important; box-shadow:0 8px 28px #001f4324; border-radius:7px!important; }
.home-page .hero-wechat[data-hero-priority="primary"] img { width:120px; height:auto; flex-basis:auto; padding:0; border:0!important; object-fit:contain; box-shadow:none; }
.home-page .hero-wechat[data-hero-priority="primary"] img:hover { transform:none; }
.home-page .hero-wechat[data-hero-priority="primary"] p { color:#114992!important; font-size:14px!important; }
.home-page .hero-wechat[data-hero-priority="primary"] a { color:#142d4e!important; font-size:15px; }
.home-page .hero-wechat[data-hero-priority="primary"] span { color:#65758a; font-size:10px; }
.home-page .home-materials,.home-page .home-service,.home-page .home-resources { padding:68px 0; }
.home-page .home-section-heading { display:flex; align-items:flex-end; justify-content:space-between; gap:24px; margin-bottom:30px; }
.home-page .home-resources h2 { text-wrap:balance; }
.home-page .home-eyebrow { margin:0 0 10px; font-size:12px; color:#376395; font-weight:600; letter-spacing:.07em; }
.home-page h2 { color:#142d4e; font-size:clamp(27px,2.7vw,36px); font-weight:750; line-height:1.35; letter-spacing:0; }
.home-page .home-more { color:#114992; font-size:14px; font-weight:600; white-space:nowrap; }
.home-page .home-more span { margin-left:14px; }
.home-page .home-material-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:18px; }
.home-page .home-material-card { min-width:0; border:1px solid #dce4ef; background:#fff; border-radius:6px!important; overflow:hidden; }
.home-page .home-material-photo { display:block; aspect-ratio:4/3; overflow:hidden; background:#d9e4ef; }
.home-page .home-material-photo img { display:block; width:100%; height:100%; aspect-ratio:4/3; object-fit:cover; transition:transform .2s ease; }
.home-page .home-material-photo:hover img { transform:scale(1.025); }
.home-page .home-material-card>div { padding:20px 18px; }
.home-page .home-card-number { color:#526b89; font-size:11px; letter-spacing:.05em; }
.home-page .home-material-card h3 { color:#142d4e; font-size:19px; line-height:1.4; margin:8px 0 12px; font-weight:700; }
.home-page .home-material-card p { color:#596a80; font-size:13px; line-height:1.8; margin:0 0 20px; }
.home-page .home-material-card>div>a { display:flex; justify-content:space-between; padding-top:13px; border-top:1px solid #e4eaf2; color:#114992; font-size:13px; font-weight:600; }
.home-page .home-material-note { margin:20px 0 0; color:#718096; font-size:11px; line-height:1.8; }
.home-page .home-material-note a { display:inline-block; padding:0 5px; color:#376395; }
.home-page .home-service { background:#f2f5f9; }
.home-page .home-service-layout { display:grid; grid-template-columns:.78fr 1.3fr; gap:44px; align-items:start; }
.home-page .home-service-intro>p:not(.home-eyebrow) { margin:23px 0; color:#596a80; font-size:15px; line-height:1.9; }
.home-page .home-service-photo { margin:24px 0 20px; }
.home-page .home-service-photo img { display:block; width:100%; aspect-ratio:16/10; height:auto; object-fit:cover; border-radius:5px; }
.home-page .home-service-photo figcaption { color:#60738b; font-size:11px; line-height:1.6; padding-top:8px; }
.home-page .home-service-points { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px; }
.home-page .home-service-points article { display:flex; align-items:start; gap:12px; border-top:2px solid #c9d7e8; padding-top:18px; }
.home-page .home-service-points article>b { padding-top:3px; font-size:12px; font-weight:500; color:#4076b6; }
.home-page .home-service-points h3 { font-size:17px; line-height:1.5; color:#142d4e; margin-bottom:10px; }
.home-page .home-service-points p { color:#596a80; font-size:13px; line-height:1.8; }
.home-page .home-service-points article>div { min-width:0; }
.home-page .home-capability-details { list-style:none; margin:14px 0; padding:0; }
.home-page .home-capability-details li { color:#334c6a; font-size:12px; line-height:1.8; padding:7px 0; border-top:1px solid #dce4ef; }
.home-page .home-capability-details span { display:block; color:#60738b; font-size:11px; }
.home-page .home-service-points article a { color:#114992; font-size:12px; font-weight:600; display:inline-block; padding:7px 0; }
.home-page .home-service-points article a span { margin-left:8px; }
.home-page .home-service-condition { margin:14px 0 0; color:#60738b; font-size:11px; line-height:1.8; }
.home-page .home-process { display:flex; gap:24px; align-items:center; margin-top:40px; }
.home-page .home-process>p { color:#142d4e; font-size:14px; font-weight:700; white-space:nowrap; }
.home-page .home-process ol { display:flex; flex:1; list-style:none; margin:0; padding:20px 0; justify-content:space-between; border-top:1px solid #d6e0ec; border-bottom:1px solid #d6e0ec; gap:12px; }
.home-page .home-process li { color:#334c6a; font-size:12px; display:flex; gap:9px; align-items:center; }
.home-page .home-process li b { color:#376395; font-size:11px; }
.home-page .home-process>a { font-size:13px; font-weight:600; white-space:nowrap; color:#114992; }
.home-page .home-resources-layout { display:grid; grid-template-columns:1fr 1fr; gap:36px; align-items:start; }
.home-page .home-region-card { padding:30px; background:#102f57; color:#fff; border-radius:6px!important; }
.home-page .home-region-card .home-card-number { color:#a8c6e9; }
.home-page .home-region-card h3 { margin:12px 0; font-size:24px; }
.home-page .home-region-card p { font-size:14px; color:#d2e0f0; line-height:1.9; }
.home-page .home-coverage-list { margin-top:20px; }
.home-page .home-coverage-row { display:grid; grid-template-columns:.9fr 1.1fr 12px; align-items:center; gap:12px; padding:16px 0; border-top:1px solid #ffffff30; color:#fff; }
.home-page .home-coverage-row strong { color:#fff; font-size:15px; }
.home-page .home-coverage-row>span { font-size:12px; line-height:1.7; min-width:0; }
.home-page .home-coverage-row small { display:block; margin-top:5px; color:#b7cce4; font-size:11px; line-height:1.6; }
.home-page .home-coverage-row:hover strong,.home-page .home-coverage-row:focus-visible strong { color:#ffc56e; }
.home-page .home-coverage-row:hover { background:#ffffff08; }
.home-page .home-region-card .home-coverage-note { font-size:11px; line-height:1.8; color:#b7cce4; margin:10px 0 0; }
.home-page .home-guide-list .home-guide-intro { margin:0 0 12px; color:#142d4e; font-weight:600; font-size:15px; }
.home-page .home-guide-list>a { position:relative; display:grid; grid-template-columns:104px minmax(0,1fr); gap:18px; align-items:start; padding:22px 22px 22px 0; border-bottom:1px solid #dce4ef; }
.home-page .home-guide-item img { width:104px; height:114px; display:block; object-fit:cover; border-radius:4px; }
.home-page .home-guide-list span { font-size:12px; color:#60738b; }
.home-page .home-guide-list h3 { color:#142d4e; font-size:18px; line-height:1.5; margin:8px 0; text-wrap:balance; }
.home-page .home-guide-item p { font-size:12px; color:#596a80; line-height:1.8; margin:0; }
.home-page .home-guide-item:hover h3 { color:#114992; text-decoration:underline; text-underline-offset:4px; }
.home-page .home-guide-list b { position:absolute; right:0; top:35px; color:#114992; }
.home-page .home-guide-list>div { display:flex; gap:30px; margin-top:22px; color:#114992; font-size:14px; }
.home-page .home-guide-footer a { display:inline-flex; align-items:center; min-height:44px; color:#114992; }
.home-page .home-guide-list .home-guide-image-note { margin:6px 0 0; font-size:11px; color:#718096; }
.home-page .home-contact { padding:42px 0; background:#0d315d; color:#fff; }
.home-page .home-contact>.container { display:flex; align-items:center; justify-content:space-between; gap:32px; }
.home-page .home-contact h2 { color:#fff; font-size:29px; }
.home-page .home-contact p { margin:12px 0 0; font-size:13px; color:#c5d9ef; }
.home-page .home-contact .home-eyebrow { margin:0 0 12px; color:#a6c6ee; font-size:12px; }
.home-page .home-contact-actions { flex:0 0 auto; display:flex; flex-direction:column; gap:12px; }
.home-page .home-contact-actions>a:first-child { color:#ffbe55; font-size:29px; font-weight:750; }
.home-page .home-contact .btn { padding:12px 24px; font-size:14px; font-weight:600; border-radius:5px!important; }
.home-page main a:focus-visible { outline:3px solid #ffb648; outline-offset:4px; }
.home-page footer { padding-top:44px; }
/* Contact QR is confined to the hero, so sections use the full shared width. */
@media(min-width:1080px) {
  .home-page nav.main-nav { position:static; display:flex; flex-direction:row; flex-wrap:nowrap; align-items:center; height:76px; padding:0; background:none; border:0; box-shadow:none; gap:0; }
  .home-page nav.main-nav>a { width:auto; height:76px; padding:0 12px; }
  .home-page nav.main-nav>.cta-header { height:42px; min-height:42px!important; padding:10px 17px!important; background:#114992!important; margin-left:14px; }
  .home-page .mobile-menu-btn { display:none; }
  .home-page .mobile-menu-actions { display:none; }
}
@media(max-width:1079px) {
  .home-page .container { padding-left:28px; padding-right:28px; }
  .home-page .hero-inner { padding-top:44px; padding-bottom:42px; }
  .home-page .hero h1.hero-title { font-size:42px; }
  .home-page .home-hero-copy { max-width:640px; }
  .home-page .hero .hero-intro { max-width:590px; font-size:16px; }
  .home-page .home-service-rail a { padding:18px 16px; gap:10px; }
  .home-page .home-service-rail strong { font-size:15px; }
  .home-page .home-service-rail small { font-size:11px; }
  .home-page .home-material-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .home-page .home-material-photo { aspect-ratio:16/10; }
  .home-page .home-service-layout { grid-template-columns:1fr; gap:36px; }
  .home-page .home-resources-layout { grid-template-columns:1fr; gap:28px; }
  .home-page .home-process { flex-wrap:wrap; }
  .home-page .home-service-points { gap:24px 18px; }
  .home-page .home-process { gap:14px; }
}
@media(min-width:769px) and (max-width:1079px) {
  .home-page .hero-wechat[data-hero-priority="primary"] { width:128px; right:8px; bottom:20px; }
  .home-page .hero-wechat[data-hero-priority="primary"] img { width:106px; }
  .home-page .hero-wechat[data-hero-priority="primary"] a { font-size:13px; }
}
@media(max-width:768px) {
  .home-page .container { padding-left:22px; padding-right:22px; }
  .home-page .top-bar { display:none; }
  .home-page .header-inner { min-height:64px; }
  .home-page .logo-text .site-name { font-size:20px; }
  .home-page .logo-icon { width:36px; height:36px; flex-basis:36px; }
  .home-page .hero { background:linear-gradient(90deg,rgba(5,23,48,.94),rgba(6,29,58,.73)),url("../assets/optimized/home-hero-proof-first-v1.jpg") 58% center/cover no-repeat!important; }
  .home-page .hero-inner { padding-top:30px; padding-bottom:34px; }
  .home-page .hero .hero-kicker { font-size:10px!important; margin-bottom:16px!important; letter-spacing:.03em; }
  .home-page .hero h1.hero-title { font-size:clamp(26px,6.9vw,39px); margin-bottom:16px; line-height:1.3; }
  .home-page .hero .hero-intro { font-size:14px; line-height:1.75; margin-bottom:17px; }
  .home-page .hero .hero-intro br { display:none; }
  .home-page .hero-proof-pills { gap:7px 14px; margin-bottom:20px; }
  .home-page .hero-proof-pills a { font-size:11px; }
  .home-page .hero-buttons { gap:10px; }
  .home-page .hero-buttons .btn { padding:12px 13px; min-height:46px; font-size:12px; }
  .home-page .hero .home-hero-footnote { font-size:10px; margin-top:16px; }
  .home-page .hero-wechat[data-hero-priority="primary"] { position:static; display:flex; flex-direction:row; align-items:center; width:100%; max-width:380px; gap:14px; margin:20px 0 0!important; padding:10px 14px; background:rgba(255,255,255,.96); text-align:left; backdrop-filter:none; }
  .home-page .hero-wechat[data-hero-priority="primary"] img { width:72px; height:auto; flex:0 0 72px; }
  .home-page .hero-wechat[data-hero-priority="primary"] div { align-items:flex-start; gap:3px; }
  .home-page .hero-wechat[data-hero-priority="primary"] a { font-size:20px; line-height:1.3; }
  .home-page .hero-wechat[data-hero-priority="primary"] span { font-size:11px; }
  .home-page .home-image-credit { right:22px; bottom:7px; font-size:9px; }
  .home-page .home-service-rail .container { grid-template-columns:1fr; padding-top:6px; padding-bottom:6px; }
  .home-page .home-service-rail a,.home-page .home-service-rail a:first-child { padding:11px 0; border-right:0; border-bottom:1px solid #ffffff1c; }
  .home-page .home-service-rail a:last-child { border-bottom:0; }
  .home-page .home-service-rail strong { font-size:14px; }
  .home-page .home-service-rail small { display:none; }
  .home-page .home-materials,.home-page .home-service,.home-page .home-resources { padding:42px 0; }
  .home-page .home-section-heading { display:block; margin-bottom:23px; }
  .home-page .home-section-heading>.home-more { display:inline-block; margin-top:14px; }
  .home-page h2 { font-size:26px; }
  .home-page .home-material-grid { gap:14px; }
  .home-page .home-service-layout,.home-page .home-resources-layout { grid-template-columns:1fr; gap:28px; }
  .home-page .home-service-intro>p:not(.home-eyebrow) { font-size:14px; margin:16px 0; }
  .home-page .home-service-points { gap:24px 18px; }
  .home-page .home-service-points article { gap:8px; }
  .home-page .home-service-points h3 { font-size:15px; }
  .home-page .home-service-points p { font-size:12px; }
  .home-page .home-process { display:block; margin-top:28px; }
  .home-page .home-process ol { display:grid; grid-template-columns:1fr 1fr; gap:16px 12px; margin:14px 0; }
  .home-page .home-region-card { padding:25px; }
  .home-page .home-contact>.container { display:block; }
  .home-page .home-contact h2 { font-size:25px; }
  .home-page .home-contact-actions { margin-top:22px; flex-direction:row; flex-wrap:wrap; align-items:center; gap:16px; }
  .home-page .home-contact-actions>a:first-child { font-size:26px; }
}
@media(max-width:520px) {
  .home-page .home-region-card { padding:22px; }
  .home-page .home-coverage-row { grid-template-columns:1fr 12px; gap:6px 10px; }
  .home-page .home-coverage-row>span { grid-column:1; }
  .home-page .home-coverage-row>b { grid-column:2; grid-row:1; }
  .home-page .home-coverage-row>span:first-child small { display:inline; margin-left:8px; }
  .home-page .home-coverage-row>span:last-of-type small { margin-top:2px; }
  .home-page .home-guide-list>a { grid-template-columns:80px minmax(0,1fr); gap:14px; padding-right:16px; }
  .home-page .home-guide-item img { width:80px; height:106px; }
  .home-page .home-guide-list h3 { font-size:17px; }
  .home-page .home-guide-item p { font-size:13px; }
  .home-page .home-service-points { grid-template-columns:1fr; gap:20px; }
  .home-page .home-capability-details li { font-size:13px; }
  .home-page .home-service-points p { font-size:14px; }
  .home-page .home-service-points h3 { font-size:18px; }
  .home-page .home-material-grid { grid-template-columns:1fr; }
  .home-page .home-material-card { display:grid; grid-template-columns:104px minmax(0,1fr); }
  .home-page .home-material-photo { aspect-ratio:auto; min-height:164px; height:100%; }
  .home-page .home-material-photo img { aspect-ratio:auto; }
  .home-page .home-material-card>div { padding:14px; }
  .home-page .home-material-card h3 { font-size:17px; margin:5px 0 7px; }
  .home-page .home-material-card p { font-size:12px; margin-bottom:12px; }
  .home-page .home-material-card>div>a { padding-top:8px; font-size:12px; }
  .home-page .home-card-number { font-size:10px; }
}
