:root{
  --contact:#b58a18;
  --contact-dark:#80600d;
  --contact-soft:#fff2c2;
  --contact-pale:#fffaf0;
  --contact-line:#eee0ad;
}

.contact-hero{background:linear-gradient(180deg,#fff2c2 0,#fffaf0 78%,#fff 100%);}
.contact-kicker{color:var(--contact);}

.contact-title-row h1{
  margin:0;
  font-size:clamp(2.2rem,3.8vw,3.5rem);
  line-height:1.2;
}
.contact-title-row p{
  margin:0;
  color:var(--muted);
  font-size:.95rem;
  font-weight:700;
}

.contact-main{
  padding:14px 0 36px;
}
.contact-section{
  margin:0;
}
.section-title{
  display:flex;
  align-items:baseline;
  gap:10px;
  margin-bottom:8px;
}
.section-title .eyebrow{
  margin:0;
  color:var(--contact);
  font-size:.67rem;
  font-weight:900;
  letter-spacing:.14em;
}
.section-title h2{
  margin:0;
  font-size:clamp(1.25rem,2vw,1.6rem);
  line-height:1.3;
}

.contact-card,
.complete-card{
  border:1px solid var(--contact-line);
  border-radius:15px;
  background:#fff;
  box-shadow:0 7px 20px rgba(128,96,13,.07);
}
.contact-card{
  padding:20px 22px;
}
.form-note{
  margin:0 0 18px;
  padding:10px 12px;
  border-radius:10px;
  background:var(--contact-pale);
  color:#6e6243;
  font-size:.84rem;
}
.contact-form{
  display:grid;
  gap:0;
}
.form-row{
  display:grid;
  grid-template-columns:180px minmax(0,1fr);
  gap:16px;
  align-items:start;
  padding:13px 0;
  border-bottom:1px solid #f0e7c9;
}
.form-row>label{
  padding-top:8px;
  font-size:.84rem;
  font-weight:900;
}
.form-row input,
.form-row select,
.form-row textarea{
  width:100%;
  min-width:0;
  border:1px solid #d9ca96;
  border-radius:9px;
  background:#fff;
  color:var(--ink);
  font:inherit;
  font-size:.93rem;
  padding:9px 11px;
  outline:none;
}
.form-row textarea{
  resize:vertical;
  line-height:1.7;
}
.form-row input:focus,
.form-row select:focus,
.form-row textarea:focus{
  border-color:#b58a18;
  box-shadow:0 0 0 3px rgba(181,138,24,.14);
}
.required,
.optional{
  display:inline-block;
  margin-left:5px;
  padding:1px 5px;
  border-radius:5px;
  font-size:.62rem;
  line-height:1.5;
  vertical-align:middle;
}
.required{
  color:#9b2f47;
  background:#f9e8ed;
}
.optional{
  color:#70694f;
  background:#f4f0df;
}
.privacy-note{
  margin:12px 0 0;
  color:#746b50;
  font-size:.78rem;
}
.form-actions{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:10px;
  margin-top:16px;
}
.primary-button,
.secondary-button{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:42px;
  padding:9px 20px;
  border-radius:10px;
  font:inherit;
  font-size:.88rem;
  font-weight:900;
  cursor:pointer;
}
.primary-button{
  border:1px solid var(--contact-dark);
  background:var(--contact-dark);
  color:#fff !important;
  text-decoration:none !important;
}
.primary-button:hover{
  filter:brightness(.95);
}
.secondary-button{
  border:1px solid #d0c49b;
  background:#fff;
  color:#665f49 !important;
  text-decoration:none !important;
}
.confirm-actions form{
  margin:0;
}
.form-errors{
  margin:0 0 14px;
  padding:10px 13px;
  border:1px solid #e9b9c5;
  border-radius:10px;
  background:#fff5f7;
  color:#8b2940;
  font-size:.84rem;
}
.form-errors ul{
  margin:5px 0 0;
  padding-left:1.4em;
}
.hp-field{
  position:absolute !important;
  left:-10000px !important;
  width:1px !important;
  height:1px !important;
  overflow:hidden !important;
}

.confirm-list{
  margin:0;
}
.confirm-list>div{
  display:grid;
  grid-template-columns:180px minmax(0,1fr);
  border-bottom:1px solid #f0e7c9;
}
.confirm-list>div:last-child{
  border-bottom:0;
}
.confirm-list dt,
.confirm-list dd{
  margin:0;
  padding:12px 14px;
}
.confirm-list dt{
  background:var(--contact-pale);
  color:#6b6040;
  font-size:.80rem;
  font-weight:900;
}
.confirm-list dd{
  font-size:.92rem;
  overflow-wrap:anywhere;
}
.confirm-message dd{
  min-height:130px;
}

.complete-card{
  padding:28px 22px;
  text-align:center;
}
.complete-mark{
  width:54px;
  height:54px;
  margin:0 auto 12px;
  display:grid;
  place-items:center;
  border-radius:50%;
  background:var(--contact-soft);
  color:var(--contact-dark);
  font-size:1.7rem;
  font-weight:900;
}
.complete-card h2{
  margin:0 0 6px;
  font-size:1.4rem;
}
.complete-card p{
  margin:5px 0;
}
.receipt-number{
  margin-top:14px !important;
  font-size:.9rem;
}
.complete-note{
  color:#746b50;
  font-size:.79rem;
}
.complete-card .form-actions{
  justify-content:center;
}

@media(max-width:760px){
  
  
  .contact-title-row h1{
    font-size:clamp(2rem,10vw,2.8rem);
  }
  .contact-title-row p{
    margin-top:3px;
    font-size:.87rem;
  }
  .contact-main{
    padding:10px 0 28px;
  }
  .section-title{
    display:block;
    margin-bottom:7px;
  }
  .contact-card{
    padding:14px 15px;
  }
  .form-row,
  .confirm-list>div{
    grid-template-columns:1fr;
    gap:4px;
  }
  .form-row>label{
    padding-top:0;
  }
  .confirm-list dt{
    padding-bottom:4px;
  }
  .confirm-list dd{
    padding-top:5px;
  }
  .form-actions{
    flex-direction:column-reverse;
    align-items:stretch;
  }
  .form-actions>*,
  .form-actions form,
  .form-actions button{
    width:100%;
  }
}

.section-title{
  align-items:center !important;
}

.section-title .eyebrow{
  display:flex !important;
  align-items:center !important;
  align-self:stretch;
  margin:0 !important;
  line-height:1 !important;
}

.section-title h2{
  display:flex;
  align-items:center;
  margin:0 !important;
}

.section-title{
  display:flex !important;
  flex-direction:row !important;
  flex-wrap:nowrap !important;
  align-items:center !important;
  gap:8px !important;
}

.section-title .eyebrow,
.section-title h2{
  flex:0 0 auto !important;
  white-space:nowrap !important;
  margin:0 !important;
}

.article-count,
.count-label,
.list-count,
.article-total{
  display:flex !important;
  flex-direction:row !important;
  flex-wrap:nowrap !important;
  align-items:center !important;
  white-space:nowrap !important;
}

.article-count > *,
.count-label > *,
.list-count > *,
.article-total > *{
  flex:0 0 auto !important;
  white-space:nowrap !important;
}

@media(max-width:760px){
  .section-title{
    display:flex !important;
    flex-direction:row !important;
    flex-wrap:nowrap !important;
    align-items:center !important;
  }

  .section-title .eyebrow,
  .section-title h2{
    white-space:nowrap !important;
  }
}

.contact-form > .form-actions{
  justify-content:center !important;
}

.contact-form > .form-actions .primary-button{
  min-width:240px;
  padding-left:34px !important;
  padding-right:34px !important;
}

@media(max-width:760px){
  .contact-form > .form-actions{
    align-items:center !important;
  }

  .contact-form > .form-actions .primary-button{
    width:min(100%,320px) !important;
    min-width:0;
  }
}

.contact-form > .form-actions,
.confirm-actions,
.complete-card .form-actions{
  justify-content:center !important;
}

.contact-form > .form-actions .primary-button,
.confirm-actions .primary-button,
.confirm-actions .secondary-button,
.complete-card .form-actions .primary-button{
  width:260px !important;
  min-width:260px !important;
  min-height:44px;
  padding:10px 24px !important;
}

.confirm-actions{
  flex-direction:row !important;
  flex-wrap:wrap;
}

.confirm-actions form{
  width:auto !important;
}

@media(max-width:760px){
  .contact-form > .form-actions,
  .confirm-actions,
  .complete-card .form-actions{
    align-items:center !important;
  }

  .confirm-actions{
    flex-direction:column-reverse !important;
  }

  .contact-form > .form-actions .primary-button,
  .confirm-actions .primary-button,
  .confirm-actions .secondary-button,
  .complete-card .form-actions .primary-button{
    width:min(100%,320px) !important;
    min-width:0 !important;
  }

  .confirm-actions form{
    width:min(100%,320px) !important;
  }

  .confirm-actions form .primary-button{
    width:100% !important;
  }
.contact-form input,
  .contact-form select,
  .contact-form textarea{
    font-size:16px !important;
  }
}

/* Responsive grid safety */
.form-row > *,
.confirm-list > div > *{
  min-width:0;
}
.form-row > *,
.confirm-list dd{
  overflow-wrap:anywhere;
}

