/*
Theme Name: Printasso
Theme URI: https://printasso.com
Author: Getilix LLC
Author URI: https://getilix.com
Description: A high-end dark gallery theme for selling original AI-generated art — open edition prints and instant digital downloads. WooCommerce-ready, with Typeform-style forms and a glassmorphism gallery UI. Curated by Sophie.
Version: 4.0.0
Requires at least: 6.0
Tested up to: 6.6
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: printasso
Tags: e-commerce, portfolio, custom-logo, custom-menu, featured-images, threaded-comments, translation-ready, full-width-template, block-styles
WC requires at least: 7.0
WC tested up to: 9.0

Printasso v3 — the full working stylesheet lives here AND in /assets/css/printasso.css
(both are enqueued). Edit /assets/css/printasso.css for day-to-day changes.
*/
/* ============================================================
   PRINTASSO — v3 design system
   Namespaced under #printasso for WordPress theme safety.
   Figma-level: glassmorphism, ghost numerals, grain, gold bursts,
   8px vertical rhythm, Typeform-style forms.
   ============================================================ */
#printasso *, #printasso *::before, #printasso *::after { box-sizing: border-box; margin: 0; padding: 0; }

#printasso {
  /* palette */
  --pa-black: #000000;
  --pa-ink: #070707;
  --pa-panel: rgba(255,255,255,0.035);
  --pa-panel-2: rgba(255,255,255,0.055);
  --pa-line: rgba(255,255,255,0.08);
  --pa-line-2: rgba(255,255,255,0.14);
  --pa-white: #ffffff;
  --pa-mute: #a2a2a2;
  --pa-mute-2: #6a6a6a;
  --pa-gold: #d4a574;
  --pa-gold-soft: #e6c9a8;
  --pa-gold-deep: #b8895a;
  --pa-input: #1a1a1a;

  /* 8px spacing scale */
  --s1: 8px;  --s2: 16px; --s3: 24px; --s4: 32px; --s5: 40px;
  --s6: 48px; --s8: 64px; --s10: 80px; --s12: 96px; --s16: 128px; --s20: 160px;

  --pa-r: 6px;
  --pa-r-lg: 14px;
  --pa-maxw: 1280px;
  --pa-ease: cubic-bezier(.22,.61,.36,1);
  --pa-shadow: 0 18px 50px -20px rgba(0,0,0,.7);
  --pa-shadow-gold: 0 20px 60px -24px rgba(212,165,116,.35);

  background: var(--pa-black);
  color: var(--pa-white);
  font-family: 'Inter', -apple-system, BlinkMacSystemFont, sans-serif;
  font-weight: 300;
  line-height: 1.65;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
  position: relative;
  overflow-x: hidden;
}

/* film grain overlay across the whole site */
#printasso::before {
  content: '';
  position: fixed;
  inset: 0;
  z-index: 1;
  pointer-events: none;
  opacity: .04;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='120'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
}
#printasso > * { position: relative; z-index: 2; }

#printasso h1,#printasso h2,#printasso h3,#printasso h4,#printasso h5,
#printasso .pa-display,#printasso .pa-eyebrow,#printasso .pa-logo,#printasso .pa-num-ghost {
  font-family: 'Space Grotesk', sans-serif;
}
#printasso a { color: inherit; text-decoration: none; }
#printasso img { max-width: 100%; display: block; }
#printasso button { font-family: inherit; cursor: pointer; border: none; background: none; color: inherit; }
#printasso ul { list-style: none; }

#printasso .pa-wrap { width: 100%; max-width: var(--pa-maxw); margin: 0 auto; padding: 0 clamp(20px,5vw,56px); }

/* generous, doubled section rhythm */
#printasso .pa-section { padding: clamp(96px,14vw,200px) 0; position: relative; }

#printasso .pa-eyebrow {
  font-size: 12px; letter-spacing: .3em; text-transform: uppercase;
  color: var(--pa-gold); font-weight: 500; display: inline-flex; align-items: center; gap: 10px;
}
#printasso .pa-eyebrow::before { content: ''; width: 28px; height: 1px; background: var(--pa-gold); opacity: .6; }

/* section head with oversized ghost numeral */
#printasso .pa-head { position: relative; max-width: 680px; margin-bottom: var(--s10); }
#printasso .pa-num-ghost {
  position: absolute; top: -.5em; right: 0;
  font-size: clamp(90px,16vw,180px); font-weight: 700; line-height: 1;
  color: transparent; -webkit-text-stroke: 1px rgba(255,255,255,.05);
  z-index: -1; pointer-events: none; user-select: none;
}
#printasso .pa-head h2 {
  font-size: clamp(32px,5.4vw,60px); font-weight: 500; line-height: 1.03;
  letter-spacing: -0.025em; margin-top: var(--s3);
}
#printasso .pa-head p { color: var(--pa-mute); font-size: clamp(15px,2vw,18px); margin-top: var(--s3); max-width: 540px; }

/* gradient section dividers (no hard borders) */
#printasso .pa-divider { height: 1px; border: 0; margin: 0;
  background: linear-gradient(90deg, transparent, rgba(212,165,116,.35) 30%, rgba(212,165,116,.35) 70%, transparent); }

/* ---------------- Buttons ---------------- */
#printasso .pa-btn {
  display: inline-flex; align-items: center; justify-content: center; gap: 12px;
  padding: 17px 34px; font-family: 'Space Grotesk',sans-serif; font-size: 14px; font-weight: 500;
  letter-spacing: .02em; border-radius: var(--pa-r); border: 1px solid transparent;
  transition: transform .3s var(--pa-ease), box-shadow .3s var(--pa-ease), background .3s var(--pa-ease), color .3s var(--pa-ease), border-color .3s var(--pa-ease);
  white-space: nowrap;
}
#printasso .pa-btn--gold { background: linear-gradient(180deg,var(--pa-gold-soft),var(--pa-gold)); color: #1a1206; }
#printasso .pa-btn--gold:hover { transform: translateY(-2px); box-shadow: var(--pa-shadow-gold); }
#printasso .pa-btn--ghost { border-color: var(--pa-line-2); color: var(--pa-white); background: rgba(255,255,255,.02); backdrop-filter: blur(6px); }
#printasso .pa-btn--ghost:hover { transform: translateY(-2px); border-color: var(--pa-gold); color: var(--pa-gold); box-shadow: var(--pa-shadow); }
#printasso .pa-btn svg { width: 15px; height: 15px; }

/* glass primitive */
#printasso .pa-glass {
  background: var(--pa-panel);
  border: 1px solid var(--pa-line);
  backdrop-filter: blur(14px) saturate(1.1);
  -webkit-backdrop-filter: blur(14px) saturate(1.1);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.06);
}

/* ============================================================
   NAV
   ============================================================ */
#printasso .pa-nav { position: sticky; top: 0; z-index: 200;
  backdrop-filter: blur(20px); -webkit-backdrop-filter: blur(20px);
  background: rgba(0,0,0,.55); border-bottom: 1px solid var(--pa-line); }
#printasso .pa-nav-inner { display: flex; align-items: center; justify-content: space-between; height: 76px; }
#printasso .pa-logo { display: inline-flex; align-items: center; }
#printasso .pa-logo img { height: 30px; width: auto; transition: transform .5s var(--pa-ease); }
#printasso .pa-logo:hover img { transform: scale(1.04) rotate(-2deg); }
#printasso .pa-nav-links { display: flex; gap: 40px; }
#printasso .pa-nav-links a { font-size: 14px; color: var(--pa-mute); letter-spacing: .02em; position: relative; transition: color .3s var(--pa-ease); }
#printasso .pa-nav-links a::after { content:''; position:absolute; left:0; bottom:-6px; width:0; height:1px; background:var(--pa-gold); transition:width .3s var(--pa-ease); }
#printasso .pa-nav-links a:hover { color: var(--pa-white); }
#printasso .pa-nav-links a:hover::after { width: 100%; }
#printasso .pa-nav-right { display: flex; align-items: center; gap: 22px; }
#printasso .pa-cart { display: flex; align-items: center; gap: 8px; font-size: 14px; color: var(--pa-mute); transition: color .3s var(--pa-ease); }
#printasso .pa-cart:hover { color: var(--pa-gold); }
#printasso .pa-cart svg { width: 20px; height: 20px; }
#printasso .pa-cart-count { background: var(--pa-gold); color:#1a1206; font-size:11px; font-weight:600; min-width:18px; height:18px; border-radius:9px; display:grid; place-items:center; padding:0 5px; font-family:'Space Grotesk',sans-serif; }
#printasso .pa-burger { display: none; width: 26px; height: 16px; position: relative; }
#printasso .pa-burger span { position:absolute; left:0; width:100%; height:1.5px; background:var(--pa-white); transition:.35s var(--pa-ease); }
#printasso .pa-burger span:nth-child(1){ top:0; } #printasso .pa-burger span:nth-child(2){ top:7px; } #printasso .pa-burger span:nth-child(3){ top:14px; }
#printasso .pa-burger.is-open span:nth-child(1){ transform: translateY(7px) rotate(45deg); }
#printasso .pa-burger.is-open span:nth-child(2){ opacity:0; }
#printasso .pa-burger.is-open span:nth-child(3){ transform: translateY(-7px) rotate(-45deg); }

/* mobile drawer */
#printasso .pa-mobile { position: fixed; inset: 76px 0 0; z-index: 150; background: rgba(0,0,0,.97);
  backdrop-filter: blur(20px); transform: translateY(-12px); opacity: 0; pointer-events: none; transition: .35s var(--pa-ease);
  display: flex; flex-direction: column; padding: var(--s6) clamp(24px,7vw,40px); gap: var(--s2); }
#printasso .pa-mobile.is-open { transform: none; opacity: 1; pointer-events: auto; }
#printasso .pa-mobile a { font-family:'Space Grotesk',sans-serif; font-size: 28px; color: var(--pa-white); padding: var(--s2) 0; border-bottom: 1px solid var(--pa-line); }
#printasso .pa-mobile a:hover { color: var(--pa-gold); }

/* ============================================================
   HERO
   ============================================================ */
#printasso .pa-hero { position: relative; padding: clamp(72px,10vw,132px) 0 clamp(88px,11vw,150px); overflow: hidden; }
#printasso .pa-hero-grid { display: grid; grid-template-columns: 1.05fr .95fr; gap: clamp(40px,6vw,84px); align-items: center; }
#printasso .pa-hero h1 { font-size: clamp(44px,8.2vw,92px); font-weight: 500; line-height: .97; letter-spacing: -0.04em; }
#printasso .pa-hero h1 em { font-style: normal; display: block;
  background: linear-gradient(100deg,var(--pa-gold-soft),var(--pa-gold-deep));
  -webkit-background-clip: text; background-clip: text; -webkit-text-fill-color: transparent; }
#printasso .pa-hero-sub { color: var(--pa-mute); font-size: clamp(16px,2.1vw,20px); margin: var(--s4) 0 var(--s5); max-width: 440px; }
#printasso .pa-hero-cta { display: flex; gap: var(--s3); flex-wrap: wrap; } /* roomy button spacing */
#printasso .pa-hero-cta .pa-btn { padding: 18px 38px; }
#printasso .pa-hero-meta { display: flex; gap: clamp(24px,4vw,44px); margin-top: var(--s8); padding-top: var(--s4); position: relative; }
#printasso .pa-hero-meta::before { content:''; position:absolute; top:0; left:0; right:40%; height:1px;
  background: linear-gradient(90deg, rgba(212,165,116,.4), transparent); }
#printasso .pa-hero-meta .n { font-family:'Space Grotesk',sans-serif; font-size: 28px; font-weight:600; }
#printasso .pa-hero-meta .l { font-size:12px; color:var(--pa-mute-2); letter-spacing:.06em; text-transform:uppercase; margin-top:4px; }

/* gold burst + violet glow behind hero art */
#printasso .pa-burst { position:absolute; border-radius:50%; filter: blur(130px); pointer-events:none; z-index:0; }
#printasso .pa-hero-visual { position: relative; aspect-ratio: 4/5; }
#printasso .pa-hero-visual .pa-frame { position:absolute; border-radius: var(--pa-r-lg); overflow:hidden;
  border: 1px solid var(--pa-line-2); box-shadow: 0 40px 90px -30px rgba(0,0,0,.9); }
#printasso .pa-hero-visual .pa-frame:nth-child(1){ inset: 0 24% 22% 0; z-index:3; }
#printasso .pa-hero-visual .pa-frame:nth-child(2){ inset: 32% 0 0 42%; z-index:2; }
#printasso .pa-hero-visual .pa-frame:nth-child(3){ inset: 6% 8% 50% 66%; z-index:1; opacity:.92; }
#printasso .pa-hero-tag { position:absolute; bottom: 7%; left: -3%; z-index:4; padding: 12px 16px; border-radius: var(--pa-r);
  display:flex; align-items:center; gap:10px; }
#printasso .pa-hero-tag .dot { width:7px; height:7px; border-radius:50%; background:var(--pa-gold); box-shadow:0 0 12px var(--pa-gold); }
#printasso .pa-hero-tag span { font-size:12px; color:var(--pa-mute); letter-spacing:.04em; }
#printasso .pa-hero-tag img { width:26px; height:26px; border-radius:50%; object-fit:cover; }

/* ============================================================
   CSS ARTWORK COMPOSITIONS (.pa-art--N) — swap for real images later
   ============================================================ */
#printasso .pa-art { width:100%; height:100%; position:relative; overflow:hidden; background:#0d0d0d; }
#printasso .pa-art::before, #printasso .pa-art::after { content:''; position:absolute; inset:0; }
#printasso .pa-art--1 { background: radial-gradient(circle at 30% 25%,#ff3d81 0,transparent 42%),radial-gradient(circle at 72% 68%,#16d0ff 0,transparent 46%),linear-gradient(135deg,#2a0a3d,#06030f); }
#printasso .pa-art--1::before { background: repeating-linear-gradient(45deg,rgba(255,255,255,.06) 0 2px,transparent 2px 22px); }
#printasso .pa-art--1::after { background: radial-gradient(circle at 50% 90%,rgba(255,209,102,.5),transparent 55%); }
#printasso .pa-art--2 { background: linear-gradient(120deg,#ff5e3a 0,transparent 55%),radial-gradient(circle at 80% 20%,#6c5ce7 0,transparent 50%),linear-gradient(200deg,#101820,#05070a); }
#printasso .pa-art--2::before { background: radial-gradient(circle at 25% 75%,rgba(255,255,255,.14) 0 1px,transparent 2px); background-size:26px 26px; opacity:.5; }
#printasso .pa-art--2::after { background: linear-gradient(90deg,transparent 60%,rgba(0,0,0,.5)); }
#printasso .pa-art--3 { background: conic-gradient(from 210deg at 40% 45%,#e63946,#f4a261,#2a9d8f,#264653,#e63946); filter:saturate(1.05); }
#printasso .pa-art--3::before { background: radial-gradient(ellipse 60% 30% at 60% 30%,rgba(0,0,0,.5),transparent),radial-gradient(ellipse 40% 60% at 25% 70%,rgba(255,255,255,.16),transparent); mix-blend-mode:overlay; }
#printasso .pa-art--3::after { background: radial-gradient(circle at 50% 50%,transparent 40%,rgba(0,0,0,.55)); }
/* 4 — Alex Ward: geometric contemporary "Structure No. 4" */
#printasso .pa-art--4 { background: linear-gradient(135deg,#12131a,#05060a); }
#printasso .pa-art--4::before {
  background:
    linear-gradient(135deg, transparent 46%, #d4a574 46% 54%, transparent 54%),
    linear-gradient(45deg, transparent 62%, #4895ef 62% 68%, transparent 68%),
    conic-gradient(from 0deg at 30% 65%, #e07a5f 0 25%, transparent 0 100%);
  opacity:.9; }
#printasso .pa-art--4::after {
  background:
    repeating-linear-gradient(90deg, rgba(255,255,255,.05) 0 1px, transparent 1px 40px),
    repeating-linear-gradient(0deg, rgba(255,255,255,.05) 0 1px, transparent 1px 40px);
  mix-blend-mode: screen; }
#printasso .pa-art--5 { background: linear-gradient(180deg,#f6bd60 0,#f28482 35%,#84a59d 72%,#1d2b30 100%); }
#printasso .pa-art--5::before { background: radial-gradient(circle at 50% 34%,#fff8e7 0 6%,rgba(255,248,231,.15) 7% 12%,transparent 13%); opacity:.85; }
#printasso .pa-art--5::after { background: radial-gradient(ellipse 70% 24% at 50% 82%,rgba(0,0,0,.45),transparent); }
#printasso .pa-art--6 { background: linear-gradient(160deg,#ece5da,#d9cfc2); }
#printasso .pa-art--6::before { background: radial-gradient(circle at 70% 32%,#c1443a 0 9%,transparent 10%); }
#printasso .pa-art--6::after { background: linear-gradient(0deg,rgba(40,30,25,.14),transparent 30%); }
#printasso .pa-art--7 { background: linear-gradient(115deg,#f4d35e,#ee964b 40%,#4895ef 78%,#144552); }
#printasso .pa-art--7::before { background: repeating-linear-gradient(58deg,rgba(255,255,255,.14) 0 3px,transparent 3px 9px),repeating-linear-gradient(-58deg,rgba(0,0,0,.14) 0 3px,transparent 3px 11px); }
#printasso .pa-art--8 { background: linear-gradient(180deg,#cfd8dc 0,#9fb0b5 38%,#6b7d82 60%,#33474d 100%); }
#printasso .pa-art--8::before { background: linear-gradient(180deg,transparent 52%,rgba(255,255,255,.5) 58%,transparent 66%); }
#printasso .pa-art--8::after { background: radial-gradient(ellipse 90% 40% at 50% 42%,rgba(255,255,255,.35),transparent); }
#printasso .pa-art--9 { background: radial-gradient(ellipse 46% 66% at 50% 44%,#e0a87e 0 40%,#7a4a3a 62%,#241512 100%); }
#printasso .pa-art--9::before { background: linear-gradient(105deg,rgba(255,255,255,.22),transparent 45%); }
#printasso .pa-art--9::after { background: radial-gradient(circle at 50% 46%,transparent 46%,rgba(0,0,0,.5)); }
#printasso .pa-art--10 { background: linear-gradient(160deg,#3a2c3f,#6d4c5a 45%,#c98a7a 100%); }
#printasso .pa-art--10::before { background: radial-gradient(circle at 38% 40%,rgba(244,211,94,.55) 0 8%,transparent 9%),radial-gradient(circle at 64% 58%,rgba(255,255,255,.18) 0 14%,transparent 15%); }
#printasso .pa-art--11 { background: linear-gradient(135deg,#1f2833,#0b0f14); }
#printasso .pa-art--11::before { background: repeating-linear-gradient(45deg,#d90429 0 6px,transparent 6px 40px); opacity:.7; }
#printasso .pa-art--11::after { background: radial-gradient(circle at 60% 40%,rgba(237,242,244,.2) 0 20%,transparent 21%),repeating-linear-gradient(0deg,rgba(0,0,0,.3) 0 2px,transparent 2px 8px); }
#printasso .pa-art--12 { background: linear-gradient(160deg,#0d0221,#190840); }
#printasso .pa-art--12::before { background: repeating-linear-gradient(0deg,#ff2a6d 0 3px,transparent 3px 9px,#05d9e8 9px 12px,transparent 12px 20px); opacity:.55; mix-blend-mode:screen; }
#printasso .pa-art--12::after { background: repeating-linear-gradient(90deg,transparent 0 30px,rgba(255,255,255,.08) 30px 31px); }

/* ============================================================
   HOW IT WORKS
   ============================================================ */
#printasso .pa-steps { display: grid; grid-template-columns: repeat(3,1fr); gap: clamp(20px,3vw,32px); }
#printasso .pa-step { border-radius: var(--pa-r-lg); padding: clamp(30px,3.6vw,44px);
  transition: transform .3s var(--pa-ease), box-shadow .3s var(--pa-ease), border-color .3s var(--pa-ease); }
#printasso .pa-step:hover { transform: translateY(-2px); box-shadow: var(--pa-shadow); border-color: var(--pa-line-2); }
#printasso .pa-step .num { font-family:'Space Grotesk',sans-serif; font-size:13px; color:var(--pa-gold); letter-spacing:.12em; margin-bottom:var(--s3); }
#printasso .pa-step .ic { width:46px; height:46px; margin-bottom:var(--s3); color:var(--pa-gold); }
#printasso .pa-step .ic svg { width:100%; height:100%; stroke-width:1.2; }
#printasso .pa-step h3 { font-size:22px; font-weight:500; margin-bottom:var(--s1); letter-spacing:-0.01em; }
#printasso .pa-step p { color:var(--pa-mute); font-size:15px; }

/* ============================================================
   COLLECTION GRID + tabs
   ============================================================ */
#printasso .pa-tabs { display:inline-flex; gap:4px; padding:5px; border-radius:999px; margin-bottom:var(--s6); }
#printasso .pa-tab { padding:11px 26px; border-radius:999px; font-family:'Space Grotesk',sans-serif; font-size:14px; color:var(--pa-mute); transition:.3s var(--pa-ease); }
#printasso .pa-tab.is-active { background: linear-gradient(180deg,var(--pa-gold-soft),var(--pa-gold)); color:#1a1206; }
#printasso .pa-tab:not(.is-active):hover { color:var(--pa-white); }

#printasso .pa-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:clamp(20px,2.6vw,32px); }
#printasso .pa-card { display:none; }
#printasso .pa-card.is-shown { display:block; animation: paFade .5s var(--pa-ease); }
@keyframes paFade { from{ opacity:0; transform:translateY(14px);} to{ opacity:1; transform:none; } }
#printasso .pa-card-art { position:relative; aspect-ratio: 4/5; border-radius: var(--pa-r-lg); overflow:hidden;
  border:1px solid var(--pa-line); transition: transform .3s var(--pa-ease), box-shadow .3s var(--pa-ease), border-color .3s var(--pa-ease); }
#printasso .pa-card:hover .pa-card-art { transform: translateY(-2px); box-shadow: var(--pa-shadow); border-color: var(--pa-line-2); }
#printasso .pa-card-art .pa-art { transition: transform .8s var(--pa-ease); }
#printasso .pa-card:hover .pa-card-art .pa-art { transform: scale(1.06); }
#printasso .pa-card-over { position:absolute; inset:0; background: linear-gradient(0deg,rgba(0,0,0,.85),transparent 55%);
  display:flex; align-items:flex-end; justify-content:center; padding-bottom:var(--s3); opacity:0; transition:opacity .35s var(--pa-ease); }
#printasso .pa-card:hover .pa-card-over { opacity:1; }
#printasso .pa-shopnow { background:var(--pa-white); color:#000; padding:13px 28px; border-radius:var(--pa-r);
  font-family:'Space Grotesk',sans-serif; font-size:13px; font-weight:600; letter-spacing:.03em; transform:translateY(10px); transition:transform .35s var(--pa-ease); }
#printasso .pa-card:hover .pa-shopnow { transform:none; }
#printasso .pa-badge { position:absolute; top:14px; left:14px; z-index:2; font-size:11px; letter-spacing:.06em; text-transform:uppercase;
  padding:6px 12px; border-radius:999px; color:var(--pa-gold-soft); font-family:'Space Grotesk',sans-serif; }
#printasso .pa-card-body { display:flex; justify-content:space-between; align-items:flex-start; padding:var(--s3) 2px 0; gap:14px; }
#printasso .pa-card-body h3 { font-size:18px; font-weight:500; letter-spacing:-0.01em; }
#printasso .pa-card-body .artist { font-size:13px; color:var(--pa-mute); margin-top:3px; }
#printasso .pa-card-price { font-family:'Space Grotesk',sans-serif; font-size:16px; color:var(--pa-gold); font-weight:500; white-space:nowrap; text-align:right; }
#printasso .pa-card-price small { display:block; font-size:11px; color:var(--pa-mute-2); font-weight:400; }

/* ============================================================
   ARTISTS
   ============================================================ */
#printasso .pa-artists-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:clamp(16px,2vw,26px); }
#printasso .pa-artist { border-radius: var(--pa-r-lg); overflow:hidden;
  transition: transform .3s var(--pa-ease), box-shadow .3s var(--pa-ease), border-color .3s var(--pa-ease); }
#printasso .pa-artist:hover { transform: translateY(-2px); box-shadow: var(--pa-shadow); border-color: var(--pa-line-2); }
#printasso .pa-artist-photo { aspect-ratio: 3/4; position:relative; overflow:hidden; }
#printasso .pa-artist-photo img { width:100%; height:100%; object-fit:cover; transition: transform .8s var(--pa-ease); }
#printasso .pa-artist:hover .pa-artist-photo img { transform: scale(1.05); }
#printasso .pa-artist-photo .pa-face { width:100%; height:100%; }
#printasso .pa-artist-photo::after { content:''; position:absolute; inset:0; background: linear-gradient(0deg,rgba(7,7,7,.96) 4%,transparent 46%); }
#printasso .pa-artist-flag { position:absolute; top:12px; right:12px; z-index:2; font-size:11px; letter-spacing:.05em; color:var(--pa-mute);
  background:rgba(0,0,0,.45); backdrop-filter:blur(6px); padding:5px 10px; border-radius:999px; border:1px solid var(--pa-line); }
#printasso .pa-artist-body { padding: 0 var(--s3) var(--s3); margin-top:-52px; position:relative; z-index:3; }
#printasso .pa-artist-body h3 { font-size:19px; font-weight:500; letter-spacing:-0.01em; }
#printasso .pa-artist-style { font-size:12px; color:var(--pa-gold); letter-spacing:.05em; margin:6px 0 10px; text-transform:uppercase; }
#printasso .pa-artist-tag { font-size:13.5px; color:var(--pa-mute); line-height:1.55; }

/* gradient placeholder "faces" for artists without a photo yet */
#printasso .pa-face { position:relative; overflow:hidden; }
#printasso .pa-face::before { content:''; position:absolute; left:50%; top:36%; transform:translate(-50%,-50%);
  width:44%; height:50%; border-radius:50% 50% 48% 48%; background:rgba(255,255,255,.13); filter:blur(2px); }
#printasso .pa-face--f1 { background: radial-gradient(circle at 50% 32%,#ff5e8a,#3a1030 72%); }
#printasso .pa-face--f2 { background: radial-gradient(circle at 50% 32%,#ff8c42,#24160b 72%); }
#printasso .pa-face--f3 { background: radial-gradient(circle at 50% 32%,#e0866a,#2b1512 72%); }
#printasso .pa-face--f4 { background: radial-gradient(circle at 50% 32%,#7d8ea8,#12161f 72%); }
#printasso .pa-face--f5 { background: radial-gradient(circle at 50% 32%,#d4a5c9,#2a1a2e 72%); }
#printasso .pa-face--f6 { background: radial-gradient(circle at 50% 32%,#f2cc8f,#2e2415 72%); }
#printasso .pa-face--f10 { background: radial-gradient(circle at 50% 32%,#d99a8f,#2a1618 72%); }
#printasso .pa-face--f7 { background: radial-gradient(circle at 50% 32%,#e6b89c,#2b1d14 72%); }
#printasso .pa-face--f8 { background: radial-gradient(circle at 50% 32%,#a8c5c2,#1a2624 72%); }
#printasso .pa-face--f9 { background: radial-gradient(circle at 50% 32%,#c98a6b,#241410 72%); }
#printasso .pa-face--f11 { background: radial-gradient(circle at 50% 32%,#b6926f,#1f1610 72%); }
#printasso .pa-face--f12 { background: radial-gradient(circle at 50% 32%,#b98ce0,#1a0e2b 72%); }

/* ============================================================
   SOPHIE
   ============================================================ */
#printasso .pa-sophie { position: relative; overflow: hidden; }
#printasso .pa-sophie-grid { display:grid; grid-template-columns:.82fr 1.18fr; gap:clamp(40px,6vw,80px); align-items:center; }
#printasso .pa-sophie-photo { aspect-ratio: 4/5; border-radius: var(--pa-r-lg); overflow:hidden; border:1px solid var(--pa-line-2); position:relative; box-shadow: var(--pa-shadow); }
#printasso .pa-sophie-photo img { width:100%; height:100%; object-fit:cover; }
#printasso .pa-sophie-cap { position:absolute; bottom:16px; left:16px; z-index:3; padding:9px 15px; border-radius:var(--pa-r);
  font-size:12px; color:var(--pa-white); letter-spacing:.04em; }
#printasso .pa-sophie-text h2 { font-size:clamp(32px,4.8vw,54px); font-weight:500; line-height:1.03; letter-spacing:-0.025em; margin:var(--s2) 0 var(--s3); }
#printasso .pa-sophie-text .role { color:var(--pa-gold); font-size:15px; letter-spacing:.05em; }
#printasso .pa-sophie-text p { color:var(--pa-mute); font-size:clamp(16px,2vw,19px); line-height:1.7; max-width:560px; margin-bottom:var(--s2); }
#printasso .pa-sophie-text p .hl { color:var(--pa-white); }
#printasso .pa-sig { font-family:'Space Grotesk',sans-serif; font-size:26px; color:var(--pa-gold-soft); margin-top:var(--s4); font-style:italic; }

/* ============================================================
   DIGITAL
   ============================================================ */
#printasso .pa-filter { display:flex; flex-wrap:wrap; gap:10px; margin-bottom:var(--s6); }
#printasso .pa-chip { padding:9px 20px; border-radius:999px; font-size:13px; color:var(--pa-mute); font-family:'Space Grotesk',sans-serif; transition:.3s var(--pa-ease); }
#printasso .pa-chip.is-active,#printasso .pa-chip:hover { border-color:var(--pa-gold); color:var(--pa-gold); }
#printasso .pa-digital-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:clamp(18px,2.2vw,26px); }
#printasso .pa-dcard { border-radius:var(--pa-r-lg); overflow:hidden; transition: transform .3s var(--pa-ease), box-shadow .3s var(--pa-ease), border-color .3s var(--pa-ease); }
#printasso .pa-dcard:hover { transform:translateY(-2px); box-shadow:var(--pa-shadow); border-color:var(--pa-line-2); }
#printasso .pa-dcard-art { aspect-ratio:3/4; position:relative; overflow:hidden; }
#printasso .pa-dcard-art .pa-art { transition:transform .8s var(--pa-ease); }
#printasso .pa-dcard:hover .pa-dcard-art .pa-art { transform:scale(1.07); }
#printasso .pa-dl { position:absolute; top:12px; right:12px; z-index:2; width:32px; height:32px; border-radius:50%;
  background:rgba(0,0,0,.5); backdrop-filter:blur(6px); border:1px solid var(--pa-line-2); display:grid; place-items:center; color:var(--pa-gold-soft); }
#printasso .pa-dl svg { width:15px; height:15px; }
#printasso .pa-dcard-body { padding:var(--s2) var(--s2) var(--s3); }
#printasso .pa-dcard-body h4 { font-size:15px; font-weight:500; }
#printasso .pa-dcard-body .m { display:flex; justify-content:space-between; align-items:center; margin-top:8px; }
#printasso .pa-dcard-body .a { font-size:12px; color:var(--pa-mute); }
#printasso .pa-dcard-body .p { font-family:'Space Grotesk',sans-serif; color:var(--pa-gold); font-size:15px; }

/* ============================================================
   TYPEFORM-STYLE FORMS
   ============================================================ */
#printasso .pa-form { max-width: 520px; }
#printasso .pa-form--center { margin: 0 auto; text-align: left; }
#printasso .pa-field { position: relative; margin-bottom: var(--s5); }
#printasso .pa-field input, #printasso .pa-field textarea, #printasso .pa-field select {
  width:100%; height:60px; background: var(--pa-input); border:1px solid transparent; border-bottom:1px solid var(--pa-line-2);
  border-radius: var(--pa-r); padding: 22px 20px 8px; color:var(--pa-white); font-family:inherit; font-size:17px;
  transition: border-color .3s var(--pa-ease), box-shadow .3s var(--pa-ease), background .3s var(--pa-ease); }
#printasso .pa-field textarea { height: 140px; padding-top: 26px; resize: vertical; line-height:1.5; }
#printasso .pa-field input::placeholder, #printasso .pa-field textarea::placeholder { color: transparent; }
#printasso .pa-field label { position:absolute; left:20px; top:19px; color:var(--pa-mute-2); font-size:17px; pointer-events:none;
  transition: all .25s var(--pa-ease); }
/* float label up on focus or when filled */
#printasso .pa-field input:focus + label,
#printasso .pa-field input:not(:placeholder-shown) + label,
#printasso .pa-field textarea:focus + label,
#printasso .pa-field textarea:not(:placeholder-shown) + label { top:9px; font-size:11px; letter-spacing:.06em; text-transform:uppercase; color:var(--pa-gold); }
#printasso .pa-field input:focus, #printasso .pa-field textarea:focus, #printasso .pa-field select:focus {
  outline:none; background:#1f1f1f; border-bottom-color:var(--pa-gold); box-shadow: 0 0 0 3px rgba(212,165,116,.18); }
#printasso .pa-form .pa-btn { width:100%; margin-top: var(--s1); }
#printasso .pa-hint { font-size:13px; color:var(--pa-mute-2); margin-top:var(--s3); display:flex; align-items:center; gap:8px; justify-content:center; }
#printasso .pa-hint kbd { font-family:'Space Grotesk',sans-serif; font-size:11px; background:var(--pa-input); border:1px solid var(--pa-line-2);
  border-radius:4px; padding:3px 8px; color:var(--pa-gold-soft); }

/* progress dots (multi-step) */
#printasso .pa-dots { display:flex; gap:10px; justify-content:center; margin-bottom:var(--s5); }
#printasso .pa-dots span { width:9px; height:9px; border-radius:50%; background:var(--pa-line-2); transition:.3s var(--pa-ease); }
#printasso .pa-dots span.is-active { background:var(--pa-gold); box-shadow:0 0 10px var(--pa-gold); transform:scale(1.15); }
#printasso .pa-dots span.is-done { background:var(--pa-gold-deep); }

/* success state */
#printasso .pa-success { display:none; flex-direction:column; align-items:center; text-align:center; padding: var(--s6) 0; animation: paFade .5s var(--pa-ease); }
#printasso .pa-success.is-shown { display:flex; }
#printasso .pa-check { width:66px; height:66px; border-radius:50%; border:2px solid var(--pa-gold); display:grid; place-items:center; margin-bottom:var(--s3); }
#printasso .pa-check svg { width:32px; height:32px; stroke:var(--pa-gold); stroke-width:2.5; fill:none;
  stroke-dasharray:48; stroke-dashoffset:48; animation: paCheck .6s var(--pa-ease) .15s forwards; }
@keyframes paCheck { to { stroke-dashoffset:0; } }
#printasso .pa-success h3 { font-family:'Space Grotesk',sans-serif; font-size:26px; font-weight:500; margin-bottom:var(--s1); }
#printasso .pa-success p { color:var(--pa-mute); }

/* newsletter (Typeform vertical, generous) */
#printasso .pa-news { position: relative; overflow: hidden; }
#printasso .pa-news-inner { max-width: 560px; margin:0 auto; text-align:center; }
#printasso .pa-news h2 { font-size:clamp(32px,5.2vw,56px); font-weight:500; letter-spacing:-0.025em; line-height:1.03; }
#printasso .pa-news p { color:var(--pa-mute); font-size:clamp(15px,2vw,18px); margin:var(--s3) auto var(--s6); max-width:440px; }
#printasso .pa-news .pa-form { margin: 0 auto; text-align:left; }

/* ============================================================
   FEATURE / SIZE SELECTOR (single artwork)
   ============================================================ */
#printasso .pa-sizes { display:flex; flex-wrap:wrap; gap:12px; margin:var(--s3) 0; }
#printasso .pa-size { padding:14px 22px; border-radius:var(--pa-r); font-family:'Space Grotesk',sans-serif; font-size:14px;
  color:var(--pa-mute); transition:.3s var(--pa-ease); cursor:pointer; }
#printasso .pa-size.is-active,#printasso .pa-size:hover { border-color:var(--pa-gold); color:var(--pa-white); background:rgba(212,165,116,.06); }
#printasso .pa-size small { display:block; font-size:12px; color:var(--pa-gold); margin-top:2px; }

/* single artwork / artist page scaffolding */
#printasso .pa-single { display:grid; grid-template-columns: 1fr 1fr; gap:clamp(32px,5vw,72px); align-items:start; }
#printasso .pa-single-media { border-radius:var(--pa-r-lg); overflow:hidden; border:1px solid var(--pa-line-2); aspect-ratio:4/5; box-shadow:var(--pa-shadow); }
#printasso .pa-single-media img,#printasso .pa-single-media .pa-art { width:100%; height:100%; object-fit:cover; }
#printasso .pa-single h1 { font-size:clamp(30px,4.4vw,48px); font-weight:500; letter-spacing:-0.02em; line-height:1.05; }
#printasso .pa-single .by { color:var(--pa-mute); margin:var(--s2) 0; }
#printasso .pa-single .by a { color:var(--pa-gold); }
#printasso .pa-single .price { font-family:'Space Grotesk',sans-serif; font-size:30px; color:var(--pa-white); margin:var(--s3) 0; }
#printasso .pa-meta-list { margin-top:var(--s4); border-top:1px solid var(--pa-line); }
#printasso .pa-meta-list div { display:flex; justify-content:space-between; padding:14px 0; border-bottom:1px solid var(--pa-line); font-size:14px; }
#printasso .pa-meta-list .k { color:var(--pa-mute-2); }

/* generic content (about, journal, single post) */
#printasso .pa-prose { max-width: 760px; }
#printasso .pa-prose p { color:var(--pa-mute); font-size:18px; margin-bottom:var(--s3); }
#printasso .pa-prose h2 { font-size:clamp(26px,3.4vw,38px); font-weight:500; margin:var(--s6) 0 var(--s3); letter-spacing:-0.02em; }
#printasso .pa-prose h3 { font-size:22px; font-weight:500; margin:var(--s4) 0 var(--s2); }
#printasso .pa-prose a { color:var(--pa-gold); border-bottom:1px solid rgba(212,165,116,.35); }

/* journal grid */
#printasso .pa-journal { display:grid; grid-template-columns:repeat(3,1fr); gap:clamp(20px,2.6vw,32px); }
#printasso .pa-post { border-radius:var(--pa-r-lg); overflow:hidden; transition: transform .3s var(--pa-ease), box-shadow .3s var(--pa-ease), border-color .3s var(--pa-ease); }
#printasso .pa-post:hover { transform:translateY(-2px); box-shadow:var(--pa-shadow); border-color:var(--pa-line-2); }
#printasso .pa-post-art { aspect-ratio:16/10; overflow:hidden; }
#printasso .pa-post-art .pa-art { transition:transform .8s var(--pa-ease); }
#printasso .pa-post:hover .pa-post-art .pa-art { transform:scale(1.05); }
#printasso .pa-post-body { padding:var(--s3); }
#printasso .pa-post-body .cat { font-size:11px; letter-spacing:.1em; text-transform:uppercase; color:var(--pa-gold); }
#printasso .pa-post-body h3 { font-size:20px; font-weight:500; margin:var(--s1) 0; letter-spacing:-0.01em; }
#printasso .pa-post-body p { color:var(--pa-mute); font-size:14px; }

/* ============================================================
   FOOTER
   ============================================================ */
#printasso .pa-footer { padding: clamp(72px,8vw,110px) 0 44px; background:#050505; position:relative; }
#printasso .pa-footer-top { display:grid; grid-template-columns:1.5fr 1fr 1fr 1fr; gap:44px; padding-bottom:var(--s8); }
#printasso .pa-footer-brand img { height:38px; width:auto; margin-bottom:var(--s3); }
#printasso .pa-footer-brand p { color:var(--pa-mute); font-size:14px; max-width:300px; }
#printasso .pa-footer-curator { display:flex; align-items:center; gap:12px; margin-top:var(--s4); }
#printasso .pa-footer-curator img { width:44px; height:44px; border-radius:50%; object-fit:cover; border:1px solid var(--pa-line-2); }
#printasso .pa-footer-curator .r { font-size:11px; color:var(--pa-mute-2); letter-spacing:.08em; text-transform:uppercase; }
#printasso .pa-footer-curator .n { font-size:14px; color:var(--pa-gold); font-family:'Space Grotesk',sans-serif; }
#printasso .pa-footer-col h5 { font-family:'Space Grotesk',sans-serif; font-size:12px; letter-spacing:.16em; text-transform:uppercase; color:var(--pa-mute-2); margin-bottom:var(--s3); font-weight:500; }
#printasso .pa-footer-col ul { display:flex; flex-direction:column; gap:12px; }
#printasso .pa-footer-col a { font-size:14px; color:var(--pa-mute); transition:color .3s var(--pa-ease); }
#printasso .pa-footer-col a:hover { color:var(--pa-gold); }
#printasso .pa-footer-bottom { display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:14px; padding-top:var(--s5); }
#printasso .pa-footer-bottom p { font-size:13px; color:var(--pa-mute-2); }
#printasso .pa-footer-bottom .disc { max-width:560px; }

/* ============================================================
   RESPONSIVE
   ============================================================ */
@media (max-width:1024px){
  #printasso .pa-artists-grid{ grid-template-columns:repeat(3,1fr); }
  #printasso .pa-digital-grid{ grid-template-columns:repeat(3,1fr); }
  #printasso .pa-journal{ grid-template-columns:repeat(2,1fr); }
}
@media (max-width:858px){
  #printasso .pa-nav-links{ display:none; }
  #printasso .pa-burger{ display:block; }
  #printasso .pa-hero-grid{ grid-template-columns:1fr; gap:56px; }
  #printasso .pa-hero-visual{ max-width:440px; margin:0 auto; width:100%; }
  #printasso .pa-steps{ grid-template-columns:1fr; }
  #printasso .pa-grid{ grid-template-columns:repeat(2,1fr); }
  #printasso .pa-artists-grid{ grid-template-columns:repeat(2,1fr); }
  #printasso .pa-digital-grid{ grid-template-columns:repeat(2,1fr); }
  #printasso .pa-journal{ grid-template-columns:1fr; }
  #printasso .pa-sophie-grid{ grid-template-columns:1fr; gap:40px; }
  #printasso .pa-sophie-photo{ max-width:400px; }
  #printasso .pa-single{ grid-template-columns:1fr; gap:32px; }
  #printasso .pa-footer-top{ grid-template-columns:1fr 1fr; gap:32px; }
  #printasso .pa-footer-brand{ grid-column:1/-1; }
  #printasso .pa-num-ghost{ font-size:clamp(70px,20vw,120px); }
}
@media (max-width:480px){
  #printasso .pa-hero-meta{ gap:20px; }
  #printasso .pa-grid{ grid-template-columns:1fr; }
  #printasso .pa-artists-grid{ grid-template-columns:1fr 1fr; gap:12px; }
  #printasso .pa-digital-grid{ grid-template-columns:1fr 1fr; }
  #printasso .pa-footer-top{ grid-template-columns:1fr; }
  #printasso .pa-hero-cta{ width:100%; }
  #printasso .pa-hero-cta .pa-btn{ flex:1; }
}
@media (max-width:375px){
  #printasso .pa-artists-grid,#printasso .pa-digital-grid{ grid-template-columns:1fr; }
}
