/* Stage 02. Approved desktop composition is unchanged above 980px. */
@media (max-width:980px) {
  .header-inner { position:relative; min-height:80px; }
  .menu-toggle { display:block; min-width:44px; min-height:44px; }
  .header-inner nav { display:none; position:absolute; top:80px; left:-24px; right:-24px; z-index:20; padding:16px 24px; background:#0b0d23; border-bottom:1px solid var(--line); gap:4px 18px; flex-wrap:wrap; box-shadow:0 20px 25px #0005; }
  .header-inner nav.is-open { display:flex; }
  .header-inner nav a { display:flex; align-items:center; min-height:44px; font-size:14px; padding:6px 10px; }
  .header-inner nav .active:after { display:none; }
  .header-cta { display:none; }
}

@media (max-width:760px) {
  html { scroll-padding-top:16px; -webkit-text-size-adjust:100%; }
  .header-inner nav { left:-16px; right:-16px; }
  .button { min-height:48px; max-width:100%; white-space:normal; text-align:center; }
  .button span { flex-shrink:0; }
  .text-link { min-height:44px; line-height:1.5; }
  .hero { min-height:0; }
  .hero-content { padding:32px 24px 40px; }
  .hero h1 { font-size:clamp(34px,9.7vw,46px); }
  .hero-description { max-width:31ch; font-size:15px; line-height:1.75; }
  .hero-description br { display:none; }
  .hero-caption { max-width:27ch; font-size:12px; }
  .hero-art-note { font-size:7px; right:18px; bottom:13px; letter-spacing:1.7px; }
  .hero .eyebrow { font-size:10px; line-height:1.7; max-width:30ch; }
  .daily-widget { padding:20px 16px; }
  .widget-topline { display:block; }
  .widget-topline .eyebrow { font-size:10px; }
  .demo-label { display:block; text-align:left; font-size:10px; margin-top:4px; }
  .sign-tabs { grid-template-columns:repeat(4,minmax(0,1fr)); gap:6px; }
  .sign-tabs button { min-width:0; min-height:76px; font-size:11px; padding:10px 2px; }
  .sign-tabs button span { font-size:26px; }
  .daily-copy p { font-size:15px; line-height:1.8; }
  .daily-copy .text-link { font-size:14px; }
  .daily-themes { gap:6px; }
  .daily-themes p { font-size:11px; }
  .lunar-section { background-position:24% top; }
  .lunar-copy { padding:8px 24px 28px; }
  .lunar-copy > p:not(.eyebrow):not(.subtle-note) { font-size:15px; line-height:1.8; }
  .lunar-copy .eyebrow { font-size:10px; }
  .lunar-copy .button { font-size:13px; width:100%; padding:12px 14px; gap:12px; }
  .subtle-note { font-size:11px; line-height:1.6; }
  .section-heading .eyebrow { font-size:10px; line-height:1.8; }
  .section-heading > p:last-child { font-size:14px; }
  .tools-grid { gap:16px; }
  .tool-card { padding:28px 20px 20px; }
  .tool-card > p { font-size:14px; line-height:1.75; }
  .tool-card h3 { font-size:25px; }
  .tool-card .text-link { font-size:13px; gap:12px; }
  .status-label { font-size:9px; letter-spacing:.7px; margin-bottom:9px; }
  .path-title .eyebrow { font-size:10px; }
  .path-copy p { font-size:15px; line-height:1.8; }
  .guide-card p:not(.eyebrow) { font-size:14px; }
  .guide-card .eyebrow { font-size:10px; }
  .guide-card .text-link { font-size:14px; }
  .seo-intro .eyebrow { font-size:10px; }
  .seo-intro > p:last-child,.seo-columns p { font-size:15px; line-height:1.85; }
  .faq summary { min-height:52px; font-size:14px; align-items:center; }
  .faq summary > span { flex:0 0 18px; text-align:center; }
  .faq details > p { font-size:14px; padding-right:8px; }
  .closing .button { font-size:13px; }
  .footer-main a:not(.footer-brand) { font-size:14px; min-height:44px; display:flex; align-items:center; margin:0; }
  .footer-main h2 { font-size:11px; }
  .footer-main p { font-size:13px; }
  .footer-main > div:nth-child(3) { align-items:center; gap:3px 18px; }
  .footer-bottom { font-size:11px; align-items:center; }
  .footer-bottom a { min-height:44px; display:flex; align-items:center; }
  .review-strip { font-size:9px; line-height:1.8; letter-spacing:.6px; }
  dialog { padding:32px 24px 24px; max-height:calc(100dvh - 32px); overflow:auto; }
  dialog p { font-size:15px; }
  dialog code { font-size:13px; }
  .dialog-close { width:44px; height:44px; top:2px; right:2px; }
  .dialog-back { width:100%; }
}

@media (min-width:601px) and (max-width:760px) {
  .sign-tabs { grid-template-columns:repeat(6,minmax(0,1fr)); }
}
@media (max-width:560px) {
  .tools-grid { grid-template-columns:minmax(0,1fr); }
  .tool-card { padding:24px; }
  .tool-icon { width:72px; height:72px; }
  .card-number { font-size:17px; left:18px; top:16px; }
  .tool-card > p { max-width:33ch; }
  .tool-card h3 { margin-bottom:12px; }
  .status-label { margin-top:0; }
}
@media (max-width:359px) {
  .shell { width:calc(100% - 24px); }
  .header-inner { gap:12px; }
  .header-inner nav { left:-12px; right:-12px; }
  .brand img { width:177px; }
  .brand > span { letter-spacing:1px; font-size:6px; }
  .hero-content { padding-inline:18px; }
  .daily-widget { padding-inline:10px; }
  .sign-tabs { gap:3px; }
  .sign-tabs button { font-size:10px; }
  .lunar-copy { padding-inline:18px; }
  .closing { column-gap:10px; }
  .closing > p,.closing > p em { font-size:20px; }
}
