/* Water Meets Rock - header, top bar and contact directory */
.wmr-topbar{background:var(--ink);color:oklch(97% .01 80 / .88);font-size:.78rem;line-height:1.2;letter-spacing:.02em}
.wmr-topbar-inner{max-width:72rem;margin:0 auto;padding:.55rem 1.25rem;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.35rem 1.5rem}
@media(min-width:640px){.wmr-topbar-inner{padding-left:2rem;padding-right:2rem}}
.wmr-topbar a{color:inherit;text-decoration:none;display:inline-flex;align-items:center;gap:.5rem;transition:color .2s}
.wmr-topbar a:hover{color:var(--ochre)}
.wmr-topbar svg{width:.95rem;height:.95rem;flex:none;color:var(--clay)}

.wmr-header-row{height:6rem!important}
@media(max-width:640px){.wmr-header-row{height:4.75rem!important}}
.wmr-logo{height:4rem;width:auto;max-width:100%;display:block;object-fit:contain}
@media(max-width:640px){.wmr-logo{height:2.9rem;max-width:calc(100vw - 6rem)}}
.wmr-logo-footer{height:3.4rem;width:auto;max-width:100%;display:block;object-fit:contain}


/* ---------- Top bar: two phone numbers ---------- */
.wmr-topbar-phones{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:.25rem 1.5rem}
.wmr-topbar-phone{font-weight:600;letter-spacing:.03em;white-space:nowrap}
.wmr-tag{font-weight:500;font-size:.66rem;text-transform:uppercase;letter-spacing:.12em;opacity:.7}
@media(max-width:700px){
  .wmr-topbar-inner{justify-content:center}
  .wmr-topbar-inner>a:first-child{display:none}          /* address lives in the footer / contact page */
  .wmr-topbar-phones{width:100%;justify-content:space-between;gap:.25rem .75rem}
  .wmr-topbar-phone{min-height:2.25rem;font-size:.82rem}
  .wmr-topbar-phone svg{display:none}
  .wmr-topbar-phone{flex-direction:column;align-items:flex-start;gap:0;line-height:1.25}
  .wmr-topbar-phone:last-child{align-items:flex-end}
}

/* ---------- Contact directory ---------- */
.wmr-directory{margin-top:1rem;min-width:0}
footer .grid>div,main .grid>div{min-width:0}
.wmr-mainline{padding:1rem 1.15rem;border-radius:1rem;background:oklch(70% .12 52 / .10);border:1px solid oklch(70% .12 52 / .30)}
.wmr-mainline>span{display:block;font-size:.66rem;font-weight:600;text-transform:uppercase;letter-spacing:.2em;color:var(--water-deep)}
.wmr-mainnums{display:grid;grid-template-columns:repeat(auto-fit,minmax(11rem,1fr));gap:.75rem;margin-top:.6rem}
.wmr-mainnums a{display:block;text-decoration:none;color:var(--foreground);padding:.65rem .8rem;border-radius:.75rem;background:var(--card);border:1px solid oklch(70% .12 52 / .30);transition:border-color .2s,background .2s;min-height:44px}
.wmr-mainnums a:hover{border-color:oklch(70% .12 52 / .7)}
.wmr-mainnums small{display:block;font-size:.62rem;font-weight:500;text-transform:uppercase;letter-spacing:.14em;color:var(--muted-foreground)}
.wmr-mainnums strong{display:block;margin-top:.15rem;font-family:var(--font-display);font-size:1.12rem;font-weight:600;letter-spacing:-.01em;line-height:1.15;white-space:nowrap}
.wmr-hint{margin:.8rem 0 0;font-size:.75rem;line-height:1.5;color:var(--muted-foreground)}
.wmr-people{list-style:none;margin:.5rem 0 0;padding:0}
.wmr-person{padding:.9rem 0;border-bottom:1px solid var(--border)}
.wmr-person:last-child{border-bottom:0;padding-bottom:0}
.wmr-person-head{display:flex;align-items:baseline;gap:.6rem}
.wmr-name{font-size:1rem;font-weight:600;color:var(--foreground);line-height:1.25}
.wmr-role{font-size:.78rem;color:var(--muted-foreground)}
.wmr-rows{margin:.5rem 0 0}
.wmr-rows>div{display:flex;align-items:baseline;justify-content:space-between;gap:1rem;padding:.4rem 0}
.wmr-rows dt{flex:none;font-size:.7rem;font-weight:500;text-transform:uppercase;letter-spacing:.12em;color:var(--muted-foreground)}
.wmr-rows dd{margin:0;text-align:right;font-size:.85rem;min-width:0}
.wmr-rows a{color:var(--water-deep);text-decoration:none;font-variant-numeric:tabular-nums;overflow-wrap:anywhere;padding:.2rem 0;display:inline-block}
.wmr-rows a:hover{color:var(--primary);text-decoration:underline;text-underline-offset:3px}

/* ---------- Mobile menu (works without any framework) ---------- */
.wmr-mobile-menu{display:none;border-top:1px solid var(--border);padding:.5rem 1.25rem 1.25rem;background:var(--background)}
.wmr-mobile-menu.is-open{display:block}
.wmr-mobile-menu a.wmr-m-link{display:flex;align-items:center;min-height:3rem;padding:0 .25rem;font-size:1.02rem;color:var(--foreground);text-decoration:none;border-bottom:1px solid var(--border)}
.wmr-mobile-menu a.wmr-m-link[aria-current="page"]{font-weight:600;color:var(--primary)}
.wmr-m-actions{display:grid;grid-template-columns:1fr 1fr;gap:.6rem;margin-top:1rem}
.wmr-m-btn{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:3.25rem;border-radius:999px;text-decoration:none;font-size:.82rem;font-weight:600;background:var(--ink);color:var(--background);line-height:1.2;text-align:center;padding:.4rem .5rem}
.wmr-m-btn small{display:block;font-size:.6rem;font-weight:500;letter-spacing:.12em;text-transform:uppercase;opacity:.75}
.wmr-m-btn.alt{background:var(--clay);color:var(--accent-foreground)}
@media(min-width:1024px){.wmr-mobile-menu{display:none!important}}

/* ---------- General phone polish ---------- */
html{-webkit-text-size-adjust:100%;text-size-adjust:100%}
img{max-width:100%}
@media(max-width:640px){
  input,select,textarea{font-size:16px!important}        /* stops iOS zooming in on focus */
  button[type=submit]{width:100%;min-height:3rem}
  footer a{display:inline-block;padding:.2rem 0}
  footer ul.space-y-2>li{margin:0}
  .text-display{overflow-wrap:break-word}
}
@media(max-width:640px){main section.py-20{padding-top:3.5rem;padding-bottom:3.5rem}}
.overflow-x-auto{-webkit-overflow-scrolling:touch}

/* ---------- Contact form: small-screen fit and comfortable touch targets ---------- */
.wmr-contact-form{width:100%;min-width:0}
@media(max-width:640px){main form{min-width:0}main form input,main form select,main form textarea{width:100%;min-width:0;box-sizing:border-box}main form button[type=submit]{width:100%;min-height:3rem;justify-content:center}}

/* Keep the contact form in view on larger screens without covering mobile content. */
@media (min-width: 1024px) {
  .wmr-sticky-form { position: sticky; top: 7.5rem; align-self: start; }
}
@media (max-width: 1023px) {
  .wmr-sticky-form { position: static; }
}
