:root { --paper:#faf7f2; --ink:#2b2421; --muted:#796f69; --clay:#c96f4a; --line:#ded4ca; --ai:#8254e8; --serif:Georgia,"Times New Roman",serif; --sans:Inter,Arial,sans-serif; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; background:var(--paper); color:var(--ink); font-family:var(--sans); }
img { max-width:100%; }
a { color:inherit; }
.artist-header { display:grid; grid-template-columns:1fr auto 1fr; min-height:82px; align-items:center; padding:0 clamp(22px,5vw,76px); border-bottom:1px solid var(--line); background:rgba(250,247,242,.94); }
.artist-header .back { justify-self:start; color:var(--muted); font-size:12px; text-decoration:none; }
.artist-header img { width:112px; display:block; }
.artist-header .create { justify-self:end; padding:12px 18px; background:var(--ink); color:#fff; font-size:12px; font-weight:700; text-decoration:none; }
.eyebrow { display:block; color:var(--clay); font-size:11px; font-weight:800; letter-spacing:.18em; text-transform:uppercase; }
.directory-hero { display:grid; min-height:500px; grid-template-columns:minmax(0,1.1fr) minmax(320px,.9fr); align-items:end; gap:8vw; padding:clamp(76px,10vw,150px) clamp(24px,6vw,96px) 80px; overflow:hidden; }
.directory-hero h1,.profile-copy h1 { margin:16px 0 24px; font:600 clamp(58px,7vw,106px)/.88 var(--serif); letter-spacing:-.055em; }
.directory-hero h1 em,.profile-copy h1 em { color:var(--clay); font-weight:500; }
.directory-hero p { max-width:580px; margin:0; color:var(--muted); font-size:17px; line-height:1.7; }
.directory-note { position:relative; align-self:center; max-width:390px; padding:40px 44px; background:#fff; box-shadow:16px 18px 0 #efe4d8; transform:rotate(2deg); }
.directory-note::before { position:absolute; top:-9px; left:42%; width:80px; height:20px; background:rgba(201,111,74,.24); content:""; transform:rotate(-5deg); }
.directory-note strong { display:block; margin-bottom:12px; font:600 25px var(--serif); }
.directory-note span { color:var(--muted); font-size:13px; line-height:1.6; }
.directory { padding:20px clamp(24px,6vw,96px) clamp(90px,10vw,150px); }
.filter-row { display:flex; align-items:center; gap:10px; margin-bottom:46px; }
.filter-row span { margin-right:12px; color:var(--muted); font-size:11px; font-weight:700; letter-spacing:.12em; text-transform:uppercase; }
.filter-row button { padding:9px 15px; border:1px solid var(--line); border-radius:999px; background:transparent; color:var(--muted); }
.filter-row button.active { border-color:var(--ink); background:var(--ink); color:#fff; }
.artist-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); align-items:start; gap:clamp(24px,4vw,68px); }
.directory-card { position:relative; min-height:430px; padding:38px 28px 64px; background:#fff; box-shadow:0 18px 44px rgba(43,36,33,.09); text-align:center; }
.directory-card:nth-child(1) { border-radius:47% 53% 42% 58% / 39% 46% 54% 61%; transform:rotate(-1deg); }
.directory-card:nth-child(2) { margin-top:55px; border-radius:38% 62% 54% 46% / 55% 42% 58% 45%; transform:rotate(1.4deg); }
.directory-card:nth-child(3) { border-radius:58% 42% 45% 55% / 44% 58% 42% 56%; transform:rotate(1deg); }
.directory-card > img { width:190px; height:190px; border-radius:50%; object-fit:cover; }
.directory-card h2 { margin:22px 0 5px; font:600 30px var(--serif); }
.directory-card p { margin:0; color:var(--muted); font-size:12px; }
.directory-card a { display:inline-flex; margin-top:26px; padding-bottom:5px; border-bottom:1px solid var(--ink); font-size:12px; font-weight:800; text-decoration:none; }
.directory-card .pending { display:block; margin-top:26px; color:#a29790; font-size:10px; font-weight:700; letter-spacing:.11em; text-transform:uppercase; }
.directory-card .product-slip { position:absolute; right:-18px; bottom:-18px; display:flex; width:190px; align-items:center; gap:10px; padding:10px; background:#fff; box-shadow:0 14px 30px rgba(43,36,33,.15); text-align:left; transform:rotate(2deg); }
.product-slip img { width:58px; height:58px; object-fit:cover; }
.product-slip strong { font:600 14px/1.15 var(--serif); }
.profile-hero { display:grid; min-height:calc(100vh - 82px); grid-template-columns:minmax(360px,.88fr) minmax(480px,1.12fr); align-items:center; gap:6vw; padding:clamp(48px,7vw,100px) clamp(24px,6vw,96px); }
.profile-copy h1 { font-size:clamp(64px,7.5vw,116px); }
.profile-copy > p { max-width:570px; color:var(--muted); font-size:17px; line-height:1.75; }
.studio-facts { display:flex; flex-wrap:wrap; gap:18px 28px; margin:30px 0 0; padding:22px 0 0; border-top:1px solid var(--line); }
.studio-facts span { color:var(--muted); font-size:11px; text-transform:uppercase; letter-spacing:.11em; }
.studio-actions { display:flex; align-items:center; gap:20px; margin-top:34px; }
.primary-action { display:inline-flex; align-items:center; gap:22px; min-height:54px; padding:0 22px; background:var(--ink); color:#fff; font-size:13px; font-weight:800; text-decoration:none; box-shadow:8px 8px 0 rgba(201,111,74,.27); }
.primary-action[aria-disabled="true"],.artist-header .create[aria-disabled="true"] { opacity:.48; pointer-events:none; }
.share-action { border:0; border-bottom:1px solid var(--ink); padding:8px 0; background:transparent; color:var(--ink); cursor:pointer; font-weight:700; }
.studio-art { position:relative; min-height:650px; }
.studio-art::before { position:absolute; inset:7% 2% 3% 8%; border-radius:52% 48% 39% 61% / 43% 57% 43% 57%; background:#eee3d7; content:""; }
.studio-art .hero-product { position:absolute; inset:4% 9% 7% 15%; width:72%; height:84%; object-fit:cover; box-shadow:0 30px 70px rgba(43,36,33,.2); transform:rotate(2deg); }
.studio-art .monogram { position:absolute; right:2%; top:3%; display:grid; width:112px; height:112px; place-items:center; border-radius:50%; background:var(--ai); color:#fff; font:italic 56px var(--serif); box-shadow:0 15px 36px rgba(130,84,232,.24); }
.studio-art figcaption { position:absolute; left:4%; bottom:1%; max-width:240px; padding:16px 20px; background:#fff; font:600 18px var(--serif); box-shadow:0 12px 25px rgba(43,36,33,.12); transform:rotate(-2deg); }
.profile-section { padding:clamp(80px,10vw,145px) clamp(24px,6vw,96px); }
.process-section { display:grid; grid-template-columns:.8fr 1.2fr; gap:8vw; background:#302824; color:#fff; }
.section-title h2 { margin:14px 0 0; font:600 clamp(48px,5vw,76px)/.94 var(--serif); letter-spacing:-.04em; }
.process-list { margin:0; padding:0; list-style:none; counter-reset:steps; }
.process-list li { display:grid; grid-template-columns:54px 1fr; gap:20px; padding:24px 0; border-bottom:1px solid rgba(255,255,255,.16); counter-increment:steps; }
.process-list li::before { color:#de8e6c; content:"0" counter(steps); font-size:11px; font-weight:800; letter-spacing:.12em; }
.process-list h3 { margin:0 0 7px; font:500 26px var(--serif); }
.process-list p { margin:0; color:#bfb3ac; font-size:13px; line-height:1.6; }
.collaboration-section { display:grid; grid-template-columns:minmax(320px,.85fr) minmax(430px,1.15fr); align-items:center; gap:8vw; }
.collaboration-visual { position:relative; padding:9% 12% 12% 9%; }
.collaboration-visual::after { position:absolute; right:4%; bottom:3%; width:65%; height:60%; border:1px solid var(--clay); content:""; z-index:-1; }
.collaboration-visual img { display:block; width:100%; aspect-ratio:2/3; object-fit:cover; box-shadow:0 25px 55px rgba(43,36,33,.17); }
.collaboration-copy h2 { margin:14px 0 18px; font:600 clamp(45px,5vw,72px)/.94 var(--serif); letter-spacing:-.04em; }
.collaboration-copy p { max-width:560px; color:var(--muted); line-height:1.7; }
.availability { display:block; margin:24px 0; color:#397253; font-size:11px; font-weight:800; letter-spacing:.1em; text-transform:uppercase; }
.availability.unavailable { color:#9c5140; }
.artist-footer { display:grid; grid-template-columns:1fr auto; align-items:end; gap:30px; padding:60px clamp(24px,6vw,96px); background:#211b18; color:#fff; }
.artist-footer img { width:126px; }
.artist-footer p { color:#a99d96; }
.artist-footer small { color:#756a64; font-size:9px; letter-spacing:.12em; text-transform:uppercase; }
.artist-footer a { color:#fff; font-size:12px; }
@media (max-width:800px) {
  .artist-header { grid-template-columns:1fr 1fr; min-height:70px; }
  .artist-header .back { display:none; }
  .artist-header img { width:102px; }
  .artist-header .create { padding:10px 12px; }
  .directory-hero { min-height:auto; grid-template-columns:1fr; gap:50px; padding-top:70px; }
  .directory-hero h1,.profile-copy h1 { font-size:55px; }
  .directory-note { margin-left:5%; padding:30px; }
  .artist-grid { display:flex; margin-right:-24px; padding:0 28px 38px 3px; gap:24px; overflow-x:auto; scroll-snap-type:x mandatory; }
  .directory-card { flex:0 0 78vw; min-height:390px; scroll-snap-align:center; }
  .directory-card:nth-child(2) { margin-top:0; }
  .profile-hero { min-height:auto; grid-template-columns:1fr; padding-top:60px; }
  .studio-art { min-height:520px; order:-1; }
  .studio-art .hero-product { inset:3% 7% 8% 13%; width:78%; }
  .studio-art .monogram { width:82px; height:82px; font-size:42px; }
  .studio-actions { align-items:flex-start; flex-direction:column; }
  .process-section,.collaboration-section { grid-template-columns:1fr; }
  .collaboration-visual { max-width:470px; margin:auto; }
  .artist-footer { grid-template-columns:1fr; }
}
@media (prefers-reduced-motion:reduce) { * { scroll-behavior:auto!important; } }
