/* Appointments and enquiries page. Used with styles.css and page.css. Classes prefixed enq-. */
.enq-hero{padding-bottom:40px}
.enq-hero .wrap{display:block}
.enq-section{padding:24px 0 88px}
.enq-layout{display:grid;grid-template-columns:minmax(0,1fr) 22rem;gap:clamp(24px,3vw,56px);align-items:start;max-width:max(1280px,calc(var(--max) - 220px))}
.enq-card{position:relative;background:#fff;border:1px solid var(--line);border-radius:var(--radius);box-shadow:0 18px 50px rgba(29,63,113,.09);padding:clamp(1.25rem,3vw,2.75rem);min-width:0}
.enq-card::before{content:"";position:absolute;left:0;right:0;top:0;height:4px;border-radius:var(--radius) var(--radius) 0 0;background:linear-gradient(90deg,#27b6c9,#7fc241,#f9c41b,#f58220,#e8433c,#a63c96,#4b3a8f)}
.enq-card h2{margin:0 0 .5rem;color:var(--navy);font-weight:500}
.enq-intro{margin:0 0 1.5rem;color:var(--muted);max-width:620px}
.enq-row{display:grid;grid-template-columns:1fr 1fr;gap:0 18px}
.enq-f{display:block;margin-bottom:1.1rem}
.enq-f span{display:block;font-size:.85rem;font-weight:600;color:var(--navy);margin-bottom:6px}
.enq-f span i{font-style:normal;font-weight:400;color:var(--muted)}
.enq-f input,.enq-f select,.enq-f textarea{width:100%;box-sizing:border-box;padding:12px 13px;border:1px solid #c9d3df;border-radius:var(--radius);font:inherit;font-size:16px;background:#fff;color:var(--ink,#1c2b3a)}
.enq-f input:focus,.enq-f select:focus,.enq-f textarea:focus{outline:2px solid var(--teal);outline-offset:1px}
.enq-hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.enq-err{margin:0 0 1rem;color:#b3261e;font-size:.95rem}
.enq-actions{display:flex;flex-wrap:wrap;align-items:center;gap:14px 20px}
.enq-note{font-size:.9rem;color:var(--muted)}
.enq-priv{margin:1.6rem 0 0;font-size:.85rem;color:var(--muted)}
.enq-aside{position:sticky;top:176px}
.enq-aside-card{background:var(--soft);border:1px solid var(--line);border-radius:var(--radius);padding:1.6rem}
.enq-aside-card h3{margin:1.4rem 0 .5rem;color:var(--navy);font-weight:500;font-size:1.1rem}
.enq-aside-card h3:first-child{margin-top:0}
.enq-aside-card p{margin:0 0 .8rem;font-size:.95rem;line-height:1.5}
.enq-more{margin-top:1.2rem !important}
@media (max-width:900px){.enq-layout{grid-template-columns:1fr}.enq-aside{position:static}}
@media (max-width:560px){.enq-row{grid-template-columns:1fr}}
.rf-ph{background:#fff4c9;padding:0 .25rem}
