/* 乾坤志联 · 门头白蓝主题
 * 由此文件覆盖原站公共样式，保留原始结构、交互和发布功能。
 * 页面由 lib/render.js 和 lib/pages.js 生成，更新发布后仍然生效。
 */
:root {
  --ink:#102b52;
  --paper:#fff;
  --yellow:#0968e8; /* 历史 yellow 按钮类继续复用，实际显示品牌蓝 */
  --blue:#0968e8;
  --blue-dark:#0756c1;
  --blue-deep:#0a3b83;
  --muted:#62748b;
  --line:#dce7f2;
  --darkline:#c5ddf5;
}
html{scroll-padding-top:96px}
body{background:#fff;color:var(--ink);line-height:1.75}
h1,h2,h3{letter-spacing:-.025em}
h1{font-size:clamp(36px,4.4vw,63px)}
h2{font-size:clamp(28px,2.7vw,37px)}
h3{font-size:21px}
p,li{color:inherit}
::selection{background:#cfe7ff;color:#082c64}
:focus-visible,a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible{outline-color:#0968e8}
.wrap{width:min(1180px,calc(100% - 72px))}
.wide{width:min(1340px,calc(100% - 64px))}
.section{padding-block:78px}
.eyebrow{font-size:11px;letter-spacing:.14em;color:#0968e8;font-weight:750;margin-bottom:16px}
.lead{color:var(--muted);font-size:18px}
.text-link{color:#0968e8;border-color:#b4d4fb;text-decoration:none}
.text-link:hover,.inline-links a:hover{color:#054aa5;border-color:#0968e8}
.button,.button.yellow{background:#0968e8;border:1px solid #0968e8;color:#fff;border-radius:10px;gap:20px;min-height:49px;padding:12px 21px;box-shadow:0 7px 18px rgba(9,104,232,.16);font-weight:700;transition:background .2s, transform .2s,box-shadow .2s}
.button:hover,.button.yellow:hover{background:#0755bd;border-color:#0755bd;color:#fff;transform:translateY(-1px);box-shadow:0 10px 22px rgba(9,104,232,.22)}
.button-outline,.button.button-outline{background:rgba(255,255,255,.88);border:1px solid #0968e8;color:#075ac9;box-shadow:none}
.button.button-outline:hover{background:#e8f3ff;color:#054cae}
.skip{background:#0968e8;color:#fff;border-radius:8px}
input,textarea{border:1px solid #bacde3;border-radius:9px;background:#fff;min-height:45px}
input:focus,textarea:focus{border-color:#0968e8}

/* 全站顶部：白底深蓝字，品牌蓝作为点缀 */
.header{background:rgba(255,255,255,.97);border-bottom:1px solid #dce8f7;color:#112e5a;box-shadow:0 3px 18px rgba(14,67,131,.055);backdrop-filter:blur(12px)}
.nav-shell{min-height:79px;gap:20px}
.brand{gap:12px}
.brand-symbol{color:#0868e9;font-weight:850;letter-spacing:-.07em;font-size:32px;line-height:1}
.brand-symbol span{color:#84bafb}
.brand b{font-weight:800;color:#0b2d63;font-size:21px;letter-spacing:.09em}
.brand small{color:#6982a3;font-size:10px;letter-spacing:0}
nav{gap:19px}
nav a{color:#203b62;font-weight:650;font-size:13px;transition:color .2s}
nav a:hover,nav a[aria-current]{color:#0868e9}
nav a[aria-current]:after{background:#0968e8;height:3px;border-radius:4px;bottom:3px}
.nav-phone{border-left:none;padding:12px 17px;min-height:43px;color:white;background:#0968e8;border-radius:24px;font-weight:700;font-size:13px;transition:background .2s}
.nav-phone:hover{background:#0756c1}
.menu-button{background:#eff7ff;color:#0758c6;border:1px solid #c8defb;border-radius:9px}

/* 首页 Hero：真实白蓝门头照片＋浅蓝渐变，确保文字在实色区域 */
.hero,.hero-blue{min-height:625px;background:linear-gradient(105deg,#e6f3ff 0%,#fff 65%);color:#102b52}
.hero-image{inset:0 0 0 auto;width:66%;height:100%;object-fit:cover;object-position:52% center}
.hero:after{background:linear-gradient(90deg,#e6f3ff 0%,#f0f8ff 26%,rgba(244,250,255,.98) 34%,rgba(244,250,255,.83) 45%,rgba(244,250,255,.22) 65%,rgba(244,250,255,0) 82%),linear-gradient(0deg,rgba(224,242,255,.44),transparent 30%)}
.hero-content{padding-block:82px 90px}
.hero h1{max-width:775px;color:#0c2e61;line-height:1.26;font-size:clamp(36px,4.1vw,60px);margin-bottom:24px;font-weight:800}
.hero h1 span{color:#0968e8}
.hero-location{color:#0968e8;font-weight:700;margin-bottom:24px;font-size:14px;letter-spacing:.05em}
.hero-location span{color:#56789f;font-size:12px}
.hero-sub{color:#375779;max-width:650px;font-size:17px;line-height:1.95;margin-bottom:26px}
.hero-actions{display:flex;align-items:center;flex-wrap:wrap;gap:13px}
.hero-contact{color:#56769b;margin-top:27px;gap:25px;align-items:center}
.hero-contact a{color:#0758c7;font-size:19px}
.hero-index{color:#3a679a;bottom:18px;letter-spacing:.1em}
.hero-index span{color:#3f6c9b}

/* 白底信任信息条 */
.fact-strip{position:relative;z-index:3;background:none;margin-top:-33px}
.fact-strip>.wide{background:#fff;box-shadow:0 13px 38px rgba(20,81,145,.12);border:1px solid #e3edf8;border-radius:17px;padding:24px 30px;grid-template-columns:1.2fr 1.05fr 1fr .95fr;gap:18px}
.fact-strip>.wide>div{padding-right:12px;border-right:1px solid #e2ebf6}
.fact-strip span{color:#627c9c;font-size:12px}
.fact-strip b{color:#0b4fba;font-size:19px;letter-spacing:-.015em;margin:2px 0}
.fact-strip small{color:#72849a;font-size:12px}
.fact-strip a{color:#0b3977;border:0;padding:0;line-height:1.6}
.fact-strip strong{color:#0968e8;font-size:14px}

/* 首页服务卡片：与已确认的示意图视觉保持一致，使用真实门店素材 */
.home-services{padding-top:75px}
.home-services .section-heading{align-items:end;margin-bottom:25px}
.home-services h2{margin-bottom:8px}
.section-summary{font-size:15px;color:var(--muted);margin:0;max-width:850px}
.service-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.service-card{min-width:0;background:#fff;border:1px solid #e0eaf6;border-radius:15px;overflow:hidden;box-shadow:0 5px 23px rgba(14,71,127,.07);transition:transform .2s,box-shadow .2s,border-color .2s}
.service-card:hover{transform:translateY(-4px);box-shadow:0 14px 30px rgba(16,95,177,.16);border-color:#abd3ff}
.service-card:focus-visible{outline:3px solid #0968e8}
.service-card-image{height:190px;position:relative;background:#e8f2fd;overflow:hidden}
.service-card-image img{height:100%;object-fit:cover;transition:transform .35s}
.service-card:hover img{transform:scale(1.035)}
.service-card-count{position:absolute;right:14px;top:14px;color:#fff;background:rgba(10,67,143,.77);border-radius:7px;font-size:12px;padding:3px 10px;letter-spacing:.1em}
.service-card-content{padding:20px 21px 19px}
.service-card-en{font-size:10px;color:#7296c3;font-weight:700;letter-spacing:.11em;margin:0 0 5px}
.service-card h3{font-size:22px;color:#133662;letter-spacing:-.02em;margin-bottom:5px}
.service-card-content>p:not(.service-card-en){font-size:13px;color:#71819a;line-height:1.65;min-height:22px;margin:0 0 15px}
.service-card-link{display:inline-flex;align-items:center;gap:15px;min-height:35px;padding:5px 12px;color:#0968e8;background:#eef6ff;border-radius:7px;font-size:12px;font-weight:750}
.service-disclaimer{margin:17px 0 0;color:#72839a;font-size:12px}
.service-disclaimer a{color:#0968e8;text-decoration:underline;text-underline-offset:3px}

/* 内页项目列表及导航 */
.service-row{border-top-color:#dfebf7;border-radius:8px}
.service-row:hover{background:#eef7ff}
.service-row h3{color:#153b6e}
.service-row .arrow,.arrow{color:#0968e8}
.service-price{color:#607793}
.price-note{color:#0d4eaa}
.dark{background:linear-gradient(140deg,#edf7ff,#e4f1ff);color:#0d3266}
.dark .eyebrow{color:#0968e8}
.dark p,.dark .section-heading>p{color:#5c7492}
.dark .caption{color:#6b83a0}
.section-heading h2{color:#102e60}
.section-heading>p{color:#627c9b}
.photo-mosaic{gap:16px;grid-template-columns:1.25fr 1fr .8fr}
.photo-mosaic a:nth-child(2),.photo-mosaic a:nth-child(3){padding-top:0}
.photo-mosaic a{background:#fff;border:1px solid #dae8f8;border-radius:13px;overflow:hidden;box-shadow:0 8px 25px rgba(16,75,135,.075)}
.photo-mosaic img,.photo-mosaic a:nth-child(3) img{aspect-ratio:4/3;object-fit:cover}
.photo-mosaic a:nth-child(3) img{object-position:center 58%}
.photo-mosaic span{min-height:60px;padding:16px 14px;border:0;color:#1355a9;font-size:13px;font-weight:700}
.certificate{background:#f1f6fb;border:1px solid #e0eaf5;border-radius:12px;max-height:400px;object-fit:contain}
.rule-list p{border-color:#dfeaf5}
.rule-list b{color:#0968e8}
.process-band{background:#f3f9ff}
.steps{gap:18px}
.steps li{padding:22px;background:#fff;border:1px solid #dce9f7;border-top:3px solid #0968e8;border-radius:10px;box-shadow:0 5px 20px rgba(15,79,142,.05);min-height:220px}
.steps b{color:#0968e8;font-weight:800}
.steps h3{color:#143b70;margin-top:15px;font-size:21px}
.steps p{font-size:14px;color:#637893}
.faq-item{border-color:#dce7f3}
.faq-item h3{font-size:19px;color:#123b73}
.faq-item h3:before{content:'Q';display:inline-flex;width:26px;height:26px;align-items:center;justify-content:center;background:#e4f2ff;color:#0968e8;border-radius:8px;font-weight:850;font-size:14px;margin-right:10px}
.faq-item p{color:#526b88;font-size:15px;padding-left:36px}
.inline-links{gap:10px 12px}
.inline-links a{font-size:13px;padding:7px 13px;background:#f0f7ff;color:#0b5fc8;border:1px solid #d7e9fd;border-radius:9px;min-height:42px}
.news-row{border-color:#dce8f4}
.news-row h3 a:hover{color:#0968e8}
.news-row time{color:#6483a6}
.news-row p{color:#60768f}
.contact-band{background:linear-gradient(110deg,#e5f3ff 0%,#c8e5ff 100%);border-top:1px solid #d0e6fc;color:#0b3471}
.contact-band .eyebrow{color:#0868e9}
.contact-band h2{color:#0b3471}
.contact-band p{color:#466e9a}
.big-phone{color:#075ac5}

/* 全站内页浅蓝区域 */
.page-intro{padding-block:64px 48px}
.page-intro h1{color:#103a76;font-size:clamp(34px,4.2vw,59px)}
.service-showcase{background:linear-gradient(130deg,#e6f3ff,#d5eaff);color:#0e3874;border-radius:15px;overflow:hidden}
.service-showcase>div{padding:45px}
.service-showcase p{color:#5a7698}
.service-showcase .eyebrow{color:#0968e8}
.scenario-grid article{border-top-color:#acd2fa}
.scenario-grid a{color:#075bc9}
.detail-cover{background:#eaf5ff;border-radius:13px;overflow:hidden}
.detail-cover>div>span{color:#6883a3}
.gallery-record img{border-radius:12px}
.photo-grid figcaption{color:#617b9b}
.record-cover img{background:#f1f8ff}
.contact-form{background:#f0f7ff;border:1px solid #daebfd;border-radius:15px}
.contact-form h2{color:#0d3975}
.contact-number{color:#0767e6}
.form-status{color:#1f7b58}
.article-body blockquote{border-color:#0968e8}
.related{background:#eef6ff;border-radius:11px;border:1px solid #daebfd}
.admin-body{background:#f2f7fc}
.admin-card{background:#fff;border:1px solid #d9e7f5;border-radius:11px;box-shadow:0 4px 14px rgba(19,73,128,.035)}
.admin-header{border-bottom-color:#0968e8}
.admin-card button.secondary{border-color:#b7d1f0}

/* 页脚：蓝底、备案独立居中、法律链接第三行 */
footer{background:linear-gradient(125deg,#0b4aa0,#103879);padding:48px 24px 29px;color:#d8e8fa;text-align:center}
footer p{color:#d8e8fa;font-size:13px}
footer .footer-brand{color:#fff;font-size:23px;margin-bottom:12px}
.footer-brand span{color:#bed7f4;margin-top:4px}
.footer-main{padding-bottom:15px}
footer a{transition:color .2s}
footer a:hover{color:#fff;text-decoration:underline}
footer .icp{border-top:1px solid rgba(222,239,255,.18);padding-top:12px;margin:0;color:#dceaff}
footer .icp a{color:#fff}
footer .legal{gap:25px;padding:5px 0 0;margin:0}
footer .legal a{color:#c8dffa;font-size:13px}

@media(max-width:1220px){
  .nav-shell{gap:14px}
  nav{gap:12px}
  nav a{font-size:12px}
  .brand b{font-size:19px}
  .nav-phone{padding:9px 12px}
}
@media(max-width:1150px){
  .nav-shell>nav{top:78px;background:#fff;border-bottom:1px solid #d9e8f9;box-shadow:0 14px 25px rgba(19,66,120,.13);padding:15px 24px}
  .nav-shell>nav a{color:#173d75;border-radius:7px;font-size:14px}
  .nav-shell>nav a:hover{background:#eef7ff}
  .menu-button{display:block}
  .nav-phone{border:0}
  .hero-image{width:74%;object-position:49% center}
  .hero:after{background:linear-gradient(90deg,#e6f3ff 0%,#ecf7ff 34%,rgba(238,248,255,.88) 53%,rgba(238,248,255,.15) 85%)}
  .fact-strip>.wide{gap:12px}
  .fact-strip b{font-size:16px}
}
@media(max-width:850px){
  .wrap,.wide{width:calc(100% - 40px)}
  .section{padding-block:58px}
  .nav-shell{min-height:76px}
  .nav-shell>nav{top:75px}
  .hero{min-height:600px}
  .hero-content{padding-block:70px 82px}
  .hero-image{width:100%;opacity:.68;object-position:54% center}
  .hero:after{background:linear-gradient(90deg,rgba(235,247,255,.98),rgba(235,247,255,.90) 45%,rgba(235,247,255,.50) 83%),linear-gradient(0deg,rgba(235,247,255,.6),transparent 65%)}
  .hero h1{font-size:clamp(39px,6vw,53px)}
  .fact-strip>.wide{grid-template-columns:repeat(2,minmax(0,1fr));padding:22px;gap:20px}
  .fact-strip>.wide>div:nth-child(2){border-right:0}
  .service-cards{grid-template-columns:repeat(2,minmax(0,1fr))}
  .service-card-image{height:185px}
  .photo-mosaic{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
  .photo-mosaic span{font-size:12px;padding:12px}
  .steps{grid-template-columns:repeat(2,1fr)}
  .steps li{min-height:0}
  .contact-band h2{font-size:32px}
}
@media(max-width:540px){
  .nav-shell{min-height:72px;width:calc(100% - 32px)}
  .brand-symbol{font-size:29px}
  .brand b{font-size:18px}
  .brand small{font-size:9px}
  .nav-shell>nav{top:71px;grid-template-columns:repeat(2,1fr)}
  .hero{min-height:625px;align-items:flex-start}
  .hero-image{width:100%;height:100%;object-position:55% center;opacity:.57}
  .hero:after{background:linear-gradient(180deg,rgba(236,247,255,.98),rgba(235,247,255,.96) 36%,rgba(236,247,255,.79) 70%,rgba(236,247,255,.40))}
  .hero-content{padding:60px 0 75px}
  .hero h1{font-size:clamp(36px,9.2vw,44px);line-height:1.3;margin:0 0 21px}
  .hero-location{font-size:12px;margin-bottom:24px}
  .hero-location span{display:block;margin:6px 0 0}
  .hero-sub{font-size:15px;line-height:1.9;margin-bottom:22px;color:#375578}
  .hero-actions{gap:9px}
  .hero-actions .button{font-size:13px;min-height:47px;padding:10px 13px;gap:8px}
  .hero-contact{display:flex;flex-wrap:wrap;gap:7px 15px;margin-top:20px}
  .hero-contact a{font-size:18px}
  .hero-contact span{display:block;margin:0;font-size:12px}
  .hero-index{left:20px;right:20px;font-size:9px;bottom:15px}
  .hero-index span{font-size:8px}
  .fact-strip{margin-top:-20px}
  .fact-strip>.wide{width:calc(100% - 32px);padding:18px 17px;gap:18px 10px;border-radius:12px}
  .fact-strip>.wide>div{padding-right:6px}
  .fact-strip span,.fact-strip small{font-size:11px}
  .fact-strip b{font-size:14px;line-height:1.5}
  .fact-strip a{font-size:11px}
  .fact-strip strong{font-size:12px}
  .section{padding-block:48px}
  .home-services .section-heading{align-items:flex-start;gap:14px;flex-wrap:wrap}
  .home-services .section-heading h2{font-size:29px}
  .section-summary{font-size:14px}
  .service-cards{grid-template-columns:repeat(2,minmax(0,1fr));gap:11px}
  .service-card{border-radius:11px}
  .service-card-image{height:114px}
  .service-card-count{right:7px;top:7px;font-size:10px;padding:2px 7px}
  .service-card-content{padding:12px 10px 14px}
  .service-card-en{font-size:9px;letter-spacing:0}
  .service-card h3{font-size:17px;line-height:1.3;min-height:23px}
  .service-card-content>p:not(.service-card-en){font-size:11px;min-height:35px;margin-bottom:9px}
  .service-card-link{font-size:11px;min-height:32px;padding:4px 8px}
  .photo-mosaic{grid-template-columns:1fr;gap:15px}
  .photo-mosaic a:nth-child(2),.photo-mosaic a:nth-child(3){padding-top:0}
  .photo-mosaic img,.photo-mosaic a:nth-child(3) img{aspect-ratio:16/10;object-fit:cover}
  .photo-mosaic span{min-height:0;font-size:13px}
  .steps{grid-template-columns:1fr;gap:13px}
  .steps li{padding:17px}
  .steps h3{margin:8px 0 6px}
  .steps p{font-size:13px}
  .faq-item h3{font-size:17px}
  .faq-item p{font-size:14px;line-height:1.75}
  .service-showcase{grid-template-columns:1fr}
  .service-showcase>div{padding:22px}
  .contact-band h2{font-size:30px}
  .contact-band>.wrap{gap:18px}
  .contact-form{padding:20px}
  .service-card-image img{height:100%}
  footer{padding:43px 20px 25px}
  footer .legal{gap:12px 22px}
  footer .legal a{font-size:12px}
}
@media(prefers-reduced-motion:reduce){.button,.service-card,.service-card-image img{transition:none}}
