/* ===== Sebastian Barber Beauty Salon — shared site stylesheet ===== */
:root{
  --black:#0b0d0b;
  --charcoal-real:#171912;
  --panel:#1d1f18;
  --off-white:#f3f1e9;
  --white:#faf9f4;
  --gold:#c6a05c;
  --gold-soft:#e3cfa1;
  --green:#2e4633;
  --green-light:#5c7a5f;
  --green-mist:#0f150f;
  --line:rgba(243,241,233,0.12);
  --shadow:0 30px 60px -20px rgba(0,0,0,0.6);
  --ease:cubic-bezier(.16,.8,.24,1);
}

*{margin:0;padding:0;box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  background:var(--black);
  color:var(--off-white);
  font-family:'Space Grotesk', sans-serif;
  font-weight:400;
  overflow-x:hidden;
  -webkit-font-smoothing:antialiased;
}
h1,h2,h3,.display{
  font-family:'Fraunces', serif;
  font-weight:500;
  letter-spacing:-0.01em;
  line-height:1.05;
}
a{color:inherit;text-decoration:none;}
img{display:block;max-width:100%;}
button{font-family:inherit;cursor:pointer;border:none;background:none;color:inherit;}
.eyebrow{
  font-size:12px;letter-spacing:0.22em;text-transform:uppercase;color:var(--gold-soft);
  font-weight:500;display:flex;align-items:center;gap:10px;
}
.eyebrow::before{content:'';width:22px;height:1px;background:var(--gold);display:inline-block;}
.wrap{max-width:1240px;margin:0 auto;padding:0 32px;}
section{position:relative;}

.grain{
  position:fixed;inset:0;pointer-events:none;z-index:999;
  opacity:0.05;mix-blend-mode:overlay;
  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='0.9' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
}
.hex-bg{
  position:absolute;inset:0;pointer-events:none;opacity:0.05;
  background-image:
    linear-gradient(30deg, var(--gold) 1px, transparent 1px),
    linear-gradient(150deg, var(--gold) 1px, transparent 1px),
    linear-gradient(90deg, var(--gold) 1px, transparent 1px);
  background-size:70px 121px;
}

/* ===== NAV ===== */
header{
  position:fixed;top:0;left:0;right:0;z-index:200;padding:22px 0;
  transition:background .5s var(--ease), padding .5s var(--ease), backdrop-filter .5s var(--ease), border-color .5s var(--ease);
  border-bottom:1px solid transparent;
}
header.scrolled{
  background:rgba(11,13,11,0.82);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);
  padding:14px 0;border-color:var(--line);
}
nav{display:flex;align-items:center;justify-content:space-between;}
.logo{display:flex;align-items:center;gap:12px;}
.logo-img{height:44px;width:auto;flex-shrink:0;object-fit:contain;}
.footer-logo-img{height:38px;}
.logo-text{font-family:'Fraunces',serif;font-size:16px;letter-spacing:0.03em;line-height:1.15;}
.logo-text b{display:block;font-weight:500;color:var(--white);font-size:17px;}
.logo-text span{display:block;font-size:10px;letter-spacing:0.18em;text-transform:uppercase;color:var(--gold-soft);margin-top:2px;}

.nav-links{display:flex;gap:36px;list-style:none;}
.nav-links a{
  font-size:13px;letter-spacing:0.08em;text-transform:uppercase;
  position:relative;padding-bottom:4px;color:var(--off-white);opacity:0.85;transition:opacity .3s;
}
.nav-links a::after{content:'';position:absolute;left:0;bottom:0;width:0;height:1px;background:var(--gold);transition:width .35s var(--ease);}
.nav-links a:hover{opacity:1;}
.nav-links a:hover::after{width:100%;}
.nav-links a.active{opacity:1;color:var(--gold-soft);}
.nav-links a.active::after{width:100%;}

.nav-cta{display:flex;align-items:center;gap:18px;}
.btn{
  display:inline-flex;align-items:center;gap:8px;
  padding:13px 26px;font-size:12px;letter-spacing:0.1em;text-transform:uppercase;font-weight:500;
  border-radius:2px;transition:all .35s var(--ease);
}
.btn-gold{background:var(--gold);color:var(--black);}
.btn-gold:hover{background:var(--gold-soft);transform:translateY(-2px);}
.btn-ghost{border:1px solid var(--line);color:var(--off-white);}
.btn-ghost:hover{border-color:var(--gold);background:rgba(198,160,92,0.08);}
.btn-outline-white{border:1px solid rgba(250,249,244,0.4);color:var(--white);}
.btn-outline-white:hover{border-color:var(--white);background:rgba(255,255,255,0.06);}

.menu-toggle{display:none;background:none;border:none;width:26px;height:18px;position:relative;z-index:210;}
.menu-toggle span{position:absolute;left:0;width:100%;height:1px;background:var(--white);transition:.35s var(--ease);}
.menu-toggle span:nth-child(1){top:0;}
.menu-toggle span:nth-child(2){top:8px;}
.menu-toggle span:nth-child(3){top:16px;}
.menu-toggle.open span:nth-child(1){transform:translateY(8px) rotate(45deg);}
.menu-toggle.open span:nth-child(2){opacity:0;}
.menu-toggle.open span:nth-child(3){transform:translateY(-8px) rotate(-45deg);}

/* ===== HERO (home, full height) ===== */
.hero{height:100vh;min-height:640px;position:relative;display:flex;align-items:flex-end;overflow:hidden;}
.hero-media{position:absolute;inset:0;z-index:0;}
.hero-media img{width:100%;height:100%;object-fit:cover;object-position:center 30%;transform:scale(1.08);}
.hero-media::after{
  content:'';position:absolute;inset:0;
  background:
    linear-gradient(180deg, rgba(11,13,11,0.35) 0%, rgba(11,13,11,0.55) 55%, rgba(11,13,11,0.96) 100%),
    linear-gradient(90deg, rgba(11,13,11,0.75) 0%, rgba(11,13,11,0.1) 45%);
}
.hero-content{position:relative;z-index:2;padding:0 32px 90px;width:100%;}
.hero-inner{max-width:1240px;margin:0 auto;}
.hero h1{font-size:clamp(40px, 7vw, 92px);color:var(--white);max-width:900px;}
.hero h1 .line{display:block;overflow:hidden;}
.hero h1 .line span{display:inline-block;transform:translateY(110%);transition:transform 1s var(--ease);}
.hero h1 .line:nth-child(1) span{transition-delay:.1s;}
.hero h1 .line:nth-child(2) span{transition-delay:.22s;}
.hero.loaded h1 .line span{transform:translateY(0);}
.hero .sub{
  margin-top:24px;font-size:17px;line-height:1.6;color:var(--off-white);opacity:0;
  max-width:480px;font-weight:300;
  transition:opacity 1s var(--ease) .5s, transform 1s var(--ease) .5s;transform:translateY(14px);
}
.hero.loaded .sub{opacity:0.85;transform:translateY(0);}
.hero .hero-ctas{
  margin-top:38px;display:flex;gap:16px;flex-wrap:wrap;opacity:0;
  transition:opacity 1s var(--ease) .7s, transform 1s var(--ease) .7s;transform:translateY(14px);
}
.hero.loaded .hero-ctas{opacity:1;transform:translateY(0);}

.scroll-cue{
  position:absolute;right:32px;bottom:36px;z-index:2;display:flex;flex-direction:column;align-items:center;gap:10px;
  color:var(--off-white);opacity:0.6;font-size:10px;letter-spacing:0.2em;text-transform:uppercase;
}
.scroll-cue .stem{width:1px;height:46px;background:linear-gradient(var(--gold), transparent);position:relative;overflow:hidden;}
.scroll-cue .stem::after{content:'';position:absolute;left:0;top:-40%;width:100%;height:40%;background:var(--white);animation:scrollDown 2.2s infinite;}
@keyframes scrollDown{0%{top:-40%;}100%{top:100%;}}

.sound-toggle{
  position:absolute;left:32px;bottom:36px;z-index:2;display:flex;align-items:center;gap:10px;
  color:var(--off-white);font-size:11px;letter-spacing:0.12em;text-transform:uppercase;opacity:0.7;
  border:1px solid var(--line);padding:9px 14px;border-radius:30px;transition:.3s;
}
.sound-toggle:hover{opacity:1;border-color:var(--gold);}
.sound-toggle .dot{width:6px;height:6px;border-radius:50%;background:var(--gold);}
.sound-toggle .dot.playing{animation:pulse 1.4s infinite;}
@keyframes pulse{0%,100%{opacity:.4}50%{opacity:1}}

/* ===== PAGE HERO (sub-pages, shorter banner) ===== */
.page-hero{height:52vh;min-height:340px;max-height:480px;position:relative;display:flex;align-items:flex-end;overflow:hidden;}
.page-hero .hero-media img{object-position:center 40%;}
.page-hero .hero-content{padding:0 32px 60px;}
.page-hero h1{font-size:clamp(34px,5.5vw,60px);color:var(--white);}
.breadcrumb{
  display:flex;gap:8px;align-items:center;font-size:12px;letter-spacing:0.1em;text-transform:uppercase;
  color:var(--gold-soft);opacity:.8;margin-bottom:18px;
}
.breadcrumb span{opacity:.5;}

/* ===== REVEALS ===== */
.reveal{opacity:0;transform:translateY(36px);transition:opacity .9s var(--ease), transform .9s var(--ease);}
.reveal.in{opacity:1;transform:translateY(0);}
.stagger > *{opacity:0;transform:translateY(28px);transition:opacity .8s var(--ease), transform .8s var(--ease);}
.stagger.in > *{opacity:1;transform:translateY(0);}
.stagger.in > *:nth-child(1){transition-delay:.05s;}
.stagger.in > *:nth-child(2){transition-delay:.14s;}
.stagger.in > *:nth-child(3){transition-delay:.23s;}
.stagger.in > *:nth-child(4){transition-delay:.32s;}
.stagger.in > *:nth-child(5){transition-delay:.41s;}
.stagger.in > *:nth-child(6){transition-delay:.5s;}
.stagger.in > *:nth-child(7){transition-delay:.59s;}
.stagger.in > *:nth-child(8){transition-delay:.68s;}

/* ===== SECTION HEADS ===== */
.section-head{max-width:640px;margin-bottom:64px;}
.section-head h2{font-size:clamp(30px,4.2vw,52px);color:var(--white);margin-top:16px;}
.section-pad{padding:120px 0;}
.section-pad-sm{padding:80px 0;}

/* ===== SERVICES ===== */
.services{background:var(--panel);position:relative;overflow:hidden;}
.services-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 60px;}
.price-col{border-top:1px solid var(--line);}
.price-row{display:flex;justify-content:space-between;align-items:baseline;padding:20px 0;border-bottom:1px solid var(--line);transition:padding-left .3s var(--ease);}
.price-row:hover{padding-left:8px;}
.price-row .name{font-family:'Fraunces',serif;font-size:19px;color:var(--white);font-weight:400;}
.price-row .name small{display:block;font-family:'Space Grotesk',sans-serif;font-size:12px;color:var(--gold-soft);letter-spacing:0.06em;margin-top:3px;text-transform:uppercase;font-weight:400;}
.price-row .dots{flex:1;border-bottom:1px dotted var(--line);margin:0 14px 6px;}
.price-row .amt{font-size:16px;color:var(--gold-soft);white-space:nowrap;font-weight:500;}
.services-note{margin-top:28px;font-size:12px;color:var(--off-white);opacity:.5;letter-spacing:0.02em;}

/* ===== GALLERY ===== */
.gallery{background:var(--black);}
.gallery-grid{display:grid;grid-template-columns:repeat(6,1fr);grid-auto-rows:190px;gap:10px;}
.gallery-grid.gallery-grid-full{grid-auto-rows:220px;}
.g-item{position:relative;overflow:hidden;border-radius:2px;cursor:pointer;background:var(--panel);}
.g-item img{width:100%;height:100%;object-fit:cover;transition:transform .9s var(--ease);}
.g-item:hover img{transform:scale(1.08);}
.g-item .label{
  position:absolute;left:18px;bottom:18px;z-index:2;font-family:'Fraunces',serif;font-size:15px;color:var(--white);
  opacity:0;transform:translateY(10px);transition:.4s var(--ease);display:flex;align-items:center;gap:8px;
}
.g-item .label::before{content:'';width:16px;height:1px;background:var(--gold);}
.g-item::after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,transparent 40%, rgba(11,13,11,0.85) 100%);opacity:0;transition:opacity .4s var(--ease);}
.g-item:hover::after,.g-item:hover .label{opacity:1;transform:translateY(0);}
.g1{grid-column:span 2;grid-row:span 2;}
.g2{grid-column:span 2;}
.g3{grid-column:span 2;}
.g4{grid-column:span 3;}
.g5{grid-column:span 3;}
.g6{grid-column:span 3;}
.g7{grid-column:span 3;}
.g8{grid-column:span 2;}
.g9{grid-column:span 4;}

/* ===== COLOR FEATURE ===== */
.color-feature{background:var(--charcoal-real);position:relative;}
.cf-grid{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:center;}
.cf-copy .eyebrow{margin-bottom:18px;}
.cf-copy h2{font-size:clamp(28px,3.6vw,44px);color:var(--white);margin-bottom:22px;}
.cf-copy p{font-size:16px;line-height:1.75;color:var(--off-white);opacity:.75;font-weight:300;max-width:440px;}
.cf-list{margin-top:32px;display:flex;flex-wrap:wrap;gap:10px;}
.cf-tag{font-size:12px;letter-spacing:0.08em;text-transform:uppercase;border:1px solid var(--line);padding:9px 16px;border-radius:30px;color:var(--gold-soft);}
.cf-media{position:relative;border-radius:2px;overflow:hidden;}
.cf-media img{width:100%;}
.cf-media::before{content:'';position:absolute;inset:0;border:1px solid var(--line);z-index:2;pointer-events:none;}

/* ===== SHOP ===== */
.shop{background:var(--green-mist);position:relative;}
.shop-head{display:flex;justify-content:space-between;align-items:flex-end;flex-wrap:wrap;gap:24px;margin-bottom:56px;}
.cat-pills{display:flex;gap:10px;flex-wrap:wrap;}
.cat-pill{font-size:11px;letter-spacing:0.08em;text-transform:uppercase;padding:9px 16px;border:1px solid var(--line);border-radius:30px;transition:.3s;}
.cat-pill.active,.cat-pill:hover{border-color:var(--gold);color:var(--gold-soft);background:rgba(198,160,92,0.08);}
.shop-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;}
.product{background:var(--panel);border:1px solid var(--line);border-radius:2px;overflow:hidden;transition:transform .4s var(--ease), border-color .4s;}
.product:hover{transform:translateY(-6px);border-color:var(--gold);}
.product-media{aspect-ratio:1/1;position:relative;overflow:hidden;background:
  repeating-linear-gradient(135deg, rgba(198,160,92,0.06) 0 2px, transparent 2px 14px), var(--charcoal-real);
  display:flex;align-items:center;justify-content:center;}
.product-media img{width:100%;height:100%;object-fit:cover;transition:transform .6s var(--ease);}
.product:hover .product-media img{transform:scale(1.06);}
.product-media svg{width:56px;height:56px;opacity:0.35;}
.product-body{padding:18px 18px 20px;}
.product-cat{font-size:10px;letter-spacing:0.1em;text-transform:uppercase;color:var(--green-light);margin-bottom:6px;}
.product-name{font-family:'Fraunces',serif;font-size:17px;color:var(--white);margin-bottom:10px;}
.product-foot{display:flex;justify-content:space-between;align-items:center;}
.product-price{color:var(--gold-soft);font-weight:500;}
.add-btn{font-size:11px;letter-spacing:0.08em;text-transform:uppercase;border:1px solid var(--line);padding:8px 14px;border-radius:2px;transition:.3s;}
.add-btn:hover{background:var(--gold);border-color:var(--gold);color:var(--black);}
.shop-note{margin-top:36px;text-align:center;font-size:13px;color:var(--off-white);opacity:.45;}
.shop-toggle-wrap{display:flex;justify-content:center;margin-top:44px;}
.shop-toggle-btn{min-width:240px;justify-content:center;}

/* cart drawer */
.cart-toggle{
  position:fixed;bottom:26px;right:26px;z-index:150;background:var(--gold);color:var(--black);
  width:56px;height:56px;border-radius:50%;display:flex;align-items:center;justify-content:center;box-shadow:var(--shadow);
}
.cart-toggle .count{
  position:absolute;top:-4px;right:-4px;background:var(--green);color:var(--white);
  width:20px;height:20px;border-radius:50%;font-size:11px;display:flex;align-items:center;justify-content:center;
}
.cart-drawer{
  position:fixed;top:0;right:0;height:100vh;width:400px;max-width:90vw;background:var(--panel);
  z-index:300;transform:translateX(100%);transition:transform .5s var(--ease);
  display:flex;flex-direction:column;border-left:1px solid var(--line);
}
.cart-drawer.open{transform:translateX(0);}
.cart-head{display:flex;justify-content:space-between;align-items:center;padding:26px 26px 20px;border-bottom:1px solid var(--line);}
.cart-head h3{font-size:20px;color:var(--white);}
.cart-items{flex:1;overflow-y:auto;padding:20px 26px;}
.cart-row{display:flex;justify-content:space-between;padding:14px 0;border-bottom:1px solid var(--line);font-size:14px;}
.cart-empty{opacity:.5;font-size:14px;padding-top:20px;}
.cart-foot{padding:22px 26px;border-top:1px solid var(--line);}
.cart-foot .total{display:flex;justify-content:space-between;margin-bottom:16px;font-size:15px;}
.cart-scrim{position:fixed;inset:0;background:rgba(0,0,0,.5);z-index:290;opacity:0;pointer-events:none;transition:opacity .4s;}
.cart-scrim.open{opacity:1;pointer-events:all;}
.close-x{font-size:22px;line-height:1;color:var(--off-white);}

/* ===== REVIEWS ===== */
.reviews{background:var(--panel);}
.review-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);border:1px solid var(--line);}
.review-card{background:var(--panel);padding:38px 34px;}
.stars{color:var(--gold);font-size:14px;letter-spacing:2px;margin-bottom:18px;}
.review-card p{font-size:15px;line-height:1.7;color:var(--off-white);opacity:.85;font-weight:300;margin-bottom:22px;}
.review-name{font-size:13px;color:var(--white);font-weight:500;}
.review-source{font-size:11px;color:var(--off-white);opacity:.45;margin-top:2px;text-transform:uppercase;letter-spacing:0.06em;}
.review-summary{text-align:center;margin-top:56px;}
.review-summary .score{font-family:'Fraunces',serif;font-size:44px;color:var(--white);}

/* ===== VISIT ===== */
.visit{background:var(--black);}
.visit-grid{display:grid;grid-template-columns:0.9fr 1.1fr;gap:0;border:1px solid var(--line);border-radius:2px;overflow:hidden;}
.visit-info{padding:56px 48px;background:var(--panel);}
.visit-info h2{font-size:clamp(26px,3vw,36px);color:var(--white);margin-bottom:30px;}
.visit-row{padding:18px 0;border-top:1px solid var(--line);}
.visit-row:last-of-type{border-bottom:1px solid var(--line);}
.visit-row .k{font-size:11px;letter-spacing:0.1em;text-transform:uppercase;color:var(--gold-soft);margin-bottom:6px;}
.visit-row .v{font-size:16px;color:var(--white);}
.visit-ctas{display:flex;gap:14px;margin-top:32px;flex-wrap:wrap;}
.visit-map{min-height:420px;position:relative;}
.visit-map iframe{width:100%;height:100%;position:absolute;inset:0;filter:grayscale(0.4) contrast(1.05);border:0;}
.visit-map.visit-map-tall{min-height:640px;}

/* ===== HOME: FEATURE CARDS + PREVIEWS ===== */
.feature-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);border:1px solid var(--line);}
.feature-card{background:var(--panel);padding:44px 36px;}
.feature-card .num{font-family:'Fraunces',serif;font-size:13px;color:var(--gold-soft);margin-bottom:18px;}
.feature-card h3{font-size:22px;color:var(--white);margin-bottom:14px;}
.feature-card p{font-size:14px;line-height:1.7;color:var(--off-white);opacity:.7;font-weight:300;margin-bottom:22px;}
.feature-card a{font-size:12px;letter-spacing:0.08em;text-transform:uppercase;color:var(--gold-soft);display:inline-flex;align-items:center;gap:8px;}
.feature-card a::after{content:'→';transition:transform .3s var(--ease);}
.feature-card a:hover::after{transform:translateX(4px);}

.section-foot-link{text-align:center;margin-top:56px;}

/* ===== FINAL CTA ===== */
.final-cta{padding:150px 0;text-align:center;position:relative;overflow:hidden;background:linear-gradient(180deg, var(--black), var(--green-mist));}
.final-cta h2{font-size:clamp(34px,6vw,72px);color:var(--white);max-width:900px;margin:0 auto 40px;}
.final-cta .btn{padding:18px 42px;font-size:13px;}

/* ===== FOOTER ===== */
footer{background:var(--panel);border-top:1px solid var(--line);padding:70px 0 30px;}
.footer-top{display:flex;justify-content:space-between;gap:60px;flex-wrap:wrap;margin-bottom:60px;}
.footer-brand{max-width:320px;}
.footer-brand .logo{margin-bottom:18px;}
.footer-brand p{font-size:14px;color:var(--off-white);opacity:.6;line-height:1.7;font-weight:300;}
.footer-cols{display:flex;gap:70px;flex-wrap:wrap;}
.footer-col h4{font-size:11px;letter-spacing:0.12em;text-transform:uppercase;color:var(--gold-soft);margin-bottom:20px;}
.footer-col a{display:block;font-size:14px;color:var(--off-white);opacity:.75;margin-bottom:12px;transition:.3s;}
.footer-col a:hover{opacity:1;color:var(--gold-soft);}
.footer-social{display:flex;gap:12px;margin-top:6px;}
.footer-social a{width:38px;height:38px;border:1px solid var(--line);border-radius:50%;display:flex;align-items:center;justify-content:center;opacity:1;margin:0;}
.footer-social a:hover{border-color:var(--gold);}
.footer-bottom{display:flex;justify-content:space-between;padding-top:26px;border-top:1px solid var(--line);font-size:12px;color:var(--off-white);opacity:.45;flex-wrap:wrap;gap:10px;}

/* ===== BOOKING FORM ===== */
.booking-form{margin-top:20px;}
.hp-field{position:absolute;left:-9999px;}
.form-row{margin-bottom:22px;}
.form-row label{display:block;font-size:12px;letter-spacing:0.08em;text-transform:uppercase;color:var(--gold-soft);margin-bottom:10px;}
.form-row label span{color:var(--gold);margin-left:4px;}
.form-row-split{display:grid;grid-template-columns:1fr 1fr;gap:20px;}
.form-row input,.form-row select,.form-row textarea{
  width:100%;background:var(--panel);border:1px solid var(--line);border-radius:2px;
  padding:14px 16px;color:var(--white);font-family:'Space Grotesk',sans-serif;font-size:15px;
  transition:border-color .3s;
}
.form-row input:focus,.form-row select:focus,.form-row textarea:focus{outline:none;border-color:var(--gold);}
.form-row select{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='9'%3E%3Cpath d='M1 1l6 6 6-6' stroke='%23e3cfa1' stroke-width='1.4' fill='none'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 16px center;padding-right:40px;}
.form-row textarea{resize:vertical;min-height:100px;}
.form-row input::placeholder,.form-row textarea::placeholder{color:var(--off-white);opacity:.35;}

@media (max-width:900px){
  .form-row-split{grid-template-columns:1fr;gap:0;}
}

.carousel{display:flex;overflow-x:auto;gap:14px;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;padding-bottom:8px;scrollbar-width:none;}
.carousel::-webkit-scrollbar{display:none;}
.carousel .c-item{scroll-snap-align:start;flex:0 0 82%;}

/* ===== RESPONSIVE ===== */
@media (max-width:900px){
  .wrap{padding:0 22px;}
  .nav-links{
    position:fixed;top:0;right:0;height:100vh;width:78vw;max-width:340px;
    background:var(--panel);flex-direction:column;justify-content:center;gap:28px;padding:0 40px;
    transform:translateX(100%);transition:transform .5s var(--ease);z-index:205;
  }
  .nav-links.open{transform:translateX(0);}
  .nav-cta .btn-ghost{display:none;}
  .menu-toggle{display:block;}
  .section-pad{padding:80px 0;}

  .hero{align-items:center;text-align:left;min-height:560px;}
  .hero-content{padding:0 22px 0;}
  .hero h1{font-size:clamp(34px,9vw,48px);max-width:100%;}
  .hero .sub{display:none;}
  .hero .hero-ctas{margin-top:28px;}
  .hero .hero-ctas .btn{padding:11px 20px;font-size:11px;}
  .scroll-cue{display:none;}
  .sound-toggle{left:22px;bottom:22px;padding:7px 12px;font-size:10px;}

  .page-hero{min-height:260px;}
  .page-hero .hero-content{padding:0 22px 40px;}

  .services-grid{grid-template-columns:1fr;gap:40px 0;}

  .gallery-grid{display:flex;overflow-x:auto;gap:12px;grid-auto-rows:unset;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;padding-bottom:6px;}
  .gallery-grid::-webkit-scrollbar{display:none;}
  .g-item{flex:0 0 78%;height:340px;scroll-snap-align:start;grid-column:unset!important;grid-row:unset!important;}
  .g-item .label,.g-item::after{opacity:1;transform:translateY(0);}

  .cf-grid{grid-template-columns:1fr;gap:40px;}
  .cf-grid .cf-media{order:-1;}

  .shop-grid{grid-template-columns:repeat(2,1fr);gap:16px;}
  .shop-head{align-items:flex-start;}

  .review-grid{grid-template-columns:1fr;}
  .feature-grid{grid-template-columns:1fr;}

  .visit-grid{grid-template-columns:1fr;}
  .visit-map{min-height:300px;}

  .footer-top{gap:40px;}

  .btn{padding:12px 22px;font-size:11px;}
}

@media (max-width:480px){
  .shop-grid{grid-template-columns:1fr 1fr;gap:12px;}
  .product-name{font-size:15px;}
  .final-cta{padding:100px 0;}
  .cart-drawer{width:100vw;max-width:100vw;}
}

@media (prefers-reduced-motion: reduce){
  *{animation-duration:0.001ms !important; transition-duration:0.001ms !important;}
  .hero h1 .line span{transform:none;}
}
