/* This website uses the unmodified OPPO Sans font under the bundled OPPO Sans Fonts License Agreement. */
@font-face {
  font-family:"OPPOSans-Regular";
  src:url("/static/wuxi/fonts/OPPOSans-Regular.woff2") format("woff2");
  font-style:normal;
  font-weight:100 700;
  /* Keep the brand face mandatory; the document preloads it before CSS is parsed. */
  font-display:block;
}

:root {
  font-family:"OPPOSans-Regular",system-ui,-apple-system,"Segoe UI",Roboto,"PingFang SC","Microsoft YaHei","Helvetica Neue",Helvetica,Arial,sans-serif;
  color:#17243a;
  background:#f4f7fb;
  font-synthesis:none;
  --blue:#0b4f86;
  --blue-hover:#073b65;
  --blue-soft:#e8f1f7;
  --deep:#122b43;
  --muted:#5e7182;
  --dim:#81909d;
  --line:rgba(29,55,91,.12);
  --canvas:#f2f6f8;
  --surface:#f9fbfc;
  --danger:#d94f4a;
  --radius-control:8px;
  --radius-card:16px;
  --radius-pill:999px;
  --shadow-card:0 16px 40px rgba(34,69,117,.1);
  --ease:cubic-bezier(.16,1,.3,1);
}
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin:0; min-width:320px; min-height:100vh; min-height:100dvh; overflow-x:hidden; -webkit-font-smoothing:antialiased; background:var(--surface); }
button,input,select { font: inherit; }
button { border:0; background:none; cursor:pointer; transition:color .2s var(--ease),background-color .2s var(--ease),border-color .2s var(--ease),box-shadow .2s var(--ease),transform .2s var(--ease),opacity .2s var(--ease); }
button:disabled { cursor:not-allowed; opacity:.5; }
a { color:inherit; text-decoration:none; }
.article-content a { color:var(--blue); text-decoration:underline; text-underline-offset:3px; }
button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,video:focus-visible,[tabindex]:focus-visible { outline:3px solid rgba(52,120,229,.32); outline-offset:3px; }
input,select { color:var(--deep); border-radius:var(--radius-control); }
input::placeholder { color:#77869a; opacity:1; }
img { display:block; max-width:100%; }
.container { width:min(1400px, calc(100% - 48px)); margin:0 auto; }
.site-header { height:76px; position:relative; z-index:50; background:#fff; border-bottom:1px solid rgba(20,35,60,.08); }
.home-hero .site-header { position:fixed; inset:0 0 auto; width:100%; background:transparent; border-color:transparent; transition:background-color .25s ease,border-color .25s ease,box-shadow .25s ease; }
.home-hero .site-header.scrolled { background:rgba(255,255,255,.98); border-color:rgba(20,35,60,.1); box-shadow:0 6px 22px rgba(18,42,78,.12); }
.header-inner { width:min(1400px, calc(100% - 48px)); height:100%; margin:auto; display:grid; grid-template-columns:minmax(150px,1fr) auto minmax(190px,1fr); align-items:center; }
.brand { height:64px; display:flex; align-items:center; gap:14px; padding:0; justify-self:start; }
.brand img { width:94px; height:60px; object-fit:contain; background:#fff; padding:3px 8px; border-radius:4px; }
.brand span { color:#667186; padding-left:14px; border-left:1px solid #dbe0e8; }
.home-hero .brand span { color:#fff; border-color:rgba(255,255,255,.45); }
.home-hero .site-header.scrolled .brand span { color:#263249; border-color:#dbe0e8; }
.main-nav { display:flex; align-items:stretch; justify-self:center; height:100%; }
.main-nav button { position:relative; padding:0 23px; color:#3d4759; font-size:16px; }
.home-hero .main-nav button { color:#fff; font-weight:600; }
.home-hero .site-header.scrolled .main-nav button { color:#1f2937; }
.main-nav button:after { display:none; }
.header-actions { display:flex; align-items:center; justify-self:end; gap:26px; }
.header-consult { min-width:116px; height:44px; padding:0 22px; border-radius:999px; color:#f3f7fa; background:#092a49; font-size:15px; font-weight:700; white-space:nowrap; }
.header-consult:hover { color:#fff; background:#164e7d; transform:translateY(-1px); }
.header-phone { padding-left:26px; border-left:1px solid #dde2ea; display:flex; align-items:center; }
.home-hero .header-phone { border-color:rgba(255,255,255,.4); color:#fff; }
.home-hero .header-consult { color:#092a49; background:rgba(247,251,253,.94); }
.home-hero .header-consult:hover { color:#fff; background:#236fdb; }
.home-hero .site-header.scrolled .header-phone { border-color:#dde2ea; color:#1f2937; }
.header-phone span { font-size:12px; color:#8e98a9; }
.home-hero .header-phone span { color:rgba(255,255,255,.72); }
.home-hero .site-header.scrolled .header-phone span { color:#667186; }
.header-phone strong { font-size:20px; font-weight:400; white-space:nowrap; }
.menu-btn { display:none; width:44px; height:44px; padding:8px; }
.menu-btn i { display:block; height:2px; margin:5px 0; background:currentColor; }

.home-hero { height:900px; position:relative; color:#fff; background-image:linear-gradient(rgba(20,51,83,.06),rgba(20,51,83,.06)),url('/static/wuxi/assets/3625fa5b235e79c1.jpg'); background-position:center; background-size:cover; }
.banner-dots { position:absolute; z-index:3; left:50%; bottom:18px; display:flex; gap:9px; transform:translateX(-50%); }
.banner-dots button { width:9px; height:9px; padding:0; border:1px solid rgba(255,255,255,.9); border-radius:50%; background:rgba(255,255,255,.35); box-shadow:0 1px 5px rgba(0,0,0,.2); }
.banner-dots button.active { width:24px; border-radius:6px; background:#fff; }
.hero-overlay { width:min(1400px, calc(100% - 48px)); margin:auto; padding-top:168px; }
.hero-copy { margin:0 0 18px; text-align:center; text-shadow:0 2px 12px rgba(9,29,56,.45); }
.hero-copy p { margin:0 0 5px; font-size:15px; letter-spacing:2px; }
.hero-copy h1 { margin:0; font-size:30px; letter-spacing:3px; }
.search-bar { width:550px; height:48px; display:flex; padding:3px; margin:0 auto; background:#fff; border-radius:26px; box-shadow:0 8px 28px rgba(16,39,78,.18); }
.search-bar input { min-width:0; flex:1; border:0; outline:0; padding:0 26px; background:transparent; color:#344057; }
.search-bar button { width:100px; color:#fff; font-size:16px; font-weight:700; border-radius:24px; background:linear-gradient(110deg,#50c6ed,#3972e6); }
.hot-words { width:550px; display:flex; gap:12px; align-items:center; margin:10px auto 0; font-size:12px; text-shadow:0 1px 3px rgba(0,0,0,.4); }
.hot-words button { color:#fff; padding:0; opacity:.9; }
.hot-words button:hover { color:#9fc0ff; }

.shortcut-wrap { height:0; position:relative; z-index:3; }
.shortcut-grid { width:min(1400px, calc(100% - 48px)); min-height:126px; margin:auto; display:grid; grid-template-columns:repeat(5,1fr); transform:translateY(-78px); padding:20px; border-radius:12px; background:#fff; box-shadow:0 8px 28px rgba(50,88,160,.16); }
.shortcut-grid button { border-right:1px solid #edf0f5; }
.shortcut-grid button:last-child { border:0; }
.shortcut-grid img { width:52px; height:52px; object-fit:contain; margin:auto; transition:.2s; }
.shortcut-grid button:hover img { transform:translateY(-6px); }
.shortcut-grid h3 { margin:10px 0 5px; font-size:15px; color:#101521; }
.shortcut-grid p { margin:0; color:#8b929d; font-size:12px; }

.section-title { text-align:center; padding:76px 0 35px; }
.section-title img { width:52px; height:52px; object-fit:contain; margin:0 auto 12px; }
.section-title h2 { margin:0; font-size:34px; letter-spacing:2px; color:#111827; }
.section-title p { margin:8px 0 0; color:#a5acb9; font-size:13px; letter-spacing:4px; }
.section-title.light h2 { color:#fff; }
.section-title.light p { color:rgba(255,255,255,.55); }

.district-section { padding:24px 0 80px; background:#fff; }
.district-section .section-title { display:flex; align-items:center; gap:14px; padding:48px 0 22px; text-align:left; }
.district-section .section-title img { width:30px; height:30px; margin:0; }
.district-section .section-title h2 { color:#182235; font-size:26px; }
.district-section .section-title p { margin:4px 0 0; color:#8e98a8; letter-spacing:0; }
.district-grid { display:grid; grid-template-columns:repeat(3,1fr); grid-auto-rows:250px; gap:24px; }
.district { position:relative; border-radius:22px; overflow:hidden; cursor:pointer; }
.district.large { grid-row:span 2; }
.district img { width:100%; height:100%; object-fit:cover; transition:.45s; }
.district:after { content:""; position:absolute; inset:0; background:linear-gradient(0deg,rgba(3,14,30,.8),transparent 65%); }
.district:hover img { transform:scale(1.05); }
.district div { position:absolute; z-index:1; left:34px; right:24px; bottom:26px; color:#fff; }
.district h3 { margin:0 0 7px; font-size:26px; }
.district p { margin:0; opacity:.75; }

.featured-section { padding-bottom:100px; background:#f3f6f8; }
.pill-row { display:flex; justify-content:center; gap:12px; margin:-8px 0 30px; }
.pill-row button { border:1px solid #aeb6c3; color:#626d7e; padding:6px 19px; border-radius:18px; background:#fff; }
.pill-row button.active,.pill-row button:hover { color:#fff; border-color:var(--blue); background:var(--blue); }
.building-empty { padding:56px 24px; border:1px solid #e2e7ed; border-radius:8px; background:#fff; text-align:center; }
.building-empty h3 { margin:0 0 10px; color:#303b4c; font-size:20px; }
.building-empty p { margin:0 0 22px; color:#8791a0; }
.building-empty button { padding:9px 20px; border-radius:4px; color:#fff; background:var(--blue); }
.building-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:28px; }
.building-card { overflow:hidden; border-radius:22px; background:#fff; cursor:pointer; transition:.25s; }
.building-card:hover { transform:translateY(-6px); box-shadow:0 14px 32px rgba(60,92,150,.16); }
.card-image { height:230px; position:relative; overflow:hidden; }
.card-image img { width:100%; height:100%; object-fit:cover; transition:.35s; }
.building-card:hover .card-image img { transform:scale(1.04); }
.card-image>span { position:absolute; left:18px; top:18px; padding:6px 14px; background:rgba(28,55,92,.82); color:#fff; border-radius:16px; font-size:13px; }
.card-body { padding:20px 22px 22px; }
.card-body h3 { margin:0 0 9px; font-size:22px; color:#182030; }
.card-body>p { margin:0; color:#8a93a2; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.tag-row { display:flex; gap:7px; margin:15px 0; }
.tag-row em { padding:4px 9px; border-radius:3px; color:#5576a9; background:#eef4ff; font-style:normal; font-size:12px; }
.card-meta { display:flex; align-items:flex-end; justify-content:space-between; border-top:1px solid #edf0f4; padding-top:16px; color:#7c8696; }
.card-meta strong { font-size:12px; font-weight:400; color:#8a93a2; }
.card-meta strong b { color:var(--blue); font-size:26px; }

.office-section { padding-bottom:100px; background:#253a55; }
.office-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:28px; }
.office-grid article { position:relative; height:390px; overflow:hidden; border-radius:22px; cursor:pointer; }
.office-grid article:after { content:""; position:absolute; inset:0; background:linear-gradient(0deg,rgba(4,17,36,.86),transparent 68%); }
.office-grid img { width:100%; height:100%; object-fit:cover; transition:.4s; }
.office-grid article:hover img { transform:scale(1.05); }
.office-grid article div { position:absolute; z-index:1; left:28px; right:28px; bottom:26px; color:#fff; }
.office-grid p { margin:0 0 5px; opacity:.7; }
.office-grid h3 { margin:0 0 15px; font-size:24px; }
.office-grid span { font-size:18px; }
.office-grid strong { float:right; font-size:20px; color:#a8c9f3; }

.news-section { padding-bottom:105px; }
.news-layout { display:grid; grid-template-columns:1.15fr 1fr; gap:46px; }
.news-feature { display:grid; grid-template-columns:1.1fr 1fr; min-height:330px; background:#f4f6f8; }
.news-feature { cursor:pointer; }
.news-feature img { width:100%; height:100%; object-fit:cover; }
.news-feature div { padding:44px 34px; }
.news-feature span { color:var(--blue); }
.news-feature h3 { margin:18px 0; font-size:26px; line-height:1.5; color:#202a3a; }
.news-feature p { color:#7f8998; line-height:1.9; }
.news-list { display:flex; flex-direction:column; }
.news-list button { flex:1; display:grid; grid-template-columns:72px 1fr auto; align-items:center; text-align:left; gap:12px; border-bottom:1px solid #e7ebf0; color:#344057; }
.news-list time { color:#a0a8b4; }
.news-list i { font-style:normal; font-size:12px; color:#a0a8b4; }
.news-list button:hover span { color:var(--blue); }

.service-section { padding-bottom:100px; background:#1f3149; }
.service-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:1px; background:rgba(255,255,255,.12); }
.service-grid>div { position:relative; min-height:250px; padding:46px 36px; background:#1f3149; color:#fff; }
.service-grid img { width:50px; height:50px; object-fit:contain; margin-bottom:32px; }
.service-grid b { position:absolute; top:36px; right:32px; color:rgba(255,255,255,.1); font-size:48px; }
.service-grid h3 { font-size:21px; margin:0 0 12px; }
.service-grid p { color:rgba(255,255,255,.52); margin:0; }

.site-footer { background:#111a29; color:#8e98a8; }
.footer-grid { display:grid; grid-template-columns:1.1fr .7fr 1.5fr .55fr; gap:70px; padding:65px 0; }
.footer-grid>div:first-child img { width:120px; background:#fff; padding:8px; border-radius:4px; }
.footer-grid h4 { margin:0 0 20px; color:#fff; font-size:17px; }
.footer-grid button,.footer-grid a,.footer-grid a:visited { display:block; width:max-content; padding:0; margin:11px 0; color:#8994a5; }
.footer-grid p { line-height:1.8; }
.footer-code img { width:106px; height:106px; object-fit:cover; }
.footer-code span { display:block; margin-top:10px; font-size:12px; }
.copyright { border-top:1px solid rgba(255,255,255,.08); text-align:center; padding:18px; font-size:12px; }

.listing-page,.detail-page { background:#f5f6f8; min-height:700px; padding-bottom:80px; }
.list-search { padding:28px 0; background:#fff; }
.search-bar.compact { width:600px; height:48px; border:1px solid var(--blue); box-shadow:none; border-radius:4px; padding:0; }
.search-bar.compact button { width:110px; border-radius:0; }
.breadcrumb { padding:24px 0; color:#949dab; font-size:13px; }
.filters { padding:0 28px 14px; background:#fff; border:1px solid #e8ebef; }
.filter-tabs { height:58px; display:flex; align-items:center; border-bottom:1px solid var(--line); }
.filter-tabs button { height:100%; padding:0 22px; color:#606a7b; }
.filter-tabs button.active { color:var(--blue); border-bottom:2px solid var(--blue); }
.filter-row { min-height:58px; display:grid; grid-template-columns:82px 1fr; align-items:center; border-bottom:1px dashed #e4e7ec; }
.filter-row:last-child { border:0; }
.filter-row>b { color:#3c4658; }
.filter-row>div { display:flex; flex-wrap:wrap; gap:6px 20px; }
.filter-row button { color:#687386; padding:5px 11px; border-radius:3px; }
.filter-row button.active,.filter-row button:hover { background:var(--blue); color:#fff; }
.results-head { height:62px; margin-top:24px; padding:0 22px; display:flex; justify-content:space-between; align-items:center; background:#fff; border:1px solid #e8ebef; }
.results-head strong b { color:var(--blue); }
.result-tip { color:#8b95a5; font-size:13px; }
.results-head button { height:62px; margin-left:24px; color:#727d8f; }
.results-head button.active { color:var(--blue); }
.office-results-head { border-bottom:2px solid var(--blue); }
.video-filter { display:flex; align-items:center; padding:5px; border-radius:26px; background:#f5f7fa; }
.video-filter button { height:38px; margin:0; padding:0 20px; border-radius:22px; color:#8791a0; }
.video-filter button.active { color:#12314e; background:#d9f2ff; }
.result-list article { min-height:240px; margin-top:16px; padding:20px; display:grid; grid-template-columns:320px 1fr 190px; gap:28px; align-items:center; background:#fff; border:1px solid #e8ebef; cursor:pointer; transition:.2s; }
.result-list article:hover { border-color:#adc5f4; box-shadow:0 8px 24px rgba(56,89,145,.1); }
.result-list article>img { width:320px; height:200px; object-fit:cover; }
.listing-media { position:relative; width:320px; height:200px; overflow:hidden; border-radius:6px; }
.listing-media>img { width:100%; height:100%; object-fit:cover; }
.video-play { position:absolute; left:50%; top:50%; width:58px; height:58px; margin:-29px 0 0 -29px; display:grid; place-items:center; border:3px solid rgba(255,255,255,.92); border-radius:50%; color:#fff; background:var(--blue); box-shadow:0 7px 22px rgba(20,76,145,.32); transition:.2s; }
.video-play:hover { transform:scale(1.08); background:var(--blue-hover); }
.video-play svg { width:19px; height:19px; margin-left:3px; }
.tag-row .video-tag { color:var(--blue); background:var(--blue-soft); }
.result-info h2 { margin:0 0 16px; font-size:24px; color:#212b3a; }
.result-info p { color:#606b7c; }
.result-info p span { display:inline-block; width:86px; color:#9aa2af; }
.result-price { text-align:center; border-left:1px solid #e7eaf0; }
.result-price strong { display:block; color:var(--blue); font-size:38px; }
.result-price span { color:#8e97a6; }
.result-price button { display:block; width:120px; height:38px; margin:22px auto 0; border:1px solid var(--blue); color:var(--blue); border-radius:3px; }
.result-list article:hover .result-price button { color:#fff; background:var(--blue); }
.result-price p { margin:9px 0 0; color:#7d8796; font-size:13px; }
.empty-state { margin-top:16px; padding:70px 24px; border:1px solid #e8ebef; background:#fff; text-align:center; }
.empty-state h2 { margin:0 0 12px; color:#354157; font-size:22px; }
.empty-state p { margin:0; color:#8d96a5; }

.detail-hero { display:grid; grid-template-columns:1.2fr .8fr; gap:38px; padding:28px; background:#fff; }
.gallery-main { width:100%; height:440px; object-fit:cover; }
.gallery>div { display:grid; grid-template-columns:repeat(4,1fr); gap:8px; margin-top:8px; }
.gallery button { padding:0; border:2px solid transparent; }
.gallery button.active { border-color:var(--blue); }
.gallery button img { width:100%; height:82px; object-fit:cover; }
.property-summary { padding:10px 12px; }
.summary-title { display:flex; gap:12px; align-items:center; }
.summary-title span { padding:5px 10px; color:#fff; background:var(--blue); border-radius:3px; }
.summary-title h1 { margin:0; font-size:30px; color:#182235; }
.summary-address { padding-bottom:20px; border-bottom:1px solid var(--line); color:#7d8796; }
.summary-price { padding:26px 0; color:#7c8593; }
.summary-price strong { font-size:44px; color:var(--blue); }
.summary-price em { font-style:normal; }
.property-summary dl { display:grid; grid-template-columns:1fr 1fr; gap:20px 12px; margin:0 0 24px; padding-bottom:24px; border-bottom:1px solid var(--line); }
.property-summary dl div { display:flex; gap:20px; }
.property-summary dt { color:#9aa3b0; }
.property-summary dd { margin:0; color:#364154; font-weight:600; }
.advisor { display:flex; gap:14px; align-items:center; margin-bottom:20px; }
.advisor img { width:72px; height:72px; object-fit:cover; }
.advisor span,.advisor p { color:#8d96a5; font-size:13px; margin:4px 0; }
.advisor h3 { margin:5px 0; color:#263146; }
.primary-btn { width:100%; height:48px; color:#fff; background:var(--blue); border-radius:4px; font-size:17px; }
.detail-content { display:grid; grid-template-columns:1fr 310px; gap:24px; margin-top:24px; align-items:start; }
.content-main { min-width:0; }
.anchor-nav { height:62px; display:flex; align-items:center; gap:36px; padding:0 26px; background:#fff; border-bottom:1px solid var(--line); position:sticky; top:0; z-index:5; }
.anchor-nav a { color:#455064; text-decoration:none; }
.panel { margin-top:16px; padding:28px; background:#fff; scroll-margin-top:70px; }
.panel h2 { margin:0 0 24px; color:#202a3b; font-size:23px; }
.panel h2 small { color:#9ba3af; font-size:13px; font-weight:400; }
.room-table>div { display:grid; grid-template-columns:1.3fr .7fr 1fr 1fr .75fr; align-items:center; min-height:62px; border-bottom:1px solid var(--line); }
.room-table .table-head { background:#f6f7f9; color:#8b94a2; min-height:46px; }
.room-table span { padding:0 12px; }
.room-table button { justify-self:center; color:var(--blue); }
.overview-grid { display:grid; grid-template-columns:1fr 1fr; border-top:1px solid var(--line); border-left:1px solid var(--line); }
.overview-grid div { display:grid; grid-template-columns:110px 1fr; min-height:52px; align-items:center; border-right:1px solid var(--line); border-bottom:1px solid var(--line); }
.overview-grid span { height:100%; display:flex; align-items:center; padding:0 15px; background:#f6f7f9; color:#8992a0; }
.overview-grid b { padding:0 15px; font-weight:400; }
.overview-copy { margin:25px 0 0; color:#687386; line-height:2; }
.map-placeholder { display:grid; grid-template-columns:1.2fr 1fr; gap:28px; }
.map-placeholder img { width:100%; height:260px; object-fit:cover; }
.map-placeholder b { display:block; margin:22px 0 8px; color:#334057; }
.map-placeholder p { color:#7f8998; }
.side-form { position:sticky; top:20px; padding:26px; background:#fff; text-align:center; }
.side-form h3 { margin:0; font-size:21px; }
.side-form>p { color:#8d96a4; font-size:13px; }
.field { display:block; margin-top:14px; text-align:left; }
.field>span { display:flex; align-items:center; justify-content:space-between; margin-bottom:7px; color:#46556b; font-size:13px; font-weight:600; }
.field>span em { color:var(--danger); font-size:11px; font-style:normal; font-weight:500; }
.side-form .field input,.side-form .field select,.modal .field input { width:100%; height:45px; margin-top:0; padding:0 12px; border:1px solid rgba(29,55,91,.16); outline:0; background:var(--surface); }
.side-form .field input:hover,.side-form .field select:hover,.modal .field input:hover { border-color:rgba(52,120,229,.45); }
.side-form .field input:focus,.side-form .field select:focus,.modal .field input:focus { border-color:var(--blue); box-shadow:0 0 0 3px rgba(52,120,229,.13); }
.form-feedback { padding:10px 12px; border:1px solid rgba(217,79,74,.18); border-radius:var(--radius-control); color:#a63834!important; background:#fff2f1; text-align:left; }
.side-form button { width:100%; height:44px; margin-top:14px; color:#fff; background:var(--blue); }
.side-form small { display:block; margin-top:14px; color:#a1a8b2; }
.modal { position:fixed; z-index:100; inset:0; display:grid; place-items:center; padding:20px; background:rgba(10,20,35,.65); }
.modal>div,.modal>.dialog-card,.modal>form.dialog-card { position:relative; width:min(420px,100%); padding:36px; border-radius:8px; background:#fff; text-align:center; box-shadow:0 20px 70px rgba(0,0,0,.25); }
.modal h2 { margin:0; }
.modal p { color:#818b9a; }
.modal .primary-btn { margin-top:16px; }
.modal-close { position:absolute; top:8px; right:12px; font-size:28px; color:#8c95a2; }
.video-viewer>div { width:min(960px,100%); padding:24px; text-align:left; background:#0c1420; color:#fff; }
.video-viewer h2 { padding-right:44px; font-size:22px; }
.video-viewer p { margin:8px 0 18px; color:#aeb9c7; }
.video-viewer video { display:block; width:100%; max-height:68vh; border-radius:6px; background:#000; }
.video-close { position:absolute; right:18px; top:16px; width:36px; height:36px; display:grid; place-items:center; border-radius:50%; color:#fff; background:rgba(255,255,255,.14); }
.video-close svg { width:18px; height:18px; }

.captcha-row { display:grid; grid-template-columns:1fr 112px; gap:8px; align-items:end; margin-top:0; }
.captcha-row input,.side-form .captcha-row input,.modal .captcha-row input { margin-top:0; }
.captcha-row button,.side-form .captcha-row button { width:112px; height:45px; margin:0; padding:0; overflow:hidden; border:1px solid #dfe4eb; background:#f6f8fb; }
.captcha-row img { width:100%; height:100%; object-fit:cover; }
.consent-row { display:flex; gap:9px; align-items:flex-start; min-height:44px; margin-top:13px; padding:8px 0; color:#66758b; font-size:12px; line-height:1.5; text-align:left; cursor:pointer; }
.consent-row input,.side-form .consent-row input,.modal .consent-row input { flex:0 0 auto; width:15px; height:15px; margin:2px 0 0; }

.result-tools { display:flex; align-items:center; }
.result-tools button:nth-child(1),.result-tools button:nth-child(2) { padding:0 13px; margin-left:8px; border:1px solid #dce3ed; height:34px; }
.result-tools button.active { border-color:var(--blue); background:#edf4ff; }
.property-map { position:relative; height:600px; margin-top:16px; overflow:hidden; border:1px solid #dce5ef; background-color:#eef3ec; background-image:linear-gradient(28deg,transparent 46%,rgba(255,255,255,.9) 47%,rgba(255,255,255,.9) 51%,transparent 52%),linear-gradient(118deg,transparent 47%,rgba(255,255,255,.72) 48%,rgba(255,255,255,.72) 51%,transparent 52%),repeating-linear-gradient(0deg,transparent 0 78px,rgba(93,133,98,.08) 79px 80px),repeating-linear-gradient(90deg,transparent 0 95px,rgba(93,133,98,.08) 96px 97px); }
.map-river { position:absolute; width:120%; height:80px; left:-10%; top:48%; transform:rotate(-12deg); background:rgba(111,187,226,.35); border-top:2px solid rgba(69,155,205,.22); border-bottom:2px solid rgba(69,155,205,.22); }
.map-label { position:absolute; color:#849686; font-size:18px; font-weight:700; opacity:.65; }
.label-a { left:19%; top:18%; }.label-b { left:42%; top:68%; }.label-c { right:17%; top:26%; }
.map-pin { position:absolute; z-index:2; min-width:125px; max-width:190px; transform:translate(-50%,-50%); padding:8px 12px; border-radius:6px 6px 6px 0; color:#fff; background:#347be0; box-shadow:0 6px 18px rgba(27,67,126,.3); text-align:left; }
.map-pin:after { content:""; position:absolute; left:0; bottom:-8px; border-top:9px solid #347be0; border-right:9px solid transparent; }
.map-pin:hover { z-index:5; background:var(--blue-hover); }
.map-pin:hover:after { border-top-color:var(--blue-hover); }
.map-pin b,.map-pin span { display:block; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.map-pin b { font-size:13px; }.map-pin span { margin-top:3px; font-size:11px; opacity:.82; }
.map-note { position:absolute; right:14px; bottom:14px; padding:7px 10px; border-radius:4px; color:#697889; background:rgba(255,255,255,.9); font-size:11px; }

.factory-results .result-price strong { font-size:32px; }
.factory-hero .gallery-main { height:510px; }

.news-page,.news-detail-page { min-height:700px; padding-bottom:96px; background:var(--canvas); }
.news-page .breadcrumb,.news-detail-page .breadcrumb { padding:24px 0 18px; }
.news-page-head { display:flex; align-items:center; justify-content:space-between; gap:48px; margin-bottom:28px; padding:42px 48px; overflow:hidden; border:1px solid rgba(255,255,255,.1); border-radius:18px; background:#172b45; color:#fff; box-shadow:0 18px 48px rgba(19,43,75,.14); }
.news-eyebrow,.article-kicker,.related-news-head>span { display:block; margin-bottom:12px; color:#72adff; font-size:11px; font-weight:700; letter-spacing:.18em; }
.news-page-head h1 { margin:0 0 10px; font-size:36px; line-height:1.2; letter-spacing:-.02em; }
.news-page-head p { max-width:620px; margin:0; color:rgba(255,255,255,.7); line-height:1.75; }
.news-search { flex:0 0 360px; }
.news-search>span { display:block; margin-bottom:9px; color:rgba(255,255,255,.72); font-size:12px; }
.news-page-head input { width:100%; height:50px; padding:0 18px; border:1px solid rgba(255,255,255,.22); border-radius:12px; background:rgba(255,255,255,.98); color:var(--deep); box-shadow:0 8px 24px rgba(5,17,34,.12); }
.news-page-head input::placeholder { color:#8a98aa; }
.news-card-list { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:22px; }
.news-card-list article { display:grid; grid-template-columns:230px minmax(0,1fr); min-height:222px; overflow:hidden; background:var(--surface); border:1px solid var(--line); border-radius:16px; box-shadow:var(--shadow-card); cursor:pointer; transition:transform .2s ease,border-color .2s ease,box-shadow .2s ease; }
.news-card-list article:hover,.news-card-list article:focus-visible { transform:translateY(-4px); border-color:#b8d3f7; box-shadow:0 18px 42px rgba(42,68,110,.13); }
.news-card-list article:focus-visible { outline:3px solid rgba(52,120,229,.25); outline-offset:2px; }
.news-card-list img { width:230px; height:100%; object-fit:cover; transition:transform .35s ease; }
.news-card-list article:hover img { transform:scale(1.025); }
.news-card-list article>div { display:flex; min-width:0; padding:26px 28px 24px; flex-direction:column; align-items:flex-start; }
.news-card-list time { color:#7d8ca0; font-size:12px; font-weight:600; letter-spacing:.04em; }
.news-card-list h2 { margin:12px 0 10px; color:var(--deep); font-size:21px; line-height:1.45; letter-spacing:-.01em; }
.news-card-list p { display:-webkit-box; margin:0; overflow:hidden; color:var(--muted); line-height:1.75; -webkit-line-clamp:2; -webkit-box-orient:vertical; }
.news-card-list article>div>span { display:inline-flex; align-items:center; gap:8px; margin-top:auto; padding-top:16px; color:var(--blue); font-size:13px; font-weight:700; }
.news-card-list article>div>span b { font-size:16px; transition:transform .2s ease; }
.news-card-list article:hover>div>span b { transform:translateX(3px); }
.news-empty { grid-column:1/-1; padding:64px 24px; border:1px dashed #c8d6e8; border-radius:16px; background:var(--surface); text-align:center; }
.news-empty>span { color:#8fb8ee; font-size:42px; }.news-empty h2 { margin:10px 0 8px; font-size:20px; }.news-empty p { margin:0 0 20px; color:var(--muted); }
.news-empty button { min-height:42px; padding:0 18px; border-radius:10px; color:#fff; background:var(--blue); font-weight:700; }
.pagination { display:flex; align-items:center; justify-content:space-between; gap:20px; margin-top:28px; padding:18px 20px; border:1px solid var(--line); border-radius:14px; background:var(--surface); box-shadow:0 10px 30px rgba(34,69,117,.06); }
.pagination-summary { color:var(--muted); font-size:13px; }
.pagination>div { display:flex; align-items:center; gap:8px; }
.pagination button { min-width:40px; height:40px; padding:0 13px; border:1px solid #d7e1ee; border-radius:9px; color:#46566c; background:#fff; font-size:13px; font-weight:600; }
.pagination button:hover:not(:disabled) { border-color:#9fc2f1; color:var(--blue); background:var(--blue-soft); }
.pagination button.active { border-color:var(--blue); color:#fff; background:var(--blue); box-shadow:0 7px 18px rgba(52,120,229,.22); }
.pagination button:disabled { color:#aeb8c5; background:#f3f6fa; }
.article-layout { display:grid; grid-template-columns:minmax(0,1fr) 320px; gap:24px; align-items:start; }
.article-body { padding:52px 62px 64px; background:var(--surface); border:1px solid var(--line); border-radius:18px; box-shadow:var(--shadow-card); }
.article-header { max-width:820px; margin:0 auto; }.article-kicker { color:var(--blue); }
.article-body h1 { margin:0 0 22px; color:var(--deep); font-size:38px; line-height:1.38; letter-spacing:-.025em; }
.article-meta { display:flex; gap:10px 24px; padding-bottom:24px; border-bottom:1px solid var(--line); color:#8492a4; font-size:13px; flex-wrap:wrap; }
.article-meta span:not(:first-child)::before { content:"·"; margin-right:24px; color:#bdc7d3; }
.article-cover { display:block; width:100%; max-width:900px; max-height:520px; margin:32px auto 36px; border-radius:14px; object-fit:cover; }
.article-content { max-width:820px; margin:0 auto; color:#445268; font-size:17px; line-height:2; }
.article-content p { margin:0 0 1.4em; }.article-content h2,.article-content h3 { margin:1.8em 0 .8em; color:var(--deep); line-height:1.45; }.article-content img { max-width:100%; height:auto; border-radius:12px; }
.related-news { position:sticky; top:96px; padding:26px 26px 18px; background:var(--surface); border:1px solid var(--line); border-radius:16px; box-shadow:var(--shadow-card); }
.related-news-head { padding-bottom:14px; border-bottom:1px solid var(--line); }.related-news-head>span { margin-bottom:6px; color:var(--blue); }.related-news h3 { margin:0; color:var(--deep); font-size:20px; }
.related-news button { display:block; width:100%; padding:18px 0; border-bottom:1px solid var(--line); text-align:left; transition:color .2s ease,transform .2s ease; }
.related-news button:last-child { border-bottom:0; }.related-news button:hover { transform:translateX(3px); }
.related-news span,.related-news time { display:block; }.related-news button span { color:#354157; font-weight:600; line-height:1.65; transition:color .2s ease; }.related-news button:hover span { color:var(--blue); }.related-news time { margin-top:8px; color:#929eae; font-size:12px; }

/* Phase 2: public-site visual foundation and homepage hierarchy */
body { color:var(--deep); background:var(--canvas); }
.container,.header-inner,.hero-overlay,.shortcut-grid { width:min(1380px,calc(100% - 64px)); }
.site-header { position:fixed; inset:0 0 auto; width:100%; height:88px; z-index:1000; background:var(--surface); border-color:var(--line); backdrop-filter:none; transition:transform .32s cubic-bezier(.16,1,.3,1),background-color .25s ease,border-color .25s ease,box-shadow .25s ease; }
.site-header:not(.is-home) ~ main { padding-top:88px; }
.home-hero .site-header { border-bottom:0; background:linear-gradient(180deg,rgba(12,29,51,.46),rgba(12,29,51,0)); backdrop-filter:none; }
.home-hero .site-header.scrolled { background:rgba(251,253,255,.94); border-color:var(--line); box-shadow:0 12px 36px rgba(34,69,117,.11); backdrop-filter:blur(18px) saturate(135%); }
.brand { height:100%; }
.brand img { width:102px; height:68px; padding:4px 9px; border:1px solid rgba(29,55,91,.08); border-radius:var(--radius-control); background:rgba(251,253,255,.96); box-shadow:0 8px 24px rgba(22,49,86,.09); }
.brand span { color:var(--muted); border-color:var(--line); }
.home-hero .site-header.scrolled .brand span { color:var(--muted); border-color:var(--line); }
.main-nav button { height:44px; padding:0 24px; align-self:center; border-radius:999px; color:#34445a; font-size:16px; font-weight:600; }
.main-nav button:hover { background:rgba(52,120,229,.08); }
.home-hero .main-nav button:hover { background:rgba(255,255,255,.18); backdrop-filter:blur(8px); }
.home-hero .site-header.scrolled .main-nav button:hover { background:rgba(52,120,229,.08); }
.header-phone { border-color:var(--line); color:var(--deep); }
.header-phone span { color:var(--dim); }

.home-hero { background-position:center 48%; }
.home-hero:before { content:""; position:absolute; z-index:0; inset:0; pointer-events:none; background:linear-gradient(180deg,rgba(8,25,47,.36) 0,rgba(8,25,47,.08) 23%,rgba(8,25,47,.12) 54%,rgba(8,25,47,.34) 100%),radial-gradient(circle at 50% 31%,rgba(15,47,80,.08),rgba(7,22,42,.28) 72%); }
.hero-overlay { position:relative; z-index:2; padding-top:210px; }
.hero-copy { margin-bottom:28px; text-shadow:0 4px 22px rgba(5,21,40,.5); }
.hero-copy p { margin-bottom:12px; font-size:14px; font-weight:600; letter-spacing:.24em; }
.hero-copy h1 { max-width:760px; margin:auto; color:#f7fbff; font-size:clamp(42px,4.3vw,62px); font-weight:800; line-height:1.05; letter-spacing:-.035em; text-wrap:balance; }
.search-bar { width:640px; height:58px; padding:5px; border:1px solid rgba(255,255,255,.7); border-radius:var(--radius-pill); background:rgba(251,253,255,.96); box-shadow:0 20px 50px rgba(7,30,59,.24); backdrop-filter:blur(12px); }
.search-bar input { padding:0 24px; color:var(--deep); font-size:15px; }
.search-bar button { width:112px; border-radius:var(--radius-pill); background:var(--blue); box-shadow:0 8px 20px rgba(52,120,229,.28); }
.search-bar button:hover { background:var(--blue-hover); transform:translateY(-1px); }
.hot-words { width:640px; justify-content:center; gap:4px; margin-top:12px; color:rgba(247,251,255,.78); text-shadow:0 2px 8px rgba(5,21,40,.42); }
.hot-words span { margin-right:4px; }
.hot-words button { padding:5px 9px; border-radius:var(--radius-pill); color:#f7fbff; }
.hot-words button:hover { color:#f7fbff; background:rgba(255,255,255,.14); }
.banner-dots { bottom:98px; }
.banner-dots button { border-color:rgba(255,255,255,.74); background:rgba(255,255,255,.28); box-shadow:none; }
.banner-dots button.active { background:#f7fbff; }

.shortcut-grid { min-height:136px; padding:14px; transform:translateY(-68px); border:1px solid rgba(255,255,255,.7); border-radius:var(--radius-card); background:rgba(251,253,255,.94); box-shadow:0 24px 64px rgba(32,69,117,.16); backdrop-filter:blur(18px); }
.shortcut-grid button { min-height:106px; border-right-color:var(--line); border-radius:12px; }
.shortcut-grid button:hover { background:var(--blue-soft); }
.shortcut-grid img { width:46px; height:46px; }
.shortcut-grid button:hover img { transform:translateY(-3px); }
.shortcut-grid h3 { color:var(--deep); font-size:15px; font-weight:700; }
.shortcut-grid p { color:var(--dim); }

.section-title { padding:88px 0 38px; }
.section-title img { width:48px; height:48px; padding:9px; border:1px solid rgba(52,120,229,.12); border-radius:14px; background:var(--blue-soft); }
.section-title h2 { color:var(--deep); font-size:34px; font-weight:800; line-height:1.12; letter-spacing:-.025em; text-wrap:balance; }
.section-title p { margin-top:10px; color:var(--dim); font-size:11px; font-weight:600; letter-spacing:.22em; }
.district-section { padding:42px 0 96px; background:var(--surface); }
.district-section .section-title { padding:54px 0 28px; }
.district-section .section-title img { width:42px; height:42px; padding:7px; }
.district-section .section-title h2 { color:var(--deep); font-size:30px; }
.district-section .section-title p { color:var(--dim); }
.district-grid { gap:20px; }
.district { border-radius:var(--radius-card); box-shadow:0 18px 38px rgba(29,55,91,.12); }
.district:last-child { grid-column:1 / -1; }
.district:after { background:linear-gradient(0deg,rgba(8,24,45,.86),rgba(8,24,45,.02) 72%); }
.district h3 { font-size:24px; letter-spacing:-.02em; }
.district p { color:rgba(247,251,255,.78); opacity:1; }

.featured-section { padding-bottom:112px; background:var(--canvas); }
.pill-row { gap:8px; margin-bottom:34px; }
.pill-row button { min-height:40px; padding:7px 18px; border-color:var(--line); border-radius:var(--radius-pill); color:var(--muted); background:var(--surface); }
.pill-row button.active,.pill-row button:hover { border-color:var(--blue); color:#f7fbff; background:var(--blue); box-shadow:0 8px 20px rgba(52,120,229,.18); }
.building-grid { gap:22px; }
.building-card { border:1px solid var(--line); border-radius:var(--radius-card); background:var(--surface); box-shadow:0 10px 28px rgba(34,69,117,.06); }
.building-card:hover { transform:translateY(-5px); border-color:rgba(52,120,229,.24); box-shadow:var(--shadow-card); }
.card-image { height:244px; }
.card-image>span { border:1px solid rgba(255,255,255,.18); border-radius:var(--radius-pill); background:rgba(15,40,70,.78); backdrop-filter:blur(8px); }
.card-body { padding:22px 22px 24px; }
.card-body h3 { color:var(--deep); font-size:21px; letter-spacing:-.018em; }
.card-body>p,.card-meta,.card-meta strong { color:var(--dim); }
.tag-row em { border:1px solid rgba(52,120,229,.09); border-radius:var(--radius-pill); color:#466b9f; background:var(--blue-soft); }
.card-meta { border-color:var(--line); }
.card-meta strong b { color:var(--blue); font-variant-numeric:tabular-nums; }

.office-section { padding-bottom:112px; background:linear-gradient(145deg,#172941,#203b5a); }
.office-section .section-title img,.service-section .section-title img { border-color:rgba(255,255,255,.14); background:rgba(255,255,255,.08); }
.office-grid { gap:22px; }
.office-grid article { height:410px; border:1px solid rgba(255,255,255,.12); border-radius:var(--radius-card); box-shadow:0 20px 46px rgba(3,15,29,.26); }
.office-grid article:after { background:linear-gradient(0deg,rgba(5,19,36,.92),rgba(5,19,36,.04) 72%); }
.office-grid article:hover { transform:translateY(-4px); }
.office-grid p { color:rgba(247,251,255,.68); opacity:1; }
.office-grid h3 { font-size:23px; letter-spacing:-.02em; }
.office-grid strong { color:#a8c9f3; font-variant-numeric:tabular-nums; }

.news-section { padding-bottom:112px; background:var(--surface); }
.news-layout { gap:24px; }
.news-feature { overflow:hidden; min-height:350px; border:1px solid var(--line); border-radius:var(--radius-card); background:var(--canvas); box-shadow:0 12px 34px rgba(34,69,117,.07); }
.news-feature div { padding:42px 36px; }
.news-feature h3 { color:var(--deep); font-size:25px; letter-spacing:-.018em; }
.news-feature p { color:var(--muted); }
.news-list { overflow:hidden; padding:8px 22px; border:1px solid var(--line); border-radius:var(--radius-card); background:var(--surface); box-shadow:0 12px 34px rgba(34,69,117,.06); }
.news-list button { padding:0 10px; border-color:var(--line); border-radius:8px; }
.news-list button:hover { background:var(--blue-soft); }
.news-list time,.news-list i { color:var(--dim); }

.service-section { padding-bottom:112px; background:#172941; }
.service-grid { gap:12px; background:transparent; }
.service-grid>div { min-height:236px; border:1px solid rgba(255,255,255,.1); border-radius:var(--radius-card); background:rgba(251,253,255,.045); }
.service-grid>div:hover { border-color:rgba(255,255,255,.2); background:rgba(251,253,255,.075); transform:translateY(-3px); }
.service-grid b { color:rgba(255,255,255,.08); font-variant-numeric:tabular-nums; }
.service-grid p { color:rgba(247,251,255,.58); }

.site-footer { color:#91a0b4; background:#0f1c2e; }
.footer-grid { gap:64px; padding:72px 0 60px; }
.footer-grid>div:first-child img { border-radius:var(--radius-control); background:var(--surface); }
.footer-grid h4 { color:#eef5fd; }
.footer-grid button,.footer-grid a,.footer-grid a:visited { min-height:32px; color:#9aa8ba; line-height:32px; }
.footer-grid button:hover,.footer-grid a:hover { color:#eef5fd; }
.copyright { border-color:rgba(255,255,255,.08); color:#74849a; }

/* Phase 3: unified listing, filters and result cards */
.listing-page { min-height:calc(100dvh - 72px); padding-bottom:96px; background:var(--canvas); }
.list-search { padding:30px 0; border-bottom:1px solid var(--line); background:var(--surface); }
.search-bar.compact { width:680px; height:52px; overflow:hidden; padding:4px; border:1px solid rgba(52,120,229,.3); border-radius:12px; background:var(--surface); box-shadow:0 12px 32px rgba(34,69,117,.08); }
.search-bar.compact:focus-within { border-color:var(--blue); box-shadow:0 0 0 4px rgba(52,120,229,.1),0 14px 34px rgba(34,69,117,.1); }
.search-bar.compact button { width:112px; border-radius:8px; }
.breadcrumb { padding:22px 2px 18px; color:var(--dim); font-size:13px; }
.filters { overflow:hidden; padding:0 26px 12px; border:1px solid var(--line); border-radius:var(--radius-card); background:var(--surface); box-shadow:0 12px 34px rgba(34,69,117,.055); }
.filter-tabs { height:60px; border-color:var(--line); }
.filter-tabs button { position:relative; height:100%; padding:0 22px; color:var(--muted); font-weight:600; }
.filter-tabs button.active { border-bottom:0; color:var(--blue); }
.filter-tabs button.active:after { content:""; position:absolute; left:22px; right:22px; bottom:0; height:3px; border-radius:var(--radius-pill); background:var(--blue); }
.filter-row { min-height:64px; grid-template-columns:78px 1fr; border-color:rgba(29,55,91,.1); }
.filter-row>b { color:#34445a; font-size:14px; }
.filter-row>div { gap:8px; }
.filter-row button { min-height:36px; padding:6px 14px; border:1px solid transparent; border-radius:var(--radius-pill); color:var(--muted); }
.filter-row button:hover { border-color:rgba(52,120,229,.16); color:var(--blue); background:var(--blue-soft); }
.filter-row button.active { border-color:rgba(52,120,229,.16); color:var(--blue); background:var(--blue-soft); box-shadow:inset 0 0 0 1px rgba(255,255,255,.7); }
.results-head { min-height:68px; height:auto; margin-top:20px; padding:10px 18px 10px 22px; border:1px solid var(--line); border-radius:14px; background:var(--surface); box-shadow:0 10px 28px rgba(34,69,117,.05); }
.results-head strong { color:var(--deep); font-size:16px; }
.results-head strong b { color:var(--blue); font-variant-numeric:tabular-nums; }
.result-tools { gap:8px; }
.results-head button { min-height:40px; height:40px; margin-left:0; padding:0 16px; border:1px solid transparent; border-radius:var(--radius-pill); color:var(--muted); }
.result-tools button:nth-child(1),.result-tools button:nth-child(2) { height:40px; margin-left:0; padding:0 16px; border-color:var(--line); }
.results-head button:hover,.results-head button.active { border-color:rgba(52,120,229,.16); color:var(--blue); background:var(--blue-soft); }
.office-results-head { border-bottom:1px solid var(--line); }
.video-filter { gap:4px; padding:4px; border:1px solid rgba(52,120,229,.1); background:var(--blue-soft); }
.video-filter button { height:38px; min-height:38px; padding:0 18px; }
.video-filter button.active { color:#f7fbff; background:var(--blue); box-shadow:0 6px 16px rgba(52,120,229,.2); }
.result-list article { min-height:228px; margin-top:16px; padding:18px; grid-template-columns:300px minmax(0,1fr) 178px; gap:26px; border:1px solid var(--line); border-radius:var(--radius-card); background:var(--surface); box-shadow:0 9px 26px rgba(34,69,117,.045); }
.result-list article:hover { transform:translateY(-2px); border-color:rgba(52,120,229,.24); box-shadow:var(--shadow-card); }
.result-list article>img { width:300px; height:190px; border-radius:12px; }
.listing-media { width:300px; height:190px; border-radius:12px; }
.result-info h2 { margin-bottom:12px; color:var(--deep); font-size:22px; letter-spacing:-.02em; }
.result-info p { margin:10px 0; color:var(--muted); }
.result-info p span { color:var(--dim); }
.result-price { min-height:154px; display:flex; flex-direction:column; align-items:center; justify-content:center; border-color:var(--line); }
.result-price strong { color:var(--blue); font-size:36px; font-variant-numeric:tabular-nums; line-height:1; }
.result-price span,.result-price p { color:var(--dim); }
.result-price button { width:124px; height:40px; margin-top:18px; border-color:rgba(52,120,229,.5); border-radius:var(--radius-control); color:var(--blue); }
.result-list article:hover .result-price button { color:#f7fbff; background:var(--blue); }
.video-play { border-color:rgba(247,251,255,.92); background:var(--blue); box-shadow:0 10px 26px rgba(20,76,145,.32); }
.video-play:hover { background:var(--blue-hover); }
.empty-state { margin-top:16px; padding:76px 24px; border:1px dashed rgba(52,120,229,.25); border-radius:var(--radius-card); background:var(--surface); box-shadow:0 10px 28px rgba(34,69,117,.04); }
.empty-state h2 { color:var(--deep); }
.empty-state p { color:var(--muted); }

@media (max-width:1100px) {
  .header-inner { grid-template-columns:auto 1fr; }
  .main-nav { justify-self:end; }
  .main-nav button { padding:0 9px; font-size:14px; }
  .header-actions { display:none; }
  .district-grid { grid-template-columns:repeat(2,1fr); }
  .building-grid { grid-template-columns:repeat(2,1fr); }
  .result-list article { grid-template-columns:250px 1fr 150px; }
  .result-list article>img { width:250px; }
  .listing-media { width:250px; }
}

@media (max-width:760px) {
  .container,.header-inner,.hero-overlay,.shortcut-grid { width:calc(100% - 28px); }
  .header-inner { display:flex; }
  .site-header { height:64px; }
  .site-header:not(.is-home) ~ main { padding-top:64px; }
  .brand img { width:76px; height:51px; }
  .brand span { padding-left:10px; font-size:13px; }
  .home-hero .brand span { color:#fff; }
  .menu-btn { display:block; color:#313d50; }
  .home-hero .menu-btn { color:#fff; }
  .main-nav { display:none; position:absolute; left:14px; right:14px; top:64px; height:auto; padding:8px; background:#fff; box-shadow:0 15px 35px rgba(0,0,0,.18); border-radius:0 0 8px 8px; }
  .main-nav.open { display:grid; grid-template-columns:1fr 1fr; }
  .main-nav button,.home-hero .main-nav button { height:44px; color:#354154; font-weight:400; }
  .home-hero { height:360px; background-position:center; }
  .hero-overlay { padding-top:116px; }
  .hero-copy p { font-size:14px; letter-spacing:4px; }
  .hero-copy h1 { margin-bottom:30px; font-size:36px; }
  .search-bar { width:100%; height:52px; }
  .search-bar input { padding:0 16px; font-size:13px; }
  .search-bar button { width:88px; font-size:16px; }
  .hot-words { width:100%; margin-left:8px; flex-wrap:wrap; gap:9px; font-size:12px; }
  .hot-words button,.pill-row button,.filter-row button,.result-tools button,.anchor-nav a { min-width:44px; min-height:44px; display:inline-flex; align-items:center; justify-content:center; }
  .shortcut-wrap { height:auto; }
  .shortcut-grid { transform:translateY(-50px); min-height:0; margin-bottom:-50px; padding:18px 10px; grid-template-columns:repeat(3,1fr); border-radius:14px; }
  .shortcut-grid button { padding:10px 3px; }
  .shortcut-grid button:nth-child(3),.shortcut-grid button:nth-child(5) { border:0; }
  .shortcut-grid img { width:48px; height:48px; }
  .shortcut-grid h3 { font-size:14px; margin:12px 0 5px; }
  .shortcut-grid p { display:none; }
  .district-section { padding:20px 0 60px; }
  .district-section .section-title { display:grid; grid-template-columns:42px minmax(0,1fr); grid-template-areas:"icon title" "icon subtitle"; column-gap:12px; align-items:center; padding:42px 0 18px; }
  .district-section .section-title img { grid-area:icon; }
  .district-section .section-title h2 { grid-area:title; font-size:26px; white-space:nowrap; }
  .district-section .section-title p { grid-area:subtitle; margin:4px 0 0; }
  .section-title { padding:58px 0 24px; }
  .section-title img { width:42px; height:42px; }
  .section-title h2 { font-size:26px; }
  .section-title p { font-size:11px; letter-spacing:2px; }
  .district-grid { grid-template-columns:1fr 1fr; grid-auto-rows:170px; gap:10px; }
  .district.large { grid-row:span 1; grid-column:span 2; }
  .district { border-radius:12px; }
  .district div { left:16px; bottom:14px; }
  .district h3 { font-size:18px; }
  .district p { font-size:11px; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
  .featured-section,.office-section,.news-section,.service-section { padding-bottom:60px; }
  .pill-row { justify-content:flex-start; overflow:auto; padding-bottom:4px; scrollbar-width:none; }
  .pill-row::-webkit-scrollbar { display:none; }
  .pill-row button { flex:0 0 auto; font-size:12px; }
  .building-grid { grid-template-columns:1fr; gap:15px; }
  .building-card { display:grid; grid-template-columns:42% 58%; border-radius:12px; }
  .card-image { height:auto; min-height:180px; }
  .card-image>span { left:9px; top:9px; padding:4px 8px; font-size:11px; }
  .card-body { padding:16px 14px; }
  .card-body h3 { font-size:17px; }
  .card-body>p { font-size:12px; }
  .card-meta { display:block; font-size:12px; }
  .card-meta strong { display:block; margin-top:6px; }
  .card-meta strong b { font-size:21px; }
  .office-grid { display:flex; width:100%; overflow:auto; overscroll-behavior-inline:contain; gap:14px; padding-bottom:5px; }
  .office-grid article { flex:0 0 82%; height:330px; border-radius:14px; }
  .news-layout { grid-template-columns:1fr; gap:18px; }
  .news-feature { grid-template-columns:1fr; }
  .news-feature img { height:210px; }
  .news-feature div { padding:24px; }
  .news-feature h3 { font-size:20px; }
  .news-list button { min-height:64px; grid-template-columns:54px 1fr; }
  .news-list i { display:none; }
  .service-grid { grid-template-columns:1fr 1fr; }
  .service-grid>div { min-height:190px; padding:30px 20px; }
  .service-grid img { width:40px; height:40px; margin-bottom:24px; }
  .service-grid b { font-size:34px; }
  .footer-grid { grid-template-columns:1fr; gap:25px; padding:45px 0; }
  .footer-grid>div:nth-child(2) { display:none; }
  .footer-code { display:none; }
  .list-search { padding:16px 0; }
  .search-bar.compact { width:100%; height:50px; border-radius:12px; }
  .breadcrumb { padding:16px 0; }
  .filters { padding:0 12px 8px; overflow:hidden; border-radius:14px; }
  .filter-tabs { height:54px; }
  .filter-row { grid-template-columns:52px 1fr; min-height:58px; padding:10px 0; align-items:start; }
  .filter-row>div { flex-wrap:nowrap; overflow:auto; gap:6px; scrollbar-width:none; }
  .filter-row>div::-webkit-scrollbar { display:none; }
  .filter-row button { flex:0 0 auto; min-width:auto; min-height:36px; padding:5px 12px; font-size:13px; }
  .results-head { min-height:64px; padding:10px 12px; gap:10px; border-radius:12px; }
  .result-tools { min-width:0; overflow:auto; scrollbar-width:none; }
  .result-tools::-webkit-scrollbar { display:none; }
  .results-head .result-tools button:nth-child(n+3):not(.active) { display:none; }
  .result-list article { grid-template-columns:118px minmax(0,1fr); min-height:168px; padding:12px; gap:13px; align-items:start; border-radius:14px; }
  .result-list article>img { width:118px; height:140px; border-radius:10px; }
  .listing-media { width:118px; height:140px; border-radius:10px; }
  .video-play { width:44px; height:44px; margin:-22px 0 0 -22px; }
  .office-results-head { height:auto; min-height:104px; padding:14px; align-items:flex-start; flex-direction:column; gap:10px; }
  .video-filter { align-self:stretch; justify-content:flex-end; }
  .video-filter button { flex:1; padding:0 12px; }
  .video-viewer>div { padding:18px; }
  .result-info h2 { margin:4px 0 10px; font-size:17px; }
  .result-info p { margin:7px 0; font-size:12px; }
  .result-info .address { display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }
  .result-info p span { width:auto; margin-right:8px; }
  .result-info .tag-row { margin:8px 0; }
  .result-price { grid-column:1 / -1; min-height:44px; display:flex; flex-direction:row; justify-content:flex-end; align-items:center; flex-wrap:wrap; gap:5px; margin-top:0; padding-top:10px; border:0; border-top:1px solid var(--line); pointer-events:none; }
  .result-price strong { font-size:24px; }
  .result-price button { display:none; }
  .detail-hero { grid-template-columns:1fr; padding:12px; gap:18px; }
  .gallery-main { height:270px; }
  .gallery button img { height:56px; }
  .property-summary { padding:4px; }
  .summary-title h1 { font-size:24px; }
  .property-summary dl { gap:12px; }
  .property-summary dl div { display:block; }
  .property-summary dt { margin-bottom:5px; font-size:12px; }
  .detail-content { grid-template-columns:1fr; }
  .side-form { position:static; }
  .anchor-nav { gap:22px; overflow:auto; }
  .anchor-nav a { flex:0 0 auto; }
  .panel { padding:20px 14px; }
  .room-table { overflow:auto; }
  .room-table>div { min-width:690px; }
  .overview-grid { grid-template-columns:1fr; }
  .map-placeholder { grid-template-columns:1fr; }
  .map-placeholder img { height:190px; }
  .property-map { height:470px; }
  .map-pin { min-width:92px; max-width:120px; padding:6px 8px; }
  .map-pin b { font-size:11px; }.map-pin span { font-size:10px; }
  .map-label { font-size:13px; }
  .news-page,.news-detail-page { padding-bottom:64px; }
  .news-page .breadcrumb,.news-detail-page .breadcrumb { padding:18px 0 14px; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
  .news-page-head { display:block; margin-bottom:18px; padding:30px 24px; border-radius:14px; }.news-page-head h1 { font-size:30px; }.news-page-head p { font-size:14px; }.news-search { display:block; margin-top:24px; }.news-page-head input { width:100%; height:48px; }
  .news-card-list { grid-template-columns:1fr; gap:16px; }.news-card-list article { grid-template-columns:1fr; min-height:0; border-radius:14px; }.news-card-list img { width:100%; height:190px; }.news-card-list article>div { min-height:210px; padding:20px; }.news-card-list h2 { margin-top:10px; font-size:19px; }.news-card-list p { line-height:1.65; }
  .news-empty { padding:48px 18px; }
  .pagination { align-items:stretch; padding:15px; flex-direction:column; }.pagination-summary { text-align:center; }.pagination>div { justify-content:center; flex-wrap:wrap; }.pagination button { min-width:38px; height:38px; padding:0 11px; }
  .article-layout { grid-template-columns:1fr; gap:18px; }.article-body { padding:30px 20px 38px; border-radius:14px; }.article-body h1 { font-size:28px; line-height:1.4; }.article-meta { gap:8px 14px; }.article-meta span:not(:first-child)::before { margin-right:14px; }.article-cover { margin:24px auto 28px; border-radius:10px; }.article-content { font-size:16px; line-height:1.9; }.related-news { display:block; position:static; padding:22px; border-radius:14px; }
  .factory-hero .gallery-main { height:280px; }
}

@media (prefers-reduced-motion:reduce) {
  html { scroll-behavior:auto; }
  *,*::before,*::after { scroll-behavior:auto!important; animation-duration:.01ms!important; animation-iteration-count:1!important; transition-duration:.01ms!important; }
}

/* PbootCMS semantic-link compatibility: preserve the React visual contract. */
.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
.main-nav a{position:relative;display:flex;height:46px;padding:0 23px;border-radius:14px;align-self:center;align-items:center;color:#3d4759;font-size:16px;font-weight:600;white-space:nowrap;transition:height .3s cubic-bezier(.22,1,.36,1),padding .3s cubic-bezier(.22,1,.36,1),font-size .3s cubic-bezier(.22,1,.36,1),color .25s ease,background-color .25s ease,transform .25s ease}
.home-hero .main-nav a{color:#fff}.home-hero .site-header.scrolled .main-nav a{color:#1f2937}.main-nav a:hover{background:rgba(52,120,229,.08)}.home-hero .main-nav a:hover{background:rgba(255,255,255,.18);backdrop-filter:blur(8px)}
.main-nav a.active{color:var(--blue);background:rgba(52,120,229,.1)}.home-hero .main-nav a.active{color:#fff;background:rgba(255,255,255,.16);backdrop-filter:blur(10px)}.site-header.scrolled .main-nav a.active{color:var(--blue);background:rgba(52,120,229,.1)}
.main-nav a.hidden{display:none}
.hero-search-panel .hot-words a{display:inline-flex;min-height:auto;padding:5px 9px;border-radius:var(--radius-pill);align-items:center;color:#f7fbff;font-size:14px;line-height:1.5;text-decoration:none}.hero-search-panel .hot-words a:hover{color:#f7fbff;background:rgba(255,255,255,.14)}
.section-link{display:flex;min-height:46px;margin-bottom:48px;padding:0 18px;border-bottom:1px solid rgba(29,55,91,.28);align-items:center;gap:18px;color:var(--deep);font-weight:700}.section-link b{color:var(--blue);font-size:18px}.section-link:hover{padding-right:13px;border-color:var(--blue)}
.pill-row a{display:flex;min-height:46px;padding:0 28px;border-radius:999px;align-items:center;justify-content:center;color:#405265;font-weight:700}.pill-row a.active,.pill-row a:hover{color:#f4f8fb;background:#0b2942}
.district{display:block}.building-card>a,.office-grid article>a{display:block;height:100%;color:inherit}.office-grid article>a>img{width:100%;height:100%;object-fit:cover;transition:.7s cubic-bezier(.16,1,.3,1)}.office-grid article:hover>a>img{transform:scale(1.035)}
.home-news-card{color:inherit}.service-grid .service-icon img{width:25px;height:25px}.contact-rail-item .rail-icon{width:22px;height:22px}.dialog-layer[hidden]{display:none!important}
.contact-back-top[hidden]{display:none!important}
.filter-row a{display:inline-flex;min-height:36px;padding:6px 14px;border:1px solid transparent;border-radius:var(--radius-pill);align-items:center;justify-content:center;color:var(--muted)}.filter-row a:hover,.filter-row a.active{border-color:rgba(52,120,229,.16);color:var(--blue);background:var(--blue-soft);box-shadow:inset 0 0 0 1px rgba(255,255,255,.7)}
.result-tools a{display:inline-flex;height:40px;padding:0 16px;border:1px solid var(--line);align-items:center;color:#46566c}.result-tools a.active,.result-tools a:hover{border-color:var(--blue);background:#edf4ff}.video-filter a{display:inline-flex;height:38px;padding:0 18px;border-radius:22px;align-items:center;color:#8791a0}.video-filter a.active,.video-filter a:hover{color:#f7fbff;background:var(--blue);box-shadow:0 6px 16px rgba(52,120,229,.2)}
.result-card-link,.news-card-link{display:block;color:inherit}.result-card-link article,.news-card-link article{width:100%}.pagination a{display:inline-flex;min-width:40px;height:40px;padding:0 13px;border:1px solid #d7e1ee;border-radius:9px;align-items:center;justify-content:center;color:#46566c;background:#fff;font-size:13px;font-weight:600}.pagination a:hover,.pagination a.active{border-color:var(--blue);color:#fff;background:var(--blue)}
.news-category-tabs a{display:flex;min-height:52px;padding:0 24px;border:1px solid var(--line);border-radius:14px;align-items:center;justify-content:center;gap:10px;color:#536477;background:var(--surface);font-weight:700}.news-category-tabs a i{width:8px;height:8px;border-radius:50%;background:#236fdb}.news-category-tabs a.active,.news-category-tabs a:hover{color:#f4f8fb;border-color:var(--blue);background:var(--blue);box-shadow:0 12px 28px rgba(52,120,229,.18)}.news-category-tabs a.active i,.news-category-tabs a:hover i{background:#f4f8fb}
.related-news>a{display:flex;padding:17px 0;border-bottom:1px solid var(--line);flex-direction:column;color:inherit}.related-news>a time{margin-top:7px;color:var(--dim);font-size:12px}
@media(max-width:760px){.main-nav a{height:auto;padding:13px 16px;align-self:stretch;color:var(--deep)!important}.pill-row a{min-height:42px;padding:0 18px}.contact-rail-item .rail-icon{width:18px;height:18px}.filter-row a{flex:0 0 auto;min-width:auto;min-height:36px;padding:5px 12px;font-size:13px}.news-category-tabs a{flex:0 0 auto;min-width:126px;min-height:48px;padding:0 18px;font-size:14px}}

/* Phase 4: editorial homepage direction */
.home-hero { height:900px; background-position:center 48%; }
.home-hero:before { z-index:0; background:linear-gradient(90deg,rgba(5,20,38,.74) 0,rgba(5,20,38,.46) 46%,rgba(5,20,38,.08) 76%),linear-gradient(180deg,rgba(5,19,36,.34) 0,rgba(5,19,36,.04) 38%,rgba(5,19,36,.48) 100%); }
.home-hero:after { content:""; position:absolute; z-index:1; inset:0; pointer-events:none; opacity:.035; background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.78' numOctaves='3'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.5'/%3E%3C/svg%3E"); }
.hero-overlay { position:relative; z-index:2; display:flex; height:100%; padding-top:72px; padding-bottom:108px; align-items:flex-end; justify-content:space-between; }
.hero-stage { width:min(780px,72%); animation:hero-rise .9s var(--ease) both; }
.hero-copy { margin:0; text-align:left; text-shadow:0 6px 28px rgba(4,16,30,.42); }
.hero-copy p { margin:0 0 20px; color:rgba(247,251,255,.78); font-size:13px; font-weight:600; letter-spacing:.18em; }
.hero-copy h1 { max-width:760px; margin:0; color:#f4f8fd; font-size:clamp(66px,7.2vw,108px); font-weight:800; line-height:.92; letter-spacing:-.055em; text-wrap:balance; }
.hero-copy>span { display:block; max-width:590px; margin-top:26px; color:rgba(240,246,252,.76); font-size:16px; font-weight:400; line-height:1.8; text-shadow:0 3px 18px rgba(4,16,30,.5); }
.hero-search-panel { width:min(690px,100%); margin-top:42px; }
.hero-search-panel .search-bar { width:100%; height:64px; margin:0; padding:7px; border:1px solid rgba(255,255,255,.52); border-radius:14px; background:rgba(249,252,255,.96); box-shadow:0 24px 60px rgba(3,18,36,.3); }
.hero-search-panel .search-bar input { padding:0 20px; font-size:15px; }
.hero-search-panel .search-bar button { width:116px; border-radius:9px; }
.hero-search-panel .hot-words { width:100%; margin:12px 0 0; justify-content:flex-start; gap:6px; }
.hero-search-panel .hot-words span { margin-right:8px; color:rgba(247,251,255,.62); }
.hero-note { display:flex; padding-bottom:10px; color:rgba(247,251,255,.72); flex-direction:column; align-items:flex-end; }
.hero-note span { margin-bottom:8px; font-size:11px; letter-spacing:.28em; }.hero-note b { font-size:12px; font-weight:600; line-height:1.55; letter-spacing:.14em; text-align:right; }.hero-note i { width:1px; height:70px; margin-top:18px; background:rgba(255,255,255,.42); }
.banner-dots { z-index:4; bottom:34px; }
@keyframes hero-rise { from { opacity:0; transform:translateY(26px); } to { opacity:1; transform:none; } }

.shortcut-wrap { height:auto; position:relative; z-index:3; background:#eef3f8; }
.shortcut-grid { display:grid; min-height:0; padding:92px 0 98px; border:0; border-radius:0; background:transparent; box-shadow:none; transform:none; backdrop-filter:none; grid-template-columns:repeat(12,minmax(0,1fr)); gap:22px; }
.shortcut-intro { grid-column:1/5; padding-right:42px; align-self:center; }
.shortcut-intro>span { color:var(--blue); font-size:12px; font-weight:700; }.shortcut-intro h2 { margin:14px 0 18px; color:var(--deep); font-size:clamp(30px,2.8vw,44px); line-height:1.12; letter-spacing:-.04em; text-wrap:balance; }.shortcut-intro p { margin:0; color:var(--muted); line-height:1.8; }
.shortcut-primary { display:grid; grid-column:5/13; grid-template-columns:repeat(3,1fr); gap:14px; }
.shortcut-primary button { position:relative; min-height:250px; padding:28px 26px; overflow:hidden; border:1px solid var(--line); border-radius:14px; background:var(--surface); text-align:left; box-shadow:0 12px 30px rgba(34,69,117,.06); }
.shortcut-primary button:first-child { color:#f2f7fd; border-color:#193a61; background:#183552; box-shadow:0 18px 42px rgba(19,48,82,.2); }
.shortcut-primary button>span { color:var(--dim); font-size:12px; font-variant-numeric:tabular-nums; }.shortcut-primary button:first-child>span { color:rgba(242,247,253,.56); }.shortcut-primary h3 { margin:58px 0 10px; color:var(--deep); font-size:22px; letter-spacing:-.02em; }.shortcut-primary button:first-child h3 { color:#f2f7fd; }.shortcut-primary p { margin:0; color:var(--muted); font-size:13px; line-height:1.6; }.shortcut-primary button:first-child p { color:rgba(242,247,253,.66); }.shortcut-primary button>b { position:absolute; right:24px; bottom:22px; color:var(--blue); font-size:22px; font-weight:400; transition:transform .25s var(--ease); }.shortcut-primary button:first-child>b { color:#7eb2ff; }.shortcut-primary button:hover { transform:translateY(-5px); border-color:rgba(52,120,229,.28); box-shadow:var(--shadow-card); }.shortcut-primary button:hover>b { transform:translate(3px,-3px); }
.shortcut-services { display:grid; grid-column:5/13; grid-template-columns:1fr 1fr; gap:14px; }
.shortcut-services button { display:flex; min-height:70px; padding:0 22px; border-bottom:1px solid rgba(29,55,91,.18); color:var(--deep); align-items:center; justify-content:space-between; text-align:left; }.shortcut-services button span { display:flex; gap:10px; color:var(--muted); font-size:13px; align-items:baseline; }.shortcut-services button span b { color:var(--deep); font-size:15px; }.shortcut-services button i { color:var(--blue); font-size:18px; font-style:normal; }.shortcut-services button:hover { padding-left:27px; border-color:var(--blue); }

.featured-section { padding:0 0 118px; background:#f3f6fa; }
.featured-heading { display:flex; padding:100px 0 36px; align-items:flex-end; justify-content:space-between; gap:40px; }
.featured-heading>div>span { color:var(--blue); font-size:11px; font-weight:700; letter-spacing:.18em; }.featured-heading h2 { margin:14px 0 14px; color:var(--deep); font-size:clamp(38px,4vw,58px); line-height:1; letter-spacing:-.045em; }.featured-heading p { max-width:600px; margin:0; color:var(--muted); line-height:1.75; }.featured-heading>button { display:flex; min-height:46px; padding:0 18px; border-bottom:1px solid rgba(29,55,91,.28); color:var(--deep); font-weight:700; align-items:center; gap:18px; }.featured-heading>button b { color:var(--blue); font-size:18px; }.featured-heading>button:hover { padding-right:13px; border-color:var(--blue); }
.featured-section .pill-row { margin-bottom:28px; }
.featured-section .building-grid { display:grid; grid-template-columns:repeat(12,minmax(0,1fr)); gap:18px; }
.featured-section .building-card { grid-column:span 3; border-radius:14px; box-shadow:0 10px 28px rgba(34,69,117,.055); }
.featured-section .building-card:nth-child(-n+2) { grid-column:span 6; }
.featured-section .building-card:nth-child(-n+2) .card-image { height:340px; }
.featured-section .building-card:nth-child(n+3) .card-image { height:210px; }
.featured-section .building-card:nth-child(n+3) .card-body { padding:19px; }
.featured-section .building-card:nth-child(n+3) .card-body h3 { font-size:18px; }
.featured-section .building-card:nth-child(n+3) .card-body>p { white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.card-title-row { display:flex; gap:16px; align-items:flex-start; justify-content:space-between; }.card-title-row h3 { margin:0; }.card-title-row>span { color:var(--blue); font-size:18px; transition:transform .22s var(--ease); }.building-card:hover .card-title-row>span { transform:translate(3px,-3px); }

@media (max-width:1100px) {
  .hero-stage { width:78%; }.hero-copy h1 { font-size:clamp(58px,8vw,88px); }
  .shortcut-grid { grid-template-columns:1fr; }.shortcut-intro,.shortcut-primary,.shortcut-services { grid-column:1; }.shortcut-intro { max-width:660px; padding:0 0 20px; }
  .featured-section .building-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }.featured-section .building-card,.featured-section .building-card:nth-child(-n+2) { grid-column:auto; }.featured-section .building-card:nth-child(n+3) .card-image,.featured-section .building-card:nth-child(-n+2) .card-image { height:260px; }
}

@media (max-width:760px) {
  .home-hero { height:650px; min-height:650px; background-position:center; }
  .home-hero:before { background:linear-gradient(180deg,rgba(5,20,38,.54),rgba(5,20,38,.32) 40%,rgba(5,20,38,.76)); }
  .hero-overlay { width:calc(100% - 28px); padding-top:64px; padding-bottom:54px; align-items:flex-end; }
  .hero-stage { width:100%; }.hero-copy p { margin-bottom:14px; font-size:11px; letter-spacing:.12em; }.hero-copy h1 { font-size:clamp(46px,15vw,64px); line-height:.95; }.hero-copy>span { margin-top:18px; font-size:14px; line-height:1.65; }
  .hero-search-panel { margin-top:28px; }.hero-search-panel .search-bar { height:56px; }.hero-search-panel .search-bar button { width:88px; }.hero-search-panel .hot-words { margin-left:0; gap:3px; }.hero-search-panel .hot-words span { width:100%; margin-bottom:2px; }
  .hero-note { display:none; }.banner-dots { bottom:18px; }
  .shortcut-grid { width:calc(100% - 28px); padding:62px 0 68px; gap:18px; }.shortcut-intro h2 { font-size:32px; }.shortcut-primary { grid-template-columns:1fr; }.shortcut-primary button { min-height:180px; }.shortcut-primary h3 { margin-top:34px; }.shortcut-services { grid-template-columns:1fr; gap:0; }.shortcut-services button { padding:0 6px; }
  .featured-heading { display:block; padding:72px 0 28px; }.featured-heading h2 { font-size:40px; }.featured-heading>button { margin-top:24px; padding-left:0; }
  .featured-section .building-grid { grid-template-columns:1fr; }.featured-section .building-card:nth-child(n) .card-image { height:230px; }
}

@media (prefers-reduced-motion:reduce) {
  .hero-stage { animation:none; }
}

/* Phase 5: brand-led homepage — architectural, editorial, restrained */
.home-hero {
  height:min(1200px,100vh);
  height:min(1200px,100dvh);
  min-height:0;
  isolation:isolate;
  overflow:hidden;
  background:#0b2236;
  background-image:none;
  background-position:center 46%;
  background-size:cover;
}
.hero-background {
  position:absolute;
  z-index:-1;
  inset:-3%;
  opacity:0;
  background-position:center 46%;
  background-size:cover;
  will-change:transform,opacity;
  transition:opacity .9s ease;
  animation:hero-breathe 16s cubic-bezier(.45,0,.55,1) infinite;
}
.hero-background.active { opacity:1; }
.banner-slides { position:absolute; z-index:-1; inset:0; overflow:hidden; }
.banner-carousel { touch-action:pan-y; outline:none; }
.banner-carousel:focus-visible { box-shadow:inset 0 0 0 3px rgba(244,248,251,.86); }
@keyframes hero-breathe {
  0%,100% { transform:scale(1.015); }
  50% { transform:scale(1.055); }
}
.home-hero:before {
  background:
    linear-gradient(90deg,rgba(4,17,30,.78) 0%,rgba(4,17,30,.52) 42%,rgba(4,17,30,.12) 76%),
    linear-gradient(180deg,rgba(4,17,30,.34) 0%,rgba(4,17,30,.02) 42%,rgba(4,17,30,.62) 100%);
}
.hero-overlay { width:min(1380px,calc(100% - 64px)); }
.hero-stage { width:min(940px,76%); }
.hero-copy p { margin-bottom:24px; color:rgba(242,247,249,.72); letter-spacing:.24em; }
.hero-copy h1 {
  max-width:940px;
  color:#f2f6f7;
  font-size:clamp(78px,8.8vw,136px);
  font-weight:760;
  line-height:.86;
  letter-spacing:1px;
  text-shadow:0 12px 48px rgba(0,8,18,.34);
}
.hero-copy>span { max-width:620px; margin-top:32px; color:rgba(242,247,249,.72); font-size:16px; line-height:1.85; }
.hero-search-panel { width:min(720px,100%); margin-top:46px; }
.hero-search-panel .search-bar {
  height:66px;
  padding:6px;
  border-color:rgba(255,255,255,.28);
  border-radius:3px;
  background:rgba(247,250,251,.96);
  box-shadow:0 28px 70px rgba(0,13,28,.24);
}
.hero-search-panel .search-type-select {
  width:138px;
  height:100%;
  flex:0 0 138px;
  padding:0 18px;
  border:0;
  border-right:1px solid rgba(29,55,91,.13);
  border-radius:0;
  outline:0;
  color:#24384d;
  background:transparent;
  font-size:14px;
  font-weight:600;
  cursor:pointer;
}
.hero-search-panel .search-type-select:hover { color:var(--blue); }
.hero-search-panel .search-type-select:focus-visible { outline:3px solid rgba(52,120,229,.24); outline-offset:-3px; }
.hero-search-panel .search-bar button { border-radius:2px; }
.hero-note { padding-bottom:6px; }
.hero-note span { letter-spacing:.34em; }
.hero-note b { max-width:160px; font-weight:500; letter-spacing:.18em; }
.hero-note i { height:104px; }
.banner-dots { align-items:center; }
.banner-dots button { min-width:28px; width:28px; height:3px; border:0; border-radius:0; background:rgba(255,255,255,.42); transition:width .25s ease,background-color .25s ease; }
.banner-dots button.active { width:56px; background:#f2f6f7; }
.banner-dots button:focus-visible,.banner-arrows button:focus-visible { outline:2px solid #f2f6f7; outline-offset:4px; }
.banner-arrows { position:absolute; z-index:4; inset:50% 0 auto; pointer-events:none; }
.banner-arrows button { position:absolute; width:52px; height:52px; padding:0; border:1px solid rgba(255,255,255,.34); border-radius:50%; color:#f4f8fb; background:rgba(7,30,52,.22); box-shadow:0 10px 30px rgba(2,16,30,.16); backdrop-filter:blur(8px); font-family:Arial,sans-serif; font-size:38px; font-weight:300; line-height:1; pointer-events:auto; transform:translateY(-50%); }
.banner-arrows button:hover { border-color:rgba(255,255,255,.66); background:rgba(255,255,255,.2); }
.banner-arrows .prev { left:32px; }
.banner-arrows .next { right:32px; }

.home-lead-section { padding:0 0 150px; background:#edf1f3; }
.home-lead-section .featured-heading>.home-section-title { max-width:900px; padding-top:148px; }
.home-lead-section .home-section-title h2 { max-width:880px; font-size:clamp(38px,4vw,48px); }
.home-lead-section .pill-row { margin:0 0 38px; padding-bottom:17px; border-bottom:1px solid rgba(12,34,53,.14); }
.home-lead-section .pill-row button {
  min-height:40px;
  padding:0 18px;
  border:0;
  border-radius:0;
  color:#667480;
  background:transparent;
}
.home-lead-section .pill-row button:first-child { padding-left:0; }
.home-lead-section .pill-row button.active { color:#0c2235; background:transparent; box-shadow:inset 0 -2px #236fdb; }
.home-lead-section .building-grid { gap:30px 22px; }
.home-lead-section .building-card,
.home-lead-section .building-card:nth-child(-n+2) {
  grid-column:span 6;
  overflow:visible;
  border:0;
  border-radius:0;
  background:transparent;
  box-shadow:none;
}
.home-lead-section .building-card:nth-child(1) { grid-column:span 8; }
.home-lead-section .building-card:nth-child(2) { grid-column:span 4; padding-top:132px; }
.home-lead-section .building-card:nth-child(n+5) { grid-column:span 6; }
.home-lead-section .building-card .card-image,
.home-lead-section .building-card:nth-child(-n+2) .card-image,
.home-lead-section .building-card:nth-child(n+3) .card-image { height:340px; border-radius:2px; }
.home-lead-section .building-card:nth-child(1) .card-image { height:570px; }
.home-lead-section .building-card:nth-child(2) .card-image { height:438px; }
.home-lead-section .building-card:nth-child(n+5) .card-image { height:340px; }
.home-lead-section .card-image:after { content:""; position:absolute; inset:0; background:linear-gradient(180deg,transparent 55%,rgba(4,17,30,.28)); pointer-events:none; }
.home-lead-section .card-image>span { z-index:1; border-radius:1px; background:rgba(4,25,43,.76); backdrop-filter:blur(8px); }
.home-lead-section .card-body,
.home-lead-section .building-card:nth-child(n+3) .card-body { padding:22px 0 4px; }
.home-lead-section .card-title-row h3,
.home-lead-section .building-card:nth-child(n+3) .card-body h3 { color:#0c2235; font-size:22px; font-weight:720; letter-spacing:-.025em; }
.home-lead-section .card-body>p { color:#6a7782; }
.home-lead-section .tag-row em { border-radius:1px; background:rgba(35,111,219,.07); }
.home-lead-section .card-meta { border-color:rgba(12,34,53,.12); }

.shortcut-wrap { background:#0b2236; color:#eef4f7; }
.shortcut-grid { padding:144px 0; }
.shortcut-intro>span { color:#78aef4; }
.shortcut-intro h2 { color:#f0f5f7; font-size:clamp(44px,4.2vw,64px); line-height:.98; }
.shortcut-intro p { max-width:390px; color:rgba(232,240,244,.62); }
.shortcut-primary { border-color:rgba(230,239,244,.16); }
.shortcut-primary button,.shortcut-primary button:first-child {
  min-height:310px;
  border-color:rgba(230,239,244,.12);
  color:#eef4f7;
}
.shortcut-primary button:first-child>span,.shortcut-primary button>span { color:#78aef4; }
.shortcut-primary button:first-child h3,.shortcut-primary h3 { margin-top:94px; color:#f0f5f7; font-size:26px; }
.shortcut-primary button:first-child p,.shortcut-primary p { color:rgba(232,240,244,.58); }
.shortcut-primary button:hover { border-color:rgba(230,239,244,.12); background:rgba(255,255,255,.045); }
.shortcut-services button { border-color:rgba(230,239,244,.14); color:#eef4f7; }
.shortcut-services button span { color:rgba(232,240,244,.58); }
.shortcut-services button span b { color:#eef4f7; }
.shortcut-services button i { color:#78aef4; }

.district-section { background:#f6f7f6; }
.district-section .home-section-title h2,
.news-section .home-section-title h2 { max-width:760px; }
.district-grid { gap:2px; background:#f6f7f6; }
.district { border-radius:0; }
.district img { transition:transform .8s cubic-bezier(.16,1,.3,1),filter .5s ease; filter:saturate(.78) contrast(1.04); }
.district:hover img { transform:scale(1.035); filter:saturate(1) contrast(1.02); }
.district>div { background:none; }

.office-section { background:#0b2236; }
.office-grid { gap:2px; }
.office-grid article { height:520px; border-radius:0; }
.office-grid article:after { background:linear-gradient(180deg,transparent 36%,rgba(4,17,30,.84)); }
.news-section { background:#edf1f3; }
.news-eyebrow,.related-news-head>span { display:none; }
.news-feature,.news-feature img { border-radius:2px; }
.news-list button { border-color:rgba(12,34,53,.13); }
.service-section { background:#102b43; }
.service-grid { border-color:rgba(232,240,244,.14); }
.service-grid>div { border-color:rgba(232,240,244,.12); }

@media (max-width:1100px) {
  .hero-overlay { width:calc(100% - 64px); }
  .home-lead-section .building-card:nth-child(n) { grid-column:auto; padding-top:0; }
  .home-lead-section .building-card:nth-child(n) .card-image { height:350px; }
}

@media (max-width:760px) {
  .home-hero { height:min(1200px,100vh); height:min(1200px,100dvh); min-height:0; }
  .hero-overlay { width:calc(100% - 28px); }
  .hero-copy h1 { font-size:clamp(52px,16vw,72px); line-height:.9; }
  .hero-copy>span { max-width:92%; font-size:14px; }
  .hero-search-panel { margin-top:32px; }
  .hero-search-panel .search-bar { height:58px; }
  .hero-search-panel .search-type-select { width:108px; flex-basis:108px; padding:0 10px; font-size:12px; }
  .home-lead-section { padding-bottom:88px; }
  .home-lead-section .featured-heading>.home-section-title { padding-top:84px; }
  .home-lead-section .home-section-title h2 { font-size:42px; }
  .home-lead-section .building-grid { gap:30px; }
  .home-lead-section .building-card:nth-child(n) .card-image { height:300px; }
  .home-lead-section .building-card:nth-child(1) .card-image { height:420px; }
  .home-lead-section .pill-row { display:flex; overflow:auto; white-space:nowrap; scrollbar-width:none; }
  .shortcut-grid { padding:88px 0; }
  .shortcut-primary button,.shortcut-primary button:first-child { min-height:210px; }
  .shortcut-primary button:first-child h3,.shortcut-primary h3 { margin-top:50px; }
  .office-grid article { height:410px; }
}

/* Phase 4 refinement: monumental scale and one heading language */
.hero-overlay { padding-bottom:132px; align-items:center; }
.hero-stage { width:min(900px,78%); padding-top:72px; }
.hero-copy h1 { max-width:760px; font-size:clamp(56px,6.4vw,92px); line-height:.92; }
.hero-copy>span { max-width:680px; font-size:17px; }
.hero-search-panel { width:min(760px,100%); }
.hero-search-panel .hot-words { font-size:14px; }
.hero-search-panel .hot-words span,.hero-search-panel .hot-words button { font-size:14px; }

.home-section-title { max-width:820px; padding:112px 0 46px; }
.home-section-title p { margin:0 0 16px; color:var(--blue); font-size:11px; font-weight:700; letter-spacing:.2em; }
.home-section-title h2 { margin:0; color:var(--deep); font-size:clamp(44px,4.8vw,68px); font-weight:800; line-height:.96; letter-spacing:-.05em; text-wrap:balance; }
.home-section-title>span { display:block; max-width:650px; margin-top:20px; color:var(--muted); font-size:15px; line-height:1.8; text-wrap:pretty; }
.home-section-title.light p { color:#79adf5; }.home-section-title.light h2 { color:#f2f7fd; }.home-section-title.light>span { color:rgba(242,247,253,.66); }

.shortcut-wrap { background:#f3f6fa; }
.shortcut-grid { padding:126px 0 124px; gap:0 48px; }
.shortcut-intro { padding-right:28px; }
.shortcut-intro>span { font-size:11px; letter-spacing:.2em; }
.shortcut-intro h2 { margin-top:18px; font-size:clamp(38px,3.6vw,54px); line-height:1.02; }
.shortcut-primary { gap:0; border-top:1px solid rgba(29,55,91,.18); border-bottom:1px solid rgba(29,55,91,.18); }
.shortcut-primary button,.shortcut-primary button:first-child { min-height:270px; padding:34px 30px; border:0; border-right:1px solid rgba(29,55,91,.14); border-radius:0; color:var(--deep); background:transparent; box-shadow:none; }
.shortcut-primary button:last-child { border-right:0; }
.shortcut-primary button:first-child>span,.shortcut-primary button>span { color:var(--blue); font-size:10px; font-weight:700; letter-spacing:.12em; }
.shortcut-primary button:first-child h3,.shortcut-primary h3 { margin-top:72px; color:var(--deep); font-size:24px; }
.shortcut-primary button:first-child p,.shortcut-primary p { color:var(--muted); }
.shortcut-primary button:hover { transform:none; border-color:rgba(29,55,91,.14); background:rgba(251,253,255,.76); box-shadow:none; }
.shortcut-services { margin-top:24px; gap:36px; }
.shortcut-services button { min-height:62px; padding:0; }

.district-section { padding:0 0 128px; }
.district-section .home-section-title { padding-top:118px; }
.featured-section { padding-bottom:138px; }
.featured-heading { padding:0; align-items:flex-end; }
.featured-heading>.home-section-title { padding:118px 0 46px; }
.featured-heading>.home-section-title>span { max-width:650px; margin-top:20px; color:var(--muted); font-size:15px; font-weight:400; line-height:1.8; letter-spacing:0; }
.featured-heading>button { margin-bottom:48px; }
.office-section,.news-section,.service-section { padding-bottom:132px; }
.office-section .home-section-title,.news-section .home-section-title,.service-section .home-section-title { padding-top:118px; }
.office-grid article { height:460px; }
.news-layout { margin-top:4px; }
.service-grid { margin-top:2px; }

@media (max-width:1100px) {
  .hero-stage { width:82%; }.hero-copy h1 { font-size:clamp(68px,9vw,96px); }
  .shortcut-grid { gap:34px; }.shortcut-primary button,.shortcut-primary button:first-child { border-right:0; border-bottom:1px solid rgba(29,55,91,.14); }.shortcut-primary button:last-child { border-bottom:0; }
  .home-section-title { max-width:720px; }
}

@media (max-width:760px) {
  .hero-overlay { padding-top:64px; padding-bottom:34px; align-items:flex-end; }.hero-stage { width:100%; padding-top:0; }.hero-copy h1 { font-size:clamp(40px,12vw,54px); }
  .home-section-title,.district-section .home-section-title,.featured-heading>.home-section-title,.office-section .home-section-title,.news-section .home-section-title,.service-section .home-section-title { padding:78px 0 32px; }
  .home-section-title p { margin-bottom:12px; }.home-section-title h2 { font-size:40px; }.home-section-title>span { margin-top:16px; font-size:14px; }
  .shortcut-grid { padding:82px 0; }.shortcut-intro h2 { font-size:38px; }.shortcut-primary { border-top:1px solid rgba(29,55,91,.18); }.shortcut-primary button,.shortcut-primary button:first-child { min-height:190px; padding:26px 8px; }.shortcut-primary button:first-child h3,.shortcut-primary h3 { margin-top:42px; }
  .featured-heading>button { margin:0 0 32px; }.featured-heading { display:block; }
  .district-section,.featured-section,.office-section,.news-section,.service-section { padding-bottom:86px; }
  .office-grid article { height:380px; }
  .banner-arrows button { width:44px; height:44px; font-size:32px; }
  .banner-arrows .prev { left:14px; }
  .banner-arrows .next { right:14px; }
}

@media (prefers-reduced-motion:reduce) {
  .hero-background { animation:none; transform:scale(1.02); transition:none; }
}

/* Densify the featured projects section without changing its editorial hierarchy. */
.home-lead-section { padding-bottom:104px; }
.home-lead-section .featured-heading {
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:48px;
  align-items:end;
}
.home-lead-section .featured-heading>.home-section-title { padding:82px 0 28px; }
.home-lead-section .featured-heading>button { margin-bottom:30px; }
.home-lead-section .pill-row {
  margin-bottom:24px;
  padding-bottom:10px;
  justify-content:flex-start;
}
.home-lead-section .building-grid { gap:26px 20px; }
.home-lead-section .building-card:nth-child(2) { padding-top:0; }
.home-lead-section .building-card:nth-child(1) .card-image,
.home-lead-section .building-card:nth-child(2) .card-image { height:500px; }
.home-lead-section .building-card:nth-child(n+3) { grid-column:span 3; }
.home-lead-section .building-card:nth-child(n+3) .card-image { height:250px; }
.home-lead-section .building-card:nth-child(n+3) .card-body { padding-top:18px; }
.home-lead-section .building-card:nth-child(n+3) .card-title-row h3 { font-size:19px; }

@media (max-width:1100px) {
  .home-lead-section .featured-heading>.home-section-title { padding-top:72px; }
  .home-lead-section .building-card:nth-child(1),
  .home-lead-section .building-card:nth-child(2),
  .home-lead-section .building-card:nth-child(n+3) { grid-column:span 6; }
  .home-lead-section .building-card:nth-child(1) .card-image,
  .home-lead-section .building-card:nth-child(2) .card-image,
  .home-lead-section .building-card:nth-child(n+3) .card-image { height:300px; }
}

@media (max-width:760px) {
  .home-lead-section .featured-heading { display:block; }
  .home-lead-section .featured-heading>.home-section-title { padding:70px 0 26px; }
  .home-lead-section .featured-heading>button { margin:0 0 24px; }
  .home-lead-section .pill-row { overflow:auto; white-space:nowrap; scrollbar-width:none; }
  .home-lead-section .building-card:nth-child(1),
  .home-lead-section .building-card:nth-child(2),
  .home-lead-section .building-card:nth-child(n+3) { grid-column:span 12; }
  .home-lead-section .building-card:nth-child(1) .card-image,
  .home-lead-section .building-card:nth-child(2) .card-image,
  .home-lead-section .building-card:nth-child(n+3) .card-image { height:240px; }
}

/* Homepage news cards follow the selected three-card reference layout. */
.news-section { padding-bottom:118px; background:#edf1f3; }
.news-showcase-head {
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:48px;
}
.news-showcase-head>.home-section-title { padding:104px 0 44px; }
.news-showcase-head>.home-section-title h2 { max-width:680px; }
.news-showcase-head>button {
  display:flex;
  min-height:46px;
  margin-bottom:44px;
  padding:0 2px 0 0;
  border-bottom:1px solid rgba(12,34,53,.25);
  color:#0c2235;
  font-size:14px;
  font-weight:700;
  align-items:center;
  gap:18px;
}
.news-showcase-head>button b { color:#236fdb; font-size:18px; }
.home-news-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:22px; }
.home-news-card {
  overflow:hidden;
  min-width:0;
  border-radius:18px;
  background:#f9fbfc;
  cursor:pointer;
  outline:none;
  transition:transform .28s cubic-bezier(.16,1,.3,1),box-shadow .28s ease;
}
.home-news-card:hover { transform:translateY(-5px); box-shadow:0 22px 48px rgba(12,34,53,.1); }
.home-news-card:focus-visible { box-shadow:0 0 0 3px rgba(35,111,219,.28),0 22px 48px rgba(12,34,53,.1); }
.home-news-image { height:320px; overflow:hidden; background:#dfe6ea; }
.home-news-image img { width:100%; height:100%; object-fit:cover; transition:transform .7s cubic-bezier(.16,1,.3,1); }
.home-news-card:hover .home-news-image img { transform:scale(1.035); }
.home-news-body { display:flex; min-height:300px; padding:28px 28px 26px; flex-direction:column; align-items:flex-start; }
.home-news-body>span { padding:6px 11px; border-radius:999px; color:#546575; background:#edf1f3; font-size:12px; }
.home-news-body h3 { margin:18px 0 12px; color:#10253a; font-size:clamp(21px,1.7vw,26px); line-height:1.28; letter-spacing:-.025em; text-wrap:balance; }
.home-news-body p { display:-webkit-box; overflow:hidden; margin:0 0 22px; color:#6c7a87; font-size:14px; line-height:1.75; -webkit-box-orient:vertical; -webkit-line-clamp:2; }
.home-news-body time { color:#667685; font-size:12px; font-variant-numeric:tabular-nums; }
.home-news-body>button { display:flex; margin-top:auto; padding:18px 0 0; color:#10253a; font-size:13px; align-items:center; gap:9px; }
.home-news-body>button b { display:grid; width:22px; height:22px; border-radius:50%; color:#f4f8fb; background:#236fdb; font-size:12px; place-items:center; }

@media (max-width:1100px) {
  .home-news-image { height:250px; }
  .home-news-body { min-height:310px; padding:24px; }
}

@media (max-width:760px) {
  .news-section { padding-bottom:86px; }
  .news-showcase-head { display:block; }
  .news-showcase-head>.home-section-title { padding:76px 0 28px; }
  .news-showcase-head>button { margin:0 0 28px; }
  .home-news-grid { grid-template-columns:1fr; gap:18px; }
  .home-news-image { height:230px; }
  .home-news-body { min-height:270px; padding:24px 22px; }
}

/* Segmented region selector based on the selected pill-control reference. */
.home-lead-section .pill-row {
  display:flex;
  width:min(720px,100%);
  margin:0 0 30px;
  padding:6px;
  overflow:visible;
  border:0;
  border-radius:999px;
  background:#e5ebf1;
  gap:2px;
}
.home-lead-section .pill-row button,
.home-lead-section .pill-row button:first-child {
  flex:1 1 0;
  min-width:76px;
  min-height:46px;
  padding:0 18px;
  border:0;
  border-radius:999px;
  color:#344452;
  background:transparent;
  font-size:15px;
  font-weight:600;
  white-space:nowrap;
  box-shadow:none;
}
.home-lead-section .pill-row button:hover { color:#0c2235; background:rgba(255,255,255,.58); }
.home-lead-section .pill-row button.active,
.home-lead-section .pill-row button.active:hover {
  color:#f4f8fb;
  background:#071f35;
  box-shadow:none;
}

@media (max-width:760px) {
  .home-lead-section .pill-row { width:100%; padding:5px; overflow:visible; }
  .home-lead-section .pill-row button,
  .home-lead-section .pill-row button:first-child { min-width:0; min-height:42px; padding:0 10px; font-size:13px; }
}

/* Unify the homepage card language with a consistent rounded treatment. */
.shortcut-primary button,
.district,
.home-lead-section .building-card:nth-child(n) .card-image,
.office-grid article,
.home-news-card,
.service-grid>div { border-radius:18px; }
.home-lead-section .building-card:nth-child(n) .card-image>img { border-radius:inherit; }
.district-grid,.office-grid { gap:18px; background:transparent; }
.district img,.office-grid article>img { border-radius:inherit; }

@media (max-width:760px) {
  .shortcut-primary button,
  .district,
  .home-lead-section .building-card:nth-child(n) .card-image,
  .office-grid article,
  .home-news-card,
  .service-grid>div { border-radius:14px; }
  .district-grid,.office-grid { gap:12px; }
  .home-lead-section .building-card,
  .home-lead-section .building-card:nth-child(n) { display:block; width:100%; grid-template-columns:none; }
  .home-lead-section .building-card>a,
  .home-lead-section .building-card .card-image,
  .home-lead-section .building-card .card-body { width:100%; min-width:0; }
}

/* Site-wide motion language: hierarchy on entry, feedback on interaction. */
.district,.building-card,.office-grid article,.home-news-card,.service-grid>div,
.shortcut-primary button,.shortcut-services button,.result-list article,.news-card-list article {
  transition:transform .32s var(--ease),box-shadow .32s var(--ease),border-color .25s ease,background-color .25s ease;
}
.district:hover,.building-card:hover,.office-grid article:hover,.home-news-card:hover,
.service-grid>div:hover,.shortcut-primary button:hover,.result-list article:hover,.news-card-list article:hover {
  transform:translateY(-6px);
}
.district img,.building-card img,.office-grid img,.home-news-card img,.result-list article>img,.news-card-list article>img {
  transition:transform .7s var(--ease),filter .5s ease;
}
.district:hover img,.building-card:hover img,.office-grid article:hover img,.home-news-card:hover img,
.result-list article:hover>img,.news-card-list article:hover>img { transform:scale(1.035); }
.card-title-row>span,.featured-heading>button b,.news-showcase-head>button b,
.shortcut-services button i,.home-news-body>button b { transition:transform .28s var(--ease); }
.building-card:hover .card-title-row>span,.featured-heading>button:hover b,
.news-showcase-head>button:hover b,.shortcut-services button:hover i { transform:translate(4px,-4px); }
.home-news-card:hover .home-news-body>button b { transform:translateX(4px); }
button:active { transform:translateY(1px) scale(.985); }

/* Keep reveal transitions after component hover rules so they cannot be overridden. */
.motion-reveal {
  opacity:0;
  transform:translate3d(0,18px,0);
  will-change:opacity,transform;
  transition:
    opacity .88s cubic-bezier(.22,1,.36,1) var(--motion-delay,0ms),
    transform .88s cubic-bezier(.22,1,.36,1) var(--motion-delay,0ms),
    box-shadow .28s var(--ease),
    border-color .28s var(--ease),
    background-color .28s var(--ease);
}
.motion-reveal.is-visible { opacity:1; transform:translate3d(0,0,0); }
.district.motion-reveal,.office-grid article.motion-reveal,.home-news-card.motion-reveal,
.result-list article.motion-reveal,.news-card-list article.motion-reveal { transform:translate3d(0,22px,0) scale(.992); }
.district.motion-reveal.is-visible,.office-grid article.motion-reveal.is-visible,.home-news-card.motion-reveal.is-visible,
.result-list article.motion-reveal.is-visible,.news-card-list article.motion-reveal.is-visible { transform:translate3d(0,0,0) scale(1); }
.motion-settled { will-change:auto; }

@media (prefers-reduced-motion:reduce) {
  html { scroll-behavior:auto; }
  *,*::before,*::after { animation-duration:.01ms!important; animation-iteration-count:1!important; transition-duration:.01ms!important; transition-delay:0ms!important; }
  .motion-reveal,.motion-reveal.is-visible { opacity:1; transform:none; }
}

/* News listing: category tabs and editorial horizontal story cards. */
.news-category-tabs {
  display:grid;
  margin:0 0 34px;
  padding-bottom:24px;
  border-bottom:1px dashed rgba(12,34,53,.28);
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:16px;
}
.news-category-tabs button {
  display:flex;
  min-height:64px;
  border:1px solid rgba(12,34,53,.07);
  border-radius:12px;
  color:#334454;
  background:#f9fbfc;
  box-shadow:0 8px 24px rgba(12,34,53,.045);
  font-size:17px;
  font-weight:600;
  align-items:center;
  justify-content:center;
  gap:10px;
}
.news-category-tabs button i { width:8px; height:8px; border-radius:50%; background:#236fdb; }
.news-category-tabs button.active { color:#f4f8fb; border-color:var(--blue); background:var(--blue); box-shadow:0 12px 28px rgba(52,120,229,.18); }
.news-category-tabs button.active i { background:#f4f8fb; }

.news-page .news-card-list { display:grid; grid-template-columns:1fr; gap:24px; }
.news-page .news-card-list article {
  display:grid;
  min-height:286px;
  padding:24px 24px 24px 28px;
  overflow:hidden;
  border:1px solid rgba(12,34,53,.07);
  border-radius:20px;
  background:#f9fbfc;
  box-shadow:0 12px 34px rgba(12,34,53,.07);
  grid-template-columns:104px minmax(0,1fr) minmax(300px,410px);
  gap:28px;
  align-items:stretch;
}
.news-page .news-card-list article:hover,.news-page .news-card-list article:focus-visible { border-color:rgba(35,111,219,.22); box-shadow:0 22px 50px rgba(12,34,53,.11); }
.news-date-badge {
  display:flex;
  width:88px;
  height:88px;
  margin-top:16px;
  border-radius:14px;
  color:#17283a;
  background:#edf0f1;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  font-variant-numeric:tabular-nums;
}
.news-date-badge span { font-size:11px; line-height:1; }
.news-date-badge b { margin-top:5px; font-size:34px; font-weight:500; line-height:.9; }
.news-page .news-card-list .news-card-copy { display:flex; min-width:0; padding:22px 0 2px; flex-direction:column; align-items:flex-start; }
.news-page .news-card-list h2 { margin:0 0 16px; color:#10253a; font-size:23px; line-height:1.35; letter-spacing:-.02em; text-wrap:balance; }
.news-page .news-card-list p { display:-webkit-box; overflow:hidden; max-width:760px; margin:0; color:#526273; font-size:14px; line-height:1.8; -webkit-box-orient:vertical; -webkit-line-clamp:3; }
.news-page .news-card-list .news-card-copy>span { display:flex; width:100%; margin-top:auto; padding-top:18px; border-top:1px dashed rgba(12,34,53,.28); color:#10253a; font-size:13px; align-items:center; gap:9px; }
.news-page .news-card-list .news-card-copy>span b { display:grid; width:28px; height:24px; border-radius:999px; color:#f4f8fb; background:var(--blue); font-size:13px; place-items:center; transition:transform .25s var(--ease); }
.news-page .news-card-list article:hover .news-card-copy>span b { transform:translateX(4px); }
.news-page .news-card-list article>img { width:100%; height:100%; min-height:238px; border-radius:16px; object-fit:cover; }

@media (max-width:900px) {
  .news-page .news-card-list article { grid-template-columns:88px minmax(0,1fr) 260px; gap:20px; }
  .news-page .news-card-list article>img { min-height:220px; }
}

@media (max-width:760px) {
  .news-category-tabs { display:flex; margin-bottom:22px; padding-bottom:16px; overflow-x:auto; gap:8px; scrollbar-width:none; }
  .news-category-tabs button { flex:0 0 auto; min-width:126px; min-height:48px; padding:0 18px; font-size:14px; }
  .news-page .news-card-list article { display:flex; min-height:0; padding:14px; gap:0; flex-direction:column; }
  .news-page .news-card-list article>img { width:100%; height:210px; min-height:0; border-radius:14px; order:-1; }
  .news-date-badge { width:76px; height:68px; margin:16px 0 0; flex-direction:row; gap:6px; }
  .news-date-badge b { margin:0; font-size:25px; }
  .news-page .news-card-list .news-card-copy { min-height:230px; padding:18px 4px 4px; }
  .news-page .news-card-list h2 { font-size:20px; }
}

/* Recommended listings should support the imagery without becoming a dark visual break. */
.office-section {
  background:#e7ecef;
}
.office-section .home-section-title h2 {
  color:#10253a;
}
.office-section .home-section-title>span {
  color:#667786;
}
.office-grid article {
  border-color:rgba(12,34,53,.08);
  box-shadow:0 16px 38px rgba(12,34,53,.12);
}
.office-grid article:after {
  background:linear-gradient(180deg,transparent 38%,rgba(5,19,32,.76));
}
.office-grid p {
  color:rgba(247,251,255,.78);
}
.office-grid strong {
  color:#a8c9f3;
}

/* Banner option 1: lightweight metadata balances the image without adding another action card. */
.hero-banner-meta {
  position:relative;
  width:132px;
  margin:78px -24px 0 auto;
  padding:8px 20px 8px 0;
  color:#f1f6f8;
  text-shadow:0 3px 18px rgba(0,13,28,.28);
}
.hero-banner-count { display:flex; align-items:baseline; gap:8px; font-variant-numeric:tabular-nums; }
.hero-banner-count strong { font-size:34px; font-weight:500; line-height:1; letter-spacing:-.04em; }
.hero-banner-count span { color:rgba(241,247,251,.48); font-size:14px; }
.hero-banner-progress {
  position:absolute;
  top:8px;
  right:0;
  width:1px;
  height:118px;
  overflow:hidden;
  background:rgba(241,247,251,.28);
}
.hero-banner-progress span { position:absolute; inset:0 0 auto; width:100%; min-height:18px; background:#f1f6f8; transition:height .5s cubic-bezier(.22,1,.36,1); }

/* Recommended offices: up to nine records, grouped responsively with explicit controls. */
.office-heading { display:flex; align-items:flex-end; justify-content:space-between; gap:40px; }
.office-heading>.home-section-title { padding-bottom:42px; }
.office-controls { display:flex; margin-bottom:44px; align-items:center; gap:10px; }
.office-controls button {
  display:grid;
  width:48px;
  height:48px;
  padding:0;
  border:1px solid rgba(12,34,53,.14);
  border-radius:50%;
  color:#10253a;
  background:rgba(249,251,252,.72);
  font-size:22px;
  place-items:center;
  transition:transform .25s var(--ease),border-color .25s ease,background-color .25s ease,opacity .25s ease;
}
.office-controls button:not(:disabled):hover { border-color:rgba(35,111,219,.36); background:#f7fafb; transform:translateY(-2px); }
.office-controls button:disabled { opacity:.32; cursor:not-allowed; }
.office-controls span { min-width:42px; color:#667786; font-size:12px; font-variant-numeric:tabular-nums; text-align:center; }
.office-carousel { overflow:hidden; touch-action:pan-y; }
.office-track { display:flex; width:100%; transition:transform .68s cubic-bezier(.22,1,.36,1); }
.office-carousel .office-slide {
  display:grid;
  min-width:100%;
  width:100%;
  padding:0;
  overflow:visible;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:18px;
}

@media (max-width:1100px) {
  .hero-banner-meta { display:none; }
  .office-carousel .office-slide { grid-template-columns:repeat(2,minmax(0,1fr)); }
}

@media (max-width:760px) {
  .hero-banner-meta { display:none; }
  .office-heading { display:block; }
  .office-heading>.home-section-title { padding-bottom:24px; }
  .office-controls { margin:0 0 24px; justify-content:flex-end; }
  .office-controls button { width:44px; height:44px; }
  .office-carousel .office-slide { display:grid; min-width:100%; grid-template-columns:1fr; gap:0; }
}

@media (prefers-reduced-motion:reduce) {
  .office-track { transition:none; }
}

/* Quiet service section: one continuous panel replaces four heavy dark cards. */
.service-section {
  background:#f2f5f6;
}
.service-section .home-section-title h2 {
  color:#10253a;
}
.service-section .home-section-title>span {
  color:#667786;
}
.service-grid {
  overflow:hidden;
  gap:0;
  border:1px solid rgba(12,34,53,.08);
  border-radius:22px;
  background:#f8fafb;
  box-shadow:0 18px 46px rgba(12,34,53,.065);
}
.service-grid>div {
  min-height:228px;
  padding:38px 34px 34px;
  border:0;
  border-left:1px solid rgba(12,34,53,.08);
  border-radius:0;
  color:#10253a;
  background:transparent;
  box-shadow:none;
}
.service-grid>div:first-child {
  border-left:0;
}
.service-grid>div:hover {
  border-color:rgba(12,34,53,.08);
  background:#f4f8fa;
  box-shadow:none;
  transform:translateY(-3px);
}
.service-grid .service-icon {
  display:grid;
  width:52px;
  height:52px;
  margin-bottom:34px;
  padding:7px;
  border:1px solid rgba(35,111,219,.1);
  border-radius:12px;
  background:#edf4fa;
  color:var(--blue);
  place-items:center;
}
.service-grid .service-icon svg { width:25px; height:25px; }
.service-grid b {
  top:36px;
  right:32px;
  color:#94a5b4;
  font-size:13px;
  font-weight:600;
  letter-spacing:.08em;
}
.service-grid h3 {
  margin:0 0 10px;
  color:#10253a;
  font-size:20px;
  letter-spacing:-.015em;
}
.service-grid p {
  margin:0;
  color:#71808d;
  font-size:14px;
}

@media (max-width:760px) {
  .service-grid { grid-template-columns:1fr 1fr; }
  .service-grid>div { min-height:188px; padding:28px 22px; border-left:1px solid rgba(12,34,53,.08); border-top:1px solid rgba(12,34,53,.08); }
  .service-grid>div:nth-child(-n+2) { border-top:0; }
  .service-grid>div:nth-child(odd) { border-left:0; }
  .service-grid .service-icon { width:44px; height:44px; margin-bottom:24px; }
  .service-grid .service-icon svg { width:21px; height:21px; }
  .service-grid b { top:26px; right:20px; }
}

/* Persistent compact navigation: never hide, always sit above page modules. */
.home-hero {
  isolation:auto;
}
.banner-slides,
.hero-background {
  z-index:0;
}
.site-header {
  position:fixed;
  inset:0 0 auto;
  z-index:10000;
  isolation:isolate;
  transform:none;
  transition:height .3s cubic-bezier(.22,1,.36,1),background-color .25s ease,border-color .25s ease,box-shadow .25s ease,backdrop-filter .25s ease;
}
.site-header .brand img {
  transform-origin:left center;
  transition:width .34s cubic-bezier(.22,1,.36,1),height .34s cubic-bezier(.22,1,.36,1),padding .34s cubic-bezier(.22,1,.36,1),border-color .25s ease,background-color .25s ease,box-shadow .3s ease;
}
.site-header .main-nav button {
  transition:height .3s cubic-bezier(.22,1,.36,1),padding .3s cubic-bezier(.22,1,.36,1),font-size .3s cubic-bezier(.22,1,.36,1),color .25s ease,background-color .25s ease,transform .25s ease;
}
.site-header .header-actions {
  transition:gap .3s cubic-bezier(.22,1,.36,1);
}
.site-header .header-consult {
  transition:min-width .3s cubic-bezier(.22,1,.36,1),height .3s cubic-bezier(.22,1,.36,1),padding .3s cubic-bezier(.22,1,.36,1),font-size .3s cubic-bezier(.22,1,.36,1),color .25s ease,background-color .25s ease,box-shadow .25s ease,transform .25s ease;
}
.site-header .header-phone {
  transition:padding .3s cubic-bezier(.22,1,.36,1),color .25s ease,border-color .25s ease;
}
.site-header .header-phone strong {
  transition:font-size .3s cubic-bezier(.22,1,.36,1),color .25s ease;
}
.site-header.scrolled {
  height:68px;
  background:rgba(249,252,253,.96);
  border-color:rgba(12,34,53,.09);
  box-shadow:0 10px 30px rgba(12,34,53,.11);
  backdrop-filter:blur(18px) saturate(135%);
}
.site-header.scrolled .brand img {
  width:82px;
  height:54px;
  padding:3px 8px;
  box-shadow:0 5px 18px rgba(22,49,86,.075);
}
.site-header.scrolled .main-nav button {
  height:38px;
  padding-right:20px;
  padding-left:20px;
  font-size:15px;
}
.site-header.scrolled .header-actions {
  gap:20px;
}
.site-header.scrolled .header-consult {
  min-width:106px;
  height:38px;
  padding:0 19px;
  font-size:14px;
}
.site-header.scrolled .header-phone {
  padding-left:20px;
}
.site-header.scrolled .header-phone strong {
  font-size:18px;
}

/* Unified rounded card surfaces for property and factory detail pages. */
.detail-page .detail-hero {
  overflow:hidden;
  border:1px solid rgba(29,55,91,.08);
  border-radius:18px;
  box-shadow:0 14px 36px rgba(34,69,117,.07);
}
.detail-page .gallery-main {
  border-radius:14px;
}
.detail-page .gallery button,
.detail-page .gallery button img {
  overflow:hidden;
  border-radius:8px;
}
.detail-page .anchor-nav,
.detail-page .panel,
.detail-page .side-form {
  border:1px solid rgba(29,55,91,.08);
  border-radius:16px;
  box-shadow:0 10px 28px rgba(34,69,117,.055);
}
.detail-page .anchor-nav {
  overflow-x:auto;
  overflow-y:hidden;
}

@media (max-width:760px) {
  .site-header.scrolled { height:56px; }
  .site-header.scrolled .brand img { width:68px; height:46px; }
  .site-header.scrolled .main-nav { top:56px; }
}

/* Global quick-contact rail. */
.contact-rail {
  position:fixed;
  z-index:9000;
  top:50%;
  right:18px;
  display:flex;
  width:72px;
  padding:12px 0 10px;
  border:1px solid rgba(12,34,53,.08);
  border-radius:36px;
  background:rgba(251,253,255,.96);
  box-shadow:0 18px 44px rgba(12,34,53,.13);
  transform:translateY(-50%);
  flex-direction:column;
}
.contact-rail-item {
  position:relative;
  display:flex;
  width:100%;
  min-height:70px;
  margin:0;
  padding:10px 6px;
  border-radius:24px;
  color:#273441;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:7px;
  text-decoration:none;
}
.contact-rail-item svg { width:22px; height:22px; }
.contact-rail-item .rail-icon { transition:filter .22s ease; }
.contact-rail-item:hover .rail-icon,.contact-rail-item.active .rail-icon { filter:brightness(0) invert(1); }
.contact-rail-item span { font-size:13px; line-height:1; }
.contact-rail-item:hover,.contact-rail-item.active { color:#f4f8fb; background:#173b5d; transform:none; }
.contact-back-top {
  border-top:1px solid rgba(12,34,53,.08);
  border-radius:0 0 30px 30px;
  animation:contact-item-in .3s var(--ease) both;
}
@keyframes contact-item-in {
  from { opacity:0; transform:translateY(8px); }
  to { opacity:1; transform:translateY(0); }
}
.contact-rail-item em {
  position:absolute;
  top:50%;
  right:82px;
  width:max-content;
  padding:9px 12px;
  border-radius:8px;
  color:#f4f8fb;
  background:#173b5d;
  box-shadow:0 10px 26px rgba(12,34,53,.16);
  font-size:13px;
  font-style:normal;
  opacity:0;
  pointer-events:none;
  transform:translate(8px,-50%);
  transition:opacity .22s ease,transform .22s var(--ease);
}
.contact-rail-item:hover em { opacity:1; transform:translate(0,-50%); }
.contact-wechat-card {
  position:absolute;
  right:84px;
  top:58px;
  display:flex;
  width:196px;
  padding:16px;
  border:1px solid rgba(12,34,53,.08);
  border-radius:16px;
  color:#10253a;
  background:#f8fafb;
  box-shadow:0 20px 50px rgba(12,34,53,.16);
  flex-direction:column;
  align-items:center;
  text-align:center;
}
.contact-wechat-card img { width:132px; height:132px; border-radius:10px; object-fit:cover; }
.contact-wechat-card strong { margin-top:12px; font-size:15px; }
.contact-wechat-card span { margin-top:5px; color:#71808d; font-size:12px; }
.quick-contact-modal { z-index:12000; overflow-y:auto; }
.quick-contact-modal>div,.quick-contact-modal>.dialog-card,.quick-contact-modal>form.dialog-card {
  width:min(440px,100%);
  max-height:calc(100dvh - 40px);
  padding:34px 36px 32px;
  overflow-y:auto;
  border:1px solid rgba(29,55,91,.1);
  border-radius:20px;
  background:var(--surface);
  box-shadow:0 28px 80px rgba(7,25,47,.28);
  text-align:left;
  overscroll-behavior:contain;
}
.quick-contact-modal .dialog-close {
  position:absolute;
  top:16px;
  right:16px;
  display:grid;
  width:44px;
  height:44px;
  padding:0;
  border:1px solid rgba(29,55,91,.1);
  border-radius:50%;
  color:#536579;
  background:#f2f6f8;
  font-size:22px;
  line-height:1;
  transition:color .2s ease,background .2s ease,border-color .2s ease;
  place-items:center;
}
.quick-contact-modal .dialog-close:hover { border-color:rgba(11,79,134,.22); color:var(--blue); background:#eaf2f7; }
.quick-contact-modal .dialog-close:focus-visible { outline:3px solid rgba(52,120,229,.2); outline-offset:2px; }
.quick-contact-modal h2 { margin:0; padding-right:52px; color:#10253a; font-size:27px; line-height:1.15; letter-spacing:-.02em; }
.quick-contact-modal>div>p,.quick-contact-modal>.dialog-card>p { margin:10px 0 22px; color:#71808d; font-size:14px; line-height:1.65; }
.quick-contact-modal .primary-btn { margin-top:18px; }
.header-wechat-modal { z-index:14000; color:var(--deep); }
.header-wechat-modal>div {
  width:min(390px,100%);
  padding:34px 34px 30px;
  border:1px solid rgba(29,55,91,.1);
  border-radius:20px;
  background:var(--surface);
  box-shadow:0 28px 80px rgba(7,25,47,.28);
  text-align:center;
}
.header-wechat-icon {
  display:grid;
  width:48px;
  height:48px;
  margin:0 auto 16px;
  border-radius:14px;
  color:var(--blue);
  background:var(--blue-soft);
  place-items:center;
}
.header-wechat-icon svg { width:24px; height:24px; }
.header-wechat-modal h2 { margin:0; color:var(--deep); font-size:23px; }
.header-wechat-modal p { margin:10px 0 20px; color:var(--muted); font-size:14px; line-height:1.7; }
.header-wechat-qr { width:180px; height:180px; margin:0 auto; border:8px solid #fff; border-radius:14px; box-shadow:0 10px 30px rgba(34,69,117,.12); object-fit:cover; }
.header-wechat-phone { display:block; margin-top:18px; color:#33475d; font-size:14px; }

.lead-page { min-height:700px; padding:0 0 96px; background:var(--canvas); }
.lead-layout { display:grid; grid-template-columns:minmax(0,1fr) 460px; gap:56px; align-items:start; padding:48px 0; }
.lead-intro { padding:44px 0; }
.lead-intro .eyebrow { color:var(--blue); font-size:13px; font-weight:700; letter-spacing:.16em; }
.lead-intro h1 { margin:18px 0 20px; color:var(--deep); font-size:clamp(36px,5vw,64px); line-height:1.12; }
.lead-intro>p { max-width:580px; color:var(--muted); font-size:18px; line-height:1.9; }
.lead-benefits { display:grid; grid-template-columns:repeat(3,1fr); gap:16px; margin-top:48px; }
.lead-benefits div { padding:20px; border:1px solid var(--line); border-radius:14px; background:#fff; }
.lead-benefits strong { display:block; color:var(--blue); font-size:26px; }
.lead-benefits span { display:block; margin-top:12px; color:var(--deep); font-weight:600; }
.lead-page-form { padding:34px; border:1px solid rgba(29,55,91,.1); border-radius:18px; background:#fff; box-shadow:0 18px 50px rgba(34,69,117,.1); }
.lead-page-form h2 { margin:0; color:var(--deep); font-size:26px; }
.lead-page-form>p { color:var(--muted); line-height:1.7; }
.lead-form textarea { width:100%; padding:12px; border:1px solid rgba(29,55,91,.16); outline:0; background:var(--surface); resize:vertical; }
.lead-form textarea:focus { border-color:var(--blue); box-shadow:0 0 0 3px rgba(52,120,229,.13); }
.lead-form .primary-button { width:100%; min-height:48px; margin-top:14px; color:#fff; background:var(--blue); }
.quick-contact-modal .lead-form label { display:block; margin-top:14px; }
.quick-contact-modal .lead-form label>span:first-child { display:block; margin-bottom:7px; color:#46556b; font-size:13px; font-weight:600; }
.quick-contact-modal .lead-form label>span:first-child em { margin-left:3px; color:#b94741; font-size:11px; font-style:normal; font-weight:600; }
.quick-contact-modal .lead-form input:not([type="checkbox"]):not([type="hidden"]) {
  display:block;
  width:100%;
  min-width:0;
  height:46px;
  padding:0 13px;
  border:1px solid rgba(29,55,91,.16);
  border-radius:10px;
  outline:0;
  color:#20364c;
  background:#f7f9fb;
  font:inherit;
  transition:border-color .2s ease,box-shadow .2s ease,background .2s ease;
}
.quick-contact-modal .lead-form input:not([type="checkbox"]):not([type="hidden"])::placeholder { color:#8997a7; }
.quick-contact-modal .lead-form input:not([type="checkbox"]):not([type="hidden"]):hover { border-color:rgba(11,79,134,.34); background:#fbfcfd; }
.quick-contact-modal .lead-form input:not([type="checkbox"]):not([type="hidden"]):focus { border-color:var(--blue); background:var(--surface); box-shadow:0 0 0 3px rgba(52,120,229,.13); }
.quick-contact-modal .lead-form .consent { display:flex; min-height:44px; gap:9px; align-items:center; color:#66758b; font-size:12px; line-height:1.5; cursor:pointer; }
.quick-contact-modal .lead-form .consent input { flex:0 0 auto; width:16px; height:16px; margin:0; accent-color:var(--blue); }
.captcha-field { display:grid; grid-template-columns:minmax(0,1fr) 112px; gap:8px; align-items:center; }
.captcha-field img { width:112px; height:46px; border:1px solid #dfe4eb; border-radius:8px; object-fit:cover; cursor:pointer; }
.quick-contact-modal .lead-form .primary-button { min-height:50px; margin-top:12px; border-radius:10px; font-size:15px; font-weight:700; }
.lead-form .success { padding:10px 12px; border-radius:8px; color:#197a49; background:#edf9f2; }
.lead-form .error { padding:10px 12px; border-radius:8px; color:#a63834; background:#fff2f1; }

@media (max-width:760px) {
  .quick-contact-modal { padding:12px; }
  .quick-contact-modal>div,.quick-contact-modal>.dialog-card,.quick-contact-modal>form.dialog-card { max-height:calc(100dvh - 24px); padding:28px 20px 24px; border-radius:18px; }
  .quick-contact-modal .dialog-close { top:10px; right:10px; width:44px; height:44px; }
  .quick-contact-modal h2 { padding-right:42px; font-size:25px; }
  .quick-contact-modal>div>p,.quick-contact-modal>.dialog-card>p { margin-bottom:18px; }
  .quick-contact-modal .lead-form label { margin-top:12px; }
  .quick-contact-modal .captcha-field { grid-template-columns:minmax(0,1fr) 104px; }
  .quick-contact-modal .captcha-field img { width:104px; }
  .lead-layout { grid-template-columns:1fr; gap:20px; padding:26px 0 72px; }
  .lead-intro { padding:10px 0; }
  .lead-intro>p { font-size:16px; }
  .lead-benefits { gap:8px; margin-top:28px; }
  .lead-benefits div { padding:13px; }
  .lead-benefits strong { font-size:20px; }
  .lead-benefits span { margin-top:7px; font-size:12px; }
  .lead-page-form { padding:22px 18px; }
}

@media (max-width:760px) {
  .contact-rail {
    top:auto;
    right:14px;
    bottom:14px;
    left:14px;
    width:auto;
    padding:5px 8px;
    border-radius:18px;
    transform:none;
    flex-direction:row;
    justify-content:space-around;
  }
  .contact-rail-item { width:auto; min-height:52px; padding:6px; border-radius:13px; gap:4px; flex:1; }
  .contact-back-top { border-top:0; border-left:1px solid rgba(12,34,53,.08); }
  .contact-rail-item svg { width:18px; height:18px; }
  .contact-rail-item span { font-size:11px; }
  .contact-rail-item em { display:none; }
  .contact-wechat-card { right:0; top:auto; bottom:68px; }
  .site-footer { padding-bottom:82px; }
}

/* Homepage featured regions are an in-page switch, not navigation links. */
.home-lead-section .building-card[hidden],
.home-lead-section .building-empty[hidden] { display:none!important; }
.home-lead-section .building-grid.is-filtered .building-card:not([hidden]) { grid-column:span 6; padding-top:0; }
.home-lead-section .building-grid.is-filtered .building-card:not([hidden]) .card-image { height:340px; }
.home-lead-section .building-grid.is-filtered[data-visible-count="1"] .building-card:not([hidden]) { grid-column:span 12; }
@media (max-width:1100px) {
  .home-lead-section .building-grid.is-filtered .building-card:not([hidden]),
  .home-lead-section .building-grid.is-filtered[data-visible-count="1"] .building-card:not([hidden]) { grid-column:auto; }
  .home-lead-section .building-grid.is-filtered .building-card:not([hidden]) .card-image { height:300px; }
}
@media (max-width:760px) {
  .home-lead-section .building-grid.is-filtered .building-card:not([hidden]) .card-image { height:240px; }
}

/* Xicheng Zhaoshang brand system: navy, silver and tinted white. */
body::before {
  content:"";
  position:fixed;
  inset:0;
  z-index:20000;
  pointer-events:none;
  opacity:.018;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.8' numOctaves='3'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
}

.header-inner { grid-template-columns:minmax(230px,1fr) auto minmax(205px,1fr); }
.brand { min-width:220px; gap:6px; }
.brand img { width:64px; height:58px; padding:0; border:0; border-radius:0; background:transparent; box-shadow:none; filter:drop-shadow(0 4px 8px rgba(4,25,44,.14)); }
.brand .brand-copy {
  display:flex;
  min-width:0;
  padding-left:0;
  border-left:0;
  flex-direction:column;
  justify-content:center;
}
.brand-copy strong { color:inherit; font-size:18px; line-height:1.15; letter-spacing:.02em; white-space:nowrap; }
.brand-copy small { margin-top:5px; color:inherit; font-size:10px; letter-spacing:.12em; opacity:.72; white-space:nowrap; }
.home-hero .brand-copy { color:#f2f7fa; border-color:rgba(242,247,250,.32); }
.home-hero .site-header.scrolled .brand-copy { color:var(--deep); border-color:var(--line); }
.site-header.scrolled .brand img { width:58px; height:50px; padding:0; border:0; border-radius:0; background:transparent; box-shadow:none; filter:drop-shadow(0 3px 7px rgba(4,25,44,.12)); }
.home-hero .site-header:not(.scrolled) .brand img { filter:drop-shadow(0 0 1px rgba(255,255,255,.72)) drop-shadow(0 6px 14px rgba(1,15,28,.28)); }
.site-header.scrolled .brand-copy strong { font-size:17px; }
.site-header .main-nav a { padding-right:18px; padding-left:18px; }

.service-section-heading { display:flex; align-items:flex-end; justify-content:space-between; gap:36px; }
.service-section-heading .section-link { flex:none; }
.customer-service-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
.customer-service-grid article {
  min-height:276px;
  padding:38px 34px 34px;
  border-left:1px solid rgba(12,34,53,.08);
  color:var(--deep);
  background:transparent;
  transition:transform .28s var(--ease),background-color .28s ease;
}
.customer-service-grid article:first-child { border-left:0; }
.customer-service-grid article:hover { background:#f2f6f8; transform:translateY(-3px); }
.customer-service-grid article h3 { margin:0 0 13px; color:var(--deep); font-size:22px; letter-spacing:-.02em; }
.customer-service-grid article p { margin:0; color:var(--muted); font-size:14px; line-height:1.85; }
.customer-service-grid article .service-icon { margin-bottom:28px; }

.home-about-section { overflow:hidden; color:#eef4f7; background:#0b2d4a; }
.home-about-layout { display:grid; min-height:560px; grid-template-columns:minmax(340px,.85fr) minmax(0,1.15fr); align-items:stretch; }
.home-about-mark {
  position:relative;
  display:flex;
  padding:72px;
  overflow:hidden;
  border-right:1px solid rgba(238,244,247,.1);
  background:radial-gradient(circle at 38% 32%,rgba(88,139,178,.24),transparent 62%);
  flex-direction:column;
  align-items:center;
  justify-content:center;
}
.home-about-mark::before { content:""; position:absolute; inset:28px; border:1px solid rgba(238,244,247,.1); border-radius:50%; }
.home-about-mark img { position:relative; width:min(310px,82%); filter:drop-shadow(0 28px 34px rgba(1,15,28,.25)); }
.home-about-mark span { position:relative; margin-top:22px; color:#edf4f7; font-size:22px; font-weight:700; letter-spacing:.16em; }
.home-about-copy { max-width:720px; padding:100px 36px 100px 92px; align-self:center; }
.home-about-copy h2 { max-width:620px; margin:0 0 30px; font-size:clamp(34px,4vw,58px); line-height:.98; letter-spacing:-.04em; text-wrap:balance; }
.home-about-copy p { max-width:680px; margin:0 0 18px; color:rgba(238,244,247,.72); font-size:16px; line-height:2; text-wrap:pretty; }
.primary-link { display:inline-flex; min-height:48px; margin-top:20px; padding:0 22px; border:1px solid rgba(238,244,247,.24); border-radius:999px; align-items:center; gap:18px; color:#eef4f7; font-weight:700; }
.primary-link:hover { color:#0b2d4a; background:#eef4f7; }

.footer-grid { grid-template-columns:1.2fr .65fr .8fr .9fr; gap:54px; }
.footer-brand>a { display:flex!important; width:auto!important; min-height:76px!important; margin:0 0 18px!important; align-items:center; gap:14px; line-height:1!important; }
.footer-grid .footer-brand>a img { width:76px; height:76px; padding:6px; object-fit:contain; }
.footer-brand>a span { display:flex; min-width:0; flex-direction:column; }
.footer-brand>a strong { color:#eef4f7; font-size:21px; letter-spacing:.04em; }
.footer-brand>a small { max-width:220px; margin-top:8px; color:#8fa1b2; font-size:11px; line-height:1.5; }
.footer-brand>p { max-width:330px; color:#8fa1b2; font-size:13px; }
.footer-consult-card { padding:24px; border:1px solid rgba(238,244,247,.1); border-radius:16px; background:rgba(238,244,247,.045); }
.footer-consult-card>span,.footer-consult-card>small { display:block; color:#8497a9; font-size:12px; }
.footer-consult-card>a { min-height:auto!important; margin:8px 0!important; color:#eef4f7!important; font-size:21px; line-height:1.25!important; font-variant-numeric:tabular-nums; }
.footer-consult-card>button { width:100%!important; min-height:42px!important; margin:20px 0 0!important; border-radius:999px; color:#0b2d4a!important; background:#eef4f7; font-weight:700; line-height:42px!important; }
.footer-consult-card>button:hover { color:#eef4f7!important; background:var(--blue); }

.brand-content-page { background:var(--surface); }
.brand-page-hero { position:relative; min-height:570px; overflow:hidden; color:#edf4f7; background:#0b2d4a url('/static/wuxi/assets/wuxi-banner-city-sunset-03.png') center 52%/cover no-repeat; }
.brand-page-hero::before { content:""; position:absolute; inset:0; background:linear-gradient(90deg,rgba(5,24,41,.92),rgba(5,24,41,.72) 54%,rgba(5,24,41,.42)),radial-gradient(circle at 76% 40%,rgba(87,137,173,.22),transparent 48%); }
.brand-page-hero-inner { position:relative; display:grid; min-height:570px; padding-top:66px; padding-bottom:66px; grid-template-columns:minmax(0,1.25fr) minmax(320px,.75fr); align-items:center; gap:70px; }
.brand-page-hero-copy>span,.contact-page-head span { color:#afc3d2; font-size:12px; font-weight:700; letter-spacing:.18em; }
.brand-page-hero-copy h1 { max-width:800px; margin:20px 0 24px; font-size:clamp(44px,5.8vw,82px); font-weight:800; line-height:.94; letter-spacing:-.045em; text-wrap:balance; }
.brand-page-hero-copy p { max-width:650px; margin:0; color:rgba(237,244,247,.76); font-size:18px; line-height:1.8; }
.brand-page-hero-mark { display:flex; min-height:0; padding:0; align-items:center; justify-content:center; }
.brand-page-hero-mark img { width:min(300px,78%); height:auto; padding:0; border:0; border-radius:0; background:transparent; box-shadow:none; filter:drop-shadow(0 22px 30px rgba(1,15,28,.26)); object-fit:contain; }
.about-page {
  --about-mist:#eef3f5; /* Mist (#eef3f5) — primary light field with a cool architectural tint. */
  --about-paper:#f8fafb; /* Paper (#f8fafb) — raised editorial field, never pure white. */
  --about-ink:#102c43; /* Ink (#102c43) — primary copy and headings. */
  --about-navy:#08263e; /* Night Navy (#08263e) — blueprint and contact field. */
  --about-accent:#0b4f86; /* Wuxi Blue (#0b4f86) — the single page accent. */
  --about-rule:rgba(16,44,67,.14); /* Steel Rule — structural hairlines only. */
  overflow-x:clip;
  background:var(--about-mist);
}
.about-page .about-hero { min-height:650px; background-position:center 48%; }
.about-page .about-hero::before { z-index:0; background:linear-gradient(90deg,rgba(4,23,39,.94),rgba(4,23,39,.76) 54%,rgba(4,23,39,.48)),radial-gradient(circle at 78% 40%,rgba(114,154,181,.18),transparent 46%); }
.about-page .about-hero::after { content:""; position:absolute; z-index:1; inset:0; background-image:linear-gradient(rgba(224,237,244,.12) 1px,transparent 1px),linear-gradient(90deg,rgba(224,237,244,.12) 1px,transparent 1px); background-size:74px 74px; mask-image:linear-gradient(90deg,transparent 38%,rgba(0,0,0,.92)); pointer-events:none; }
.about-page .brand-page-hero-inner { z-index:2; min-height:650px; padding-top:86px; padding-bottom:86px; grid-template-columns:minmax(0,1fr) minmax(280px,.54fr); gap:84px; }
.about-page .brand-page-hero-copy h1 { max-width:720px; font-size:clamp(48px,5vw,70px); line-height:.94; }
.about-page .brand-page-hero-copy p { max-width:600px; }
.about-page .brand-page-hero-mark { padding-left:32px; align-self:end; justify-content:flex-start; }
.about-page .brand-page-hero-mark img { width:min(270px,72%); transform:translateY(12px); }
.about-hero-line { display:block; overflow:hidden; }
.about-hero-line>span { display:block; }

.about-story { position:relative; padding:132px 0 142px; overflow:hidden; background:var(--about-mist); }
.about-story::after { content:"2020"; position:absolute; right:max(24px,calc((100vw - 1400px)/2)); bottom:-28px; color:rgba(11,79,134,.045); font-size:clamp(120px,14vw,230px); font-weight:800; line-height:1; letter-spacing:-.08em; pointer-events:none; }
.about-story-grid { position:relative; z-index:1; display:grid; grid-template-columns:repeat(12,minmax(0,1fr)); align-items:start; gap:38px 34px; }
.about-story-visual { position:relative; min-height:660px; margin:0; overflow:hidden; grid-column:1/8; grid-row:1/3; background:#dbe5e9; clip-path:polygon(0 0,100% 0,100% calc(100% - 58px),calc(100% - 58px) 100%,0 100%); }
.about-story-visual img { width:100%; height:100%; min-height:660px; object-fit:cover; object-position:center; filter:saturate(.78) contrast(1.05); transition:transform .8s var(--ease),filter .8s var(--ease); }
.about-story-visual:hover img { transform:scale(1.025); filter:saturate(.96) contrast(1.03); }
.about-story-visual figcaption,.about-services-visual figcaption { position:absolute; left:0; bottom:0; min-width:210px; padding:15px 20px; color:#eaf2f5; background:rgba(8,38,62,.94); font-size:12px; letter-spacing:.08em; }
.about-story-copy { padding:42px 4px 0 44px; grid-column:8/13; }
.about-story h2,.about-section-heading h2 { margin:0; color:var(--about-ink); font-size:clamp(32px,3.5vw,50px); font-weight:800; line-height:.96; letter-spacing:-.04em; text-wrap:balance; }
.about-story-copy p { max-width:620px; margin:34px 0 0; color:#566c7d; font-size:18px; line-height:2.05; text-wrap:pretty; }
.about-facts { margin:8px 0 0 44px; border-top:1px solid var(--about-rule); grid-column:8/13; }
.about-facts>div { display:grid; min-height:96px; padding:22px 2px; border-bottom:1px solid var(--about-rule); grid-template-columns:168px 1fr; align-items:center; gap:20px; }
.about-facts dt { color:var(--about-accent); font-size:24px; font-weight:800; letter-spacing:-.025em; }
.about-facts dd { margin:0; color:#667988; font-size:14px; }

.about-audience { padding:0 0 132px; background:var(--about-mist); }
.about-audience-layout { display:grid; padding-top:88px; border-top:1px solid var(--about-rule); grid-template-columns:minmax(260px,.72fr) minmax(0,1.28fr); align-items:start; gap:112px; }
.about-section-heading { max-width:540px; margin:0; }
.about-section-heading p { max-width:520px; margin:24px 0 0; color:#607585; font-size:16px; line-height:1.9; text-wrap:pretty; }
.about-audience-list { border-top:1px solid var(--about-rule); }
.about-audience-list article { display:grid; min-height:122px; padding:30px 0; border-bottom:1px solid var(--about-rule); grid-template-columns:minmax(190px,.62fr) minmax(0,1.38fr); align-items:start; gap:44px; }
.about-audience-list h3 { margin:0; color:var(--about-ink); font-size:23px; line-height:1.25; letter-spacing:-.02em; }
.about-audience-list p { max-width:520px; margin:0; color:#617584; font-size:15px; line-height:1.9; text-wrap:pretty; }

.about-services { padding:132px 0 142px; border-top:1px solid rgba(16,44,67,.08); background:var(--about-paper); }
.about-services-layout { display:grid; grid-template-columns:minmax(360px,.78fr) minmax(0,1.22fr); align-items:start; gap:112px; }
.about-services-intro { position:sticky; top:104px; }
.about-services-heading { margin-bottom:0; }
.about-services-visual { position:relative; height:500px; margin:48px 0 0; overflow:hidden; background:#dbe5e9; clip-path:polygon(0 0,100% 0,100% 100%,58px 100%,0 calc(100% - 58px)); }
.about-services-visual img { width:100%; height:100%; object-fit:cover; object-position:center; filter:saturate(.72) contrast(1.06); transition:transform .8s var(--ease),filter .8s var(--ease); }
.about-services-visual:hover img { transform:scale(1.025); filter:saturate(.94) contrast(1.03); }
.about-services-content { padding-top:18px; }
.about-service-list { border-top:1px solid var(--about-rule); }
.about-service-list article { min-height:0; padding:42px 0 50px; border-bottom:1px solid var(--about-rule); }
.about-service-list article:nth-child(2) { margin-left:52px; }
.about-service-list h3 { margin:0; color:var(--about-ink); font-size:clamp(28px,2.5vw,38px); line-height:1.15; letter-spacing:-.035em; }
.about-service-list article>p { max-width:720px; margin:22px 0 0; color:#5f7382; font-size:16px; line-height:2; text-wrap:pretty; }
.about-services-link { display:inline-flex; min-height:44px; margin-top:34px; padding:0 0 5px; border-bottom:1px solid rgba(11,79,134,.42); align-items:center; gap:18px; color:var(--about-accent); font-weight:700; }
.about-services-link:hover { color:var(--about-ink); border-color:var(--about-ink); }
.about-services-link b { font-size:18px; }

.about-pathways { position:relative; overflow:hidden; padding:122px 0 128px; color:#eaf2f5; background-color:var(--about-navy); background-image:linear-gradient(rgba(218,233,241,.055) 1px,transparent 1px),linear-gradient(90deg,rgba(218,233,241,.055) 1px,transparent 1px); background-size:64px 64px; }
.about-pathways::before { content:""; position:absolute; inset:0; background:linear-gradient(90deg,rgba(8,38,62,.98),rgba(8,38,62,.72) 48%,rgba(8,38,62,.92)); pointer-events:none; }
.about-pathways>.container { position:relative; }
.about-pathways-heading { max-width:720px; margin-bottom:64px; }
.about-pathways-heading h2 { margin:0; color:#eaf2f5; font-size:clamp(36px,3.8vw,52px); line-height:.98; letter-spacing:-.04em; }
.about-pathways-heading p { max-width:620px; margin:24px 0 0; color:rgba(234,242,245,.68); font-size:16px; line-height:1.9; }
.about-pathway-grid { border-top:1px solid rgba(234,242,245,.18); }
.about-pathway-grid article { display:grid; min-height:144px; padding:36px 0; border-bottom:1px solid rgba(234,242,245,.18); grid-template-columns:260px minmax(0,1fr); align-items:start; gap:54px; }
.about-pathway-grid h3 { margin:0; color:#eaf2f5; font-size:23px; line-height:1.3; letter-spacing:-.02em; }
.about-pathway-grid ol { display:grid; margin:0; padding:0; list-style:none; grid-template-columns:repeat(4,minmax(0,1fr)); }
.about-pathway-grid li { position:relative; min-height:70px; padding:24px 24px 0 29px; color:rgba(234,242,245,.78); font-size:14px; line-height:1.55; }
.about-pathway-grid li::before { content:""; position:absolute; top:1px; left:0; width:9px; height:9px; border:2px solid #aac1cf; border-radius:50%; background:var(--about-navy); }
.about-pathway-grid li:not(:last-child)::after { content:""; position:absolute; top:6px; left:14px; right:5px; height:1px; background:rgba(234,242,245,.24); }

.brand-values { padding:128px 0 136px; background:var(--about-mist); }
.brand-values-heading { max-width:940px; }
.brand-values-heading h2 { margin:0; color:var(--about-ink); font-size:clamp(44px,5.4vw,76px); font-weight:800; line-height:.94; letter-spacing:-.05em; text-wrap:balance; }
.brand-values-heading p { max-width:800px; margin:30px 0 0; color:#5c7181; font-size:17px; line-height:1.95; text-wrap:pretty; }
.brand-value-list { display:flex; margin:72px 0 0; padding:34px 0; border-top:1px solid var(--about-rule); border-bottom:1px solid var(--about-rule); align-items:center; justify-content:space-between; list-style:none; }
.brand-value-list li { display:flex; align-items:center; color:var(--about-accent); font-size:clamp(30px,3.5vw,50px); font-weight:800; letter-spacing:.08em; white-space:nowrap; }
.brand-value-list li:not(:last-child)::after { content:""; width:clamp(54px,8vw,132px); height:1px; margin-left:clamp(24px,4vw,64px); background:rgba(11,79,134,.24); }

.about-contact-band { padding:84px 0; color:#eaf2f5; background:var(--about-navy); }
.about-contact-grid { display:grid; grid-template-columns:minmax(340px,1fr) minmax(350px,.85fr) auto; align-items:center; gap:64px; }
.about-contact-intro h2 { margin:0; color:#eaf2f5; font-size:clamp(34px,3.2vw,46px); line-height:1; letter-spacing:-.035em; }
.about-contact-intro p { max-width:560px; margin:18px 0 0; color:rgba(234,242,245,.66); line-height:1.8; }
.about-contact-details { margin:0; border-top:1px solid rgba(234,242,245,.16); }
.about-contact-details>div { display:grid; min-height:66px; padding:16px 0; border-bottom:1px solid rgba(234,242,245,.16); grid-template-columns:92px minmax(0,1fr); align-items:center; gap:18px; }
.about-contact-details dt { color:rgba(234,242,245,.52); font-size:13px; }
.about-contact-details dd { margin:0; color:rgba(234,242,245,.84); font-size:14px; line-height:1.65; }
.about-contact-details dd a { color:#eaf2f5; font-size:22px; font-weight:800; font-variant-numeric:tabular-nums; }
.about-contact-button { display:inline-flex; min-width:180px; min-height:54px; padding:0 25px; border-radius:var(--radius-control); align-items:center; justify-content:center; color:var(--about-navy); background:#eaf2f5; font-weight:800; white-space:nowrap; }
.about-contact-button:hover { color:#eaf2f5; background:var(--about-accent); transform:translateY(-2px); }

/* About page motion: editorial hierarchy, image curtains and blueprint path growth. */
@media (prefers-reduced-motion:no-preference) {
  html.about-motion-enabled .about-page { --about-motion-ease:cubic-bezier(.22,1,.36,1); }
  html.about-motion-enabled .about-page .about-hero::after { opacity:0; transform:translate3d(28px,0,0); transition:opacity 1.15s ease .12s,transform 1.15s var(--about-motion-ease) .12s; }
  html.about-motion-enabled .about-page .brand-page-hero-copy>span,
  html.about-motion-enabled .about-page .brand-page-hero-copy>p,
  html.about-motion-enabled .about-page .brand-page-hero-mark { opacity:0; will-change:opacity,transform; transition:opacity .82s ease,transform .82s var(--about-motion-ease); }
  html.about-motion-enabled .about-page .brand-page-hero-copy>span { transform:translate3d(0,14px,0); transition-delay:.08s; }
  html.about-motion-enabled .about-page .about-hero-line>span { transform:translate3d(0,112%,0); will-change:transform; transition:transform .94s var(--about-motion-ease) .12s; }
  html.about-motion-enabled .about-page .about-hero-line:nth-child(2)>span { transition-delay:.2s; }
  html.about-motion-enabled .about-page .brand-page-hero-copy>p { transform:translate3d(0,22px,0); transition-delay:.34s; }
  html.about-motion-enabled .about-page .brand-page-hero-mark { transform:translate3d(34px,0,0) scale(.96); transition-delay:.27s; }
  html.about-motion-enabled .about-page.is-motion-ready .about-hero::after { opacity:1; transform:translate3d(0,0,0); }
  html.about-motion-enabled .about-page.is-motion-ready .brand-page-hero-copy>span,
  html.about-motion-enabled .about-page.is-motion-ready .brand-page-hero-copy>p,
  html.about-motion-enabled .about-page.is-motion-ready .brand-page-hero-mark { opacity:1; transform:translate3d(0,0,0) scale(1); will-change:auto; }
  html.about-motion-enabled .about-page.is-motion-ready .about-hero-line>span { transform:translate3d(0,0,0); will-change:auto; }

  html.about-motion-enabled .about-page [data-about-reveal] { --about-delay:0ms; }
  html.about-motion-enabled .about-page [data-about-reveal="rise"],
  html.about-motion-enabled .about-page [data-about-reveal="from-left"],
  html.about-motion-enabled .about-page [data-about-reveal="from-right"] { opacity:0; will-change:opacity,transform; transition:opacity .78s ease var(--about-delay),transform .88s var(--about-motion-ease) var(--about-delay); }
  html.about-motion-enabled .about-page [data-about-reveal="rise"] { transform:translate3d(0,34px,0); }
  html.about-motion-enabled .about-page [data-about-reveal="from-left"] { transform:translate3d(-36px,0,0); }
  html.about-motion-enabled .about-page [data-about-reveal="from-right"] { transform:translate3d(36px,0,0); }
  html.about-motion-enabled .about-page [data-about-reveal="rise"].is-visible,
  html.about-motion-enabled .about-page [data-about-reveal="from-left"].is-visible,
  html.about-motion-enabled .about-page [data-about-reveal="from-right"].is-visible { opacity:1; transform:translate3d(0,0,0); will-change:auto; }

  html.about-motion-enabled .about-page [data-about-reveal="image-curtain"] { isolation:isolate; }
  html.about-motion-enabled .about-page [data-about-reveal="image-curtain"]::after { content:""; position:absolute; z-index:2; inset:0; background:var(--about-mist); transform:scaleX(1); transform-origin:right center; transition:transform 1.06s var(--about-motion-ease) var(--about-delay); pointer-events:none; }
  html.about-motion-enabled .about-page .about-services-visual[data-about-reveal="image-curtain"]::after { background:var(--about-paper); transform-origin:left center; }
  html.about-motion-enabled .about-page [data-about-reveal="image-curtain"].is-visible::after { transform:scaleX(0); }
  html.about-motion-enabled .about-page [data-about-reveal="image-curtain"] figcaption { z-index:3; opacity:0; transform:translate3d(0,14px,0); transition:opacity .55s ease calc(var(--about-delay) + .48s),transform .7s var(--about-motion-ease) calc(var(--about-delay) + .48s); }
  html.about-motion-enabled .about-page [data-about-reveal="image-curtain"].is-visible figcaption { opacity:1; transform:translate3d(0,0,0); }

  html.about-motion-enabled .about-page [data-about-reveal="facts"]>div,
  html.about-motion-enabled .about-page [data-about-reveal="audience-list"]>article,
  html.about-motion-enabled .about-page [data-about-reveal="services-list"] .about-service-list>article,
  html.about-motion-enabled .about-page [data-about-reveal="contact-details"]>div { opacity:0; will-change:opacity,transform; transition:opacity .64s ease,transform .78s var(--about-motion-ease); }
  html.about-motion-enabled .about-page [data-about-reveal="facts"]>div,
  html.about-motion-enabled .about-page [data-about-reveal="contact-details"]>div { transform:translate3d(24px,0,0); }
  html.about-motion-enabled .about-page [data-about-reveal="audience-list"]>article { transform:translate3d(38px,0,0); }
  html.about-motion-enabled .about-page [data-about-reveal="services-list"] .about-service-list>article { transform:translate3d(0,30px,0); }
  html.about-motion-enabled .about-page [data-about-reveal="facts"].is-visible>div,
  html.about-motion-enabled .about-page [data-about-reveal="audience-list"].is-visible>article,
  html.about-motion-enabled .about-page [data-about-reveal="services-list"].is-visible .about-service-list>article,
  html.about-motion-enabled .about-page [data-about-reveal="contact-details"].is-visible>div { opacity:1; transform:translate3d(0,0,0); will-change:auto; }
  html.about-motion-enabled .about-page [data-about-reveal="facts"]>div:nth-child(1),
  html.about-motion-enabled .about-page [data-about-reveal="audience-list"]>article:nth-child(1),
  html.about-motion-enabled .about-page [data-about-reveal="services-list"] .about-service-list>article:nth-child(1),
  html.about-motion-enabled .about-page [data-about-reveal="contact-details"]>div:nth-child(1) { transition-delay:calc(var(--about-delay) + 40ms); }
  html.about-motion-enabled .about-page [data-about-reveal="facts"]>div:nth-child(2),
  html.about-motion-enabled .about-page [data-about-reveal="audience-list"]>article:nth-child(2),
  html.about-motion-enabled .about-page [data-about-reveal="services-list"] .about-service-list>article:nth-child(2),
  html.about-motion-enabled .about-page [data-about-reveal="contact-details"]>div:nth-child(2) { transition-delay:calc(var(--about-delay) + 130ms); }
  html.about-motion-enabled .about-page [data-about-reveal="facts"]>div:nth-child(3),
  html.about-motion-enabled .about-page [data-about-reveal="audience-list"]>article:nth-child(3),
  html.about-motion-enabled .about-page [data-about-reveal="services-list"] .about-service-list>article:nth-child(3) { transition-delay:calc(var(--about-delay) + 220ms); }
  html.about-motion-enabled .about-page [data-about-reveal="services-list"] .about-services-link { opacity:0; transform:translate3d(0,16px,0); transition:opacity .58s ease calc(var(--about-delay) + 300ms),transform .7s var(--about-motion-ease) calc(var(--about-delay) + 300ms); }
  html.about-motion-enabled .about-page [data-about-reveal="services-list"].is-visible .about-services-link { opacity:1; transform:translate3d(0,0,0); }

  html.about-motion-enabled .about-page [data-about-reveal="pathway-row"] { opacity:0; transform:translate3d(0,26px,0); will-change:opacity,transform; transition:opacity .68s ease var(--about-delay),transform .82s var(--about-motion-ease) var(--about-delay); }
  html.about-motion-enabled .about-page [data-about-reveal="pathway-row"].is-visible { opacity:1; transform:translate3d(0,0,0); will-change:auto; }
  html.about-motion-enabled .about-page [data-about-reveal="pathway-row"] li { opacity:0; transform:translate3d(-12px,0,0); transition:opacity .46s ease,transform .6s var(--about-motion-ease); }
  html.about-motion-enabled .about-page [data-about-reveal="pathway-row"] li::before { transform:scale(0); transition:transform .46s var(--about-motion-ease); }
  html.about-motion-enabled .about-page [data-about-reveal="pathway-row"] li:not(:last-child)::after { transform:scaleX(0); transform-origin:left center; transition:transform .62s var(--about-motion-ease); }
  html.about-motion-enabled .about-page [data-about-reveal="pathway-row"].is-visible li { opacity:1; transform:translate3d(0,0,0); }
  html.about-motion-enabled .about-page [data-about-reveal="pathway-row"].is-visible li::before { transform:scale(1); }
  html.about-motion-enabled .about-page [data-about-reveal="pathway-row"].is-visible li:not(:last-child)::after { transform:scaleX(1); }
  html.about-motion-enabled .about-page [data-about-reveal="pathway-row"] li:nth-child(1),
  html.about-motion-enabled .about-page [data-about-reveal="pathway-row"] li:nth-child(1)::before,
  html.about-motion-enabled .about-page [data-about-reveal="pathway-row"] li:nth-child(1)::after { transition-delay:calc(var(--about-delay) + 150ms); }
  html.about-motion-enabled .about-page [data-about-reveal="pathway-row"] li:nth-child(2),
  html.about-motion-enabled .about-page [data-about-reveal="pathway-row"] li:nth-child(2)::before,
  html.about-motion-enabled .about-page [data-about-reveal="pathway-row"] li:nth-child(2)::after { transition-delay:calc(var(--about-delay) + 230ms); }
  html.about-motion-enabled .about-page [data-about-reveal="pathway-row"] li:nth-child(3),
  html.about-motion-enabled .about-page [data-about-reveal="pathway-row"] li:nth-child(3)::before,
  html.about-motion-enabled .about-page [data-about-reveal="pathway-row"] li:nth-child(3)::after { transition-delay:calc(var(--about-delay) + 310ms); }
  html.about-motion-enabled .about-page [data-about-reveal="pathway-row"] li:nth-child(4),
  html.about-motion-enabled .about-page [data-about-reveal="pathway-row"] li:nth-child(4)::before { transition-delay:calc(var(--about-delay) + 390ms); }

  html.about-motion-enabled .about-page [data-about-reveal="values-list"]>li { opacity:0; transform:translate3d(0,22px,0) scale(.96); will-change:opacity,transform; transition:opacity .58s ease,transform .72s var(--about-motion-ease); }
  html.about-motion-enabled .about-page [data-about-reveal="values-list"].is-visible>li { opacity:1; transform:translate3d(0,0,0) scale(1); will-change:auto; }
  html.about-motion-enabled .about-page [data-about-reveal="values-list"]>li:nth-child(1) { transition-delay:calc(var(--about-delay) + 20ms); }
  html.about-motion-enabled .about-page [data-about-reveal="values-list"]>li:nth-child(2) { transition-delay:calc(var(--about-delay) + 100ms); }
  html.about-motion-enabled .about-page [data-about-reveal="values-list"]>li:nth-child(3) { transition-delay:calc(var(--about-delay) + 180ms); }
  html.about-motion-enabled .about-page [data-about-reveal="values-list"]>li:nth-child(4) { transition-delay:calc(var(--about-delay) + 260ms); }
  html.about-motion-enabled .about-page .about-contact-button[data-about-reveal].is-visible:hover { transform:translateY(-2px); }
}

@media (prefers-reduced-motion:reduce) {
  .about-page .about-hero-line>span,
  .about-page [data-about-reveal],
  .about-page [data-about-reveal]>* { opacity:1!important; transform:none!important; transition:none!important; }
  .about-page [data-about-reveal="image-curtain"]::after { display:none!important; }
}
.brand-page-cta { padding:72px 0; color:#edf4f7; background:#0b2d4a; }
.brand-page-cta>.container { display:flex; align-items:center; justify-content:space-between; gap:40px; }
.brand-page-cta h2 { margin:0; font-size:clamp(28px,3vw,42px); line-height:1.12; letter-spacing:-.03em; }
.brand-page-cta p { margin:12px 0 0; color:rgba(237,244,247,.68); }
.brand-page-cta a,.brand-page-cta button { display:inline-flex; min-width:220px; min-height:58px; padding:0 28px; border-radius:999px; align-items:center; justify-content:center; color:#0b2d4a; background:#edf4f7; font-size:19px; font-weight:800; white-space:nowrap; }
.brand-page-cta a:hover,.brand-page-cta button:hover { color:#edf4f7; background:var(--blue); }

.service-page-hero { background-position:center 58%; }
.service-detail-section { padding:110px 0; background:var(--surface); }
.service-detail-list { display:flex; max-width:1180px; flex-direction:column; }
.service-detail-list article { display:grid; min-height:240px; padding:54px 56px; border-top:1px solid var(--line); grid-template-columns:110px minmax(0,1fr); align-items:start; gap:42px; }
.service-detail-list article:last-child { border-bottom:1px solid var(--line); }
.service-detail-list article:nth-child(2) { margin:0 -36px; padding-right:92px; padding-left:92px; border:1px solid rgba(11,79,134,.12); border-radius:24px; background:var(--blue-soft); }
.service-detail-icon { display:grid; width:84px; height:84px; border:1px solid rgba(11,79,134,.14); border-radius:22px; background:var(--surface); place-items:center; }
.service-detail-icon img { width:40px; height:40px; }
.service-detail-list h2 { margin:0 0 18px; color:var(--deep); font-size:34px; letter-spacing:-.035em; }
.service-detail-list p { max-width:860px; margin:0; color:var(--muted); font-size:17px; line-height:2; }

.contact-page-head { padding:108px 0 88px; color:#edf4f7; background:#0b2d4a; }
.contact-page-head h1 { margin:18px 0 20px; font-size:clamp(42px,5vw,72px); line-height:.95; letter-spacing:-.045em; }
.contact-page-head p { max-width:720px; margin:0; color:rgba(237,244,247,.72); font-size:17px; line-height:1.85; }
.contact-page-body { padding:90px 0 112px; background:var(--canvas); }
.contact-page-grid { display:grid; grid-template-columns:minmax(0,1fr) minmax(380px,480px); gap:64px; align-items:start; }
.contact-company-card { min-height:590px; padding:54px; border:1px solid var(--line); border-radius:22px; background:var(--surface); box-shadow:0 20px 52px rgba(18,43,67,.08); }
.contact-company-card>img { width:160px; height:160px; object-fit:contain; }
.contact-company-card h2 { max-width:620px; margin:32px 0 8px; color:var(--deep); font-size:34px; line-height:1.3; letter-spacing:-.03em; }
.contact-company-card>p { margin:0; color:var(--blue); font-size:18px; font-weight:700; }
.contact-company-card dl { margin:42px 0 0; border-top:1px solid var(--line); }
.contact-company-card dl>div { display:grid; min-height:80px; padding:18px 0; border-bottom:1px solid var(--line); grid-template-columns:110px 1fr; align-items:center; gap:18px; }
.contact-company-card dt { color:var(--dim); }
.contact-company-card dd { margin:0; color:var(--deep); line-height:1.7; }
.contact-company-card dd a { color:var(--blue); font-size:22px; font-weight:800; font-variant-numeric:tabular-nums; }
.contact-page .lead-page-form { position:sticky; top:92px; }
.lead-page-form .field input { width:100%; height:48px; padding:0 13px; border:1px solid rgba(29,55,91,.16); outline:0; background:var(--surface); }
.lead-page-form .field input:focus { border-color:var(--blue); box-shadow:0 0 0 3px rgba(11,79,134,.12); }
.lead-page-form .consent { display:flex; min-height:44px; margin-top:12px; gap:8px; align-items:flex-start; color:var(--muted); font-size:12px; line-height:1.6; }
.lead-page-form .consent input { flex:0 0 auto; width:16px; height:16px; margin-top:2px; }

@media (max-width:1280px) {
  .header-inner { grid-template-columns:minmax(170px,1fr) auto minmax(180px,1fr); }
  .brand { min-width:170px; }
  .brand-copy small { display:none; }
  .site-header .main-nav a { padding-right:11px; padding-left:11px; font-size:14px; }
  .header-actions { gap:18px; }
  .header-phone { padding-left:18px; }
}

@media (max-width:1200px) {
  .header-phone { display:none; }
}

@media (max-width:1100px) {
  .header-inner { grid-template-columns:auto 1fr; }
  .brand-copy small { display:block; }
  .home-about-layout { grid-template-columns:360px minmax(0,1fr); }
  .home-about-mark { padding:44px; }
  .home-about-copy { padding-left:58px; }
  .brand-page-hero-inner { grid-template-columns:minmax(0,1fr) 320px; gap:44px; }
  .about-page .brand-page-hero-inner { grid-template-columns:minmax(0,1fr) 270px; gap:52px; }
  .about-story-grid { gap:34px 24px; }
  .about-story-visual,.about-story-visual img { min-height:570px; }
  .about-story-copy { padding-left:28px; }
  .about-facts { margin-left:28px; }
  .about-audience-layout { gap:64px; }
  .about-audience-list article { grid-template-columns:minmax(170px,.62fr) minmax(0,1.38fr); gap:30px; }
  .about-services-layout { grid-template-columns:minmax(310px,.76fr) minmax(0,1.24fr); gap:68px; }
  .about-services-visual { height:440px; }
  .about-pathway-grid article { grid-template-columns:210px minmax(0,1fr); gap:38px; }
  .about-pathway-grid li { padding-right:14px; padding-left:24px; }
  .brand-value-list li:not(:last-child)::after { width:clamp(30px,5vw,64px); margin-left:clamp(18px,2.5vw,32px); }
  .about-contact-grid { grid-template-columns:minmax(0,1fr) minmax(350px,1fr); gap:44px 56px; }
  .about-contact-button { grid-column:1/-1; justify-self:start; }
  .footer-grid { gap:34px; }
}

@media (max-width:900px) {
  .about-page .about-hero,.about-page .brand-page-hero-inner { min-height:650px; }
  .about-page .brand-page-hero-inner { display:flex; padding-top:70px; padding-bottom:62px; gap:30px; flex-direction:column; align-items:stretch; justify-content:center; }
  .about-page .brand-page-hero-mark { align-self:flex-start; }
  .about-page .brand-page-hero-mark img { width:200px; transform:none; }
  .about-story-grid { grid-template-columns:1fr; gap:42px; }
  .about-story-visual { min-height:520px; grid-column:1; grid-row:auto; }
  .about-story-visual img { min-height:520px; }
  .about-story-copy { padding:0; grid-column:1; }
  .about-facts { margin:0; grid-column:1; }
  .about-audience-layout { grid-template-columns:1fr; gap:44px; }
  .about-services-layout { grid-template-columns:1fr; gap:58px; }
  .about-services-intro { position:static; }
  .about-services-visual { height:420px; }
  .about-service-list article:nth-child(2) { margin-left:0; }
  .about-pathway-grid article { grid-template-columns:1fr; gap:30px; }
}

@media (max-width:760px) {
  body::before { opacity:.012; }
  .brand { min-width:0; gap:6px; }
  .brand img,.site-header.scrolled .brand img { width:44px; height:44px; padding:0; border:0; border-radius:0; background:transparent; box-shadow:none; }
  .brand .brand-copy { padding-left:0; }
  .brand-copy strong,.site-header.scrolled .brand-copy strong { font-size:15px; }
  .brand-copy small { display:none; }
  .menu-btn { flex:0 0 44px; margin-left:auto; }
  .customer-service-grid { grid-template-columns:1fr; }
  .customer-service-grid article { min-height:0; padding:28px 24px; border-top:1px solid var(--line); border-left:0; }
  .customer-service-grid article:first-child { border-top:0; }
  .service-section-heading { display:block; }
  .service-section-heading .section-link { width:max-content; margin:-12px 0 28px; }
  .home-about-layout { min-height:0; grid-template-columns:1fr; }
  .home-about-mark { min-height:330px; padding:48px; border-right:0; border-bottom:1px solid rgba(238,244,247,.1); }
  .home-about-mark img { width:210px; }
  .home-about-copy { padding:64px 0 72px; }
  .home-about-copy h2 { font-size:38px; }
  .footer-grid { grid-template-columns:1fr; }
  .footer-grid>div:nth-child(2) { display:none; }
  .footer-consult-card { max-width:360px; }
  .brand-page-hero,.brand-page-hero-inner { min-height:620px; }
  .brand-page-hero-inner { display:flex; padding-top:68px; padding-bottom:54px; gap:36px; flex-direction:column; align-items:stretch; justify-content:center; }
  .brand-page-hero-copy h1 { font-size:44px; }
  .brand-page-hero-copy p { font-size:16px; }
  .brand-page-hero-mark { min-height:0; padding:0; }
  .brand-page-hero-mark img { width:190px; padding:0; border-radius:0; }
  .about-page .about-hero,.about-page .brand-page-hero-inner { min-height:620px; }
  .about-page .brand-page-hero-inner { display:flex; padding-top:68px; padding-bottom:54px; gap:34px; flex-direction:column; align-items:stretch; justify-content:center; }
  .about-page .about-hero::after { opacity:.45; background-size:48px 48px; }
  .about-page .brand-page-hero-copy h1 { font-size:42px; }
  .about-page .brand-page-hero-mark { padding-left:0; align-self:flex-start; }
  .about-page .brand-page-hero-mark img { width:178px; transform:none; }
  .about-story,.about-services,.about-pathways,.brand-values,.service-detail-section { padding:80px 0; }
  .about-story::after { right:14px; bottom:2px; font-size:118px; }
  .about-story-grid { grid-template-columns:1fr; gap:36px; }
  .about-story-visual { min-height:370px; grid-column:1; grid-row:auto; clip-path:polygon(0 0,100% 0,100% calc(100% - 34px),calc(100% - 34px) 100%,0 100%); }
  .about-story-visual img { min-height:370px; }
  .about-story-visual figcaption,.about-services-visual figcaption { min-width:176px; padding:12px 16px; }
  .about-story-copy { padding:0; grid-column:1; }
  .about-story h2,.about-section-heading h2,.about-pathways-heading h2 { font-size:36px; line-height:1; }
  .about-story-copy p { margin-top:22px; font-size:16px; line-height:1.9; }
  .about-facts { margin:0; grid-column:1; }
  .about-facts>div { min-height:84px; grid-template-columns:118px 1fr; }
  .about-audience { padding:0 0 82px; }
  .about-audience-layout { padding-top:68px; grid-template-columns:1fr; gap:40px; }
  .about-section-heading p { margin-top:20px; font-size:16px; line-height:1.8; }
  .about-audience-list article { min-height:0; padding:28px 0 30px; grid-template-columns:1fr; gap:12px; }
  .about-audience-list h3 { font-size:24px; }
  .about-audience-list p { max-width:none; }
  .about-services-layout { grid-template-columns:1fr; gap:44px; }
  .about-services-intro { position:static; }
  .about-services-visual { height:340px; margin-top:36px; clip-path:polygon(0 0,100% 0,100% 100%,34px 100%,0 calc(100% - 34px)); }
  .about-services-content { padding-top:0; }
  .about-service-list article,.about-service-list article:nth-child(2) { min-height:0; margin-left:0; padding:34px 0 38px; }
  .about-service-list h3 { font-size:28px; }
  .about-service-list article>p { margin-top:18px; font-size:15px; line-height:1.9; }
  .about-services-link { width:auto; margin-top:26px; justify-content:flex-start; }
  .about-pathways-heading { margin-bottom:46px; }
  .about-pathways-heading p { margin-top:20px; }
  .about-pathway-grid article { min-height:0; padding:32px 0 26px; grid-template-columns:1fr; gap:26px; }
  .about-pathway-grid h3 { font-size:23px; }
  .about-pathway-grid ol { grid-template-columns:1fr; }
  .about-pathway-grid li { min-height:54px; padding:0 0 26px 30px; }
  .about-pathway-grid li::before { top:3px; left:0; }
  .about-pathway-grid li:not(:last-child)::after { top:15px; bottom:2px; left:5px; right:auto; width:1px; height:auto; }
  html.about-motion-enabled .about-page [data-about-reveal="pathway-row"] li:not(:last-child)::after { transform:scaleY(0); transform-origin:center top; }
  html.about-motion-enabled .about-page [data-about-reveal="pathway-row"].is-visible li:not(:last-child)::after { transform:scaleY(1); }
  .brand-values-heading h2 { font-size:42px; line-height:.98; }
  .brand-values-heading p { margin-top:22px; font-size:16px; line-height:1.9; }
  .brand-value-list { display:grid; margin-top:48px; padding:0; grid-template-columns:1fr 1fr; }
  .brand-value-list li { min-height:92px; border-bottom:1px solid var(--about-rule); justify-content:center; font-size:30px; }
  .brand-value-list li:nth-child(odd) { border-right:1px solid var(--about-rule); }
  .brand-value-list li:not(:last-child)::after { display:none; }
  .about-contact-band { padding:68px 0 72px; }
  .about-contact-grid { grid-template-columns:1fr; gap:34px; }
  .about-contact-intro h2 { font-size:34px; }
  .about-contact-details>div { grid-template-columns:86px minmax(0,1fr); }
  .about-contact-button { width:100%; grid-column:auto; justify-self:stretch; }
  .brand-page-cta>.container { align-items:flex-start; flex-direction:column; }
  .brand-page-cta a,.brand-page-cta button { width:100%; }
  .service-detail-list article,.service-detail-list article:nth-child(2) { display:grid; min-height:0; margin:0; padding:36px 0; border-width:1px 0 0; border-radius:0; grid-template-columns:64px minmax(0,1fr); gap:20px; }
  .service-detail-list article:nth-child(2) { background:transparent; }
  .service-detail-icon { width:58px; height:58px; border-radius:16px; }
  .service-detail-icon img { width:28px; height:28px; }
  .service-detail-list h2 { font-size:27px; }
  .contact-page-head { padding:78px 0 66px; }
  .contact-page-body { padding:52px 0 82px; }
  .contact-page-grid { grid-template-columns:1fr; gap:26px; }
  .contact-company-card { min-height:0; padding:30px 24px; }
  .contact-company-card>img { width:112px; height:112px; }
  .contact-company-card h2 { margin-top:24px; font-size:27px; }
  .contact-company-card dl>div { grid-template-columns:88px 1fr; }
  .contact-page .lead-page-form { position:static; }
}

@media (max-width:380px) {
  .about-page .brand-page-hero-copy h1 { font-size:clamp(34px,10.1vw,38px); }
}

/* Entrust page: architectural editorial direction with a consultant-led flow. */
.entrust-page {
  --entrust-night:#082a45; /* Harbor Night (#082a45) — hero and authority surface. */
  --entrust-deep:#12334d; /* Blueprint Ink (#12334d) — primary text on light surfaces. */
  --entrust-blue:#0b4f86; /* Xicheng Blue (#0b4f86) — the single action accent. */
  --entrust-mist:#edf3f6; /* Lake Mist (#edf3f6) — page substrate with a cool brand tint. */
  --entrust-surface:#f5f8fa; /* Silver White (#f5f8fa) — elevated form and panel surface. */
  --entrust-muted:#536a7b; /* Steel Copy (#536a7b) — secondary text with AA contrast on both light substrates. */
  --entrust-rule:rgba(18,51,77,.14); /* Blueprint Rule — low-contrast structure lines. */
  color:var(--entrust-deep);
  background:var(--entrust-mist);
}
.entrust-page h1,.entrust-page h2,.entrust-page h3,.entrust-page p { text-wrap:pretty; }
body.entrust-page-body .contact-rail { display:none; }
.entrust-hero {
  position:relative;
  display:flex;
  min-height:calc(100dvh - 88px);
  overflow:hidden;
  color:#edf4f7;
  background:var(--entrust-night);
  align-items:center;
  isolation:isolate;
}
.entrust-hero-media {
  position:absolute;
  z-index:-4;
  inset:-2%;
  background:url('/static/wuxi/assets/c77bdc47810e6281.jpg') center 54%/cover no-repeat;
  filter:saturate(.58) contrast(1.08);
  transform:scale(1.025);
}
.entrust-hero::before {
  content:"";
  position:absolute;
  z-index:-3;
  inset:0;
  background:linear-gradient(90deg,rgba(4,25,43,.96) 0,rgba(5,31,52,.9) 45%,rgba(6,34,57,.68) 74%,rgba(6,34,57,.76) 100%),linear-gradient(180deg,rgba(4,24,41,.28),rgba(4,24,41,.74));
}
.entrust-hero::after {
  content:"";
  position:absolute;
  z-index:-1;
  inset:0;
  pointer-events:none;
  background:radial-gradient(ellipse 78% 78% at 24% 48%,rgba(65,118,153,.2),transparent 62%),linear-gradient(180deg,transparent 64%,rgba(4,23,39,.36));
}
.entrust-hero-grid {
  position:absolute;
  z-index:-2;
  inset:0;
  opacity:.34;
  background-image:linear-gradient(rgba(219,234,242,.11) 1px,transparent 1px),linear-gradient(90deg,rgba(219,234,242,.11) 1px,transparent 1px);
  background-size:72px 72px;
  mask-image:linear-gradient(90deg,rgba(2,16,29,.76),transparent 79%);
  pointer-events:none;
}
.entrust-hero-plan {
  position:absolute;
  z-index:-1;
  left:-96px;
  bottom:-128px;
  width:min(52vw,720px);
  height:auto;
  fill:none;
  stroke:rgba(218,234,242,.13);
  stroke-width:1.2;
  vector-effect:non-scaling-stroke;
  pointer-events:none;
}
.entrust-hero-layout {
  position:relative;
  z-index:2;
  display:grid;
  width:min(1400px,calc(100% - 48px));
  padding:54px 0 58px;
  grid-template-columns:minmax(0,1.18fr) minmax(400px,.68fr);
  align-items:center;
  gap:clamp(52px,6vw,96px);
}
.entrust-hero-copy { max-width:790px; }
.entrust-kicker {
  display:inline-block;
  color:#b8ccd8;
  font-size:12px;
  font-weight:700;
  letter-spacing:.22em;
}
.entrust-hero-copy h1 {
  margin:24px 0 28px;
  font-size:clamp(52px,5.7vw,84px);
  font-weight:800;
  line-height:.91;
  letter-spacing:-.052em;
}
.entrust-hero-copy h1 span { display:block; white-space:nowrap; }
.entrust-hero-copy>p {
  max-width:650px;
  margin:0;
  color:rgba(237,244,247,.76);
  font-size:17px;
  font-weight:300;
  line-height:1.9;
}
.entrust-service-scope {
  display:flex;
  max-width:650px;
  margin:40px 0 0;
  padding:20px 0 0;
  border-top:1px solid rgba(225,238,244,.18);
  list-style:none;
  gap:0;
}
.entrust-service-scope li {
  position:relative;
  flex:1;
  padding-left:18px;
  color:#d9e7ed;
  font-size:14px;
  letter-spacing:.04em;
}
.entrust-service-scope li::before {
  content:"";
  position:absolute;
  top:6px;
  left:0;
  width:6px;
  height:6px;
  border:1px solid rgba(222,236,243,.66);
  transform:rotate(45deg);
}
.entrust-form.lead-page-form {
  position:relative;
  width:100%;
  margin:0;
  padding:32px 34px 34px;
  overflow:hidden;
  border:1px solid rgba(224,237,244,.38);
  border-radius:2px;
  background:rgba(245,248,250,.96);
  box-shadow:0 26px 70px rgba(2,21,36,.3);
  backdrop-filter:blur(14px);
}
.entrust-form::before {
  content:"";
  position:absolute;
  top:0;
  left:0;
  width:112px;
  height:3px;
  background:var(--entrust-blue);
}
.entrust-form-head { margin-bottom:22px; }
.entrust-form-head>span {
  color:var(--entrust-blue);
  font-size:11px;
  font-weight:700;
  letter-spacing:.18em;
}
.entrust-form.lead-page-form h2 {
  margin:8px 0 8px;
  color:var(--entrust-deep);
  font-size:28px;
  line-height:1.15;
  letter-spacing:-.035em;
}
.entrust-form-head>p {
  margin:0;
  color:var(--entrust-muted);
  font-size:13px;
  line-height:1.65;
}
.entrust-form-head>p.success,.entrust-form-head>p.error { padding:9px 11px; }
.entrust-form .field { display:block; margin-top:14px; }
.entrust-form .field>span:first-child {
  display:flex;
  margin-bottom:7px;
  color:#405b70;
  font-size:13px;
  font-weight:700;
}
.entrust-form .field>span em { color:#b33b3b; }
.entrust-form.lead-page-form .field input,
.entrust-form.lead-form textarea {
  width:100%;
  border:1px solid rgba(18,51,77,.16);
  border-radius:2px;
  outline:0;
  color:var(--entrust-deep);
  background:#edf3f6;
  transition:border-color .2s ease,box-shadow .2s ease,background-color .2s ease;
}
.entrust-form.lead-page-form .field input { height:46px; padding:0 13px; }
.entrust-form.lead-form textarea { min-height:92px; padding:11px 13px; line-height:1.65; resize:vertical; }
.entrust-form.lead-page-form .field input:focus,
.entrust-form.lead-form textarea:focus {
  border-color:var(--entrust-blue);
  background:var(--entrust-surface);
  box-shadow:0 0 0 3px rgba(11,79,134,.12);
}
.entrust-form input::placeholder,.entrust-form textarea::placeholder { color:#748696; }
.entrust-form .captcha-field {
  display:grid;
  margin:0;
  color:inherit;
  grid-template-columns:minmax(0,1fr) 112px;
  align-items:center;
  gap:8px;
}
.entrust-form .captcha-field img {
  width:112px;
  height:46px;
  border:1px solid rgba(18,51,77,.16);
  background:var(--entrust-mist);
  cursor:pointer;
  object-fit:cover;
}
.entrust-form.lead-page-form .consent {
  display:flex;
  min-height:44px;
  margin-top:12px;
  color:var(--entrust-muted);
  font-size:12px;
  line-height:1.6;
  align-items:flex-start;
  gap:9px;
}
.entrust-form.lead-page-form .consent input {
  flex:0 0 auto;
  width:18px;
  height:18px;
  margin:1px 0 0;
  accent-color:var(--entrust-blue);
}
.entrust-form.lead-form .primary-button {
  min-height:52px;
  margin-top:8px;
  border-radius:2px;
  color:#edf4f7;
  background:var(--entrust-blue);
  font-weight:800;
  letter-spacing:.04em;
}
.entrust-form.lead-form .primary-button:hover { background:#073d68; transform:translateY(-2px); }

.entrust-process { padding:116px 0 122px; background:var(--entrust-surface); }
.entrust-process-heading {
  display:grid;
  grid-template-columns:minmax(0,.9fr) minmax(360px,.78fr);
  align-items:end;
  justify-content:space-between;
  gap:72px;
}
.entrust-process-heading h2,
.entrust-brief-copy h2,
.entrust-contact h2 {
  margin:0;
  color:var(--entrust-deep);
  font-size:clamp(40px,4.4vw,64px);
  font-weight:800;
  line-height:.94;
  letter-spacing:-.05em;
}
.entrust-process-heading p {
  max-width:560px;
  margin:0;
  color:var(--entrust-muted);
  font-size:16px;
  line-height:1.9;
}
.entrust-process-list {
  display:grid;
  margin:72px 0 0;
  padding:0;
  grid-template-columns:repeat(4,minmax(0,1fr));
  list-style:none;
}
.entrust-process-list li {
  position:relative;
  min-height:250px;
  padding:38px 30px 30px 0;
  border-top:1px solid var(--entrust-rule);
  border-bottom:1px solid var(--entrust-rule);
}
.entrust-process-list li:not(:last-child) { margin-right:30px; }
.entrust-process-list li::before {
  content:"";
  position:absolute;
  top:-5px;
  left:0;
  width:9px;
  height:9px;
  border-radius:50%;
  background:var(--entrust-blue);
  box-shadow:0 0 0 5px var(--entrust-surface);
}
.entrust-process-list li>span {
  color:#8195a4;
  font-size:12px;
  font-variant-numeric:tabular-nums;
  letter-spacing:.14em;
}
.entrust-process-list h3 {
  margin:48px 0 16px;
  color:var(--entrust-deep);
  font-size:24px;
  line-height:1.2;
  letter-spacing:-.03em;
}
.entrust-process-list p { margin:0; color:var(--entrust-muted); font-size:14px; line-height:1.8; }

.entrust-brief { padding:122px 0 128px; background:#dfe9ee; }
.entrust-brief-layout {
  display:grid;
  grid-template-columns:minmax(0,.96fr) minmax(430px,.74fr);
  align-items:start;
  gap:clamp(70px,9vw,142px);
}
.entrust-brief-copy>p {
  max-width:580px;
  margin:28px 0 0;
  color:var(--entrust-muted);
  font-size:16px;
  line-height:1.9;
}
.entrust-brief-list { margin:54px 0 0; border-top:1px solid var(--entrust-rule); }
.entrust-brief-list>div {
  display:grid;
  min-height:78px;
  padding:18px 0;
  border-bottom:1px solid var(--entrust-rule);
  grid-template-columns:92px minmax(0,1fr);
  align-items:center;
  gap:20px;
}
.entrust-brief-list dt { color:var(--entrust-blue); font-size:18px; font-weight:800; letter-spacing:.08em; }
.entrust-brief-list dd { margin:0; color:#435e72; line-height:1.7; }
.entrust-advisor-scope {
  position:relative;
  padding:52px 48px 44px;
  overflow:hidden;
  color:#e9f1f5;
  background:var(--entrust-night);
  box-shadow:0 28px 70px rgba(14,48,72,.16);
  clip-path:polygon(0 0,100% 0,100% calc(100% - 34px),calc(100% - 34px) 100%,0 100%);
}
.entrust-advisor-scope::after {
  content:"";
  position:absolute;
  right:-104px;
  bottom:-104px;
  width:260px;
  height:260px;
  border:1px solid rgba(224,237,244,.1);
  border-radius:50%;
  box-shadow:0 0 0 42px rgba(224,237,244,.035),0 0 0 84px rgba(224,237,244,.025);
  pointer-events:none;
}
.entrust-advisor-scope>span { color:#a9c0ce; font-size:11px; font-weight:700; letter-spacing:.2em; }
.entrust-advisor-scope h3 {
  max-width:430px;
  margin:18px 0 36px;
  color:#e9f1f5;
  font-size:30px;
  line-height:1.3;
  letter-spacing:-.035em;
}
.entrust-advisor-scope ul { position:relative; z-index:1; margin:0; padding:0; border-top:1px solid rgba(225,238,244,.14); list-style:none; }
.entrust-advisor-scope li {
  display:grid;
  min-height:92px;
  padding:20px 0;
  border-bottom:1px solid rgba(225,238,244,.12);
  grid-template-columns:112px minmax(0,1fr);
  gap:20px;
}
.entrust-advisor-scope b { color:#e8f1f5; font-size:16px; }
.entrust-advisor-scope p { margin:0; color:rgba(232,241,245,.66); font-size:13px; line-height:1.75; }

.entrust-contact { padding:82px 0 86px; color:#eaf2f5; background:#113a59; }
.entrust-contact-layout {
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  align-items:center;
  gap:70px;
}
.entrust-contact h2 { max-width:760px; color:#eaf2f5; font-size:clamp(36px,4vw,58px); }
.entrust-contact p { max-width:690px; margin:20px 0 0; color:rgba(234,242,245,.68); font-size:15px; line-height:1.85; }
.entrust-contact-actions { display:flex; min-width:360px; flex-direction:column; align-items:stretch; gap:12px; }
.entrust-phone,.entrust-scroll-link {
  display:flex;
  min-height:64px;
  padding:12px 20px;
  border:1px solid rgba(232,241,245,.18);
  align-items:center;
  justify-content:space-between;
  transition:color .25s ease,background-color .25s ease,border-color .25s ease,transform .25s var(--ease);
}
.entrust-phone span { color:rgba(234,242,245,.62); font-size:12px; letter-spacing:.1em; }
.entrust-phone strong { color:#eaf2f5; font-size:22px; font-weight:700; font-variant-numeric:tabular-nums; }
.entrust-scroll-link { color:var(--entrust-deep); border-color:var(--entrust-surface); background:var(--entrust-surface); font-weight:800; }
.entrust-scroll-link b { color:var(--entrust-blue); font-size:20px; }
.entrust-phone:hover,.entrust-scroll-link:hover { transform:translateY(-2px); }
.entrust-phone:hover { border-color:rgba(232,241,245,.42); background:rgba(232,241,245,.08); }
.entrust-scroll-link:hover { color:#eaf2f5; border-color:var(--entrust-blue); background:var(--entrust-blue); }
.entrust-scroll-link:hover b { color:#eaf2f5; }

@media (prefers-reduced-motion:no-preference) {
  html.entrust-motion-enabled .entrust-page { --entrust-motion-ease:cubic-bezier(.22,1,.36,1); }
  html.entrust-motion-enabled .entrust-hero-media { opacity:0; transform:scale(1.075); transition:opacity 1.1s ease,transform 1.6s var(--entrust-motion-ease); }
  html.entrust-motion-enabled .entrust-hero-grid { opacity:0; transform:translate3d(28px,0,0); transition:opacity 1.1s ease .16s,transform 1.3s var(--entrust-motion-ease) .16s; }
  html.entrust-motion-enabled .entrust-hero-plan { opacity:0; transform:translate3d(-24px,20px,0); transition:opacity 1.2s ease .22s,transform 1.35s var(--entrust-motion-ease) .22s; }
  html.entrust-motion-enabled .entrust-hero-copy>* { opacity:0; transform:translate3d(0,28px,0); transition:opacity .72s ease,transform .88s var(--entrust-motion-ease); }
  html.entrust-motion-enabled .entrust-hero-copy>*:nth-child(1) { transition-delay:.1s; }
  html.entrust-motion-enabled .entrust-hero-copy>*:nth-child(2) { transition-delay:.18s; }
  html.entrust-motion-enabled .entrust-hero-copy>*:nth-child(3) { transition-delay:.28s; }
  html.entrust-motion-enabled .entrust-hero-copy>*:nth-child(4) { transition-delay:.38s; }
  html.entrust-motion-enabled .entrust-form { opacity:0; transform:translate3d(34px,0,0); transition:opacity .86s ease .25s,transform 1s var(--entrust-motion-ease) .25s; }
  html.entrust-motion-enabled .entrust-page.is-motion-ready .entrust-hero-media { opacity:1; transform:scale(1.025); }
  html.entrust-motion-enabled .entrust-page.is-motion-ready .entrust-hero-grid { opacity:.34; transform:translate3d(0,0,0); }
  html.entrust-motion-enabled .entrust-page.is-motion-ready .entrust-hero-plan { opacity:1; transform:translate3d(0,0,0); }
  html.entrust-motion-enabled .entrust-page.is-motion-ready .entrust-hero-copy>*,
  html.entrust-motion-enabled .entrust-page.is-motion-ready .entrust-form { opacity:1; transform:translate3d(0,0,0); }
  html.entrust-motion-enabled .entrust-page [data-entrust-reveal] {
    --entrust-delay:0ms;
    opacity:0;
    will-change:opacity,transform;
    transition:opacity .72s ease var(--entrust-delay),transform .9s var(--entrust-motion-ease) var(--entrust-delay);
  }
  html.entrust-motion-enabled .entrust-page [data-entrust-reveal="rise"],
  html.entrust-motion-enabled .entrust-page [data-entrust-reveal="timeline"] { transform:translate3d(0,34px,0); }
  html.entrust-motion-enabled .entrust-page [data-entrust-reveal="from-left"] { transform:translate3d(-38px,0,0); }
  html.entrust-motion-enabled .entrust-page [data-entrust-reveal="from-right"] { transform:translate3d(38px,0,0); }
  html.entrust-motion-enabled .entrust-page [data-entrust-reveal].is-visible { opacity:1; transform:translate3d(0,0,0); will-change:auto; }
  html.entrust-motion-enabled .entrust-process-list[data-entrust-reveal]>li { opacity:0; transform:translate3d(0,24px,0); transition:opacity .56s ease,transform .76s var(--entrust-motion-ease); }
  html.entrust-motion-enabled .entrust-process-list[data-entrust-reveal].is-visible>li { opacity:1; transform:translate3d(0,0,0); }
  html.entrust-motion-enabled .entrust-process-list[data-entrust-reveal]>li:nth-child(1) { transition-delay:calc(var(--entrust-delay) + 70ms); }
  html.entrust-motion-enabled .entrust-process-list[data-entrust-reveal]>li:nth-child(2) { transition-delay:calc(var(--entrust-delay) + 150ms); }
  html.entrust-motion-enabled .entrust-process-list[data-entrust-reveal]>li:nth-child(3) { transition-delay:calc(var(--entrust-delay) + 230ms); }
  html.entrust-motion-enabled .entrust-process-list[data-entrust-reveal]>li:nth-child(4) { transition-delay:calc(var(--entrust-delay) + 310ms); }
}

@media (max-width:1180px) {
  .entrust-hero-layout { grid-template-columns:minmax(0,1fr) minmax(390px,.68fr); gap:46px; }
  .entrust-hero-copy h1 { font-size:clamp(48px,5.4vw,68px); }
  .entrust-process-heading { grid-template-columns:minmax(0,1fr) minmax(330px,.8fr); gap:48px; }
  .entrust-brief-layout { grid-template-columns:minmax(0,1fr) minmax(390px,.78fr); gap:70px; }
}

@media (max-width:900px) {
  .entrust-hero { min-height:auto; }
  .entrust-hero-layout { padding:74px 0 82px; grid-template-columns:1fr; gap:54px; }
  .entrust-hero-copy { max-width:760px; }
  .entrust-form.lead-page-form { max-width:620px; }
  .entrust-process-heading,.entrust-brief-layout,.entrust-contact-layout { grid-template-columns:1fr; }
  .entrust-process-heading { gap:24px; }
  .entrust-process-list { grid-template-columns:1fr 1fr; }
  .entrust-process-list li:nth-child(2) { margin-right:0; }
  .entrust-process-list li:nth-child(-n+2) { border-bottom:0; }
  .entrust-brief-layout { gap:60px; }
  .entrust-advisor-scope { max-width:660px; }
  .entrust-contact-layout { gap:40px; }
  .entrust-contact-actions { min-width:0; max-width:480px; }
}

@media (max-width:760px) {
  html.entrust-motion-enabled .entrust-page [data-entrust-reveal="from-left"],
  html.entrust-motion-enabled .entrust-page [data-entrust-reveal="from-right"] { transform:translate3d(0,28px,0); }
  html.entrust-motion-enabled .entrust-page [data-entrust-reveal].is-visible { transform:translate3d(0,0,0); }
  .entrust-hero { min-height:auto; }
  .entrust-hero-media { inset:0; background-position:62% center; }
  .entrust-hero::before { background:linear-gradient(180deg,rgba(4,25,43,.9),rgba(4,25,43,.86) 50%,rgba(4,25,43,.96)); }
  .entrust-hero-grid { background-size:48px 48px; mask-image:linear-gradient(180deg,rgba(2,16,29,.8),transparent 78%); }
  .entrust-hero-plan { left:-112px; bottom:34%; width:520px; }
  .entrust-hero-layout { width:calc(100% - 28px); padding:64px 0 70px; gap:42px; }
  .entrust-kicker { font-size:11px; letter-spacing:.16em; }
  .entrust-hero-copy h1 { margin:20px 0 24px; font-size:clamp(39px,11vw,52px); line-height:.93; }
  .entrust-hero-copy h1 span { white-space:normal; }
  .entrust-hero-copy>p { font-size:15px; line-height:1.8; }
  .entrust-service-scope { margin-top:30px; padding-top:17px; }
  .entrust-service-scope li { padding-left:14px; font-size:12px; }
  .entrust-form.lead-page-form { padding:28px 20px 24px; }
  .entrust-form.lead-page-form h2 { font-size:26px; }
  .entrust-form .field { margin-top:13px; }
  .entrust-form.lead-form textarea { min-height:102px; }
  .entrust-form .captcha-field { grid-template-columns:minmax(0,1fr) 104px; }
  .entrust-form .captcha-field img { width:104px; }
  .entrust-process { padding:80px 0 84px; }
  .entrust-process-heading h2,.entrust-brief-copy h2,.entrust-contact h2 { font-size:clamp(35px,10vw,46px); }
  .entrust-process-heading p,.entrust-brief-copy>p { font-size:15px; line-height:1.8; }
  .entrust-process-list { margin-top:46px; grid-template-columns:1fr; }
  .entrust-process-list li,
  .entrust-process-list li:not(:last-child) { min-height:0; margin-right:0; padding:28px 0 30px 48px; border-bottom:0; }
  .entrust-process-list li:last-child { border-bottom:1px solid var(--entrust-rule); }
  .entrust-process-list li::before { top:28px; left:0; box-shadow:0 0 0 5px var(--entrust-surface); }
  .entrust-process-list li:not(:last-child)::after { content:""; position:absolute; top:36px; bottom:-1px; left:4px; width:1px; background:var(--entrust-rule); }
  .entrust-process-list h3 { margin:12px 0 10px; font-size:22px; }
  .entrust-brief { padding:80px 0 84px; }
  .entrust-brief-layout { gap:48px; }
  .entrust-brief-copy>p { margin-top:22px; }
  .entrust-brief-list { margin-top:38px; }
  .entrust-brief-list>div { min-height:0; padding:18px 0; grid-template-columns:72px minmax(0,1fr); gap:14px; }
  .entrust-brief-list dt { font-size:16px; }
  .entrust-brief-list dd { font-size:14px; }
  .entrust-advisor-scope { padding:38px 24px 34px; clip-path:polygon(0 0,100% 0,100% calc(100% - 24px),calc(100% - 24px) 100%,0 100%); }
  .entrust-advisor-scope h3 { margin:16px 0 30px; font-size:27px; }
  .entrust-advisor-scope li { min-height:0; padding:18px 0; grid-template-columns:94px minmax(0,1fr); gap:14px; }
  .entrust-contact { padding:70px 0 74px; }
  .entrust-contact-layout { gap:34px; }
  .entrust-contact p { margin-top:18px; }
  .entrust-contact-actions { max-width:none; }
  .entrust-phone,.entrust-scroll-link { min-height:60px; padding:11px 16px; }
  .entrust-phone strong { font-size:20px; }
}

@media (max-width:390px) {
  .entrust-hero-copy h1 { font-size:clamp(31px,8.7vw,35px); }
  .entrust-service-scope { display:grid; grid-template-columns:1fr 1fr; gap:12px 16px; }
  .entrust-form .captcha-field { grid-template-columns:minmax(0,1fr) 96px; }
  .entrust-form .captcha-field img { width:96px; }
  .entrust-advisor-scope li { grid-template-columns:1fr; gap:8px; }
  .entrust-phone { align-items:flex-start; flex-direction:column; gap:4px; }
}

@media (prefers-reduced-motion:reduce) {
  .entrust-page .entrust-hero-media { opacity:1!important; transform:scale(1.025)!important; }
  .entrust-page .entrust-hero-grid { opacity:.34!important; transform:none!important; }
  .entrust-page .entrust-hero-plan,
  .entrust-page .entrust-hero-copy>*,
  .entrust-page .entrust-form,
  .entrust-page [data-entrust-reveal],
  .entrust-page [data-entrust-reveal]>* { opacity:1!important; transform:none!important; transition:none!important; }
}

/* Whole-site entrance motion: one reusable, progressive enhancement layer. */
@media (prefers-reduced-motion:no-preference) {
  html.site-motion-enabled [data-site-reveal] {
    opacity:0;
    transform:translate3d(0,30px,0);
    will-change:opacity,transform;
    transition:opacity .7s ease var(--site-motion-delay,0ms),transform .86s cubic-bezier(.22,1,.36,1) var(--site-motion-delay,0ms);
  }
  html.site-motion-enabled [data-site-reveal="soft"] { transform:translate3d(0,16px,0); }
  html.site-motion-enabled [data-site-reveal="from-left"] { transform:translate3d(-34px,0,0); }
  html.site-motion-enabled [data-site-reveal="from-right"] { transform:translate3d(34px,0,0); }
  html.site-motion-enabled [data-site-reveal="scale"] { transform:translate3d(0,24px,0) scale(.97); }
  html.site-motion-enabled [data-site-reveal].is-site-visible,
  html.site-motion-enabled [data-site-reveal]:focus-within {
    opacity:1;
    transform:translate3d(0,0,0) scale(1);
    will-change:auto;
  }
}

@media (max-width:760px) and (prefers-reduced-motion:no-preference) {
  html.site-motion-enabled [data-site-reveal="from-left"],
  html.site-motion-enabled [data-site-reveal="from-right"] { transform:translate3d(0,22px,0); }
  html.site-motion-enabled [data-site-reveal].is-site-visible,
  html.site-motion-enabled [data-site-reveal]:focus-within { transform:translate3d(0,0,0) scale(1); }
}

@media (prefers-reduced-motion:reduce) {
  [data-site-reveal],
  [data-site-reveal]>* { opacity:1!important; transform:none!important; transition:none!important; }
}

@media (max-width:760px) and (max-height:620px) {
  .quick-contact-modal>div,.quick-contact-modal>.dialog-card,.quick-contact-modal>form.dialog-card { padding:22px 20px 16px; }
  .quick-contact-modal .dialog-close { top:8px; right:8px; }
  .quick-contact-modal h2 { font-size:24px; }
  .quick-contact-modal>div>p,.quick-contact-modal>.dialog-card>p { margin:6px 0 10px; line-height:1.5; }
  .quick-contact-modal .lead-form label { margin-top:9px; }
  .quick-contact-modal .lead-form input:not([type="checkbox"]):not([type="hidden"]) { height:44px; }
  .quick-contact-modal .captcha-field img { height:44px; }
  .quick-contact-modal .lead-form .primary-button { min-height:48px; margin-top:5px; }
}
