
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;font-size:16px}
img{max-width:100%;display:block}
a{text-decoration:none;color:inherit}
ul{list-style:none}
button{cursor:pointer;border:none;background:none;font-family:inherit}

@font-face{
  font-family:'Montserrat';
  src:url('fonts/Montserrat-Regular.ttf') format('truetype');
  font-weight:400;font-style:normal;font-display:swap;
}
@font-face{
  font-family:'Montserrat';
  src:url('fonts/Montserrat-Medium.ttf') format('truetype');
  font-weight:500;font-style:normal;font-display:swap;
}
@font-face{
  font-family:'Montserrat';
  src:url('fonts/Montserrat-SemiBold.ttf') format('truetype');
  font-weight:600;font-style:normal;font-display:swap;
}
@font-face{
  font-family:'Montserrat';
  src:url('fonts/Montserrat-Bold.ttf') format('truetype');
  font-weight:700;font-style:normal;font-display:swap;
}
@font-face{
  font-family:'Montserrat';
  src:url('fonts/Montserrat-BoldItalic.ttf') format('truetype');
  font-weight:700;font-style:italic;font-display:swap;
}
@font-face{
  font-family:'Montserrat';
  src:url('fonts/Montserrat-ExtraBold.ttf') format('truetype');
  font-weight:800;font-style:normal;font-display:swap;
}
@font-face{
  font-family:'Montserrat';
  src:url('fonts/Montserrat-ExtraBoldItalic.ttf') format('truetype');
  font-weight:800;font-style:italic;font-display:swap;
}

:root{
  --bg:        #070707;
  --surface:   #0f0f0f;
  --card:      #131313;
  --border:    #222222;
  --border-lt: #2d2d2d;
  --gold:      #d91602;
  --gold-dim:  rgba(217,22,2,0.12);
  --gold-glow: rgba(217,22,2,0.25);
  --cream:     #EDE8DF;
  --muted:     #5e5e5e;
  --muted-lt:  #8a8a8a;

  --display: 'Montserrat', sans-serif;
  --body:    'Montserrat', sans-serif;
  --mono:    'Courier Prime', monospace;

  --rad:   8px;
  --rad-l: 16px;
  --trans: 0.32s cubic-bezier(0.4,0,0.2,1);
  --shad:  0 8px 40px rgba(0,0,0,0.6);
  --shad-gold: 0 4px 24px rgba(217,22,2,0.3);

  --red-1: #5c0a00;
  --red-2: #d91602;
  --red-glow: rgba(217,22,2,0.4);
}

html{background:var(--bg)}
body{
  background:var(--bg) url("images/home/bg-texture.png") repeat;
  background-size:340px auto;
  background-attachment:fixed;
  color:var(--body-color, var(--cream));
  font-family:var(--body);
  font-size:calc(1rem * var(--body-scale, 1));
  font-weight:400;
  line-height:1.75;
  overflow-x:hidden;
  opacity:0;
  animation:pageFadeIn 0.75s cubic-bezier(0.16,1,0.3,1) forwards;
}
@keyframes pageFadeIn{
  from{opacity:0}
  to{opacity:1}
}

.oi-transition-overlay{
  position:fixed;inset:0;z-index:2147483647;
  background:var(--bg);
  opacity:0;
  pointer-events:none;
  display:flex;align-items:center;justify-content:center;
  transition:opacity 0.5s cubic-bezier(0.65,0,0.35,1);
}
.oi-transition-overlay.oi-show{opacity:1;pointer-events:auto}
.oi-transition-mark{
  width:44px;height:44px;
  opacity:0;transform:scale(0.85);
  transition:opacity 0.45s ease 0.12s, transform 0.45s cubic-bezier(0.34,1.56,0.64,1) 0.12s;
}
.oi-transition-overlay.oi-show .oi-transition-mark{opacity:0.92;transform:scale(1)}

.oi-float-contact{
  position:fixed;right:24px;bottom:100px;z-index:2000;
  display:flex;flex-direction:column;align-items:center;
  padding:7px;gap:2px;
  background:rgba(15,15,15,0.7);
  backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);
  border:1px solid rgba(255,255,255,0.09);
  border-radius:100px;
  box-shadow:var(--shad);
  transition:opacity 0.3s ease,transform 0.3s ease;
}
body.nav-open .oi-float-contact{opacity:0;pointer-events:none;transform:translateY(8px)}

.oi-float-divider{width:22px;height:1px;background:rgba(255,255,255,0.1);margin:3px auto}

.oi-float-btn{
  width:44px;height:44px;border-radius:50%;position:relative;
  display:flex;align-items:center;justify-content:center;
  color:var(--muted-lt);font-size:1.15rem;background:transparent;
  transition:color 0.3s ease,background 0.3s ease,transform 0.3s cubic-bezier(0.34,1.56,0.64,1);
}
.oi-float-btn:hover{transform:scale(1.08)}
.oi-float-wa:hover{background:#25D366;color:#fff}
.oi-float-tg:hover{background:#229ED9;color:#fff}

.oi-float-wa::after{
  content:'';position:absolute;inset:0;border-radius:50%;pointer-events:none;
  box-shadow:0 0 0 0 rgba(37,211,102,0.4);
  animation:oiGlow 3.6s ease-out infinite;
}
@keyframes oiGlow{
  0%{box-shadow:0 0 0 0 rgba(37,211,102,0.4)}
  65%{box-shadow:0 0 0 10px rgba(37,211,102,0)}
  100%{box-shadow:0 0 0 0 rgba(37,211,102,0)}
}

.oi-float-tip{
  position:absolute;right:calc(100% + 12px);top:50%;
  transform:translateY(-50%) translateX(6px);
  background:var(--card);color:var(--cream);
  font-family:var(--body);font-size:0.72rem;font-weight:600;letter-spacing:0.02em;
  padding:7px 14px;border-radius:100px;white-space:nowrap;
  border:1px solid var(--border-lt);
  opacity:0;pointer-events:none;
  transition:opacity 0.25s ease,transform 0.25s ease;
}
.oi-float-btn:hover .oi-float-tip{opacity:1;transform:translateY(-50%) translateX(0)}

@media(max-width:768px){
  .oi-float-tip{display:none}
}
@media(max-width:480px){
  .oi-float-contact{right:16px;bottom:88px;padding:6px}
  .oi-float-btn{width:40px;height:40px;font-size:1.05rem}
}

body::before{
  content:'';
  position:fixed;top:0;left:0;right:0;height:110px;
  background:linear-gradient(to bottom, rgba(5,5,5,0.97) 0%, rgba(5,5,5,0.85) 55%, transparent 100%);
  pointer-events:none;
  z-index:2147483646;
}

body::after{
  content:'';
  position:fixed;
  inset:0;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='300' height='300'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.75' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='300' height='300' filter='url(%23n)' opacity='1'/%3E%3C/svg%3E");
  opacity:0.025;
  pointer-events:none;
  z-index:9000;
}

::-webkit-scrollbar{width:5px}
::-webkit-scrollbar-track{background:var(--bg)}
::-webkit-scrollbar-thumb{background:#2a2a2a;border-radius:3px}
::-webkit-scrollbar-thumb:hover{background:var(--gold)}

.container{max-width:1400px;margin:0 auto;padding:0 24px}

.eyebrow{
  font-family:var(--mono);
  font-size:calc(0.7rem * var(--label-scale, 1));
  letter-spacing:0.28em;
  text-transform:uppercase;
  color:var(--label-color, var(--gold));
  margin-bottom:14px;
}
.sec-title{
  font-family:var(--display);
  font-size:calc(clamp(1.9rem,3.8vw,2.9rem) * var(--heading-scale, 1));
  font-weight:700;
  line-height:1.2;
  color:var(--heading-color, var(--cream));
  margin-bottom:16px;
}
.sec-title em{
  font-family:var(--display);
  font-style:italic;
  font-weight:700;
  color:var(--gold);
}
.sec-desc{color:var(--muted-lt);font-size:0.98rem;font-weight:300;letter-spacing:0.01em;line-height:1.8;max-width:520px}
.sec-header{text-align:center;margin-bottom:60px}
.sec-header .sec-desc{margin:0 auto}

.btn{
  display:inline-flex;align-items:center;gap:8px;
  padding:13px 30px;
  font-family:var(--body);font-size:0.8rem;font-weight:600;
  letter-spacing:0.1em;text-transform:uppercase;
  border-radius:var(--rad);
  transition:var(--trans);
  position:relative;overflow:hidden;
}
.btn::after{content:'';position:absolute;inset:0;background:rgba(255,255,255,0.05);opacity:0;transition:opacity 0.2s}
.btn:hover::after{opacity:1}

.btn-gold{
  background:linear-gradient(135deg,var(--gold) 0%,#5c0a00 100%);
  color:var(--bg);box-shadow:var(--shad-gold);
}
.btn-gold:hover{transform:translateY(-2px);box-shadow:0 8px 32px rgba(217,22,2,0.45)}

.btn-ghost{
  background:transparent;color:var(--cream);
  border:1px solid rgba(237,232,223,0.25);
}
.btn-ghost:hover{border-color:var(--gold);color:var(--gold);transform:translateY(-2px)}

.btn-full{width:100%;justify-content:center}

.navbar{
  position:fixed;top:20px;left:0;right:0;z-index:2147483647;
  width:min(1240px,94%);
  margin:0 auto;
  padding:0;
  background:transparent;
  backdrop-filter:none;-webkit-backdrop-filter:none;
  border:1px solid transparent;
  border-radius:100px;
  box-shadow:none;
  transition:background 0.4s,top 0.4s,box-shadow 0.4s,border-color 0.4s,backdrop-filter 0.4s;
}
.navbar::before{
  content:'';position:absolute;top:0;left:6%;right:6%;height:1px;
  background:linear-gradient(90deg,transparent,rgba(217,22,2,0.55),transparent);
  pointer-events:none;
  opacity:0;transition:opacity 0.4s;
}
.navbar.scrolled{
  top:12px;
}
.navbar.scrolled::before{opacity:1}

.nav-inner{
  max-width:100%;margin:0 auto;padding:12px 14px 12px 22px;
  display:flex;align-items:center;justify-content:space-between;
}

.nav-logo{display:flex;align-items:center;gap:12px}
.logo-mark{
  width:38px;height:38px;flex-shrink:0;border-radius:50%;
  display:flex;align-items:center;justify-content:center;
  background:linear-gradient(135deg,var(--gold) 0%,#5c0a00 100%);
  color:var(--bg);font-size:0.92rem;
  box-shadow:0 4px 16px rgba(217,22,2,0.35);
  transition:var(--trans);
}
.nav-logo:hover .logo-mark{transform:rotate(-14deg) scale(1.08);box-shadow:0 6px 22px rgba(217,22,2,0.5)}
.logo-word{display:flex;flex-direction:column;line-height:1.05;gap:2px}
.nav-logo .logo-main{
  font-family:var(--display);font-size:1.18rem;font-weight:800;
  color:var(--cream);letter-spacing:0.03em;
}
.nav-logo .logo-sub{
  font-family:var(--display);font-size:0.68rem;font-weight:600;font-style:italic;
  color:var(--gold);letter-spacing:0.2em;text-transform:lowercase;
}

.nav-links{
  display:flex;align-items:center;gap:6px;
}
.nav-link{
  font-size:0.78rem;font-weight:600;letter-spacing:0.05em;text-transform:uppercase;
  color:var(--muted-lt);transition:color 0.3s ease,background 0.3s ease,box-shadow 0.3s ease,text-shadow 0.3s ease;
  position:relative;
  padding:9px 18px;border-radius:100px;
  white-space:nowrap;flex-shrink:0;
}
.nav-link:hover{
  color:var(--gold);
  background:var(--gold-dim);
  text-shadow:0 0 12px rgba(217,22,2,0.6);
  box-shadow:0 0 0 1px rgba(217,22,2,0.18),0 0 18px rgba(217,22,2,0.22);
}
.nav-link.active{
  color:var(--gold);background:var(--gold-dim);
  text-shadow:0 0 10px rgba(217,22,2,0.45);
}

.nav-cta{
  margin-left:8px;padding:11px 22px!important;
  font-weight:700;white-space:nowrap;flex-shrink:0;
}
.nav-cta:hover{transform:translateY(-2px)}

.nav-right{display:flex;align-items:center;gap:16px}

.hamburger{display:none;flex-direction:column;gap:5px;width:26px}
.hamburger span{display:block;height:1.5px;background:var(--cream);border-radius:2px;transition:var(--trans)}
.hamburger.open span:nth-child(1){transform:translateY(6.5px) rotate(45deg)}
.hamburger.open span:nth-child(2){opacity:0;transform:scaleX(0)}
.hamburger.open span:nth-child(3){transform:translateY(-6.5px) rotate(-45deg)}

.hero.hero-v2{
  position:relative;height:auto;min-height:auto;
  display:block;overflow:visible;
  padding:150px 24px 20px;
}

.hero-frame-wrap{
  position:relative;
  max-width:1140px;margin:0 auto;
}
.hero-frame{
  position:relative;aspect-ratio:1102.53/567.43;border-radius:30px;overflow:hidden;
  background:var(--surface);
  border:1px solid rgba(255,255,255,0.9);
  box-shadow:var(--shad);
  opacity:0;animation:fadeUp 0.8s 0.2s ease forwards;
}
.hero-frame .hero-video{
  width:100%;height:100%;object-fit:cover;object-position:center;
  filter:brightness(0.75) contrast(1.08) saturate(0.85) sepia(0.08);
}
.hero-frame .hero-bg-img{
  position:absolute;inset:0;width:100%;height:100%;object-fit:cover;
  filter:brightness(0.75) contrast(1.08) saturate(0.85) sepia(0.08);
}
.hero-frame-shade{
  position:absolute;inset:0;
  background:linear-gradient(180deg,rgba(7,7,7,0) 55%,rgba(7,7,7,0.85) 100%);
}
.hero-frame-bracket{
  position:absolute;top:14%;bottom:14%;width:60px;
  border:1px solid rgba(237,232,223,0.18);
  pointer-events:none;
}
.hero-frame-bracket-l{left:-30px;border-right:none;border-radius:14px 0 0 14px}
.hero-frame-bracket-r{right:-30px;border-left:none;border-radius:0 14px 14px 0}
.hero-frame-bracket::before{
  content:'';position:absolute;top:50%;width:9px;height:9px;
  background:var(--bg);border:1px solid rgba(237,232,223,0.35);
  transform:translateY(-50%) rotate(45deg);
}
.hero-frame-bracket-l::before{left:-5px}
.hero-frame-bracket-r::before{right:-5px}

.hero-scroll-ind{
  position:absolute;bottom:-6px;right:44px;z-index:2;
  display:flex;flex-direction:column;align-items:center;gap:10px;
  opacity:0;animation:fadeIn 1s 1.4s ease forwards;
}
.scroll-text{
  font-family:var(--mono);font-size:calc(0.6rem * var(--label-scale, 1));letter-spacing:0.2em;
  text-transform:uppercase;color:var(--label-color, var(--gold));writing-mode:vertical-rl;
}
.scroll-bar{
  width:1px;height:56px;
  background:linear-gradient(to bottom,var(--gold),transparent);
  animation:scrollPulse 2.2s ease-in-out infinite;
}

.hero-stats-inline{
  display:flex;align-items:center;gap:30px;flex-wrap:wrap;
  margin:26px 0;
}
.stat{display:flex;flex-direction:column;align-items:flex-start;gap:2px}
.stat-value{display:flex;align-items:baseline;line-height:1}
.stat-num{font-family:var(--display);font-size:1.6rem;font-weight:700;color:var(--gold);line-height:1}
.stat-suf{font-family:var(--display);font-size:1.15rem;font-weight:700;color:var(--gold);line-height:1}
.stat-lbl{font-size:0.62rem;letter-spacing:0.16em;text-transform:uppercase;color:var(--muted-lt)}
.stat-sep{width:1px;height:30px;background:rgba(237,232,223,0.15)}

.circuit-panel{
  position:relative;max-width:1140px;margin:0 auto;
  padding:50px 24px 110px;
  display:grid;
  grid-template-columns:1fr 1.15fr;
  grid-template-rows:auto 1fr;
  gap:26px 40px;
}
.circuit-video-box,.circuit-picture-box{
  border-radius:30px;overflow:hidden;
  border:1px solid rgba(255,255,255,0.9);background:var(--card);
  position:relative;
}
.circuit-video-box{grid-column:1;grid-row:1/3;min-height:420px;aspect-ratio:327.25/589.12}
.circuit-video-box .circuit-video{width:100%;height:100%;object-fit:cover;filter:brightness(0.8) saturate(0.9)}
.circuit-video-box .circuit-video-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:brightness(0.8) saturate(0.9)}
.circuit-picture-box{grid-column:2;grid-row:2;min-height:190px}
.circuit-picture-box img{width:100%;height:100%;object-fit:cover;display:block}
.circuit-picture-box .circuit-picture-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.circuit-placeholder{
  position:absolute;inset:0;display:flex;align-items:center;justify-content:center;
  text-align:center;padding:0 16px;line-height:1.5;
  color:rgba(255,255,255,0.28);font-family:var(--mono);font-size:0.62rem;font-weight:700;
  letter-spacing:0.1em;text-transform:uppercase;
}

.circuit-text-box{
  grid-column:2;grid-row:1;position:relative;
  display:flex;flex-direction:column;justify-content:center;
  padding:10px 4px;
}
.circuit-title{
  font-family:var(--display);font-style:italic;font-weight:800;
  font-size:clamp(1.6rem,2.6vw,2.2rem);letter-spacing:-0.03em;
  color:#fff;margin-bottom:14px;
}
.circuit-desc{
  color:#fff;opacity:0.65;max-width:440px;font-size:0.98rem;letter-spacing:normal;
}
.circuit-stats{margin:22px 0}
.btn-circuit-img-link{display:inline-flex;align-self:flex-start;transition:var(--trans)}
.btn-circuit-img{height:52px;width:auto;display:block}
.btn-circuit-img-link:hover{transform:translateY(-2px);filter:brightness(1.08)}

.circuit-wire{position:absolute;background:rgba(237,232,223,0.14)}
.circuit-wire-stem{top:-40px;left:50%;width:1px;height:40px;transform:translateX(-50%)}
.circuit-wire-to-text{top:36px;left:-40px;width:40px;height:1px}
.circuit-wire-to-pic{top:-26px;left:-40px;width:1px;height:26px}
.circuit-node{
  position:absolute;width:9px;height:9px;background:var(--bg);
  border:1px solid rgba(237,232,223,0.35);transform:rotate(45deg);
}
.circuit-node-top{top:-44px;left:50%;margin-left:-5px}
.circuit-node-mid{top:31px;left:-45px}

.satisfied-panel{padding:20px 0 110px}
.satisfied-panel.review-page-top{padding-top:100px}
.satisfied-card{
  position:relative;overflow:hidden;
  max-width:1500px;margin:0 auto;padding:70px 40px;
  text-align:center;
}
.satisfied-title{
  font-family:var(--display);font-style:italic;font-weight:800;
  font-size:calc(clamp(1.9rem,4vw,2.8rem) * var(--heading-scale, 1));color:var(--heading-color, var(--cream));margin-bottom:14px;
}
.satisfied-desc{
  color:var(--body-color, var(--muted-lt));max-width:520px;margin:0 auto;
}
.satisfied-card .gr-widget-wrap{margin-top:36px}

.page-hero{
  padding:100px 0 56px;
  background:transparent;
  position:relative;overflow:hidden;
}
.page-hero::after{
  content:'';position:absolute;left:0;right:0;bottom:0;height:160px;
  background:linear-gradient(to bottom, rgba(7,7,7,0) 0%, var(--surface) 92%);
  pointer-events:none;z-index:0;
}
.page-hero:has(+ .branches)::after,
.page-hero:has(+ .services)::after,
.page-hero:has(+ .artists)::after,
.page-hero:has(+ .booking)::after{
  background:linear-gradient(to bottom, rgba(7,7,7,0) 0%, var(--bg) 92%);
}
.page-hero .container{position:relative;z-index:1;}

.page-hero-video,.page-hero-img{
  position:fixed;inset:0;width:100%;height:100%;object-fit:cover;
  filter:brightness(0.55) contrast(1.05);z-index:-1;
}
.page-hero-overlay{
  position:fixed;inset:0;z-index:-1;
  background:linear-gradient(160deg,rgba(7,7,7,0.55) 0%,rgba(7,7,7,0.28) 50%,rgba(7,7,7,0.55) 100%);
}
body.has-hero-video .page-hero::after{ display:none; }
body.has-hero-video .page-hero,
body.has-hero-video .about,
body.has-hero-video .certificates,
body.has-hero-video .branches,
body.has-hero-video .services,
body.has-hero-video .artists,
body.has-hero-video .faq,
body.has-hero-video .process,
body.has-hero-video .booking{
  background:transparent;
}
.page-title{
  font-family:var(--display);font-weight:800;
  font-size:calc(clamp(2.1rem,5vw,3.4rem) * var(--heading-scale, 1));
  line-height:1.18;color:var(--heading-color, var(--cream));
}
.page-title em{font-style:italic;font-weight:700;color:var(--gold)}
.ph-back{display:inline-flex;align-items:center;gap:8px;transition:var(--trans)}
.ph-back:hover{gap:12px;color:var(--cream)}

.page-title-badge{width:56px;height:auto;margin-bottom:16px;opacity:0.95}
.cabang-page .page-title em,
.services-page .page-title em,
.piercing-page .page-title em{color:var(--red-2)}

.cabang-page .branch-card,
.services-page .svc-card,
.piercing-page .svc-card{border-radius:30px}

.cabang-page .branch-tag{background:linear-gradient(135deg,var(--red-2),var(--red-1));color:#fff}
.cabang-page .branch-btn{
  border-radius:100px;background:rgba(217,22,2,0.12);color:var(--red-2);
  border-color:rgba(217,22,2,0.3);
}
.cabang-page .branch-btn:hover{background:var(--red-2);color:#fff}
.cabang-page .branch-btn-ghost{background:transparent;color:var(--muted-lt);border-color:var(--border)}
.cabang-page .branch-btn-ghost:hover{border-color:var(--red-2);color:var(--red-2);background:rgba(217,22,2,0.12)}

.trust-strip{
  display:flex;flex-wrap:wrap;gap:12px;margin-top:28px;
}
.trust-item{
  display:flex;align-items:center;gap:9px;
  padding:10px 18px;border:1px solid var(--border);border-radius:100px;
  background:var(--card);font-size:0.78rem;font-weight:600;color:var(--muted-lt);
}
.trust-item i{color:var(--gold)}

.process{padding:120px 0;background:transparent}
.process-grid{
  display:grid;grid-template-columns:repeat(4,1fr);gap:32px;
}
.process-step{position:relative}
.process-step:not(:last-child)::after{
  content:'';position:absolute;top:26px;left:calc(100% + 4px);width:24px;height:1px;
  background:linear-gradient(to right,var(--gold),transparent);
}
.process-num{
  font-family:var(--display);font-size:0.8rem;font-weight:700;
  color:var(--muted);letter-spacing:0.1em;
}
.process-icon{
  width:52px;height:52px;border:1px solid var(--border);border-radius:14px;
  display:flex;align-items:center;justify-content:center;
  font-size:1.15rem;color:var(--gold);background:var(--gold-dim);
  margin:14px 0 18px;transition:var(--trans);
}
.process-step:hover .process-icon{background:var(--gold);color:var(--bg);transform:translateY(-4px)}
.process-step h3{font-family:var(--display);font-size:calc(1.08rem * var(--heading-scale, 1));font-weight:700;color:var(--heading-color, var(--cream));margin-bottom:10px}
.process-step p{font-size:0.86rem;color:var(--muted);line-height:1.75}

.faq{padding:120px 0;background:transparent}
.faq-list{max-width:760px;margin:0 auto}
.faq-item{border-bottom:1px solid var(--border)}
.faq-q{
  width:100%;display:flex;align-items:center;justify-content:space-between;gap:20px;
  padding:22px 2px;text-align:left;background:none;
  font-family:var(--display);font-size:calc(1rem * var(--heading-scale, 1));font-weight:700;color:var(--heading-color, var(--cream));
}
.faq-q:hover{color:var(--gold)}
.faq-q i{color:var(--gold);transition:transform 0.3s ease;flex-shrink:0}
.faq-item.open .faq-q i{transform:rotate(180deg)}
.faq-a{max-height:0;overflow:hidden;transition:max-height 0.35s ease}
.faq-item.open .faq-a{max-height:420px}
.faq-a p{padding:0 2px 22px;color:var(--muted);font-size:0.9rem;line-height:1.8;max-width:660px}

.about{padding:120px 0;background:transparent}
.about-grid{display:grid;grid-template-columns:1fr 1fr;gap:72px;align-items:center}

.about-img-frame{position:relative;border-radius:var(--rad-l);overflow:visible}
.about-img-frame img{
  width:100%;aspect-ratio:4/3;object-fit:cover;
  border-radius:var(--rad-l);
  background:var(--card);
  min-height:280px;
}
.about-badge{
  position:absolute;bottom:-18px;right:-18px;
  background:linear-gradient(135deg,var(--gold),#5c0a00);
  color:var(--bg);padding:14px 22px;border-radius:var(--rad);
  display:flex;align-items:center;gap:8px;
  font-size:0.78rem;font-weight:700;letter-spacing:0.05em;
  box-shadow:var(--shad-gold);
}

.about-text-col{padding-left:12px}
.about-p{color:var(--muted-lt);margin-bottom:16px;font-size:0.96rem;font-weight:300;letter-spacing:0.01em;line-height:1.9}
.about-pillars{display:flex;flex-direction:column;gap:12px;margin-top:28px}
.pillar{display:flex;align-items:center;gap:13px;font-size:calc(0.88rem * var(--body-scale, 1));font-weight:500;color:var(--body-color, var(--cream))}
.pillar i{color:var(--gold);width:18px;text-align:center}

.certificates{padding:90px 0;background:transparent;text-align:center}
.certificates .eyebrow{justify-content:center}
.certificates .sec-title{margin-bottom:40px}
.cert-grid{
  display:flex;flex-wrap:wrap;justify-content:center;gap:26px;
}
.cert-item{width:200px}
.cert-img{
  width:100%;aspect-ratio:3/4;object-fit:cover;
  border-radius:var(--rad-l);border:1px solid var(--border);
  background:var(--card);transition:var(--trans);
}
.cert-item:hover .cert-img{border-color:var(--gold);transform:translateY(-4px)}
.cert-title{margin-top:12px;font-size:calc(0.85rem * var(--heading-scale, 1));font-weight:600;color:var(--heading-color, var(--cream));line-height:1.35}
.cert-subtitle{margin-top:2px;font-size:0.72rem;color:var(--muted)}

.branches{padding:70px 0 280px;background:transparent}

.loc-hero{text-align:center;margin-bottom:38px}
.loc-note{
  font-family:var(--body);font-size:0.92rem;color:var(--muted-lt);
  line-height:1.7;max-width:560px;margin:0 auto;
}

.loc-layout{display:grid;grid-template-columns:260px 1fr;gap:0;align-items:start}

.loc-sidebar{
  max-width:320px;padding:20px;border-radius:var(--rad-l);
  background:rgba(0,0,0,0.55);
  backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);
  border:1px solid var(--border);
}
.loc-list{max-height:520px;overflow-y:auto}
.loc-group{margin-bottom:18px}
.loc-group-title{
  display:flex;justify-content:space-between;align-items:center;
  font-family:var(--mono);font-size:calc(0.66rem * var(--label-scale, 1));letter-spacing:0.1em;text-transform:uppercase;
  color:var(--label-color, var(--muted-lt));margin-bottom:6px;
}
.loc-group-title span{color:var(--muted)}
.loc-row{
  display:flex;align-items:center;gap:12px;width:100%;
  padding:13px 10px;border-radius:6px;border-left:2px solid transparent;
  border-bottom:1px solid rgba(237,232,223,0.08);
  background:transparent;text-align:left;transition:var(--trans);
}
.loc-group .loc-row:last-child{border-bottom:none}
.loc-row:hover{background:rgba(237,232,223,0.07);border-left-color:rgba(237,232,223,0.25)}
.loc-row.active{background:#2a1615;border-left:3px solid var(--gold)}
.loc-row-main{flex:1;display:flex;flex-direction:column;gap:2px;min-width:0}
.loc-row-name{font-family:var(--display);font-weight:800;text-transform:uppercase;font-size:calc(0.86rem * var(--heading-scale, 1));color:var(--heading-color, var(--cream))}
.loc-row-sub{font-size:0.7rem;color:var(--muted-lt);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.loc-empty{color:var(--muted-lt);font-size:0.82rem;padding:12px 0}

.loc-detail{padding-left:32px;opacity:1;transition:opacity 0.16s ease}
.loc-detail.loc-fade-out{opacity:0}
.loc-photo-wrap{
  position:relative;aspect-ratio:2.4/1;border-radius:var(--rad-l);
  overflow:hidden;border:1px solid var(--border);
  display:grid;grid-template-columns:1.6fr 1fr;grid-template-rows:1fr 1fr;gap:5px;
  background:transparent;
}
.loc-photo-cell{position:relative;overflow:hidden;background:var(--card)}
.loc-photo-cell img{width:100%;height:100%;object-fit:cover;display:block}
.loc-photo-cell-main{grid-row:1/3}
.loc-photo-tag{
  position:absolute;top:20px;left:20px;z-index:1;
  background:rgba(7,7,7,0.75);border:1px solid var(--border-lt);color:var(--label-color, var(--cream));
  font-family:var(--mono);font-size:calc(0.64rem * var(--label-scale, 1));font-weight:700;letter-spacing:0.1em;text-transform:uppercase;
  padding:6px 13px;border-radius:100px;
}

.loc-detail-body{
  padding:20px 24px 24px;margin-top:16px;border-radius:var(--rad-l);
  background:rgba(0,0,0,0.55);
  backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);
  border:1px solid var(--border);
}
.loc-detail-head{display:flex;align-items:baseline;gap:16px;flex-wrap:wrap}
.loc-detail-head h2{
  font-family:var(--display);font-weight:800;text-transform:uppercase;
  font-size:calc(clamp(1.4rem,3vw,2.1rem) * var(--heading-scale, 1));color:var(--heading-color, var(--cream));margin:0;
}
.loc-detail-dist{font-size:0.8rem;color:var(--muted-lt)}


.loc-info-grid{
  display:grid;grid-template-columns:repeat(3,1fr);gap:26px;
  padding:14px 0;margin-bottom:16px;
}
.loc-info-label{display:block;font-family:var(--mono);font-weight:700;font-size:calc(0.7rem * var(--label-scale, 1));letter-spacing:0.12em;text-transform:uppercase;color:var(--label-color, var(--gold));margin-bottom:6px}
.loc-info-grid p{font-size:calc(0.85rem * var(--body-scale, 1));color:var(--body-color, var(--cream));margin:0;line-height:1.5}

.loc-services{margin-bottom:18px}
.loc-services p{font-size:calc(0.85rem * var(--body-scale, 1));color:var(--body-color, var(--cream));margin:0;line-height:1.55}

.loc-cta-row{display:flex;align-items:center;gap:40px;flex-wrap:wrap}
.loc-cta-row .btn-fan{padding:10px 20px;font-size:0.82rem}

.chalk-btn{position:relative;background:transparent !important;color:var(--cream)}
.chalk-btn::before{
  content:'';position:absolute;inset:-7px -11px;z-index:-1;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 200 70' preserveAspectRatio='none'%3E%3Cpath d='M8,10 C50,4 130,8 188,6 C193,15 189,30 192,45 C194,55 190,60 186,64 C130,68 60,62 12,66 C6,64 4,50 6,40 C3,25 5,15 8,10 Z' fill='none' stroke='%23EDE8DF' stroke-width='5' stroke-linecap='round' stroke-linejoin='round'/%3E%3Cpath d='M6,14 C55,7 125,4 190,11 M190,11 C195,22 188,34 193,48 M193,48 C195,58 188,61 184,66 M184,66 C128,70 58,60 10,68 M10,68 C4,62 6,48 3,38 M3,38 C1,24 6,18 6,14' fill='none' stroke='%23EDE8DF' stroke-width='2' stroke-linecap='round' opacity='0.55'/%3E%3Cpath d='M4,4 C14,0 6,16 18,6 C8,2 4,12 4,4 Z' fill='none' stroke='%23EDE8DF' stroke-width='2' stroke-linecap='round'/%3E%3Cpath d='M182,60 C192,56 188,68 198,62 C190,58 184,66 182,60 Z' fill='none' stroke='%23EDE8DF' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E");
  background-size:100% 100%;background-repeat:no-repeat;
  opacity:0.9;transition:var(--trans);
}
.chalk-btn:hover{transform:translateY(-2px);color:#fff}
.chalk-btn:hover::before{opacity:1}
.loc-cta-link{font-size:0.82rem;font-weight:700;color:var(--cream);transition:var(--trans)}
.loc-cta-link:hover{color:var(--gold)}
.loc-footer-cta{
  display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:20px;
  margin-top:44px;padding:32px 96px 0 0;border-top:1px solid rgba(255,255,255,0.1);
}
@media(max-width:640px){
  .loc-footer-cta{padding-right:0}
}
.loc-fc-q{font-family:var(--display);font-weight:800;color:var(--heading-color, var(--cream));font-size:calc(1.3rem * var(--heading-scale, 1))}
.loc-fc-desc{font-size:0.95rem;color:var(--muted-lt);flex:1;min-width:240px}
.loc-fc-link{padding:16px 34px!important;font-size:1rem}

.chalk-btn-dark{color:var(--bg)}
.chalk-btn-dark::before{
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 200 70' preserveAspectRatio='none'%3E%3Cpath d='M8,10 C50,4 130,8 188,6 C193,15 189,30 192,45 C194,55 190,60 186,64 C130,68 60,62 12,66 C6,64 4,50 6,40 C3,25 5,15 8,10 Z' fill='none' stroke='%23070707' stroke-width='5' stroke-linecap='round' stroke-linejoin='round'/%3E%3Cpath d='M6,14 C55,7 125,4 190,11 M190,11 C195,22 188,34 193,48 M193,48 C195,58 188,61 184,66 M184,66 C128,70 58,60 10,68 M10,68 C4,62 6,48 3,38 M3,38 C1,24 6,18 6,14' fill='none' stroke='%23070707' stroke-width='2' stroke-linecap='round' opacity='0.55'/%3E%3Cpath d='M4,4 C14,0 6,16 18,6 C8,2 4,12 4,4 Z' fill='none' stroke='%23070707' stroke-width='2' stroke-linecap='round'/%3E%3Cpath d='M182,60 C192,56 188,68 198,62 C190,58 184,66 182,60 Z' fill='none' stroke='%23070707' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E");
}
.chalk-btn-dark:hover{color:var(--gold)}

@media(max-width:860px){
  .loc-layout{grid-template-columns:1fr}
  .loc-sidebar{max-width:none;margin-bottom:24px}
  .loc-detail{padding-left:0}
  .loc-info-grid{grid-template-columns:1fr}
  .loc-note{text-align:left;max-width:none}
}

.craft-section{padding:90px 0;background:var(--surface)}
.craft-layout{
  max-width:1400px;
  display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center;
}
.craft-text .eyebrow{color:var(--red-2)}
.craft-title{
  font-family:var(--display);font-weight:800;font-style:italic;
  font-size:calc(clamp(1.9rem,3.6vw,2.8rem) * var(--heading-scale, 1));line-height:1.08;
  color:var(--heading-color, var(--cream));margin:14px 0 18px;
}
.craft-desc{color:var(--muted-lt);max-width:440px;margin-bottom:30px;line-height:1.8}
.btn-craft{
  display:inline-flex;padding:14px 30px;border-radius:100px;
  background:rgba(237,232,223,0.06);border:1px solid rgba(237,232,223,0.22);
  color:var(--cream);font-weight:700;transition:var(--trans);
}
.btn-craft:hover{border-color:var(--red-2);color:var(--red-2);transform:translateY(-2px)}
.craft-gallery{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.craft-gallery img{
  width:100%;aspect-ratio:3/4;object-fit:cover;
  border-radius:20px;border:1px solid rgba(255,255,255,0.15);
  display:block;
}
@media(max-width:860px){
  .craft-layout{grid-template-columns:1fr;gap:32px}
  .craft-desc{max-width:none}
}

.showcase-section{padding:90px 0 100px;background:transparent;position:relative;overflow-x:hidden}
.showcase-container{position:relative;z-index:1}

.showcase-header{text-align:center;margin-bottom:10px}
.showcase-badge{
  display:inline-flex;align-items:center;gap:8px;margin-bottom:16px;
  padding:7px 18px;border:1px solid var(--border-lt);border-radius:100px;
  background:rgba(0,0,0,0.4);color:var(--label-color, var(--gold));
  font-family:var(--mono);font-size:calc(0.64rem * var(--label-scale, 1));font-weight:700;letter-spacing:0.16em;text-transform:uppercase;
}
.showcase-sub{color:var(--muted-lt);font-size:0.92rem;max-width:480px;margin:14px auto 0;line-height:1.7}

.showcase-cards-wrap{position:relative}
.showcase-cards{
  display:flex;align-items:flex-end;justify-content:center;gap:18px;
  margin:64px 0 40px;overflow-x:auto;padding:20px 70px;
  height:390px;box-sizing:border-box;
  scrollbar-width:none;-ms-overflow-style:none;cursor:grab;
}
.showcase-cards.is-scrollable{justify-content:flex-start}
.showcase-cards::-webkit-scrollbar{display:none}
.showcase-cards.dragging{cursor:grabbing}
.showcase-cards .showcase-card{user-select:none}
.showcase-cards .showcase-card img{-webkit-user-drag:none;pointer-events:none}
.showcase-card{
  flex:0 0 210px;background:#f4f2ec;border-radius:4px;padding:8px 8px 12px;
  cursor:pointer;transition:var(--trans);opacity:0.72;
  transform-origin:bottom center;
  transform:rotate(var(--tilt,0deg)) scale(0.94);
}
.showcase-card:hover{opacity:0.92}
.showcase-card.active{
  flex-basis:290px;opacity:1;transform:rotate(0deg) scale(1);
  box-shadow:0 24px 48px rgba(0,0,0,0.55);
}
.showcase-photo{
  position:relative;display:block;aspect-ratio:1/1.05;overflow:hidden;border-radius:2px;
  background:#0a0a0a;
  background-image:repeating-linear-gradient(45deg, rgba(255,255,255,0.05) 0 2px, transparent 2px 14px);
}
.showcase-photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block}
.showcase-card-badge{
  position:absolute;top:8px;right:8px;z-index:1;
  background:var(--bg);color:var(--label-color, var(--cream));font-family:var(--mono);font-size:calc(0.56rem * var(--label-scale, 1));font-weight:800;
  letter-spacing:0.04em;text-transform:uppercase;
  padding:4px 9px;border-radius:100px;white-space:nowrap;
  box-shadow:0 2px 10px rgba(0,0,0,0.35);
}
.showcase-card-badge::before{
  content:'';position:absolute;inset:-4px -6px;pointer-events:none;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 200 70' preserveAspectRatio='none'%3E%3Cpath d='M8,10 C50,4 130,8 188,6 C193,15 189,30 192,45 C194,55 190,60 186,64 C130,68 60,62 12,66 C6,64 4,50 6,40 C3,25 5,15 8,10 Z' fill='none' stroke='%23fff' stroke-width='5' stroke-linecap='round' stroke-linejoin='round'/%3E%3Cpath d='M6,14 C55,7 125,4 190,11 M190,11 C195,22 188,34 193,48 M193,48 C195,58 188,61 184,66 M184,66 C128,70 58,60 10,68 M10,68 C4,62 6,48 3,38 M3,38 C1,24 6,18 6,14' fill='none' stroke='%23fff' stroke-width='2' stroke-linecap='round' opacity='0.55'/%3E%3C/svg%3E");
  background-size:100% 100%;background-repeat:no-repeat;
}
.showcase-placeholder{
  position:absolute;inset:0;display:flex;align-items:center;justify-content:center;
  text-align:center;padding:0 10px;line-height:1.5;
  color:rgba(255,255,255,0.28);font-family:var(--mono);font-size:0.58rem;font-weight:700;
  letter-spacing:0.08em;text-transform:uppercase;
}
.showcase-caption{
  display:block;margin-top:10px;text-align:center;
  font-family:var(--display);font-weight:700;font-style:italic;color:#221f1a;
  font-size:0.9rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
}

.showcase-tabs{
  display:flex;justify-content:center;gap:24px;margin-bottom:20px;
  overflow-x:auto;flex-wrap:nowrap;padding:0 4px 4px;
  scrollbar-width:none;-ms-overflow-style:none;cursor:grab;
}
.showcase-tabs::-webkit-scrollbar{display:none}
.showcase-tabs.dragging{cursor:grabbing}
.showcase-tabs.is-scrollable{justify-content:flex-start}
.showcase-tab{
  background:none;padding:6px 2px;color:var(--muted-lt);flex:none;white-space:nowrap;
  font-size:0.78rem;font-weight:600;border-bottom:2px solid transparent;transition:var(--trans);
  user-select:none;
}
.showcase-tab:hover{color:var(--cream)}
.showcase-tab.active{color:var(--gold);border-bottom-color:var(--gold);font-weight:800}

.showcase-desc{
  text-align:center;color:var(--muted-lt);font-size:0.9rem;max-width:520px;
  margin:0 auto 18px;line-height:1.75;min-height:3.5em;
  display:flex;align-items:center;justify-content:center;
}
.showcase-pain{
  display:flex;align-items:center;justify-content:center;gap:10px;flex-wrap:wrap;
  margin:0 auto 32px;
}
.showcase-pain-label{font-family:var(--mono);font-size:calc(0.68rem * var(--label-scale, 1));letter-spacing:0.1em;text-transform:uppercase;color:var(--label-color, var(--muted))}
.showcase-pain-stars{display:inline-flex;gap:3px}
.showcase-pain-star{width:17px;height:17px;display:inline-block;background-repeat:no-repeat;background-size:100% 100%}
.showcase-pain-star.filled{
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12,2.5 L18.2,20.3 L2.3,9.2 L21.4,8.6 L5.8,19.6 Z' fill='none' stroke='%23d91602' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
}
.showcase-pain-star.empty{
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12,2.5 L18.2,20.3 L2.3,9.2 L21.4,8.6 L5.8,19.6 Z' fill='none' stroke='%23EDE8DF' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round' opacity='0.28'/%3E%3C/svg%3E");
}

@media(max-width:640px){
  .showcase-card{flex-basis:160px}
  .showcase-card.active{flex-basis:210px}
  .showcase-tabs{gap:14px 20px}
}

.fan-section{padding:90px 0 100px;background:transparent;overflow-x:hidden}
.fan-section-top{padding-top:100px}
.branches-top{padding-top:100px}
.branches-top>.container>.fan-heading{text-align:center}
.fan-container{max-width:1700px;text-align:center}
.fan-heading{
  font-family:var(--display);font-weight:800;font-style:italic;
  font-size:calc(clamp(1.8rem,3.6vw,2.6rem) * var(--heading-scale, 1));color:var(--heading-color, var(--cream));
  margin:10px 0 50px;
}
.fan-heading em{font-style:italic;color:var(--red-2)}
.fan-row{
  display:flex;align-items:flex-end;justify-content:center;
  gap:8px;
  padding:40px 24px 10px;
  overflow-x:auto;overflow-y:visible;
  scrollbar-width:none;-ms-overflow-style:none;
}
.fan-row::-webkit-scrollbar{display:none}
.fan-row.is-scrollable{cursor:grab}
.fan-row.is-scrollable.dragging{cursor:grabbing;scroll-snap-type:none}
.fan-row.is-scrollable .fan-card{-webkit-user-drag:none;user-select:none}
.fan-row.is-scrollable .fan-card img{-webkit-user-drag:none;pointer-events:none}
.fan-row.is-scrollable{
  justify-content:flex-start;
  -webkit-mask-image:linear-gradient(90deg,transparent 0,#000 40px,#000 calc(100% - 40px),transparent 100%);
  mask-image:linear-gradient(90deg,transparent 0,#000 40px,#000 calc(100% - 40px),transparent 100%);
}
.fan-wrap{position:relative}
.fan-arrow{
  position:absolute;top:50%;transform:translateY(-50%);z-index:6;
  width:52px;height:52px;border-radius:50%;
  display:flex;align-items:center;justify-content:center;
  background:rgba(7,7,7,0.75);border:1px solid rgba(237,232,223,0.25);
  color:var(--cream);font-size:1.05rem;backdrop-filter:blur(6px);
  transition:var(--trans);
}
.fan-arrow:hover{background:var(--red-2);border-color:var(--red-2);color:#fff}
.fan-arrow:disabled{opacity:0.25;pointer-events:none}
.fan-arrow-l{left:-8px}
.fan-arrow-r{right:-8px}
@media(max-width:860px){
  .fan-arrow{display:none}
}
.fan-card{
  flex:none;width:260px;border-radius:4px;overflow:visible;
  background:#f4f2ec;
  padding:7px 7px 10px;
  box-shadow:0 14px 28px rgba(0,0,0,0.45), 0 0 46px rgba(0,0,0,0.55);
  transition:transform 0.35s cubic-bezier(0.16,1,0.3,1),z-index 0s;
  position:relative;
}
.fan-photo{
  display:block;width:100%;aspect-ratio:1/1;overflow:hidden;
  border-radius:2px;background:#0a0a0a;
}
.fan-photo img{width:100%;height:100%;object-fit:cover;display:block}
.fan-caption{
  display:block;margin-top:10px;text-align:center;
  font-family:var(--display);font-weight:600;font-style:italic;
  font-size:0.82rem;letter-spacing:0.01em;
  color:#3a3a36;
}
.fan-row:hover .fan-card{opacity:0.6}
.fan-card:hover{transform:translateY(-18px) rotate(0deg) scale(1.06)!important;opacity:1!important;z-index:5}
.fan-card img{width:100%;height:100%;object-fit:cover;display:block}
.fan-actions{display:flex;justify-content:center;gap:14px;margin-top:54px;flex-wrap:wrap}
.btn-fan{
  display:inline-flex;padding:14px 30px;border-radius:100px;
  font-weight:700;transition:var(--trans);
}
.btn-fan-solid{background:var(--red-2);color:#fff}
.btn-fan-solid:hover{background:var(--red-1);transform:translateY(-2px)}
.btn-fan-ghost{background:rgba(237,232,223,0.06);border:1px solid rgba(237,232,223,0.22);color:var(--cream)}
.btn-fan-ghost:hover{border-color:var(--red-2);color:var(--red-2);transform:translateY(-2px)}

.btn-fan-ghost.chalk-btn{border:none}
@media(max-width:768px){
  .fan-row{gap:8px;overflow-x:auto;justify-content:flex-start;padding-left:24px;padding-right:24px}
  .fan-card{width:130px;flex-shrink:0}
}

.services{padding:120px 0;background:transparent;position:relative;overflow:hidden}
.services .container{max-width:1500px}
.services::before{
  content:'';position:absolute;top:-10%;left:50%;transform:translateX(-50%);
  width:1000px;height:1000px;max-width:140vw;
  background:radial-gradient(circle,rgba(217,22,2,0.07),transparent 62%);
  pointer-events:none;
}
.services-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:26px;position:relative}

.svc-card{
  background:var(--card);border:1px solid var(--border);
  border-radius:var(--rad-l);
  position:relative;transition:0.5s cubic-bezier(0.16,1,0.3,1);overflow:hidden;
}
.svc-card::before{
  content:'';position:absolute;inset:0;
  background:linear-gradient(150deg,rgba(217,22,2,0.1),transparent 55%);
  opacity:0;transition:opacity 0.4s;
}
.svc-card::after{
  content:'';position:absolute;inset:0;border-radius:inherit;padding:1px;
  background:linear-gradient(135deg,var(--gold),transparent 35%,transparent 65%,var(--gold));
  -webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);
  -webkit-mask-composite:xor;mask-composite:exclude;
  opacity:0;transition:opacity 0.4s;pointer-events:none;
}
.svc-card:hover{border-color:transparent;transform:translateY(-8px);box-shadow:0 22px 48px rgba(0,0,0,0.5)}
.svc-card:hover::before,.svc-card:hover::after{opacity:1}

.svc-photo-wrap{position:relative;aspect-ratio:4/3;overflow:hidden;z-index:1}
.svc-photo{
  width:100%;height:100%;object-fit:cover;display:block;
  background:var(--surface);
  transition:transform 0.6s ease;
}
.svc-card:hover .svc-photo{transform:scale(1.06)}

.svc-info{padding:28px 26px 30px;position:relative;z-index:1}

.svc-num{
  position:absolute;top:10px;right:20px;z-index:0;
  font-family:var(--display);font-weight:800;font-size:3.2rem;line-height:1;
  color:rgba(255,255,255,0.05);pointer-events:none;
  transition:color 0.45s ease;
}
.svc-card:hover .svc-num{color:rgba(217,22,2,0.16)}

.svc-card h3{font-family:var(--display);font-size:calc(1.3rem * var(--heading-scale, 1));font-weight:700;color:var(--heading-color, var(--cream));margin-bottom:12px;position:relative;z-index:1}
.svc-card p{font-size:0.92rem;font-weight:300;letter-spacing:0.01em;color:var(--muted);line-height:1.8;position:relative;z-index:1}
.svc-card.featured{
  background:linear-gradient(160deg,var(--card) 0%,rgba(217,22,2,0.06) 100%);
  border-color:rgba(217,22,2,0.32);
}

.pf-top{padding-top:100px}
.pf-cta{padding-bottom:60px}
.pf-cta-box{
  position:relative;overflow:hidden;max-width:1400px;margin:0 auto;
  display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:24px;
  padding:30px 40px;border:1px solid var(--border);border-radius:var(--rad-l);
  background:var(--surface);
}
.pf-cta-text{position:relative;z-index:1;max-width:520px}
.pf-cta-eyebrow{display:block;font-family:var(--mono);font-size:calc(0.72rem * var(--label-scale, 1));letter-spacing:0.14em;text-transform:uppercase;color:var(--label-color, var(--gold));font-weight:700;margin-bottom:8px}
.pf-cta-title{font-family:var(--display);font-weight:800;font-size:calc(clamp(1.6rem,2.8vw,2.2rem) * var(--heading-scale, 1));color:var(--heading-color, var(--cream));line-height:1.15;margin-bottom:8px}
.pf-cta-title em{font-style:italic;font-weight:600}
.pf-cta-desc{color:var(--muted-lt);font-size:0.92rem;line-height:1.7}
.pf-cta-actions{position:relative;z-index:1;display:flex;flex-direction:column;gap:14px;min-width:220px}
.pf-cta-btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;padding:14px 26px;border-radius:100px;font-family:var(--body);font-size:0.85rem;font-weight:700}
@media(max-width:640px){
  .pf-cta-box{padding:36px 28px}
  .pf-cta-actions{width:100%}
}

.pf-split{max-width:1400px;margin:0 auto;padding:0 24px 160px;display:grid;grid-template-columns:1fr 1fr;gap:20px}
.pf-split-item{
  position:relative;display:block;overflow:hidden;color:var(--cream);
  min-height:680px;border-radius:var(--rad-l);border:1px solid var(--border);transition:var(--trans);
}
.pf-split-photo{
  position:absolute;inset:0;background:#0a0a0a;
  background-image:repeating-linear-gradient(45deg, rgba(255,255,255,0.05) 0 2px, transparent 2px 14px);
}
.pf-split-placeholder{
  position:absolute;inset:0;display:flex;align-items:center;justify-content:center;text-align:center;
  font-family:var(--mono);font-size:0.7rem;letter-spacing:0.08em;text-transform:uppercase;
  color:rgba(237,232,223,0.25);line-height:1.6;
}
.pf-split-photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform 0.7s ease}
.pf-split-item:hover .pf-split-photo img{transform:scale(1.06)}
.pf-split-overlay{
  position:absolute;inset:0;
  background:linear-gradient(to top, rgba(7,7,7,0.92) 0%, rgba(7,7,7,0.4) 45%, rgba(7,7,7,0.05) 75%);
}
.pf-split-body{position:absolute;left:0;right:0;bottom:0;z-index:2;padding:40px}
.pf-split-title{font-family:var(--display);font-weight:900;font-size:clamp(2.2rem,4.5vw,3.2rem);line-height:1;margin-bottom:20px}
.pf-split-btn{
  display:inline-flex;align-items:center;padding:13px 26px;border-radius:100px;
  font-family:var(--body);font-size:0.82rem;font-weight:700;letter-spacing:0.02em;
}
@media(max-width:860px){
  .pf-split{grid-template-columns:1fr}
  .pf-split-item{min-height:480px}
}

.gallery{padding:120px 0;background:transparent}
.gal-filters-wrap{position:relative;margin-bottom:44px}
.gal-filters{
  display:flex;justify-content:center;gap:8px;
  flex-wrap:nowrap;overflow-x:auto;padding:0 42px 4px;
  scrollbar-width:none;-ms-overflow-style:none;cursor:grab;
}
.gal-filters::-webkit-scrollbar{display:none}
.gal-filters.is-scrollable{justify-content:flex-start}
.gal-filters.dragging{cursor:grabbing}
.gal-filter-arrow{
  position:absolute;top:50%;transform:translateY(-50%);z-index:6;
  width:30px;height:30px;border-radius:50%;
  display:flex;align-items:center;justify-content:center;
  background:var(--gold);border:2px solid var(--cream);
  color:#fff;font-size:0.68rem;
  box-shadow:0 4px 14px rgba(0,0,0,0.6);
  transition:var(--trans);
}
.gal-filter-arrow:hover{background:var(--red-1);border-color:var(--cream);transform:translateY(-50%) scale(1.08)}
.gal-filter-arrow:disabled{opacity:0.4;pointer-events:none;background:#2a2a2a;border-color:rgba(237,232,223,0.3)}
.gal-filter-arrow-l{left:0}
.gal-filter-arrow-r{right:0}
@media(max-width:640px){
  .gal-filter-arrow{display:none !important}
  .gal-filters{padding-left:4px;padding-right:4px}
}
.flt-btn{
  padding:9px 24px;font-size:0.8rem;font-weight:700;
  letter-spacing:0.08em;text-transform:uppercase;
  color:var(--muted-lt);background:rgba(237,232,223,0.06);
  border:1px solid var(--border-lt);border-radius:100px;
  transition:var(--trans);flex:none;white-space:nowrap;user-select:none;
}
.flt-btn:hover{color:var(--cream);border-color:rgba(237,232,223,0.4);background:rgba(237,232,223,0.1)}
.flt-btn.active{background:var(--gold);color:#fff;border-color:var(--gold)}

.gal-grid{
  display:grid;grid-template-columns:repeat(3,1fr);gap:14px;
}
.gal-item{
  position:relative;overflow:hidden;border-radius:var(--rad);cursor:pointer;
  aspect-ratio:1/1;border:1px solid var(--border-lt);
  background:#0a0a0a;box-shadow:0 8px 20px rgba(0,0,0,0.35);
  background-image:repeating-linear-gradient(45deg, rgba(255,255,255,0.07) 0 2px, transparent 2px 14px);
}
.gal-placeholder{
  position:absolute;inset:0;display:flex;align-items:center;justify-content:center;text-align:center;
  font-family:var(--mono);font-size:0.68rem;letter-spacing:0.08em;text-transform:uppercase;
  color:rgba(237,232,223,0.25);line-height:1.6;padding:12px;
}
.gal-item img{
  position:relative;width:100%;height:100%;object-fit:cover;
  transition:transform 0.6s ease;
}
.gal-item:hover img{transform:scale(1.08)}

.gal-overlay{
  position:absolute;inset:0;
  background:linear-gradient(to top,rgba(7,7,7,0.88) 0%,transparent 55%);
  opacity:0;display:flex;align-items:flex-end;
  justify-content:space-between;padding:16px;
  transition:opacity 0.32s;
}
.gal-item:hover .gal-overlay{opacity:1}
.gal-overlay span{font-family:var(--mono);font-size:calc(0.7rem * var(--label-scale, 1));letter-spacing:0.12em;text-transform:uppercase;color:var(--label-color, var(--gold))}
.gal-overlay i{color:rgba(255,255,255,0.6)}

.gal-more{text-align:center;margin-top:44px}

.artists{padding:120px 0;background:transparent}
.art-header{border-bottom:2px solid var(--gold);padding-bottom:28px;margin-bottom:0}
.art-layout{display:grid;grid-template-columns:260px 1fr;gap:24px;align-items:start}

.art-sidebar{
  max-width:320px;padding:20px;border-radius:var(--rad-l);
  background:rgba(0,0,0,0.55);
  backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);
  border:1px solid var(--border);
}
.art-list{max-height:520px;overflow-y:auto}
.art-group{margin-bottom:18px}
.art-group-title{
  display:flex;justify-content:space-between;align-items:center;
  font-family:var(--mono);font-size:calc(0.66rem * var(--label-scale, 1));letter-spacing:0.1em;text-transform:uppercase;
  color:var(--label-color, var(--muted-lt));margin-bottom:6px;
}
.art-group-title span{color:var(--muted)}
.art-row{
  display:flex;align-items:center;gap:12px;width:100%;
  padding:13px 10px;border-radius:6px;border-left:2px solid transparent;
  border-bottom:1px solid rgba(237,232,223,0.08);
  background:transparent;text-align:left;transition:var(--trans);
  color:var(--cream);cursor:pointer;
}
.art-group .art-row:last-child{border-bottom:none}
.art-row:hover{background:rgba(237,232,223,0.07);border-left-color:rgba(237,232,223,0.25)}
.art-row.active{background:#2a1615;border-left:3px solid var(--gold)}
.art-row-name{font-family:var(--display);font-weight:800;text-transform:uppercase;font-size:calc(0.86rem * var(--heading-scale, 1));color:var(--heading-color, var(--cream))}

.art-detail{
  display:grid;grid-template-columns:1fr 1.3fr;
  border:1px solid var(--border);border-radius:var(--rad-l);overflow:hidden;
  box-shadow:0 30px 70px rgba(0,0,0,0.45);
}
.art-detail-photo{
  position:relative;min-height:440px;border-right:1px solid var(--border);
  background:#0a0a0a;background-image:repeating-linear-gradient(45deg, rgba(255,255,255,0.05) 0 2px, transparent 2px 14px);
  box-shadow:inset 0 0 90px rgba(0,0,0,0.5);
}
.art-photo-placeholder{
  position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;
  font-family:var(--mono);font-size:0.7rem;letter-spacing:0.08em;text-transform:uppercase;
  color:rgba(237,232,223,0.25);line-height:1.6;padding:12px;
}
.art-detail-photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}

.art-detail-info{padding:42px 40px;display:flex;flex-direction:column}
.art-tag{
  display:inline-flex;align-items:center;gap:8px;font-family:var(--mono);font-size:calc(0.7rem * var(--label-scale, 1));
  letter-spacing:0.08em;font-weight:700;text-transform:uppercase;color:var(--label-color, var(--gold));margin-bottom:14px;
}
.art-tag::before{content:'';width:18px;height:1px;background:var(--gold)}
.art-name{
  font-family:var(--display);font-weight:800;font-style:italic;
  font-size:calc(clamp(1.8rem,2.9vw,2.4rem) * var(--heading-scale, 1));color:var(--heading-color, var(--cream));letter-spacing:-0.01em;margin-bottom:18px;
}
.art-bio{color:var(--muted-lt);font-size:0.92rem;line-height:1.8;max-width:480px;margin-bottom:30px}
.art-stats{display:flex;padding-bottom:26px;margin-bottom:28px;border-bottom:1px solid var(--border)}
.art-stats > div{padding-right:30px;margin-right:30px;border-right:1px solid var(--border)}
.art-stats > div:last-child{border-right:none;margin-right:0;padding-right:0}
.art-stat-num{display:block;font-family:var(--display);font-weight:800;font-size:calc(1.4rem * var(--heading-scale, 1));color:var(--heading-color, var(--cream));line-height:1.2}
.art-stat-lbl{display:block;font-family:var(--mono);font-size:calc(0.6rem * var(--label-scale, 1));letter-spacing:0.08em;text-transform:uppercase;color:var(--label-color, var(--muted));margin-top:2px}
.art-thumbs{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-bottom:32px}
.art-thumb{
  position:relative;aspect-ratio:1/1;border-radius:8px;overflow:hidden;
  border:1px solid var(--border-lt);transition:var(--trans);
  background:#0a0a0a;background-image:repeating-linear-gradient(45deg, rgba(255,255,255,0.05) 0 2px, transparent 2px 14px);
}
.art-thumb:hover{border-color:var(--gold);transform:translateY(-3px)}
.art-thumb img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform 0.5s ease}
.art-thumb:hover img{transform:scale(1.08)}
.art-actions{display:flex;gap:20px;flex-wrap:wrap;margin-top:auto}
.art-btn{
  padding:15px 26px;border-radius:8px;font-family:var(--body);
  font-size:0.76rem;font-weight:700;letter-spacing:0.03em;text-transform:uppercase;
  text-align:center;transition:var(--trans);
}
.art-actions .chalk-btn::before{inset:-4px -6px}
.art-btn-solid{color:var(--gold);font-weight:800}
.art-btn-solid:hover{color:#fff}
.art-btn-ghost{color:var(--cream)}
.art-btn-ghost:hover{color:var(--gold)}
@media(max-width:900px){
  .art-layout{grid-template-columns:1fr}
  .art-sidebar{max-width:none}
  .art-detail{grid-template-columns:1fr}
  .art-detail-photo{border-right:none;border-bottom:1px solid var(--border);min-height:320px}
}

.testi{
  padding:100px 0;background:var(--surface);
  position:relative;overflow:hidden;
  scroll-margin-top:110px;
  transform:translateZ(0);
  isolation:isolate;
}
.testi::before{
  content:'"';position:absolute;top:0;left:4%;
  font-family:var(--display);font-size:22rem;
  color:rgba(217,22,2,0.025);line-height:1;pointer-events:none;
}
.gr-widget-wrap{
  overflow:hidden;
  transform:translateZ(0);
  isolation:isolate;
}

.rv-wrap{position:relative;display:flex;align-items:center;gap:14px}
.rv-row{
  display:flex;gap:18px;flex:1;
  overflow-x:auto;scroll-behavior:smooth;
  scrollbar-width:none;-ms-overflow-style:none;
  padding:6px 2px 10px;
}
.rv-row::-webkit-scrollbar{display:none}
.rv-card{
  flex:0 0 300px;min-height:230px;border-radius:20px;
  padding:30px 28px 24px;text-align:left;
  display:flex;flex-direction:column;justify-content:space-between;
  box-shadow:0 14px 30px rgba(0,0,0,0.28);
}
.rv-card--peach{background:#f3d9c4;color:#3a2a1c}
.rv-card--cream{background:#f4eec8;color:#3a3420}
.rv-card--sage{background:#b7c8a4;color:#2c3320}
.rv-card--blush{background:#e9c8cf;color:#3a232a}
.rv-card--sky{background:#c7d7dd;color:#22303a}
.rv-stars{color:#c98a1f;font-size:0.85rem;letter-spacing:2px;margin-bottom:12px}
.rv-quote{
  font-family:var(--display);font-style:italic;font-weight:600;
  font-size:0.98rem;line-height:1.55;margin:0;
  display:-webkit-box;-webkit-line-clamp:6;-webkit-box-orient:vertical;overflow:hidden;
}
.rv-foot{display:flex;align-items:center;justify-content:space-between;margin-top:20px}
.rv-who{display:flex;flex-direction:column}
.rv-name{font-weight:800;font-size:0.82rem}
.rv-time{font-size:0.7rem;opacity:0.65}
.rv-google-mark{font-size:1.1rem;opacity:0.55}
.rv-empty,.rv-error{color:var(--muted-lt);font-size:0.85rem;padding:20px 0;text-align:center}
@media(max-width:640px){
  .rv-card{flex-basis:250px;padding:24px 22px 20px}
}

.booking{
  padding:120px 0;background:transparent;position:relative;
}
.booking::before{
  content:'';position:absolute;top:0;left:0;right:0;height:1px;
  background:linear-gradient(to right,transparent,var(--gold),transparent);
}
.booking-grid{display:grid;grid-template-columns:1fr 1fr;gap:72px;align-items:start}
.booking-sub{color:var(--muted-lt);margin:14px 0 32px;font-size:0.97rem;font-weight:300;letter-spacing:0.01em;line-height:1.8}

.contact-list{display:flex;flex-direction:column;gap:18px}
.ci{display:flex;align-items:center;gap:15px;color:var(--muted-lt)}
.ci>i{font-size:1.15rem;color:var(--gold);width:20px;text-align:center}
.ci-lbl{display:block;font-family:var(--mono);font-size:calc(0.65rem * var(--label-scale, 1));letter-spacing:0.15em;text-transform:uppercase;color:var(--label-color, var(--muted));margin-bottom:2px}
.ci-val{font-size:calc(0.9rem * var(--body-scale, 1));color:var(--body-color, var(--cream));transition:color 0.2s}
a.ci-val:hover{color:var(--gold)}

.booking-right{
  background:var(--card);border:1px solid var(--border);
  border-radius:var(--rad-l);padding:36px;
}
.book-form{display:flex;flex-direction:column;gap:18px}
.fg{display:flex;flex-direction:column;gap:7px}
.fg label{font-family:var(--mono);font-size:calc(0.65rem * var(--label-scale, 1));letter-spacing:0.13em;text-transform:uppercase;color:var(--label-color, var(--muted-lt))}
.fg input,.fg select,.fg textarea{
  background:rgba(255,255,255,0.03);
  border:1px solid var(--border);border-radius:var(--rad);
  padding:13px 15px;color:var(--cream);
  font-family:var(--body);font-size:0.9rem;font-weight:300;
  transition:border-color 0.25s,box-shadow 0.25s;
  outline:none;resize:none;appearance:none;
}
.fg input::placeholder,.fg textarea::placeholder{color:var(--muted)}
.fg input:focus,.fg select:focus,.fg textarea:focus{
  border-color:rgba(217,22,2,0.5);
  box-shadow:0 0 0 3px rgba(217,22,2,0.08);
}
.fg select option{background:var(--card);color:var(--cream)}
.form-note{text-align:center;font-size:0.72rem;color:var(--muted);margin-top:-6px}

.footer{
  background:var(--surface);
  padding:80px 0 0;border-top:none;position:relative;overflow:hidden;
}
.footer-hero-video,.footer-hero-img{
  position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:0;
}
.footer-hero-overlay{
  position:absolute;inset:0;z-index:0;
  background:linear-gradient(rgba(7,7,7,0.55),rgba(7,7,7,0.72));
  pointer-events:none;
}
.footer>.container{position:relative;z-index:1}
.footer::before{
  content:'';position:absolute;left:0;right:0;
  top:clamp(-420px,-30vh,-280px);height:clamp(280px,30vh,420px);
  background:linear-gradient(to bottom,
    rgba(7,7,7,0) 0%,
    rgba(7,7,7,0.043) 12.5%,
    rgba(7,7,7,0.156) 25%,
    rgba(7,7,7,0.316) 37.5%,
    rgba(7,7,7,0.5) 50%,
    rgba(7,7,7,0.684) 62.5%,
    rgba(7,7,7,0.844) 75%,
    rgba(7,7,7,0.957) 87.5%,
    var(--surface) 100%);
  pointer-events:none;
}
body.has-hero-video .footer::before{
  top:-140px;height:140px;
  background:linear-gradient(to bottom,
    rgba(7,7,7,0) 0%,
    rgba(7,7,7,0.35) 50%,
    rgba(7,7,7,0.8) 85%,
    var(--surface) 100%);
}
.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr 1.5fr;gap:44px;margin-bottom:56px}

.f-logo{display:flex;align-items:baseline;gap:3px;margin-bottom:10px}
.f-tagline{font-family:var(--display);font-style:italic;font-weight:600;font-size:0.95rem;color:var(--muted);margin-bottom:22px}
.f-social{display:flex;gap:9px}
.f-soc-icon{
  width:38px;height:38px;border:1px solid var(--border);border-radius:9px;
  display:flex;align-items:center;justify-content:center;
  color:var(--muted);font-size:0.95rem;transition:var(--trans);
}
.f-soc-icon:hover{border-color:var(--gold);color:var(--gold);background:var(--gold-dim)}

.f-nav h4,.f-contact h4{
  font-family:var(--display);font-size:calc(0.78rem * var(--heading-scale, 1));font-weight:700;
  letter-spacing:0.15em;text-transform:uppercase;color:var(--heading-color, var(--cream));margin-bottom:18px;
}
.f-nav ul{display:flex;flex-direction:column;gap:9px}
.f-nav a{font-size:0.88rem;color:var(--muted);transition:color 0.2s}
.f-nav a:hover{color:var(--gold)}
.f-contact p{font-size:0.86rem;color:var(--muted);display:flex;align-items:center;gap:9px;margin-bottom:9px}
.f-contact i{color:var(--gold);width:15px}
.f-contact p a{color:inherit;transition:color 0.2s}
.f-contact p a:hover{color:var(--gold)}

.footer-bottom{
  display:flex;justify-content:space-between;align-items:center;
  padding:22px 0;border-top:1px solid var(--border);
  font-size:0.78rem;color:var(--muted);
}
.f-heart i{color:var(--gold)}

.lightbox{
  position:fixed;inset:0;z-index:2000;
  background:rgba(0,0,0,0.96);
  display:flex;align-items:center;justify-content:center;
  opacity:0;pointer-events:none;transition:opacity 0.3s;
}
.lightbox.open{opacity:1;pointer-events:auto}
.lb-inner{max-width:90vw;max-height:90vh}
.lb-inner img{max-width:100%;max-height:90vh;object-fit:contain;border-radius:var(--rad)}
.lb-close,.lb-prev,.lb-next{
  position:absolute;color:var(--cream);font-size:1.1rem;
  width:46px;height:46px;border-radius:50%;
  background:rgba(255,255,255,0.07);
  display:flex;align-items:center;justify-content:center;
  transition:var(--trans);
}
.lb-close{top:22px;right:22px}
.lb-prev{left:22px;top:50%;transform:translateY(-50%)}
.lb-next{right:22px;top:50%;transform:translateY(-50%)}
.lb-close:hover,.lb-prev:hover,.lb-next:hover{background:var(--gold);color:var(--bg)}

.book-modal{
  position:fixed;inset:0;z-index:2200;
  background:rgba(0,0,0,0.8);backdrop-filter:blur(4px);
  display:flex;align-items:center;justify-content:center;
  padding:24px;
  opacity:0;pointer-events:none;transition:opacity 0.3s;
}
.book-modal.open{opacity:1;pointer-events:auto}
.book-modal-card{
  position:relative;width:100%;max-width:700px;
  background:var(--surface);border:1px solid var(--border);
  border-radius:24px;padding:56px 50px;text-align:center;
  box-shadow:0 30px 80px rgba(0,0,0,0.6);
  transform:translateY(14px);transition:transform 0.3s;
}
.book-modal.open .book-modal-card{transform:translateY(0)}
.book-modal-close{
  position:absolute;top:20px;right:20px;
  width:40px;height:40px;border-radius:50%;
  background:rgba(255,255,255,0.06);color:var(--cream);
  display:flex;align-items:center;justify-content:center;
  transition:var(--trans);
}
.book-modal-close:hover{background:var(--red-2);color:#fff}
.book-modal-title{
  font-family:var(--display);font-weight:800;font-style:italic;
  text-transform:uppercase;font-size:calc(clamp(1.5rem,3.4vw,2.1rem) * var(--heading-scale, 1));
  color:var(--heading-color, var(--cream));margin-bottom:32px;
}
.book-modal-channels{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.book-channel{
  position:relative;display:flex;flex-direction:column;align-items:center;gap:14px;
  padding:26px 14px;border-radius:16px;
  background:rgba(255,255,255,0.03);border:1px solid var(--border-lt);
  font-size:0.78rem;font-weight:700;letter-spacing:0.02em;color:var(--cream);
  transition:var(--trans);
}
.book-channel:hover{border-color:var(--gold);background:rgba(217,22,2,0.06);transform:translateY(-3px)}
.book-channel.is-disabled{opacity:0.35;pointer-events:none}
.book-channel-icon{
  width:52px;height:52px;border-radius:50%;
  display:flex;align-items:center;justify-content:center;
  font-size:1.3rem;color:#fff;
}
.book-channel-ig{background:radial-gradient(circle at 30% 110%,#fdf497 0%,#fdf497 5%,#fd5949 45%,#d6249f 60%,#285AEB 90%)}
.book-channel-fb{background:#1877F2}
.book-channel-wa{background:#25D366}
.book-channel-badge{
  position:absolute;top:-11px;right:10px;
  background:#25D366;color:#052e16;font-size:0.6rem;font-weight:800;
  letter-spacing:0.05em;text-transform:uppercase;
  padding:4px 10px;border-radius:100px;white-space:nowrap;
}
@media(max-width:640px){
  .book-modal-card{padding:40px 24px}
  .book-modal-channels{grid-template-columns:1fr;gap:12px}
  .book-channel{flex-direction:row;justify-content:flex-start;padding:14px 18px}
  .book-channel-badge{top:8px;right:14px}
}

.btt{
  position:fixed;bottom:28px;right:28px;z-index:500;
  width:46px;height:46px;background:var(--gold);color:var(--bg);
  border-radius:11px;display:flex;align-items:center;justify-content:center;
  font-size:0.95rem;box-shadow:var(--shad-gold);
  opacity:0;transform:translateY(16px);pointer-events:none;transition:var(--trans);
}
.btt.show{opacity:1;transform:translateY(0);pointer-events:auto}
.btt:hover{transform:translateY(-4px);box-shadow:0 8px 28px rgba(217,22,2,0.5)}

.reveal{
  opacity:0;transform:translateY(28px);
  transition:opacity 0.7s ease,transform 0.7s ease;
}
.reveal.in{opacity:1;transform:translateY(0)}

@keyframes fadeUp{
  from{opacity:0;transform:translateY(22px)}
  to{opacity:1;transform:translateY(0)}
}
@keyframes fadeIn{
  from{opacity:0}to{opacity:1}
}
@keyframes scrollPulse{
  0%,100%{opacity:1}50%{opacity:0.25}
}

@media(max-width:1180px){
  .nav-links{gap:0}
  .nav-link{padding:8px 10px;font-size:0.7rem}
  .nav-cta{padding:9px 14px!important;margin-left:4px}
  .nav-logo{gap:9px}
  .nav-logo .logo-main{font-size:1.05rem}
  .nav-right{gap:6px}

  .navbar .nav-inner{grid-template-columns:minmax(190px,max-content) 1fr!important}
  .navbar .nav-right{justify-self:end}
  .navbar .nav-links{flex-wrap:wrap;justify-content:flex-end;row-gap:8px}
  .navbar .nav-link{padding:7px 11px;font-size:0.68rem}
}
@media(max-width:1024px){
  .services-grid{grid-template-columns:repeat(2,1fr)}
  .process-grid{grid-template-columns:repeat(2,1fr);row-gap:44px}
  .process-step:nth-child(2)::after{display:none}
  .footer-grid{grid-template-columns:1fr 1fr}
  .hero-frame-bracket{display:none}
  .circuit-panel{grid-template-columns:1fr;grid-template-rows:none;gap:22px}
  .circuit-video-box,.circuit-text-box,.circuit-picture-box{grid-column:1;grid-row:auto}
  .circuit-video-box{min-height:320px;aspect-ratio:16/10}
  .circuit-picture-box{aspect-ratio:408.71/227.03}
  .circuit-wire,.circuit-node{display:none}
  .satisfied-card{padding:50px 26px}
}
@media(max-width:820px){
  .navbar{top:14px;border-radius:100px}
  .nav-inner{padding:10px 10px 10px 18px}
  .logo-mark{width:34px;height:34px;font-size:0.82rem}
  .nav-logo .logo-main{font-size:1.02rem}
  .nav-logo .logo-sub{font-size:0.6rem}
  .nav-right{gap:10px}
  .hamburger{display:flex}
  .nav-links{
    position:fixed;top:0;right:-100%;width:min(310px,80vw);height:100vh;
    background:rgba(7,7,7,0.97);backdrop-filter:blur(20px);
    flex-direction:column;justify-content:center;align-items:flex-start;
    padding:80px 36px;gap:26px;border-radius:0;
    transition:right 0.4s cubic-bezier(0.4,0,0.2,1);
    border:none;border-left:1px solid var(--border);
  }
  .nav-link{padding:0;background:none!important}
  .nav-cta{margin-left:0;padding:13px 26px!important;border-radius:var(--rad)}
  .nav-links.open{right:0}
  .nav-link{font-size:0.95rem}

  .navbar .hamburger{display:none!important}
  .navbar .nav-links{
    position:static;width:auto;height:auto;background:none;backdrop-filter:none;
    flex-direction:row;justify-content:center;align-items:center;
    padding:0;gap:6px;row-gap:6px;border:none;
  }
  .navbar .nav-link{padding:6px 9px!important;font-size:0.64rem!important;background:inherit}
  .navbar .nav-cta{margin-left:2px;padding:8px 14px!important}
  .navbar .nav-inner{padding:10px 10px 10px 14px}

  .hero-scroll-ind{display:none}
  .hero-stats-inline{flex-wrap:wrap;row-gap:16px}
  .stat-sep{display:none}

  .about-grid,.booking-grid{grid-template-columns:1fr;gap:48px}
  .about-text-col{padding-left:0}
  .services-grid{grid-template-columns:1fr}
  .process-grid{grid-template-columns:1fr;gap:36px}
  .process-step::after{display:none}
  .gal-grid{grid-template-columns:repeat(2,1fr)}
  .artists-grid{grid-template-columns:1fr;max-width:380px;margin:0 auto}
  .booking-right{padding:24px 18px}
  .footer-grid{grid-template-columns:1fr;gap:28px}
  .footer-bottom{flex-direction:column;gap:8px;text-align:center}
}
@media(max-width:480px){
  .btn{width:100%;justify-content:center}
  .gal-grid{grid-template-columns:1fr}
}


.nav-logo .logo-img{height:40px;width:auto;display:block}
.nav-omega{height:30px;width:auto;opacity:0.9;transition:var(--trans)}
.nav-omega:hover{opacity:1;transform:rotate(-8deg)}

.nav-link{font-weight:800;font-style:italic}
.nav-cta{font-weight:800;font-style:italic}
.logo-sub{font-style:italic}

.nav-logo-v2{gap:12px}
.nav-logo-v2 .logo-word{display:flex;flex-direction:column;line-height:1.2;gap:1px}
.nav-logo-v2 .logo-main{
  font-family:var(--display);font-size:1rem;font-weight:800;font-style:normal;
  color:var(--cream);letter-spacing:0.03em;
}
.nav-logo-v2 .logo-tagline{
  font-family:var(--body);font-size:0.54rem;font-weight:600;
  letter-spacing:0.12em;text-transform:uppercase;color:var(--muted-lt);
}

.navbar .nav-inner{
  display:grid;grid-template-columns:1fr auto 1fr;align-items:center;
  padding-right:14px;
}
.navbar .nav-logo{grid-column:1;justify-self:start}
.navbar .nav-right{grid-column:2;justify-self:center;gap:8px}
.navbar .nav-links{gap:2px}
.navbar .nav-link{padding:9px 14px}

