/* ============================================================
   POL — Contact page
   Compact hero + location + contact form. Reuses the form controls
   from pol-referrals.css (.rf-form / .rf-field / .rf-pill / .rf-submit)
   plus tokens from pol.css / pol-home.css. Self-contained layout here.
   ============================================================ */

/* ---- compact hero (type only, no media) ------------------ */
.ct-hero{position:relative;background:var(--deep);color:var(--paper);display:flex;flex-direction:column;
  min-height:auto}
.ct-hero .hb-nav{position:relative;z-index:6}
.ct-hero .ct-head{max-width:1240px;width:100%;margin:0 auto;padding:96px 48px 88px;box-sizing:border-box}
.ct-eyebrow{display:flex;align-items:center;gap:14px;font-family:"IBM Plex Mono",monospace;
  font-size:12px;letter-spacing:.22em;text-transform:uppercase;color:var(--sage)}
.ct-eyebrow::before{content:"";width:34px;height:1px;background:var(--orange)}
.ct-hero h1{font-family:"Archivo",sans-serif;font-weight:800;letter-spacing:-.025em;line-height:1.0;
  font-size:clamp(40px,5.4vw,68px);margin:22px 0 0;color:var(--paper)}
.ct-hero h1 em{font-style:normal;color:var(--orange)}
.ct-hero .ct-lead{font-family:"Inter",sans-serif;font-size:clamp(16px,1.4vw,19px);line-height:1.55;
  color:rgba(246,244,240,.82);margin:22px 0 0;max-width:52ch}

/* ---- main: location aside + form ------------------------- */
.ct-main .ct-grid{display:grid;grid-template-columns:0.82fr 1.18fr;gap:72px;align-items:start}

.ct-aside{display:flex;flex-direction:column;gap:36px}
.ct-block .ct-b-label{font-family:"IBM Plex Mono",monospace;font-size:11px;letter-spacing:.16em;
  text-transform:uppercase;color:var(--sage);display:flex;align-items:center;gap:12px;margin:0 0 16px}
.ct-block .ct-b-label::before{content:"";width:22px;height:1px;background:var(--orange)}
.ct-block .ct-addr{font-family:"Archivo",sans-serif;font-weight:700;font-size:22px;letter-spacing:-.01em;
  line-height:1.28;color:var(--charcoal);margin:0}
.ct-block .ct-sub{font-family:"Inter",sans-serif;font-size:15px;line-height:1.55;color:rgba(50,47,47,.72);margin:8px 0 0}
.ct-block .ct-line{display:block;font-family:"Inter",sans-serif;font-size:16px;color:var(--charcoal);
  text-decoration:none;margin:6px 0 0;border-bottom:1px solid transparent;width:fit-content;transition:border-color .2s,color .2s}
.ct-block a.ct-line:hover{color:var(--orange);border-bottom-color:var(--orange)}
.ct-media{border:1px solid var(--line-light);border-radius:6px;padding:22px 24px;background:#fff}
.ct-media .ct-b-label{margin-bottom:12px}
.ct-media p{font-family:"Inter",sans-serif;font-size:15px;line-height:1.55;color:rgba(50,47,47,.8);margin:0}
.ct-media p b{color:var(--charcoal);font-weight:600}

/* the form itself reuses .rf-form controls; just cap its width here */
.ct-main .rf-form{margin-top:0;max-width:none}

/* ---- responsive ------------------------------------------ */
@media (max-width:900px){
  .ct-hero .ct-head{padding:64px 22px 56px}
  .ct-hero .ct-lead{max-width:none}
  .ct-main .ct-grid{grid-template-columns:1fr;gap:44px}
}
