@import url("/site-shell.css");

.estimate-breakdown h2 { font-size: 22px; margin: 0 0 18px; }
.estimate-breakdown dl { margin: 0; }
.estimate-breakdown dl > div, .estimate-breakdown li { display: flex; justify-content: space-between; gap: 16px; padding: 10px 0; border-bottom: 1px solid var(--line); }
.estimate-breakdown dd { margin: 0; font-weight: 700; text-align: right; }
.estimate-breakdown ul { list-style: none; padding: 0; margin: 12px 0; }
.estimate-breakdown li span:first-child { min-width: 0; overflow-wrap: anywhere; }
.estimate-breakdown p { font-size: 14px; line-height: 1.7; margin-top: 14px; }
#copyConsultation { margin-top: 12px; padding: 10px 16px; cursor: pointer; }
#emailFallback[hidden] { display: none; }

body{
  padding-bottom:138px;
}
.estimate-shell{
  width:min(980px,calc(100% - 36px));
  margin:0 auto;
  padding:clamp(46px,8vh,86px) 0 70px;
}
.estimate-head{
  margin-bottom:28px;
  padding-bottom:26px;
  border-bottom:1px solid var(--line);
}
.estimate-head a,.thanks-card a{
  display:inline-flex;
  margin-bottom:18px;
  color:var(--accent-ink);
  font-weight:900;
}
.estimate-head p,.step-label,.thanks-card p{
  margin:0 0 10px;
  color:var(--accent-ink);
  font-family:"SF Mono","Courier New",ui-monospace,monospace;
  font-size:12px;
  font-weight:900;
  letter-spacing:.18em;
  text-transform:uppercase;
}
h1{
  max-width:880px;
  margin:0;
  font-size:clamp(40px,8vw,92px);
  line-height:.98;
  letter-spacing:-.04em;
}
h1 span{display:block;}
.estimate-head span,.thanks-card span{
  display:block;
  max-width:720px;
  margin-top:18px;
  color:var(--dim);
}
.estimate-form{display:grid;gap:18px;}
.panel,.thanks-card{
  border:1px solid var(--line);
  background:var(--card);
}
.panel{padding:clamp(20px,4vw,34px);overflow:hidden;}
.choice-grid,.plan-grid{
  display:grid;
  gap:12px;
}
.choice-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
.plan-grid{grid-template-columns:repeat(3,minmax(0,1fr));}
.choice,.plan,.option-row{
  position:relative;
  display:grid;
  gap:4px;
  border:1px solid var(--line);
  background:transparent;
  cursor:none;
}
.choice,.plan{padding:16px;}
.choice input,.plan input,.option-row input{
  position:absolute;
  width:1px;
  height:1px;
  margin:0;
  opacity:0;
  pointer-events:none;
}
.choice:has(input:checked),.plan:has(input:checked),.option-row:has(input:checked){
  border-color:var(--accent);
  background:var(--accent);
  color:#111;
}
.choice strong,.plan strong,.option-row strong{
  font-size:17px;
  overflow-wrap:anywhere;
}
.plan span,.option-row span,.option-row small,.fee-link{
  color:var(--dim);
  font-size:14px;
  overflow-wrap:anywhere;
}
.option-row small{
  grid-column:1 / -1;
  line-height:1.65;
}
.choice:has(input:checked) span,
.plan:has(input:checked) span,
.option-row:has(input:checked) span,
.option-row:has(input:checked) small{
  color:#111;
}
.fee-link{
  margin-top:12px;
  padding:12px 14px;
  border-left:4px solid var(--accent);
  background:color-mix(in srgb,var(--accent) 12%,transparent);
}
.option-list{display:grid;gap:10px;}
.option-row{
  grid-template-columns:minmax(0,1fr) minmax(120px,auto);
  align-items:center;
  padding:14px 16px;
}
.field{
  display:grid;
  gap:7px;
  margin-top:14px;
  color:var(--dim);
  font-weight:800;
}
.field input,.field textarea{
  width:100%;
  border:1px solid var(--line);
  background:var(--base);
  color:var(--sub);
  padding:13px 14px;
}
.contact-panel{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:0 14px;
}
.contact-panel .step-label,.contact-panel .field:last-child{grid-column:1 / -1;}
.submit-button{
  min-height:58px;
  border:1px solid var(--sub);
  background:var(--sub);
  color:var(--base);
  font-weight:900;
  cursor:none;
}
.submit-button:hover{
  background:var(--accent);
  color:#111;
}
.form-message{
  margin:0;
  color:var(--accent-ink);
  font-weight:900;
}
.form-message.error{color:#b42318;}
.total-bar{
  position:fixed;
  z-index:20;
  inset:auto 0 0;
  display:grid;
  grid-template-columns:1fr 1fr minmax(220px,.9fr);
  gap:14px;
  align-items:center;
  padding:14px max(18px,calc((100vw - 980px) / 2));
  border-top:1px solid var(--line);
  background:color-mix(in srgb,var(--base) 92%,transparent);
  backdrop-filter:blur(16px);
}
.total-bar div{display:grid;}
.total-bar span,.total-bar small{
  color:var(--dim);
  font-family:"SF Mono","Courier New",ui-monospace,monospace;
  font-size:12px;
  font-weight:800;
  overflow-wrap:anywhere;
}
.total-bar strong{
  color:var(--accent-ink);
  font-size:clamp(24px,5vw,38px);
  line-height:1.05;
}
.hp{display:none;}
.thanks-card{
  width:min(720px,calc(100% - 32px));
  margin:80px auto;
  padding:clamp(28px,6vw,54px);
}
.thanks-card a{
  min-height:44px;
  margin-top:26px;
  padding:10px 14px;
  border:1px solid currentColor;
}
.thanks-card a:hover{
  background:var(--sub);
  color:var(--base);
}
@media (max-width:760px){
  .choice-grid,.plan-grid,.contact-panel,.total-bar{grid-template-columns:1fr;}
  .total-bar{gap:8px;padding-inline:16px;}
  body{padding-bottom:214px;}
  h1{font-size:clamp(34px,12vw,56px);line-height:1.04;}
}
