  :root{
    --ink:#2B2420;
    --maroon:#8A5A2E;
    --maroon-dk:#5A3820;
    --gold:#C9973F;
    --gold-lt:#E4C88A;
    --cream:#FBF6EE;
    --paper:#FFFDF9;
    --line:#E9DFCF;
    --grey:#8A7F6E;
    --jade:#3F5B4E;
    --hero-photo: url("../img/hero-treatment.jpg");
  }
  *{box-sizing:border-box;margin:0;padding:0}
  html{scroll-behavior:smooth}
  body{
    font-family:"Hiragino Sans GB","STHeiti Medium",-apple-system,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
    background:var(--cream); color:var(--ink); line-height:1.75; font-size:16px;
  }
  img{max-width:100%;display:block}
  .wrap{max-width:520px;margin:0 auto;background:var(--paper);min-height:100vh;position:relative;
    box-shadow:0 0 40px rgba(0,0,0,.08);}
  a{color:inherit;text-decoration:none}

  /* ---------- NAV DOT ---------- */
  .topbar{
    position:sticky;top:0;z-index:40;background:var(--paper);
    border-bottom:1px solid var(--line); padding:12px 20px;
    display:flex;align-items:center;justify-content:space-between;
  }
  .topbar .brand{font-weight:700;font-size:15px;letter-spacing:.02em;color:var(--maroon-dk)}
  .topbar .brand small{display:block;font-weight:400;font-size:10px;color:var(--grey);letter-spacing:.15em}
  .topbar .callbtn{
    background:var(--maroon-dk);color:#fff;font-size:12.5px;font-weight:600;line-height:1;
    padding:13px 16px;border-radius:999px;display:flex;align-items:center;gap:5px;
  }

  /* ---------- HERO ---------- */
  .hero{
    position:relative; padding:200px 24px 34px;
    background:
      linear-gradient(175deg, rgba(20,13,7,.55) 0%, rgba(46,29,16,.78) 45%, rgba(46,29,16,.96) 78%, #2E1D10 100%),
      var(--hero-photo) center 30% / cover no-repeat, #2E1D10;
    color:#fff; overflow:hidden;
  }
  .hero::after{
    content:"";position:absolute;right:-40px;top:-40px;width:220px;height:220px;
    border:1px solid rgba(255,255,255,.12);border-radius:50%;
  }
  .hero::before{
    content:"";position:absolute;right:10px;bottom:-60px;width:180px;height:180px;
    border:1px solid rgba(255,255,255,.08);border-radius:50%;
  }
  .hero .kicker{
    font-size:11.5px;letter-spacing:.28em;color:var(--gold-lt);font-weight:600;
    display:flex;align-items:center;gap:8px;margin-bottom:16px;
  }
  .hero .kicker::before{content:"";width:16px;height:1px;background:var(--gold-lt)}
  .hero h1{
    font-family:"Songti SC","STSong","Noto Serif SC","SimSun",serif;
    font-size:27px;line-height:1.42;font-weight:700;letter-spacing:.01em;
    margin-bottom:14px; position:relative; z-index:1;
  }
  .hero h1 em{font-style:normal;color:var(--gold-lt)}
  .hero p{font-size:14px;color:#E9D9CF;line-height:1.85;max-width:36em;position:relative;z-index:1}
  .hero .badges{display:flex;gap:8px;margin-top:20px;flex-wrap:wrap;position:relative;z-index:1}
  .hero .badge{
    font-size:11.5px;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.22);
    padding:6px 11px;border-radius:999px;color:#F3E9DE;
  }
  .hero .cta{
    margin-top:24px;display:flex;gap:10px;flex-wrap:wrap;position:relative;z-index:1;
  }
  .btn{
    display:inline-flex;align-items:center;gap:8px;
    padding:13px 22px;border-radius:999px;font-weight:700;font-size:14.5px;
    white-space:nowrap;
  }
  .btn-primary{background:var(--gold);color:#2E1D10}
  .btn-ghost{background:rgba(255,255,255,.08);color:#fff;border:1px solid rgba(255,255,255,.35)}

  /* ---------- SECTION ---------- */
  section{padding:34px 24px}
  .eyebrow{
    font-size:11.5px;letter-spacing:.22em;color:var(--maroon);font-weight:700;
    display:flex;align-items:center;gap:8px;margin-bottom:8px;
  }
  .eyebrow::before{content:"";width:14px;height:1px;background:var(--maroon)}
  h2{font-family:"Songti SC","STSong","Noto Serif SC","SimSun",serif;font-size:21px;color:var(--ink);font-weight:700;line-height:1.4;margin-bottom:6px}
  .lead{color:var(--grey);font-size:13.5px;margin-bottom:20px;line-height:1.8;max-width:56ch}

  /* ---------- WHY US ---------- */
  .why{background:var(--paper)}
  .why-grid{display:grid;gap:12px}
  .why-card{
    display:flex;gap:14px;padding:16px;border:1px solid var(--line);border-radius:14px;
    background:linear-gradient(180deg,#fff,var(--cream));
  }
  .why-card .ico{
    flex-shrink:0;width:42px;height:42px;border-radius:11px;background:var(--maroon-dk);
    color:#fff; /* SVG 用 currentColor 描边，不设这行会继承正文近黑色 → 深底深图标 */
    display:flex;align-items:center;justify-content:center;font-size:19px;
  }
  .why-card h3{font-size:14.5px;font-weight:700;margin-bottom:4px;color:var(--ink)}
  .why-card p{font-size:12.8px;color:var(--grey);line-height:1.7}

  /* ---------- SYMPTOMS ---------- */
  .symptoms{background:linear-gradient(180deg,#F4EADA,var(--cream))}
  .sym-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}
  .sym-chip{
    background:#fff;border:1px solid var(--line);border-radius:12px;padding:12px 10px;
    font-size:12.8px;font-weight:600;color:var(--maroon-dk);text-align:center;line-height:1.5;
  }
  .sym-note{
    margin-top:16px;background:var(--maroon-dk);color:#F3E4D8;border-radius:14px;padding:16px 18px;
    font-size:13px;line-height:1.8;
  }
  .sym-note b{color:var(--gold-lt)}

  /* ---------- ADAPTATION GUIDE ---------- */
  .adapt{background:var(--cream)}
  .adapt-list{display:grid;gap:8px}
  .adapt-row{
    display:flex; align-items:center; gap:12px; background:var(--paper);
    border:1px solid var(--line); border-radius:12px; padding:11px 14px;
  }
  .adapt-row .sym{flex:0 0 84px; font-size:12.5px; font-weight:700; color:var(--maroon-dk)}
  .adapt-row .arrow{flex-shrink:0; color:var(--gold); font-size:13px}
  .adapt-row .mod{flex:1; font-size:12px; color:var(--ink); line-height:1.6; max-width:54ch}

  /* ---------- SERVICES ---------- */
  .svc-list{display:grid;gap:10px}
  .svc-item{
    display:flex;gap:14px;align-items:flex-start;padding:16px;background:var(--paper);
    border:1px solid var(--line);border-radius:14px;
  }
  .svc-item .num{
    flex-shrink:0;width:34px;height:34px;border-radius:50%;border:1.5px solid var(--gold);
    color:var(--maroon-dk);font-weight:700;font-size:13px;display:flex;align-items:center;justify-content:center;
  }
  .svc-item h3{font-size:14.5px;font-weight:700;color:var(--ink);margin-bottom:3px}
  .svc-item p{font-size:12.5px;color:var(--grey);line-height:1.7}
  .svc-item .tag{
    display:inline-block;margin-top:6px;font-size:10.5px;color:var(--jade);background:#E9F0EA;
    padding:2px 8px;border-radius:999px;font-weight:600;
  }
  .svc-item .row{display:flex;justify-content:space-between;align-items:flex-end;gap:10px}
  .svc-item .price-slot{
    flex-shrink:0; text-align:right; border:1px dashed var(--gold); border-radius:8px;
    padding:5px 9px; margin-top:6px;
  }
  .svc-item .price-slot .ph{font-size:9.5px; color:var(--gold); font-weight:700; letter-spacing:.03em; white-space:nowrap}

  /* ---------- SIGNATURE ---------- */
  .signature{
    background:linear-gradient(160deg,#241708,var(--maroon-dk));color:#fff;
    border-radius:18px;margin:0 24px;padding:34px 24px;position:relative;overflow:hidden;
  }
  .signature::after{
    content:"";position:absolute;left:-30px;bottom:-30px;width:140px;height:140px;
    border:1px solid rgba(255,255,255,.1);border-radius:50%;
  }
  .signature .eyebrow{color:var(--gold-lt)}
  .signature .eyebrow::before{background:var(--gold-lt)}
  .signature h2{color:#fff}
  .signature .steps{margin-top:16px;display:grid;gap:10px;position:relative;z-index:1}
  .signature .step{display:flex;gap:12px;align-items:flex-start}
  .signature .step .dot{
    flex-shrink:0;width:8px;height:8px;border-radius:50%;background:var(--gold);margin-top:7px;
  }
  .signature .step p{font-size:13px;color:#EFDFD3;line-height:1.75}
  .signature .step b{color:#fff}

  /* ---------- TRUST STRIP ---------- */
  .trust{
    display:flex;justify-content:space-between;text-align:center;
    background:var(--paper);border-top:1px solid var(--line);border-bottom:1px solid var(--line);
    padding:20px 16px;
  }
  .trust div{flex:1}
  .trust .num{font-size:19px;font-weight:700;color:var(--maroon-dk)}
  .trust .lbl{font-size:10.5px;color:var(--grey);margin-top:2px}

  /* ---------- GALLERY ---------- */
  .gallery{background:var(--paper)}
  .gallery-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}
  .gallery-grid img{
    width:100%;height:184px;object-fit:cover;border-radius:14px;
    border:1px solid var(--line);
  }
  .gallery-cap{font-size:11px;color:var(--grey);margin-top:6px;text-align:center}

  /* ---------- VIDEO REELS ---------- */
  .reels{background:var(--paper)}
  .reels-scroll{
    display:flex; gap:10px; overflow-x:auto; scroll-snap-type:x proximity;
    padding-bottom:6px; margin:0 -24px; padding-left:24px; padding-right:24px;
    -webkit-overflow-scrolling:touch;
  }
  .reels-scroll::-webkit-scrollbar{display:none}
  .reel-card{
    flex:0 0 128px; scroll-snap-align:start; position:relative;
    border-radius:12px; overflow:hidden; border:1px solid var(--line);
    background:#000; aspect-ratio:9/16; display:block;
  }
  .reel-card img{width:100%;height:100%;object-fit:cover;opacity:.88}
  .reel-card .play{
    position:absolute; inset:0; display:flex; align-items:center; justify-content:center;
  }
  .reel-card .play span{
    width:34px;height:34px;border-radius:50%;background:rgba(255,255,255,.92);
    display:flex;align-items:center;justify-content:center;font-size:13px;color:var(--maroon-dk);
    box-shadow:0 2px 8px rgba(0,0,0,.3);
  }
  .reel-card .views{
    position:absolute; top:6px; right:6px; background:rgba(0,0,0,.55); color:#fff;
    font-size:9.5px; padding:2px 6px; border-radius:999px; font-weight:600;
  }
  .reel-card .cap{
    position:absolute; left:0; right:0; bottom:0; padding:8px 7px 7px;
    background:linear-gradient(0deg, rgba(0,0,0,.82), transparent);
    color:#fff; font-size:10.5px; font-weight:600; line-height:1.4;
  }
  .reels-more{
    margin-top:12px; display:flex; align-items:center; justify-content:center; gap:6px;
    font-size:12px; color:var(--maroon-dk); font-weight:700;
  }

  /* ---------- TEAM ---------- */
  .team{background:var(--paper)}
  .team-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}
  .team-badge{
    background:var(--cream); border:1px solid var(--line); border-radius:12px;
    padding:14px 12px; text-align:center;
  }
  .team-badge .ico{
    width:36px;height:36px;border-radius:50%;background:var(--maroon-dk);color:#fff;
    display:flex;align-items:center;justify-content:center;margin:0 auto 8px;
  }
  .team-badge h4{font-size:12.5px;font-weight:700;color:var(--ink);margin-bottom:3px}
  .team-badge p{font-size:11px;color:var(--grey);line-height:1.6}
  .team-note{
    margin-top:12px; background:var(--cream); border-left:3px solid var(--gold);
    padding:12px 14px; font-size:12px; color:var(--grey); line-height:1.8; border-radius:0 8px 8px 0;
  }

  /* ---------- FEEDBACK ----------
     刻意做成次要视觉层级：预约才是主转化，反馈入口不能抢注意力。
     所以用描边按钮而非实心，色彩不用 CTA 的金色／绿色。 */
  .feedback{background:var(--cream)}
  .feedback .fb-card{
    background:var(--paper);border:1px solid var(--line);border-radius:14px;
    padding:20px 18px;text-align:center;
  }
  .feedback .fb-card p{
    font-size:12.8px;color:var(--grey);line-height:1.8;margin-bottom:16px;
  }
  .fb-btn{
    display:inline-flex;align-items:center;justify-content:center;gap:8px;
    padding:12px 20px;border-radius:999px;line-height:1;
    background:transparent;color:var(--maroon-dk);
    border:1.5px solid var(--maroon-dk);
    font-size:13.5px;font-weight:700;
    transition:background .15s,color .15s;
  }
  .fb-btn:hover{background:var(--maroon-dk);color:#fff}
  .feedback .fb-note{
    font-size:11px;color:var(--grey);margin-top:12px;line-height:1.7;
  }
  @media (min-width:1080px){
    .feedback .fb-card{padding:28px 24px}
    .feedback .fb-card p{font-size:13.5px}
  }

  /* ---------- LOCATION ---------- */
  .loc-card{
    background:var(--paper);border:1px solid var(--line);border-radius:14px;padding:18px;
    display:flex;flex-direction:column;gap:12px;
  }
  .loc-row{display:flex;gap:12px;align-items:flex-start}
  .loc-row .ico{flex-shrink:0;width:34px;height:34px;border-radius:9px;background:var(--cream);
    border:1px solid var(--line);display:flex;align-items:center;justify-content:center;font-size:15px}
  .loc-row h4{font-size:12.5px;color:var(--grey);font-weight:600;margin-bottom:2px}
  .loc-row p{font-size:13.5px;color:var(--ink);font-weight:600;line-height:1.6}
  .loc-row p.muted{font-weight:400;color:var(--grey);font-size:12px;margin-top:2px}
  .loc-wa-btn{
    display:inline-flex;align-items:center;gap:6px;margin-top:2px;
    background:#25D366;color:#fff;font-size:12.5px;font-weight:700;
    padding:7px 13px;border-radius:999px;
  }
  footer a{color:inherit;text-decoration:underline;text-underline-offset:2px}

  /* ---------- FAQ ---------- */
  details{
    border-bottom:1px solid var(--line); padding:14px 2px;
  }
  details summary{
    font-size:13.5px;font-weight:700;color:var(--ink);cursor:pointer;list-style:none;
    display:flex;justify-content:space-between;align-items:center;
  }
  details summary::-webkit-details-marker{display:none}
  details summary::after{content:"+";color:var(--maroon);font-size:18px;font-weight:400}
  details[open] summary::after{content:"–"}
  details p{font-size:12.8px;color:var(--grey);margin-top:8px;line-height:1.8}

  /* ---------- FOOTER CTA ---------- */
  .final-cta{
    background:linear-gradient(175deg,#2E1D10,#8A5A2E); color:#fff; text-align:center;
    padding:38px 24px 30px;
  }
  .final-cta h2{color:#fff;margin-bottom:8px}
  .final-cta p{color:#E9D9CF;font-size:13px;margin-bottom:20px}
  .final-cta .btn-primary{width:100%;justify-content:center;padding:15px}

  footer{
    background:var(--paper);text-align:center;padding:22px 24px 100px;
    font-size:11px;color:var(--grey);line-height:1.9;
  }

  /* ---------- FLOATING WHATSAPP ---------- */
  .fab{
    position:fixed;left:50%;bottom:18px;transform:translateX(calc(-50% + 0px));
    width:calc(100% - 48px);max-width:472px;
    background:#25D366;color:#fff;padding:14px 18px;border-radius:999px;
    display:flex;align-items:center;justify-content:center;gap:9px;font-weight:700;font-size:14.5px;
    box-shadow:0 8px 24px rgba(37,211,102,.4);z-index:50;
  }

  .placeholder-note{
    background:#FFF6E0;border:1px dashed var(--gold);border-radius:10px;
    padding:10px 12px;font-size:11px;color:#8A6A20;margin-top:10px;line-height:1.7;
  }

  /* ---------- PRICE MENU (accordion, same interaction as FAQ <details>) ---------- */
  .price-list{display:grid;gap:10px}
  .price-cat{
    background:var(--paper); border:1px solid var(--line); border-radius:14px;
    overflow:hidden;
  }
  .price-cat summary{
    list-style:none; cursor:pointer; padding:15px 16px;
    display:flex; align-items:center; justify-content:space-between; gap:10px;
  }
  .price-cat summary::-webkit-details-marker{display:none}
  .price-cat summary::after{content:"+"; color:var(--maroon); font-size:19px; font-weight:400; flex-shrink:0}
  .price-cat[open] summary::after{content:"\2013"}
  .price-cat .pc-name{font-size:14.5px; font-weight:700; color:var(--ink)}
  .price-cat .pc-name .pc-en{display:block; font-size:10.5px; font-weight:500; color:var(--grey); margin-top:2px}
  .price-cat .pc-right{display:flex; align-items:center; gap:10px; flex-shrink:0}
  .price-cat .pc-count{font-size:10px; color:var(--gold); font-weight:700; white-space:nowrap}
  .price-cat[open] summary{border-bottom:1px solid var(--line)}
  .price-cat .pc-body{padding:4px 16px 14px}
  .price-cat .pc-note{
    font-size:10.5px; color:var(--grey); background:var(--cream); border-radius:8px;
    padding:8px 10px; margin:8px 0 10px; line-height:1.7;
  }
  .price-row{
    padding:9px 0; border-bottom:1px solid var(--line);
    display:flex; align-items:flex-start; justify-content:space-between; gap:10px;
  }
  .price-row:last-child{border-bottom:none}
  .price-row .pr-name{font-size:12.5px; font-weight:600; color:var(--ink); line-height:1.5}
  .price-row .pr-name .pr-en{display:block; font-size:10px; font-weight:400; color:var(--grey); margin-top:1px}
  .price-row .pr-desc{font-size:10px; color:var(--grey); line-height:1.6; margin-top:4px}
  .price-row .pr-tag{
    display:inline-block; font-size:9px; color:var(--jade); background:#E9F0EA;
    padding:1px 6px; border-radius:999px; font-weight:600; margin-top:4px;
  }
  .price-row .pr-single{flex-shrink:0; font-size:13px; font-weight:700; color:var(--maroon-dk); white-space:nowrap}
  .price-row .pr-single .pr-min{display:block; font-size:9.5px; color:var(--grey); font-weight:500; text-align:right}
  .price-row .pr-durs{flex-shrink:0; display:flex; flex-direction:column; gap:3px; align-items:flex-end}
  .price-row .pr-durs span{font-size:10.5px; color:var(--grey); white-space:nowrap}
  .price-row .pr-durs span b{color:var(--maroon-dk); font-size:12px; margin-left:4px}
  .price-row .pr-split{flex-shrink:0; display:flex; flex-direction:column; gap:2px; align-items:flex-end}
  .price-row .pr-split .pr-split-line{font-size:10px; color:var(--grey); white-space:nowrap}
  .price-row .pr-split .pr-split-line b{color:var(--maroon-dk); font-size:12.5px; margin-left:4px}
  .price-cat .pc-package{
    margin-top:10px; background:var(--maroon-dk); color:#F3E4D8; border-radius:10px;
    padding:10px 12px; font-size:11px; line-height:1.8;
  }
  .price-cat .pc-package b{color:var(--gold-lt)}

  /* ---------- RESPONSIVE: TABLET (>=768px) ---------- */
  @media (min-width:768px){
    body{background:linear-gradient(180deg,#EFE7D8,var(--cream) 320px)}
    .wrap{max-width:680px;margin:24px auto;border-radius:18px;overflow:hidden;
      box-shadow:0 20px 60px rgba(58,29,20,.12)}
    .hero{padding-top:230px}
    .hero h1{font-size:32px}
    .why-grid{grid-template-columns:1fr 1fr}
    .sym-grid{grid-template-columns:repeat(4,1fr)}
    .gallery-grid{grid-template-columns:repeat(2,1fr)}
    .gallery-grid img{height:230px}
    .svc-list{grid-template-columns:1fr 1fr}
    .reel-card{flex:0 0 148px}
  }

  /* ---------- RESPONSIVE: DESKTOP (>=1080px) ---------- */
  @media (min-width:1080px){
    body{padding:0}
    .wrap{max-width:920px;margin:40px auto;border-radius:22px}
    .hero{padding:260px 56px 46px}
    .hero h1{font-size:38px}
    .hero p{font-size:15px;max-width:42em}
    section{padding:44px 56px}
    .eyebrow{font-size:12.5px}
    h2{font-size:26px}
    .lead{font-size:14.5px}
    .why-grid{grid-template-columns:repeat(2,1fr);gap:14px}
    .why-card{padding:20px}
    .why-card h3{font-size:15.5px}
    .why-card p{font-size:13.5px}
    .sym-grid{grid-template-columns:repeat(4,1fr)}
    .sym-chip{font-size:13.5px;padding:15px 12px}
    .adapt-row{padding:14px 18px}
    .adapt-row .sym{flex:0 0 108px;font-size:13.5px}
    .adapt-row .arrow{font-size:14px}
    .adapt-row .mod{font-size:13px}
    .svc-list{grid-template-columns:1fr 1fr}
    .svc-item{padding:20px}
    .gallery-grid{grid-template-columns:repeat(2,1fr);gap:16px}
    .gallery-grid img{height:280px}
    .signature{margin:0 56px;padding:38px 48px}
    .signature h2{font-size:24px}
    .signature .step p{font-size:14px}
    /* stat strip: cluster with real gaps instead of edge-to-edge stretch */
    .trust{justify-content:center;gap:88px;padding:26px 16px}
    .trust div{flex:0 0 auto}
    .trust .num{font-size:26px}
    .trust .lbl{font-size:12px}
    .team-grid{grid-template-columns:repeat(4,1fr);gap:14px}
    .team-badge h4{font-size:13.5px}
    .team-badge p{font-size:12px}
    .loc-card{padding:24px}
    .loc-row h4{font-size:13px}
    .loc-row p{font-size:14.5px}
    details summary{font-size:14.5px;padding:16px 2px}
    details p{font-size:13.5px}
    /* price menu: highest commercial value on the page, was unscaled from mobile */
    .price-cat summary{padding:18px 20px}
    .price-cat .pc-name{font-size:15.5px}
    .price-cat .pc-body{padding:6px 20px 18px}
    .price-row{padding:11px 0}
    .price-row .pr-name{font-size:13.5px}
    .price-row .pr-single{font-size:14px}
    .price-row .pr-durs span{font-size:11.5px}
    .price-row .pr-durs span b{font-size:13px}
    .price-cat .pc-package{font-size:12px;padding:12px 14px}
    .final-cta{padding:52px 56px 42px}
    .final-cta h2{font-size:28px}
    .fab{max-width:400px}
    footer{padding-bottom:110px}
  }

  /* ---------- LANG SWITCHER (dropdown) ---------- */
  /* 品牌靠左，语言切换与 WhatsApp 成组靠右（不再三等分散开） */
  .topbar{gap:10px}
  .topbar .brand{min-width:0;margin-right:auto}
  /* details/summary 上面有全站通用的裸元素规则（FAQ 手风琴用），这里逐一盖掉，
     不然会混进不该有的 +/– 符号和 border/padding */
  .langsw{position:relative;flex-shrink:0;border-bottom:none;padding:0}
  .langsw summary{
    display:flex;align-items:center;justify-content:center;gap:5px;cursor:pointer;list-style:none;
    padding:13px 13px;border-radius:999px;line-height:1;
    background:var(--cream);color:var(--maroon-dk);
    font-size:11.5px;font-weight:700;letter-spacing:.02em;
    box-shadow:inset 0 0 0 1px var(--line);
    transition:background .15s;
    -webkit-tap-highlight-color:transparent;
  }
  .langsw summary::-webkit-details-marker{display:none}
  .langsw summary::after{content:none}
  .langsw[open] summary::after{content:none}
  .langsw summary:hover{background:var(--gold-lt)}
  .langsw .chev{transition:transform .18s;flex-shrink:0}
  .langsw[open] .chev{transform:rotate(180deg)}
  .langsw-menu{
    display:none;
    position:absolute;top:calc(100% + 8px);left:50%;transform:translateX(-50%);
    background:var(--paper);border:1px solid var(--line);border-radius:12px;
    box-shadow:0 8px 24px rgba(43,36,32,.16);
    padding:5px;flex-direction:column;gap:2px;
    min-width:104px;z-index:50;
  }
  .langsw[open] .langsw-menu{display:flex}
  .langsw-menu a{
    padding:12px 12px;border-radius:8px;font-size:12.5px;font-weight:600;line-height:1;
    color:var(--ink);white-space:nowrap;display:block;
    transition:background .15s,color .15s;
  }
  .langsw-menu a:hover{background:var(--cream)}
  .langsw-menu a[aria-current="page"]{color:var(--maroon-dk);background:var(--cream)}
  /* 窄屏：只留 Logo，保住语言切换器 + 完整 WhatsApp 按钮 */
  @media (max-width:479px){
    .topbar{padding:10px 14px}
    .topbar .brand > span{display:none}
    .topbar .callbtn{padding:13px 14px;font-size:12px}
  }
  @media (min-width:480px) and (max-width:640px){
    .topbar .brand small{display:none}
  }
