/* ---------- Placeholder art (abstract ink linework, original) ---------- */
  .art{
    position:relative;
    overflow:hidden;
    background:;
  }
  .art.light{background:;}
  .art svg{position:absolute;inset:0;width:100%;height:100%;}
  .art::after{
    content:'';
    position:absolute;inset:0;
    background:radial-gradient(ellipse at 30% 20%, rgba(255,255,255,0.06), transparent 60%);
  }

  *{margin:0;padding:0;box-sizing:border-box;}
  html{scroll-behavior:smooth;}
  body{
    background:var(--ink);color:var(--paper);font-family:var(--body);font-weight:400;
    line-height:1.5;overflow-x:hidden;-webkit-font-smoothing:antialiased;
  }
  img,svg{display:block;max-width:100%;}
  a{color:inherit;text-decoration:none;}
  ul{list-style:none;}
  button{font-family:inherit;cursor:pointer;background:none;border:none;color:inherit;}

  .eyebrow{font-family:var(--mono);font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--gold);}

  .btn{
    display:inline-flex;align-items:center;gap:10px;padding:14px 30px;
    border:1px solid currentColor;border-radius:999px;font-family:var(--mono);
    font-size:12px;letter-spacing:.1em;text-transform:uppercase;
    transition:background .35s ease, color .35s ease;
  }
  .btn--light{color:var(--paper);border-color:var(--paper);}
  .btn--light:hover{background:var(--paper);color:var(--ink);}

  .art{position:relative;overflow:hidden;background:linear-gradient(160deg,#2b2722,#100e0c 70%);}
  .art svg{position:absolute;inset:0;width:100%;height:100%;}
  .art::after{content:'';position:absolute;inset:0;background:radial-gradient(ellipse at 30% 20%, rgba(255,255,255,0.06), transparent 60%);}

  section{position:relative;}
  .section-pad{padding:clamp(60px,8vw,120px) var(--pad);}

  

  /* ---------- Hero ---------- */
  .shero{
    position:relative;min-height:105vh;display:flex;align-items:flex-end;justify-content:center;
    overflow:hidden;background:var(--ink);
  }
  .shero__bg{position:absolute;inset:0;z-index:0;}
  .shero__video{
    position:absolute;inset:0;
    width:100%;height:100%;
    object-fit:cover;object-position:center;
    display:block;
  }
  .shero__bg .art{position:absolute;inset:0;}
  .shero__bg .fade{
    position:absolute;inset:0;
    background:linear-gradient(180deg, rgba(11,10,8,0.1) 0%, rgba(11,10,8,0.4) 45%, rgba(11,10,8,0.94) 88%);
  }
  .shero__label{
    position:absolute;top:110px;left:var(--pad);z-index:2;
    font-family:var(--mono);font-size:11px;letter-spacing:.15em;text-transform:uppercase;color:var(--ash-light);
  }
  .shero__content{
    position:relative;z-index:2;text-align:center;padding:0 var(--pad) 17vh;max-width:1000px;width:100%;
    opacity:0;transform:translateY(30px);transition:opacity 1.1s ease, transform 1.1s ease;
  }
  .shero__content.in{opacity:1;transform:none;}
  .shero__content h2{
    display:flex;flex-direction:column;align-items:center;
    font-family:var(--display);font-weight:400;font-size:clamp(28px,4.4vw,52px);line-height:1.15;color:var(--paper);
    margin:0 auto;text-align:center;
  }
  .shero__content h2 span{display:block;}
  @media (min-width:1025px){
    .shero__content h2 span{white-space:nowrap;}
  }
  .shero__content .sub{
    display:flex;flex-direction:column;align-items:center;
    font-family:var(--display);font-style:italic;color:var(--ash-light);
    font-size:clamp(14px,1.5vw,18px);margin:16px auto 0;
    max-width:52ch;text-align:center;
  }
  .shero__content .sub span{display:block;}
  @media (min-width:1025px){
    .shero__content .sub span{white-space:nowrap;}
  }
  .shero__scroll{
    position:absolute;bottom:calc(24px + 5vh);left:50%;transform:translateX(-50%);z-index:2;
    display:flex;flex-direction:column;align-items:center;gap:10px;color:var(--ash-light);
  }
  .shero__scroll span{font-family:var(--mono);font-size:10px;letter-spacing:.2em;text-transform:uppercase;}
  .shero__scroll .line{width:2px;height:34px;background:#444;position:relative;overflow:hidden;}
  .shero__scroll .line::after{
    content:'';position:absolute;top:-100%;left:0;width:100%;height:100%;background:var(--blood);
    animation:cueDrop 2.2s ease-in-out infinite;
  }
  @keyframes cueDrop{0%{top:-100%;}60%{top:100%;}100%{top:100%;}}

  /* ---------- Gallery ---------- */
  .gallery-sec{background:var(--paper);color:var(--ink);}
  .gallery-sec h2{
    font-family:var(--display);font-weight:400;font-size:clamp(24px,3.4vw,42px);
    line-height:1.15;margin:0 auto 44px;max-width:none;text-align:center;
  }
  @media (min-width:641px){
    .gallery-sec h2{white-space:nowrap;}
  }
  .pgrid{display:grid;grid-template-columns:repeat(4,1fr);gap:34px 26px;}
  .pcard{cursor:pointer;}
  .pcard__thumb{
    aspect-ratio:1/1;background:#0b0a08;overflow:hidden;position:relative;
    transition:transform .4s ease, box-shadow .4s ease;
  }
  .pcard__thumb > img,.modal__img > img{
    width:100%;height:100%;object-fit:cover;display:block;
  }
  .pcard:hover .pcard__thumb{transform:translateY(-6px);box-shadow:0 22px 40px rgba(11,10,8,0.22);}
  .pcard__thumb .art{position:absolute;inset:0;}
  .pcard__label{
    margin-top:16px;text-align:center;font-size:16px;font-weight:600;line-height:1.4;color:var(--ink);
  }
  .pcard__label b{display:block;font-weight:600;color:var(--ink);}
  .gallery-sec .shop-load-more{display:flex;width:fit-content;margin:48px auto 0;}

  /* ---------- Product Modal ---------- */
  .modal{
    position:fixed;inset:0;z-index:1000;
    display:flex;align-items:center;justify-content:center;
    background:rgba(8,7,6,0.86);
    opacity:0;visibility:hidden;
    transition:opacity .35s ease, visibility 0s linear .35s;
    padding:5vh 5vw;
  }
  .modal.open{opacity:1;visibility:visible;transition:opacity .35s ease;}
  .modal__frame{
    position:relative;width:100%;max-width:980px;max-height:90vh;overflow:auto;
    background:var(--paper);color:var(--ink);border-radius:6px;
    display:grid;grid-template-columns:1fr 1fr;
    transform:scale(.94);transition:transform .4s cubic-bezier(.2,.8,.2,1);
    box-shadow:0 40px 90px rgba(0,0,0,0.5);
  }
  .modal.open .modal__frame{transform:scale(1);}
  .modal__img{aspect-ratio:1/1;}
  .modal__img .art{position:absolute;inset:0;}
  .modal__body{padding:clamp(28px,4vw,50px);position:relative;}
  .modal__close{
    position:absolute;top:22px;right:22px;
    width:32px;height:32px;display:flex;align-items:center;justify-content:center;
    color:var(--ink);
  }
  .modal__close:hover{opacity:.6;}
  .modal__title{
    font-family:var(--body);font-weight:700;font-size:clamp(18px,2vw,24px);
    letter-spacing:.02em;text-transform:uppercase;max-width:80%;margin-bottom:26px;
  }
  .modal__row{
    display:flex;justify-content:space-between;align-items:center;
    padding:13px 0;border-bottom:1px solid var(--line-dark);
    font-size:14px;
  }
  .modal__row b{font-weight:600;}
  .modal__row span:last-child{color:#5a5546;}
  .modal__desc{
    margin-top:22px;padding:18px;background:var(--paper-dim);border-radius:6px;
    font-size:13.5px;line-height:1.7;color:#4a453a;
  }
  .modal__actions{display:flex;gap:14px;margin-top:26px;flex-wrap:wrap;}
  .modal__actions .btn{padding:14px 26px;border-radius:4px;}
  .btn--cart{background:var(--ink);color:var(--paper);border-color:var(--ink);}
  .btn--cart:hover{background:var(--blood-deep);border-color:var(--blood-deep);}
  .btn--inquire{background:transparent;color:var(--ink);border-color:var(--ink);}
  .btn--inquire:hover{background:var(--ink);color:var(--paper);}

  /* ---------- Footer ---------- */
  footer{background:var(--ink);border-top:1px solid var(--line);}
  .footer-top{
    display:flex;align-items:center;justify-content:space-between;gap:30px;flex-wrap:wrap;
    padding:60px var(--pad) 50px;border-bottom:1px solid var(--line);
  }
  .footer-top .eyebrow{margin-bottom:14px;display:block;}
  .brands{display:flex;gap:26px;flex-wrap:wrap;align-items:center;}
  .brand-chip{
    width:100px;height:56px;border:none;outline:none;
    display:flex;align-items:center;justify-content:center;
    font-family:var(--mono);font-size:9px;color:var(--ash);letter-spacing:.08em;text-align:center;padding:6px;
  }
  .footer-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr 1fr;gap:30px;padding:56px var(--pad);}
  .footer-grid h4{font-family:var(--mono);font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--gold);margin-bottom:18px;}
  .footer-grid .mark{font-family:var(--display);font-size:20px;margin-bottom:14px;}
  .footer-grid p{font-size:13px;color:var(--ash-light);line-height:1.9;}
  .footer-grid ul li{font-size:13px;color:var(--ash-light);margin-bottom:10px;}
  .footer-grid ul li a:hover{color:var(--paper);}
  .footer-bottom{text-align:center;padding:22px var(--pad) 34px;font-family:var(--mono);font-size:11px;color:var(--ash);}

  .reveal{opacity:0;transform:translateY(24px);transition:opacity .8s ease, transform .8s ease;}
  .reveal.in{opacity:1;transform:none;}

  /* ---------- Responsive ---------- */
  @media (max-width:1024px){
    .pgrid{grid-template-columns:repeat(3,1fr);}
    .footer-grid{grid-template-columns:1fr 1fr;}
    .modal__frame{grid-template-columns:1fr;max-width:560px;}
  }
  @media (max-width:640px){
    .shero{min-height:100vh;}
    .pgrid{grid-template-columns:repeat(2,1fr);gap:22px 16px;}
    .footer-grid{grid-template-columns:1fr 1fr;}
    .footer-top{flex-direction:column;align-items:flex-start;}
    .modal{padding:0;align-items:flex-start;overflow-y:auto;}
    .modal__frame{max-height:none;min-height:100dvh;height:auto;border-radius:0;overflow:visible;}
    .modal__img{aspect-ratio:4/3;max-height:45dvh;}
    .modal__body{position:static;padding:28px 22px 36px;}
    .modal__title{color:var(--paper);background:var(--ink);padding:12px 16px;}
    .modal__close{
      position:absolute;top:12px;right:12px;z-index:5;
      width:44px;height:44px;border-radius:50%;
      background:var(--paper);box-shadow:0 4px 16px rgba(0,0,0,.2);
    }
  }
