/* ============================================================
   东莞桥头落户网 · 基础样式（重置 / 变量 / 导航 / 抽屉 / 页脚 / 浮动件）
   纯静态 · 零第三方依赖
   ============================================================ */
:root{
  --p:#F25C9A; --pd:#853355; --pl:#FDE8F0;
  --c1:#F25C9A; --l1:#FEEFF5; --a1:#F25C9A;
  --c2:#2563EB; --l2:#E9EFFD; --a2:#2563EB;
  --c3:#65A30D; --l3:#F0F6E7; --a3:#65A30D;
  --c4:#10B981; --l4:#E7F8F2; --a4:#10B981;
  --c5:#F97316; --l5:#FEF1E8; --a5:#F97316;
  --c6:#06B6D4; --l6:#E6F8FB; --a6:#06B6D4;
  --c7:#0EA5E9; --l7:#E7F6FD; --a7:#0EA5E9;
  --c8:#EF4444; --l8:#FDECEC; --a8:#EF4444;
  --bg1:#FFFFFF;
  --bg2:#F0F4FE;
  --bg3:linear-gradient(160deg,#F0F6E7 0%,#FFFFFF 72%);
  --bg4:#F1FBF7;
  --bg5:linear-gradient(120deg,#FFF4EC 0%,#EEFAFC 100%);
  --bg6:#FAFBFD;
  --bg7:#EEF9FD;
  --bg8:linear-gradient(200deg,#FFFFFF 0%,#FEEEEE 100%);
  --bg9:#FEF5F9;
  --bg10:linear-gradient(135deg,#F2F6FE 0%,#EEFAF6 100%);
  --bg11:#F6F8FC;
  --bg12:linear-gradient(150deg,#E9F8FB 0%,#FFFFFF 68%);
  --ink:#16202F; --ink-2:#3A465C; --ink-3:#5A6779; --ink-4:#8894A6;
  --hlc:#93D6F5;
  --maxw:1140px; --edge:26px; --secpy:70px; --gap:18px; --gap2:40px;
  --rad:14px; --rad2:22px; --btnr:999px; --heropy:76px;
  --navh:80px; --navh-m:66px;
}

*,*::before,*::after{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{
  font-family:"PingFang SC","HarmonyOS Sans SC","Microsoft YaHei","Hiragino Sans GB",system-ui,-apple-system,sans-serif;
  color:var(--ink);background:#fff;line-height:1.8;font-size:16px;
  padding-top:var(--navh);overflow-x:hidden;-webkit-font-smoothing:antialiased;
}
img{max-width:100%;display:block;border:0}
a{color:inherit;text-decoration:none}
ul,ol{list-style:none}
button,input{font:inherit;color:inherit}
button{border:0;background:none;cursor:pointer}
table{border-collapse:collapse;width:100%}
::selection{background:var(--p);color:#fff}

.wrap{width:100%;max-width:var(--maxw);margin:0 auto;padding:0 var(--edge)}
.sec{padding:var(--secpy) 0;position:relative;overflow:hidden}
.sec--tight{padding:calc(var(--secpy) * .72) 0}

/* ---------- 区块标题 ---------- */
.shead{text-align:center;margin-bottom:calc(var(--gap) * 1.9);position:relative;z-index:2}
.shead--left{text-align:left}
.skicker{
  display:inline-flex;align-items:center;gap:7px;font-size:13px;letter-spacing:.14em;
  font-weight:700;text-transform:uppercase;padding:6px 15px;border-radius:999px;
  background:#fff;box-shadow:0 3px 12px rgba(15,23,42,.07);margin-bottom:14px;
}
.skicker i{width:6px;height:6px;border-radius:50%;background:currentColor;display:block}
.stitle{font-size:clamp(23px,3.1vw,34px);font-weight:800;letter-spacing:-.01em;line-height:1.35;color:var(--ink)}
.stitle em{font-style:normal;color:var(--p)}
.ssub{margin-top:12px;font-size:15.5px;color:var(--ink-3);max-width:760px;margin-left:auto;margin-right:auto}
.shead--left .ssub{margin-left:0}
.sline{width:60px;height:4px;border-radius:4px;margin:16px auto 0;background:linear-gradient(90deg,var(--p),var(--a3))}
.shead--left .sline{margin-left:0}

/* ---------- 按钮 ---------- */
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:8px;
  padding:13px 30px;border-radius:var(--btnr);font-size:15.5px;font-weight:700;
  transition:transform .28s cubic-bezier(.22,.8,.3,1),box-shadow .28s,background .28s,color .28s;
  white-space:nowrap;cursor:pointer;line-height:1.2;
}
.btn svg{width:18px;height:18px;flex:none}
.btn--main{background:linear-gradient(120deg,var(--p),var(--a2));color:#fff;box-shadow:0 10px 24px -10px var(--p)}
.btn--main:hover{transform:translateY(-3px);box-shadow:0 16px 32px -10px var(--p)}
.btn--line{border:1.6px solid var(--p);color:var(--p);background:#fff}
.btn--line:hover{background:var(--pl);transform:translateY(-3px)}
.btn--glass{background:rgba(255,255,255,.16);border:1.6px solid rgba(255,255,255,.7);color:#fff;backdrop-filter:blur(6px)}
.btn--glass:hover{background:rgba(255,255,255,.3);transform:translateY(-3px)}
.btn--white{background:#fff;color:var(--p);box-shadow:0 10px 26px -12px rgba(15,23,42,.5)}
.btn--white:hover{transform:translateY(-3px)}
.btn--sm{padding:10px 22px;font-size:14px}

/* ---------- 顶部导航（80px 纯白，滚动不变色） ---------- */
.nav{position:fixed;top:0;left:0;right:0;z-index:900;background:#FFFFFF;border-bottom:1px solid #EEF1F6;transition:box-shadow .3s}
.nav.is-stuck{box-shadow:0 6px 22px rgba(15,23,42,.07)}
.nav__in{display:flex;align-items:center;height:var(--navh);gap:16px;width:100%;max-width:var(--maxw);margin:0 auto;padding:0 var(--edge)}
.brand{display:flex;align-items:center;gap:10px;flex:none}
.brand__logo{height:60px;width:auto;object-fit:contain}
.brand__txt{display:flex;flex-direction:column;justify-content:center;gap:4px;line-height:1.4}
.brand__name{font-size:23.5px;font-weight:800;color:var(--p);letter-spacing:.03em;line-height:1.3;white-space:nowrap}
.brand__slogan{font-size:14.5px;font-weight:500;color:var(--p);opacity:.78;line-height:1.38;letter-spacing:.02em;white-space:nowrap}
.menu{display:flex;align-items:center;gap:0;margin-left:auto;min-width:0}
.menu a{position:relative;padding:8px 11px;font-size:15px;font-weight:600;color:#41506B;border-radius:9px;transition:.25s;white-space:nowrap}
.menu a::after{content:"";position:absolute;left:50%;bottom:3px;width:0;height:2.5px;border-radius:2px;background:var(--p);transform:translateX(-50%);transition:width .28s}
.menu a:hover{color:var(--p);background:var(--pl)}
.menu a:hover::after,.menu a.on::after{width:22px}
.menu a.on{color:var(--p)}
.nav__cta{flex:none;margin-left:8px}
.burger{display:none;flex-direction:column;justify-content:center;gap:5.5px;width:44px;height:44px;margin-left:auto;border-radius:11px;background:var(--pl)}
.burger span{width:20px;height:2.5px;border-radius:2px;background:var(--p);margin:0 auto;transition:.3s}

/* ---------- 移动端右侧抽屉 ---------- */
.mask{position:fixed;inset:0;background:rgba(12,18,32,.52);backdrop-filter:blur(3px);opacity:0;visibility:hidden;transition:.34s;z-index:950}
.mask.on{opacity:1;visibility:visible}
.drawer{
  position:fixed;top:0;right:0;width:min(310px,84vw);height:100%;height:100dvh;background:#fff;z-index:960;
  transform:translateX(105%);transition:transform .4s cubic-bezier(.22,.85,.3,1);
  display:flex;flex-direction:column;box-shadow:-14px 0 46px rgba(15,23,42,.2);
}
.drawer.on{transform:translateX(0)}
.drawer__head{background:linear-gradient(135deg,var(--p) 0%,var(--a2) 58%,var(--a5) 100%);padding:24px 22px 22px;color:#fff;position:relative}
.drawer__head::after{content:"";position:absolute;right:-30px;top:-34px;width:120px;height:120px;border-radius:50%;background:rgba(255,255,255,.14)}
.drawer__name{font-size:19px;font-weight:800;letter-spacing:.02em;position:relative;z-index:1}
.drawer__slogan{font-size:12.5px;opacity:.92;margin-top:5px;position:relative;z-index:1}
.drawer__close{position:absolute;top:16px;right:14px;width:34px;height:34px;border-radius:50%;background:rgba(255,255,255,.22);color:#fff;font-size:19px;line-height:34px;text-align:center;z-index:2;transition:.25s}
.drawer__close:hover{background:rgba(255,255,255,.38);transform:rotate(90deg)}
.drawer__list{flex:1;overflow-y:auto;padding:14px 14px 8px}
.drawer__list a{display:flex;align-items:center;gap:13px;padding:12px 13px;border-radius:13px;font-size:15.5px;font-weight:600;color:#33405A;transition:.25s;margin-bottom:4px}
.drawer__list a:hover,.drawer__list a.on{background:#F4F7FC;color:var(--p);transform:translateX(3px)}
.dicon{width:36px;height:36px;border-radius:11px;display:grid;place-items:center;flex:none;color:#fff;box-shadow:0 5px 12px -5px currentColor}
.dicon svg{width:19px;height:19px;stroke:#fff}
.drawer__foot{padding:16px 18px 22px;border-top:1px solid #EFF2F7;background:#FBFCFE}
.drawer__tel{display:flex;align-items:center;gap:9px;font-size:17px;font-weight:800;color:var(--p)}
.drawer__tel svg{width:22px;height:22px;flex:none}
.drawer__tip{font-size:12.5px;color:var(--ink-4);margin-top:5px}

/* ---------- 面包屑 / 内页头 ---------- */
.phero{position:relative;padding:52px 0 46px;overflow:hidden;background:linear-gradient(120deg,var(--pl),#fff 70%)}
.phero::before{content:"";position:absolute;right:-90px;top:-110px;width:320px;height:320px;border-radius:50%;background:radial-gradient(circle,var(--p) 0%,transparent 68%);opacity:.14}
.phero::after{content:"";position:absolute;left:-60px;bottom:-120px;width:260px;height:260px;border-radius:50%;background:radial-gradient(circle,var(--a3) 0%,transparent 68%);opacity:.14}
.phero__in{position:relative;z-index:2}
.crumb{font-size:13.5px;color:var(--ink-4);margin-bottom:14px;display:flex;flex-wrap:wrap;gap:7px;align-items:center}
.crumb a:hover{color:var(--p)}
.crumb span{opacity:.5}
.ptitle{font-size:clamp(26px,4vw,40px);font-weight:800;line-height:1.28;letter-spacing:-.01em}
.ptitle em{font-style:normal;color:var(--p)}
.psub{margin-top:13px;font-size:16px;color:var(--ink-3);max-width:780px}
.ptags{display:flex;flex-wrap:wrap;gap:9px;margin-top:20px}
.ptag{font-size:13px;font-weight:600;padding:7px 15px;border-radius:999px;background:#fff;box-shadow:0 3px 12px rgba(15,23,42,.07)}

/* ---------- 页脚 ---------- */
.foot{background:linear-gradient(150deg,var(--pd) 0%,#131C2E 100%);color:rgba(255,255,255,.74);padding:56px 0 0;font-size:14.5px}
.foot__grid{display:grid;grid-template-columns:1.5fr 1fr 1fr 1.25fr;gap:38px;padding-bottom:38px}
.foot h4{color:#fff;font-size:16px;font-weight:700;margin-bottom:16px;position:relative;padding-left:12px}
.foot h4::before{content:"";position:absolute;left:0;top:50%;transform:translateY(-50%);width:4px;height:15px;border-radius:3px;background:linear-gradient(180deg,var(--a3),var(--a6))}
.foot__logo{display:flex;align-items:center;gap:11px;margin-bottom:15px}
.foot__logo img{height:46px;width:auto;background:#fff;border-radius:10px;padding:5px}
.foot__logo b{color:#fff;font-size:17px;display:block}
.foot__logo small{display:block;font-size:12px;opacity:.7;font-weight:400}
.foot p{line-height:1.9}
.foot__links li{margin-bottom:9px}
.foot__links a{transition:.25s;display:inline-block}
.foot__links a:hover{color:#fff;transform:translateX(4px)}
.foot__links--2c{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 14px;align-content:start}
.foot__links--2c li{margin-bottom:9px}
.foot__ct li{margin-bottom:10px;display:flex;gap:9px;align-items:flex-start;line-height:1.7}
.foot__ct svg{width:16px;height:16px;flex:none;margin-top:4px;stroke:var(--a3)}
.foot__bar{border-top:1px solid rgba(255,255,255,.12);padding:18px 0 22px;font-size:13.5px;display:flex;flex-wrap:wrap;gap:8px 22px;justify-content:space-between;align-items:center}
.foot__bar a{border-bottom:1px dashed rgba(255,255,255,.3);transition:.25s}
.foot__bar a:hover{color:#fff;border-color:#fff}

/* ---------- 友情链接 ---------- */
.flinks{display:flex;flex-wrap:wrap;gap:8px}
.flinks a{font-size:13px;padding:6px 12px;border-radius:8px;background:#fff;color:var(--ink-3);box-shadow:0 2px 8px rgba(15,23,42,.05);transition:.25s}
.flinks a:hover{background:var(--p);color:#fff;transform:translateY(-2px)}

/* ---------- 浮动按钮 ---------- */
.floaty{position:fixed;right:18px;bottom:88px;z-index:880;display:flex;flex-direction:column;gap:11px}
.fbtn{width:52px;height:52px;border-radius:16px;display:grid;place-items:center;color:#fff;box-shadow:0 10px 24px -8px rgba(15,23,42,.4);transition:transform .28s,box-shadow .28s;position:relative}
.fbtn svg{width:23px;height:23px;stroke:#fff}
.fbtn:hover{transform:translateY(-4px) scale(1.04)}
.fbtn--tel{background:linear-gradient(135deg,var(--p),var(--a2))}
.fbtn--wx{background:linear-gradient(135deg,#22C55E,#0EA36B)}
.fbtn--top{background:linear-gradient(135deg,#64748B,#334155);opacity:0;visibility:hidden;transform:translateY(10px)}
.fbtn--top.on{opacity:1;visibility:visible;transform:translateY(0)}
.fbtn__tip{position:absolute;right:62px;top:50%;transform:translateY(-50%) translateX(8px);background:#1F2937;color:#fff;font-size:13px;padding:7px 12px;border-radius:9px;white-space:nowrap;opacity:0;visibility:hidden;transition:.25s;pointer-events:none}
.fbtn__tip::after{content:"";position:absolute;right:-5px;top:50%;transform:translateY(-50%);border:5px solid transparent;border-left-color:#1F2937}
.fbtn:hover .fbtn__tip{opacity:1;visibility:visible;transform:translateY(-50%) translateX(0)}

/* ---------- 二维码弹窗 ---------- */
.modal{position:fixed;inset:0;z-index:990;display:grid;place-items:center;padding:20px;opacity:0;visibility:hidden;transition:.3s}
.modal.on{opacity:1;visibility:visible}
.modal__bg{position:absolute;inset:0;background:rgba(10,16,28,.62);backdrop-filter:blur(4px)}
.modal__box{position:relative;z-index:2;width:min(360px,92vw);background:#fff;border-radius:22px;overflow:hidden;box-shadow:0 30px 70px -20px rgba(0,0,0,.5);transform:translateY(18px) scale(.97);transition:.34s cubic-bezier(.22,.85,.3,1)}
.modal.on .modal__box{transform:translateY(0) scale(1)}
.modal__head{background:linear-gradient(135deg,var(--p),var(--a2));padding:20px 22px;color:#fff}
.modal__head b{font-size:18px;display:block}
.modal__head small{opacity:.9;font-size:12.5px}
.modal__x{position:absolute;top:14px;right:14px;width:32px;height:32px;border-radius:50%;background:rgba(255,255,255,.22);color:#fff;font-size:18px;line-height:32px;text-align:center;z-index:3;transition:.25s}
.modal__x:hover{background:rgba(255,255,255,.4);transform:rotate(90deg)}
.modal__body{padding:22px;text-align:center}
.modal__qr{width:190px;height:190px;margin:0 auto 16px;border-radius:16px;overflow:hidden;border:6px solid var(--pl);background:#fff}
.modal__qr img{width:100%;height:100%;object-fit:contain}
.modal__row{display:flex;align-items:center;justify-content:center;gap:9px;font-size:15.5px;margin-bottom:9px}
.modal__row b{font-weight:800;color:var(--p);font-size:17px;letter-spacing:.02em}
.modal__row span{color:var(--ink-4);font-size:14px}
.modal__note{margin-top:12px;font-size:12.5px;color:var(--ink-4);line-height:1.7;background:var(--pl);border-radius:11px;padding:10px 13px}

/* ---------- 入场浮现 ---------- */
.rv{opacity:0;transform:translateY(26px);transition:opacity .7s cubic-bezier(.22,.8,.3,1),transform .7s cubic-bezier(.22,.8,.3,1)}
.rv.in{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){.rv{opacity:1;transform:none;transition:none}html{scroll-behavior:auto}}

/* ---------- 响应式 ---------- */
@media (max-width:1080px){
  .menu{display:none}
  .nav__cta{display:none}
  .burger{display:flex}
  .foot__grid{grid-template-columns:1fr 1fr;gap:30px}
}
@media (max-width:760px){
  body{font-size:15.5px;padding-top:var(--navh-m)}
  .nav__in{height:var(--navh-m);gap:12px}
  .brand__logo{height:44px}
  .brand__name{font-size:16.5px}
  .brand__slogan{font-size:10.5px}
  .sec{padding:calc(var(--secpy) * .68) 0}
  .foot__grid{grid-template-columns:1fr;gap:26px}
  .foot__bar{flex-direction:column;align-items:flex-start;gap:7px}
  .floaty{right:12px;bottom:74px;gap:9px}
  .fbtn{width:46px;height:46px;border-radius:14px}
  .fbtn svg{width:20px;height:20px}
  .phero{padding:34px 0 32px}
}
@media (max-width:420px){
  .brand__name{font-size:15px}
  .brand__slogan{font-size:10px}
  .brand__logo{height:40px}
}
