:root { --ink:#080808; --paper:#f3f0e9; --red:#e32026; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; overflow-x:hidden; background:var(--ink); color:#fff; font-family:Arial,Helvetica,sans-serif; }
::selection { background:var(--red); color:#fff; }
body.admin-bar .site-header { top:32px; }
a { color:inherit; text-decoration:none; }
button { font:inherit; }

.sembhi-page-progress { position:fixed; inset:0 0 auto; z-index:100; height:3px; pointer-events:none; }
.sembhi-page-progress span { display:block; width:0; height:100%; background:var(--red); box-shadow:0 0 18px rgba(227,32,38,.85); }
.sembhi-pointer-glow { position:fixed; z-index:1; left:0; top:0; width:440px; height:440px; margin:-220px 0 0 -220px; border-radius:50%; pointer-events:none; opacity:.12; background:radial-gradient(circle,rgba(227,32,38,.42),rgba(227,32,38,0) 68%); transform:translate3d(var(--pointer-x,-600px),var(--pointer-y,-600px),0); transition:opacity .25s; mix-blend-mode:screen; }
.site-header { position:fixed; inset:0 0 auto; z-index:50; height:92px; display:grid; grid-template-columns:180px 1fr auto; align-items:center; padding:0 4vw; border-bottom:1px solid rgba(255,255,255,.14); background:rgba(5,5,5,.72); backdrop-filter:blur(13px); transition:height .35s,background .35s,box-shadow .35s; animation:header-enter .8s cubic-bezier(.22,1,.36,1) both; }
.site-header.is-scrolled { height:76px; background:rgba(5,5,5,.94); box-shadow:0 18px 45px rgba(0,0,0,.22); }
.brand { width:112px; height:72px; overflow:hidden; display:block; }
.brand img { width:100%; height:100%; object-fit:cover; border-radius:50%; transform:scale(1.03); }
.desktop-nav { display:flex; justify-content:center; gap:3vw; font-size:12px; text-transform:uppercase; letter-spacing:.18em; }
.desktop-nav a { color:#d9d5ce; transition:color .2s; }
.desktop-nav a:hover { color:var(--red); }
.header-cta { position:relative; overflow:hidden; border:1px solid rgba(255,255,255,.55); padding:15px 19px; font-size:11px; text-transform:uppercase; letter-spacing:.14em; transition:.25s; }
.header-cta:hover { background:var(--red); border-color:var(--red); }
.header-cta span { margin-left:16px; }
.menu-button,.mobile-menu { display:none; }

.hero { position:relative; min-height:100svh; display:flex; align-items:center; overflow:hidden; background:#0c0c0c; }
.hero-media { position:absolute; inset:-5% 0; background-image:var(--hero-image),radial-gradient(circle at 78% 43%,rgba(227,32,38,.18),transparent 18%),linear-gradient(115deg,#080808,#222); background-position:center; background-size:cover; background-repeat:no-repeat; transform:translate3d(0,var(--parallax-y,0),0) scale(var(--hero-scale,1.06)); will-change:transform; animation:hero-focus 2.2s cubic-bezier(.22,1,.36,1) both; }
.hero-shade { position:absolute; inset:0; background:linear-gradient(90deg,rgba(0,0,0,.94) 0%,rgba(0,0,0,.64) 37%,rgba(0,0,0,.12) 76%,rgba(0,0,0,.42) 100%); }
.hero-content { position:relative; z-index:2; width:min(900px,82vw); margin-left:8vw; padding-top:92px; }
.eyebrow { display:flex; align-items:center; gap:12px; color:#d3cec6; font-size:11px; letter-spacing:.23em; text-transform:uppercase; animation:hero-up .8s .28s both; }
.eyebrow span { width:34px; height:2px; background:var(--red); }
.hero h1 { margin:30px 0 28px; font-family:Georgia,'Times New Roman',serif; font-size:clamp(64px,8.3vw,128px); line-height:.86; font-weight:400; letter-spacing:-.055em; }
.hero h1>span,.hero h1>em { display:inline-block; animation:hero-up 1s cubic-bezier(.22,1,.36,1) both; }
.hero h1>span { animation-delay:.36s; }
.hero h1>em { animation-delay:.5s; }
.hero h1 em { color:transparent; -webkit-text-stroke:1px rgba(255,255,255,.75); font-weight:400; }
.hero-content>p { max-width:560px; color:#c4c0ba; font-size:16px; line-height:1.7; animation:hero-up .9s .62s both; }
.hero-actions { display:flex; align-items:center; gap:34px; margin-top:38px; animation:hero-up .9s .72s both; }
.primary-button { position:relative; isolation:isolate; overflow:hidden; display:inline-flex; align-items:center; justify-content:space-between; min-width:230px; padding:18px 20px; background:var(--red); font-size:11px; text-transform:uppercase; letter-spacing:.15em; }
.primary-button::before,.closing-cta a::before,.floating-contact::before { content:""; position:absolute; z-index:-1; inset:0; background:#fff; transform:translateX(-105%) skewX(-15deg); transition:transform .45s cubic-bezier(.22,1,.36,1); }
.primary-button:hover,.closing-cta a:hover,.floating-contact:hover { color:#080808; }
.primary-button:hover::before,.closing-cta a:hover::before,.floating-contact:hover::before { transform:translateX(0) skewX(0); }
.primary-button:hover span { transform:translate(3px,-3px); }
.primary-button span { transition:transform .2s; }
.text-link { padding-bottom:6px; border-bottom:1px solid rgba(255,255,255,.4); font-size:11px; text-transform:uppercase; letter-spacing:.14em; }
.text-link span { margin-left:14px; color:var(--red); }
.hero-side-note { position:absolute; z-index:2; right:2vw; top:50%; writing-mode:vertical-rl; transform:translateY(-50%); font-size:9px; letter-spacing:.24em; color:rgba(255,255,255,.48); }
.scroll-cue { position:absolute; z-index:2; right:7vw; bottom:38px; width:46px; height:46px; border:1px solid rgba(255,255,255,.35); border-radius:50%; display:grid; place-items:center; animation:scroll-float 2s ease-in-out infinite; }
.ticker { overflow:hidden; background:var(--red); padding:15px 0; }
.ticker-track { width:max-content; display:flex; animation:ticker-run 24s linear infinite; }
.ticker-track>div { min-width:max-content; display:flex; align-items:center; gap:30px; padding-right:30px; font-size:12px; font-weight:700; letter-spacing:.2em; }
.ticker-track b { font-size:11px; }
.first-look { padding:110px 8vw 130px; background:var(--paper); color:var(--ink); }
.section-number { font-size:10px; letter-spacing:.23em; color:#77716b; }
.first-look h2 { margin:50px 0 26px; font:400 clamp(52px,7vw,100px)/.93 Georgia,serif; letter-spacing:-.045em; }
.first-look h2 em { color:var(--red); font-weight:400; }
.first-look p { max-width:440px; margin-left:52%; color:#68635d; line-height:1.7; }
.work-grid { display:grid; grid-template-columns:1.15fr .85fr; grid-template-rows:auto auto; gap:7vw 3vw; margin-top:80px; }
.work-card { position:relative; }
.work-card-main { grid-row:span 2; }
.work-card img { width:100%; display:block; object-fit:cover; filter:grayscale(1); transform:scale(1.025); transition:filter .5s,transform .8s cubic-bezier(.22,1,.36,1); }
.work-card-main img { aspect-ratio:4/5; }
.work-card-fine img,.work-card-cover img { aspect-ratio:16/10; }
.work-card:hover img { filter:grayscale(.05); transform:scale(1.065); }
.work-card>div { position:relative; padding:22px 0 0 48px; }
.work-card>div>span { position:absolute; left:0; top:26px; color:var(--red); font-size:10px; letter-spacing:.15em; }
.work-card h3 { margin:0; font:400 30px/1.1 Georgia,serif; }
.work-card p { margin:8px 0 0; color:#817b73; font-size:10px; text-transform:uppercase; letter-spacing:.18em; }
.instagram-link { display:flex; justify-content:space-between; width:48%; margin:80px 0 0 auto; padding:18px 0; border-top:1px solid #bbb5ad; border-bottom:1px solid #bbb5ad; font-size:11px; text-transform:uppercase; letter-spacing:.16em; }
.instagram-link span { color:var(--red); }
.original-gallery { display:grid; grid-template-columns:repeat(3,1fr); gap:2vw; margin-top:95px; }
.original-gallery__item { position:relative; overflow:hidden; background:#111; }
.original-gallery__item:nth-child(5n+1),.original-gallery__item:nth-child(5n+4) { grid-row:span 2; }
.original-gallery__item img { width:100%; height:100%; min-height:300px; display:block; object-fit:cover; filter:grayscale(.75); transform:scale(1.02); transition:filter .5s,transform .8s cubic-bezier(.22,1,.36,1); }
.original-gallery__item:nth-child(5n+1) img,.original-gallery__item:nth-child(5n+4) img { min-height:630px; }
.original-gallery__item>span { position:absolute; inset:auto 16px 16px; display:flex; justify-content:space-between; padding:13px 15px; background:rgba(5,5,5,.76); backdrop-filter:blur(10px); color:#fff; font-size:9px; letter-spacing:.16em; transform:translateY(18px); opacity:0; transition:.35s; }
.original-gallery__item:hover img { filter:grayscale(0); transform:scale(1.08); }
.original-gallery__item:hover>span { opacity:1; transform:translateY(0); }
.original-gallery__item b { color:var(--red); font-weight:400; }

.statement { position:relative; overflow:hidden; padding:150px 14vw; background:#0b0b0b; text-align:center; }
.statement-mark { position:absolute; inset:50% auto auto 50%; transform:translate(-50%,-48%); font:400 520px/1 Georgia,serif; color:transparent; -webkit-text-stroke:1px rgba(255,255,255,.04); }
.statement .section-number { position:relative; color:var(--red); }
.statement h2 { position:relative; margin:44px auto; font:400 clamp(52px,6vw,92px)/.98 Georgia,serif; letter-spacing:-.045em; }
.statement h2 em { color:var(--red); font-weight:400; }
.statement p { position:relative; max-width:680px; margin:auto; color:#aaa59e; line-height:1.8; }

.services { display:grid; grid-template-columns:.85fr 1.15fr; padding:125px 8vw; background:#151515; }
.services-head { position:sticky; top:130px; align-self:start; }
.services .section-number { color:#7b7670; }
.services-head h2 { margin:44px 0 0; font:400 clamp(52px,6.5vw,92px)/.94 Georgia,serif; letter-spacing:-.05em; }
.services-head h2 em { color:var(--red); font-weight:400; }
.service-list { border-top:1px solid #343434; }
.service-item { display:grid; grid-template-columns:56px 1fr 1fr 30px; gap:18px; align-items:center; padding:35px 0; border-bottom:1px solid #343434; transition:padding .2s,background .2s; }
.service-item:hover { padding-left:18px; background:#1b1b1b; }
.service-item>span { color:var(--red); font-size:10px; }
.service-item h3 { margin:0; font:400 26px/1.15 Georgia,serif; }
.service-item p { margin:0; color:#8e8a84; font-size:13px; line-height:1.6; }
.service-item b { color:var(--red); font-weight:400; }

.studio { display:grid; grid-template-columns:1.1fr .9fr; background:var(--paper); color:var(--ink); }
.studio-image { min-height:720px; overflow:hidden; }
.studio-image img { width:100%; height:100%; object-fit:cover; filter:grayscale(.55) contrast(1.06); }
.studio-copy { padding:110px 5vw; align-self:center; }
.studio-copy h2 { margin:44px 0 34px; font:400 clamp(48px,4.8vw,68px)/.96 Georgia,serif; letter-spacing:-.045em; }
.studio-copy h2 em { color:var(--red); font-weight:400; }
.studio-copy>p { color:#68635d; line-height:1.8; }
.studio-points { display:grid; grid-template-columns:1fr 1fr; gap:0 22px; margin:38px 0; border-top:1px solid #c8c3ba; }
.studio-points span { padding:16px 0; border-bottom:1px solid #c8c3ba; font-size:11px; text-transform:uppercase; letter-spacing:.1em; }
.studio-copy strong { font-size:10px; color:var(--red); text-transform:uppercase; letter-spacing:.18em; }

.process { padding:125px 8vw; background:#0b0b0b; }
.process-intro { display:flex; align-items:flex-end; justify-content:space-between; gap:40px; }
.process-intro h2 { margin:0; text-align:right; font:400 clamp(52px,6vw,86px)/.96 Georgia,serif; letter-spacing:-.045em; }
.process-intro h2 em { color:var(--red); font-weight:400; }
.process-grid { display:grid; grid-template-columns:repeat(4,1fr); margin-top:90px; border-top:1px solid #353535; }
.process-grid article { min-height:290px; padding:30px 28px; border-right:1px solid #353535; }
.process-grid article:first-child { border-left:1px solid #353535; }
.process-grid span { color:var(--red); font-size:10px; }
.process-grid h3 { margin:80px 0 20px; font:400 24px/1.1 Georgia,serif; }
.process-grid p { color:#88847e; font-size:13px; line-height:1.65; }

.reviews { display:grid; grid-template-columns:.72fr 1.28fr; gap:7vw; padding:125px 8vw; overflow:hidden; background:#151515; }
.reviews-intro { align-self:start; position:sticky; top:120px; }
.reviews-intro h2 { margin:44px 0 30px; font:400 clamp(50px,5.6vw,82px)/.95 Georgia,serif; letter-spacing:-.05em; }
.reviews-intro h2 em { color:var(--red); font-weight:400; }
.reviews-intro p { max-width:360px; color:#8e8a84; line-height:1.7; }
.review-gallery { display:grid; grid-template-columns:1fr 1fr; gap:24px; }
.review-card { position:relative; overflow:hidden; min-height:240px; padding:18px; background:#f3f0e9; transition:transform .5s cubic-bezier(.22,1,.36,1),box-shadow .5s; }
.review-card:nth-child(even) { transform:translateY(55px); }
.review-card:hover { transform:translateY(-8px) rotate(-.5deg); box-shadow:0 24px 65px rgba(0,0,0,.35); }
.review-card:nth-child(even):hover { transform:translateY(47px) rotate(.5deg); }
.review-card img { width:100%; height:auto; display:block; }
.review-card__number { position:absolute; z-index:2; right:10px; top:10px; padding:7px 8px; background:var(--red); color:#fff; font-size:9px; letter-spacing:.12em; }

.faq { display:grid; grid-template-columns:.8fr 1.2fr; gap:8vw; padding:125px 8vw; background:var(--paper); color:var(--ink); }
.faq h2 { margin:44px 0 0; font:400 clamp(52px,6vw,86px)/.94 Georgia,serif; letter-spacing:-.045em; }
.faq h2 em { color:var(--red); font-weight:400; }
.faq-list { border-top:1px solid #bbb5ad; }
.faq details { border-bottom:1px solid #bbb5ad; }
.faq summary { display:flex; justify-content:space-between; gap:20px; padding:25px 0; cursor:pointer; list-style:none; font:400 19px/1.3 Georgia,serif; }
.faq summary::-webkit-details-marker { display:none; }
.faq summary span { color:var(--red); font:300 24px Arial,sans-serif; }
.faq details[open] summary span { transform:rotate(45deg); }
.faq details p { max-width:620px; margin:0 40px 25px 0; color:#6f6962; font-size:14px; line-height:1.7; }

.closing-cta { padding:140px 8vw; text-align:center; background-image:linear-gradient(rgba(0,0,0,.78),rgba(0,0,0,.88)),var(--closing-image); background-position:center; background-size:cover; background-attachment:fixed; }
.closing-cta>span { color:var(--red); font-size:10px; letter-spacing:.25em; }
.closing-cta h2 { margin:38px auto 50px; font:400 clamp(60px,8vw,112px)/.88 Georgia,serif; letter-spacing:-.055em; }
.closing-cta h2 em { color:transparent; -webkit-text-stroke:1px rgba(255,255,255,.7); font-weight:400; }
.closing-cta a { position:relative; z-index:1; isolation:isolate; overflow:hidden; display:inline-flex; justify-content:space-between; min-width:260px; padding:20px; background:var(--red); font-size:11px; text-transform:uppercase; letter-spacing:.16em; }
.closing-cta b { font-weight:400; }

footer { padding:70px 6vw 22px; background:#050505; }
.footer-main { display:grid; grid-template-columns:1.4fr 1fr .7fr 1fr; gap:5vw; padding-bottom:65px; }
.footer-logo { width:170px; }
.footer-logo img { width:100%; border-radius:50%; }
.footer-main>div { display:flex; flex-direction:column; align-items:flex-start; gap:12px; }
.footer-main span { margin-bottom:8px; color:#696560; font-size:9px; letter-spacing:.22em; }
.footer-main p,.footer-main a { margin:0; color:#b1aca4; font-size:12px; line-height:1.7; }
.footer-main a:hover { color:var(--red); }
.footer-base { display:flex; justify-content:space-between; padding-top:22px; border-top:1px solid #242424; color:#66615c; font-size:9px; text-transform:uppercase; letter-spacing:.13em; }
.floating-contact { position:fixed; right:22px; bottom:22px; z-index:45; isolation:isolate; overflow:hidden; display:flex; align-items:center; justify-content:space-between; min-width:190px; padding:16px 18px; background:var(--red); box-shadow:0 12px 35px rgba(0,0,0,.35); color:#fff; font-size:10px; text-transform:uppercase; letter-spacing:.15em; animation:contact-breathe 3.2s 2s ease-in-out infinite; }
.floating-contact span { margin-left:18px; }

.sembhi-motion-ready .reveal-item { opacity:0; transform:translate3d(0,48px,0); transition:opacity .8s cubic-bezier(.22,1,.36,1),transform .9s cubic-bezier(.22,1,.36,1); transition-delay:var(--reveal-delay,0ms); }
.sembhi-motion-ready .reveal-item.reveal-left { transform:translate3d(-55px,0,0); }
.sembhi-motion-ready .reveal-item.reveal-scale { transform:scale(.94); }
.sembhi-motion-ready .reveal-item.is-visible { opacity:1; transform:none; }
.sembhi-motion-ready .work-card.reveal-item img,.sembhi-motion-ready .original-gallery__item.reveal-item img { clip-path:inset(100% 0 0); transition:clip-path 1s cubic-bezier(.22,1,.36,1),filter .5s,transform .8s cubic-bezier(.22,1,.36,1); }
.sembhi-motion-ready .work-card.reveal-item.is-visible img,.sembhi-motion-ready .original-gallery__item.reveal-item.is-visible img { clip-path:inset(0); }

@keyframes header-enter { from{opacity:0;transform:translateY(-100%)} to{opacity:1;transform:none} }
@keyframes hero-up { from{opacity:0;transform:translateY(48px)} to{opacity:1;transform:none} }
@keyframes hero-focus { from{opacity:.35;transform:scale(1.18)} to{opacity:1;transform:translate3d(0,var(--parallax-y,0),0) scale(var(--hero-scale,1.06))} }
@keyframes ticker-run { to{transform:translateX(-50%)} }
@keyframes scroll-float { 0%,100%{transform:translateY(0)} 50%{transform:translateY(8px)} }
@keyframes contact-breathe { 0%,100%{box-shadow:0 12px 35px rgba(0,0,0,.35)} 50%{box-shadow:0 12px 35px rgba(0,0,0,.35),0 0 0 9px rgba(227,32,38,0)} 51%{box-shadow:0 12px 35px rgba(0,0,0,.35),0 0 0 0 rgba(227,32,38,.3)} }

@media (max-width:860px) {
 body.admin-bar .site-header { top:46px; }
 body.admin-bar .mobile-menu { top:46px; }
 .site-header { z-index:999; height:76px; grid-template-columns:minmax(0,1fr) auto; padding:0 18px; overflow:visible; }
 .brand { position:relative; z-index:1001; width:86px; height:58px; }
 .brand img { object-fit:contain; }
 .desktop-nav,.header-cta { display:none; }
 .menu-button { position:relative; z-index:1002; display:grid; gap:7px; width:46px; height:46px; place-content:center; border:1px solid rgba(255,255,255,.35); background:#090909; color:#fff; }
 .menu-button span { width:20px; height:1px; background:currentColor; transition:transform .25s; }
 .menu-button[aria-expanded="true"] span:first-child { transform:translateY(4px) rotate(45deg); }
 .menu-button[aria-expanded="true"] span:last-child { transform:translateY(-4px) rotate(-45deg); }
 .mobile-menu { position:fixed; inset:0; z-index:1000; display:flex; flex-direction:column; justify-content:center; padding:100px 24px 30px; overflow-y:auto; background:#090909; visibility:hidden; opacity:0; pointer-events:none; transform:translate3d(0,-18px,0); transition:opacity .25s,transform .35s cubic-bezier(.22,1,.36,1),visibility 0s .35s; }
 .mobile-menu.is-open { visibility:visible; opacity:1; pointer-events:auto; transform:none; transition-delay:0s; }
 .mobile-menu nav { display:grid; }
 .mobile-menu nav a { display:flex; align-items:center; gap:18px; border-bottom:1px solid #292929; padding:18px 0; font:400 38px/1 Georgia,serif; }
 .mobile-menu nav span { color:var(--red); font:10px Arial,sans-serif; letter-spacing:.12em; }
 .mobile-book { margin-top:32px; color:var(--red); font-size:12px; letter-spacing:.15em; text-transform:uppercase; }
 .mobile-menu p { margin-top:auto; color:#777; font-size:11px; text-transform:uppercase; letter-spacing:.16em; }
 .hero-content { width:auto; margin:0; padding:110px 24px 56px; }
 .hero-media { background-position:62% center; }
 .hero h1 { font-size:clamp(52px,17vw,78px); line-height:.9; }
 .hero-content>p { font-size:14px; }
 .hero-actions { align-items:flex-start; flex-direction:column; gap:22px; }
 .hero-side-note { display:none; }
 .scroll-cue { right:22px; bottom:28px; }
 .first-look { padding:84px 24px; }
 .first-look p { margin-left:0; }
 .work-grid { grid-template-columns:1fr; gap:48px; margin-top:55px; }
 .work-card-main { grid-row:auto; }
 .work-card-fine img,.work-card-cover img { aspect-ratio:4/5; }
 .instagram-link { width:100%; margin-top:55px; }
 .original-gallery { grid-template-columns:1fr 1fr; gap:12px; margin-top:65px; }
 .original-gallery__item:nth-child(n) { grid-row:auto; }
 .original-gallery__item img,.original-gallery__item:nth-child(n) img { min-height:240px; aspect-ratio:4/5; }
 .original-gallery__item>span { opacity:1; transform:none; }
 .statement { padding:100px 24px; text-align:left; }
 .statement-mark { font-size:360px; }
 .services { grid-template-columns:1fr; padding:90px 24px; }
 .services-head { position:static; margin-bottom:55px; }
 .service-item { grid-template-columns:38px 1fr 20px; }
 .service-item p { grid-column:2/4; }
 .studio { grid-template-columns:1fr; }
 .studio-image { min-height:430px; }
 .studio-copy { padding:80px 24px; }
 .process { padding:90px 24px; }
 .process-intro { display:block; }
 .process-intro h2 { margin-top:45px; text-align:left; }
 .process-grid { grid-template-columns:1fr; margin-top:60px; }
 .process-grid article,.process-grid article:first-child { min-height:auto; border-left:1px solid #353535; border-bottom:1px solid #353535; }
 .process-grid h3 { margin-top:38px; }
 .reviews { grid-template-columns:1fr; padding:90px 24px 130px; }
 .reviews-intro { position:static; }
 .review-gallery { gap:12px; }
 .review-card { min-height:0; padding:10px; }
 .review-card:nth-child(even) { transform:translateY(30px); }
 .review-card:nth-child(even):hover { transform:translateY(30px); }
 .faq { grid-template-columns:1fr; padding:90px 24px; }
 .closing-cta { padding:100px 24px; background-attachment:scroll; }
 .footer-main { grid-template-columns:1fr 1fr; }
 .footer-base { flex-direction:column; gap:8px; }
 .floating-contact { right:14px; bottom:14px; min-width:170px; }
 .sembhi-pointer-glow { display:none; }
}
@media (prefers-reduced-motion:reduce) { html{scroll-behavior:auto} *,*::before,*::after{animation:none!important;transition-duration:.01ms!important} .sembhi-motion-ready .reveal-item{opacity:1;transform:none} .ticker-track{transform:none} }

/* v3 storefront and local service pages */
.tattoo-shop,.portfolio-store,.local-services { padding:120px 6vw; background:var(--paper); color:var(--ink); }
.shop-heading,.catalog-heading { display:grid; grid-template-columns:1.15fr .85fr; gap:8vw; align-items:end; margin-bottom:65px; }
.shop-heading h2,.catalog-heading h2 { margin:36px 0 0; font:400 clamp(54px,7vw,100px)/.9 Georgia,serif; letter-spacing:-.05em; }
.shop-heading h2 em,.catalog-heading h2 em { color:var(--red); font-weight:400; }
.shop-heading>p,.catalog-heading>p { max-width:520px; margin:0; color:#68635d; line-height:1.8; }
.style-products { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); border:1px solid #c8c2b8; }
.style-product { min-width:0; border-right:1px solid #c8c2b8; background:#eae6de; }
.style-product:last-child { border-right:0; }
.style-product__media { aspect-ratio:4/5; overflow:hidden; background:#cac4bb; }
.style-product__media img { width:100%; height:100%; display:block; object-fit:cover; filter:grayscale(.9); transform:scale(1.02); transition:filter .5s,transform .8s cubic-bezier(.22,1,.36,1); }
.style-product:hover .style-product__media img { filter:grayscale(.05); transform:scale(1.07); }
.style-product__copy { padding:26px 22px 28px; }
.style-product__copy>span,.catalog-card__copy>span { color:var(--red); font-size:9px; letter-spacing:.17em; }
.style-product h3 { min-height:58px; margin:14px 0 12px; font:400 26px/1.08 Georgia,serif; }
.style-product p { min-height:88px; margin:0; color:#716b64; font-size:14px; line-height:1.6; }
.style-product__copy>a,.catalog-card__copy>a { display:flex; justify-content:space-between; gap:16px; margin-top:24px; padding-top:17px; border-top:1px solid #bdb7ae; font-size:10px; letter-spacing:.14em; text-transform:uppercase; }
.style-product__copy>a b { color:var(--red); }

.portfolio-store { background:#0d0d0d; color:#fff; }
.portfolio-store .catalog-heading>p { color:#9e9992; }
.catalog-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:48px 2vw; }
.catalog-card { min-width:0; background:#151515; border:1px solid #292929; }
.catalog-card__image { position:relative; display:block; aspect-ratio:4/5; overflow:hidden; background:linear-gradient(120deg,#1e1e1e,#2a2a2a,#1e1e1e); background-size:200% 100%; animation:image-shimmer 2.5s linear infinite; }
.catalog-card__image img { width:100%; height:100%; display:block; object-fit:cover; filter:grayscale(.55); transition:filter .45s,transform .75s cubic-bezier(.22,1,.36,1),opacity .3s; }
.catalog-card__image:hover img { filter:grayscale(0); transform:scale(1.055); }
.catalog-card__image>span,.location-work-grid>a>span { position:absolute; inset:auto 14px 14px; padding:11px 13px; background:rgba(5,5,5,.78); color:#fff; font-size:9px; letter-spacing:.14em; text-transform:uppercase; backdrop-filter:blur(10px); }
.catalog-card__copy { padding:22px; }
.catalog-card h3 { margin:10px 0 0; font:400 24px/1.15 Georgia,serif; }
.catalog-card__copy>a { border-color:#333; color:#c8c4bd; }
.catalog-empty { grid-column:1/-1; margin:0; padding:70px; border:1px solid #333; color:#aaa; text-align:center; }
.portfolio-store .instagram-link { width:100%; margin-top:65px; border-color:#333; }

.local-areas { display:grid; grid-template-columns:1fr 1fr; gap:8vw; padding:120px 7vw; background:#e9e4dc; color:var(--ink); }
.local-areas__intro h2 { margin:38px 0 28px; font:400 clamp(52px,6vw,88px)/.92 Georgia,serif; letter-spacing:-.05em; }
.local-areas__intro h2 em { color:var(--red); font-weight:400; }
.local-areas__intro p { max-width:600px; margin:0 0 35px; color:#68635d; line-height:1.8; }
.area-links { align-self:center; border-top:1px solid #bbb4aa; }
.area-links a { display:grid; grid-template-columns:48px 1fr auto; align-items:center; gap:18px; padding:27px 8px; border-bottom:1px solid #bbb4aa; transition:padding .25s,background .25s; }
.area-links a:hover { padding-left:20px; background:#f2eee7; }
.area-links span { color:var(--red); font-size:10px; letter-spacing:.15em; }
.area-links strong { font:400 29px/1.1 Georgia,serif; }
.area-links b { color:var(--red); font-size:12px; font-weight:400; }
.area-links a.is-current { background:#0d0d0d; color:#fff; }

.inquiry { display:grid; grid-template-columns:.82fr 1.18fr; gap:7vw; padding:120px 7vw; background:#111; color:#fff; }
.inquiry-copy h2 { margin:40px 0 28px; font:400 clamp(52px,5.6vw,82px)/.94 Georgia,serif; letter-spacing:-.05em; }
.inquiry-copy h2 em { color:var(--red); font-weight:400; }
.inquiry-copy>p { max-width:480px; color:#9c9790; line-height:1.8; }
.contact-stack { margin-top:42px; border-top:1px solid #353535; }
.contact-stack a { display:grid; grid-template-columns:70px 1fr; gap:18px; padding:17px 0; border-bottom:1px solid #353535; color:#d0cbc4; font-size:14px; line-height:1.5; }
.contact-stack span { color:var(--red); font-size:9px; letter-spacing:.16em; }
.inquiry-form { align-self:start; padding:38px; background:#f1eee7; color:#0a0a0a; }
.sembhi-cf7-grid { display:grid; grid-template-columns:1fr 1fr; gap:22px 18px; }
.sembhi-cf7-grid label { display:grid; gap:9px; color:#4c4742; font-size:10px; font-weight:700; letter-spacing:.12em; text-transform:uppercase; }
.sembhi-cf7-grid input,.sembhi-cf7-grid select,.sembhi-cf7-grid textarea { width:100%; min-height:51px; border:1px solid #bbb5ad; border-radius:0; padding:13px 14px; background:#fff; color:#111; font:400 15px/1.4 Arial,sans-serif; letter-spacing:0; text-transform:none; outline:none; }
.sembhi-cf7-grid textarea { min-height:130px; resize:vertical; }
.sembhi-cf7-grid input:focus,.sembhi-cf7-grid select:focus,.sembhi-cf7-grid textarea:focus { border-color:var(--red); box-shadow:0 0 0 2px rgba(227,32,38,.14); }
.sembhi-cf7-full { grid-column:1/-1; }
.sembhi-cf7-grid input[type=submit] { min-width:240px; border:0; background:var(--red); color:#fff; cursor:pointer; font-size:10px; font-weight:700; letter-spacing:.16em; text-transform:uppercase; transition:background .2s,transform .2s; }
.sembhi-cf7-grid input[type=submit]:hover { background:#0a0a0a; transform:translateY(-2px); }
.wpcf7-spinner { vertical-align:middle; }
.wpcf7 form .wpcf7-response-output { margin:22px 0 0; padding:13px; border-width:1px; }
.wpcf7-not-valid-tip { margin-top:7px; color:#b00007; font-size:12px; text-transform:none; letter-spacing:0; }
.sembhi-form-notice { padding:22px; border:1px solid #c5beb4; line-height:1.7; }
.sembhi-form-notice a { color:var(--red); text-decoration:underline; }
.sembhi-cf7-intro { display:grid; gap:7px; margin-bottom:28px; padding-bottom:24px; border-bottom:1px solid #c5beb4; }
.sembhi-cf7-intro strong { font:400 31px/1.05 Georgia,serif; }
.sembhi-cf7-intro span { color:#6a645d; font-size:14px; line-height:1.6; }
.sembhi-upload-field { padding:20px; border:1px dashed #999187; background:#e7e2da; }
.sembhi-cf7-grid input[type=file] { min-height:0; border:0; padding:9px 0 0; background:transparent; font-size:14px; }
.sembhi-cf7-grid input[type=file]::file-selector-button { margin-right:12px; border:0; padding:12px 14px; background:#111; color:#fff; cursor:pointer; font-size:10px; font-weight:700; letter-spacing:.12em; text-transform:uppercase; }
.sembhi-cf7-file-help { grid-column:1/-1; margin-top:-14px; color:#766f67; font-size:11px; letter-spacing:.08em; }

.location-hero { position:relative; min-height:760px; display:flex; align-items:flex-end; overflow:hidden; padding:150px 7vw 95px; }
.location-hero__media { position:absolute; inset:-4%; background-image:var(--hero-image); background-size:cover; background-position:center; animation:hero-focus 2s cubic-bezier(.22,1,.36,1) both; }
.location-hero__shade { position:absolute; inset:0; background:linear-gradient(90deg,rgba(0,0,0,.94),rgba(0,0,0,.45) 66%,rgba(0,0,0,.62)); }
.location-hero__content { position:relative; z-index:1; max-width:920px; }
.location-breadcrumb { display:inline-block; margin-bottom:45px; padding-bottom:6px; border-bottom:1px solid rgba(255,255,255,.4); color:#d1ccc5; font-size:10px; letter-spacing:.14em; text-transform:uppercase; }
.location-hero__content>span { display:block; color:var(--red); font-size:10px; letter-spacing:.22em; }
.location-hero h1 { max-width:900px; margin:22px 0 28px; font:400 clamp(60px,7.2vw,110px)/.9 Georgia,serif; letter-spacing:-.055em; }
.location-hero p { max-width:660px; color:#d0cbc4; font-size:17px; line-height:1.75; }
.location-intro { display:grid; grid-template-columns:1fr 1fr; gap:8vw; padding:120px 7vw; background:var(--paper); color:var(--ink); }
.location-intro h2 { margin:40px 0 0; font:400 clamp(52px,6vw,88px)/.92 Georgia,serif; letter-spacing:-.05em; }
.location-intro h2 em { color:var(--red); font-weight:400; }
.location-intro>div:last-child>p { color:#625d57; font-size:16px; line-height:1.8; }
.location-intro .contact-stack { border-color:#c3bdb4; }
.location-intro .contact-stack a { border-color:#c3bdb4; color:#292623; }
.location-service-grid { display:grid; grid-template-columns:repeat(4,1fr); border:1px solid #c6c0b7; }
.location-service-grid article { min-height:310px; padding:28px; border-right:1px solid #c6c0b7; }
.location-service-grid article:last-child { border-right:0; }
.location-service-grid span { color:var(--red); font-size:10px; }
.location-service-grid h3 { margin:70px 0 18px; font:400 25px/1.12 Georgia,serif; }
.location-service-grid p { margin:0; color:#6b655e; font-size:14px; line-height:1.7; }
.location-work { padding:110px 6vw; background:#0b0b0b; }
.location-work>.section-number { display:block; margin-bottom:45px; }
.location-work-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:2vw; }
.location-work-grid>a { position:relative; display:block; overflow:hidden; aspect-ratio:4/5; background:#222; }
.location-work-grid img { width:100%; height:100%; object-fit:cover; filter:grayscale(.65); transition:filter .45s,transform .75s; }
.location-work-grid a:hover img { filter:grayscale(0); transform:scale(1.055); }
.local-areas.compact { background:#e9e4dc; }

/* Motion remains visible while it animates: no more blank sections before scroll. */
.sembhi-motion-ready .reveal-item { opacity:1; transform:translate3d(0,18px,0); filter:blur(2px); transition:transform .75s cubic-bezier(.22,1,.36,1),filter .75s,opacity .75s; transition-delay:var(--reveal-delay,0ms); }
.sembhi-motion-ready .reveal-item.reveal-left { transform:translate3d(-22px,0,0); }
.sembhi-motion-ready .reveal-item.reveal-scale { transform:scale(.985); }
.sembhi-motion-ready .reveal-item.is-visible { opacity:1; transform:none; filter:none; }
.sembhi-motion-ready .work-card.reveal-item img,.sembhi-motion-ready .original-gallery__item.reveal-item img,.sembhi-motion-ready .catalog-card.reveal-item img,.sembhi-motion-ready .style-product.reveal-item img { clip-path:inset(3%); }
.sembhi-motion-ready .work-card.reveal-item.is-visible img,.sembhi-motion-ready .original-gallery__item.reveal-item.is-visible img,.sembhi-motion-ready .catalog-card.reveal-item.is-visible img,.sembhi-motion-ready .style-product.reveal-item.is-visible img { clip-path:inset(0); }
.sembhi-image-failed { opacity:.18; }
@keyframes image-shimmer { to { background-position:-200% 0; } }

@media (max-width:1050px) {
 .style-products,.location-service-grid { grid-template-columns:1fr 1fr; }
 .style-product:nth-child(2),.location-service-grid article:nth-child(2) { border-right:0; }
 .style-product:nth-child(-n+2),.location-service-grid article:nth-child(-n+2) { border-bottom:1px solid #c8c2b8; }
 .catalog-grid { grid-template-columns:1fr 1fr; }
}
@media (max-width:860px) {
 .tattoo-shop,.portfolio-store,.local-services { padding:85px 22px; }
 .shop-heading,.catalog-heading,.local-areas,.inquiry,.location-intro { grid-template-columns:1fr; gap:45px; }
 .style-products { grid-template-columns:1fr 1fr; }
 .style-product h3 { min-height:0; }
 .style-product p { min-height:0; }
 .local-areas,.inquiry,.location-intro { padding:85px 22px; }
 .inquiry-form { padding:24px; }
 .location-hero { min-height:700px; padding:140px 22px 70px; }
 .location-hero h1 { font-size:clamp(52px,15vw,80px); }
 .location-service-grid { grid-template-columns:1fr 1fr; }
 .location-work { padding:85px 22px; }
 .location-work-grid { grid-template-columns:1fr 1fr; gap:12px; }
}
@media (max-width:560px) {
 .style-products,.catalog-grid,.location-service-grid { grid-template-columns:1fr; }
 .style-product,.style-product:nth-child(2),.location-service-grid article,.location-service-grid article:nth-child(2) { border-right:0; border-bottom:1px solid #c8c2b8; }
 .style-product:last-child,.location-service-grid article:last-child { border-bottom:0; }
 .style-product__copy { padding:24px 20px 28px; }
 .catalog-grid { gap:28px; }
 .sembhi-cf7-grid { grid-template-columns:1fr; }
 .sembhi-cf7-full { grid-column:auto; }
 .inquiry-form { padding:20px 16px; }
 .area-links strong { font-size:24px; }
 .location-work-grid { grid-template-columns:1fr 1fr; }
}
