/* ============================================================
   Headgate — shared page styles
   ============================================================ */

*{ box-sizing:border-box; }
html{ scroll-behavior:smooth; }
body{ margin:0; background:var(--surface-page); font-family:var(--font-sans); color:var(--text-body); -webkit-font-smoothing:antialiased; }
body.page-white{ background:#fff; }
a{ color:inherit; }
img{ max-width:100%; }

/* ---- Header: About-us dropdown ---- */
.about-nav{ position:relative; display:flex; align-items:center; }
.about-trigger{ display:inline-flex; align-items:center; gap:5px; background:none; border:none; cursor:pointer; font-family:var(--font-sans); font-size:15px; font-weight:600; color:var(--text-strong); padding:8px 0; }
.about-pop{ position:absolute; top:100%; right:0; padding-top:10px; opacity:0; visibility:hidden; transform:translateY(6px); transition:opacity .15s ease-out,transform .15s ease-out,visibility .15s; }
.about-nav:hover .about-pop,.about-nav:focus-within .about-pop{ opacity:1; visibility:visible; transform:translateY(0); }
.about-chev{ transition:transform .15s ease-out; }
.about-nav:hover .about-chev{ transform:rotate(180deg); }
.about-menu{ min-width:232px; background:var(--surface-card); border:1px solid var(--border-subtle); border-radius:var(--radius-md); box-shadow:var(--shadow-lg); padding:8px; display:flex; flex-direction:column; gap:2px; }
.about-item{ display:flex; flex-direction:column; gap:2px; padding:10px 12px; border-radius:8px; text-decoration:none; transition:background .12s ease-out; }
.about-item:hover{ background:var(--sand-100,#f1ece3); }
.about-item .ai-t{ font-size:14.5px; font-weight:600; color:var(--text-strong); }
.about-item .ai-d{ font-size:12.5px; color:var(--text-muted); }

/* ---- Homepage ---- */
@media (max-width:640px){ .lookup-qualify-grid{ grid-template-columns:1fr !important; } }
.hero-call-chip:hover{ box-shadow:var(--shadow-md); border-color:var(--border-strong); }
@media (max-width:640px){ .header-phone{ display:none !important; } }
@media (max-width:640px){ .hp-pad{ padding-top:52px !important; padding-bottom:52px !important; } }
@media (max-width:840px){ .why-sell-grid{ grid-template-columns:1fr !important; gap:40px !important; } .why-sell-cta{ position:static !important; } }

/* ---- Our Values ---- */
.vcard{ transition:box-shadow .2s var(--ease-out,ease-out),transform .2s var(--ease-out,ease-out); }
.vcard:hover{ box-shadow:var(--shadow-lg); transform:translateY(-2px); }
.vlink{ transition:gap .15s ease-out; }
.vlink:hover{ text-decoration:underline; text-decoration-color:var(--accent-water); text-underline-offset:3px; }
@media (max-width:820px){ .vgrid{ grid-template-columns:1fr !important; } }

/* ---- Legal pages (Terms / Privacy) ---- */
.tos-toc a:hover{ color:var(--text-link); text-decoration:underline; text-decoration-color:var(--accent-water); text-underline-offset:3px; }
.tos-link{ color:var(--text-link); text-decoration:none; border-bottom:1px solid var(--border-strong); }
.tos-link:hover{ border-bottom-color:var(--accent-water); }
@media (max-width:900px){ .tos-grid{ grid-template-columns:1fr !important; } .tos-toc{ display:none !important; } }

/* ---- How We're Different: timeline + comparison table ---- */
.hwd-step:last-child .hwd-line{ display:none; }
.ctable{ display:grid; grid-template-columns:1.1fr 1.3fr 1.3fr; border:1px solid var(--border-subtle); border-radius:16px; overflow:hidden; background:var(--surface-card); }
.ctable .ccell{ padding:18px 20px; border-bottom:1px solid var(--border-subtle); font-size:15px; line-height:1.5; }
.ctable .chd{ font-weight:700; color:var(--text-strong); background:var(--surface-sunken); font-size:14px; }
.ctable .chd.cus{ background:#F0F9FC; color:var(--accent-water-h); }
.ctable .cdim{ font-weight:600; color:var(--text-strong); background:var(--surface-page); }
.ctable .cus{ background:#F0F9FC; }
.ctable .cbroker{ color:var(--text-body); }
.ctable > *:nth-last-child(-n+3){ border-bottom:none; }
.cico{ display:inline-flex; align-items:flex-start; gap:9px; }
.cico i{ width:15px; height:15px; flex:none; margin-top:2px; color:var(--accent-water-h); }
.cdash{ color:var(--text-muted); font-weight:700; flex:none; line-height:1.5; }
@media (max-width:840px){
  .hwd-split{ grid-template-columns:1fr !important; }
  .ctable{ grid-template-columns:1fr; }
  .ctable .ccell{ border-bottom:1px solid var(--border-subtle); }
  .ctable .chd:not(.cdim){ display:none; }
  .ctable .cus::before{ content:"Us \2014 "; font-weight:700; color:var(--accent-water-h); }
  .ctable .cbroker::before{ content:"Traditional broker \2014 "; font-weight:700; color:var(--text-muted); }
  .ctable > *:nth-last-child(-n+3){ border-bottom:1px solid var(--border-subtle); }
  .ctable > *:last-child{ border-bottom:none; }
}

/* ---- Water Rights Lookup wizard ---- */
@keyframes hg-fade{ from{transform:translateY(8px);opacity:0} to{transform:none;opacity:1} }
@keyframes hg-ring{ 0%{transform:scale(.7);opacity:.55} 70%{opacity:0} 100%{transform:scale(1.9);opacity:0} }
@media (prefers-reduced-motion:reduce){ .hg-anim{ animation:none !important; } }
@media (max-width:560px){
  .lookup-ctx-grid{ grid-template-columns:1fr !important; }
  .lookup-docgrid{ grid-template-columns:1fr !important; }
  .lookup-namerow{ grid-template-columns:1fr !important; gap:10px !important; }
  .lookup-name-action{ height:auto !important; min-width:0 !important; }
  .lookup-name-action:empty{ display:none !important; }
}
.add-name-wrap .hg-btn--ghost{ --_bg:var(--blue-50); --_bgh:var(--blue-100); }
.passed-note .hg-alert{ background:var(--sand-50); border-color:var(--border-subtle); }
.passed-note .hg-alert__ico{ color:var(--text-muted); }
.gate-card:hover{ border-color:var(--border-strong) !important; }
.gate-sub{ white-space:nowrap; }
@media (max-width:600px){ .gate-sub{ white-space:normal; } }
.gate-ico svg{ stroke-width:1.5; }
.back-link-btn{ transition:background 150ms var(--ease-out),border-color 150ms var(--ease-out); }
.back-link-btn:hover{ background:var(--sand-50); border-color:var(--border-strong); }
