.cards{grid-template-columns:repeat(2,minmax(0,1fr));max-width:980px}
.card:first-child .visual{height:320px}
.intro-copy{max-width:740px;margin:28px auto 0}
.intro-copy p{margin:0 0 18px;font-size:17px}
.card-copy{margin:-5px 0 24px;color:#656a63;font-size:14px;line-height:1.65}
.offer-card{display:flex;flex-direction:column;min-height:480px}
.offer-card.featured{background:var(--green);color:#fff}
.offer-card.featured .service-number,.offer-card.featured .offer-price{color:#f1ddc7}
.offer-card p{flex-grow:1}
.offer-price{margin:8px 0 25px;color:var(--green-dark);font:500 34px "Playfair Display",serif}
.offer-price small{font:500 14px "DM Sans",sans-serif;text-transform:uppercase;letter-spacing:.08em}
.offer-button{display:inline-block;width:100%;padding:14px 18px;border:1px solid var(--green);background:var(--green);color:#fff;font:600 14px "DM Sans",sans-serif;text-align:center;cursor:pointer}
.featured .offer-button{border-color:#fff;background:#fff;color:var(--green-dark)}
.offer-button.secondary{background:transparent;color:var(--green-dark)}
.contact-section{padding:120px 0;background:var(--sand)}
.contact-layout{display:grid;grid-template-columns:.85fr 1.15fr;gap:90px;align-items:start}
.contact-copy .eyebrow{color:var(--green)}
.contact-copy>p:not(.eyebrow){font-size:17px}
.contact-direct{margin-top:32px}
.contact-direct a{color:var(--green-dark);font-weight:600}
.contact-form{padding:42px;background:#fff}
.form-row{margin-bottom:22px}
.form-row label{display:block;margin-bottom:7px;font-size:14px;font-weight:600}
.form-row label span{color:#747970;font-weight:400}
.form-row input,.form-row select,.form-row textarea{width:100%;border:1px solid #cfc9bd;border-radius:0;background:#fff;padding:13px 14px;color:var(--text);font:400 16px "DM Sans",sans-serif}
.form-row textarea{resize:vertical}
.form-row input:focus,.form-row select:focus,.form-row textarea:focus{outline:2px solid rgba(95,110,86,.2);border-color:var(--green)}
.form-consent{display:flex;gap:10px;align-items:flex-start;margin:5px 0 24px;font-size:13px}
.form-consent input{margin-top:4px}
.form-submit{border:0}
.form-note{margin:14px 0 0;color:#747970;font-size:12px}
.form-trap{position:absolute;left:-9999px}
.booking-note{max-width:760px;margin:35px auto 0;color:#686d66;font-size:14px;text-align:center}

@media(max-width:800px){
  .cards{grid-template-columns:1fr}
  .contact-section{padding:80px 0}
  .contact-layout{grid-template-columns:1fr;gap:42px}
  .contact-form{padding:28px 22px}
  .offer-card{min-height:auto}
}
