  :root {
    --bg:      #f2f0e9;
    --bg2:     #e9e5db;
    --fg:      #0e0e0e;
    --muted:   #888;
    --dim:     #666;
    --subdim:  #aaa;
    --border:  rgba(14,14,14,0.09);
    --border2: rgba(14,14,14,0.22);
    --green:   #2a6a3a;
    --red:     #8b1a1a;
  }
  *, *::before, *::after { margin:0; padding:0; box-sizing:border-box; }
  html { scroll-behavior: smooth; }
  body { background: var(--bg); color: var(--fg); font-family: 'DM Sans', sans-serif; font-weight: 300; -webkit-font-smoothing: antialiased; cursor: none; overflow-x: hidden; }
  .cursor { position: fixed; width: 7px; height: 7px; background: var(--fg); border-radius: 50%; pointer-events: none; z-index: 9999; transform: translate(-50%,-50%); transition: width 0.25s ease, height 0.25s ease, opacity 0.25s ease; mix-blend-mode: multiply; }
  .cursor.expand { width: 36px; height: 36px; opacity: 0.2; }
  nav { position: fixed; top: 0; left: 0; right: 0; z-index: 200; height: 50px; display: flex; align-items: center; justify-content: space-between; padding: 0 44px; background: var(--bg); border-bottom: 0.5px solid var(--border); }
  .nav-logo { font-family: 'Syne', sans-serif; font-size: 9px; font-weight: 800; letter-spacing: 6px; text-transform: uppercase; color: var(--fg); }
  .nav-links { display: flex; gap: 36px; }
  .nav-links a { font-size: 8px; letter-spacing: 3px; text-transform: uppercase; color: var(--muted); text-decoration: none; transition: color 0.2s; }
  .nav-links a:hover { color: var(--fg); }
  .nav-cta { font-size: 8px; letter-spacing: 3px; text-transform: uppercase; color: var(--fg); border: 0.5px solid var(--border2); padding: 9px 20px; background: transparent; font-family: 'DM Sans', sans-serif; font-weight: 300; cursor: none; transition: all 0.2s; }
  .nav-cta:hover { background: var(--fg); color: var(--bg); }
  .hero { margin-top: 50px; position: relative; display: grid; grid-template-columns: 38% 62%; height: calc(100vh - 50px); min-height: 580px; border-bottom: 0.5px solid var(--border); overflow: hidden; }
  .hero-left { padding: 52px 44px; display: flex; flex-direction: column; justify-content: space-between; border-right: 0.5px solid var(--border); position: relative; z-index: 3; background: var(--bg); }
  .hero-left-top { display: flex; flex-direction: column; gap: 0; }
  .specimen-label { font-size: 8px; letter-spacing: 6px; text-transform: uppercase; color: var(--subdim); margin-bottom: 20px; }
  .ghost-initials { font-family: 'Syne', sans-serif; font-weight: 800; font-size: clamp(80px, 12vw, 140px); line-height: 0.85; letter-spacing: -6px; color: transparent; user-select: none; pointer-events: none; margin-left: -4px; }
  .gi-solid { color: rgba(14,14,14,0.6); -webkit-text-stroke: 0; }
  .gi-outline { color: transparent; -webkit-text-stroke: 0.8px rgba(14,14,14,0.60); }
  .series-tag { font-size: 8px; letter-spacing: 5px; text-transform: uppercase; color: var(--muted); margin-bottom: 18px; }
  .hero-title { font-family: 'Syne', sans-serif; font-weight: 800; font-size: clamp(36px, 4.5vw, 52px); letter-spacing: -2px; line-height: 0.88; text-transform: uppercase; color: var(--fg); margin-bottom: 20px; }
  .hero-desc { font-size: 10px; line-height: 2; color: var(--dim); max-width: 260px; margin-bottom: 32px; }
  .hero-btns { display: flex; gap: 8px; }
  .btn { font-size: 8px; letter-spacing: 3px; text-transform: uppercase; padding: 11px 20px; cursor: none; font-family: 'DM Sans', sans-serif; font-weight: 300; transition: all 0.2s; }
  .btn-fill { background: var(--fg); color: var(--bg); border: none; }
  .btn-fill:hover { opacity: 0.82; }
  .btn-out { background: transparent; color: var(--fg); border: 0.5px solid var(--border2); }
  .btn-out:hover { background: var(--fg); color: var(--bg); }
  .hero-right { position: relative; overflow: hidden; background: var(--bg2); }
  .hero-right img { width: 100%; height: 100%; object-fit: cover; object-position: center 30%; display: block; transition: transform 4s ease; }
  .hero-right:hover img { transform: scale(1.025); }
  .hero-right::before { content: ''; position: absolute; left: 0; top: 0; bottom: 0; width: 80px; background: linear-gradient(to right, var(--bg), transparent); z-index: 2; pointer-events: none; }
  .cross { position: absolute; z-index: 4; width: 18px; height: 18px; pointer-events: none; }
  .cross svg { width: 100%; height: 100%; }
  .cross-tl { top: 20px; left: 20px; } .cross-tr { top: 20px; right: 20px; }
  .cross-bl { bottom: 20px; left: 20px; } .cross-br { bottom: 20px; right: 20px; }
  .hero-label-v { position: absolute; right: 28px; top: 50%; transform: translateY(-50%) rotate(180deg); writing-mode: vertical-rl; font-size: 8px; letter-spacing: 4px; text-transform: uppercase; color: rgba(242,240,233,0.35); z-index: 4; pointer-events: none; }
  .hero-counter { position: absolute; top: 24px; right: 52px; font-size: 8px; letter-spacing: 3px; text-transform: uppercase; color: rgba(242,240,233,0.4); z-index: 4; }
  .hero-caption { position: absolute; bottom: 20px; left: 44px; font-size: 8px; letter-spacing: 3px; text-transform: uppercase; color: rgba(242,240,233,0.45); z-index: 4; line-height: 2; }
  .hero-caption span { color: rgba(242,240,233,0.25); display: block; }
  .hero-inquire { position: absolute; bottom: 20px; right: 20px; z-index: 4; font-size: 8px; letter-spacing: 3px; text-transform: uppercase; color: rgba(242,240,233,0.9); border: 0.5px solid rgba(242,240,233,0.2); padding: 10px 20px; background: transparent; font-family: 'DM Sans', sans-serif; font-weight: 300; cursor: none; transition: all 0.25s; }
  .hero-inquire:hover { background: rgba(242,240,233,0.9); color: var(--fg); border-color: transparent; }
  .ticker { height: 40px; background: var(--fg); overflow: hidden; display: flex; align-items: center; position: relative; }
  .ticker::before, .ticker::after { content: ''; position: absolute; top: 0; bottom: 0; width: 80px; z-index: 2; pointer-events: none; }
  .ticker::before { left: 0; background: linear-gradient(to right, var(--fg), transparent); }
  .ticker::after  { right: 0; background: linear-gradient(to left, var(--fg), transparent); }
  .ticker-inner { display: flex; white-space: nowrap; animation: ticker 32s linear infinite; }
  @keyframes ticker { from { transform: translateX(-50%); } to { transform: translateX(0); } }
  .ti { font-size: 8px; letter-spacing: 4px; text-transform: uppercase; color: #444; padding: 0 32px; flex-shrink: 0; }
  .ti-stmt { font-family: 'Syne', sans-serif; font-weight: 800; font-size: 11px; letter-spacing: 0.12em; text-transform: uppercase; color: rgba(242,240,233,0.9); padding: 0 56px; flex-shrink: 0; }
  .ti-dot { font-size: 8px; color: #333; padding: 0 8px; flex-shrink: 0; }
  .stats { display: grid; grid-template-columns: repeat(4, 1fr); border-top: 0.5px solid var(--border); border-bottom: 0.5px solid var(--border); }
  .stat { padding: 20px 32px; border-right: 0.5px solid var(--border); display: flex; flex-direction: column; gap: 5px; }
  .stat:last-child { border-right: none; }
  .stat-n { font-family: 'DM Sans', sans-serif; font-weight: 200; font-size: 28px; letter-spacing: -0.5px; color: var(--fg); }
  .stat-l { font-size: 8px; letter-spacing: 3px; text-transform: uppercase; color: var(--muted); }
  .works-head { display: flex; justify-content: space-between; align-items: center; padding: 32px 44px 24px; border-bottom: 0.5px solid var(--border); }
  .works-label { font-size: 8px; letter-spacing: 5px; text-transform: uppercase; color: var(--muted); }
  .works-head-right { display: flex; align-items: center; gap: 20px; }
  .works-counter { font-size: 8px; letter-spacing: 3px; text-transform: uppercase; color: var(--muted); }
  .works-all { font-size: 8px; letter-spacing: 3px; text-transform: uppercase; color: var(--fg); border-bottom: 0.5px solid var(--fg); padding-bottom: 2px; text-decoration: none; cursor: none; }
  .works-viewport { position: relative; overflow: hidden; }
  .carr-btn { position: absolute; top: 0; bottom: 0; width: 44px; z-index: 10; background: transparent; border: none; cursor: none; display: flex; align-items: center; justify-content: center; color: var(--fg); transition: background 0.2s; }
  .carr-btn:hover { background: rgba(14,14,14,0.04); }
  .carr-btn svg { width: 10px; height: 10px; }
  .carr-prev { left: 0; border-right: 0.5px solid var(--border); }
  .carr-next { right: 0; border-left: 0.5px solid var(--border); }
  .works-track { display: flex; will-change: transform; }
  .wi { flex-shrink: 0; background: var(--bg); cursor: none; overflow: hidden; position: relative; border-right: 0.5px solid var(--border); }
  .wi:last-child { border-right: none; }
  .wi-img { aspect-ratio: 3/4; overflow: hidden; background: var(--bg2); position: relative; }
  .wi-img img { width: 100%; height: 100%; object-fit: cover; object-position: center top; display: block; transition: transform 8s ease; }
  .wi:hover .wi-img img { transform: scale(1.05); }
  .wi-num { position: absolute; bottom: -12px; right: -4px; font-family: 'DM Sans', sans-serif; font-weight: 200; font-size: 88px; line-height: 1; color: transparent; -webkit-text-stroke: 0.5px rgba(242,240,233,0.22); pointer-events: none; z-index: 2; user-select: none; }
  .wi-bar { padding: 14px 18px; border-top: 0.5px solid var(--border); display: flex; justify-content: space-between; align-items: center; gap: 10px; }
  .wi-meta { display: flex; flex-direction: column; gap: 3px; min-width: 0; }
  .wi-name { font-size: 9px; letter-spacing: 2px; text-transform: uppercase; color: var(--fg); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
  .wi-dim  { font-size: 8px; letter-spacing: 1px; color: var(--muted); }
  .wi-price { font-size: 9px; letter-spacing: 1px; color: var(--dim); font-weight: 300; white-space: nowrap; flex-shrink: 0; }
  .wi-btn { font-size: 8px; letter-spacing: 2px; text-transform: uppercase; color: var(--fg); border: 0.5px solid rgba(14,14,14,0.18); padding: 7px 13px; cursor: none; background: transparent; font-family: 'DM Sans', sans-serif; transition: all 0.15s; white-space: nowrap; flex-shrink: 0; }
  .wi:hover .wi-btn { background: var(--fg); color: var(--bg); border-color: var(--fg); }
  .studio-row { display: grid; grid-template-columns: 1fr 1fr; border-top: 0.5px solid var(--border); }
  .studio-img { height: 360px; overflow: hidden; }
  .studio-img img { width: 100%; height: 100%; object-fit: cover; object-position: center 15%; display: block; transition: transform 10s ease; }
  .studio-img:hover img { transform: scale(1.03); }
  .stmt { padding: 56px 48px; background: var(--fg); display: flex; flex-direction: column; justify-content: center; }
  .stmt-tag { font-size: 8px; letter-spacing: 5px; text-transform: uppercase; color: #444; margin-bottom: 24px; }
  .stmt-big { font-family: 'Syne', sans-serif; font-weight: 800; font-size: clamp(28px, 3.5vw, 40px); letter-spacing: -1.5px; line-height: 0.92; text-transform: uppercase; color: var(--bg); margin-bottom: 24px; }
  .stmt-ghost { color: transparent; -webkit-text-stroke: 0.5px rgba(242,240,233,0.15); display: block; }
  .stmt-body { font-size: 10px; line-height: 2.1; color: #555; margin-bottom: 32px; max-width: 340px; }
  .stmt-link { font-size: 8px; letter-spacing: 4px; text-transform: uppercase; color: var(--bg); border-bottom: 0.5px solid rgba(242,240,233,0.2); padding-bottom: 3px; cursor: none; display: inline-block; text-decoration: none; transition: border-color 0.2s; }
  .stmt-link:hover { border-color: rgba(242,240,233,0.7); }
  .patron { display: flex; justify-content: space-between; align-items: center; padding: 32px 44px; border-top: 0.5px solid var(--border); gap: 40px; }
  .patron-tag { font-size: 8px; letter-spacing: 5px; text-transform: uppercase; color: var(--muted); margin-bottom: 8px; }
  .patron-text { font-size: 11px; font-weight: 300; color: var(--fg); letter-spacing: 0.2px; }
  .patron-text strong { font-weight: 400; }
  .patron-btns { display: flex; gap: 8px; flex-shrink: 0; }
  footer { height: 48px; border-top: 0.5px solid var(--border); display: flex; align-items: center; justify-content: space-between; padding: 0 44px; }
  .footer-l { font-size: 8px; letter-spacing: 3px; text-transform: uppercase; color: var(--muted); }
  .footer-links { display: flex; gap: 28px; }
  .footer-links a { font-size: 8px; letter-spacing: 2px; text-transform: uppercase; color: var(--muted); text-decoration: none; transition: color 0.2s; }
  .footer-links a:hover { color: var(--fg); }
  @keyframes fadein { from { opacity: 0; transform: translateY(14px); } to { opacity: 1; transform: translateY(0); } }
  .fadein { animation: fadein 1.1s ease both; }
  .delay-1 { animation-delay: 0.15s; }
  .delay-2 { animation-delay: 0.35s; }
  @media (max-width: 960px) {
    nav { padding: 0 24px; } .nav-links { display: none; }
    .hero { grid-template-columns: 1fr; height: auto; }
    .hero-left { padding: 40px 24px 36px; border-right: none; border-bottom: 0.5px solid var(--border); }
    .hero-right { height: 60vw; min-height: 300px; }
    .studio-row { grid-template-columns: 1fr; }
    .stmt { border-left: none; }
    .stats { grid-template-columns: 1fr 1fr; }
    .patron { flex-direction: column; align-items: flex-start; }
    footer { height: auto; padding: 16px 24px; flex-wrap: wrap; gap: 10px; }
  }

  /* Full-bleed cover hero — painting fills entire viewport */
  .p3-cover {
    position: relative;
    height: 100vh; min-height: 640px;
    overflow: hidden;
    display: flex; flex-direction: column;
    border-bottom: 0.5px solid rgba(255,255,255,0.08);
  }

  /* Painting fills the entire cover */
  .p3-cover-img {
    position: absolute; inset: 0;
    width: 100%; height: 100%;
    object-fit: cover; object-position: center 15%;
    display: block;
    transition: opacity 0.7s ease, transform 6s ease;
    z-index: 0;
  }

  /* Dark vignette — heavier at bottom and left for text legibility */
  .p3-vignette {
    position: absolute; inset: 0; z-index: 1; pointer-events: none;
    background:
      linear-gradient(to right,  rgba(0,0,0,0.72) 0%, rgba(0,0,0,0.18) 55%, transparent 100%),
      linear-gradient(to top,    rgba(0,0,0,0.65) 0%, rgba(0,0,0,0.08) 40%, transparent 100%),
      linear-gradient(to bottom, rgba(0,0,0,0.40) 0%, transparent 30%);
    transition: opacity 0.6s ease;
  }

  /* Top bar — issue / masthead */
  .p3-topbar {
    position: relative; z-index: 3;
    display: flex; justify-content: space-between; align-items: flex-start;
    padding: 32px 44px 0;
  }
  .p3-masthead {
    font-family: 'Syne', sans-serif; font-weight: 800;
    font-size: 9px; letter-spacing: 8px; text-transform: uppercase;
    transition: color 0.6s ease;
  }
  .p3-issue {
    font-size: 7px; letter-spacing: 4px; text-transform: uppercase;
    text-align: right; line-height: 1.9;
    transition: color 0.6s ease;
  }
  .p3-issue span { display: block; opacity: 0.5; }

  /* Centre — oversized title floating mid-cover */
  .p3-center {
    position: absolute; z-index: 3;
    top: 50%; left: 44px;
    transform: translateY(-60%);
  }
  .p3-kicker {
    font-size: 7px; letter-spacing: 6px; text-transform: uppercase;
    margin-bottom: 16px; transition: color 0.6s ease;
    opacity: 0.65;
  }
  .p3-cover-title {
    font-family: 'Syne', sans-serif; font-weight: 800;
    font-size: clamp(52px, 8vw, 110px);
    letter-spacing: -4px; line-height: 0.82;
    text-transform: uppercase;
    transition: color 0.6s ease;
    max-width: 60vw;
  }
  .p3-cover-title em {
    font-style: normal; display: block;
    -webkit-text-stroke-width: 1px;
    color: transparent;
    transition: -webkit-text-stroke-color 0.6s ease;
  }

  /* Bottom bar — metadata + CTA */
  .p3-bottombar {
    position: absolute; z-index: 3;
    bottom: 0; left: 0; right: 0;
    padding: 0 44px 36px;
    display: grid; grid-template-columns: 1fr auto 1fr;
    align-items: flex-end; gap: 20px;
  }
  .p3-caption-block { display: flex; flex-direction: column; gap: 6px; }
  .p3-caption-name {
    font-family: 'Syne', sans-serif; font-weight: 800;
    font-size: 11px; letter-spacing: 2px; text-transform: uppercase;
    transition: color 0.6s ease;
  }
  .p3-caption-meta {
    font-size: 8px; letter-spacing: 2px; text-transform: uppercase;
    line-height: 1.9; transition: color 0.6s ease; opacity: 0.55;
  }

  /* Vertical rule in centre bottom */
  .p3-rule {
    width: 0.5px; height: 60px; margin: 0 auto;
    transition: background 0.6s ease;
  }

  /* Right bottom — price + inquire */
  .p3-cta-block {
    display: flex; flex-direction: column; align-items: flex-end; gap: 12px;
  }
  .p3-price {
    font-size: 11px; letter-spacing: 2px; font-weight: 300;
    transition: color 0.6s ease;
  }
  .p3-inquire {
    font-size: 7px; letter-spacing: 3px; text-transform: uppercase;
    padding: 10px 22px; cursor: none; background: transparent;
    font-family: 'DM Sans', sans-serif; font-weight: 300;
    border-width: 0.5px; border-style: solid;
    transition: color 0.6s ease, border-color 0.6s ease, background 0.2s ease;
  }

  /* Hairline barcode-style accent — top right corner detail */
  .p3-barcode {
    position: absolute; top: 28px; right: 44px; z-index: 3;
    display: flex; gap: 2px; align-items: flex-end;
    opacity: 0.3; pointer-events: none;
  }
  .p3-barcode span {
    display: block; width: 1.5px; background: currentColor;
    transition: color 0.6s ease;
  }

  /* Ticker */
  .p3-ticker { height: 40px; overflow: hidden; display: flex; align-items: center; position: relative; transition: background 0.6s ease; }
  .p3-ticker-el { position: absolute; top: 0; bottom: 0; width: 80px; z-index: 2; pointer-events: none; transition: background 0.6s ease; }
  .p3-ticker-el.l { left: 0; } .p3-ticker-el.r { right: 0; }
  .p3-ticker-inner { display: flex; white-space: nowrap; animation: ticker 32s linear infinite; }
  .p3-ts { font-family: 'Syne', sans-serif; font-weight: 800; font-size: 11px; letter-spacing: 0.12em; text-transform: uppercase; padding: 0 56px; flex-shrink: 0; transition: color 0.6s ease; }
  .p3-ti { font-size: 8px; letter-spacing: 4px; text-transform: uppercase; padding: 0 32px; flex-shrink: 0; transition: color 0.6s ease; }
  .p3-td { font-size: 8px; padding: 0 8px; flex-shrink: 0; transition: color 0.6s ease; }

  /* Works head + carousel — reuse p2 structure with p3 prefix */
  .p3-works-head { display: flex; justify-content: space-between; align-items: center; padding: 32px 44px 24px; border-bottom: 0.5px solid; transition: border-color 0.6s ease; }
  .p3-works-label { font-size: 8px; letter-spacing: 5px; text-transform: uppercase; transition: color 0.6s ease; }
  .p3-works-hr { display: flex; align-items: center; gap: 20px; }
  .p3-works-counter { font-size: 8px; letter-spacing: 3px; text-transform: uppercase; transition: color 0.6s ease; }
  .p3-works-all { font-size: 8px; letter-spacing: 3px; text-transform: uppercase; border-bottom: 0.5px solid; padding-bottom: 2px; text-decoration: none; cursor: none; transition: color 0.6s ease, border-color 0.6s ease; }
  .p3-viewport { position: relative; overflow: hidden; }
  .p3-carr-btn { position: absolute; top: 0; bottom: 0; width: 44px; z-index: 10; background: transparent; border: none; cursor: none; display: flex; align-items: center; justify-content: center; transition: color 0.6s ease, background 0.2s ease; }
  .p3-carr-btn:hover { background: rgba(255,255,255,0.05); }
  .p3-carr-btn svg { width: 10px; height: 10px; }
  .p3-carr-prev { left: 0; border-right: 0.5px solid rgba(255,255,255,0.08); }
  .p3-carr-next { right: 0; border-left: 0.5px solid rgba(255,255,255,0.08); }
  .p3-track { display: flex; will-change: transform; }
  .p3-wi { flex-shrink: 0; overflow: hidden; position: relative; border-right: 0.5px solid; transition: border-color 0.6s ease; cursor: none; }
  .p3-wi:last-child { border-right: none; }
  .p3-wi-img { aspect-ratio: 3/4; overflow: hidden; position: relative; transition: background 0.6s ease; }
  .p3-wi-img img { width: 100%; height: 100%; object-fit: cover; object-position: center top; display: block; transition: transform 8s ease; }
  .p3-wi:hover .p3-wi-img img { transform: scale(1.05); }
  .p3-wi-num { position: absolute; bottom: -12px; right: -4px; font-family: 'DM Sans', sans-serif; font-weight: 200; font-size: 88px; line-height: 1; color: transparent; pointer-events: none; z-index: 2; user-select: none; transition: -webkit-text-stroke 0.6s ease; }
  .p3-wi-bar { padding: 14px 18px; border-top: 0.5px solid; display: flex; justify-content: space-between; align-items: center; gap: 10px; transition: border-color 0.6s ease; }
  .p3-wi-meta { display: flex; flex-direction: column; gap: 3px; min-width: 0; }
  .p3-wi-name { font-size: 9px; letter-spacing: 2px; text-transform: uppercase; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; transition: color 0.6s ease; }
  .p3-wi-dim  { font-size: 8px; letter-spacing: 1px; transition: color 0.6s ease; }
  .p3-wi-price { font-size: 9px; letter-spacing: 1px; font-weight: 300; white-space: nowrap; flex-shrink: 0; transition: color 0.6s ease; }
  .p3-wi-btn { font-size: 8px; letter-spacing: 2px; text-transform: uppercase; padding: 7px 13px; cursor: none; background: transparent; font-family: 'DM Sans', sans-serif; border-width: 0.5px; border-style: solid; white-space: nowrap; flex-shrink: 0; transition: color 0.6s ease, border-color 0.6s ease, background 0.15s ease; }

  @media (max-width: 960px) {
    .p3-center { left: 24px; max-width: 85vw; }
    .p3-cover-title { font-size: clamp(44px, 12vw, 80px); max-width: 90vw; }
    .p3-topbar, .p3-bottombar { padding-left: 24px; padding-right: 24px; }
    .p3-bottombar { grid-template-columns: 1fr; }
    .p3-rule { display: none; }
    .p3-cta-block { align-items: flex-start; }
    .p3-barcode { display: none; }
  }


  /* ── PRIMAL MAGAZINE CAROUSEL ── */
  #primal { border-top: 0.5px solid var(--border); }
  .primal-head { display: flex; justify-content: space-between; align-items: center; padding: 32px 44px 24px; border-bottom: 0.5px solid var(--border); }
  .primal-head-label { font-size: 8px; letter-spacing: 5px; text-transform: uppercase; color: var(--muted); }
  .primal-head-right { display: flex; align-items: center; gap: 20px; }
  .primal-head-ctr { font-size: 8px; letter-spacing: 3px; text-transform: uppercase; color: var(--muted); }
  .primal-head-all { font-size: 8px; letter-spacing: 3px; text-transform: uppercase; color: var(--fg); border-bottom: 0.5px solid var(--fg); padding-bottom: 2px; text-decoration: none; cursor: none; }
  .primal-vp { position: relative; overflow: hidden; }
  .primal-carr-btn { position: absolute; top: 0; bottom: 0; width: 44px; z-index: 10; background: transparent; border: none; cursor: none; display: flex; align-items: center; justify-content: center; color: var(--fg); transition: background 0.2s; }
  .primal-carr-btn:hover { background: rgba(14,14,14,0.04); }
  .primal-carr-btn svg { width: 10px; height: 10px; }
  .primal-prev { left: 0; border-right: 0.5px solid var(--border); }
  .primal-next { right: 0; border-left: 0.5px solid var(--border); }
  .primal-track { display: flex; will-change: transform; }

  .mc { flex-shrink: 0; position: relative; overflow: hidden; cursor: none; border-right: 0.5px solid var(--border); display: flex; flex-direction: column; }
  .mc:last-child { border-right: none; }
  .mc-img-wrap { position: relative; aspect-ratio: 3/4; overflow: hidden; flex-shrink: 0; }
  .mc-img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: center 15%; display: block; transition: transform 6s ease; }
  .mc:hover .mc-img { transform: scale(1.04); }
  .mc-vig { position: absolute; inset: 0; z-index: 1; pointer-events: none; }
  .mc-top { position: absolute; top: 0; left: 0; right: 0; z-index: 3; padding: 12px 14px 9px; display: flex; justify-content: space-between; align-items: flex-start; border-bottom: 0.5px solid rgba(242,240,233,0.14); background: linear-gradient(to bottom, rgba(0,0,0,0.45), transparent); }
  .mc-masthead { font-family: 'Syne', sans-serif; font-weight: 800; font-size: 7px; letter-spacing: 4px; text-transform: uppercase; color: rgba(242,240,233,0.9); }
  .mc-issue { font-size: 5px; letter-spacing: 3px; text-transform: uppercase; color: rgba(242,240,233,0.4); text-align: right; line-height: 1.9; }
  .mc-cover-tag { position: absolute; top: 42px; right: 0; z-index: 3; padding: 6px 10px; border-left-width: 2px; border-left-style: solid; }
  .mc-cover-tag-status { font-size: 5px; letter-spacing: 3px; text-transform: uppercase; line-height: 1.8; }
  .mc-cover-tag-name { font-family: 'Syne', sans-serif; font-weight: 800; font-size: 7px; text-transform: uppercase; letter-spacing: 0.5px; }
  .mc-reg { position: absolute; z-index: 3; width: 10px; height: 10px; pointer-events: none; }
  .mc-reg svg { width: 100%; height: 100%; }
  .mc-reg-tl { top: 38px; left: 8px; } .mc-reg-tr { top: 38px; right: 8px; }
  .mc-bottom { position: absolute; bottom: 0; left: 0; right: 0; z-index: 3; padding: 12px 14px 14px; }
  .mc-title { font-family: 'Syne', sans-serif; font-weight: 800; font-size: clamp(18px, 2.8vw, 32px); letter-spacing: -1.5px; line-height: 0.85; text-transform: uppercase; color: rgba(242,240,233,0.95); margin-bottom: 6px; }
  .mc-title .mc-outline { display: block; color: transparent; -webkit-text-stroke-width: 1px; }
  .mc-dim { font-size: 6px; letter-spacing: 2px; text-transform: uppercase; color: rgba(242,240,233,0.38); margin-bottom: 9px; }
  .mc-bottom-row { display: flex; justify-content: space-between; align-items: center; border-top: 0.5px solid rgba(242,240,233,0.15); padding-top: 9px; }
  .mc-price { font-size: 9px; font-weight: 300; letter-spacing: 1px; }
  .mc-btn { font-size: 6px; letter-spacing: 3px; text-transform: uppercase; padding: 6px 12px; background: transparent; border: 0.5px solid rgba(242,240,233,0.3); color: rgba(242,240,233,0.9); font-family: 'DM Sans', sans-serif; font-weight: 300; cursor: none; transition: all 0.2s; }
  .mc:hover .mc-btn { background: rgba(242,240,233,0.9); color: #0e0e0e; border-color: transparent; }
  .mc-barcode { position: absolute; bottom: 12px; right: 12px; z-index: 3; display: flex; gap: 1px; align-items: flex-end; opacity: 0.22; }
  .mc-barcode span { display: block; width: 1px; }
  .mc-ticker-wrap { height: 34px; overflow: hidden; display: flex; align-items: center; position: relative; flex-shrink: 0; }
  .mc-ticker-fade { position: absolute; top: 0; bottom: 0; width: 36px; z-index: 2; pointer-events: none; }
  .mc-ticker-fade.l { left: 0; } .mc-ticker-fade.r { right: 0; }
  .mc-ticker-inner { display: flex; white-space: nowrap; animation: mc-tick 20s linear infinite; }
  @keyframes mc-tick { from { transform: translateX(0); } to { transform: translateX(-50%); } }
  .mc-ticker-stmt { font-family: 'Syne', sans-serif; font-weight: 800; font-size: 8px; letter-spacing: 0.1em; text-transform: uppercase; padding: 0 28px; flex-shrink: 0; }
  .mc-ticker-sep { font-size: 7px; padding: 0 6px; flex-shrink: 0; opacity: 0.35; }
  .mc:hover .mc-ticker-inner { animation-play-state: paused; }

  /* ── MOBILE NAVIGATION ── */
  .nav-hamburger { display: none; background: transparent; border: none; cursor: none; flex-direction: column; justify-content: center; gap: 5px; align-items: center; width: 28px; height: 28px; padding: 0; flex-shrink: 0; }
  .nav-hamburger span { display: block; width: 18px; height: 0.5px; background: var(--fg); transition: transform 0.25s ease, opacity 0.15s ease; transform-origin: center; }
  body.nav-open .nav-hamburger span:nth-child(1) { transform: translateY(5.5px) rotate(45deg); }
  body.nav-open .nav-hamburger span:nth-child(2) { opacity: 0; }
  body.nav-open .nav-hamburger span:nth-child(3) { transform: translateY(-5.5px) rotate(-45deg); }
  body.nav-open { overflow: hidden; }
  .nav-drawer { display: none; position: fixed; inset: 50px 0 0 0; background: var(--bg); z-index: 190; padding: 0 24px; overflow-y: auto; flex-direction: column; border-top: 0.5px solid var(--border); }
  body.nav-open .nav-drawer { display: flex; }
  .nav-drawer-link { font-size: 8px; letter-spacing: 4px; text-transform: uppercase; color: var(--muted); text-decoration: none; display: block; padding: 22px 0; border-bottom: 0.5px solid var(--border); transition: color 0.2s; }
  .nav-drawer-link:active { color: var(--fg); }
  .nav-drawer-cta { margin-top: 32px; align-self: flex-start; }

  /* ── TOUCH DEVICE CURSOR ── */
  @media (pointer: coarse) {
    .cursor { display: none; }
    body, a, button, input, textarea, select,
    .wi, .mc, .wi-btn, .mc-btn, .btn, .btn-fill, .btn-out,
    .nav-cta, .nav-hamburger, .hero-inquire, .works-all, .stmt-link,
    .detail-back, .carr-btn, .primal-carr-btn, .detail-thumb { cursor: auto; }
  }

  /* ── RESPONSIVE ADDITIONS ── */
  @media (max-width: 960px) {
    .nav-hamburger { display: flex; }
    .nav-cta { display: none; }
    .hero-right::before { display: none; }
    .works-head { padding: 24px 24px 16px; }
    .primal-head { padding: 24px 24px 16px; }
    .studio-img { height: 280px; }
  }
  @media (max-width: 600px) {
    nav { padding: 0 20px; }
    .ghost-initials { font-size: clamp(44px, 14vw, 80px); letter-spacing: -3px; }
    .hero-left { padding: 32px 20px 28px; }
    .hero-btns { flex-wrap: wrap; }
    .works-head { padding: 20px 16px 14px; }
    .primal-head { padding: 20px 16px 14px; }
    .studio-img { height: 56vw; }
    .stmt { padding: 36px 20px; }
    .patron { padding: 24px 20px; }
    footer { padding: 14px 20px; }
  }
