/* site.css — shared Steel Fox styles (nav dropdown, polish overrides, price grid).
   Loaded AFTER each page's inline <style> so polish overrides keep winning. */

/* --- nav dropdowns --- */
.nav-item-dd{position:relative}
.nav-links .nav-dd-trigger{display:inline-flex;align-items:center;gap:5px;font-family:var(--font-display);font-size:11px;font-weight:400;letter-spacing:.14em;text-transform:uppercase;color:var(--black);text-decoration:none;cursor:pointer}
.nav-dd-caret{font-size:8px;line-height:1;transition:transform .18s ease;color:var(--rust)}
.nav-item-dd:hover .nav-dd-caret,.nav-item-dd:focus-within .nav-dd-caret{transform:rotate(180deg)}
.nav-dd{position:absolute;top:100%;left:0;margin-top:6px;min-width:230px;background:#fff;border:1px solid rgba(0,0,0,0.08);box-shadow:0 14px 34px rgba(0,0,0,0.13);padding:8px 0;z-index:300;opacity:0;visibility:hidden;transform:translateY(6px);transition:opacity .18s ease,transform .18s ease,visibility .18s ease;pointer-events:none}
.nav-dd::before{content:"";position:absolute;top:-8px;left:0;right:0;height:8px}
.nav-item-dd:hover .nav-dd,.nav-item-dd:focus-within .nav-dd{opacity:1;visibility:visible;transform:none;pointer-events:auto}
.nav-dd .nav-dd-head{display:block;font-family:var(--font-display);font-size:9px;letter-spacing:.16em;text-transform:uppercase;color:#8a857e;padding:2px 18px 8px;margin-bottom:4px;border-bottom:1px solid rgba(0,0,0,0.06)}
.nav-dd a{display:block;padding:8px 18px;font-family:var(--font-display);font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:rgba(0,0,0,0.66);text-decoration:none;transition:background-color .15s,color .15s,padding-left .15s}
.nav-dd a:hover{background:#faf9f7;color:var(--rust);padding-left:22px}
.nav-dd-trigger::after,.nav-dd a::after{display:none!important}

/* --- polish: button/form radius, hover lift, contrast --- */
/* Polish pass (site-wide): contrast, iOS no-zoom inputs, focus ring, refined hovers, a11y, reduced-motion guard. */
:root{--gray-400:#6a6a6a}
input,select,textarea{font-size:16px!important}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--rust);outline-offset:2px}
.nav-links a{position:relative}
.nav-links a:hover{color:var(--rust)}
.nav-links a::after{content:"";position:absolute;left:0;bottom:-3px;height:1.5px;width:0;background:var(--rust);transition:width .2s ease}
.nav-links a:hover::after{width:100%}
.btn-outline-white:hover{background:#1c1c1e;color:#fff;border-color:#1c1c1e}
.btn-rust,.btn-white,.nav-cta{transition:all .2s ease}
.btn-rust,.btn-white,.btn-outline-white,.btn-black,.nav-cta{border-radius:4px}
.hero-sub input,input[type=text],input[type=email],input[type=tel],input[type=search],select,textarea{border-radius:4px}
button[type=submit]{border-radius:4px}
.btn-rust:hover,.btn-white:hover,.nav-cta:hover{transform:translateY(-2px);box-shadow:0 6px 18px rgba(0,0,0,.15)}
.cert-badge{font-size:11px!important;transition:border-color .18s ease,background-color .18s ease,transform .18s ease}
.cert-badge:hover{border-color:var(--gray-400);background:#fafafa;transform:translateY(-1px)}
.svc-card{transition:border-color .18s,box-shadow .18s,transform .18s}
.svc-card:hover{border-color:var(--gray-300);box-shadow:0 10px 30px rgba(0,0,0,0.07);transform:translateY(-4px)}
#float-estimate-btn,#float-call-btn{padding:14px 22px!important}
#float-call-btn{display:none}
@media(max-width:768px){.cert-badge{font-size:10px!important}#float-call-btn{display:inline-block!important}}
.skip-link{position:absolute;left:-9999px;top:0;z-index:1000;background:var(--rust);color:#fff;padding:10px 16px;font-family:var(--font-display,sans-serif);font-size:12px;font-weight:600;letter-spacing:0.08em;text-transform:uppercase;text-decoration:none}
.skip-link:focus{left:8px;top:8px}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.001ms!important;transition-duration:.001ms!important;scroll-behavior:auto!important}}

/* --- pricing grid (home + services) --- */
.sf-price-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1px;background:var(--gray-200)}
@media(max-width:720px){.sf-price-grid{grid-template-columns:1fr}}

/* --- header click-to-call --- */
.nav-phone{display:inline-flex;align-items:center;gap:6px;font-family:var(--font-display);font-size:13px;font-weight:600;letter-spacing:.01em;color:var(--black);text-decoration:none;margin-right:1.1rem;white-space:nowrap;transition:color .18s}
.nav-phone:hover{color:var(--rust)}
.nav-phone svg{stroke:var(--rust);flex-shrink:0}
@media(max-width:768px){.nav-phone{display:none}}

/* --- header spacing (de-cramp nav + phone) --- */
.nav-links{gap:1.9rem!important}
.nav-logo{margin-right:1.5rem}
.nav-phone{margin-left:1.25rem!important}
