  :root {
    --pink: #f7c3d7;
    --pink-deep: #eba9c6;
    --ink: #141015;
    --ink-2: #1d1720;
    --paper: #fcfafb;
    --hot: #e01e83;
    --ink-70: rgba(20, 16, 21, 0.72);
    --pink-70: rgba(247, 195, 215, 0.78);
    --pink-15: rgba(247, 195, 215, 0.16);
    --ink-12: rgba(20, 16, 21, 0.14);
    --grot: "Archivo", "Noto Sans Georgian", "Helvetica Neue", Arial, sans-serif;
    --script: "Monsieur La Doulaise", "Snell Roundhand", cursive;
    --ease-out: cubic-bezier(0.22, 1, 0.36, 1);
    --z-header: 50;
  }

  * { margin: 0; padding: 0; box-sizing: border-box; }

  html { scroll-padding-top: 5.5rem; }
  @media (prefers-reduced-motion: no-preference) {
    html { scroll-behavior: smooth; }
  }

  body {
    font-family: var(--grot);
    font-size: clamp(1rem, 0.96rem + 0.25vw, 1.1rem);
    line-height: 1.6;
    background: var(--ink);
    color: var(--pink);
    -webkit-font-smoothing: antialiased;
  }

  ::selection { background: var(--hot); color: #fff; }

  img { max-width: 100%; display: block; }

  a { color: inherit; }
  :focus-visible { outline: 2px solid var(--hot); outline-offset: 3px; border-radius: 1px; }

  h1, h2, h3, h4 { text-wrap: balance; font-weight: 800; line-height: 1.02; letter-spacing: -0.025em; }

  .sr-only {
    position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px;
    overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0;
  }

  .skip-link {
    position: fixed; top: 0.6rem; left: 0.6rem; z-index: 100;
    background: var(--ink); color: var(--pink);
    padding: 0.6rem 1rem; font-weight: 700; font-size: 0.85rem;
    transform: translateY(-300%); transition: transform 0.2s var(--ease-out);
  }
  .skip-link:focus { transform: none; }

  .wrap { width: min(1200px, 100% - clamp(2.5rem, 8vw, 7rem)); margin-inline: auto; }

  /* ---------- header ---------- */
  .site-header {
    position: fixed; inset: 0 0 auto 0; z-index: var(--z-header);
    transition: background-color 0.35s var(--ease-out), color 0.35s var(--ease-out), border-color 0.35s var(--ease-out);
    color: var(--ink);
    border-bottom: 1px solid transparent;
  }
  .site-header .wrap {
    display: flex; align-items: center; justify-content: space-between;
    gap: 1.5rem; padding-block: 1rem;
  }
  .site-header.scrolled {
    background: rgba(20, 16, 21, 0.92);
    -webkit-backdrop-filter: blur(10px);
    backdrop-filter: blur(10px);
    color: var(--pink);
    border-bottom-color: var(--pink-15);
  }
  .brand {
    font-weight: 900; font-size: 1.35rem; letter-spacing: -0.03em;
    text-decoration: none; line-height: 1;
  }
  .site-nav { display: flex; gap: clamp(1rem, 3vw, 2.2rem); }
  .site-nav a {
    text-decoration: none; font-weight: 600; font-size: 0.92rem;
    position: relative;
  }
  .site-nav a::after {
    content: ""; position: absolute; left: 0; bottom: -3px; height: 2px; width: 100%;
    background: currentColor; transform: scaleX(0); transform-origin: left;
    transition: transform 0.3s var(--ease-out);
  }
  .site-nav a:hover::after { transform: scaleX(1); }
  .btn {
    display: inline-flex; align-items: center; gap: 0.5em;
    font-weight: 700; font-size: 0.92rem; text-decoration: none;
    padding: 0.65em 1.4em; border-radius: 999px;
    background: var(--ink); color: var(--pink);
    border: 1px solid var(--ink);
    transition: background-color 0.25s var(--ease-out), color 0.25s var(--ease-out), border-color 0.25s var(--ease-out), transform 0.25s var(--ease-out);
  }
  .btn:hover { background: var(--hot); border-color: var(--hot); color: #fff; transform: translateY(-2px); }
  .site-header.scrolled .btn { background: var(--pink); color: var(--ink); border-color: var(--pink); }
  .site-header.scrolled .btn:hover { background: var(--hot); border-color: var(--hot); color: #fff; }

  /* ---------- hero ---------- */
  .hero {
    background: var(--pink); color: var(--ink);
    min-height: 100svh;
    padding: 0;
    display: flex; flex-direction: column;
    position: relative; overflow: hidden; overflow: clip;
  }
  .hero-inner {
    flex: 1 0 auto; display: flex; flex-direction: column; justify-content: center;
    width: min(1500px, 100% - clamp(2.5rem, 8vw, 7rem));
    padding-block: clamp(6rem, 10vh, 7.5rem) clamp(2.5rem, 5vh, 3.5rem);
    position: relative; z-index: 1;
  }
  .hero-loc {
    font-weight: 700; font-size: 0.9rem; margin-bottom: clamp(1rem, 3vh, 2rem);
  }
  .lockup { position: relative; }
  .lockup .script {
    font-family: var(--script); font-weight: 400;
    font-size: clamp(9rem, 23vw, 21rem);
    line-height: 0.55;
    display: block;
    margin-left: -0.06em;
    position: relative; z-index: 2;
    pointer-events: none;
  }
  .hero-title {
    font-size: clamp(3.2rem, 10vw, 8.5rem);
    font-weight: 900;
    margin-top: -0.32em;
    margin-left: clamp(2.5rem, 14vw, 11rem);
    position: relative; z-index: 1;
  }
  .hero-title .line2 { display: block; margin-left: clamp(1.5rem, 6vw, 5rem); }
  .sigil-px {
    position: absolute; right: clamp(0.5rem, 3vw, 5rem); top: 10%; height: 80%;
    z-index: 0; pointer-events: none; opacity: 0.6;
    image-rendering: pixelated;
    -webkit-mask-image: radial-gradient(ellipse 60% 54% at 50% 50%, #000 40%, transparent 76%);
    mask-image: radial-gradient(ellipse 60% 54% at 50% 50%, #000 40%, transparent 76%);
  }
  .intro-sec { background: var(--pink); color: var(--ink); padding-block: clamp(2.8rem, 6vw, 4.5rem); }
  .intro-grid { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 1.6rem 3rem; }
  .intro-sec .hero-sub, .intro-sec .hero-cta { margin: 0; }
  .sigil-px { opacity: 0.75; }
  @media (max-width: 900px) {
    .sigil-px { display: none; }
  }
  .hero-sub {
    max-width: 44ch;
    margin-top: clamp(1.5rem, 3vh, 2.2rem);
    margin-left: auto;
    font-weight: 500;
    color: var(--ink-70);
  }
  .hero-sub strong { color: var(--ink); font-weight: 700; }
  .hero-cta { display: flex; flex-wrap: wrap; gap: 1rem; margin-top: 1.8rem; justify-content: flex-end; }
  .btn-ghost {
    display: inline-flex; align-items: center; gap: 0.5em;
    font-weight: 700; font-size: 0.92rem; text-decoration: none;
    padding: 0.65em 1.4em; border-radius: 999px;
    border: 1px solid var(--ink); color: var(--ink); background: transparent;
    transition: background-color 0.25s var(--ease-out), color 0.25s var(--ease-out), transform 0.25s var(--ease-out);
  }
  .btn-ghost:hover { background: var(--ink); color: var(--pink); transform: translateY(-2px); }

  .sigil {
    position: absolute; top: 12%; right: clamp(-2rem, 2vw, 4rem); height: 76%;
    opacity: 0.35; z-index: 0; pointer-events: none;
  }
  .sigil svg { height: 100%; width: auto; }

  .hero-handle {
    position: absolute; left: clamp(1rem, 5vw, 6rem); bottom: clamp(2.5rem, 9vh, 6rem);
    font-family: var(--script); font-size: clamp(1.9rem, 3vw, 3rem); line-height: 1;
    color: var(--ink); text-decoration: none; z-index: 1;
    transition: color 0.25s var(--ease-out);
  }
  .hero-handle:hover { color: var(--hot); }
  .twinkle {
    position: absolute; z-index: 0; pointer-events: none; user-select: none;
    color: var(--ink); opacity: 0.4; font-size: 1rem;
  }
  @media (prefers-reduced-motion: no-preference) {
    .twinkle { animation: tw 3.6s ease-in-out infinite alternate; animation-delay: var(--d, 0s); }
    @keyframes tw { from { opacity: 0.12; transform: scale(0.75) rotate(-8deg); } to { opacity: 0.65; transform: scale(1.05) rotate(8deg); } }
  }

  @media (prefers-reduced-motion: no-preference) {
    .hero .script { animation: settle 1s var(--ease-out) both; }
    .hero-title, .hero-loc { animation: rise 0.9s var(--ease-out) both 0.12s; }
    .hero-sub, .hero-cta { animation: rise 0.9s var(--ease-out) both 0.24s; }
    @keyframes settle { from { opacity: 0; transform: translateX(-14px) rotate(-2deg); } to { opacity: 1; transform: none; } }
    @keyframes rise { from { opacity: 0; transform: translateY(22px); } to { opacity: 1; transform: none; } }
  }

  /* ---------- marquee ---------- */
  .marquee {
    background: var(--ink); color: var(--pink);
    overflow: hidden; white-space: nowrap;
    padding-block: 0.8rem;
    border-top: 1px solid var(--ink);
    margin-top: auto;
  }
  .marquee-track { display: inline-flex; width: max-content; }
  .marquee-track span {
    font-weight: 700; font-size: 0.95rem; letter-spacing: 0.02em;
    padding-right: 0.5em;
  }
  @media (prefers-reduced-motion: no-preference) {
    .marquee-track { animation: marq 38s linear infinite; }
    @keyframes marq { to { transform: translateX(-50%); } }
  }

  /* ---------- sections ---------- */
  section { padding-block: clamp(4.5rem, 11vw, 8.5rem); }
  .on-ink { background: var(--ink); color: var(--pink); }
  .on-pink { background: var(--pink); color: var(--ink); }

  .sec-lockup { position: relative; margin-bottom: clamp(2.5rem, 6vw, 4.5rem); }
  .sec-lockup .script {
    font-family: var(--script); font-weight: 400;
    font-size: clamp(4.6rem, 12vw, 9rem);
    line-height: 0.6; display: block; margin-left: -0.05em;
    pointer-events: none;
  }
  .sec-lockup .grot {
    display: block;
    font-size: clamp(2.4rem, 6.5vw, 4.6rem);
    font-weight: 900; letter-spacing: -0.025em; line-height: 0.95;
    margin-top: -0.28em;
    margin-left: clamp(2.2rem, 9vw, 7rem);
  }

  /* ---------- manifesto ---------- */
  .manifesto .wrap {
    display: grid; grid-template-columns: minmax(0, 7fr) minmax(0, 5fr);
    gap: clamp(2.5rem, 6vw, 5.5rem); align-items: start;
  }
  .manifesto h2 {
    font-size: clamp(2.2rem, 5.4vw, 4.2rem);
    font-weight: 900; letter-spacing: -0.025em;
  }
  .manifesto h2 .script-inline {
    font-family: var(--script); font-weight: 400;
    font-size: 1.7em; line-height: 0.5; letter-spacing: 0;
    display: block; margin-top: 0.12em; margin-left: 0.4em;
  }
  .manifesto-copy p { color: var(--pink-70); max-width: 52ch; }
  .manifesto-copy p + p { margin-top: 1.2em; }
  .manifesto-copy strong { color: var(--pink); font-weight: 700; }
  .styles-list {
    list-style: none; display: flex; flex-wrap: wrap; gap: 0.4em 1.1em;
    margin-top: 1.8em; font-weight: 700; font-size: 0.95rem;
  }
  .styles-list li::before { content: "✶ "; font-weight: 400; }
  .signature {
    margin-top: 2.2em;
    font-family: var(--script); font-size: clamp(2.2rem, 4vw, 3rem); line-height: 1;
  }

  /* ---------- work ---------- */
  .gallery {
    display: grid; grid-template-columns: repeat(12, 1fr);
    gap: clamp(1.2rem, 3vw, 2.5rem);
    align-items: start;
  }
  .g-item { position: relative; margin: 0; }
  .g-item:nth-child(3n+1) { grid-column: 1 / 5; }
  .g-item:nth-child(3n+2) { grid-column: 5 / 9; margin-top: 2.6rem; }
  .g-item:nth-child(3n) { grid-column: 9 / 13; margin-top: 1.1rem; }
  .g-frame {
    background: var(--paper); padding: 0.65rem 0.65rem 0;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.45);
    transition: transform 0.35s var(--ease-out), box-shadow 0.35s var(--ease-out);
    position: relative;
  }
  .g-frame::before {
    content: ""; position: absolute; top: -0.7rem; left: 50%;
    width: 4.5rem; height: 1.4rem;
    background: var(--pink-70); transform: translateX(-50%) rotate(-2deg);
    box-shadow: 0 1px 3px rgba(0,0,0,0.15);
  }
  .g-item:hover .g-frame { transform: translateY(-6px); box-shadow: 0 22px 44px rgba(0, 0, 0, 0.6); }
  .g-item img { width: 100%; height: auto; }
  .g-item figcaption {
    font-size: 0.82rem; font-weight: 600; color: var(--ink-70);
    padding: 0.6rem 0.1rem 0.7rem;
  }
  .work-note { margin-top: clamp(2.5rem, 6vw, 4rem); color: var(--pink-70); max-width: 58ch; }
  .work-note a { font-weight: 700; color: var(--pink); }
  .work-note a:hover { color: #fff; }

  /* ---------- services ---------- */
  .services-grid {
    display: grid; grid-template-columns: 1fr 1fr;
    gap: clamp(2.5rem, 6vw, 6rem);
    position: relative;
  }
  .services-grid::before {
    content: ""; position: absolute; left: 50%; top: 6%; bottom: 6%;
    width: 1px; background: var(--ink-12);
  }
  .services-grid .amp {
    position: absolute; left: 50%; top: 38%;
    transform: translate(-50%, -50%);
    font-family: var(--script); font-size: clamp(4rem, 9vw, 7.5rem); line-height: 1;
    background: var(--pink); padding-block: 0.05em;
    z-index: 1; pointer-events: none;
  }
  .service h3 { font-size: clamp(2.2rem, 5vw, 3.6rem); font-weight: 900; }
  .service > p { margin-top: 1.2rem; color: var(--ink-70); max-width: 46ch; font-weight: 500; }
  .service ul {
    list-style: none; margin-top: 1.6rem;
    display: flex; flex-direction: column; gap: 0.55rem;
    font-weight: 700; font-size: 1.02rem;
  }
  .service ul li::before { content: "✶ "; font-weight: 400; }
  .service .service-note {
    margin-top: 1.8rem; font-weight: 700; font-size: 0.95rem;
    border-top: 1px solid var(--ink-12); padding-top: 1.2rem; max-width: 46ch;
  }
  .service .service-note a { color: var(--ink); }
  .service .service-note a:hover { color: var(--hot); }

  /* ---------- price list ---------- */
  .prices-sec .wrap { display: flex; flex-direction: column; align-items: center; }
  .price-card {
    background: var(--pink); color: var(--ink);
    width: min(720px, 100%);
    padding: clamp(2rem, 6vw, 3.8rem) clamp(1.4rem, 5vw, 3.5rem);
    box-shadow: 0 24px 70px rgba(0, 0, 0, 0.55);
    position: relative;
  }
  .card-label { text-align: center; font-weight: 700; font-size: 0.95rem; }
  .price-lockup { position: relative; margin: 0.5rem 0 clamp(2rem, 5vw, 3rem); text-align: center; }
  .price-lockup .script {
    font-family: var(--script); font-weight: 400;
    font-size: clamp(6.5rem, 17vw, 10.5rem); line-height: 0.62;
    display: inline-block; margin-right: -0.14em; margin-left: -0.25em;
    position: relative; z-index: 2; pointer-events: none;
  }
  .price-lockup .grot {
    display: inline-block; text-align: left; vertical-align: baseline;
    font-size: clamp(2.4rem, 6.5vw, 4rem); font-weight: 900; letter-spacing: -0.02em; line-height: 0.98;
    text-indent: -1.05em; padding-left: 1.05em;
    transform: translateY(0.1em);
  }
  .price-cat + .price-cat, .price-duo { margin-top: clamp(1.8rem, 4vw, 2.6rem); }
  .price-duo .price-cat { margin-top: 0; }
  .price-duo { align-items: start; }
  .price-cat h4, .price-duo h4 {
    text-align: center; font-size: clamp(1.5rem, 3.6vw, 2rem); font-weight: 900;
    margin-bottom: 1.1rem;
  }
  dl.rows { display: grid; grid-template-columns: 1fr 1fr; gap: 0.45rem 3rem; }
  dl.rows > div { display: flex; justify-content: space-between; gap: 1rem; align-items: baseline; }
  dl.rows dt { font-weight: 500; }
  dl.rows dd { font-weight: 700; white-space: nowrap; }
  .price-duo { display: grid; grid-template-columns: 1fr 1fr; gap: 2rem 3rem; }
  .price-duo dl.rows { grid-template-columns: 1fr; }
  .card-foot { margin-top: clamp(2rem, 5vw, 3rem); text-align: center; font-weight: 700; font-size: 0.95rem; }
  .price-note { margin-top: 2rem; color: var(--pink-70); font-size: 0.92rem; font-weight: 500; text-align: center; max-width: 56ch; }

  /* ---------- aftercare ---------- */
  .aftercare-lockup { position: relative; margin-bottom: clamp(2.5rem, 6vw, 4rem); }
  .aftercare-lockup .script {
    font-family: var(--script); font-weight: 400;
    font-size: clamp(4rem, 11vw, 8.5rem); line-height: 0.62; display: block;
    pointer-events: none;
  }
  .aftercare-lockup .grot {
    display: block; font-size: clamp(2.2rem, 6vw, 4.2rem); font-weight: 900;
    letter-spacing: -0.02em; margin-top: -0.22em;
    margin-left: clamp(3rem, 16vw, 13rem);
  }
  .care-cols {
    display: grid; grid-template-columns: repeat(auto-fit, minmax(255px, 1fr));
    gap: clamp(2rem, 4.5vw, 3.5rem);
  }
  .care-col h3, .care-col h4 { font-size: 1.35rem; font-weight: 900; margin-bottom: 1rem; }
  .care-col ul { list-style: none; display: flex; flex-direction: column; gap: 0.7rem; }
  .care-col li { padding-left: 1.3em; position: relative; color: var(--ink-70); font-weight: 500; font-size: 0.98rem; }
  .care-col li::before { content: "✶"; position: absolute; left: 0; top: 0.1em; font-size: 0.8em; color: var(--ink); }
  .care-close {
    margin-top: clamp(2.5rem, 6vw, 4rem); text-align: center;
    font-weight: 700; max-width: 46ch; margin-inline: auto;
  }

  /* ---------- big cta ---------- */
  .cta-sec { text-align: center; position: relative; overflow: hidden; overflow: clip; }
  .cta-sec .sigil-l, .cta-sec .sigil-r {
    position: absolute; top: 50%; height: 78%; transform: translateY(-50%);
    opacity: 0.28; pointer-events: none;
  }
  .cta-sec .sigil-l { left: clamp(-3rem, 1vw, 3rem); }
  .cta-sec .sigil-r { right: clamp(-3rem, 1vw, 3rem); transform: translateY(-50%) scaleX(-1); }
  .cta-sec .sigil-l svg, .cta-sec .sigil-r svg { height: 100%; width: auto; }
  .cta-lockup .script {
    font-family: var(--script); font-weight: 400;
    font-size: clamp(4.5rem, 13vw, 10rem); line-height: 0.75; display: block;
    pointer-events: none;
  }
  .cta-lockup .grot {
    display: block; font-size: clamp(3rem, 9vw, 6rem); font-weight: 900;
    letter-spacing: -0.03em; margin-top: -0.12em;
  }
  .cta-actions { margin-top: 2.8rem; display: flex; flex-direction: column; align-items: center; gap: 1.2rem; }
  .btn-big {
    display: inline-flex; align-items: center; gap: 0.6em;
    background: var(--pink); color: var(--ink);
    font-weight: 800; font-size: clamp(1.05rem, 2vw, 1.25rem);
    text-decoration: none; padding: 1em 2.2em; border-radius: 999px;
    border: 1px solid var(--pink);
    transition: background-color 0.25s var(--ease-out), color 0.25s var(--ease-out), border-color 0.25s var(--ease-out), transform 0.25s var(--ease-out);
  }
  .btn-big:hover { background: var(--hot); border-color: var(--hot); color: #fff; transform: translateY(-3px); }
  .cta-sub { color: var(--pink-70); font-size: 0.95rem; font-weight: 500; max-width: 46ch; }

  /* ---------- footer ---------- */
  .site-footer { border-top: 1px solid var(--pink-15); padding-block: 2.2rem; }
  .site-footer .wrap {
    display: flex; flex-wrap: wrap; align-items: baseline; justify-content: space-between; gap: 1rem;
  }
  .site-footer .brand { font-size: 1.2rem; }
  .site-footer p, .site-footer a { font-size: 0.88rem; font-weight: 500; color: var(--pink-70); }
  .site-footer a { font-weight: 700; text-decoration: none; }
  .site-footer a:hover { color: var(--pink); text-decoration: underline; }

  /* ---------- responsive ---------- */
  @media (max-width: 900px) {
    .manifesto .wrap { grid-template-columns: 1fr; }
    .gallery { grid-template-columns: repeat(6, 1fr); }
    .g-item:nth-child(odd) { grid-column: 1 / 4; margin-top: 0; }
    .g-item:nth-child(even) { grid-column: 4 / 7; margin-top: 2rem; }
    .services-grid { grid-template-columns: 1fr; }
    .services-grid::before, .services-grid .amp { display: none; }
    .service + .service { border-top: 1px solid var(--ink-12); padding-top: clamp(2.5rem, 6vw, 4rem); }
  }
  @media (max-width: 640px) {
    .site-nav { display: none; }
    .hero-sub { margin-left: 0; }
    .hero-cta { justify-content: flex-start; }
    .hero-title { margin-left: clamp(2rem, 11vw, 3.4rem); }
    .lockup .script { font-size: clamp(7.5rem, 33vw, 9rem); }
    .hero-handle { display: none; }
    .twinkle { display: none; }
    .sec-lockup .script { font-size: clamp(3.6rem, 16vw, 4.6rem); }
    .sec-lockup .grot { margin-left: 3.2rem; }
    .price-lockup .script { font-size: clamp(4.6rem, 21vw, 6.5rem); margin-left: 0; margin-right: -0.1em; }
    .price-lockup .grot { font-size: clamp(1.9rem, 8.5vw, 2.6rem); }
    .aftercare-lockup .script { font-size: clamp(3.4rem, 15vw, 5rem); }
    .gallery { grid-template-columns: 1fr; gap: 2.6rem; }
    .g-item, .g-item:nth-child(n) { grid-column: 1 / -1; margin-top: 0; }
    dl.rows { grid-template-columns: 1fr; }
    .price-duo { grid-template-columns: 1fr; }
    .sigil { right: -10px; top: 6%; height: 66%; opacity: 0.65; }
  }

  /* ============ decorations & motion ============ */

  /* paper grain over everything */
  body::after {
    content: ""; position: fixed; inset: 0; z-index: 80; pointer-events: none;
    opacity: 0.055;
    background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='180' height='180'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='0.8' numOctaves='2' stitchTiles='stitch'/><feColorMatrix type='matrix' values='0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0.7 0.7 0.7 0 0'/></filter><rect width='180' height='180' filter='url(%23n)'/></svg>");
  }

  .deco-host { position: relative; overflow: hidden; overflow: clip; }
  .deco-host > .wrap { position: relative; z-index: 1; }
  .deco { position: absolute; pointer-events: none; z-index: 0; }
  .deco svg { width: 100%; height: auto; display: block; }

  .graffiti { color: var(--hot); opacity: 0.85; }
  .deco-graf1 { left: 3%; bottom: 4%; width: clamp(210px, 22vw, 340px); }
  .deco-graf2 { right: 4%; bottom: 2%; width: clamp(160px, 16vw, 250px); }
  .deco-flail { left: 2vw; top: 7%; width: clamp(120px, 10vw, 190px); color: var(--pink); opacity: 0.32; }
  .deco-web { left: 0; top: 0; width: clamp(140px, 15vw, 240px); color: var(--ink); opacity: 0.13; }
  .deco-cross { right: 4vw; top: 50%; translate: 0 -50%; width: clamp(90px, 8vw, 150px); color: var(--pink); opacity: 0.5; }
  .deco-sigil-p { left: 4vw; top: 50%; translate: 0 -50%; width: clamp(70px, 6vw, 110px); color: var(--pink); opacity: 0.32; }
  .deco-hearts { right: 3vw; bottom: 7%; width: clamp(150px, 14vw, 230px); color: var(--ink); opacity: 0.17; rotate: -6deg; }
  .deco-spiral {
    left: 50%; top: 50%; translate: -50% -50%;
    width: clamp(340px, 38vw, 640px); color: var(--pink); opacity: 0.17;
  }

  .pop-svg .p, .graffiti .p, .bloom { transform-box: fill-box; transform-origin: center; }

  /* services divider fix */
  .services-grid { gap: clamp(3rem, 8vw, 8rem); }
  .services-grid .amp { font-size: clamp(3rem, 6vw, 5rem); padding-inline: 0.12em; }

  /* gallery rotation via custom prop (so scroll animation can compose) */
  .g-item, .g-item:nth-child(n) { transform: rotate(var(--rot, 0deg)); }
  .g-item:nth-child(6n+1) { --rot: -1.3deg; }
  .g-item:nth-child(6n+2) { --rot: 0.7deg; }
  .g-item:nth-child(6n+3) { --rot: 1.1deg; }
  .g-item:nth-child(6n+4) { --rot: 0.9deg; }
  .g-item:nth-child(6n+5) { --rot: -0.8deg; }
  .g-item:nth-child(6n) { --rot: -1.2deg; }
  .price-lockup .grot { --grot-y: 0.28em; }

  @media (prefers-reduced-motion: no-preference) {
    /* line-art draws itself in */
    .js .draw-svg .d { stroke-dasharray: 1; stroke-dashoffset: 1; }
    .js .draw-svg.in .d {
      animation: drawIn var(--dur, 1.8s) cubic-bezier(0.22, 1, 0.36, 1) forwards;
      animation-delay: var(--d, 0s);
    }
    @keyframes drawIn { to { stroke-dashoffset: 0; } }

    /* dotwork pops in */
    .js .pop-svg .p { opacity: 0; scale: 0.2; }
    .js .pop-svg.in .p {
      animation: popIn 0.5s cubic-bezier(0.25, 1, 0.5, 1) forwards;
      animation-delay: var(--d, 0s);
    }
    @keyframes popIn { to { opacity: 1; scale: 1; } }

    /* script headings write themselves */
    .js .lockup-anim .script { clip-path: inset(-60% 108% -60% -50%); }
    .js .lockup-anim.in .script { animation: write 1.35s cubic-bezier(0.22, 1, 0.36, 1) 0.05s forwards; }
    @keyframes write { to { clip-path: inset(-60% -45% -60% -50%); } }
    .js .lockup-anim .grot { opacity: 0; transform: translateY(calc(var(--grot-y, 0em) + 24px)); }
    .js .lockup-anim.in .grot { animation: riseIn 0.85s cubic-bezier(0.22, 1, 0.36, 1) 0.45s forwards; }
    @keyframes riseIn { to { opacity: 1; transform: translateY(var(--grot-y, 0em)); } }

    /* idle motion */
    .hero .sigil svg { transform-origin: 50% 0; animation: sway 7s ease-in-out infinite alternate; }
    .deco-flail svg { transform-origin: 50% 0; animation: sway 5.5s ease-in-out infinite alternate; }
    @keyframes sway { from { transform: rotate(-1.6deg); } to { transform: rotate(1.6deg); } }
    .deco-spiral svg { animation: spinSlow 90s linear infinite; }
    @keyframes spinSlow { to { transform: rotate(360deg); } }

    /* graffiti: tag sprays in, dots pop */
    .js .graffiti .tag { opacity: 0; }
    .js .graffiti.in .tag { animation: sprayIn 0.5s cubic-bezier(0.22, 1, 0.36, 1) 0.05s forwards; }
    @keyframes sprayIn { from { opacity: 0; filter: blur(10px); } to { opacity: 1; filter: blur(0); } }
    .js .graffiti .p { opacity: 0; }
    .js .graffiti.in .p { animation: popIn 0.4s cubic-bezier(0.25, 1, 0.5, 1) forwards; animation-delay: var(--d, 0s); }

    /* blooms grow out of the barbed wire */
    .js .draw-svg .bloom { opacity: 0; scale: 0.12; rotate: -50deg; }
    .js .draw-svg.in .bloom {
      animation: bloomIn 1.1s cubic-bezier(0.22, 1, 0.36, 1) forwards;
      animation-delay: calc(1.5s + var(--d, 0s));
    }
    @keyframes bloomIn { to { opacity: 1; scale: 1; rotate: 0deg; } }
  }

  /* scroll-driven entrances (progressive enhancement) */
  @supports (animation-timeline: view()) {
    @media (prefers-reduced-motion: no-preference) {
      .g-item {
        animation: figUp linear both;
        animation-timeline: view();
        animation-range: entry 8% entry 45%;
      }
      @keyframes figUp {
        from { opacity: 0.2; transform: translateY(36px) rotate(var(--rot, 0deg)); }
        to { opacity: 1; transform: translateY(0) rotate(var(--rot, 0deg)); }
      }
      .price-card {
        animation: cardLay linear both;
        animation-timeline: view();
        animation-range: entry 5% entry 40%;
      }
      @keyframes cardLay {
        from { opacity: 0.35; transform: translateY(32px) rotate(0.8deg); }
        to { opacity: 1; transform: none; }
      }
      .js .hero .draw-svg .bloom, .js .hero .draw-svg.in .bloom {
        animation: bloomGrow linear both;
        animation-timeline: scroll();
        animation-range: 1% 12%;
        animation-delay: 0s;
      }
      @keyframes bloomGrow { from { opacity: 0; scale: 0.12; rotate: -50deg; } to { opacity: 1; scale: 1; rotate: 0deg; } }
      .js .cta-sec .draw-svg .bloom, .js .cta-sec .draw-svg.in .bloom {
        animation: bloomGrow linear both;
        animation-timeline: view();
        animation-range: entry 30% cover 60%;
        animation-delay: 0s;
      }
    }
  }

  @media (max-width: 1599px) {
    .deco-flail { left: auto; right: 2%; top: 0.5%; width: clamp(70px, 8vw, 120px); opacity: 0.3; }
  }
  @media (max-width: 899px) {
    .deco-sword, .deco-cross { display: none; }
    .manifesto { padding-bottom: 11rem; }
    .deco-graf1 { left: 4%; bottom: 1.2rem; width: min(320px, 64vw); }
    #work { padding-bottom: 9rem; }
    .deco-graf2 { right: 4%; bottom: 1rem; width: min(230px, 46vw); }
    #aftercare { padding-bottom: 9.5rem; }
    .deco-hearts { right: 4%; bottom: 0.8rem; width: min(180px, 38vw); opacity: 0.16; }
  }
  @media (max-width: 640px) {
    .deco-spiral { width: 92vw; opacity: 0.13; }
  }

  /* tabloid touches: star rows, stamps, barcode */
  .deco-sword { left: 4vw; top: 50%; translate: 0 -50%; width: clamp(56px, 5vw, 90px); color: var(--pink); opacity: 0.42; }
  .starrow {
    text-align: center; white-space: nowrap; overflow: hidden;
    font-size: 0.58rem; letter-spacing: 0.55em; line-height: 1;
    padding-block: 0.42rem; color: var(--pink);
  }
  .marquee { padding-block: 0; }
  .marquee-track { padding-block: 0.4rem; border-block: 1px solid var(--pink-15); }
  .stamp {
    position: absolute; top: 6.5%; right: 5%; z-index: 2; rotate: -8deg;
    border: 2px solid var(--hot); color: var(--hot);
    font-weight: 800; font-size: 0.78rem; letter-spacing: 0.05em;
    padding: 0.16em 0.5em; background: rgba(252, 250, 251, 0.85);
  }
  .barcode { display: flex; flex-direction: column; align-items: center; gap: 0.3rem; }
  .barcode svg { height: 28px; width: 88px; color: var(--pink-70); display: block; }
  .barcode span { font-size: 0.68rem; font-weight: 600; letter-spacing: 0.3em; color: var(--pink-70); }

  html, body { overflow-x: clip; }

  /* studio rules */
  .rules-lockup { position: relative; margin-bottom: clamp(2.2rem, 5vw, 3.5rem); }
  .rules-lockup .grot { font-size: clamp(2.4rem, 6.5vw, 4.4rem); font-weight: 900; letter-spacing: -0.02em; line-height: 1; }
  .rules-lockup .script {
    font-family: var(--script); font-weight: 400;
    font-size: clamp(4rem, 11vw, 8rem); line-height: 0.7;
    display: block; margin-top: -0.34em; margin-left: clamp(1.5rem, 9vw, 7rem);
    pointer-events: none;
  }
  .rules-list {
    list-style: none; max-width: 900px;
    columns: 2; column-gap: clamp(2rem, 5vw, 4rem);
  }
  .rules-list li {
    padding-left: 1.3em; position: relative; margin-bottom: 0.9rem;
    color: var(--ink-70); font-weight: 500; break-inside: avoid;
  }
  .rules-list li::before { content: "✶"; position: absolute; left: 0; top: 0.1em; font-size: 0.8em; color: var(--ink); }
  @media (max-width: 640px) { .rules-list { columns: 1; } }

  /* thorn divider strip */
  .thorn-strip { background: var(--ink); color: var(--pink); padding: 0.2rem clamp(1rem, 4vw, 3rem) 1rem; }
  .thorn-strip svg { width: 100%; height: auto; display: block; opacity: 0.5; }

  /* sword showcase: b&w in noise, the sword ignites pink */
  .sword-sec { padding: 0; position: relative; overflow: hidden; overflow: clip; }
  .sword-sec .static-noise, .sword-sec .scanlines { z-index: 2; }
  .sword-stage {
    position: relative; margin-inline: auto;
    width: min(100%, calc(100svh * 0.75), 860px);
    aspect-ratio: 3 / 4;
  }
  .sword-stage img { position: absolute; inset: 0; width: 100%; height: 100%; display: block; }
  .sword-base { filter: grayscale(1) contrast(1.06); }
  .sword-glow {
    position: absolute; inset: 0; z-index: 1; background: var(--hot);
    -webkit-mask-image: url("data:image/png;base64,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");
    mask-image: url("data:image/png;base64,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");
    -webkit-mask-size: 100% 100%; mask-size: 100% 100%;
    -webkit-mask-repeat: no-repeat; mask-repeat: no-repeat;
  }
  .sword-glow img { mix-blend-mode: luminosity; filter: grayscale(1) brightness(1.18) contrast(1.08); }
  .sword-stamp { top: 5%; right: 6%; font-size: 1rem; z-index: 3; }
  .sword-cap {
    position: absolute; left: 5%; bottom: 3.5%; z-index: 3;
    color: var(--pink); font-weight: 700; font-size: 0.95rem;
    text-shadow: 0 1px 10px rgba(0, 0, 0, 0.7);
  }
  @media (prefers-reduced-motion: no-preference) {
    .js .sword-stage .sword-glow { opacity: 0; }
    .js .sword-stage.in .sword-glow { animation: ignite 1.9s linear 0.35s forwards; }
    @keyframes ignite {
      0% { opacity: 0; } 7% { opacity: 0.85; } 11% { opacity: 0.1; }
      18% { opacity: 1; } 24% { opacity: 0.25; } 31% { opacity: 1; }
      40% { opacity: 0.55; } 48%, 100% { opacity: 1; }
    }
    .sword-stage:hover .sword-glow { animation: swordPulse 1.1s ease-in-out infinite alternate; }
    @keyframes swordPulse { from { opacity: 0.7; } to { opacity: 1; } }
  }

  /* blooms pop hot on a dimmed wire */
  .sigil { opacity: 0.95; }
  .sigil svg .d { opacity: 0.42; }
  .cta-sec .sigil-l, .cta-sec .sigil-r { opacity: 0.9; }
  .cta-sec .sigil-l svg .d, .cta-sec .sigil-r svg .d { opacity: 0.32; }
  .bloom { stroke: var(--hot); stroke-width: 2; }
  @media (max-width: 640px) {
    .cta-sec .sigil-l, .cta-sec .sigil-r { display: block; height: 58%; opacity: 0.75; }
  }

  /* spray swoosh under "spiral." */
  .cta-swoosh {
    display: block; width: min(380px, 62vw); margin: -0.2em auto 0;
    color: var(--hot); overflow: visible;
  }

  /* wall stains on ink sections */
  .manifesto, #work, .cta-sec {
    background-image: radial-gradient(620px 420px at 88% 10%, rgba(247, 195, 215, 0.05), transparent 70%),
      radial-gradient(560px 540px at 5% 82%, rgba(224, 30, 131, 0.06), transparent 70%);
  }

  /* static interludes */
  .interlude {
    position: relative; overflow: hidden; overflow: clip; text-align: center;
    min-height: 78vh; display: grid; place-items: center;
    background: #0d0a10;
  }
  .interlude .wrap { position: relative; z-index: 1; }
  .static-noise {
    position: absolute; inset: -70px; pointer-events: none; opacity: 0.15; z-index: 0;
    background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='180' height='180'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='0.8' numOctaves='2' stitchTiles='stitch'/><feColorMatrix type='matrix' values='0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0.7 0.7 0.7 0 0'/></filter><rect width='180' height='180' filter='url(%23n)'/></svg>");
  }
  .scanlines {
    position: absolute; inset: 0; pointer-events: none; z-index: 0; opacity: 0.65;
    background: repeating-linear-gradient(0deg, rgba(0, 0, 0, 0.5) 0 2px, transparent 2px 6px);
  }
  .interlude-big {
    font-weight: 900; font-size: clamp(2.6rem, 9vw, 8.2rem); letter-spacing: -0.02em;
    line-height: 0.95; margin-block: 1.6rem; position: relative; color: var(--pink);
    text-wrap: balance;
  }
  .glitch::before, .glitch::after {
    content: attr(data-text); position: absolute; inset: 0; pointer-events: none;
  }
  .glitch::before { color: var(--hot); z-index: -1; transform: translate(5px, 0); }
  .glitch::after { color: rgba(252, 250, 251, 0.75); z-index: -2; transform: translate(-5px, 3px); }
  .interlude-script {
    font-family: var(--script); font-size: clamp(2.4rem, 5.5vw, 4.2rem); line-height: 1;
    color: var(--pink); margin-bottom: 2rem;
  }
  .interlude .starrow { color: var(--hot); font-size: 0.8rem; letter-spacing: 0.75em; padding-block: 0.6rem; }
  .interlude-tag { width: min(600px, 88vw); margin-inline: auto; }
  .interlude-tag svg { width: 100%; height: auto; overflow: visible; }
  .interlude-sub { font-weight: 700; letter-spacing: 0.06em; color: var(--pink-70); margin-top: 0.6rem; }
  /* rave layer: eq bars, laser fan, strobing stars */
  .eq { display: flex; gap: 6px; justify-content: center; align-items: flex-end; height: 38px; margin-top: 1.6rem; }
  .eq span { width: 6px; background: var(--hot); height: 30%; border-radius: 2px 2px 0 0; }
  .laser {
    position: absolute; left: 50%; top: 50%; width: 175vmax; height: 175vmax;
    translate: -50% -50%; pointer-events: none; z-index: 0; opacity: 0.4;
    background: repeating-conic-gradient(from 0deg, transparent 0deg 24deg, rgba(224, 30, 131, 0.3) 24deg 25.6deg);
    -webkit-mask-image: radial-gradient(closest-side, #000 0%, #000 28%, transparent 70%);
    mask-image: radial-gradient(closest-side, #000 0%, #000 28%, transparent 70%);
  }
  @media (prefers-reduced-motion: no-preference) {
    .eq span { animation: eqB 0.62s ease-in-out infinite alternate; animation-delay: calc(var(--i) * -0.11s); }
    @keyframes eqB { from { height: 16%; } to { height: 100%; } }
    .laser { animation: laserSpin 26s linear infinite; }
    @keyframes laserSpin { to { rotate: 360deg; } }
    .interlude .starrow, .marquee .starrow { animation: strobe 1.15s steps(2, jump-none) infinite; }
    .interlude .starrow:last-of-type, .marquee .starrow:last-of-type { animation-delay: 0.57s; }
    @keyframes strobe { 0%, 45% { opacity: 1; } 50%, 95% { opacity: 0.3; } 100% { opacity: 1; } }
  }

  @media (prefers-reduced-motion: no-preference) {
    .static-noise { animation: staticJit 0.5s steps(5) infinite; }
    @keyframes staticJit { to { transform: translate(48px, -42px); } }
    .glitch::before { animation: gl1 3.4s steps(1) infinite; }
    .glitch::after { animation: gl2 2.9s steps(1) infinite; }
    @keyframes gl1 { 0%, 86% { transform: translate(5px, 0); } 88% { transform: translate(-9px, -4px); } 92% { transform: translate(9px, 3px); } 96%, 100% { transform: translate(5px, 0); } }
    @keyframes gl2 { 0%, 82% { transform: translate(-5px, 3px); } 85% { transform: translate(9px, 5px); } 90% { transform: translate(-10px, -3px); } 95%, 100% { transform: translate(-5px, 3px); } }
  }

/* ============ multi-page ============ */

/* portal tiles */
.hero-choose {
  min-height: 100svh; padding: 0;
  background: var(--pink); color: var(--ink);
  display: flex; flex-direction: column;
  position: relative; overflow: hidden; overflow: clip;
}
.choose-sec { background: var(--ink); padding: 0; }
.choose {
  display: grid; grid-template-columns: 1fr 1fr;
  gap: 0;
}
.tile {
  position: relative; display: block; overflow: hidden;
  min-height: 100svh;
}
.tile img {
  position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover;
  filter: grayscale(1) contrast(1.05) brightness(0.92);
  transition: filter 0.5s var(--ease-out), transform 0.7s var(--ease-out);
}
.tile::after {
  content: ""; position: absolute; inset: 0;
  background: linear-gradient(to top, rgba(20, 16, 21, 0.78), transparent 52%);
}
.tile-label {
  position: absolute; left: 6%; bottom: 5%; z-index: 2;
  color: var(--pink); font-weight: 900; line-height: 0.95; letter-spacing: -0.02em;
  font-size: clamp(2.8rem, 6.5vw, 5.5rem);
}
.tile-script {
  display: block; font-family: var(--script); font-weight: 400;
  font-size: 0.55em; letter-spacing: 0; margin-bottom: 0.02em; margin-left: 0.06em;
}
.tile:hover img, .tile:focus-visible img { filter: grayscale(0) contrast(1.02) brightness(1); transform: scale(1.035); }
.tile:hover .tile-label { color: #fff; }

/* tattoo tile = the sword moment: b&w in noise, sword glowing pink */
.tile-fit {
  position: absolute; left: 0; top: 50%; transform: translateY(-50%);
  width: 100%; aspect-ratio: 3 / 4;
}
.tile-fit img { position: absolute; inset: 0; width: 100%; height: 100%; }
.tile-sword .tile-fit { top: auto; bottom: 0; transform: none; }
.tile-sword .sword-glow { filter: drop-shadow(0 0 10px rgba(224, 30, 131, 0.6)) drop-shadow(0 0 26px rgba(224, 30, 131, 0.3)); }

/* pink pixel censor over the eyes — the photo itself, mosaicked and tinted */
.censor-px {
  position: absolute; inset: 0; z-index: 2; pointer-events: none;
  background: #ef86b9;
  opacity: 0.92;
  clip-path: inset(25.5% 22% 57% 25%);
}
.censor-px img {
  position: absolute; inset: 0; width: 100%; height: 100%;
  mix-blend-mode: luminosity;
  filter: grayscale(1) brightness(1.45) contrast(0.98);
  image-rendering: pixelated;
}
@media (prefers-reduced-motion: no-preference) {
  .censor-px img { animation: censorJit 0.6s steps(1) infinite; }
  .tile-pierce:hover .censor-px img, .tile-pierce:active .censor-px img { animation-duration: 0.18s; }
  @keyframes censorJit {
    0%, 49% { transform: translate(0, 0); }
    50%, 100% { transform: translate(1.6%, 0); }
  }
}

/* low-res glitch layer + self-playing loop where there is no hover (phones) */
.px-layer { opacity: 0; filter: grayscale(1) contrast(1.05); image-rendering: pixelated; }
@keyframes pxFlash { 0% { opacity: 1; } 45% { opacity: 1; } 46% { opacity: 0; } 60% { opacity: 0; } 61% { opacity: 1; } 85% { opacity: 1; } 100% { opacity: 0; } }
@keyframes pxLoop {
  0%, 14% { opacity: 0; } 15%, 18% { opacity: 1; } 19%, 21% { opacity: 0; }
  22%, 24% { opacity: 1; } 25%, 100% { opacity: 0; }
}
@keyframes glowLoop {
  0%, 24% { opacity: 0; }
  27% { opacity: 0.9; } 30% { opacity: 0.15; } 34% { opacity: 1; } 38% { opacity: 0.45; }
  42%, 80% { opacity: 1; }
  92%, 100% { opacity: 0; }
}
.tile-sword .static-noise, .tile-sword .scanlines,
.tile-pierce .static-noise, .tile-pierce .scanlines { z-index: 1; }
.tile-sword .scanlines, .tile-pierce .scanlines { opacity: 0.45; }
.tile-sword:hover .tile-fit img, .tile-sword:focus-visible .tile-fit img,
.tile-pierce:hover .tile-fit img, .tile-pierce:focus-visible .tile-fit img { transform: none; }
.tile-sword:hover .sword-base, .tile-sword:focus-visible .sword-base,
.tile-pierce:hover .sword-base, .tile-pierce:focus-visible .sword-base { filter: grayscale(1) contrast(1.06); }
.ear-glow {
  position: absolute; inset: 0; background: var(--hot);
  -webkit-mask-image: radial-gradient(14.5% 12.5% at 38% 33.5%, #000 0%, #000 55%, transparent 82%), radial-gradient(14.5% 12.5% at 64% 33.5%, #000 0%, #000 55%, transparent 82%);
  mask-image: radial-gradient(14.5% 12.5% at 38% 33.5%, #000 0%, #000 55%, transparent 82%), radial-gradient(14.5% 12.5% at 64% 33.5%, #000 0%, #000 55%, transparent 82%);
}
.ear-glow img { mix-blend-mode: luminosity; filter: grayscale(1) brightness(1.5) contrast(1.05); }
.tile-sword .sword-glow, .tile-pierce .ear-glow { opacity: 0; }
@media (prefers-reduced-motion: no-preference) {
  .tile .px-layer { animation: pxLoop 4.5s linear infinite; }
  .tile-sword .sword-glow, .tile-pierce .ear-glow { animation: glowLoop 4.5s linear infinite; }
  .tile-pierce .px-layer, .tile-pierce .ear-glow { animation-delay: 2.2s; }
}
@media (prefers-reduced-motion: reduce) {
  .tile-sword .sword-glow, .tile-pierce .ear-glow { opacity: 1; }
}
.quick { display: flex; flex-wrap: wrap; gap: 0.8rem; justify-content: center; padding-block: 0.2rem 1rem; }
@media (prefers-reduced-motion: no-preference) {
  .js .tile { opacity: 0; transform: translateY(18px); animation: rise 0.8s var(--ease-out) forwards; }
  .js .tile:nth-child(2) { animation-delay: 0.12s; }
  .js .quick { opacity: 0; animation: rise 0.7s var(--ease-out) 0.3s forwards; }
}

/* subpages */
.page-dark .site-header { color: var(--pink); }
.page-first { padding-top: clamp(7.5rem, 13vh, 9.5rem); }
.page-first .sec-lockup .script { font-size: clamp(3.9rem, 17vw, 12.5rem); }
.page-first .sec-lockup .grot { font-size: clamp(2.6rem, 8vw, 6rem); margin-left: clamp(3rem, 12vw, 10rem); }
/* ---- piercing page hero ---- */
.p-hero {
  position: relative; overflow: clip;
  min-height: 100svh; padding: 0;
  display: grid; place-items: center;
}
.p-hero-photo { position: absolute; inset: 0; z-index: 0; }
.p-hero-photo img {
  width: 100%; height: 100%; object-fit: cover; object-position: 32% 18%;
  filter: grayscale(1) contrast(1.07) brightness(0.9);
}
.p-hero::before {
  content: ""; position: absolute; inset: 0; z-index: 1; pointer-events: none;
  background:
    linear-gradient(180deg, rgba(20,16,21,0.62) 0%, rgba(20,16,21,0.12) 24%, rgba(20,16,21,0.1) 58%, rgba(20,16,21,0.82) 100%),
    radial-gradient(130% 95% at 50% 42%, rgba(20,16,21,0) 52%, rgba(20,16,21,0.5) 100%);
}
.p-hero .static-noise { z-index: 2; opacity: 0.12; }
.p-hero .scanlines { z-index: 2; opacity: 0.3; }
.p-hero-title {
  position: relative; z-index: 3; margin: 0; padding-inline: 0.4rem;
  font-weight: 900; text-transform: uppercase;
  font-size: clamp(3.55rem, 12.6vw, 14.5rem);
  letter-spacing: -0.03em; line-height: 0.82;
  color: var(--pink); text-align: center;
  text-shadow: 0 2px 40px rgba(20, 16, 21, 0.45);
}
.p-hero-title .dot { color: var(--hot); }
.p-meta { position: absolute; z-index: 3; margin: 0; }
.pm-bl { left: clamp(1.2rem, 3.6vw, 3.4rem); bottom: clamp(1.5rem, 5vh, 3rem); display: grid; gap: 1rem; justify-items: start; }
.p-inset { margin: 0; width: clamp(110px, 11vw, 180px); position: relative; }
.p-inset img { width: 100%; aspect-ratio: 1 / 1.18; object-fit: cover; display: block; filter: grayscale(1) contrast(1.05) brightness(0.92); }
.p-inset::after {
  content: ""; position: absolute; left: 55%; top: 0; width: 2px; height: 100%;
  background: linear-gradient(180deg, transparent, var(--hot) 18% 82%, transparent);
  box-shadow: 0 0 12px 2px rgba(224, 30, 131, 0.65);
}
.p-barcode { width: clamp(110px, 11vw, 170px); color: var(--pink-70); }
.p-barcode svg { display: block; width: 100%; height: 30px; }
/* index hero */
.p-hero-heading { position: relative; z-index: 3; text-align: center; padding-inline: 0.4rem; }
.p-hero-heading .p-hero-title { padding-inline: 0; }
.p-hero-sub {
  margin: clamp(0.7rem, 2vw, 1.5rem) 0 0;
  font-family: ui-monospace, "Cascadia Mono", Consolas, "SF Mono", monospace;
  font-size: clamp(0.62rem, 0.9vw, 0.8rem);
  letter-spacing: 0.32em; text-transform: uppercase;
  color: var(--pink-70);
}
.p-hero-coords {
  right: clamp(1.2rem, 3.6vw, 3.4rem); bottom: clamp(1.5rem, 5vh, 3rem); text-align: right;
  font-family: ui-monospace, "Cascadia Mono", Consolas, "SF Mono", monospace;
  font-size: clamp(0.6rem, 0.82vw, 0.78rem);
  letter-spacing: 0.14em; text-transform: uppercase; line-height: 1.9;
  color: var(--pink-70);
}
#ihero .p-hero-photo img { object-position: 50% 30%; }
#ihero .p-hero-title { font-size: clamp(4.2rem, 16.5vw, 18rem); }
.ticker-strip { padding: 0; }

/* ---- dark editorial pass: charcoal replaces the light pink sections ---- */
.on-char { background: var(--ink-2); color: var(--pink); }
.on-char .btn, .on-char .btn-ghost {
  border-color: var(--pink); color: var(--pink); background: transparent;
}
.on-char .btn:hover { background: var(--hot); border-color: var(--hot); color: #fff; }
.on-char .btn-ghost:hover { background: var(--pink); color: var(--ink); }
.on-char .hero-sub { color: var(--pink); }
.on-char .hero-sub strong { color: #fff; }
.on-char .service > p { color: var(--pink-70); }
.on-char h2, .on-char h3, .on-char h4 { color: var(--pink); }
.on-char :is(p, li, dt, dd) { color: var(--pink-70); }
.on-char :is(p, li) strong { color: var(--pink); }
.on-char .sec-lockup .script, .on-char .script-inline, .on-char .signature { color: var(--pink); }
.on-char .rules-lockup .script, .on-char .rules-lockup .grot { color: var(--pink); }
.on-char a { color: var(--pink); }
.tile-num {
  position: absolute; top: clamp(4.6rem, 9vh, 6.4rem); left: clamp(1.1rem, 3vw, 2.6rem); z-index: 3;
  font-family: ui-monospace, "Cascadia Mono", Consolas, "SF Mono", monospace;
  font-size: clamp(0.6rem, 0.82vw, 0.78rem); letter-spacing: 0.22em;
  color: var(--pink-70); pointer-events: none;
}
.site-nav .lang-sw { color: var(--hot); font-weight: 800; }
/* index selling flow */
.p-hero-cta { margin-top: clamp(1.4rem, 3.4vh, 2.4rem); }
.p-hero-cta .btn { border: 2px solid var(--pink); color: var(--pink); background: rgba(20, 16, 21, 0.35); }
.p-hero-cta .btn:hover { background: var(--hot); border-color: var(--hot); color: #fff; }
.who-grid { display: grid; grid-template-columns: 1fr 1.25fr; gap: 2rem 4rem; align-items: start; }
.who-title { font-size: clamp(2.4rem, 6vw, 4.6rem); font-weight: 900; letter-spacing: -0.02em; line-height: 0.95; }
.who-copy p { max-width: 54ch; font-weight: 500; }
.who-copy p + p { margin-top: 1em; }
.steps-title { font-size: clamp(2.2rem, 5.5vw, 4.2rem); font-weight: 900; letter-spacing: -0.02em; margin-bottom: clamp(1.8rem, 4vw, 3rem); }
.dot-hot { color: var(--hot); }
.steps { display: grid; grid-template-columns: repeat(3, 1fr); gap: clamp(1.6rem, 3.5vw, 3rem); }
.step-num {
  display: block; margin-bottom: 0.9em;
  font-family: ui-monospace, "Cascadia Mono", Consolas, "SF Mono", monospace;
  font-size: 0.78rem; letter-spacing: 0.22em; color: var(--hot);
}
.step h3 { font-size: clamp(1.3rem, 2.4vw, 1.8rem); font-weight: 900; margin-bottom: 0.5em; }
.step p { max-width: 34ch; }
@media (max-width: 760px) {
  .who-grid, .steps { grid-template-columns: 1fr; }
}

/* footer: centered stack — brand, barcode under it, links, one tagline */
.footer-stack { display: grid; justify-items: center; text-align: center; gap: 0.95rem; }
.footer-stack .barcode { width: 126px; }
.footer-stack .barcode svg { display: block; width: 100%; height: 26px; }
.f-nav { display: flex; flex-wrap: wrap; gap: 0.6rem 1.5rem; justify-content: center; }
.f-nav a { font-weight: 700; font-size: 0.92rem; text-decoration: none; color: inherit; }
.f-nav a:hover { color: var(--hot); }
.f-tag { color: var(--pink-70); font-size: 0.85rem; }
@media (max-width: 640px) {
  .cta-sec .sigil-l, .cta-sec .sigil-r { display: none; }
  /* full nav on phones: brand + book on top, all links wrap below */
  .site-header .wrap { flex-wrap: wrap; row-gap: 0.45rem; }
  .site-nav { order: 3; width: 100%; flex-wrap: wrap; gap: 0.5rem 1rem; }
  .site-nav a:nth-child(n+3) { display: inline; }
  .site-nav a { font-size: 0.8rem; }
}

/* prices: premium underground card instead of the light pink one */
.price-card {
  background: var(--ink-2); color: var(--pink);
  border: 1px solid rgba(247, 195, 215, 0.16);
  box-shadow: 0 0 0 1px rgba(20, 16, 21, 0.6), 0 30px 80px rgba(0, 0, 0, 0.45);
}
.price-card dl.rows > div {
  border-bottom: 1px solid rgba(247, 195, 215, 0.12);
  padding-block: 0.35em;
}
.price-card dd { color: var(--hot); font-weight: 800; }
.price-card .price-note { color: var(--pink-70); }
#thero .p-hero-photo img { object-position: 60% 25%; }
/* lo-res intro + light glitch ticks */
.p-hero-px { position: absolute; inset: 0; image-rendering: pixelated; opacity: 0; visibility: hidden; }
#phero .p-hero-photo img.p-hero-px,
#thero .p-hero-photo img.p-hero-px { filter: grayscale(1) contrast(0.8) brightness(0.72); }
@media (prefers-reduced-motion: no-preference) {
  .js .p-hero-px { visibility: visible; opacity: 0; }
  .px-go .p-hero-px { animation: pxBurst 4.5s steps(1) 0.8s infinite; }
  @keyframes pxBurst {
    0% { opacity: 0; }
    4% { opacity: 1; }
    10% { opacity: 0; }
    14% { opacity: 1; }
    19% { opacity: 0.55; }
    23% { opacity: 1; }
    28% { opacity: 0; }
    100% { opacity: 0; }
  }
  .p-hero-title { animation: heroTick 3.2s steps(1) 1.6s infinite; }
  @keyframes heroTick {
    0%, 94.4% { transform: none; text-shadow: 0 2px 40px rgba(20, 16, 21, 0.45); }
    95% { transform: translateX(0.06em) skewX(-4deg); text-shadow: -0.09em 0 0 var(--hot), 0 2px 40px rgba(20, 16, 21, 0.45); }
    96% { transform: translateX(-0.045em) skewX(2deg); text-shadow: 0.07em 0 0 rgba(224, 30, 131, 0.7), 0 2px 40px rgba(20, 16, 21, 0.45); }
    97% { transform: none; text-shadow: 0 2px 40px rgba(20, 16, 21, 0.45); }
    100% { transform: none; text-shadow: 0 2px 40px rgba(20, 16, 21, 0.45); }
  }
  .p-hero .p-barcode { animation: bcFlick 6.4s steps(1) 3.9s infinite; }
  @keyframes bcFlick {
    0%, 91% { opacity: 1; }
    92.2% { opacity: 0.35; } 93.4% { opacity: 1; }
    94.2% { opacity: 0.5; } 95.2%, 100% { opacity: 1; }
  }
}
/* eyes censored like the girl on the work tile; luminance range compressed
   hard so every cell stays in a clean pink range — no black holes over dark
   hair, no burnt-out whites */
.p-hero .censor-px img { filter: grayscale(1) contrast(0.35) brightness(1.15); }
/* the jitter shifts the mosaic 1.6% sideways — oversize it so the pale
   backdrop never peeks out at the band edge, and keep the backdrop deep
   pink as a safety net */
.censor-px img { left: -2.5%; width: 105%; }
.p-hero .censor-px { background: #b04b7c; }
#phero .censor-px { clip-path: inset(17% 58% 67% 2%); }
#thero .censor-px { clip-path: inset(23% 12% 60% 52%); }
@media (max-width: 760px) {
  .p-inset { display: none; }
  .p-hero-photo img { object-position: 24% center; }
  #thero .p-hero-photo img {
    object-position: 40% center;
    filter: grayscale(1) contrast(1.16) brightness(1.04);
  }
  #phero .censor-px { clip-path: inset(17% 0 67% 0); }
  #thero .censor-px { display: none; }
}

.page-hero .grot { font-size: clamp(2.4rem, 7vw, 5rem); }
.page-hero-sub { max-width: 52ch; font-weight: 500; color: var(--ink-70); margin-top: 1.4rem; }
.service-solo .service { max-width: 620px; margin-inline: auto; }
.service-solo .service h3 { text-align: left; }

@media (max-width: 760px) {
  .choose { grid-template-columns: 1fr; }
  .tile { min-height: 50svh; }
}
@media (max-width: 640px) {
  .site-nav { display: flex; gap: 1rem; }
  .site-nav a:nth-child(n+3) { display: none; }
  .site-nav a { font-size: 0.85rem; }
}

/* late overrides: designer-grid footer + full mobile nav */
.site-footer { border-top: 1px solid rgba(247, 195, 215, 0.14); padding: clamp(3rem, 6vw, 4.5rem) 0 0; }
.site-footer .wrap { display: block; }
.site-footer .f-grid {
  display: grid; grid-template-columns: 1.6fr 1fr 1fr auto;
  gap: 2rem 3rem; align-items: start;
  padding-bottom: clamp(2.2rem, 5vw, 3.2rem);
}
.site-footer .brand { font-size: clamp(1.9rem, 3.6vw, 2.6rem); }
.site-footer .f-tag { margin-top: 0.8em; color: var(--pink-70); font-size: 0.9rem; line-height: 1.55; }
.site-footer .f-col { display: grid; gap: 0.55em; justify-items: start; }
.site-footer .f-col a { text-decoration: none; color: var(--pink-70); font-weight: 700; font-size: 0.95rem; }
.site-footer .f-col a:hover { color: var(--hot); }
.site-footer .f-code { justify-self: end; }
.site-footer .f-code .barcode { width: 122px; opacity: 0.85; }
.site-footer .f-code .barcode svg { display: block; width: 100%; height: 30px; }
.site-footer .f-bottom {
  display: flex; justify-content: space-between; align-items: center; gap: 1rem 1.6rem;
  border-top: 1px solid rgba(247, 195, 215, 0.12);
  padding-block: 1.15rem; margin-top: 0;
  font-family: ui-monospace, "Cascadia Mono", Consolas, "SF Mono", monospace;
  font-size: 0.72rem; letter-spacing: 0.18em; text-transform: uppercase;
  color: var(--pink-70);
}
.site-footer .f-bottom p { margin: 0; }
.site-footer .f-bottom a { color: var(--pink); text-decoration: none; }
.site-footer .f-bottom a:hover { color: var(--hot); }
.site-footer .f-bottom .lang-sw { color: var(--hot); }
@media (max-width: 760px) {
  .site-footer .f-grid { grid-template-columns: 1fr 1fr; gap: 1.8rem 1.4rem; }
  .site-footer .f-brand { grid-column: 1 / -1; }
  .site-footer .f-code { grid-column: 1 / -1; justify-self: start; }
  .site-footer .f-bottom { flex-wrap: wrap; }
}
@media (max-width: 640px) {
  .site-header .wrap { flex-wrap: wrap; row-gap: 0.45rem; }
  .site-nav { order: 3; width: 100%; flex-wrap: wrap; gap: 0.5rem 1rem; }
  .site-nav a:nth-child(n+3) { display: inline; }
  .site-nav a { font-size: 0.8rem; }
}

/* fixes: readable service links, title dot in text color */
.on-char .service .service-note { border-top-color: rgba(247, 195, 215, 0.18); }
.on-char .service .service-note a { color: var(--hot); }
.on-char .service .service-note a:hover { color: var(--pink); }
.p-hero-title .dot { color: inherit; }

/* interactive gallery */
.g-frame { cursor: pointer; }
.g-hidden { display: none !important; }
.g-more {
  display: block; margin: clamp(1.8rem, 4vw, 2.6rem) auto 0;
  font: inherit; font-weight: 700; font-size: 0.92rem;
  padding: 0.65em 1.5em; border-radius: 999px; cursor: pointer;
  background: transparent; border: 2px solid var(--pink); color: var(--pink);
}
.g-more:hover { background: var(--hot); border-color: var(--hot); color: #fff; }
.lightbox {
  position: fixed; inset: 0; z-index: 200; display: none;
  align-items: center; justify-content: center;
  background: rgba(10, 8, 11, 0.94);
  padding: clamp(0.8rem, 3vw, 2.5rem);
}
.lightbox.open { display: flex; }
.lightbox figure { margin: 0; display: grid; gap: 0.7rem; justify-items: center; max-width: min(92vw, 1100px); }
.lightbox img { max-width: 100%; max-height: 80vh; object-fit: contain; border: 1px solid rgba(247, 195, 215, 0.22); }
.lightbox figcaption { color: var(--pink-70); font-size: 0.9rem; }
.lightbox button {
  position: absolute; z-index: 1; background: none; border: 0; cursor: pointer;
  color: var(--pink); font: inherit; font-size: 1.5rem; padding: 0.6em;
}
.lightbox button:hover { color: var(--hot); }
.lb-close { top: 0.5rem; right: 0.8rem; }
.lb-prev { left: 0.3rem; top: 50%; transform: translateY(-50%); }
.lb-next { right: 0.3rem; top: 50%; transform: translateY(-50%); }
html.lb-open { overflow: hidden; }

/* gallery fx canvas */
.gal-fx-host { position: relative; }
.gal-fx { position: absolute; inset: 0; z-index: 0; pointer-events: none; }
.gal-fx-host > .wrap { position: relative; z-index: 1; }

/* signature piece (tattoo page) */
.sig-grid { display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(0, 0.85fr); gap: clamp(1.5rem, 4vw, 3rem); align-items: center; }
.sig-sec .sword-stage { margin-inline: 0; width: 100%; max-width: 640px; }
.sig-copy { position: relative; z-index: 3; margin-left: clamp(-13rem, -11vw, -2.5rem); }
.sig-title {
  font-size: clamp(3.2rem, 9vw, 8.5rem); font-weight: 900;
  letter-spacing: -0.03em; line-height: 0.9;
  text-shadow: 0 4px 44px rgba(20, 16, 21, 0.6);
}
.sig-sub { margin-top: 1.2rem; max-width: 36ch; color: var(--pink-70); font-weight: 500; }
.sig-copy .btn { margin-top: 1.6rem; border: 2px solid var(--pink); color: var(--pink); background: transparent; }
.sig-copy .btn:hover { background: var(--hot); border-color: var(--hot); color: #fff; }
.sword-stage .sig-px {
  position: absolute; inset: 0; width: 100%; height: 100%;
  image-rendering: pixelated; opacity: 0; z-index: 1;
  filter: grayscale(1) contrast(0.8) brightness(0.72);
}
@media (prefers-reduced-motion: no-preference) {
  .sword-stage .sig-px { animation: pxBurst 8s steps(1) 2.2s infinite; }
}
.sig-sec .sword-stage::after {
  content: ""; position: absolute; inset: 0; z-index: 2; pointer-events: none;
  background: radial-gradient(120% 100% at 50% 40%, transparent 55%, rgba(20, 16, 21, 0.55));
}
@media (max-width: 900px) {
  .sig-grid { grid-template-columns: 1fr; }
  .sig-copy { margin-left: 0; margin-top: -3rem; }
}
.steps-note { margin-top: clamp(1.8rem, 4vw, 2.6rem); color: var(--pink-70); font-weight: 600; }
.steps-note a { color: var(--hot); }
.steps-note a:hover { color: var(--pink); }

/* interlude fits phones: stars clip, title wraps, no glitch ghosts */
@media (max-width: 640px) {
  .interlude-inner { width: 100%; max-width: 100%; }
  .interlude .starrow { max-width: 100%; overflow: hidden; white-space: nowrap; }
  .interlude-big { font-size: clamp(1.9rem, 10.5vw, 2.6rem); line-height: 1.06; }
  .interlude-big::before, .interlude-big::after { display: none; }
  .interlude-script { max-width: 100%; }
}

@media (max-width: 640px) {
  .interlude { grid-template-columns: minmax(0, 100%); }
}

/* soft section transitions: charcoal blocks fade from/to the ink around them */
.on-char {
  background:
    linear-gradient(180deg, var(--ink) 0, rgba(20, 16, 21, 0) clamp(70px, 14vh, 160px)),
    linear-gradient(0deg, var(--ink) 0, rgba(20, 16, 21, 0) clamp(70px, 14vh, 160px)),
    var(--ink-2);
}

/* soft edges for textured overlays: scanlines/noise fade in and out */
section > .scanlines, section > .static-noise {
  -webkit-mask-image: linear-gradient(180deg, transparent, #000 80px, #000 calc(100% - 80px), transparent);
  mask-image: linear-gradient(180deg, transparent, #000 80px, #000 calc(100% - 80px), transparent);
}

/* ---- мобильная шапка: work. prices. + кнопка «menu.» + оверлей ---- */
.mnav-btn {
  display: none; margin-left: auto; border: 0; background: none; cursor: pointer;
  font: inherit; font-weight: 800; font-size: 0.85rem; line-height: inherit;
  color: inherit; padding: 0;
}
.mnav {
  position: fixed; inset: 0; z-index: calc(var(--z-header) + 2);
  background: var(--ink); color: var(--pink);
  display: flex; flex-direction: column;
  padding: 1rem clamp(1.2rem, 5vw, 2rem) clamp(1.6rem, 5vh, 2.6rem);
  opacity: 0; visibility: hidden; transform: translateY(-2%);
  transition: opacity 0.3s var(--ease-out), transform 0.3s var(--ease-out), visibility 0s linear 0.3s;
}
html.mnav-open .mnav { opacity: 1; visibility: visible; transform: none; transition-delay: 0s; }
html.mnav-open { overflow: hidden; }
.mnav::before {
  content: ""; position: absolute; inset: 0; pointer-events: none; opacity: 0.3;
  background: repeating-linear-gradient(180deg, rgba(247, 195, 215, 0.05) 0 1px, transparent 1px 3px);
}
.mnav-head { display: flex; align-items: center; justify-content: space-between; padding: 0.15rem 0 2.4rem; }
.mnav-brand { font-weight: 900; font-size: 1.35rem; letter-spacing: -0.03em; }
.mnav-close {
  border: 0; background: none; cursor: pointer; color: var(--pink);
  font-size: 1.4rem; line-height: 1; padding: 0.3rem 0.45rem;
}
.mnav-list { display: flex; flex-direction: column; align-items: flex-start; gap: clamp(0.85rem, 2.4vh, 1.4rem); }
.mnav-list a {
  text-decoration: none; color: var(--pink);
  font-weight: 900; letter-spacing: -0.02em; line-height: 1;
  font-size: clamp(2rem, 9vw, 3rem);
  opacity: 0; transform: translateY(14px);
  transition: opacity 0.4s var(--ease-out), transform 0.4s var(--ease-out);
}
html.mnav-open .mnav-list a { opacity: 1; transform: none; }
html.mnav-open .mnav-list a:nth-child(1) { transition-delay: 0.04s; }
html.mnav-open .mnav-list a:nth-child(2) { transition-delay: 0.08s; }
html.mnav-open .mnav-list a:nth-child(3) { transition-delay: 0.12s; }
html.mnav-open .mnav-list a:nth-child(4) { transition-delay: 0.16s; }
html.mnav-open .mnav-list a:nth-child(5) { transition-delay: 0.2s; }
html.mnav-open .mnav-list a:nth-child(6) { transition-delay: 0.24s; }
html.mnav-open .mnav-list a:nth-child(7) { transition-delay: 0.28s; }
html.mnav-open .mnav-list a:nth-child(8) { transition-delay: 0.32s; }
.mnav-list a:hover, .mnav-list a:active { color: var(--hot); }
.mnav-list .lang-sw { color: var(--hot); }
.mnav-book { margin-top: auto; align-self: flex-start; background: var(--pink); color: var(--ink); border-color: var(--pink); font-size: 1rem; }
@media (max-width: 760px) {
  html.mnav-ready .site-header .wrap { flex-wrap: wrap; row-gap: 0.45rem; }
  html.mnav-ready .site-nav {
    order: 3; width: 100%; display: flex; flex-wrap: nowrap;
    gap: 1.15rem; align-items: baseline;
  }
  html.mnav-ready .site-nav a { display: inline; font-size: 0.85rem; }
  html.mnav-ready .site-nav a:nth-child(n+3) { display: none; }
  html.mnav-ready .mnav-btn { display: inline-block; }
}
@media (prefers-reduced-motion: reduce) {
  .mnav, .mnav-list a { transition: none; transform: none; }
}

/* ---- мобильный футер по центру («криво» — жалоба 27.08) ---- */
@media (max-width: 760px) {
  .site-footer .f-brand { text-align: center; }
  .site-footer .f-col { justify-items: center; }
  .site-footer .f-code { justify-self: center; }
  .site-footer .f-bottom { justify-content: center; text-align: center; }
}

/* clean grot lockups: no script-capital offsets anymore.
   margin-top тоже в ноль: отрицательный отступ был подтяжкой под скрипт-слово,
   которого больше нет — он наезжал на «piercing.» над «price list.» (жалоба 28.08) */
.sec-lockup .grot, .page-first .sec-lockup .grot, .rules-lockup .grot,
.cta-lockup .grot, .aftercare-lockup .grot {
  margin-left: 0; text-indent: 0; padding-left: 0; margin-top: 0;
}
/* карточка прайса: «piercing.» — кикер над заголовком, ему нужен воздух */
.price-card .card-label { margin-bottom: clamp(0.7rem, 2.2vw, 1.15rem); }
/* в карточке всё по центру (кикер, ear./nose., «spiral.») — заголовок тоже */
.price-card .sec-lockup { text-align: center; }

/* menu: CRT power-on + words assemble from broken slices, then keep ticking */
@media (prefers-reduced-motion: no-preference) {
  html.mnav-open .mnav { animation: mnavOn 0.38s steps(1); }
  @keyframes mnavOn {
    0% { opacity: 0.55; }
    35% { opacity: 1; }
    55% { opacity: 0.75; }
    70%, 100% { opacity: 1; }
  }
  html.mnav-open .mnav-list a {
    animation:
      navIn 0.45s steps(1) var(--nidel, 0.1s) both,
      navGlitch var(--ngd, 2.6s) steps(1) var(--ngdel, 1.2s) infinite;
  }
  .mnav-list a:nth-child(1) { --nidel: 0.05s; --ngd: 2.3s; --ngdel: 0.85s; }
  .mnav-list a:nth-child(2) { --nidel: 0.11s; --ngd: 2.9s; --ngdel: 1.25s; }
  .mnav-list a:nth-child(3) { --nidel: 0.17s; --ngd: 2.5s; --ngdel: 1.55s; }
  .mnav-list a:nth-child(4) { --nidel: 0.23s; --ngd: 3.1s; --ngdel: 1s; }
  .mnav-list a:nth-child(5) { --nidel: 0.29s; --ngd: 2.7s; --ngdel: 1.75s; }
  .mnav-list a:nth-child(6) { --nidel: 0.35s; --ngd: 2.4s; --ngdel: 1.4s; }
  .mnav-list a:nth-child(7) { --nidel: 0.41s; --ngd: 3s; --ngdel: 1.1s; }
  .mnav-list a:nth-child(8) { --nidel: 0.47s; --ngd: 2.6s; --ngdel: 1.65s; }
  @keyframes navIn {
    0% { opacity: 0; clip-path: inset(0 0 100% 0); transform: translateX(0.3em); }
    25% { opacity: 1; clip-path: inset(0 0 48% 0); transform: translateX(0.12em) skewX(-9deg); text-shadow: -0.1em 0 0 var(--hot); }
    50% { opacity: 1; clip-path: inset(45% 0 0 0); transform: translateX(-0.08em); text-shadow: none; }
    75% { opacity: 1; clip-path: none; transform: skewX(4deg); text-shadow: 0.06em 0 0 var(--hot); }
    100% { opacity: 1; clip-path: none; transform: none; text-shadow: none; }
  }
  @keyframes navGlitch {
    0% { transform: none; clip-path: none; text-shadow: none; }
    2% { transform: translateX(0.09em) skewX(-11deg); text-shadow: -0.11em 0 0 var(--hot); }
    4% { clip-path: inset(0 0 52% 0); transform: translateX(-0.07em); }
    6.5% { clip-path: inset(40% 0 0 0); transform: translateX(0.05em) skewX(6deg); text-shadow: 0.09em 0 0 var(--hot); }
    9% { transform: translateX(-0.04em); clip-path: none; }
    11%, 100% { transform: none; clip-path: none; text-shadow: none; }
  }
}

/* phones: keep decorative vines/graffiti from shoving content around */
html, body { overflow-x: clip; }
@media (max-width: 760px) {
  .manifesto .sigil,
  .manifesto .deco-graf1,
  .manifesto .deco-graf2 { display: none; }
}

/* why spiral: brand philosophy */
.why-cols { display: grid; grid-template-columns: 1fr 1fr; gap: 1.6rem 3.5rem; }
.why-cols p { color: var(--pink-70); font-weight: 500; max-width: 56ch; }
.why-cols p:last-child { grid-column: 1 / -1; max-width: 74ch; }
.why-cols strong { color: var(--hot); }
@media (max-width: 760px) { .why-cols { grid-template-columns: 1fr; } }

/* why spiral: work photo as dimmed backdrop */
.why-sec { position: relative; overflow: clip; }
.why-bg { position: absolute; inset: 0; z-index: 0; }
.why-bg img {
  width: 100%; height: 100%; object-fit: cover; object-position: 50% 38%;
  filter: grayscale(1) contrast(1.06) brightness(0.38);
}
.why-sec::before {
  content: ""; position: absolute; inset: 0; z-index: 1; pointer-events: none;
  background: linear-gradient(180deg, var(--ink), rgba(20, 16, 21, 0.5) 26%, rgba(20, 16, 21, 0.5) 74%, var(--ink));
}
.why-sec .wrap { position: relative; z-index: 2; }

/* lores flashes on work photos */
.lores-cv {
  position: absolute; z-index: 2; opacity: 0; pointer-events: none;
  image-rendering: pixelated;
  animation: loresFlash 5s linear infinite;
}
@keyframes loresFlash {
  0%, 61.9% { opacity: 0; }
  62%, 73.9% { opacity: 1; }
  74%, 100% { opacity: 0; }
}
@media (prefers-reduced-motion: reduce) { .lores-cv { animation: none; } }

/* ---------- stencil: paper before skin ---------- */
.stencil-sec { position: relative; overflow: clip; padding-block: clamp(4rem, 9vw, 7.5rem); }
.stencil-grid {
  display: grid; grid-template-columns: minmax(0, 6fr) minmax(0, 5fr);
  gap: clamp(2.5rem, 6vw, 5rem); align-items: center;
}
.stencil-title { font-size: clamp(2rem, 4.8vw, 3.6rem); font-weight: 900; letter-spacing: -0.025em; }
.stencil-title .script-inline {
  font-family: var(--script); font-weight: 400;
  font-size: 1.55em; line-height: 0.5; letter-spacing: 0;
  display: block; margin-top: 0.14em; margin-left: 0.35em; color: var(--pink);
}
.stencil-copy p { color: var(--pink-70); max-width: 46ch; margin-top: 2.4rem; font-weight: 500; }
.stencil-copy p + p { margin-top: 1.1em; }
.stencil-btn {
  display: inline-block; margin-top: 2rem;
  border: 2px solid var(--pink); color: var(--pink); background: transparent;
}
.stencil-btn:hover { background: var(--hot); border-color: var(--hot); color: #fff; }

.stencil-stage { position: relative; justify-self: center; width: clamp(240px, 27vw, 370px); }
.stencil-glow {
  position: absolute; inset: -14% -18% -6%; z-index: 0; pointer-events: none;
  background: radial-gradient(60% 52% at 50% 40%, rgba(120, 130, 255, 0.5), rgba(224, 30, 131, 0.16) 46%, transparent 72%);
  filter: blur(26px);
}
.stencil-stage img {
  position: relative; z-index: 1;
  width: 100%; height: auto;
  transform: rotate(-1.6deg);
  /* растворяем края кадра в фоне — лист будто висит на просвет */
  -webkit-mask-image:
    linear-gradient(to right, transparent, #000 7%, #000 93%, transparent),
    linear-gradient(to bottom, transparent, #000 6%, #000 92%, transparent);
  -webkit-mask-composite: source-in;
  mask-image:
    linear-gradient(to right, transparent, #000 7%, #000 93%, transparent),
    linear-gradient(to bottom, transparent, #000 6%, #000 92%, transparent);
  mask-composite: intersect;
}
.stencil-stage figcaption {
  position: relative; z-index: 1;
  margin-top: 1.4rem; text-align: center;
  font-size: 0.78rem; font-weight: 700;
  letter-spacing: 0.14em; text-transform: uppercase;
  color: var(--pink-70);
}
@media (prefers-reduced-motion: no-preference) {
  .stencil-stage img { transition: transform 0.6s var(--ease-out); }
  .stencil-stage:hover img { transform: rotate(0deg) scale(1.015); }
}
@media (max-width: 860px) {
  .stencil-grid { grid-template-columns: 1fr; }
  .stencil-stage { width: min(100%, 330px); }
}

/* aftercare: два блока — tattoo и piercing */
.care-block + .care-block { margin-top: clamp(3rem, 7vw, 5rem); }
.care-kind {
  display: flex; align-items: baseline; gap: clamp(0.9rem, 2vw, 1.4rem);
  font-size: clamp(1.7rem, 3.6vw, 2.6rem); font-weight: 900; letter-spacing: -0.025em;
  margin-bottom: clamp(1.5rem, 3vw, 2.2rem);
}
.care-kind::after {
  content: ""; flex: 1; height: 1px; background: currentColor; opacity: 0.2;
  transform: translateY(-0.35em);
}

/* aftercare / rules: фото-фон позади текста */
.has-bg { position: relative; overflow: clip; }
.sec-bg { position: absolute; inset: 0; z-index: 0; pointer-events: none; }
.sec-bg img {
  width: 100%; height: 100%; object-fit: cover; object-position: 50% 50%;
  filter: brightness(0.62) saturate(0.9);
}
#aftercare .sec-bg img {
  filter: brightness(0.8) saturate(0.9) contrast(1.02);
  object-position: 50% 38%;
}
.sec-bg::after {
  content: ""; position: absolute; inset: 0;
  background:
    linear-gradient(180deg, var(--ink) 0, rgba(20, 16, 21, 0) clamp(70px, 14vh, 160px)),
    linear-gradient(0deg, var(--ink) 0, rgba(20, 16, 21, 0) clamp(70px, 14vh, 160px)),
    rgba(20, 16, 21, 0.66);
}
.has-bg > .wrap { position: relative; z-index: 2; }
.has-bg > .deco { z-index: 1; }
#rules .sec-bg img { object-position: 50% 30%; filter: brightness(0.72) saturate(0.9); }

/* 2026-09-11 price list sheet 2: her closing line */
.price-tagline {
  margin-top: clamp(2rem, 5vw, 3rem); text-align: center;
  font-weight: 700; font-size: clamp(0.95rem, 1.6vw, 1.1rem); line-height: 1.45; color: var(--pink);
}
.price-tagline + .card-foot { margin-top: clamp(1rem, 2.5vw, 1.4rem); }
