.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, 520px) minmax(320px, 1fr);
  gap:28px;
  align-items:start;
}

.tool-card{
  background:#fff;
  border:1px solid #dce2ea;
  border-radius:18px;
  padding:28px;
  box-shadow:0 3px 12px rgba(10,25,56,.04);
}

.tool-card h2{
  margin:0 0 22px;
  font-family:"Cormorant Garamond",serif;
  font-size:2rem;
  color:#1b2940;
}

.calculator-shell,
.results-card,
.result-panel {
  background: #fff;
  border: 1px solid #e8edf3;
  border-radius: 18px;
  box-shadow: 0 12px 30px rgba(16, 24, 40, 0.05);
}

.calculator-shell {
  padding: 24px;
}

.tool-form {
  display: flex;
  flex-direction: column;
  gap: 20px;
}

.form-layout {
  display: grid;
  gap: 16px;
}

.form-section {
  border: 1px solid #e8edf3;
  border-radius: 16px;
  overflow: hidden;
  background: #fcfdff;
}

.form-section-toggle {
  width: 100%;
  border: 0;
  background: transparent;
  padding: 18px 20px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  font-size: 1rem;
  font-weight: 700;
  cursor: pointer;
}

.form-section-body {
  display: none;
  padding: 0 20px 20px;
}

.form-section.is-open .form-section-body {
  display: block;
}

.tool-form .form-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:18px;
}

.form-group{
  display:flex;
  flex-direction:column;
  gap:8px;
}

.form-group label{
  font-weight:600;
  color:#34435b;
}

.form-group input,
.form-group select{
  min-height:50px;
  border:1px solid #d9e0e8;
  border-radius:12px;
  padding:0 14px;
  font:inherit;
  color:#1f2e46;
  background:#fff;
}

.form-group input:focus,
.form-group select:focus{
  outline:none;
  border-color:#c6a15b;
  box-shadow:0 0 0 3px rgba(198,161,91,.15);
}

.check-option {
  display: flex;
  align-items: center;
  gap: 10px;
  font-weight: 600;
}

.checkbox-grid {
  display: flex;
  flex-wrap: wrap;
  gap: 18px;
}

.inline-check {
  margin-top: 36px;
}

.tool-actions {
  display: flex;
  justify-content: flex-start;
}


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

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

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

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

select {
    height: 50px;
}

.results-card {
  margin-top: 24px;
  padding: 24px;
}

.results-message {
  font-size: 1rem;
  color: #23344d;
  margin-bottom: 20px;
}

.results-summary {
  display: grid;
  gap: 16px;
}

.results-summary-4 {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.summary-box {
  padding: 18px;
  border-radius: 16px;
  background: linear-gradient(180deg, #f8fbff 0%, #f3f8ff 100%);
  border: 1px solid #dde8f5;
}

.summary-box span {
  display: block;
  color: #49617d;
  margin-bottom: 8px;
}

.summary-box strong {
  font-size: 1.25rem;
  color: #10233b;
}

.result-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px;
}

.result-panel {
  padding: 20px;
}

.key-value-list {
  display: grid;
  gap: 12px;
}

.key-value-list div {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding-bottom: 10px;
  border-bottom: 1px dashed #d9e3ee;
}

.key-value-list span {
  color: #49617d;
}

.result-table {
  width: 100%;
  border-collapse: collapse;
}

.result-table th,
.result-table td {
  text-align: left;
  padding: 12px 8px;
  border-bottom: 1px solid #edf2f7;
}

.result-table th:last-child,
.result-table td:last-child {
  text-align: right;
}

.chart-panel canvas {
  width: 100%;
  margin-top: 18px;
  display: block;
  background: #fff;
  border-radius: 12px;
}

.alert {
  border-radius: 14px;
  padding: 14px 16px;
  margin-bottom: 16px;
}

.alert ul {
  margin: 8px 0 0;
  padding-left: 18px;
}

.alert-error {
  background: #fff5f5;
  border: 1px solid #fecaca;
  color: #9f1239;
}

.alert-warning {
  background: #fffbea;
  border: 1px solid #fcd34d;
  color: #7c5b00;
}

.top-space,
.top-space-lg {
  margin-top: 20px;
}

.is-hidden {
  display: none;
}

@media (max-width: 900px) {
  .form-grid,
  .result-grid,
  .results-summary-4 {
    grid-template-columns: 1fr;
  }

  .inline-check {
    margin-top: 0;
  }
}

