/* Contact page — same palette, type and spacing as the rest of the site */

.contactpage .ab-hero .bg{background:url('hero-lodge-2.jpg') center 50%/cover}
.ct-intro{padding-block:clamp(3.5rem,8vh,5.5rem)}
.ct-intro .ab-body{max-width:70ch}

/* contact details, icon row, no boxes */
.ct-details{padding-block:clamp(3rem,7vh,4.5rem)}
.ct-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(1.5rem,4vw,3.5rem);
  max-width:1000px;margin-inline:auto}
.ct-card{display:flex;flex-direction:column;align-items:center;gap:.7rem;text-align:center;
  padding:.5rem;transition:transform .3s ease}
.ct-card:hover{transform:translateY(-3px)}
.ct-ic{width:54px;height:54px;border:1px solid rgba(194,85,29,.4);border-radius:50%;
  display:flex;align-items:center;justify-content:center;color:var(--burnt);
  transition:background .3s ease,border-color .3s ease}
.ct-ic svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.6;
  stroke-linecap:round;stroke-linejoin:round}
.ct-card:hover .ct-ic{background:rgba(194,85,29,.08);border-color:var(--burnt)}
.ct-k{font-family:var(--sans);font-size:.66rem;font-weight:600;letter-spacing:.26em;
  text-transform:uppercase;color:var(--burnt)}
.ct-v{font-family:var(--sans);font-size:.95rem;line-height:1.6;color:#4a4038;max-width:26ch}
.ct-card:hover .ct-v{color:var(--burnt)}

/* form */
.ct-form-sec{padding-block:clamp(3.5rem,9vh,6rem)}
.ct-form{max-width:760px;margin:2.6rem auto 0;text-align:left}
.ct-row{display:grid;grid-template-columns:1fr 1fr;gap:1.1rem}
.field{margin-bottom:1.1rem;min-width:0}
.field label{display:block;font-family:var(--sans);font-size:.68rem;font-weight:600;
  letter-spacing:.2em;text-transform:uppercase;color:#6b5b4b;margin-bottom:.55rem}
.field label .opt{font-weight:400;letter-spacing:.1em;color:#9c8a72;text-transform:none}
.field input,.field select,.field textarea{
  width:100%;font-family:var(--sans);font-size:1rem;color:var(--ink);background:#fff;
  border:1px solid rgba(24,18,12,.18);border-radius:0;padding:.95rem 1.05rem;
  transition:border-color .25s,box-shadow .25s}
.field textarea{resize:vertical;line-height:1.6}
.field input:focus,.field select:focus,.field textarea:focus{
  outline:none;border-color:var(--burnt);box-shadow:0 0 0 3px rgba(194,85,29,.12)}
.field input::placeholder,.field textarea::placeholder{color:#a8998a}
.ct-form .btn{margin-top:1rem}

@media(max-width:760px){
  .ct-grid{grid-template-columns:1fr 1fr}
  .ct-row{grid-template-columns:1fr;gap:0}
}
@media(max-width:460px){
  .ct-grid{grid-template-columns:1fr}
}

/* honeypot, thank you panel and the small print under the button */
.ct-hp{position:absolute;left:-9999px;width:1px;height:1px;opacity:0}
.ct-small{font-family:var(--sans);font-size:.8rem;color:#8a7862;margin:1.1rem 0 0}
.ct-sent{max-width:600px;margin:2.6rem auto 0;text-align:center}
.ct-sent-ic{display:inline-flex;width:64px;height:64px;align-items:center;justify-content:center;
  border:1px solid rgba(194,85,29,.4);border-radius:50%;color:var(--burnt);margin-bottom:1.3rem}
.ct-sent-ic svg{width:30px;height:30px;fill:none;stroke:currentColor;stroke-width:1.6;
  stroke-linecap:round;stroke-linejoin:round}
.ct-sent h3{font-family:var(--serif);font-weight:300;font-size:clamp(1.5rem,2.6vw,2.1rem);
  color:#1b1610;margin:0}
.ct-sent p{font-family:var(--sans);color:#4a4038;margin:.9rem 0 0;line-height:1.7}

@media(max-width:760px){
  .ct-grid{grid-template-columns:1fr;gap:2.2rem}
}