

.contact-page .nav .btn-contact.is-active{
  background: var(--gold);
  color: var(--blue);
}

/* HERO (photo + Contact title) */
.contact-hero{
  height:420px;
  width:1920px;
  position:relative;
  background-image:url("../assets/contactpage.jpeg");
  background-size:cover;
  background-position:center;
  background-repeat:no-repeat;
  overflow:hidden;
}
.contact-hero::after{
  content:"";
  position:absolute;
  inset:0;
  background:rgba(0,0,0,0.22);
}
.contact-hero__title{
  position:absolute;
  left:200px;
  top:170px;
  z-index:2;
  color:#fff;
  font-size:44px;
  font-weight:600;
}

/* Intro text under hero */
.contact-intro{
  background:#fff;
  padding:56px 0 46px;
}
.contact-intro .inner{
  max-width:1920px;
  margin:0 auto;
  padding:0 200px;
}
.contact-intro p{
  margin:0 0 18px;
  font-size:26px;
  line-height:1.55;
  color:var(--blue);
}
.contact-intro p:last-child{ margin-bottom:0; }

/* Get in touch section */
.contact-form{
  background:#fff;
  padding:48px 0 0;
}

.contact-form .inner{
  max-width:1920px;
  margin:0 auto;
  padding:0 200px;
}

.contact-form h1{
  margin:0 0 36px;
  color:var(--blue);
  font-size:56px;
  letter-spacing:.2px;
}

/* Form sizing */
.form{
  width:1052px;
  display:grid;
  grid-template-columns: 488px 488px;
  column-gap: 76px;
  row-gap: 26px;
  align-items:start;
}

.field{display:flex;flex-direction:column;gap:14px;}

.field label{
  font-size:22px;
  font-weight:500;
  color:var(--blue);
}

.field input,
.field select,
.field textarea{
  width:100%;
  background:#ededed;
  border:none;
  outline:none;
  border-radius:0;
  padding:18px 22px;
  font-size:22px;
  color:var(--blue);
}

/* Force option/optgroup text indigo */
.field select,
.field select option,
.field select optgroup{
  color: var(--blue);
}

.field input,
.field select{height:67px;}

.field textarea{
  min-height:360px;
  resize:vertical;
}

.field--full{grid-column:1 / -1;}
.field--half{grid-column:1 / span 1; width:552px;}

.select-wrap{position:relative;}
.select-wrap::after{
  content:"";
  position:absolute;
  right:22px;
  top:50%;
  width:10px;
  height:10px;
  border-right:2px solid var(--blue);
  border-bottom:2px solid var(--blue);
  transform: translateY(-60%) rotate(45deg);
  pointer-events:none;
  opacity:.9;
}

.select-wrap select{
  appearance:none;
  padding-right:52px;
}

.submit-row{
  grid-column:1 / -1;
  display:flex;
  align-items:center;
  gap:56px;
  margin-top:16px;
}

.submit-btn{
  background:var(--blue);
  color:var(--gold);
  border:none;
  border-radius:999px;
  padding:18px 54px;
  font-size:24px;
  font-weight:600;
  cursor:pointer;
  text-align: center;
  white-space: nowrap;
}

.submit-btn:submit{
  font-size: 22px;
}

.submit-btn:active{transform:translateY(1px)}

.privacy{
  font-size:22px;
  color:var(--blueLight);
}
.privacy a{color:var(--blueLight);text-decoration:none;}
.privacy a:hover{color:var(--blue);text-decoration:underline;}

.form-status{
  grid-column:1 / -1;
  min-height:24px;
  margin-top:4px;
  font-size:18px;
  color:var(--blue);
}

/* Divider full width */
.divider{
  height:1px;
  background:#e6e6e6;
  margin:64px 0 44px;
  width:calc(100% + 400px);
  margin-left:-200px;
}

.contact-details{
  display:grid;
  grid-template-columns: 1fr 1fr 1fr;
  gap:120px;
  padding-bottom:32px;
}

.contact-details h2{
  margin:0 0 12px;
  color:var(--blue);
  font-size:34px;
  font-weight:600;
}

.contact-details p{
  margin:0;
  color:var(--blueLight);
  font-size:24px;
  line-height:1.45;
}

.detail-lines{
  margin-top:26px;
  display:flex;
  flex-direction:column;
  gap:18px;
}
.detail-lines .line{
  display:flex;
  align-items:center;
  gap:18px;
  color:var(--blue);
  font-size:24px;
}
.detail-lines .line img{
  width:28px;
  height:28px;
  display:block;
  opacity:.95;
}

.social-icons{
  display:flex;
  gap:18px;
  margin-top:8px;
  align-items:center;
}
.social-icons a{
  width:auto;
  height:auto;
  border:none;
  border-radius:0;
  background:transparent;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  opacity:.55;
}
.social-icons a:hover{opacity:.8;}
.social-icons img{display:block;}

/* MAP: full-width gold section + padding inside */
.map-widget{
  background:var(--gold);
  width:1920px;
  max-width:none;
  margin:0;
  display:block;
}
.map-widget .map-inner{
  position:relative;
  height:520px;
  padding:64px 200px;
  box-sizing:border-box;
}
.map-widget .map-label{
  position:absolute;
  top:64px;
  left:0;
  right:0;
  text-align:center;
  font-size:32px;
  font-weight:600;
  color:var(--blue);
  z-index:2;
  pointer-events:none;
}
.map-widget iframe{
  width:100%;
  height:100%;
  border:0;
  display:block;
}


.contact-page .footer{margin-top:0;}

/* TERMS AND CONDITIONS CHECKBOX */
.terms-row {
  grid-column: 1 / -1; 
  display: flex;
  align-items: center; 
  gap: 12px;
  margin-top: 8px;
}

.terms-row input[type="checkbox"] {
  width: 20px; 
  height: 20px;
  cursor: pointer;
}

.terms-row label {
  font-family: 'IBM Plex Sans', sans-serif;
  font-size: 20px;
  color: #808080; 
  font-weight: 400; 
  cursor: pointer;
}