/* Pixel-aligned repair layer for Figma frame “1447” (1366 × 5814). */
:root {
  --nm-primary: #ffe20a;
  --nm-text: #303030;
  --nm-gray: #6f6f6f;
  --nm-border: #dedede;
  --nm-container: 1110px;
  --nm-side: 0px;
}

html, body { overflow-x: hidden; }
body { background: #fff; color: var(--nm-text); }
.nm-page { width: 100%; }
.nm-container {
  width: min(var(--nm-container), calc(100% - 48px)) !important;
  margin-inline: auto !important;
  padding-left: 0 !important;
}

/* Header — retained from the supplied implementation, normalized to the frame. */
.nm-topbar, .nm-main-header { padding-left: 0 !important; }
.nm-topbar-inner, .nm-main-header-inner {
  width: min(var(--nm-container), calc(100% - 48px)) !important;
}
.nm-topbar { min-height: 22px; }
.nm-topbar-inner { min-height: 22px; }
.nm-topbar-title, .nm-topbar-link, .nm-language a { line-height: 22px; font-size: 10px; }
.nm-main-header, .nm-main-header-inner { min-height: 58px; }
.nm-logo {
  flex-basis: 184px !important;
  min-height: 80px !important;
  margin-top: -22px !important;
  padding: 31px 6px 14px !important;
}
.nm-logo img { width: 172px !important; }
.nm-menu { gap: 18px !important; }
.nm-menu > li > a { min-height: 58px !important; font-size: 12px !important; }

/* Hero */
.nm-hero {
  min-height: 586px !important;
  padding: 96px 0 70px !important;
  background: #fff !important;
}
.nm-hero-grid {
  display: grid !important;
  grid-template-columns: 500px 536px !important;
  justify-content: space-between !important;
  align-items: center !important;
  gap: 60px !important;
}
.nm-hero-grid > div:first-child { min-width: 0; }
.nm-hero h1 {
  width: 410px !important;
  margin: 0 0 18px !important;
  font-size: 39px !important;
  line-height: 1.08 !important;
  letter-spacing: -.5px !important;
}
.nm-hero-text {
  width: 430px !important;
  margin: 0 0 28px !important;
  padding-left: 64px !important;
  position: relative;
  font-size: 14px !important;
  line-height: 1.45 !important;
}
.nm-hero-text::before {
  content: "";
  position: absolute;
  top: 8px;
  left: 0;
  width: 38px;
  height: 1px;
  background: #303030;
}
.nm-hero-actions { margin: 0 0 44px 64px !important; gap: 10px !important; }
.nm-btn { min-height: 42px !important; padding: 12px 30px !important; border-radius: 2px !important; font-size: 12px !important; }
.nm-hero-features { grid-template-columns: repeat(4, 1fr) !important; gap: 18px !important; }
.nm-feature { gap: 10px !important; }
.nm-feature-icon { flex: 0 0 32px !important; width: 32px !important; height: 32px !important; }
.nm-feature strong { font-size: 12px !important; }
.nm-feature span { font-size: 10px !important; line-height: 1.3 !important; }

.nm-hero-art {
  position: relative !important;
  display: block !important;
  width: 536px !important;
  height: 346px !important;
  min-height: 346px !important;
  margin: 0 !important;
}
.nm-hero-art > * { box-sizing: border-box; }
.nm-hero-window {
  position: absolute !important; left: 23px !important; top: 56px !important;
  width: 499px !important; height: 290px !important;
  display: block !important; overflow: hidden !important;
  background: #fff !important; border: 2px solid #303030 !important; border-radius: 16px !important;
}
.nm-hero-window-bar {
  display: flex !important; align-items: center !important; gap: 6px !important;
  height: 54px !important; padding: 0 18px !important;
  background: #f4f4f4 !important; border-bottom: 2px solid #303030 !important;
}
.nm-hero-window-bar i { display: block !important; width: 9px !important; height: 9px !important; border-radius: 50% !important; background: #303030 !important; }
.nm-hero-ring { position: absolute !important; left: 362px !important; top: 0 !important; width: 96px !important; height: 96px !important; border: 3px solid #ffe20a !important; border-radius: 50% !important; }
.nm-hero-db { position: absolute !important; left: 168px !important; top: 110px !important; width: 75px !important; height: 90px !important; }
.nm-hero-db svg { width: 75px !important; height: 90px !important; }
.nm-hero-globe { position: absolute !important; left: 369px !important; top: 105px !important; width: 112px !important; height: 87px !important; }
.nm-hero-globe svg { width: 112px !important; height: 87px !important; }
.nm-hero-cpu-bg { position: absolute !important; left: 0 !important; top: 188px !important; width: 115px !important; height: 115px !important; display: grid !important; place-items: center !important; background: #fff3ae !important; border: 2px solid #303030 !important; border-radius: 12px !important; }
.nm-hero-cpu { width: 52px !important; height: 52px !important; }
.nm-hero-code-bg { position: absolute !important; left: 445px !important; top: 138px !important; width: 91px !important; height: 92px !important; display: grid !important; place-items: center !important; background: #fff3ae !important; border: 2px solid #303030 !important; border-radius: 10px !important; }
.nm-hero-server { position: absolute !important; left: 253px !important; top: 279px !important; width: 119px !important; height: 66px !important; display: grid !important; place-items: center !important; background: #fff !important; border: 2px solid #303030 !important; border-radius: 12px !important; }
.nm-hero-line-cpu { position: absolute !important; left: 57px !important; top: 54px !important; width: 2px !important; height: 134px !important; background: #303030 !important; }
.nm-hero-line-server { position: absolute !important; left: 312px !important; top: 54px !important; width: 2px !important; height: 225px !important; background: #303030 !important; }

/* Three feature cards */
.nm-section { padding: 72px 0 118px !important; }
.nm-section-head { margin-bottom: 46px !important; }
.nm-section-title { max-width: 480px; font-size: 34px !important; line-height: 1.12 !important; }
.nm-info-grid { display: grid !important; grid-template-columns: repeat(3, 1fr) !important; gap: 20px !important; }
.nm-info-card { min-height: 298px !important; padding: 0 22px 28px !important; border: 1px solid var(--nm-border) !important; border-radius: 7px !important; overflow: hidden !important; background: #fff !important; }
.nm-info-strip { height: 52px !important; margin: 0 -22px 22px !important; padding: 0 22px !important; background: #ffe653 !important; }
.nm-info-card h3 { margin: 0 0 14px !important; font-size: 24px !important; line-height: 1.12 !important; }
.nm-info-card p { margin: 0 !important; font-size: 13px !important; line-height: 1.45 !important; }

/* Dark workflow */
.nm-workflow { padding: 0 !important; background: #303030 !important; color: #fff !important; }
.nm-workflow .nm-container { width: min(var(--nm-container), calc(100% - 48px)) !important; }
.nm-workflow-card {
  min-height: 748px !important;
  display: grid !important; grid-template-columns: 1fr 1fr !important; align-items: center !important; gap: 100px !important;
  padding: 86px 0 !important; background: transparent !important; border-radius: 0 !important;
}
.nm-workflow-card::before { display: none !important; }
.nm-workflow-copy { align-self: center !important; padding: 0 !important; }
.nm-kicker-dash { padding: 0 !important; background: transparent !important; color: var(--nm-primary) !important; font-size: 16px !important; }
.nm-workflow-title { max-width: 430px; margin: 26px 0 22px !important; font-size: 35px !important; line-height: 1.13 !important; }
.nm-workflow-copy > p { max-width: 390px; font-size: 14px !important; line-height: 1.5 !important; color: #fff !important; }
.nm-workflow-steps { display: flex !important; flex-direction: column !important; gap: 24px !important; }
.nm-workflow-step { display: grid !important; grid-template-columns: 54px 1fr !important; gap: 18px !important; padding: 0 !important; border: 0 !important; background: transparent !important; }
.nm-workflow-icon { width: 44px !important; height: 44px !important; border: 0 !important; color: var(--nm-primary) !important; }
.nm-workflow-step h3 { margin: 0 0 6px !important; font-size: 16px !important; }
.nm-workflow-step p { margin: 0 !important; font-size: 13px !important; line-height: 1.45 !important; color: #fff !important; }

/* Infrastructure */
.nm-seo-section { padding: 108px 0 120px !important; background: #fff !important; color: var(--nm-text) !important; }
.nm-seo-full-title { max-width: 680px !important; margin: 0 0 70px !important; font-size: 40px !important; line-height: 1.12 !important; }
.nm-benefit-grid { display: grid !important; grid-template-columns: 1fr 1fr !important; gap: 66px !important; }
.nm-benefit-col { gap: 60px !important; }
.nm-benefit-card { padding: 0 !important; border: 0 !important; box-shadow: none !important; }
.nm-benefit-card h3 { margin: 0 0 18px !important; font-size: 20px !important; }
.nm-benefit-card p { margin: 0 0 0 40px !important; font-size: 13px !important; line-height: 1.45 !important; }

/* Configurator — keep supplied interaction, align shell to Figma. */
.nm-calculator { padding: 40px 0 104px !important; background: #fff !important; }
.nm-calculator-shell {
  display: grid !important; grid-template-columns: minmax(0, 1fr) 390px !important; gap: 54px !important;
  padding: 40px 36px !important; border: 1px solid #e8e8e8 !important; border-radius: 0 !important; box-shadow: 0 15px 35px rgba(0,0,0,.025) !important;
}
.nm-calc-title { margin: 0 0 8px !important; font-size: 31px !important; }
.nm-calc-panel > p { margin-bottom: 30px !important; font-size: 12px !important; }
.nm-range-row { padding: 17px 0 !important; }
.nm-summary-card { background: #303030 !important; border-radius: 7px !important; padding: 36px 30px !important; }
.nm-summary-top h3 { font-size: 25px !important; }
.nm-os-grid { grid-template-columns: repeat(3, 1fr) !important; }

/* Help CTA */
.nm-assist { padding: 82px 0 98px !important; background: #fff !important; }
.nm-assist-box {
  min-height: 182px !important; display: flex !important; align-items: center !important; justify-content: space-between !important; gap: 40px !important;
  padding: 38px 36px !important; background: var(--nm-primary) !important; border: 0 !important; border-radius: 7px !important; box-shadow: none !important;
}
.nm-assist-box::before, .nm-assist-box::after, .nm-chat-icon { display: none !important; }
.nm-assist-title { margin: 0 0 14px !important; font-size: 28px !important; color: #303030 !important; }
.nm-assist-text { margin: 0 !important; font-size: 13px !important; color: #303030 !important; }
.nm-assist-box .nm-btn { min-width: 185px; background: #303030 !important; color: #fff !important; }

/* FAQ */
.nm-faq-section { padding: 40px 0 110px !important; background: #fff !important; }
.nm-faq-section .nm-section-head { margin-bottom: 50px !important; }
.nm-faq-grid { display: grid !important; gap: 16px !important; }
.nm-faq-item { border: 0 !important; border-radius: 0 !important; background: #f5f5f5 !important; }
.nm-faq-item summary { min-height: 90px !important; padding: 30px 38px !important; font-size: 14px !important; }
.nm-faq-item p { margin: 0 !important; padding: 0 38px 34px !important; font-size: 13px !important; line-height: 1.55 !important; }

/* Footer is intentionally preserved; these values only match its frame footprint. */
.nm-footer { background: #191f24 !important; }

@media (max-width: 900px) {
  .nm-container { width: min(100% - 32px, 720px) !important; }
  .nm-hero { padding: 64px 0 !important; }
  .nm-hero-grid { grid-template-columns: 1fr !important; }
  .nm-hero-art { transform: scale(.82) !important; transform-origin: top left !important; margin-bottom: -50px !important; }
  .nm-info-grid, .nm-workflow-card, .nm-benefit-grid, .nm-calculator-shell { grid-template-columns: 1fr !important; }
  .nm-workflow-card { gap: 56px !important; }
  .nm-summary-card { width: 100% !important; }
}

@media (max-width: 560px) {
  .nm-container { width: calc(100% - 28px) !important; }
  .nm-hero h1, .nm-hero-text { width: auto !important; }
  .nm-hero h1 { font-size: 34px !important; }
  .nm-hero-text { padding-left: 0 !important; }
  .nm-hero-text::before { display: none; }
  .nm-hero-actions { margin-left: 0 !important; }
  .nm-hero-art { transform: scale(.58) !important; margin-bottom: -125px !important; }
  .nm-info-grid { grid-template-columns: 1fr !important; }
  .nm-section-title, .nm-workflow-title, .nm-seo-full-title { font-size: 29px !important; }
  .nm-workflow-card { padding: 64px 0 !important; }
  .nm-os-grid { grid-template-columns: repeat(2, 1fr) !important; }
  .nm-assist-box { flex-direction: column !important; align-items: flex-start !important; }
  .nm-assist-box .nm-btn { width: 100% !important; }
}

/* Exact Figma editor pass — frame 1447, 1366 × 5814. */
@media (min-width: 901px) {
  /*
   * Figma uses a 1,110px content canvas beginning at x=223.
   * It is intentionally not centered: the source layout reserves a 110px
   * left rail inside the 1,220px Elementor container.
   */
  .nm-container {
    width: 1110px !important;
    max-width: none !important;
    margin-left: calc((100vw - 1140px) / 2 + 110px) !important;
    margin-right: 0 !important;
    padding: 0 !important;
  }

  .nm-hero {
    min-height: 569px !important;
    padding: 0 !important;
    position: relative;
  }
  .nm-hero-grid {
    height: 569px !important;
    grid-template-columns: 500px 538px !important;
    gap: 54px !important;
    justify-content: start !important;
    align-items: start !important;
  }
  .nm-hero-grid > div:first-child {
    padding-top: 177px !important;
  }
  .nm-hero h1 {
    width: 456px !important;
    height: 82px !important;
    margin: 0 0 17px !important;
    font-size: 34px !important;
    line-height: 1.2 !important;
  }
  .nm-hero-text {
    width: 455px !important;
    min-height: 86px !important;
    margin: 0 0 20px !important;
    padding-left: 125px !important;
    font-size: 14px !important;
    line-height: 1.25 !important;
  }
  .nm-hero-text::before { width: 38px; left: 60px; }
  .nm-hero-actions {
    margin: 0 0 73px 125px !important;
  }
  .nm-hero-art {
    width: 538px !important;
    height: 349px !important;
    min-height: 349px !important;
    margin-top: 79px !important;
    overflow: hidden !important;
  }
  .nm-hero-art > :not(.nm-hero-export):not(.nm-hero-database-export) { display: none !important; }
  .nm-hero-export {
    display: block !important;
    width: 538px !important;
    height: 588px !important;
    max-width: none !important;
    object-fit: none !important;
    object-position: left top !important;
  }
  .nm-hero-database-export {
    position: absolute !important;
    left: 173px !important;
    top: 118px !important;
    z-index: 3 !important;
    display: block !important;
    width: 67px !important;
    height: 83px !important;
  }
  .nm-hero-features {
    width: 550px !important;
    transform: translateY(-53px);
  }

  #vps-info {
    height: 642px !important;
    padding: 104px 0 0 !important;
  }
  #vps-info .nm-section-head {
    margin: 0 0 45px !important;
  }
  #vps-info .nm-section-title {
    width: 537px !important;
    max-width: none !important;
    height: 76px !important;
    font-size: 32px !important;
    line-height: 1.18 !important;
  }
  .nm-info-grid {
    width: 1034px !important;
    grid-template-columns: repeat(3, 1fr) !important;
    gap: 20px !important;
  }
  .nm-info-card {
    height: 298px !important;
    min-height: 298px !important;
  }

  /* “რისთვის გამოვიყენო?” — exact source section, restored in full. */
  .nm-workflow {
    height: 784px !important;
    min-height: 784px !important;
  }
  .nm-workflow-card {
    position: relative !important;
    display: block !important;
    height: 784px !important;
    min-height: 784px !important;
    padding: 0 !important;
  }
  .nm-workflow-copy {
    position: absolute !important;
    left: 0 !important;
    top: 273px !important;
    width: 475px !important;
    height: auto !important;
    min-height: 0 !important;
  }
  .nm-kicker-dash {
    margin: 0 0 27px !important;
    font-size: 18px !important;
  }
  .nm-workflow-title {
    width: 474px !important;
    max-width: none !important;
    margin: 0 0 25px !important;
    font-size: 32px !important;
    line-height: 1.18 !important;
  }
  .nm-workflow-copy > p {
    width: 390px !important;
    max-width: none !important;
    font-size: 14px !important;
    line-height: 1.35 !important;
  }
  .nm-workflow-steps {
    position: absolute !important;
    left: 548px !important;
    top: 145px !important;
    width: 440px !important;
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 31px !important;
  }
  .nm-workflow-step {
    min-height: 108px !important;
    display: grid !important;
    grid-template-columns: 76px 1fr !important;
    gap: 18px !important;
  }
  .nm-workflow-step::before {
    content: "";
    align-self: start;
    width: 40px;
    height: 1px;
    margin-top: 18px;
    background: rgba(253,229,17,.45);
  }
  .nm-workflow-icon {
    position: absolute !important;
    left: 60px !important;
    width: 35px !important;
    height: 35px !important;
    background: center / 35px 35px no-repeat !important;
  }
  .nm-workflow-step:nth-child(1) .nm-workflow-icon { background-image: url("../images/use-web-service.svg") !important; }
  .nm-workflow-step:nth-child(2) .nm-workflow-icon { background-image: url("../images/use-vpn.svg") !important; }
  .nm-workflow-step:nth-child(3) .nm-workflow-icon { background-image: url("../images/use-ai-platform.svg") !important; }
  .nm-workflow-step:nth-child(4) .nm-workflow-icon { background-image: url("../images/use-office-infrastructure.svg") !important; }
  .nm-workflow-icon > * { display: none !important; }
  .nm-workflow-step > div:last-child {
    grid-column: 2;
    padding-left: 18px;
  }
  .nm-workflow-step h3 {
    font-size: 16px !important;
    line-height: 1.2 !important;
  }
  .nm-workflow-step p {
    width: 310px !important;
    font-size: 13px !important;
    line-height: 1.35 !important;
  }
}

/* hosting.namespace.ge live mobile header/footer measurements — 375px viewport. */
@media (max-width: 767px) {
  .nm-site-header {
    height: 105.3px !important;
    min-height: 105.3px !important;
  }
  .nm-topbar,
  .nm-topbar-inner {
    height: 60px !important;
    min-height: 60px !important;
  }
  .nm-main-header,
  .nm-main-header-inner {
    height: 45.3px !important;
    min-height: 45.3px !important;
  }
  .nm-main-header {
    padding-right: 20px !important;
  }
  .nm-main-header-inner {
    width: 100% !important;
    margin: 0 !important;
    gap: 0 !important;
  }
  .nm-logo {
    flex: 0 0 164px !important;
    width: 164px !important;
    height: 45.3px !important;
    min-height: 45.3px !important;
    margin: 0 !important;
    padding: 10px !important;
  }
  .nm-logo img {
    width: 144px !important;
    max-width: 144px !important;
    height: 18.5px !important;
  }
  .nm-nav-wrap {
    flex: 1 1 auto !important;
    justify-content: flex-end !important;
  }
  .nm-menu-toggle {
    width: 33px !important;
    height: 33px !important;
  }
  .nm-menu-toggle svg {
    width: 23px !important;
    height: 23px !important;
  }
  .nm-menu {
    top: 45.3px !important;
  }

  .nm-footer {
    min-height: 586.7px !important;
  }
  .nm-footer-main {
    height: 534px !important;
    min-height: 534px !important;
    padding: 50px 20px !important;
  }
  .nm-footer-main-inner {
    width: 320px !important;
    min-height: 434px !important;
    margin: 0 !important;
  }
  .nm-footer-logo img {
    width: 195px !important;
    height: 38px !important;
  }
  .nm-footer-bottom {
    height: 52.7px !important;
    min-height: 52.7px !important;
    padding: 0 20px !important;
  }
  .nm-footer-bottom-inner {
    width: 320px !important;
    height: 52px !important;
    margin: 0 !important;
    padding: 20px 0 !important;
    font-size: 12px !important;
    line-height: 12px !important;
  }
}

/* Missing Figma 1447 decorative geometry and corrected content rhythm. */
@media (min-width: 901px) {
  .nm-hero {
    position: relative !important;
  }
  .nm-hero::before {
    content: "";
    position: absolute;
    left: 0;
    top: 339.6px;
    width: 47.2px;
    height: 64.2px;
    background: #303030;
  }

  .nm-benefit-grid {
    grid-template-columns: 518px 518px !important;
    column-gap: 67px !important;
  }
  .nm-benefit-col {
    gap: 97px !important;
  }
  .nm-benefit-card h3 {
    gap: 20px !important;
    margin-bottom: 20px !important;
    font-size: 24px !important;
    line-height: 24px !important;
    letter-spacing: -.48px !important;
  }
  .nm-benefit-col:nth-child(2) .nm-benefit-card h3 {
    margin-bottom: 10px !important;
  }
  .nm-benefit-card h3 .nm-dash {
    flex: 0 0 20px !important;
    width: 20px !important;
    height: 1px !important;
    background: #303030 !important;
  }
  .nm-benefit-card p {
    width: auto !important;
    margin-left: 40px !important;
    font-size: 16px !important;
    line-height: 19.2px !important;
  }
  .nm-benefit-col:first-child .nm-benefit-card:first-child p {
    width: 471px !important;
  }
  .nm-benefit-col:first-child .nm-benefit-card:nth-child(2) p {
    width: 456px !important;
  }
  .nm-benefit-col:nth-child(2) .nm-benefit-card p {
    width: 410px !important;
  }

  .nm-assist {
    position: relative !important;
  }
  .nm-assist-box {
    position: relative !important;
    display: block !important;
    width: 926.1px !important;
    height: 178.9px !important;
    min-height: 178.9px !important;
    margin-left: 3px !important;
    padding: 34.2px 32.5px !important;
  }
  .nm-assist-title {
    width: 570.8px !important;
    height: 62px !important;
    margin: 0 !important;
  }
  .nm-assist-text {
    width: 547.2px !important;
    height: 36px !important;
    margin: 16px 0 0 !important;
  }
  .nm-assist-box .nm-btn {
    position: absolute !important;
    left: 711px !important;
    top: 104.1px !important;
    width: 182.9px !important;
    min-width: 182.9px !important;
    height: 42.3px !important;
    min-height: 42.3px !important;
    padding: 0 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
  }
  .nm-assist::before {
    content: "";
    position: absolute;
    z-index: 2;
    left: calc((100vw - 1140px) / 2 + 1126.1px);
    top: 82px;
    width: 1px;
    height: 64.2px;
    background: #303030;
  }
  .nm-assist::after {
    content: "";
    position: absolute;
    z-index: 2;
    left: calc((100vw - 1140px) / 2 + 1166px);
    top: 82px;
    width: 90.3px;
    height: 64.2px;
    background: #303030;
  }
}

@media (min-width: 901px) {
  .nm-faq-section {
    padding-top: 111px !important;
  }
  .nm-faq-section .nm-section-head {
    margin-left: 3px !important;
    margin-bottom: 45px !important;
  }
  .nm-faq-grid {
    width: 1031px !important;
    margin-left: 3px !important;
    gap: 20px !important;
  }
  .nm-faq-item,
  .nm-faq-item summary {
    min-height: 91px !important;
  }
  .nm-faq-item[open] {
    min-height: 211px !important;
  }
  .nm-faq-item[open] p {
    min-height: 120px !important;
  }
  .nm-faq-item:nth-child(6) {
    transform: translateY(-4px);
  }
  .nm-faq-section .nm-section-title {
    width: 455.8px !important;
    max-width: 455.8px !important;
  }
}

/* Responsive QA repairs. */
@media (max-width: 900px) {
  .nm-hero-grid {
    width: 100% !important;
    grid-template-columns: minmax(0, 1fr) !important;
  }
  .nm-hero-grid > div:first-child {
    width: 100% !important;
    min-width: 0 !important;
  }
  .nm-hero h1,
  .nm-hero-text {
    width: 100% !important;
    max-width: 100% !important;
  }
  .nm-range-body,
  .nm-os-grid,
  .nm-os-card {
    min-width: 0 !important;
  }
  .nm-os-grid {
    width: 100% !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
  .nm-faq-grid {
    width: 100% !important;
  }
}

@media (max-width: 560px) {
  .nm-hero h1 {
    font-size: 31px !important;
    line-height: 37px !important;
  }
  .nm-section-title,
  #vps-info .nm-section-title {
    font-size: 29px !important;
    line-height: 35px !important;
  }
  .nm-kicker-dash {
    font-size: 18px !important;
    line-height: 26px !important;
  }
  .nm-workflow-title {
    font-size: 29px !important;
    line-height: 35px !important;
  }
  .nm-seo-full-title {
    font-size: 30px !important;
    line-height: 36px !important;
  }
  .nm-calc-title {
    font-size: 28px !important;
    line-height: 35px !important;
  }
  .nm-assist-title {
    font-size: 24px !important;
    line-height: 29px !important;
  }
  .nm-faq-section .nm-section-title {
    width: 100% !important;
    max-width: 100% !important;
    font-size: 29px !important;
    line-height: 35px !important;
  }
  .nm-faq-item summary {
    min-height: 80px !important;
    padding: 24px 58px 24px 22px !important;
  }
  .nm-faq-item p {
    padding: 0 22px 26px !important;
  }
}

/* Final desktop Figma-detail overrides (kept after typography tokens). */
@media (min-width: 901px) {
  .nm-benefit-grid {
    transform: translate(-1px, 1px);
  }
  .nm-benefit-card h3 {
    font-size: 24px !important;
    line-height: 24px !important;
    letter-spacing: -.48px !important;
  }
  .nm-benefit-card p {
    font-size: 16px !important;
    line-height: 19.2px !important;
  }
  .nm-assist {
    padding-top: 87.4px !important;
    padding-bottom: 92.6px !important;
  }
  .nm-assist::before,
  .nm-assist::after {
    top: 87.4px !important;
  }
}

/* hosting.namespace.ge live header/footer measurements — desktop 1366px. */
@media (min-width: 901px) {
  .nm-site-header {
    height: 101px !important;
    min-height: 101px !important;
  }
  .nm-topbar {
    height: 30px !important;
    min-height: 30px !important;
  }
  .nm-topbar-inner,
  .nm-main-header-inner {
    width: 1110px !important;
    max-width: none !important;
    margin-left: calc((100% - 1220px) / 2 + 110px) !important;
    margin-right: 0 !important;
  }
  .nm-topbar-inner {
    height: 30px !important;
    min-height: 30px !important;
  }
  .nm-topbar-title,
  .nm-topbar-link,
  .nm-language a {
    font-size: 12px !important;
    line-height: 30px !important;
  }
  .nm-main-header,
  .nm-main-header-inner {
    height: 71px !important;
    min-height: 71px !important;
  }
  .nm-logo {
    flex: 0 0 226px !important;
    width: 226px !important;
    height: 101px !important;
    min-height: 101px !important;
    margin-top: -30px !important;
    padding: 50px 8px 24px !important;
  }
  .nm-logo img {
    width: 210px !important;
    max-width: 210px !important;
    height: 27px !important;
  }
  .nm-menu {
    width: auto !important;
    height: 20px !important;
    gap: 20px !important;
  }
  .nm-menu > li > a {
    min-height: 20px !important;
    height: 20px !important;
    font-size: 14px !important;
    line-height: 20px !important;
    transform: translateY(-.7px);
  }

  .nm-footer {
    height: 376.7px !important;
    min-height: 376.7px !important;
  }
  .nm-footer-main {
    height: 324px !important;
    min-height: 324px !important;
    padding: 50px 0 !important;
  }
  .nm-footer-main-inner,
  .nm-footer-bottom-inner {
    width: 1110px !important;
    max-width: none !important;
    margin-left: calc((100% - 1220px) / 2 + 110px) !important;
    margin-right: 0 !important;
  }
  .nm-footer-main-inner {
    height: 224px !important;
    min-height: 224px !important;
    grid-template-columns: 489.9px 620.1px !important;
    gap: 0 !important;
  }
  .nm-footer-logo {
    width: 489.9px !important;
    height: 224px !important;
  }
  .nm-footer-logo img {
    width: 262px !important;
    height: 38px !important;
  }
  .nm-footer-right {
    width: 620.1px !important;
    height: 224px !important;
    padding-left: 86.8px !important;
    grid-template-columns: 223.2px 310.1px !important;
    gap: 0 !important;
  }
  .nm-footer-col {
    width: auto !important;
    height: 224px !important;
  }
  .nm-footer-col h4 {
    height: 14px !important;
    margin: 0 0 50px !important;
    padding: 0 !important;
    font-size: 14px !important;
    line-height: 14px !important;
  }
  .nm-footer-col ul {
    margin: 0 !important;
  }
  .nm-footer-col:not(:last-child) ul {
    display: flex !important;
    flex-direction: column !important;
    gap: 8px !important;
  }
  .nm-footer-col:not(:last-child) li,
  .nm-footer-col:not(:last-child) a {
    height: 20px !important;
    line-height: 20px !important;
  }
  .nm-footer-col:not(:last-child) a {
    display: flex !important;
    align-items: center !important;
    width: 100% !important;
  }
  .nm-contact-list {
    display: flex !important;
    flex-direction: column !important;
    gap: 8px !important;
  }
  .nm-contact-list li,
  .nm-contact-list a {
    height: 18px !important;
    line-height: 18px !important;
  }
  .nm-footer-bottom {
    height: 52.7px !important;
    min-height: 52.7px !important;
    padding: 0 !important;
  }
  .nm-footer-bottom-inner {
    height: 52px !important;
    padding: 20px 0 !important;
    font-size: 12px !important;
    line-height: 12px !important;
  }
}

/* Figma typography tokens — extracted from the actual 1447 text nodes. */
@font-face {
  font-family: "BPG WEB 001 Caps";
  src: url("../fonts/bpg-web-001-caps.woff2") format("woff2");
  font-style: normal;
  font-weight: 400;
  font-display: swap;
}

@font-face {
  font-family: "BPG Arial Caps 2010";
  src: url("../fonts/bpg-arial-caps-2010.woff2") format("woff2");
  font-style: normal;
  font-weight: 400;
  font-display: swap;
}

.nm-page,
.nm-page * {
  font-family: "BPG Arial Caps 2010", Arial, sans-serif !important;
  font-weight: 400;
}

.nm-page h1,
.nm-page h2,
.nm-page h3,
.nm-page h4,
.nm-page .nm-btn,
.nm-page .nm-kicker,
.nm-page .nm-summary-price .nm-big-price {
  font-family: "BPG WEB 001 Caps", "BPG Arial Caps 2010", Arial, sans-serif !important;
  font-weight: 400 !important;
}

.nm-hero h1 {
  font-size: 34.15px !important;
  line-height: 40.98px !important;
  letter-spacing: 0 !important;
}

.nm-hero-text {
  font-size: 14px !important;
  line-height: 20px !important;
  letter-spacing: 0 !important;
}

.nm-section-title {
  font-size: 32px !important;
  line-height: 38.4px !important;
  letter-spacing: 0 !important;
}

#vps-info .nm-section-title {
  font-size: 32px !important;
  line-height: 38.4px !important;
}

.nm-info-card h3 {
  font-size: 24px !important;
  line-height: 24px !important;
  letter-spacing: -.48px !important;
}

.nm-info-card p {
  font-size: 14px !important;
  line-height: 20px !important;
  letter-spacing: 0 !important;
}

.nm-kicker-dash {
  font-size: 24px !important;
  line-height: 42.857px !important;
  letter-spacing: 0 !important;
}

.nm-workflow-title {
  font-size: 32px !important;
  line-height: 38.4px !important;
  letter-spacing: 0 !important;
}

.nm-workflow-copy > p {
  font-size: 14px !important;
  line-height: 20px !important;
  letter-spacing: 0 !important;
}

.nm-workflow-step h3 {
  font-size: 16px !important;
  line-height: 19.2px !important;
  letter-spacing: -.64px !important;
}

.nm-workflow-step p {
  font-size: 13px !important;
  line-height: 19.5px !important;
  letter-spacing: 0 !important;
}

.nm-seo-full-title {
  font-size: 40px !important;
  line-height: 48px !important;
  letter-spacing: 0 !important;
}

.nm-benefit-card h3 {
  font-size: 17px !important;
  line-height: 18.7px !important;
  letter-spacing: 0 !important;
}

.nm-benefit-card p {
  font-size: 14px !important;
  line-height: 20px !important;
  letter-spacing: 0 !important;
}

.nm-calc-title {
  font-size: 30px !important;
  line-height: 37.5px !important;
  letter-spacing: 0 !important;
}

.nm-assist-title {
  font-size: 26.019px !important;
  line-height: 31.223px !important;
  letter-spacing: -.52px !important;
}

.nm-assist-text {
  font-size: 13.01px !important;
  line-height: 17.888px !important;
  letter-spacing: 0 !important;
}

.nm-faq-section .nm-section-title {
  font-size: 34.15px !important;
  line-height: 40.98px !important;
}

.nm-faq-item summary {
  font-family: "BPG WEB 001 Caps", "BPG Arial Caps 2010", Arial, sans-serif !important;
  font-size: 16px !important;
  line-height: 19.2px !important;
  letter-spacing: -.64px !important;
}

.nm-faq-item p {
  font-size: 13px !important;
  line-height: 19.5px !important;
  letter-spacing: 0 !important;
}

/* Figma FAQ corner indicators: closed = black bottom-right, open = yellow top-right. */
.nm-faq-item summary {
  position: relative !important;
}

.nm-faq-item summary::after {
  content: "" !important;
  position: absolute !important;
  top: 37px !important;
  right: 32px !important;
  width: 16px !important;
  height: 16px !important;
  border: 0 !important;
  border-right: 4px solid #2b2b2b !important;
  border-bottom: 4px solid #2b2b2b !important;
  transform: none !important;
  transition: none !important;
}

.nm-faq-item[open] summary::after {
  border: 0 !important;
  border-top: 4px solid #fde511 !important;
  border-right: 4px solid #fde511 !important;
  transform: none !important;
}

@media (max-width: 900px) {
  .nm-faq-item summary {
    padding-right: 66px !important;
  }
  .nm-faq-item summary::after {
    top: 50% !important;
    right: 24px !important;
    transform: translateY(-50%) !important;
  }
  .nm-faq-item[open] summary::after {
    top: 32px !important;
    transform: none !important;
  }
}

/* Final responsive overrides must follow the desktop Figma typography tokens. */
@media (max-width: 900px) {
  .nm-hero-grid {
    width: min(720px, calc(100% - 32px)) !important;
    margin-inline: auto !important;
    grid-template-columns: minmax(0, 1fr) !important;
  }
  .nm-hero-grid > div:first-child,
  .nm-hero h1,
  .nm-hero-text {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
  }
  .nm-calculator-shell {
    grid-template-columns: minmax(0, 1fr) !important;
  }
  .nm-calc-panel,
  .nm-range-row,
  .nm-range-body,
  .nm-os-grid,
  .nm-os-card {
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
  }
  .nm-os-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
  .nm-faq-grid {
    width: 100% !important;
  }
}

@media (max-width: 560px) {
  .nm-hero-grid {
    width: calc(100% - 28px) !important;
  }
  .nm-hero-features {
    width: 100% !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 18px 14px !important;
    transform: none !important;
  }
  .nm-feature {
    width: auto !important;
    min-width: 0 !important;
  }
  .nm-hero h1 {
    font-size: 31px !important;
    line-height: 37px !important;
  }
  .nm-section-title,
  #vps-info .nm-section-title {
    font-size: 29px !important;
    line-height: 35px !important;
  }
  .nm-kicker-dash {
    font-size: 18px !important;
    line-height: 26px !important;
  }
  .nm-workflow-title {
    font-size: 29px !important;
    line-height: 35px !important;
  }
  .nm-seo-full-title {
    font-size: 30px !important;
    line-height: 36px !important;
  }
  .nm-calculator-shell {
    padding: 20px !important;
  }
  .nm-calc-title {
    font-size: 28px !important;
    line-height: 35px !important;
  }
  .nm-assist-title {
    font-size: 24px !important;
    line-height: 29px !important;
  }
  .nm-faq-section .nm-section-title {
    width: 100% !important;
    max-width: 100% !important;
    font-size: 29px !important;
    line-height: 35px !important;
  }
  .nm-faq-item summary {
    min-height: 80px !important;
    padding: 24px 58px 24px 22px !important;
  }
  .nm-faq-item p {
    padding: 0 22px 26px !important;
  }
}
