/* ============================================================
   Royal House by Sana — Luxury Design System
   Shared across the redesigned homepage, collections & builder.
   Ivory backgrounds · serif display · refined sans body ·
   restrained champagne/taupe accents · charcoal type.
   ============================================================ */
@import url('https://fonts.googleapis.com/css2?family=Playfair+Display:ital,wght@0,400;0,500;0,600;1,400&family=Cormorant+Garamond:ital,wght@0,400;0,500;0,600;1,400;1,500&family=Pinyon+Script&family=Inter:wght@300;400;500;600&display=swap');

:root{
  --rh-ivory:#FBF8F2;
  --rh-ivory-2:#F3ECDF;
  --rh-ivory-3:#EBE1CF;
  --rh-charcoal:#201C1A;
  --rh-charcoal-2:#2B2623;
  --rh-charcoal-soft:#524B43;
  --rh-champagne:#C6A66B;
  --rh-champagne-dk:#8C6B33;
  --rh-champagne-lt:#E6D3A8;
  --rh-taupe:#A99A86;
  --rh-line:#E4DBC9;
  --rh-white:#ffffff;
  --rh-serif:'Playfair Display', Georgia, 'Times New Roman', serif;
  --rh-sans:'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  --rh-maxw:1240px;
  --rh-gutter:clamp(20px,5vw,64px);
}

*,*::before,*::after{ box-sizing:border-box; }
html{ overflow-x:hidden; } /* closed mobile drawer must never widen the page */

.rh{ /* scope class applied to <body> on redesigned pages */
  margin:0;
  background:var(--rh-ivory);
  color:var(--rh-charcoal);
  font-family:var(--rh-sans);
  font-weight:400;
  font-size:16px;
  line-height:1.7;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
  overflow-x:hidden; overflow-x:clip; /* the closed mobile menu drawer must not widen the page */
}
.rh img{ max-width:100%; display:block; }
.rh a{ color:inherit; text-decoration:none; }

/* ---- Typography ---- */
.rh h1,.rh h2,.rh h3,.rh h4{ font-family:var(--rh-serif); font-weight:500; color:var(--rh-charcoal); line-height:1.1; margin:0; letter-spacing:.01em; }
.rh-display{ font-size:clamp(2.4rem,6vw,4.6rem); font-weight:500; line-height:1.03; }
.rh-h2{ font-size:clamp(1.9rem,3.6vw,3rem); }
.rh-h3{ font-size:clamp(1.3rem,2.2vw,1.9rem); }
.rh-eyebrow{ font-family:var(--rh-sans); text-transform:uppercase; letter-spacing:.34em; font-size:11.5px; font-weight:600; color:var(--rh-champagne-dk); margin:0 0 18px; }
.rh-lead{ font-size:clamp(1.02rem,1.3vw,1.18rem); color:var(--rh-charcoal-soft); line-height:1.75; }
.rh-muted{ color:var(--rh-charcoal-soft); }

/* ---- Layout ---- */
.rh-container{ width:100%; max-width:var(--rh-maxw); margin:0 auto; padding-inline:var(--rh-gutter); }
.rh-section{ padding-block:clamp(56px,9vw,120px); }
.rh-section--tight{ padding-block:clamp(40px,6vw,72px); }
.rh-divider{ width:72px; height:1px; background:var(--rh-champagne); border:0; margin:0 0 26px; }
.rh-center{ text-align:center; }
.rh-center .rh-divider{ margin-inline:auto; }

/* Alternating tones for rhythm & contrast */
.rh-section--ivory2{ background:var(--rh-ivory-2); }
.rh-section--white{ background:var(--rh-white); }
.rh-section--dark{ background:var(--rh-charcoal); color:#ece4d6; }
.rh-section--dark h1,.rh-section--dark h2,.rh-section--dark h3,.rh-section--dark h4{ color:#fff; }
.rh-section--dark .rh-eyebrow{ color:var(--rh-champagne-lt); }
.rh-section--dark .rh-lead,.rh-section--dark .rh-muted,.rh-section--dark p{ color:#d7cdbd; }
.rh-section--dark .rh-divider{ background:var(--rh-champagne); }
.rh-section--dark .rh-split__media{ background:#2b2623; box-shadow:0 30px 60px rgba(0,0,0,.35); }
.rh-section--dark .rh-btn--primary{ background:var(--rh-champagne); border-color:var(--rh-champagne); color:#201C1A; }
.rh-section--dark .rh-btn--primary:hover{ background:var(--rh-champagne-lt); border-color:var(--rh-champagne-lt); color:#201C1A; }
.rh-section--dark .rh-link{ color:var(--rh-champagne-lt); border-color:var(--rh-champagne); }
.rh-section--dark .rh-link:hover{ color:#fff; border-color:#fff; }

/* ---- Buttons ---- */
.rh-btn{ display:inline-flex; align-items:center; justify-content:center; gap:10px; cursor:pointer;
  font-family:var(--rh-sans); font-size:12.5px; font-weight:600; letter-spacing:.18em; text-transform:uppercase;
  padding:15px 34px; border:1px solid var(--rh-charcoal); border-radius:2px; background:transparent; color:var(--rh-charcoal);
  transition:background .25s ease,color .25s ease,border-color .25s ease; }
.rh-btn:hover{ background:var(--rh-charcoal); color:var(--rh-ivory); }
.rh-btn--primary{ background:var(--rh-charcoal); color:var(--rh-ivory); border-color:var(--rh-charcoal); }
.rh-btn--primary:hover{ background:var(--rh-champagne-dk); border-color:var(--rh-champagne-dk); color:#fff; }
.rh-btn--gold{ border-color:var(--rh-champagne); color:var(--rh-champagne-dk); }
.rh-btn--gold:hover{ background:var(--rh-champagne); border-color:var(--rh-champagne); color:#fff; }
.rh-btn--ghost{ border-color:rgba(255,255,255,.7); color:#fff; }
.rh-btn--ghost:hover{ background:#fff; color:var(--rh-charcoal); border-color:#fff; }
.rh-btn--sm{ padding:10px 20px; letter-spacing:.14em; }
/* Anchor buttons: beat generic `.rh a{color:inherit}` and nav link colors */
.rh a.rh-btn{ color:var(--rh-charcoal); }
.rh a.rh-btn:hover{ color:var(--rh-ivory); }
.rh a.rh-btn--primary{ color:var(--rh-ivory); }
.rh a.rh-btn--primary:hover{ color:#fff; }
.rh a.rh-btn--gold{ color:var(--rh-champagne-dk); }
.rh a.rh-btn--gold:hover{ color:#fff; }
.rh a.rh-btn--ghost{ color:#fff; }
.rh a.rh-btn--ghost:hover{ color:var(--rh-charcoal); }
.rh-section--dark a.rh-btn--primary{ color:#201C1A; }
.rh-link{ font-family:var(--rh-sans); text-transform:uppercase; letter-spacing:.2em; font-size:11.5px; font-weight:600; color:var(--rh-champagne-dk); border-bottom:1px solid var(--rh-champagne); padding-bottom:3px; transition:color .2s; }
.rh-link:hover{ color:var(--rh-charcoal); border-color:var(--rh-charcoal); }

/* ---- Header / Nav ---- */
.rh-header{ font-family:'Cormorant Garamond', Georgia, serif; position:sticky; top:0; z-index:100; background:#fff; backdrop-filter:none; -webkit-backdrop-filter:none; border-bottom:1px solid var(--rh-line); }
.rh-nav{ display:flex; align-items:center; justify-content:space-between; gap:24px; min-height:78px; }
.rh-nav__brand{ display:flex; align-items:center; gap:12px; }
.rh-nav__brand img{ height:46px; width:auto; }
.rh-nav__brand-text{ font-family:var(--rh-serif); font-size:1.15rem; letter-spacing:.02em; line-height:1; }
.rh-nav__brand-text small{ display:block; font-family:var(--rh-sans); font-size:9px; letter-spacing:.34em; text-transform:uppercase; color:var(--rh-champagne-dk); margin-top:4px; }
.rh-nav__links{ display:flex; align-items:center; gap:30px; list-style:none; margin:0; padding:0; }
.rh-nav__links a{ font-size:12px; letter-spacing:.15em; text-transform:uppercase; font-weight:400; color:var(--rh-charcoal); transition:color .2s; }
.rh-nav__links a:hover,.rh-nav__links a.is-active{ color:var(--rh-champagne-dk); }
.rh-nav__cta{ margin-left:6px; }
.rh-nav__toggle{ display:none; background:none; border:0; cursor:pointer; padding:8px; }
.rh-nav__toggle span{ display:block; width:24px; height:1.5px; background:var(--rh-charcoal); margin:5px 0; transition:.3s; }

/* On desktop, let the header breathe across the full viewport while keeping
   the menu quiet and tailored. The regular container width still applies to
   the page content below it. */
@media(min-width:861px){
  .rh-header .rh-nav{ max-width:none; padding-inline:clamp(28px,4vw,72px); min-height:74px; gap:36px; }
  .rh-nav__brand{ gap:10px; }
  .rh-nav__brand img{ height:42px; }
  .rh-nav__brand-text{ font-size:1.05rem; font-weight:400; }
  .rh-nav__links{ gap:clamp(22px,2.35vw,42px); }
  .rh-nav__links a{ font-size:11.5px; font-weight:400; letter-spacing:.13em; }
  .rh-nav__cta .rh-btn{ padding:9px 17px; font-size:10.5px; font-weight:500; }

  /* Center the page links in the header; the CTA stays pinned to the right. */
  .rh-header .rh-nav{ position:relative; }
  .rh-header .rh-nav__links{ position:absolute; inset:0; justify-content:center; pointer-events:none; }
  .rh-header .rh-nav__links li{ pointer-events:auto; }
  .rh-header .rh-nav__brand{ position:relative; z-index:1; }
  .rh-header .rh-nav__cta{ position:absolute; right:clamp(28px,4vw,72px); top:50%; transform:translateY(-50%); margin:0; }
  .rh-header .rh-nav__account{ position:absolute; right:clamp(28px,4vw,72px); top:50%; transform:translateY(-50%); margin:0; line-height:0; }
}

/* Header CTA: borderless text link with a right arrow */
.rh-header .rh-nav__cta a.rh-btn{ position:relative; display:inline-flex; align-items:center; gap:10px; padding:9px 4px; border:0; border-radius:0; background:transparent;
  font-family:var(--rh-sans); font-size:10.5px; font-weight:500; letter-spacing:.14em; text-transform:uppercase; color:#000;
  transition:color .3s ease; }
.rh-header .rh-nav__cta a.rh-btn::after{ content:"\2192"; position:static; width:auto; height:auto; background:none; transform:none; font-size:15px; letter-spacing:0; line-height:1; transition:transform .35s cubic-bezier(.22,1,.36,1); }
.rh-header .rh-nav__cta a.rh-btn:hover{ background:transparent; border:0; color:var(--rh-champagne-dk); }
.rh-header .rh-nav__cta a.rh-btn:hover::after{ left:auto; transform:translateX(5px); }

/* Portal login (head icon) — same gold as the CTA border */
.rh-header .rh-nav__account a{ display:inline-flex; align-items:center; gap:12px; color:var(--rh-champagne); transition:color .25s ease; }
.rh-header .rh-nav__account a:hover{ color:var(--rh-charcoal); }
.rh-nav__account-label{ position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0 0 0 0); white-space:nowrap; }

/* ---- Footer ---- */
.rh-footer{ background:var(--rh-charcoal); color:#e9e2d6; }
.rh-footer a{ color:#e9e2d6; }
.rh-footer a:hover{ color:var(--rh-champagne); }
.rh-footer__grid{ display:grid; grid-template-columns:1.4fr 1fr 1fr; gap:48px; padding-block:clamp(48px,7vw,84px); }
.rh-footer__brand img{ height:56px; margin-bottom:18px; filter:brightness(0) invert(1); opacity:.92; }
.rh-footer h4{ color:#fff; font-size:13px; font-family:var(--rh-sans); text-transform:uppercase; letter-spacing:.22em; margin:0 0 18px; font-weight:600; }
.rh-footer ul{ list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:12px; }
.rh-footer li,.rh-footer p{ font-size:14px; color:#c7bfb2; line-height:1.7; }
.rh-footer__bottom{ border-top:1px solid rgba(255,255,255,.12); padding-block:22px; display:flex; justify-content:space-between; gap:16px; flex-wrap:wrap; font-size:12px; color:#9c9484; letter-spacing:.04em; }

/* ---- Cards / collections ---- */
.rh-grid{ display:grid; gap:clamp(20px,3vw,40px); }
.rh-grid--2{ grid-template-columns:repeat(2,1fr); }
.rh-grid--3{ grid-template-columns:repeat(3,1fr); }
.rh-grid--4{ grid-template-columns:repeat(4,1fr); }

.rh-collection{ display:block; }
.rh-collection__media{ position:relative; aspect-ratio:3/4; overflow:hidden; background:var(--rh-ivory-2); border:1px solid var(--rh-line); }
.rh-collection__media::after{ content:""; position:absolute; inset:0; background:linear-gradient(0deg,rgba(26,22,20,.22),rgba(26,22,20,0) 42%); opacity:0; transition:opacity .4s ease; }
.rh-collection:hover .rh-collection__media::after{ opacity:1; }
.rh-collection__media img{ width:100%; height:100%; object-fit:cover; transition:transform .7s cubic-bezier(.22,1,.36,1); }
.rh-collection:hover .rh-collection__media img{ transform:scale(1.05); }
.rh-collection__n{ display:inline-flex; align-items:center; gap:9px; font-family:var(--rh-sans); font-size:10.5px; font-weight:600; letter-spacing:.26em; text-transform:uppercase; color:var(--rh-champagne-dk); margin:20px 0 8px; }
.rh-collection__n::before{ content:""; width:22px; height:1px; background:var(--rh-champagne); display:inline-block; }
.rh-collection__title{ font-size:1.5rem; margin:0 0 8px; }
.rh-collection__media + .rh-collection__title{ margin-top:20px; }
.rh-collection__desc{ color:var(--rh-charcoal-soft); font-size:14.5px; margin:0 0 14px; }

/* ---- Editorial (The Royal House Edit) ---- */
.rh-edit__item{ position:relative; overflow:hidden; }
.rh-edit__item img{ width:100%; height:100%; object-fit:cover; aspect-ratio:4/5; transition:transform .7s cubic-bezier(.22,1,.36,1); }
.rh-edit__item img.rh-edit__image--center{
  /* Same 4/5 crop as the other Edit tiles, aimed at the stage/steps (slightly right of image center). */
  object-fit:cover;
  object-position:52% 50%;
}
.rh-edit__item:hover img{ transform:scale(1.04); }
.rh-edit__cap{ margin-top:14px; }
.rh-edit__cap .k{ font-size:11px; letter-spacing:.26em; text-transform:uppercase; color:var(--rh-champagne-dk); }
.rh-edit__cap .t{ font-family:var(--rh-serif); font-size:1.2rem; margin-top:4px; }

/* ---- Split feature ---- */
.rh-split{ display:grid; grid-template-columns:1fr 1fr; align-items:center; gap:clamp(28px,5vw,72px); }
.rh-split__media{ aspect-ratio:4/5; overflow:hidden; background:var(--rh-ivory-2); }
.rh-split__media img{ width:100%; height:100%; object-fit:cover; }

/* ---- Testimonials ---- */
.rh-quote{ background:var(--rh-white); border:1px solid var(--rh-line); padding:26px 34px 24px; display:flex; flex-direction:column; gap:12px; }
.rh-quote__stars{ color:var(--rh-champagne); letter-spacing:3px; font-size:13px; }
.rh-quote__text{ margin:0; font-family:var(--rh-serif); font-style:italic; font-weight:400; font-size:1.08rem; line-height:1.55; color:var(--rh-charcoal); }
.rh-quote__who{ font-family:var(--rh-sans); font-size:11px; letter-spacing:.16em; text-transform:uppercase; color:var(--rh-charcoal-soft); font-weight:400; }
.rh-quote__who strong{ font-family:var(--rh-serif); font-style:normal; text-transform:none; font-weight:500; font-size:1.08rem; letter-spacing:.01em; color:var(--rh-charcoal); display:block; margin-bottom:5px; }

/* ---- Hero ---- */
.rh-hero{ position:relative; min-height:clamp(560px,86vh,860px); display:flex; align-items:center; overflow:hidden; }
.rh-hero__media{ position:absolute; inset:0; z-index:0; }
.rh-hero__media img,.rh-hero__media video{ width:100%; height:100%; object-fit:cover; }
.rh-hero__scrim{ position:absolute; inset:0; z-index:1;
  background:linear-gradient(90deg,rgba(26,22,20,.78) 0%,rgba(26,22,20,.55) 42%,rgba(26,22,20,.18) 72%,rgba(26,22,20,.05) 100%),
             linear-gradient(0deg,rgba(26,22,20,.35) 0%,rgba(26,22,20,0) 40%); }
.rh-hero__inner{ position:relative; z-index:2; color:#fff; max-width:660px; }
.rh-hero__inner .rh-eyebrow{ color:var(--rh-champagne-lt); }
.rh-hero .rh-hero__title{ color:#fff; font-size:clamp(2.6rem,6vw,4.8rem); line-height:1.02; margin:0 0 20px; text-shadow:0 2px 24px rgba(0,0,0,.35); }
.rh-hero .rh-hero__sub{ color:rgba(255,255,255,.95); font-size:1.12rem; max-width:480px; margin:0 0 34px; text-shadow:0 1px 14px rgba(0,0,0,.35); }
.rh-hero__actions{ display:flex; gap:16px; flex-wrap:wrap; }
.rh-hero__video{ display:none; }

/* ---- Utilities ---- */
.rh-badge{ display:inline-block; font-size:11px; letter-spacing:.16em; text-transform:uppercase; color:var(--rh-champagne-dk); border:1px solid var(--rh-champagne); border-radius:100px; padding:5px 14px; }
.rh-price{ font-family:var(--rh-sans); font-weight:600; }
.rh-price--tbd{ color:var(--rh-charcoal-soft); font-style:italic; font-weight:400; font-size:13.5px; }

/* ============================================================
   Responsive
   ============================================================ */
@media(max-width:1024px){
  .rh-grid--4{ grid-template-columns:repeat(2,1fr); }
  .rh-footer__grid{ grid-template-columns:1fr 1fr; gap:36px; }
}
@media(max-width:860px){
  /* Mobile navigation returns to the original drawer treatment: it slides in
     beside the page instead of expanding beneath the header. */
  .rh-nav__links{ position:fixed; inset:0 0 0 auto; z-index:201; width:min(86vw,360px); min-height:100dvh;
    flex-direction:column; align-items:stretch; justify-content:center; gap:0;
    background:var(--rh-ivory); border-left:1px solid var(--rh-line); padding:86px 32px 36px;
    transform:translateX(105%); transition:transform .35s cubic-bezier(.22,1,.36,1); box-shadow:-20px 0 50px rgba(0,0,0,.12); }
  .rh-nav__links.is-open{ transform:translateX(0); }
  .rh-nav__links a{ display:block; padding:15px 0; font-size:13px; width:100%; border-bottom:1px solid var(--rh-line); }
  .rh-nav__links .rh-nav__cta{ margin:22px 0 0; }
  .rh-nav__links .rh-nav__cta a{ text-align:center; border-bottom:0; }
  .rh-header .rh-nav__links .rh-nav__account a{ padding:18px 0 0; border-bottom:0; }
  .rh-nav__account-label{ position:static; width:auto; height:auto; clip:auto; font-size:12px; letter-spacing:.15em; text-transform:uppercase; }
  .rh-nav__toggle{ display:block; }
  .rh-nav__toggle[aria-expanded="true"]{ position:relative; z-index:202; }
  .rh-nav__toggle[aria-expanded="true"] span{ position:absolute; right:8px; top:50%; }
  .rh-nav__toggle[aria-expanded="true"] span:nth-child(1){ transform:rotate(45deg); }
  .rh-nav__toggle[aria-expanded="true"] span:nth-child(2){ opacity:0; }
  .rh-nav__toggle[aria-expanded="true"] span:nth-child(3){ transform:rotate(-45deg); }
  .rh-nav-drawer-backdrop{ position:fixed; inset:0; z-index:200; background:rgba(26,22,20,.38); opacity:0; visibility:hidden;
    transition:opacity .3s ease,visibility .3s ease; }
  .rh-nav-drawer-backdrop.is-visible{ opacity:1; visibility:visible; }
  body.rh-nav-drawer-open{ overflow:hidden; }
  .rh-split{ grid-template-columns:1fr; }
  .rh-grid--3{ grid-template-columns:1fr 1fr; }
}
@media(max-width:620px){
  .rh-grid--2,.rh-grid--3,.rh-grid--4{ grid-template-columns:1fr; }
  .rh-footer__grid{ grid-template-columns:1fr; }
  /* Mobile-only video hero */
  .rh-hero__image{ display:none; }
  .rh-hero__video{ display:block; }
  .rh-hero__scrim{ background:linear-gradient(180deg,rgba(38,34,32,.35) 0%,rgba(38,34,32,.15) 45%,rgba(38,34,32,.65) 100%); }
  .rh-hero__inner{ text-align:center; margin-inline:auto; }
  .rh-hero__actions{ justify-content:center; }
}

@media(prefers-reduced-motion:reduce){
  .rh *{ animation:none !important; transition:none !important; }
  .rh-hero__video video{ display:none; }
}


/* ================= Mobile polish ================= */
@media(max-width:620px){
  /* Collections: compact two-up grid so all four are visible without endless scrolling */
  .rh-grid:has(> .rh-collection){ grid-template-columns:repeat(2,minmax(0,1fr)); gap:22px 14px; }
  .rh-collection__media{ aspect-ratio:4/5; }
  .rh-collection .rh-collection__title{ font-size:1.12rem; line-height:1.2; margin:14px 0 8px; }
  .rh-collection__desc{ font-size:12.5px; line-height:1.5; margin:0 0 10px; }
  .rh-collection .rh-link{ font-size:10px; letter-spacing:.16em; }
  /* Comfortable tap targets and no iOS zoom-on-focus */
  .rh input[type=text],.rh input[type=email],.rh input[type=tel],.rh input[type=date],.rh input[type=number],.rh input[type=password],.rh select,.rh textarea{ font-size:16px !important; }
  .rh .rh-btn{ min-height:46px; }
  .rh-section{ padding-block:clamp(40px,10vw,64px); }
  .rh-footer__grid{ gap:28px; }
}


/* ================= Mobile menu: full-page light overlay ================= */
.rh-nav__social{ display:none; }
@media(max-width:860px){
  .rh-nav-drawer-backdrop{ display:none !important; }
  /* a backdrop-filter on the header would trap the fixed overlay inside it */
  body.rh-nav-drawer-open .rh-header{ backdrop-filter:none; -webkit-backdrop-filter:none; }
  .rh-header .rh-nav__links{
    position:fixed; inset:0; z-index:201; width:100%; min-height:100dvh; height:100dvh; margin:0;
    display:flex; flex-direction:column; align-items:center; justify-content:center; gap:0; text-align:center;
    padding:max(84px,env(safe-area-inset-top)) 28px max(36px,env(safe-area-inset-bottom));
    background:radial-gradient(120% 80% at 50% 0%, #FFFDF8 0%, var(--rh-ivory) 55%, #F3EBDD 100%);
    border:0; box-shadow:none; transform:none; pointer-events:none;
    opacity:0; visibility:hidden; transition:opacity .4s ease, visibility .4s ease; overflow-y:auto;
  }
  .rh-header .rh-nav__links.is-open{ opacity:1; visibility:visible; pointer-events:auto; }
  .rh-header .rh-nav__links::before{
    content:"Menu"; display:block; font-family:'Pinyon Script',cursive; font-size:clamp(3.2rem,16vw,4.6rem); line-height:1;
    color:var(--rh-charcoal); margin:0 0 6px;
  }
  .rh-header .rh-nav__links li{ width:100%; display:flex; justify-content:center; pointer-events:auto;
    opacity:0; transform:translateY(10px); transition:opacity .5s ease, transform .5s ease; }
  .rh-header .rh-nav__links.is-open li{ opacity:1; transform:none; }
  .rh-header .rh-nav__links.is-open li:nth-child(1){ transition-delay:.08s; }
  .rh-header .rh-nav__links.is-open li:nth-child(2){ transition-delay:.13s; }
  .rh-header .rh-nav__links.is-open li:nth-child(3){ transition-delay:.18s; }
  .rh-header .rh-nav__links.is-open li:nth-child(4){ transition-delay:.23s; }
  .rh-header .rh-nav__links.is-open li:nth-child(5){ transition-delay:.28s; }
  .rh-header .rh-nav__links.is-open li:nth-child(6){ transition-delay:.33s; }
  .rh-header .rh-nav__links.is-open li:nth-child(7){ transition-delay:.38s; }
  .rh-header .rh-nav__links.is-open li:nth-child(8){ transition-delay:.43s; }
  .rh-header .rh-nav__links li a{ display:block; width:auto; border:0; padding:clamp(11px,2.6vh,18px) 6px;
    font-family:'Cormorant Garamond',Georgia,serif; font-size:clamp(1.05rem,4.6vw,1.3rem); font-weight:500; letter-spacing:.3em; text-transform:uppercase; color:var(--rh-charcoal) !important; }
  .rh-header .rh-nav__links li a:hover,.rh-header .rh-nav__links li a.is-active{ color:var(--rh-champagne-dk) !important; }
  /* gold hairline under the title */
  .rh-header .rh-nav__links li:first-child{ margin-top:18px; position:relative; }
  .rh-header .rh-nav__links li:first-child::before{ content:""; position:absolute; top:-6px; left:50%; width:56px; height:1px; margin-left:-28px; background:var(--rh-champagne); }
  /* CTA */
  .rh-header .rh-nav__links .rh-nav__cta{ margin:24px 0 0; }
  .rh-header .rh-nav__links .rh-nav__cta a.rh-btn{ position:relative; padding:14px 6px; font-family:var(--rh-sans); font-size:11px; letter-spacing:.2em; border:0; color:#000 !important; min-height:0; }
  .rh-header .rh-nav__links .rh-nav__cta a.rh-btn:hover{ color:var(--rh-champagne-dk) !important; }
  /* Portal login + Instagram row */
  .rh-header .rh-nav__links .rh-nav__account{ margin-top:22px; }
  .rh-header .rh-nav__links .rh-nav__account a{ display:inline-flex; align-items:center; gap:10px; padding:8px 6px; color:var(--rh-champagne-dk) !important; font-family:var(--rh-sans); font-size:11px; letter-spacing:.2em; }
  .rh-header .rh-nav__links .rh-nav__social{ display:flex; margin-top:2px; }
  .rh-header .rh-nav__links .rh-nav__social a{ display:inline-flex; align-items:center; gap:10px; padding:8px 6px; color:var(--rh-champagne-dk) !important; font-family:var(--rh-sans); font-size:11px; letter-spacing:.2em; text-transform:uppercase; }
  .rh-nav__account-label{ position:static; width:auto; height:auto; clip:auto; }
  /* close icon stays above the overlay, top right */
  .rh-nav__toggle[aria-expanded="true"]{ position:relative; z-index:202; }
  .rh-nav__toggle[aria-expanded="true"] span{ background:var(--rh-charcoal); }
}

/* ---- Menu toggle: one stable button, bars morph into an X (no jumping) ---- */
@media(max-width:860px){
  .rh-header .rh-nav__toggle{ position:relative; z-index:202; display:block; width:44px; height:44px; padding:0; margin-right:-8px;
    background:none; border:0; cursor:pointer; -webkit-tap-highlight-color:transparent; touch-action:manipulation; }
  .rh-header .rh-nav__toggle span,
  .rh-header .rh-nav__toggle[aria-expanded="true"] span{
    position:absolute; left:50%; right:auto; top:50%; width:24px; height:1.5px; margin:-.75px 0 0 -12px; background:var(--rh-charcoal);
    transform-origin:50% 50%; transition:transform .45s cubic-bezier(.65,0,.35,1), opacity .25s ease; will-change:transform; }
  .rh-header .rh-nav__toggle span:nth-child(1){ transform:translateY(-6px); }
  .rh-header .rh-nav__toggle span:nth-child(2){ transform:none; }
  .rh-header .rh-nav__toggle span:nth-child(3){ transform:translateY(6px); }
  .rh-header .rh-nav__toggle[aria-expanded="true"] span:nth-child(1){ transform:rotate(45deg); }
  .rh-header .rh-nav__toggle[aria-expanded="true"] span:nth-child(2){ opacity:0; transform:scaleX(.2); }
  .rh-header .rh-nav__toggle[aria-expanded="true"] span:nth-child(3){ transform:rotate(-45deg); }
}

/* Narrow desktops/tablets: keep centered links clear of the right-hand button */
@media(min-width:861px) and (max-width:1100px){
  .rh-header .rh-nav__links{ gap:clamp(10px,1.5vw,16px); padding-right:230px; padding-left:200px; }
  .rh-header .rh-nav__links li a{ font-size:11px; letter-spacing:.1em; }
}
