/* Article template only. All selectors require its explicit presentation wrapper. */
.hw-article{background:var(--paper,#F5F9FC);padding:32px 0 48px;color:var(--txt,#23405E);--hw-shadow:0 12px 32px -18px rgba(11,42,74,.28)}
.hw-article,.hw-article *{box-sizing:border-box}
.hw-article .hw-article-layout{width:min(1600px,calc(100% - 48px));margin-inline:auto;display:grid;grid-template-columns:232px minmax(0,1fr) 262px;gap:24px;align-items:start}
.hw-article>.kwrap{width:min(1600px,calc(100% - 48px));margin-inline:auto}
.hw-article>.kwrap>.hw-article-layout{width:100%;margin-inline:0}
.hw-article .kgrid{display:grid;grid-template-columns:232px minmax(0,1fr) 262px;gap:24px;align-items:start}
.hw-article .kside.kl{grid-column:1;grid-row:1;min-width:0}
.hw-article .kside.kr{grid-column:3;grid-row:1;min-width:0}
.hw-article .hw-article-main{grid-column:2;grid-row:1;min-width:0}
.hw-article .hw-article-left{grid-column:1;grid-row:1;min-width:0}
.hw-article .hw-article-right{grid-column:3;grid-row:1;min-width:0}
.hw-article .hw-page-hero{padding:24px;margin:0 0 24px;background:linear-gradient(135deg,var(--sky,#EAF5FC),var(--paper,#F5F9FC));border:1px solid var(--line,#E2EAF2);border-radius:12px}
.hw-article .hw-page-hero h1{font-size:clamp(28px,4vw,44px);font-weight:700;line-height:1.15;color:var(--ink,#0B2A4A);margin:12px 0 0;overflow-wrap:anywhere}
.hw-article .hw-page-hero .crumbs{font-size:13px;color:var(--mut,#5E7690);flex-wrap:wrap;gap:6px}
.hw-article .hw-page-hero .pill{display:inline-flex;align-items:center;min-height:36px;margin-top:16px}
.pg-article main.hw-article .ph.page-hero{position:relative;overflow:hidden;margin:0 0 24px;padding:22px 28px 26px;border:1px solid var(--line);border-radius:16px;background:radial-gradient(120% 140% at 100% 0,rgba(30,165,230,.16),transparent 55%),linear-gradient(135deg,var(--sky),var(--paper))}
.pg-article main.hw-article .ph.page-hero::after{content:"";position:absolute;right:-30px;top:-30px;width:220px;height:220px;border-radius:50%;border:28px solid rgba(147,186,33,.13);pointer-events:none}
.pg-article main.hw-article .ph.page-hero .crumbs{position:relative;z-index:1;margin-bottom:10px;font-size:13px}
.pg-article main.hw-article .ph.page-hero h1{position:relative;z-index:1;max-width:820px;margin:0;color:var(--ink);font-size:clamp(28px,3.2vw,44px);line-height:1.15;font-weight:700}
.pg-article main.hw-article .ph.page-hero h1::after{content:"";display:block;width:64px;height:4px;margin-top:14px;border-radius:4px;background:linear-gradient(90deg,var(--blue),var(--green))}
.pg-article main.hw-article .hwb-cnt{position:relative;z-index:1;display:inline-flex;align-items:baseline;gap:6px;margin-top:14px;padding:6px 14px;border-radius:999px;background:#fff;border:1px solid var(--line);color:var(--mut);font-size:13px}
.pg-article main.hw-article .hwb-cnt b{color:var(--blue2);font-size:18px}
.hw-article .hw-article-content{min-width:0}
.hw-article .post{padding:24px;border:1px solid var(--line);border-radius:12px;box-shadow:var(--hw-shadow);background:#fff}
.hw-article .post-grid,.hw-article .post-grid:has(.toc){display:block;min-width:0}
.hw-article .post-body{max-width:760px;width:100%;margin-inline:auto;font-size:16px;line-height:1.7;overflow-wrap:anywhere}
.hw-article .post-body h2{font-size:24px;color:var(--ink);border-left:3px solid var(--green);padding-left:12px;margin:32px 0 16px;line-height:1.3}
.hw-article .post-body h3{font-size:18px;color:var(--ink);margin:24px 0 12px}
.hw-article .post-body p{margin-bottom:16px}
.hw-article .post-head{flex-wrap:wrap;gap:12px;margin:16px 0 24px;font-size:13px}
.hw-article .toc{position:static;margin:0 0 24px;background:#fff;border:1px solid var(--line);border-radius:12px;padding:16px;font-size:14px}
.hw-article .toc a{display:inline-block;min-height:36px;overflow-wrap:anywhere}
.hw-article .cover{margin:0}
.hw-article .rel{margin-top:48px}
.hw-article .rel .arts{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
.hw-article .art{min-width:0;border-radius:12px;box-shadow:var(--hw-shadow)}
.hw-article .pgr{margin:0 0 24px;padding:16px;background:#fff;border:1px solid var(--line);border-radius:12px;box-shadow:var(--hw-shadow);min-width:0}
.hw-article .pgr-h{font-size:18px;line-height:1.3;gap:8px;padding-left:10px;border-left-width:3px;flex-wrap:wrap;margin-bottom:16px}
.hw-article .pgr-h i{font-size:12px}
.hw-article .hw-article-left .pk-row,.hw-article .hw-article-right .pk-row{grid-template-columns:minmax(0,1fr);gap:16px}
.hw-article .pk{min-width:0;border-radius:12px;box-shadow:var(--hw-shadow);padding:12px;transition:transform .2s,border-color .2s}
.hw-article .pk:hover,.hw-article .art:hover,.hw-article .hw-insurance-card:hover{transform:translateY(-2px);border-color:var(--blue)}
.hw-article .pk-i{aspect-ratio:16/10;border-radius:8px;background:var(--sky)}
.hw-article .pk-i img{width:100%;height:100%;object-fit:cover}
.hw-article .pk b{font-size:15px;line-height:1.4;color:var(--ink);overflow-wrap:anywhere}
.hw-article .pk small{font-size:13px;line-height:1.5;overflow-wrap:anywhere}
.hw-article .pk-chips{gap:8px;min-width:0}
.hw-article .pk-chips a{display:flex;align-items:center;min-height:44px;padding:8px 12px;border-radius:12px;background:var(--sky);font-size:14px;line-height:1.4;overflow-wrap:anywhere}
.hw-article[data-hw-family="metro"] .post{overflow-x:auto;overscroll-behavior-x:contain}
.hw-article .leaf-map{height:clamp(420px,60vh,600px);border:1px solid var(--line);border-radius:12px;box-shadow:var(--hw-shadow);max-width:100%}
.hw-article .hw-metro-panel{background:#fff;border:1px solid var(--line);border-radius:12px;padding:24px;box-shadow:var(--hw-shadow)}
.hw-article .hw-metro-scroll{max-width:100%;overflow-x:auto;overscroll-behavior-x:contain}
.hw-article .hw-tooth-interactive{max-width:100%;overflow-x:auto;background:var(--paper);border:1px solid var(--line);border-radius:12px;padding:16px;overscroll-behavior-x:contain}
.hw-article .hw-tooth-interactive img{object-fit:contain}
.hw-article .s101-p3-teeth{max-width:100%;overflow-x:auto;overscroll-behavior-x:contain;border:1px solid var(--line);border-radius:12px;background:var(--paper);padding:16px;margin:24px 0}
.hw-article .s101-p3-teeth img{object-fit:contain}
@media(min-width:901px){.hw-article .s101-p3-teeth .teeth{display:flex;align-items:flex-start;gap:16px;width:602px}.hw-article .s101-p3-teeth .diseases,.hw-article .s101-p3-teeth .tooth-wrapper{flex:none}}
.hw-article .s101-p3-teeth .diseases a,.hw-article .s101-p3-teeth .teeth-names li a{color:var(--blue2)}
.hw-article .s101-p3-teeth .diseases a:hover,.hw-article .s101-p3-teeth .teeth-names li a:hover{color:var(--blue)}
.hw-article .s101-p3-teeth .diseases li:before,.hw-article .s101-p3-teeth .tooth-category li:before,.hw-article .s101-p3-teeth .teeth-names li:before{display:none}
.hw-article .s101-p3-teeth>h2{padding:16px;background:var(--sky);border-left:3px solid var(--blue);border-radius:12px;font-size:16px;line-height:1.6}
.hw-article .s101-district-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.hw-article .s101-district-card{padding:20px;background:#fff;border:1px solid var(--line);border-radius:12px;box-shadow:var(--hw-shadow)}
.hw-article .s101-district-card h3{font-size:18px}
.hw-article .s101-insurance a{color:var(--blue2);overflow-wrap:anywhere}
.hw-article .s101-insurance-logo{display:block;width:min(320px,100%);height:120px!important;max-height:120px!important;object-fit:contain;padding:16px;background:var(--paper);border:1px solid var(--line);border-radius:12px;margin:0 0 24px}
.hw-article .hw-insurance-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.hw-article[data-hw-family="insurance-index"] .post>.arts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.hw-article[data-hw-family="insurance-index"] .art-img{height:120px;aspect-ratio:auto;background:var(--paper);padding:16px;display:grid;place-items:center}
.hw-article[data-hw-family="insurance-index"] .art-img img{width:100%!important;height:88px!important;max-height:88px!important;max-width:100%!important;object-fit:contain}
.hw-article[data-hw-family="insurance-index"] .art-b{padding:16px;text-align:center}
.hw-article[data-hw-family="insurance-index"] .art b{font-size:14px;line-height:1.5}
.hw-article .hw-insurance-card{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;min-width:0;padding:20px;border:1px solid var(--line);border-radius:12px;background:#fff;box-shadow:var(--hw-shadow);text-align:center;font-size:14px;transition:transform .2s,border-color .2s}
.hw-article .hw-insurance-card img{width:100%;height:120px;max-width:100%;object-fit:contain;background:var(--paper);border-radius:8px;padding:16px}
.hw-article .hw-insurance-profile{padding:24px;border:1px solid var(--line);border-radius:12px;background:#fff;box-shadow:var(--hw-shadow)}
.hw-article .hw-insurance-profile img{max-width:96px;max-height:96px;object-fit:contain;padding:8px;border:1px solid var(--line);border-radius:12px;background:var(--paper)}
.hw-article .hw-not-found{max-width:720px;margin-inline:auto}
.hw-article[data-hw-family="404"] .post{max-width:720px;margin-inline:auto}
.hw-article .hw-error-code{display:block;font-size:96px;font-weight:700;line-height:1.1;text-align:center;margin:0 0 24px;background:linear-gradient(135deg,var(--blue),var(--blue2));color:var(--blue2);background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:transparent}
.hw-article .cform{background:#fff;border:1px solid var(--line);border-radius:12px;padding:24px;box-shadow:var(--hw-shadow)}
.hw-article .cform #comment-form{gap:16px}
.hw-article .cform #comment-form input:not([type=checkbox]):not([type=hidden]),.hw-article .cform #comment-form textarea{border:1px solid var(--line);border-radius:12px;max-width:100%}
.hw-article .cform #comment-form input:focus,.hw-article .cform #comment-form textarea:focus{border-color:var(--blue);outline:2px solid var(--sky);outline-offset:2px}
main.hw-article .cform #comment-form button{min-height:44px;border-radius:12px;background:linear-gradient(135deg,var(--blue),var(--blue2))!important}
.hw-article .btn{min-height:44px;border-radius:12px}
@media(max-width:1199px){
 .hw-article .hw-article-layout{grid-template-columns:232px minmax(0,1fr)}
 .hw-article .kgrid{grid-template-columns:232px minmax(0,1fr)}
 .hw-article .kgrid>.kside.kr{grid-column:1/-1;grid-row:2}
 .hw-article .hw-article-right{grid-column:1/-1;grid-row:2;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
 .hw-article .hw-article-right .pk-row{grid-template-columns:repeat(2,minmax(0,1fr))}
 .hw-article .hw-insurance-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 .hw-article[data-hw-family="insurance-index"] .post>.arts{grid-template-columns:repeat(2,minmax(0,1fr))}
 .hw-article .s101-district-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:1100px){
 .hw-article .hw-article-layout{grid-template-columns:minmax(0,1fr)}
 .hw-article .kgrid{grid-template-columns:minmax(0,1fr)}
 .hw-article .kgrid>.kside.kl{grid-column:1;grid-row:2}
 .hw-article .kgrid>.kside.kr{grid-column:1;grid-row:3}
 .hw-article .hw-article-main{grid-column:1;grid-row:1}
 .hw-article .hw-article-left{grid-column:1;grid-row:2}
 .hw-article .hw-article-right{grid-column:1;grid-row:3}
 .hw-article .hw-article-left .pk-row{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:600px){
 .hw-article{padding:16px 0 32px}
 .hw-article .hw-article-layout{width:calc(100% - 32px);gap:16px}
 .hw-article>.kwrap{width:calc(100% - 32px)}
 .hw-article .kgrid{gap:16px}
 .hw-article .hw-page-hero{padding:20px 16px;margin-bottom:16px}
 .hw-article .hw-page-hero h1{font-size:28px}
 .pg-article main.hw-article .ph.page-hero{padding:16px 16px 20px;border-radius:12px;margin-bottom:16px}
 .pg-article main.hw-article .ph.page-hero::after{width:140px;height:140px;border-width:18px}
 .hw-article .post,.hw-article .cform,.hw-article .hw-insurance-profile,.hw-article .hw-metro-panel{padding:16px}
 .hw-article .post-body{font-size:16px}
 .hw-article .post-body h2{font-size:24px}
 .hw-article .hw-article-right{display:block}
 .hw-article .hw-article-left .pk-row,.hw-article .hw-article-right .pk-row,.hw-article .rel .arts{grid-template-columns:minmax(0,1fr)}
 .hw-article .hw-insurance-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
 .hw-article[data-hw-family="insurance-index"] .post>.arts{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
 .hw-article[data-hw-family="insurance-index"] .art-img{height:104px;padding:12px}
 .hw-article[data-hw-family="insurance-index"] .art-b{padding:12px}
 .hw-article .s101-district-grid{grid-template-columns:minmax(0,1fr);gap:16px}
 .hw-article .s101-p3-teeth{padding:12px}
 .hw-article .s101-p3-teeth .teeth{display:flex;flex-direction:column;gap:16px}
 .hw-article .s101-p3-teeth .tooth-wrapper{order:1}
 .hw-article .s101-p3-teeth .diseases{order:2}
 .hw-article .hw-insurance-card{padding:12px;font-size:14px;gap:12px}
 .hw-article .hw-insurance-card img{height:104px;padding:12px}
 .hw-article .leaf-map{height:65vh;min-height:360px}
 .hw-article .cform #comment-form button{width:100%;min-height:48px}
 .hw-article .toc{padding:12px}
}
@media(prefers-reduced-motion:reduce){.hw-article .pk,.hw-article .art,.hw-article .hw-insurance-card{transition:none}.hw-article .pk:hover,.hw-article .art:hover,.hw-article .hw-insurance-card:hover{transform:none}}

/* Metro in the central rail: retain native diagram scale and readable station cards. */
@media(min-width:701px){
 .hw-article[data-hw-family="metro"] .m3-grid{display:flex;flex-direction:column;align-items:stretch}
 .hw-article[data-hw-family="metro"] .m3-side{width:100%;max-width:100%}
 .hw-article[data-hw-family="metro"] .m3-sts{grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr))}
 .hw-article[data-hw-family="metro"] .m3-v{width:100%;max-width:100%;min-width:0;overflow-x:auto;overscroll-behavior-x:contain}
 .hw-article[data-hw-family="metro"] .m3-v .m3{width:100%;min-width:860px;max-width:none}
}

/* ups 13.10: metro ≥701 — схема по ширине колонки (было min-width:860 в колонке 758 → подписи правого края обрезались) */
@media(min-width:701px){.hw-article[data-hw-family="metro"] .m3-v{overflow:visible}.hw-article[data-hw-family="metro"] .m3-v .m3{min-width:0}}
/* ups 13.10: карта ≥1101 — центр тянется на высоту строки, карта липнет к верху и почти в экран (было 580 px и ~1250 px пустоты под картой) */
@media(min-width:1101px){.hw-article[data-hw-family="map"] .kmain{align-self:stretch}.hw-article[data-hw-family="map"] .kmain>.hw-article-content{position:sticky;top:16px}.hw-article[data-hw-family="map"] .s101-map-page #lmap{height:clamp(420px,calc(100vh - 82px),900px)}}

/* Stable native breadcrumb chain and anatomy hint before ensemble initialization. */
@media(max-width:900px){.pg-article main:is(.hwa,.hw-article) .ph .crumbs{display:flex;flex-wrap:nowrap;gap:8px;min-width:0;max-width:100%}.pg-article main:is(.hwa,.hw-article) .ph .crumbs>:is(a,span){white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0;flex:0 1 auto}.pg-article main:is(.hwa,.hw-article) .ph .crumbs>a:first-child{flex:0 0 auto;overflow:visible}.pg-article main:is(.hwa,.hw-article) .ph .crumbs>:last-child{flex:1 0 32px;min-width:0}.pg-article main:is(.hwa,.hw-article) .ph .crumbs>i{flex:0 0 12px}.pg-article main:is(.hwa,.hw-article) .ph .crumbs>a:not(:first-child){flex:0 0 auto}.pg-article main:is(.hwa,.hw-article) .ph .crumbs>a:nth-of-type(2){flex:0 1 auto}}
.hw-article[data-hw-family="anatomy"] .hw-article-content .s101-p3-teeth>h2[style*="ff0000"]{display:flex;align-items:flex-start;gap:10px;font-size:16px;line-height:1.5;font-weight:500;color:var(--blue)!important;background:var(--paper);border:1px solid var(--line);border-radius:var(--r);padding:16px 18px;margin:20px 0}.hw-article[data-hw-family="anatomy"] .hw-article-content .s101-p3-teeth>h2[style*="ff0000"]:before{content:"ⓘ";font-size:20px;line-height:1.2;flex:none}@media(max-width:600px){.hw-article[data-hw-family="anatomy"] .hw-article-content .s101-p3-teeth>h2[style*="ff0000"]{font-size:15px;padding:14px}}
.hw-article[data-hw-family="anatomy"] .post>:is(p,figure){font-size:17px;line-height:1.7;color:var(--text,#425663);max-width:720px}.hw-article[data-hw-family="anatomy"] .post>p{margin-bottom:14px}.hw-article[data-hw-family="anatomy"] .post>figure{margin:20px 0}.hw-article[data-hw-family="anatomy"] .post>figure img{border-radius:var(--r);max-width:100%!important;height:auto!important}.hw-article[data-hw-family="anatomy"] .post>figure figcaption{font-size:14px;color:var(--mut);margin-top:8px}
