:root{
  --navy-950:#081426;
  --navy-900:#0F172A;
  --navy-800:#172554;
  --blue-700:#1D4ED8;
  --blue-600:#2563EB;
  --blue-500:#3B82F6;
  --emerald-600:#059669;
  --emerald-500:#10B981;
  --slate-900:#1E293B;
  --slate-700:#334155;
  --slate-600:#475569;
  --slate-500:#64748B;
  --slate-300:#CBD5E1;
  --slate-200:#E2E8F0;
  --slate-100:#F1F5F9;
  --slate-50:#F8FAFC;
  --white:#FFFFFF;
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  background:var(--slate-50);
  color:var(--slate-900);
  line-height:1.6
}
.wrap{width:min(1120px,92%);margin:auto}

.site-header{
  background:rgba(255,255,255,.97);
  border-bottom:1px solid var(--slate-200);
  position:sticky;
  top:0;
  z-index:20;
  box-shadow:0 1px 10px rgba(15,23,42,.035)
}
.nav{
  min-height:72px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:28px
}
.brand{
  display:flex;
  align-items:center;
  gap:12px;
  text-decoration:none;
  color:var(--navy-900);
  font-weight:800
}
.brand-mark{
  display:grid;
  place-items:center;
  background:var(--navy-900);
  color:white;
  border-radius:12px;
  min-width:48px;
  height:48px;
  padding:0 9px;
  font-size:18px;
  letter-spacing:.8px
}
.brand-text{font-size:18px}
.nav nav{display:flex;gap:24px}
.nav nav a,.footer-links a{
  color:var(--slate-600);
  text-decoration:none;
  font-weight:650
}
.nav nav a:hover,.footer-links a:hover{color:var(--blue-600)}

.hero{
  padding:88px 0 72px;
  background:
    radial-gradient(circle at 88% 20%,rgba(37,99,235,.10),transparent 28%),
    linear-gradient(180deg,#EFF6FF 0%,var(--slate-50) 100%)
}
.hero-grid{
  display:grid;
  grid-template-columns:1.35fr .75fr;
  gap:48px;
  align-items:center
}
.eyebrow{
  font-size:12px;
  font-weight:900;
  letter-spacing:1.8px;
  color:var(--blue-700)
}
.hero h1{
  font-size:clamp(42px,6vw,72px);
  line-height:1.02;
  letter-spacing:-2.4px;
  margin:12px 0 20px;
  max-width:850px;
  color:var(--navy-900)
}
.hero p{
  font-size:20px;
  color:var(--slate-600);
  max-width:720px
}
.button{
  display:inline-block;
  margin-top:20px;
  background:var(--blue-600);
  color:#fff;
  text-decoration:none;
  padding:15px 22px;
  border-radius:12px;
  font-weight:800;
  box-shadow:0 9px 24px rgba(37,99,235,.20);
  transition:transform .18s ease,background .18s ease,box-shadow .18s ease
}
.button:hover{
  background:var(--blue-700);
  transform:translateY(-1px);
  box-shadow:0 12px 28px rgba(37,99,235,.24)
}
.hero-card{
  background:#fff;
  border:1px solid #DCE7F5;
  border-top:4px solid var(--blue-600);
  border-radius:20px;
  padding:30px;
  box-shadow:0 18px 55px rgba(15,23,42,.09)
}
.hero-card strong{font-size:22px;line-height:1.3;color:var(--navy-900)}
.hero-card p{font-size:16px}

.section{padding:74px 0}
.section-head{max-width:720px;margin-bottom:30px}
.section h2{
  font-size:clamp(30px,4vw,46px);
  letter-spacing:-1.5px;
  margin:8px 0 12px;
  color:var(--navy-900)
}
.section-head p{color:var(--slate-500)}

.cards{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:18px
}
.card{
  background:white;
  border:1px solid var(--slate-200);
  border-radius:18px;
  padding:24px;
  min-height:250px;
  box-shadow:0 8px 26px rgba(15,23,42,.045);
  transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease
}
.card:hover{
  transform:translateY(-2px);
  border-color:#BFDBFE;
  box-shadow:0 14px 32px rgba(15,23,42,.07)
}
.card h3{font-size:21px;margin:14px 0 8px;color:var(--navy-900)}
.card p{color:var(--slate-500)}
.card a{
  font-weight:800;
  text-decoration:none;
  color:var(--blue-700)
}
.card a:hover{color:var(--blue-600)}
.card.muted{opacity:.78}
.card.muted span{font-size:14px;color:#7d8798;font-weight:700}
.icon{
  width:48px;
  height:48px;
  border-radius:12px;
  background:#DBEAFE;
  display:grid;
  place-items:center;
  font-weight:900;
  color:var(--blue-700)
}
.soft{background:#fff}
.split{display:grid;grid-template-columns:1fr 1fr;gap:55px;align-items:start}
.features p{margin-top:0;margin-bottom:18px;color:var(--slate-600)}

footer{
  background:var(--navy-950);
  color:#DBEAFE;
  padding:42px 0 22px
}
.footer-grid{display:flex;justify-content:space-between;gap:40px}
.footer-brand{color:white}
.footer-links{display:flex;flex-wrap:wrap;gap:18px}
.footer-links a{color:#CBD5E1}
.footer-links a:hover{color:#93C5FD}
.copyright{
  border-top:1px solid rgba(255,255,255,.12);
  margin-top:28px;
  padding-top:18px;
  color:#94A3B8;
  font-size:14px
}

.calculator-hero{
  padding:56px 0 34px;
  background:
    radial-gradient(circle at 90% 30%,rgba(16,185,129,.08),transparent 24%),
    linear-gradient(180deg,#EFF6FF 0%,#F8FAFC 100%);
  border-bottom:1px solid #E2E8F0
}
.calculator-hero h1{color:var(--navy-900)}
.breadcrumbs{font-size:14px;color:var(--slate-500)}
.breadcrumbs a{color:var(--blue-700);text-decoration:none}

.tool-layout{
  display:grid;
  grid-template-columns:1.1fr .9fr;
  gap:30px;
  align-items:start
}
.tool-card,.result-card,.content-card{
  background:#fff;
  border:1px solid var(--slate-200);
  border-radius:18px;
  padding:26px;
  box-shadow:0 8px 28px rgba(15,23,42,.045)
}
.tool-card{border-top:4px solid var(--blue-600)}
.result-card{border-top:4px solid var(--emerald-500)}
.content-card{margin-top:24px}

label{
  display:block;
  font-weight:750;
  margin:14px 0 6px;
  color:var(--slate-700)
}
input,select{
  width:100%;
  padding:13px 14px;
  border:1px solid var(--slate-300);
  border-radius:10px;
  font:inherit;
  background:white;
  color:var(--slate-900);
  transition:border-color .15s ease,box-shadow .15s ease
}
input:focus,select:focus{
  outline:none;
  border-color:var(--blue-500);
  box-shadow:0 0 0 3px rgba(59,130,246,.14)
}
.row{display:grid;grid-template-columns:1fr 1fr;gap:14px}

.calc-btn{
  width:100%;
  margin-top:20px;
  border:0;
  background:var(--blue-600);
  color:white;
  padding:14px;
  border-radius:10px;
  font-weight:850;
  font-size:16px;
  cursor:pointer;
  box-shadow:0 8px 20px rgba(37,99,235,.16);
  transition:background .18s ease,transform .18s ease
}
.calc-btn:hover{background:var(--blue-700);transform:translateY(-1px)}
.calc-btn:active{transform:translateY(0)}

.result-card h3{margin-top:0;color:var(--navy-900)}
.big-number{
  font-size:42px;
  font-weight:900;
  letter-spacing:-1px;
  margin:12px 0;
  color:var(--emerald-600)
}
.result-list{display:grid;gap:10px;margin-top:20px}
.result-item{
  display:flex;
  justify-content:space-between;
  gap:16px;
  padding-top:10px;
  border-top:1px solid var(--slate-100)
}
.result-item strong{color:var(--navy-900)}
.note{font-size:13px;color:var(--slate-500)}
.formula{
  padding:14px;
  background:#EFF6FF;
  border-left:4px solid var(--blue-600);
  border-radius:10px;
  font-family:ui-monospace,SFMono-Regular,Menlo,monospace;
  overflow:auto;
  color:var(--navy-900)
}
.faq details{border-top:1px solid var(--slate-200);padding:14px 0}
.faq summary{cursor:pointer;font-weight:800;color:var(--navy-900)}
a{transition:color .15s ease}

@media(max-width:900px){
  .hero-grid,.tool-layout,.split{grid-template-columns:1fr}
  .cards{grid-template-columns:1fr 1fr}
  .hero{padding-top:62px}
  .hero h1{font-size:48px}
  .nav nav{display:none}
}
@media(max-width:560px){
  .cards,.row{grid-template-columns:1fr}
  .brand-text{display:none}
  .hero h1{font-size:40px}
  .hero p{font-size:18px}
  .section{padding:54px 0}
}

.logo-link{
  display:flex;
  align-items:center;
  text-decoration:none;
  line-height:0
}
.site-logo{
  display:block;
  width:auto;
  height:44px;
  max-width:340px;
  object-fit:contain
}
@media (max-width:900px){
  .site-logo{height:40px;max-width:280px}
}
@media (max-width:560px){
  .site-logo{height:34px;max-width:220px}
}
