/* V11.7 — clean single-column quote form, no layout-changing animation. */
.first-screen-quote .hero-quote-block{min-width:0}
.first-screen-quote .hero-quote-block .quote-panel{
  padding:clamp(24px,2.8vw,38px);
  background:rgba(13,21,30,.95);
  border:1px solid rgba(154,180,207,.24);
  border-radius:4px;
  box-shadow:0 27px 84px rgba(0,0,0,.3);
}
.first-screen-quote .quote-form-v117{
  display:block;
  max-width:435px;
  margin:0 auto;
  min-width:0;
  border:0;
}
.first-screen-quote .quote-form-v117 .quote-form-heading{
  text-align:center;
  border:0;
  margin:0 0 23px;
  padding:0;
}
.first-screen-quote .quote-form-v117 .quote-form-heading h3{
  font-size:clamp(23px,2vw,28px);
  line-height:1.18;
  font-weight:600;
  letter-spacing:-.015em;
  margin:0 0 6px;
}
.first-screen-quote .quote-form-v117 .quote-form-heading p{
  margin:0;
  font-size:13px;
  line-height:1.5;
  color:#aab9c7;
}
.first-screen-quote .quote-form-v117 .quote-form-fields{
  display:grid;
  grid-template-columns:minmax(0,1fr);
  gap:15px;
}
.first-screen-quote .quote-form-v117 .quote-field{min-width:0;margin:0}
.first-screen-quote .quote-form-v117 .quote-field>label{
  display:flex;
  align-items:baseline;
  gap:7px;
  font-size:12px;
  font-weight:600;
  line-height:1.45;
  letter-spacing:.025em;
  color:#dfe7f0;
  margin:0 0 7px;
}
.first-screen-quote .quote-form-v117 .quote-optional{
  color:#8294a6;
  font-weight:400;
  font-size:11px;
  letter-spacing:0;
}
.first-screen-quote .quote-form-v117 .quote-input,
.first-screen-quote .quote-form-v117 input.quote-input,
.first-screen-quote .quote-form-v117 select.quote-input,
.first-screen-quote .quote-form-v117 textarea.quote-input{
  display:block;
  box-sizing:border-box;
  width:100%;
  min-width:0;
  min-height:48px;
  border:1px solid #354656;
  border-radius:3px;
  background:#15222e;
  color:#f7faff;
  font:400 15px/1.45 'DM Sans',system-ui,sans-serif;
  letter-spacing:.005em;
  padding:11px 15px;
  margin:0;
  transition:border-color .22s ease, background-color .22s ease,box-shadow .22s ease;
  box-shadow:none;
}
.first-screen-quote .quote-form-v117 .quote-input::placeholder{color:#99a9b6;opacity:1}
.first-screen-quote .quote-form-v117 select.quote-input{
  appearance:none;-webkit-appearance:none;
  cursor:pointer;
  padding-right:42px;
}
.first-screen-quote .quote-form-v117 select.quote-input:invalid{color:#9aaab9}
.first-screen-quote .quote-form-v117 select.quote-input option{color:#f7faff;background:#15222e}
.first-screen-quote .quote-form-v117 .quote-select-wrap{position:relative}
.first-screen-quote .quote-form-v117 .quote-select-wrap::after{
  content:"";
  position:absolute;
  right:19px;
  top:calc(50% - 4px);
  width:8px;height:8px;
  border-right:1.5px solid #aabacf;
  border-bottom:1.5px solid #aabacf;
  transform:rotate(45deg);
  pointer-events:none;
}
.first-screen-quote .quote-form-v117 textarea.quote-input{
  min-height:74px;
  resize:vertical;
}
.first-screen-quote .quote-form-v117 .quote-input:focus{
  border-color:#83b0ff;
  background:#192936;
  box-shadow:0 0 0 2px rgba(61,125,248,.16);
  outline:0;
}
.first-screen-quote .quote-form-v117 .quote-input:focus-visible{
  outline:2px solid #97beff;
  outline-offset:1px;
}
.first-screen-quote .quote-form-v117 .form-submit{
  margin:19px 0 0;
  min-height:51px;
  width:100%;
  border-radius:3px;
  font-size:13px;
  font-weight:650;
  letter-spacing:.025em;
}
.first-screen-quote .quote-form-v117 .form-caption{
  text-align:center;
  font-size:11.5px;
  line-height:1.5;
  margin:10px 0 0;
  color:#9bacbb;
}
.first-screen-quote .quote-result{max-width:435px;margin:20px auto 0}
/* Only the form's containing surface enters; the interactive controls never shift independently. */
@keyframes ptw-quote-arrive{
  from{transform:translate3d(32px,0,0);opacity:.54}
  to{transform:translate3d(0,0,0);opacity:1}
}
@media(prefers-reduced-motion:no-preference){
  .js .first-screen-quote .quote-entrance-v117 .quote-panel{
    animation:ptw-quote-arrive .82s cubic-bezier(.22,1,.36,1) .08s both;
  }
}
@media(max-width:900px){
  .first-screen-quote .hero-quote-block .quote-panel{max-width:760px}
}
@media(max-width:640px){
  .first-screen-quote .hero-quote-block .quote-panel{padding:23px 18px 24px}
  .first-screen-quote .quote-form-v117 .quote-form-fields{gap:13px}
  .first-screen-quote .quote-form-v117 .quote-form-heading{margin-bottom:20px}
  .first-screen-quote .quote-form-v117 .quote-input,
  .first-screen-quote .quote-form-v117 input.quote-input,
  .first-screen-quote .quote-form-v117 select.quote-input,
  .first-screen-quote .quote-form-v117 textarea.quote-input{font-size:16px;min-height:47px}
  .first-screen-quote .quote-form-v117 textarea.quote-input{min-height:70px}
  @keyframes ptw-quote-arrive{
    from{transform:translate3d(18px,0,0);opacity:.7}
    to{transform:translate3d(0,0,0);opacity:1}
  }
}
@media(prefers-reduced-motion:reduce){
  .first-screen-quote .quote-entrance-v117 .quote-panel{animation:none!important;transform:none!important;opacity:1!important}
  .first-screen-quote .quote-form-v117 .quote-input{transition:none}
}
