/* White site theme; photographic banners keep their readable overlay. */
.factory-intro-grid { display: grid; grid-template-columns: minmax(0, 0.85fr) minmax(0, 1.15fr); gap: 40px; align-items: start; }
.factory-intro h2 { margin-bottom: 22px; }
.factory-intro-copy p { color: var(--muted); margin-bottom: 20px; line-height: 1.85; }
.factory-overview { display: block; width: 100%; height: auto; aspect-ratio: 4 / 3; object-fit: cover; object-position: center; border-radius: 14px; }
.factory-intro-stats { grid-template-columns: repeat(4, minmax(0, 1fr)); margin-top: 20px; gap: 14px; }
.factory-intro-stats > .card { padding: 22px 8px; }
.factory-intro-actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 26px; }
@media (max-width: 920px) { .factory-intro-grid { grid-template-columns: 1fr; gap: 32px; } }
@media (max-width: 540px) { .factory-intro-stats { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; } }
:root {
  color-scheme: light;
  --bg: #ffffff;
  --bg-2: #f6f7f9;
  --surface: #ffffff;
  --surface-2: #f0f2f5;
  --line: #e3e6eb;
  --line-2: #edf0f3;
  --text: #202833;
  --text-2: #475466;
  --muted: #687486;
  --faint: #758092;
  --gold: #234b7a;
  --gold-l: #234b7a;
  --gold-d: #16385e;
  --gold-soft: #eef3f9;
  --blue: #286fae;
  --green: #27835c;
  --sh-s: 0 2px 12px rgba(27,39,56,.05);
  --sh-m: 0 12px 36px rgba(27,39,56,.08);
}
body { background: #fff; }
.about-visual-intro { margin-bottom: 20px; }
.about-design-shot { display: block; overflow: hidden; border-radius: 14px; border: 1px solid #e3e6eb; background: #fff; box-shadow: 0 8px 24px rgba(27,39,56,.05); }
.about-design-shot:hover { border-color: #8aa9ce; }
.about-design-shot img { width: 100%; height: auto; display: block; background: #f0f3f7; }
.about-shot-caption { padding: 18px 20px; }
.about-shot-caption h3 { margin: 0 0 7px; font-size: 18px; color: #234b7a; }
.about-shot-caption p { margin: 0; color: #687486; font-size: 14px; line-height: 1.65; }
.about-visual-gallery { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 22px; margin: -20px 0 32px; }
.about-visual-gallery .about-design-shot { display: flex; flex-direction: column; }
.about-visual-gallery .about-shot-caption { flex: 1; }
@media(max-width:920px) { .about-visual-gallery { grid-template-columns: 1fr; } .about-visual-gallery .about-design-shot { display: grid; grid-template-columns: 1fr 1fr; align-items: center; } }
@media(max-width:560px) { .about-visual-gallery .about-design-shot { display: block; } }
.btn-p, .btn-p:hover { background: #234b7a; color: #fff; }
.btn-p:hover { background: #193b63; }
.dl-ico { background: #eef3f9; color: #234b7a; border-color: #dce5f0; }
.dl-ico .file-icon { display: block; width: 28px; height: 28px; }
.case-visual .phase { color: #fff; }
.vid-play { color: #fff; }
.card .ico:has(.service-icon) { width: 52px; height: 52px; border-radius: 13px; background: #eef3f9; color: #234b7a; }
.card .ico .service-icon { width: 28px; height: 28px; stroke-width: 1.6; }
a:hover { color: #173b65; }
.header { background: rgba(255,255,255,.96); border-bottom-color: var(--line); }
.header > .wrap { max-width: var(--max); }
.header.open .nav { background: #fff; box-shadow: var(--sh-m); }
.logo-txt b, .foot-brand .logo-txt b { color: var(--text); }
.logo-txt span { letter-spacing: .08em; }
.nav a:hover { color: #173b65; background: #eef3f9; }
.nav a.on { color: #173b65; }
.burger { background: #f7f8fa; }
.burger span { background: #475466; }
.tzbar { background: #fff; }
.social-icon { color: #475466; }
.announce { background: #f1f5fa; border-bottom-color: #dce5f0; color: #53677f; }
.announce a, .announce a:hover { color: #234b7a; }
.announce a:hover { border-bottom-color: #234b7a; }
.world-clock .tz-item b { color: #354253; }
.world-clock .tz-item i { color: #7a8493; }
.btn-o { color: #354253; border-color: #d5dce3; background: #fff; }
.btn-o:hover { color: #173b65; background: #f1f5fa; }
.btn-p { color: #ffffff; box-shadow: 0 4px 12px #234b7a20; }
.hero-bg { background: radial-gradient(ellipse at 80% 15%, #edf3fb, transparent 65%), linear-gradient(120deg,#f5f8fb,#fff); }
.hero-bg::after { background-image: linear-gradient(#7080900b 1px,transparent 1px),linear-gradient(90deg,#7080900b 1px,transparent 1px); }
.hero h1 em, .hero h2 em { background: none; color: #234b7a; -webkit-text-fill-color: #234b7a; font-style: normal; }
.hero-card { background: #fff; box-shadow: var(--sh-m); }
.hero-card h3 { color: #234b7a; }
.phase-mini div { background: #f8f9fb; }
.countdown { background: #eff4fa; }
.countdown b, .stats b, .phase-card h3, .future-note b { color: var(--text); }
.badges span { background: #f7f8fa; }
.portfolio-card, .portfolio-card img { background: #fff; }
.portfolio-card > span { justify-content: center; text-align: center; }
/* Preview crop for design 006: remove the top grey notes from the card. */
.portfolio-card img[src$="case-016-thumb.jpg.webp"] { aspect-ratio: 1800 / 1013; object-fit: cover; object-position: center bottom; }
.portfolio-card { box-shadow: 0 3px 16px #26364b05; }
.home-news-card { box-shadow: 0 3px 16px #26364b04; }
.home-news-card:hover { background: #f8faff; }
.home-news-category, .home-news-meta time { color: #697789; }
.home-news-category.company { color: #27835c; }
.home-news-read { color: #475466; }
.news-item .tag.g, .case-tags span, .form-ok { color: #267453; }
.case-tags span.b { color: #234b7a; }
.cta { background: linear-gradient(100deg,rgba(10,28,50,.90),rgba(15,39,65,.76),rgba(10,28,50,.84)), url('../img/about/delivery-ai.png.webp') center 52% / cover no-repeat; border-color:#29435f; padding:52px 32px; }
.cta h2 { color:#fff; text-shadow:0 2px 12px #07182c40; }
.cta p { color:#e0e9f3; }
.cta .btn-p { color:#193d66; background:#fff; border-color:#fff; box-shadow:0 6px 18px #06162a30; }
.cta .btn-p:hover { background:#eaf2fc; border-color:#eaf2fc; }
.cta .btn-o { color:#fff; background:rgba(255,255,255,.10); border-color:rgba(255,255,255,.5); }
.cta .btn-o:hover { color:#fff; background:rgba(255,255,255,.20); border-color:#fff; }
@media(max-width:560px) { .cta { padding:36px 22px; } }
.field input, .field select, .field textarea { background: #fff; }
.field select option { background: #fff; }
.field input::placeholder, .field textarea::placeholder { color: #8993a2; }
tbody tr:nth-child(even) { background: #f8f9fb; }
.footer { background: #101e30; color:#b9c7d8; border-top:1px solid #24364d; }
.footer h4 { color: #f3f7fc; }
.footer a { color:#b9c7d8; }
.footer a:hover { color:#fff; }
.footer .logo-mark { filter:brightness(0) invert(1); }
.footer .logo-txt b { color:#fff; }
.footer .logo-txt span { color:#c0d2e8; }
.footer .foot-contact b { color:#e1edff; }
.footer .foot-bottom { color:#98abc2; border-top-color:#2a3a50; }
.footer .foot-bottom a { color:#aebfd3; }
.footer .foot-bottom a:hover { color:#fff; }
.footer .social-icons { display:flex; align-items:center; gap:18px; margin-top:22px; }
.footer .social-icon { color:#c0d2e8; width:20px; height:24px; }
.footer .social-icon svg { width:17px; height:17px; }
.banner-case-link, .banner-case-link:hover { color: #fff; }
.contact-panel-title { color: #fff; }
.float.contact-panel { --line: #ffffff55; }
.float.contact-panel { background: #234b7a; box-shadow: 0 8px 24px rgba(25,59,99,.2); }
.contact-panel-title, .float.contact-panel .contact-panel-phone { color: #fff; }
.contact-panel-wechat { color: #edf4fc; border-top-color: #ffffff45; }
.float.contact-panel .contact-panel-chat { background: #fff; color: #234b7a; }
.float.contact-panel .contact-panel-quote { background: #e6effa; color: #193b63; }
.float.contact-panel .contact-panel-chat:hover,
.float.contact-panel .contact-panel-quote:hover { background: #d6e6f7; color: #16385e; filter: none; }
.float.contact-panel .contact-panel-phone:hover { color: #d6e6f7; }
@media (max-width:1120px) { .header.open .nav { background: #fff; } }
/* Case library uses the detailed project card layout. */
.portfolio-card.portfolio-case { display:flex; flex-direction:column; }
.portfolio-card.portfolio-case[hidden] { display:none; }
.portfolio-case-visual { position:relative; overflow:hidden; flex-shrink:0; }
.portfolio-case-label { position:absolute; top:14px; right:14px; padding:5px 11px; border-radius:7px; color:#fff; background:rgba(25,48,77,.82); font-size:12px; }
.portfolio-case .case-body h3 { text-align:center; }
.portfolio-case .case-meta { color:#758399; }
.portfolio-case .case-body p { margin:0; }
.portfolio-case .case-tags span { color:#41617e; background:#f1f5fa; border-color:#dce5ef; }
/* Compact spacing between the video heading and library. */
.sec.video-library { padding-top:40px; padding-bottom:56px; }
@media(max-width:560px) { .sec.video-library { padding-top:28px; padding-bottom:36px; } }
.vid-thumb { height:auto; aspect-ratio:16 / 9; }
.vid-thumb .video-cover { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:center bottom; }
.vid-thumb::before { z-index:1; opacity:1; background:linear-gradient(180deg,rgba(9,22,38,.12),transparent 45%,rgba(9,22,38,.24)); }
.vid-thumb .cat { color:#fff; border-color:rgba(255,255,255,.25); }
.vid-thumb .play { background:rgba(255,255,255,.92); box-shadow:0 4px 18px #10203340; }
.vid-thumb .play::after { border-left-color:#234b7a; }
.footer .foot-contact .footer-contact-row { display:flex; align-items:flex-start; gap:10px; margin-bottom:10px; }
.footer-contact-icon { width:17px; height:17px; flex:0 0 17px; margin-top:3px; color:#9ebcdd; }
.footer .foot-contact b .footer-contact-icon { width:21px; height:21px; flex-basis:21px; margin-top:6px; color:#e1edff; }
.footer-contact-row > span { min-width:0; overflow-wrap:anywhere; }
/* Editorial archive cards */
.yearblock { border:1px solid #dfe6ef; border-radius:16px; overflow:hidden; margin-bottom:20px; background:#fff; box-shadow:0 5px 20px #17365505; }
.yearhead { padding:22px 26px; background:#f3f7fc; gap:18px; }
.yearhead .y { color:#234b7a; font-size:28px; font-weight:800; }
.yearhead .t { color:#465b73; }
.yearhead .n { background:#e2ebf7; color:#234b7a; border-radius:20px; padding:3px 10px; }
.yearblock .yearbody { padding:0 26px; }
.yearbody .news-item { padding:26px 0; gap:22px; border-bottom:1px solid #edf1f6; align-items:flex-start; }
.yearbody .news-item .tag { margin-top:3px; padding:5px 10px; border:0; border-radius:6px; white-space:nowrap; background:#edf2f8; color:#4b6079; }
.yearbody .news-item .tag.o { background:#e9f1fc; color:#245b94; }
.yearbody .news-item .tag.g { background:#eaf5f0; color:#30755b; }
.yearbody .ni-main { display:flex; flex-direction:column; }
.yearbody .news-item h4 { font-size:18px; line-height:1.55; color:#203348; margin-bottom:9px; }
.yearbody .news-item p { font-size:14px; line-height:1.85; color:#6b7b8e; margin-bottom:12px; max-width:940px; }
.yearbody .news-item time { color:#8293a8; font-size:12px; }
.yearhead:focus-visible { outline:2px solid #234b7a; outline-offset:-3px; }
@media(max-width:560px) { .yearhead { padding:17px; gap:10px; flex-wrap:wrap; } .yearhead .y { font-size:23px; } .yearhead .t { font-size:12px; } .yearblock .yearbody { padding:0 18px; } .yearbody .news-item { gap:10px; padding:22px 0; } .yearbody .news-item h4 { font-size:16px; } }
/* Consistent SVG contact pictograms and aligned text */
.footer .foot-contact .footer-contact-row { gap:12px; margin-bottom:14px; line-height:1.75; }
.footer .foot-contact .footer-contact-icon { box-sizing:content-box; width:17px; height:17px; flex:0 0 17px; padding:6px; margin-top:0; border:1px solid #354961; border-radius:8px; background:#1a2c43; color:#b8d3f2; stroke-width:1.6; }
.footer .foot-contact b.footer-contact-row { align-items:center; white-space:nowrap; gap:10px; font-size:21px; margin-bottom:18px; }
.footer .foot-contact b .footer-contact-icon { width:19px; height:19px; flex-basis:19px; margin-top:0; }
.footer .footer-contact-row > span { padding-top:2px; }
.about-stats-row { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:20px; margin-top:36px; }
@media(max-width:680px) { .about-stats-row { grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; } }
.news-standard { border-top:1px solid #e3e9f0; }
.news-standard .news-item { padding:28px 8px; border-bottom:1px solid #e5eaf1; gap:24px; align-items:flex-start; scroll-margin-top:100px; }
.news-standard .news-item:hover { background:#f8fafd; }
.news-standard .tag { margin-top:4px; padding:5px 11px; border:0; border-radius:5px; background:#edf2f8; color:#4c627d; white-space:nowrap; }
.news-standard .tag.o { color:#245b94; background:#eaf2fc; }
.news-standard .tag.g { color:#30755b; background:#eaf5f0; }
.news-standard .ni-main { position:relative; padding-right:118px; }
.news-standard h4 { font-size:19px; line-height:1.55; margin-bottom:10px; color:#21364e; }
.news-standard p { font-size:14px; line-height:1.85; margin:0; color:#738196; }
.news-standard time { position:absolute; top:5px; right:0; color:#8997a9; font-size:13px; }
@media(max-width:680px) { .news-standard .news-item { flex-direction:column; gap:12px; padding:22px 0; } .news-standard .ni-main { padding-right:0; } .news-standard time { position:static; display:block; margin-top:12px; } .news-standard h4 { font-size:17px; } }
.news-standard h4 a { color:inherit; text-decoration:none; }
.news-standard h4 a:hover { color:#2b64a3; }
.article-wrap { max-width:var(--max); margin:48px auto 0; padding:0 26px; }
.news-article { background:#fff; border:1px solid #e1e7ef; border-radius:16px; padding:44px 50px; }
.article-heading { border-bottom:1px solid #e8edf3; padding-bottom:26px; }
.article-category { display:inline-block; color:#27578c; background:#edf4fc; border-radius:5px; padding:5px 12px; font-size:13px; }
.article-heading h1 { font-size:32px; line-height:1.5; margin:18px 0; }
.article-heading time { color:#8390a2; font-size:13px; }
.article-content { padding:30px 0; font-size:17px; line-height:2; color:#47566b; }
.article-return { padding-top:20px; border-top:1px solid #edf0f5; color:#234b7a; }
.article-neighbors { display:grid; grid-template-columns:1fr 1fr; gap:20px; margin:22px 0; }
.article-neighbors > * { padding:22px; background:#f3f6fa; border-radius:10px; }
.article-neighbors span { display:block; font-size:12px; color:#7a8a9e; margin-bottom:8px; }
.article-neighbors strong { color:#294462; font-size:14px; line-height:1.7; }
@media(max-width:600px) { .article-wrap { margin-top:24px; padding:0 16px; } .news-article { padding:26px 22px; } .article-heading h1 { font-size:23px; } .article-neighbors { grid-template-columns:1fr; } }
.case-article { padding:36px; }
.case-article .article-heading { text-align:center; }
.case-detail-meta { color:#7b8a9d; font-size:14px; margin-bottom:0; }
.case-detail-media { margin:28px 0; border-radius:10px; overflow:hidden; background:#f1f4f8; }
.case-detail-media a { display:block; }
.case-detail-media img { display:block; width:100%; height:auto; object-fit:cover; object-position:center bottom; }
.case-article .article-return { display:flex; align-items:center; justify-content:space-between; gap:16px; }
.article-neighbors a[aria-disabled="true"] { opacity:.55; }
@media(max-width:600px) { .case-article { padding:20px 16px; } .case-detail-media { margin:20px 0; } }
.news-standard .news-summary-link { color:inherit; display:block; text-decoration:none; }
.news-standard .news-summary-link:hover { color:#245b94; }
.news-standard .news-summary-link:focus-visible { outline:2px solid #245b94; outline-offset:4px; }
.pagehead.about-pagehead .hero-bg { background:linear-gradient(90deg,rgba(12,30,51,.87),rgba(17,40,66,.65) 55%,rgba(17,40,66,.38)),url('../img/about/studio-ai.png.webp') center 48% / cover no-repeat; }
.about-pagehead .hero-bg::after { display:none; }
.about-pagehead h1 { color:#fff; text-shadow:0 2px 15px #10203540; }
.about-pagehead p { color:#e0e9f4; }
.pagehead { min-height: 80svh; display: flex; align-items: center; }
.pagehead .wrap { width: 100%; padding-top: 48px; padding-bottom: 48px; }
/* AI panoramic backgrounds for inner page banners. */
.pagehead .hero-bg { background:linear-gradient(90deg,rgba(12,30,51,.87),rgba(17,40,66,.60),rgba(17,40,66,.38)),url('../img/banners/exhibition-ai.png.webp') center / cover no-repeat; }
.pagehead.banner-factory .hero-bg { background-image:linear-gradient(90deg,rgba(12,30,51,.87),rgba(17,40,66,.60),rgba(17,40,66,.38)),url('../img/banners/factory-ai.png.webp'); }
.pagehead.banner-meeting .hero-bg { background-image:linear-gradient(90deg,rgba(12,30,51,.87),rgba(17,40,66,.60),rgba(17,40,66,.38)),url('../img/banners/meeting-ai.png.webp'); }
.pagehead .hero-bg::after { display:none; }
.pagehead h1 { color:#fff; text-shadow:0 2px 15px #10203540; }
.pagehead p { color:#e0e9f4; }

.home-banner .banner-image { opacity: 0; transition: opacity .85s ease; }
.home-banner .banner-image.is-active { opacity: 1; }
.home-banner .banner-controls {
  position: absolute; bottom: 30px; left: 0; right: 0;
  display: flex; align-items: center; justify-content: center; gap: 16px; color: white;
}
.banner-controls button {
  display: inline-flex; justify-content: center; align-items: center;
  width: 40px; height: 40px; padding: 0; border: 1px solid #ffffff65;
  border-radius: 50%; color: #fff; background: #08131e55; cursor: pointer;
  font: inherit; transition: background .2s;
}
.banner-controls button:hover { background: #ffffff30; }
.banner-controls button:focus-visible { outline: 2px solid white; outline-offset: 4px; }
.banner-dots { display: flex; gap: 8px; }
.banner-dots button { width: 28px; height: 40px; border: 0; border-radius: 0; background: transparent; }
.banner-dots button::after { content: ''; width: 100%; height: 3px; border-radius: 2px; background: #ffffff50; }
.banner-dots button[aria-current="true"]::after { background: white; }
@media (max-width: 660px) {
  .home-banner .banner-controls { bottom: 24px; gap: 12px; }
  .home-banner .banner-content { padding-bottom: 100px; }
}
@media (prefers-reduced-motion: reduce) { .home-banner .banner-image { transition: none; } }
@media (max-height: 540px) {
  body:has(.home-banner) .banner-content { padding-top: var(--home-header-height); padding-bottom: 65px; justify-content: center; }
  .home-banner .banner-kicker { margin-bottom: 8px; }
  .home-banner .banner-content h1 { font-size: 28px; margin-bottom: 8px; }
  .home-banner .banner-content p { margin-bottom: 12px; font-size: 13px; }
  .home-banner .banner-actions .btn { padding: 9px 14px; }
  .home-banner .banner-controls { bottom: 8px; }
}

/* Home introduction, dates and figures float over the carousel photograph. */
body:has(.home-banner) .home-banner { height: auto; min-height: calc(100svh - 120px); max-height: none; display: flex; flex-direction: column; color: #eef2f8; --gold: #cfad56; --gold-l: #e3c778; --line: #ffffff26; --line-2: #ffffff18; }
body:has(.home-banner) .banner-content { width: 100%; flex: 1; height: auto; padding: 70px 26px 40px; justify-content: center; }
.home-banner .hero-grid { width: 100%; grid-template-columns: minmax(0,1.2fr) minmax(0,1fr); gap: 48px; }
.home-banner .banner-shade { background: linear-gradient(90deg,#050d18e8,#050d18a6 55%,#050d1870),linear-gradient(0deg,#050d18c9,transparent 65%); }
.home-banner .banner-content h1 { font-size: clamp(34px,4.3vw,62px); line-height: 1.2; font-weight: 700; margin: 0 0 24px; }
.home-banner .banner-content h1 em { color: #d8b860; }
.home-banner .banner-content .hero-sub { max-width: 640px; font-size: 17px; line-height: 1.75; letter-spacing: 0; margin-bottom: 30px; color: #b9c6d6; }
.home-banner .hero-sub b { color: #eef2f8; }
.home-banner .badges { gap: 8px; margin-bottom: 30px; }
.home-banner .badges span { padding: 6px 12px; color: #cbd5e1; background: #ffffff08; border-color: #ffffff25; }
.home-banner .badges .g { color: #e3c778; border-color: #d8b86066; background: #d8b86012; }
.home-banner .hero-actions .btn-p { color: #17140b; background: linear-gradient(110deg,#dfbd63,#ae8939); }
.home-banner .hero-actions .btn-o { color: #fff; background: #ffffff08; border-color: #ffffff40; }
.home-banner .hero-actions .note { color: #a3b2c6; }
.home-banner .hero-card { background: rgba(16, 24, 34, 0.5); border-color: #ffffff26; box-shadow: 0 16px 40px #0003; }
.home-banner .hero-card h3 { color: #d8b860; }
.home-banner .phase-mini div { background: #ffffff06; }
.home-banner .phase-mini i { color: #cbd5e1; }
.home-banner .countdown { background: linear-gradient(120deg,#d8b86022,#d8b86006); border-color: #d8b86055; }
.home-banner .countdown b, .home-banner .stats b { color: #fff; }
.home-banner .stats { width: 100%; background: rgba(7, 19, 33, 0.5); border-color: #ffffff20; margin-bottom: 62px; }
.home-banner .stats .wrap { padding-top: 0; padding-bottom: 0; }
.home-banner .stats .wrap > div { text-align: left; padding: 28px 24px; }
.home-banner .stats span { color: #b9c6d6; }
.home-banner .banner-controls { bottom: 10px; }
@media (max-width: 1000px) {
 .home-banner .hero-grid { grid-template-columns: 1fr; gap: 30px; }
 .home-banner .hero-card { width: 100%; }
 body:has(.home-banner) .banner-content { padding-top: 40px; }
}
@media (max-width: 660px) {
 .home-banner .banner-image { inset: 0; height: 100%; object-position: 65% center; }
 body:has(.home-banner) .banner-content { padding: 32px 22px; }
 .home-banner .banner-content h1 { font-size: 34px; }
 .home-banner .banner-content .hero-sub { font-size: 15px; }
 .home-banner .hero-card { padding: 20px; }
 .home-banner .phase-mini div { padding: 12px; font-size: 12px; gap: 8px; }
 .home-banner .stats .wrap > div { padding: 20px 12px; }
 .home-banner .stats b { font-size: 30px; }
}

@media (min-width: 1001px) and (max-width: 1500px) {
 body:has(.home-banner) .banner-content { padding-right: 112px; }
 .home-banner .hero-grid { gap: 30px; }
 .home-banner .banner-content h1 { font-size: clamp(34px,3.8vw,56px); }
 .home-banner .hero-card { padding: 22px; }
 .home-banner .phase-mini div { padding: 13px 10px; font-size: 13px; }
}
@media (min-width: 661px) and (max-width: 1000px) {
 body:has(.home-banner) .banner-content { padding-right: 140px; }
}

/* Keep the complete consultation number on one line. */
@media (min-width: 661px) {
  .float.contact-panel { width: 150px; }
  .float.contact-panel .contact-panel-phone { white-space: nowrap; overflow-wrap: normal; }
}

/* Customer-supplied LOOKUP brand artwork, preserving its original proportions. */
.logo-image { display: block; width: 210px; height: auto; flex: 0 0 auto; }
.footer .logo-image { border-radius: 6px; }
@media (max-width: 680px) {
  .header .logo-image { width: 165px; }
}

/* Home navigation overlays the banner and turns white after scrolling. */
body:has(.home-banner) { --home-header-height: 80px; }
body:has(.home-banner) .header {
  margin-bottom: calc(-1 * var(--home-header-height));
  background: transparent;
  border-bottom-color: transparent;
  backdrop-filter: none;
  transition: background .25s, border-color .25s, box-shadow .25s;
}
body:has(.home-banner) .header:not(.is-scrolled):not(.open) .nav a { color: #fff; }
body:has(.home-banner) .header:not(.is-scrolled):not(.open) .nav a:hover,
body:has(.home-banner) .header:not(.is-scrolled):not(.open) .nav a.on { background: rgba(255,255,255,.16); color: #fff; }
body:has(.home-banner) .header:not(.is-scrolled):not(.open) .burger { background: rgba(255,255,255,.12); border-color: rgba(255,255,255,.4); }
body:has(.home-banner) .header:not(.is-scrolled):not(.open) .burger span { background: #fff; }
body:has(.home-banner) .header.is-scrolled,
body:has(.home-banner) .header.open { background: #fff; border-bottom-color: var(--line); box-shadow: 0 4px 20px #10203514; }
body:has(.home-banner) .home-banner { min-height: calc(100svh - 40px); }
body:has(.home-banner) .banner-content { padding-top: calc(var(--home-header-height) + 70px); }
@media (max-width: 1000px) {
  body:has(.home-banner) .banner-content { padding-top: calc(var(--home-header-height) + 40px); }
}
@media (max-width: 920px) {
  body:has(.home-banner) { --home-header-height: 70px; }
}
@media (max-width: 660px) {
  body:has(.home-banner) .banner-content { padding-top: calc(var(--home-header-height) + 32px); }
}
@media (prefers-reduced-motion: reduce) {
  body:has(.home-banner) .header { transition: none; }
}
/* White logo on the transparent home header; original colors on white. */
body:has(.home-banner) .header .logo-image { filter: none; }
body:has(.home-banner) .header:not(.is-scrolled):not(.open) .logo-image { filter: brightness(0) invert(1); }