/* ============================================================
   MAX BARBER SHOP — Colors & Type foundations
   Palette: Black · White · Silver (cool, premium, masculine)
   Load fonts via Google Fonts (substitutes — see README):
   Anton (display), Oswald (subhead/UI), Barlow (body)
   ============================================================ */

@import url('https://fonts.googleapis.com/css2?family=Anton&family=Oswald:wght@300;400;500;600;700&family=Barlow:wght@300;400;500;600;700&display=swap');

:root {
  /* ---- Core palette ---- */
  --ink:        #0A0A0B;   /* near-black background */
  --ink-2:      #121316;   /* raised panel */
  --charcoal:   #1A1C20;   /* cards / strips */
  --charcoal-2: #24272D;   /* hover / borders-strong */
  --graphite:   #3A3D44;   /* hairline accents on dark */

  --white:      #FFFFFF;
  --paper:      #F5F6F8;   /* light section bg */

  /* ---- Silver ramp ---- */
  --silver-100: #F7F8FA;
  --silver-200: #E2E4E8;
  --silver-300: #C4C8CF;   /* primary silver */
  --silver-400: #9197A1;
  --silver-500: #6E747E;
  --silver-600: #4B515A;

  /* ---- Text ---- */
  --fg-1: #F5F6F8;         /* primary on dark */
  --fg-2: #B4B9C1;         /* secondary on dark */
  --fg-3: #7E848E;         /* muted / captions */
  --fg-invert-1: #0A0A0B;  /* primary on light */
  --fg-invert-2: #4B515A;  /* secondary on light */

  /* ---- Brand accent (metallic silver sweep) ---- */
  --accent: #C4C8CF;
  --silver-sweep: linear-gradient(180deg,#F7F8FA 0%,#C4C8CF 48%,#8A909A 52%,#D2D6DC 100%);
  --silver-sweep-h: linear-gradient(100deg,#EDEEF1 0%,#9197A1 50%,#E2E4E8 100%);

  /* ---- Lines / borders ---- */
  --hairline:    rgba(255,255,255,0.08);
  --hairline-2:  rgba(255,255,255,0.14);
  --border-light: #E2E4E8;

  /* ---- Shadows / elevation ---- */
  --shadow-sm: 0 1px 2px rgba(0,0,0,0.4);
  --shadow-md: 0 8px 24px rgba(0,0,0,0.45);
  --shadow-lg: 0 24px 60px rgba(0,0,0,0.55);
  --shadow-glow: 0 0 0 1px rgba(196,200,207,0.18), 0 18px 50px rgba(0,0,0,0.6);

  /* ---- Radii ---- */
  --r-xs: 4px;
  --r-sm: 8px;
  --r-md: 12px;
  --r-lg: 18px;
  --r-pill: 999px;

  /* ---- Spacing scale (4px base) ---- */
  --s-1: 4px;  --s-2: 8px;  --s-3: 12px; --s-4: 16px;
  --s-5: 24px; --s-6: 32px; --s-7: 48px; --s-8: 64px;
  --s-9: 96px; --s-10: 128px;

  /* ---- Type families ---- */
  --font-display: 'Anton', 'Oswald', 'Arial Narrow', sans-serif;
  --font-head:    'Oswald', 'Arial Narrow', sans-serif;
  --font-body:    'Barlow', system-ui, sans-serif;

  /* ---- Fluid type scale ---- */
  --t-hero:  clamp(56px, 9vw, 130px);
  --t-h1:    clamp(40px, 6vw, 76px);
  --t-h2:    clamp(30px, 4vw, 48px);
  --t-h3:    22px;
  --t-lead:  clamp(17px, 1.5vw, 21px);
  --t-body:  16px;
  --t-small: 14px;
  --t-eyebrow: 13px;

  --ls-eyebrow: 0.32em;
  --ls-display: 0.01em;
}

/* ============================================================
   Semantic element styles — opt in by adding the brand scope
   ============================================================ */

.mbs {
  font-family: var(--font-body);
  color: var(--fg-1);
  background: var(--ink);
  font-size: var(--t-body);
  line-height: 1.6;
  -webkit-font-smoothing: antialiased;
}

.mbs .eyebrow {
  font-family: var(--font-head);
  font-size: var(--t-eyebrow);
  font-weight: 600;
  letter-spacing: var(--ls-eyebrow);
  text-transform: uppercase;
  color: var(--silver-400);
}

.mbs h1, .mbs .h1 {
  font-family: var(--font-display);
  font-size: var(--t-h1);
  line-height: 0.98;
  letter-spacing: var(--ls-display);
  text-transform: uppercase;
  font-weight: 400;
  color: var(--fg-1);
}
.mbs .hero-title {
  font-family: var(--font-display);
  font-size: var(--t-hero);
  line-height: 0.9;
  text-transform: uppercase;
}
.mbs h2, .mbs .h2 {
  font-family: var(--font-display);
  font-size: var(--t-h2);
  line-height: 1.0;
  text-transform: uppercase;
  font-weight: 400;
  color: var(--fg-1);
}
.mbs h3, .mbs .h3 {
  font-family: var(--font-head);
  font-size: var(--t-h3);
  font-weight: 600;
  letter-spacing: 0.02em;
  text-transform: uppercase;
  color: var(--fg-1);
}
.mbs p { color: var(--fg-2); }
.mbs .lead { font-size: var(--t-lead); color: var(--fg-2); }
.mbs .muted { color: var(--fg-3); }

/* Metallic text treatment for accents */
.mbs .metal {
  background: var(--silver-sweep);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
}


/* ===== website styles ===== */
/* Max Barber Shop — website styles (consumes colors_and_type.css tokens) */

*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{
  font-family:var(--font-body);
  background:var(--ink);
  color:var(--fg-1);
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}
a{color:inherit;text-decoration:none}
img,svg{display:block}
::selection{background:var(--silver-300);color:var(--ink)}

.wrap{max-width:1240px;margin:0 auto;padding:0 32px}
.section{padding:var(--s-9) 0}
@media(max-width:760px){.section{padding:var(--s-8) 0}.wrap{padding:0 20px}}

/* ---------- Eyebrow / heading kit ---------- */
.eyebrow{
  font-family:var(--font-head);font-size:13px;font-weight:600;
  letter-spacing:.32em;text-transform:uppercase;color:var(--silver-400);
  display:inline-flex;align-items:center;gap:12px;white-space:nowrap;
}
.eyebrow::before{content:"";width:26px;height:1px;background:var(--silver-500)}
.eyebrow.center::after{content:"";width:26px;height:1px;background:var(--silver-500)}
.eyebrow.center{justify-content:center}

.display{font-family:var(--font-display);text-transform:uppercase;line-height:.92;letter-spacing:.01em}
.metal{
  background:var(--silver-sweep);-webkit-background-clip:text;background-clip:text;color:transparent;
}

/* ---------- Buttons ---------- */
.btn{
  font-family:var(--font-head);font-weight:600;letter-spacing:.14em;text-transform:uppercase;
  font-size:13px;display:inline-flex;align-items:center;gap:10px;cursor:pointer;border:none;
  padding:16px 30px;border-radius:var(--r-xs);transition:transform .18s ease,background .2s ease,color .2s ease,box-shadow .2s ease;
}
.btn-primary{background:var(--silver-sweep-h);color:var(--ink);box-shadow:0 8px 24px rgba(0,0,0,.4)}
.btn-primary:hover{transform:translateY(-2px);box-shadow:0 12px 30px rgba(0,0,0,.55)}
.btn-primary:active{transform:translateY(0)}
.btn-ghost{background:transparent;color:var(--fg-1);border:1px solid var(--graphite)}
.btn-ghost:hover{border-color:var(--silver-300);background:rgba(255,255,255,.04)}
.btn-ghost:active{transform:scale(.98)}
.btn .lucide{width:16px;height:16px}

/* ---------- Photo frame placeholder ---------- */
.photo{
  position:relative;overflow:hidden;background:
    radial-gradient(120% 120% at 30% 20%,#23262C 0%,#141518 60%,#0C0D0F 100%);
  border:1px solid var(--hairline);display:flex;align-items:center;justify-content:center;
}
.photo::after{
  content:"";position:absolute;inset:0;opacity:.5;pointer-events:none;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2'/%3E%3C/filter%3E%3Crect width='160' height='160' filter='url(%23n)' opacity='0.06'/%3E%3C/svg%3E");
}
.photo .ph-tag{
  position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;gap:10px;
  color:var(--silver-500);font-family:var(--font-head);font-size:11px;letter-spacing:.28em;text-transform:uppercase;
}
.photo .ph-tag .lucide{width:30px;height:30px;stroke-width:1.3}
.photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:grayscale(.28) contrast(1.03) brightness(.97)}
/* full-bleed backgrounds: tuck the tag into a corner so it never bleeds behind copy */
.hero-bg .ph-tag,.cta .photo .ph-tag,.loc-map .ph-tag{
  position:absolute;right:16px;bottom:14px;flex-direction:row;gap:8px;opacity:.5;font-size:10px;
}
.hero-bg .ph-tag .lucide,.cta .photo .ph-tag .lucide,.loc-map .ph-tag .lucide{width:16px;height:16px}

/* ---------- Header ---------- */
.hdr{position:fixed;top:0;left:0;right:0;z-index:50;transition:background .3s ease,backdrop-filter .3s ease,border-color .3s ease;border-bottom:1px solid transparent}
.hdr.scrolled{background:rgba(10,10,11,.86);backdrop-filter:blur(14px);border-bottom:1px solid var(--hairline)}
.hdr-in{display:flex;align-items:center;justify-content:space-between;height:84px}
.hdr-nav{display:flex;align-items:center;gap:38px}
.hdr-nav a{font-family:var(--font-head);font-size:13px;font-weight:500;letter-spacing:.18em;text-transform:uppercase;color:var(--fg-2);position:relative;padding:6px 0;transition:color .2s}
.hdr-nav a:hover{color:var(--fg-1)}
.hdr-nav a::after{content:"";position:absolute;left:0;bottom:0;height:1px;width:0;background:var(--silver-300);transition:width .25s ease}
.hdr-nav a:hover::after{width:100%}
.hdr-logo{display:flex;align-items:center;gap:12px}
.hdr-logo img{height:42px}
.hdr-cta{display:flex;align-items:center;gap:18px}
.hdr-phone{display:flex;align-items:center;gap:8px;color:var(--fg-1);font-family:var(--font-head);font-weight:600;letter-spacing:.06em;font-size:14px}
.hdr-phone .lucide{width:16px;height:16px;color:var(--silver-400)}
.burger{display:none;background:none;border:1px solid var(--graphite);border-radius:6px;width:46px;height:46px;align-items:center;justify-content:center;color:var(--fg-1);cursor:pointer}
.burger .lucide{width:22px;height:22px}
@media(max-width:980px){.hdr-nav,.hdr-phone{display:none}.burger{display:flex}}

/* mobile drawer */
.drawer{position:fixed;inset:0;z-index:60;background:rgba(10,10,11,.97);backdrop-filter:blur(8px);display:flex;flex-direction:column;padding:32px;transform:translateY(-100%);transition:transform .35s cubic-bezier(.4,0,.2,1);opacity:0;pointer-events:none}
.drawer.open{transform:translateY(0);opacity:1;pointer-events:auto}
.drawer-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:48px}
.drawer-top img{height:40px}
.drawer a{font-family:var(--font-display);font-size:40px;text-transform:uppercase;color:var(--fg-1);padding:14px 0;border-bottom:1px solid var(--hairline)}
.drawer .close{background:none;border:1px solid var(--graphite);border-radius:6px;width:46px;height:46px;color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center}

/* ---------- Hero ---------- */
.hero{position:relative;min-height:100vh;display:flex;align-items:center;padding-top:84px;overflow:hidden}
.hero-bg{position:absolute;inset:0;z-index:0}
.hero-bg .photo{width:100%;height:100%;border:none}
.hero-bg img{filter:grayscale(.62) brightness(.62) contrast(1.05)}
.hero-bg::after{content:"";position:absolute;inset:0;background:
  linear-gradient(90deg,rgba(10,10,11,.94) 0%,rgba(10,10,11,.72) 48%,rgba(10,10,11,.5) 100%),
  linear-gradient(0deg,rgba(10,10,11,.96) 0%,rgba(10,10,11,.25) 42%,rgba(10,10,11,.55) 100%)}
.hero-in{position:relative;z-index:2;max-width:760px;text-shadow:0 2px 24px rgba(10,10,11,.55)}
.hero h1{font-family:var(--font-display);font-size:clamp(42px,7vw,104px);text-transform:uppercase;line-height:.96;margin:22px 0 0}
.hero h1 .metal,.hero h1 .line2{display:block;white-space:nowrap}
.hero .lead{margin:26px 0 36px;max-width:540px;font-size:var(--t-lead);color:var(--fg-2)}
.hero-actions{display:flex;gap:16px;flex-wrap:wrap}
.hero-rating{display:flex;align-items:center;gap:14px;margin-top:40px;color:var(--fg-2);font-size:14px}
.stars{display:inline-flex;gap:3px;color:var(--silver-200)}
.stars .lucide{width:17px;height:17px;fill:currentColor;stroke:none}
.hero-scroll{position:absolute;bottom:30px;left:50%;transform:translateX(-50%);z-index:2;color:var(--fg-3);font-family:var(--font-head);font-size:11px;letter-spacing:.3em;text-transform:uppercase;display:flex;flex-direction:column;align-items:center;gap:8px}
.hero-scroll .lucide{width:18px;height:18px;animation:bob 1.8s ease-in-out infinite}
@keyframes bob{0%,100%{transform:translateY(0)}50%{transform:translateY(6px)}}

/* ---------- Info strip ---------- */
.strip{background:var(--charcoal);border-top:1px solid var(--hairline);border-bottom:1px solid var(--hairline)}
.strip-grid{display:grid;grid-template-columns:repeat(3,1fr)}
.strip-item{display:flex;align-items:center;gap:18px;padding:34px 28px;border-right:1px solid var(--hairline)}
.strip-item:last-child{border-right:none}
.strip-ico{width:52px;height:52px;border-radius:50%;border:1px solid var(--graphite);display:flex;align-items:center;justify-content:center;flex:none;color:var(--silver-200)}
.strip-ico .lucide{width:22px;height:22px}
.strip-item .k{font-family:var(--font-head);font-size:11px;letter-spacing:.26em;text-transform:uppercase;color:var(--silver-400);margin-bottom:5px}
.strip-item .v{font-family:var(--font-head);font-weight:600;font-size:17px;color:var(--fg-1);letter-spacing:.02em}
@media(max-width:760px){.strip-grid{grid-template-columns:1fr}.strip-item{border-right:none;border-bottom:1px solid var(--hairline)}}

/* ---------- About ---------- */
.about-grid{display:grid;grid-template-columns:1.05fr 1fr;gap:72px;align-items:center}
.about-photos{display:grid;grid-template-columns:1fr 1fr;grid-template-rows:200px 200px;gap:16px}
.about-photos .photo{border-radius:var(--r-sm)}
.about-photos .tall{grid-row:span 2;height:100%}
.about-copy h2{font-size:var(--t-h2);margin:18px 0 22px}
.about-copy p{margin-bottom:18px;color:var(--fg-2)}
.about-feats{display:flex;flex-direction:column;gap:14px;margin:28px 0 34px}
.about-feats li{display:flex;align-items:center;gap:14px;list-style:none;font-family:var(--font-head);letter-spacing:.04em;color:var(--fg-1);font-size:15px}
.about-feats .tick{width:26px;height:26px;border-radius:50%;background:var(--silver-sweep-h);color:var(--ink);display:flex;align-items:center;justify-content:center;flex:none}
.about-feats .tick .lucide{width:15px;height:15px;stroke-width:3}
@media(max-width:880px){.about-grid{grid-template-columns:1fr;gap:40px}}

/* stat band */
.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;margin-top:8px}
.stat .n{font-family:var(--font-display);font-size:54px;line-height:1;color:var(--fg-1)}
.stat .n .metal{font-family:var(--font-display)}
.stat .l{font-family:var(--font-head);font-size:12px;letter-spacing:.2em;text-transform:uppercase;color:var(--silver-400);margin-top:8px}
@media(max-width:760px){.stats{grid-template-columns:1fr 1fr;gap:32px 16px}}

/* ---------- Services ---------- */
.sec-head{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:54px}
.sec-head.center{flex-direction:column;align-items:center;text-align:center}
.sec-head h2{font-size:var(--t-h2);margin-top:16px}
.sec-head .sub{color:var(--fg-3);max-width:460px}
.svc-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.svc{position:relative;background:var(--charcoal);border:1px solid var(--hairline);border-radius:var(--r-md);overflow:hidden;transition:transform .25s ease,border-color .25s ease,box-shadow .25s ease}
.svc:hover{transform:translateY(-6px);border-color:var(--silver-600);box-shadow:var(--shadow-md)}
.svc-photo{height:188px;position:relative}
.svc-photo .photo{width:100%;height:100%;border:none;border-radius:0}
.svc-num{position:absolute;top:14px;left:14px;z-index:2;font-family:var(--font-display);font-size:14px;color:var(--silver-300);background:rgba(10,10,11,.6);backdrop-filter:blur(4px);border:1px solid var(--hairline);border-radius:4px;padding:5px 9px;letter-spacing:.05em}
.svc-body{padding:22px 22px 24px}
.svc-body h3{font-size:18px;margin-bottom:8px}
.svc-body p{font-size:14px;color:var(--fg-3);line-height:1.55;min-height:42px}
.svc-foot{display:flex;align-items:center;justify-content:space-between;margin-top:18px;padding-top:16px;border-top:1px solid var(--hairline)}
.svc-price{font-family:var(--font-head);font-size:13px;letter-spacing:.14em;text-transform:uppercase;color:var(--silver-400)}
.svc-link{display:inline-flex;align-items:center;gap:7px;font-family:var(--font-head);font-size:12px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--fg-1)}
.svc-link .lucide{width:15px;height:15px;transition:transform .2s}
.svc:hover .svc-link .lucide{transform:translateX(4px)}
@media(max-width:980px){.svc-grid{grid-template-columns:1fr 1fr}}
@media(max-width:620px){.svc-grid{grid-template-columns:1fr}}

/* ---------- Why band (dark feature) ---------- */
.why{background:var(--ink-2);border-top:1px solid var(--hairline);border-bottom:1px solid var(--hairline)}
.why-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:46px}
.why-item .ico{width:56px;height:56px;border-radius:var(--r-sm);background:var(--charcoal);border:1px solid var(--graphite);display:flex;align-items:center;justify-content:center;color:var(--silver-200);margin-bottom:22px}
.why-item .ico .lucide{width:26px;height:26px;stroke-width:1.5}
.why-item h3{font-size:18px;margin-bottom:12px}
.why-item p{font-size:14px;color:var(--fg-3);line-height:1.6}
@media(max-width:760px){.why-grid{grid-template-columns:1fr;gap:34px}}

/* ---------- Reviews ---------- */
.rev-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.rev{background:var(--charcoal);border:1px solid var(--hairline);border-radius:var(--r-md);padding:28px 26px;display:flex;flex-direction:column;gap:16px}
.rev .stars .lucide{width:15px;height:15px}
.rev p{font-size:15px;color:var(--fg-1);line-height:1.6;flex:1}
.rev-who{display:flex;align-items:center;gap:13px;padding-top:6px}
.rev-av{width:42px;height:42px;border-radius:50%;background:var(--silver-sweep);color:var(--ink);display:flex;align-items:center;justify-content:center;font-family:var(--font-display);font-size:18px;flex:none}
.rev-name{font-family:var(--font-head);font-weight:600;font-size:14px;letter-spacing:.03em}
.rev-meta{font-size:12px;color:var(--fg-3)}
.rev-g{display:flex;align-items:center;gap:6px;margin-left:auto;color:var(--fg-3);font-size:12px}
.rev-g svg{width:16px;height:16px}
@media(max-width:980px){.rev-grid{grid-template-columns:1fr 1fr}}
@media(max-width:620px){.rev-grid{grid-template-columns:1fr}}

.gscore{display:flex;align-items:center;gap:22px;justify-content:center;margin-bottom:54px;flex-wrap:wrap}
.gscore>svg{width:40px;height:40px;flex:none}
.gscore .big{font-family:var(--font-display);font-size:60px;line-height:1;color:var(--fg-1)}
.gscore .col{display:flex;flex-direction:column;gap:6px}
.gscore .rule{width:1px;height:54px;background:var(--graphite)}

/* ---------- Gallery ---------- */
.gal{display:grid;grid-template-columns:repeat(4,1fr);grid-auto-rows:200px;gap:14px}
.gal .photo{border-radius:var(--r-sm)}
.gal .w2{grid-column:span 2}
.gal .h2{grid-row:span 2}
@media(max-width:760px){.gal{grid-template-columns:1fr 1fr;grid-auto-rows:160px}.gal .w2{grid-column:span 2}.gal .h2{grid-row:span 1}}

/* ---------- Location ---------- */
.loc-grid{display:grid;grid-template-columns:1fr 1fr;gap:0;background:var(--charcoal);border:1px solid var(--hairline);border-radius:var(--r-lg);overflow:hidden}
.loc-info{padding:54px 50px}
.loc-info h2{font-size:var(--t-h2);margin:16px 0 28px}
.loc-row{display:flex;gap:16px;padding:20px 0;border-bottom:1px solid var(--hairline)}
.loc-row:last-of-type{border-bottom:none}
.loc-row .ico{width:44px;height:44px;border-radius:50%;border:1px solid var(--graphite);display:flex;align-items:center;justify-content:center;color:var(--silver-200);flex:none}
.loc-row .ico .lucide{width:19px;height:19px}
.loc-row .k{font-family:var(--font-head);font-size:11px;letter-spacing:.24em;text-transform:uppercase;color:var(--silver-400);margin-bottom:4px}
.loc-row .v{color:var(--fg-1);font-size:15px;line-height:1.5}
.hours-list{display:flex;flex-direction:column;gap:0;margin-top:6px}
.hours-list .hr{display:flex;justify-content:space-between;padding:9px 0;font-size:14px;border-bottom:1px dashed var(--hairline)}
.hours-list .hr:last-child{border-bottom:none}
.hours-list .day{color:var(--fg-2);font-family:var(--font-head);letter-spacing:.04em}
.hours-list .time{color:var(--fg-1);font-variant-numeric:tabular-nums}
.hours-list .hr.today{color:var(--silver-200)}
.hours-list .hr.today .day,.hours-list .hr.today .time{color:var(--silver-100);font-weight:600}
.loc-map{position:relative;min-height:520px}
.loc-map .photo{width:100%;height:100%;border:none;border-radius:0}
.loc-fallback{position:absolute;inset:0;z-index:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;
  background:radial-gradient(120% 120% at 50% 35%,#20232A 0%,#141518 55%,#0C0D0F 100%);text-decoration:none}
.loc-fallback::before{content:"";position:absolute;inset:0;opacity:.5;
  background-image:repeating-linear-gradient(0deg,transparent 0 38px,rgba(255,255,255,.04) 38px 39px),repeating-linear-gradient(90deg,transparent 0 38px,rgba(255,255,255,.04) 38px 39px)}
.loc-fallback .loc-pin{position:relative;transform:none;color:var(--silver-100);filter:drop-shadow(0 4px 10px rgba(0,0,0,.6))}
.loc-fallback .loc-pin .lucide{width:46px;height:46px;fill:var(--ink);stroke:var(--silver-200)}
.loc-fb-tag{position:relative;font-family:var(--font-head);font-size:11px;letter-spacing:.22em;text-transform:uppercase;color:var(--silver-300)}
.loc-embed{position:absolute;inset:0;z-index:1;width:100%;height:100%;border:0;filter:grayscale(.4) invert(.9) hue-rotate(180deg) brightness(.95) contrast(.92)}
.loc-pin{position:absolute;top:50%;left:50%;transform:translate(-50%,-100%);z-index:2;color:var(--silver-100);filter:drop-shadow(0 4px 10px rgba(0,0,0,.6))}
.loc-pin .lucide{width:46px;height:46px;fill:var(--ink);stroke:var(--silver-200)}
@media(max-width:880px){.loc-grid{grid-template-columns:1fr}.loc-map{min-height:320px}.loc-info{padding:40px 28px}}

/* ---------- CTA band ---------- */
.cta{position:relative;text-align:center;overflow:hidden;background:var(--ink-2)}
.cta .photo{position:absolute;inset:0;border:none;border-radius:0;opacity:.22}
.cta .photo img{filter:grayscale(.7) brightness(.55) contrast(1.05)}
.cta-in{position:relative;z-index:2}
.cta h2{font-size:var(--t-h1);margin:18px 0 22px}
.cta .lead{max-width:540px;margin:0 auto 34px}
.cta-actions{display:flex;gap:16px;justify-content:center;flex-wrap:wrap}

/* ---------- Footer ---------- */
.ftr{background:#070708;border-top:1px solid var(--hairline);padding:72px 0 0}
.ftr-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1.1fr;gap:44px;padding-bottom:54px}
.ftr-logo img{height:54px;margin-bottom:22px}
.ftr-about{color:var(--fg-3);font-size:14px;line-height:1.7;max-width:300px}
.ftr-soc{display:flex;gap:12px;margin-top:24px}
.ftr-soc a{width:42px;height:42px;border-radius:50%;border:1px solid var(--graphite);display:flex;align-items:center;justify-content:center;color:var(--fg-2);transition:.2s}
.ftr-soc a:hover{border-color:var(--silver-300);color:var(--fg-1);background:rgba(255,255,255,.04)}
.ftr-soc .lucide{width:18px;height:18px}
.ftr h4{font-family:var(--font-head);font-size:13px;letter-spacing:.2em;text-transform:uppercase;color:var(--fg-1);margin-bottom:22px}
.ftr-links{display:flex;flex-direction:column;gap:13px}
.ftr-links a{color:var(--fg-3);font-size:14px;transition:.2s}
.ftr-links a:hover{color:var(--fg-1)}
.ftr-hours .hr{display:flex;justify-content:space-between;font-size:13px;color:var(--fg-3);padding:7px 0;border-bottom:1px dashed var(--hairline)}
.ftr-hours .hr .time{color:var(--fg-2)}
.ftr-bottom{border-top:1px solid var(--hairline);padding:24px 0;display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap}
.ftr-bottom p{font-size:13px;color:var(--fg-3)}
.ftr-bottom .made{font-family:var(--font-head);letter-spacing:.04em}
@media(max-width:880px){.ftr-grid{grid-template-columns:1fr 1fr;gap:36px}}
@media(max-width:520px){.ftr-grid{grid-template-columns:1fr}}

/* reveal on scroll — fail-safe: only hidden once JS marks the doc ready,
   so content is always visible if the observer never fires */
.reveal-ready .reveal{opacity:0;transform:translateY(26px);transition:opacity .7s ease,transform .7s ease}
.reveal-ready .reveal.in{opacity:1;transform:none}
@media(prefers-reduced-motion:reduce){.reveal-ready .reveal{opacity:1;transform:none;transition:none}}
