:root { --background:#f7f9fc; --foreground:#071a38; --card:#fff; --card-foreground:#071a38; --primary:#0b2b52; --primary-foreground:#fff; --secondary:#eaf2fb; --secondary-foreground:#0b2b52; --muted:#eef3f8; --muted-foreground:#52647a; --accent:#1d69c5; --accent-foreground:#fff; --destructive:#d83933; --border:#dbe4ee; --input:#ccd7e3; --ring:#1d69c5; --radius:.875rem; }
@theme inline { --color-background:var(--background); --color-foreground:var(--foreground); --color-card:var(--card); --color-card-foreground:var(--card-foreground); --color-primary:var(--primary); --color-primary-foreground:var(--primary-foreground); --color-secondary:var(--secondary); --color-secondary-foreground:var(--secondary-foreground); --color-muted:var(--muted); --color-muted-foreground:var(--muted-foreground); --color-accent:var(--accent); --color-accent-foreground:var(--accent-foreground); --color-destructive:var(--destructive); --color-border:var(--border); --color-input:var(--input); --color-ring:var(--ring); --radius-sm:calc(var(--radius) - 4px); --radius-md:calc(var(--radius) - 2px); --radius-lg:var(--radius); --radius-xl:calc(var(--radius) + 6px); --font-sans:Arial,"Noto Sans SC","Microsoft YaHei",sans-serif; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; background:#faf9f6; color:var(--foreground); font-family:Arial,"Noto Sans SC","Microsoft YaHei",sans-serif; font-size:16px; line-height:1.6; }
a { color:inherit; text-decoration:none; }
button,input,select,textarea { font:inherit; }
button,a { -webkit-tap-highlight-color:transparent; }
.site-shell { min-height:100vh; overflow:clip; background:#f7f9fc; }
.container { width:min(1180px,calc(100% - 40px)); margin-inline:auto; }
.site-header { position:sticky; top:0; z-index:50; background:rgba(255,255,255,.94); border-bottom:1px solid #dbe4ee; backdrop-filter:blur(16px); }
.header-row { min-height:76px; display:flex; align-items:center; justify-content:space-between; gap:28px; }
.brand { display:inline-flex; align-items:center; gap:12px; font-weight:800; letter-spacing:-.035em; font-size:1.35rem; white-space:nowrap; }
.brand-mark { display:grid; place-items:center; width:38px; height:38px; border-radius:10px; color:#fff; background:#0b2b52; box-shadow:inset 0 -3px 0 rgba(255,255,255,.1); }
.brand-mark img { width:38px; height:38px; }
.brand-cn { color:#52647a; font-size:.78rem; font-weight:700; letter-spacing:.02em; }
.desktop-nav { display:flex; align-items:center; gap:28px; color:#334963; font-weight:700; font-size:.92rem; }
.desktop-nav a:hover { color:#1d69c5; }
.mobile-nav { display:none; }
.header-actions { display:flex; align-items:center; gap:10px; }
.lang-link { display:inline-flex; align-items:center; gap:6px; border:1px solid #cbd7e4; border-radius:999px; padding:9px 13px; font-weight:800; font-size:.84rem; }
.lang-link:hover { border-color:#1d69c5; color:#1d69c5; }
.button { display:inline-flex; align-items:center; justify-content:center; gap:9px; min-height:48px; padding:0 20px; border-radius:11px; border:1px solid transparent; font-weight:800; cursor:pointer; transition:transform .2s ease,box-shadow .2s ease,background .2s ease; }
.button:hover { transform:translateY(-2px); }
.button-primary { color:#fff; background:#d83933; box-shadow:0 10px 24px rgba(216,57,51,.18); }
.button-primary:hover { background:#bd2c27; box-shadow:0 13px 28px rgba(216,57,51,.26); }
.button-secondary { color:#0b2b52; background:#fff; border-color:#c7d4e2; }
.button-secondary:hover { border-color:#1d69c5; }
.button-wechat { color:#fff; background:#07c160; border-color:#07c160; box-shadow:0 10px 24px rgba(7,193,96,.22); }
.button-wechat:hover { color:#fff; background:#06ad56; border-color:#06ad56; box-shadow:0 13px 28px rgba(7,193,96,.3); }
.button-wechat .line-icon { width:22px; height:22px; stroke-width:1.8; }
.wechat-toast { position:fixed; left:50%; bottom:28px; z-index:120; display:flex; align-items:center; gap:11px; max-width:calc(100% - 32px); padding:14px 18px; border:1px solid rgba(255,255,255,.32); border-radius:14px; color:#fff; background:#073c25; box-shadow:0 18px 48px rgba(7,26,56,.24); opacity:0; transform:translate(-50%,18px); pointer-events:none; transition:opacity .22s ease,transform .22s ease; font-size:.92rem; font-weight:800; }
.wechat-toast.is-visible { opacity:1; transform:translate(-50%,0); }
.wechat-toast .line-icon { width:24px; height:24px; flex:none; color:#40dd88; }
body.modal-open { overflow:hidden; }
.wechat-modal { position:fixed; inset:0; z-index:110; display:grid; place-items:center; padding:24px; background:rgba(4,17,36,.68); backdrop-filter:blur(8px); opacity:0; visibility:hidden; transition:opacity .22s ease,visibility .22s ease; }
.wechat-modal.is-open { opacity:1; visibility:visible; }
.wechat-modal-card { position:relative; width:min(430px,100%); max-height:calc(100vh - 48px); overflow:auto; padding:30px; border:1px solid #d7e4df; border-radius:24px; background:#fff; box-shadow:0 28px 80px rgba(4,17,36,.3); text-align:center; transform:translateY(14px) scale(.98); transition:transform .22s ease; }
.wechat-modal.is-open .wechat-modal-card { transform:translateY(0) scale(1); }
.wechat-modal-close { position:absolute; top:14px; right:14px; display:grid; place-items:center; width:38px; height:38px; border:0; border-radius:50%; color:#334963; background:#eef3f5; cursor:pointer; font-size:1.55rem; line-height:1; }
.wechat-modal-brand { display:inline-flex; align-items:center; gap:8px; padding:8px 12px; border-radius:999px; color:#078943; background:#e8f8ef; font-size:.78rem; font-weight:900; letter-spacing:.08em; text-transform:uppercase; }
.wechat-modal-brand .line-icon { width:21px; height:21px; }
.wechat-modal h2 { margin:15px 0 7px; color:#071a38; font-size:1.65rem; line-height:1.15; letter-spacing:-.03em; }
.wechat-modal-message { margin:0 auto 18px; max-width:330px; color:#52647a; font-size:.92rem; line-height:1.55; }
.wechat-qr-frame { width:min(286px,100%); margin:0 auto; padding:10px; border:1px solid #dce8e2; border-radius:18px; background:#fff; box-shadow:0 12px 30px rgba(7,137,67,.09); }
.wechat-qr-frame img { display:block; width:100%; height:auto; border-radius:10px; }
.wechat-id-row { display:flex; align-items:center; justify-content:space-between; gap:18px; margin-top:18px; padding:13px 15px; border:1px solid #dce8e2; border-radius:13px; background:#f5fbf7; text-align:left; }
.wechat-id-row span,.wechat-id-row strong { display:block; }
.wechat-id-row span { color:#607188; font-size:.72rem; font-weight:800; text-transform:uppercase; letter-spacing:.06em; }
.wechat-id-row strong { margin-top:1px; color:#073c25; font-size:1rem; }
.wechat-save-link { display:inline-block; margin-top:15px; color:#078943; font-size:.85rem; font-weight:800; text-decoration:underline; text-underline-offset:3px; }
.button-small { min-height:42px; padding-inline:16px; font-size:.88rem; }
.hero { position:relative; background:linear-gradient(116deg,#fbfaf6 0%,#f2f6fb 70%,#e8eff7 100%); }
.hero-grid { min-height:620px; display:grid; grid-template-columns:minmax(0,.92fr) minmax(500px,1.08fr); align-items:stretch; }
.hero-copy { align-self:center; padding:72px 52px 72px max(20px,calc((100vw - 1180px)/2)); }
.eyebrow { display:inline-flex; align-items:center; gap:8px; margin:0 0 20px; color:#1d69c5; font-size:.78rem; font-weight:900; letter-spacing:.12em; text-transform:uppercase; }
.eyebrow-dot { width:8px; height:8px; border-radius:50%; background:#d83933; }
.hero h1 { max-width:670px; margin:0; color:#071a38; font-size:clamp(2.7rem,4.7vw,4.65rem); line-height:1.01; letter-spacing:-.055em; }
.hero h1 span { display:block; color:#1d69c5; }
html[lang="en"] .hero h1 { font-size:clamp(2.6rem,4vw,4.05rem); }
.hero-cn { margin:22px 0 0; color:#334963; font-size:clamp(1.08rem,1.45vw,1.35rem); font-weight:700; }
.hero-description { max-width:640px; margin:20px 0 0; color:#52647a; font-size:1.08rem; line-height:1.75; }
.hero-actions { display:flex; flex-wrap:wrap; gap:12px; margin-top:30px; }
.personal-note { display:flex; align-items:center; gap:13px; max-width:530px; margin-top:28px; padding:13px 15px; border:1px solid #d7e2ec; border-radius:15px; background:rgba(255,255,255,.76); box-shadow:0 10px 28px rgba(7,26,56,.06); }
.personal-note img { width:48px; height:48px; flex:none; border-radius:50%; object-fit:cover; object-position:78% 30%; }
.personal-note strong,.personal-note span { display:block; }
.personal-note strong { color:#173452; font-size:.9rem; }
.personal-note span { margin-top:2px; color:#607188; font-size:.78rem; }
.hero-points { display:flex; flex-wrap:wrap; gap:18px 28px; margin-top:20px; color:#334963; font-size:.88rem; font-weight:700; }
.hero-point { display:inline-flex; align-items:center; gap:8px; }
.hero-media { position:relative; min-height:620px; overflow:hidden; background:#dfe8f0; }
.hero-media>img { width:100%; height:100%; object-fit:cover; object-position:right center; }
.hero-media::after { content:""; position:absolute; inset:0; background:linear-gradient(90deg,rgba(237,244,252,.36),transparent 24%); pointer-events:none; }
.location-chip { position:absolute; right:28px; bottom:28px; z-index:2; display:flex; align-items:center; gap:12px; max-width:330px; padding:17px 19px; border:1px solid rgba(255,255,255,.7); border-radius:15px; background:rgba(255,255,255,.94); box-shadow:0 14px 40px rgba(7,26,56,.18); backdrop-filter:blur(10px); }
.chip-status { width:10px; height:10px; flex:none; border-radius:50%; background:#3aa56e; box-shadow:0 0 0 5px rgba(58,165,110,.13); }
.location-chip strong,.location-chip span { display:block; }
.location-chip strong { font-size:.92rem; }
.location-chip span { color:#52647a; font-size:.78rem; }
.trust-bar { background:#fff; border-block:1px solid #dbe4ee; }
.trust-grid { display:grid; grid-template-columns:repeat(4,1fr); }
.trust-item { display:flex; align-items:center; gap:12px; padding:22px 24px; border-right:1px solid #e0e7ef; color:#243a54; font-size:.88rem; font-weight:800; }
.trust-item:first-child { padding-left:0; }
.trust-item:last-child { border-right:0; }
.icon-blue { color:#1d69c5; flex:none; }
.line-icon { display:block; width:24px; height:24px; fill:none; stroke:currentColor; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; }
.trust-icon { display:grid; place-items:center; width:34px; height:34px; flex:none; border-radius:10px; color:#1d69c5; background:#eaf3fe; }
.trust-icon .line-icon { width:18px; height:18px; }
.process-symbol { color:#64a8f4; font-size:1.8rem; font-weight:900; line-height:1; }
.support-check { display:grid; place-items:center; width:22px; height:22px; flex:none; color:#64a8f4; font-weight:900; }
.support-check .line-icon { width:20px; height:20px; }
.section { padding:94px 0; }
.section-white { background:#fff; }
.section-navy { color:#fff; background:#071e3c; }
.section-soft { background:#eef4fa; }
#services { padding-block:78px; }
.section-heading { display:grid; grid-template-columns:.82fr 1.18fr; gap:60px; align-items:end; margin-bottom:42px; }
.section-heading h2 { margin:0; font-size:clamp(2.15rem,3.6vw,3.35rem); line-height:1.07; letter-spacing:-.045em; }
.section-heading p { max-width:600px; margin:0; color:#607188; font-size:1.05rem; }
.section-navy .section-heading p { color:#b9c9db; }
.process-grid { display:grid; grid-template-columns:repeat(4,1fr); border:1px solid #1f4268; border-radius:22px; background:#0b2b52; overflow:hidden; }
.process-step { --step-accent:#72aaf5; position:relative; min-height:215px; padding:34px 30px; border-right:1px solid #2a4d72; }
.process-step:nth-child(1) { --step-accent:#55d6c2; }
.process-step:nth-child(2) { --step-accent:#72aaf5; }
.process-step:nth-child(3) { --step-accent:#f3a45c; }
.process-step:nth-child(4) { --step-accent:#b2a4ff; }
.process-step::before { content:""; position:absolute; top:0; left:0; right:0; height:3px; background:var(--step-accent); opacity:.9; }
.process-step:last-child { border-right:0; }
.step-number { order:1; display:grid; place-items:center; width:38px; height:38px; border:1px solid var(--step-accent); border-radius:50%; color:var(--step-accent); background:rgba(5,22,46,.34); font-size:.78rem; font-weight:900; box-shadow:0 7px 18px rgba(0,0,0,.14); }
.process-top { display:flex; align-items:center; justify-content:flex-start; gap:12px; }
.process-icon { order:2; display:grid; place-items:center; width:58px; height:58px; border:1px solid var(--step-accent); border-radius:16px; color:var(--step-accent); background:linear-gradient(145deg,rgba(255,255,255,.09),rgba(255,255,255,.025)); box-shadow:inset 0 1px 0 rgba(255,255,255,.12),0 10px 24px rgba(0,0,0,.16); }
.process-icon .line-icon { width:30px; height:30px; stroke-width:1.9; }
.process-step h3 { margin:22px 0 6px; font-size:1.15rem; }
.process-step p { margin:0; color:#b9c9db; font-size:.9rem; }
.service-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:14px; }
.service-card { min-height:0; padding:20px; border:1px solid #d9e3ee; border-radius:17px; background:linear-gradient(145deg,#fff 0%,#fbfdff 100%); box-shadow:0 12px 28px rgba(7,26,56,.05); transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease; }
.service-card:hover { transform:translateY(-4px); border-color:#b9d1eb; box-shadow:0 18px 42px rgba(7,26,56,.09); }
.service-icon { display:grid; place-items:center; width:48px; height:48px; border-radius:13px; color:#1d69c5; background:#eaf3fe; }
.service-icon .line-icon { width:25px; height:25px; }
.service-photo { display:block; width:100%; aspect-ratio:16/9; border-radius:12px; background-image:url('/images/service-atlas.png'); background-size:300% auto; background-repeat:no-repeat; box-shadow:inset 0 0 0 1px rgba(7,26,56,.08); }
.service-photo-1 { background-position:0 15.2%; }
.service-photo-2 { background-position:50% 15.2%; }
.service-photo-3 { background-position:100% 15.2%; }
.service-photo-4 { background-position:0 84.8%; }
.service-photo-5 { background-position:50% 84.8%; }
.service-photo-6 { background-position:100% 84.8%; }
.service-card h3 { margin:17px 0 6px; font-size:1.08rem; }
.service-card p { margin:0; color:#607188; font-size:.9rem; line-height:1.55; }
.service-link { display:inline-flex; align-items:center; gap:7px; margin-top:12px; color:#1d69c5; font-weight:800; font-size:.85rem; }
.support-grid { display:grid; grid-template-columns:minmax(0,1.14fr) minmax(390px,.86fr); min-height:0; border-radius:24px; overflow:hidden; background:#071e3c; box-shadow:0 24px 60px rgba(7,26,56,.16); }
.support-photo { aspect-ratio:4/3; background:#e4ebf1; }
.support-photo img { display:block; width:100%; height:100%; object-fit:cover; object-position:center; }
.support-copy { align-self:center; min-width:0; max-width:100%; padding:46px 42px; color:#fff; }
.support-copy .eyebrow { display:flex; max-width:100%; font-size:.7rem; line-height:1.45; letter-spacing:.09em; white-space:normal; }
.support-copy h2 { max-width:100%; margin:0; font-size:clamp(2.05rem,3vw,2.8rem); line-height:1.1; letter-spacing:-.04em; text-wrap:balance; }
.support-copy>p { max-width:100%; margin:18px 0 0; color:#c0cddd; font-size:.94rem; line-height:1.7; }
.support-list { display:grid; gap:15px; margin-top:30px; }
.support-wechat { width:max-content; margin-top:28px; }
.support-item { display:flex; gap:12px; align-items:flex-start; }
.support-item strong,.support-item span { display:block; }
.support-item span { color:#b9c9db; font-size:.9rem; }
.price-band { display:grid; grid-template-columns:1fr 1fr auto; align-items:center; gap:34px; padding:44px 48px; border:1px solid #f0c3c0; border-radius:22px; background:linear-gradient(105deg,#fff 0%,#fff6f5 100%); }
.price-block { display:flex; align-items:center; gap:16px; }
.price-number { color:#c72d28; font-size:clamp(2.15rem,4vw,3.2rem); font-weight:900; letter-spacing:-.05em; line-height:1; }
.price-block span,.price-block strong { display:block; }
.price-block span { color:#607188; font-size:.88rem; }
.price-block strong { font-size:1rem; }
.price-note { margin-top:18px; color:#607188; font-size:.85rem; }
.location-card { display:grid; grid-template-columns:1.15fr .85fr; overflow:hidden; border:1px solid #d8e3ee; border-radius:24px; background:#f3f7fb; box-shadow:0 20px 52px rgba(7,26,56,.08); }
.location-photo { min-height:390px; }
.location-photo img { display:block; width:100%; height:100%; object-fit:cover; }
.location-copy { align-self:center; padding:54px 50px; }
.location-copy h2 { margin:0; font-size:clamp(2.25rem,3.8vw,3.7rem); line-height:1.04; letter-spacing:-.045em; }
.location-copy>p { margin:20px 0 0; color:#52647a; }
.location-points { display:grid; gap:12px; margin-top:28px; }
.location-points span { display:flex; align-items:center; gap:10px; color:#243a54; font-size:.9rem; font-weight:800; }
.location-points .line-icon { width:20px; height:20px; color:#1d69c5; }
.why-grid { display:grid; grid-template-columns:.9fr 1.1fr; gap:22px; }
.why-list { display:grid; align-content:center; gap:12px; padding:34px; border:1px solid #284c72; border-radius:20px; background:#0b2b52; }
.why-item { display:flex; align-items:center; gap:13px; padding:13px 0; border-bottom:1px solid #24486e; }
.why-item:last-child { border-bottom:0; }
.why-item>span { display:grid; place-items:center; width:30px; height:30px; flex:none; border-radius:50%; color:#fff; background:#1d69c5; }
.why-item .line-icon { width:17px; height:17px; }
.why-photo { position:relative; min-height:430px; overflow:hidden; border-radius:20px; }
.why-photo>img { width:100%; height:100%; object-fit:cover; object-position:right center; }
.why-photo::after { content:""; position:absolute; inset:0; background:linear-gradient(90deg,rgba(7,30,60,.04),rgba(7,30,60,.82)); }
.why-photo>div { position:absolute; right:34px; bottom:34px; z-index:1; width:min(330px,calc(100% - 68px)); color:#fff; }
.why-photo strong,.why-photo span { display:block; }
.why-photo strong { font-size:1.55rem; line-height:1.18; }
.why-photo span { margin-top:10px; color:#d0ddeb; font-size:.9rem; }
.fit-grid { display:grid; grid-template-columns:1fr 1fr; gap:18px; }
.fit-card { padding:30px; border:1px solid #d8e3ee; border-radius:20px; background:#fff; }
.fit-card.warning { border-color:#e7c5c2; background:#fff9f8; }
.fit-card h3 { margin:0 0 18px; font-size:1.18rem; }
.fit-card p { margin:18px 0 0; color:#52647a; font-size:.9rem; }
.tag-list { display:flex; flex-wrap:wrap; gap:10px; }
.tag { display:inline-flex; padding:7px 11px; border:1px solid #d9e3ee; border-radius:999px; color:#334963; background:#f8fbfe; font-size:.84rem; font-weight:700; }
.final-cta { position:relative; overflow:hidden; padding:82px 0; color:#fff; background:#0b2b52; }
.final-cta::after { content:""; position:absolute; width:420px; height:420px; right:-100px; top:-210px; border:80px solid rgba(100,168,244,.12); border-radius:50%; }
.cta-row { position:relative; z-index:1; display:flex; align-items:center; justify-content:space-between; gap:40px; }
.cta-row h2 { max-width:680px; margin:0; font-size:clamp(2.2rem,4vw,3.8rem); line-height:1.08; letter-spacing:-.045em; }
.cta-row p { margin:14px 0 0; color:#bfd0e2; }
.cta-actions { display:flex; flex-wrap:wrap; gap:10px; }
.cta-actions .button-secondary { color:#fff; background:transparent; border-color:#7291b3; }
.page-hero { padding:92px 0 72px; background:linear-gradient(116deg,#f7faff,#eaf2fb); }
.page-hero-grid { display:grid; grid-template-columns:minmax(0,1.1fr) minmax(360px,.9fr); gap:70px; align-items:center; }
.page-hero h1 { margin:0; max-width:800px; font-size:clamp(2.8rem,5vw,5.2rem); line-height:1; letter-spacing:-.055em; }
.page-hero p { max-width:700px; margin:24px 0 0; color:#52647a; font-size:1.08rem; }
.page-side-card { padding:30px; border:1px solid #cad7e5; border-radius:20px; background:#fff; box-shadow:0 16px 44px rgba(7,26,56,.08); }
.page-side-card h2 { margin:0 0 18px; font-size:1.25rem; }
.check-list { display:grid; gap:13px; margin:0; padding:0; list-style:none; }
.check-list li { display:flex; gap:10px; color:#3f536b; font-size:.94rem; }
.content-grid { display:grid; grid-template-columns:minmax(0,1.2fr) minmax(280px,.8fr); gap:70px; }
.prose h2 { margin:0 0 16px; font-size:clamp(2rem,3vw,3rem); line-height:1.12; letter-spacing:-.035em; }
.prose div+div { margin-top:54px; }
.prose p { color:#52647a; }
.side-note { align-self:start; position:sticky; top:110px; padding:26px; border-radius:18px; background:#eaf2fb; }
.side-note h3 { margin:10px 0 6px; }
.side-note p { color:#52647a; }
.pricing-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:18px; }
.pricing-card { padding:32px; border:1px solid #d9e3ee; border-radius:20px; background:#fff; }
.pricing-card.featured { border-color:#1d69c5; box-shadow:0 18px 50px rgba(29,105,197,.12); }
.pricing-card h2 { margin:0; font-size:1.2rem; }
.pricing-card .amount { margin:18px 0 8px; font-size:2.55rem; font-weight:900; letter-spacing:-.05em; color:#0b2b52; }
.pricing-card p { color:#607188; }
.contact-grid { display:grid; grid-template-columns:.8fr 1.2fr; gap:28px; }
.contact-panel,.form-card { padding:36px; border:1px solid #d9e3ee; border-radius:22px; background:#fff; }
.contact-panel h2 { margin-top:0; font-size:1.8rem; line-height:1.2; }
.contact-method { display:flex; gap:14px; align-items:flex-start; padding:20px 0; border-bottom:1px solid #e0e7ef; }
.contact-method:last-child { border-bottom:0; }
.contact-method strong,.contact-method span { display:block; }
.contact-method span { color:#607188; font-size:.9rem; }
.form-grid { display:grid; grid-template-columns:1fr 1fr; gap:18px; }
.field { display:grid; gap:7px; }
.field-full { grid-column:1/-1; }
.field label { color:#334963; font-size:.86rem; font-weight:800; }
.field input,.field select,.field textarea { width:100%; border:1px solid #cbd7e4; border-radius:10px; background:#fbfdff; color:#071a38; padding:12px 13px; outline:none; }
.field textarea { min-height:120px; resize:vertical; }
.field input:focus,.field select:focus,.field textarea:focus { border-color:#1d69c5; box-shadow:0 0 0 3px rgba(29,105,197,.12); }
.form-note { margin:14px 0 0; color:#607188; font-size:.8rem; }
.website-field { position:absolute!important; left:-10000px!important; width:1px!important; height:1px!important; overflow:hidden!important; }
.form-status { min-height:1.35em; margin:9px 0 0; font-size:.84rem; font-weight:750; }
.form-status.is-success { color:#078447; }
.form-status.is-error { color:#c52f27; }
.button:disabled { cursor:wait; opacity:.68; transform:none; box-shadow:none; }
.copy-button { display:inline-flex; align-items:center; gap:5px; border:0; background:transparent; color:#1d69c5; padding:4px 0 0; font-weight:800; cursor:pointer; }
.site-footer { padding:52px 0 28px; color:#b9c9db; background:#06172f; }
.footer-grid { display:grid; grid-template-columns:1.4fr .8fr .8fr; gap:50px; }
.footer-brand { color:#fff; }
.footer-copy { max-width:420px; margin-top:16px; font-size:.9rem; }
.footer-col h3 { margin:4px 0 16px; color:#fff; font-size:.88rem; text-transform:uppercase; letter-spacing:.1em; }
.footer-links { display:grid; gap:10px; font-size:.9rem; }
.footer-links a:hover { color:#fff; }
.footer-bottom { display:flex; justify-content:space-between; gap:20px; margin-top:44px; padding-top:22px; border-top:1px solid #193558; font-size:.78rem; }
@media (max-width:980px) {
  .desktop-nav,.header-actions .button { display:none; }
  .mobile-nav { display:flex; gap:24px; overflow:auto; padding:0 20px 10px; color:#334963; background:#fff; font-size:.84rem; font-weight:800; scrollbar-width:none; }
  .mobile-nav a { white-space:nowrap; }
  .hero-grid { min-height:auto; grid-template-columns:1fr; }
  .hero-copy { padding:72px 32px; }
  .hero-media { min-height:480px; }
  .trust-grid { grid-template-columns:1fr 1fr; }
  .trust-item:nth-child(2) { border-right:0; }
  .section-heading,.support-grid,.page-hero-grid,.content-grid,.contact-grid,.fit-grid,.location-card,.why-grid { grid-template-columns:1fr; }
  .section-heading { gap:20px; }
  .support-copy { padding:48px; }
  .location-photo { min-height:360px; }
  .why-photo { min-height:400px; }
  .price-band { grid-template-columns:1fr 1fr; }
  .price-band .button { grid-column:1/-1; }
  .service-grid,.pricing-grid { grid-template-columns:1fr 1fr; }
  .process-grid { grid-template-columns:1fr 1fr; }
  .process-step:nth-child(2) { border-right:0; }
  .process-step:nth-child(-n+2) { border-bottom:1px solid #2a4d72; }
  .side-note { position:static; }
}
@media (max-width:640px) {
  .container { width:min(100% - 28px,1180px); }
  .header-row { min-height:68px; }
  .brand { font-size:1.15rem; gap:8px; }
  .brand-cn { display:none; }
  .brand-mark { width:34px; height:34px; }
  .hero-copy { padding:58px 20px 48px; }
  .hero h1 { font-size:clamp(2.6rem,14vw,4.2rem); }
  .hero-media { min-height:330px; }
  .hero-media>img { object-position:right center; }
  .personal-note { align-items:flex-start; }
  .location-chip { left:14px; right:14px; bottom:14px; }
  .hero-actions .button { width:100%; }
  .trust-grid,.service-grid,.pricing-grid,.process-grid,.price-band,.footer-grid,.form-grid { grid-template-columns:1fr; }
  .trust-item { border-right:0; border-bottom:1px solid #e0e7ef; padding-left:0; }
  .trust-item:last-child { border-bottom:0; }
  .section { padding:70px 0; }
  .process-step { min-height:auto; border-right:0; border-bottom:1px solid #2a4d72; }
  .process-step:nth-child(3) { border-bottom:1px solid #2a4d72; }
  .support-photo { min-height:360px; }
  .support-copy { padding:34px 24px; }
  .location-copy { padding:34px 24px; }
  .location-photo { min-height:260px; }
  .why-list { padding:24px; }
  .why-photo { min-height:340px; }
  .price-band { padding:30px 24px; }
  .price-band .button { grid-column:auto; }
  .cta-row { align-items:flex-start; flex-direction:column; }
  .cta-actions,.cta-actions .button { width:100%; }
  .page-hero { padding:68px 0 54px; }
  .page-side-card,.contact-panel,.form-card { padding:26px 22px; }
  .field-full { grid-column:auto; }
  .footer-bottom { flex-direction:column; }
}
@media (prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } *,*::before,*::after { transition-duration:.01ms!important; animation-duration:.01ms!important; } }
