/* =========================================================================
   THE PIERCING SPOT — Dubai Healthcare City
   Design system + layout. Warm-neutral airy base, gold accents from the logo.
   ========================================================================= */

/* ---- Fonts (loaded in <head>) ---- */
:root{
  --f-display:'Cormorant Garamond', Georgia, serif;
  --f-body:'Figtree', system-ui, -apple-system, sans-serif;

  /* constant decorative gold (from logo) */
  --gold:#C9A227;
  --gold-soft:#E7C766;
  --maroon:#7A2533;
  --green:#1F4D3A;
  --terracotta:#B46C36;

  /* accent (tweakable) — drives CTAs, links, decorative emphasis */
  --accent:#7A2533;
  --on-accent:#ffffff;

  /* surfaces — default "blend" theme */
  --bg:#FBF7F0;
  --bg-2:#F3E9D9;
  --surface:#ffffff;
  --ink:#241A14;
  --muted:#796757;
  --border:#E7DAC2;
  --hair:#E7DAC2;
  --footer:#242412;
  --footer-ink:#EDE6D6;

  --focus:#9A6A2A;
  --shadow:0 1px 2px rgba(36,26,20,.04), 0 8px 30px -12px rgba(36,26,20,.18);
  --shadow-lg:0 30px 70px -30px rgba(36,26,20,.40);
  --r:14px;
  --r-lg:22px;
  --maxw:1200px;
  --gut:clamp(20px,5vw,64px);
}

/* ----------------------------- THEMES ----------------------------------- */
[data-theme="airy"]{
  --bg:#FBFAF7; --bg-2:#F1EDE6; --surface:#ffffff;
  --border:#ECE5D9; --hair:#ECE5D9; --muted:#7c7268;
  --footer:#2a2620; --gold:#CBB36B;
}
[data-theme="gold"]{
  --bg:#FAF2E2; --bg-2:#F1E2C5; --surface:#FFFCF6;
  --border:#E4CFA1; --hair:#E0C896; --muted:#7a6446;
  --footer:#2A1B10; --gold:#C9A227;
}

/* ----------------------------- ACCENTS ---------------------------------- */
[data-accent="gold"]{ --accent:#B68A18; --on-accent:#241400; }
[data-accent="maroon"]{ --accent:#7A2533; --on-accent:#fff; }
[data-accent="terracotta"]{ --accent:#A95E2C; --on-accent:#fff; }
[data-accent="green"]{ --accent:#1F4D3A; --on-accent:#fff; }

/* ----------------------------- FONT SETS -------------------------------- */
[data-font="classic"]{ --f-display:'Playfair Display', Georgia, serif; }
[data-font="modern"]{ --f-body:'IBM Plex Sans', system-ui, sans-serif; }

/* ----------------------------- RESET ------------------------------------ */
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth; -webkit-text-size-adjust:100%}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
body{
  margin:0; background:var(--bg); color:var(--ink);
  font-family:var(--f-body); font-size:17px; line-height:1.6;
  font-weight:400; -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility; overflow-x:hidden;
}
img{display:block; max-width:100%; height:auto}
a{color:inherit; text-decoration:none}
button{font:inherit; cursor:pointer; border:none; background:none; color:inherit}
input,select,textarea{font:inherit; color:inherit}
h1,h2,h3,h4{margin:0; font-family:var(--f-display); font-weight:600; line-height:1.04; letter-spacing:-.01em}
p{margin:0}
:focus-visible{outline:2px solid var(--focus); outline-offset:3px; border-radius:4px}
::selection{background:var(--gold); color:#241400}

/* ----------------------------- LAYOUT ----------------------------------- */
.container{width:100%; max-width:var(--maxw); margin-inline:auto; padding-inline:var(--gut)}
.section{padding-block:clamp(56px,9vw,120px)}
.section--tight{padding-block:clamp(40px,6vw,80px)}
.bg-2{background:var(--bg-2)}
.center{text-align:center}

.eyebrow{
  font-family:var(--f-body); font-weight:600; font-size:12px;
  letter-spacing:.22em; text-transform:uppercase; color:var(--gold);
  display:inline-flex; align-items:center; gap:10px;
}
.eyebrow::before{content:""; width:24px; height:1px; background:var(--gold); display:inline-block}
.eyebrow.no-rule::before{display:none}

.h-xl{font-size:clamp(2.6rem,8vw,5.4rem)}
.h-lg{font-size:clamp(2.1rem,5.5vw,3.6rem)}
.h-md{font-size:clamp(1.7rem,4vw,2.5rem)}
.lead{font-size:clamp(1.05rem,2.2vw,1.28rem); color:var(--muted); max-width:54ch; line-height:1.62}
.muted{color:var(--muted)}
.serif-accent{font-family:var(--f-display); font-style:italic; color:var(--accent)}

/* divider flourish */
.flourish{display:flex; align-items:center; justify-content:center; gap:14px; color:var(--gold)}
.flourish::before,.flourish::after{content:""; height:1px; width:48px; background:linear-gradient(90deg,transparent,var(--gold))}
.flourish::after{background:linear-gradient(270deg,transparent,var(--gold))}
.flourish span{font-size:11px}

/* ----------------------------- BUTTONS ---------------------------------- */
.btn{
  display:inline-flex; align-items:center; justify-content:center; gap:9px;
  padding:14px 26px; border-radius:999px; font-weight:600; font-size:15px;
  letter-spacing:.01em; transition:transform .18s ease, box-shadow .25s ease, background .2s, color .2s, border-color .2s;
  white-space:nowrap; line-height:1;
}
.btn svg{width:17px; height:17px}
.btn--primary{background:var(--accent); color:var(--on-accent); box-shadow:0 10px 24px -12px color-mix(in srgb,var(--accent) 70%,transparent)}
.btn--primary:hover{transform:translateY(-2px); box-shadow:0 16px 30px -12px color-mix(in srgb,var(--accent) 80%,transparent)}
.btn--ghost{background:transparent; color:var(--ink); border:1.5px solid var(--border)}
.btn--ghost:hover{border-color:var(--accent); color:var(--accent); transform:translateY(-2px)}
.btn--gold{background:linear-gradient(135deg,#D9B645,#B68A18); color:#241400; box-shadow:0 10px 24px -12px rgba(160,120,20,.6)}
.btn--gold:hover{transform:translateY(-2px); box-shadow:0 16px 32px -12px rgba(160,120,20,.7)}
.btn--lg{padding:17px 32px; font-size:16px}
.btn--block{width:100%}

.linkish{display:inline-flex; align-items:center; gap:7px; font-weight:600; font-size:14px; color:var(--accent); letter-spacing:.01em}
.linkish svg{width:15px; height:15px; transition:transform .2s}
.linkish:hover svg{transform:translateX(4px)}

/* chips / pills */
.chip{display:inline-flex; align-items:center; gap:8px; padding:8px 14px; border:1px solid var(--border);
  border-radius:999px; background:var(--surface); font-size:13.5px; font-weight:500; color:var(--ink)}
.chip svg{width:14px; height:14px; color:var(--gold)}

/* stars */
.stars{display:inline-flex; gap:2px; color:var(--gold)}
.stars svg{width:16px; height:16px; fill:var(--gold)}

/* ----------------------------- HEADER ----------------------------------- */
.header{
  position:sticky; top:0; z-index:60; background:color-mix(in srgb,var(--bg) 82%,transparent);
  backdrop-filter:saturate(140%) blur(14px); -webkit-backdrop-filter:saturate(140%) blur(14px);
  border-bottom:1px solid transparent; transition:border-color .3s, background .3s, box-shadow .3s;
}
.header.scrolled{border-color:var(--hair); box-shadow:0 8px 30px -22px rgba(36,26,20,.4)}
.header__inner{display:flex; align-items:center; justify-content:space-between; gap:18px; height:74px}
.brand{display:flex; align-items:center; gap:11px}
.brand__mark{width:34px; height:42px; object-fit:contain; object-position:center}
.brand__txt{display:flex; flex-direction:column; line-height:1}
.brand__name{font-family:var(--f-display); font-weight:600; font-size:22px; letter-spacing:.01em}
.brand__sub{font-size:9.5px; letter-spacing:.2em; text-transform:uppercase; color:var(--muted); margin-top:3px}

.nav{display:none; align-items:center; gap:30px}
.nav a{font-size:14.5px; font-weight:500; color:var(--ink); opacity:.82; transition:opacity .2s; position:relative}
.nav a::after{content:""; position:absolute; left:0; bottom:-6px; height:1.5px; width:0; background:var(--gold); transition:width .25s}
.nav a:hover{opacity:1}
.nav a:hover::after{width:100%}
.header__cta{display:none; align-items:center; gap:10px}

.burger{display:inline-flex; flex-direction:column; gap:5px; padding:10px; margin-right:-10px}
.burger span{width:22px; height:2px; background:var(--ink); border-radius:2px; transition:transform .25s,opacity .2s}
.burger.open span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.burger.open span:nth-child(2){opacity:0}
.burger.open span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}

/* mobile menu */
.mobile-menu{
  position:fixed; inset:74px 0 0; z-index:55; background:var(--bg);
  transform:translateY(-12px); opacity:0; pointer-events:none; transition:opacity .25s, transform .25s;
  display:flex; flex-direction:column; padding:24px var(--gut) 40px; gap:6px;
}
.mobile-menu.open{opacity:1; transform:none; pointer-events:auto}
.mobile-menu a{font-family:var(--f-display); font-size:30px; padding:14px 0; border-bottom:1px solid var(--hair)}
.mobile-menu .mm-actions{display:flex; gap:12px; margin-top:24px}
.mobile-menu .mm-actions .btn{flex:1}

/* ----------------------------- HERO ------------------------------------- */
.hero{position:relative; padding-top:clamp(28px,5vw,56px); padding-bottom:clamp(40px,6vw,80px)}
.hero__grid{display:grid; gap:clamp(28px,5vw,56px); align-items:center}
.hero__copy{display:flex; flex-direction:column; gap:22px}
.hero h1{font-size:clamp(2.9rem,9vw,5.6rem)}
.hero h1 em{font-style:italic; color:var(--accent)}
.hero__sub{max-width:46ch}
.hero__actions{display:flex; flex-wrap:wrap; gap:12px; margin-top:4px}
.hero__meta{display:flex; flex-wrap:wrap; align-items:center; gap:18px 22px; margin-top:6px}
.hero__rating{display:flex; align-items:center; gap:10px}
.hero__rating b{font-size:18px; font-family:var(--f-display)}
.hero__rating small{color:var(--muted); font-size:13px}
.hero__loc{display:flex; align-items:center; gap:8px; font-size:13.5px; color:var(--muted)}
.hero__loc svg{width:15px; height:15px; color:var(--gold)}

.hero__media{position:relative}
.hero__img{position:relative; border-radius:var(--r-lg); overflow:hidden; box-shadow:var(--shadow-lg); aspect-ratio:4/3}
.hero__img img{width:100%; height:100%; object-fit:cover}
.hero__badge{
  position:absolute; left:-8px; bottom:24px; background:var(--surface); border:1px solid var(--hair);
  border-radius:16px; padding:14px 18px; box-shadow:var(--shadow); display:flex; align-items:center; gap:12px; max-width:230px;
}
.hero__badge .pin{width:38px; height:38px; border-radius:50%; background:color-mix(in srgb,var(--terracotta) 16%,#fff);
  display:grid; place-items:center; flex:none}
.hero__badge .pin svg{width:19px; height:19px; color:var(--terracotta)}
.hero__badge b{font-size:13.5px; display:block}
.hero__badge span{font-size:12px; color:var(--muted)}

/* hero variant: overlay */
[data-hero="overlay"] .hero__grid{display:block}
[data-hero="overlay"] .hero__media{order:-1}
[data-hero="overlay"] .hero__img{aspect-ratio:16/10; min-height:62vh}
[data-hero="overlay"] .hero__img::after{content:""; position:absolute; inset:0;
  background:linear-gradient(180deg,rgba(20,12,8,.05) 0%,rgba(20,12,8,.62) 78%)}
[data-hero="overlay"] .hero__copy{position:absolute; inset:auto 0 0 0; z-index:2; padding:clamp(24px,5vw,52px);
  color:#fff; max-width:760px}
[data-hero="overlay"] .hero__copy .eyebrow{color:var(--gold-soft)}
[data-hero="overlay"] .hero__copy .hero__sub{color:rgba(255,255,255,.86)}
[data-hero="overlay"] .hero__copy h1 em{color:var(--gold-soft)}
[data-hero="overlay"] .hero__loc{color:rgba(255,255,255,.82)}
[data-hero="overlay"] .hero__rating small{color:rgba(255,255,255,.78)}
[data-hero="overlay"] .hero__badge{display:none}
[data-hero="overlay"] .btn--ghost{color:#fff; border-color:rgba(255,255,255,.5)}

/* hero variant: center */
[data-hero="center"] .hero__grid{display:block; text-align:center}
[data-hero="center"] .hero__copy{align-items:center}
[data-hero="center"] .hero__sub{margin-inline:auto}
[data-hero="center"] .hero__actions,[data-hero="center"] .hero__meta{justify-content:center}
[data-hero="center"] .hero__centermark{width:64px; height:80px; object-fit:contain; margin:0 auto 6px}
[data-hero="center"] .hero__media{margin-top:38px}
[data-hero="center"] .hero__img{aspect-ratio:21/9}
[data-hero="center"] .hero__badge{display:none}
.hero__centermark{display:none}

/* ----------------------------- TRUST BAR -------------------------------- */
.trust{border-block:1px solid var(--hair); background:var(--surface)}
.trust__row{display:grid; grid-template-columns:1fr; gap:0}
.trust__item{display:flex; align-items:center; gap:13px; padding:20px var(--gut)}
.trust__item:not(:last-child){border-bottom:1px solid var(--hair)}
.trust__item .ic{width:40px; height:40px; border-radius:50%; flex:none; display:grid; place-items:center;
  background:color-mix(in srgb,var(--gold) 14%,#fff); color:var(--gold-deep,#9A7A18)}
.trust__item .ic svg{width:19px; height:19px; color:var(--gold)}
.trust__item b{font-family:var(--f-display); font-size:20px; display:block; line-height:1.1}
.trust__item span{font-size:13px; color:var(--muted)}

/* ----------------------------- SERVICES --------------------------------- */
.shead{display:flex; flex-direction:column; gap:16px; max-width:60ch; margin-bottom:clamp(34px,5vw,56px)}
.shead.center{align-items:center; text-align:center; margin-inline:auto}

.svc-grid{display:grid; grid-template-columns:1fr; gap:18px}
.svc{position:relative; background:var(--surface); border:1px solid var(--hair); border-radius:var(--r-lg);
  overflow:hidden; display:flex; flex-direction:column; transition:transform .3s, box-shadow .3s, border-color .3s}
.svc:hover{transform:translateY(-4px); box-shadow:var(--shadow); border-color:color-mix(in srgb,var(--gold) 45%,var(--hair))}
.svc__img{aspect-ratio:5/4; overflow:hidden; background:var(--bg-2)}
.svc__img img{width:100%; height:100%; object-fit:cover; transition:transform .6s ease}
.svc:hover .svc__img img{transform:scale(1.05)}
.svc__body{padding:22px 22px 24px; display:flex; flex-direction:column; gap:10px; flex:1}
.svc__num{font-family:var(--f-display); font-size:13px; color:var(--gold); letter-spacing:.1em}
.svc h3{font-size:clamp(1.4rem,3vw,1.7rem)}
.svc p{font-size:14.5px; color:var(--muted); flex:1}
.svc .linkish{margin-top:4px}

/* ----------------------------- MATERIALS strip -------------------------- */
.mats{display:flex; flex-wrap:wrap; gap:14px; justify-content:center; align-items:center}
.mats .chip{font-size:14px; padding:11px 18px}

/* ----------------------------- GALLERY ---------------------------------- */
.gal{columns:2; column-gap:14px}
.gal__item{break-inside:avoid; margin-bottom:14px; border-radius:var(--r); overflow:hidden; position:relative;
  cursor:pointer; background:var(--bg-2); display:block; width:100%}
.gal__item img{width:100%; display:block; transition:transform .6s ease, filter .3s}
.gal__item::after{content:""; position:absolute; inset:0; background:linear-gradient(180deg,transparent 60%,rgba(20,12,8,.32));
  opacity:0; transition:opacity .3s}
.gal__item:hover img{transform:scale(1.05)}
.gal__item:hover::after{opacity:1}
.gal__item .zoom{position:absolute; right:12px; bottom:12px; width:34px; height:34px; border-radius:50%;
  background:rgba(255,255,255,.92); display:grid; place-items:center; opacity:0; transform:translateY(6px); transition:.3s}
.gal__item .zoom svg{width:16px; height:16px; color:var(--ink)}
.gal__item:hover .zoom{opacity:1; transform:none}

/* lightbox */
.lb{position:fixed; inset:0; z-index:200; background:rgba(20,14,10,.92); display:none;
  align-items:center; justify-content:center; padding:24px}
.lb.open{display:flex}
.lb img{max-width:92vw; max-height:86vh; border-radius:10px; box-shadow:0 40px 80px -20px rgba(0,0,0,.6)}
.lb__btn{position:absolute; top:50%; transform:translateY(-50%); width:50px; height:50px; border-radius:50%;
  background:rgba(255,255,255,.12); color:#fff; display:grid; place-items:center; transition:background .2s}
.lb__btn:hover{background:rgba(255,255,255,.24)}
.lb__btn svg{width:24px; height:24px}
.lb__prev{left:18px}.lb__next{right:18px}
.lb__close{position:absolute; top:18px; right:18px; width:46px; height:46px; border-radius:50%;
  background:rgba(255,255,255,.12); color:#fff; display:grid; place-items:center}
.lb__close:hover{background:rgba(255,255,255,.24)}
.lb__count{position:absolute; bottom:22px; left:50%; transform:translateX(-50%); color:rgba(255,255,255,.7); font-size:13px; letter-spacing:.1em}

/* ----------------------------- STUDIO / ABOUT --------------------------- */
.studio{display:grid; gap:clamp(30px,5vw,64px); align-items:center}
.studio__media{position:relative; display:grid; grid-template-columns:1fr 1fr; gap:14px}
.studio__media img{border-radius:var(--r); object-fit:cover; width:100%; height:100%}
.studio__media .tall{grid-row:span 2; aspect-ratio:3/4}
.studio__media .sq{aspect-ratio:1/1}
.studio__copy{display:flex; flex-direction:column; gap:20px}
.studio__copy p{color:var(--muted); font-size:15.5px}
.quote{font-family:var(--f-display); font-size:clamp(1.5rem,3.4vw,2.2rem); line-height:1.25; color:var(--ink)}
.quote::before{content:"\201C"; color:var(--gold); font-size:1.4em; line-height:0; vertical-align:-.35em; margin-right:.05em}
.facts{display:grid; grid-template-columns:repeat(2,1fr); gap:18px; margin-top:6px}
.facts .f b{font-family:var(--f-display); font-size:clamp(1.8rem,4vw,2.4rem); color:var(--accent); display:block; line-height:1}
.facts .f span{font-size:13px; color:var(--muted)}

/* banner quote (every piercing tells a story) */
.banner{position:relative; overflow:hidden; border-radius:var(--r-lg); min-height:300px; display:grid; place-items:center;
  text-align:center; color:#fff; padding:48px 24px}
.banner img{position:absolute; inset:0; width:100%; height:100%; object-fit:cover}
.banner::after{content:""; position:absolute; inset:0; background:linear-gradient(180deg,rgba(20,14,8,.5),rgba(20,14,8,.66))}
.banner__in{position:relative; z-index:2; max-width:680px; display:flex; flex-direction:column; gap:18px; align-items:center}
.banner__in .eyebrow{color:var(--gold-soft)}
.banner__in h2{font-size:clamp(2rem,5.5vw,3.6rem)}

/* ----------------------------- REVIEWS ---------------------------------- */
.rev{display:grid; gap:clamp(28px,5vw,56px); align-items:center}
.rev__score{text-align:center; background:var(--surface); border:1px solid var(--hair); border-radius:var(--r-lg);
  padding:38px 28px; box-shadow:var(--shadow)}
.rev__score .big{font-family:var(--f-display); font-size:clamp(3.6rem,12vw,5.2rem); line-height:.9; color:var(--ink)}
.rev__score .stars{margin:12px 0 8px}
.rev__score .cnt{color:var(--muted); font-size:14px}
.rev__copy{display:flex; flex-direction:column; gap:18px}
.rev__bars{display:flex; flex-direction:column; gap:10px; margin-top:4px}
.rev__bar{display:grid; grid-template-columns:46px 1fr; align-items:center; gap:12px; font-size:13px; color:var(--muted)}
.rev__bar .track{height:7px; border-radius:99px; background:var(--bg-2); overflow:hidden}
.rev__bar .fill{height:100%; background:var(--gold); border-radius:99px; width:0; transition:width 1.1s cubic-bezier(.2,.7,.2,1)}

/* ----------------------------- VISIT / CONTACT -------------------------- */
.visit{display:grid; gap:clamp(28px,5vw,48px)}
.visit__panel{background:var(--surface); border:1px solid var(--hair); border-radius:var(--r-lg); padding:clamp(22px,3.5vw,36px);
  box-shadow:var(--shadow)}
.info-row{display:flex; gap:14px; padding:16px 0; border-bottom:1px solid var(--hair)}
.info-row:last-child{border-bottom:none}
.info-row .ic{width:42px; height:42px; border-radius:12px; flex:none; display:grid; place-items:center;
  background:color-mix(in srgb,var(--accent) 10%,#fff); color:var(--accent)}
.info-row .ic svg{width:19px; height:19px}
.info-row .lbl{font-size:11.5px; letter-spacing:.16em; text-transform:uppercase; color:var(--muted); margin-bottom:3px}
.info-row .val{font-size:16px; font-weight:500}
.info-row .val a:hover{color:var(--accent)}

.mapwrap{position:relative; border-radius:var(--r-lg); overflow:hidden; border:1px solid var(--hair); min-height:280px; background:var(--bg-2)}
.mapwrap iframe{width:100%; height:100%; min-height:280px; border:0; display:block; filter:saturate(.92)}
.maptag{position:absolute; left:14px; top:14px; z-index:2; background:var(--surface); border:1px solid var(--hair);
  border-radius:999px; padding:8px 14px; font-size:12px; font-weight:600; display:flex; gap:7px; align-items:center; box-shadow:var(--shadow)}
.maptag svg{width:14px; height:14px; color:var(--terracotta)}

/* form */
.form{display:flex; flex-direction:column; gap:16px}
.field{display:flex; flex-direction:column; gap:7px}
.field label{font-size:12.5px; font-weight:600; letter-spacing:.04em; color:var(--ink)}
.field label .req{color:var(--accent)}
.field input,.field select,.field textarea{
  background:var(--bg); border:1.5px solid var(--border); border-radius:12px; padding:13px 15px; font-size:15px;
  transition:border-color .2s, box-shadow .2s; width:100%;
}
.field textarea{resize:vertical; min-height:104px}
.field input:focus,.field select:focus,.field textarea:focus{outline:none; border-color:var(--accent);
  box-shadow:0 0 0 4px color-mix(in srgb,var(--accent) 14%,transparent)}
.field--row{display:grid; grid-template-columns:1fr 1fr; gap:14px}
.seg{display:flex; gap:8px; flex-wrap:wrap}
.seg input{position:absolute; opacity:0; pointer-events:none}
.seg label{padding:9px 15px; border:1.5px solid var(--border); border-radius:999px; font-size:13.5px; font-weight:500;
  cursor:pointer; transition:.18s}
.seg input:checked + label{background:var(--accent); color:var(--on-accent); border-color:var(--accent)}
.form__note{font-size:12.5px; color:var(--muted)}
.form__ok{display:none; text-align:center; padding:30px 18px; background:color-mix(in srgb,var(--green) 8%,#fff);
  border:1px solid color-mix(in srgb,var(--green) 30%,var(--hair)); border-radius:var(--r-lg)}
.form__ok.show{display:block}
.form__ok .tick{width:54px; height:54px; border-radius:50%; background:var(--green); color:#fff; display:grid; place-items:center; margin:0 auto 14px}
.form__ok .tick svg{width:26px; height:26px}
.form__ok h3{font-size:1.5rem; margin-bottom:6px}

/* ----------------------------- FOOTER ----------------------------------- */
.footer{background:var(--footer); color:var(--footer-ink); padding:clamp(48px,7vw,84px) 0 28px}
.footer a{color:var(--footer-ink); opacity:.78; transition:opacity .2s}
.footer a:hover{opacity:1}
.footer__grid{display:grid; grid-template-columns:1fr; gap:36px}
.footer__brand{display:flex; flex-direction:column; gap:16px; max-width:38ch}
.footer__brand .b-row{display:flex; align-items:center; gap:12px}
.footer__brand .brand__name{color:#fff}
.footer__brand p{font-size:14px; opacity:.7; line-height:1.6}
.footer__brand .brand__mark{filter:none}
.footer__col h4{font-family:var(--f-body); font-size:12px; letter-spacing:.18em; text-transform:uppercase;
  opacity:.55; margin-bottom:16px; font-weight:600}
.footer__col ul{list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:11px; font-size:14.5px}
.footer__bottom{display:flex; flex-direction:column; gap:14px; margin-top:48px; padding-top:24px;
  border-top:1px solid rgba(255,255,255,.12); font-size:12.5px; opacity:.66}
.footer__bottom .fb-links{display:flex; gap:18px; flex-wrap:wrap}

/* ----------------------------- MOBILE BAR ------------------------------- */
.mobile-bar{position:fixed; left:0; right:0; bottom:0; z-index:70; display:grid; grid-template-columns:repeat(3,1fr);
  gap:1px; background:var(--hair); border-top:1px solid var(--hair);
  box-shadow:0 -10px 30px -16px rgba(36,26,20,.3); padding-bottom:env(safe-area-inset-bottom)}
.mobile-bar a{background:var(--surface); display:flex; flex-direction:column; align-items:center; gap:4px;
  padding:11px 6px 12px; font-size:11px; font-weight:600; color:var(--ink)}
.mobile-bar a svg{width:20px; height:20px; color:var(--accent)}
.mobile-bar a.primary{background:var(--accent); color:var(--on-accent)}
.mobile-bar a.primary svg{color:var(--on-accent)}

/* ----------------------------- REVEAL ----------------------------------- */
.reveal{opacity:0; transform:translateY(26px); transition:opacity .7s ease, transform .7s cubic-bezier(.2,.7,.2,1)}
.reveal.in{opacity:1; transform:none}
.reveal.d1{transition-delay:.08s}.reveal.d2{transition-delay:.16s}.reveal.d3{transition-delay:.24s}.reveal.d4{transition-delay:.32s}
@media (prefers-reduced-motion:reduce){.reveal{opacity:1; transform:none; transition:none}}

/* ----------------------------- TWEAKS PANEL ----------------------------- */
#tweaks{position:fixed; top:18px; right:18px; z-index:300; width:300px; max-width:calc(100vw - 36px);
  background:#fffdf8; color:#241A14; border:1px solid #E7DAC2; border-radius:18px;
  box-shadow:0 30px 70px -24px rgba(36,26,20,.5); font-family:'Figtree',sans-serif; display:none; overflow:hidden}
#tweaks.show{display:block}
.tw__head{display:flex; align-items:center; justify-content:space-between; padding:14px 16px; border-bottom:1px solid #EFE6D4; cursor:move}
.tw__head b{font-family:'Cormorant Garamond',serif; font-size:19px; font-weight:600}
.tw__head .x{width:28px; height:28px; border-radius:8px; display:grid; place-items:center; color:#796757}
.tw__head .x:hover{background:#F1E8D6}
.tw__body{padding:6px 16px 18px; max-height:72vh; overflow-y:auto}
.tw__sec{font-size:10.5px; letter-spacing:.16em; text-transform:uppercase; color:#9A8A78; font-weight:700; margin:18px 0 10px}
.tw__row{margin-bottom:4px}
.tw__lbl{font-size:12.5px; font-weight:600; margin-bottom:7px; color:#3a2c20}
.tw__opts{display:flex; gap:6px; flex-wrap:wrap}
.tw__opt{flex:1; min-width:60px; padding:8px 6px; border:1.5px solid #E7DAC2; border-radius:9px; background:#fff;
  font-size:12px; font-weight:600; text-align:center; transition:.16s; color:#5a4a3a}
.tw__opt:hover{border-color:#C9A227}
.tw__opt.active{background:#241A14; color:#fff; border-color:#241A14}
.tw__sw{display:flex; gap:8px}
.tw__sw button{width:34px; height:34px; border-radius:50%; border:2px solid transparent; box-shadow:inset 0 0 0 1.5px rgba(0,0,0,.08)}
.tw__sw button.active{border-color:#241A14}

/* ----------------------------- RESPONSIVE ------------------------------- */
@media (min-width:680px){
  .trust__row{grid-template-columns:repeat(2,1fr)}
  .trust__item:not(:last-child){border-bottom:none}
  .trust__item:nth-child(odd){border-right:1px solid var(--hair)}
  .trust__item:nth-child(-n+2){border-bottom:1px solid var(--hair)}
  .svc-grid{grid-template-columns:repeat(2,1fr)}
  .gal{columns:3}
  .field--row{grid-template-columns:1fr 1fr}
  .footer__grid{grid-template-columns:1.6fr 1fr 1fr}
}
@media (min-width:900px){
  body{font-size:17px}
  .nav{display:flex}
  .header__cta{display:flex}
  .burger{display:none}
  .mobile-menu{display:none}
  .mobile-bar{display:none}
  .hero__grid{grid-template-columns:1.05fr .95fr}
  [data-hero="overlay"] .hero__grid{display:block}
  .trust__row{grid-template-columns:repeat(4,1fr)}
  .trust__item{flex-direction:column; text-align:center; gap:8px; padding:30px 18px}
  .trust__item:not(:last-child){border-bottom:none; border-right:1px solid var(--hair)}
  .trust__item:nth-child(-n+2){border-bottom:none}
  .svc-grid{grid-template-columns:repeat(3,1fr)}
  .gal{columns:4}
  .studio{grid-template-columns:1fr 1fr}
  .studio--rev .studio__media{order:2}
  .rev{grid-template-columns:.85fr 1.15fr}
  .visit{grid-template-columns:1fr 1fr}
  .footer__grid{grid-template-columns:2fr 1fr 1fr 1.2fr}
  .footer__bottom{flex-direction:row; align-items:center; justify-content:space-between}
}
@media (min-width:900px){ body{padding-bottom:0} }
body{padding-bottom:64px}
@media (min-width:900px){ body{padding-bottom:0} }
