:root {
  color-scheme: dark;
  --bg: #050505;
  --surface: #0d0d0f;
  --surface-2: #151518;
  --text: #f5f4f1;
  --muted: #a3a3a8;
  --line: rgba(255, 255, 255, 0.14);
  --pink: #ee205e;
  --cyan: #14b9cf;
  --max: 1240px;
  --gutter: clamp(1.25rem, 4vw, 4.5rem);
  --radius: 1.25rem;
}

@font-face {
  font-family: "Pirata One";
  src: url("assets/fonts/PirataOne-Regular.ttf") format("truetype");
  font-display: swap;
  font-style: normal;
  font-weight: 400;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; overflow-x: clip; }
body {
  margin: 0;
  background: var(--bg);
  color: var(--text);
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif;
  font-size: 1rem;
  line-height: 1.6;
  overflow-x: hidden;
}
img { display: block; max-width: 100%; }
a { color: inherit; text-decoration: none; }
button { font: inherit; color: inherit; }
::selection { background: var(--pink); color: #fff; }

.skip-link {
  position: fixed; z-index: 1000; left: 1rem; top: 1rem;
  transform: translateY(-180%); background: #fff; color: #000;
  padding: .75rem 1rem; border-radius: .5rem;
}
.skip-link:focus { transform: translateY(0); }
.sr-only { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0,0,0,0); }

.brand-intro {
  position: fixed; z-index: 1000; inset: 0; display: grid; place-items: center;
  overflow: hidden; background: #020203; pointer-events: none;
  animation: intro-curtain 4.15s cubic-bezier(.72,0,.2,1) forwards;
}
html.intro-seen .brand-intro { display: none; }
.intro-aura {
  position: absolute; width: min(80vw, 58rem); aspect-ratio: 1; border-radius: 50%;
  background: conic-gradient(from 205deg, transparent 15%, rgba(238,32,94,.25), transparent 38%, rgba(20,185,207,.2), transparent 69%);
  filter: blur(52px); opacity: 0; animation: intro-aura 2.55s ease-out .15s both;
}
.intro-lines { position: absolute; width: min(86vw, 70rem); height: 1px; background: linear-gradient(90deg, transparent, rgba(255,255,255,.4), transparent); transform: scaleX(0); animation: intro-lines 1.3s cubic-bezier(.2,.8,.2,1) .45s both; }
.intro-lines::after { content: ""; position: absolute; left: 50%; top: -45vh; width: 1px; height: 90vh; background: linear-gradient(transparent, rgba(255,255,255,.24), transparent); }
.intro-logo-frame {
  position: relative; width: min(52vw, 28rem); aspect-ratio: 4 / 5; display: grid; place-items: center;
  opacity: 0; transform: scale(.12) rotate(-9deg); transform-origin: center;
  filter: blur(18px); animation: intro-logo 3.8s cubic-bezier(.16,1,.3,1) .18s both;
}
.intro-logo-frame img { width: 100%; height: 100%; object-fit: contain; filter: contrast(1.08) drop-shadow(-10px 0 24px rgba(238,32,94,.2)) drop-shadow(10px 0 24px rgba(20,185,207,.18)); }
.intro-ring { position: absolute; inset: 12% 3% 10%; border: 1px solid rgba(255,255,255,.34); border-radius: 48%; box-shadow: 0 0 42px rgba(238,32,94,.14), inset 0 0 30px rgba(20,185,207,.08); opacity: 0; transform: scale(.45); animation: intro-ring 1.45s cubic-bezier(.2,.85,.2,1) .62s both; }
.intro-ring::before, .intro-ring::after { content: ""; position: absolute; inset: -6%; border: 1px solid rgba(255,255,255,.1); border-radius: 48%; }
.intro-ring::after { inset: -12%; border-style: dotted; animation: slow-spin 9s linear infinite; }
.intro-wordmark { position: absolute; bottom: clamp(1.5rem, 4vh, 3rem); margin: 0; color: rgba(255,255,255,.84); font-size: clamp(.62rem, 1.2vw, .8rem); font-weight: 650; letter-spacing: .42em; text-transform: uppercase; opacity: 0; transform: translateY(12px); animation: intro-wordmark .8s ease-out 1.18s both; }
.intro-spark { position: absolute; width: .7rem; aspect-ratio: 1; background: #fff; clip-path: polygon(50% 0,61% 38%,100% 50%,61% 62%,50% 100%,39% 62%,0 50%,39% 38%); opacity: 0; filter: drop-shadow(0 0 7px #fff); animation: sparkle .82s ease-in-out both; }
.intro-spark-1 { left: 7%; top: 36%; animation-delay: .82s; }
.intro-spark-2 { right: 13%; top: 22%; width: .42rem; animation-delay: 1.12s; }
.intro-spark-3 { right: 4%; top: 54%; width: .9rem; animation-delay: 1.45s; }
.intro-spark-4 { left: 20%; bottom: 13%; width: .38rem; animation-delay: 1.28s; }
.intro-spark-5 { left: 38%; top: 4%; width: .5rem; animation-delay: 1.66s; }
.intro-spark-6 { right: 30%; bottom: 3%; width: .65rem; animation-delay: 1.82s; }

@keyframes intro-curtain { 0%,91% { opacity: 1; visibility: visible; } 100% { opacity: 0; visibility: hidden; } }
@keyframes intro-logo {
  0% { opacity: 0; transform: scale(.12) rotate(-9deg); filter: blur(18px); }
  18% { opacity: 1; transform: scale(.76) rotate(2deg); filter: blur(2px); }
  38% { opacity: 1; transform: scale(1.1) rotate(-1deg); filter: blur(0); }
  55%,76% { opacity: 1; transform: scale(1) rotate(0); filter: blur(0); }
  100% { opacity: 1; transform: translateY(calc(-50vh + 2.55rem)) scale(.15); filter: blur(0); }
}
@keyframes intro-ring { 0% { opacity: 0; transform: scale(.45); } 55% { opacity: .9; } 100% { opacity: .55; transform: scale(1.15); } }
@keyframes intro-aura { 0% { opacity: 0; transform: scale(.45) rotate(-20deg); } 45% { opacity: .72; } 100% { opacity: .24; transform: scale(1.08) rotate(28deg); } }
@keyframes intro-lines { to { transform: scaleX(1); } }
@keyframes intro-wordmark { 0% { opacity: 0; transform: translateY(12px); } 35%,72% { opacity: 1; transform: translateY(0); } 100% { opacity: 0; transform: translateY(-8px); } }
@keyframes sparkle { 0%,100% { opacity: 0; transform: scale(.15) rotate(0); } 45% { opacity: 1; transform: scale(1.2) rotate(45deg); } 70% { opacity: .55; transform: scale(.7) rotate(70deg); } }
@keyframes slow-spin { to { transform: rotate(360deg); } }
@keyframes nav-arrival { from { opacity: 0; transform: translateX(-50%) scale(.96); } to { opacity: 1; transform: translateX(-50%) scale(1); } }
@keyframes arrow-pulse { 0%,100% { transform: translate(0,0) scale(1); } 46% { transform: translate(3px,-3px) scale(1.04); } 64% { transform: translate(1px,-1px) scale(.98); } }

.site-header {
  position: fixed; z-index: 100; inset: 0 0 auto;
  min-height: 4.75rem; padding: .75rem var(--gutter);
  display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; gap: 2rem;
  background: rgba(5, 5, 5, .78); border-bottom: 1px solid transparent;
  backdrop-filter: blur(18px); -webkit-backdrop-filter: blur(18px);
  transition: border-color .25s ease, background .25s ease;
}
.site-header.is-scrolled { border-color: var(--line); background: rgba(5,5,5,.92); }
.brand { display: inline-flex; align-items: center; gap: .75rem; font-weight: 650; letter-spacing: -.02em; }
.brand-mark {
  display: grid; place-items: center; width: 2.15rem; aspect-ratio: 1;
  border: 1px solid rgba(255,255,255,.55); border-radius: 50%;
  font-size: .63rem; letter-spacing: -.08em;
}
.site-nav { display: contents; font-size: .74rem; }
.nav-group { display: flex; align-items: center; gap: clamp(.45rem, 1vw, .8rem); }
.nav-group-left { grid-column: 1; justify-self: start; }
.nav-group-right { grid-column: 3; justify-self: end; }
.site-nav a {
  position: relative; isolation: isolate; display: inline-flex; align-items: center; justify-content: center;
  min-height: 2.65rem; padding: .68rem 1.1rem; overflow: hidden;
  color: #dadade; border: 1px solid rgba(255,255,255,.24);
  background: linear-gradient(145deg, rgba(255,255,255,.095), rgba(255,255,255,.018) 58%, rgba(20,185,207,.05));
  box-shadow: inset 0 1px rgba(255,255,255,.1), inset 0 -1px rgba(0,0,0,.7), 0 7px 24px rgba(0,0,0,.22);
  clip-path: polygon(.55rem 0, 100% 0, calc(100% - .55rem) 100%, 0 100%);
  font-weight: 760; letter-spacing: .13em; line-height: 1; text-transform: uppercase;
  transition: color .22s ease, border-color .22s ease, transform .22s ease, box-shadow .22s ease;
}
.site-nav a::before {
  content: ""; position: absolute; z-index: -1; inset: -35% -45%;
  background: linear-gradient(100deg, transparent 38%, rgba(255,255,255,.28) 49%, transparent 60%);
  transform: translateX(-70%); transition: transform .5s cubic-bezier(.2,.7,.2,1);
}
.site-nav a::after {
  content: ""; position: absolute; left: .6rem; right: .6rem; bottom: 0; height: 1px;
  background: linear-gradient(90deg, var(--pink), rgba(255,255,255,.65), var(--cyan));
  opacity: .62; transform: scaleX(.28); transition: opacity .22s ease, transform .3s ease;
}
.site-nav a:hover, .site-nav a:focus-visible {
  color: #fff; border-color: rgba(255,255,255,.58); transform: translateY(-1px);
  box-shadow: inset 0 1px rgba(255,255,255,.18), 0 0 24px rgba(238,32,94,.08), 0 9px 24px rgba(0,0,0,.32);
}
.site-nav a:hover::before, .site-nav a:focus-visible::before { transform: translateX(70%); }
.site-nav a:hover::after, .site-nav a:focus-visible::after { opacity: 1; transform: scaleX(1); }
.nav-cta {
  color: #070708 !important; border-color: rgba(255,255,255,.88) !important;
  background: linear-gradient(135deg, #fff, #c9c9cd 62%, #fff) !important;
  box-shadow: inset 0 1px #fff, 0 0 20px rgba(255,255,255,.08), 0 8px 24px rgba(0,0,0,.36) !important;
}
.nav-cta::after { background: linear-gradient(90deg, var(--pink), var(--cyan)); }
.site-nav .nav-call { padding-inline: .85rem; color: #f2f2f4; }
.whatsapp-icon { width: 1.2rem; height: 1.2rem; flex: none; fill: none; stroke: currentColor; stroke-width: 1.45; stroke-linecap: round; stroke-linejoin: round; }
.nav-whatsapp { color: #d8ffe5 !important; border-color: rgba(37,211,102,.36) !important; }
.nav-whatsapp .whatsapp-icon { margin-right: .48rem; color: #25d366; filter: drop-shadow(0 0 6px rgba(37,211,102,.35)); }
.nav-logo {
  position: absolute; left: 50%; top: -.2rem; z-index: 2; width: 4.2rem; height: 5.25rem;
  transform: translateX(-50%); display: grid; place-items: center;
  background: transparent; border: 0; overflow: visible;
}
.brand-launch .nav-logo { animation: nav-arrival .28s ease-out 3.78s both; }
.nav-logo img {
  width: 100%; height: 100%; object-fit: contain; opacity: 1;
  filter: brightness(1.12) contrast(1.2) saturate(1.08)
    drop-shadow(0 0 2px rgba(255,255,255,.42))
    drop-shadow(-4px 0 8px rgba(238,32,94,.22))
    drop-shadow(4px 0 8px rgba(20,185,207,.2));
}
.nav-logo-scroll {
  opacity: 0; visibility: hidden; pointer-events: none;
  transform: translateX(-50%) translateY(-.35rem) scale(.86);
  transition: opacity .28s ease, visibility .28s ease, transform .35s cubic-bezier(.2,.8,.2,1);
  animation: none !important;
}
.nav-logo-scroll.is-visible {
  opacity: 1; visibility: visible; pointer-events: auto;
  transform: translateX(-50%) translateY(0) scale(1);
}
.mobile-graffiti-link { display: none; }
.menu-button { display: none; background: none; border: 0; padding: .75rem; }
.menu-button span:not(.sr-only) { display: block; width: 1.4rem; height: 1px; background: #fff; margin: .28rem; }
.back-link { font-size: .78rem; color: #ddd; }
.gallery-header .back-link, .gallery-social {
  min-height: 2.55rem; padding: .6rem 1rem; border: 1px solid rgba(255,255,255,.2);
  background: linear-gradient(145deg, rgba(255,255,255,.08), rgba(255,255,255,.015));
  clip-path: polygon(.5rem 0, 100% 0, calc(100% - .5rem) 100%, 0 100%);
  font-weight: 720; letter-spacing: .1em; text-transform: uppercase;
}
.gallery-header .back-link { grid-column: 1; justify-self: start; }
.gallery-social { grid-column: 3; justify-self: end; color: #ddd; font-size: .72rem; }

.hero {
  min-height: 100svh; position: relative; display: grid; align-items: center;
  padding: 8rem var(--gutter) 4rem; isolation: isolate; overflow: hidden;
}
.hero::after {
  content: ""; position: absolute; z-index: -2; inset: 0;
  background: radial-gradient(circle at 70% 50%, rgba(255,255,255,.055), transparent 38%), linear-gradient(90deg, #050505 0 48%, transparent 75%);
}
.hero-art { position: absolute; z-index: -3; top: 8%; right: 5%; width: min(45vw, 590px); height: 80%; display: grid; place-items: center; }
.hero-art img {
  width: 100%; height: 100%; object-fit: contain; opacity: .98;
  filter: brightness(1.06) contrast(1.14) saturate(1.04)
    drop-shadow(0 0 1px rgba(255,255,255,.3))
    drop-shadow(0 22px 42px rgba(0,0,0,.68));
}
.hero-glow { position: absolute; inset: 25% 20%; background: linear-gradient(135deg, rgba(238,32,94,.2), rgba(20,185,207,.14)); filter: blur(90px); }
.hero-needle-glint {
  position: absolute; z-index: 2; left: 71.8%; top: 62.8%; width: .16rem; height: 1.05rem;
  border-radius: 999px; pointer-events: none; opacity: 0;
  background: linear-gradient(180deg, rgba(255,255,255,0), #fff 26%, var(--cyan) 54%, var(--pink) 82%, rgba(255,255,255,0));
  filter: drop-shadow(-3px 0 5px rgba(238,32,94,.9)) drop-shadow(3px 0 5px rgba(20,185,207,.9));
  transform: translate(-50%,-50%) rotate(38deg) scaleY(.45);
  transform-origin: center;
  animation: needle-glint 4.8s ease-in-out 1.3s infinite;
}
.hero-needle-glint::before,
.hero-needle-glint::after {
  content: ""; position: absolute; left: 50%; top: 50%; border-radius: 999px;
  transform: translate(-50%,-50%); background: #fff;
}
.hero-needle-glint::before { width: 1.05rem; height: 1px; box-shadow: 0 0 7px var(--cyan); }
.hero-needle-glint::after { width: 1px; height: 1.05rem; box-shadow: 0 0 7px var(--pink); }
@keyframes needle-glint {
  0%,68%,100% { opacity: 0; transform: translate(-50%,-50%) rotate(38deg) scaleY(.35) scale(.72); }
  72% { opacity: .4; }
  74% { opacity: 1; transform: translate(-50%,-50%) rotate(38deg) scaleY(1) scale(1.12); }
  77% { opacity: .08; }
  80% { opacity: .82; transform: translate(-50%,-50%) rotate(38deg) scaleY(.78) scale(.92); }
  84% { opacity: 0; }
}
.hero-content { width: min(730px, 66vw); }
.eyebrow { margin: 0 0 1.3rem; color: #b8b8bd; font-size: .7rem; font-weight: 700; letter-spacing: .22em; text-transform: uppercase; }
.hero h1, .gallery-hero h1 {
  margin: 0; font-size: clamp(4.25rem, 9.5vw, 9.3rem); line-height: .88;
  letter-spacing: -.075em; font-weight: 660;
}
.hero h1 span, .gallery-hero h1 span { color: transparent; -webkit-text-stroke: 1px rgba(255,255,255,.68); }
.hero-copy { max-width: 500px; margin: 2.1rem 0 0; color: #c6c6ca; font-size: clamp(1.05rem, 1.7vw, 1.4rem); }
.hero-actions { display: flex; align-items: center; gap: 2rem; margin-top: 2.3rem; }
.button {
  position: relative; isolation: isolate; display: inline-flex; justify-content: center; align-items: center; gap: 1.25rem;
  min-height: 3.5rem; padding: .85rem 1.35rem; overflow: hidden;
  border: 1px solid rgba(255,255,255,.38); border-radius: 0;
  clip-path: polygon(.7rem 0, 100% 0, calc(100% - .7rem) 100%, 0 100%);
  font-size: .78rem; font-weight: 780; letter-spacing: .1em; text-transform: uppercase;
  transition: transform .22s ease, border-color .22s ease, filter .22s ease;
}
.button::before { content: ""; position: absolute; z-index: -1; inset: 0; background: linear-gradient(112deg, transparent 20%, rgba(255,255,255,.2) 45%, transparent 68%); transform: translateX(-120%); transition: transform .55s ease; }
.button::after { content: ""; position: absolute; left: 14%; right: 14%; bottom: 0; height: 1px; background: linear-gradient(90deg, var(--pink), #fff, var(--cyan)); }
.button:hover { transform: translateY(-2px); border-color: rgba(255,255,255,.72); filter: drop-shadow(-5px 0 10px rgba(238,32,94,.18)) drop-shadow(5px 0 10px rgba(20,185,207,.18)); }
.button:hover::before, .button:focus-visible::before { transform: translateX(120%); }
.button span { display: inline-grid; place-items: center; width: 1.65rem; height: 1.65rem; border: 1px solid rgba(255,255,255,.25); clip-path: polygon(.35rem 0,100% 0,calc(100% - .35rem) 100%,0 100%); animation: arrow-pulse 2.4s ease-in-out infinite; }
.button-primary { background: linear-gradient(145deg, #2b2b30, #08080a 58%, #17171b); color: #f7f6f2; border-color: rgba(255,255,255,.38); }
.button-quiet { margin-top: 2.5rem; }
.button-light { background: linear-gradient(145deg, #f4f3ef, #aaaab0 62%, #f7f7f4); color: #08080a; border-color: #fff; }
.button-light span { border-color: rgba(0,0,0,.3); }
.text-link { display: inline-flex; align-items: center; gap: .85rem; min-height: 3.5rem; padding: .8rem 1rem; color: #d5d5d8; border-left: 1px solid rgba(255,255,255,.25); font-size: .73rem; font-weight: 720; letter-spacing: .1em; text-transform: uppercase; transition: color .2s ease, border-color .2s ease; }
.text-link span { display: inline-grid; place-items: center; width: 1.7rem; height: 1.7rem; border: 1px solid rgba(255,255,255,.25); background: linear-gradient(145deg, rgba(238,32,94,.12), rgba(20,185,207,.12)); clip-path: polygon(.35rem 0,100% 0,calc(100% - .35rem) 100%,0 100%); animation: arrow-pulse 2.4s ease-in-out infinite .35s; }
.text-link:hover { color: #fff; border-color: var(--pink); }
.scroll-note { position: absolute; right: var(--gutter); bottom: 3rem; margin: 0; color: #66666b; font-size: .66rem; text-transform: uppercase; letter-spacing: .18em; writing-mode: vertical-rl; }

.artist-bridge {
  position: relative; isolation: isolate; width: min(calc(100% - 2rem), 1500px);
  height: clamp(34rem, 58vw, 48rem); margin: clamp(-2.5rem,-3vw,-1rem) auto 0;
  overflow: hidden; border-top: 1px solid rgba(255,255,255,.08); border-bottom: 1px solid rgba(255,255,255,.08);
  background: radial-gradient(circle at 50% 46%, rgba(255,255,255,.055), transparent 36%), #050505;
}
.artist-bridge::before,
.artist-bridge::after { content: ""; position: absolute; z-index: 2; inset: 0; pointer-events: none; }
.artist-bridge::before {
  background: linear-gradient(90deg,#050505 0,transparent 22%,transparent 78%,#050505 100%), linear-gradient(180deg,#050505 0,transparent 16%,transparent 76%,#050505 100%);
}
.artist-bridge::after {
  background: radial-gradient(circle at 45% 42%,rgba(238,32,94,.09),transparent 31%), radial-gradient(circle at 57% 52%,rgba(20,185,207,.07),transparent 29%);
  mix-blend-mode: screen;
}
.artist-bridge figure { position: relative; width: 100%; height: 100%; margin: 0; display: grid; place-items: center; }
.artist-bridge img {
  position: absolute; inset: 0; width: 100%; height: 100%; object-fit: contain; object-position: center; opacity: .54;
  filter: saturate(.62) contrast(1.08) brightness(.88);
  -webkit-mask-image: linear-gradient(180deg,transparent 0,#000 10%,#000 83%,transparent 100%);
  mask-image: linear-gradient(180deg,transparent 0,#000 10%,#000 83%,transparent 100%);
}
.artist-bridge figcaption {
  position: absolute; z-index: 3; left: 50%; bottom: clamp(1.5rem,4vw,3.5rem); width: min(92%, 44rem);
  display: grid; justify-items: center; gap: .28rem; text-align: center; transform: translateX(-50%);
}
.artist-bridge figcaption span { color: #aaaab0; font-size: .65rem; font-weight: 720; letter-spacing: .18em; text-transform: uppercase; }
.artist-bridge figcaption strong {
  position: relative; display: inline-block; padding: .02em .18em .12em;
  color: #f7f6f2; font-family: "Pirata One", Georgia, serif; font-size: clamp(2.7rem,6vw,5.8rem);
  font-weight: 400; letter-spacing: .045em; line-height: .84; white-space: nowrap;
  -webkit-text-stroke: 1px rgba(255,255,255,.34); paint-order: stroke fill;
  text-shadow: -.08em .07em 0 rgba(238,32,94,.68), .075em -.035em 0 rgba(20,185,207,.52), 0 .13em .3em rgba(0,0,0,.8);
  transform: skewX(-7deg) rotate(-1.5deg);
}
.artist-bridge figcaption strong::after {
  content: ""; position: absolute; z-index: -1; left: 2%; right: -1%; bottom: .03em; height: .13em;
  background: linear-gradient(90deg,var(--pink),#dafe00 54%,var(--cyan));
  clip-path: polygon(0 45%,93% 0,100% 68%,5% 100%); opacity: .88;
}

/* Customer direction: primary page and section headings sit on a centered axis. */
.brand-launch .hero-content { margin-inline: auto; text-align: center; }
.brand-launch .hero-copy { margin-inline: auto; }
.brand-launch .hero-actions { justify-content: center; }
.hero-content,
.section-head > *,
.artist-heading > *,
.gallery-hero > *,
.graffiti-hero > *,
.legal-hero > *,
.legal-content section { min-width: 0; max-width: 100%; }
.brand-launch .section-head,
.brand-launch .artist-heading { grid-template-columns: 1fr; justify-items: center; gap: 1.35rem; text-align: center; }
.brand-launch .section-head > p,
.brand-launch .artist-heading > p { margin-inline: auto; text-align: center; }
.brand-launch .section-head h2,
.brand-launch .artist-heading h2 { margin-inline: auto; text-align: center; }
.gallery-page .gallery-hero,
.legal-page .legal-hero { align-items: center; text-align: center; }
.gallery-page .gallery-hero p:last-child { margin-inline: auto; }
.gallery-page .gallery-note h2,
.gallery-page .contact h2,
.legal-page .legal-hero h1,
.legal-page .legal-content h2,
.graffiti-page .graffiti-hero-copy,
.graffiti-page .graffiti-manifest,
.graffiti-page .graffiti-outro { text-align: center; }
.legal-page .legal-hero h1,
.graffiti-page .graffiti-manifest h2 { margin-inline: auto; }
.graffiti-page .graffiti-hero-copy > p:not(.eyebrow) { margin-inline: auto; }

@media (min-width: 851px) {
  .brand-launch .hero { min-height: 61rem; align-items: end; padding-bottom: 5.5rem; }
  .brand-launch .hero::after {
    background: radial-gradient(circle at 50% 27%,rgba(255,255,255,.065),transparent 29%), linear-gradient(180deg,rgba(5,5,5,.04) 0 52%,#050505 70%);
  }
  .brand-launch .hero-art {
    left: 50%; right: auto; top: 5rem; width: min(30vw,23rem); height: 36%;
    transform: translateX(-50%);
  }
  .brand-launch .hero-content { width: min(52rem,82vw); }
}

.section { width: min(100%, calc(var(--max) + var(--gutter) * 2)); margin: auto; padding: clamp(6rem, 11vw, 10rem) var(--gutter); }
.section-head { display: grid; grid-template-columns: 1.4fr .6fr; gap: 4rem; align-items: end; margin-bottom: clamp(2.5rem, 6vw, 5rem); }
.section-head.compact { grid-template-columns: 1fr; }
.section h2, .gallery-note h2 {
  margin: 0; font-size: clamp(2.75rem, 6.3vw, 6.25rem); line-height: .96; letter-spacing: -.06em; font-weight: 620;
}
.section-head > p { margin: 0; max-width: 25rem; color: var(--muted); }
.work-section { border-top: 1px solid var(--line); }
.work-grid { display: grid; grid-template-columns: 1.15fr .85fr; grid-template-rows: auto auto; gap: clamp(1rem, 2.5vw, 2rem); }
.work-card { position: relative; min-height: 540px; overflow: hidden; border-radius: var(--radius); background: var(--surface); }
.work-card-tall { grid-row: span 2; min-height: 820px; }
.work-card-wide { min-height: 360px; }
.work-card img { width: 100%; height: 100%; object-fit: cover; transition: transform .7s cubic-bezier(.2,.7,.2,1), filter .5s ease; }
.work-card:hover img { transform: scale(1.025); filter: brightness(.82); }
.work-label { position: absolute; left: 1.35rem; right: 1.35rem; bottom: 1.25rem; display: flex; align-items: end; justify-content: space-between; gap: 1rem; text-shadow: 0 1px 10px #000; }
.work-label b { font-size: 1.05rem; }
.work-label small { font-size: .68rem; text-transform: uppercase; letter-spacing: .14em; color: #d2d2d2; }

.social-showcase { border-top: 1px solid var(--line); }
#social-title { scroll-margin-top: clamp(7rem, 14vw, 10rem); }
.social-grid { display: grid; grid-template-columns: 1.16fr .84fr; gap: clamp(1rem, 2.5vw, 2rem); }
.social-channel {
  position: relative; isolation: isolate; display: flex; flex-direction: column; min-height: 680px;
  padding: clamp(1rem, 2vw, 1.5rem); overflow: hidden; color: var(--text);
  border: 1px solid rgba(255,255,255,.16); background: #0b0b0e;
  clip-path: polygon(1.2rem 0, 100% 0, 100% calc(100% - 1.2rem), calc(100% - 1.2rem) 100%, 0 100%, 0 1.2rem);
  transition: border-color .3s ease, transform .35s cubic-bezier(.16,1,.3,1), filter .3s ease;
}
.social-channel::before {
  content: ""; position: absolute; z-index: -2; inset: -35%;
  background: conic-gradient(from 25deg, transparent 12%, rgba(238,32,94,.2), transparent 38%, rgba(20,185,207,.18), transparent 70%);
  filter: blur(42px); opacity: .38; animation: social-halo 12s linear infinite;
}
.social-channel::after { content: ""; position: absolute; z-index: -1; inset: 1px; background: linear-gradient(150deg, rgba(255,255,255,.045), #08080a 48%, rgba(255,255,255,.018)); clip-path: inherit; }
.social-channel:hover { transform: translateY(-5px); border-color: rgba(255,255,255,.38); filter: drop-shadow(-8px 0 20px rgba(238,32,94,.12)) drop-shadow(8px 0 20px rgba(20,185,207,.12)); }
.social-channel-head, .social-channel-foot { position: relative; z-index: 2; display: flex; align-items: center; justify-content: space-between; gap: 1rem; }
.social-channel-head b { font-size: clamp(1.1rem, 2vw, 1.55rem); letter-spacing: -.02em; }
.social-channel-head small { color: #aaaab0; font-size: .65rem; letter-spacing: .12em; text-transform: uppercase; }
.social-channel-head::after { content: ""; position: absolute; left: 0; right: 0; bottom: -.75rem; height: 1px; background: linear-gradient(90deg, var(--pink), rgba(255,255,255,.18) 42%, var(--cyan)); opacity: .62; }
.social-collage { position: relative; display: block; flex: 1; min-height: 500px; margin: 1.6rem 0 1rem; perspective: 1000px; }
.social-tile { position: absolute; display: block; object-fit: cover; border: 1px solid rgba(255,255,255,.18); box-shadow: 0 18px 40px rgba(0,0,0,.58); transition: transform .6s cubic-bezier(.16,1,.3,1), filter .4s ease; }
.social-tile-one { left: 0; top: 5%; width: 53%; height: 78%; transform: rotate(-2.5deg); }
.social-tile-two { right: 0; top: 0; width: 47%; height: 58%; transform: rotate(2deg); }
.social-tile-three { right: 4%; bottom: 0; width: 49%; height: 43%; transform: rotate(-1deg); }
.social-facebook .social-tile-one { width: 62%; height: 77%; }
.social-facebook .social-tile-two { width: 43%; height: 53%; }
.social-facebook .social-tile-three { width: 58%; height: 41%; }
.social-channel:hover .social-tile-one { transform: translate(-5px,-7px) rotate(-3.5deg) scale(1.018); }
.social-channel:hover .social-tile-two { transform: translate(5px,-5px) rotate(3deg) scale(1.018); }
.social-channel:hover .social-tile-three { transform: translate(4px,6px) rotate(-1.8deg) scale(1.018); }
.social-channel-foot > span { display: grid; gap: .2rem; }
.social-channel-foot b { font-size: .85rem; letter-spacing: .08em; text-transform: uppercase; }
.social-channel-foot small { color: var(--muted); }
.social-channel-foot i { display: grid; place-items: center; width: 2.8rem; height: 2.8rem; flex: 0 0 auto; border: 1px solid rgba(255,255,255,.28); background: linear-gradient(145deg, rgba(238,32,94,.15), #111115 50%, rgba(20,185,207,.15)); clip-path: polygon(.55rem 0,100% 0,calc(100% - .55rem) 100%,0 100%); font-style: normal; text-shadow: -1px 0 7px var(--pink), 1px 0 7px var(--cyan); animation: arrow-pulse 2.5s ease-in-out infinite; }
.social-facebook .social-channel-foot i { animation-delay: .55s; }
@keyframes social-halo { to { transform: rotate(360deg); } }

.reviews {
  position: relative; overflow: hidden; border-top: 1px solid var(--line);
  background: linear-gradient(115deg,transparent 0 38%,rgba(255,255,255,.018) 38.2% 38.7%,transparent 39%), radial-gradient(circle at 14% 30%,rgba(238,32,94,.1),transparent 28%), radial-gradient(circle at 87% 70%,rgba(20,185,207,.09),transparent 28%);
}
.reviews::before { content: "VOICE"; position: absolute; left: 50%; top: 50%; color: rgba(255,255,255,.022); font-family: "Pirata One",Georgia,serif; font-size: min(25vw,20rem); line-height: .7; transform: translate(-50%,-50%) rotate(-5deg); pointer-events: none; }
.reviews-heading { position: relative; z-index: 1; max-width: 56rem; margin: 0 auto clamp(2.8rem,6vw,5rem); text-align: center; }
.reviews-heading h2 { margin-inline: auto; }
.reviews-heading > p:last-child { max-width: 42rem; margin: 1.4rem auto 0; color: var(--muted); font-size: clamp(1rem,1.6vw,1.2rem); }
.reviews-controls { position: relative; z-index: 2; display: flex; justify-content: center; align-items: center; gap: .85rem; margin: -1.4rem 0 1.5rem; }
.reviews-controls > span { color: #89898f; font-size: .64rem; font-weight: 760; letter-spacing: .15em; text-transform: uppercase; }
.reviews-arrow { display: grid; place-items: center; width: 2.7rem; aspect-ratio: 1; border: 1px solid rgba(255,255,255,.25); border-radius: 50%; color: var(--text); background: rgba(12,12,14,.86); font-size: 1rem; cursor: pointer; transition: border-color .2s ease,color .2s ease,transform .2s ease,opacity .2s ease; }
.reviews-arrow:hover,.reviews-arrow:focus-visible { border-color: rgba(255,255,255,.7); color: #fff; transform: scale(1.05); }
.reviews-arrow:disabled { opacity: .28; cursor: default; transform: none; }
.reviews-track { position: relative; z-index: 1; display: flex; gap: clamp(1rem,2.2vw,1.7rem); margin-inline: calc(var(--gutter) * -1); padding: .7rem var(--gutter) 1.7rem; overflow-x: auto; overscroll-behavior-inline: contain; scroll-behavior: smooth; scroll-padding-inline: var(--gutter); scroll-snap-type: x mandatory; scrollbar-width: thin; scrollbar-color: rgba(255,255,255,.28) transparent; }
.review-card { position: relative; flex: 0 0 clamp(19rem,32vw,27rem); min-width: 0; min-height: 23rem; margin: 0; padding: clamp(1.5rem,3vw,2.4rem); border: 1px solid rgba(255,255,255,.22); color: var(--text); background: linear-gradient(145deg,rgba(255,255,255,.075),rgba(10,10,12,.94) 47%,rgba(20,185,207,.035)); clip-path: polygon(.75rem 0,100% 0,100% calc(100% - .75rem),calc(100% - .75rem) 100%,0 100%,0 .75rem); box-shadow: inset 0 1px rgba(255,255,255,.1),10px 12px 0 rgba(0,0,0,.35); scroll-snap-align: center; }
.review-card::after { content: ""; position: absolute; left: 1.4rem; right: 1.4rem; bottom: 0; height: 2px; background: linear-gradient(90deg,var(--pink),#f2f1ed,var(--cyan)); }
.review-card-kicker { display: block; color: #c9c9ce; font-size: .66rem; font-weight: 780; letter-spacing: .17em; text-transform: uppercase; }
.review-score { display: flex; flex: 0 0 clamp(18rem,24vw,21rem); flex-direction: column; justify-content: end; transform: rotate(-.6deg); }
.review-score-value { display: flex; align-items: end; gap: .45rem; margin-top: auto; line-height: .85; }
.review-score-value strong { font-family: "Pirata One",Georgia,serif; font-size: clamp(5rem,8vw,7.5rem); font-weight: 400; text-shadow: -3px 3px 0 rgba(238,32,94,.42),3px -2px 0 rgba(20,185,207,.25); }
.review-score-value span { margin-bottom: .7rem; color: var(--muted); font-size: 1rem; }
.review-stars { margin: 1.2rem 0 .35rem; color: #e8c578; font-size: 1.15rem; letter-spacing: .22em; }
.review-score > p:last-child { margin: 0; color: var(--muted); font-size: .82rem; }
.review-quote { display: flex; flex-direction: column; justify-content: space-between; transform: rotate(.35deg); }
.review-quote:nth-of-type(odd) { transform: rotate(-.35deg); }
.review-card-top { display: flex; justify-content: space-between; align-items: start; gap: 1rem; }
.review-mark { display: grid; place-items: center; width: 2.8rem; aspect-ratio: 1; border: 1px solid rgba(255,255,255,.24); color: #09090a; background: #f2f1ed; font-family: "Pirata One",Georgia,serif; font-size: 1rem; box-shadow: -4px 4px 0 var(--pink),4px -4px 0 var(--cyan); }
.review-quote blockquote { margin: auto 0; padding: 2rem 0; font-family: "Pirata One",Georgia,serif; font-size: clamp(2.35rem,3.5vw,3.5rem); line-height: 1.02; text-wrap: balance; }
.review-quote figcaption { color: var(--muted); font-size: .74rem; letter-spacing: .08em; text-transform: uppercase; }
.review-cta { display: flex; flex: 0 0 clamp(19rem,27vw,23rem); flex-direction: column; justify-content: space-between; transform: rotate(-.35deg); transition: transform .25s ease,border-color .25s ease,filter .25s ease; }
.review-cta:hover,.review-cta:focus-visible { transform: translateY(-5px) rotate(0); border-color: rgba(255,255,255,.6); filter: drop-shadow(-7px 0 15px rgba(238,32,94,.14)) drop-shadow(7px 0 15px rgba(20,185,207,.14)); }
.review-cta > strong { font-family: "Pirata One",Georgia,serif; font-size: clamp(2.6rem,4vw,4rem); font-weight: 400; line-height: .9; text-shadow: -3px 3px 0 rgba(238,32,94,.38),3px -2px 0 rgba(20,185,207,.24); }
.review-cta-link { display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding-top: 1rem; border-top: 1px solid var(--line); font-size: .74rem; font-weight: 780; letter-spacing: .12em; text-transform: uppercase; }
.review-cta-link i { font-style: normal; font-size: 1.15rem; }
.reviews-source { position: relative; z-index: 1; max-width: 46rem; margin: 2rem auto 0; color: #77777d; font-size: .72rem; line-height: 1.55; text-align: center; }

.story { position: relative; border-top: 1px solid var(--line); }
.story::before { content: ""; position: absolute; right: 8%; top: 10%; width: 16rem; aspect-ratio: 1; border-radius: 50%; background: radial-gradient(circle, rgba(238,32,94,.11), transparent 70%); filter: blur(20px); }
.artist-heading { display: grid; grid-template-columns: 1.4fr .6fr; gap: 4rem; align-items: end; margin-bottom: clamp(3rem, 7vw, 6rem); }
.artist-heading p { max-width: 24rem; margin: 0 0 .6rem; color: var(--muted); font-size: clamp(1.05rem, 1.8vw, 1.35rem); }
.artist-layout { display: grid; grid-template-columns: .92fr 1.08fr; gap: clamp(2rem, 7vw, 7rem); align-items: start; }
.artist-portrait { position: relative; margin: 0; }
.artist-portrait::before { content: ""; position: absolute; z-index: 2; inset: 1rem -1rem -1rem 1rem; border: 1px solid rgba(255,255,255,.11); border-radius: var(--radius); pointer-events: none; }
.artist-portrait::after { content: ""; position: absolute; z-index: 3; width: 40%; height: 2px; right: -1rem; bottom: -1rem; background: linear-gradient(90deg, var(--pink), var(--cyan)); }
.artist-portrait img { width: 100%; height: clamp(34rem, 55vw, 46rem); object-fit: cover; object-position: center; border-radius: var(--radius); filter: contrast(1.08); }
.artist-portrait figcaption { position: absolute; z-index: 4; left: 1.2rem; right: 1.2rem; bottom: 1rem; display: flex; justify-content: space-between; align-items: end; gap: 1rem; text-shadow: 0 2px 12px #000; }
.artist-portrait figcaption span { font-size: 1.05rem; font-weight: 750; letter-spacing: .12em; text-transform: uppercase; }
.artist-portrait figcaption small { color: #d0d0d3; font-size: .64rem; letter-spacing: .12em; text-transform: uppercase; }
.artist-copy { max-width: 39rem; padding-top: clamp(.5rem, 2vw, 2rem); color: var(--muted); }
.artist-copy p { margin: 0 0 1.25rem; }
.artist-copy .artist-intro { margin-bottom: 2rem; color: var(--text); font-size: clamp(1.6rem, 3.1vw, 2.8rem); line-height: 1.08; letter-spacing: -.04em; }
.artist-signature { display: flex; align-items: center; gap: 1.4rem; margin-top: 2.8rem; padding-top: 1.5rem; border-top: 1px solid var(--line); }
.artist-signature strong { color: transparent; font-size: clamp(2.2rem, 5vw, 4.8rem); line-height: 1; letter-spacing: -.07em; -webkit-text-stroke: 1px rgba(255,255,255,.72); }
.artist-signature span { color: #d1d1d4; font-size: .72rem; line-height: 1.45; letter-spacing: .12em; text-transform: uppercase; }
.artist-statement { margin: clamp(5rem, 10vw, 9rem) 0 0 18%; padding-left: 5vw; border-left: 1px solid var(--pink); font-size: clamp(2rem, 5.4vw, 5.25rem); line-height: .98; letter-spacing: -.055em; }

.styles { border-top: 1px solid var(--line); }
.style-list { border-top: 1px solid var(--line); }
.style-list a { display: grid; grid-template-columns: 4.25rem 1fr 1fr 2rem; gap: 1.5rem; align-items: center; padding: 1.7rem 0; border-bottom: 1px solid var(--line); }
.style-list a > span,
.process-list li > span {
  position: relative; isolation: isolate; display: inline-grid; place-items: center;
  width: 3.4rem; height: 2.55rem; color: #f2f1ee;
  border: 1px solid rgba(255,255,255,.3);
  background: linear-gradient(145deg, #242429 0%, #08080a 47%, #17171b 100%);
  clip-path: polygon(.55rem 0, calc(100% - .35rem) 0, 100% .45rem, calc(100% - .55rem) 100%, .35rem 100%, 0 calc(100% - .45rem));
  font-family: Georgia, "Times New Roman", serif; font-size: .82rem; font-weight: 800;
  font-style: italic; letter-spacing: .08em; line-height: 1;
  text-shadow: -1px 0 8px rgba(238,32,94,.72), 1px 0 8px rgba(20,185,207,.72);
  filter: drop-shadow(0 6px 10px rgba(0,0,0,.4));
  transition: border-color .22s ease, filter .22s ease, transform .22s ease;
}
.style-list a > span::before,
.process-list li > span::before {
  content: ""; position: absolute; z-index: -1; inset: 2px;
  background: linear-gradient(105deg, rgba(238,32,94,.2), transparent 43%, rgba(20,185,207,.2));
  clip-path: inherit;
}
.style-list a > span::after,
.process-list li > span::after {
  content: ""; position: absolute; left: 18%; right: 18%; bottom: .35rem; height: 1px;
  background: linear-gradient(90deg, var(--pink), rgba(255,255,255,.75), var(--cyan));
  opacity: .75;
}
.style-list a:hover > span { border-color: rgba(255,255,255,.58); filter: drop-shadow(-4px 0 9px rgba(238,32,94,.28)) drop-shadow(4px 0 9px rgba(20,185,207,.28)); transform: translateY(-1px); }
.style-list b { font-size: clamp(1.2rem, 2.4vw, 2rem); letter-spacing: -.03em; }
.style-list em { color: var(--muted); font-style: normal; font-size: .88rem; }
.style-list i { display: grid; place-items: center; width: 2.25rem; height: 2.25rem; color: #fff; border: 1px solid rgba(255,255,255,.24); background: linear-gradient(145deg, rgba(238,32,94,.13), #101014 52%, rgba(20,185,207,.13)); clip-path: polygon(.45rem 0,100% 0,calc(100% - .45rem) 100%,0 100%); font-style: normal; text-shadow: -1px 0 7px var(--pink), 1px 0 7px var(--cyan); animation: arrow-pulse 2.55s ease-in-out infinite; transition: border-color .2s ease, filter .2s ease; }
.style-list a:nth-child(even) i { animation-delay: .45s; }
.style-list a:hover i { border-color: rgba(255,255,255,.62); filter: drop-shadow(-4px 0 8px rgba(238,32,94,.22)) drop-shadow(4px 0 8px rgba(20,185,207,.22)); }

.process { border-top: 1px solid var(--line); }
.process-list { list-style: none; padding: 0; margin: 0 0 0 23%; border-top: 1px solid var(--line); }
.process-list li { display: grid; grid-template-columns: 4.25rem 1fr; gap: 2rem; padding: 2.2rem 0; border-bottom: 1px solid var(--line); }
.process-list h3 { margin: 0 0 .45rem; font-size: clamp(1.35rem, 2.5vw, 2rem); }
.process-list p { margin: 0; max-width: 42rem; color: var(--muted); }

.contact {
  isolation: isolate; width: min(calc(100% - 2rem), 1500px); max-width: none; margin-bottom: 1rem; position: relative; overflow: hidden; text-align: center;
  background: radial-gradient(circle at 50% 48%, rgba(255,255,255,.06), transparent 31%), linear-gradient(140deg, #101012 8%, #151518 48%, #0d0d0f 100%);
  border: 1px solid rgba(255,255,255,.14); border-radius: 0;
  clip-path: polygon(2.2rem 0, calc(100% - 2.2rem) 0, 100% 2.2rem, 100% calc(100% - 2.2rem), calc(100% - 2.2rem) 100%, 2.2rem 100%, 0 calc(100% - 2.2rem), 0 2.2rem);
}
.contact::before { content: ""; position: absolute; z-index: -1; inset: 0; background: linear-gradient(90deg, var(--pink), transparent 18%, transparent 82%, var(--cyan)) top / 100% 1px no-repeat, linear-gradient(90deg, var(--cyan), transparent 18%, transparent 82%, var(--pink)) bottom / 100% 1px no-repeat; opacity: .72; }
.contact::after { content: ""; position: absolute; z-index: -2; inset: 0; background: repeating-linear-gradient(118deg, transparent 0 28px, rgba(255,255,255,.012) 29px 30px), radial-gradient(circle at 50% 50%, rgba(238,32,94,.055), transparent 33%), radial-gradient(circle at 61% 44%, rgba(20,185,207,.045), transparent 28%); }
.contact > :not(.contact-orbit):not(.contact-sigil) { position: relative; z-index: 2; }
.contact h2 { font-size: clamp(3.5rem, 9vw, 8.8rem); text-shadow: -10px 0 32px rgba(238,32,94,.06), 10px 0 32px rgba(20,185,207,.07); }
.contact > p:not(.eyebrow) { max-width: 38rem; margin: 1.5rem auto 0; color: var(--muted); }
.contact-actions { display: flex; align-items: center; justify-content: center; gap: 2rem; margin-top: 2.5rem; }
.whatsapp-contact { display: grid; gap: .72rem; }
.whatsapp-number {
  display: flex; align-items: baseline; justify-content: center; gap: .7rem; min-height: 2.25rem;
  color: #d7d7da; letter-spacing: .04em; transition: color .2s ease;
}
.whatsapp-number span { color: #919198; font-size: .65rem; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; }
.whatsapp-number strong { color: #f5f5f2; font-size: 1.08rem; letter-spacing: .035em; }
.whatsapp-number:hover, .whatsapp-number:focus-visible { color: #25d366; }
.whatsapp-number:hover strong, .whatsapp-number:focus-visible strong { color: #25d366; }
.whatsapp-button { color: #effff4; border-color: rgba(37,211,102,.58); background: linear-gradient(145deg,#173323,#08110c 64%,#102719); }
.whatsapp-button::after { background: linear-gradient(90deg,transparent,#25d366,transparent); }
.whatsapp-button .whatsapp-icon { color: #25d366; filter: drop-shadow(0 0 7px rgba(37,211,102,.4)); }
.contact-orbit { position: absolute; z-index: 0; width: 42rem; aspect-ratio: 1; left: 50%; top: 50%; transform: translate(-50%,-50%) rotate(45deg); border: 1px solid rgba(255,255,255,.09); pointer-events: none; animation: contact-orbit 22s linear infinite; }
.contact-orbit::before, .contact-orbit::after { content: ""; position: absolute; inset: 9%; border: 1px solid rgba(255,255,255,.045); }
.contact-orbit::after { inset: 19%; border-color: rgba(255,255,255,.065); transform: rotate(45deg); }
.contact-sigil { position: absolute; z-index: 0; left: 50%; top: 50%; width: min(26rem, 52vw); height: auto; transform: translate(-50%,-48%); opacity: .035; filter: grayscale(1) contrast(1.4); pointer-events: none; }
@keyframes contact-orbit { to { transform: translate(-50%,-50%) rotate(405deg); } }

.site-footer { position: relative; display: grid; grid-template-columns: 1fr auto; gap: 3rem; padding: 4rem var(--gutter) 2rem; color: var(--muted); font-size: .8rem; }
.site-footer::before { content: ""; position: absolute; top: 0; right: var(--gutter); left: var(--gutter); height: 1px; background: linear-gradient(90deg, transparent, rgba(238,32,94,.55) 32%, rgba(255,255,255,.22) 50%, rgba(20,185,207,.55) 68%, transparent); }
.footer-brand {
  position: relative; isolation: isolate; display: inline-grid; grid-template-columns: 4.5rem auto; align-items: center;
  width: fit-content; min-width: min(100%, 22rem); padding: .6rem 1.35rem .6rem .55rem;
  border: 1px solid rgba(255,255,255,.2); background: linear-gradient(145deg, rgba(255,255,255,.075), rgba(255,255,255,.018) 58%, rgba(20,185,207,.04));
  clip-path: polygon(.8rem 0, 100% 0, 100% calc(100% - .8rem), calc(100% - .8rem) 100%, 0 100%, 0 .8rem);
  transition: border-color .3s ease, transform .35s cubic-bezier(.16,1,.3,1), filter .3s ease;
}
.footer-brand::after { content: ""; position: absolute; z-index: -1; right: .75rem; bottom: 0; left: .75rem; height: 1px; background: linear-gradient(90deg, var(--pink), rgba(255,255,255,.65), var(--cyan)); box-shadow: -2rem 0 14px rgba(238,32,94,.24), 2rem 0 14px rgba(20,185,207,.22); }
.footer-brand-link:hover { transform: translateY(-3px); border-color: rgba(255,255,255,.42); filter: drop-shadow(-6px 0 12px rgba(238,32,94,.1)) drop-shadow(6px 0 12px rgba(20,185,207,.1)); }
.footer-brand-logo { width: 3.7rem; height: 4.65rem; object-fit: contain; filter: contrast(1.1) drop-shadow(-3px 0 7px rgba(238,32,94,.2)) drop-shadow(3px 0 7px rgba(20,185,207,.18)); }
.footer-brand-copy { display: grid; gap: .28rem; min-width: 0; }
.footer-brand-copy strong { color: #fff; font-size: .88rem; font-weight: 760; letter-spacing: .045em; text-transform: uppercase; }
.footer-brand-copy small { color: #a9a9ae; font-size: .63rem; letter-spacing: .075em; text-transform: uppercase; }
.site-footer nav { display: flex; gap: .7rem; }
.footer-social-link {
  position: relative; display: grid; grid-template-columns: 2.15rem auto 1.15rem; align-items: center; gap: .65rem;
  min-width: 10.8rem; padding: .48rem .62rem .48rem .48rem; overflow: hidden;
  border: 1px solid rgba(255,255,255,.18); background: linear-gradient(145deg, rgba(255,255,255,.065), rgba(255,255,255,.012));
  clip-path: polygon(.55rem 0, 100% 0, 100% calc(100% - .55rem), calc(100% - .55rem) 100%, 0 100%, 0 .55rem);
  color: #e9e9eb; font-size: .64rem; font-weight: 750; letter-spacing: .12em; text-transform: uppercase;
  transition: transform .3s cubic-bezier(.16,1,.3,1), border-color .3s ease, color .3s ease;
}
.footer-social-link::after { content: ""; position: absolute; right: .5rem; bottom: 0; left: .5rem; height: 1px; background: linear-gradient(90deg, var(--pink), rgba(255,255,255,.5), var(--cyan)); opacity: .78; }
.footer-social-link:hover { transform: translateY(-3px); border-color: rgba(255,255,255,.42); color: #fff; }
.footer-social-icon { display: grid; place-items: center; width: 2.15rem; aspect-ratio: 1; background: #09090b; border: 1px solid rgba(255,255,255,.24); transform: skewX(-7deg); box-shadow: inset 0 0 16px rgba(255,255,255,.035); }
.footer-social-icon svg { width: 1.08rem; height: 1.08rem; overflow: visible; transform: skewX(7deg); fill: none; stroke: currentColor; stroke-width: 1.7; }
.footer-social-instagram .footer-social-icon { color: #f14a78; filter: drop-shadow(0 0 6px rgba(238,32,94,.32)); }
.footer-social-facebook .footer-social-icon { color: #58d2e2; filter: drop-shadow(0 0 6px rgba(20,185,207,.3)); }
.footer-social-facebook svg { fill: currentColor; stroke: none; }
.footer-social-icon .social-icon-dot { fill: currentColor; stroke: none; }
.footer-social-link i { justify-self: end; display: grid; place-items: center; width: 1.1rem; aspect-ratio: 1; color: #fff; font-style: normal; transition: transform .3s ease; }
.footer-social-link:hover i { transform: translate(2px,-2px); }
.footer-note { max-width: 35rem; font-style: normal; line-height: 1.7; }
.footer-note a { color: #d8d8dc; text-decoration: underline; text-decoration-color: rgba(20,185,207,.5); text-underline-offset: .24rem; }
.site-footer > p:last-child { text-align: right; }
.footer-credit {
  position: relative; display: inline-flex; align-items: center; gap: .65rem; margin-top: .65rem; padding: .48rem .72rem .48rem .8rem;
  border: 1px solid rgba(255,255,255,.18); background: linear-gradient(135deg, rgba(255,255,255,.055), rgba(0,139,194,.04));
  color: #f2f2f2; font-size: .6rem; font-weight: 700; letter-spacing: .06em; text-transform: none;
  transition: border-color .3s ease, transform .3s cubic-bezier(.16,1,.3,1), background .3s ease;
}
.footer-credit::before { content: ""; position: absolute; top: -1px; bottom: -1px; left: -1px; width: 2px; background: linear-gradient(var(--pink), var(--cyan)); box-shadow: 0 0 10px rgba(20,185,207,.25); }
.footer-credit img { width: 7.6rem; height: auto; }
.footer-credit:hover { transform: translateY(-2px); border-color: rgba(255,255,255,.38); background: linear-gradient(135deg, rgba(255,255,255,.08), rgba(0,139,194,.07)); }
.footer-legal-links { display: flex; justify-content: inherit; gap: 1rem; margin-top: .7rem; }
.footer-legal-links a { color: #c7c7cb; text-decoration: underline; text-decoration-color: rgba(255,255,255,.24); text-underline-offset: .25rem; }
.footer-legal-links a:hover { color: #fff; text-decoration-color: var(--cyan); }
.compact-footer { align-items: center; }

.graffiti-teaser {
  display: grid; grid-template-columns: .72fr 1.28fr; gap: clamp(2.5rem, 7vw, 8rem); align-items: center;
  border-top: 1px solid var(--line); overflow: hidden;
}
.graffiti-teaser-copy { text-align: center; }
.graffiti-teaser-copy h2 { width: 100%; margin: 0 auto; font-size: clamp(3.2rem, 6.7vw, 6.9rem); line-height: .91; letter-spacing: -.065em; text-align: center; text-wrap: balance; }
.graffiti-teaser-copy > p:not(.eyebrow) { max-width: 31rem; margin: 1.5rem auto 2rem; color: var(--muted); text-align: center; }
.graffiti-teaser-art { position: relative; min-height: clamp(34rem, 52vw, 46rem); isolation: isolate; }
.graffiti-teaser-art::before { content: ""; position: absolute; z-index: -1; inset: 10% 2% 6% 9%; border: 1px solid rgba(255,255,255,.12); background: radial-gradient(circle at 18% 20%, rgba(238,32,94,.18), transparent 30%), radial-gradient(circle at 83% 76%, rgba(20,185,207,.16), transparent 33%); transform: skew(-3deg); }
.graffiti-teaser-art img { position: absolute; object-fit: cover; border: 1px solid rgba(255,255,255,.2); box-shadow: 0 24px 54px rgba(0,0,0,.48); transition: transform .55s cubic-bezier(.16,1,.3,1), filter .35s ease; }
.graffiti-teaser-one { z-index: 2; left: 0; top: 12%; width: 66%; height: 54%; transform: rotate(-3deg); }
.graffiti-teaser-two { z-index: 1; right: 0; top: 3%; width: 56%; height: 38%; transform: rotate(4deg); }
.graffiti-teaser-three { z-index: 3; right: 7%; bottom: 0; width: 39%; height: 53%; transform: rotate(2deg); }
.graffiti-teaser-art:hover .graffiti-teaser-one { transform: rotate(-4deg) translate(-5px,-6px); }
.graffiti-teaser-art:hover .graffiti-teaser-two { transform: rotate(5deg) translate(5px,-4px); }
.graffiti-teaser-art:hover .graffiti-teaser-three { transform: rotate(1deg) translate(4px,6px); }
.graffiti-teaser-art > span { position: absolute; z-index: 5; left: 3%; bottom: 5%; padding: .6rem .8rem; background: #050505; border-left: 2px solid var(--pink); color: #fff; font-size: .62rem; font-weight: 800; letter-spacing: .18em; }

.graffiti-hero { position: relative; min-height: 100svh; display: grid; grid-template-columns: .72fr 1.28fr; align-items: center; gap: 3vw; padding: 9rem var(--gutter) 5rem; overflow: hidden; isolation: isolate; }
.graffiti-hero::before { content: ""; position: absolute; z-index: -2; inset: 0; background: radial-gradient(circle at 82% 18%, rgba(238,32,94,.17), transparent 28%), radial-gradient(circle at 67% 73%, rgba(20,185,207,.13), transparent 31%), linear-gradient(110deg,#050505 0 38%,#0a0a0c 76%,#050505); }
.graffiti-hero-copy { position: relative; z-index: 5; }
.graffiti-hero h1 { margin: 0; font-size: clamp(4.5rem, 9vw, 9rem); line-height: .85; letter-spacing: -.08em; }
.graffiti-hero h1 span { color: transparent; -webkit-text-stroke: 1px rgba(255,255,255,.7); }
.graffiti-hero-copy > p:not(.eyebrow) { max-width: 35rem; margin: 2rem 0; color: #c0c0c5; font-size: clamp(1rem,1.5vw,1.25rem); }
.graffiti-hero-collage { position: relative; min-height: min(72vw, 48rem); }
.graffiti-hero-collage::after { content: ""; position: absolute; inset: 7% 4% 4% 10%; border: 1px solid rgba(255,255,255,.13); transform: rotate(-2deg); }
.graffiti-hero-collage img { position: absolute; object-fit: cover; border: 1px solid rgba(255,255,255,.24); box-shadow: 0 28px 64px rgba(0,0,0,.55); }
.graffiti-hero-a { z-index: 2; left: 0; top: 13%; width: 70%; height: 55%; transform: rotate(-4deg); }
.graffiti-hero-b { z-index: 3; right: 0; top: 5%; width: 43%; height: 61%; transform: rotate(4deg); }
.graffiti-hero-c { z-index: 4; right: 4%; bottom: 2%; width: 73%; height: 33%; transform: rotate(-1deg); }
.graffiti-hero-collage span { position: absolute; z-index: 6; top: 3%; left: 5%; writing-mode: vertical-rl; color: rgba(255,255,255,.7); font-size: .58rem; font-weight: 800; letter-spacing: .25em; }
.graffiti-manifest { display: grid; grid-template-columns: .42fr 1.58fr; gap: 5vw; align-items: start; border-block: 1px solid var(--line); background: linear-gradient(130deg, rgba(238,32,94,.04), transparent 35%, rgba(20,185,207,.035)); }
.graffiti-manifest h2, .graffiti-outro h2 { margin: 0; font-size: clamp(3.2rem, 7vw, 7rem); line-height: .9; letter-spacing: -.07em; }
.graffiti-manifest div > p { max-width: 45rem; color: var(--muted); font-size: 1.08rem; }
.graffiti-collage { display: grid; grid-template-columns: repeat(12,minmax(0,1fr)); grid-auto-rows: 3.8vw; grid-auto-flow: dense; gap: clamp(.75rem,1.4vw,1.4rem); padding: clamp(3rem,6vw,6rem) var(--gutter); }
.graffiti-piece { position: relative; grid-column: span 4; grid-row: span 9; margin: 0; overflow: hidden; background: #0c0c0e; border: 1px solid rgba(255,255,255,.12); clip-path: polygon(.8rem 0,100% 0,100% calc(100% - .8rem),calc(100% - .8rem) 100%,0 100%,0 .8rem); }
.graffiti-piece-wide { grid-column: span 7; grid-row: span 10; }
.graffiti-piece-portrait { grid-column: span 5; grid-row: span 14; }
.graffiti-piece-panorama { grid-column: span 8; grid-row: span 7; }
.graffiti-piece-square { grid-column: span 4; grid-row: span 9; }
.graffiti-piece-tall { grid-column: span 3; grid-row: span 15; }
.graffiti-piece-archive { grid-column: span 5; grid-row: span 17; }
.graffiti-piece-lead { grid-row: span 13; }
.graffiti-piece-last { grid-column: span 9; }
.graffiti-piece button { width: 100%; height: 100%; padding: 0; border: 0; background: #0c0c0e; cursor: zoom-in; }
.graffiti-piece img { width: 100%; height: 100%; object-fit: cover; filter: saturate(.92) contrast(1.03); transition: transform .6s cubic-bezier(.16,1,.3,1), filter .35s ease; }
.graffiti-piece-archive img { object-fit: contain; background: #dedbd3; }
.graffiti-piece:hover img { transform: scale(1.025); filter: saturate(1.08) contrast(1.04); }
.graffiti-piece figcaption { position: absolute; z-index: 2; inset: auto 0 0; display: flex; justify-content: space-between; align-items: end; gap: 1rem; padding: 2.8rem 1rem .9rem; background: linear-gradient(transparent,rgba(0,0,0,.9)); pointer-events: none; }
.graffiti-piece figcaption b { font-size: .72rem; letter-spacing: .14em; text-transform: uppercase; }
.graffiti-piece figcaption span { color: #b9b9be; font-size: .62rem; letter-spacing: .1em; text-align: right; text-transform: uppercase; }
.graffiti-piece::after { content: ""; position: absolute; z-index: 3; right: .6rem; top: .6rem; width: 1.5rem; height: 1px; background: linear-gradient(90deg,var(--pink),var(--cyan)); box-shadow: 0 0 10px rgba(238,32,94,.4); pointer-events: none; }
.graffiti-outro { position: relative; text-align: center; overflow: hidden; background: radial-gradient(circle at 50% 50%,rgba(238,32,94,.11),transparent 30%),radial-gradient(circle at 58% 55%,rgba(20,185,207,.09),transparent 32%); }
.graffiti-outro .contact-actions { justify-content: center; margin-top: 2.5rem; }
.graffiti-lightbox { width: min(94vw,1200px); }

/* Graffiti page: deliberately louder than the tattoo portfolio. */
.graffiti-page { background-color: #070708; background-image: repeating-linear-gradient(113deg,transparent 0 31px,rgba(255,255,255,.012) 32px 33px); }
.graffiti-page h1,
.graffiti-page h2 { font-family: "Pirata One", Georgia, serif; font-weight: 400; font-synthesis: none; text-rendering: geometricPrecision; }
.graffiti-page .site-header { background: rgba(3,3,4,.88); }
.graffiti-hero { min-height: 104svh; border-bottom: 0; }
.graffiti-hero::before { background: radial-gradient(circle at 91% 8%,rgba(218,255,0,.17),transparent 20%),radial-gradient(circle at 73% 27%,rgba(238,32,94,.25),transparent 28%),radial-gradient(circle at 58% 82%,rgba(20,185,207,.17),transparent 24%),linear-gradient(112deg,#040405 0 39%,#15100f 72%,#050506); }
.graffiti-hero::after { content: ""; position: absolute; z-index: -1; inset: 0; opacity: .33; background: radial-gradient(ellipse at 76% 24%,transparent 0 3%,rgba(218,255,0,.42) 3.3% 3.8%,transparent 4.1%); background-size: 420px 420px; transform: rotate(-7deg) scale(1.15); }
.graffiti-hero-copy { mix-blend-mode: normal; }
.graffiti-hero .eyebrow { color: #dafe00; text-shadow: 0 0 16px rgba(218,255,0,.3); }
.graffiti-hero h1 { position: relative; color: #fff; line-height: .8; letter-spacing: .015em; text-transform: uppercase; transform: skewY(-2deg); -webkit-text-stroke: 1px rgba(255,255,255,.2); paint-order: stroke fill; text-shadow: -4px 4px 0 rgba(238,32,94,.52),4px -2px 0 rgba(20,185,207,.35); }
.graffiti-hero h1::after { content: "NO FILTER"; position: absolute; left: 4%; bottom: -1.4rem; padding: .18rem .5rem; background: #dafe00; color: #080808; font-size: clamp(.55rem,1vw,.8rem); font-weight: 900; letter-spacing: .2em; text-shadow: none; transform: rotate(-2deg); }
.graffiti-hero h1 span { color: transparent; -webkit-text-stroke: 2px rgba(255,255,255,.88); paint-order: stroke fill; text-shadow: 3px 3px 0 rgba(238,32,94,.36); }
.graffiti-hero-tags { position: absolute; z-index: 7; left: 43%; top: 15%; display: flex; gap: .35rem; transform: rotate(-7deg); pointer-events: none; }
.graffiti-hero-tags b { padding: .26rem .55rem; background: #fff; color: #050505; font-size: .54rem; font-weight: 950; letter-spacing: .16em; box-shadow: 4px 4px 0 var(--pink); }
.graffiti-hero-tags b:nth-child(2) { background: #dafe00; box-shadow: 4px 4px 0 var(--cyan); transform: translateY(-.5rem); }
.graffiti-hero-tags b:nth-child(3) { background: var(--pink); color: #fff; box-shadow: 4px 4px 0 #fff; transform: translateY(.2rem); }
.graffiti-hero-collage { transform: rotate(1.5deg); }
.graffiti-hero-collage::before { content: ""; position: absolute; z-index: 5; left: -2%; bottom: 17%; width: 46%; height: 2.2rem; background: repeating-linear-gradient(135deg,#dafe00 0 12px,#0a0a0a 12px 24px); opacity: .82; transform: rotate(7deg); mix-blend-mode: screen; }
.graffiti-hero-collage img { border: .45rem solid #f1f0eb; box-shadow: 15px 17px 0 rgba(0,0,0,.62),0 30px 70px rgba(0,0,0,.65); clip-path: polygon(1.3% 0,98.7% 1.5%,100% 97.5%,2% 100%,0 45%); }
.graffiti-hero-a { transform: rotate(-7deg); }
.graffiti-hero-b { transform: rotate(7deg); }
.graffiti-hero-c { transform: rotate(-2.5deg); }
.graffiti-ticker { position: relative; z-index: 8; width: 100%; overflow: hidden; contain: paint; border-block: 2px solid #070707; background: #dafe00; color: #070707; box-shadow: 0 0 0 1px #dafe00,0 10px 32px rgba(0,0,0,.45); }
.graffiti-ticker div { display: flex; width: max-content; align-items: center; gap: 1.4rem; padding: .7rem 0; animation: graffiti-ticker 24s linear infinite; }
.graffiti-ticker span { font-size: clamp(.76rem,1.3vw,1.05rem); font-weight: 950; letter-spacing: .18em; white-space: nowrap; }
.graffiti-ticker i { font-style: normal; font-size: 1.15rem; }
.graffiti-ticker-reverse { background: var(--pink); color: #fff; }
.graffiti-ticker-reverse div { animation-direction: reverse; animation-duration: 28s; }
@keyframes graffiti-ticker { to { transform: translateX(-50%); } }
.graffiti-manifest { position: relative; min-height: 72svh; align-items: center; border: 0; background: #f2f0e8; color: #09090a; transform: skewY(-1.2deg); margin-block: -1.2rem; }
.graffiti-manifest::before { content: ""; position: absolute; inset: 0; opacity: .16; background: repeating-radial-gradient(circle at 14% 20%,#111 0 1px,transparent 1px 8px); mix-blend-mode: multiply; }
.graffiti-manifest > * { position: relative; transform: skewY(1.2deg); }
.graffiti-manifest .eyebrow { color: #171719; writing-mode: vertical-rl; }
.graffiti-manifest h2 { max-width: 13ch; line-height: .84; letter-spacing: .01em; text-transform: uppercase; }
.graffiti-manifest h2 span { display: inline-block; padding: 0 .12em .06em; background: linear-gradient(100deg,var(--pink),#ff5d84 50%,var(--cyan)); color: #fff; transform: rotate(-1deg); box-shadow: .18em .16em 0 #101011; }
.graffiti-manifest div > p { color: #303034; font-weight: 560; }
.graffiti-collage { position: relative; padding-top: clamp(8rem,12vw,13rem); padding-bottom: clamp(8rem,12vw,13rem); background: linear-gradient(90deg,transparent 0 49.8%,rgba(255,255,255,.035) 50%,transparent 50.2%),radial-gradient(circle at 15% 20%,rgba(238,32,94,.13),transparent 20%),radial-gradient(circle at 90% 65%,rgba(20,185,207,.12),transparent 23%); }
.graffiti-collage::before { content: attr(data-wall); position: absolute; left: -.04em; top: -.2em; color: rgba(255,255,255,.028); font-size: clamp(9rem,25vw,28rem); font-weight: 950; letter-spacing: -.1em; line-height: .8; transform: rotate(-5deg); pointer-events: none; }
.graffiti-collage::after { content: "20 PIECES / ONE HAND"; position: absolute; top: 3.5rem; right: var(--gutter); padding: .45rem .7rem; border: 1px solid rgba(255,255,255,.3); color: #dafe00; font-size: .62rem; font-weight: 900; letter-spacing: .18em; transform: rotate(2deg); }
.graffiti-piece { overflow: visible; border: 0; background: transparent; clip-path: none; transition: z-index 0s,transform .45s cubic-bezier(.16,1,.3,1); }
.graffiti-piece button { position: relative; overflow: hidden; border: .32rem solid #f0eee7; background: #111; clip-path: polygon(1% 0,100% 1%,98.7% 100%,0 98.5%); box-shadow: 11px 13px 0 rgba(0,0,0,.5),0 22px 50px rgba(0,0,0,.4); }
.graffiti-piece:nth-child(4n+1) { transform: rotate(-2.2deg) translateY(-.8rem); z-index: 2; }
.graffiti-piece:nth-child(4n+2) { transform: rotate(2.6deg) translate(.5rem,1.4rem); z-index: 3; }
.graffiti-piece:nth-child(4n+3) { transform: rotate(-1deg) translate(-.6rem,.3rem); z-index: 1; }
.graffiti-piece:nth-child(4n) { transform: rotate(1.6deg) translateY(-1rem); z-index: 4; }
.graffiti-piece:nth-child(3n) button::before { content: ""; position: absolute; z-index: 4; left: 50%; top: -.3rem; width: 5rem; height: 1.3rem; background: rgba(218,255,0,.72); transform: translateX(-50%) rotate(-2deg); mix-blend-mode: screen; pointer-events: none; }
.graffiti-piece:nth-child(5n) button::before { background: rgba(238,32,94,.72); transform: translateX(-50%) rotate(3deg); }
.graffiti-piece:hover { z-index: 10; transform: rotate(0) scale(1.025); }
.graffiti-piece img { filter: saturate(1.03) contrast(1.05); }
.graffiti-piece figcaption { left: -.3rem; right: auto; bottom: .65rem; min-width: 58%; padding: .5rem .75rem; align-items: center; background: #080809; border-left: 3px solid #dafe00; box-shadow: 5px 5px 0 rgba(238,32,94,.65); transform: rotate(-1.5deg); }
.graffiti-piece figcaption span { margin-left: 1rem; }
.graffiti-piece::after { right: -.4rem; top: 1rem; width: 2.8rem; height: .35rem; background: var(--pink); transform: rotate(8deg); box-shadow: 0 .48rem 0 var(--cyan); }
.graffiti-piece-panorama { grid-column: span 9; }
.graffiti-piece-panorama:nth-of-type(even) { grid-column-start: 4; }
.graffiti-piece-archive button { border-color: #dafe00; }
.graffiti-piece-archive figcaption { border-left-color: var(--pink); }
.graffiti-outro { min-height: 84svh; display: grid; align-content: center; }
.graffiti-outro h2 { line-height: .84; letter-spacing: .01em; }
.graffiti-outro::before { content: "INK"; position: absolute; left: 50%; top: 50%; color: rgba(255,255,255,.035); font-size: min(42vw,32rem); font-weight: 950; line-height: .7; transform: translate(-50%,-50%) rotate(-8deg); }
.graffiti-outro > * { position: relative; }

.gallery-hero { min-height: 78svh; padding: 11rem var(--gutter) 5rem; display: flex; flex-direction: column; justify-content: end; background: radial-gradient(circle at 76% 18%, rgba(238,32,94,.15), transparent 25%), radial-gradient(circle at 87% 33%, rgba(20,185,207,.1), transparent 28%); }
.gallery-hero p:last-child { max-width: 35rem; color: var(--muted); font-size: 1.1rem; }
.filter-nav { position: sticky; z-index: 50; top: 4.7rem; display: flex; gap: 1rem; padding: 1rem var(--gutter); overflow-x: auto; background: rgba(5,5,5,.94); border-block: 1px solid var(--line); scrollbar-width: none; }
.filter-nav a { flex: none; padding: .45rem .85rem; border: 1px solid var(--line); border-radius: 99px; font-size: .75rem; }
.filter-nav a:hover { background: #fff; color: #000; }
.gallery-grid { display: grid; grid-template-columns: repeat(12, 1fr); gap: clamp(1rem, 2.5vw, 2rem); padding: clamp(3rem, 7vw, 7rem) var(--gutter); }
.gallery-item { grid-column: span 5; margin: 0; }
.gallery-item-large { grid-column: span 7; }
.gallery-item-wide { grid-column: span 6; }
.gallery-item button { display: block; width: 100%; padding: 0; background: var(--surface); border: 0; border-radius: var(--radius); overflow: hidden; cursor: zoom-in; }
.gallery-item img { width: 100%; height: min(76vw, 850px); object-fit: cover; transition: transform .5s ease; }
.gallery-item-wide img { height: min(55vw, 670px); }
.gallery-item button:hover img { transform: scale(1.018); }
.gallery-item figcaption { display: flex; justify-content: space-between; gap: 1rem; padding-top: .8rem; }
.gallery-item figcaption small { color: var(--muted); text-transform: uppercase; letter-spacing: .12em; }
.gallery-note { display: grid; grid-template-columns: .7fr 1.3fr; gap: 7vw; align-items: center; padding: clamp(5rem, 10vw, 10rem) var(--gutter); background: #f0efeb; color: #111; }
.gallery-note img { width: 100%; max-height: 670px; object-fit: cover; border-radius: var(--radius); }
.gallery-note .eyebrow { color: #555; }
.gallery-note p:last-child { max-width: 34rem; color: #56565a; }
.lightbox { width: min(92vw, 900px); max-height: 92svh; padding: 0; border: 0; border-radius: 1rem; background: #0b0b0c; overflow: visible; }
.lightbox::backdrop { background: rgba(0,0,0,.9); backdrop-filter: blur(8px); }
.lightbox img { width: 100%; max-height: 88svh; object-fit: contain; border-radius: 1rem; }
.lightbox-close { position: absolute; z-index: 2; right: .75rem; top: .75rem; width: 2.75rem; height: 2.75rem; border: 1px solid rgba(255,255,255,.25); border-radius: 50%; background: rgba(0,0,0,.72); font-size: 1.6rem; cursor: pointer; }

.legal-main { padding-top: 4.75rem; }
.legal-hero { padding: clamp(7rem, 14vw, 12rem) var(--gutter) clamp(4rem, 8vw, 7rem); border-bottom: 1px solid var(--line); background: radial-gradient(circle at 75% 20%, rgba(238,32,94,.1), transparent 24%), radial-gradient(circle at 83% 32%, rgba(20,185,207,.08), transparent 28%); }
.legal-hero h1 { margin: 0; font-size: clamp(4rem, 11vw, 10rem); line-height: .88; letter-spacing: -.075em; }
.legal-status { max-width: 48rem; margin: 2rem 0 0; padding: 1rem 1.2rem; border-left: 2px solid var(--pink); background: rgba(255,255,255,.035); color: #c9c9cd; }
.legal-content { display: grid; grid-template-columns: minmax(0, 1fr) minmax(17rem, .52fr); gap: 0 clamp(3rem, 8vw, 9rem); width: min(100%, calc(72rem + var(--gutter) * 2)); margin: auto; padding: clamp(4rem, 9vw, 8rem) var(--gutter); }
.legal-content section { padding: 0 0 2.5rem; margin: 0 0 2.5rem; border-bottom: 1px solid var(--line); }
.legal-content section:nth-child(odd) { grid-column: 1; }
.legal-content section:nth-child(even) { grid-column: 2; }
.legal-content h2 { margin: 0 0 1rem; font-size: clamp(1.35rem, 2.2vw, 2rem); letter-spacing: -.03em; }
.legal-content p { margin: 0 0 1rem; color: #b7b7bc; }
.legal-content strong { color: #e5c687; font-weight: 650; }
.legal-content a { color: #fff; text-decoration: underline; text-decoration-color: var(--cyan); text-underline-offset: .25rem; }
.legal-footer { margin-top: 2rem; }

/* Cross-page Calligraffiti draft: display lettering stays expressive, body copy stays calm. */
body.brand-launch,
body.gallery-page,
body.legal-page {
  background-color: #070708;
  background-image: repeating-linear-gradient(113deg, transparent 0 34px, rgba(255,255,255,.012) 35px 36px);
}

.brand-launch .hero h1,
.brand-launch .section h2,
.gallery-page .gallery-hero h1,
.gallery-page .gallery-note h2,
.gallery-page .contact h2,
.legal-page .legal-hero h1 {
  font-family: "Pirata One", Georgia, serif;
  font-weight: 400;
  font-synthesis: none;
  line-height: .84;
  letter-spacing: .012em;
  text-rendering: geometricPrecision;
}

.brand-launch .hero h1,
.brand-launch .section:not(.graffiti-teaser) h2,
.gallery-page .gallery-hero h1,
.gallery-page .contact h2,
.legal-page .legal-hero h1 {
  -webkit-text-stroke: 1px rgba(255,255,255,.18);
  paint-order: stroke fill;
  text-shadow: -4px 4px 0 rgba(238,32,94,.46), 4px -2px 0 rgba(20,185,207,.28);
}

.brand-launch .hero h1 span,
.gallery-page .gallery-hero h1 span {
  -webkit-text-stroke: 2px rgba(255,255,255,.84);
  paint-order: stroke fill;
  text-shadow: 3px 3px 0 rgba(238,32,94,.34);
}

.brand-launch .hero::before {
  content: none;
}

.brand-launch .section-head h2,
.brand-launch .artist-heading h2,
.gallery-page .gallery-note h2 {
  position: relative;
  width: fit-content;
}

.brand-launch .section-head h2::after,
.brand-launch .artist-heading h2::after,
.gallery-page .gallery-note h2::after {
  content: "";
  position: absolute;
  z-index: -1;
  left: 50%;
  bottom: .03em;
  width: 42%;
  height: .16em;
  background: linear-gradient(90deg, #dafe00 0 48%, var(--pink) 48% 74%, var(--cyan) 74%);
  transform: translateX(-50%) rotate(-2deg);
  opacity: .88;
}

.brand-launch .work-card,
.brand-launch .artist-portrait img {
  border: .28rem solid #efede7;
  border-radius: 0;
  box-shadow: 10px 12px 0 rgba(0,0,0,.52), 0 24px 50px rgba(0,0,0,.38);
}
.brand-launch .work-card:nth-child(1) { transform: rotate(-.7deg); }
.brand-launch .work-card:nth-child(2) { transform: rotate(.8deg); }
.brand-launch .work-card:nth-child(3) { transform: rotate(-.45deg); }
.brand-launch .work-card::after,
.gallery-page .gallery-item::after {
  content: "";
  position: absolute;
  z-index: 4;
  top: .7rem;
  right: -.25rem;
  width: 2.8rem;
  height: .34rem;
  background: var(--pink);
  box-shadow: 0 .48rem 0 var(--cyan);
  transform: rotate(8deg);
  pointer-events: none;
}

.brand-launch .button,
.gallery-page .button {
  box-shadow: 6px 7px 0 rgba(0,0,0,.5);
  transform: rotate(-.35deg);
}
.brand-launch .button:hover,
.gallery-page .button:hover { transform: translateY(-2px) rotate(0); }

.brand-launch .style-list a > span,
.brand-launch .process-list li > span {
  color: #dafe00;
  font-family: "Pirata One", Georgia, serif;
  font-size: 1.2rem;
  font-style: normal;
}

.gallery-page .gallery-hero,
.legal-page .legal-hero {
  position: relative;
  overflow: hidden;
  background:
    radial-gradient(circle at 77% 18%, rgba(238,32,94,.18), transparent 24%),
    radial-gradient(circle at 87% 33%, rgba(20,185,207,.14), transparent 28%),
    repeating-radial-gradient(circle at 22% 24%, rgba(255,255,255,.055) 0 1px, transparent 2px 17px),
    #080809;
}
.gallery-page .gallery-hero::after,
.legal-page .legal-hero::after {
  content: "";
  position: absolute;
  right: -4vw;
  bottom: -2rem;
  width: min(45vw, 34rem);
  height: 2.4rem;
  background: repeating-linear-gradient(135deg, #dafe00 0 14px, #080808 14px 28px);
  opacity: .72;
  transform: rotate(-7deg);
  pointer-events: none;
}

.gallery-page .gallery-item { position: relative; transition: transform .35s cubic-bezier(.16,1,.3,1); }
.gallery-page .gallery-item:nth-child(4n+1) { transform: rotate(-.65deg); }
.gallery-page .gallery-item:nth-child(4n+2) { transform: rotate(.75deg); }
.gallery-page .gallery-item:nth-child(4n+3) { transform: rotate(-.35deg); }
.gallery-page .gallery-item:hover { z-index: 4; transform: rotate(0) translateY(-4px); }
.gallery-page .gallery-item button {
  border: .3rem solid #efede7;
  border-radius: 0;
  clip-path: polygon(.8% 0, 100% 1%, 98.9% 100%, 0 98.7%);
  box-shadow: 10px 12px 0 rgba(0,0,0,.5), 0 22px 48px rgba(0,0,0,.36);
}
.gallery-page .gallery-item figcaption {
  position: relative;
  width: calc(100% - 1rem);
  margin: -.25rem 0 0 .35rem;
  padding: .65rem .8rem;
  background: #09090a;
  border-left: 3px solid #dafe00;
  box-shadow: 5px 5px 0 rgba(238,32,94,.55);
  transform: rotate(-.6deg);
}
.gallery-page .gallery-note { position: relative; overflow: hidden; }
.gallery-page .gallery-note img { border: .35rem solid #111; border-radius: 0; transform: rotate(-1.4deg); box-shadow: 10px 12px 0 rgba(238,32,94,.55); }

.legal-page .legal-hero h1 { position: relative; width: fit-content; }
.legal-page .legal-content section { position: relative; padding-left: 1.2rem; border-left: 3px solid #dafe00; }
.legal-page .legal-content section:nth-child(even) { border-left-color: var(--pink); }
.legal-page .legal-content h2 { color: #f2f1ed; }

:focus-visible { outline: 2px solid var(--cyan); outline-offset: 4px; }

@media (max-width: 850px) {
  .site-header { min-height: 4.25rem; grid-template-columns: 1fr auto 1fr; }
  .nav-logo { top: -.05rem; width: 3.4rem; height: 4.25rem; }
  .mobile-graffiti-link {
    display: inline-flex; grid-column: 1; justify-self: start; align-items: center;
    min-height: 2.75rem; padding: .65rem .15rem; color: #f2f1ed;
    font-size: .62rem; font-weight: 850; letter-spacing: .14em; text-transform: uppercase;
    text-decoration: underline; text-decoration-color: #dafe00; text-underline-offset: .35rem;
    touch-action: manipulation;
  }
  .menu-button { display: block; grid-column: 3; justify-self: end; }
  .site-nav { position: absolute; top: 100%; left: 0; right: 0; display: none; align-items: stretch; flex-direction: column; gap: 0; padding: 1rem var(--gutter) 1.5rem; background: #080809; border-bottom: 1px solid var(--line); }
  .site-nav.is-open { display: flex; }
  .nav-group { display: contents; }
  .site-nav a { display: flex; width: 100%; margin: .28rem 0; padding: .9rem 1rem; }
  .gallery-header .back-link { grid-column: 1; }
  .gallery-header .gallery-social { grid-column: 3; font-size: 0; }
  .gallery-header .gallery-social span { font-size: 1rem; }
  .hero { min-height: 940px; align-items: end; padding-bottom: 5rem; }
  .hero-art { top: 3rem; right: 0; width: 70vw; height: 56%; opacity: 1; }
  .hero::after { background: linear-gradient(0deg, #050505 23%, rgba(5,5,5,.4) 64%, transparent 100%); }
  .hero-content { width: 100%; }
  .hero h1, .gallery-hero h1 { font-size: clamp(4rem, 17vw, 6.7rem); }
  .scroll-note { display: none; }
  .section-head, .artist-heading, .artist-layout, .gallery-note { grid-template-columns: 1fr; gap: 2rem; }
  .work-grid { grid-template-columns: 1fr 1fr; }
  .work-card, .work-card-tall, .work-card-wide { min-height: 500px; }
  .work-card-tall { grid-row: auto; grid-column: span 2; }
  .work-card-wide { grid-column: span 1; }
  .social-grid { grid-template-columns: 1fr; }
  .social-channel { min-height: 620px; }
  .review-card { flex-basis: min(78vw,24rem); }
  .review-score,.review-cta { flex-basis: min(72vw,21rem); }
  .artist-heading { margin-bottom: 3rem; }
  .artist-portrait { width: min(100%, 620px); }
  .artist-statement { margin-left: 0; }
  .process-list { margin-left: 0; }
  .gallery-item, .gallery-item-large, .gallery-item-wide { grid-column: span 6; }
  .gallery-item img, .gallery-item-wide img { height: 78vw; }
  .gallery-note img { width: min(100%, 480px); }
  .legal-content { grid-template-columns: 1fr; }
  .legal-content section, .legal-content section:nth-child(odd), .legal-content section:nth-child(even) { grid-column: 1; }
  .graffiti-teaser, .graffiti-hero { grid-template-columns: 1fr; }
  .graffiti-teaser-art { min-height: 38rem; }
  .graffiti-hero { align-items: start; padding-top: 8rem; }
  .graffiti-hero-collage { min-height: 40rem; }
  .graffiti-manifest { grid-template-columns: 1fr; }
  .graffiti-collage { grid-auto-rows: 5.6vw; }
  .graffiti-hero-tags { left: auto; right: 7%; top: 11%; }
  .graffiti-manifest { min-height: auto; }
  .graffiti-manifest .eyebrow { writing-mode: initial; }
}

@media (max-width: 560px) {
  :root { --gutter: 1.2rem; --radius: .85rem; }
  .hero,
  .gallery-hero,
  .graffiti-hero,
  .legal-hero { width: 100%; max-width: 100%; grid-template-columns: minmax(0,1fr); overflow-x: clip; }
  .hero-content,
  .gallery-hero > *,
  .graffiti-hero-copy,
  .legal-hero > * { width: calc(100vw - (var(--gutter) * 2)); max-width: calc(100vw - (var(--gutter) * 2)); margin-inline: auto; }
  .brand-launch .hero h1 { width: 100%; max-width: 100%; font-size: clamp(2.85rem,12.5vw,3.75rem); overflow-wrap: normal; }
  .gallery-page .gallery-hero h1,
  .legal-page .legal-hero h1 { width: 100%; max-width: 100%; font-size: clamp(3rem,14vw,4rem); overflow-wrap: normal; }
  .graffiti-page .graffiti-hero h1 { width: 100%; max-width: 100%; font-size: clamp(3rem,12vw,3.8rem); }
  .hero-copy,
  .gallery-hero p:last-child,
  .graffiti-hero-copy > p:not(.eyebrow),
  .legal-status,
  .legal-content section { width: 100%; max-width: 100%; overflow-wrap: anywhere; }
  .brand-launch .hero h1,
  .gallery-page .gallery-hero h1,
  .legal-page .legal-hero h1 { line-height: .82; letter-spacing: .018em; }
  .brand-launch .work-card:nth-child(n),
  .gallery-page .gallery-item:nth-child(n) { transform: none; }
  .brand-launch .section-head h2::after,
  .brand-launch .artist-heading h2::after,
  .gallery-page .gallery-note h2::after { height: .12em; }
  .intro-logo-frame { width: min(74vw, 22rem); }
  .intro-wordmark { bottom: 1.4rem; letter-spacing: .3em; }
  .hero { min-height: 820px; padding-top: 6.5rem; padding-bottom: 2rem; }
  .brand-launch .hero-art { left: 50%; right: auto; top: 1.2rem; width: min(78vw, 23rem); height: 47%; transform: translateX(-50%); }
  .brand-launch .hero-art img {
    object-position: center top; opacity: 1;
    filter: brightness(1.12) contrast(1.2) saturate(1.08)
      drop-shadow(0 0 1.5px rgba(255,255,255,.46))
      drop-shadow(0 22px 44px rgba(0,0,0,.78));
  }
  .hero h1, .gallery-hero h1 { letter-spacing: -.065em; }
  .hero-copy { font-size: 1rem; }
  .artist-bridge { width: calc(100% - 1rem); height: auto; min-height: 30rem; aspect-ratio: 3 / 4; margin-top: -.5rem; }
  .artist-bridge::before { background: linear-gradient(90deg,#050505 0,transparent 9%,transparent 91%,#050505 100%), linear-gradient(180deg,#050505 0,transparent 12%,transparent 80%,#050505 100%); }
  .artist-bridge img { object-fit: cover; opacity: .52; }
  .artist-bridge figcaption { right: auto; bottom: 1.35rem; }
  .artist-bridge figcaption strong { max-width: 100%; font-size: clamp(2.7rem,14vw,4rem); white-space: normal; }
  .hero-actions, .contact-actions { align-items: stretch; flex-direction: column; gap: 1rem; }
  .whatsapp-contact { width: 100%; }
  .whatsapp-number { padding: .2rem .5rem .45rem; }
  .button { width: 100%; }
  .text-link { padding: .6rem; }
  .section { padding-top: 5.5rem; padding-bottom: 5.5rem; }
  .work-grid { grid-template-columns: 1fr; }
  .work-card, .work-card-tall, .work-card-wide { grid-column: auto; min-height: 0; aspect-ratio: 2 / 3; }
  .work-card img { object-fit: contain; background: #09090a; }
  .work-card-wide { min-height: 340px; }
  .work-label { align-items: start; flex-direction: column; gap: .2rem; }
  .social-channel { min-height: 540px; padding: 1rem; }
  .social-collage { min-height: 365px; }
  .social-channel-head { align-items: start; flex-direction: column; gap: .25rem; }
  .social-channel-head::after { bottom: -.55rem; }
  .social-channel-foot b { font-size: .73rem; }
  .social-channel-foot small { font-size: .66rem; }
  .social-tile { object-fit: contain; background: #070708; }
  .reviews { width: 100%; }
  .reviews-controls { justify-content: space-between; margin-top: -1rem; }
  .reviews-controls > span { letter-spacing: .11em; }
  .reviews-track { width: 100vw; max-width: 100vw; margin-left: calc(var(--gutter) * -1); margin-right: calc(var(--gutter) * -1); padding-inline: 8vw; scroll-padding-inline: 8vw; }
  .review-card,.review-score,.review-cta { flex-basis: 84vw; min-height: 22rem; padding: 1.4rem; }
  .review-quote blockquote { font-size: clamp(2rem,10vw,3rem); }
  .reviews-source { padding-inline: .5rem; text-align: left; }
  .artist-portrait::before { inset: .6rem -.45rem -.6rem .45rem; }
  .artist-portrait::after { right: -.45rem; bottom: -.6rem; }
  .artist-portrait img { height: auto; aspect-ratio: 1; object-fit: contain; background: #09090a; }
  .artist-portrait figcaption { align-items: start; flex-direction: column; gap: .2rem; }
  .artist-signature { align-items: start; flex-direction: column; }
  .style-list a { grid-template-columns: 3.75rem 1fr 1.5rem; gap: .75rem; }
  .style-list em { grid-column: 2 / 4; }
  .style-list i { grid-column: 3; grid-row: 1; }
  .process-list li { grid-template-columns: 3.75rem 1fr; gap: 1rem; }
  .contact { width: calc(100% - 1rem); }
  .site-footer { grid-template-columns: 1fr; gap: 2rem; }
  .site-footer nav { flex-wrap: wrap; }
  .footer-social-link { width: 100%; }
  .site-footer > p:last-child { text-align: left; }
  .gallery-hero { min-height: 72svh; padding-top: 8rem; }
  .filter-nav { top: 4.2rem; }
  .gallery-grid { grid-template-columns: 1fr; }
  .gallery-item, .gallery-item-large, .gallery-item-wide { grid-column: auto; }
  .gallery-item img, .gallery-item-wide img { height: auto; max-height: none; object-fit: contain; background: #09090a; }
  .graffiti-teaser { gap: 1.2rem; }
  .graffiti-teaser-copy h2 { font-size: clamp(3.1rem,15vw,5.2rem); }
  .graffiti-teaser-art { min-height: 31rem; }
  .graffiti-teaser-art img { object-fit: contain; background: #080809; }
  .graffiti-teaser-one { width: 78%; height: 46%; }
  .graffiti-teaser-two { width: 64%; height: 32%; }
  .graffiti-teaser-three { width: 50%; height: 49%; }
  .graffiti-hero h1 { font-size: clamp(4rem,19vw,6rem); }
  .graffiti-hero-collage { min-height: 31rem; }
  .graffiti-hero-collage img { object-fit: contain; background: #080809; }
  .graffiti-hero-a { width: 80%; height: 48%; }
  .graffiti-hero-b { width: 48%; height: 56%; }
  .graffiti-hero-c { width: 83%; height: 30%; }
  .graffiti-collage { display: block; padding-inline: .75rem; }
  .graffiti-piece, .graffiti-piece-wide, .graffiti-piece-portrait, .graffiti-piece-panorama, .graffiti-piece-square, .graffiti-piece-tall, .graffiti-piece-archive, .graffiti-piece-lead, .graffiti-piece-last { width: 100%; height: auto; min-height: 0; margin: 0 0 .9rem; clip-path: polygon(.55rem 0,100% 0,100% calc(100% - .55rem),calc(100% - .55rem) 100%,0 100%,0 .55rem); }
  .graffiti-piece button { height: auto; }
  .graffiti-piece img { height: auto; max-height: 74svh; object-fit: contain; background: #0c0c0e; }
  .graffiti-piece-panorama img { aspect-ratio: 16/7; object-fit: cover; }
  .graffiti-piece figcaption { padding-top: 3.5rem; }
  .graffiti-ticker { width: 100%; }
  .graffiti-hero-tags { display: none; }
  .graffiti-manifest { margin-block: -.4rem; transform: skewY(-.7deg); }
  .graffiti-manifest > * { transform: skewY(.7deg); }
  .graffiti-manifest h2 { font-size: clamp(3rem,15vw,5rem); }
  .graffiti-collage { padding-top: 7rem; padding-bottom: 6rem; }
  .graffiti-collage::after { top: 2.5rem; right: 1rem; }
  .graffiti-piece, .graffiti-piece-wide, .graffiti-piece-portrait, .graffiti-piece-panorama, .graffiti-piece-square, .graffiti-piece-tall, .graffiti-piece-archive, .graffiti-piece-lead, .graffiti-piece-last { width: 96%; margin-bottom: 1.7rem; }
  .graffiti-piece:nth-child(odd) { margin-left: 0; transform: rotate(-1.3deg); }
  .graffiti-piece:nth-child(even) { margin-left: 4%; transform: rotate(1.4deg); }
  .graffiti-piece button { border-width: .24rem; box-shadow: 7px 8px 0 rgba(0,0,0,.55),0 16px 35px rgba(0,0,0,.42); }
  .graffiti-piece figcaption { max-width: calc(100% - 1rem); min-width: 72%; padding: .48rem .65rem; }
  .graffiti-piece figcaption span { margin-left: .45rem; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { animation-duration: .01ms !important; animation-delay: 0ms !important; transition-duration: .01ms !important; }
  .brand-intro { display: none; }
  .hero-needle-glint { animation: none !important; opacity: .28; transform: translate(-50%,-50%) rotate(38deg) scaleY(.7); }
  .brand-launch .nav-logo:not(.nav-logo-scroll) { animation: none !important; opacity: 1 !important; transform: translateX(-50%) !important; }
}
