
  :root{
    --void: #0a0a0a;
    --charcoal: #161616;
    --charcoal-2: #1f1f1f;
    --parchment: #f3f3f1;
    --parchment-dim: #a8a8a4;
    --brass: #e5e5e2;
    --brass-bright: #ffffff;
    --crimson: #f4c430;
    --steel: #707070;
    --line: rgba(255,255,255,0.14);
    --yellow: #f4c430;
    --yellow-bright: #ffd84d;
  }

  *{margin:0; padding:0; box-sizing:border-box;}

  html{scroll-behavior:smooth; overflow-x:hidden;}

  body{
    background:var(--void);
    color:var(--parchment);
    font-family:'Archivo', sans-serif;
    overflow-x:hidden;
  }

  ::selection{background:var(--brass); color:var(--void);}

  .display{
    font-family:'Anton', sans-serif;
    text-transform:uppercase;
    letter-spacing:0.01em;
    line-height:0.95;
  }

  .plaque-font{
    font-family:'Cormorant Garamond', serif;
    font-style:italic;
    letter-spacing:0.04em;
  }

  .eyebrow{
    font-family:'Archivo', sans-serif;
    font-weight:700;
    font-size:11px;
    letter-spacing:0.28em;
    text-transform:uppercase;
    color:var(--yellow);
  }

  a{color:inherit; text-decoration:none;}

  img{display:block; max-width:100%;}

  .wrap{
    max-width:1240px;
    margin:0 auto;
    padding:0 40px;
  }

  /* ================= NAV ================= */
  header{
    position:fixed;
    top:0; left:0; right:0;
    z-index:100;
    padding:22px 0;
    transition:background 0.4s ease, padding 0.4s ease, border-color 0.4s ease;
    border-bottom:1px solid transparent;
  }
  .announce-bar{
    text-align:center;
    padding:8px 20px;
    font-size:10.5px;
    letter-spacing:0.08em;
    text-transform:uppercase;
    color:var(--parchment-dim);
    background:rgba(0,0,0,0.25);
    border-bottom:1px solid var(--line);
    max-height:40px;
    overflow:hidden;
    transition:max-height 0.35s ease, opacity 0.35s ease, padding 0.35s ease, border-color 0.35s ease;
  }
  .announce-bar span{ margin-right:14px; }
  .announce-bar a{ color:var(--yellow); font-weight:700; }
  .announce-bar a:hover{ color:var(--yellow-bright); }
  header.scrolled .announce-bar{
    max-height:0;
    opacity:0;
    padding-top:0;
    padding-bottom:0;
    border-bottom-color:transparent;
  }
  @media(max-width:600px){
    .announce-bar span{ display:block; margin-right:0; }
    .announce-bar a{ display:block; margin-top:2px; }
    .announce-bar{ max-height:56px; }
  }
  header.scrolled{
    background:rgba(11,11,10,0.92);
    backdrop-filter:blur(10px);
    padding:14px 0;
    border-bottom:1px solid var(--line);
  }
  nav.wrap{
    display:flex;
    align-items:center;
    justify-content:space-between;
  }
  .logo-mark{height:34px; width:auto;}
  a:has(> .logo-mark){display:inline-flex; line-height:0;}
  .nav-links{
    display:flex;
    gap:36px;
    align-items:center;
  }
  .nav-links a{
    font-size:13px;
    font-weight:600;
    letter-spacing:0.08em;
    text-transform:uppercase;
    color:var(--parchment-dim);
    transition:color 0.25s ease;
    position:relative;
  }
  .nav-links a:hover{color:var(--brass-bright);}

  .nav-dropdown{position:relative;}
  .dropdown-trigger{
    display:flex;
    align-items:center;
    gap:6px;
  }
  .chevron{
    width:11px; height:11px;
    transition:transform 0.3s ease;
  }
  .nav-dropdown:hover .chevron,
  .nav-dropdown:focus-within .chevron{
    transform:rotate(180deg);
  }
  .dropdown-panel{
    position:absolute;
    top:100%;
    left:50%;
    transform:translate(-50%, 8px);
    margin-top:14px;
    min-width:240px;
    background:var(--charcoal);
    border:1px solid var(--line);
    padding:10px 0;
    opacity:0;
    visibility:hidden;
    transition:opacity 0.25s ease, transform 0.25s ease, visibility 0.25s ease;
    box-shadow:0 24px 48px rgba(0,0,0,0.5);
  }
  .dropdown-panel::before{
    content:'';
    position:absolute;
    top:-6px;
    left:50%;
    transform:translateX(-50%) rotate(45deg);
    width:10px; height:10px;
    background:var(--charcoal);
    border-left:1px solid var(--line);
    border-top:1px solid var(--line);
  }
  .nav-dropdown:hover .dropdown-panel,
  .nav-dropdown:focus-within .dropdown-panel{
    opacity:1;
    visibility:visible;
    transform:translate(-50%, 0);
  }
  .dropdown-panel a{
    display:block;
    padding:11px 22px;
    font-size:12.5px;
    font-weight:600;
    letter-spacing:0.06em;
    text-transform:uppercase;
    color:var(--parchment-dim);
    border-left:2px solid transparent;
    transition:color 0.2s ease, border-color 0.2s ease, background 0.2s ease, padding-left 0.2s ease;
    white-space:nowrap;
  }
  .dropdown-panel a:hover{
    color:var(--brass-bright);
    border-left-color:var(--brass);
    background:rgba(255,255,255,0.06);
    padding-left:26px;
  }
  .dropdown-panel a.all-link{
    border-top:1px solid var(--line);
    margin-top:6px;
    padding-top:16px;
    color:var(--brass);
  }
  .nav-cta{
    display:flex;
    align-items:center;
    gap:22px;
  }
  .icon-btn{
    width:20px; height:20px;
    display:flex;
    align-items:center;
    justify-content:center;
    color:var(--parchment-dim);
    transition:color 0.25s ease;
  }
  .icon-btn svg{width:20px; height:20px; flex-shrink:0;}
  .icon-btn:hover{color:var(--brass-bright);}
  .cart-count{
    font-size:9px;
    background:var(--brass);
    color:var(--void);
    border-radius:50%;
    width:14px; height:14px;
    min-width:14px; min-height:14px;
    flex-shrink:0;
    display:flex; align-items:center; justify-content:center;
    font-weight:800;
    position:relative;
    top:-8px; left:-8px;
  }
  @media(max-width:860px){
    .nav-links{display:none;}
  }

  .menu-toggle{
    display:none;
    flex-direction:column;
    justify-content:center;
    gap:5px;
    width:26px; height:20px;
    background:none;
    border:none;
    cursor:pointer;
    padding:0;
  }
  .menu-toggle span{
    display:block;
    width:100%;
    height:2px;
    background:var(--parchment);
    transition:transform 0.3s ease, opacity 0.3s ease;
  }
  .menu-toggle.open span:nth-child(1){transform:translateY(7px) rotate(45deg);}
  .menu-toggle.open span:nth-child(2){opacity:0;}
  .menu-toggle.open span:nth-child(3){transform:translateY(-7px) rotate(-45deg);}
  @media(max-width:860px){
    .menu-toggle{display:flex;}
  }

  .mobile-menu{
    display:none;
    flex-direction:column;
    background:var(--void);
    border-top:1px solid var(--line);
    border-bottom:1px solid var(--line);
    max-height:0;
    overflow:hidden;
    transition:max-height 0.35s ease;
  }
  .mobile-menu.open{
    display:flex;
    max-height:80vh;
    overflow-y:auto;
  }
  .mobile-menu > a{
    padding:16px 40px;
    font-family:'Anton', sans-serif;
    font-size:15px;
    letter-spacing:0.04em;
    text-transform:uppercase;
    color:var(--parchment);
    border-bottom:1px solid var(--line);
  }
  .mobile-submenu{
    display:flex;
    flex-direction:column;
    background:var(--charcoal);
  }
  .mobile-submenu a{
    padding:13px 52px;
    font-size:12.5px;
    font-weight:600;
    letter-spacing:0.05em;
    text-transform:uppercase;
    color:var(--parchment-dim);
    border-bottom:1px solid var(--line);
  }

  /* ================= HERO ================= */
  .hero{
    position:relative;
    min-height:100vh;
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    text-align:center;
    padding:126px 40px 80px;
    overflow:hidden;
  }
  .spotlight{
    position:absolute;
    top:-10%;
    left:50%;
    transform:translateX(-50%);
    width:1100px;
    height:1100px;
    background:radial-gradient(circle, rgba(255,255,255,0.10) 0%, rgba(255,255,255,0.04) 35%, rgba(11,11,10,0) 65%);
    pointer-events:none;
    animation:breathe 7s ease-in-out infinite;
  }
  @keyframes breathe{
    0%,100%{opacity:0.7; transform:translateX(-50%) scale(1);}
    50%{opacity:1; transform:translateX(-50%) scale(1.06);}
  }
  .floor-glow{
    position:absolute;
    bottom:0; left:50%;
    transform:translateX(-50%);
    width:900px; height:220px;
    background:radial-gradient(ellipse at center, rgba(255,255,255,0.08) 0%, rgba(11,11,10,0) 70%);
    pointer-events:none;
  }

  .hero-float-layer{
    position:absolute;
    inset:0;
    pointer-events:none;
    overflow:hidden;
  }
  .float-item{
    position:absolute;
    color:var(--brass);
    opacity:0.16;
    will-change:transform;
  }
  .float-1{ width:64px; height:64px; top:22%; left:12%; animation:drift1 13s ease-in-out infinite; }
  .float-2{ width:48px; height:48px; top:64%; left:82%; animation:drift2 16s ease-in-out infinite; }
  .float-3{ width:56px; height:56px; top:74%; left:16%; animation:drift3 15s ease-in-out infinite; }
  .float-4{ width:40px; height:40px; top:18%; left:80%; animation:drift1 11s ease-in-out infinite reverse; }
  @keyframes drift1{
    0%,100%{ transform:translate(0,0) rotate(0deg); }
    50%{ transform:translate(18px,-22px) rotate(6deg); }
  }
  @keyframes drift2{
    0%,100%{ transform:translate(0,0) rotate(0deg); }
    50%{ transform:translate(-20px,18px) rotate(-8deg); }
  }
  @keyframes drift3{
    0%,100%{ transform:translate(0,0) rotate(0deg); }
    50%{ transform:translate(14px,20px) rotate(5deg); }
  }
  @media(max-width:700px){
    .hero-float-layer{ display:none; }
  }

  .frame-object{
    position:relative;
    top:-230px;
    margin-top:155px;
    width:min(52vw, 620px);
    height:min(52vw, 620px);
    margin-bottom:-480px;
    z-index:2;
    opacity:0;
    animation:riseIn 1s ease forwards 0.15s;
  }
  @media(max-width:600px){
    .frame-object{width:min(80vw, 360px); height:min(80vw, 360px); top:-195px; margin-top:160px; margin-bottom:-300px;}
  }
  .hero h1{ position:relative; z-index:1; }
  .frame-object .inner{
    position:absolute;
    inset:0;
    display:flex;
    align-items:center;
    justify-content:center;
    color:var(--brass-bright);
  }
  .frame-object .inner svg{width:120px; height:120px; filter:drop-shadow(0 0 18px rgba(255,255,255,0.30));}

  .car-viewer-canvas{
    width:100%;
    height:100%;
    opacity:0;
    transition:opacity 0.8s ease;
  }
  .car-viewer-canvas.ready{opacity:1;}
  .car-viewer-canvas canvas{
    width:100% !important;
    height:100% !important;
    display:block;
    cursor:grab;
    touch-action:none;
  }
  .car-viewer-canvas canvas:active{cursor:grabbing;}

  .car-loading{
    display:flex;
    flex-direction:column;
    align-items:center;
    gap:14px;
    font-family:'Cormorant Garamond', serif;
    font-style:italic;
    font-size:14px;
    color:var(--steel);
    letter-spacing:0.04em;
  }
  .car-loading .spin{
    width:26px; height:26px;
    border-radius:50%;
    border:2px solid var(--line);
    border-top-color:var(--brass);
    animation:spin 0.9s linear infinite;
  }
  @keyframes spin{ to{transform:rotate(360deg);} }
  .car-hint{
    position:absolute;
    bottom:14px;
    left:50%;
    transform:translateX(-50%);
    font-size:10px;
    letter-spacing:0.14em;
    text-transform:uppercase;
    color:var(--steel);
    white-space:nowrap;
    opacity:0;
    transition:opacity 0.6s ease;
  }
  .car-hint.show{opacity:1;}

  .hero h1{
    opacity:0;
    animation:riseIn 1s ease forwards 0.35s;
    font-size:clamp(46px, 8vw, 96px);
    max-width:920px;
  }
  @media(max-width:600px){
    .hero h1{ font-size:32px; }
  }
  .hero h1 .accent{color:var(--yellow);}
  .hero p{
    opacity:0;
    animation:riseIn 1s ease forwards 0.55s;
    max-width:520px;
    margin:26px auto 0;
    color:var(--parchment-dim);
    font-size:16px;
    line-height:1.7;
  }
  @keyframes riseIn{
    from{opacity:0; transform:translateY(22px);}
    to{opacity:1; transform:translateY(0);}
  }

  .hero-ctas{
    opacity:0;
    animation:riseIn 1s ease forwards 0.75s;
    display:flex;
    gap:18px;
    margin-top:40px;
    flex-wrap:wrap;
    justify-content:center;
  }
  .btn-primary, .btn-ghost{
    padding:16px 34px;
    font-family:'Anton', sans-serif;
    font-size:14px;
    letter-spacing:0.06em;
    text-transform:uppercase;
    cursor:pointer;
    border:none;
    transition:all 0.25s ease;
  }
  .btn-primary{
    background:var(--brass);
    color:var(--void);
  }
  .btn-primary:hover{background:var(--brass-bright); transform:translateY(-2px);}
  .btn-ghost{
    background:transparent;
    border:1px solid var(--line);
    color:var(--parchment);
  }
  .btn-ghost:hover{border-color:var(--brass); color:var(--brass-bright);}

  .hero-plaque{
    opacity:0;
    animation:riseIn 1s ease forwards 0.95s;
    margin-top:70px;
    padding-top:18px;
    border-top:1px solid var(--line);
    display:flex;
    flex-wrap:wrap;
    justify-content:center;
    row-gap:8px;
    gap:28px;
    font-size:12px;
    letter-spacing:0.12em;
    text-transform:uppercase;
    color:var(--steel);
  }

  /* ================= TICKER ================= */
  .ticker-band{
    border-top:1px solid var(--line);
    border-bottom:1px solid var(--line);
    padding:18px 0;
    overflow:hidden;
    white-space:nowrap;
    background:var(--charcoal);
  }
  .ticker-track{
    display:inline-flex;
    animation:scroll-left 42s linear infinite;
  }
  .ticker-track span{
    display:inline-flex;
    align-items:center;
    font-family:'Anton', sans-serif;
    font-size:15px;
    letter-spacing:0.08em;
    text-transform:uppercase;
    color:var(--parchment-dim);
    padding:0 28px;
  }
  .ticker-track span::after{
    content:'◆';
    margin-left:28px;
    font-size:8px;
    color:var(--yellow);
  }
  @keyframes scroll-left{
    from{transform:translateX(0);}
    to{transform:translateX(-50%);}
  }

  /* ================= SECTION SHARED ================= */
  section{padding:120px 0;}
  .section-head{
    text-align:center;
    max-width:640px;
    margin:0 auto 64px;
  }
  .section-head h2{
    font-size:clamp(34px, 4.5vw, 54px);
    margin-top:14px;
  }
  .section-head p{
    color:var(--parchment-dim);
    margin-top:18px;
    font-size:15px;
    line-height:1.7;
  }

  .reveal{
    opacity:0;
    transform:translateY(28px);
    transition:opacity 0.8s ease, transform 0.8s ease;
  }
  .reveal.in{opacity:1; transform:translateY(0);}

  /* ================= COLLECTION GRID ================= */
  .collection-grid{
    display:grid;
    grid-template-columns:repeat(3, 1fr);
    gap:2px;
    background:var(--line);
    border:1px solid var(--line);
  }
  @media(max-width:920px){
    .collection-grid{grid-template-columns:repeat(2, 1fr);}
  }
  @media(max-width:600px){
    .collection-grid{grid-template-columns:1fr;}
  }
  .item-card{
    background:var(--charcoal);
    padding:42px 30px 28px;
    position:relative;
    transition:background 0.35s ease, transform 0.25s ease;
    transform-style:preserve-3d;
    cursor:pointer;
  }
  .fave-badge{
    position:absolute;
    top:0; left:0;
    background:var(--yellow);
    color:var(--void);
    font-family:'Anton', sans-serif;
    font-size:10px;
    letter-spacing:0.08em;
    text-transform:uppercase;
    padding:6px 14px;
    display:flex;
    align-items:center;
    gap:5px;
  }
  .fave-badge svg{width:10px; height:10px;}
  .item-card .cat-tag{
    font-size:11px;
    letter-spacing:0.1em;
    text-transform:uppercase;
    color:var(--brass);
    margin-bottom:8px;
    display:block;
  }
  .item-card .price-row{
    display:flex;
    align-items:center;
    justify-content:space-between;
    margin-top:20px;
    padding-top:14px;
    border-top:1px solid var(--line);
  }
  .item-card .price{
    font-family:'Anton', sans-serif;
    font-size:18px;
    color:var(--parchment);
    letter-spacing:0.02em;
  }
  .item-card .price span{
    font-family:'Archivo', sans-serif;
    font-size:11px;
    color:var(--steel);
    text-transform:uppercase;
    font-weight:600;
    margin-left:6px;
  }
  .add-cart-btn{
    background:transparent;
    border:1px solid var(--brass);
    color:var(--brass-bright);
    font-family:'Anton', sans-serif;
    font-size:11px;
    letter-spacing:0.06em;
    text-transform:uppercase;
    padding:9px 16px;
    cursor:pointer;
    transition:background 0.25s ease, color 0.25s ease;
  }
  .add-cart-btn:hover{background:var(--brass); color:var(--void);}
  .add-cart-btn.added{background:var(--brass); color:var(--void); border-color:var(--brass);}
  .item-card:hover{background:var(--charcoal-2);}
  .item-card .card-frame{
    position:relative;
    width:100%;
    height:130px;
    margin-bottom:26px;
    display:flex;
    align-items:center;
    justify-content:center;
  }
  .item-card .card-frame-photo{
    position:relative;
    height:280px;
    overflow:hidden;
    background:var(--void);
  }
  .item-card .card-frame-photo img{
    position:absolute;
    inset:0;
    width:100%;
    height:100%;
    object-fit:cover;
    object-position:center 30%;
    opacity:0;
    transition:opacity 0.4s ease, transform 0.5s ease;
    filter:brightness(0.94);
    pointer-events:none;
  }
  .item-card .card-frame-photo img.active{
    opacity:1;
  }
  .item-card:hover .card-frame-photo img.active{
    transform:scale(1.05);
  }
  .photo-dots{
    position:absolute;
    bottom:12px;
    left:0;
    right:0;
    display:flex;
    justify-content:center;
    gap:7px;
    z-index:2;
  }
  .photo-dot{
    width:7px; height:7px;
    border-radius:50%;
    border:1px solid rgba(255,255,255,0.6);
    background:rgba(255,255,255,0.25);
    padding:0;
    cursor:pointer;
    transition:background 0.25s ease, transform 0.25s ease;
  }
  .photo-dot.active{
    background:var(--yellow);
    border-color:var(--yellow);
    transform:scale(1.2);
  }
  .photo-arrow{
    position:absolute;
    top:50%;
    transform:translateY(-50%);
    width:28px; height:28px;
    border-radius:50%;
    border:none;
    background:rgba(0,0,0,0.4);
    color:var(--parchment);
    font-size:18px;
    line-height:1;
    cursor:pointer;
    display:flex;
    align-items:center;
    justify-content:center;
    opacity:0;
    transition:opacity 0.25s ease, background 0.25s ease;
    z-index:2;
  }
  .item-card:hover .photo-arrow{ opacity:1; }
  .photo-arrow:hover{ background:rgba(0,0,0,0.65); }
  .photo-prev{ left:10px; }
  .photo-next{ right:10px; }
  @media(max-width:860px){
    .photo-arrow{ opacity:1; background:rgba(0,0,0,0.5); }
  }
  .item-card .card-frame svg{
    width:64px; height:64px;
    color:var(--brass);
    transition:transform 0.4s ease, color 0.4s ease;
  }
  .item-card:hover .card-frame svg{
    transform:scale(1.12);
    color:var(--brass-bright);
  }
  .item-card .card-frame .corner{
    position:absolute;
    width:16px; height:16px;
    border-color:var(--line);
    transition:border-color 0.35s ease;
  }
  .item-card:hover .corner{border-color:var(--brass);}
  .corner.tl{top:0; left:0; border-top:1px solid; border-left:1px solid;}
  .corner.tr{top:0; right:0; border-top:1px solid; border-right:1px solid;}
  .corner.bl{bottom:0; left:0; border-bottom:1px solid; border-left:1px solid;}
  .corner.br{bottom:0; right:0; border-bottom:1px solid; border-right:1px solid;}

  .item-card h3{
    font-family:'Anton', sans-serif;
    font-size:20px;
    letter-spacing:0.02em;
    text-transform:uppercase;
  }
  .item-card .desc{
    color:var(--parchment-dim);
    font-size:13.5px;
    line-height:1.6;
    margin-top:10px;
    min-height:42px;
  }
  .item-card .plaque-line{
    margin-top:20px;
    padding-top:14px;
    border-top:1px solid var(--line);
    display:flex;
    justify-content:space-between;
    align-items:center;
    font-size:11px;
    letter-spacing:0.1em;
    text-transform:uppercase;
    color:var(--steel);
  }
  .item-card .plaque-line .obj-no{color:var(--yellow);}

  /* ================= PHILOSOPHY SPLIT ================= */
  .philosophy{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:80px;
    align-items:center;
  }
  @media(max-width:860px){
    .philosophy{grid-template-columns:1fr; gap:56px;}
  }
  .philosophy .eyebrow{margin-bottom:16px; display:block;}
  .philosophy h2{
    font-size:clamp(32px,4.2vw,50px);
    margin-bottom:24px;
  }
  .philosophy p{
    color:var(--parchment-dim);
    font-size:16px;
    line-height:1.8;
    margin-bottom:16px;
  }
  .compare{
    display:flex;
    gap:18px;
    align-items:center;
    justify-content:center;
  }
  .compare-card{
    flex:1;
    text-align:center;
    padding:34px 18px;
    border:1px solid var(--line);
    background:var(--charcoal);
  }
  .compare-card.before .box-icon{opacity:0.35; animation:rattle 3.2s ease-in-out infinite;}
  .compare-card svg{width:56px; height:56px; margin:0 auto 18px; color:var(--steel);}
  .compare-card.after svg{color:var(--brass-bright);}
  .compare-card .cap{
    font-family:'Anton', sans-serif;
    font-size:13px;
    letter-spacing:0.1em;
    text-transform:uppercase;
    color:var(--parchment-dim);
  }
  .compare-card.after{
    border-color:var(--brass);
    animation:glowpulse 3s ease-in-out infinite;
  }
  @keyframes rattle{
    0%, 92%, 100%{ transform:translateX(0) rotate(0deg); }
    93%{ transform:translateX(-2px) rotate(-2deg); }
    94%{ transform:translateX(2px) rotate(2deg); }
    95%{ transform:translateX(-2px) rotate(-1deg); }
    96%{ transform:translateX(2px) rotate(1deg); }
    97%{ transform:translateX(0) rotate(0deg); }
  }
  @keyframes glowpulse{
    0%,100%{ box-shadow:0 0 30px rgba(255,255,255,0.08); }
    50%{ box-shadow:0 0 48px rgba(255,255,255,0.18); }
  }
  .compare-arrow{
    color:var(--brass);
    font-size:22px;
    display:inline-block;
    animation:arrowshift 2.4s ease-in-out infinite;
  }
  @keyframes arrowshift{
    0%,100%{ transform:translateX(0); opacity:0.8; }
    50%{ transform:translateX(6px); opacity:1; }
  }

  /* ================= FEATURED SPOTLIGHT ================= */
  .featured{
    position:relative;
    background:var(--charcoal);
    border-top:1px solid var(--line);
    border-bottom:1px solid var(--line);
    overflow:hidden;
  }
  .featured-inner{
    display:grid;
    grid-template-columns:0.9fr 1.1fr;
    gap:70px;
    align-items:center;
  }
  @media(max-width:860px){
    .featured-inner{grid-template-columns:1fr;}
  }
  .featured-visual{
    position:relative;
    height:420px;
    display:flex;
    align-items:center;
    justify-content:center;
  }
  .featured-visual .glow{
    position:absolute;
    width:380px; height:380px;
    background:radial-gradient(circle, rgba(255,255,255,0.12) 0%, rgba(11,11,10,0) 70%);
  }
  .featured-visual .stage{
    position:relative;
    width:280px; height:340px;
    border:1px solid var(--line);
    display:flex;
    align-items:center;
    justify-content:center;
  }
  .featured-visual .stage .corner{position:absolute; width:22px; height:22px; border-color:var(--brass);}
  .featured-visual svg{width:150px; height:150px; color:var(--brass-bright); filter:drop-shadow(0 0 30px rgba(255,255,255,0.28)); animation:turntable 14s linear infinite;}
  @keyframes turntable{
    0%{ transform:perspective(400px) rotateY(0deg); }
    100%{ transform:perspective(400px) rotateY(360deg); }
  }
  .featured-tag{
    position:absolute;
    top:18px; left:18px;
    font-family:'Anton', sans-serif;
    font-size:10px;
    letter-spacing:0.1em;
    background:var(--yellow);
    color:var(--void);
    padding:6px 12px;
  }

  .featured-copy .eyebrow{margin-bottom:16px; display:block;}
  .featured-copy h2{font-size:clamp(30px,4vw,46px); margin-bottom:20px;}
  .featured-copy p{color:var(--parchment-dim); font-size:16px; line-height:1.8; margin-bottom:28px;}
  .stage-labels{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:18px;
    margin-top:8px;
  }
  .stage-labels div{
    border-top:1px solid var(--line);
    padding-top:12px;
  }
  .stage-labels .k{
    font-size:10px;
    letter-spacing:0.14em;
    text-transform:uppercase;
    color:var(--yellow);
    display:block;
    margin-bottom:6px;
  }
  .stage-labels .v{
    font-family:'Cormorant Garamond', serif;
    font-style:italic;
    font-size:16px;
    color:var(--parchment-dim);
  }

  /* ================= CRAFT ================= */
  .craft-grid{
    display:grid;
    grid-template-columns:repeat(3, 1fr);
    gap:60px;
  }
  @media(max-width:860px){
    .craft-grid{grid-template-columns:1fr; gap:48px;}
  }
  .craft-item{text-align:center;}
  .craft-item .num{
    font-family:'Cormorant Garamond', serif;
    font-style:italic;
    color:var(--brass);
    font-size:14px;
    margin-bottom:18px;
    display:block;
  }
  .craft-item svg{width:44px; height:44px; color:var(--brass-bright); margin:0 auto 22px; animation:bob 4s ease-in-out infinite;}
  .craft-item:nth-child(2) svg{ animation-delay:0.6s; }
  .craft-item:nth-child(3) svg{ animation-delay:1.2s; }
  @keyframes bob{
    0%,100%{ transform:translateY(0); }
    50%{ transform:translateY(-8px); }
  }
  .craft-item h3{
    font-family:'Anton', sans-serif;
    font-size:19px;
    letter-spacing:0.03em;
    text-transform:uppercase;
    margin-bottom:12px;
  }
  .craft-item p{
    color:var(--parchment-dim);
    font-size:14.5px;
    line-height:1.7;
    max-width:280px;
    margin:0 auto;
  }

  /* ================= PRODUCT PAGE ================= */
  .product-hero{
    padding:186px 0 100px;
  }
  .product-hero-inner{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:70px;
    align-items:flex-start;
  }
  @media(max-width:860px){
    .product-hero-inner{grid-template-columns:1fr; gap:36px;}
  }
  .product-gallery{
    position:relative;
    aspect-ratio:3 / 4;
    overflow:hidden;
    border:1px solid var(--line);
    background:var(--void);
  }
  .product-gallery img{
    position:absolute;
    inset:0;
    width:100%;
    height:100%;
    object-fit:cover;
    object-position:center 30%;
    opacity:0;
    transition:opacity 0.4s ease;
    filter:brightness(0.94);
    pointer-events:none;
  }
  .product-gallery img.active{
    opacity:1;
  }
  .product-gallery .photo-dot{ width:8px; height:8px; }
  .product-gallery .photo-arrow{ width:36px; height:36px; font-size:22px; opacity:1; }
  .product-info .breadcrumb{ text-align:left; margin-bottom:22px; }
  .product-info .cat-tag{ display:block; margin-bottom:10px; }
  .product-info h1{
    font-size:clamp(30px, 4vw, 48px);
    margin-bottom:18px;
  }
  .product-info .price{
    font-family:'Anton', sans-serif;
    font-size:28px;
    color:var(--parchment);
    margin-bottom:22px;
  }
  .product-info .price span{
    font-family:'Archivo', sans-serif;
    font-size:13px;
    color:var(--steel);
    text-transform:uppercase;
    font-weight:600;
    margin-left:8px;
  }
  .product-info .product-desc{
    color:var(--parchment-dim);
    font-size:15.5px;
    line-height:1.8;
    margin-bottom:32px;
    max-width:480px;
  }
  .product-info .btn-primary{
    padding:17px 40px;
    margin-bottom:32px;
  }
  .product-info .plaque-line{
    max-width:420px;
    padding-top:18px;
    border-top:1px solid var(--line);
    display:flex;
    justify-content:space-between;
    font-size:11px;
    letter-spacing:0.1em;
    text-transform:uppercase;
    color:var(--steel);
  }
  .product-info .plaque-line .obj-no{ color:var(--yellow); }
  .product-specs{
    margin-top:36px;
    display:grid;
    grid-template-columns:repeat(3, 1fr);
    gap:18px;
    max-width:480px;
  }
  .product-specs div{
    border-top:1px solid var(--line);
    padding-top:12px;
  }
  .product-specs .k{
    font-size:10px;
    letter-spacing:0.12em;
    text-transform:uppercase;
    color:var(--yellow);
    display:block;
    margin-bottom:6px;
  }
  .product-specs .v{
    font-family:'Cormorant Garamond', serif;
    font-style:italic;
    font-size:15px;
    color:var(--parchment-dim);
  }

  /* ================= CATEGORY PAGES ================= */
  .category-hero{
    position:relative;
    padding:186px 40px 64px;
    text-align:center;
    border-bottom:1px solid var(--line);
    overflow:hidden;
  }
  .category-hero > .wrap{
    position:relative;
    z-index:1;
  }
  .category-hero .banner-glow{
    position:absolute;
    top:-25%;
    left:50%;
    transform:translateX(-50%);
    width:900px;
    height:900px;
    background:radial-gradient(circle, rgba(255,255,255,0.07) 0%, rgba(255,255,255,0.02) 40%, rgba(10,10,10,0) 65%);
    pointer-events:none;
  }
  .category-hero .banner-icon{
    position:absolute;
    top:50%;
    left:50%;
    transform:translate(-50%, -46%);
    width:260px;
    height:260px;
    color:var(--steel);
    opacity:0.16;
    pointer-events:none;
  }
  .category-hero .banner-photo{
    position:absolute;
    inset:0;
    pointer-events:none;
  }
  .category-hero .banner-photo img{
    width:100%;
    height:100%;
    object-fit:cover;
    object-position:center 30%;
    opacity:0.32;
    filter:brightness(0.55) saturate(0.9);
  }
  .category-hero .banner-photo::after{
    content:'';
    position:absolute;
    inset:0;
    background:linear-gradient(180deg, rgba(10,10,10,0.15) 0%, var(--void) 92%);
  }
  @media(max-width:600px){
    .category-hero .banner-icon{ width:180px; height:180px; }
  }
  .breadcrumb{
    font-size:11.5px;
    letter-spacing:0.1em;
    text-transform:uppercase;
    color:var(--steel);
    margin-bottom:20px;
  }
  .breadcrumb a{ color:var(--parchment-dim); transition:color 0.25s ease; }
  .breadcrumb a:hover{ color:var(--brass-bright); }
  .breadcrumb .sep{ margin:0 8px; color:var(--steel); }
  .category-hero h1{
    font-size:clamp(38px, 6vw, 76px);
    margin:6px 0 18px;
  }
  .category-hero p{
    color:var(--parchment-dim);
    max-width:560px;
    margin:0 auto;
    font-size:15.5px;
    line-height:1.75;
  }
  .category-products{ padding:90px 0 120px; }

  .coming-soon{
    position:relative;
    max-width:640px;
    margin:0 auto;
    text-align:center;
    padding:80px 40px;
    border:1px solid var(--line);
  }
  .coming-soon .cs-corner{
    position:absolute;
    width:22px; height:22px;
    border-color:var(--brass);
  }
  .coming-soon .cs-corner.tl{ top:-1px; left:-1px; border-top:2px solid; border-left:2px solid; }
  .coming-soon .cs-corner.tr{ top:-1px; right:-1px; border-top:2px solid; border-right:2px solid; }
  .coming-soon .cs-corner.bl{ bottom:-1px; left:-1px; border-bottom:2px solid; border-left:2px solid; }
  .coming-soon .cs-corner.br{ bottom:-1px; right:-1px; border-bottom:2px solid; border-right:2px solid; }
  .coming-soon svg{
    width:40px; height:40px;
    color:var(--brass-bright);
    margin:0 auto 24px;
  }
  .coming-soon h2{
    font-size:clamp(24px, 3vw, 32px);
    margin-bottom:14px;
  }
  .coming-soon p{
    color:var(--parchment-dim);
    font-size:15px;
    line-height:1.75;
    max-width:440px;
    margin:0 auto 30px;
  }
  .coming-soon .cs-ctas{
    display:flex;
    gap:14px;
    justify-content:center;
    flex-wrap:wrap;
  }

  /* ================= CTA BANNER ================= */
  .cta-banner{
    text-align:center;
    padding:130px 40px;
    position:relative;
    border-top:1px solid var(--line);
    overflow:hidden;
  }
  .cta-banner .spotlight{
    width:800px; height:800px;
    top:-30%;
  }
  .cta-banner h2{
    font-size:clamp(36px,5.5vw,64px);
    max-width:760px;
    margin:0 auto;
    position:relative;
  }
  .cta-banner p{
    color:var(--parchment-dim);
    max-width:480px;
    margin:20px auto 36px;
    font-size:15px;
    position:relative;
  }

  /* ================= FOOTER ================= */
  footer{
    border-top:1px solid var(--line);
    padding:80px 0 30px;
  }
  .footer-top{
    display:grid;
    grid-template-columns:1.4fr 1fr 1fr 1fr 1.2fr;
    gap:40px;
    padding-bottom:60px;
  }
  @media(max-width:860px){
    .footer-top{grid-template-columns:repeat(2,1fr); row-gap:44px;}
  }
  .footer-brand .logo-mark{height:30px; margin-bottom:18px;}
  .footer-brand p{color:var(--steel); font-size:13.5px; line-height:1.7; max-width:240px;}
  .footer-col h4{
    font-size:11px;
    letter-spacing:0.14em;
    text-transform:uppercase;
    color:var(--brass);
    margin-bottom:20px;
  }
  .footer-col a{
    display:block;
    color:var(--parchment-dim);
    font-size:14px;
    margin-bottom:12px;
    transition:color 0.25s ease;
  }
  .footer-col a:hover{color:var(--brass-bright);}
  .footer-newsletter input{
    width:100%;
    background:transparent;
    border:none;
    border-bottom:1px solid var(--line);
    padding:10px 0;
    color:var(--parchment);
    font-size:14px;
    margin-bottom:16px;
  }
  .footer-newsletter input::placeholder{color:var(--steel);}
  .footer-newsletter input:focus{outline:none; border-color:var(--brass);}
  .footer-social{display:flex; gap:16px; margin-top:20px;}
  .footer-social a{color:var(--parchment-dim); transition:color 0.25s ease;}
  .footer-social a:hover{color:var(--brass-bright);}
  .footer-bottom{
    border-top:1px solid var(--line);
    padding-top:26px;
    display:flex;
    justify-content:space-between;
    align-items:center;
    flex-wrap:wrap;
    gap:14px;
    font-size:12px;
    letter-spacing:0.05em;
    color:var(--steel);
  }
  .footer-bottom a{color:var(--brass); transition:color 0.25s ease;}
  .footer-bottom a:hover{color:var(--brass-bright);}

  :focus-visible{outline:2px solid var(--brass); outline-offset:3px;}

  @media (prefers-reduced-motion: reduce){
    *{animation-duration:0.01ms !important; animation-iteration-count:1 !important; transition-duration:0.01ms !important;}
  }
