@media (max-width: 980px) {
  .home-hero {
    min-height: auto;
    grid-template-columns: 1fr;
  }

  .hero-copy {
    padding: 90px max(24px, calc((100vw - var(--max-width)) / 2)) 72px;
    border-right: 0;
    border-bottom: 1px solid var(--line);
  }

  .hero-plan {
    min-height: 520px;
  }

  .section-heading,
  .calculator-intro,
  .formula-section {
    grid-template-columns: 1fr;
    gap: 30px;
  }

  .method-grid {
    grid-template-columns: repeat(3, 1fr);
  }

  .method-grid h2 {
    grid-column: 1 / -1;
  }

  .calculator-stage {
    grid-template-columns: 1fr;
  }

  .result-panel {
    position: relative;
    top: auto;
    border-top: 1px solid var(--line-strong);
    border-left: 0;
  }
}

@media (max-width: 720px) {
  .nav-wrap {
    width: min(calc(100% - 28px), var(--max-width));
    min-height: 68px;
  }

  .main-nav {
    gap: 14px;
  }

  .main-nav a:not(.nav-current):not(.mobile-nav-link) {
    display: none;
  }

  .main-nav .mobile-nav-link {
    display: inline-block;
  }

  .section-wrap {
    width: min(calc(100% - 28px), var(--max-width));
  }

  .display-title {
    font-size: clamp(46px, 15vw, 68px);
  }

  .hero-copy {
    padding: 68px 20px 58px;
  }

  .hero-actions {
    align-items: flex-start;
    flex-direction: column;
  }

  .hero-plan {
    min-height: 430px;
    padding: 48px 24px 68px;
  }

  .plan-card {
    padding: 24px;
  }

  .plan-drawing {
    height: 160px;
  }

  .tools-section {
    padding: 78px 0 84px;
  }

  .tool-grid {
    grid-template-columns: 1fr;
  }

  .tool-card {
    min-height: 320px;
  }

  .tool-card + .tool-card {
    border-top: 1px solid var(--line-strong);
    border-left: 0;
  }

  .method-section {
    padding: 72px 0 76px;
  }

  .method-grid {
    grid-template-columns: 1fr;
    gap: 30px;
  }

  .method-grid h2 {
    grid-column: auto;
  }

  .calculator-main {
    padding: 48px 0 78px;
  }

  .calculator-intro {
    margin-bottom: 36px;
  }

  .calculator-form,
  .result-panel {
    padding: 26px 20px;
  }

  .form-toolbar {
    align-items: flex-start;
    flex-direction: column;
  }

  .field-grid,
  .field-grid.three,
  .formula-copy {
    grid-template-columns: 1fr;
  }

  .form-actions {
    flex-wrap: wrap;
  }

  .formula-section {
    padding-top: 66px;
  }

  .footer-wrap {
    align-items: flex-start;
    flex-direction: column;
  }
}

@media print {
  .site-header,
  .form-actions,
  .formula-section,
  .guide-section,
  .site-footer,
  .tool-ribbon {
    display: none !important;
  }

  body {
    background: white;
  }

  .calculator-main {
    padding: 0;
  }

  .calculator-stage {
    box-shadow: none;
  }
}
