/* ── RESET & VARS ── */
*{margin:0;padding:0;box-sizing:border-box}
:root{
  --bg:#080808;--s1:#0f0f0f;--s2:#161616;--s3:#1c1c1c;
  --gold:#C9A84C;--gold2:#E8C96A;--gold3:#A07830;--golddim:rgba(201,168,76,0.08);
  --text:#F0EAD6;--muted:#867c6d;--muted2:#96815f;--border:#1E1A14;
  --serif:'Cormorant Garamond',Georgia,serif;
  --sans:'Inter',system-ui,sans-serif;
  --page-max:1180px;--page-gutter:3rem;
}
html{scroll-behavior:smooth;scrollbar-gutter:stable}
body{width:100%;font-family:var(--sans);background:var(--bg);color:var(--text);line-height:1.6;overflow-x:hidden}
body.unlocked{overflow-y:auto}
img{max-width:100%;display:block}
.skip-link{position:fixed;z-index:2000;top:.75rem;left:.75rem;padding:.7rem 1rem;background:var(--gold);color:#080808;font-size:.75rem;font-weight:700;letter-spacing:1.4px;text-transform:uppercase;text-decoration:none;transform:translateY(-160%);transition:transform .2s ease}
.skip-link:focus{transform:translateY(0)}

/* ══ LOADER ══ */
#loader{
  position:fixed;inset:0;z-index:2000;display:none;align-items:center;justify-content:center;
  background:var(--bg);
  opacity:1;visibility:visible;transition:opacity .28s ease,visibility 0s linear .28s;
}
.js #loader{display:flex}
#loader.is-exiting{opacity:0;visibility:hidden;pointer-events:none}
#loader-ui{
  position:relative;z-index:10;
  display:flex;flex-direction:column;align-items:center;justify-content:center;
  text-align:center;gap:0;
}
#ld-logo{
  width:112px;height:112px;object-fit:contain;
  opacity:1;transform:none;
  filter:none;
  margin-bottom:1rem;
}
.ld-name{
  font-family:var(--serif);font-size:1.45rem;font-weight:600;letter-spacing:3px;
  color:var(--gold);opacity:1;transform:none;
  margin-bottom:0.3rem;
}
.ld-sub{
  font-family:var(--sans);font-size:0.78rem;letter-spacing:4px;
  text-transform:uppercase;color:var(--muted);
  opacity:1;margin-bottom:1.25rem;
}
#ld-bar{width:160px;opacity:1}
#ld-track{height:1px;background:#1a1610;border-radius:1px;overflow:hidden}
#ld-fill{height:100%;width:100%;background:var(--gold);transform:scaleX(0);transform-origin:left;animation:vviQuickLoad .32s cubic-bezier(.22,1,.36,1) forwards}
@keyframes vviQuickLoad{to{transform:scaleX(1)}}

/* ══ 3D CANVAS ══ */

/* ══ NAV ══ */
#main-nav{
  display:flex;align-items:center;justify-content:space-between;
  padding:1rem 3rem;background:transparent;
  border-bottom:1px solid transparent;
  position:fixed;top:0;left:0;right:0;z-index:100;
  opacity:1;transform:translateY(0);transition:background .28s ease,border-color .28s ease,box-shadow .28s ease;
}
#main-nav.visible{opacity:1;transform:translateY(0)}
#main-nav.is-scrolled,body.nav-open #main-nav{background:#080808;border-bottom-color:var(--border);box-shadow:0 10px 30px rgba(0,0,0,.24)}
.nav-logo{display:flex;align-items:center;gap:0.9rem;text-decoration:none}
.nav-logo img{width:34px;height:34px;object-fit:contain}
.nav-brand{font-family:var(--serif);font-size:1.15rem;font-weight:600;color:var(--gold);letter-spacing:1px;line-height:1}
.nav-brand span{display:block;font-family:var(--sans);font-size:0.7rem;letter-spacing:4px;text-transform:uppercase;color:var(--muted);font-weight:400;margin-top:2px}
.nav-links{display:flex;gap:2rem;list-style:none}
.nav-links a{font-size:0.85rem;letter-spacing:2px;text-transform:uppercase;color:var(--muted);text-decoration:none;transition:color 0.2s;cursor:pointer}
.nav-links a:hover{color:var(--gold)}
.nav-cta{background:var(--gold);color:#080808;border:none;padding:0.55rem 1.3rem;font-family:var(--sans);font-size:0.85rem;font-weight:600;letter-spacing:2px;text-transform:uppercase;cursor:pointer;border-radius:2px;transition:background 0.2s;position:relative;z-index:1}
.nav-cta:hover{background:var(--gold2)}

/* ══ SITE CONTENT ══ */
#site-content{position:relative;z-index:10;opacity:1;transition:opacity 0.45s ease}

/* ══ HERO ══ */
.hero{min-height:100vh;min-height:100svh;display:flex;align-items:center;overflow:hidden;border-bottom:1px solid var(--border);background:#080808;position:relative;z-index:5;isolation:isolate}
.hero-media{position:absolute;z-index:0;inset:0 0 0 auto;width:50%;overflow:hidden;background:#080808 url('../images/hero-tattoo-poster.jpg') center/cover no-repeat;border-left:0}
.hero-media::after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#080808 0%,rgba(8,8,8,.9) 14%,rgba(8,8,8,.4) 40%,rgba(8,8,8,.14) 72%,rgba(8,8,8,.1) 100%);pointer-events:none}
.hero-media video{width:100%;height:100%;display:block;object-fit:cover;object-position:center center;opacity:0;filter:grayscale(.22) contrast(1.08) brightness(.72);transform:scale(1.012);transition:opacity .5s ease}
.hero-media.is-playing video{opacity:1}
.hero-media-caption{position:absolute;z-index:2;left:1.4rem;right:1.4rem;top:1.3rem;display:flex;justify-content:space-between;gap:1rem;color:rgba(240,234,214,.72);font-size:.61rem;font-weight:600;letter-spacing:2.2px;text-transform:uppercase}
.hero-content{position:relative;z-index:2;width:57%;max-width:980px;padding:clamp(4rem,7vw,7rem) clamp(2rem,5vw,5.5rem) clamp(8rem,14vh,10rem)}
.hero-eyebrow{font-family:var(--sans);font-size:clamp(.65rem,.8vw,.76rem);font-weight:600;letter-spacing:3.6px;text-transform:uppercase;color:var(--gold);margin-bottom:clamp(1.5rem,3vh,2.4rem);display:flex;align-items:center;gap:.85rem}
.hero-eyebrow::before{content:'';width:28px;height:1px;background:var(--gold);flex:0 0 auto}
.hero h1{font-family:var(--serif);font-size:clamp(4.25rem,7.6vw,8.4rem);font-weight:300;line-height:.79;letter-spacing:-.045em;margin:0 0 clamp(1.8rem,4vh,3rem);color:var(--text)}
.hero h1 span,.hero h1 em{display:block}
.hero h1 em{color:var(--gold);font-style:italic;font-weight:300;font-size:.92em;line-height:.98;letter-spacing:-.025em;margin-left:clamp(1.5rem,5vw,5.5rem)}
.hero-sub{color:var(--muted);font-size:clamp(.94rem,1.15vw,1.06rem);line-height:1.8;max-width:520px;margin-bottom:clamp(1.8rem,4vh,2.7rem);font-weight:300}
.hero-btns{display:flex;gap:.85rem;flex-wrap:wrap}
.btn-gold,.btn-outline{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:.82rem 1.65rem;font-family:var(--sans);font-size:.73rem;font-weight:600;letter-spacing:1.9px;text-transform:uppercase;cursor:pointer;border-radius:2px;text-decoration:none;transition:background .2s,border-color .2s,color .2s,transform .2s;position:relative;z-index:1}
.btn-gold{background:var(--gold);color:#080808;border:1px solid var(--gold)}
.btn-gold:hover,.btn-gold:focus-visible{background:var(--gold2);border-color:var(--gold2);color:#080808}
.btn-outline{background:transparent;color:var(--text);border:1px solid rgba(240,234,214,.24)}
.btn-outline:hover,.btn-outline:focus-visible{border-color:var(--gold3);color:var(--gold)}

/* ══ MARQUEE ══ */

/* ══ SECTIONS ══ */
.page-shell{width:100%;max-width:var(--page-max);margin-inline:auto}
.sec{padding:5.5rem max(var(--page-gutter),calc((100% - var(--page-max))/2));border-bottom:1px solid var(--border);position:relative;z-index:5}
.eyebrow{font-family:var(--sans);font-size:0.79rem;letter-spacing:4px;text-transform:uppercase;color:var(--gold);margin-bottom:1rem;display:flex;align-items:center;gap:0.7rem}
.eyebrow::before{content:'';width:18px;height:1px;background:var(--gold)}
.sec-title{font-family:var(--serif);font-size:clamp(2.2rem,4vw,3.5rem);font-weight:300;letter-spacing:-0.3px;line-height:1.1;margin-bottom:1rem;color:var(--text)}
.sec-title em{color:var(--gold);font-style:italic;font-weight:300;letter-spacing:0.4px}
.sec-title strong{font-weight:700;letter-spacing:-0.8px}
.sec-body{color:var(--muted);font-size:1.01rem;line-height:1.85;max-width:520px;font-weight:300}

/* ══ SERVICES ══ */
.svc-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;width:min(100%,1180px);margin:2.5rem auto 0;background:var(--border);border:1px solid var(--border);border-radius:3px;overflow:hidden}
.svc-card{min-height:260px;background:var(--s1);padding:2.6rem 2.35rem;cursor:pointer;transition:background 0.2s;position:relative}
.svc-card:hover,.svc-card.active{background:var(--s2)}
.svc-card.active{border-top:1px solid var(--gold)}
.svc-icon{font-size:1.3rem;margin-bottom:1rem}
.svc-name{font-family:var(--serif);font-size:1.2rem;font-weight:600;color:var(--text);margin-bottom:0.4rem}
.svc-desc{max-width:470px;font-size:0.95rem;color:var(--muted);line-height:1.7;margin-bottom:1.2rem;font-weight:300}
.svc-tag{display:inline-block;font-size:0.78rem;font-weight:600;letter-spacing:2px;text-transform:uppercase;padding:0.28rem 0.65rem;border:1px solid var(--gold3);color:var(--gold);border-radius:2px}
.svc-arr{position:absolute;top:1.6rem;right:1.6rem;color:var(--muted2);font-size:1.03rem;transition:color 0.2s,transform 0.25s}
.svc-card:hover .svc-arr,.svc-card.active .svc-arr{color:var(--gold);transform:rotate(180deg)}
.svc-panel{display:none;width:min(100%,1180px);margin:0 auto;background:var(--s2);border:1px solid var(--border);border-top:none;border-radius:0 0 3px 3px;padding:2.5rem 3rem;position:relative;z-index:10}
.svc-panel.open{display:block}
.panel-grid{display:grid;grid-template-columns:1fr 1fr;gap:3.5rem;align-items:start}
.panel-title{font-family:var(--serif);font-size:1.4rem;font-weight:600;color:var(--gold);margin-bottom:0.7rem}
.panel-body{font-size:0.95rem;color:var(--muted);line-height:1.85;margin-bottom:1.6rem;font-weight:300}
.flow{display:flex;flex-direction:column}
.flow-step{display:flex;gap:1rem;padding:0.85rem 0;border-bottom:1px solid var(--border);align-items:flex-start}
.flow-step:last-child{border-bottom:none}
.flow-n{width:24px;height:24px;border:1px solid var(--gold);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:0.78rem;font-weight:600;color:var(--gold);flex-shrink:0;margin-top:2px}
.flow-t h5{font-size:0.93rem;font-weight:500;color:var(--text);margin-bottom:0.15rem}
.flow-t p{font-size:0.9rem;color:var(--muted);line-height:1.55;font-weight:300}

/* ══ FORMS ══ */
.form-box{background:var(--bg);border:1px solid var(--border);border-radius:3px;padding:1.8rem}
.form-box h4{font-family:var(--serif);font-size:1.08rem;font-weight:600;color:var(--text);margin-bottom:1.3rem}
.fg{margin-bottom:1rem}
.fg label{display:block;font-size:0.77rem;letter-spacing:2px;text-transform:uppercase;color:var(--muted);margin-bottom:0.45rem}
.fg input,.fg select,.fg textarea{width:100%;background:#0a0a0a;border:1px solid var(--border);border-radius:2px;padding:0.65rem 0.85rem;color:var(--text);font-family:var(--sans);font-size:0.95rem;outline:none;transition:border-color 0.2s}
.fg input:focus,.fg select:focus,.fg textarea:focus{border-color:var(--gold3)}
.fg textarea{height:70px;resize:vertical}
option{background:#111}
.fg-row{display:grid;grid-template-columns:1fr 1fr;gap:0.8rem}
.form-honeypot{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
.form-status{min-height:1.25rem;margin-top:.75rem;color:var(--gold);font-size:.76rem;line-height:1.5;text-align:center}
.form-status.is-error{color:#c9a98c}
.file-drop{border:1px dashed var(--border);border-radius:2px;padding:1.1rem;text-align:center;cursor:pointer;background:#0a0a0a;transition:border-color 0.2s,background 0.2s}
.file-drop:hover,.file-drop.is-dragover{border-color:var(--gold3);background:var(--golddim)}
.file-drop p{font-size:0.89rem;color:var(--muted);margin-bottom:0.2rem}
.file-drop span{font-size:0.79rem;color:var(--gold)}
.form-btn{width:100%;background:var(--gold);color:#080808;border:none;padding:0.8rem;font-family:var(--sans);font-weight:600;font-size:0.87rem;letter-spacing:2px;text-transform:uppercase;cursor:pointer;border-radius:2px;margin-top:0.5rem;transition:background 0.2s}
.form-btn:hover{background:var(--gold2)}
.success-msg{display:none;background:var(--golddim);border:1px solid var(--gold3);border-radius:3px;padding:1.4rem;text-align:center;margin-top:1rem}
.success-msg p{font-family:var(--serif);font-size:1.15rem;color:var(--gold);margin-bottom:0.3rem}
.success-msg span{font-size:0.92rem;color:var(--muted)}
.sq-block{background:var(--bg);border:1px solid var(--border);border-radius:3px;padding:1.8rem}
.sq-lbl{font-size:0.77rem;font-weight:600;letter-spacing:3px;text-transform:uppercase;color:var(--muted);display:flex;align-items:center;gap:0.6rem;margin-bottom:1.2rem}
.sq-lbl::after{content:'';flex:1;height:1px;background:var(--border)}
.sq-embed{border:1px dashed var(--border);border-radius:3px;padding:2.5rem 1rem;text-align:center;margin-bottom:1rem;background:var(--s1)}
.sq-embed p{font-size:0.92rem;color:var(--muted);line-height:1.75;margin-bottom:1.2rem;font-weight:300}
.sq-btn{background:var(--gold);color:#080808;border:none;padding:0.72rem 1.8rem;font-family:var(--sans);font-size:0.87rem;font-weight:600;letter-spacing:2px;text-transform:uppercase;cursor:pointer;border-radius:2px;transition:background 0.2s}
.sq-btn:hover{background:var(--gold2)}
.sq-note{font-size:0.82rem;color:var(--muted);text-align:center}
.sq-note a{color:var(--gold3);text-decoration:none}

/* ══ TEAM ══ */
.team-card{background:var(--s1);border:1px solid var(--border);border-radius:3px;overflow:hidden;transition:border-color 0.25s,transform 0.25s;cursor:pointer}
.team-card:hover{border-color:var(--gold3);transform:translateY(-3px)}
.team-photo{
  height:220px;background:var(--s2);
  display:flex;align-items:center;justify-content:center;
  border-bottom:1px solid var(--border);position:relative;overflow:hidden;
}
.team-photo svg{opacity:0.25}
.team-photo-overlay{
  position:absolute;right:0;bottom:0;left:0;background:rgba(8,8,8,.84);
  display:flex;align-items:flex-end;padding:1rem;
}
.team-body{padding:1.1rem}
.team-name{font-family:var(--serif);font-size:1.13rem;font-weight:600;color:var(--text);margin-bottom:0.2rem}
.team-role{font-size:0.78rem;letter-spacing:2px;text-transform:uppercase;color:var(--gold);margin-bottom:0.5rem}
.team-bio{font-size:0.91rem;color:var(--muted);line-height:1.6;font-weight:300}
.team-svc{display:inline-block;margin-top:0.6rem;font-size:0.75rem;font-weight:600;letter-spacing:1.5px;text-transform:uppercase;padding:0.2rem 0.5rem;border:1px solid var(--border);color:var(--muted);border-radius:2px}
.team-view-btn{
  width:100%;background:transparent;border:none;border-top:1px solid var(--border);
  color:var(--gold);font-family:var(--sans);font-size:0.79rem;letter-spacing:2px;
  text-transform:uppercase;padding:0.7rem;cursor:pointer;transition:background 0.2s;
}
.team-view-btn:hover{background:var(--golddim)}

/* ══ PORTFOLIO MODAL ══ */
#portfolio-modal{
  display:none;position:fixed;inset:0;background:rgba(0,0,0,0.92);
  z-index:500;overflow-y:auto;scrollbar-gutter:stable;
}
#portfolio-modal.open{display:block}
.portfolio-inner{max-width:1100px;margin:0 auto;padding:3rem 2rem 7rem}
.portfolio-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:2.5rem;border-bottom:1px solid var(--border);padding-bottom:1.5rem}
.portfolio-artist-info{display:flex;align-items:center;gap:1.2rem}
.portfolio-av{width:56px;height:56px;flex:0 0 auto;overflow:hidden;background:var(--s2);border-radius:50%;border:1px solid var(--gold3);display:flex;align-items:center;justify-content:center;font-family:var(--serif);font-size:1.25rem;color:var(--gold)}
.portfolio-av img{width:100%;height:100%;display:block;object-fit:cover;object-position:center 20%}
.portfolio-name{font-family:var(--serif);font-size:1.5rem;font-weight:600;color:var(--text)}
.portfolio-role{font-size:0.77rem;letter-spacing:2px;text-transform:uppercase;color:var(--gold)}
.portfolio-styles{max-width:540px;margin-top:.28rem;color:var(--muted);font-size:.76rem;line-height:1.45}
.portfolio-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}
.portfolio-item{background:var(--s1);border:1px solid var(--border);border-radius:3px;overflow:hidden;cursor:pointer;transition:border-color 0.2s,transform 0.2s}
.portfolio-item:hover{border-color:var(--gold3);transform:scale(1.02)}
.portfolio-item-inner{
  width:100%;display:flex;flex-direction:column;
  background:var(--s2);position:relative;overflow:hidden;
}
.portfolio-thumb{width:100%;aspect-ratio:2/3;object-fit:cover;display:block}
.portfolio-placeholder{
  width:100%;aspect-ratio:2/3;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:0.5rem;
  color:var(--muted2);
}
.portfolio-placeholder svg{opacity:0.3}
.portfolio-placeholder span{font-size:0.77rem;letter-spacing:2px;text-transform:uppercase}
.portfolio-item-label{position:static;background:#0b0b0b;border-top:1px solid var(--border);padding:.72rem .7rem;font-size:.7rem;color:var(--gold);letter-spacing:1.4px;text-transform:uppercase}
.artist-book-float{position:fixed;z-index:680;left:50%;bottom:1.25rem;height:46px;display:inline-flex;align-items:center;gap:.72rem;padding:0 .68rem 0 1rem;border:1px solid var(--gold3);border-radius:2px;background:rgba(8,8,8,.92);color:var(--gold);font-family:var(--sans);font-size:.67rem;font-weight:700;letter-spacing:1.7px;text-transform:uppercase;cursor:pointer;box-shadow:0 12px 34px rgba(0,0,0,.5);backdrop-filter:blur(10px);opacity:0;visibility:hidden;pointer-events:none;transform:translate(-50%,12px);transition:opacity .24s ease,visibility 0s linear .24s,background .2s,color .2s,transform .3s cubic-bezier(.22,1,.36,1),border-color .2s}
.artist-book-float::before{content:'';position:absolute;left:-1px;top:-1px;width:32px;height:1px;background:var(--gold)}
.artist-book-float.is-visible{opacity:1;visibility:visible;pointer-events:auto;transform:translate(-50%,0);transition-delay:0s}
.artist-book-float:hover{background:#14120d;color:var(--gold2);border-color:var(--gold);transform:translate(-50%,-2px)}
.artist-book-float:focus-visible{outline:2px solid var(--gold);outline-offset:3px}
.book-artist-arrow{width:27px;height:27px;display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--gold3);border-radius:50%;font-size:.9rem;line-height:1;transition:transform .2s ease,border-color .2s ease}
.artist-book-float:hover .book-artist-arrow{transform:translateX(3px)}
.artwork-close-float{position:fixed;z-index:690;top:1.5rem;right:1.5rem;width:40px;height:40px;display:grid;place-items:center;border:1px solid var(--border);border-radius:50%;background:rgba(8,8,8,.86);color:var(--muted);font-family:var(--sans);font-size:1.35rem;line-height:1;cursor:pointer;box-shadow:0 8px 24px rgba(0,0,0,.38);backdrop-filter:blur(9px);opacity:0;visibility:hidden;pointer-events:none;transition:opacity .2s ease,visibility 0s linear .2s,border-color .2s,color .2s,background .2s}
.artwork-close-float.is-visible{opacity:1;visibility:visible;pointer-events:auto;transition-delay:0s}
.artwork-close-float:hover{border-color:var(--gold);color:var(--gold)}
.artwork-close-float:focus-visible{outline:2px solid var(--gold);outline-offset:3px}

/* ══ LIGHTBOX ══ */
#lightbox{display:none;position:fixed;inset:0;background:rgba(0,0,0,0.96);z-index:600;align-items:center;justify-content:center}
#lightbox.open{display:flex}
#lightbox-img{max-width:85vw;max-height:80vh;border:1px solid var(--border);border-radius:3px;object-fit:contain;display:block}
#lightbox-img[hidden]{display:none}
#lightbox-inner{position:relative;display:flex;align-items:center;justify-content:center;width:100%;height:100%;padding:2rem}
.lb-stage{display:flex;align-items:center;justify-content:center;width:100%;height:100%}
#lb-content{max-width:85vw;max-height:85vh;display:flex;align-items:center;justify-content:center;min-width:400px;min-height:400px;color:var(--muted)}
.lb-placeholder{width:100%;min-width:400px;min-height:400px;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:1rem;background:var(--s2);border:1px solid var(--border);border-radius:3px}
.lb-placeholder[hidden]{display:none}
.lb-placeholder span{font-size:.68rem;letter-spacing:2px;text-transform:uppercase;color:#7a7060}
.lb-nav{position:absolute;top:50%;transform:translateY(-50%);background:rgba(8,8,8,0.7);border:1px solid var(--border);color:var(--muted);width:44px;height:44px;border-radius:50%;cursor:pointer;font-size:1.25rem;display:flex;align-items:center;justify-content:center;transition:all 0.2s;z-index:10}
.lb-nav:hover{border-color:var(--gold);color:var(--gold)}
#lb-prev{left:1.5rem}
#lb-next{right:1.5rem}
.lb-footer{position:absolute;z-index:10;bottom:5rem;left:50%;transform:translateX(-50%);display:flex;align-items:center;justify-content:center;gap:.5rem;max-width:calc(100% - 9rem)}
.lb-caption{min-width:0;min-height:36px;display:flex;align-items:center;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:0.76rem;letter-spacing:1.7px;text-transform:uppercase;color:var(--muted);background:rgba(8,8,8,0.78);padding:.45rem .9rem;border:1px solid transparent;border-radius:2px}
/* ══ ARTIST BOOKING MODAL ══ */
#artist-booking-modal{display:flex;position:fixed;inset:0;z-index:720;align-items:center;justify-content:center;padding:1.25rem;background:rgba(0,0,0,.95)}
.artist-booking-card{width:min(620px,100%);max-height:calc(100vh - 2.5rem);overflow-y:auto;background:#0d0d0d;border:1px solid #342b1e;border-top:2px solid var(--gold);border-radius:3px;box-shadow:12px 12px 0 rgba(0,0,0,.48)}
.artist-booking-header{position:sticky;z-index:3;top:0;display:flex;align-items:flex-start;justify-content:space-between;gap:2rem;padding:1.25rem 1.4rem 1.1rem;border-bottom:1px solid var(--border);background:#0d0d0d}
.artist-booking-kicker{margin-bottom:.25rem;color:var(--gold);font-size:.64rem;font-weight:600;letter-spacing:2.5px;text-transform:uppercase}
.artist-booking-header h2{font-family:var(--serif);font-size:1.65rem;font-weight:500;line-height:1.1;color:var(--text)}
.artist-booking-close{flex:0 0 auto;width:38px;height:38px;display:grid;place-items:center;border:1px solid var(--border);border-radius:50%;background:transparent;color:var(--muted);font-size:1.25rem;cursor:pointer;transition:border-color .2s,color .2s}
.artist-booking-close:hover{border-color:var(--gold);color:var(--gold)}
.artist-booking-body{padding:1.25rem 1.4rem 1.4rem}
.artist-booking-copy{max-width:540px;margin-bottom:1rem;color:var(--muted);font-size:.86rem;line-height:1.65}
.artist-booking-summary{display:flex;align-items:center;gap:.9rem;margin-bottom:1.25rem;padding:.85rem .95rem;border:1px solid var(--border);border-left:2px solid var(--gold);background:#10100f}
.artist-booking-summary img{width:64px;height:64px;flex:0 0 auto;display:block;object-fit:cover;border:1px solid var(--gold3);border-radius:50%}
.artist-booking-summary>div{min-width:0;display:flex;flex-direction:column;gap:.12rem}
.artist-booking-summary span{color:var(--gold);font-size:.62rem;font-weight:600;letter-spacing:1.9px;text-transform:uppercase}
.artist-booking-summary strong{font-family:var(--serif);font-size:1.25rem;font-weight:600;color:var(--text)}
.artist-booking-summary small{overflow:hidden;color:var(--muted);font-size:.75rem;text-overflow:ellipsis;white-space:nowrap}
.artist-booking-grid{display:grid;grid-template-columns:1fr 1fr;gap:.75rem}
#artist-booking-idea{height:88px}
.artist-booking-submit{width:100%;display:flex;align-items:center;justify-content:center;gap:.7rem;padding:.8rem 1rem;border:1px solid var(--gold);border-radius:2px;background:var(--gold);color:#080808;font-family:var(--sans);font-size:.74rem;font-weight:700;letter-spacing:1.8px;text-transform:uppercase;cursor:pointer;transition:background .2s,border-color .2s}
.artist-booking-submit:hover{background:var(--gold2);border-color:var(--gold2)}
.artist-booking-success{display:none;padding:2rem 1rem;text-align:center}
.artist-booking-success p{margin-bottom:.35rem;font-family:var(--serif);font-size:1.3rem;color:var(--gold)}
.artist-booking-success span{display:block;color:var(--muted);font-size:.88rem;line-height:1.6}
.artist-booking-success button{margin-top:1.2rem;padding:.65rem 1.4rem;border:1px solid var(--gold3);border-radius:2px;background:transparent;color:var(--gold);font:600 .67rem var(--sans);letter-spacing:1.6px;text-transform:uppercase;cursor:pointer}

/* ══ FLASH BOOK ══ */
.flash-book-wrap{margin-top:3rem;display:flex;flex-direction:column;align-items:center;gap:2.25rem;position:relative;z-index:5}
.book-container{perspective:2200px;width:min(820px,100%);position:relative;isolation:isolate}
.book-container::after{display:none}
.book{width:100%;height:520px;position:relative;transform-style:preserve-3d;outline:none}
.book::before{content:'';position:absolute;z-index:-1;inset:9px -7px -8px 7px;border:1px solid #2a241a;border-radius:5px 14px 14px 5px;background:#15130f;box-shadow:8px 8px 0 #050505}
.book:focus-visible{outline:2px solid var(--gold);outline-offset:10px;border-radius:6px}
.book-cover{
  position:absolute;z-index:50;inset:0;background:#11100d;border:1px solid #352b1c;
  border-radius:5px 14px 14px 5px;display:flex;align-items:center;justify-content:center;
  flex-direction:column;gap:1rem;transform-origin:left center;transform-style:preserve-3d;backface-visibility:hidden;
  transition:transform .92s cubic-bezier(.22,.72,.18,1),box-shadow .92s ease;
  box-shadow:8px 8px 0 #050505;
  cursor:pointer;
}
.book-cover::after{content:'';position:absolute;inset:18px;border:1px solid rgba(201,168,76,.2);border-radius:2px 8px 8px 2px;pointer-events:none}
.book-cover.is-open{transform:rotateY(-180deg);box-shadow:none;pointer-events:none}
.book-spine{position:absolute;left:0;top:0;bottom:0;width:28px;background:var(--gold3);border-radius:4px 0 0 4px;display:flex;align-items:center;justify-content:center}
.book-spine-text{writing-mode:vertical-rl;text-orientation:mixed;font-family:var(--serif);font-size:0.82rem;letter-spacing:3px;color:#080808;font-weight:600;text-transform:uppercase}
.book-title{font-family:var(--serif);font-size:1.8rem;font-weight:600;color:var(--gold);text-align:center}
.book-subtitle{font-family:var(--sans);font-size:0.77rem;letter-spacing:4px;text-transform:uppercase;color:var(--muted)}
.book-ornament{width:60px;height:1px;background:var(--gold3)}
.page{
  position:absolute;z-index:2;inset:7px 0 2px;background:#12110e;
  border:1px solid #2a241a;border-radius:4px 12px 12px 4px;
  display:none;grid-template-columns:1fr 1fr;
  box-shadow:6px 6px 0 #050505;
}
.page.is-active{display:grid}
.page-left,.page-right{position:relative;padding:1.65rem;display:flex;flex-direction:column;gap:.6rem;overflow:hidden;background:#15130f}
.page-left{border-right:1px solid #2d281f;border-radius:4px 0 0 4px}
.page-right{border-radius:0 11px 11px 0;background:#12110e}
.page-left::after,.page-right::before{content:'';position:absolute;top:0;bottom:0;width:18px;pointer-events:none}
.page-left::after,.page-right::before{display:none}
.page-img{flex:1;background:var(--s2);border-radius:3px;display:flex;align-items:center;justify-content:center;min-height:160px;position:relative;overflow:hidden;cursor:pointer;border:1px solid var(--border);transition:border-color 0.2s}
.page-img:hover{border-color:var(--gold3)}
.page-img-ph{display:flex;flex-direction:column;align-items:center;gap:0.5rem;color:var(--muted2)}
.page-img-ph svg{opacity:0.3}
.page-img-ph span{font-size:0.75rem;letter-spacing:2px;text-transform:uppercase}
.flash-label{font-family:var(--serif);font-size:1.03rem;font-weight:600;color:var(--text)}
.flash-style{font-size:0.78rem;letter-spacing:2px;text-transform:uppercase;color:var(--gold)}
.flash-avail{font-size:0.82rem;color:var(--muted);display:flex;align-items:center;gap:0.4rem}
.flash-avail::before{content:'';width:6px;height:6px;border-radius:50%;background:#4a9e4a;flex-shrink:0}
.page-num{font-size:0.75rem;letter-spacing:2px;color:var(--muted2);text-align:center;margin-top:auto;padding-top:0.5rem}
.page-turn-underlay{position:absolute;z-index:3;top:8px;width:calc(50% - 1px);height:calc(100% - 11px);box-sizing:border-box;padding:1.65rem;display:flex;flex-direction:column;gap:.6rem;overflow:hidden;opacity:0;visibility:hidden;pointer-events:none}
.page-turner{position:absolute;z-index:70;left:50%;top:8px;width:calc(50% - 1px);height:calc(100% - 11px);transform-origin:left center;transform-style:preserve-3d;opacity:0;visibility:hidden;pointer-events:none;will-change:transform}
.page-turner-front,.page-turner-back{position:absolute;inset:0;box-sizing:border-box;padding:1.65rem;display:flex;flex-direction:column;gap:.6rem;overflow:hidden;border:0;backface-visibility:hidden;-webkit-backface-visibility:hidden}
.page-turner-front{border-radius:0 11px 11px 0;background:#12110e}
.page-turner-back{border-right:1px solid #2d281f;border-radius:4px 0 0 4px;background:#15130f;transform:rotateY(180deg)}
.page-turner .page-img,.page-turn-underlay .page-img{cursor:default}
.page-turner .page-img:hover,.page-turn-underlay .page-img:hover{border-color:var(--border)}
.book.is-turning-next .page-turn-underlay,.book.is-turn-landed-next .page-turn-underlay{left:50%;border-radius:0 11px 11px 0;background:#12110e;opacity:1;visibility:visible}
.book.is-turning-prev .page-turn-underlay,.book.is-turn-landed-prev .page-turn-underlay{left:1px;border-right:1px solid #2d281f;border-radius:4px 0 0 4px;background:#15130f;opacity:1;visibility:visible}
.book.is-turning-next .page-turner{opacity:1;visibility:visible;animation:bookTurnNext .96s cubic-bezier(.42,.02,.18,1) both}
.book.is-turning-prev .page-turner{opacity:1;visibility:visible;animation:bookTurnPrev .96s cubic-bezier(.42,.02,.18,1) both}
.book.is-turn-landed-next .page-turner{opacity:1;visibility:visible;transform:rotateY(-180deg)}
.book.is-turn-landed-prev .page-turner{opacity:1;visibility:visible;transform:rotateY(0)}
.book.is-turn-cleanup .page-turner,.book.is-turn-cleanup .page-turn-underlay{opacity:0!important;visibility:hidden!important;animation:none!important}
@keyframes bookTurnNext{0%{transform:rotateY(0);box-shadow:0 0 0 rgba(0,0,0,0)}48%{box-shadow:10px 6px 0 rgba(0,0,0,.25)}100%{transform:rotateY(-180deg);box-shadow:0 0 0 rgba(0,0,0,0)}}
@keyframes bookTurnPrev{0%{transform:rotateY(-180deg);box-shadow:0 0 0 rgba(0,0,0,0)}52%{box-shadow:10px 6px 0 rgba(0,0,0,.25)}100%{transform:rotateY(0);box-shadow:0 0 0 rgba(0,0,0,0)}}
.book-controls{display:flex;align-items:center;gap:1.5rem}
.book-btn{background:transparent;border:1px solid var(--border);color:var(--muted);width:42px;height:42px;border-radius:50%;cursor:pointer;font-size:1.08rem;display:flex;align-items:center;justify-content:center;transition:all 0.2s;position:relative;z-index:20}
.book-btn:hover{border-color:var(--gold);color:var(--gold)}
.book-btn:disabled{opacity:0.3;cursor:not-allowed}
#book-page-indicator{font-size:0.79rem;letter-spacing:2px;text-transform:uppercase;color:var(--muted)}

/* ══ UP FOR GRABS ══ */
.artist-ufg-section{margin-bottom:3rem;padding-bottom:3rem;border-bottom:1px solid var(--border)}
.artist-ufg-section:last-child{border-bottom:none;margin-bottom:0}
.ufg-artist-header{display:flex;align-items:center;gap:1rem;margin-bottom:1.5rem}
.ufg-av{width:42px;height:42px;flex:0 0 auto;overflow:hidden;background:var(--s2);border-radius:50%;border:1px solid var(--gold3);display:flex;align-items:center;justify-content:center;font-family:var(--serif);font-size:1.08rem;color:var(--gold)}
.ufg-av img{width:100%;height:100%;display:block;object-fit:cover;object-position:center 20%}
.ufg-artist-name{font-family:var(--serif);font-size:1.25rem;font-weight:600;color:var(--text)}
.ufg-artist-role{font-size:0.78rem;letter-spacing:2px;text-transform:uppercase;color:var(--gold)}
.ufg-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem}
.ufg-card{background:var(--s1);border:1px solid var(--border);border-radius:3px;overflow:hidden;transition:border-color 0.2s,transform 0.2s;cursor:pointer}
.ufg-card:hover{border-color:var(--gold3);transform:translateY(-2px)}
.ufg-img{aspect-ratio:1;background:var(--s2);display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden}
.ufg-img-ph{display:flex;flex-direction:column;align-items:center;gap:0.4rem;color:var(--muted2)}
.ufg-img-ph svg{opacity:0.25}
.ufg-info{padding:0.85rem}
.ufg-title{font-family:var(--serif);font-size:1.03rem;font-weight:600;color:var(--text);margin-bottom:0.2rem}
.ufg-style{font-size:0.76rem;letter-spacing:2px;text-transform:uppercase;color:var(--gold);margin-bottom:0.5rem}
.ufg-sizes{display:flex;flex-direction:column;gap:0.25rem}
.ufg-size-row{display:flex;justify-content:space-between;align-items:center;font-size:0.85rem}
.ufg-size-label{color:var(--muted)}
.ufg-size-price{color:var(--gold);font-weight:500}
.ufg-claim{width:100%;min-height:48px;display:flex;align-items:center;justify-content:center;overflow:hidden;white-space:nowrap;background:transparent;border:none;border-top:1px solid var(--border);color:var(--gold);font-family:var(--sans);font-size:clamp(.52rem,1.3vw,.7rem);line-height:1;letter-spacing:clamp(.7px,.18vw,1.6px);text-transform:uppercase;padding:.65rem .25rem;cursor:pointer;transition:background 0.2s}
.ufg-claim:hover{background:var(--golddim)}

/* ══ CLAIM PIECE MODAL ══ */
#claim-modal{position:fixed;inset:0;z-index:700;align-items:center;justify-content:center;padding:1.25rem;background:rgba(0,0,0,.94)}
.claim-modal-card{width:min(660px,100%);max-height:calc(100vh - 2.5rem);overflow-y:auto;background:#0d0d0d;border:1px solid #342b1e;border-radius:3px;box-shadow:10px 10px 0 rgba(0,0,0,.45)}
.claim-modal-header{display:flex;align-items:flex-start;justify-content:space-between;gap:2rem;padding:1.4rem 1.5rem 1.2rem;border-bottom:1px solid var(--border)}
.claim-kicker{margin-bottom:.25rem;color:var(--gold);font-size:.66rem;font-weight:600;letter-spacing:2.5px;text-transform:uppercase}
.claim-modal-header h2{font-family:var(--serif);font-size:1.75rem;font-weight:500;line-height:1.1;color:var(--text)}
.claim-close{flex:0 0 auto;width:38px;height:38px;display:grid;place-items:center;border:1px solid var(--border);border-radius:50%;background:transparent;color:var(--muted);font-size:1.25rem;cursor:pointer;transition:border-color .2s,color .2s}
.claim-close:hover{border-color:var(--gold);color:var(--gold)}
.claim-modal-body{padding:1.4rem 1.5rem 1.5rem}
.claim-copy{max-width:560px;margin-bottom:1.15rem;color:var(--muted);font-size:.88rem;line-height:1.7}
.claim-piece-summary{display:flex;align-items:center;gap:.85rem;margin-bottom:1.35rem;padding:.9rem 1rem;border:1px solid var(--border);border-left:2px solid var(--gold);background:#10100f}
.claim-artist-photo{width:58px;height:58px;flex:0 0 auto;display:block;object-fit:cover;object-position:center 20%;border:1px solid var(--gold3);border-radius:50%}
.claim-artist-photo[hidden]{display:none}
.claim-piece-copy{min-width:0;display:flex;flex-direction:column;gap:.15rem}
.claim-piece-summary span{color:var(--gold);font-size:.65rem;font-weight:600;letter-spacing:2px;text-transform:uppercase}
.claim-piece-summary strong{font-family:var(--serif);font-size:1.2rem;font-weight:600;color:var(--text)}
.claim-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:.8rem}
#claim-notes{height:82px}
.claim-primary{width:100%;padding:.78rem 1rem;border:1px solid var(--gold);border-radius:2px;background:var(--gold);color:#080808;font-family:var(--sans);font-size:.76rem;font-weight:700;letter-spacing:1.8px;text-transform:uppercase;cursor:pointer;transition:background .2s,border-color .2s}
.claim-primary:hover{background:var(--gold2);border-color:var(--gold2)}
.claim-contact-actions{display:grid;grid-template-columns:1fr 1fr;gap:.6rem;margin-top:1rem}
.claim-contact-link{min-width:0;padding:.7rem .8rem;border:1px solid var(--border);border-radius:2px;background:transparent;color:var(--muted);font-family:var(--sans);text-align:left;text-decoration:none;cursor:pointer;transition:border-color .2s,color .2s}
.claim-contact-link span,.claim-contact-link strong{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.claim-contact-link span{margin-bottom:.15rem;font-size:.61rem;font-weight:600;letter-spacing:1.7px;text-transform:uppercase;color:var(--gold)}
.claim-contact-link strong{font-size:.76rem;font-weight:400;color:var(--muted)}
.claim-contact-link:hover{border-color:var(--gold3)}
.claim-contact-link:hover strong{color:var(--text)}
.claim-disclaimer{margin-top:.75rem;color:var(--muted2);font-size:.72rem;line-height:1.5;text-align:center}

/* ══ AFTERCARE ══ */
.aftercare-tabs{display:flex;gap:0;border-bottom:1px solid var(--border);margin-bottom:2.5rem}
.ac-tab{background:transparent;border:none;border-bottom:2px solid transparent;padding:0.8rem 1.8rem;font-family:var(--sans);font-size:0.85rem;letter-spacing:2px;text-transform:uppercase;color:var(--muted);cursor:pointer;transition:color 0.2s,border-color 0.2s;margin-bottom:-1px}
.ac-tab:hover{color:var(--text)}
.ac-tab.active{color:var(--gold);border-bottom-color:var(--gold)}
.ac-panel{display:none}
.ac-panel.active{display:block}
.ac-intro{font-size:1.01rem;color:var(--muted);line-height:1.85;max-width:600px;margin-bottom:2rem;font-weight:300}
.ac-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;margin-bottom:2rem}
.ac-step{background:var(--s1);border:1px solid var(--border);border-radius:3px;padding:1.4rem}
.ac-step-num{font-family:var(--serif);font-size:2rem;font-weight:300;color:var(--gold);margin-bottom:0.6rem;line-height:1}
.ac-step h4{font-family:var(--serif);font-size:1.03rem;font-weight:600;color:var(--text);margin-bottom:0.4rem}
.ac-step p{font-size:0.93rem;color:var(--muted);line-height:1.65;font-weight:300}
.ac-warning{background:rgba(201,168,76,0.06);border:1px solid var(--gold3);border-radius:3px;padding:1.2rem 1.5rem;display:flex;gap:1rem;align-items:flex-start}
.ac-warning-icon{font-size:1.08rem;flex-shrink:0;margin-top:1px}
.ac-warning p{font-size:0.95rem;color:var(--muted);line-height:1.65;font-weight:300}
.ac-warning strong{color:var(--gold);font-weight:500}
.ac-motion-ready .ac-motion-item{opacity:0;filter:blur(12px);translate:0 16px;transition:opacity .58s cubic-bezier(.22,1,.36,1),filter .68s cubic-bezier(.22,1,.36,1),translate .58s cubic-bezier(.22,1,.36,1);transition-delay:var(--ac-delay,0ms);will-change:opacity,filter,translate}
.ac-motion-ready .ac-motion-item.ac-is-visible{opacity:1;filter:blur(0);translate:0 0}

/* ══ REVIEWS SLIDER ══ */
.reviews-splide{margin-top:2.5rem;padding-bottom:4.8rem}
.reviews-splide.splide-fallback{visibility:visible}
.reviews-splide .splide__track{overflow:hidden}
.reviews-splide .splide__list{align-items:stretch}
.reviews-splide .splide__slide{height:auto;display:flex}
.reviews-splide:not(.is-initialized) .splide__list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.25rem}
.reviews-splide:not(.is-initialized) .splide__slide{width:auto}
.review-card{width:100%;min-height:270px;background:var(--s1);border:1px solid var(--border);border-top:1px solid var(--gold);border-radius:3px;padding:1.8rem;display:flex;flex-direction:column;position:relative;overflow:hidden}
.review-card::after{display:none}
.stars{display:flex;gap:3px;margin-bottom:0.8rem}
.star{width:8px;height:8px;background:var(--gold);clip-path:polygon(50% 0%,61% 35%,98% 35%,68% 57%,79% 91%,50% 70%,21% 91%,32% 57%,2% 35%,39% 35%)}
.review-svc{font-size:0.77rem;font-weight:600;letter-spacing:2px;text-transform:uppercase;color:var(--muted);margin-bottom:0.7rem}
.review-q{font-family:var(--serif);font-size:1.13rem;font-style:italic;font-weight:300;line-height:1.72;margin:0 0 1.2rem;color:var(--text);flex:1;position:relative;z-index:1}
.review-name{font-size:0.79rem;letter-spacing:2px;text-transform:uppercase;color:var(--muted)}
.reviews-splide .splide__arrow{top:auto;bottom:-.1rem;width:42px;height:42px;transform:none;background:var(--s1);border:1px solid var(--border);opacity:1;transition:border-color .2s,color .2s,background .2s}
.reviews-splide .splide__arrow:hover{background:var(--golddim);border-color:var(--gold3)}
.reviews-splide .splide__arrow svg{fill:var(--gold);width:12px;height:12px}
.reviews-splide .splide__arrow--prev{left:auto;right:3.25rem}
.reviews-splide .splide__arrow--next{right:0}
.reviews-splide .splide__pagination{bottom:.95rem;left:0;right:auto;justify-content:flex-start;padding:0;gap:.35rem}
.reviews-splide .splide__pagination__page{width:22px;height:2px;margin:0;border-radius:0;background:var(--muted);opacity:.45;transition:width .25s ease,background .25s ease,opacity .25s ease}
.reviews-splide .splide__pagination__page.is-active{width:38px;transform:none;background:var(--gold);opacity:1}
.reviews-splide .splide__progress{position:absolute;left:0;bottom:2.45rem;width:min(220px,42%);height:1px;background:rgba(201,168,76,.16);overflow:hidden}
.reviews-splide .splide__progress__bar{height:100%;background:var(--gold)}
.reviews-toggle{position:absolute;left:50%;bottom:.25rem;transform:translateX(-50%);min-width:132px;border:0;background:transparent;color:var(--muted);font-family:var(--sans);font-size:.68rem;letter-spacing:1.8px;text-transform:uppercase;cursor:pointer;padding:.65rem}
.reviews-toggle:hover{color:var(--gold)}
.reviews-toggle .splide__toggle__play{display:inline}
.reviews-toggle .splide__toggle__pause{display:none}
.reviews-toggle.is-active .splide__toggle__play{display:none}
.reviews-toggle.is-active .splide__toggle__pause{display:inline}

/* ══ CONTACT ══ */
#contact{font-family:var(--sans)}
#contact .eyebrow,#contact .sec-body,#contact .info-list,#contact .contact-form-box p,#contact .fg,#contact .form-btn{font-family:var(--sans)}
#contact .sec-title,#contact .contact-form-box h3{font-family:var(--serif)}
.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:4rem;align-items:start}
.info-list{margin-top:2rem;font-family:var(--sans)}
.info-row{padding:0.9rem 0;border-bottom:1px solid var(--border);display:flex;justify-content:space-between;align-items:flex-start;gap:1.5rem}
.info-row:first-child{border-top:1px solid var(--border)}
.info-lbl{font-family:var(--sans);font-size:0.78rem;font-weight:500;letter-spacing:2px;text-transform:uppercase;color:var(--gold);min-width:75px;padding-top:2px;flex-shrink:0}
.info-val,.info-val a{font-family:var(--sans);font-size:0.95rem;font-weight:400;color:var(--text);line-height:1.65}
.info-val{margin-left:auto;text-align:right}
.info-link{color:var(--gold)!important;text-decoration:none}
.info-value-link{color:var(--text);text-decoration:none;text-decoration-color:transparent;text-underline-offset:3px;transition:color .2s,text-decoration-color .2s}
.info-value-link:hover,.info-value-link:focus-visible{color:var(--gold);text-decoration:underline;text-decoration-color:var(--gold3)}
.info-note{font-family:var(--sans);font-size:0.75rem;color:var(--muted)}
.contact-form-box{background:var(--s1);border:1px solid var(--border);border-top:1px solid var(--gold);border-radius:3px;padding:2rem}
.contact-form-box h3{font-family:var(--serif);font-size:1.25rem;font-weight:600;color:var(--text);margin-bottom:0.4rem}
.contact-form-box p{font-size:0.95rem;color:var(--muted);margin-bottom:1.5rem;font-weight:300;line-height:1.7}

/* ══ FOOTER ══ */
.site-footer{position:relative;border-top:1px solid var(--gold3);background:var(--bg)}
.footer-inner{width:min(100%,calc(var(--page-max) + 6rem));margin:0 auto;padding:4rem var(--page-gutter) 1.6rem}
.footer-main{display:grid;grid-template-columns:minmax(280px,1.2fr) minmax(180px,.62fr) minmax(260px,.8fr);gap:clamp(2.5rem,5vw,5.5rem);align-items:start}
.footer-identity{max-width:420px}
.footer-brand-lockup{display:inline-flex;align-items:center;gap:1rem;color:inherit;text-decoration:none}
.footer-logo{width:52px;height:52px;object-fit:contain}
.footer-brand-lockup strong{display:block;font-family:var(--serif);font-size:clamp(1.15rem,1.8vw,1.45rem);font-weight:600;color:var(--gold);line-height:1.15}
.footer-brand-lockup small{display:block;margin-top:.35rem;font-size:.68rem;letter-spacing:3.4px;text-transform:uppercase;color:var(--muted)}
.footer-intro{max-width:350px;margin:1.25rem 0 1.5rem;color:var(--muted);font-size:.9rem;font-weight:300;line-height:1.7}
.footer-heading{margin:0 0 1.15rem;font-size:.7rem;letter-spacing:2.6px;text-transform:uppercase;color:var(--gold)}
.footer-nav{display:block;position:static;z-index:auto;padding:0;border:0;background:none;opacity:1;transform:none;transition:none}
.footer-links{display:grid;grid-template-columns:1fr;gap:.72rem}
.footer-links a{width:max-content;color:var(--muted);font-size:.84rem;text-decoration:none;transition:color .2s ease,transform .2s ease}
.footer-links a:hover{color:var(--text);transform:translateX(3px)}
.footer-contact{display:flex;flex-direction:column;align-items:flex-start;font-style:normal}
.footer-contact a,.footer-location{display:grid;grid-template-columns:48px minmax(0,1fr);gap:.8rem;width:100%;margin:0;padding:.68rem 0;border-bottom:1px solid var(--border);color:var(--muted);font-size:.82rem;line-height:1.45;text-decoration:none;overflow-wrap:anywhere;transition:color .2s ease,border-color .2s ease}
.footer-contact a:first-of-type{border-top:1px solid var(--border)}
.footer-contact a:hover{color:var(--text);border-color:rgba(201,168,76,.3)}
.footer-contact span{font-size:.66rem;letter-spacing:1.4px;text-transform:uppercase;color:var(--gold)}
.footer-instagram{display:grid;grid-template-columns:36px minmax(0,1fr) auto;align-items:center;gap:.85rem;width:min(100%,360px);padding:.85rem 1rem;border:1px solid var(--border);border-radius:3px;background:rgba(255,255,255,.018);color:var(--text);text-decoration:none;transition:background .25s ease,border-color .25s ease,transform .25s ease}
.footer-instagram:hover{background:rgba(201,168,76,.07);border-color:rgba(201,168,76,.42);transform:translateY(-2px)}
.footer-social-mark{display:grid;place-items:center;width:36px;height:36px;border:1px solid rgba(201,168,76,.38);border-radius:50%;color:var(--gold);font-family:var(--serif);font-size:.72rem;letter-spacing:.5px}
.footer-social-copy{min-width:0}
.footer-social-copy small,.footer-social-copy strong{display:block}
.footer-social-copy small{margin-bottom:.18rem;font-size:.63rem;letter-spacing:1.6px;text-transform:uppercase;color:var(--muted2)}
.footer-social-copy strong{overflow:hidden;color:var(--text);font-size:.8rem;font-weight:500;text-overflow:ellipsis;white-space:nowrap}
.footer-social-arrow{color:var(--gold);font-size:1rem;transition:transform .25s ease}
.footer-instagram:hover .footer-social-arrow{transform:translate(2px,-2px)}
.footer-bottom{display:flex;justify-content:space-between;gap:1rem;margin-top:3.5rem;padding-top:1.25rem;border-top:1px solid var(--border)}
.footer-bottom p{margin:0;color:var(--muted2);font-size:.7rem;letter-spacing:.35px}
.footer-brand-lockup:focus-visible,.footer-links a:focus-visible,.footer-contact a:focus-visible,.footer-instagram:focus-visible{outline:2px solid var(--gold);outline-offset:4px}


/* ══ RESPONSIVE ══ */
@media(max-width:900px){
  #main-nav{padding:1rem 1.5rem}
  .nav-links{display:none}
  .sec{padding:3.5rem 1.5rem}
  .hero{min-height:100vh;min-height:100svh;align-items:center}
  .hero-media{width:100%;border-left:0}
  .hero-media::after{background:linear-gradient(90deg,rgba(8,8,8,.84) 0%,rgba(8,8,8,.68) 55%,rgba(8,8,8,.48) 100%)}
  .hero-media video{filter:grayscale(.28) contrast(1.06) brightness(.58)}
  .hero-media-caption{display:none}
  .hero-content{width:100%;max-width:740px;padding:clamp(4rem,9vh,6rem) 1.5rem clamp(8rem,16vh,10rem)}
  .hero h1{font-size:clamp(4rem,14vw,7rem)}
  .hero h1 em{margin-left:clamp(1.25rem,8vw,4rem)}
  .hero-sub{max-width:560px;color:rgba(240,234,214,.66)}
  .svc-grid,.team-grid,.ufg-grid{grid-template-columns:1fr 1fr}
  .panel-grid,.contact-grid{grid-template-columns:1fr;gap:2rem}
  .svc-panel{padding:2rem 1.5rem}
  .fg-row,.ac-steps{grid-template-columns:1fr}
  .portfolio-grid{grid-template-columns:1fr 1fr}
  .book-container{width:100%}
  .book{height:clamp(380px,58vw,470px)}
  .footer-inner{padding:3.25rem 1.5rem 1.5rem}
  .footer-main{grid-template-columns:minmax(0,1.15fr) minmax(180px,.85fr);gap:3rem 2.5rem}
  .footer-contact{grid-column:1/-1}
  .footer-contact a,.footer-location{grid-template-columns:56px minmax(0,1fr)}
}
@media(max-width:1320px) and (min-width:901px){
  #main-nav{padding:.85rem 1.5rem}
  .nav-links{gap:1.15rem}
  .nav-links a{font-size:.72rem;letter-spacing:1.5px;white-space:nowrap}
  .nav-cta{padding:.5rem 1rem;font-size:.78rem}
}

/* ══ MAP ══ */
.map-wrap{display:grid;grid-template-columns:minmax(260px,.72fr) minmax(0,1.6fr);gap:clamp(1.25rem,3vw,3rem);align-items:stretch;margin-top:2.5rem}
.map-info{display:flex;min-width:0}
.map-address-card{width:100%;min-height:480px;background:var(--s1);border:1px solid var(--border);border-top-color:var(--gold);border-radius:3px;padding:clamp(1.75rem,3vw,2.75rem);display:flex;flex-direction:column;align-items:flex-start;justify-content:center}
.map-address-kicker{display:block;color:var(--gold);font-size:.67rem;font-weight:600;letter-spacing:2.4px;text-transform:uppercase;margin-bottom:1rem}
.map-address-title{font-family:var(--serif);font-size:clamp(1.45rem,2.4vw,2rem);font-weight:500;color:var(--text);line-height:1.1;margin-bottom:1rem}
.map-address-val{font-size:1rem;color:var(--muted);line-height:1.75;margin-bottom:1.1rem}
.map-address-note{max-width:28ch;color:var(--muted2);font-size:.85rem;line-height:1.6;margin-bottom:1.6rem}
.map-dir-btn{display:inline-flex;align-items:center;gap:.65rem;background:var(--gold);color:#080808;border:1px solid var(--gold);padding:.72rem 1.2rem;font-family:var(--sans);font-size:.73rem;font-weight:700;letter-spacing:1.8px;text-transform:uppercase;cursor:pointer;border-radius:2px;transition:background .2s,color .2s;text-decoration:none}
.map-dir-btn:hover,.map-dir-btn:focus-visible{background:var(--gold2);color:#080808}
#map-canvas-wrap{height:480px;min-height:480px;position:relative;z-index:5;overflow:hidden;background:var(--s1);border:1px solid var(--border);border-radius:3px}
.studio-map-frame{width:100%;height:100%;display:block;border:0;filter:grayscale(1) contrast(1.04) brightness(.78);transition:filter .35s ease}
.studio-map-shell:hover .studio-map-frame,.studio-map-shell:focus-within .studio-map-frame{filter:grayscale(.25) contrast(1) brightness(.92)}
.studio-map-link{position:absolute;right:1rem;bottom:1rem;display:inline-flex;align-items:center;gap:.55rem;padding:.7rem .9rem;background:#0a0a0a;color:var(--text);border:1px solid var(--gold3);border-radius:2px;font-size:.68rem;font-weight:600;letter-spacing:1.5px;text-transform:uppercase;text-decoration:none;box-shadow:0 8px 24px rgba(0,0,0,.32);transition:border-color .2s,color .2s}
.studio-map-link:hover,.studio-map-link:focus-visible{border-color:var(--gold);color:var(--gold)}
/* ══ GIFT CARD ══ */
.gift-grid{display:grid;grid-template-columns:1fr 1fr;gap:3rem;margin-top:2.5rem;align-items:center}
.gift-visual{background:var(--s1);border:1px solid var(--border);border-radius:8px;padding:2.5rem;display:flex;align-items:center;justify-content:center}
.gc3d{width:320px;height:190px;transition:transform .25s ease;cursor:pointer}
.gc3d:hover{transform:translateY(-3px)}
.gc-face{width:100%;height:100%;border-radius:3px;background:#18130c;border:1px solid var(--gold3);display:flex;flex-direction:column;justify-content:space-between;padding:1.5rem;position:relative;overflow:hidden;box-shadow:6px 6px 0 #050505}
.gc-shine,.gc-pattern,.gc-pattern::before{display:none}
.gc-logo-row{display:flex;align-items:center;gap:0.6rem;position:relative;z-index:1}
.gc-logo-img{width:32px;height:32px;object-fit:contain}
.gc-logo{font-family:var(--serif);font-size:1.15rem;font-weight:600;color:var(--gold);letter-spacing:1px;position:relative;z-index:1}
.gc-logo span{display:block;font-family:var(--sans);font-size:0.64rem;letter-spacing:4px;text-transform:uppercase;color:var(--muted);margin-top:2px}
.gc-bottom{display:flex;justify-content:space-between;align-items:flex-end;position:relative;z-index:1}
.gc-lbl{font-family:var(--sans);font-size:0.68rem;letter-spacing:3px;text-transform:uppercase;color:var(--muted)}
.gc-val{font-family:var(--serif);font-size:1.5rem;font-weight:300;color:var(--gold)}
.gift-info{display:flex;flex-direction:column;gap:1.2rem}
.gift-info h3{font-family:var(--serif);font-size:1.6rem;font-weight:300;color:var(--text);line-height:1.2}
.gift-info h3 em{color:var(--gold);font-style:italic}
.gift-info p{font-size:0.98rem;color:var(--muted);line-height:1.8;font-weight:300}
.gift-amounts{display:flex;gap:0.6rem;flex-wrap:wrap;margin-top:0.3rem}
.ga-btn{background:var(--s2);border:1px solid var(--border);color:var(--muted);padding:0.5rem 1rem;font-family:var(--sans);font-size:0.92rem;border-radius:2px;cursor:pointer;transition:all 0.2s;position:relative;z-index:1}
.ga-btn:hover,.ga-btn.active{border-color:var(--gold);color:var(--gold);background:var(--golddim)}
.gift-buy-btn{background:var(--gold);color:#080808;border:none;padding:0.9rem 2rem;font-family:var(--sans);font-size:0.89rem;font-weight:600;letter-spacing:2px;text-transform:uppercase;cursor:pointer;border-radius:2px;transition:background 0.2s;width:100%;position:relative;z-index:1}
.gift-buy-btn:hover{background:var(--gold2)}
.gift-note{font-size:0.82rem;color:var(--muted2);text-align:center;margin-top:0.5rem}
@media(max-width:900px){
  .map-wrap,.gift-grid{grid-template-columns:1fr}
  .map-address-card{min-height:0}
  #map-canvas-wrap{height:360px;min-height:360px}
  .gc3d{width:100%;max-width:290px}
}

/* ── DUAL DISCIPLINE SPLIT ── */
.disc-section-head{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(320px,.7fr);align-items:end;gap:clamp(3rem,8vw,8rem);width:min(100%,1180px);margin:0 auto}
.disc-section-head .sec-title{margin-bottom:0}
.disc-section-head .sec-body{justify-self:end;max-width:440px;padding-left:2rem;border-left:1px solid var(--border)}
.discipline-split{position:relative;display:flex;width:min(100%,1180px);margin:4.25rem auto 0;border:1px solid var(--border);border-radius:3px;background:var(--s1);overflow:visible}
.discipline-panel{position:relative;isolation:isolate;flex:1 1 0;min-width:0;min-height:490px;overflow:hidden;padding:clamp(2.2rem,4vw,3.6rem);display:flex;flex-direction:column;background:#11100e;transition:border-color .25s ease}
.discipline-panel:first-child{border-right:1px solid var(--border)}
.discipline-panel::before,.discipline-panel::after{display:none}
.discipline-panel--tattoo::before{color:rgba(201,168,76,.045)}
.discipline-panel--tattoo{background:#11100e}
.discipline-panel--piercing::before{color:rgba(201,168,76,.045)}
.discipline-panel--piercing{background:#11100e}
.discipline-panel:hover{flex-grow:1}
.discipline-index{display:flex;align-items:center;gap:.75rem;margin-bottom:auto;font-size:.72rem;font-weight:600;letter-spacing:2.4px;color:var(--gold)}
.discipline-index::after{content:'';width:34px;height:1px;background:currentColor;opacity:.55}
.discipline-index span{font-weight:400;text-transform:uppercase;color:var(--muted)}
.discipline-panel--piercing .discipline-index{color:var(--gold)}
.discipline-panel h3{margin:4rem 0 1rem;font-family:var(--serif);font-size:clamp(3.2rem,5vw,5rem);font-weight:400;line-height:.9;letter-spacing:-.035em;color:var(--text)}
.discipline-panel>p{max-width:500px;margin:0 0 2rem;color:var(--muted);font-size:.95rem;font-weight:300;line-height:1.75}
.discipline-specialties{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 1.6rem;margin-bottom:2rem}
.discipline-specialties span{padding:.72rem 0;border-top:1px solid var(--border);color:var(--muted);font-size:.8rem;line-height:1.45}
.discipline-link{display:inline-flex;align-items:center;justify-content:space-between;gap:2rem;width:max-content;max-width:100%;margin-top:auto;padding:.8rem 0;border-bottom:1px solid currentColor;color:var(--gold);font-size:.72rem;font-weight:600;letter-spacing:2px;text-transform:uppercase;text-decoration:none;transition:gap .25s ease,color .25s ease}
.discipline-panel--piercing .discipline-link{color:var(--gold)}
.discipline-link:hover{gap:2.5rem;color:var(--gold2)}
.discipline-panel--piercing .discipline-link:hover{color:var(--gold2)}
.discipline-shared-stat{position:absolute;z-index:5;left:50%;top:0;transform:translate(-50%,-50%);display:flex;align-items:center;gap:.7rem;padding:.65rem 1rem;background:#0a0908;border:1px solid rgba(201,168,76,.34);border-radius:2px}
.discipline-shared-stat strong{font-family:var(--serif);font-size:1.65rem;font-weight:500;line-height:1;color:var(--gold)}
.discipline-shared-stat span{font-size:.57rem;letter-spacing:1.7px;text-transform:uppercase;color:var(--muted);line-height:1.35}
.artists-block{width:min(100%,1180px);margin:4rem auto 0;padding-top:3.5rem;border-top:1px solid var(--border)}
.artists-intro{width:min(100%,1080px);margin:0 auto}
.artists-title{font-family:var(--serif);font-size:1.55rem;font-weight:400;color:var(--text);line-height:1.2;margin-bottom:.35rem}
.artists-copy{font-size:.93rem;color:var(--muted);font-weight:300;margin-bottom:1.5rem}

/* ── CAREERS / POSITIONS ── */
.careers-shell{position:relative;z-index:1;width:min(100%,1280px);margin:0 auto}
.careers-intro-grid{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(340px,.92fr);gap:clamp(2rem,4vw,4rem);margin-bottom:3.25rem;align-items:start}
.position-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.1rem;margin-top:1.5rem}
#careers{overflow:clip}
.position-card{background:var(--s1);border:1px solid var(--border);border-radius:3px;overflow:hidden;transition:border-color .25s;display:flex;flex-direction:column}
.position-card:hover{border-color:var(--gold3)}
.position-header{padding:1.3rem 1.4rem .9rem;border-bottom:1px solid var(--border);display:flex;justify-content:space-between;align-items:flex-start;gap:.8rem}
.position-title{font-family:var(--serif);font-size:1.13rem;font-weight:600;color:var(--text);margin-bottom:.2rem}
.position-type{font-size:0.76rem;letter-spacing:2px;text-transform:uppercase;color:var(--gold)}
.position-badge{font-size:0.72rem;letter-spacing:1.5px;text-transform:uppercase;padding:.2rem .5rem;border-radius:2px;background:var(--golddim);border:1px solid var(--gold3);color:var(--gold);white-space:nowrap;flex-shrink:0;margin-top:2px}
.position-body{padding:1.1rem 1.4rem;display:flex;flex-direction:column;flex:1}
.position-desc{font-size:0.94rem;color:var(--muted);line-height:1.7;margin-bottom:.9rem;font-weight:300}
.position-reqs{display:flex;flex-direction:column;gap:.28rem;margin-bottom:1.1rem;flex:1}
.position-req{font-size:0.88rem;color:var(--muted);display:flex;align-items:flex-start;gap:.45rem;line-height:1.5}
.position-req::before{content:'·';color:var(--gold);flex-shrink:0;font-size:1.08rem;line-height:1.2}
.position-apply-btn{width:100%;background:var(--gold);color:#080808;border:none;padding:.72rem;font-family:var(--sans);font-size:0.82rem;font-weight:600;letter-spacing:2px;text-transform:uppercase;cursor:pointer;border-radius:0 0 2px 2px;transition:background .2s;margin-top:auto;position:relative;z-index:1}
.position-apply-btn:hover{background:var(--gold2)}

/* ── APPRENTICESHIPS ── */
.apprentice-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.2rem;margin-top:1.5rem}
.apprentice-card{background:var(--s1);border:1px solid var(--border);border-radius:3px;overflow:hidden}
.apprentice-header{background:var(--s2);padding:1.2rem 1.4rem;border-bottom:1px solid var(--border);border-left:3px solid var(--gold);display:flex;align-items:center;gap:.8rem}
.apprentice-icon{font-size:1.4rem;flex-shrink:0}
.apprentice-title{font-family:var(--serif);font-size:1.08rem;font-weight:600;color:var(--text)}
.apprentice-duration{font-size:0.74rem;letter-spacing:2px;text-transform:uppercase;color:var(--gold);margin-top:2px}
.apprentice-body{padding:1.2rem 1.4rem}
.apprentice-desc{font-size:0.94rem;color:var(--muted);line-height:1.75;margin-bottom:.9rem;font-weight:300}
.apprentice-perks{display:flex;flex-direction:column;gap:.32rem;margin-bottom:1rem}
.apprentice-perk{font-size:0.88rem;color:var(--muted);display:flex;align-items:flex-start;gap:.45rem;line-height:1.45}
.apprentice-perk::before{content:'';width:8px;height:1px;background:var(--gold);flex-shrink:0;margin-top:.72em}
.apprentice-callout{font-size:0.88rem;color:var(--muted);background:var(--golddim);border:1px solid var(--gold3);border-radius:3px;padding:.75rem .9rem;margin-bottom:1rem;line-height:1.65;font-weight:300}
.apprentice-callout strong{color:var(--gold);font-weight:500}
.apprentice-btn{width:100%;background:transparent;border:none;border-top:1px solid var(--border);color:var(--gold);font-family:var(--sans);font-size:0.8rem;letter-spacing:2px;text-transform:uppercase;padding:.72rem;cursor:pointer;transition:background .2s;position:relative;z-index:1}
.apprentice-btn:hover{background:var(--golddim)}
.talent-section{margin-top:4rem;padding-top:3.5rem;border-top:1px solid var(--border)}
.talent-grid{grid-template-columns:minmax(300px,.76fr) minmax(480px,1.24fr);gap:1.25rem;max-width:none}
.talent-process{position:sticky;top:96px;align-self:start;padding:1.8rem;background:var(--s1);border:1px solid var(--border);border-top:2px solid var(--gold);border-radius:3px}
.talent-grid .form-box{background:var(--s1);padding:clamp(1.5rem,2.5vw,2.25rem)}

/* ── APPLY MODAL ── */
#apply-modal{display:none;position:fixed;inset:0;background:rgba(0,0,0,.96);z-index:700;align-items:center;justify-content:center}
#apply-modal.open{display:flex}
.apply-modal-inner{background:var(--s1);border:1px solid var(--border);border-top:2px solid var(--gold);border-radius:3px;width:100%;max-width:540px;max-height:92vh;overflow-y:auto;margin:1rem}
.apply-modal-header{padding:1.4rem 1.8rem 1rem;border-bottom:1px solid var(--border);display:flex;justify-content:space-between;align-items:center;position:sticky;top:0;background:var(--s1);z-index:5}
.apply-modal-title{font-family:var(--serif);font-size:1.3rem;font-weight:600;color:var(--text)}
.apply-modal-sub{font-size:0.78rem;letter-spacing:2px;text-transform:uppercase;color:var(--gold);margin-top:3px}
.apply-modal-close{background:transparent;border:1px solid var(--border);color:var(--muted);width:32px;height:32px;border-radius:50%;cursor:pointer;font-size:0.98rem;display:flex;align-items:center;justify-content:center;transition:all .2s;flex-shrink:0;position:relative;z-index:1}
.apply-modal-close:hover{border-color:var(--gold);color:var(--gold)}
.apply-form-body{padding:1.4rem 1.8rem}
.apply-success{display:none;padding:2.5rem 1.8rem;text-align:center}
.apply-success p{font-family:var(--serif);font-size:1.2rem;color:var(--gold);margin-bottom:.4rem}
.apply-success span{font-size:0.93rem;color:var(--muted)}

@media(max-width:900px){
  .position-grid,.apprentice-grid,.careers-intro-grid{grid-template-columns:1fr}
  .disc-section-head{grid-template-columns:1fr;align-items:start;gap:1.4rem}
  .disc-section-head .sec-body{justify-self:start;max-width:560px;padding:1.25rem 0 0;border-left:0;border-top:1px solid var(--border)}
  .discipline-split{flex-direction:column;margin-top:3.75rem}
  .discipline-panel{flex:0 0 auto;min-height:0;overflow:visible}
  .discipline-panel:first-child{border-right:0;border-bottom:1px solid var(--border)}
  .discipline-panel:hover{flex-grow:1}
  .talent-grid{grid-template-columns:1fr}
  .talent-process{position:static}
}

/* ── HERO DISCIPLINE RAIL ── */
.hero-disciplines-section{position:relative;z-index:5;padding:0 clamp(1.5rem,3vw,3rem);background:var(--bg);border-bottom:1px solid var(--border)}
.hero-disciplines{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));width:min(100%,1380px);margin:0 auto;border-left:1px solid var(--border);border-right:1px solid var(--border)}
.hero-disc-card{position:relative;min-width:0;min-height:220px;display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-rows:auto 1fr;gap:1.4rem 2rem;padding:clamp(1.8rem,3vw,2.7rem);background:var(--s1);color:var(--gold);text-decoration:none;overflow:hidden;transition:background .25s ease}
.hero-disc-card:first-child{border-right:1px solid var(--border)}
.hero-disc-card::after{content:'';position:absolute;left:0;bottom:0;width:0;height:1px;background:currentColor;transition:width .35s cubic-bezier(.22,1,.36,1)}
.hero-disc-card:hover,.hero-disc-card:focus-visible{background:var(--s2)}
.hero-disc-card:hover::after,.hero-disc-card:focus-visible::after{width:100%}
.hero-disc-card--piercing{color:var(--gold)}
.hero-disc-index{grid-column:1/-1;display:flex;align-items:center;gap:.75rem;font-size:.64rem;font-weight:600;letter-spacing:2.1px;text-transform:uppercase;color:currentColor}
.hero-disc-index span:first-child{color:var(--muted2)}
.hero-disc-index span:first-child::after{content:'';display:inline-block;width:25px;height:1px;margin:0 0 .2em .75rem;background:currentColor;opacity:.65}
.hero-disc-main{display:flex;align-items:center;gap:1.25rem;min-width:0;color:currentColor}
.hero-disc-icon{width:38px;height:38px;flex:0 0 auto;color:currentColor}
.hero-disc-main h2{font-family:var(--serif);font-size:clamp(2.2rem,3.2vw,3.25rem);font-weight:400;line-height:.9;letter-spacing:-.025em;color:var(--text);margin-bottom:.55rem}
.hero-disc-main p{max-width:420px;color:var(--muted);font-size:.8rem;font-weight:300;line-height:1.6}
.hero-disc-stat{align-self:end;min-width:86px;color:currentColor;text-align:right}
.hero-disc-stat strong{display:block;font-family:var(--serif);font-size:2rem;font-weight:400;line-height:.9}
.hero-disc-stat span{display:block;margin-top:.45rem;color:var(--muted);font-size:.57rem;font-weight:600;letter-spacing:1.6px;text-transform:uppercase;white-space:nowrap}
.hero-disc-arrow{position:absolute;right:1.1rem;top:1rem;color:var(--muted2);font-size:1rem;transition:transform .25s,color .25s}
.hero-disc-card:hover .hero-disc-arrow,.hero-disc-card:focus-visible .hero-disc-arrow{color:currentColor;transform:translateX(4px)}

@media(max-width:780px){
  .hero-disciplines-section{padding:0 1.25rem}
  .hero-disciplines{grid-template-columns:1fr}
  .hero-disc-card{min-height:190px;padding:1.65rem 1.5rem}
  .hero-disc-card:first-child{border-right:0;border-bottom:1px solid var(--border)}
  .hero-disc-main p{max-width:460px}
}

/* ── TEAM / ARTIST CARDS ── */
.team-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.2rem;width:min(100%,1080px);margin:1.5rem auto 0}
.team-card{background:var(--s1);border:1px solid var(--border);border-radius:3px;overflow:hidden;cursor:pointer;transition:border-color .2s,transform .2s;text-align:center;padding-top:1.6rem}
.team-card:hover{border-color:var(--gold3);transform:translateY(-3px)}
.team-photo{width:140px;height:140px;border-radius:50%;overflow:hidden;border:1px solid var(--gold3);margin:0 auto 1.1rem;background:var(--s2)}
.team-photo img{width:100%;height:100%;object-fit:cover;object-position:center top;display:block;filter:grayscale(100%)}
.team-info{padding:1.1rem .9rem}
.team-name{font-family:var(--serif);font-size:1.13rem;font-weight:600;color:var(--text);margin-bottom:.15rem}
.team-role{font-size:0.76rem;letter-spacing:2px;text-transform:uppercase;color:var(--gold);margin-bottom:.5rem}
.team-styles{font-size:0.85rem;color:var(--muted);line-height:1.5;margin-bottom:.7rem;font-weight:300}
.team-work-preview{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:3px;height:92px;margin:.95rem -.9rem .65rem;overflow:hidden;background:var(--border)}
.team-work-preview img{width:100%;height:100%;object-fit:cover;display:block;filter:saturate(.78) brightness(.82);transition:filter .35s ease,transform .5s cubic-bezier(.22,1,.36,1)}
.team-card:hover .team-work-preview img{filter:saturate(1) brightness(1);transform:scale(1.045)}
.team-work-count{margin-bottom:.55rem;color:var(--muted2);font-size:.65rem;font-weight:600;letter-spacing:1.8px;text-transform:uppercase}
.team-cta{font-size:0.78rem;letter-spacing:2px;text-transform:uppercase;color:var(--gold3);transition:color .2s}
.team-card:hover .team-cta{color:var(--gold)}
@media(max-width:900px){
  .team-grid{grid-template-columns:1fr 1fr}
  .team-grid>.team-card:last-child:nth-child(odd){grid-column:1/-1;width:calc(50% - .6rem);justify-self:center}
}

/* ── SELECTED WORK ── */
.selected-work-section{position:relative;overflow:hidden;background:var(--bg)}
.selected-work-head{display:grid;grid-template-columns:minmax(0,1fr) minmax(320px,.72fr);align-items:end;gap:clamp(3rem,8vw,8rem);width:min(100%,1180px);margin:0 auto 3rem}
.selected-work-head .sec-title{margin-bottom:0}
.selected-work-head .sec-body{justify-self:end;max-width:460px;padding-left:2rem;border-left:1px solid var(--border)}
.selected-work-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;width:min(100%,1180px);margin:0 auto}
.work-card{position:relative;display:flex;flex-direction:column;min-width:0;padding:0;overflow:hidden;border:1px solid var(--border);border-radius:3px;background:var(--s1);color:var(--text);cursor:pointer;text-align:left;transition:transform .25s ease,border-color .25s}
.work-card::after{display:none}
.work-card img{width:100%;height:auto;aspect-ratio:2/3;object-fit:cover;display:block;transition:transform .5s cubic-bezier(.22,1,.36,1),filter .3s ease;filter:saturate(.9) contrast(1.03)}
.work-card:hover{transform:translateY(-3px);border-color:var(--gold3)}
.work-card:hover img{transform:scale(1.035);filter:saturate(1.05) contrast(1.02)}
.work-card-meta{position:static;display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.85rem 1rem;background:#0b0b0b;border-top:1px solid var(--border)}
.work-card-meta strong{font-family:var(--serif);font-size:1.12rem;font-weight:600;color:var(--text)}
.work-card-meta span{font-size:.62rem;font-weight:600;letter-spacing:2px;text-transform:uppercase;color:var(--gold)}

@media(max-width:900px){
  .selected-work-head{grid-template-columns:1fr;align-items:start;gap:1.4rem;margin-bottom:2.25rem}
  .selected-work-head .sec-body{justify-self:start;max-width:560px;padding:1.25rem 0 0;border-left:0;border-top:1px solid var(--border)}
  .selected-work-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.85rem}
}

@media(prefers-reduced-motion:reduce){
  *{animation-duration:0.01ms!important;animation-iteration-count:1!important;transition-duration:0.01ms!important;scroll-behavior:auto!important}
  .page-turner,.page-turn-underlay{display:none!important}
  .hero-media video{display:none!important}
}

/* ── KEYBOARD FOCUS STATES ── */
a:focus-visible,button:focus-visible,[data-action]:focus-visible,
.team-card:focus-visible,.svc-card:focus-visible,.position-card:focus-visible,
input:focus-visible,select:focus-visible,textarea:focus-visible{
  outline:2px solid var(--gold);outline-offset:2px;border-radius:2px
}
.team-card:focus-visible,.svc-card:focus-visible{outline-offset:-2px}

/* ── QUIET LINE ICONS + SCROLL REVEALS ── */
.ui-line-icon{display:inline-flex;align-items:center;justify-content:center;width:1.35rem;height:1.35rem;color:var(--gold)}
.ui-line-icon svg{width:100%;height:100%;fill:none;stroke:currentColor;stroke-width:1.45;stroke-linecap:round;stroke-linejoin:round}
.apprentice-icon .ui-line-icon{width:1.5rem;height:1.5rem}
.ac-warning-icon .ui-line-icon{width:1.2rem;height:1.2rem;color:var(--gold)}

.motion-ready .reveal{
  opacity:0;
  filter:blur(12px);
  translate:0 14px;
  transition:opacity .55s cubic-bezier(.22,1,.36,1),filter .68s cubic-bezier(.22,1,.36,1),translate .55s cubic-bezier(.22,1,.36,1);
  transition-delay:var(--reveal-delay,0ms);
  will-change:opacity,filter,translate;
}
.motion-ready .reveal.is-visible{opacity:1;filter:blur(0);translate:0 0}
.btn-gold,.btn-outline,.nav-cta,.position-apply-btn,.apprentice-btn,.form-btn,.sq-btn,.gift-buy-btn{
  transition:background .2s,color .2s,border-color .2s,transform .24s cubic-bezier(.22,1,.36,1);
}
.btn-gold:hover,.btn-outline:hover,.nav-cta:hover,.position-apply-btn:hover,.apprentice-btn:hover,.form-btn:hover,.sq-btn:hover,.gift-buy-btn:hover{transform:translateY(-2px)}

@media(prefers-reduced-motion:reduce){
  .motion-ready .reveal{opacity:1!important;filter:none!important;translate:none!important}
  .ac-motion-ready .ac-motion-item{opacity:1!important;filter:none!important;translate:none!important}
  #ld-fill{animation-duration:.08s}
  #loader{transition-duration:.1s}
}

@media(max-width:480px){
  .hero h1{font-size:clamp(3.2rem,15vw,4.4rem)}
  .hero-content{padding-top:3.7rem;padding-bottom:8.5rem}
  .hero-address{display:none}
  .sec-title{font-size:1.7rem}
  .hero-btns{flex-direction:column}
  .hero-btns a,.hero-btns button{width:100%;text-align:center}
  .position-grid,.apprentice-grid{gap:.8rem}
  .nav-cta{padding:.45rem .8rem;font-size:0.78rem}
  .nav-logo .nav-brand{font-size:0.98rem}
  .book{height:330px}
  .page-left,.page-right,.page-turn-underlay,.page-turner-front,.page-turner-back{padding:.65rem}
  .page-img{min-height:100px}
  .page-img-ph span{font-size:.58rem;letter-spacing:1px}
  .flash-label{font-size:.84rem}
  .flash-style{font-size:.62rem;letter-spacing:1.2px}
  .flash-avail{font-size:.68rem}
  .book-spine{width:20px}
  .book-spine-text{font-size:.66rem;letter-spacing:2px}
}
@media(min-width:1200px){
  .position-grid{grid-template-columns:repeat(3,1fr)}
}
/* Navigation and dialog polish */
.nav-actions{display:flex;align-items:center;gap:.65rem}
.nav-toggle{display:none;width:42px;height:42px;padding:0;border:1px solid var(--border);border-radius:2px;background:transparent;align-items:center;justify-content:center;flex-direction:column;gap:5px;cursor:pointer;color:var(--gold)}
.nav-toggle span{display:block;width:18px;height:1px;background:currentColor;transition:transform .25s ease,opacity .2s ease}
.nav-toggle[aria-expanded="true"] span:nth-child(1){transform:translateY(6px) rotate(45deg)}
.nav-toggle[aria-expanded="true"] span:nth-child(2){opacity:0}
.nav-toggle[aria-expanded="true"] span:nth-child(3){transform:translateY(-6px) rotate(-45deg)}
.nav-scrim{position:fixed;z-index:99;inset:0;display:block;width:100%;height:100%;padding:0;background:rgba(0,0,0,.4);border:0;opacity:0;visibility:hidden;pointer-events:none;-webkit-backdrop-filter:blur(11px);backdrop-filter:blur(11px);transition:opacity .3s ease,visibility 0s linear .3s}
body.nav-open .nav-scrim{opacity:1;visibility:visible;pointer-events:auto;transition-delay:0s}
section[id]{scroll-margin-top:88px}

#portfolio-modal,#lightbox,#apply-modal,#claim-modal,#artist-booking-modal{opacity:0;visibility:hidden;pointer-events:none;transition:opacity .24s ease,visibility 0s linear .24s}
#portfolio-modal{display:block}
#lightbox,#apply-modal,#claim-modal,#artist-booking-modal{display:flex}
#portfolio-modal.open,#lightbox.open,#apply-modal.open,#claim-modal.open,#artist-booking-modal.open{opacity:1;visibility:visible;pointer-events:auto;transition-delay:0s}
.portfolio-inner,.apply-modal-inner,#lightbox-inner,.claim-modal-card,.artist-booking-card{transition:transform .32s cubic-bezier(.22,1,.36,1)}
#portfolio-modal:not(.open) .portfolio-inner{transform:translateY(18px)}
#apply-modal:not(.open) .apply-modal-inner{transform:translateY(14px) scale(.985)}
#lightbox:not(.open) #lightbox-inner{transform:scale(.985)}
#claim-modal:not(.open) .claim-modal-card{transform:translateY(14px) scale(.985)}
#artist-booking-modal:not(.open) .artist-booking-card{transform:translateY(14px) scale(.985)}

@media(max-width:1100px){
  #main-nav{padding:.8rem 1rem;overflow:visible}
  .nav-logo{position:relative;z-index:3}
  .nav-actions{margin-left:auto}
  .nav-toggle{display:flex;position:relative;z-index:6}
  .nav-links{
    display:flex;position:fixed;z-index:5;top:0;bottom:0;left:auto;right:0;flex-direction:column;gap:0;
    width:min(86vw,390px);height:100vh;height:100dvh;max-height:none;overflow-y:auto;
    padding:6.5rem 1.5rem 2rem;background:#080808;border-left:1px solid var(--border);
    box-shadow:-18px 0 50px rgba(0,0,0,.34);visibility:hidden;transform:translateX(102%);pointer-events:none;
    transition:transform .4s cubic-bezier(.22,1,.36,1),visibility 0s linear .4s;
    overscroll-behavior:contain
  }
  .nav-links.is-open{visibility:visible;transform:translateX(0);pointer-events:auto;transition-delay:0s}
  .nav-links li{width:100%;border-bottom:1px solid rgba(201,168,76,.12);opacity:0;transform:translateX(16px);transition:opacity .25s ease,transform .35s cubic-bezier(.22,1,.36,1)}
  .nav-links.is-open li{opacity:1;transform:translateX(0)}
  .nav-links.is-open li:nth-child(1){transition-delay:.08s}.nav-links.is-open li:nth-child(2){transition-delay:.11s}.nav-links.is-open li:nth-child(3){transition-delay:.14s}.nav-links.is-open li:nth-child(4){transition-delay:.17s}.nav-links.is-open li:nth-child(5){transition-delay:.2s}.nav-links.is-open li:nth-child(6){transition-delay:.23s}.nav-links.is-open li:nth-child(7){transition-delay:.26s}.nav-links.is-open li:nth-child(8){transition-delay:.29s}
  .nav-links li:last-child{border-bottom:0}
  .nav-links a{display:block;padding:.9rem .25rem;font-family:var(--serif);font-size:clamp(1.65rem,7vw,2.25rem);font-weight:400;line-height:1.05;letter-spacing:0;text-transform:none;color:var(--text)}
  .nav-links a:hover,.nav-links a:focus-visible{color:var(--gold)}
  body.nav-open{position:fixed;left:0;right:0;width:100%;overflow:hidden!important;overscroll-behavior:none}
}

@media(max-width:900px){
  .portfolio-inner{padding:1.5rem 1rem calc(6.5rem + env(safe-area-inset-bottom))}
  .artwork-close-float{top:max(1rem,env(safe-area-inset-top));right:1rem}
  #lightbox-inner{padding:1rem}
  #lb-content,.lb-placeholder{min-width:0;min-height:260px}
  .lb-nav{top:auto;bottom:1rem;transform:none}
  #lb-prev{left:1rem}#lb-next{right:1rem}
  .lb-footer{bottom:4.75rem;left:1rem;right:1rem;transform:none;max-width:none;justify-content:center}
  .lb-caption{max-width:100%;font-size:.65rem;letter-spacing:1.35px;text-align:center}
  .artist-book-float{bottom:1rem;height:42px;padding:0 .55rem 0 .85rem;font-size:.61rem;letter-spacing:1.25px;white-space:nowrap}
  .book-artist-arrow{width:25px;height:25px}
  #artist-booking-modal{align-items:flex-end;padding:0}
  .artist-booking-card{width:100%;max-height:92vh;border-right:0;border-bottom:0;border-left:0;border-radius:3px 3px 0 0;box-shadow:0 -14px 36px rgba(0,0,0,.48)}
  .artist-booking-header{padding:1.1rem 1.15rem .95rem}
  .artist-booking-body{padding:1rem 1.15rem 1.25rem}
  .artist-booking-grid{grid-template-columns:1fr;gap:0}
}

@media(max-width:420px){
  .nav-cta{display:none}
  .nav-brand span{letter-spacing:2px}
}

@media(max-width:600px){
  section[id]{scroll-margin-top:104px}
  .svc-panel{padding:1.25rem .75rem 1.5rem}
  #panel-t .panel-grid{gap:1.35rem}
  #panel-t .form-box{padding:1.15rem}
  #panel-t .form-box h4{margin-bottom:1rem;font-size:1.12rem}
  #panel-t .fg{margin-bottom:.82rem}
  #panel-t .fg-row{grid-template-columns:repeat(2,minmax(0,1fr));gap:.65rem}
  #panel-t .fg label{margin-bottom:.35rem;font-size:.69rem;letter-spacing:1.6px}
  #panel-t .fg input,#panel-t .fg select,#panel-t .fg textarea{min-height:46px;padding:.62rem .72rem;font-size:.9rem}
  #contact .sec-body{font-size:.9rem;line-height:1.72}
  #contact .info-list{margin-top:1.6rem}
  #contact .info-row{gap:1rem;padding:.82rem 0}
  #contact .info-lbl{min-width:68px;padding-top:1px;font-size:.67rem;letter-spacing:1.6px}
  #contact .info-val,#contact .info-val a{min-width:0;font-size:.84rem;line-height:1.55;overflow-wrap:anywhere}
  #contact .info-note{font-size:.68rem}
  .hero-disciplines-section{padding:0 1rem}
  .hero-disciplines{grid-template-columns:1fr}
  .hero-disc-card{min-height:195px;padding:1.55rem 1.35rem}
  .hero-disc-card:first-child{border-right:0;border-bottom:1px solid var(--border)}
  .hero-disc-main{gap:1rem}
  .hero-disc-main h2{font-size:2.35rem}
  .hero-disc-main p{font-size:.74rem}
  .hero-disc-stat{min-width:72px}
  .hero-disc-stat strong{font-size:1.75rem}
  .svc-grid,.team-grid{grid-template-columns:1fr}
  .svc-card{min-height:auto;padding:1.75rem 1.5rem}
  .team-grid>.team-card:last-child:nth-child(odd){grid-column:auto;width:100%}
  .discipline-panel{min-height:auto;padding:2.2rem 1.35rem}
  .discipline-panel h3{margin:3.25rem 0 1rem;font-size:3.15rem}
  .discipline-specialties{grid-template-columns:1fr;gap:0}
  .discipline-link{width:100%}
  .discipline-shared-stat{padding:.55rem .85rem}
  .artists-block{margin-top:3rem;padding-top:2.5rem}
  .footer-inner{padding:3rem 1.15rem 1.35rem}
  .footer-main{grid-template-columns:1fr;gap:2.75rem}
  .footer-identity{max-width:none}
  .footer-instagram{width:100%}
  .footer-nav{padding:0}
  .footer-links{grid-template-columns:repeat(2,minmax(0,1fr));gap:.8rem 1.25rem}
  .footer-contact{grid-column:auto}
  .footer-contact a,.footer-location{grid-template-columns:52px minmax(0,1fr)}
  .footer-bottom{flex-direction:column;margin-top:2.75rem;gap:.35rem}
  .reviews-splide:not(.is-initialized) .splide__list{grid-template-columns:1fr}
  .review-card{min-height:250px;padding:1.45rem}
  .reviews-splide .splide__pagination{display:none}
  .reviews-toggle{left:0;transform:none;text-align:left;padding-left:0}
  #claim-modal{align-items:flex-end;padding:0}
  .claim-modal-card{width:100%;max-height:92vh;border-right:0;border-bottom:0;border-left:0}
  .claim-modal-header{padding:1.15rem 1.1rem 1rem}
  .claim-modal-body{padding:1.1rem}
  .claim-form-grid,.claim-contact-actions{grid-template-columns:1fr}
}

@media(max-width:360px){
  #panel-t .fg-row{grid-template-columns:1fr}
}

@media(prefers-reduced-motion:reduce){
  #main-nav,.nav-links,.nav-links li,.nav-scrim,.nav-toggle span,#portfolio-modal,#lightbox,#apply-modal,#claim-modal,#artist-booking-modal,.portfolio-inner,.apply-modal-inner,#lightbox-inner,.claim-modal-card,.artist-booking-card{transition:none!important}
}
