:root {
  --ink: #090909;
  --paper: #e8e4dc;
  --red: #b20f2a;
  --red-bright: #e12745;
  --red-deep: #520611;
  --line: #292929;
  --muted: #a4a09a;
}

/* Portfolio + process v3 — tattoo atelier glass */
.portfolio { background: radial-gradient(circle at 88% 4%, rgba(209,18,63,.13), transparent 26%), #080808; }
.gallery { gap: clamp(10px,1.4vw,22px); grid-auto-rows: 29vw; }
.gallery figure { border-radius: 2px 24px 2px 24px; border: 1px solid rgba(255,255,255,.1); box-shadow: 0 24px 65px rgba(0,0,0,.45); isolation:isolate; }
.gallery figure::before { content:""; position:absolute; inset:0; z-index:1; pointer-events:none; background:linear-gradient(135deg,rgba(255,255,255,.12),transparent 18%,transparent 75%,rgba(209,18,63,.16)); }
.gallery figure::after { content:""; position:absolute; width:70px; height:1px; top:18px; right:18px; z-index:2; background:var(--red); box-shadow:0 0 12px var(--red),0 0 28px rgba(230,20,70,.7); transform-origin:right; transition:.5s; }
.gallery figure:hover::after { width:120px; }
.gallery img { filter:grayscale(1) contrast(1.08); }
.gallery figcaption { inset:auto 14px 14px; z-index:3; padding:15px 17px; border:1px solid rgba(255,255,255,.16); border-radius:2px 16px 2px 16px; background:linear-gradient(110deg,rgba(7,7,7,.84),rgba(25,25,25,.48)); backdrop-filter:blur(14px); -webkit-backdrop-filter:blur(14px); box-shadow:0 12px 35px rgba(0,0,0,.38); }
.gallery figcaption span { display:inline-grid; place-items:center; width:30px; height:30px; margin-right:10px; border:1px solid rgba(255,35,85,.45); border-radius:50%; text-shadow:0 0 10px var(--red); box-shadow:inset 0 0 15px rgba(209,18,63,.14),0 0 16px rgba(209,18,63,.12); }
.process { position:relative; overflow:hidden; background:linear-gradient(135deg,#e9e5dc 0%,#f5f1e8 48%,#ddd7cc 100%); }
.process::before { content:""; position:absolute; width:560px; height:560px; right:-190px; top:-190px; opacity:.13; background:repeating-radial-gradient(circle at center,transparent 0 24px,#b90d35 25px 26px); border-radius:50%; }
.process .section-heading { position:relative; z-index:1; }
.steps { position:relative; z-index:1; gap:18px; border:0; }
.steps article,.steps article + article { position:relative; min-height:340px; padding:30px 28px 26px; overflow:hidden; border:1px solid rgba(40,35,30,.16); border-radius:3px 28px 3px 28px; background:linear-gradient(145deg,rgba(255,255,255,.62),rgba(255,255,255,.2)); backdrop-filter:blur(18px); -webkit-backdrop-filter:blur(18px); box-shadow:0 25px 60px rgba(37,30,22,.1),inset 0 1px rgba(255,255,255,.85); transition:transform .35s,box-shadow .35s; }
.steps article:hover { transform:translateY(-8px); box-shadow:0 32px 70px rgba(37,30,22,.16),0 0 35px rgba(209,18,63,.08); }
.steps article::after { content:""; position:absolute; inset:auto -18% -42% 25%; height:180px; background:radial-gradient(ellipse,rgba(209,18,63,.22),transparent 68%); transform:rotate(-12deg); }
.steps span { display:grid; place-items:center; width:48px; height:48px; border:1px solid rgba(209,18,63,.38); border-radius:50%; background:rgba(255,255,255,.46); box-shadow:0 0 20px rgba(209,18,63,.13); }
.step-mark { position:absolute; width:105px; height:105px; right:22px; top:19px; color:var(--red); opacity:.82; filter:drop-shadow(0 0 9px rgba(209,18,63,.28)); }
.step-mark svg { width:100%; height:100%; fill:none; stroke:currentColor; stroke-width:1.35; stroke-linecap:round; stroke-linejoin:round; }
.steps h3 { position:relative; margin:72px 0 12px; font-size:clamp(45px,4vw,62px); }
.steps h3::after { content:""; display:block; width:44px; height:3px; margin-top:12px; background:var(--red); box-shadow:0 0 12px rgba(209,18,63,.55); }
.steps p { position:relative; z-index:1; font-size:15px; }
.steps small { position:absolute; left:28px; bottom:24px; z-index:1; color:#8b8177; font-size:9px; letter-spacing:.2em; }
@media(max-width:760px){
 .gallery { gap:16px; }
 .gallery figure { border-radius:2px 20px 2px 20px; }
 .gallery figcaption { inset:auto 10px 10px; }
 .steps { gap:16px; }
 .steps article,.steps article + article { min-height:285px; padding:25px 22px; border-bottom:1px solid rgba(40,35,30,.16); }
 .step-mark { width:88px;height:88px;right:18px;top:17px; }
 .steps h3 { margin-top:52px; }
 .steps small { left:22px; bottom:20px; }
}
* {
  box-sizing: border-box;
}
html {
  scroll-behavior: smooth;
}
body {
  margin: 0;
  background: var(--ink);
  color: var(--paper);
  font-family: Manrope, sans-serif;
  overflow-x: hidden;
}
.grain {
  position: fixed;
  inset: 0;
  pointer-events: none;
  opacity: 0.045;
  z-index: 99;
  background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.8'/%3E%3C/svg%3E");
}
.nav {
  height: 88px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0 4vw;
  border-bottom: 1px solid var(--line);
  position: relative;
  z-index: 10;
}
.brand {
  display: flex;
  align-items: center;
  gap: 11px;
  color: var(--paper);
  text-decoration: none;
  font-size: 13px;
  letter-spacing: 0.19em;
  font-weight: 700;
}
.brand span {
  width: 38px;
  height: 38px;
  border: 1px solid var(--paper);
  border-radius: 50%;
  display: grid;
  place-items: center;
  font-family: "Bebas Neue";
  font-size: 24px;
}
.nav nav {
  display: flex;
  align-items: center;
  gap: 36px;
}
.nav nav a {
  color: var(--paper);
  text-decoration: none;
  font-size: 12px;
  text-transform: uppercase;
  letter-spacing: 0.12em;
}
.nav .nav-cta {
  padding: 13px 18px;
  border: 1px solid var(--paper);
}
.hero {
  min-height: calc(100vh - 88px);
  display: grid;
  grid-template-columns: 56% 44%;
  position: relative;
}
.hero-copy {
  padding: 10vh 5vw 6vh 7vw;
  position: relative;
  z-index: 2;
}
.eyebrow {
  text-transform: uppercase;
  letter-spacing: 0.25em;
  font-weight: 700;
  font-size: 11px;
  color: var(--red);
  margin: 0 0 18px;
}
.hero h1,
.section h2 {
  font-family: "Bebas Neue", sans-serif;
  font-weight: 400;
  line-height: 0.83;
  letter-spacing: -0.025em;
  margin: 0;
}
.hero h1 {
  font-size: clamp(78px, 10vw, 160px);
}
em {
  font-style: normal;
  color: transparent;
  -webkit-text-stroke: 1px var(--paper);
}
.lead {
  max-width: 570px;
  color: #bbb7b0;
  font-size: clamp(16px, 1.35vw, 21px);
  line-height: 1.65;
  margin: 36px 0;
}
.actions {
  display: flex;
  gap: 12px;
  flex-wrap: wrap;
}
.button {
  min-height: 54px;
  padding: 0 24px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 28px;
  color: var(--paper);
  text-decoration: none;
  text-transform: uppercase;
  letter-spacing: 0.13em;
  font-size: 11px;
  font-weight: 700;
  transition: 0.25s;
  position: relative;
  isolation: isolate;
}
.button.primary {
  padding-left: 29px;
  background:
    linear-gradient(105deg, rgba(255,255,255,.16), transparent 32%),
    linear-gradient(135deg, var(--red-bright) 0%, var(--red) 50%, var(--red-deep) 115%);
  border: 1px solid rgba(255, 95, 119, .38);
  clip-path: polygon(0 0, calc(100% - 18px) 0, 100% 18px, 100% 100%, 18px 100%, 0 calc(100% - 18px));
  box-shadow: inset 0 1px 0 rgba(255,255,255,.22), 0 16px 34px rgba(117, 4, 25, .32);
  overflow: hidden;
}
.button.primary::before {
  content: "";
  position: absolute;
  z-index: -1;
  width: 96px;
  height: 220%;
  left: -130px;
  top: -60%;
  background: linear-gradient(90deg, transparent, rgba(255,255,255,.2), transparent);
  transform: rotate(17deg);
  transition: left .55s cubic-bezier(.2,.8,.2,1);
}
.button.primary::after {
  content: "";
  position: absolute;
  left: 15px;
  top: 10px;
  width: 1px;
  height: calc(100% - 20px);
  background: linear-gradient(transparent, rgba(255,255,255,.7), transparent);
  box-shadow: 3px 0 rgba(10, 10, 10, .28);
}
.button.primary:hover {
  background:
    linear-gradient(105deg, rgba(255,255,255,.2), transparent 32%),
    linear-gradient(135deg, #ee3151 0%, #bd102e 50%, #640716 115%);
  transform: translateY(-2px);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.24), 0 20px 44px rgba(142, 5, 31, .42);
}
.button.primary:hover::before {
  left: calc(100% + 35px);
}
.button.ghost {
  border: 1px solid #515151;
}
.button.ghost:hover {
  border-color: var(--paper);
}
.hero-facts {
  display: flex;
  gap: 40px;
  margin-top: 9vh;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  color: #777;
  font-size: 9px;
}
.hero-facts strong {
  display: block;
  color: var(--paper);
  font-family: "Bebas Neue";
  font-size: 29px;
  letter-spacing: 0.03em;
}
.hero-art {
  position: relative;
  overflow: hidden;
  background: #161616;
}
.hero-art:after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, var(--ink) 0, transparent 25%),
    linear-gradient(0deg, rgba(9, 9, 9, 0.8), transparent 45%);
}
.hero-art img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  filter: grayscale(1) contrast(1.15);
  transform: scale(1.03);
}
.vertical-word {
  position: absolute;
  right: 18px;
  top: 40px;
  z-index: 2;
  writing-mode: vertical-rl;
  font-family: "Bebas Neue";
  font-size: 18px;
  letter-spacing: 0.4em;
}
.stamp {
  position: absolute;
  z-index: 3;
  right: 8%;
  bottom: 7%;
  width: 118px;
  height: 118px;
  border: 1px solid rgba(232, 228, 220, 0.8);
  border-radius: 50%;
  display: grid;
  place-content: center;
  text-align: center;
  transform: rotate(-8deg);
}
.stamp strong {
  font-family: "Bebas Neue";
  font-size: 46px;
  line-height: 0.8;
}
.stamp span {
  font-size: 8px;
  letter-spacing: 0.3em;
}
.ticker {
  position: relative;
  overflow: hidden;
  border-top: 1px solid rgba(255, 76, 110, .28);
  border-bottom: 1px solid rgba(255, 76, 110, .28);
  background:
    radial-gradient(circle at 20% 50%, rgba(225, 39, 69, .15), transparent 25%),
    linear-gradient(90deg, #100208, #21050d 45%, #100208);
  color: #f2dbe0;
  white-space: nowrap;
  box-shadow: inset 0 0 45px rgba(225, 39, 69, .11), 0 0 24px rgba(178, 15, 42, .16);
}
.ticker::before,
.ticker::after {
  content: "";
  position: absolute;
  z-index: 2;
  top: 0;
  bottom: 0;
  width: 11vw;
  pointer-events: none;
}
.ticker::before { left: 0; background: linear-gradient(90deg, #090909, transparent); }
.ticker::after { right: 0; background: linear-gradient(-90deg, #090909, transparent); }
.ticker .ticker-track {
  display: flex;
  align-items: center;
  gap: 30px;
  font-family: "Bebas Neue";
  font-size: 32px;
  letter-spacing: 0.06em;
  padding: 12px 0;
  animation: slide 28s linear infinite;
  width: max-content;
}
.ink-word {
  position: relative;
  color: #ffe9ed;
  text-shadow: 0 0 7px rgba(255, 84, 115, .82), 0 0 20px rgba(225, 39, 69, .48);
  animation: inkFlicker 7s steps(1) infinite;
}
.ink-word:nth-of-type(2n) { animation-delay: -3.2s; }
.tattoo-mark {
  width: 50px;
  height: 50px;
  display: inline-grid;
  place-items: center;
  flex: 0 0 auto;
  color: #ff476b;
  filter: drop-shadow(0 0 5px rgba(255, 44, 84, .95)) drop-shadow(0 0 13px rgba(225, 39, 69, .58));
}
.tattoo-mark svg { width: 100%; height: 100%; fill: none; stroke: currentColor; stroke-width: 1.35; stroke-linecap: round; stroke-linejoin: round; }
.tattoo-mark path,
.tattoo-mark circle {
  stroke-dasharray: 180;
  stroke-dashoffset: 180;
  animation: tattooDraw 4.2s cubic-bezier(.65,0,.35,1) infinite;
}
.tattoo-mark circle { animation-delay: .35s; }
.tattoo-mark:nth-of-type(4n+2) { transform: rotate(-8deg); }
.tattoo-mark:nth-of-type(4n) { transform: rotate(8deg); }
@keyframes tattooDraw {
  0%, 8% { stroke-dashoffset: 180; opacity: .15; }
  36%, 72% { stroke-dashoffset: 0; opacity: 1; }
  88%, 100% { stroke-dashoffset: -180; opacity: .08; }
}
@keyframes inkFlicker {
  0%, 22%, 24%, 27%, 100% { opacity: 1; filter: blur(0); }
  23%, 26% { opacity: .28; filter: blur(.7px); }
}
@keyframes slide {
  to {
    transform: translateX(-50%);
  }
}
@media (prefers-reduced-motion: reduce) {
  .ticker .ticker-track, .ink-word, .tattoo-mark path, .tattoo-mark circle { animation: none; }
  .tattoo-mark path, .tattoo-mark circle { stroke-dashoffset: 0; }
}
.section {
  padding: 11vw 7vw;
}
.section-heading {
  display: flex;
  justify-content: space-between;
  align-items: end;
  margin-bottom: 54px;
}
.section h2 {
  font-size: clamp(65px, 9vw, 126px);
}
.section-heading > p {
  color: var(--muted);
  line-height: 1.7;
  max-width: 390px;
  margin: 0 0 10px;
}
.gallery {
  display: grid;
  grid-template-columns: 1.25fr 1fr 1fr;
  grid-auto-rows: 30vw;
  gap: 12px;
}
.gallery figure {
  margin: 0;
  position: relative;
  overflow: hidden;
  background: #141414;
}
.gallery figure.tall {
  grid-row: span 2;
}
.gallery figure.wide {
  grid-column: span 2;
}
.gallery img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  filter: grayscale(1);
  transition: 0.6s;
}
.gallery figure:hover img {
  filter: grayscale(0);
  transform: scale(1.025);
}
.gallery figcaption {
  position: absolute;
  inset: auto 0 0;
  padding: 38px 20px 18px;
  background: linear-gradient(transparent, rgba(0, 0, 0, 0.86));
  text-transform: uppercase;
  letter-spacing: 0.12em;
  font-size: 9px;
}
.gallery figcaption span {
  color: var(--red);
  margin-right: 12px;
}
.process {
  background: var(--paper);
  color: var(--ink);
}
.process .eyebrow {
  color: var(--red);
}
.process h2 {
  -webkit-text-stroke: 0;
  color: var(--ink);
}
.steps {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  border-top: 1px solid #aaa59c;
}
.steps article {
  padding: 38px 7% 0 0;
  border-right: 1px solid #aaa59c;
  min-height: 230px;
}
.steps article + article {
  padding-left: 9%;
}
.steps article:last-child {
  border: 0;
}
.steps span {
  font-family: "Bebas Neue";
  font-size: 26px;
  color: var(--red);
}
.steps h3 {
  font-family: "Bebas Neue";
  font-size: 41px;
  margin: 38px 0 12px;
}
.steps p {
  color: #65615b;
  line-height: 1.65;
  font-size: 14px;
  max-width: 320px;
}
.payments {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, .88fr) minmax(520px, 1.12fr);
  gap: clamp(60px, 8vw, 130px);
  overflow: hidden;
  isolation: isolate;
  background:
    radial-gradient(circle at 82% 32%, rgba(255, 183, 219, .08), transparent 28%),
    radial-gradient(circle at 55% 78%, rgba(84, 255, 223, .07), transparent 25%),
    #090909;
}
.payments::before {
  content: "PAY / INK / REPEAT";
  position: absolute;
  z-index: -1;
  left: -2vw;
  bottom: -1.5vw;
  color: transparent;
  -webkit-text-stroke: 1px rgba(255,255,255,.035);
  font: 400 clamp(90px, 15vw, 230px)/.7 "Bebas Neue", sans-serif;
  white-space: nowrap;
}
.payment-intro { align-self: center; }
.payments h2 { font-size: clamp(64px, 7.7vw, 118px); }
.payment-lead {
  max-width: 580px;
  margin: 34px 0 28px;
  color: #aaa6a0;
  font-size: 17px;
  line-height: 1.75;
}
.payment-question {
  display: inline-flex;
  align-items: center;
  gap: 18px;
  padding-bottom: 8px;
  border-bottom: 1px solid rgba(255,255,255,.28);
  color: var(--paper);
  text-decoration: none;
  text-transform: uppercase;
  letter-spacing: .14em;
  font-size: 10px;
  font-weight: 700;
}
.payment-question span { color: var(--red-bright); font-size: 18px; transition: transform .25s ease; }
.payment-question:hover span { transform: translate(3px, -3px); }
.payment-stack { position: relative; min-height: 610px; }
.pay-card {
  position: absolute;
  width: min(100%, 480px);
  min-height: 360px;
  padding: 28px 30px 26px;
  overflow: hidden;
  border: 1px solid rgba(255,255,255,.17);
  clip-path: polygon(0 0, calc(100% - 44px) 0, 100% 44px, 100% 100%, 44px 100%, 0 calc(100% - 44px));
  background: linear-gradient(145deg, rgba(32,32,32,.78), rgba(10,10,10,.48));
  box-shadow: inset 0 1px rgba(255,255,255,.15), 0 34px 90px rgba(0,0,0,.5);
  -webkit-backdrop-filter: blur(22px) saturate(1.25);
  backdrop-filter: blur(22px) saturate(1.25);
  transition: transform .45s cubic-bezier(.2,.8,.2,1), border-color .35s ease;
}
.pay-card::before {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background: linear-gradient(115deg, rgba(255,255,255,.12), transparent 25%, transparent 75%, rgba(255,255,255,.04));
}
.sequra-card { top: 0; left: 0; transform: rotate(-4deg); }
.klarna-card { right: 0; bottom: 44px; transform: rotate(4deg); }
.sequra-card:hover { transform: rotate(-2deg) translateY(-7px); border-color: rgba(76,255,216,.4); }
.klarna-card:hover { transform: rotate(2deg) translateY(-7px); border-color: rgba(255,180,217,.45); }
.pay-card-top { display: flex; justify-content: space-between; align-items: center; color: #74716c; font-size: 8px; letter-spacing: .2em; }
.pay-index { font-family: "Bebas Neue"; font-size: 19px; color: var(--paper); }
.pay-brand { position: relative; z-index: 1; margin: 64px 0 24px; line-height: .8; color: #fff; }
.sequra-logo { font: 700 65px/1 Manrope, sans-serif; letter-spacing: -.075em; }
.sequra-logo span { color: #66f2ce; }
.klarna-logo { font: 700 63px/1 Manrope, sans-serif; letter-spacing: -.065em; }
.klarna-logo span { color: #ffb3d8; }
.pay-card > p { position: relative; z-index: 1; width: 72%; color: #aaa6a0; font-size: 13px; line-height: 1.65; }
.pay-feature { position: absolute; z-index: 1; right: 28px; bottom: 24px; display: flex; align-items: flex-end; gap: 10px; text-align: right; }
.pay-feature strong { color: var(--paper); font: 400 46px/.75 "Bebas Neue"; }
.pay-feature span { color: #85817c; text-transform: uppercase; letter-spacing: .12em; font-size: 7px; line-height: 1.45; }
.pay-glow { position: absolute; width: 220px; height: 220px; right: -90px; bottom: -100px; border-radius: 50%; filter: blur(25px); opacity: .38; }
.sequra-card .pay-glow { background: #32d9b3; box-shadow: 0 0 90px #32d9b3; }
.klarna-card .pay-glow { background: #ff8fc7; box-shadow: 0 0 90px #ff8fc7; }
.payment-note { position: absolute; left: 0; right: 0; bottom: 0; margin: 0; color: #66625e; font-size: 8px; line-height: 1.6; letter-spacing: .04em; }
.studio {
  display: grid;
  grid-template-columns: 1.5fr 0.7fr;
  gap: 10vw;
  background: linear-gradient(120deg, #090909 60%, #121212);
}
.studio h2 {
  font-size: clamp(60px, 8vw, 116px);
}
.studio-panel > p:not(.eyebrow) {
  color: var(--muted);
  max-width: 580px;
  font-size: 17px;
  line-height: 1.7;
  margin: 34px 0;
}
.contact-card {
  border-left: 1px solid var(--line);
  padding-left: 40px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 30px;
}
.contact-card div {
  border-bottom: 1px solid var(--line);
  padding-bottom: 24px;
}
.contact-card small {
  display: block;
  color: var(--red);
  text-transform: uppercase;
  letter-spacing: 0.2em;
  font-size: 9px;
  margin-bottom: 8px;
}
.contact-card p,
.contact-card a {
  color: var(--paper);
  text-decoration: none;
  margin: 0;
  line-height: 1.6;
  font-size: 14px;
}
footer {
  min-height: 120px;
  border-top: 1px solid var(--line);
  padding: 30px 4vw;
  display: flex;
  align-items: center;
  justify-content: space-between;
  color: #777;
  font-size: 11px;
  text-transform: uppercase;
  letter-spacing: 0.1em;
}
footer > a:last-child {
  color: var(--paper);
  text-decoration: none;
}
.floating-wa {
  display: none;
  position: fixed;
  z-index: 50;
  bottom: 14px;
  left: 14px;
  right: 14px;
  background:
    linear-gradient(105deg, rgba(255,255,255,.13), transparent 28%),
    linear-gradient(135deg, var(--red-bright), var(--red) 53%, var(--red-deep));
  color: white;
  text-decoration: none;
  padding: 17px 20px;
  text-transform: uppercase;
  letter-spacing: 0.14em;
  font-size: 11px;
  font-weight: 700;
  justify-content: space-between;
  border: 1px solid rgba(255, 93, 117, .38);
  clip-path: polygon(0 0, calc(100% - 18px) 0, 100% 18px, 100% 100%, 18px 100%, 0 calc(100% - 18px));
  box-shadow: inset 0 1px 0 rgba(255,255,255,.2), 0 18px 42px rgba(90, 2, 18, .48);
}
.reveal {
  opacity: 0;
  transform: translateY(26px);
  transition: 0.8s cubic-bezier(0.2, 0.8, 0.2, 1);
}
.reveal.visible {
  opacity: 1;
  transform: none;
}
@media (max-width: 850px) {
  .nav {
    height: 70px;
    padding: 0 20px;
  }
  .nav nav > a:not(.nav-cta) {
    display: none;
  }
  .nav .nav-cta {
    padding: 11px 13px;
  }
  .hero {
    grid-template-columns: 1fr;
    min-height: auto;
  }
  .hero-copy {
    padding: 10vh 22px 60px;
  }
  .hero h1 {
    font-size: 23vw;
  }
  .hero-art {
    height: 68vh;
  }
  .hero-facts {
    margin-top: 55px;
  }
  .section {
    padding: 100px 22px;
  }
  .section-heading {
    display: block;
  }
  .section-heading > p {
    margin-top: 24px;
  }
  .gallery {
    grid-template-columns: 1fr 1fr;
    grid-auto-rows: 65vw;
  }
  .gallery .tall {
    grid-row: span 1;
  }
  .gallery .wide {
    grid-column: span 2;
  }
  .steps {
    grid-template-columns: 1fr;
  }
  .steps article,
  .steps article + article {
    border-right: 0;
    border-bottom: 1px solid #aaa59c;
    padding: 28px 0;
    min-height: 0;
  }
  .steps article:last-child {
    border-bottom: 0;
  }
  .steps h3 {
    margin: 14px 0 8px;
  }
  .payments { grid-template-columns: 1fr; gap: 58px; }
  .payment-stack { min-height: 690px; }
  .pay-card { width: min(92%, 460px); }
  .sequra-card { left: 0; }
  .klarna-card { right: 0; }
  .studio {
    grid-template-columns: 1fr;
    gap: 60px;
  }
  .contact-card {
    padding: 0;
    border-left: 0;
    border-top: 1px solid var(--line);
    padding-top: 35px;
  }
  footer {
    padding-bottom: 90px;
    align-items: flex-start;
    gap: 24px;
    flex-direction: column;
  }
  .floating-wa {
    display: flex;
  }
}
@media (max-width: 430px) {
  .nav .brand {
    font-size: 0;
  }
  .gallery {
    grid-template-columns: 1fr;
    grid-auto-rows: 115vw;
  }
  .gallery .wide {
    grid-column: span 1;
  }
  .hero-art {
    height: 62vh;
  }
  .hero-facts {
    gap: 25px;
  }
  .payment-stack { min-height: 650px; }
  .pay-card { min-height: 330px; padding: 24px 22px; }
  .pay-brand { margin-top: 55px; }
  .sequra-logo, .klarna-logo { font-size: 49px; }
  .pay-card > p { width: 78%; }
  .klarna-card { bottom: 50px; }
  .pay-feature { right: 20px; }
}

/* Process v4 — clean, photographic, real */
.process{background:#e9e5dc}.process:before{display:none}.process .section-heading{margin-bottom:46px}.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;border:0}.steps article,.steps article+article{display:grid;grid-template-rows:240px 1fr;min-height:500px;padding:0;border:1px solid rgba(20,20,20,.16);border-radius:0;background:rgba(255,255,255,.18);box-shadow:none;overflow:hidden;transition:transform .35s,box-shadow .35s}.steps article:hover{transform:translateY(-5px);box-shadow:0 20px 45px rgba(28,24,18,.1)}.steps article:after{display:none}.steps article>span{position:absolute;z-index:3;top:16px;left:16px;display:grid;place-items:center;width:38px;height:38px;margin:0;border:1px solid rgba(255,255,255,.45);border-radius:50%;color:#fff;background:rgba(10,10,10,.55);font-size:17px;backdrop-filter:blur(8px);box-shadow:none}.step-photo{position:relative;overflow:hidden;background:#171717}.step-photo:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 58%,rgba(0,0,0,.48))}.step-photo img{width:100%;height:100%;display:block;object-fit:cover;filter:grayscale(1) contrast(1.08);transition:filter .5s,transform .7s}.steps article:hover .step-photo img{filter:grayscale(.35) contrast(1.04);transform:scale(1.025)}.step-copy{display:flex;flex-direction:column;padding:28px 26px 24px}.steps .step-copy h3{margin:0 0 16px;font-size:45px}.steps .step-copy h3:after{width:32px;height:2px;margin-top:12px;box-shadow:none}.steps .step-copy p{margin:0;color:#625e58;font-size:14px;line-height:1.65}.steps .step-copy small{position:static;margin-top:auto;padding-top:25px;color:#8c867e;font-size:8px;letter-spacing:.2em}
@media(max-width:760px){.process{padding-top:82px;padding-bottom:92px}.process .section-heading{margin-bottom:34px}.steps{grid-template-columns:1fr;gap:14px}.steps article,.steps article+article{grid-template-columns:42% 58%;grid-template-rows:1fr;min-height:230px;padding:0;border:1px solid rgba(20,20,20,.14);border-radius:0}.step-photo{min-height:230px}.step-copy{padding:25px 20px}.steps .step-copy h3{margin:0 0 12px;font-size:37px}.steps .step-copy p{font-size:12px;line-height:1.55}.steps .step-copy small{padding-top:15px;font-size:7px}.steps article>span{top:12px;left:12px;width:32px;height:32px;font-size:15px}}

/* Header v3 — floating tattoo seal */
.nav{height:96px;margin:14px 2.2vw 0;padding:0 18px 0 14px;position:relative;z-index:20;border:1px solid rgba(255,255,255,.13);border-radius:4px 24px 4px 24px;background:linear-gradient(110deg,rgba(24,24,24,.78),rgba(7,7,7,.46));box-shadow:0 24px 70px rgba(0,0,0,.38),inset 0 1px rgba(255,255,255,.12);backdrop-filter:blur(18px) saturate(1.15);-webkit-backdrop-filter:blur(18px) saturate(1.15)}
.nav:before{content:"";position:absolute;left:72px;right:22%;bottom:-1px;height:1px;background:linear-gradient(90deg,var(--red),rgba(225,39,69,.08));box-shadow:0 0 13px rgba(225,39,69,.65)}
.nav .brand{gap:13px;letter-spacing:0;text-transform:none}.brand-seal{position:relative!important;width:62px!important;height:62px!important;border:1px solid rgba(255,255,255,.2)!important;border-radius:3px 20px 3px 20px!important;background:radial-gradient(circle at 34% 24%,rgba(255,255,255,.18),transparent 32%),rgba(20,20,20,.7)!important;box-shadow:inset 0 0 24px rgba(255,255,255,.05),0 0 0 1px rgba(178,15,42,.2),0 12px 32px rgba(0,0,0,.5)!important;transform:rotate(-3deg)}
.brand-seal strong{font-family:"Bebas Neue";font-size:26px;letter-spacing:-.06em;color:var(--paper);text-shadow:2px 2px 0 rgba(178,15,42,.65),0 0 14px rgba(225,39,69,.35)}
.brand-seal i{position:absolute;width:8px;height:8px;right:8px;top:8px;border-radius:50%;background:var(--red-bright);box-shadow:0 0 9px var(--red-bright),0 0 20px var(--red)}
.brand-copy{width:auto!important;height:auto!important;border:0!important;border-radius:0!important;display:flex!important;align-items:flex-start!important;flex-direction:column;gap:3px}.brand-copy strong{font-size:17px;letter-spacing:.24em}.brand-copy small{font-size:7px;letter-spacing:.28em;color:#827e78}
.nav nav{gap:clamp(18px,2.4vw,38px)}.nav nav>a:not(.nav-cta){position:relative;color:#aaa59e;font-size:10px}.nav nav>a:not(.nav-cta):after{content:"";position:absolute;left:0;right:100%;bottom:-9px;height:1px;background:var(--red-bright);box-shadow:0 0 8px var(--red);transition:right .3s}.nav nav>a:not(.nav-cta):hover{color:#fff}.nav nav>a:not(.nav-cta):hover:after{right:0}
.nav .nav-cta{display:flex;align-items:center;gap:18px;padding:8px 9px 8px 20px;border:1px solid rgba(255,255,255,.18);border-radius:2px 16px 2px 16px;background:linear-gradient(105deg,#d7153a,#680919);box-shadow:0 10px 28px rgba(178,15,42,.28),inset 0 1px rgba(255,255,255,.22);overflow:hidden}.nav .nav-cta i{display:grid;place-items:center;width:34px;height:34px;border:1px solid rgba(255,255,255,.25);border-radius:2px 11px 2px 11px;background:rgba(255,255,255,.08);font-style:normal;box-shadow:inset 0 1px rgba(255,255,255,.18)}.nav .nav-cta i svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.55;stroke-linecap:round;stroke-linejoin:round;color:#fff}
@media(max-width:850px){.nav{height:70px;margin:8px 10px 0;padding:0 8px;border-radius:3px 18px 3px 18px}.brand-seal{width:44px!important;height:44px!important;border-radius:2px 14px 2px 14px!important}.brand-seal strong{font-size:20px}.brand-seal i{width:6px;height:6px;right:6px;top:6px}.brand-copy strong{font-size:11px;letter-spacing:.2em}.brand-copy small{font-size:5px}.nav .nav-cta{padding:6px 6px 6px 12px;gap:8px}.nav .nav-cta span{font-size:8px}.nav .nav-cta i{width:30px;height:30px}.nav:before{left:50px}}
@media(max-width:430px){.nav .brand{font-size:inherit}.brand-copy small{display:none}.nav .nav-cta span{display:inline}.brand-copy strong{font-size:9px}.nav .nav-cta{padding-left:10px}}

/* Final cascade: portfolio + process atelier glass */
.portfolio{background:radial-gradient(circle at 88% 4%,rgba(209,18,63,.13),transparent 26%),#080808}.gallery{gap:clamp(10px,1.4vw,22px);grid-auto-rows:29vw}.gallery figure{border-radius:2px 24px 2px 24px;border:1px solid rgba(255,255,255,.1);box-shadow:0 24px 65px rgba(0,0,0,.45);isolation:isolate}.gallery figure:before{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;background:linear-gradient(135deg,rgba(255,255,255,.12),transparent 18%,transparent 75%,rgba(209,18,63,.16))}.gallery figure:after{content:"";position:absolute;width:70px;height:1px;top:18px;right:18px;z-index:2;background:var(--red);box-shadow:0 0 12px var(--red),0 0 28px rgba(230,20,70,.7);transition:.5s}.gallery figure:hover:after{width:120px}.gallery img{filter:grayscale(1) contrast(1.08)}.gallery figcaption{inset:auto 14px 14px;z-index:3;padding:15px 17px;border:1px solid rgba(255,255,255,.16);border-radius:2px 16px 2px 16px;background:linear-gradient(110deg,rgba(7,7,7,.84),rgba(25,25,25,.48));backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);box-shadow:0 12px 35px rgba(0,0,0,.38)}.gallery figcaption span{display:inline-grid;place-items:center;width:30px;height:30px;margin-right:10px;border:1px solid rgba(255,35,85,.45);border-radius:50%;text-shadow:0 0 10px var(--red);box-shadow:inset 0 0 15px rgba(209,18,63,.14),0 0 16px rgba(209,18,63,.12)}
.process{position:relative;overflow:hidden;background:linear-gradient(135deg,#e9e5dc 0%,#f5f1e8 48%,#ddd7cc 100%)}.process:before{content:"";position:absolute;width:560px;height:560px;right:-190px;top:-190px;opacity:.13;background:repeating-radial-gradient(circle at center,transparent 0 24px,#b90d35 25px 26px);border-radius:50%}.process .section-heading{position:relative;z-index:1}.steps{position:relative;z-index:1;gap:18px;border:0}.steps article,.steps article+article{position:relative;min-height:340px;padding:30px 28px 26px;overflow:hidden;border:1px solid rgba(40,35,30,.16);border-radius:3px 28px 3px 28px;background:linear-gradient(145deg,rgba(255,255,255,.62),rgba(255,255,255,.2));backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);box-shadow:0 25px 60px rgba(37,30,22,.1),inset 0 1px rgba(255,255,255,.85);transition:transform .35s,box-shadow .35s}.steps article:hover{transform:translateY(-8px);box-shadow:0 32px 70px rgba(37,30,22,.16),0 0 35px rgba(209,18,63,.08)}.steps article:after{content:"";position:absolute;inset:auto -18% -42% 25%;height:180px;background:radial-gradient(ellipse,rgba(209,18,63,.22),transparent 68%);transform:rotate(-12deg)}.steps span{display:grid;place-items:center;width:48px;height:48px;border:1px solid rgba(209,18,63,.38);border-radius:50%;background:rgba(255,255,255,.46);box-shadow:0 0 20px rgba(209,18,63,.13)}.step-mark{position:absolute;width:105px;height:105px;right:22px;top:19px;color:var(--red);opacity:.82;filter:drop-shadow(0 0 9px rgba(209,18,63,.28))}.step-mark svg{width:100%;height:100%;fill:none;stroke:currentColor;stroke-width:1.35;stroke-linecap:round;stroke-linejoin:round}.steps h3{position:relative;margin:72px 0 12px;font-size:clamp(45px,4vw,62px)}.steps h3:after{content:"";display:block;width:44px;height:3px;margin-top:12px;background:var(--red);box-shadow:0 0 12px rgba(209,18,63,.55)}.steps p{position:relative;z-index:1;font-size:15px}.steps small{position:absolute;left:28px;bottom:24px;z-index:1;color:#8b8177;font-size:9px;letter-spacing:.2em}
@media(max-width:760px){.gallery{gap:16px;grid-auto-rows:115vw}.gallery figure{border-radius:2px 20px 2px 20px}.gallery figcaption{inset:auto 10px 10px}.steps{gap:16px}.steps article,.steps article+article{min-height:285px;padding:25px 22px;border:1px solid rgba(40,35,30,.16)}.step-mark{width:88px;height:88px;right:18px;top:17px}.steps h3{margin-top:52px}.steps small{left:22px;bottom:20px}}

/* Hero v2 — atelier noir / smoked glass */
.hero {
  min-height: calc(100svh - 88px);
  grid-template-columns: minmax(0, 1.12fr) minmax(340px, 0.88fr);
  isolation: isolate;
  background: #090909 url("assets/hero-tiger-art-v2.webp") 74% 47% / min(78vw, 1120px) auto no-repeat;
  overflow: hidden;
}
.hero::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  background: linear-gradient(90deg, #090909 0%, rgba(9, 9, 9, 0.94) 35%, rgba(9, 9, 9, 0.38) 72%, rgba(9, 9, 9, 0.12) 100%), linear-gradient(0deg, #090909 0%, transparent 35%);
}
.hero::after {
  content: "";
  position: absolute;
  width: 52vw;
  height: 52vw;
  right: -12vw;
  top: -18vw;
  z-index: -1;
  border: 1px solid rgba(238, 59, 36, 0.18);
  border-radius: 50%;
  box-shadow: 0 0 120px rgba(238, 59, 36, 0.08);
}
.hero-copy {
  align-self: center;
  margin: 5vh 0 6vh 4vw;
  padding: clamp(28px, 4vw, 64px);
  max-width: 850px;
  border: 1px solid rgba(255, 255, 255, 0.15);
  border-radius: 28px;
  background: linear-gradient(135deg, rgba(27, 27, 27, 0.75), rgba(8, 8, 8, 0.38));
  box-shadow: 0 28px 90px rgba(0, 0, 0, 0.44), inset 0 1px 0 rgba(255, 255, 255, 0.13);
  -webkit-backdrop-filter: blur(18px) saturate(1.18);
  backdrop-filter: blur(18px) saturate(1.18);
  overflow: hidden;
}
.hero-copy::before {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background: linear-gradient(115deg, rgba(255, 255, 255, 0.1), transparent 24%, transparent 72%, rgba(238, 59, 36, 0.07));
  border-radius: inherit;
}
.hero h1 { font-size: clamp(76px, 8.8vw, 150px); text-shadow: 0 8px 28px rgba(0, 0, 0, 0.46); }
.hero .lead { max-width: 610px; color: #d0ccc5; }
.hero-facts { margin-top: clamp(44px, 7vh, 82px); }
.hero-art { overflow: visible; background: none; pointer-events: none; position: relative; }
.hero-art::after { display: none; }
.real-work-card {
  position: absolute;
  width: min(24vw, 350px);
  aspect-ratio: 0.78;
  right: 6%;
  bottom: 5%;
  padding: 8px;
  border: 1px solid rgba(255, 255, 255, 0.22);
  border-radius: 22px;
  background: rgba(18, 18, 18, 0.55);
  box-shadow: 0 30px 70px rgba(0, 0, 0, 0.62), inset 0 1px rgba(255, 255, 255, 0.16);
  -webkit-backdrop-filter: blur(13px);
  backdrop-filter: blur(13px);
  transform: rotate(3deg);
  overflow: hidden;
}
.real-work-card img { width: 100%; height: calc(100% - 48px); object-fit: cover; object-position: center; filter: grayscale(1) contrast(1.12); transform: none; border-radius: 15px; }
.real-work-meta { height: 48px; display: flex; align-items: center; justify-content: space-between; padding: 0 10px; color: #8e8a84; font-size: 7px; letter-spacing: 0.17em; }
.real-work-meta strong { color: var(--paper); font-size: 9px; }
.vertical-word { right: -8px; top: 8%; color: rgba(232, 228, 220, 0.72); text-shadow: 0 4px 20px #000; }
.stamp { right: auto; left: -10%; bottom: 7%; background: rgba(8, 8, 8, 0.3); -webkit-backdrop-filter: blur(7px); backdrop-filter: blur(7px); }

@media (max-width: 850px) {
  .hero { display: block; min-height: calc(100svh - 70px); background-position: 70% 58%; background-size: auto 92%; padding: 36px 16px 120px; }
  .hero::before { background: linear-gradient(180deg, rgba(9, 9, 9, 0.55), rgba(9, 9, 9, 0.86) 62%, #090909 100%), linear-gradient(90deg, #090909 0%, transparent 70%); }
  .hero-copy { margin: 0; padding: 36px 28px 32px; max-width: none; background: linear-gradient(135deg, rgba(24, 24, 24, 0.72), rgba(8, 8, 8, 0.32)); border-radius: 24px; }
  .hero h1 { font-size: clamp(72px, 20.5vw, 118px); }
  .hero .lead { font-size: 16px; line-height: 1.58; margin: 28px 0; }
  .hero-facts { margin-top: 44px; padding-right: 100px; }
  .hero-art { height: 0; }
  .real-work-card { width: 118px; aspect-ratio: 0.74; right: 8px; bottom: -104px; padding: 5px; border-radius: 16px; transform: rotate(4deg); }
  .real-work-card img { height: calc(100% - 38px); border-radius: 11px; }
  .real-work-meta { height: 38px; display: block; padding: 7px 5px; line-height: 1.35; }
  .real-work-meta span, .real-work-meta strong { display: block; font-size: 6px; }
  .vertical-word { display: none; }
  .stamp { width: 82px; height: 82px; left: auto; right: 105px; bottom: -105px; opacity: 0.7; }
  .stamp strong { font-size: 32px; }
}
@media (max-width: 430px) {
  .hero { padding: 26px 12px 112px; background-position: 66% 62%; background-size: auto 87%; }
  .hero-copy { padding: 32px 22px 30px; }
  .hero h1 { font-size: 19.5vw; }
  .actions { display: grid; grid-template-columns: 1fr; }
  .button { justify-content: space-between; }
}

/* Process v4 final cascade */
.instagram-gallery{position:relative;overflow:hidden;background:#ebe7df;color:#141414}.instagram-gallery:before{content:"";position:absolute;width:520px;height:520px;right:-240px;top:-240px;border:1px solid rgba(178,15,42,.18);border-radius:50%;box-shadow:0 0 100px rgba(178,15,42,.08)}.ig-heading{display:grid;grid-template-columns:1.25fr .75fr;gap:8vw;align-items:end;margin-bottom:55px}.ig-heading h2{font:400 clamp(68px,8vw,132px)/.78 "Bebas Neue";letter-spacing:-.025em}.ig-heading h2 em{color:var(--red);font-style:normal}.ig-intro{padding-bottom:8px}.ig-intro>p{max-width:460px;color:#68635d;line-height:1.7}.ig-filters{display:flex;gap:8px;margin-top:28px}.ig-filters button{padding:11px 18px;border:1px solid rgba(15,15,15,.16);border-radius:999px;background:transparent;color:#6c6760;font:700 9px/1 Manrope;letter-spacing:.13em;text-transform:uppercase;cursor:pointer;transition:.25s}.ig-filters button:hover,.ig-filters button.active{border-color:#161616;background:#161616;color:#fff}.ig-grid{display:grid;grid-template-columns:repeat(4,1fr);grid-auto-rows:min(28vw,430px);gap:12px}.ig-item{position:relative;display:block;overflow:hidden;border-radius:2px 24px 2px 24px;background:#111;color:#fff;text-decoration:none;isolation:isolate}.ig-item.ig-featured{grid-column:span 2}.ig-item[hidden]{display:none}.ig-item img{width:100%;height:100%;display:block;object-fit:cover;filter:grayscale(.75) contrast(1.08);transition:transform .8s cubic-bezier(.2,.7,.2,1),filter .5s}.ig-item:hover img{transform:scale(1.055);filter:grayscale(.1) contrast(1.04)}.ig-shade{position:absolute;inset:0;z-index:1;background:linear-gradient(180deg,rgba(0,0,0,.06) 35%,rgba(0,0,0,.82) 100%)}.ig-kind{position:absolute;z-index:2;top:16px;right:16px;padding:9px 11px;border:1px solid rgba(255,255,255,.25);border-radius:999px;background:rgba(8,8,8,.45);backdrop-filter:blur(10px);font-size:7px;letter-spacing:.15em}.ig-play{font-style:normal;color:var(--red-bright);text-shadow:0 0 12px var(--red)}.ig-caption{position:absolute;z-index:2;left:20px;right:20px;bottom:18px;display:grid;grid-template-columns:32px 1fr;align-items:end;gap:3px 10px}.ig-caption small{grid-row:span 2;color:var(--red-bright);font:400 23px/1 "Bebas Neue"}.ig-caption strong{font:500 13px/1.2 Manrope}.ig-caption i{opacity:.58;font:700 6px/1 Manrope;letter-spacing:.16em;font-style:normal}.ig-profile-link{display:flex;align-items:center;justify-content:space-between;margin-top:14px;padding:22px 25px;border:1px solid rgba(20,20,20,.16);border-radius:2px 22px 2px 22px;color:#151515;text-decoration:none;transition:.3s}.ig-profile-link:hover{background:#151515;color:#fff}.ig-profile-link span:first-child{display:flex;align-items:center;gap:18px}.ig-profile-link small{color:var(--red);font-size:7px;letter-spacing:.18em}.ig-profile-link strong{font-size:14px}.ig-arrow{display:grid;place-items:center;width:40px;height:40px;border:1px solid currentColor;border-radius:50%;font-size:18px}.ig-unavailable{grid-column:1/-1;padding:70px;text-align:center;color:#6c6760}
@media(max-width:850px){.ig-heading{grid-template-columns:1fr;gap:24px;margin-bottom:34px}.ig-heading h2{font-size:19vw}.ig-grid{grid-template-columns:1fr 1fr;grid-auto-rows:62vw}.ig-item.ig-featured{grid-column:span 2}.ig-profile-link span:first-child{align-items:flex-start;flex-direction:column;gap:5px}}
@media(max-width:480px){.ig-grid{gap:8px}.ig-item{border-radius:2px 16px 2px 16px}.ig-caption{left:13px;right:13px;bottom:13px;grid-template-columns:24px 1fr}.ig-caption strong{font-size:10px}.ig-caption small{font-size:19px}.ig-kind{top:10px;right:10px}.ig-profile-link{padding:16px 17px}}

/* Process v4 final cascade */
.process{background:#e9e5dc}.process:before{display:none}.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;border:0}.steps article,.steps article+article{display:grid;grid-template-rows:240px 1fr;min-height:500px;padding:0;border:1px solid rgba(20,20,20,.16);border-radius:0;background:rgba(255,255,255,.18);box-shadow:none;overflow:hidden}.steps article:after{display:none}.steps article>span{position:absolute;z-index:3;top:16px;left:16px;display:grid;place-items:center;width:38px;height:38px;margin:0;border:1px solid rgba(255,255,255,.45);border-radius:50%;color:#fff;background:rgba(10,10,10,.55);font-size:17px;backdrop-filter:blur(8px);box-shadow:none}.step-photo{position:relative;overflow:hidden;background:#171717}.step-photo:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 58%,rgba(0,0,0,.48))}.step-photo img{width:100%;height:100%;display:block;object-fit:cover;filter:grayscale(1) contrast(1.08)}.step-copy{display:flex;flex-direction:column;padding:28px 26px 24px}.steps .step-copy h3{margin:0 0 16px;font-size:45px}.steps .step-copy h3:after{width:32px;height:2px;margin-top:12px;box-shadow:none}.steps .step-copy p{margin:0;color:#625e58;font-size:14px;line-height:1.65}.steps .step-copy small{position:static;margin-top:auto;padding-top:25px;color:#8c867e;font-size:8px;letter-spacing:.2em}
@media(max-width:760px){.process{padding-top:82px;padding-bottom:92px}.process .section-heading{margin-bottom:34px}.steps{grid-template-columns:1fr;gap:14px}.steps article,.steps article+article{grid-template-columns:42% 58%;grid-template-rows:1fr;min-height:230px;padding:0;border:1px solid rgba(20,20,20,.14)}.step-photo{min-height:230px}.step-copy{padding:25px 20px}.steps .step-copy h3{margin:0 0 12px;font-size:37px}.steps .step-copy p{font-size:12px;line-height:1.55}.steps .step-copy small{padding-top:15px;font-size:7px}.steps article>span{top:12px;left:12px;width:32px;height:32px;font-size:15px}}

/* Studio v3 — editorial contact suite */
.studio{position:relative;display:grid;grid-template-columns:minmax(0,1.15fr) minmax(390px,.85fr);gap:clamp(30px,4vw,68px);background:radial-gradient(circle at 5% 5%,rgba(178,15,42,.12),transparent 24%),#090909}.studio-panel{display:grid;grid-template-columns:minmax(0,1fr) minmax(250px,.55fr);gap:32px;align-items:stretch}.studio-copy{position:relative;z-index:2;padding:24px 0}.studio h2{font-size:clamp(66px,7.5vw,112px)}.studio-panel .studio-copy>p:not(.eyebrow){max-width:520px;margin:30px 0;color:#aaa59e;font-size:16px;line-height:1.7}.studio-cta{width:max-content}.studio-photo{position:relative;min-height:580px;margin:0;overflow:hidden;border:1px solid rgba(255,255,255,.13);border-radius:2px 26px 2px 26px;background:#161616}.studio-photo:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 50%,rgba(0,0,0,.78))}.studio-photo img{width:100%;height:100%;object-fit:cover;filter:grayscale(1) contrast(1.08)}.studio-photo figcaption{position:absolute;z-index:2;left:20px;right:20px;bottom:20px;padding:15px;border:1px solid rgba(255,255,255,.15);background:rgba(12,12,12,.55);backdrop-filter:blur(12px);font-size:8px;letter-spacing:.18em}.studio-photo figcaption span,.studio-photo figcaption strong{display:block}.studio-photo figcaption span{color:var(--red-bright);margin-bottom:5px}.contact-card{display:grid;grid-template-columns:1fr 1fr;align-content:center;gap:12px;padding:0;border:0}.contact-card .contact-tile{position:relative;min-height:215px;padding:24px;display:flex;flex-direction:column;justify-content:flex-end;border:1px solid rgba(255,255,255,.12);border-radius:2px 20px 2px 20px;background:linear-gradient(145deg,rgba(255,255,255,.065),rgba(255,255,255,.018));color:var(--paper);text-decoration:none;overflow:hidden}.contact-card .contact-tile:before{content:"";position:absolute;width:90px;height:90px;right:-35px;top:-35px;border:1px solid rgba(225,39,69,.25);border-radius:50%;box-shadow:0 0 35px rgba(178,15,42,.08)}.contact-card .contact-tile:hover{border-color:rgba(225,39,69,.45);background:linear-gradient(145deg,rgba(225,39,69,.1),rgba(255,255,255,.02))}.contact-card .contact-tile small{margin:0 0 auto;color:var(--red-bright);font-size:8px}.contact-card .contact-tile strong{font:400 42px/1 "Bebas Neue";letter-spacing:.01em}.contact-card .contact-tile p{margin:8px 0 0;color:#c2beb7;font-size:12px;line-height:1.5}.contact-card .contact-tile b{margin-top:16px;color:#77726c;font-size:7px;letter-spacing:.17em}.contact-card .address{grid-column:span 2;min-height:180px}.contact-card .address strong{font-size:58px}
@media(max-width:980px){.studio{grid-template-columns:1fr}.studio-panel{grid-template-columns:1fr .55fr}.contact-card{grid-template-columns:repeat(4,1fr)}.contact-card .address{grid-column:span 1}.contact-card .contact-tile{min-height:190px}}
@media(max-width:650px){.studio{gap:26px;padding-top:82px}.studio-panel{grid-template-columns:1fr}.studio-copy{padding:0}.studio h2{font-size:20vw}.studio-panel .studio-copy>p:not(.eyebrow){font-size:14px;margin:24px 0}.studio-photo{min-height:390px}.contact-card{grid-template-columns:1fr 1fr;gap:10px}.contact-card .contact-tile,.contact-card .address{grid-column:span 1;min-height:180px;padding:19px}.contact-card .contact-tile strong{font-size:35px}.contact-card .address strong{font-size:42px}.contact-card .contact-tile p{font-size:11px}}

/* Canonical icon language: monochrome outline SVGs, never emoji glyphs. */
.ui-icon,.ig-arrow svg,.payment-question svg,.contact-tile b svg{width:1.15em;height:1.15em;display:inline-block;flex:0 0 auto;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;vertical-align:middle}
.ig-kind{display:flex;align-items:center;gap:6px}
.ig-kind .ig-play{width:14px;height:14px;color:var(--red-bright);filter:drop-shadow(0 0 5px rgba(215,21,58,.65));text-shadow:none}
.ig-caption i{display:flex;align-items:center;gap:5px}.ig-caption i .ui-icon{width:10px;height:10px}
.ig-arrow svg{width:20px;height:20px}.payment-question>span{display:grid;place-items:center}
.contact-card .contact-tile b{display:flex;align-items:center;gap:6px}.contact-tile b .ui-icon{width:12px;height:12px}

/* Instagram gallery v2 — gloom glass cards */
.instagram-gallery{background:radial-gradient(circle at 84% 10%,rgba(215,21,58,.16),transparent 26%),radial-gradient(circle at 12% 64%,rgba(255,255,255,.045),transparent 22%),#09090a;color:#f4f0e8}
.instagram-gallery:before{border-color:rgba(255,255,255,.08);box-shadow:0 0 140px rgba(215,21,58,.16)}
.ig-heading{position:relative;z-index:2}.ig-heading h2{color:#f4f0e8}.ig-intro>p{color:#a8a39c}.ig-filters button{border-color:rgba(255,255,255,.13);background:rgba(255,255,255,.035);color:#a9a49d;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)}
.ig-filters button:hover,.ig-filters button.active{border-color:rgba(255,255,255,.34);background:linear-gradient(145deg,rgba(255,255,255,.17),rgba(255,255,255,.055));color:#fff;box-shadow:inset 0 1px rgba(255,255,255,.2),0 12px 34px rgba(0,0,0,.28),0 0 24px rgba(215,21,58,.12)}
.ig-grid{gap:18px;grid-auto-rows:min(29vw,455px)}
.ig-item{border:1px solid rgba(255,255,255,.13);border-radius:22px;background:linear-gradient(145deg,rgba(255,255,255,.09),rgba(255,255,255,.025));box-shadow:inset 0 1px rgba(255,255,255,.17),0 24px 60px rgba(0,0,0,.44),0 0 0 1px rgba(215,21,58,.025);transform:translateZ(0);transition:transform .35s ease,border-color .35s ease,box-shadow .35s ease}
.ig-item:before{content:"";position:absolute;z-index:2;inset:0;border-radius:inherit;pointer-events:none;background:linear-gradient(135deg,rgba(255,255,255,.16),transparent 24%,transparent 72%,rgba(215,21,58,.12));opacity:.72}
.ig-item:hover{transform:translateY(-7px);border-color:rgba(238,49,82,.42);box-shadow:inset 0 1px rgba(255,255,255,.22),0 30px 75px rgba(0,0,0,.55),0 0 42px rgba(215,21,58,.18)}
.ig-item img{filter:grayscale(.6) contrast(1.08);transition:transform .8s cubic-bezier(.2,.7,.2,1),filter .5s}.ig-item:hover img{filter:grayscale(.05) contrast(1.03)}
.ig-kind{border-color:rgba(255,255,255,.2);background:rgba(10,10,12,.56);box-shadow:inset 0 1px rgba(255,255,255,.14),0 10px 25px rgba(0,0,0,.26)}
.ig-caption{grid-template-columns:34px 1fr;grid-template-rows:auto auto auto}.ig-caption small{grid-row:1/4}.ig-caption .ig-meta{color:rgba(255,255,255,.48);font:600 7px/1 Manrope;letter-spacing:.09em;text-transform:uppercase}.ig-caption i{opacity:.72}
.ig-profile-link{border-color:rgba(255,255,255,.13);background:linear-gradient(145deg,rgba(255,255,255,.075),rgba(255,255,255,.025));color:#f4f0e8;box-shadow:inset 0 1px rgba(255,255,255,.13),0 20px 50px rgba(0,0,0,.3)}.ig-profile-link:hover{border-color:rgba(238,49,82,.38);background:rgba(215,21,58,.12);box-shadow:0 0 38px rgba(215,21,58,.15)}
@media(max-width:850px){.ig-grid{grid-auto-rows:66vw;gap:10px}.ig-item{border-radius:18px}.ig-item.ig-featured{grid-column:span 2}.ig-item:hover{transform:none}}
@media(max-width:480px){.ig-grid{grid-template-columns:1fr 1fr;grid-auto-rows:68vw}.ig-item.ig-featured{grid-column:span 2;min-height:112vw}.ig-caption .ig-meta{font-size:6px}}
