.contact-hero--compact .contact-hero-inner{
  min-height:260px;
  padding-block:48px 54px;
}

.contact-flow-main{
  min-height:560px;
  padding:46px 0 76px;
  background:linear-gradient(180deg,#fdfcfa 0%,#f5f4f1 100%);
}

.contact-flow-inner{max-width:960px}

.flow-progress{
  width:min(560px,100%);
  margin:0 auto 32px;
  padding:0;
  display:grid;
  grid-template-columns:repeat(3,1fr);
  list-style:none;
}

.flow-progress li{
  position:relative;
  display:grid;
  justify-items:center;
  gap:7px;
  color:#8a9098;
  font-size:12px;
  font-weight:800;
}

.flow-progress li:not(:last-child)::after{
  content:"";
  position:absolute;
  top:17px;
  left:calc(50% + 22px);
  width:calc(100% - 44px);
  height:2px;
  background:#d9dde2;
}

.flow-progress span{
  position:relative;
  z-index:1;
  width:36px;
  height:36px;
  display:grid;
  place-items:center;
  color:#777e88;
  background:#fff;
  border:2px solid #d9dde2;
  border-radius:50%;
  font-size:13px;
}

.flow-progress .is-complete,
.flow-progress .is-current{color:#8a6c35}

.flow-progress .is-complete span{
  color:#fff;
  background:#b28a45;
  border-color:#b28a45;
}

.flow-progress .is-complete:not(:last-child)::after{background:#b28a45}

.flow-progress .is-current span{
  color:#9a7434;
  border-color:#b28a45;
  box-shadow:0 0 0 4px rgba(178,138,69,.13);
}

.flow-card{
  padding:42px 56px 38px;
  background:#fff;
  border:1px solid #edf0f3;
  border-radius:12px;
  box-shadow:0 14px 40px rgba(32,39,51,.1);
}

.flow-card-heading{text-align:center}

.flow-card-heading p,
.thanks-kicker{
  margin:0 0 4px;
  color:#b28a45;
  font-family:Georgia,"Times New Roman",serif;
  font-size:14px;
  font-weight:700;
  letter-spacing:.14em;
}

.flow-card-heading h2{
  margin:0;
  color:#14243b;
  font-size:28px;
  line-height:1.5;
}

.flow-card-heading span{
  width:54px;
  height:2px;
  display:block;
  margin:13px auto 0;
  background:#c9a961;
}

.confirm-lead{
  margin:22px 0 26px;
  color:#4d5561;
  text-align:center;
  font-size:14px;
}

.confirm-list{
  margin:0;
  border-top:1px solid #dfe3e8;
}

.confirm-list > div{
  display:grid;
  grid-template-columns:190px minmax(0,1fr);
  border-bottom:1px solid #dfe3e8;
}

.confirm-list dt,
.confirm-list dd{
  margin:0;
  padding:19px 22px;
  font-size:14px;
  line-height:1.75;
}

.confirm-list dt{
  color:#253246;
  background:#f6f2ea;
  font-weight:800;
}

.confirm-list dd{
  min-height:62px;
  color:#303846;
  overflow-wrap:anywhere;
}

.confirm-message{white-space:pre-wrap}

.confirm-actions{
  width:min(650px,100%);
  margin:32px auto 0;
  display:grid;
  grid-template-columns:1fr 1.4fr;
  gap:16px;
}

.flow-button{
  min-height:60px;
  padding:14px 24px;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:14px;
  border-radius:6px;
  font:inherit;
  font-size:16px;
  font-weight:900;
  cursor:pointer;
  transition:filter .2s,transform .2s,box-shadow .2s;
}

.flow-button:hover{
  filter:brightness(1.04);
  transform:translateY(-1px);
}

.flow-button:focus-visible{
  outline:3px solid rgba(178,138,69,.4);
  outline-offset:3px;
}

.flow-button:disabled{
  cursor:wait;
  filter:grayscale(.3);
  opacity:.72;
  transform:none;
}

.flow-button--back{
  color:#334055;
  background:#fff;
  border:1px solid #aeb5bf;
}

.flow-button--send{
  color:#fff;
  background:linear-gradient(180deg,#ff7b23,#ff510a);
  border:1px solid #ff510a;
  box-shadow:0 10px 22px rgba(255,96,23,.28);
}

.confirm-note{
  margin:17px 0 0;
  color:#5f6671;
  text-align:center;
  font-size:12px;
}

.submission-status{
  margin:16px auto 0;
  padding:12px 16px;
  color:#8b2a20;
  background:#fff2ef;
  border:1px solid #efb5ac;
  border-radius:5px;
  text-align:center;
  font-size:13px;
  font-weight:700;
}

.flow-phone{
  margin-top:26px;
  padding:22px 30px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:24px;
  color:#fff;
  background:linear-gradient(135deg,#18243a,#0d1b2e);
  border-radius:9px;
  box-shadow:0 10px 28px rgba(20,32,51,.12);
}

.flow-phone h2{
  margin:0 0 2px;
  color:#d2b77b;
  font-size:16px;
}

.flow-phone p{
  margin:0;
  color:rgba(255,255,255,.82);
  font-size:12px;
}

.flow-phone a{
  flex:0 0 auto;
  color:#fff;
  font-family:Georgia,"Times New Roman",serif;
  font-size:27px;
  font-weight:700;
  letter-spacing:.02em;
}

.flow-phone a span{
  display:block;
  color:rgba(255,255,255,.76);
  font-family:-apple-system,BlinkMacSystemFont,"Hiragino Kaku Gothic ProN","Yu Gothic",YuGothic,Meiryo,sans-serif;
  text-align:right;
  font-size:11px;
  font-weight:700;
}

.thanks-card{
  padding-block:54px 50px;
  text-align:center;
}

.thanks-icon{
  width:76px;
  height:76px;
  margin:0 auto 20px;
  display:grid;
  place-items:center;
  color:#fff;
  background:#b28a45;
  border:7px solid #f5ead8;
  border-radius:50%;
  font-size:34px;
  font-weight:900;
}

.thanks-card h2{
  margin:4px 0 20px;
  color:#14243b;
  font-size:30px;
  line-height:1.5;
}

.thanks-lead{
  margin:0 0 14px;
  color:#303846;
  font-size:17px;
  font-weight:800;
}

.thanks-copy{
  margin:0;
  color:#59616d;
  font-size:14px;
  line-height:1.95;
}

.thanks-home{
  width:min(390px,100%);
  margin:32px auto 0;
}

@media (max-width:700px){
  .contact-flow-main{padding:36px 0 60px}
  .flow-card{padding:34px 24px 30px}
  .flow-card-heading h2{font-size:24px}
  .confirm-list > div{grid-template-columns:1fr}
  .confirm-list dt{padding:12px 16px}
  .confirm-list dd{min-height:auto;padding:15px 16px}
  .confirm-actions{grid-template-columns:1fr}
  .flow-button--back{order:2}
  .flow-button--send{order:1}
  .flow-phone{align-items:flex-start;flex-direction:column}
  .flow-phone a{font-size:25px}
  .flow-phone a span{text-align:left}
  .thanks-card{padding-block:42px 34px}
  .thanks-card h2{font-size:25px}
  .thanks-lead{font-size:15px}
  .desktop-only{display:none}
}

@media (max-width:480px){
  .contact-hero--compact .contact-hero-inner{min-height:230px;padding-block:42px 48px}
  .flow-progress li{font-size:11px}
  .flow-card{padding-inline:17px}
  .flow-phone{padding:20px}
  .thanks-icon{width:66px;height:66px;font-size:29px}
}
