/* ============================================================
   GROUNDLOCK — full-site chrome (static pages)
   Extends styles.css with: dropdown nav, breadcrumbs, prose,
   hero variants, CTA band, link cards, FAQ, mobile menu.
   ============================================================ */

/* ---- real site header with dropdowns ---- */
.site-header{position:sticky;top:0;z-index:60;background:rgba(19,22,27,.94);backdrop-filter:blur(12px);color:var(--paper);border-bottom:1px solid var(--line-paper);}
.site-header-in{display:flex;align-items:center;justify-content:space-between;height:var(--header-h);gap:18px;}
.site-nav{display:none;}
.site-header .logo-word{color:var(--paper);}
.site-cta-group{display:flex;align-items:center;gap:12px;}
.site-header .call{font-family:var(--mono);font-size:12.5px;font-weight:600;letter-spacing:.04em;color:var(--paper);text-decoration:none;display:inline-flex;align-items:center;gap:8px;padding:9px 13px;border-radius:2px;box-shadow:inset 0 0 0 1px var(--line-paper);white-space:nowrap;}
.site-header .call b{color:var(--accent);}
.site-header .call .num{display:none;}
.site-header .btn{display:none;}
.burger{display:inline-flex;flex-direction:column;gap:4px;background:none;border:none;cursor:pointer;padding:8px;}
.burger span{width:22px;height:2px;background:var(--paper);display:block;}

@media(min-width:1000px){
  .burger{display:none;}
  .site-nav{display:flex;align-items:center;gap:4px;}
  .navitem{position:relative;}
  .navitem>a{font-family:var(--mono);font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted-ink);text-decoration:none;padding:10px 13px;display:inline-flex;align-items:center;gap:6px;transition:color .14s ease;white-space:nowrap;}
  .navitem>a:hover{color:var(--paper);}
  .navitem .caret{width:7px;height:7px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(45deg);margin-top:-3px;opacity:.6;}
  .dropdown{position:absolute;top:100%;left:0;min-width:280px;background:#0F1318;border:1px solid var(--line-paper);border-radius:4px;padding:8px;opacity:0;visibility:hidden;transform:translateY(6px);transition:all .16s ease;box-shadow:0 24px 60px -20px rgba(0,0,0,.7);z-index:80;}
  .navitem:hover .dropdown{opacity:1;visibility:visible;transform:translateY(0);}
  .dropdown a{display:block;padding:9px 11px;border-radius:3px;color:rgba(236,230,217,.82);text-decoration:none;font-size:13.5px;transition:background .12s ease,color .12s ease;}
  .dropdown a:hover{background:rgba(236,85,36,.1);color:var(--paper);}
  .dropdown a small{display:block;font-family:var(--mono);font-size:9.5px;letter-spacing:.06em;color:var(--muted-ink);text-transform:uppercase;margin-top:2px;}
  .dropdown .dd-head{font-family:var(--mono);font-size:9.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--accent);padding:8px 11px 4px;}
  .site-header .call .num{display:inline;}
  .site-header .btn{display:inline-flex;width:auto;padding:11px 17px;font-size:12px;}
}

/* mobile slide menu */
.mobile-menu{position:fixed;inset:0;z-index:90;background:var(--ink);transform:translateX(100%);transition:transform .28s cubic-bezier(.2,.8,.2,1);overflow-y:auto;display:flex;flex-direction:column;}
.mobile-menu.open{transform:translateX(0);}
.mm-top{display:flex;align-items:center;justify-content:space-between;padding:16px var(--pad);border-bottom:1px solid var(--line-paper);}
.mm-close{background:none;border:none;color:var(--paper);font-size:26px;cursor:pointer;line-height:1;}
.mm-body{padding:8px var(--pad) 30px;}
.mm-group{border-bottom:1px solid var(--line-paper);padding:14px 0;}
.mm-group>.mm-label{font-family:var(--mono);font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:var(--accent);margin-bottom:10px;}
.mm-body a{display:block;color:var(--paper);text-decoration:none;font-size:16px;padding:9px 0;opacity:.86;}
.mm-cta{padding:18px var(--pad) calc(18px + env(safe-area-inset-bottom));border-top:1px solid var(--line-paper);display:grid;gap:10px;}

/* ---- breadcrumbs ---- */
.crumbs{font-family:var(--mono);font-size:11px;letter-spacing:.06em;text-transform:uppercase;display:flex;flex-wrap:wrap;gap:8px;align-items:center;color:var(--muted-ink);}
.crumbs a{color:var(--muted-ink);text-decoration:none;}
.crumbs a:hover{color:var(--accent);}
.crumbs .sep{opacity:.5;}
.crumbs .cur{color:var(--paper);}
.sec-paper .crumbs,.sec-paper .crumbs a{color:var(--muted);}
.sec-paper .crumbs .cur{color:var(--ink);}

/* ---- page hero (interior pages) ---- */
.page-hero{background:var(--ink);color:var(--paper);position:relative;overflow:hidden;padding-top:clamp(28px,4vw,44px);padding-bottom:clamp(40px,5vw,64px);}
.page-hero .hero-grid-bg{position:absolute;inset:0;background-image:linear-gradient(rgba(236,230,217,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(236,230,217,.05) 1px,transparent 1px);background-size:clamp(28px,4vw,46px) clamp(28px,4vw,46px);pointer-events:none;mask-image:radial-gradient(120% 90% at 25% 0%,#000,transparent 75%);}
.page-hero h1{color:var(--paper);margin-top:18px;}
.page-hero .lede{color:var(--paper);opacity:.84;}

/* ---- prose ---- */
.prose{max-width:72ch;}
.prose h2{margin-top:clamp(36px,4vw,56px);}
.prose h3{margin-top:30px;margin-bottom:0;}
.prose p{margin-top:16px;font-size:clamp(15.5px,1.6vw,17px);line-height:1.68;color:#36322A;}
.prose .sec-ink &,.sec-ink .prose p{color:rgba(236,230,217,.82);}
.prose ul{margin:16px 0 0;padding-left:0;list-style:none;display:grid;gap:11px;}
.prose ul li{position:relative;padding-left:26px;font-size:clamp(15px,1.6vw,16.5px);line-height:1.6;color:#36322A;}
.prose ul li::before{content:"";position:absolute;left:2px;top:9px;width:9px;height:9px;border:2px solid var(--accent);border-radius:1px;}
.prose strong{font-weight:600;color:var(--ink);}
.prose .lead-p{font-size:clamp(17px,1.9vw,20px);line-height:1.6;color:#2C2A23;}

/* content + sidebar layout */
.doc{display:grid;gap:clamp(28px,4vw,56px);align-items:start;}
@media(min-width:980px){.doc{grid-template-columns:1fr 320px;}}
.aside-card{position:sticky;top:88px;display:grid;gap:var(--gutter);}

/* link cards (hubs) */
.linkcard{display:block;text-decoration:none;color:inherit;background:var(--paper-card);border:1px solid var(--line);border-radius:3px;padding:clamp(18px,2.2vw,24px);transition:transform .14s ease,box-shadow .14s ease,border-color .14s ease;height:100%;}
.linkcard:hover{transform:translateY(-2px);border-color:var(--accent);box-shadow:0 14px 30px -18px rgba(236,85,36,.5);}
.linkcard .lc-icon{color:var(--accent);}
.linkcard h3{margin-top:14px;}
.linkcard p{margin-top:8px;}
.linkcard .lc-go{margin-top:14px;font-family:var(--mono);font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--accent);display:inline-flex;align-items:center;gap:7px;}
.linkcard.ink{background:var(--ink-2);border-color:var(--line-paper);}
.linkcard.ink h3{color:var(--paper);}
.linkcard.ink p{color:var(--muted-ink);}

/* chips list of cities/services */
.taglinks{display:flex;flex-wrap:wrap;gap:8px;}
.taglinks a{font-size:13px;padding:8px 13px;border-radius:2px;border:1px solid var(--line);color:var(--ink);text-decoration:none;background:var(--paper-card);transition:all .12s ease;}
.taglinks a:hover{border-color:var(--accent);color:var(--accent-deep);}
.sec-ink .taglinks a{border-color:var(--line-paper);color:var(--paper);background:var(--ink-2);}
.sec-ink .taglinks a:hover{border-color:var(--accent);color:var(--accent);}

/* FAQ */
.faq{border-top:1px solid var(--line);}
.faq details{border-bottom:1px solid var(--line);padding:4px 0;}
.faq summary{cursor:pointer;list-style:none;padding:18px 36px 18px 0;font-family:var(--disp);font-weight:600;font-stretch:108%;font-size:clamp(16px,1.9vw,19px);color:var(--ink);position:relative;}
.faq summary::-webkit-details-marker{display:none;}
.faq summary::after{content:"+";position:absolute;right:4px;top:16px;font-family:var(--mono);font-size:22px;color:var(--accent);transition:transform .2s ease;}
.faq details[open] summary::after{content:"–";}
.faq .faq-a{padding:0 0 20px;font-size:clamp(14.5px,1.6vw,16px);line-height:1.65;color:#43403A;max-width:70ch;}
.sec-ink .faq{border-color:var(--line-paper);}
.sec-ink .faq details{border-color:var(--line-paper);}
.sec-ink .faq summary{color:var(--paper);}
.sec-ink .faq .faq-a{color:var(--muted-ink);}

/* CTA band */
.cta-band{background:var(--accent-deep);color:#fff;}
.cta-band .wrap{padding-top:clamp(40px,5vw,64px);padding-bottom:clamp(40px,5vw,64px);}
.cta-band h2{color:#fff;}
.cta-band .btn-light{background:#fff;color:var(--accent-deep);box-shadow:none;}
.cta-band .btn-light:hover{background:#fff;opacity:.92;}
.cta-band .btn-outline{background:transparent;color:#fff;box-shadow:inset 0 0 0 1.5px rgba(255,255,255,.6);}

/* process steps numbered */
.proc{display:grid;gap:var(--gutter);counter-reset:step;}
@media(min-width:760px){.proc{grid-template-columns:repeat(2,1fr);}}
.proc .pstep{background:var(--paper-card);border:1px solid var(--line);border-radius:3px;padding:22px;}
.proc .pstep .pn{font-family:var(--disp);font-weight:800;font-stretch:120%;font-size:26px;color:var(--accent);}
.sec-ink .proc .pstep{background:var(--ink-2);border-color:var(--line-paper);}

/* small inline inspection form (static pages) */
.mini-form{display:grid;gap:12px;}
.mini-form .row2{display:grid;grid-template-columns:1fr;gap:12px;}
@media(min-width:520px){.mini-form .row2{grid-template-columns:1fr 1fr;}}
.mini-form .ok{display:none;background:var(--ink-3);border:1px solid var(--line-paper);border-radius:3px;padding:16px;color:var(--paper);font-size:14px;}
.mini-form.done .ok{display:block;}
.mini-form.done .row2,.mini-form.done .full,.mini-form.done .submit{display:none;}

/* trust badges row */
.badges{display:flex;flex-wrap:wrap;gap:10px;}
.tbadge{display:inline-flex;align-items:center;gap:8px;font-family:var(--mono);font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:var(--muted-ink);border:1px solid var(--line-paper);border-radius:2px;padding:8px 12px;}
.tbadge svg{color:var(--accent);}
.sec-paper .tbadge{color:var(--muted);border-color:var(--line);}

/* footer sitemap */
.foot-cols{display:grid;gap:clamp(24px,3vw,40px);}
@media(min-width:680px){.foot-cols{grid-template-columns:repeat(2,1fr);}}
@media(min-width:980px){.foot-cols{grid-template-columns:1.3fr 1fr 1fr 1fr;}}
.foot-cols h4{font-family:var(--mono);font-size:10px;letter-spacing:.18em;text-transform:uppercase;color:var(--muted-ink);margin-bottom:14px;}
.foot-cols a{display:block;color:var(--paper);opacity:.74;text-decoration:none;font-size:13.5px;padding:5px 0;}
.foot-cols a.btn{opacity:1;color:#fff;}
.foot-cols a.logo{opacity:1;}
.foot-cols a:hover{opacity:1;color:var(--accent);}

.skiplink{position:absolute;left:-999px;}
