/* layout.css — scaffolding: wrap, sections, header/footer chrome, page hero */
.wrap{width:100%;max-width:var(--max);margin-inline:auto;padding-inline:var(--sp-5)}
.section{padding-block:var(--sp-8)}
.section--alt{background:var(--surface)}
.section-head{max-width:720px;margin-bottom:var(--sp-7)}
.section-head--center{margin-inline:auto;text-align:center}
.section-head--center p{margin-inline:auto}
.kicker{display:inline-flex;align-items:center;gap:var(--sp-2);font-family:var(--font-mono);font-size:var(--fs-100);font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--primary);margin-bottom:var(--sp-3)}
.kicker::before{content:"";width:28px;height:3px;border-radius:3px;background:var(--grad-hot)}
.section-head p{margin-top:var(--sp-4);font-size:var(--fs-400)}

/* utility bar (always dark) */
.utility-bar{background:var(--chrome-bg);border-bottom:1px solid var(--chrome-border);font-size:var(--fs-100);color:var(--chrome-muted)}
.utility-bar .wrap{display:flex;justify-content:space-between;align-items:center;min-height:38px;gap:var(--sp-4)}
.util-left{display:flex;gap:var(--sp-5)}
.util-left a:hover{color:var(--cyan)}
.util-right{display:flex;align-items:center;gap:var(--sp-3);font-family:var(--font-mono);letter-spacing:.04em;text-transform:uppercase}
.util-dot{width:6px;height:6px;border-radius:50%;background:var(--cyan)}

/* header (always dark) */
.site-header{position:sticky;top:0;z-index:100;background:#000;border-bottom:1px solid var(--chrome-border);color:var(--chrome-text)}
.header-row{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-4);min-height:76px}
.brand{display:inline-flex;align-items:center;flex-shrink:0}
.brand img{height:46px;width:auto}
.main-nav{display:flex;gap:var(--sp-4);align-items:center}
.main-nav a{color:var(--chrome-muted);font-weight:600;font-size:var(--fs-200);padding:var(--sp-2) 0;border-bottom:3px solid transparent;white-space:nowrap}
.main-nav a:hover{color:var(--chrome-text)}
.main-nav a[aria-current="page"]{color:var(--chrome-text);border-bottom-color:var(--cyan)}
.header-tools{display:flex;align-items:center;gap:var(--sp-2);flex-shrink:0}
.nav-toggle{display:none;width:46px;height:46px;align-items:center;justify-content:center;color:var(--chrome-text);border:1px solid var(--chrome-border);border-radius:var(--r-sm)}
.nav-toggle svg{width:24px;height:24px}

.mobile-menu{position:fixed;inset:0;z-index:300;background:var(--chrome-bg);color:var(--chrome-text);padding:var(--sp-5);display:flex;flex-direction:column;gap:var(--sp-4);overflow-y:auto}
.mobile-menu[hidden]{display:none}
.mobile-menu-top{display:flex;justify-content:flex-end}
.mobile-close{width:46px;height:46px;font-size:2rem;line-height:1;color:var(--chrome-text);border:1px solid var(--chrome-border);border-radius:var(--r-sm)}
.mobile-links{display:flex;flex-direction:column;margin-block:var(--sp-3)}
.mobile-links a{font-family:var(--font-display);font-weight:700;font-size:1.7rem;padding:var(--sp-3) 0;border-bottom:1px solid var(--chrome-border)}
.mobile-links a[aria-current="page"]{color:var(--cyan)}
.mobile-tools{display:flex;gap:var(--sp-4);align-items:center;margin-top:var(--sp-3)}

/* footer (always dark) */
.site-footer{background:var(--chrome-bg);color:var(--chrome-text);border-top:1px solid var(--chrome-border);padding-block:var(--sp-8) var(--sp-5)}
.site-footer p,.site-footer li,.site-footer a{color:var(--chrome-muted);font-size:var(--fs-200)}
.site-footer a:hover{color:var(--cyan)}
.footer-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1.2fr;gap:var(--sp-7);padding-bottom:var(--sp-7)}
.footer-h{font-size:var(--fs-200);font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--chrome-text);margin-bottom:var(--sp-4)}
.footer-grid li{margin-bottom:var(--sp-2)}
.footer-blurb{margin-top:var(--sp-4);max-width:34ch}
.footer-bottom{border-top:1px solid var(--chrome-border);padding-top:var(--sp-5);display:flex;justify-content:space-between;gap:var(--sp-4);flex-wrap:wrap;font-size:var(--fs-100);color:var(--chrome-muted)}
.footer-bottom span{font-size:var(--fs-100)}
.footer-safe{max-width:60ch}

/* interior page hero (always dark, brand diagonal) */
.page-hero{position:relative;overflow:hidden;background:var(--chrome-bg);color:var(--chrome-text);padding-block:var(--sp-8) var(--sp-8);isolation:isolate}
.page-hero::before{content:"";position:absolute;inset:0;z-index:-1;background:radial-gradient(60% 90% at 90% 0%,rgba(47,143,255,.35),transparent 60%),radial-gradient(45% 70% at 0% 100%,rgba(155,115,255,.22),transparent 60%)}
.page-hero::after{content:"";position:absolute;right:-6%;top:-20%;width:42%;height:140%;z-index:-1;background:linear-gradient(135deg,rgba(25,211,255,.16),rgba(47,143,255,0));clip-path:polygon(35% 0,100% 0,65% 100%,0 100%);}
.page-hero h1{font-size:clamp(2.2rem,5vw,3.8rem);max-width:18ch}
.page-hero p{color:var(--chrome-muted);font-size:var(--fs-400);margin-top:var(--sp-4);max-width:58ch}
.page-hero .kicker{color:var(--cyan)}
.page-hero .btn-row{margin-top:var(--sp-6)}

/* sticky mobile action bar: the two actions that turn a visit into a customer */
.mobile-cta{display:none}
@media (max-width:900px){
  .mobile-cta{display:grid;grid-template-columns:1fr 1.15fr 1.5fr;gap:var(--sp-2);position:fixed;left:0;right:0;bottom:0;z-index:90;padding:var(--sp-3) var(--sp-4) calc(var(--sp-3) + env(safe-area-inset-bottom));background:#000;border-top:1px solid var(--chrome-border)}
  .mobile-cta .btn--ghost{border-color:rgba(255,255,255,.35);color:#f3f6fb}
  .mobile-cta .btn--primary{color:#04101f}
  .site-footer{padding-bottom:calc(var(--sp-9) + env(safe-area-inset-bottom))}
}

/* social links in the footer */
.social-row{display:flex;align-items:center;gap:var(--sp-5);flex-wrap:wrap;padding-bottom:var(--sp-6)}
.social-row .footer-h{margin:0}
.social-list{display:flex;gap:var(--sp-3);flex-wrap:wrap}
.social-list a{display:inline-flex;align-items:center;min-height:44px;padding:0 var(--sp-5);border:1px solid var(--chrome-border);border-radius:999px;color:var(--chrome-text);font-weight:600;font-size:var(--fs-200)}
.social-list a:hover{border-color:var(--cyan);color:var(--cyan)}

/* Shared legal navigation and form disclosure, bilingual without changing submission logic. */
.legal-links{display:flex;flex-wrap:wrap;gap:12px 20px;margin-top:var(--sp-5);padding-top:var(--sp-4);border-top:1px solid var(--chrome-border)}.legal-links a{color:var(--chrome-text);text-decoration:underline;text-decoration-color:var(--cyan);text-underline-offset:4px;font-size:var(--fs-200)}.legal-links a:hover{color:var(--cyan)}.legal-form-links{margin:var(--sp-3) 0;color:var(--muted);font-size:var(--fs-200);line-height:1.6}.legal-form-links a{color:var(--cyan);text-decoration:underline;text-underline-offset:3px}html[lang="es"] .legal-form-links [lang="en"],html[lang="en"] .legal-form-links [lang="es"]{display:none}
