.nrcalc-page{
  background:
    radial-gradient(860px 520px at 10% 0%, rgba(212,90,59,.17), transparent 62%),
    radial-gradient(760px 480px at 92% 10%, rgba(22,61,53,.16), transparent 58%),
    linear-gradient(135deg, #d8d6cf, #f6f1e8 56%, #fff9ef);
  color:#151411;
}
.nrcalc-shell{
  width:calc(100% - (2 * var(--nr-shell-gutter, clamp(20px, 3vw, 56px))));
  max-width:var(--nr-shell-panel-max, 1408px);
  margin:0 auto;
  padding:112px 0 70px;
  font-family:Sora, Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}
.nrcalc-breadcrumbs{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:8px;
  margin:0 0 18px;
  color:#746e64;
  font-size:12px;
  font-weight:850;
  letter-spacing:.07em;
  text-transform:uppercase;
}
.nrcalc-breadcrumbs a{
  color:#3e3a34;
  text-decoration:none;
}
.nrcalc-hero{
  display:grid;
  grid-template-columns:minmax(0, 1fr) minmax(300px, 390px);
  gap:24px;
  align-items:stretch;
  padding:clamp(28px, 5vw, 58px);
  border:1px solid rgba(20,19,17,.12);
  border-radius:32px;
  background:rgba(248,246,239,.86);
  box-shadow:0 30px 90px rgba(20,19,17,.12);
  backdrop-filter:blur(18px);
}
.nrcalc-kicker{
  margin:0 0 16px;
  color:#c45238;
  font-size:13px;
  font-weight:950;
  letter-spacing:.14em;
  text-transform:uppercase;
}
.nrcalc-title{
  max-width:820px;
  margin:0;
  color:#10100e;
  font-size:clamp(46px, 7vw, 96px);
  line-height:.9;
  letter-spacing:-.06em;
}
.nrcalc-lead{
  max-width:760px;
  margin:22px 0 0;
  color:#4e4941;
  font-size:clamp(17px, 2vw, 22px);
  line-height:1.55;
  font-weight:650;
}
.nrcalc-side{
  display:grid;
  gap:12px;
}
.nrcalc-stat{
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  min-height:132px;
  padding:20px;
  border-radius:24px;
  background:#111;
  color:#fffaf0;
}
.nrcalc-stat.is-green{
  background:linear-gradient(145deg, #163d35, #0f2824);
}
.nrcalc-stat span{
  color:rgba(255,250,240,.62);
  font-size:12px;
  font-weight:900;
  letter-spacing:.12em;
  text-transform:uppercase;
}
.nrcalc-stat strong{
  margin-top:18px;
  font-size:clamp(34px, 4vw, 50px);
  line-height:.92;
  letter-spacing:-.05em;
}
.nrcalc-layout{
  display:grid;
  grid-template-columns:minmax(0, 1fr) minmax(320px, 430px);
  gap:22px;
  align-items:start;
  margin-top:26px;
}
.nrcalc-card{
  border:1px solid rgba(20,19,17,.12);
  border-radius:28px;
  background:rgba(255,253,248,.84);
  box-shadow:0 24px 70px rgba(20,19,17,.09);
  overflow:hidden;
}
.nrcalc-card__head{
  padding:22px clamp(20px, 4vw, 30px);
  border-bottom:1px solid rgba(20,19,17,.1);
}
.nrcalc-card__head h2,
.nrcalc-copy h2{
  margin:0;
  color:#111;
  font-size:clamp(26px, 3.2vw, 42px);
  line-height:1;
  letter-spacing:-.04em;
}
.nrcalc-card__head p{
  margin:10px 0 0;
  color:#6f685e;
  font-size:15px;
  line-height:1.55;
}
.nrcalc-form{
  display:grid;
  grid-template-columns:repeat(2, minmax(0, 1fr));
  gap:14px;
  padding:clamp(18px, 3vw, 30px);
}
.nrcalc-field{
  display:grid;
  gap:7px;
}
.nrcalc-field.is-wide{
  grid-column:1 / -1;
}
.nrcalc-field label{
  color:#4c4740;
  font-size:12px;
  font-weight:900;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.nrcalc-field input,
.nrcalc-field select{
  width:100%;
  min-height:52px;
  box-sizing:border-box;
  padding:13px 14px;
  border:1px solid rgba(20,19,17,.14);
  border-radius:16px;
  background:#fffdf8;
  color:#151411;
  font:800 16px/1.2 Sora, Inter, sans-serif;
  outline:none;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.8);
}
.nrcalc-field input:focus,
.nrcalc-field select:focus{
  border-color:#c45238;
  box-shadow:0 0 0 4px rgba(196,82,56,.13);
}
.nrcalc-field small{
  color:#8a8378;
  font-size:12px;
  line-height:1.35;
}
.nrcalc-results{
  position:sticky;
  top:92px;
}
.nrcalc-result-main{
  padding:26px;
  background:linear-gradient(145deg, #163d35, #0f2a25);
  color:#fffaf0;
}
.nrcalc-result-main span{
  display:block;
  margin-bottom:10px;
  color:rgba(255,250,240,.66);
  font-size:12px;
  font-weight:900;
  letter-spacing:.13em;
  text-transform:uppercase;
}
.nrcalc-result-main strong{
  display:block;
  font-size:clamp(42px, 6vw, 74px);
  line-height:.9;
  letter-spacing:-.06em;
}
.nrcalc-result-main small{
  display:block;
  margin-top:12px;
  color:rgba(255,250,240,.72);
  line-height:1.5;
}
.nrcalc-result-list{
  display:grid;
  gap:0;
  margin:0;
  padding:0;
  list-style:none;
}
.nrcalc-result-list li{
  display:flex;
  justify-content:space-between;
  gap:16px;
  padding:14px 18px;
  border-top:1px solid rgba(20,19,17,.09);
  color:#5e584f;
  font-size:14px;
}
.nrcalc-result-list b{
  color:#161411;
  font-weight:950;
  text-align:right;
}
.nrcalc-alert{
  display:none;
  margin:0;
  padding:16px 18px;
  border-top:1px solid rgba(196,82,56,.2);
  background:rgba(212,90,59,.1);
  color:#803220;
  font-size:14px;
  line-height:1.55;
  font-weight:750;
}
.nrcalc-alert.is-visible{
  display:block;
}
.nrcalc-actions{
  display:grid;
  gap:10px;
  padding:18px;
  border-top:1px solid rgba(20,19,17,.1);
  background:rgba(244,241,235,.72);
}
.nrcalc-button{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:48px;
  padding:12px 16px;
  border:1px solid rgba(20,19,17,.14);
  border-radius:999px;
  background:#fffdf8;
  color:#171511;
  font-weight:950;
  text-decoration:none;
  cursor:pointer;
}
.nrcalc-button.is-primary{
  background:#171511;
  color:#fffaf0;
}
.nrcalc-button.is-orange{
  border-color:#c45238;
  background:#d45a3b;
  color:#fffaf0;
}
.nrcalc-copy{
  margin-top:22px;
  padding:clamp(22px, 4vw, 34px);
  border:1px solid rgba(20,19,17,.12);
  border-radius:28px;
  background:rgba(248,246,239,.86);
  box-shadow:0 20px 60px rgba(20,19,17,.08);
}
.nrcalc-copy p,
.nrcalc-copy li{
  color:#5d574f;
  font-size:16px;
  line-height:1.72;
}
.nrcalc-copy h3{
  margin:24px 0 8px;
  font-size:22px;
  letter-spacing:-.03em;
}
.nrcalc-related{
  display:grid;
  grid-template-columns:repeat(3, minmax(0, 1fr));
  gap:14px;
  margin-top:18px;
}
.nrcalc-related a{
  display:block;
  min-height:116px;
  padding:18px;
  border:1px solid rgba(20,19,17,.12);
  border-radius:20px;
  background:#fffdf8;
  color:#151411;
  text-decoration:none;
}
.nrcalc-related span{
  display:block;
  margin-bottom:8px;
  color:#c45238;
  font-size:11px;
  font-weight:950;
  letter-spacing:.12em;
  text-transform:uppercase;
}
.nrcalc-related strong{
  display:block;
  font-size:18px;
  line-height:1.12;
}
.nrcalc-related small{
  display:block;
  margin-top:8px;
  color:#746e64;
  line-height:1.45;
}
@media (max-width:900px){
  .nrcalc-hero,
  .nrcalc-layout{
    grid-template-columns:1fr;
  }
  .nrcalc-results{
    position:static;
  }
  .nrcalc-related{
    grid-template-columns:1fr;
  }
}
@media (max-width:620px){
  .nrcalc-shell{
    width:calc(100% - (2 * var(--nr-shell-gutter, 12px)));
    max-width:var(--nr-shell-panel-max, 1408px);
    padding-top:92px;
  }
  .nrcalc-hero,
  .nrcalc-card,
  .nrcalc-copy{
    border-radius:22px;
  }
  .nrcalc-form{
    grid-template-columns:1fr;
  }
  .nrcalc-title{
    font-size:clamp(40px, 13vw, 64px);
  }
}
