
:root{--bg:#f4f0e9;--paper:#fffdf9;--paper2:#f9f6f0;--ink:#26231f;--muted:#716a62;--line:#e5ddd2;--gold:#9a7548;--gold2:#b79769;--deep:#2b2722;--cream:#efe6d8;--max:1360px;--radius:22px;--shadow:0 18px 60px rgba(63,48,31,.08)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;width:100%;overflow-x:hidden;background:var(--paper);color:var(--ink);font-family:"PingFang SC","Microsoft YaHei",system-ui,sans-serif;line-height:1.7}img{display:block;max-width:100%}a{color:inherit;text-decoration:none}.shell{width:min(calc(100% - 48px),var(--max));margin-inline:auto}.info-strip{background:var(--deep);color:#eae1d5;font-size:12px}.info-strip .shell{height:34px;display:flex;align-items:center;justify-content:space-between;gap:16px}header{position:sticky;top:0;z-index:30;background:rgba(255,253,249,.96);backdrop-filter:blur(16px);border-bottom:1px solid rgba(154,117,72,.12)}.header-row{height:76px;display:flex;align-items:center;gap:30px}.brand{display:flex;align-items:center;gap:12px;flex:0 0 auto}.brand img{width:42px;height:42px;border-radius:50%;object-fit:cover}.brand-cn{font-family:"Songti SC","STSong",serif;font-size:21px;font-weight:700;letter-spacing:.06em;white-space:nowrap}.brand-en{font-size:9px;color:#8d8275;letter-spacing:.16em;white-space:nowrap}nav{margin-left:auto;display:flex;align-items:center;gap:21px;font-size:13px;white-space:nowrap}nav a{padding:26px 0 23px;border-bottom:2px solid transparent}nav a:hover,nav a.active{border-color:var(--gold);color:#765a39}.nav-cta{border:1px solid #a58458;border-radius:999px;padding:9px 16px!important}.mobile-menu{display:none}.breadcrumb{font-size:11px;color:#8b8278;padding-top:22px}.breadcrumb a{color:#765b3b}.hero{background:linear-gradient(180deg,#f2ece3 0%,#faf7f2 100%);padding:34px 0 46px}.hero-grid{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:26px;align-items:stretch}.hero-copy,.hero-visual{min-width:0;border-radius:28px;overflow:hidden}.hero-copy{background:#fff;padding:58px 54px;display:flex;flex-direction:column;justify-content:center;border:1px solid rgba(154,117,72,.12)}.kicker{display:flex;align-items:center;gap:10px;font-size:10px;color:#8a6a43;letter-spacing:.18em;text-transform:uppercase}.kicker:before{content:"";width:32px;height:1px;background:#a88455}h1,h2,h3{font-family:"Songti SC","STSong",serif}.hero h1{font-size:clamp(38px,3.1vw,54px);line-height:1.18;margin:20px 0 18px;font-weight:600;letter-spacing:.02em}.hero h1 span{display:block;font-size:clamp(19px,1.5vw,25px);color:#846640;font-weight:500;margin-top:12px}.hero p{font-size:15px;color:var(--muted);max-width:610px;margin:0}.hero-visual{position:relative;aspect-ratio:1.18/1;background:#ddd0c1}.hero-visual img{width:100%;height:100%;object-fit:cover}.photo-note{position:absolute;left:18px;bottom:18px;background:rgba(255,253,249,.93);backdrop-filter:blur(8px);padding:10px 14px;border-radius:12px;font-size:11px;color:#665d54}.actions{display:flex;gap:11px;flex-wrap:wrap;margin-top:28px}.btn{min-height:44px;display:inline-flex;align-items:center;justify-content:center;padding:0 20px;border-radius:999px;font-size:13px;border:1px solid #9f7d52}.btn.primary{background:#7d603d;color:#fff;border-color:#7d603d}.btn.secondary{background:#fff}.hero-facts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:38px}.hero-fact{padding-top:15px;border-top:1px solid #dfd5c8}.hero-fact b{display:block;font-size:13px}.hero-fact span{display:block;color:#847b70;font-size:10px;margin-top:2px}.factbar{background:#2d2924;color:#fff}.factbar-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr))}.factbar-item{padding:23px 25px;border-right:1px solid rgba(255,255,255,.12);min-width:0}.factbar-item:last-child{border-right:0}.factbar-item small{display:block;color:#bdb2a6;font-size:10px;margin-bottom:5px}.factbar-item strong{display:block;font-size:13px;font-weight:500;overflow-wrap:anywhere}section{padding:78px 0}.section-head{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,520px);gap:50px;align-items:end;margin-bottom:32px}.eyebrow{font-size:10px;text-transform:uppercase;letter-spacing:.18em;color:#98784d;margin-bottom:8px}.section-head h2{font-size:34px;line-height:1.25;margin:0}.section-head p{margin:0;color:var(--muted);font-size:13px}.card{background:#fff;border:1px solid var(--line);border-radius:20px}.grid-2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.grid-3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.grid-4{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.grid-5{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:14px}.card-pad{padding:24px}.card h3{font-size:20px;margin:7px 0}.card p{font-size:12px;color:var(--muted);margin:0}.text-link{font-size:11px;color:#765b3b;display:inline-block;margin-top:12px}.pill{display:inline-flex;padding:4px 9px;border-radius:999px;background:#f2ece4;color:#795d3b;font-size:10px;margin:3px 4px 3px 0}.notice{padding:18px 20px;background:#f4eee5;border-left:3px solid #aa8658;border-radius:0 14px 14px 0;font-size:12px;color:#625a51}.fact-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.fact{padding:18px;border:1px solid var(--line);border-radius:16px;background:#fff}.fact small{display:block;font-size:9px;color:#92724c}.fact strong{display:block;font-size:13px;font-weight:500;margin-top:4px;overflow-wrap:anywhere}.dark{background:var(--deep);color:#fff}.dark p{color:#c9c0b5}.soft{background:var(--bg)}.service-card{padding:24px;min-height:230px;display:flex;flex-direction:column;justify-content:space-between}.service-card h3{font-size:22px;margin:12px 0 7px}.service-card p{font-size:12px;color:var(--muted)}.tags{display:flex;gap:6px;flex-wrap:wrap;margin-top:18px}.tag{font-size:10px;padding:4px 8px;background:#f3eee7;border-radius:999px}.doctor-card{padding:17px}.doctor-avatar{aspect-ratio:1/1;border-radius:15px;overflow:hidden;background:#eee7df;margin-bottom:14px}.doctor-avatar img{width:100%;height:100%;object-fit:cover}.doctor-card h3{font-size:21px;margin:8px 0 2px}.doctor-card p{font-size:11px;color:var(--muted);margin:4px 0}.doctor-role{font-size:9px;background:#f3eee7;color:#806545;border-radius:999px;padding:3px 8px}.doctor-detail{display:grid;grid-template-columns:350px minmax(0,1fr);gap:28px;align-items:start}.doctor-portrait{aspect-ratio:4/5;border-radius:24px;overflow:hidden;background:#eee7df;position:sticky;top:108px}.doctor-portrait img{width:100%;height:100%;object-fit:cover}.info-panel{padding:26px}.info-panel h2{font-size:26px;margin:0 0 17px}.doc-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.doc-card{padding:16px}.doc-img{height:390px;background:#f1ece5;border-radius:15px;overflow:hidden}.doc-img img{width:100%;height:100%;object-fit:contain}.doc-card h3{font-size:17px;margin:14px 0 4px}.doc-card p{font-size:11px;color:var(--muted)}.demand-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.demand{padding:17px;border-radius:16px;border:1px solid var(--line);background:#fff;font-size:12px}.demand b{display:block;font-size:14px;margin-bottom:3px}.project-toolbar{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:22px}.filter-btn{border:1px solid var(--line);background:#fff;border-radius:999px;padding:8px 12px;font-size:11px;cursor:pointer}.filter-btn.active{background:#7d603d;color:#fff;border-color:#7d603d}.project-category{margin:0 0 18px}.project-category[hidden]{display:none}.category-head{display:grid;grid-template-columns:1fr auto;gap:20px;align-items:end;padding:20px 0 14px;border-bottom:1px solid var(--line)}.category-head h3{font-size:23px;margin:0}.category-head p{font-size:11px;color:var(--muted)}.project-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;padding-top:12px}.project-item{padding:15px;border:1px solid var(--line);border-radius:14px;background:#fff;font-size:12px}.project-item small{display:block;color:#8c8175;font-size:9px;margin-top:4px}.price-band{font-size:11px;color:#765b3b;white-space:nowrap}.table{width:100%;border-collapse:collapse;font-size:12px}.table th,.table td{padding:13px 11px;text-align:left;border-bottom:1px solid var(--line);vertical-align:top}.table th{font-size:10px;color:#7b7065;font-weight:500;background:#faf7f2}.device-grid{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:30px;align-items:start}.device-main{aspect-ratio:.92/1;border-radius:22px;overflow:hidden}.device-main img{width:100%;height:100%;object-fit:cover}.spec-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.spec{padding:17px;border:1px solid rgba(255,255,255,.14);border-radius:14px}.spec small{display:block;font-size:9px;color:#9b9188}.spec strong{font-size:12px;font-weight:500}.visit-grid{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:22px}.visit-photo{border-radius:22px;overflow:hidden;min-height:500px}.visit-photo img{width:100%;height:100%;object-fit:cover}.route-list{display:grid;gap:15px}.route-item{display:grid;grid-template-columns:30px 1fr;gap:11px}.route-index{width:30px;height:30px;border-radius:50%;display:grid;place-items:center;background:#f0e8dc;color:#795d3b;font-size:10px}.route-item b{font-size:12px}.route-item span{display:block;font-size:11px;color:#706961;margin-top:2px}.media-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px}.media-card{padding:20px}.media-card small{font-size:9px;color:#8f7656}.media-card h3{font-size:16px;line-height:1.5;margin:8px 0}.media-card p{font-size:11px}.article{max-width:880px;margin:auto}.article h1{font-size:40px;line-height:1.3}.article h2{font-size:27px;margin-top:38px}.article p{font-size:15px;color:#4e4943}.article-meta{font-size:11px;color:#8a8177;border-bottom:1px solid var(--line);padding-bottom:17px;margin-bottom:28px}.faq{display:grid;gap:10px}.faq details{border:1px solid var(--line);border-radius:14px;background:#fff;padding:14px 16px}.faq summary{font-size:13px;cursor:pointer}.faq p{font-size:12px;color:var(--muted)}footer{background:#27231f;color:#eee5da;padding:48px 0 24px}.footer-grid{display:grid;grid-template-columns:1.6fr repeat(3,1fr);gap:42px}.footer-brand{font-family:"Songti SC","STSong",serif;font-size:22px;margin-bottom:9px}footer p,footer a{font-size:11px;color:#c2b7aa}footer h4{font-size:11px;margin:0 0 12px}.footer-bottom{margin-top:32px;border-top:1px solid rgba(255,255,255,.12);padding-top:18px;display:flex;justify-content:space-between;gap:20px;color:#8f8579;font-size:10px}
@media(max-width:1180px){nav{gap:14px;font-size:12px}.grid-5{grid-template-columns:repeat(3,1fr)}.grid-4,.demand-grid{grid-template-columns:repeat(2,1fr)}.project-list{grid-template-columns:repeat(2,1fr)}}
@media(max-width:860px){.info-strip{display:none}nav{display:none}.header-row{height:64px}.mobile-menu{display:block;margin-left:auto;font-size:12px}.hero-grid,.doctor-detail,.device-grid,.visit-grid{grid-template-columns:1fr}.hero-copy{padding:42px 28px}.hero-visual{aspect-ratio:16/10}.section-head{grid-template-columns:1fr;gap:12px}.grid-3,.grid-2,.doc-grid{grid-template-columns:1fr}.grid-5{grid-template-columns:repeat(2,1fr)}.doctor-portrait{position:static;max-width:350px}.footer-grid{grid-template-columns:1fr 1fr}.project-list{grid-template-columns:1fr}}
@media(max-width:560px){.shell{width:min(calc(100% - 32px),var(--max))}.hero h1{font-size:34px}.hero-facts,.grid-4,.demand-grid,.grid-5,.factbar-grid,.fact-list,.spec-grid,.footer-grid{grid-template-columns:1fr}section{padding:58px 0}.section-head h2{font-size:29px}.footer-bottom{display:block}}


/* ===== V1.4 interaction + responsive layer ===== */
a,button{cursor:pointer;-webkit-tap-highlight-color:transparent}
a:focus-visible,button:focus-visible{outline:2px solid #9a7548;outline-offset:3px}
.desktop-nav{display:flex}
.menu-toggle{
  display:none;margin-left:auto;width:44px;height:44px;border:1px solid var(--line);
  border-radius:12px;background:#fff;color:var(--ink);align-items:center;justify-content:center;
  padding:0;flex:0 0 auto
}
.menu-toggle span,.menu-toggle:before,.menu-toggle:after{
  content:"";display:block;width:20px;height:2px;background:currentColor;border-radius:99px;
  transition:transform .2s ease,opacity .2s ease
}
.menu-toggle span{margin:4px 0}
body.menu-open .menu-toggle:before{transform:translateY(6px) rotate(45deg)}
body.menu-open .menu-toggle span{opacity:0}
body.menu-open .menu-toggle:after{transform:translateY(-6px) rotate(-45deg)}
.mobile-menu{
  display:none;position:fixed;z-index:45;left:16px;right:16px;top:74px;
  background:rgba(255,253,249,.985);backdrop-filter:blur(18px);
  border:1px solid var(--line);border-radius:18px;box-shadow:0 20px 60px rgba(45,39,31,.18);
  padding:10px;opacity:0;transform:translateY(-8px);pointer-events:none;
  transition:opacity .18s ease,transform .18s ease
}
.mobile-menu a{
  display:flex;align-items:center;justify-content:space-between;min-height:48px;
  padding:0 14px;border-radius:12px;font-size:14px
}
.mobile-menu a:hover,.mobile-menu a:active{background:#f3eee7}
.mobile-menu a::after{content:"›";color:#9b8c7a;font-size:20px}
.mobile-mask{
  display:none;position:fixed;inset:0;z-index:40;background:rgba(31,27,23,.28);
  opacity:0;pointer-events:none;transition:opacity .18s ease
}
body.menu-open .mobile-menu{opacity:1;transform:none;pointer-events:auto}
body.menu-open .mobile-mask{opacity:1;pointer-events:auto}
.mobile-actionbar{
  display:none;position:fixed;z-index:35;left:0;right:0;bottom:0;
  background:rgba(255,253,249,.97);backdrop-filter:blur(16px);
  border-top:1px solid var(--line);padding:8px 12px calc(8px + env(safe-area-inset-bottom));
  gap:8px;box-shadow:0 -8px 30px rgba(45,39,31,.08)
}
.mobile-actionbar a{
  min-width:0;min-height:48px;border-radius:13px;display:flex;align-items:center;
  justify-content:center;font-size:13px;font-weight:600;padding:0 12px
}
.mobile-actionbar .action-light{background:#f2ece4;color:#654e32}
.mobile-actionbar .action-primary{background:#765a39;color:#fff;flex:1.35}
.external-link::after{content:" ↗";font-size:.85em}

/* Improve touch target on cards */
.card[href],a.card,.doctor-card[href]{transition:transform .18s ease,box-shadow .18s ease}
.card[href]:hover,a.card:hover,.doctor-card[href]:hover{transform:translateY(-2px);box-shadow:var(--shadow)}

/* Mobile table adaptation */
@media(max-width:700px){
  table.table,table.table tbody,table.table tr,table.table td{display:block;width:100%}
  table.table thead{display:none}
  table.table tr{background:#fff;border:1px solid var(--line);border-radius:14px;padding:10px 14px;margin-bottom:10px}
  table.table td{border:0!important;padding:8px 0!important;white-space:normal!important}
  table.table td::before{content:attr(data-label);display:block;font-size:10px;color:#92724c;margin-bottom:2px}
}

/* Tablet */
@media(max-width:980px){
  .desktop-nav{display:none!important}
  .menu-toggle{display:flex}
  .mobile-menu,.mobile-mask{display:block}
  .header-row{height:66px}
  .brand-cn{font-size:19px}
  .brand-en{font-size:8px}
  .page-hero{padding:28px 0 44px}
  .page-hero .copy{padding:38px 30px}
  .hero-grid{grid-template-columns:1fr}
  .visual{min-height:360px;aspect-ratio:16/10}
  .section-head{grid-template-columns:1fr;gap:12px}
  .grid-4,.demand-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .doctor-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .doc-grid,.grid-3{grid-template-columns:repeat(2,minmax(0,1fr))}
  .doctor-detail-grid,.device-grid,.visit-grid{grid-template-columns:1fr}
  .doctor-portrait{position:static;max-width:380px;width:100%}
}

/* Phone */
@media(max-width:640px){
  body{padding-bottom:72px}
  .mobile-actionbar{display:flex}
  .shell{width:min(calc(100% - 28px),var(--max))}
  .brand img{width:38px;height:38px}
  .brand-cn{font-size:17px}
  .brand-en{display:none}
  .page-hero{padding:18px 0 34px}
  .page-hero .copy{padding:30px 22px;border-radius:20px}
  .page-hero h1{font-size:32px;line-height:1.22;margin:14px 0}
  .page-hero p{font-size:13px}
  .visual{min-height:260px;border-radius:20px;aspect-ratio:4/3}
  section{padding:50px 0}
  .section-head{margin-bottom:24px}
  .section-head h2{font-size:27px}
  .section-head p{font-size:12px}
  .grid-4,.grid-3,.grid-2,.demand-grid,.doctor-grid,.doc-grid,.fact-list,.spec-grid,.footer-grid{grid-template-columns:1fr!important}
  .service-card{min-height:auto;padding:20px}
  .doctor-card{display:grid;grid-template-columns:96px minmax(0,1fr);gap:14px;align-items:center;padding:14px}
  .doctor-card .doctor-avatar{margin:0;aspect-ratio:1/1}
  .doctor-card h3{font-size:20px;margin-top:6px}
  .doctor-card p{min-height:0}
  .doctor-detail-grid{gap:18px}
  .doctor-portrait{max-width:100%;aspect-ratio:4/4.6}
  .info-panel{padding:20px}
  .doc-img{height:auto;aspect-ratio:4/3}
  .doc-img img{object-fit:contain}
  .device-main{aspect-ratio:4/4.7}
  .device-secondary{grid-template-columns:1fr 1fr}
  .visit-photo{min-height:300px}
  .project-row{grid-template-columns:1fr;gap:8px}
  .price-ref{white-space:normal}
  .breadcrumb{padding-top:14px;font-size:10px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  .actions{gap:8px}
  .btn{min-height:46px;padding:0 16px;font-size:12px}
  footer{padding-bottom:82px}
  .footer-bottom{display:block}
  .footer-bottom span{display:block;margin-top:4px}
  .notice{font-size:11px}
}

[id]{scroll-margin-top:96px}
[id]:target{animation:targetFlash 1.2s ease}
@keyframes targetFlash{0%{box-shadow:0 0 0 0 rgba(154,117,72,.28)}45%{box-shadow:0 0 0 5px rgba(154,117,72,.12)}100%{box-shadow:none}}

/* V1.5 production candidate additions */
.tech-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.tech-card{overflow:hidden;display:grid;grid-template-rows:250px 1fr}
.tech-card .tech-image{overflow:hidden;background:#ece4d9}
.tech-card .tech-image img{width:100%;height:100%;object-fit:cover}
.tech-card .tech-copy{padding:28px}
.tech-card h3{font-size:26px;margin:6px 0 10px}
.tech-card p{font-size:13px;color:var(--muted)}
.feature-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:20px}
.feature-point{padding:18px;border:1px solid var(--line);border-radius:15px;background:#fff}
.feature-point b{display:block;font-size:14px;margin-bottom:5px}.feature-point span{font-size:11px;color:var(--muted)}
.gallery{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.gallery figure{margin:0;border-radius:18px;overflow:hidden;background:#fff;border:1px solid var(--line)}
.gallery .gallery-img{aspect-ratio:4/3;overflow:hidden;background:#ece6dd}
.gallery img{width:100%;height:100%;object-fit:cover}
.gallery figcaption{padding:11px 13px;font-size:10px;color:#6d655d}
.gallery-3{grid-template-columns:repeat(3,minmax(0,1fr))}
.reference-box{margin-top:28px;padding:18px 20px;border-top:1px solid var(--line);font-size:11px;color:#7b7269}
.reference-box a{color:#775a38;text-decoration:underline;text-underline-offset:3px}
.clean-list{margin:16px 0 0;padding:0;list-style:none;display:grid;gap:10px}
.clean-list li{padding-left:18px;position:relative;font-size:13px;color:#5b554f}
.clean-list li:before{content:'•';position:absolute;left:2px;color:#99754a}
.tech-note{font-size:11px;color:#746b62;margin-top:16px}
.photo-credit{font-size:9px;color:#91877d;margin-top:7px}
.mobile-nav-panel{display:none}
.mobile-overlay-v15{display:none}
@media(max-width:980px){
 .tech-grid{grid-template-columns:1fr}.feature-list{grid-template-columns:1fr 1fr}.gallery{grid-template-columns:1fr 1fr}
 .desktop-nav{display:none!important}.menu-toggle{display:flex!important}
 .mobile-nav-panel{display:block;position:fixed;z-index:70;top:74px;left:14px;right:14px;background:#fffdf9;border:1px solid var(--line);border-radius:18px;padding:10px;box-shadow:0 18px 60px rgba(45,39,31,.18);opacity:0;transform:translateY(-8px);pointer-events:none;transition:.18s}
 .mobile-nav-panel a{display:flex;align-items:center;justify-content:space-between;min-height:48px;padding:0 14px;border-radius:12px;font-size:14px}
 .mobile-nav-panel a:after{content:'›';color:#a39280;font-size:19px}
 .mobile-overlay-v15{display:block;position:fixed;z-index:65;inset:0;background:rgba(30,26,22,.3);opacity:0;pointer-events:none;transition:.18s}
 body.menu-open-v15 .mobile-nav-panel{opacity:1;transform:none;pointer-events:auto}
 body.menu-open-v15 .mobile-overlay-v15{opacity:1;pointer-events:auto}
}
@media(max-width:640px){
 .feature-list,.gallery,.gallery-3{grid-template-columns:1fr}.tech-card{grid-template-rows:210px 1fr}.tech-card .tech-copy{padding:21px}.tech-card h3{font-size:23px}
}


/* ===== Image lightbox ===== */
main img[data-lightbox="true"]{
  cursor:zoom-in;
  transition:transform .2s ease,filter .2s ease;
}
main img[data-lightbox="true"]:hover{
  filter:brightness(.97);
}
.image-lightbox{
  position:fixed;inset:0;z-index:1000;display:none;
  align-items:center;justify-content:center;padding:28px;
  background:rgba(18,16,14,.92);backdrop-filter:blur(8px);
}
.image-lightbox.is-open{display:flex}
.image-lightbox-figure{
  position:relative;margin:0;max-width:min(94vw,1500px);max-height:92vh;
  display:flex;flex-direction:column;align-items:center;justify-content:center;
}
.image-lightbox-img{
  max-width:94vw;max-height:84vh;width:auto;height:auto;object-fit:contain;
  border-radius:14px;box-shadow:0 24px 80px rgba(0,0,0,.38);
  background:#fff;
}
.image-lightbox-caption{
  color:#eee7dc;font-size:13px;line-height:1.5;margin-top:12px;text-align:center;
  max-width:900px;
}
.image-lightbox-close,
.image-lightbox-prev,
.image-lightbox-next{
  position:fixed;border:0;background:rgba(255,255,255,.12);color:#fff;
  width:46px;height:46px;border-radius:50%;display:grid;place-items:center;
  font-size:26px;line-height:1;cursor:pointer;backdrop-filter:blur(8px);
}
.image-lightbox-close{right:24px;top:22px;font-size:30px}
.image-lightbox-prev{left:24px;top:50%;transform:translateY(-50%)}
.image-lightbox-next{right:24px;top:50%;transform:translateY(-50%)}
.image-lightbox-counter{
  position:fixed;left:24px;top:26px;color:#d8cfc4;font-size:12px
}
body.lightbox-open{overflow:hidden}
.compare-wrap{overflow-x:auto;border:1px solid var(--line);border-radius:18px;background:#fff}
.compare-table{width:100%;min-width:760px;border-collapse:collapse}
.compare-table th,.compare-table td{
  padding:16px 18px;border-bottom:1px solid var(--line);vertical-align:top;text-align:left;
  font-size:12px;line-height:1.65
}
.compare-table th{background:#f7f2ea;color:#6f604f;font-size:11px;font-weight:600}
.compare-table tr:last-child td{border-bottom:0}
.compare-table td:first-child{font-weight:600;color:#40372e;width:150px}
.feature-spotlight{
  display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px
}
.feature-spotlight .card{padding:24px}
.feature-spotlight h3{font-size:20px;margin:8px 0 8px}
.feature-spotlight p{font-size:12px;color:var(--muted);margin:0}
.info-emphasis{
  border:1px solid #dfd2c1;border-radius:18px;padding:22px;background:linear-gradient(135deg,#fff,#faf5ee)
}
.info-emphasis strong{display:block;font-family:"Songti SC","STSong",serif;font-size:21px;margin-bottom:6px}
.info-emphasis p{font-size:12px;color:var(--muted);margin:0}
@media(max-width:860px){
  .feature-spotlight{grid-template-columns:1fr}
  .image-lightbox{padding:16px}
  .image-lightbox-prev{left:10px}.image-lightbox-next{right:10px}
  .image-lightbox-close{right:12px;top:12px}
  .image-lightbox-counter{left:14px;top:17px}
}


/* ===== Public media/source index ===== */
.source-toolbar{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 28px}
.source-filter{border:1px solid var(--line);background:#fff;color:#62574c;border-radius:999px;padding:8px 13px;font-size:11px}
.source-filter.is-active{background:#765b39;color:#fff;border-color:#765b39}
.source-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.source-card{padding:24px;display:flex;flex-direction:column;min-height:260px}
.source-meta{display:flex;flex-wrap:wrap;gap:8px;align-items:center;font-size:10px;color:#8b7b69;margin-bottom:10px}
.source-dot{width:3px;height:3px;border-radius:50%;background:#b39a79;display:inline-block}
.source-card h3{font-size:20px;line-height:1.55;margin:0 0 10px}
.source-card p{font-size:12px;color:var(--muted);margin:0}
.source-tags{display:flex;gap:6px;flex-wrap:wrap;margin:14px 0 18px}
.source-tag{font-size:10px;padding:4px 8px;border-radius:999px;background:#f3eee7;color:#775e40}
.source-actions{margin-top:auto;display:flex;align-items:center;justify-content:space-between;gap:12px;padding-top:14px;border-top:1px solid var(--line)}
.source-type{font-size:10px;color:#928372}
.source-open{font-size:12px;color:#765b39;font-weight:600}
.related-sources{margin-top:20px}
.related-source-row{display:grid;grid-template-columns:120px minmax(0,1fr) auto;gap:16px;align-items:start;padding:15px 0;border-bottom:1px solid var(--line)}
.related-source-row:last-child{border-bottom:0}
.related-source-row time{font-size:10px;color:#8a7e71}
.related-source-row h3{font-family:inherit;font-size:13px;line-height:1.55;margin:0}
.related-source-row a{font-size:11px;color:#765b39;white-space:nowrap}
@media(max-width:760px){
  .source-list{grid-template-columns:1fr}
  .source-card{min-height:0}
  .related-source-row{grid-template-columns:1fr;gap:5px}
  .related-source-row a{white-space:normal}
}


/* ===== V1.7 content/equipment ===== */
.equipment-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.equipment-card{overflow:hidden;display:flex;flex-direction:column}
.equipment-card .equipment-cover{aspect-ratio:4/3;background:#eee7dd;overflow:hidden}
.equipment-card .equipment-cover img{width:100%;height:100%;object-fit:cover}
.equipment-card .equipment-body{padding:22px;display:flex;flex-direction:column;flex:1}
.equipment-card h3{font-size:21px;margin:7px 0 8px}
.equipment-card p{font-size:12px;color:var(--muted);margin:0 0 16px}
.equipment-card .text-link{margin-top:auto}
.device-fact-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.device-fact{border:1px solid var(--line);border-radius:16px;padding:17px;background:#fff}
.device-fact small{display:block;font-size:10px;color:#92724c}
.device-fact strong{display:block;font-size:13px;margin-top:4px;font-weight:600;overflow-wrap:anywhere}
.article-layout{display:grid;grid-template-columns:minmax(0,1fr) 260px;gap:42px;align-items:start}
.article-body{max-width:850px}
.article-body h2{font-size:27px;margin:40px 0 14px}
.article-body h3{font-size:20px;margin:28px 0 10px}
.article-body p{font-size:15px;line-height:1.9;color:#4f4942;margin:0 0 18px}
.article-body ul{margin:0 0 20px;padding-left:22px;color:#4f4942}
.article-body li{font-size:14px;line-height:1.85;margin:5px 0}
.article-meta{display:flex;gap:14px;flex-wrap:wrap;color:#897d70;font-size:11px;margin:12px 0 25px}
.article-aside{position:sticky;top:110px}
.article-aside .card{padding:20px}
.article-aside h3{font-size:18px;margin:5px 0 12px}
.article-aside a{display:block;font-size:12px;color:#765b39;padding:9px 0;border-bottom:1px solid var(--line)}
.article-aside a:last-child{border-bottom:0}
.knowledge-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.knowledge-card{padding:23px;display:flex;flex-direction:column;min-height:235px}
.knowledge-card h3{font-size:20px;line-height:1.5;margin:9px 0 9px}
.knowledge-card p{font-size:12px;color:var(--muted);margin:0 0 18px}
.knowledge-card .text-link{margin-top:auto}
.credential-highlight{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.credential-highlight .fact{background:#fff}
.env-gallery-v17{display:grid;grid-template-columns:2fr 1fr 1fr;grid-auto-rows:250px;gap:12px}
.env-gallery-v17 figure{margin:0;border-radius:18px;overflow:hidden;position:relative;background:#eee6db}
.env-gallery-v17 figure:first-child{grid-row:span 2}
.env-gallery-v17 img{width:100%;height:100%;object-fit:cover}
.env-gallery-v17 figcaption{position:absolute;left:10px;bottom:10px;background:rgba(255,253,249,.9);padding:6px 9px;border-radius:8px;font-size:10px;color:#665b4e}
@media(max-width:980px){
  .equipment-grid,.knowledge-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .article-layout{grid-template-columns:1fr}
  .article-aside{position:static}
  .env-gallery-v17{grid-template-columns:1fr 1fr;grid-auto-rows:220px}
  .env-gallery-v17 figure:first-child{grid-row:span 1;grid-column:span 2}
}
@media(max-width:640px){
  .equipment-grid,.knowledge-grid,.device-fact-grid,.credential-highlight{grid-template-columns:1fr}
  .article-body p{font-size:14px}
  .article-body h2{font-size:24px}
  .env-gallery-v17{grid-template-columns:1fr;grid-auto-rows:250px}
  .env-gallery-v17 figure:first-child{grid-column:auto}
}


/* ===== V1.8 button contrast + full knowledge articles ===== */
.btn{color:var(--ink)}
.btn.primary{background:#7d603d;color:#fff;border-color:#7d603d}
.btn.secondary{background:#fff;color:#28231e;border-color:#9f7d52}
.btn.secondary:hover{background:#f3eee7;color:#5f482f}
.dark .btn.secondary{background:#fff;color:#28231e;border-color:#fff}
.dark .btn.secondary:hover{background:#eee7dc;color:#28231e}
.filter-btn{color:var(--ink)}.filter-btn.active{color:#fff}
.source-filter{color:var(--ink)}.source-filter.is-active{color:#fff}
.article-full{max-width:860px}
.article-full h2{font-size:27px;line-height:1.45;margin:42px 0 16px}
.article-full h3{font-size:20px;line-height:1.5;margin:30px 0 12px}
.article-full p{font-size:15px;line-height:1.95;color:#49433d;margin:0 0 19px}
.article-full figure{margin:30px 0}
.article-full figure img{width:100%;border-radius:18px;background:#eee7dd}
.article-full figcaption{font-size:11px;color:#887c70;text-align:center;margin-top:9px;line-height:1.6}
.article-full .reference{font-size:12px;color:#756b61;line-height:1.75}
.article-shell{display:grid;grid-template-columns:minmax(0,860px) 260px;gap:50px;align-items:start}
.article-toc{position:sticky;top:110px}.article-toc .card{padding:20px}
.article-toc h3{font-size:17px;margin:4px 0 10px}
.article-toc a{display:block;font-size:11px;color:#765b39;padding:8px 0;border-bottom:1px solid var(--line)}
.article-toc a:last-child{border-bottom:0}.article-source-note{font-size:11px;color:#87796c;margin-top:18px}
.knowledge-card .cover{aspect-ratio:16/10;border-radius:14px;overflow:hidden;background:#eee7dd;margin-bottom:15px}
.knowledge-card .cover img{width:100%;height:100%;object-fit:cover}
@media(max-width:900px){.article-shell{grid-template-columns:1fr}.article-toc{position:static}}
@media(max-width:640px){.article-full h2{font-size:23px;margin-top:34px}.article-full p{font-size:14px}.article-full figure{margin:24px 0}}


/* ===== V1.9 top-page visual hierarchy ===== */
.hero-showcase{
  min-height:520px;border-radius:28px;overflow:hidden;background:#e9e1d6;
  position:relative;border:1px solid rgba(154,117,72,.12)
}
.hero-showcase .showcase-caption{
  position:absolute;left:16px;bottom:16px;z-index:3;
  background:rgba(255,253,249,.92);backdrop-filter:blur(8px);
  padding:8px 11px;border-radius:10px;font-size:10px;color:#695e51
}
.hero-mosaic{
  width:100%;height:100%;min-height:520px;display:grid;
  grid-template-columns:1.35fr .82fr;grid-template-rows:1fr 1fr;gap:10px;padding:10px;
  background:#dfd4c6
}
.hero-tile{
  position:relative;overflow:hidden;border-radius:19px;background:#d8cec2;
  min-width:0;min-height:0
}
.hero-tile.hero-tile-main{grid-row:1 / span 2}
.hero-tile img{width:100%;height:100%;object-fit:cover;transition:transform .35s ease}
.hero-tile:hover img{transform:scale(1.018)}
.hero-tile .tile-label{
  position:absolute;left:10px;bottom:10px;background:rgba(31,27,23,.78);color:#fff;
  padding:6px 9px;border-radius:8px;font-size:9px;letter-spacing:.03em;backdrop-filter:blur(6px)
}
.hero-tile .tile-label.light{background:rgba(255,253,249,.9);color:#5c5145}
.hero-doctor-board{
  min-height:520px;padding:24px;background:
  radial-gradient(circle at 85% 15%,rgba(183,151,105,.20),transparent 25%),
  linear-gradient(145deg,#eee6dc,#dad0c2);
  display:grid;grid-template-columns:repeat(6,1fr);grid-template-rows:1fr 1fr;gap:12px
}
.hero-doctor{
  background:#fff;border-radius:20px;overflow:hidden;position:relative;
  box-shadow:0 12px 28px rgba(56,43,29,.07)
}
.hero-doctor:nth-child(1){grid-column:1 / span 2;grid-row:1 / span 2}
.hero-doctor:nth-child(2){grid-column:3 / span 2}
.hero-doctor:nth-child(3){grid-column:5 / span 2}
.hero-doctor:nth-child(4){grid-column:3 / span 2}
.hero-doctor:nth-child(5){grid-column:5 / span 2}
.hero-doctor img{width:100%;height:100%;object-fit:cover}
.hero-doctor .tile-label{
  position:absolute;left:10px;bottom:10px;background:rgba(255,253,249,.92);
  padding:6px 9px;border-radius:8px;font-size:10px;color:#54493d
}
.knowledge-hero-visual{
  min-height:520px;position:relative;border-radius:28px;overflow:hidden;background:#ded5c9
}
.knowledge-hero-visual img{width:100%;height:100%;object-fit:cover}
.knowledge-hero-visual:after{
  content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 55%,rgba(31,25,20,.42))
}
.knowledge-topic-strip{
  position:absolute;z-index:2;left:18px;right:18px;bottom:18px;
  display:flex;gap:7px;flex-wrap:wrap
}
.knowledge-topic-strip span{
  background:rgba(255,253,249,.91);color:#5f5346;padding:6px 9px;border-radius:999px;
  font-size:9px;backdrop-filter:blur(7px)
}
.knowledge-disclaimer{
  position:absolute;z-index:2;right:18px;top:18px;background:rgba(255,253,249,.9);
  color:#756a5e;padding:7px 9px;border-radius:9px;font-size:9px
}
.qualification-board{
  min-height:520px;padding:12px;background:#e9e2d8;display:grid;
  grid-template-columns:1.25fr .75fr;grid-template-rows:1fr 1fr;gap:10px
}
.qualification-board .qdoc{background:#f7f4ee;border-radius:18px;overflow:hidden;position:relative}
.qualification-board .qdoc:first-child{grid-row:span 2}
.qualification-board img{width:100%;height:100%;object-fit:contain;padding:10px}
.qualification-board .tile-label{
  position:absolute;left:10px;bottom:10px;background:rgba(43,38,33,.78);color:#fff;
  padding:6px 9px;border-radius:8px;font-size:9px
}
.hero-copy .hero-keypoints{
  margin-top:28px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px
}
.hero-copy .hero-keypoint{
  padding-top:12px;border-top:1px solid #ddd2c5
}
.hero-copy .hero-keypoint b{display:block;font-size:12px}
.hero-copy .hero-keypoint span{display:block;font-size:10px;color:#8a8076;margin-top:2px}

@media(max-width:980px){
  .hero-showcase,.hero-mosaic,.hero-doctor-board,.knowledge-hero-visual,.qualification-board{min-height:420px}
  .hero-doctor-board{grid-template-columns:repeat(4,1fr);grid-template-rows:repeat(3,1fr)}
  .hero-doctor:nth-child(1){grid-column:1 / span 2;grid-row:1 / span 2}
  .hero-doctor:nth-child(2){grid-column:3 / span 2}
  .hero-doctor:nth-child(3){grid-column:3 / span 2}
  .hero-doctor:nth-child(4){grid-column:1 / span 2}
  .hero-doctor:nth-child(5){grid-column:3 / span 2}
}
@media(max-width:640px){
  .hero-showcase,.hero-mosaic,.hero-doctor-board,.knowledge-hero-visual,.qualification-board{min-height:320px;border-radius:20px}
  .hero-mosaic{grid-template-columns:1.2fr .8fr;gap:6px;padding:6px}
  .hero-tile{border-radius:14px}
  .hero-doctor-board{padding:8px;gap:6px;grid-template-columns:repeat(4,1fr)}
  .hero-doctor{border-radius:14px}
  .knowledge-topic-strip{left:10px;right:10px;bottom:10px}
  .knowledge-disclaimer{right:10px;top:10px}
  .qualification-board{padding:6px;gap:6px}
  .hero-copy .hero-keypoints{grid-template-columns:1fr;gap:6px}
}


/* ===== V1.9.1 mobile nav + typography + knowledge covers ===== */

/* Keypoint label/content spacing */
.hero-copy .hero-keypoint{
  line-height:1.72;
}
.hero-copy .hero-keypoint b{
  display:inline-block !important;
  margin-right:12px;
  font-weight:700;
}
.hero-copy .hero-keypoint span{
  display:inline-block !important;
}

/* Knowledge cover defaults */
.knowledge-card .cover{
  background:#f0e9df;
}
.knowledge-card .cover img{
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center;
}
.knowledge-card .cover img[src*="license.webp"]{
  object-fit:contain;
  padding:12px;
  background:#f4efe7;
}

/* Mobile menu trigger */
.menu-toggle{
  position:relative;
}
@media(max-width:980px){
  .menu-toggle{
    display:flex !important;
    width:44px;
    height:44px;
    margin-left:auto;
    padding:0;
    border:1px solid #dccdbb;
    border-radius:50%;
    background:#fffdf9;
    color:#5f4a33;
    flex-direction:column !important;
    align-items:center;
    justify-content:center;
    gap:4px;
    overflow:visible;
    box-shadow:0 5px 18px rgba(72,53,34,.06);
  }
  .menu-toggle:before,
  .menu-toggle span,
  .menu-toggle:after{
    content:"";
    display:block;
    flex:0 0 auto;
    width:18px;
    height:1.5px;
    margin:0 !important;
    background:currentColor;
    border-radius:999px;
    transform:none;
    transition:transform .22s ease,opacity .18s ease,width .18s ease;
  }
  body.menu-open-v15 .menu-toggle:before{
    transform:translateY(5.5px) rotate(45deg);
  }
  body.menu-open-v15 .menu-toggle span{
    opacity:0;
    width:12px;
  }
  body.menu-open-v15 .menu-toggle:after{
    transform:translateY(-5.5px) rotate(-45deg);
  }

  /* Right-side drawer */
  .mobile-nav-panel{
    display:flex !important;
    flex-direction:column;
    position:fixed;
    z-index:90;
    top:0;
    right:0;
    bottom:0;
    left:auto !important;
    width:min(86vw,370px);
    height:100dvh;
    padding:0 18px calc(18px + env(safe-area-inset-bottom));
    margin:0;
    background:#fffdf9;
    border:0;
    border-left:1px solid rgba(154,117,72,.12);
    border-radius:26px 0 0 26px;
    box-shadow:-24px 0 70px rgba(42,34,27,.18);
    opacity:0;
    transform:translateX(104%);
    pointer-events:none;
    overflow-y:auto;
    transition:transform .26s cubic-bezier(.22,.8,.25,1),opacity .18s ease;
  }
  body.menu-open-v15 .mobile-nav-panel{
    opacity:1;
    transform:translateX(0);
    pointer-events:auto;
  }

  .mobile-nav-head{
    min-height:82px;
    flex:0 0 auto;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:14px;
    padding:10px 2px 8px;
    border-bottom:1px solid var(--line);
  }
  .mobile-nav-brand{
    display:flex;
    align-items:center;
    gap:10px;
    min-width:0;
  }
  .mobile-nav-brand img{
    width:38px;
    height:38px;
    border-radius:50%;
    object-fit:cover;
  }
  .mobile-nav-brand strong{
    display:block;
    font-family:"Songti SC","STSong",serif;
    font-size:16px;
    font-weight:700;
    letter-spacing:.04em;
  }
  .mobile-nav-brand span{
    display:block;
    margin-top:1px;
    color:#9a8c7c;
    font-size:8px;
    letter-spacing:.13em;
  }
  .mobile-nav-close{
    width:40px;
    height:40px;
    flex:0 0 auto;
    border:1px solid var(--line);
    border-radius:50%;
    background:#faf6f0;
    color:#5f5143;
    font-size:24px;
    line-height:1;
    display:grid;
    place-items:center;
  }

  .mobile-nav-title{
    padding:20px 4px 8px;
    color:#9a7548;
    font-size:9px;
    letter-spacing:.18em;
    text-transform:uppercase;
  }

  .mobile-nav-panel > a{
    min-height:49px;
    padding:0 5px;
    border-radius:0;
    border-bottom:1px solid #eee6dc;
    display:flex;
    align-items:center;
    justify-content:space-between;
    font-family:"Songti SC","STSong",serif;
    font-size:16px;
    color:#332d27;
  }
  .mobile-nav-panel > a:after{
    content:"↗";
    color:#aa9275;
    font-family:system-ui,sans-serif;
    font-size:12px;
  }
  .mobile-nav-panel > a:hover,
  .mobile-nav-panel > a:active{
    background:transparent;
    color:#8a663c;
  }

  .mobile-nav-contact{
    margin-top:auto;
    padding-top:20px;
  }
  .mobile-nav-contact p{
    margin:0 0 10px;
    color:#8a7f73;
    font-size:10px;
  }
  .mobile-nav-contact-actions{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:8px;
  }
  .mobile-nav-contact-actions a{
    min-height:44px;
    border-radius:12px;
    display:flex;
    align-items:center;
    justify-content:center;
    padding:0 10px;
    font-size:12px;
    font-weight:600;
  }
  .mobile-nav-phone{
    background:#f1ebe3;
    color:#684f35;
  }
  .mobile-nav-visit{
    background:#765b39;
    color:#fff;
  }

  .mobile-overlay-v15{
    display:block;
    position:fixed;
    z-index:85;
    inset:0;
    background:rgba(28,24,20,.38);
    backdrop-filter:blur(2px);
    opacity:0;
    pointer-events:none;
    transition:opacity .2s ease;
  }
  body.menu-open-v15 .mobile-overlay-v15{
    opacity:1;
    pointer-events:auto;
  }
  body.menu-open-v15{
    overflow:hidden;
  }
}

@media(max-width:640px){
  .header-row{
    height:68px;
  }
  .menu-toggle{
    width:42px;
    height:42px;
  }
  .mobile-nav-panel{
    width:min(88vw,350px);
    border-radius:22px 0 0 22px;
    padding-inline:16px;
  }
  .hero-copy .hero-keypoint b{
    margin-right:10px;
  }
}


/* ===== V1.9.2 display refinements ===== */

/* Knowledge / hero keypoints: keep a clear visual gap between label and explanation. */
.hero-copy .hero-keypoint{
  display:grid !important;
  grid-template-columns:max-content minmax(0,1fr);
  align-items:baseline;
  column-gap:14px;
  row-gap:0;
  line-height:1.65;
}
.hero-copy .hero-keypoint b,
.hero-copy .hero-keypoint span{
  display:block !important;
  margin:0 !important;
}
.hero-copy .hero-keypoint b{
  white-space:nowrap;
}
.hero-copy .hero-keypoint span{
  min-width:0;
}

/* Doctor image framing: portrait stays centered inside every frame. */
.doctor-avatar img,
.hero-doctor img,
.doctor-portrait img{
  object-position:50% 50% !important;
}

/* The doctor cards keep one row on normal / compact desktop widths. */
@media(max-width:1180px){
  .grid-5{
    grid-template-columns:repeat(5,minmax(0,1fr)) !important;
    gap:10px !important;
  }
  .doctor-card{
    padding:clamp(10px,1.25vw,17px);
  }
  .doctor-card h3{
    font-size:clamp(16px,1.75vw,21px);
  }
  .doctor-card p{
    font-size:clamp(9px,1vw,11px);
  }
  .doctor-role{
    font-size:clamp(8px,.85vw,9px);
  }
}

/* Tablet: preserve the one-row information hierarchy instead of reflowing 5 doctors to 2 rows. */
@media(max-width:860px){
  .grid-5{
    grid-template-columns:repeat(5,minmax(118px,1fr)) !important;
    gap:8px !important;
    overflow-x:auto;
    padding-bottom:8px;
    scroll-snap-type:x proximity;
    scrollbar-width:thin;
  }
  .grid-5 > *{
    scroll-snap-align:start;
  }
  .doctor-card{
    display:block !important;
    grid-template-columns:none !important;
    min-width:118px;
  }
  .doctor-card .doctor-avatar{
    margin-bottom:10px !important;
  }
}

/* Small phone: keep cards in one horizontal row rather than breaking the layout into multiple rows. */
@media(max-width:640px){
  .grid-5{
    grid-template-columns:repeat(5,156px) !important;
    overflow-x:auto;
    gap:9px !important;
    padding-right:8px;
    -webkit-overflow-scrolling:touch;
  }
  .doctor-card{
    min-width:156px;
    padding:12px !important;
  }
  .doctor-card h3{
    font-size:18px !important;
  }
  .doctor-card p{
    font-size:10px !important;
  }

  /* Three/four-card content grids also retain a single visual row via horizontal browsing,
     instead of abruptly collapsing every desktop row into a vertical stack. */
  .knowledge-grid,
  .equipment-grid{
    display:grid !important;
    grid-auto-flow:column;
    grid-auto-columns:minmax(245px,78vw);
    grid-template-columns:none !important;
    overflow-x:auto;
    gap:12px !important;
    padding-bottom:9px;
    scroll-snap-type:x proximity;
    -webkit-overflow-scrolling:touch;
  }
  .knowledge-grid > *,
  .equipment-grid > *{
    scroll-snap-align:start;
  }
}

/* Editorial illustrations distinguish themselves from real clinic photographs. */
.knowledge-editorial-figure img{
  object-fit:cover;
}
.knowledge-editorial-figure figcaption{
  color:#8a7d70;
}


/* ===== V1.9.3 fixed mobile desktop-canvas mode ===== */

/*
  Phone rendering intentionally preserves the desktop information architecture.
  The mobile viewport is declared as 1440 CSS px in HTML, so the browser scales
  the full desktop canvas proportionally to the physical phone width instead of
  triggering responsive column reflow.
*/
html.fixed-mobile-canvas body{
  min-width:1180px;
}

/* Actual source crops are centered; keep frames neutral. */
.doctor-avatar img,
.hero-doctor img{
  object-position:center center !important;
}

/* Desktop and scaled-mobile both keep the 5-doctor row intact. */
.grid-5{
  grid-template-columns:repeat(5,minmax(0,1fr)) !important;
}

/* Avoid any earlier tablet override from turning the doctor section into a scroller
   when the site is opened in a narrow desktop window. */
@media(min-width:981px){
  .grid-5{
    overflow:visible !important;
  }
}

/* V1.9.4: readable facts, restored article content and explicit controls. */
[hidden]{display:none!important}
.project-item h4{font-family:inherit;font-weight:600;margin:0 0 12px;color:var(--ink);font-size:14px;line-height:1.65}
.project-item .project-detail{font-size:11px;line-height:1.7;color:var(--muted);margin:10px 0 0}
.project-item .project-price{margin-top:auto}
.price-note{font-size:12px;line-height:1.85;color:var(--muted);margin:18px 0}
.article-full .article-emphasis{background:#f4eee6;border-left:3px solid #9a7548;padding:16px 20px;border-radius:0 10px 10px 0;font-weight:600}
.article-full .article-disclaimer{font-size:12px;color:#756b61;border-top:1px solid var(--line);padding-top:20px;margin-top:36px}
.article-toc{max-height:calc(100vh - 130px);overflow:auto;padding:20px;background:#fffdf9;border:1px solid var(--line);border-radius:16px}
.article-toc h3:not(:first-child){margin-top:22px}
.article-section-links{display:block;white-space:normal;margin:0}
.article-full h2,.project-category{scroll-margin-top:110px}
.certificate-figure{max-width:720px;margin:0 auto;text-align:center}
.certificate-figure img{display:block;width:100%;max-height:740px;object-fit:contain;background:#f3eee7;border:1px solid var(--line);border-radius:16px;padding:12px}
.certificate-figure figcaption{font-size:12px;color:var(--muted);margin-top:12px}
.hero-doctor .tile-label{z-index:2;font-size:10px}
.hero-doctor .tile-label:hover{text-decoration:underline;background:#fff}
a:focus-visible,button:focus-visible,[role="button"]:focus-visible{outline:3px solid #a15b32;outline-offset:4px}
.image-lightbox-close:focus-visible,.image-lightbox-prev:focus-visible,.image-lightbox-next:focus-visible{outline-color:#fff}
.knowledge-hero-visual:after{pointer-events:none}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition:none!important}}

/* V1.9.5: spacing for the knowledge introduction's own hero container. */
.knowledge-intro-points .hero-keypoint{display:flex;align-items:baseline;column-gap:14px}
.knowledge-intro-points .hero-keypoint > b{flex:0 0 auto;white-space:nowrap}
.knowledge-intro-points .hero-keypoint > span{min-width:0}

/* V1.9.6: website operator and approved ICP registration. */
.footer-registration{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:6px 18px;margin-top:14px;color:#c2b7aa;font-size:12px;line-height:1.8}
.footer-registration a{color:#d8c6ab;font-size:12px;white-space:nowrap}
.footer-registration a:hover{text-decoration:underline;text-underline-offset:3px}
.footer-registration a:focus-visible{outline:2px solid #d8c6ab;outline-offset:4px;border-radius:2px}
