/* HotSpot Barbershop — pine + signal orange, Sansita / Gantari */
:root{
  --c-primary:#ff5b2e; --c-primary-dark:#e2441a; --c-accent:#ffd166;
  --c-ink:#12302a; --c-muted:#4f625c; --c-bg:#f7f2e8; --c-surface:#efe7d8;
  --c-dark:#12302a; --c-on-dark:#f7f2e8; --c-border:#d9cfbd;
  --mint:#d6ebdf; --hot:#ff5b2e;
  --f-head:"Sansita",Georgia,serif; --f-body:"Gantari",system-ui,sans-serif; --fw-head:800;
  --radius:4px; --radius-sm:3px;
}
body{background:var(--c-bg);color:var(--c-ink);font-family:var(--f-body)}
h1,h2,h3{font-family:var(--f-head);font-style:italic;letter-spacing:-.01em;line-height:1.02}
h2{font-size:clamp(2rem,4.4vw,3.2rem);margin:0 0 .5em}
a{color:var(--c-ink)}
.demo-banner{background:var(--hot);color:#fff;font-weight:600}
.btn{border-radius:3px;font-weight:700;letter-spacing:.01em;box-shadow:none}
.hs-btn-hot{background:var(--hot);color:#fff;border-color:var(--hot);box-shadow:4px 4px 0 var(--c-ink)}
.hs-btn-hot:hover{color:#fff;background:var(--c-primary-dark);transform:translate(-1px,-1px);box-shadow:6px 6px 0 var(--c-ink)}
.hs-btn-line{background:transparent;color:var(--c-ink);border-color:var(--c-ink)}
.hs-btn-line:hover{background:var(--c-ink);color:var(--c-bg)}

/* header */
.site-header{background:var(--c-bg);border-bottom:2px solid var(--c-ink);backdrop-filter:none}
.brand-word{font-family:var(--f-head);font-style:italic;font-size:1.55rem;display:flex;flex-direction:column;line-height:.95}
.brand-word em{color:var(--hot);font-style:italic}
.brand-word small{font-family:var(--f-body);font-style:normal;font-size:.68rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--c-muted);margin-top:3px}
.nav-links a{font-weight:600}
.nav-links a:hover{background:var(--mint)}
.nav-cta{background:var(--c-ink);color:var(--c-bg)}
.nav-cta:hover{color:var(--c-bg);background:#0a1f1b}
.nav-toggle{border:2px solid var(--c-ink);background:var(--c-bg);border-radius:3px}
.mobile-menu{background:var(--c-bg)}
.mobile-menu .btn{background:var(--hot);color:#fff}

/* hero */
.hs-hero{padding-top:clamp(28px,5vw,64px);position:relative;overflow:hidden}
.hs-hero::before{content:"";position:absolute;right:-180px;top:-140px;width:620px;height:620px;border-radius:50%;
  background:repeating-radial-gradient(circle,rgba(255,91,46,.16) 0 2px,transparent 2px 34px);pointer-events:none}
.hs-hero-grid{display:grid;gap:36px;align-items:end;position:relative}
.hs-loc{display:flex;align-items:center;gap:10px;font-weight:700;font-size:.92rem;margin:0 0 18px}
.ping{width:12px;height:12px;border-radius:50%;background:var(--hot);position:relative;flex:none}
.ping::after{content:"";position:absolute;inset:-6px;border-radius:50%;border:2px solid var(--hot);animation:ping 2s ease-out infinite}
@keyframes ping{from{transform:scale(.5);opacity:1}to{transform:scale(1.8);opacity:0}}
@media (prefers-reduced-motion:reduce){.ping::after{animation:none}}
.hs-hero h1{font-size:clamp(3.6rem,11vw,8.6rem);margin:0;font-weight:900;color:var(--c-ink)}
.hs-dot{color:var(--hot)}
.hs-lead{font-size:clamp(1.08rem,1.8vw,1.28rem);max-width:520px;margin:22px 0 28px;color:var(--c-muted)}
.hs-ctas{display:flex;flex-wrap:wrap;gap:14px}
.hs-hero-media{position:relative;z-index:2;margin:0 0 -60px}
.hs-hero-media img{width:100%;aspect-ratio:4/4.4;object-fit:cover;border:2px solid var(--c-ink);border-radius:4px;display:block}
.hs-ticket{position:absolute;left:-14px;bottom:84px;background:var(--mint);border:2px solid var(--c-ink);padding:14px 18px;max-width:260px;transform:rotate(-3deg);box-shadow:5px 5px 0 var(--c-ink)}
.hs-ticket b{display:block;font-family:var(--f-head);font-style:italic;font-size:1.35rem}
.hs-ticket span{font-size:.9rem}
.hs-today{background:var(--c-ink);color:var(--c-bg);margin-top:0;position:relative;z-index:1;padding-top:76px}
.hs-today-row{display:flex;flex-wrap:wrap;gap:8px 22px;align-items:baseline;padding-top:18px;padding-bottom:18px}
.hs-today-label{font-family:var(--f-head);font-style:italic;font-size:1.4rem;color:var(--c-accent)}
.hs-today-note{opacity:.8;font-size:.95rem}
@media(min-width:900px){
  .hs-hero-grid{grid-template-columns:1.15fr .85fr}
  .hs-hero-media{margin-bottom:-90px}
  .hs-today{padding-top:0}
  .hs-today-row{padding-right:42%}
}

/* menu */
.hs-menu{padding:clamp(64px,9vw,110px) 0}
.hs-menu-grid{display:grid;gap:36px}
.hs-pay{background:var(--c-accent);display:inline-block;padding:10px 14px;border:2px solid var(--c-ink);font-size:.98rem}
.hs-board{display:grid;gap:28px;background:#fffaf1;border:2px solid var(--c-ink);padding:clamp(20px,3vw,36px);box-shadow:8px 8px 0 var(--mint)}
.hs-col h3{font-size:1.5rem;margin:0 0 10px;color:var(--hot)}
.hs-list{list-style:none;margin:0;padding:0}
.hs-list li{display:grid;grid-template-columns:1fr auto 4.6em;gap:10px;align-items:baseline;padding:11px 0;border-bottom:1px dashed var(--c-border)}
.hs-list span{font-weight:600}
.hs-list i{display:block;font-style:normal;font-weight:400;font-size:.85rem;color:var(--c-muted)}
.hs-list b{font-family:var(--f-head);font-style:italic;font-size:1.3rem}
.hs-list em{font-style:normal;font-size:.82rem;color:var(--c-muted);text-align:right}
@media(min-width:900px){.hs-menu-grid{grid-template-columns:.7fr 1.6fr}.hs-board{grid-template-columns:1fr 1fr;gap:40px}}

/* walk-in */
.hs-walkin{background:var(--hot);color:#fff;padding:clamp(56px,8vw,96px) 0}
.hs-walkin-grid{display:grid;gap:36px;align-items:center}
.hs-quote-mark{font-family:var(--f-head);font-size:7rem;line-height:.5;margin:0;color:var(--c-ink)}
.hs-walkin-text{font-family:var(--f-head);font-style:italic;font-size:clamp(2rem,5vw,3.6rem);line-height:1.05;margin:.1em 0 .3em}
.hs-walkin-src{font-weight:600;opacity:.9;margin:0}
.hs-walkin-big{max-width:820px}

/* shop */
.hs-shop{padding:clamp(64px,9vw,110px) 0;background:var(--c-surface)}
.hs-shop-grid{display:grid;gap:40px;align-items:center}
.hs-shop-photo{margin:0;position:relative}
.hs-shop-photo img{width:100%;aspect-ratio:9/10;object-fit:cover;border-radius:50% 50% 4px 4px;border:2px solid var(--c-ink)}
.hs-shop-copy q{font-weight:700;color:var(--hot)}
.hs-tags{list-style:none;margin:24px 0 0;padding:0;display:flex;flex-wrap:wrap;gap:8px}
.hs-tags li{border:1.5px solid var(--c-ink);padding:6px 11px;font-size:.9rem;font-weight:600;background:var(--c-bg)}
@media(min-width:900px){.hs-shop-grid{grid-template-columns:.85fr 1.15fr;gap:72px}}

/* gallery */
.hs-gallery{padding:clamp(64px,9vw,110px) 0}
.hs-gallery-head{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:8px 24px;margin-bottom:24px}
.hs-gallery-head h2{margin:0}
.hs-mosaic{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.hs-mosaic button{padding:0;border:2px solid var(--c-ink);background:none;cursor:zoom-in;overflow:hidden;border-radius:3px}
.hs-mosaic img{width:100%;height:100%;object-fit:cover;aspect-ratio:1;display:block;transition:transform .4s}
.hs-mosaic button:hover img{transform:scale(1.04)}
@media(min-width:900px){.hs-mosaic{grid-template-columns:1.4fr 1fr 1fr;grid-template-rows:220px 220px}
  .hs-mosaic .m1{grid-row:span 2}.hs-mosaic .m1 img{aspect-ratio:auto}.hs-mosaic .m4{grid-column:2 / span 2}.hs-mosaic .m4 img,.hs-mosaic .m2 img,.hs-mosaic .m3 img{aspect-ratio:auto}}

/* reviews */
.hs-reviews{background:var(--c-ink);color:var(--c-bg);padding:clamp(64px,9vw,110px) 0}
.hs-reviews h2{color:var(--c-bg)}
.hs-review-row{display:grid;gap:22px;margin-top:20px}
.hs-review{margin:0;background:var(--c-bg);color:var(--c-ink);padding:26px;border-left:8px solid var(--hot)}
.hs-review blockquote{margin:0 0 14px;font-size:1.12rem;line-height:1.5}
.hs-review figcaption{font-size:.88rem;color:var(--c-muted);font-weight:600}
.hs-review--tilt{background:var(--mint)}
@media(min-width:900px){.hs-review-row{grid-template-columns:1.2fr 1fr 1fr;align-items:start}.hs-review--tilt{margin-top:40px}}

/* find */
.hs-find{padding:clamp(64px,9vw,110px) 0}
.hs-find-grid{display:grid;gap:36px}
.hs-addr{font-family:var(--f-head);font-style:italic;font-size:1.8rem;line-height:1.15}
.hs-link{font-weight:700;color:var(--hot)}
.hs-hours{width:100%;border-collapse:collapse;margin:20px 0 14px;border:2px solid var(--c-ink);background:#fffaf1}
.hs-hours caption{text-align:left;font-family:var(--f-head);font-style:italic;font-size:1.4rem;padding-bottom:6px}
.hs-hours th,.hs-hours td{padding:10px 14px;text-align:left;border-bottom:1px dashed var(--c-border)}
.hs-map{border:2px solid var(--c-ink);border-radius:4px;min-height:360px}
.hs-map iframe{min-height:360px}
@media(min-width:900px){.hs-find-grid{grid-template-columns:1fr 1.1fr;align-items:start}.hs-map,.hs-map iframe{min-height:560px}}

/* contact */
.hs-contact{background:var(--mint);padding:clamp(64px,9vw,110px) 0;border-top:2px solid var(--c-ink)}
.hs-contact-grid{display:grid;gap:36px;align-items:center}
.hs-form{background:var(--c-bg);border:2px solid var(--c-ink);border-radius:4px;box-shadow:8px 8px 0 var(--c-ink);color:var(--c-ink)}
.hs-form input,.hs-form textarea{border:2px solid var(--c-ink);border-radius:3px;background:#fff}
@media(min-width:900px){.hs-contact-grid{grid-template-columns:1fr 1.1fr}}

/* footer */
.hs-footer{background:var(--c-ink);color:var(--c-bg);padding:48px 0 28px}
.hs-footer a{color:var(--c-bg)}
.hs-footer-grid{display:grid;gap:18px}
.hs-footer-brand{font-family:var(--f-head);font-style:italic;font-size:3rem;margin:0;line-height:1}
.hs-footer-brand em{color:var(--hot)}
.hs-footer-bottom{display:flex;justify-content:space-between;gap:12px;border-top:1px solid rgba(247,242,232,.2);margin-top:24px;padding-top:16px;font-size:.85rem;opacity:.8}
@media(min-width:900px){.hs-footer-grid{grid-template-columns:1fr 1.3fr 1fr;align-items:end}.hs-footer{padding-bottom:28px}}

.call-bar{background:var(--c-bg);border-top:2px solid var(--c-ink)}
.call-bar .btn{box-shadow:none}

/* lightbox */
.lightbox{background:rgba(18,48,42,.94)}
.lightbox-btn{border-radius:3px}

.hs-walkin-cav{font-size:1.05rem;margin:0 0 14px;max-width:460px}

.hs-today-note+.hs-today-note::before{content:"·";margin-right:22px;opacity:.6}
