/* Traffic page only. Classes are applied by traffic-calculator-polish.js
 * after verifying the existing 3-field calculator. Preserve calculator logic. */
.mtcb-calculator-refined {
  --mtcb-p-ink:#161616;
  --mtcb-p-yellow:#ffdd32;
  --mtcb-p-cream:#fff6d5;
  --mtcb-p-line:#d4d7db;
  font-family:"Noto Sans JP","Hiragino Kaku Gothic ProN","Yu Gothic",Meiryo,sans-serif !important;
  letter-spacing:normal;
}
.mtcb-calculator-refined .mtcb-calculator-title,
.mtcb-calculator-refined .mtcb-calculator-title * {
  color:var(--mtcb-p-ink) !important;
  -webkit-text-fill-color:currentColor !important;
  -webkit-text-stroke:0 !important;
  background-image:none !important;
  text-decoration:none !important;
  text-shadow:none !important;
  box-shadow:none !important;
}
.mtcb-calculator-refined .mtcb-calculator-title {
  font-family:inherit !important;
  background:transparent !important;
  border:0 !important;
  margin:0 0 12px !important;
  padding:0 !important;
  line-height:1.35 !important;
  letter-spacing:-.035em !important;
  font-size:clamp(27px,3.6vw,43px) !important;
  font-weight:900 !important;
  overflow-wrap:break-word;
  word-break:normal;
}
/* Remove legacy dot/splatter pseudo elements ONLY from calculator heading. */
.mtcb-calculator-refined .mtcb-calculator-title::before,
.mtcb-calculator-refined .mtcb-calculator-title::after,
.mtcb-calculator-refined .mtcb-calculator-title *::before,
.mtcb-calculator-refined .mtcb-calculator-title *::after { content:none !important; display:none !important; }
.mtcb-calculator-refined .mtcb-calculator-title .mtcb-calculator-accent {
  display:inline !important;
  color:#171717 !important;
  background:none !important;
  background-image:linear-gradient(to top,var(--mtcb-p-yellow) 0 22%,transparent 22% 100%) !important;
  -webkit-box-decoration-break:clone;
  box-decoration-break:clone;
  padding:0 .04em !important;
  white-space:normal;
}
.mtcb-calculator-refined .mtcb-calculator-subtitle {
  font-family:inherit !important;
  font-size:clamp(19px,2.5vw,27px) !important;
  line-height:1.4 !important;
  font-weight:800 !important;
  color:#161616 !important;
  -webkit-text-fill-color:#161616 !important;
  text-shadow:none !important;
  letter-spacing:0 !important;
}
.mtcb-calculator-refined .mtcb-calculator-prompt,
.mtcb-calculator-refined .mtcb-calculator-field-label {
  font-family:inherit !important;
  font-size:clamp(15px,1.6vw,19px) !important;
  line-height:1.55 !important;
  font-weight:800 !important;
  color:#141414 !important;
  -webkit-text-fill-color:#141414 !important;
  text-shadow:none !important;
}
.mtcb-calculator-refined .mtcb-calculator-field {
  display:block;
  max-width:100% !important;
  width:100% !important;
  min-height:52px !important;
  padding:10px 13px !important;
  border:1.5px solid #b4b9c1 !important;
  border-radius:10px !important;
  background:#fff !important;
  background-image:none !important;
  box-shadow:none !important;
  color:#171717 !important;
  -webkit-text-fill-color:#171717 !important;
  font:600 17px/1.5 "Noto Sans JP","Hiragino Kaku Gothic ProN",Meiryo,sans-serif !important;
  box-sizing:border-box !important;
}
.mtcb-calculator-refined .mtcb-calculator-field:focus-visible {
  outline:3px solid #bc8900 !important;
  outline-offset:2px !important;
  border-color:#a17900 !important;
}
.mtcb-calculator-refined .mtcb-calculator-submit {
  font-family:inherit !important;
  font-size:clamp(16px,1.8vw,20px) !important;
  line-height:1.35 !important;
  font-weight:900 !important;
  letter-spacing:.025em !important;
  color:#151515 !important;
  -webkit-text-fill-color:#151515 !important;
  background:#ffdb32 !important;
  background-image:none !important;
  border:1px solid #e7b522 !important;
  border-radius:12px !important;
  box-shadow:0 4px 0 #cd9e0e !important;
  text-shadow:none !important;
  min-height:56px !important;
  padding:12px 20px !important;
  text-align:center;
  max-width:100% !important;
  white-space:normal !important;
  cursor:pointer;
}
.mtcb-calculator-refined .mtcb-calculator-submit:hover { background:#ffe574 !important; }
.mtcb-calculator-refined .mtcb-calculator-submit:focus-visible {
  outline:3px solid #0a4697 !important;
  outline-offset:3px !important;
}
.mtcb-calculator-refined .mtcb-calculator-result-label {
  font-family:inherit !important;
  color:#161616 !important;
  -webkit-text-fill-color:#161616 !important;
  font-size:clamp(17px,2vw,23px) !important;
  font-weight:900 !important;
  line-height:1.45 !important;
  text-shadow:none !important;
}
.mtcb-calculator-refined .mtcb-calculator-notice {
  color:#454545 !important;
  -webkit-text-fill-color:#454545 !important;
  line-height:1.7 !important;
  font-size:clamp(12px,1.1vw,14px) !important;
}
/* Larger, easier-to-read estimate, without touching any value or formula. */
.mtcb-calculator-refined .mtcb-calculator-output {
  display:inline-block;
  font-family:inherit !important;
  font-variant-numeric:tabular-nums;
  color:#151515 !important;
  -webkit-text-fill-color:#151515 !important;
  font-size:clamp(25px,3.3vw,36px) !important;
  font-weight:900 !important;
  letter-spacing:0 !important;
  line-height:1.35 !important;
  overflow-wrap:anywhere;
  vertical-align:middle;
}
/* The existing calculator calculation, result values and toggle remain untouched. */
/* Reversible family-support panel near the visible desktop/mobile calculator. */
.mtcb-family-message,
.mtcb-family-message * { box-sizing:border-box; }
.mtcb-family-message[hidden] { display:none !important; }
.mtcb-family-message {
  display:block;
  width:min(100%,1160px);
  margin:34px auto 44px;
  padding:4px;
  border-radius:22px;
  background:linear-gradient(125deg,#f3c537,#ffec8f 45%,#f2c630);
  color:#171717;
  font-family:"Noto Sans JP","Hiragino Kaku Gothic ProN","Yu Gothic",Meiryo,sans-serif;
  box-shadow:0 12px 38px rgba(0,0,0,.09);
}
.mtcb-family-message__inner {
  display:grid;
  grid-template-columns:minmax(0,1fr) 300px;
  gap:30px;
  align-items:center;
  padding:32px clamp(20px,4vw,48px);
  background:#fffdf6;
  border-radius:18px;
}
.mtcb-family-message__copy { min-width:0; }
.mtcb-family-message__eyebrow {
  font-size:14px !important;
  font-weight:800 !important;
  color:#584410 !important;
  line-height:1.5 !important;
  margin:0 0 14px !important;
  letter-spacing:.035em !important;
}
.mtcb-family-message h2,
.mtcb-family-message h2 * {
  color:#161616 !important;
  -webkit-text-fill-color:#161616 !important;
  text-shadow:none !important;
  background:none !important;
  box-shadow:none !important;
}
.mtcb-family-message h2 {
  padding:0 0 14px !important;
  margin:0 0 14px !important;
  font-size:clamp(23px,3vw,34px) !important;
  line-height:1.42 !important;
  letter-spacing:-.03em !important;
  font-weight:900 !important;
  border:0 !important;
  border-bottom:4px solid #ffdb37 !important;
  border-radius:0 !important;
}
.mtcb-family-message h2::before,
.mtcb-family-message h2::after { content:none !important; display:none !important; }
.mtcb-family-message h2 span { font-size:.74em !important; }
.mtcb-family-message p:not(.mtcb-family-message__eyebrow) {
  margin:0 0 12px !important;
  color:#343434 !important;
  line-height:1.85 !important;
  font-size:15px !important;
  font-weight:500 !important;
}
.mtcb-family-message__steps { display:flex; flex-wrap:wrap; gap:7px; margin:16px 0 0; }
.mtcb-family-message__steps span {
  display:inline-flex;
  align-items:center;
  gap:7px;
  padding:8px 10px;
  color:#252525;
  background:#fff4bf;
  border:1px solid #f3df7b;
  border-radius:999px;
  font-size:12px;
  line-height:1.5;
  font-weight:700;
}
.mtcb-family-message__steps span b { color:#674e0f; font-size:11px; }
.mtcb-family-message__contact {
  display:grid;
  gap:11px;
  padding:24px 18px;
  border-radius:16px;
  background:#171717;
  align-self:center;
  color:white;
  text-align:center;
}
.mtcb-family-message__contact strong { color:#fff !important; font-size:17px; line-height:1.45; }
.mtcb-family-message__contact a,
.mtcb-family-message__contact a:visited {
  display:flex; flex-direction:column; align-items:center; justify-content:center;
  padding:13px 8px;
  border-radius:11px;
  min-height:52px;
  font-size:15px !important;
  font-weight:900 !important;
  line-height:1.35 !important;
  text-decoration:none !important;
}
.mtcb-family-message__line,
.mtcb-family-message__line:visited { background:#06b74d !important; color:#fff !important; }
.mtcb-family-message__phone,
.mtcb-family-message__phone:visited { background:#ffe15d !important; color:#161616 !important; }
.mtcb-family-message__phone span { font-size:17px !important; }
.mtcb-family-message__contact a:focus-visible { outline:3px solid #fff !important; outline-offset:3px !important; }
.mtcb-family-message__contact small { font-size:11px; color:#f0f0f0; line-height:1.65; }
@media(max-width:820px) {
  .mtcb-family-message__inner { grid-template-columns:1fr; gap:22px; padding:26px 20px; }
  .mtcb-family-message__contact { width:100%; max-width:none; }
}
@media(max-width:600px) {
  .mtcb-calculator-refined .mtcb-calculator-title { font-size:clamp(26px,7vw,34px) !important; line-height:1.37 !important; }
  .mtcb-calculator-refined .mtcb-calculator-subtitle { font-size:20px !important; }
  .mtcb-calculator-refined .mtcb-calculator-field { font-size:16px !important; }
  .mtcb-family-message { width:calc(100% - 20px); margin:24px auto 30px; border-radius:18px; }
  .mtcb-family-message__inner { padding:22px 16px; border-radius:14px; }
  .mtcb-family-message h2 { font-size:25px !important; }
  .mtcb-family-message__steps span { width:100%; justify-content:flex-start; border-radius:9px; }
}
@media(prefers-reduced-motion:reduce) {
  .mtcb-family-message *, .mtcb-calculator-refined * { animation:none !important; scroll-behavior:auto !important; }
}
