:root{
  --bg:#fbf7f2;
  --text:#171311;
  --brown:#5b2d10;
  --line:#ddd2c8;
  --field:#cfc4ba;
  --muted:#6b6661;
  --danger:#b0150f;
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  background:#f7f3ed;
  color:var(--text);
  font-family:Arial,Helvetica,sans-serif;
}
button,input,select,textarea{font:inherit}

.contact{
  padding:18px 10px;
}
.contact__inner{
  max-width:1000px;
  margin:0 auto;
  padding:34px 40px 28px;
  background:linear-gradient(180deg,#fffdfb 0%,#fffaf5 100%);
}
h1{
  margin:0 0 26px;
  color:#4d2312;
  font-family:Arial,Helvetica,sans-serif;
  font-weight:700;
  font-size:clamp(2.05rem,3.25vw,3.45rem);
  line-height:1.02;
  letter-spacing:-.035em;
  white-space:nowrap;
}
.contact__intro{
  margin:0 0 26px;
  font-size:1.08rem;
  line-height:1.85;
}
.required-note{
  margin:0 0 28px;
  font-size:.97rem;
}
.required-note span,.field__label b{color:var(--danger)}
.grid{display:grid}
.grid--3{grid-template-columns:repeat(3,minmax(0,1fr));gap:44px}
.grid--4{grid-template-columns:repeat(4,minmax(0,1fr));gap:32px}
.field{display:block}
.field__label,.group legend{
  display:block;
  margin:0 0 16px;
  color:#28160f;
  font-size:1.05rem;
  font-weight:700;
  line-height:1.45;
}
.field__label em{
  font-weight:400;
  font-style:normal;
  color:#2c2a28;
}
input[type="text"],input[type="tel"],input[type="email"],select,textarea{
  width:100%;
  border:1px solid var(--field);
  border-radius:4px;
  background:#fffdfb;
  color:var(--text);
  outline:none;
}
input[type="text"],input[type="tel"],input[type="email"],select{
  height:61px;
  padding:0 16px;
}
textarea{
  min-height:86px;
  resize:vertical;
  padding:15px 16px;
}
input::placeholder,textarea::placeholder{color:#77716c}
.section-block{
  margin-top:42px;
  padding-top:38px;
  border-top:1px solid var(--line);
}
.section-title-line{
  display:flex;
  align-items:baseline;
  gap:10px;
  margin-bottom:28px;
}
.section-title-line h2{
  margin:0;
  color:#3d1f12;
  font-size:1.12rem;
}
.section-title-line span{font-size:.97rem}
.choice-row{align-items:start}
.choice{
  display:flex;
  align-items:flex-start;
  gap:14px;
  cursor:pointer;
  line-height:1.45;
  font-size:.98rem;
}
.choice input{
  appearance:none;
  width:22px;
  height:22px;
  flex:0 0 22px;
  margin:0;
  border:1px solid #c9bbb0;
  background:#fff;
  position:relative;
}
.choice input[type="checkbox"]{border-radius:3px}
.choice input[type="radio"]{border-radius:50%}
.choice input:checked::after{
  content:"";
  position:absolute;
  inset:4px;
  background:var(--brown);
  border-radius:1px;
}
.choice input[type="radio"]:checked::after{border-radius:50%}

.info-grid{
  grid-template-columns:1.05fr 1.65fr .95fr;
  gap:46px;
}
.group{border:0;margin:0;padding:0;min-width:0}
.group .choice{margin-bottom:17px}
.house-types legend small{
  display:block;
  margin-top:4px;
  font-size:.86rem;
  font-weight:400;
  color:#2d2926;
}
.house-type-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:18px 25px;
}
.select-field select{margin-top:4px}
.lower-grid{align-items:start}
.lower-grid .field__label{min-height:58px}
.lower-grid .group legend{min-height:58px}
.message-block{padding-top:26px}
.privacy{
  display:flex;
  gap:18px;
  align-items:flex-start;
  margin:18px 0 22px;
  line-height:1.45;
  font-size:.92rem;
}
.privacy input{
  appearance:none;
  width:22px;height:22px;flex:0 0 22px;
  margin:0;
  border:1px solid #c9bbb0;border-radius:3px;background:#fff;
}
.privacy input:checked{background:var(--brown)}
.privacy a{color:#6b3016}
button{
  width:100%;
  min-height:62px;
  border:0;
  border-radius:5px;
  background:linear-gradient(90deg,#572607,#693015 50%,#572607 100%);
  color:#fff;
  font-size:1.22rem;
  font-weight:700;
  cursor:pointer;
  transition:filter .2s ease;
}
button:hover,button:focus-visible,button:active{filter:brightness(.88)}
.closing{
  margin:15px 0 0;
  text-align:center;
  color:#5b2d10;
  font-family:"Brush Script MT","Segoe Script",cursive;
  font-size:clamp(1.7rem,3vw,2.45rem);
  line-height:1.1;
}
@media(max-width:900px){
  .contact__inner{padding:30px 26px 24px}
  .grid--3{grid-template-columns:1fr;gap:22px}
  .grid--4{grid-template-columns:1fr 1fr}
  .info-grid{grid-template-columns:1fr}
  .lower-grid{grid-template-columns:1fr 1fr}
  .desktop-only{display:none}
  .lower-grid .field__label,.lower-grid .group legend{min-height:0}
}
@media(max-width:600px){
  .contact{padding:0}
  .contact__inner{padding:24px 18px 22px}
  h1{
    font-size:clamp(1.6rem,6.7vw,2.65rem);
    white-space:normal;
  }
  .contact__intro{font-size:1rem;line-height:1.6}
  .grid--4,.lower-grid{grid-template-columns:1fr}
  .section-title-line{display:block}
  .section-title-line span{display:block;margin-top:6px}
  .house-type-grid{grid-template-columns:1fr}
  .section-block{margin-top:34px;padding-top:30px}
  button{font-size:1.05rem}
}

@media(max-width:390px){
  h1{font-size:clamp(1.45rem,6.8vw,1.72rem)}
}
