/* V6.5 closure polish: content pages and final public typography discipline.
   This file loads after v64-final-scale.css and only tightens visible UX issues. */
:root{
  --vf-h1-home:clamp(2.55rem,4.75vw,4.72rem);
  --vf-h1-tool:clamp(2.22rem,4.05vw,4.05rem);
  --vf-h1-content:clamp(1.9rem,3.05vw,3.05rem);
  --vf-h2:clamp(1.5rem,2.45vw,2.35rem);
  --vf-h3:clamp(1.06rem,1.32vw,1.26rem);
  --vf-lead:clamp(1rem,1.12vw,1.12rem);
  --vf-body:clamp(.97rem,.96vw,1.03rem);
  --vf-section-y:clamp(38px,4.8vw,68px);
  --vf-section-tight-y:clamp(24px,3vw,42px);
}
body{font-size:var(--vf-body);}
h1{max-width:min(1120px,100%) !important;}
.home-hero h1{max-width:min(1220px,100%) !important;}
.lead{line-height:1.54 !important;}
.content-hero,.article-hero{background:linear-gradient(180deg,rgba(209,250,229,.56),rgba(255,255,255,.94));border-bottom:1px solid rgba(16,185,129,.22);}
.content-hero-inner,.article-hero-inner{
  padding-top:clamp(30px,3.5vw,50px) !important;
  padding-bottom:clamp(24px,3vw,42px) !important;
}
.content-hero .breadcrumbs,.article-hero .breadcrumbs{margin-bottom:10px !important;font-size:.92rem !important;}
.content-hero .mini-label,.article-hero .mini-label{margin-bottom:10px !important;}
.content-hero h1,.article-hero h1{margin-bottom:12px !important;}
.content-hero .lead,.article-hero .lead{max-width:760px !important;margin-bottom:16px !important;}
.article-meta-line{gap:12px !important;flex-wrap:wrap;justify-content:center;color:#49665d;}
.article-meta-line span{font-size:.9rem !important;}
.hub-search{max-width:820px !important;margin-top:18px !important;}
.intent-row{margin-top:12px !important;gap:8px !important;}
.intent-row span,.intent-row a{font-size:.92rem !important;line-height:1.36 !important;padding:8px 12px !important;}
.hub-card{border-radius:22px !important;padding:18px !important;}
.hub-card .meta,.hub-card p{font-size:.95rem !important;}
.hub-card .tags{gap:6px !important;}
.hub-card .tags span{font-size:.82rem !important;padding:6px 10px !important;}
.article-shell{padding-top:clamp(34px,4vw,58px) !important;}
.article-jump{position:sticky;top:78px;z-index:5;background:rgba(255,255,255,.92);backdrop-filter:blur(16px);border-radius:999px;padding:9px 14px !important;margin-bottom:28px !important;box-shadow:0 18px 42px rgba(4,120,87,.06);}
.article-jump a{font-size:.92rem !important;white-space:nowrap;}
.answer-panel{border-radius:24px !important;box-shadow:0 18px 48px rgba(4,120,87,.08) !important;}
.refined-article h2{font-size:clamp(1.42rem,1.95vw,1.95rem) !important;margin-top:34px !important;margin-bottom:12px !important;}
.refined-article h3{font-size:clamp(1.08rem,1.22vw,1.22rem) !important;margin-top:24px !important;}
.refined-article p,.refined-article li{font-size:clamp(.98rem,.95vw,1.03rem) !important;line-height:1.72 !important;}
.decision-table{overflow:auto;border-radius:22px !important;}
.decision-table table{width:100%;border-collapse:separate;border-spacing:0;}
.decision-table th,.decision-table td{font-size:.94rem !important;line-height:1.46 !important;padding:13px 14px !important;}
.related-grid a,.related-grid .card{min-height:0 !important;}
.share-strip.useful-share{margin-top:22px !important;margin-bottom:26px !important;}
.faq-list.refined-faq{max-width:min(980px,100%) !important;margin-inline:auto !important;}
.faq-card summary{font-size:1rem !important;line-height:1.34 !important;}
.faq-card p{font-size:.98rem !important;}
.footer-cta{padding:clamp(30px,4vw,54px) 0 !important;}
.footer-cta h2{font-size:clamp(1.55rem,2.35vw,2.35rem) !important;}
.site-footer{padding-top:34px !important;padding-bottom:24px !important;}
.footer-grid{grid-template-columns:repeat(6,minmax(150px,1fr)) !important;}
.footer-bottom{font-size:.9rem !important;gap:10px !important;}
@media(max-width:760px){
  :root{
    --vf-h1-home:clamp(2.05rem,9.2vw,2.72rem);
    --vf-h1-tool:clamp(1.9rem,8.4vw,2.42rem);
    --vf-h1-content:clamp(1.72rem,7.4vw,2.25rem);
    --vf-h2:clamp(1.32rem,6vw,1.75rem);
    --vf-lead:.98rem;
  }
  .content-hero-inner,.article-hero-inner{padding-top:24px !important;padding-bottom:24px !important;text-align:left !important;}
  .content-hero .breadcrumbs,.article-hero .breadcrumbs{display:none !important;}
  .content-hero .mini-label,.article-hero .mini-label{margin-bottom:8px !important;}
  .content-hero .lead,.article-hero .lead{margin-bottom:12px !important;}
  .article-meta-line{justify-content:flex-start;gap:8px;}
  .article-meta-line span{font-size:.84rem !important;}
  .hub-search{grid-template-columns:1fr !important;gap:8px !important;}
  .hub-search span{justify-self:start;}
  .intent-row{justify-content:flex-start !important;overflow-x:auto;padding-bottom:2px;}
  .intent-row span{flex:1 0 100%;}
  .article-shell{padding-top:28px !important;}
  .article-jump{position:static;overflow-x:auto;border-radius:18px;justify-content:flex-start !important;}
  .answer-panel,.example-box,.check-list,.step-list,.faq-card{padding:16px !important;border-radius:20px !important;}
  .decision-table table{min-width:560px;}
  .share-strip.useful-share{overflow-x:auto;justify-content:flex-start !important;}
  .footer-grid{grid-template-columns:1fr 1fr !important;gap:18px !important;}
}
@media(max-width:430px){
  .footer-grid{grid-template-columns:1fr !important;}
  .article-hero h1,.content-hero h1{letter-spacing:-.04em !important;}
}
/* V6.5 follow-up after screenshot review: article body should start without a wasteful gap. */
.article-hero + .section{padding-top:clamp(22px,2.8vw,36px) !important;}
.content-hero + .section{padding-top:clamp(28px,3.4vw,48px) !important;}
.article-jump{margin-top:0 !important;}
@media(max-width:760px){
  .article-hero + .section{padding-top:20px !important;}
  .content-hero + .section{padding-top:24px !important;}
}
