/* v14 additions — layered AFTER styles.css. Placeholder figures + calculator
   cards only. The approved design system is untouched. */
.ph-img{margin:0;border-radius:14px;overflow:hidden;border:1px solid rgba(15,42,64,.12);
  background:#eef2f5}
.ph-img img{display:block;width:100%;height:auto}
.calc-card{background:#fff;border:1px solid rgba(15,42,64,.12);border-radius:14px;
  padding:26px 28px;box-shadow:0 1px 2px rgba(15,42,64,.05)}
.calc-card label{display:block;font-weight:600;font-size:14px;margin:14px 0 4px}
.calc-card label small{display:block;font-weight:400;color:#5a6b78;font-size:12px}
.calc-card input[type=number]{width:100%;box-sizing:border-box;padding:10px 12px;
  font:inherit;border:1px solid rgba(15,42,64,.25);border-radius:8px;margin-top:6px}
.calc-card button{margin-top:20px}
.calc-out .calc-line{display:flex;justify-content:space-between;gap:12px;
  border-bottom:1px solid rgba(15,42,64,.08);padding:10px 0;margin:0}
.calc-out .big-line{font-size:18px}
.calc-out .big-line strong{color:#1479c9}
.calc-note{color:#5a6b78;font-size:13px;margin-top:12px}

/* ── MOBILE OVERFLOW FIX (pre-existing defect, found 2026-08-28) ──────────
   The off-canvas menu parks at translateX(100%): a full-width fixed element
   sitting one screen to the right. Chrome counts it into scrollWidth, so
   EVERY page measured 780px wide in a 390px phone — a sideways scroll on
   the whole site, on the day it goes to mobile-first indexing.
   Fix: clip the body's x-overflow, and take the parked menu out of the
   render entirely (visibility) so it also stops being reachable by Tab
   while closed. The delay keeps the slide-out animation on close. */
@media (max-width: 920px) {
  html, body { overflow-x: hidden; }
  .main-nav {
    visibility: hidden;
    transition: transform 0.3s var(--ease-out), visibility 0s 0.3s;
  }
  body.nav-open .main-nav {
    visibility: visible;
    transition: transform 0.3s var(--ease-out), visibility 0s 0s;
  }
}
