@font-face{font-family:Abril;src:url('assets/abril.woff2') format('woff2');font-display:swap}
@font-face{font-family:Space;src:url('assets/space.woff2') format('woff2');font-display:swap}
@font-face{font-family:Lato;src:url('assets/lato.woff2') format('woff2');font-display:swap}
:root{--ink:#090807;--charcoal:#151311;--cream:#f4efe7;--cream2:#ebe3d8;--muted:#6e675f;--gold:#a87337;--line:rgba(168,115,55,.35);--white:#fff;--max:1440px}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--cream);color:var(--ink);font-family:Lato,system-ui,sans-serif;line-height:1.55}a{color:inherit;text-decoration:none}img,video{display:block;max-width:100%}.site-header{position:fixed;inset:0 0 auto 0;height:78px;z-index:10;display:grid;grid-template-columns:auto 1fr auto;gap:40px;align-items:center;padding:0 clamp(20px,4vw,52px);color:#fff;background:linear-gradient(to bottom,rgba(0,0,0,.72),rgba(0,0,0,.26),transparent);letter-spacing:.12em;text-transform:uppercase;font:700 12px/1 Space,system-ui}.brand{display:flex;align-items:center;gap:15px;min-width:230px}.brand img{width:34px;height:34px;object-fit:contain}.brand span{font-family:Abril,serif;font-size:24px;letter-spacing:.11em;text-transform:uppercase;line-height:.9}.brand small{display:block;font-family:Space,sans-serif;font-size:11px;letter-spacing:.55em;text-align:center;margin-top:8px}.desktop-nav{display:flex;align-items:center;justify-content:center;gap:42px}.desktop-nav a{padding:31px 0 25px;position:relative}.desktop-nav a.active:after,.desktop-nav a:hover:after{content:"";position:absolute;left:0;right:0;bottom:20px;height:2px;background:var(--gold)}.header-cta,.mobile-cta{border:1px solid var(--line);padding:16px 24px;background:rgba(0,0,0,.28)}.header-cta:hover,.mobile-cta:hover{background:rgba(168,115,55,.18)}.menu-toggle{display:none;background:none;border:1px solid var(--line);color:#fff;padding:12px 14px;text-transform:uppercase;letter-spacing:.12em}.mobile-nav{display:none}
.hero{height:min(760px,76vh);min-height:560px;position:relative;background:#000;overflow:hidden}.hero-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.hero-scrim{position:absolute;inset:0;background:radial-gradient(circle at 50% 45%,rgba(0,0,0,.08),rgba(0,0,0,.48) 58%,rgba(0,0,0,.78)),linear-gradient(to bottom,rgba(0,0,0,.2),rgba(0,0,0,.08) 50%,rgba(0,0,0,.45))}.hero-logo{position:absolute;left:50%;top:52%;transform:translate(-50%,-50%);width:min(430px,42vw);filter:drop-shadow(0 15px 35px rgba(0,0,0,.55))}.scroll-cue{position:absolute;left:50%;bottom:36px;transform:translateX(-50%);color:#fff;display:grid;gap:8px;text-align:center;text-transform:uppercase;letter-spacing:.16em;font:700 12px/1 Space,sans-serif}.scroll-cue span{font-size:28px;color:#fff;font-weight:400;line-height:1}
.about-section{display:grid;grid-template-columns:minmax(280px,520px) 1fr;gap:clamp(44px,7vw,92px);align-items:center;max-width:var(--max);margin:0 auto;padding:clamp(58px,8vw,96px) clamp(22px,5vw,70px)}.eyebrow{margin:0 0 18px;text-transform:uppercase;letter-spacing:.16em;font:700 13px/1 Space,sans-serif;color:var(--gold)}h1,h2,h3{font-family:Abril,Georgia,serif;font-weight:400;letter-spacing:.01em}h1{font-size:clamp(34px,4.2vw,62px);line-height:1.06;margin:0}h2{font-size:clamp(30px,3vw,48px);line-height:1.1;margin:0}h3{margin:0;font-size:24px}.section-copy>p:not(.eyebrow){max-width:470px;color:#322e29}.rule{width:54px;height:2px;background:var(--gold);margin:28px 0}.text-link{display:inline-flex;align-items:center;gap:18px;text-transform:uppercase;letter-spacing:.12em;font:700 12px/1 Space,sans-serif;margin-top:18px;border-bottom:1px solid var(--line);padding-bottom:12px}.studio-panel{background:#12100e;min-height:360px;padding:34px;display:grid;grid-template-columns:.92fr 1fr;gap:22px;align-items:center;box-shadow:0 30px 80px rgba(0,0,0,.12)}.studio-logo-art{width:100%;max-height:340px;object-fit:contain}.studio-thumbs{display:grid;grid-template-columns:1fr 1fr;gap:14px}.studio-thumbs img{aspect-ratio:1/1;object-fit:cover;filter:saturate(.86) contrast(.96)}
.artists-section{background:linear-gradient(180deg,var(--cream2),#f7f3ed);padding:clamp(54px,7vw,90px) clamp(22px,5vw,70px)}.section-heading{max-width:var(--max);margin:0 auto 28px;display:flex;justify-content:space-between;align-items:end;gap:24px}.artist-grid{max-width:var(--max);margin:0 auto;display:grid;grid-template-columns:repeat(12,1fr);gap:12px}.artist-card:nth-child(-n+4){grid-column:span 3}.artist-card:nth-child(n+5){grid-column:span 4}.artist-card a{display:block;position:relative;overflow:hidden;background:#111;min-height:255px}.artist-card img{width:100%;height:100%;position:absolute;inset:0;object-fit:cover;filter:grayscale(1) contrast(1.05) brightness(.74);transition:transform .7s ease,filter .7s ease}.artist-card:hover img{transform:scale(1.045);filter:grayscale(.45) contrast(1.05) brightness(.78)}.artist-overlay{position:absolute;inset:auto 0 0;padding:62px 22px 22px;color:#fff;background:linear-gradient(to top,rgba(0,0,0,.92),rgba(0,0,0,.55),transparent)}.artist-overlay p{margin:0 0 10px;text-transform:uppercase;letter-spacing:.14em;font:700 11px/1 Space,sans-serif;color:var(--gold)}.artist-overlay h3{font-size:20px;text-transform:uppercase;letter-spacing:.08em}.artist-overlay span{display:block;margin-top:14px;text-transform:uppercase;letter-spacing:.12em;font:700 11px/1 Space,sans-serif;color:#fff}
.review-band{background:#100f0d;color:#eee;position:relative;overflow:hidden}.review-band:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 18% 40%,rgba(168,115,55,.14),transparent 32%),linear-gradient(90deg,rgba(0,0,0,.22),rgba(0,0,0,.55))}.review-inner{position:relative;max-width:var(--max);margin:0 auto;display:grid;grid-template-columns:1.35fr .65fr;gap:clamp(36px,6vw,90px);align-items:center;padding:clamp(46px,6vw,78px) clamp(22px,5vw,70px)}.review-quote{display:grid;grid-template-columns:auto 1fr;column-gap:28px;align-items:start}.quote-mark{font-family:Abril,serif;font-size:104px;line-height:.72;margin:0;color:var(--gold);opacity:.82}.review-quote blockquote{font-family:Abril,serif;font-size:clamp(25px,2.5vw,42px);line-height:1.2;margin:0;max-width:760px}.reviewer{grid-column:2;color:var(--gold);letter-spacing:.12em;text-transform:uppercase;font:700 12px/1 Space,sans-serif;margin:24px 0 0}.rating-panel{border-left:1px solid rgba(255,255,255,.18);padding-left:clamp(30px,5vw,70px)}.rating-panel strong{display:block;font-family:Abril,serif;font-size:64px;font-weight:400;line-height:1}.rating-panel span{display:block;color:var(--gold);letter-spacing:.14em;font-size:22px;margin:4px 0 8px}.rating-panel p{margin:0 0 20px;color:#d9d0c4}.review-link{display:inline-flex;align-items:center;gap:18px;text-transform:uppercase;letter-spacing:.12em;font:700 12px/1 Space,sans-serif;padding:16px 22px;border:1px solid var(--line)}.contact-section{background:var(--cream);color:var(--ink);border-top:1px solid rgba(0,0,0,.08)}.contact-inner{max-width:var(--max);margin:0 auto;display:grid;grid-template-columns:.9fr 1.25fr .9fr;gap:clamp(28px,4vw,54px);align-items:stretch;padding:clamp(42px,5vw,68px) clamp(22px,5vw,70px)}.visit-card,.booking-card{padding:6px 0}.visit-card address{font-style:normal}.visit-card a{text-decoration:underline;text-decoration-color:var(--line);text-underline-offset:4px}.hours{color:#4f4942}.dark-button,.outline-button{display:inline-flex;align-items:center;gap:18px;margin-top:10px;text-transform:uppercase;letter-spacing:.12em;font:700 12px/1 Space,sans-serif;padding:16px 24px;border:1px solid var(--line);text-decoration:none!important}.dark-button{background:#050504;color:#fff}.outline-button{color:#1a1713;background:transparent}.booking-card h2{font-size:clamp(26px,2.2vw,38px)}.socials{display:flex;gap:20px;margin-top:26px;text-transform:uppercase;letter-spacing:.12em;font:700 12px/1 Space,sans-serif}.map-card{position:relative;min-height:280px;background:#e8e2d9;overflow:hidden;border:1px solid rgba(0,0,0,.06);display:block}.map-card:before{content:"";position:absolute;inset:-20%;background:linear-gradient(23deg,transparent 48%,rgba(90,82,74,.18) 49%,rgba(90,82,74,.18) 50%,transparent 51%),linear-gradient(-18deg,transparent 48%,rgba(90,82,74,.12) 49%,rgba(90,82,74,.12) 50%,transparent 51%),radial-gradient(circle at 25% 40%,rgba(255,255,255,.55),transparent 34%);background-size:220px 220px,260px 260px,100% 100%;opacity:.78}.map-card img{position:absolute;left:50%;top:50%;width:52px;height:52px;object-fit:contain;transform:translate(-50%,-50%);background:#111;border-radius:50%;padding:10px;box-shadow:0 10px 30px rgba(0,0,0,.2)}.map-line{position:absolute;z-index:1;color:#766d62;font-size:12px;letter-spacing:.04em}.map-line.one{left:35%;top:28%;transform:rotate(64deg)}.map-line.two{right:20%;bottom:34%;transform:rotate(-8deg)}
.site-footer{height:72px;background:#070707;color:#bdb5aa;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;padding:0 clamp(20px,4vw,52px);font-size:13px}.site-footer img{width:28px}.site-footer span:last-child{text-align:right}
@media(max-width:1020px){.site-header{grid-template-columns:auto auto;justify-content:space-between}.desktop-nav,.header-cta{display:none}.menu-toggle{display:block}.mobile-nav{display:none;position:fixed;z-index:9;inset:78px 0 auto;background:#090807;color:#fff;padding:22px;box-shadow:0 20px 30px rgba(0,0,0,.2)}.mobile-nav.open{display:grid;gap:18px}.mobile-nav a{text-transform:uppercase;letter-spacing:.12em;font:700 13px/1 Space,sans-serif}.about-section{grid-template-columns:1fr}.studio-panel{grid-template-columns:1fr}.artist-grid{grid-template-columns:repeat(2,1fr)}.artist-card:nth-child(n){grid-column:auto}.review-inner,.contact-inner{grid-template-columns:1fr}.rating-panel{border-left:0;border-top:1px solid rgba(255,255,255,.18);padding-left:0;padding-top:30px}}
@media(max-width:640px){.site-header{height:68px;padding:0 18px}.brand span{font-size:18px}.brand img{width:28px}.brand{min-width:auto}.hero{height:68vh;min-height:470px}.hero-logo{width:min(330px,76vw)}.about-section,.artists-section{padding:46px 20px}.section-heading{align-items:flex-start;display:grid}.artist-grid{grid-template-columns:1fr;gap:14px}.artist-card:nth-child(n){grid-column:auto}.artist-card a{min-height:360px}.review-inner,.contact-inner{padding:42px 22px}.review-quote{grid-template-columns:1fr}.reviewer{grid-column:1}.map-card{min-height:220px}.site-footer{height:auto;grid-template-columns:1fr;gap:14px;text-align:center;padding:26px}.site-footer span:last-child{text-align:center}.studio-thumbs{display:none}h1{font-size:36px}.section-heading .text-link{margin-top:0}}
/* Revision: wider scalable artist cards, working review slider, real map embed */
.artist-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
.artist-card:nth-child(n){grid-column:auto}
.artist-card a{min-height:0;aspect-ratio:1.55/1}
.artist-card img{height:100%}
.review-slider{grid-template-columns:auto minmax(0,1.35fr) .65fr auto;gap:clamp(18px,3vw,42px)}
.review-quote-wrap{position:relative;min-height:215px;display:grid;align-items:center}
.review-slide{grid-area:1/1;opacity:0;pointer-events:none;transition:opacity .35s ease;display:grid;grid-template-columns:auto 1fr;column-gap:28px;align-items:start}
.review-slide.active{opacity:1;pointer-events:auto}
.review-slide blockquote{font-family:Abril,serif;font-size:clamp(25px,2.5vw,42px);line-height:1.2;margin:0;max-width:760px}
.review-slide .reviewer{grid-column:2}
.review-control{align-self:center;width:44px;height:44px;border:1px solid rgba(255,255,255,.18);border-radius:999px;background:rgba(255,255,255,.04);color:#fff;font-size:32px;line-height:1;cursor:pointer}
.review-control:hover{background:rgba(168,115,55,.18);border-color:var(--line)}
.map-card{background:#e8e2d9;border:1px solid rgba(0,0,0,.08)}
.map-card:before,.map-card img,.map-line{display:none!important}
.map-card iframe{position:absolute;inset:0;width:100%;height:100%;border:0;filter:grayscale(1) sepia(.12) contrast(.9) brightness(1.04)}
@media(max-width:1180px){.artist-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.artist-card a{aspect-ratio:1.65/1}.review-slider{grid-template-columns:1fr}.review-control{display:none}.review-quote-wrap{min-height:260px}.review-slide{grid-template-columns:1fr}.review-slide .reviewer{grid-column:1}.review-slide blockquote{font-size:clamp(25px,4vw,40px)}}
@media(max-width:640px){.artist-grid{grid-template-columns:1fr}.artist-card a{aspect-ratio:1.35/1}.review-quote-wrap{min-height:330px}}

/* Revision: separate review controls from quote content and center uneven artist rows */
.artist-grid{
  display:flex;
  flex-wrap:wrap;
  justify-content:center;
  align-items:stretch;
  gap:14px;
}
.artist-card{
  flex:0 1 calc((100% - 42px) / 4);
  min-width:245px;
}
.review-slider{
  grid-template-columns:minmax(0,1.35fr) .65fr;
}
.review-controls{
  display:flex;
  gap:10px;
  margin-top:18px;
}
.review-control{
  position:static;
  display:inline-grid;
  place-items:center;
  width:40px;
  height:40px;
  font-size:25px;
  line-height:1;
}
@media(max-width:1180px){
  .artist-card{flex-basis:calc((100% - 14px) / 2)}
  .review-slider{grid-template-columns:1fr}
  .review-controls{margin-top:20px}
}
@media(max-width:640px){
  .artist-card{flex-basis:100%;min-width:0}
  .review-controls{justify-content:flex-start}
  .review-control{display:inline-grid}
}

/* Revision: keep review styling; place carousel controls under the review content */
.review-quote-wrap{
  align-items:start;
}
.review-controls{
  grid-area:2 / 1;
  display:flex;
  align-items:center;
  justify-content:flex-start;
  gap:14px;
  margin-top:26px;
}
.review-dots{
  display:flex;
  align-items:center;
  gap:9px;
}
.review-dot{
  width:6px;
  height:6px;
  border-radius:999px;
  border:0;
  padding:0;
  background:rgba(255,255,255,.28);
  cursor:pointer;
}
.review-dot.active{
  background:var(--gold);
  transform:scale(1.25);
}
@media(max-width:1180px){
  .review-control{display:inline-grid}
}


/* Revision: remove review arrows; dots are the only manual carousel control */
.review-controls{gap:0;}
.review-control{display:none!important;}

/* Revision: center review dots under the review content */
.review-controls{
  justify-content:center;
  width:100%;
}
.review-dots{
  justify-content:center;
}
@media(max-width:640px){
  .review-controls{justify-content:center;}
}
