/* Genesis Laser Studio — shared site chrome for inner pages.
   Link AFTER styles.css. Uses the design-system tokens. */
*{box-sizing:border-box}
html,body{margin:0;background:#000;color:var(--text-body);font-family:var(--font-body)}
a{text-decoration:none;color:inherit}
::selection{background:var(--gls-green-40);color:#000}
img{display:block}
.wrap{max-width:1180px;margin:0 auto;padding:0 32px}

/* Nav */
.nav{position:sticky;top:0;z-index:30;display:flex;align-items:center;justify-content:space-between;padding:14px 36px;background:rgba(0,0,0,0.78);backdrop-filter:blur(14px);border-bottom:1px solid var(--border-subtle)}
.nav .logo{height:44px}
.nav nav{display:flex;gap:30px}
.nav nav a{font-family:var(--font-display);font-size:12px;font-weight:500;letter-spacing:.09em;text-transform:uppercase;color:var(--text-body);padding-bottom:4px;border-bottom:2px solid transparent;transition:color .14s,border-color .14s}
.nav nav a:hover{color:var(--accent)}
.nav nav a.active{color:var(--accent);text-shadow:var(--glow-text);border-bottom-color:var(--accent)}

/* Buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;height:46px;padding:0 24px;font-family:var(--font-display);font-weight:600;font-size:13px;letter-spacing:.12em;text-transform:uppercase;border-radius:var(--radius-md);border:1px solid transparent;cursor:pointer;transition:all .18s var(--ease-out)}
.btn .lucide{width:16px;height:16px}
.btn-primary{background:var(--accent);color:var(--on-accent);box-shadow:var(--glow-btn)}
.btn-primary:hover{background:var(--accent-hover);box-shadow:var(--glow-md)}
.btn-secondary{background:transparent;color:var(--accent);border-color:var(--accent)}
.btn-secondary:hover{background:var(--gls-green-12);box-shadow:var(--glow-sm)}
.btn-sm{height:38px;padding:0 16px;font-size:11px}

/* Page hero / header band */
.page-hero{position:relative;overflow:hidden;background:#000;background-image:var(--pattern-hex);background-size:56px 96px;background-position:left -16px top 30px;background-repeat:no-repeat;padding:84px 0 64px;border-bottom:1px solid var(--border-subtle)}
.page-eyebrow{font-family:var(--font-display);font-size:12px;font-weight:500;letter-spacing:.26em;text-transform:uppercase;color:var(--accent);margin-bottom:14px;display:flex;align-items:center;gap:12px}
.page-eyebrow::before{content:"";width:22px;height:1px;background:var(--accent);box-shadow:var(--glow-sm)}
.page-title{font-family:var(--font-display);font-weight:700;font-size:46px;line-height:1.05;letter-spacing:-.01em;text-transform:uppercase;color:var(--text-strong);margin:0;max-width:680px}
.page-title .accent{color:var(--accent);text-shadow:var(--glow-text)}
.page-sub{font-size:16px;line-height:1.65;color:var(--text-muted);max-width:560px;margin:20px 0 0}

/* Generic section + heading */
.sec{padding:64px 0;background:#000}
.sec-eyebrow{font-family:var(--font-display);font-size:11px;font-weight:500;letter-spacing:.26em;text-transform:uppercase;color:var(--accent);margin-bottom:10px;display:flex;align-items:center;gap:12px}
.sec-eyebrow::before{content:"";width:20px;height:1px;background:var(--accent);box-shadow:var(--glow-sm)}
.sec-title{font-family:var(--font-display);font-weight:700;font-size:32px;letter-spacing:.02em;text-transform:uppercase;color:var(--text-strong);margin:0 0 32px}
.sec-title.center{text-align:center;justify-content:center}
.sec-title .accent{color:var(--accent);text-shadow:var(--glow-text)}

/* Card grid */
.grid{display:grid;gap:20px}
.card{background:var(--surface-card);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);padding:24px;transition:transform .22s var(--ease-out),box-shadow .22s var(--ease-out),border-color .22s}
.card.hover:hover{transform:translateY(-3px);border-color:var(--border-accent);box-shadow:var(--glow-md),var(--shadow-md)}
.ico-tile{width:50px;height:50px;display:inline-flex;align-items:center;justify-content:center;border-radius:var(--radius-md);background:var(--gls-green-08);border:1px solid var(--border-accent);color:var(--accent);box-shadow:var(--glow-inset);margin-bottom:16px}
.ico-tile .lucide{width:24px;height:24px;stroke-width:1.5}
.card h3{font-family:var(--font-body);font-weight:600;font-size:16px;letter-spacing:.04em;text-transform:uppercase;color:var(--text-strong);margin:0 0 10px}
.card p{font-size:14px;line-height:1.6;color:var(--text-muted);margin:0}

/* CTA band */
.cta{background:var(--gls-ink-900);border-top:1px solid var(--border-subtle);border-bottom:1px solid var(--border-subtle);padding:72px 0;text-align:center}
.cta h2{font-family:var(--font-display);font-weight:700;font-size:34px;line-height:1.12;text-transform:uppercase;color:var(--text-strong);margin:0 0 14px}
.cta h2 .accent{color:var(--accent);text-shadow:var(--glow-text)}
.cta p{font-size:16px;color:var(--text-muted);margin:0 0 28px}

/* Footer */
footer{background:#000;border-top:1px solid var(--border-subtle);padding:52px 0 24px}
.foot-grid{display:grid;grid-template-columns:1.5fr 1fr 1.1fr 1.2fr;gap:36px}
.foot-logo{height:46px;margin-bottom:16px}
.foot-desc{font-size:13px;line-height:1.6;color:var(--text-muted);max-width:250px;margin:0 0 18px}
.socials{display:flex;gap:10px}
.socials a{width:34px;height:34px;display:inline-flex;align-items:center;justify-content:center;border-radius:var(--radius-md);border:1px solid var(--border-accent);color:var(--accent);transition:all .16s}
.socials a:hover{background:var(--gls-green-12);box-shadow:var(--glow-sm)}
.socials .lucide{width:15px;height:15px}
.foot-h{font-family:var(--font-display);font-size:12px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--accent);margin-bottom:16px}
.foot-col a.link{display:block;font-size:13px;color:var(--text-muted);margin-bottom:10px;transition:color .14s}
.foot-col a.link:hover{color:var(--accent)}
.foot-contact{display:flex;align-items:center;gap:9px;font-size:13px;color:var(--text-muted);margin-bottom:12px}
.foot-contact .lucide{width:15px;height:15px;color:var(--accent);flex-shrink:0}
.foot-bottom{border-top:1px solid var(--gls-ink-700);margin-top:36px;padding-top:18px;display:flex;justify-content:space-between;align-items:center;font-size:12px;color:var(--text-disabled)}
.foot-bottom .legal{display:flex;gap:22px}
.foot-bottom a{transition:color .14s}.foot-bottom a:hover{color:var(--accent)}

/* Mobile hamburger button (hidden on desktop) */
.nav .menu-btn{display:none;align-items:center;justify-content:center;width:42px;height:42px;background:transparent;border:1px solid var(--border-subtle);border-radius:var(--radius-md);color:var(--text-strong);cursor:pointer}
.nav .menu-btn .lucide{width:20px;height:20px}

@media(max-width:820px){
  .wrap{padding:0 20px}
  .nav{flex-wrap:wrap;padding:12px 18px}
  .nav .logo{height:38px}
  .nav > .btn{display:none}
  .nav .menu-btn{display:inline-flex;margin-left:auto}
  .nav nav{order:5;width:100%;display:none;flex-direction:column;gap:0;margin-top:10px;border-top:1px solid var(--border-subtle);padding-top:6px}
  .nav.open nav{display:flex}
  .nav nav a{padding:12px 2px;border-bottom:1px solid var(--gls-ink-700)}
  .page-hero{padding:60px 0 48px}
  .page-title{font-size:32px}
  .sec{padding:48px 0}
  .foot-grid{grid-template-columns:1fr 1fr}
  .foot-bottom{flex-direction:column;gap:10px;text-align:center}
}
@media(max-width:520px){
  .page-title{font-size:26px}
  .foot-grid{grid-template-columns:1fr}
}
