.tool-title{
  margin:0;
  font-family:"Cormorant Garamond",serif;
  font-size:clamp(2.8rem, 4vw, 4.4rem);
  line-height:1;
  color:#091938;
}

.tool-subtitle{
  margin:14px 0 0;
  max-width:760px;
  color:#5d6b82;
  font-size:1.08rem;
  line-height:1.7;
}

.tool-layout{
  display:grid;
  grid-template-columns:minmax(320px,540px) minmax(320px,1fr);
  gap:28px;
  align-items:start;
}
.tool-stack{display:grid;gap:24px;}
.tool-card{background:#fff;border:1px solid #e7edf5;border-radius:24px;padding:24px;box-shadow:0 12px 30px rgba(9,30,66,.06);}
.tool-card h2{margin:0 0 18px;color:#0b1f4d;font-size:1.35rem;}
.tool-form,.form-section-body,.form-grid,.assumption-list{display:grid;}
.form-section{border:1px solid #e6ebf2;border-radius:20px;margin-bottom:16px;overflow:hidden;background:#fbfcfe;}
.form-section-toggle{width:100%;border:none;background:transparent;display:flex;align-items:center;justify-content:space-between;padding:18px 20px;font-size:1.05rem;font-weight:700;color:#24395d;cursor:pointer;}
.form-section-body{display:none;padding:0 20px 20px;gap:18px;border-top:1px solid #e6ebf2;}
.form-section.is-open .form-section-body{display:grid;}
.section-caret{transition:transform .2s ease;color:#7f8898;}
.form-section.is-open .section-caret{transform:rotate(180deg);}
.form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 18px;}
.form-group-full{grid-column:1 / -1;}
.form-group label{display:block;margin-bottom:8px;font-weight:600;color:#324769;}
.form-group input,.form-group select{width:100%;min-height:52px;border:1px solid #d5ddea;border-radius:16px;padding:0 15px;font-size:1rem;color:#13294b;background:#fff;}
.form-group input:focus,.form-group select:focus{outline:none;border-color:#0b1f4d;box-shadow:0 0 0 4px rgba(11,31,77,.08);}
.mini-breakdown-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;}
.mini-card,.summary-box{border:1px solid #e6ebf2;border-radius:20px;padding:18px;background:#f9fbff;}
.mini-card span,.summary-box span{display:block;color:#64748b;margin-bottom:8px;}
.mini-card strong,.summary-box strong{color:#0b1f4d;font-size:1.2rem;}
.summary-box-featured{background:#0b1f4d;border-color:#0b1f4d;}
.summary-box-featured span,.summary-box-featured strong{color:#fff;}
.results-summary{display:grid;gap:14px;margin-bottom:18px;}
.summary-grid-2{grid-template-columns:repeat(2,minmax(0,1fr));}
.compact-gap{margin-bottom:14px;}
.breakdown-table{width:100%;border-collapse:collapse;}
.breakdown-table th,.breakdown-table td{padding:14px 12px;border-bottom:1px solid #e8edf5;text-align:left;vertical-align:top;}
.breakdown-table thead th{color:#5b6b84;font-size:.95rem;}
.breakdown-table tbody th{color:#24395d;font-weight:700;}
.breakdown-table tbody td{color:#13294b;font-weight:600;}
.assumption-list{gap:10px;margin:0;padding-left:20px;color:#42526b;}
.form-errors{margin-bottom:16px;border:1px solid #fecaca;background:#fff1f2;color:#9f1239;border-radius:16px;padding:14px 16px;}
.form-errors ul{margin:0;padding-left:20px;}
.tool-actions{margin-top:8px;}
.btn{display:inline-flex;align-items:center;justify-content:center;border:none;border-radius:999px;padding:14px 22px;font-weight:700;cursor:pointer;text-decoration:none;}
.btn-gold{background:#d4a63d;color:#0b1f4d;}
.btn-gold:hover{filter:brightness(.98);}
@media (max-width: 1080px){.tool-layout{grid-template-columns:1fr;}.tool-card{padding:22px;}}
@media (max-width: 640px){.form-grid,.mini-breakdown-grid,.summary-grid-2{grid-template-columns:1fr;}.tool-card{padding:18px;border-radius:20px;}.form-section-toggle{padding:16px;}.form-section-body{padding:0 16px 16px;}}


.calculator-disclaimer{
  margin-top:18px;
  padding:14px 16px;
  border-left:4px solid var(--gold);
  background:#fff8eb;
  color:#5d6a80;
  line-height:1.6;
  border-radius:8px;
}

.assumption-callout,
.results-note{
  margin-top:20px;
}

.seo-content {
  padding: 3rem 0;
}

.seo-article {
  max-width: 850px;
  margin: 0 auto;
  line-height: 1.75;
  font-size: 1rem;
}

.seo-article h2 {
  margin-top: 2.5rem;
  margin-bottom: 1rem;
}

.seo-article p,
.seo-article ul {
  margin-bottom: 1rem;
}

.seo-article ul {
  padding-left: 1.25rem;
}

.section-light {
  margin: 0;
  padding: 40px 0;
}

.section-heading {
  text-align: center;
  margin-bottom: 0;
}

.tool-subtitle {
  text-align: center;
  max-width: 100%;
}

.section-light-alt {
  padding: 0 0 100px;
}

select {
  height: 50px;
}