/* Shared responsive corrections; artwork and content remain unchanged. Revision 20260920-3. */
.nav-is-open :is(.snk-contact-dock,.desktop-contact-trigger,.float-actions){visibility:hidden;pointer-events:none}
@media (min-width:981px) and (max-width:1500px){
  body.inner-page-v2 .inner-hero>.shell,
  body.page-ai-recommendation .geo-hero>.shell,
  body:not(.inner-page) .hero>.wrap{width:calc(100% - 160px);max-width:1440px;margin-inline:auto}
}
/* A short desktop viewport must not crop text to preserve a cosmetic height. */
@media (min-width:981px) and (max-height:700px){
  body.inner-page-v2.has-viewport-hero .inner-hero{height:700px;min-height:100dvh}
  body.page-ai-recommendation .geo-hero{min-height:700px;height:auto}
  body:not(.inner-page) .hero{min-height:700px;height:auto}
}
@media (max-width:1080px){
  body.inner-page-v2 .site-nav{max-height:calc(100dvh - 100px);overflow-y:auto;overscroll-behavior:contain}
}
/* Tablets: remove the fixed viewport cell and its JS artwork scaling. */
@media (min-width:721px) and (max-width:980px){
  body.inner-page-v2.has-viewport-hero .inner-hero{height:auto;min-height:100dvh;padding:112px 0 76px}
  body.inner-page-v2.has-viewport-hero .inner-hero>.shell:is(.inner-hero-grid,.inner-hero-layout){height:auto;grid-template-columns:minmax(0,1fr)!important;grid-template-rows:auto auto;gap:36px!important;width:calc(100% - 80px);max-width:760px}
  body.inner-page-v2.has-viewport-hero .inner-hero-copy{max-width:680px;margin-inline:auto}
  body.inner-page-v2.has-viewport-hero .snk-hero-stage{display:block;width:100%;max-width:660px;margin-inline:auto;height:auto;min-height:0}
  body.inner-page-v2.has-viewport-hero .snk-hero-stage-frame{position:relative!important;inset:auto!important;transform:none!important;width:100%!important}
  body.inner-page-v2.has-viewport-hero .inner-hero h1{font-size:clamp(36px,4.8vw,46px)!important}
  body.inner-page-v2.has-viewport-hero .inner-hero-copy>p:not(.eyebrow):not(.breadcrumbs):not(.says-kicker){font-size:15px;line-height:1.8}
  body:not(.inner-page) .hero>.hero-grid{grid-template-columns:minmax(0,1fr);height:auto;min-height:0;gap:36px;padding-top:110px;width:calc(100% - 80px);max-width:760px}
  body:not(.inner-page) .hero{height:auto;min-height:100dvh}
  body:not(.inner-page) .hero h1{font-size:clamp(48px,7vw,68px);letter-spacing:-.04em}
}
@media (max-width:760px){
  .float-actions{bottom:calc(14px + env(safe-area-inset-bottom,0px));right:calc(14px + env(safe-area-inset-right,0px))}
}
@media (max-width:720px){
  body.inner-page-v2 .inner-hero h2 br,
  body.inner-page-v2 .page-section h2 br,
  body.inner-page-v2 .section-space h2 br,
  body:not(.inner-page) main .section h2 br{display:none}
  body.inner-page-v2 :is(.page-section,.section-space) h2{overflow-wrap:break-word}
  body.inner-page-v2{padding-bottom:0}
  body .site-footer.footer-v2{padding-bottom:calc(76px + env(safe-area-inset-bottom,0px))}
}

/* Detail pass: common reading rhythm, not a new visual design. */
@media (min-width:981px) and (max-width:1600px){
  body.inner-page-v2 main>section>.shell,
  body:not(.inner-page) main>section>.wrap,
  body:not(.inner-page) main>section.industries.wrap{width:calc(100% - 176px);margin-inline:auto}
}
@media (min-width:721px) and (max-width:980px){
  body.inner-page-v2 main>section>.shell,
  body:not(.inner-page) main>section>.wrap,
  body:not(.inner-page) main>section.industries.wrap{max-width:calc(100% - 160px);margin-inline:auto}
}
body.inner-page-v2 main>section:not(.inner-hero):not(.geo-hero){padding-block:clamp(64px,6vw,88px)}
body.inner-page-v2 main>section[id$="-foundation"]:not(.inner-hero):not(.geo-hero){padding-top:0}
body.page-ai-recommendation main>#ai-foundation{padding-top:clamp(64px,6vw,88px)}
body.inner-page-v2 main>section:not(.inner-hero):not(.geo-hero) h2{font-size:clamp(34px,3.35vw,48px);line-height:1.25;letter-spacing:-.035em}
body.inner-page-v2 main #snk-city-network-title{font-size:34px;line-height:1.25}
body.inner-page-v2 :is(.rich-section-head,.section-lead,.process-intro,.page-intro .split-heading){margin-bottom:40px}
body.inner-page-v2 :is(.service-card-lite,.capability-card,.scenario-card,.dm-module-card,.audience-card,.evidence-block,.dm-skill-card)>p:not(.card-index):not(.eyebrow):not(.kicker){font-size:15px;line-height:1.8}
body.inner-page-v2 .page-intro .split-heading{row-gap:20px;margin-top:56px}
body.inner-page-v2 .page-intro .split-heading>.kicker{margin-bottom:0}
body.inner-page-v2 .dm-skill-card h3{font-size:19px;line-height:1.4}
body.inner-page-v2 .dm-skill-card h3 small{display:block;font-size:17px;line-height:1.5;margin-top:7px;font-weight:600}
body.page-about section[aria-labelledby="contact-info-title"] .evidence-block{padding:30px;min-height:0}
body.page-about section[aria-labelledby="contact-info-title"] .evidence-block h3{font-size:25px;line-height:1.35;margin-bottom:20px}
body.page-about section[aria-labelledby="contact-info-title"] .plain-list li{font-size:15px}
body.page-ai-recommendation .geo-connected :is(.gr-company small,.gr-source-content small,.gr-source-content p,.gr-note,.gr-status,.gr-mention,.gr-source header,.gr-source header>b,.gr-progress){font-size:11px;line-height:1.6}
body.page-dongming-ai #agent-task-demo .snk-sim-note{font-size:11px;line-height:1.65}
body:not(.inner-page) main>.section:not(.hero){padding-block:clamp(64px,6vw,88px)}
body:not(.inner-page) .faq-list details>p{font-size:15px;line-height:1.85}
body:not(.inner-page) .record-disclaimer{font-size:12px;line-height:1.7}
/* Reading hierarchy: primary advice must not be styled like a footnote. */
body:not(.inner-page) #snk-path .diagnosis-steps h4{font-size:16px;line-height:1.4}
body:not(.inner-page) #snk-path .diagnosis-steps p{font-size:14px;line-height:1.8}
body:not(.inner-page) #snk-path .diagnosis-tabs small{font-size:12px}
body:not(.inner-page) #snk-path .diagnosis-tabs button>span{font-size:11px}
body:not(.inner-page) #snk-path .disclaimer{font-size:12px;line-height:1.75}
body.inner-page-v2 :is(.service-card-lite,.capability-card) h3{margin-top:32px;line-height:1.35}
body.inner-page-v2 :is(.service-card-lite,.capability-card)>p:not(.card-index):not(.eyebrow):not(.kicker){margin-top:16px}
body.page-independent-site #site-blueprint-title span,
body.page-about #dongming-notes-title span{white-space:normal}
@media(min-width:1501px){
  body.page-google-seo.inner-page-v2 .inner-hero #hero-title{font-size:clamp(52px,min(3.6vw,7.5svh),70px)!important}
}
@media(min-width:981px){
  body.page-independent-site main #site-blueprint-title{font-size:clamp(32px,2.8vw,42px);line-height:1.3}
  body.page-about main #dongming-notes-title{font-size:clamp(32px,3vw,44px);line-height:1.3}
}
@media(min-width:981px){
  body:not(.inner-page) .service-card{min-height:260px;padding:28px 30px}
  body:not(.inner-page) .service-card h3{margin:18px 0 14px;font-size:32px}
  body:not(.inner-page) .service-link{margin-top:18px}
}
@media(max-width:720px){
  body.inner-page-v2 main>section:not(.inner-hero):not(.geo-hero),
  body:not(.inner-page) main>.section:not(.hero){padding-block:56px}
  body.inner-page-v2 main>section[id$="-foundation"]:not(.inner-hero):not(.geo-hero){padding-top:0}
  body.page-ai-recommendation main>#ai-foundation{padding-top:56px}
  body.inner-page-v2 main>section:not(.inner-hero):not(.geo-hero) h2{font-size:clamp(26px,7.6vw,31px)!important;line-height:1.3!important;white-space:normal!important;letter-spacing:-.035em!important}
  body.inner-page-v2 main #snk-city-network-title{font-size:28px!important}
  body.inner-page-v2 :is(.rich-section-head,.section-lead,.process-intro,.page-intro .split-heading){margin-bottom:28px}
  body.inner-page-v2 :is(.service-card-lite,.capability-card,.scenario-card,.dm-module-card,.audience-card,.evidence-block,.dm-skill-card)>p:not(.card-index):not(.eyebrow):not(.kicker){font-size:14px;line-height:1.85}
  body.inner-page-v2 .page-intro .split-heading{margin-top:36px;row-gap:16px}
  body.page-about section[aria-labelledby="contact-info-title"] .evidence-block{padding:24px}
  body.page-about section[aria-labelledby="contact-info-title"] .plain-list li{font-size:14px}
  body:not(.inner-page) .faq-list details>p{font-size:14px}
  body:not(.inner-page) #snk-path .diagnosis-copy>p:not(.eyebrow){font-size:14px;line-height:1.85}
  body:not(.inner-page) #snk-path .diagnosis-copy .text-link{font-size:14px}
  body:not(.inner-page) #snk-path .diagnosis-tabs small{font-size:11px}
  body:not(.inner-page) #snk-path .diagnosis-tabs button>span{font-size:10px;letter-spacing:0}
  body.inner-page-v2 :is(.service-card-lite,.capability-card) h3{font-size:22px;min-height:0;margin-top:24px;line-height:1.4}
  body.inner-page-v2 :is(.service-card-lite,.capability-card) h3 br{display:none}
  body.page-independent-site .build-capability-feature{min-height:320px}
  body.page-independent-site .build-capability-feature h3{font-size:28px;line-height:1.3;margin-top:56px}
  body.page-about .fit-boundary h3{font-size:22px;line-height:1.45}
  /* A desktop comparison matrix becomes a readable sequence on phones. */
  body.page-dongming-ai .dm-pain-ledger-body article{grid-template-columns:minmax(0,1fr);min-height:0;padding:20px;border-bottom:1px solid #d8e7ed}
  body.page-dongming-ai .dm-pain-ledger-body article>:is(h3,p,strong){display:block;min-height:0;border:0;padding:0;margin:0;line-height:1.75}
  body.page-dongming-ai .dm-pain-ledger-body article>h3{font-size:18px;line-height:1.4;margin-bottom:14px}
  body.page-dongming-ai .dm-pain-ledger-body article>p{font-size:14px;margin-bottom:12px}
  body.page-dongming-ai .dm-pain-ledger-body article>strong{font-size:14px;padding:14px 16px;border-radius:10px;background:#f0f9fd;color:#087fae}
  body.page-dongming-ai .dm-pain-ledger-body [data-label]::before{display:block;font-size:11px;line-height:1.5;letter-spacing:0;margin-bottom:5px;color:#64747a;font-weight:500}
  body.page-dongming-ai .dm-pain-ledger-body h3[data-label]::before{display:none}
}
