*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
    :root {
      --red: #8B1A1A;
      --white: #FAFAF8;
      --ink: #1A1A1A;
      --rule: #E0E0DE;
      --mobile-nav-bg: rgba(10,10,10,0.97);
      --mobile-nav-text: rgba(255,255,255,0.64);
      --mobile-nav-active: #FAFAF8;
      --mobile-nav-rule: rgba(255,255,255,0.10);
      --mobile-nav-active-rule: rgba(255,255,255,0.34);
    }
    html, body { width:100%; font-family:'Inter',sans-serif; font-weight:300; background:#0a0a0a; color:var(--white); overflow-x:hidden; }

    /* NAV */
    nav.site-nav { position:fixed; top:0; left:0; right:0; z-index:100; display:flex; justify-content:space-between; align-items:center; padding:1.8rem 3.5rem; }
    .nav-brand { font-size:0.75rem; font-weight:500; letter-spacing:0.22em; line-height:1.2; text-transform:uppercase; color:var(--white); text-decoration:none; opacity:0.85; }
    .nav-links { display:flex; gap:2.5rem; list-style:none; align-items:center; }
    .nav-links a { font-size:0.75rem; font-weight:300; letter-spacing:0.18em; line-height:1.2; text-transform:uppercase; color:var(--white); text-decoration:none; opacity:0.65; transition:opacity .2s; }
    .nav-links a:hover { opacity:1; }
    .nav-links a.nav-cta { opacity:1; border:1px solid rgba(255,255,255,0.5); padding:0.4rem 1rem; transition:background .2s, border-color .2s; }
    .nav-links a.nav-cta:hover { background:rgba(255,255,255,0.1); border-color:rgba(255,255,255,0.9); opacity:1; }
    nav.site-nav.on-light .nav-links a.nav-cta { border-color:rgba(26,26,26,0.4); }
    nav.site-nav.on-light .nav-links a.nav-cta:hover { background:rgba(26,26,26,0.06); border-color:var(--ink); }

    /* HERO */
    .hero { position:relative; width:100vw; height:100vh; height:100dvh; overflow:hidden; }
    .slide { position:absolute; inset:0; background-size:cover; background-position:center; opacity:0; transition:opacity 1.4s ease-in-out; }
    .slide.active { opacity:1; }
    .slide:nth-child(1) { background-image: url('images/hero-1.jpg'); }
    .slide:nth-child(2) { background-image: url('images/hero-2.jpg'); }
    .slide:nth-child(3) { background-image: url('images/hero-3.jpg'); }
    .slide:nth-child(4) { background-image: url('images/hero-4.jpg'); }
    .slide:nth-child(5) { background-image: url('images/hero-5.jpg'); }
    .slide:nth-child(6) { background-image: url('images/hero-6.jpg'); }
    .slide:nth-child(7) { background-image: url('images/hero-7.jpg'); }
    .hero-overlay { position:absolute; inset:0; background:linear-gradient(to bottom, rgba(0,0,0,.1) 0%, rgba(0,0,0,.05) 40%, rgba(0,0,0,.65) 100%); z-index:1; }
    .hero-content { position:absolute; bottom:0; left:0; right:0; z-index:2; text-align:center; padding-bottom:5rem; display:flex; flex-direction:column; align-items:center; }
    .hero-title { font-family:'Smooch',cursive; font-size:clamp(9.2rem,25.3vw,23rem); color:var(--red); line-height:.85; margin-bottom:1.2rem; }
    .hero-sub { font-size:.68rem; letter-spacing:.3em; text-transform:uppercase; color:var(--white); opacity:.75; margin-bottom:2.5rem; }
    .hero-cta { display:inline-block; font-size:.62rem; font-weight:500; letter-spacing:.22em; text-transform:uppercase; color:var(--white); text-decoration:none; border:1px solid rgba(255,255,255,.5); padding:.85rem 2.2rem; transition:background .25s, border-color .25s; }
    .hero-cta:hover { background:rgba(255,255,255,.1); border-color:rgba(255,255,255,.9); }
    .dots { position:absolute; bottom:2rem; right:3.5rem; z-index:3; display:flex; gap:.5rem; align-items:center; }
    .dot { width:5px; height:5px; border:0; padding:0; border-radius:50%; background:rgba(255,255,255,.35); cursor:pointer; transition:background .3s, transform .3s; }
    .dot.active { background:var(--white); transform:scale(1.3); }

    /* EDITIONS */
    .editions { background:var(--white); color:var(--ink); padding:7rem 4rem; }
    .editions-eyebrow { font-size:.62rem; font-weight:500; letter-spacing:.25em; text-transform:uppercase; color:var(--red); text-align:center; margin-bottom:1rem; }
    .editions-heading { font-family:'Cormorant Garamond',serif; font-size:clamp(2rem,4vw,3.2rem); font-weight:300; font-style:italic; text-align:center; color:var(--ink); margin-bottom:5rem; }
    .editions-grid { display:grid; grid-template-columns:1fr 1fr; gap:2.5rem; max-width:1100px; margin:0 auto; }

    /* CARDS */
    .card { border:1px solid var(--rule); padding:3rem; display:flex; flex-direction:column; transition:border-color .25s; }
    .card:hover { border-color:var(--ink); }
    .card.featured { border-color:var(--ink); }
    .card-tag { font-size:.58rem; font-weight:500; letter-spacing:.22em; text-transform:uppercase; color:#999; margin-bottom:1.8rem; }
    .card.featured .card-tag { color:var(--red); }
    .card-title { font-family:'Smooch',cursive; font-size:3.5rem; color:var(--red); line-height:1; margin-bottom:.3rem; }
    .card-subtitle { font-size:.7rem; letter-spacing:.1em; text-transform:uppercase; color:#999; margin-bottom:2.5rem; }
    .card-price { font-family:'Cormorant Garamond',serif; font-size:3rem; font-weight:300; color:var(--ink); line-height:1; margin-bottom:.4rem; }
    .card-price-note { font-size:.68rem; color:#999; margin-bottom:2rem; }
    .card-rule { border:none; border-top:1px solid #E8E8E6; margin-bottom:2rem; }
    .card-specs { list-style:none; display:flex; flex-direction:column; gap:.85rem; margin-bottom:2.5rem; flex:1; }
    .card-specs li { display:flex; justify-content:space-between; font-size:.78rem; font-weight:300; }
    .card-specs li span:first-child { color:#999; }
    .card-btn { display:block; width:100%; padding:1rem; text-align:center; font-size:.65rem; font-weight:500; letter-spacing:.2em; text-transform:uppercase; text-decoration:none; border:1px solid var(--ink); color:var(--ink); background:transparent; cursor:pointer; transition:background .2s, color .2s; }
    .card-btn:hover { background:var(--ink); color:var(--white); }
    .card.featured .card-btn { background:var(--ink); color:var(--white); }
    .card.featured .card-btn:hover { background:transparent; color:var(--ink); }
    .card-btn.disabled { background:#ccc; border-color:#ccc; color:#fff; cursor:not-allowed; pointer-events:none; }
    .card-btn-row { display:flex; gap:.75rem; }
    .card-btn-row .card-btn { width:auto; flex:1; }
    .region-split { display:grid; grid-template-columns:1fr 1fr; gap:1.5rem; padding-top:1.5rem; margin-bottom:1.5rem; border-top:1px solid #E8E8E6; }
    .region-col { display:flex; flex-direction:column; gap:.6rem; }
    .region-label { font-size:.6rem; font-weight:500; letter-spacing:.18em; text-transform:uppercase; color:var(--red); }
    .region-specs { list-style:none; display:flex; flex-direction:column; gap:.5rem; }
    .region-specs li span { display:block; }
    .region-specs li span:first-child { font-size:.6rem; letter-spacing:.05em; text-transform:uppercase; color:#999; margin-bottom:.15rem; }
    .region-specs li span:last-child { font-size:.78rem; font-weight:300; color:var(--ink); }
    .card-badge { display:inline-block; font-size:.55rem; font-weight:500; letter-spacing:.15em; text-transform:uppercase; background:var(--red); color:var(--white); padding:.25rem .6rem; margin-bottom:1rem; align-self:flex-start; }
    .sold-out-badge { background:#555; }

    /* COLLECTOR GALLERY */
    .gallery-section { background:#0f0f0f; padding:5rem 4rem 7rem; }
    .gallery-eyebrow { font-size:.62rem; font-weight:500; letter-spacing:.25em; text-transform:uppercase; color:var(--red); text-align:center; margin-bottom:1rem; }
    .gallery-heading { font-family:'Cormorant Garamond',serif; font-size:clamp(1.8rem,3.5vw,2.8rem); font-weight:300; font-style:italic; text-align:center; color:var(--white); margin-bottom:.8rem; }
    .gallery-sub { font-size:.78rem; font-weight:300; text-align:center; color:rgba(255,255,255,.45); margin-bottom:4rem; letter-spacing:.05em; }
    .gallery-grid { columns:3; column-gap:1rem; max-width:1200px; margin:0 auto; }
    .gal-item { break-inside:avoid; margin-bottom:1rem; overflow:hidden; cursor:pointer; outline:none; }
    .gal-item:focus-visible { box-shadow:0 0 0 2px var(--white); }
    .gal-item img { width:100%; height:auto; display:block; transition:transform .4s ease, opacity .3s; opacity:.9; }
    .gal-item:hover img { transform:scale(1.03); opacity:1; }

    /* LIGHTBOX */
    .lightbox { display:none; position:fixed; inset:0; z-index:999; background:rgba(0,0,0,.94); align-items:center; justify-content:center; }
    .lightbox.open { display:flex; }
    .lightbox img { max-height:90vh; max-width:90vw; object-fit:contain; }
    .lightbox-close { position:absolute; top:1.5rem; right:2rem; font-size:2rem; color:rgba(255,255,255,.6); cursor:pointer; line-height:1; background:none; border:none; transition:color .2s; }
    .lightbox-close:hover { color:var(--white); }
    .lightbox-prev, .lightbox-next { position:absolute; top:50%; transform:translateY(-50%); font-size:2rem; color:rgba(255,255,255,.5); cursor:pointer; background:none; border:none; padding:1rem; transition:color .2s; }
    .lightbox-prev { left:1rem; }
    .lightbox-next { right:1rem; }
    .lightbox-prev:hover, .lightbox-next:hover { color:var(--white); }


    /* ORIGINAL WORKS PREVIEW */
    .works-preview {
      background: var(--white);
      color: var(--ink);
      padding: 7rem 4rem;
    }
    .works-preview-inner {
      max-width: 1180px;
      margin: 0 auto;
      display: grid;
      grid-template-columns: 1fr .9fr;
      gap: 6rem;
      align-items: center;
    }
    .works-preview-image {
      min-height: 680px;
      background: #F1F0EB;
      display: flex;
      align-items: center;
      justify-content: center;
      padding: 4rem;
    }
    .works-preview-image img {
      display: block;
      max-height: 570px;
      width: auto;
      object-fit: contain;
      box-shadow: 0 18px 42px rgba(26,24,19,.14);
    }
    .works-preview-eyebrow {
      font-size: .62rem;
      font-weight: 500;
      letter-spacing: .25em;
      text-transform: uppercase;
      color: #8A7145;
      margin-bottom: 1.3rem;
    }
    .works-preview h2 {
      font-family: 'Cormorant Garamond', serif;
      font-size: clamp(2.35rem, 4.35vw, 4.25rem);
      font-weight: 300;
      line-height: 1.03;
      margin-bottom: 1.8rem;
    }
    .works-preview-copy {
      font-size: .94rem;
      line-height: 1.9;
      color: #58564F;
      margin-bottom: 2.2rem;
      max-width: 520px;
    }
    .works-preview-link {
      display: inline-block;
      padding: .92rem 1.55rem;
      border: 1px solid var(--ink);
      color: var(--ink);
      text-decoration: none;
      font-size: .63rem;
      font-weight: 500;
      letter-spacing: .18em;
      text-transform: uppercase;
      transition: background .2s, color .2s;
    }
    .works-preview-link:hover { background: var(--ink); color: var(--white); }

    /* ABOUT */
    .about-wrap { background:#0f0f0f; border-top:1px solid rgba(255,255,255,.06); }
    .about { padding:7rem 4rem; display:grid; grid-template-columns:1fr 1.6fr; gap:6rem; align-items:center; max-width:1200px; margin:0 auto; }
    .about-name { font-family:'Smooch',cursive; font-size:clamp(4rem,8vw,7rem); color:var(--red); line-height:.9; }
    .about-role { font-size:.65rem; letter-spacing:.2em; text-transform:uppercase; color:rgba(255,255,255,.4); margin-top:1rem; }
    .about-text { font-size:.95rem; line-height:1.9; color:rgba(255,255,255,.6); }
    .about-text p + p { margin-top:1.2rem; }

    /* FOOTER */
    footer { background:#0a0a0a; border-top:1px solid rgba(255,255,255,.08); padding:2.5rem 3.5rem; display:flex; justify-content:space-between; align-items:center; }
    .footer-brand { font-family:'Smooch',cursive; font-size:2.2rem; color:var(--red); }
    .footer-links { display:flex; gap:2rem; list-style:none; }
    .footer-links a { font-size:.62rem; letter-spacing:.14em; text-transform:uppercase; color:rgba(255,255,255,.4); text-decoration:none; transition:color .2s; }
    .footer-links a:hover { color:var(--white); }
    .footer-copy { font-size:.62rem; color:rgba(255,255,255,.22); }


    /* Smart nav color switching */
    nav.site-nav { transition: background 0.3s; }
    nav.site-nav.on-light { background:rgba(250,250,248,.96); backdrop-filter:blur(12px); border-bottom:1px solid rgba(26,26,26,.08); }
    nav.site-nav.on-light .nav-brand { color: var(--ink) !important; }
    nav.site-nav.on-light .nav-links a { color: var(--ink) !important; opacity: 0.65; }
    nav.site-nav.on-light .nav-links a:hover { opacity: 1; }
    nav.site-nav.on-dark .nav-brand { color: var(--white); }
    nav.site-nav.on-dark .nav-links a { color: var(--white); }

    /* UNIFIED MOBILE HEADER — identical geometry on every page */
    .mobile-nav {
      display: none;
      position: fixed;
      top: 0;
      left: 0;
      right: 0;
      z-index: 101;
      width: auto;
      max-width: 100vw;
      height: 3.6rem;
      padding: 0 0.5rem;
      grid-template-columns: repeat(4, minmax(0, 1fr));
      align-items: center;
      background: var(--mobile-nav-bg);
      border-top: 0;
      border-bottom: 1px solid var(--mobile-nav-rule);
      backdrop-filter: blur(12px);
      -webkit-backdrop-filter: blur(12px);
    }
    .mobile-nav a {
      display: flex;
      align-items: center;
      justify-content: center;
      justify-self: center;
      width: calc(100% - 0.5rem);
      height: 2.45rem;
      min-width: 0;
      padding: 0 0.2rem;
      font-family: 'Inter', sans-serif;
      font-size: 0.6rem;
      font-weight: 500;
      letter-spacing: 0.15em;
      line-height: 1;
      text-align: center;
      text-transform: uppercase;
      white-space: nowrap;
      color: var(--mobile-nav-text);
      text-decoration: none;
      border: 1px solid transparent;
      transition: color 0.2s, border-color 0.2s, background 0.2s;
    }
    .mobile-nav a.active-mobile {
      color: var(--mobile-nav-active);
      border-color: var(--mobile-nav-active-rule);
    }
    .mobile-nav a:hover { color: var(--mobile-nav-active); }



    @media(max-width:860px) {
      nav.site-nav { display:none; }
      .mobile-nav { display:grid; }
      .hero-title { font-size:6rem; }
      .hero-content { padding-bottom: 6.5rem; }
      .editions { padding:5rem 2rem 7rem; }
      .editions-grid { grid-template-columns:1fr; }
      .gallery-section { padding:4rem 2rem 7rem; }
      .gallery-grid { columns:2; }
      .works-preview { padding:5rem 2rem; }
      .works-preview-inner { grid-template-columns:1fr; gap:3rem; }
      .works-preview-image { min-height:560px; padding:3rem; }
      .works-preview-image img { max-height:470px; }
      .about { padding:5rem 2rem 7rem; grid-template-columns:1fr; gap:3rem; }
      footer { padding:2rem 2rem 6rem; flex-direction:column; gap:1.5rem; text-align:center; }
      .footer-links { justify-content:center; }
    }
    @media(max-width:500px) { .gallery-grid { columns:1; } .works-preview-image { min-height:430px; padding:2rem; } .works-preview-image img { max-height:350px; } }
    @media(prefers-reduced-motion:reduce) { .slide { transition:none; } .gal-item img { transition:none; } }

body.lightbox-open { overflow: hidden; }
