/* Geometric typography and a restrained survey-instrument palette. */
:root{--navy:#072a46;--ink:#142e42;--muted:#536b7b;--blue:#a6c5d9;--paper:#f2f6f8;--line:#cfdee7;--ice:#c4e4f3;--font-text:'DM Sans','Noto Sans SC','Microsoft YaHei',sans-serif;--font-display:'Space Grotesk','Noto Sans SC','Microsoft YaHei',sans-serif;--font-mono:'IBM Plex Mono','Noto Sans SC',monospace}
body{font-family:var(--font-text);-webkit-font-smoothing:antialiased}
h1,h2,h3,.footer-line,.metric-value{font-family:var(--font-display)}
h1,h2{font-weight:500}h3{letter-spacing:-.035em}
.hero h1{font-size:clamp(43px,4.5vw,68px);font-weight:500;letter-spacing:-.065em;line-height:1.12}
.hero-copy{background:radial-gradient(ellipse at 100% 0%,#21476380,transparent 66%),linear-gradient(145deg,#072a46,#081e34)}
.hero h1 em{color:#aecbdd}.hero .intro{color:#c6d7e2}
.eyebrow,.service-no,.decision-grid article>span,.steps article>span,.hero-foot{font-family:var(--font-mono);letter-spacing:.095em;font-weight:400}
.eyebrow{font-size:12px}.hero .eyebrow{color:#a6c5d9;font-size:11px;line-height:1.8;letter-spacing:.12em}
header{border-bottom-color:#d2dfe7}header nav a{font-weight:500;letter-spacing:-.015em;position:relative}
header nav a:after{content:'';position:absolute;left:0;right:100%;bottom:-8px;height:2px;background:#416f8c;transition:right .2s}header nav a:hover:after{right:0}
.language-switch{border-radius:0;border-color:#c2d1db}.language-switch button{font-family:var(--font-mono)}.language-switch button[aria-pressed=true]{border-radius:0}
.hero-actions .free-check{background:#c7e3f1;color:#092a42;border-color:#c7e3f1;box-shadow:0 0 28px #9ad9f010;font-weight:600;transition:background .2s,box-shadow .2s,transform .2s}
.hero-actions .free-check:hover{background:#e2f4fc;box-shadow:0 0 30px #acdced26;transform:translateY(-2px)}
.hero-actions .free-badge{border-color:#678a9e;background:#ffffff25;font-family:var(--font-mono);border-radius:0;font-weight:500}
.hero-actions .register-check{border-color:#61829a;background:#b6dcf406;transition:border-color .2s,background .2s}.hero-actions .register-check:hover{border-color:#b7d7e8;background:#b6dcf410}
.hero-actions .button{font-family:var(--font-display)}.hero-actions .button>span:last-child{font-size:20px}.discuss-link{color:#cee2ef}
.hero-foot{border-color:#6a8fa345;font-size:10px;line-height:1.8}
.section-heading h2,.lookup-heading h2,.contact-section h2{letter-spacing:-.055em}.section-heading h2 span,.lookup-heading h2 span{color:#6c879b}
.mainstream-services h3,.advisory-services h3,.decision-grid h3,.steps h3{font-weight:500}.mainstream-services article{border-top-color:#c1d4df}
.mainstream-services article:first-child{border-top-color:#3c718f}.mainstream-services .eyebrow,.service-no{color:#41647e}
.advisory-services article{border-top:2px solid #496f89;box-shadow:0 6px 22px #193e5504;transition:box-shadow .25s,border-color .25s}.advisory-services article:hover{border-color:#8db9cf;box-shadow:0 8px 30px #193e550a}
.expertise,.professional-section,.contact-section{background:#f2f6f8}.complex{background:linear-gradient(125deg,#082a43,#102235)}.complex h2{letter-spacing:-.045em}
.complex-details article{border-color:#6a8fa34a}.steps article{border-top-color:#b1c6d4}.steps article>span{color:#41647e}
.lookup-workspace{border-color:#c1d3df;box-shadow:0 10px 30px #14364d06}.lookup-sidebar{background:#fff}
.professional-form input,.professional-form select,.enquiry-form input,.enquiry-form select,.enquiry-form textarea,#address,#parcel-select{border-color:#b1c7d5;border-radius:0;font-family:var(--font-text)}
.professional-form button,.enquiry-form button,.address-row button,.check-button{background:#123b57;font-family:var(--font-display);transition:background .2s}
.professional-form button:hover,.enquiry-form button:hover,.address-row button:hover,.check-button:hover{background:#275775}
.contact-email{font-family:var(--font-display);letter-spacing:-.025em}.footer-line{font-weight:500;letter-spacing:-.04em}
.hero-motion{isolation:isolate;background:#071e32;min-height:620px}


.hero-motion:after{content:'';position:absolute;inset:0;pointer-events:none;background:linear-gradient(180deg,#071e32b8,transparent 24%,transparent 70%,#071e32a0);z-index:2}
.terrain-surface{position:absolute;inset:0;overflow:hidden;pointer-events:none;background:radial-gradient(ellipse at 45% 45%,#1c4f681c,transparent 70%)}
.terrain-map{display:block;width:100%;height:100%}
.terrain-image-ambient{opacity:.25;filter:blur(.55px)}.terrain-image-revealed{opacity:1}

.terrain-beam-glow{stroke:#a0daf5;stroke-width:4;opacity:.45;filter:blur(6px)}.terrain-beam-core{stroke:#daf3ff;stroke-width:1.05;opacity:.9;vector-effect:non-scaling-stroke}
.motion-title,.motion-labels{z-index:3}.motion-title{top:36px;left:34px;color:#adcedf;font-family:var(--font-mono);font-size:11px;letter-spacing:.13em}
.motion-title strong{font-family:var(--font-display);font-size:22px;color:#e1edf4;letter-spacing:-.04em;font-weight:400;margin-top:10px}
.motion-labels{left:34px;bottom:40px;gap:9px}.motion-labels>span{animation:none;border-left:1px solid #7baecb;background:#09243bae;color:#b7cfde;font-family:var(--font-mono);font-size:11px;letter-spacing:.025em;padding:8px 12px;max-width:235px;backdrop-filter:blur(4px)}

html[lang=zh] h1,html[lang=zh] h2,html[lang=zh] h3{font-family:'Noto Sans SC',var(--font-display);font-weight:500;letter-spacing:.025em}
html[lang=zh] .hero h1{font-size:clamp(39px,4.1vw,62px);font-weight:400;line-height:1.4;letter-spacing:.03em}html[lang=zh] .hero .intro{line-height:1.95;font-weight:400}
html[lang=zh] .eyebrow,html[lang=zh] .hero-foot{letter-spacing:.08em}html[lang=zh] .motion-title strong{letter-spacing:.06em;font-size:20px}
@media(max-width:1100px){header{height:auto;min-height:110px;padding-top:12px;padding-bottom:14px}.hero h1{font-size:48px}}
@media(max-width:760px){.hero-motion{min-height:470px}.hero h1{font-size:44px}.motion-labels{bottom:28px}.motion-title{top:26px}.hero-foot{font-size:10px}}
@media(max-width:600px){header{padding-top:8px;padding-bottom:15px}.hero h1{font-size:38px;letter-spacing:-.055em}html[lang=zh] .hero h1{font-size:35px;letter-spacing:.015em}.hero .eyebrow{font-size:10px;letter-spacing:.07em}.hero-actions .button{font-size:15px}.hero-actions .register-check{font-size:13px}.motion-title,.motion-labels{left:24px}.motion-title strong{font-size:21px}.motion-labels>span{font-size:10px;max-width:220px}.hero-motion{min-height:450px}.section-heading h2{font-size:31px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important}.hero-actions .button,.advisory-services article,header nav a:after{transition:none}.hero-actions .free-check:hover{transform:none}}
