 /* Luxury editorial layout helpers (keeps your corporate CSS intact) */
    .lux-wrap{ width:min(1240px, calc(100% - 40px)); margin:0 auto; }

    .announce{
      position: sticky; top:0; z-index: 60;
      background: linear-gradient(180deg, rgba(209,15,47,1), rgba(155,11,34,1));
      color: rgba(255,255,255,0.96);
      border-bottom: 1px solid rgba(255,255,255,0.18);
    }
    .announce__inner{
      display:flex; gap:12px; align-items:center; justify-content:center;
      padding: 10px 0; font-weight: 700; letter-spacing: .01em;
      text-align:center; font-size: .92rem;
    }
    .announce a{ text-decoration: underline; font-weight: 800; }

    .header--lux{
      position: sticky; top: 42px; z-index: 55;
      background: rgba(246,247,249,0.86);
      backdrop-filter: blur(12px);
      border-bottom: 1px solid rgba(15,23,42,0.08);
    }
    .header--lux .header__inner{ padding: 16px 0; }
    .nav--lux{ gap: 20px; }
    .nav--lux a{ text-transform: none; letter-spacing: .02em; }

    /* Full-bleed hero slider */
    .hero-lux{
      position: relative;
      padding: 0;
      margin: 0;
      background: transparent;
    }
    .hero-lux__frame{
      position: relative;
      min-height: clamp(520px, 72vh, 760px);
      border-bottom: 1px solid rgba(15,23,42,0.08);
      overflow:hidden;
      background: #0b0f14;
    }
    .hero-lux__slide{
      position:absolute; inset:0;
      display:grid;
      grid-template-columns: 1fr;
      align-items: end;
      opacity: 0;
      transform: scale(1.01);
      transition: opacity .45s ease, transform .6s ease;
    }
    .hero-lux__slide.is-active{
      opacity: 1;
      transform: scale(1);
    }
    .hero-lux__media{
      position:absolute; inset:0;
      background-size: cover;
      background-position: center;
      filter: saturate(1.02) contrast(1.05);
      transform: scale(1.02);
    }
    .hero-lux__overlay{
      position:absolute; inset:0;
      background:
        linear-gradient(180deg, rgba(0,0,0,0.00) 0%, rgba(0,0,0,0.20) 35%, rgba(0,0,0,0.55) 100%),
        radial-gradient(900px 420px at 15% 15%, rgba(209,15,47,0.22), transparent 60%);
    }
    .hero-lux__content{
      position: relative;
      padding: 34px 0 34px;
    }
    .hero-lux__box{
      width: min(720px, 92vw);
      border-radius: 20px;
      border: 1px solid rgba(255,255,255,0.18);
      background: rgba(255,255,255,0.10);
      backdrop-filter: blur(14px);
      padding: 18px 18px;
      box-shadow: 0 24px 90px rgba(0,0,0,0.35);
      color: rgba(255,255,255,0.92);
    }
    .hero-lux__kicker{
      display:inline-flex; gap:10px; align-items:center;
      font-weight: 900; letter-spacing: .04em;
      text-transform: uppercase;
      font-size: .78rem;
      color: rgba(255,255,255,0.92);
    }
    .hero-lux__title{
      margin: 10px 0 8px;
      font-family: "Fraunces", ui-serif, Georgia, serif;
      font-size: clamp(2rem, 3.8vw, 3.2rem);
      line-height: 1.06;
      letter-spacing: -0.02em;
    }
    .hero-lux__desc{
      margin: 0 0 14px;
      color: rgba(255,255,255,0.84);
      font-size: 1.02rem;
      line-height: 1.65;
    }
    .hero-lux__cta{ display:flex; flex-wrap: wrap; gap: 10px; }

    .hero-lux__controls{
      position:absolute; left:0; right:0; bottom: 14px;
      display:flex; justify-content:center; gap: 8px;
      z-index: 3;
    }
    .dot{
      width: 10px; height: 10px; border-radius: 99px;
      border: 1px solid rgba(255,255,255,0.55);
      background: rgba(255,255,255,0.20);
      cursor:pointer;
    }
    .dot.is-active{
      background: rgba(255,255,255,0.90);
      border-color: rgba(255,255,255,0.90);
    }

    /* Category ribbon (RL-like quick categories) */
    .cat-ribbon{
      padding: 26px 0;
      background: rgba(255,255,255,0.78);
      border-bottom: 1px solid rgba(15,23,42,0.08);
    }
    .cat-grid{
      display:grid;
      grid-template-columns: repeat(4, 1fr);
      gap: 12px;
    }
    .cat{
      border-radius: 18px;
      border: 1px solid rgba(15,23,42,0.10);
      background: rgba(255,255,255,0.92);
      padding: 14px;
      box-shadow: 0 12px 28px rgba(2,6,23,0.06);
      transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
      min-height: 94px;
      display:flex; flex-direction:column; justify-content:space-between;
    }
    .cat:hover{ transform: translateY(-2px); border-color: rgba(209,15,47,0.22); box-shadow: 0 18px 46px rgba(2,6,23,0.10); }
    .cat strong{ font-weight: 900; letter-spacing: -0.01em; }
    .cat span{ color: rgba(15,23,42,0.70); font-size: .92rem; margin-top: 6px; }
    .cat a{ display:inline-flex; gap:8px; align-items:center; font-weight: 900; color: rgba(209,15,47,0.95); margin-top: 10px; }

    /* Editorial split blocks */
    .editorial{
      padding: 54px 0;
    }
    .editorial__grid{
      display:grid;
      grid-template-columns: 1fr 1fr;
      gap: 18px;
      align-items: stretch;
    }
    .ed-card{
      border-radius: 22px;
      border: 1px solid rgba(15,23,42,0.10);
      background: rgba(255,255,255,0.90);
      box-shadow: 0 18px 60px rgba(2,6,23,0.08);
      overflow:hidden;
      display:grid;
      grid-template-columns: 1fr;
    }
    .ed-media{
      min-height: 280px;
      background-size: cover;
      background-position: center;
    }
    .ed-body{
      padding: 18px;
    }
    .ed-kicker{
      font-weight: 900;
      text-transform: uppercase;
      letter-spacing: .08em;
      font-size: .75rem;
      color: rgba(209,15,47,0.92);
    }
    .ed-title{
      font-family: "Fraunces", ui-serif, Georgia, serif;
      font-size: 1.6rem;
      margin: 10px 0 8px;
      letter-spacing: -0.02em;
    }
    .ed-body p{ margin: 0 0 12px; }

    /* World-of (luxury grid) */
    .world{
      padding: 54px 0;
      background: linear-gradient(180deg, rgba(241,243,246,0.92), rgba(246,247,249,0.70));
      border-top: 1px solid rgba(15,23,42,0.08);
      border-bottom: 1px solid rgba(15,23,42,0.08);
    }
    .world__head{ margin-bottom: 16px; }
    .world__grid{
      display:grid;
      grid-template-columns: repeat(4, 1fr);
      gap: 12px;
    }
    .world-tile{
      border-radius: 22px;
      border: 1px solid rgba(15,23,42,0.10);
      background: rgba(255,255,255,0.92);
      overflow:hidden;
      box-shadow: 0 14px 40px rgba(2,6,23,0.07);
      display:flex;
      flex-direction: column;
      min-height: 320px;
      transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
    }
    .world-tile:hover{ transform: translateY(-2px); border-color: rgba(209,15,47,0.22); box-shadow: 0 20px 60px rgba(2,6,23,0.10); }
    .world-img{
      height: 160px;
      background-size: cover;
      background-position: center;
    }
    .world-body{ padding: 14px 14px 16px; display:flex; flex-direction:column; gap: 8px; }
    .world-body strong{ font-weight: 900; letter-spacing: -0.01em; }
    .world-body p{ margin:0; }
    .world-body a{ margin-top: auto; }

    /* Footer luxury columns */
    .footer--lux{
      background: rgba(255,255,255,0.85);
      border-top: 1px solid rgba(15,23,42,0.10);
    }
    .footer-cols{
      display:grid;
      grid-template-columns: 1.2fr 1fr 1fr 1fr;
      gap: 14px;
      padding: 22px 0 10px;
    }
    .foot-col strong{ display:block; margin-bottom: 10px; letter-spacing: -0.01em; }
    .foot-links{ display:flex; flex-direction:column; gap: 8px; color: rgba(15,23,42,0.72); font-weight: 700; }
    .foot-links a:hover{ text-decoration: underline; }
    .foot-bottom{
      display:flex; justify-content:space-between; gap: 12px; flex-wrap: wrap;
      padding: 16px 0 26px;
      color: rgba(15,23,42,0.70);
      font-weight: 700;
      border-top: 1px solid rgba(15,23,42,0.08);
    }

    @media (max-width: 1050px){
      .cat-grid{ grid-template-columns: 1fr 1fr; }
      .world__grid{ grid-template-columns: 1fr 1fr; }
      .editorial__grid{ grid-template-columns: 1fr; }
      .footer-cols{ grid-template-columns: 1fr 1fr; }
    }
    @media (max-width: 640px){
      .header--lux{ top: 42px; }
      .footer-cols{ grid-template-columns: 1fr; }
      .hero-lux__box{ padding: 16px; }
    }