    /* ---------- Theme colors (grayscale -> dark) ---------- */
    :root{
      --bg-900:#0b0b0c;
      --bg-800:#0f1112;
      --bg-700:#17181a;
      --panel:#141416;
      --muted:#9aa0a6;
      --accent:#bfbfbf; /* subtle light gray */
      --glass: rgba(255,255,255,0.03);
      --glass-2: rgba(255,255,255,0.02);
      --button-bg: rgba(255,255,255,0.04);
      --card-shadow: 0 6px 18px rgba(0,0,0,0.6);
    }

    /* Basic reset */
    *{box-sizing:border-box}
    html,body{height:100%;}
    body{
      margin:0;
      font-family: 'Source Sans 3', system-ui, -apple-system, 'Segoe UI', Roboto, 'Helvetica Neue', Arial;
      color:var(--accent);
      background:var(--bg-900);
      -webkit-font-smoothing:antialiased;
      -moz-osx-font-smoothing:grayscale;
      overflow-x:hidden;
    }

    /* ---------- Animated background canvas ---------- */
    #bg-canvas{
      position:fixed; inset:0; z-index:-2; width:100%; height:100%;
      background: linear-gradient(180deg, rgba(10,10,11,1) 0%, rgba(18,18,19,1) 100%);
    }

    .grain{
      position:fixed; inset:0; z-index:-1; pointer-events:none; opacity:0.06; mix-blend-mode:overlay;
      background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="200" height="200"><filter id="n"><feTurbulence baseFrequency="0.9" numOctaves="1" stitchTiles="stitch"/></filter><rect width="100%" height="100%" filter="url(%23n)"/></svg>');
    }

    header{
      position:sticky; top:0; z-index:40; backdrop-filter: blur(6px);
      background: linear-gradient(180deg, rgba(20,20,20,0.6), rgba(8,8,8,0.2));
      border-bottom:1px solid rgba(255,255,255,0.03);
    }

    .container{max-width:1100px; margin:0 auto; padding:1rem;}
    .nav{display:flex; align-items:center; gap:1rem; justify-content:space-between}
    .brand{display:flex; gap:0.75rem; align-items:center}
    .logo{
      width:44px; height:44px; border-radius:8px; background:linear-gradient(135deg,#222,#111); display:flex; align-items:center; justify-content:center; font-weight:700; font-family:Montserrat, sans-serif; color:var(--accent);
      box-shadow: 0 3px 10px rgba(0,0,0,0.5);
    }
    .logo img {
      width: 30px;
      height: 30px;
    }
    nav a{color:var(--muted); text-decoration:none; font-weight:600; font-size:0.95rem}
    nav a.active, nav a:hover{color:var(--accent)}

    /* ---------- Hero ---------- */
    main{padding:2.25rem 0 6rem}
    .hero{display:grid; grid-template-columns:1fr 360px; gap:2rem; align-items:center}
    .hero-card{background:linear-gradient(180deg, rgba(255,255,255,0.02), rgba(255,255,255,0.01)); padding:2rem; border-radius:14px; box-shadow:var(--card-shadow)}
    .eyebrow{color:var(--muted); font-size:0.85rem; letter-spacing:0.08em}
    h1{margin:0 0 0.35rem; font-family:Montserrat, sans-serif; font-size:2.1rem}
    p.lead{color:var(--muted); margin:0 0 1rem}

    .cta-group{display:flex; gap:0.75rem; margin-top:1rem}
    .btn{background:var(--button-bg); padding:0.6rem 0.9rem; border-radius:9px; border:1px solid rgba(255,255,255,0.03); cursor:pointer; color:var(--accent); font-weight:600}
    .btn.primary{background:linear-gradient(90deg, rgba(255,255,255,0.04), rgba(255,255,255,0.02));}

    /* ---------- Sections ---------- */
    section{margin-top:2rem}
    h2.section-title{font-family:Montserrat, sans-serif; margin:0 0 0.75rem; font-size:1.25rem}

    /* Price list */
    .price-grid{display:grid; grid-template-columns:repeat(auto-fit,minmax(180px,1fr)); gap:1rem}
    .price-card{background:var(--panel); padding:1rem; border-radius:10px; border:1px solid rgba(255,255,255,0.02);}
    .price-item{display:flex; justify-content:space-between; align-items:center; padding:0.3rem 0}
    .price-item span{color:var(--muted)}

    /* Barbers */
    .barbers{display:grid; grid-template-columns:repeat(auto-fit,minmax(220px,1fr)); gap:1rem}
    .barber{display:flex; gap:0.9rem; align-items:center; background:var(--panel); padding:0.9rem; border-radius:10px}
    .barber-img{width:72px; height:72px; border-radius:10px; background:linear-gradient(135deg,#1a1a1a,#0f0f0f); display:flex; align-items:center; justify-content:center; font-weight:700}
    .barber-img img {
      width: 90px;
      height: 90px;
    }
    .barber h3{margin:0; font-size:1rem}
    .barber p{margin:0; color:var(--muted); font-size:0.9rem}

    /* Gallery */
    .gallery{display:grid; grid-template-columns:repeat(auto-fit,minmax(140px,1fr)); gap:0.6rem}
    .shot{position:relative; border-radius:8px; overflow:hidden; aspect-ratio:4/5; background:#111; display:flex; align-items:center; justify-content:center}
    .shot img{width:100%; height:100%; object-fit:cover; display:block}
    .shot .meta{position:absolute; left:8px; bottom:8px; font-size:0.75rem; background:rgba(0,0,0,0.45); padding:4px 6px; border-radius:6px}

    /* Contact & Schedule */
    .contact-grid{display:grid; grid-template-columns:1fr 360px; gap:1rem}
    .contact-card{background:var(--panel); padding:1rem; border-radius:12px}
    form .row{display:flex; gap:0.5rem}
    form input, form textarea, form select{width:100%; padding:0.6rem; border-radius:8px; border:1px solid rgba(255,255,255,0.03); background:transparent; color:var(--accent)}
    form label{font-size:0.85rem; color:var(--muted); display:block; margin-bottom:6px}

    footer{margin-top:3rem; padding:2rem 0; color:var(--muted); text-align:center}

    /* Lightbox */
    .lightbox{position:fixed; inset:0; display:none; align-items:center; justify-content:center; background:rgba(0,0,0,0.75); z-index:80}
    .lightbox.active{display:flex}
    .lightbox img{max-width:90%; max-height:80%; border-radius:10px}

    /* Responsive tweaks */
    @media (max-width:950px){
      .hero{grid-template-columns:1fr}
      .contact-grid{grid-template-columns:1fr}
    }
    @media (max-width:520px){
      nav a{display:none}
      .nav{gap:0.5rem}
    }

    /* small helper */
    .muted{color:var(--muted)}
