.mac-tool {
  display: grid;
  gap: 24px;
}

.tool-card {
  background: #fff;
  border: 1px solid #e7e9ee;
  border-radius: 18px;
  padding: 24px;
  box-shadow: 0 10px 28px rgba(17, 24, 39, 0.05);
}

.tool-form,
.tool-stack {
  display: grid;
  gap: 18px;
}

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

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

.form-section-body {
  padding: 0 18px 18px;
}

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

.checkbox-grid {
  display: grid;
  gap: 12px;
}

.checkbox-label {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  font-weight: 500;
}

.form-group label {
  display: block;
  margin-bottom: 8px;
  font-weight: 600;
}

.form-group input,
.form-group select {
  width: 100%;
  border: 1px solid #ccd3df;
  border-radius: 12px;
  padding: 12px 14px;
  font: inherit;
  background: #fff;
}

.helper-text {
  margin: 8px 0 0;
  font-size: 0.92rem;
  color: #5b6473;
}

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

.result-hero {
  border-radius: 16px;
  padding: 18px;
  margin-bottom: 18px;
}

.result-yes {
  background: #ecfdf3;
  border: 1px solid #b7ebc8;
}

.result-no {
  background: #fff4f4;
  border: 1px solid #f3c6c6;
}

.result-label,
.result-stat .label {
  display: block;
  color: #5b6473;
  font-size: 0.92rem;
  margin-bottom: 6px;
}

.result-stat {
  border: 1px solid #e7e9ee;
  border-radius: 14px;
  padding: 16px;
  background: #fff;
}

.result-stat strong {
  font-size: 1.2rem;
}

.info-card {
  border: 1px solid #e7e9ee;
  border-radius: 16px;
  padding: 18px;
  background: #fff;
}

.result-list {
  margin: 0;
  padding-left: 18px;
}

.result-list li + li {
  margin-top: 10px;
}

.result-list li.pass::marker {
  color: #11845b;
}

.result-list li.fail::marker {
  color: #b42318;
}

.top-space-md {
  margin-top: 18px;
}

.alert-danger {
  background: #fff4f4;
  border: 1px solid #f3c6c6;
  border-radius: 14px;
  padding: 14px 16px;
}

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

  .tool-card {
    padding: 18px;
  }
}

.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;
  color:#5d6b82;
  font-size:1.08rem;
  line-height:1.7;
  text-align:center;
}

.section-light{margin:0;padding:40px 0;}
.section-light-alt{padding:0 0 100px;}
.section-heading{text-align:center;margin-bottom:0;}
.tool-stack{display:flex;flex-direction:column;gap:28px;}
.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,
.result-panel h3,
.adult-card h3{
  margin:0 0 18px;
  font-family:"Cormorant Garamond",serif;
  color:#1b2940;
}

.tool-card h2{font-size:2.1rem;}
.form-section{border:1px solid #e3e8ef;border-radius:16px;background:#f9fbfd;overflow:hidden;}
.form-section + .form-section{margin-top:16px;}
.form-section-toggle{
  width:100%;display:flex;align-items:center;justify-content:space-between;gap:18px;
  border:0;background:transparent;padding:18px 20px;font:inherit;font-weight:700;color:#1f2e46;cursor:pointer;
}
.form-section-body{padding:0 20px 20px;}
.tool-form .form-grid,
.tool-section-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:52px;border:1px solid #d9e0e8;border-radius:12px;padding:0 14px;font:inherit;color:#1f2e46;background:#fff;width:100%;
}
.form-group input:focus,
.form-group select:focus{
  outline:none;border-color:#c6a15b;box-shadow:0 0 0 3px rgba(198,161,91,.15);
}
.helper-text,.bullet-list,.breakdown-table{color:#5d6b82;}
.helper-text{margin:0;font-size:.95rem;line-height:1.7;}
.top-space-sm{margin-top:12px;}
.tool-actions{margin-top:22px;}
.results-summary{display:grid;gap:16px;}
.results-summary-4{grid-template-columns:repeat(4,1fr);}
.summary-box,.result-panel,.adult-card{border:1px solid #e3e8ef;border-radius:14px;background:#f9fbfd;padding:18px;}
.summary-box-accent{background:rgba(198,161,91,.11);border-color:rgba(198,161,91,.35);}
.summary-box span{display:block;margin-bottom:10px;color:#637089;font-size:.92rem;}
.summary-box strong{display:block;color:#091938;font-size:1.55rem;}
.top-space-lg{margin-top:22px;}
.breakdown-table{width:100%;border-collapse:collapse;font-size:.97rem;}
.breakdown-table th,.breakdown-table td{border-bottom:1px solid #e3e8ef;padding:12px 10px;text-align:left;vertical-align:top;}
.breakdown-table tbody th,.breakdown-table tbody td{color:#1f2e46;}
.compact-table th{width:48%;}
.bullet-list{margin:0;padding-left:18px;line-height:1.8;}
.table-scroll{overflow-x:auto;}
.two-col-40-60{grid-template-columns:minmax(280px, 0.9fr) minmax(420px, 1.1fr);}
.adult-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;}
.checkbox-row{margin-bottom:18px;}
.checkbox-label{display:flex;gap:10px;align-items:flex-start;color:#1f2e46;font-weight:600;}
.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;}

@media (max-width: 1100px){
  .results-summary-4,
  .tool-section-grid,
  .two-col-40-60,
  .adult-grid{grid-template-columns:1fr 1fr;}
  .summary-box:first-child{grid-column:1 / -1;}
}

@media (max-width: 760px){
  .tool-form .form-grid,
  .results-summary-4,
  .tool-section-grid,
  .two-col-40-60,
  .adult-grid{grid-template-columns:1fr;}
  .tool-card{padding:22px;}
}
