/* Contact page design (Oct 22) */
.ct-main{background:#fbfaf6;padding:96px 0 104px}
.ct-grid{display:grid;grid-template-columns:5fr 7fr;gap:56px 88px;align-items:start}
.ct-side .eyebrow{color:#074d39;margin-bottom:16px;letter-spacing:.18em}
.ct-side h2{font-size:clamp(34px,3.4vw,46px);line-height:1.08;letter-spacing:-.025em;margin:0 0 32px;color:#102234}
.ct-side h2 em{color:#074d39}
.ct-list{list-style:none;margin:0;padding:0;border-top:1px solid rgba(16,34,52,.12)}
.ct-list li{padding:18px 0;border-bottom:1px solid rgba(16,34,52,.12)}
.ct-list strong{display:block;font:400 20px/1.3 Georgia,serif;color:#102234;margin-bottom:6px}
.ct-list span{display:block;font-size:16px;line-height:1.6;color:#3a4a48}
.ct-quote{margin:40px 0 0;padding-left:22px;border-left:2px solid #074d39}
.ct-quote blockquote{margin:0;font:italic 21px/1.5 Georgia,serif;color:#074d39}
.ct-quote figcaption{margin-top:12px;font-size:12px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:#536460}
.ct-quote figcaption span{display:block;margin-top:4px;font-weight:500;letter-spacing:.06em;text-transform:none;font-size:13px}
.ct-social{margin-top:40px;display:flex;flex-wrap:wrap;align-items:baseline;gap:8px 22px}
.ct-social p{margin:0;width:100%;font-size:12px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:#536460}
.ct-social .textlink{color:#074d39}
.ct-panel{background:#fff;border:1px solid rgba(16,34,52,.1);border-radius:4px;padding:44px 48px 48px;box-shadow:0 24px 60px rgba(16,34,52,.07)}
.ct-form{max-width:none;margin:0;padding:0}
.ct-status{display:flex;gap:12px;align-items:flex-start;margin:0 0 32px;padding:14px 18px;background:#eef2ea;border-radius:3px;font-size:15px;line-height:1.5;color:#2f3f3c}
.ct-dot{flex:0 0 8px;height:8px;margin-top:7px;border-radius:50%;background:#c9a13b}
.ct-form fieldset{border:0;margin:0;padding:0;min-width:0}
.ct-form .fields{display:grid;grid-template-columns:1fr 1fr;gap:22px 24px;margin-bottom:22px}
.ct-form label{display:block;font-size:14px;font-weight:600;color:#2f3f3c;margin:0}
.ct-form input,.ct-form select,.ct-form textarea{display:block;width:100%;margin-top:8px;padding:13px 14px;font:16px/1.4 Figtree,system-ui,sans-serif;color:#102234;background:#fbfaf6;border:1px solid rgba(16,34,52,.18);border-radius:3px;box-sizing:border-box}
.ct-form textarea{min-height:150px;resize:vertical}
.ct-form fieldset:disabled input,.ct-form fieldset:disabled select,.ct-form fieldset:disabled textarea{opacity:.7;cursor:not-allowed}
.ct-form .btn{margin-top:28px;width:100%;justify-content:center;text-align:center;background:#9fb3a9;border-color:#9fb3a9;color:#fff;cursor:not-allowed}
@media(max-width:960px){.ct-grid{grid-template-columns:1fr;gap:48px}}
@media(max-width:600px){
 .ct-main{padding:56px 0 64px}
 .ct-panel{padding:26px 20px 28px;margin:0 -4px}
 .ct-form .fields{grid-template-columns:1fr;gap:18px}
 .ct-side h2{font-size:34px}
 .ct-quote blockquote{font-size:19px}
}
/* Interim email contact (Oct 22) */
.ct-status a{color:#074d39;font-weight:600;text-decoration:underline;text-underline-offset:3px;word-break:break-word}
.ct-email{margin-top:40px;padding:22px 0;border-top:1px solid rgba(16,34,52,.12);border-bottom:1px solid rgba(16,34,52,.12)}
.ct-email p{margin:0 0 8px;font-size:12px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:#536460}
.ct-email a{font:400 22px/1.3 Georgia,serif;color:#074d39;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:5px;word-break:break-word}
.ct-email+.ct-social{margin-top:28px}
@media(max-width:600px){.ct-email a{font-size:19px}}
/* Oct 23: compact Contact hero so the inquiry path appears sooner */
.ct-hero .spec-hero{min-height:460px!important}
.ct-hero .spec-hero-image{min-height:460px!important}
.ct-hero .spec-hero-copy{padding-top:48px;padding-bottom:52px}
.ct-hero .spec-hero h1{font-size:clamp(54px,5.6vw,84px)}
.ct-hero .spec-hero-image img{object-position:50% 18%!important}
.ct-hero + .ct-main{padding-top:72px}
@media(max-width:760px){
 .ct-hero .spec-hero{min-height:0!important}
 .ct-hero .spec-hero-image{min-height:210px!important;height:210px!important;max-height:210px!important}
 .ct-hero .spec-hero-copy{padding-top:28px;padding-bottom:34px}
 .ct-hero .spec-hero h1{font-size:clamp(42px,11vw,54px)}
 .ct-hero + .ct-main{padding-top:44px}
}
/* Oct 23: live inquiry form */
.ct-intro{margin:0 0 28px;font-size:16px;line-height:1.6;color:#2f3f3c}
.ct-intro a{color:#074d39;font-weight:600;text-decoration:underline;text-underline-offset:3px;word-break:break-word}
.ct-form .btn.ct-submit{background:#074d39;border-color:#074d39;color:#fff;cursor:pointer}
.ct-form .btn.ct-submit:hover{background:#0a5f47}
.ct-form .btn.ct-submit:disabled{opacity:.75;cursor:default}
.ct-form input:focus,.ct-form select:focus,.ct-form textarea:focus{outline:2px solid #074d39;outline-offset:1px;background:#fff}
.ct-hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.ct-msg{margin:16px 0 0;font-size:15px;line-height:1.5;min-height:1px}
.ct-msg.ok{color:#074d39;font-weight:600}
.ct-msg.err{color:#a13a2a}
.ct-panel{position:relative}

/* Phones and tablets: form comes first, tips and quote follow (Oct 23) */
@media(max-width:960px){.ct-grid{display:flex;flex-direction:column;gap:48px}.ct-panel{order:-1}}
