/* ══════════════════════════════════════
     BRAND TOKENS — Alona Petliarska 2026
     ══════════════════════════════════════ */
  :root {
    --abyss:      #0E1219;
    --deep-sea:   #1A3A4A;
    --dusk-pink:  #8A4A6A;
    --teal:       #3D7A8A;
    --wild-rose:  #C4607A;
    --rose-gold:  #C49A8A;
    --selkie:     #A8C8D0;
    --moonlit:    #EDE0D4;

    --bg:         var(--abyss);
    --bg-card:    var(--deep-sea);
    --text:       var(--moonlit);
    --text-2:     var(--selkie);
    --text-dim:   rgba(237,224,212,0.45);
    --accent:     var(--wild-rose);
    --gold:       var(--rose-gold);
    --border:     rgba(61,122,138,0.25);
    --border-2:   rgba(61,122,138,0.5);

    --serif: Georgia, 'Times New Roman', serif;
    --sans:  Arial, Helvetica, sans-serif;
    --pad:   4rem;
    --ease:  cubic-bezier(0.25, 0.46, 0.45, 0.94);
  }

  *, *::before, *::after { margin:0; padding:0; box-sizing:border-box; }
  html { scroll-behavior:smooth; }
  body {
    background:var(--bg); color:var(--text);
    font-family:var(--sans); font-size:14px;
    line-height:1.65; cursor:none; overflow-x:hidden;
  }
  ::-webkit-scrollbar { width:2px; }
  ::-webkit-scrollbar-track { background:var(--abyss); }
  ::-webkit-scrollbar-thumb { background:var(--teal); }

  /* ── PAGE ROUTING ─────────────────────── */
  .page { display:none; }
  .page.active { display:block; }

  /* ── CURSOR ───────────────────────────── */
  *, *::before, *::after { cursor:none !important; }
  #cd { position:fixed; width:10px; height:10px; background:var(--wild-rose); border-radius:50%; pointer-events:none; z-index:2147483647; transform:translate(-50%,-50%); transition:width .25s,height .25s; }
  #cd.big { width:44px; height:44px; }
  #cr { position:fixed; width:30px; height:30px; border:1px solid rgba(196,96,122,.6); border-radius:50%; pointer-events:none; z-index:2147483646; transform:translate(-50%,-50%); }

  /* ── NAV ──────────────────────────────── */
  nav {
    position:fixed; top:0; left:0; right:0; z-index:500;
    display:flex; justify-content:space-between; align-items:center;
    padding:1.8rem var(--pad);
    background:linear-gradient(to bottom, rgba(14,18,25,.95) 0%, transparent 100%);
  }
  .nav-logo {
    font-family:var(--serif); font-size:1rem; font-weight:400;
    letter-spacing:.35em; text-transform:uppercase;
    color:var(--moonlit); text-decoration:none; cursor:none;
  }
  .nav-links { display:flex; gap:2.5rem; list-style:none; }
  .nav-links a {
    font-family:var(--sans); font-size:10px; letter-spacing:.18em;
    text-transform:uppercase; color:var(--text-2); text-decoration:none;
    cursor:none; transition:color .3s; padding-bottom:2px;
    border-bottom:1px solid transparent;
  }
  .nav-links a:hover,
  .nav-links a.active { color:var(--moonlit); border-bottom-color:var(--wild-rose); }
  .nav-bag {
    font-family:var(--sans); font-size:10px; letter-spacing:.18em;
    text-transform:uppercase; color:var(--text-2); background:none;
    border:none; cursor:none; display:flex; align-items:center; gap:.5rem;
    transition:color .3s;
  }
  .nav-bag:hover { color:var(--moonlit); }

  /* ── LANGUAGE SWITCHER ────────────────── */
  .lang-sw {
    display:flex; align-items:center; gap:0; margin-left:1.2rem;
  }
  .lang-btn {
    font-family:var(--sans); font-size:9px; letter-spacing:.16em;
    text-transform:uppercase; color:var(--text-2); background:none;
    border:none; cursor:pointer; padding:.25rem .45rem; transition:color .25s;
    line-height:1;
  }
  .lang-btn:hover { color:var(--moonlit); }
  .lang-btn.active { color:var(--wild-rose); }
  .lang-sep {
    font-size:8px; color:rgba(168,200,208,.2); user-select:none; line-height:1;
  }
  @media(max-width:767px){
    .lang-sw { margin-left:.6rem; }
    .lang-btn { font-size:8px; padding:.2rem .35rem; }
  }

  .bag-n {
    display:inline-flex; align-items:center; justify-content:center;
    width:15px; height:15px; background:var(--wild-rose); color:var(--abyss);
    border-radius:50%; font-size:8px; font-weight:700;
  }

  /* ── BUTTONS ──────────────────────────── */
  .btn-primary {
    display:inline-flex; align-items:center; gap:1rem;
    font-family:var(--sans); font-size:12.5px; letter-spacing:.18em;
    text-transform:uppercase; color:var(--abyss);
    background:var(--wild-rose); border:1px solid var(--wild-rose);
    padding:1rem 2.2rem; cursor:none; text-decoration:none;
    transition:background .35s var(--ease), color .35s;
  }
  .btn-primary:hover { background:var(--rose-gold); }
  .btn-primary .arr { transition:transform .3s; }
  .btn-primary:hover .arr { transform:translateX(5px); }

  .btn-ghost {
    display:inline-flex; align-items:center; gap:1rem;
    font-family:var(--sans); font-size:12.5px; letter-spacing:.22em;
    text-transform:uppercase; color:var(--moonlit);
    background:none; border:1px solid var(--border-2);
    padding:1rem 2.2rem; cursor:none; text-decoration:none;
    transition:background .35s var(--ease), border-color .35s;
  }
  .btn-ghost:hover { background:rgba(61,122,138,.15); border-color:var(--teal); }

  /* ── TICKER ───────────────────────────── */
  .ticker-bar {
    border-top:1px solid var(--border); border-bottom:1px solid var(--border);
    overflow:hidden; white-space:nowrap; padding:1.4rem 0;
  }
  .ticker-inner {
    display:inline-flex; white-space:nowrap;
    font-family:var(--serif); font-size:.95rem; font-weight:400;
    font-style:italic; letter-spacing:.07em; color:var(--rose-gold);
    animation:ticker 38s linear infinite;
  }
  .ticker-unit { white-space:nowrap; display:inline-block; }
  @keyframes ticker { 0%{transform:translateX(0);} 100%{transform:translateX(-50%);} }

  /* ── HERO ─────────────────────────────── */
  .hero {
    height:100vh; display:flex; flex-direction:column;
    justify-content:flex-end; padding:0 var(--pad) var(--pad);
    position:relative; overflow:hidden;
  }
  #hero-canvas { position:absolute; inset:0; width:100%; height:100%; pointer-events:none; background:#0E1219; display:block; }
  .hero::before {
    content:''; position:absolute; inset:0; pointer-events:none;
    background:
      radial-gradient(ellipse at 75% 35%, rgba(138,74,106,.28) 0%, transparent 55%),
      radial-gradient(ellipse at 30% 70%, rgba(61,122,138,.12) 0%, transparent 50%);
  }
  .hero-inner { position:relative; z-index:2; }
  .hero-badge {
    font-family:var(--sans); font-size:10px; letter-spacing:.3em;
    text-transform:uppercase; color:var(--selkie);
    margin-bottom:1.5rem; display:flex; align-items:center; gap:.9rem;
  }
  .hero-badge::before { content:''; display:inline-block; width:22px; height:1px; background:var(--teal); }
  .hero-name {
    font-family:var(--serif); font-size:clamp(2.6rem,7.5vw,10rem);
    font-weight:400; line-height:.9; letter-spacing:-.02em;
    color:var(--moonlit); margin-bottom:.5rem;
  }
  .hero-name em { font-style:italic; color:var(--rose-gold); }
  .hero-tagline-main {
    font-family:var(--serif); font-size:clamp(1rem,2vw,1.5rem);
    font-weight:400; font-style:italic;
    color:var(--selkie); letter-spacing:.06em; margin-bottom:3rem;
  }
  .hero-tagline-main span { color:var(--wild-rose); }
  .hero-foot { display:flex; justify-content:flex-end; align-items:flex-end; }

  /* ── SELECTED WORKS ───────────────────── */
  /* ── HOME ABOUT ──────────────────────────── */
  .home-about {
    display:grid; grid-template-columns:1fr 1.15fr; gap:6rem;
    padding:6rem var(--pad); border-top:1px solid var(--border); align-items:stretch;
  }
  .home-about-photo {
    width:100%; aspect-ratio:1; overflow:hidden; position:relative; align-self:center;
  }
  .home-about-photo img {
    width:100%; height:100%; object-fit:cover; object-position:center 80%;
    display:block; filter:grayscale(12%);
  }
  .home-about-text { display:flex; flex-direction:column; gap:1.4rem; }
  .home-about-text p {
    font-family:var(--sans); font-size:15px; color:var(--text-2);
    line-height:1.9; max-width:560px;
  }
  .home-about-text .about-cta { display:flex; gap:1rem; flex-wrap:wrap; margin-top:.6rem; }
  @media(max-width:900px){
    .home-about { grid-template-columns:1fr; gap:2.5rem; }
    .home-about-photo { max-width:380px; }
  }

  .home-selected { padding:6rem var(--pad); border-top:1px solid var(--border); }

  /* ── LATEST NEWS (homepage) ───────────── */
  .home-news { padding:5rem var(--pad) 6rem; border-top:1px solid var(--border); }
  .home-news-list { display:flex; flex-direction:column; gap:1.2rem; }
  .home-news-card { display:flex; flex-direction:row; border:1px solid var(--border); overflow:hidden; text-decoration:none; transition:border-color .3s, background .3s; }
  .home-news-card:hover { border-color:var(--teal); background:rgba(26,58,74,.18); }
  .home-news-thumb { width:220px; min-width:220px; flex-shrink:0; background-size:cover; background-position:center; background-color:#0e1219; }
  .home-news-body { padding:1.8rem 2.2rem; flex:1; display:flex; flex-direction:column; gap:.6rem; justify-content:center; }
  .home-news-title { font-family:var(--serif); font-size:1.25rem; font-weight:400; color:var(--moonlit); line-height:1.35; }
  .home-news-excerpt { font-size:14px; color:var(--text-2); line-height:1.8; max-width:560px; }
  .home-news-foot { margin-top:2.5rem; text-align:center; }
  @media(max-width:767px){
    .home-news-card { flex-direction:column; }
    .home-news-thumb { width:100%; min-width:unset; height:180px; }
    .home-news-body { padding:1.2rem 1.4rem; }
  }
  .sec-head { display:flex; justify-content:space-between; align-items:baseline; max-width:990px; margin:0 auto 4rem; }
  .sec-title { font-family:var(--serif); font-size:clamp(1.8rem,3.5vw,3rem); font-weight:400; color:var(--moonlit); }
  .sec-link {
    font-family:var(--sans); font-size:10px; letter-spacing:.2em; text-transform:uppercase;
    color:var(--teal); text-decoration:none; cursor:none; transition:color .3s;
  }
  .sec-link:hover { color:var(--selkie); }
  .feat-grid { display:grid; grid-template-columns:repeat(6,1fr); gap:1.2rem; }
  .feat-card {
    position:relative; overflow:hidden; cursor:none;
    transition:opacity .35s var(--ease), transform .35s var(--ease);
  }
  /* Zoom the photo on card hover (same as works grid) */
  .feat-card:hover .work-photo img { transform:scale(1.07); }
  .card-overlay {
    position:absolute; bottom:0; left:0; right:0; padding:1.5rem;
    background:linear-gradient(transparent, rgba(14,18,25,.92));
    transform:translateY(100%); transition:transform .4s var(--ease);
    z-index:4;
  }
  .feat-card:hover .card-overlay { transform:translateY(0); }
  .card-title { font-family:var(--serif); font-size:1.1rem; font-weight:400; font-style:italic; margin-bottom:.25rem; color:var(--moonlit); }
  .card-meta { font-family:var(--sans); font-size:10px; letter-spacing:.08em; color:var(--selkie); }
  .card-price { font-family:var(--serif); font-size:1rem; color:var(--rose-gold); margin-top:.2rem; }

  /* ── ARTWORK SLIDER ───────────────────── */
  .art-slider { position:relative; overflow:hidden; width:100%; background:var(--deep-sea); }
  .slides { display:flex; transition:transform .45s cubic-bezier(.4,0,.2,1); will-change:transform; height:100%; }
  .slide { min-width:100%; flex-shrink:0; overflow:hidden; height:100%; }
  .slide img, .slide svg { display:block; width:100%; height:100%; object-fit:cover; object-position:center top; }
  .sl-prev, .sl-next {
    position:absolute; top:50%; transform:translateY(-50%);
    background:rgba(14,18,25,.7); border:1px solid rgba(61,122,138,.35);
    color:var(--moonlit); width:34px; height:34px;
    display:flex; align-items:center; justify-content:center;
    font-size:1.15rem; cursor:none; z-index:10;
    opacity:0; transition:opacity .28s, background .28s;
  }
  .sl-prev { left:.8rem; }
  .sl-next { right:.8rem; }
  .sl-prev:hover, .sl-next:hover { background:rgba(61,122,138,.45); }
  .sl-nav {
    position:absolute; bottom:.7rem; left:50%; transform:translateX(-50%);
    display:flex; gap:.38rem; z-index:10;
  }
  .sl-dot {
    width:5px; height:5px; border-radius:50%;
    background:rgba(237,224,212,.28); transition:background .3s, transform .3s; cursor:none;
  }
  .sl-dot.active { background:var(--rose-gold); transform:scale(1.4); }
  .sl-lbl {
    position:absolute; top:.7rem; left:.8rem; z-index:10;
    font-family:var(--sans); font-size:8px; letter-spacing:.22em;
    text-transform:uppercase; color:rgba(237,224,212,.65);
    background:rgba(14,18,25,.6); padding:.22rem .55rem; pointer-events:none;
  }

  /* ── FEATURE STRIP ────────────────────── */
  .feature-strip {
    padding:7rem var(--pad); background:var(--dusk-pink);
    display:grid; grid-template-columns:1fr 1fr; gap:var(--pad);
    align-items:center; position:relative; overflow:hidden;
  }
  .feature-strip::before {
    content:''; position:absolute; inset:0; pointer-events:none;
    background:radial-gradient(ellipse at 80% 50%, rgba(14,18,25,.4) 0%, transparent 60%);
  }
  .feature-text { position:relative; z-index:1; }
  .feature-eyebrow {
    font-family:var(--sans); font-size:9px; letter-spacing:.3em;
    text-transform:uppercase; color:var(--rose-gold); margin-bottom:1.2rem;
    display:flex; align-items:center; gap:.8rem;
  }
  .feature-eyebrow::before { content:''; display:inline-block; width:20px; height:1px; background:var(--rose-gold); }
  .feature-title { font-family:var(--serif); font-size:clamp(2rem,4vw,3.2rem); font-weight:400; line-height:1.15; color:var(--moonlit); margin-bottom:1.5rem; }
  .feature-title em { font-style:italic; color:var(--rose-gold); }
  .feature-body { font-family:var(--sans); font-size:15px; color:rgba(237,224,212,.7); line-height:1.9; max-width:420px; margin-bottom:2rem; }
  .feature-ap { position:relative; z-index:1; display:flex; align-items:center; justify-content:center; }
  .feature-ap-logo {
    width:min(180px, 50%); height:auto;
    filter: invert(1); mix-blend-mode:screen;
    opacity:.75; user-select:none;
  }
  .feature-strip .btn-primary { background:var(--moonlit); color:var(--dusk-pink); }
  .feature-strip .btn-primary:hover { background:var(--abyss); color:var(--moonlit); }
  .feature-strip .btn-ghost { border-color:rgba(237,224,212,.5); color:var(--moonlit); }
  .feature-strip .btn-ghost:hover { background:rgba(14,18,25,.2); border-color:var(--moonlit); }

  /* ── GALLERIES STRIP ──────────────────── */
  .galleries-strip {
    padding:3rem var(--pad);
    border-top:1px solid var(--border); border-bottom:1px solid var(--border);
    display:flex; justify-content:space-between; align-items:center;
  }
  .galleries-label { font-family:var(--sans); font-size:9px; letter-spacing:.25em; text-transform:uppercase; color:var(--teal); }
  .galleries-list { display:flex; gap:3rem; }
  .gallery-name { font-family:var(--serif); font-size:1rem; font-weight:400; color:rgba(237,224,212,.35); letter-spacing:.05em; transition:color .3s; cursor:none; }
  .gallery-name:hover { color:var(--rose-gold); }

  /* ── STUB PAGES ───────────────────────── */
  .stub-hero {
    min-height:100vh; display:flex; flex-direction:column;
    justify-content:flex-end; padding:0 var(--pad) var(--pad);
    position:relative; border-bottom:1px solid var(--border);
  }
  .stub-hero::before {
    content:''; position:absolute; inset:0;
    background:radial-gradient(ellipse at 70% 40%, rgba(61,122,138,.12) 0%, transparent 55%);
  }
  .stub-inner { position:relative; z-index:1; }
  .stub-eyebrow {
    font-family:var(--sans); font-size:9px; letter-spacing:.3em;
    text-transform:uppercase; color:var(--selkie); margin-bottom:1.5rem;
    display:flex; align-items:center; gap:.9rem;
  }
  .stub-eyebrow::before { content:''; display:inline-block; width:22px; height:1px; background:var(--teal); }
  .stub-title {
    font-family:var(--serif); font-size:clamp(3.5rem,9vw,10rem);
    font-weight:400; line-height:.88; letter-spacing:-.02em; color:var(--moonlit);
  }
  .stub-title em { font-style:italic; color:var(--rose-gold); }
  .stub-note {
    margin-top:3rem;
    font-family:var(--sans); font-size:11px; letter-spacing:.12em;
    color:var(--text-dim); max-width:340px; line-height:2;
    border-left:2px solid var(--teal); padding-left:1.2rem;
  }

  /* ── FOOTER ───────────────────────────── */
  footer {
    padding:3.5rem var(--pad); border-top:1px solid var(--border);
    display:flex; justify-content:space-between; align-items:center;
    background:rgba(14,18,25,.6);
  }
  .f-logo { font-family:var(--serif); font-size:1.3rem; letter-spacing:.25em; font-weight:400; text-transform:uppercase; }
  .f-tagline { font-family:var(--serif); font-style:italic; font-size:1.17rem; color:var(--rose-gold); letter-spacing:.06em; }
  .f-copy { font-family:var(--sans); font-size:14px; color:var(--text-dim); letter-spacing:.06em; }
  .f-rights { font-family:var(--sans); font-size:12px; color:rgba(168,200,208,.28); letter-spacing:.04em; margin-top:.3rem; }
  .f-links { display:flex; gap:2rem; }
  .f-links a { font-family:var(--sans); font-size:14px; color:var(--text-dim); text-decoration:none; cursor:none; transition:color .3s; }
  .f-links a:hover { color:var(--teal); }

  /* Collection introductions */
  .coll-intro { width:100%; padding:1.5rem var(--pad); border-bottom:1px solid var(--border); display:flex; flex-direction:column; align-items:center; gap:.75rem; box-sizing:border-box; text-align:center; }
  .coll-intro__title { font-family:var(--serif); font-size:clamp(2rem,3.5vw,3rem); font-weight:400; color:var(--moonlit); }
  .coll-intro__text { font-family:var(--sans); font-size:13px; color:var(--text-2); line-height:1.6; width:100%; }
  .coll-intro[hidden] { display:none; }
  /* ── WORKS GRID ───────────────────────── */
  .works-section { padding:3rem var(--pad) 5rem; border-top:1px solid var(--border); }
  .works-grid {
    display:grid; grid-template-columns:repeat(4,1fr);
    gap:2rem 1.5rem; margin-top:3rem; align-items:start;
  }
  /* Card */
  .work-card { cursor:none; transition:opacity .35s var(--ease), transform .35s var(--ease); }
  .work-card.wc-hidden { display:none; }
  /* Photo container — clips the zoom */
  .work-photo {
    position:relative; overflow:hidden; width:100%;
    aspect-ratio:var(--art-ratio, 0.75);
  }
  /* Shimmer placeholder while loading — removed once image loads */
  .work-photo.loading {
    background:linear-gradient(90deg,#1A3A4A 25%,rgba(61,122,138,.18) 50%,#1A3A4A 75%);
    background-size:200% 100%; animation:shimmer 1.5s infinite;
  }
  @keyframes shimmer { 0%{background-position:200% 0} 100%{background-position:-200% 0} }
  /* Image — zoom on card hover */
  .work-photo img {
    display:block; width:100%; height:100%;
    object-fit:cover; object-position:center top;
    transition:transform .55s var(--ease), opacity .3s;
    transform-origin:center center;
  }
  .work-card:hover .work-photo img { transform:scale(1.20); }
  /* Sold badge */
  .sold-badge {
    position:absolute; bottom:.75rem; left:.75rem;
    font-family:var(--sans); font-size:8px; letter-spacing:.2em;
    text-transform:uppercase; color:var(--abyss);
    background:rgba(237,224,212,.92); padding:.3rem .75rem;
    border-radius:20px; backdrop-filter:blur(4px);
  }
  /* Coming soon placeholder */
  .work-photo--soon {
    background:linear-gradient(145deg, #1a2e38 0%, #0e1a22 40%, #1e2d38 100%) !important;
    display:flex; align-items:center; justify-content:center; flex-direction:column; gap:.5rem;
  }
  .coming-badge {
    position:absolute; inset:0; display:flex; align-items:center; justify-content:center;
    font-family:var(--sans); font-size:8px; letter-spacing:.3em;
    text-transform:uppercase; color:rgba(237,224,212,.75);
    background:linear-gradient(145deg, rgba(61,122,138,.18) 0%, rgba(138,74,106,.12) 100%);
  }

  /* Back to top */
  .back-to-top {
    display:block; text-align:center; padding:3rem var(--pad) 4rem;
    border-top:1px solid var(--border);
  }
  .back-to-top a {
    font-family:var(--sans); font-size:10px; letter-spacing:.3em;
    text-transform:uppercase; color:var(--text-2);
    text-decoration:none; cursor:none; transition:color .25s;
    display:inline-flex; align-items:center; gap:.75rem;
  }
  .back-to-top a:hover { color:var(--teal); }
  .back-to-top a::before { content:'↑'; font-size:14px; }
  /* Info below photo */
  .work-info { padding:1rem 0 0; }
  .work-title {
    font-family:var(--serif); font-size:1.25rem; font-weight:400;
    font-style:italic; color:var(--moonlit);
    white-space:nowrap; overflow:hidden; text-overflow:ellipsis;
  }
  .work-meta {
    font-family:var(--sans); font-size:12.5px; letter-spacing:.03em;
    color:var(--selkie); margin-top:.3rem;
    white-space:nowrap; overflow:hidden; text-overflow:ellipsis;
  }
  .work-dims {
    font-family:var(--sans); font-size:12px; letter-spacing:.03em;
    color:rgba(168,200,208,.5); margin-top:.15rem;
  }
  /* Price + cart row */
  .work-buy-row { display:flex; align-items:center; justify-content:space-between; margin-top:.9rem; gap:.5rem; }
  .work-price { font-family:var(--serif); font-size:1.15rem; color:var(--rose-gold); flex-shrink:0; }
  .btn-cart {
    font-family:var(--sans); font-size:9px; letter-spacing:.16em;
    text-transform:uppercase; color:var(--abyss);
    background:var(--wild-rose); border:none;
    padding:.6rem 1.2rem; cursor:none; flex-shrink:0;
    transition:background .3s, opacity .3s; white-space:nowrap;
  }
  .btn-cart:hover { background:var(--rose-gold); }
  .btn-cart:disabled { background:rgba(196,96,122,.3); color:rgba(14,18,25,.6); cursor:default; }
  .btn-cart.in-bag { background:var(--teal); color:var(--moonlit); }
  /* Enquire link */
  .work-enquire {
    font-family:var(--sans); font-size:9px; letter-spacing:.14em;
    text-transform:uppercase; color:rgba(168,200,208,.5);
    background:none; border:1px solid var(--border);
    padding:.6rem 1.2rem; cursor:none; flex-shrink:0;
    transition:border-color .3s, color .3s;
    text-decoration:none; display:inline-flex; align-items:center;
  }
  .work-enquire:hover { border-color:var(--teal); color:var(--selkie); }

  /* ── HAMBURGER ─────────────────────────── */
  .nav-hamburger {
    display:none; flex-direction:column; justify-content:center; gap:5px;
    background:none; border:none; cursor:pointer; padding:.4rem; z-index:510;
  }
  .nav-hamburger span {
    display:block; width:22px; height:1.5px; background:var(--moonlit);
    transition:transform .3s, opacity .3s;
  }
  .nav-drawer {
    display:none; position:fixed; inset:0; z-index:490;
    background:rgba(14,18,25,.97);
    flex-direction:column; justify-content:center; align-items:center; gap:2.2rem;
  }
  .nav-drawer.open { display:flex; }
  .nav-drawer a {
    font-family:var(--serif); font-size:2rem; font-weight:400;
    color:rgba(237,224,212,.7); text-decoration:none; letter-spacing:.04em;
    transition:color .3s;
  }
  .nav-drawer a:hover, .nav-drawer a.active { color:var(--rose-gold); }
  .nav-close {
    position:absolute; top:1.6rem; right:1.6rem;
    background:none; border:none; color:var(--moonlit);
    font-size:1.6rem; line-height:1; cursor:pointer;
  }

  /* ── ANIMATIONS ───────────────────────── */
  @keyframes fadeUp { from{opacity:0;transform:translateY(32px);} to{opacity:1;transform:translateY(0);} }
  .au  { animation:fadeUp .9s var(--ease) forwards; opacity:0; }
  .d1  { animation-delay:.12s; }
  .d2  { animation-delay:.26s; }
  .d3  { animation-delay:.42s; }
  .rv  { opacity:0; transform:translateY(22px); transition:opacity .75s var(--ease), transform .75s var(--ease); }
  .rv.shown { opacity:1; transform:translateY(0); }

  /* ── COLLECTION FILTER ─────────────────────────────── */
  .coll-filter-bar {
    display:flex; justify-content:center; gap:.75rem;
    flex-wrap:wrap; padding:2.5rem var(--pad) 0;
  }
  .coll-btn {
    font-family:var(--sans); font-size:11px; letter-spacing:.18em;
    text-transform:uppercase; color:var(--text-dim);
    background:none; border:1px solid var(--border);
    padding:.85rem 2.2rem; cursor:pointer;
    transition:border-color .3s, color .3s, background .3s, opacity .3s;
  }
  .coll-btn:hover { border-color:var(--teal); color:var(--moonlit); }
  .coll-btn.active { border-color:var(--wild-rose); color:var(--moonlit); background:rgba(196,96,122,.08); }

  /* ── FILTER / SORT BAR (Shopify-style) ── */
  .works-filter-bar {
    display:flex; align-items:center; justify-content:space-between;
    padding:1.4rem var(--pad); border-bottom:1px solid var(--border);
    gap:1.5rem; flex-wrap:wrap;
  }
  .wfb-left  { display:flex; align-items:center; gap:1rem; flex-wrap:wrap; }
  .wfb-right { display:flex; align-items:center; gap:1.4rem; }
  .wfb-label {
    font-family:var(--sans); font-size:10px; letter-spacing:.16em;
    text-transform:uppercase; color:var(--text-dim);
  }
  .wfb-count {
    font-family:var(--sans); font-size:10px; letter-spacing:.12em;
    text-transform:uppercase; color:var(--text-dim); white-space:nowrap;
  }
  .wfb-dropdown { position:relative; }
  .wfb-btn {
    font-family:var(--sans); font-size:10px; letter-spacing:.16em;
    text-transform:uppercase; color:var(--text-2); background:none;
    border:1px solid var(--border); padding:.6rem 1.2rem .6rem 1rem;
    cursor:pointer; transition:border-color .25s, color .25s;
    display:flex; align-items:center; gap:.5rem;
    white-space:nowrap;
  }
  .wfb-btn:hover { border-color:var(--teal); color:var(--moonlit); }
  .wfb-btn.active { border-color:var(--wild-rose); color:var(--moonlit); }
  .wfb-btn .wfb-arrow { transition:transform .25s; display:inline-block; font-size:8px; }
  .wfb-dropdown.open .wfb-btn .wfb-arrow { transform:rotate(180deg); }
  .wfb-menu {
    position:absolute; top:calc(100% + 6px); left:0; min-width:180px;
    background:var(--bg-2); border:1px solid var(--border);
    padding:.5rem 0; z-index:200;
    opacity:0; pointer-events:none; transform:translateY(-4px);
    transition:opacity .2s, transform .2s;
  }
  .wfb-dropdown.open .wfb-menu { opacity:1; pointer-events:auto; transform:translateY(0); }
  .wfb-menu button {
    display:block; width:100%; text-align:left;
    font-family:var(--sans); font-size:10px; letter-spacing:.14em;
    text-transform:uppercase; color:var(--text-2); background:none;
    border:none; padding:.65rem 1.2rem; cursor:pointer; transition:color .2s, background .2s;
  }
  .wfb-menu button:hover { background:rgba(61,122,138,.1); color:var(--moonlit); }
  .wfb-menu button.active { color:var(--wild-rose); }

  /* ── NAV WORKS DROPDOWN ────────────────── */
  .nav-has-drop { position:relative; }
  .nav-drop {
    position:absolute; top:calc(100% + 1.2rem); left:50%; transform:translateX(-50%);
    background:var(--bg-2); border:1px solid var(--border);
    padding:.5rem 0; min-width:200px; z-index:300;
    opacity:0; pointer-events:none; transition:opacity .2s, transform .2s;
    transform:translateX(-50%) translateY(-4px);
  }
  .nav-has-drop:hover .nav-drop,
  .nav-has-drop:focus-within .nav-drop {
    opacity:1; pointer-events:auto; transform:translateX(-50%) translateY(0);
  }
  .nav-drop a {
    display:block; font-family:var(--sans); font-size:9.5px; letter-spacing:.15em;
    text-transform:uppercase; color:var(--text-2); text-decoration:none;
    padding:.65rem 1.4rem; transition:color .2s, background .2s; cursor:none;
    border-bottom:none !important;
  }
  .nav-drop a:hover { color:var(--moonlit); background:rgba(61,122,138,.1); }
  .nav-drop-sep { height:1px; background:var(--border); margin:.35rem 0; }

  /* ── ARTWORK DETAIL — NEW COMMERCE LINES ── */
  .aw-byline {
    font-family:var(--sans); font-size:12px; letter-spacing:.1em;
    text-transform:uppercase; color:rgba(168,200,208,.5);
    margin-top:-.2rem; margin-bottom:.1rem;
  }
  .aw-commerce-row {
    display:flex; gap:1.4rem; flex-wrap:wrap;
    align-items:center; margin-top:.6rem;
  }
  .aw-tag {
    font-family:var(--sans); font-size:9.5px; letter-spacing:.16em;
    text-transform:uppercase; padding:.45rem 1rem;
    border:1px solid var(--border); color:var(--text-2);
  }
  .aw-tag-ship { border-color:var(--teal); color:var(--teal); }
  .aw-price-line {
    font-family:var(--serif); font-size:1.8rem; color:var(--moonlit);
    line-height:1; display:flex; align-items:baseline; gap:.6rem;
  }
  .aw-price-cur {
    font-family:var(--sans); font-size:11px; letter-spacing:.12em;
    text-transform:uppercase; color:rgba(237,224,212,.5);
  }
  .aw-tax-note {
    font-family:var(--sans); font-size:10px; letter-spacing:.08em;
    color:rgba(237,224,212,.3); margin-top:.1rem;
  }

  /* ══════════════════════════════════════
     TABLET  768–1024px
     ══════════════════════════════════════ */
  @media(max-width:1024px){
    :root { --pad:2.5rem; }
    .hero { height:auto; min-height:unset; padding-top:11rem; padding-bottom:3rem; }
    .feat-grid { grid-template-columns:repeat(6,1fr); gap:.8rem; }
    .feat-card:first-child { grid-row:span 1; }
    .feature-strip { grid-template-columns:1fr; }
    .feature-ap { display:none; }
    footer { flex-wrap:wrap; gap:1.2rem; }
    .works-grid { grid-template-columns:repeat(3,1fr); gap:1.2rem; }
  }

  /* ══════════════════════════════════════
     PHONE  ≤767px
     ══════════════════════════════════════ */
  @media(max-width:767px){
    body { cursor:auto; }
    #cd,#cr { display:none; }
    :root { --pad:1.3rem; }

    /* Nav */
    .nav-links, .nav-bag { display:none; }
    .nav-hamburger { display:flex; }
    nav { padding:1.1rem var(--pad); }

    /* Hero — full screen on mobile, text at bottom like desktop */
    .hero { height:100svh; min-height:100svh; padding:2rem var(--pad) 3.5rem; }
    .hero-name { font-size:clamp(2.4rem,10vw,6rem); }
    .hero-badge { font-size:8px; letter-spacing:.18em; }
    .hero-tagline-main { margin-bottom:2rem; }
    .hero-foot { flex-direction:column; align-items:flex-start; gap:1rem; }
    .hero-foot div { flex-wrap:wrap; }

    /* Ticker */
    .ticker-inner { font-size:.78rem; }

    /* Home selected works — horizontal scroll on mobile */
    .feat-grid { display:flex; flex-wrap:nowrap; overflow-x:auto; gap:.8rem; padding-bottom:.5rem; }
    .feat-grid .feat-card { flex:0 0 60vw; max-width:260px; }
    .feat-card:first-child { grid-row:span 1; }

    /* Feature strip */
    .feature-strip { grid-template-columns:1fr; padding:2.5rem var(--pad); }
    .feature-ap { display:none; }
    .feature-strip > div:last-child { display:none; }

    /* Galleries */
    .galleries-strip { flex-direction:column; align-items:flex-start; gap:1rem; padding:1.5rem var(--pad); }
    .galleries-list { flex-wrap:wrap; gap:1rem 2rem; }

    /* Works grid */
    .works-grid { grid-template-columns:1fr; gap:1.5rem; margin-top:2rem; }
    .works-section { padding:1.5rem var(--pad); }

    /* Stub pages */
    .stub-hero { padding:0 var(--pad) 2.5rem; min-height:80vh; }

    /* Footer */
    footer { flex-direction:column; align-items:flex-start; gap:1rem; padding:2rem var(--pad); }
    .f-tagline,.f-copy { display:none; }
    .f-links { flex-wrap:wrap; gap:1rem 1.5rem; }

    /* Sec head */
    .sec-head { flex-direction:column; gap:.5rem; margin-bottom:2rem; }
  }

  @media(max-width:380px){
    .hero-name { font-size:clamp(2rem,9vw,3rem); }
  }

  /* ══════════════════════════════════════
     ABOUT PAGE
     ══════════════════════════════════════ */
  .about-wrap { display:grid; grid-template-columns:1fr 1.4fr; gap:5rem; padding:0; align-items:stretch; }
  .about-photo { align-self:stretch; display:flex; flex-direction:column; }
  .about-photo-frame { flex:1; overflow:hidden; min-height:320px; display:flex; flex-direction:column; }
  .about-photo-frame img { flex:1; width:100%; object-fit:cover; object-position:50% 70%; display:block; min-height:0; }
  .about-content { padding:15rem 5rem 5rem 0; }
  .about-photo-caption { font-family:var(--sans); font-size:9px; letter-spacing:.2em; text-transform:uppercase; color:rgba(237,224,212,.3); text-align:center; margin-top:.8rem; }
  /* Commissions FAQ */
  .comm-faq-item { border-bottom:1px solid var(--border); }
  .comm-faq-item summary { list-style:none; cursor:pointer; padding:1.2rem 0; font-family:var(--serif); font-size:1.05rem; color:var(--moonlit); display:flex; justify-content:space-between; align-items:center; }
  .comm-faq-item summary::-webkit-details-marker { display:none; }
  .comm-faq-item summary::after { content:"＋"; font-family:var(--sans); font-size:18px; color:var(--teal); flex-shrink:0; transition:transform .3s; }
  .comm-faq-item[open] summary::after { content:"−"; }
  .comm-faq-a { font-size:14.5px; color:var(--text-2); line-height:1.9; padding:.2rem 0 1.4rem; }
  .about-bio { display:flex; flex-direction:column; gap:1.2rem; margin-top:2.5rem; }
  .about-bio p { font-size:15.5px; color:var(--text-2); line-height:1.9; }
  .about-cv summary::-webkit-details-marker { display:none; }
  .about-cv-line { font-size:13.5px; color:var(--text-2); line-height:1.75; padding:.3rem 0; border-bottom:1px solid rgba(61,122,138,.08); }
  .about-cv-year { display:inline-block; min-width:5.5rem; font-family:var(--sans); font-size:10.5px; letter-spacing:.06em; color:var(--teal); }
  .about-credentials { display:flex; flex-direction:column; gap:.8rem; margin-top:2.5rem; border-top:1px solid var(--border); padding-top:2rem; }
  .about-cred-item { display:flex; gap:2rem; font-size:14px; color:var(--text-2); align-items:baseline; }
  .about-cred-label { font-family:var(--sans); font-size:9px; letter-spacing:.2em; text-transform:uppercase; color:var(--teal); min-width:120px; flex-shrink:0; padding-top:2px; }
  @media(max-width:1024px){ .about-wrap { grid-template-columns:1fr; gap:0; padding:5rem var(--pad) 4rem; } .about-photo { position:relative; } .about-photo-frame { max-width:100%; min-height:unset; height:480px; } .about-content { padding:4rem 0 3rem; } }
  @media(max-width:767px){
    .about-wrap { padding:0; }
    .about-photo-frame { height:55vw; min-height:220px; max-height:320px; }
    .about-photo-caption { display:none; }
    .about-content { padding:3rem var(--pad) 3rem; }
  }

  /* ══════════════════════════════════════
     NEWS PAGE
     ══════════════════════════════════════ */
  .news-hero { padding:15rem var(--pad) 4rem; border-bottom:1px solid var(--border); }
  .news-grid { display:flex; flex-direction:column; gap:1.5rem; padding:3rem var(--pad) 6rem; }
  .news-card { display:flex; flex-direction:row; border:1px solid var(--border); overflow:hidden; transition:border-color .3s, background .3s; }
  .news-card:hover { border-color:var(--teal); background:rgba(26,58,74,.18); }
  .news-img { width:260px; min-width:260px; flex-shrink:0; }
  .news-img--1 { background-image:url('https://pub-3dfa0fd9dcbb4acca34b00203ce115fa.r2.dev/news%20for%20Website/ssa-1270.jpg'); background-size:contain; background-repeat:no-repeat; background-position:center; background-color:#0e1219; }
  .news-img--2 { background:linear-gradient(145deg,#1a2e38 0%,#0e1a22 40%,#1e2d38 100%); display:flex; align-items:center; justify-content:center; }
  .news-img--soon { font-family:var(--sans); font-size:9px; letter-spacing:.28em; text-transform:uppercase; color:rgba(237,224,212,.35); border:1px solid rgba(237,224,212,.12); padding:.4rem .9rem; }
  .news-img--3 { background-image:url('https://pub-3dfa0fd9dcbb4acca34b00203ce115fa.r2.dev/news%20for%20Website/essay.png'); background-size:contain; background-repeat:no-repeat; background-position:center; background-color:#0e1219; }
  .news-img--4 { background-image:url('https://pub-3dfa0fd9dcbb4acca34b00203ce115fa.r2.dev/news%20for%20Website/transition.jpg'); background-size:contain; background-repeat:no-repeat; background-position:center; background-color:#0e1219; }
  .news-img--5 { background-image:url('https://pub-3dfa0fd9dcbb4acca34b00203ce115fa.r2.dev/news%20for%20Website/bbc_orkney.jpg'); background-size:contain; background-repeat:no-repeat; background-position:center; background-color:#0e1219; }
  .news-img--6 { background-image:url('https://pub-3dfa0fd9dcbb4acca34b00203ce115fa.r2.dev/news%20for%20Website/milestones.jpg'); background-size:contain; background-repeat:no-repeat; background-position:center; background-color:#0e1219; }
  .news-img--7 { background:linear-gradient(145deg,#1a2e38 0%,#0e1a22 40%,#1e2d38 100%); display:flex; align-items:center; justify-content:center; }
  .news-img--8 { background:linear-gradient(145deg,#1a2e38 0%,#0e1a22 40%,#1e2d38 100%); display:flex; align-items:center; justify-content:center; }
  .news-img--9 { background:linear-gradient(145deg,#1a2e38 0%,#0e1a22 40%,#1e2d38 100%); display:flex; align-items:center; justify-content:center; }
  .news-source-link { display:inline-flex; align-items:center; gap:.4rem; font-family:var(--sans); font-size:9px; letter-spacing:.18em; text-transform:uppercase; color:var(--teal); text-decoration:none; border:1px solid rgba(61,122,138,.35); padding:.5rem 1rem; margin-top:.5rem; align-self:flex-start; transition:border-color .3s, background .3s; }
  .news-source-link:hover { border-color:var(--teal); background:rgba(61,122,138,.1); }
  .news-body { padding:2rem 2.5rem; flex:1; display:flex; flex-direction:column; gap:.75rem; justify-content:center; }
  .news-meta { font-family:var(--sans); font-size:9px; letter-spacing:.25em; text-transform:uppercase; color:var(--teal); }
  .news-title { font-family:var(--serif); font-size:1.4rem; font-weight:400; color:var(--moonlit); line-height:1.35; }
  .news-excerpt { font-size:14px; color:var(--text-2); line-height:1.8; max-width:560px; }
  .news-read { font-family:var(--sans); font-size:9px; letter-spacing:.2em; text-transform:uppercase; color:rgba(237,224,212,.3); margin-top:.25rem; }
  @media(max-width:767px){
    .news-card { flex-direction:column; }
    .news-img { width:100%; min-width:unset; height:160px; }
    .news-body { padding:1.4rem; }
    .news-grid { padding:0 var(--pad) 4rem; }
    .news-hero { padding:32vh var(--pad) 2.5rem; }
  }

  /* ══════════════════════════════════════
     NEWS DETAIL PAGE
     ══════════════════════════════════════ */
  .news-detail-wrap { max-width:820px; margin:0 auto; padding:4rem var(--pad) 6rem; }
  .news-detail-cover { width:100%; margin-bottom:2.5rem; line-height:0; }
  .news-detail-cover img { width:100%; height:auto; display:block; max-height:80vh; object-fit:contain; background:#0e1219; }
  .news-detail-meta { font-family:var(--sans); font-size:9px; letter-spacing:.28em; text-transform:uppercase; color:var(--teal); margin-bottom:1rem; }
  .news-detail-title { font-family:var(--serif); font-size:clamp(1.8rem,4vw,3rem); font-weight:400; line-height:1.18; color:var(--moonlit); margin-bottom:2rem; }
  .news-detail-body { border-top:1px solid var(--border); padding-top:2rem; display:flex; flex-direction:column; gap:1rem; }
  .news-detail-body p { font-size:15.5px; color:var(--text-2); line-height:1.9; }
  .news-detail-body h3 { font-family:var(--serif); font-size:1.2rem; font-weight:400; color:var(--moonlit); margin-top:.6rem; }
  .news-nav { display:flex; justify-content:space-between; align-items:center; margin-top:4rem; padding-top:2rem; border-top:1px solid var(--border); gap:1rem; }
  .news-nav-btn {
    background:none; border:1px solid var(--border-2); color:var(--text-2);
    font-family:var(--sans); font-size:10px; letter-spacing:.2em; text-transform:uppercase;
    padding:.7rem 1.4rem; cursor:pointer; transition:border-color .3s, color .3s;
  }
  .news-nav-btn:hover { border-color:var(--teal); color:var(--moonlit); }
  .news-nav-btn:disabled { opacity:.22; cursor:default; pointer-events:none; }
  .news-card { cursor:pointer; }
  @media(max-width:767px){
    .news-detail-wrap { padding:2.5rem var(--pad) 4rem; }
    .news-detail-cover { height:200px; }
    .news-nav { flex-direction:column; }
    .news-nav-btn { text-align:center; }
  }
  /* ══════════════════════════════════════
     CONTACT PAGE
     ══════════════════════════════════════ */
  .contact-wrap { display:grid; grid-template-columns:1fr 1fr 1.4fr; gap:0; }
  .contact-photo { position:relative; background:transparent; align-self:stretch; min-height:0; }
  .contact-photo-label { display:none; }
  .contact-inner { grid-column:2 / 4; display:grid; grid-template-columns:1fr 1.5fr; gap:4rem; padding:7rem 4rem 6rem; align-items:start; }
  .contact-info { padding-top:1rem; }
  .contact-desc { font-size:15.5px; color:var(--text-2); line-height:1.8; margin-top:2rem; }
  .contact-detail { margin-top:2.5rem; display:flex; flex-direction:column; gap:.9rem; }
  .contact-detail-line { font-size:14px; color:rgba(237,224,212,.5); letter-spacing:.04em; }
  .contact-form { display:flex; flex-direction:column; gap:1.4rem; }
  .form-group { display:flex; flex-direction:column; gap:.5rem; }
  .form-group label { font-family:var(--sans); font-size:9px; letter-spacing:.25em; text-transform:uppercase; color:var(--teal); }
  .form-group input,
  .form-group select,
  .form-group textarea {
    background:rgba(26,58,74,.25); border:1px solid var(--border-2);
    color:var(--moonlit); font-family:var(--sans); font-size:15px;
    padding:.85rem 1rem; outline:none; transition:border-color .3s;
    -webkit-appearance:none; appearance:none; border-radius:0;
  }
  .form-group input:focus,
  .form-group select:focus,
  .form-group textarea:focus { border-color:var(--teal); }
  .form-group input::placeholder,
  .form-group textarea::placeholder { color:rgba(237,224,212,.3); }
  .form-group select option { background:var(--abyss); }
  .form-group textarea { resize:vertical; min-height:130px; }
  .form-success { display:none; text-align:center; padding:3rem; font-family:var(--serif); font-size:1.3rem; color:var(--rose-gold); }
  @media(max-width:1024px){ .contact-wrap { grid-template-columns:1fr; } .contact-photo { height:420px; min-height:unset; align-self:auto; overflow:hidden; } .contact-inner { grid-column:1; padding:4rem var(--pad); grid-template-columns:1fr; gap:2.5rem; } }
  @media(max-width:767px){ .contact-photo { height:300px; } .contact-inner { padding:3rem var(--pad); } }

  /* ══════════════════════════════════════
     ARTWORK DETAIL PAGE
     ══════════════════════════════════════ */
  .artwork-detail { padding:4rem var(--pad) 6rem; }
  .back-btn {
    background:none; border:1px solid var(--border-2); color:rgba(168,200,208,.6);
    font-family:var(--sans); font-size:10px; letter-spacing:.2em; text-transform:uppercase;
    padding:.6rem 1.2rem; cursor:pointer; transition:border-color .3s, color .3s; margin-bottom:3rem;
  }
  .back-btn:hover { border-color:var(--teal); color:var(--moonlit); }
  .artwork-layout { display:grid; grid-template-columns:1.15fr 1fr; gap:5rem; align-items:start; margin-top:2rem; }
  /* Detail image — fills column width at natural aspect ratio, no dark surround */
  .detail-photo-wrap {
    position:relative; overflow:hidden; width:100%; cursor:none;
  }
  .detail-photo-wrap img {
    display:block; width:100%; height:auto;
    transition:transform .6s var(--ease);
  }
  .detail-photo-wrap:hover img { transform:scale(1.04); }
  /* Info panel — sticky so it stays in view while scrolling tall images */
  .artwork-info-panel {
    position:sticky; top:7rem; align-self:start;
    display:flex; flex-direction:column; gap:1rem;
  }
  .artwork-quote { font-family:var(--serif); font-style:italic; font-size:1rem; color:rgba(237,224,212,.48); line-height:1.55; margin:-.1rem 0 .1rem; }
  .artwork-name { font-family:var(--serif); font-size:clamp(1.6rem,3.2vw,2.8rem); font-weight:400; line-height:1.12; }
  .artwork-name em { font-style:italic; color:var(--rose-gold); }
  .artwork-dims-line { font-size:13px; color:rgba(168,200,208,.7); letter-spacing:.06em; }
  .artwork-year-line { font-size:10.5px; color:rgba(237,224,212,.35); letter-spacing:.14em; text-transform:uppercase; }
  .artwork-divider { height:1px; background:var(--border); margin:.4rem 0; }
  .artwork-desc { font-size:14.5px; color:var(--selkie); line-height:1.85; }
  .artwork-price-row { display:flex; align-items:baseline; gap:1rem; margin-top:.25rem; }
  .artwork-price { font-family:var(--serif); font-size:1.8rem; color:var(--moonlit); }
  .artwork-status { font-size:9.5px; letter-spacing:.16em; text-transform:uppercase; color:var(--teal); }
  /* Smaller, refined buttons for the detail page context */
  #detail-actions { display:flex; flex-direction:column; gap:.6rem; }
  #detail-actions .btn-primary {
    padding:.8rem 2rem; font-size:10.5px; letter-spacing:.14em;
    justify-content:center; align-self:flex-start;
  }
  #detail-actions .btn-ghost {
    padding:.72rem 1.2rem; font-size:9px; letter-spacing:.18em;
    justify-content:center;
  }
  #detail-actions > div { display:flex; gap:.6rem; flex-wrap:wrap; }
  .artwork-cert { font-size:9.5px; color:rgba(237,224,212,.22); letter-spacing:.06em; text-align:center; margin-top:.5rem; padding-top:.5rem; border-top:1px solid var(--border); }
  .artwork-copyright { font-size:9px; color:rgba(168,200,208,.22); letter-spacing:.04em; line-height:1.6; text-align:center; margin-top:.4rem; padding:.5rem; border:1px solid rgba(61,122,138,.12); }
  @media(max-width:900px){ .artwork-layout { grid-template-columns:1fr; gap:2.5rem; } .artwork-info-panel { position:static; } }
  @media(max-width:767px){ .artwork-detail { padding:2.5rem var(--pad) 4rem; } }
  /* ── RELATED WORKS ────────────────────── */
  .aw-related { padding:3.5rem var(--pad) 2.5rem; border-top:1px solid var(--border); }
  .aw-related-label { font-family:var(--serif); font-size:.85rem; color:var(--text-2); letter-spacing:.1em; text-transform:uppercase; margin-bottom:1.6rem; }
  .aw-related-row { display:flex; gap:1rem; overflow-x:auto; scrollbar-width:none; -ms-overflow-style:none; }
  .aw-related-row::-webkit-scrollbar { display:none; }
  .aw-related-item { flex:0 0 auto; width:200px; display:block; cursor:none; overflow:hidden; }
  .aw-related-item img { width:100%; height:auto; display:block; transition:transform .5s var(--ease); }
  .aw-related-item:hover img { transform:scale(1.08); }
  @media(max-width:767px){ .aw-related { padding:2.5rem var(--pad) 2rem; } .aw-related-item { width:140px; } }

  /* ── BAG PANEL ────────────────────────── */
  #bag-overlay { position:fixed; inset:0; background:rgba(14,18,25,.65); z-index:1100; opacity:0; pointer-events:none; transition:opacity .3s; }
  #bag-overlay.open { opacity:1; pointer-events:all; }
  #bag-drawer { position:fixed; top:0; right:0; height:100%; width:380px; max-width:93vw; background:var(--deep-sea); z-index:1101; display:flex; flex-direction:column; transform:translateX(110%); transition:transform .38s var(--ease); box-shadow:-6px 0 40px rgba(0,0,0,.5); }
  #bag-drawer.open { transform:translateX(0); }
  .bag-head { display:flex; align-items:center; justify-content:space-between; padding:1.4rem 1.6rem; border-bottom:1px solid var(--border); flex-shrink:0; }
  .bag-head-title { font-family:var(--serif); font-size:1.05rem; font-weight:400; color:var(--moonlit); }
  .bag-close { background:none; border:none; color:var(--text-2); font-size:1rem; cursor:pointer; padding:.3rem; line-height:1; transition:color .2s; }
  .bag-close:hover { color:var(--moonlit); }
  #bag-items { flex:1; overflow-y:auto; padding:.5rem 1.6rem; }
  .bag-empty-msg { padding:2.5rem 1.6rem; color:var(--text-2); font-size:14px; text-align:center; margin:0; }
  .bag-row { display:flex; align-items:center; gap:1rem; padding:1rem 0; border-bottom:1px solid var(--border); }
  .bag-row-img-link { flex-shrink:0; display:block; text-decoration:none; }
  .bag-row-img { width:64px; height:64px; object-fit:contain; background:var(--abyss); display:block; transition:opacity .2s; }
  .bag-row-img-link:hover .bag-row-img { opacity:.8; }
  .bag-row-img--empty { background:var(--abyss); width:64px; height:64px; flex-shrink:0; }
  .bag-row-info { flex:1; min-width:0; }
  .bag-row-title { font-family:var(--serif); font-size:.95rem; color:var(--moonlit); white-space:nowrap; overflow:hidden; text-overflow:ellipsis; text-decoration:none; display:block; }
  .bag-row-title:hover { color:var(--wild-rose); }
  .bag-row-price { font-size:12px; color:var(--text-2); margin-top:.2rem; }
  .bag-row-ship { font-family:var(--sans); font-size:9.5px; letter-spacing:.08em; color:var(--teal); margin-top:.3rem; }
  .bag-row-rm { background:none; border:none; color:var(--text-2); font-size:.8rem; cursor:pointer; padding:.3rem; flex-shrink:0; transition:color .2s; }
  .bag-row-rm:hover { color:var(--wild-rose); }
  #bag-foot { padding:1.2rem 1.6rem; border-top:1px solid var(--border); flex-shrink:0; }
