/* ===========================================================================
 * PKM Contact page (Explore Henderson design system).
 * Built from the "Explore Henderson Contact" mockup, scoped to .pkm-contact
 * and reusing the shared --pkm-* tokens from css/pkm-design.css. Local
 * classes are `pkmc-` namespaced; the form itself keeps the request-form
 * helper's .dt-rf-* markup, restyled here.
 * ======================================================================== */

.pkm-contact{font-family:var(--pkm-font-body);color:var(--pkm-ink);line-height:1.6;}
.pkm-contact .pkmc-wrap{max-width:1180px;margin:0 auto;padding:0 28px;}
.pkm-contact h1,.pkm-contact h2,.pkm-contact h3{font-family:var(--pkm-font-display);font-weight:600;line-height:1.18;margin:0;color:var(--pkm-ink);}

/* ---------- Hero ---------- */
.pkm-contact .pkmc-hero{background:linear-gradient(155deg,var(--pkm-navy-1),var(--pkm-navy-2));color:#fff;position:relative;overflow:hidden;text-align:center;}
.pkm-contact .pkmc-hero::after{content:"";position:absolute;inset:0;background:radial-gradient(800px 360px at 50% -20%,rgba(255,255,255,.08),transparent 65%);pointer-events:none;}
.pkm-contact .pkmc-hero .pkmc-wrap{padding:64px 28px 72px;position:relative;z-index:1;}
.pkm-contact .pkmc-hero .pkmc-eyebrow{font-weight:700;font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:#f7d774;margin-bottom:14px;}
.pkm-contact .pkmc-hero h1{color:#fff;font-size:clamp(34px,5vw,50px);font-weight:700;letter-spacing:-.015em;}
.pkm-contact .pkmc-hero p{color:rgba(255,255,255,.82);font-size:18px;margin:16px auto 0;max-width:560px;}

/* ---------- Layout ---------- */
.pkm-contact .pkmc-content{padding:48px 0 70px;}
.pkm-contact .pkmc-grid{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:30px;align-items:start;}
.pkm-contact .pkmc-panel{background:var(--pkm-card);border-radius:var(--pkm-radius);box-shadow:var(--pkm-shadow);border:1px solid var(--pkm-line-soft);padding:34px 36px;}
.pkm-contact .pkmc-eyebrow-s{font-weight:700;font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--pkm-sage);margin-bottom:9px;}
.pkm-contact .pkmc-panel h2{font-size:26px;letter-spacing:-.01em;}
.pkm-contact .pkmc-lead{color:var(--pkm-ink-soft);font-size:16px;margin:10px 0 26px;}

/* ---------- Form (restyle the request-form helper's .dt-rf-* markup) ---------- */
.pkm-contact .dt-request-form{margin:0;}
.pkm-contact .dt-rf-field{margin:0 0 20px;}
.pkm-contact .dt-rf-field[hidden]{display:none;}
.pkm-contact .dt-rf-field > label{display:block;font-weight:600;font-size:14px;color:var(--pkm-ink);margin:0 0 8px;}
.pkm-contact .dt-rf-field > label span[aria-hidden]{color:var(--pkm-rust);}
.pkm-contact .dt-rf-field input[type=text],
.pkm-contact .dt-rf-field input[type=email],
.pkm-contact .dt-rf-field input[type=search],
.pkm-contact .dt-rf-field select{width:100%;border:1px solid var(--pkm-line);border-radius:11px;background:#fcfaf6;padding:13px 15px;font-family:inherit;font-size:16px;color:var(--pkm-ink);outline:none;transition:border-color .15s, box-shadow .15s, background .15s;}
.pkm-contact .dt-rf-field select{appearance:none;-webkit-appearance:none;cursor:pointer;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%23647483' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 15px center;padding-right:42px;}
.pkm-contact .dt-rf-field input:focus,
.pkm-contact .dt-rf-field select:focus{border-color:var(--pkm-sage);background:#fff;box-shadow:0 0 0 3px rgba(46,125,107,.14);}
.pkm-contact .dt-rf-field input::placeholder{color:#9aa6b0;}
.pkm-contact .dt-rf-field--radio label,
.pkm-contact .dt-rf-field--checkbox label{display:inline-flex;align-items:center;gap:7px;font-weight:500;margin:0 14px 6px 0;}

/* autocomplete dropdown */
.pkm-contact .dt-rf-autocomplete-list{margin:6px 0 0;padding:0;border:1px solid var(--pkm-line);border-radius:11px;list-style:none;max-height:230px;overflow:auto;background:#fff;box-shadow:var(--pkm-shadow);}
.pkm-contact .dt-rf-autocomplete-list li{padding:10px 14px;cursor:pointer;font-size:15px;}
.pkm-contact .dt-rf-autocomplete-list li:hover,
.pkm-contact .dt-rf-autocomplete-list li:focus{background:var(--pkm-sage-bg);color:var(--pkm-sage);outline:none;}

/* Send button */
.pkm-contact .dt-rf-submit{margin-top:8px;}
.pkm-contact .dt-rf-submit button,
.pkm-contact .dt-rf-submit .global-btn{display:inline-flex;align-items:center;gap:9px;background:var(--pkm-rust);color:#fff;border:none;font-family:inherit;font-weight:700;font-size:13px;letter-spacing:.06em;text-transform:uppercase;padding:15px 30px;border-radius:11px;cursor:pointer;box-shadow:0 8px 18px rgba(191,74,47,.28);transition:transform .15s, background .15s;}
.pkm-contact .dt-rf-submit button:hover,
.pkm-contact .dt-rf-submit .global-btn:hover{transform:translateY(-1px);background:var(--pkm-rust-dark);color:#fff;}

/* mailto escape hint */
.pkm-contact .dt-rf-mailto{font-size:13.5px;color:var(--pkm-muted);margin:16px 0 0;}
.pkm-contact .dt-rf-mailto a{color:var(--pkm-rust);font-weight:600;}

/* success / flash */
.pkm-contact .alert,
.pkm-contact .dt-rf-flash{display:flex;align-items:flex-start;gap:12px;background:var(--pkm-sage-bg);color:var(--pkm-sage);border:1px solid rgba(46,125,107,.25);border-radius:12px;padding:16px 18px;margin:0 0 22px;font-size:15.5px;font-weight:600;}

/* ---------- Directory finder ---------- */
.pkm-contact .pkmc-dir h2{font-size:22px;}
.pkm-contact .pkmc-dir-search{display:flex;gap:9px;margin:18px 0 6px;}
.pkm-contact .pkmc-dir-search .pkmc-f{position:relative;flex:1;}
.pkm-contact .pkmc-dir-search .pkmc-f svg{position:absolute;left:14px;top:50%;transform:translateY(-50%);width:17px;height:17px;color:var(--pkm-muted);pointer-events:none;}
.pkm-contact .pkmc-dir-search input{width:100%;height:48px;border:1px solid var(--pkm-line);border-radius:11px;background:#fcfaf6;padding:0 14px 0 40px;font-family:inherit;font-size:16px;color:var(--pkm-ink);outline:none;transition:border-color .15s,box-shadow .15s;}
.pkm-contact .pkmc-dir-search input:focus{border-color:var(--pkm-sage);background:#fff;box-shadow:0 0 0 3px rgba(46,125,107,.14);}
.pkm-contact .pkmc-dir-search button{flex:none;width:48px;height:48px;border:none;border-radius:11px;background:var(--pkm-rust);color:#fff;cursor:pointer;display:grid;place-items:center;transition:background .15s;}
.pkm-contact .pkmc-dir-search button:hover{background:var(--pkm-rust-dark);}
.pkm-contact .pkmc-dir-search button svg{width:18px;height:18px;}
.pkm-contact .pkmc-dir-sub{font-family:var(--pkm-font-display);font-weight:600;font-size:15px;color:var(--pkm-ink);margin:24px 0 13px;display:flex;align-items:center;gap:9px;}
.pkm-contact .pkmc-dir-sub::after{content:"";flex:1;height:1px;background:var(--pkm-line-soft);}
.pkm-contact .pkmc-pills{display:flex;flex-wrap:wrap;gap:9px;}
.pkm-contact .pkmc-cat-pill{display:inline-flex;align-items:center;gap:7px;white-space:nowrap;background:#fff;border:1px solid var(--pkm-line);border-radius:30px;padding:8px 14px;font-weight:600;font-size:13.5px;color:var(--pkm-ink-soft);transition:transform .12s,border-color .12s,color .12s;}
.pkm-contact .pkmc-cat-pill:hover{transform:translateY(-1px);border-color:var(--pkm-rust);color:var(--pkm-rust);}
.pkm-contact .pkmc-cat-pill .pkmc-n{color:var(--pkm-muted);font-size:12.5px;font-weight:600;}
.pkm-contact .pkmc-cat-pill:hover .pkmc-n{color:var(--pkm-rust);}
.pkm-contact .pkmc-hood-pill{display:inline-flex;align-items:center;white-space:nowrap;background:var(--pkm-sage-bg);color:var(--pkm-sage);border-radius:30px;padding:8px 15px;font-weight:700;font-size:12px;letter-spacing:.05em;text-transform:uppercase;transition:transform .12s,background .12s,color .12s;}
.pkm-contact .pkmc-hood-pill:hover{transform:translateY(-1px);background:var(--pkm-sage);color:#fff;}

/* ---------- Accessibility ---------- */
.pkm-contact a:focus-visible,
.pkm-contact button:focus-visible,
.pkm-contact input:focus-visible,
.pkm-contact select:focus-visible{outline:3px solid var(--pkm-rust);outline-offset:2px;border-radius:8px;}
@media (prefers-reduced-motion:reduce){.pkm-contact *{transition:none!important;animation:none!important;}}

/* ---------- Responsive ---------- */
@media (max-width:880px){
  .pkm-contact .pkmc-grid{grid-template-columns:1fr;}
}
@media (max-width:620px){
  .pkm-contact .pkmc-wrap{padding:0 18px;}
  .pkm-contact .pkmc-panel{padding:26px 22px;}
}
