/* ============ TOKENS ============ */
:root{
  --ink:      #0b0b0c;   /* bakgrund, matchar loggan */
  --ink-2:    #121316;   /* upphöjd yta */
  --ink-3:    #1b1d21;   /* kant / linje */
  --chrome:   #d8dade;   /* borstad stål-text */
  --chrome-2: #8b9099;   /* dämpad text */
  --steel:    #5c6470;
  --pole-red: #c1272d;
  --pole-blue:#1b4fa0;
  --gold:     #b08d47;

  --f-display:'Oswald', 'Arial Narrow', sans-serif;
  --f-body:'Barlow', system-ui, sans-serif;

  --w: 1180px;
  --ease: cubic-bezier(.16,1,.3,1);
}

*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  background:var(--ink);
  color:var(--chrome);
  font-family:var(--f-body);
  font-weight:300;
  line-height:1.65;
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}

/* filmisk korn-overlay */
.grain{
  position:fixed;inset:0;z-index:9999;pointer-events:none;opacity:.035;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='120'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
}

.wrap{width:min(var(--w),100% - 3rem);margin-inline:auto}

/* ============ TYPOGRAFI ============ */
.eyebrow{
  font-family:var(--f-display);
  font-size:.72rem;letter-spacing:.34em;text-transform:uppercase;
  color:var(--gold);font-weight:500;margin-bottom:1.1rem;
}
.h2{
  font-family:var(--f-display);
  font-size:clamp(2rem,4.6vw,3.4rem);
  font-weight:600;line-height:1.02;letter-spacing:-.01em;
  text-transform:uppercase;color:#fff;margin-bottom:2.8rem;
}

/* ============ NAV ============ */
.nav{
  position:fixed;top:0;left:0;right:0;z-index:100;
  display:flex;align-items:center;gap:2rem;
  padding:1rem clamp(1.5rem,4vw,3rem);
  transition:background .4s var(--ease), padding .4s var(--ease), border-color .4s;
  border-bottom:1px solid transparent;
}
.nav.scrolled{
  background:rgba(11,11,12,.88);
  backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);
  border-bottom-color:var(--ink-3);
  padding-block:.55rem;
}
.nav-logo img{height:54px;width:auto;transition:height .4s var(--ease)}
.nav.scrolled .nav-logo img{height:42px}

.nav-links{display:flex;gap:2.2rem;margin-left:auto}
.nav-links a{
  font-family:var(--f-display);
  font-size:.82rem;letter-spacing:.18em;text-transform:uppercase;
  color:var(--chrome-2);font-weight:500;position:relative;padding-block:.3rem;
  transition:color .3s;
}
.nav-links a::after{
  content:'';position:absolute;left:0;bottom:0;height:1px;width:0;
  background:var(--gold);transition:width .35s var(--ease);
}
.nav-links a:hover,.nav-links a.active{color:#fff}
.nav-links a:hover::after,.nav-links a.active::after{width:100%}

.btn-book-nav{
  font-family:var(--f-display);font-size:.78rem;letter-spacing:.16em;
  text-transform:uppercase;font-weight:600;
  padding:.6rem 1.4rem;border:1px solid var(--steel);color:#fff;
  transition:.3s var(--ease);
}
.btn-book-nav:hover{background:#fff;color:var(--ink);border-color:#fff}

.burger{display:none;background:none;border:0;cursor:pointer;flex-direction:column;gap:5px;padding:.4rem}
.burger span{display:block;width:24px;height:1.5px;background:var(--chrome);transition:.3s}
.burger.open span:nth-child(1){transform:translateY(6.5px) rotate(45deg)}
.burger.open span:nth-child(2){opacity:0}
.burger.open span:nth-child(3){transform:translateY(-6.5px) rotate(-45deg)}

/* ============ HERO ============ */
.hero{
  position:relative;min-height:100svh;
  display:grid;place-items:center;
  overflow:hidden;
}
#scene3d{position:absolute;inset:0;width:100%;height:100%;display:block}
.hero-vignette{
  position:absolute;inset:0;pointer-events:none;
  background:
    radial-gradient(ellipse 46% 42% at 50% 48%, rgba(11,11,12,.72) 0%, rgba(11,11,12,.30) 55%, transparent 80%),
    linear-gradient(to bottom, rgba(11,11,12,.45) 0%, transparent 18%, transparent 78%, var(--ink) 100%);
}

.hero-inner{
  position:relative;z-index:2;text-align:center;
  padding:7rem 1.5rem 5rem;
}

/* Barber pole — signaturelementet */
.hero-pole{
  width:34px;margin:0 auto 2.2rem;
  filter:drop-shadow(0 4px 18px rgba(0,0,0,.6)) drop-shadow(0 0 26px rgba(45,95,175,.30));
}

/* kula överst */
.pole-ball{
  width:13px;height:13px;margin:0 auto 1px;border-radius:50%;
  background:
    radial-gradient(circle at 32% 28%, #ffffff 0%, #e2e5ea 18%, #a8aeb7 48%, #5e646d 78%, #33383f 100%);
  box-shadow:0 1px 3px rgba(0,0,0,.7);
}
/* liten hals under kulan */
.pole-neck{
  width:5px;height:4px;margin:0 auto;
  background:linear-gradient(90deg,#5e646d,#c8ccd2 45%,#e8eaee 52%,#8d939b 70%,#4a4f57);
}

/* koniska kapslar */
.pole-cap{
  height:9px;margin-inline:auto;
  background:linear-gradient(90deg,
    #464c55 0%, #9aa1aa 18%, #e9ebef 38%, #ffffff 46%,
    #d2d6dc 54%, #8b929b 74%, #565c65 90%, #383d45 100%);
  box-shadow:0 1px 4px rgba(0,0,0,.55);
}
.pole-cap.top{
  width:100%;
  clip-path:polygon(18% 0, 82% 0, 100% 100%, 0 100%);
}
.pole-cap.bottom{
  width:100%;
  clip-path:polygon(0 0, 100% 0, 82% 100%, 18% 100%);
}
/* smala ringar mot glaset */
.pole-collar{
  width:88%;height:3px;margin:1px auto;
  background:linear-gradient(90deg,#3d434b,#c6cad0 42%,#f2f4f6 50%,#9aa0a8 66%,#41464e);
}

/* glascylindern */
.pole-glass{
  height:76px;overflow:hidden;position:relative;
  width:80%;margin:0 auto;
  border-radius:1px;
  box-shadow:inset 0 0 14px rgba(0,0,0,.65);
}
.pole-glass::after{
  content:'';position:absolute;inset:0;z-index:2;
  background:linear-gradient(96deg,
    rgba(255,255,255,.06) 0%,
    rgba(255,255,255,.48) 14%,
    rgba(255,255,255,.10) 30%,
    transparent 46%,
    rgba(0,0,0,.22) 68%,
    rgba(0,0,0,.52) 100%);
}
.pole-stripes{
  position:absolute;inset:-120% 0;
  background:repeating-linear-gradient(
    -46deg,
    #c1272d 0 9px,
    #f4f5f7 9px 17px,
    #1b4fa0 17px 26px,
    #f4f5f7 26px 34px
  );
  animation:poleSpin 3.4s linear infinite;
}
@keyframes poleSpin{to{transform:translateY(34px)}}

.hero-title{
  font-family:var(--f-display);
  font-weight:700;line-height:.86;
  text-transform:uppercase;letter-spacing:-.005em;
  margin-bottom:1.4rem;
}
.hero-title span{display:block}
.hero-title .l1{
  font-size:clamp(3.4rem,11vw,8.5rem);
  background:linear-gradient(178deg,#ffffff 0%,#d5d8dd 38%,#8e949c 55%,#e6e8eb 72%,#7d838b 100%);
  -webkit-background-clip:text;background-clip:text;color:transparent;
  text-shadow:0 2px 0 rgba(0,0,0,.4);
}
.hero-title .l2{
  font-size:clamp(3.4rem,11vw,8.5rem);
  background:linear-gradient(178deg,#9dc4f5 0%,#4d86dd 34%,#2861b6 54%,#6fa2e8 72%,#2f6ac0 100%);
  -webkit-background-clip:text;background-clip:text;color:transparent;
  filter:drop-shadow(0 0 26px rgba(61,118,214,.45)) drop-shadow(0 2px 1px rgba(0,0,0,.5));
}
.hero-sub{
  max-width:34rem;margin:0 auto 1.8rem;
  color:var(--chrome-2);font-size:1.02rem;
}

.rating{display:flex;align-items:center;justify-content:center;gap:.6rem;margin-bottom:2.2rem}
.stars{color:var(--gold);letter-spacing:.12em;font-size:.95rem}
.stars.sm{font-size:.8rem}
.rating-num{font-family:var(--f-display);font-weight:600;color:#fff;font-size:1rem}
.rating-label{color:var(--steel);font-size:.85rem}

.hero-cta{display:flex;gap:.9rem;justify-content:center;flex-wrap:wrap}

.btn{
  font-family:var(--f-display);font-weight:600;
  font-size:.85rem;letter-spacing:.16em;text-transform:uppercase;
  padding:.95rem 2.2rem;border:1px solid transparent;
  cursor:pointer;transition:.35s var(--ease);
  display:inline-block;
}
.btn.lg{padding:1.15rem 3rem;font-size:.95rem}
.btn-primary{
  background:linear-gradient(180deg,#f4f5f7,#c9cdd3);
  color:var(--ink);border-color:#e5e7ea;
  box-shadow:0 6px 24px rgba(255,255,255,.08);
}
.btn-primary:hover{
  background:linear-gradient(180deg,#fff,#e3e6ea);
  transform:translateY(-2px);
  box-shadow:0 10px 32px rgba(255,255,255,.14);
}
.btn-ghost{border-color:var(--steel);color:var(--chrome)}
.btn-ghost:hover{border-color:#fff;color:#fff;transform:translateY(-2px)}

.scroll-hint{
  position:absolute;bottom:1.6rem;left:50%;transform:translateX(-50%);z-index:2;
  font-family:var(--f-display);font-size:.65rem;letter-spacing:.3em;text-transform:uppercase;
  color:var(--steel);display:flex;flex-direction:column;align-items:center;gap:.5rem;
}
.scroll-hint span{
  display:block;width:1px;height:34px;
  background:linear-gradient(var(--steel),transparent);
  animation:scrollPulse 2s ease-in-out infinite;
}
@keyframes scrollPulse{0%,100%{opacity:.3;transform:scaleY(.6)}50%{opacity:1;transform:scaleY(1)}}

/* ============ SEKTIONER ============ */
.section{padding:clamp(5rem,10vw,8.5rem) 0}

/* Diensten */
.cards{
  display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));
  gap:1px;background:var(--ink-3);
  border:1px solid var(--ink-3);
}
.card{
  background:var(--ink);padding:2.4rem 1.8rem;
  transition:background .45s var(--ease);
  position:relative;
}
.card::before{
  content:'';position:absolute;left:0;top:0;height:2px;width:0;
  background:var(--gold);transition:width .5s var(--ease);
}
.card:hover{background:var(--ink-2)}
.card:hover::before{width:100%}
.card-ico{width:38px;height:38px;color:var(--steel);margin-bottom:1.4rem;transition:color .4s}
.card:hover .card-ico{color:var(--gold)}
.card-ico svg{width:100%;height:100%}
.card h3{
  font-family:var(--f-display);font-size:1.15rem;font-weight:600;
  text-transform:uppercase;letter-spacing:.06em;color:#fff;margin-bottom:.55rem;
}
.card p{font-size:.92rem;color:var(--chrome-2);line-height:1.6}

.link-arrow{
  display:inline-flex;align-items:center;gap:.6rem;margin-top:2.6rem;
  font-family:var(--f-display);font-size:.82rem;letter-spacing:.16em;
  text-transform:uppercase;color:var(--chrome);font-weight:500;
}
.link-arrow span{transition:transform .35s var(--ease);display:inline-block}
.link-arrow:hover{color:var(--gold)}
.link-arrow:hover span{transform:translateX(6px)}

/* ============ GALERIJ ============ */
.gallery{
  display:grid;grid-template-columns:repeat(4,1fr);gap:1rem;
}
.g-item{
  overflow:hidden;position:relative;background:var(--ink-2);
  aspect-ratio:3/4;border:1px solid var(--ink-3);
}
.g-item img{
  width:100%;height:100%;object-fit:cover;
  filter:grayscale(.25) contrast(1.04) brightness(.94);
  transition:transform 1.1s var(--ease), filter .7s var(--ease);
}
.g-item:hover img{
  transform:scale(1.05);
  filter:grayscale(0) contrast(1.06) brightness(1);
}
.g-item::after{
  content:'';position:absolute;inset:0;pointer-events:none;
  background:linear-gradient(to top, rgba(11,11,12,.45), transparent 45%);
  transition:opacity .6s;
}
.g-item:hover::after{opacity:.3}

/* ============ VAKMANSCHAP ============ */
.craft-grid{
  display:grid;grid-template-columns:1fr 1fr;gap:5rem;align-items:center;
}
.craft-lead{
  color:var(--chrome-2);font-size:1.02rem;line-height:1.7;
  margin-top:-1.4rem;margin-bottom:1.8rem;max-width:32rem;
}
.craft-list{list-style:none;border-top:1px solid var(--ink-3)}
.craft-list li{
  display:grid;grid-template-columns:auto 1fr;gap:1.8rem;align-items:baseline;
  padding:1.5rem 0;border-bottom:1px solid var(--ink-3);
  transition:padding-left .45s var(--ease);
}
.craft-list li:hover{padding-left:.8rem}
.craft-list span{
  font-family:var(--f-display);font-size:1.1rem;font-weight:600;
  text-transform:uppercase;letter-spacing:.05em;color:#fff;
  min-width:6.5rem;transition:color .35s;
}
.craft-list li:hover span{color:var(--gold)}
.craft-list em{
  font-style:normal;font-size:.92rem;color:var(--chrome-2);line-height:1.5;
}

/* ============ PROCES ============ */
.steps{
  list-style:none;
  display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));
  gap:1px;background:var(--ink-3);border:1px solid var(--ink-3);
}
.step{
  background:var(--ink);padding:2.4rem 1.8rem;
  display:flex;flex-direction:column;gap:1.2rem;
  position:relative;transition:background .45s var(--ease);
}
.step::before{
  content:'';position:absolute;left:0;top:0;height:2px;width:0;
  background:var(--gold);transition:width .5s var(--ease);
}
.step:hover{background:var(--ink-2)}
.step:hover::before{width:100%}
.step-n{
  font-family:var(--f-display);font-size:.78rem;font-weight:600;
  letter-spacing:.24em;color:var(--steel);transition:color .4s;
}
.step:hover .step-n{color:var(--gold)}
.step h3{
  font-family:var(--f-display);font-size:1.15rem;font-weight:600;
  text-transform:uppercase;letter-spacing:.06em;color:#fff;margin-bottom:.5rem;
}
.step p{font-size:.92rem;color:var(--chrome-2);line-height:1.6}

.proces-note{
  margin-top:2.2rem;font-size:.88rem;color:var(--steel);
  font-family:var(--f-display);letter-spacing:.14em;text-transform:uppercase;
}
.proces-note a{color:var(--chrome);border-bottom:1px solid var(--ink-3);transition:.3s}
.proces-note a:hover{color:var(--gold);border-color:var(--gold)}

/* Stats */
.stats-sec{border-block:1px solid var(--ink-3)}
.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:2rem;text-align:center}
.stat-n{
  display:block;font-family:var(--f-display);font-weight:600;
  font-size:clamp(2.4rem,5vw,3.8rem);color:#fff;line-height:1;
}
.stat-l{
  font-family:var(--f-display);font-size:.72rem;letter-spacing:.24em;
  text-transform:uppercase;color:var(--steel);margin-top:.6rem;display:block;
}

/* Recensie */
.review{max-width:44rem;margin-inline:auto;text-align:center;position:relative}
.review .q{
  font-family:var(--f-display);font-size:6rem;color:var(--ink-3);
  line-height:1;display:block;margin-bottom:-2rem;
}
.review p{
  font-size:clamp(1.15rem,2.4vw,1.5rem);
  color:var(--chrome);font-weight:300;line-height:1.55;font-style:italic;
}
.review footer{margin-top:1.6rem;display:flex;flex-direction:column;align-items:center;gap:.4rem}
.review strong{
  font-family:var(--f-display);font-weight:500;font-size:.85rem;
  letter-spacing:.16em;text-transform:uppercase;color:#fff;
}

/* Locatie */
.loc-grid{display:grid;grid-template-columns:1fr 1fr;gap:4rem;align-items:center}
.loc-info{margin-bottom:2.2rem;border-top:1px solid var(--ink-3)}
.info-row{
  display:grid;grid-template-columns:130px 1fr;gap:1rem;
  padding:1.1rem 0;border-bottom:1px solid var(--ink-3);
}
.info-k{
  font-family:var(--f-display);font-size:.7rem;letter-spacing:.2em;
  text-transform:uppercase;color:var(--steel);padding-top:.15rem;
}
.info-v{font-size:.95rem;color:var(--chrome);line-height:1.7}
.info-v a{border-bottom:1px solid var(--ink-3);transition:border-color .3s}
.info-v a:hover{border-color:var(--gold);color:#fff}
.map{
  height:420px;border:1px solid var(--ink-3);overflow:hidden;
  filter:grayscale(1) invert(.92) contrast(.85);
  transition:filter .6s;
}
.map:hover{filter:grayscale(.5) invert(.92) contrast(.9)}
.map iframe{width:100%;height:100%;border:0}

/* CTA-band */
.cta-band{
  padding:clamp(5rem,10vw,8rem) 0;text-align:center;
  border-top:1px solid var(--ink-3);
  background:
    radial-gradient(ellipse 60% 100% at 50% 100%, rgba(27,79,160,.10), transparent 70%),
    var(--ink);
}
.cta-h{
  font-family:var(--f-display);font-weight:600;
  font-size:clamp(2.2rem,5.5vw,4.2rem);line-height:1;
  text-transform:uppercase;color:#fff;margin-bottom:2.4rem;
}

/* ============ FOOTER ============ */
.footer{border-top:1px solid var(--ink-3);padding-top:4rem}
.foot-grid{
  display:grid;grid-template-columns:1.6fr 1fr 1.2fr 1fr;
  gap:3rem;padding-bottom:3.5rem;
}
.foot-brand img{height:82px;width:auto;margin-bottom:1rem}
.foot-brand p{
  font-family:var(--f-display);font-size:.72rem;letter-spacing:.24em;
  text-transform:uppercase;color:var(--steel);
}
.foot-col h4{
  font-family:var(--f-display);font-size:.72rem;letter-spacing:.22em;
  text-transform:uppercase;color:#fff;font-weight:600;margin-bottom:1.1rem;
}
.foot-col a,.foot-col span{
  display:block;font-size:.9rem;color:var(--chrome-2);
  margin-bottom:.55rem;transition:color .3s;
}
.foot-col a:hover{color:#fff}
.socials{display:flex;gap:.7rem}
.socials a{
  width:38px;height:38px;border:1px solid var(--ink-3);
  display:grid;place-items:center;margin:0;
  transition:.3s var(--ease);
}
.socials a svg{width:17px;height:17px}
.socials a:hover{border-color:var(--gold);color:var(--gold);transform:translateY(-2px)}

.foot-bottom{
  border-top:1px solid var(--ink-3);padding:1.4rem 0;text-align:center;
  font-size:.8rem;color:var(--steel);
}

/* ============ REVEAL ============ */
.reveal{
  opacity:0;transform:translateY(28px);
  transition:opacity .9s var(--ease), transform .9s var(--ease);
}
.reveal.in{opacity:1;transform:none}

/* ============ SUBPAGE HERO ============ */
.page-hero{
  padding:11rem 0 4rem;
  border-bottom:1px solid var(--ink-3);
  background:radial-gradient(ellipse 70% 100% at 50% 0%, rgba(27,79,160,.10), transparent 65%);
}
.page-hero h1{
  font-family:var(--f-display);font-weight:700;
  font-size:clamp(2.6rem,7vw,5.2rem);line-height:.95;
  text-transform:uppercase;color:#fff;margin-bottom:1rem;
}
.page-hero p{max-width:36rem;color:var(--chrome-2);font-size:1.05rem}

/* ============ BOKNING ============ */
.booking-intro{text-align:center;margin-bottom:2.5rem}
.booking-intro h3{
  font-family:var(--f-display);font-size:clamp(1.5rem,3vw,2.1rem);font-weight:600;
  text-transform:uppercase;letter-spacing:.02em;color:#fff;margin-bottom:.7rem;
}
.booking-intro p{color:var(--chrome-2);max-width:34rem;margin:0 auto 1.6rem}
.booking-meta{
  display:flex;gap:2.4rem;justify-content:center;flex-wrap:wrap;
}
.booking-meta span{
  font-family:var(--f-display);font-size:.72rem;letter-spacing:.18em;
  text-transform:uppercase;color:var(--steel);
}
.booking-meta strong{color:var(--gold);font-weight:600}

.booking-embed{
  border:1px solid var(--ink-3);
  background:#fff;
  overflow:hidden;
  box-shadow:0 24px 70px rgba(0,0,0,.5);
}
.booking-embed iframe{
  width:100%;height:700px;border:0;display:block;
}
@media(max-width:768px){
  .booking-embed iframe{height:620px}
  .booking-meta{gap:1.2rem}
}
.booking-fallback{
  margin-top:1.2rem;text-align:center;
  font-size:.86rem;color:var(--steel);
}
.booking-fallback a{color:var(--chrome);border-bottom:1px solid var(--ink-3);transition:.3s}
.booking-fallback a:hover{color:var(--gold);border-color:var(--gold)}

/* öppet-nu-indikator */
.open-now{
  display:inline-flex;align-items:center;gap:.55rem;
  font-family:var(--f-display);font-size:.72rem;letter-spacing:.2em;
  text-transform:uppercase;font-weight:500;
  padding:.5rem 1rem;border:1px solid var(--ink-3);
  margin-bottom:1.6rem;
}
.open-now .dot{
  width:7px;height:7px;border-radius:50%;background:var(--steel);
  box-shadow:0 0 0 0 currentColor;
}
.open-now.is-open{color:#5fd48a;border-color:rgba(95,212,138,.3)}
.open-now.is-open .dot{background:#5fd48a;animation:livePulse 2.2s ease-out infinite}
.open-now.is-closed{color:var(--steel)}
@keyframes livePulse{
  0%{box-shadow:0 0 0 0 rgba(95,212,138,.55)}
  70%{box-shadow:0 0 0 8px rgba(95,212,138,0)}
  100%{box-shadow:0 0 0 0 rgba(95,212,138,0)}
}

/* markerar dagens rad i öppettidstabellen */
.info-row.today{background:linear-gradient(90deg,rgba(176,141,71,.08),transparent)}
.info-row.today .info-k{color:var(--gold)}
.info-row.today .info-v{color:#fff}

.contact-methods{
  display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));
  gap:1px;background:var(--ink-3);border:1px solid var(--ink-3);margin-top:3.5rem;
}
.cm{
  background:var(--ink);padding:2rem 1.5rem;text-align:center;
  transition:background .4s;
}
.cm:hover{background:var(--ink-2)}
.cm-k{
  font-family:var(--f-display);font-size:.68rem;letter-spacing:.24em;
  text-transform:uppercase;color:var(--steel);display:block;margin-bottom:.6rem;
}
.cm-v{
  font-family:var(--f-display);font-size:1.05rem;font-weight:500;color:#fff;
  transition:color .3s;
}
.cm:hover .cm-v{color:var(--gold)}

/* ============ OVER ============ */
.about-grid{display:grid;grid-template-columns:1fr 1fr;gap:4rem;align-items:center}
.about-txt p{color:var(--chrome-2);margin-bottom:1.1rem;font-size:1rem}
.about-txt p strong{color:#fff;font-weight:500}

/* ============ RESPONSIVE ============ */
@media(max-width:900px){
  .loc-grid,.about-grid{grid-template-columns:1fr;gap:2.5rem}
  .map{height:320px}
  .foot-grid{grid-template-columns:1fr 1fr;gap:2.2rem}
  .craft-grid{grid-template-columns:1fr;gap:2.5rem}
  .craft-lead{margin-top:0}
  .gallery{grid-template-columns:repeat(2,1fr);gap:.8rem}
}
@media(max-width:768px){
  .nav-links{
    position:fixed;inset:0;
    background:rgba(11,11,12,.97);backdrop-filter:blur(20px);
    flex-direction:column;align-items:center;justify-content:center;gap:2rem;
    transform:translateX(100%);transition:transform .5s var(--ease);
    margin:0;
  }
  .nav-links.open{transform:none}
  .nav-links a{font-size:1.5rem}
  .btn-book-nav{display:none}
  .burger{display:flex;margin-left:auto;z-index:101}
  .stats{grid-template-columns:1fr;gap:2.4rem}
  .hero-inner{padding:14rem 1.2rem 5rem}
  .hero-pole{width:28px;margin-bottom:1.6rem}
  .hero-pole .pole-glass{height:62px}
  .info-row{grid-template-columns:1fr;gap:.3rem}
  .foot-grid{grid-template-columns:1fr;text-align:center}
  .foot-brand img{margin-inline:auto}
  .socials{justify-content:center}
  .craft-list li{grid-template-columns:1fr;gap:.35rem}
  .craft-list span{min-width:0}
  .gallery{grid-template-columns:repeat(2,1fr);gap:.6rem}
}
@media(max-width:520px){
  .booking-meta{flex-direction:column;gap:.5rem}
}

@media(prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.01ms !important;transition-duration:.01ms !important}
  .reveal{opacity:1;transform:none}
  .pole-stripes{animation:none}
}

:focus-visible{outline:2px solid var(--gold);outline-offset:3px}
