/* Rose & Fire — site-wide type.
   Linked on every page after rf-site.css, so it is the file that moves the
   whole site onto the reference page's type.

   Open Sans carries everything, Quantico carries the small uppercase labels.
   Fraunces and Instrument Sans are not loaded in this build, so every rule that
   named them has to be answered here. */

:root{
  --rf-sans:'Open Sans',-apple-system,BlinkMacSystemFont,'Segoe UI',Helvetica,Arial,sans-serif;
  --rf-mono:'Quantico',var(--rf-sans);
}

body,button,input,select,textarea{font-family:var(--rf-sans)}

/* Headings are the same family, set heavy and tight, which is where the
   reference page gets its voice rather than from a display serif. */
h1,h2,h3,h4,
.rf-logo,.rf-ftr__logo,.rf-ftr h4,.rf-card__name,.rf-founder__sig,.rf-founder__sig small,
.rf-dw__top b,.rf-revq h3,.pv-logo,
.rf-h2,.rf-story__title,.rf-rev__title,.rf-set__title,.rf-x__title,.rf-gift__title,
.rf-faq__title,.rf-bb__title,.rf-rev__big,.rf-set__total-value,
.n-h2,.n-head h1,.n-head__price b,.n-total__sum{
  font-family:var(--rf-sans);
  font-weight:800;
  letter-spacing:-.021em;
  line-height:1.06;
}
/* These carry the heading family but not its weight or tracking. */
.rf-founder__sig small,.rf-card__name,.rf-dw__top b{letter-spacing:normal}
.rf-card__name{font-weight:700;line-height:1.25}

/* The uppercase labels: eyebrows, buttons, badges, section kickers. */
.rf-eyebrow,.rf-story__eyebrow,.rf-rev__eyebrow,.rf-set__eyebrow,.rf-x__eyebrow,
.rf-gift__eyebrow,.rf-faq__eyebrow,.rf-collhead .rf-eyebrow,
.n-eyebrow,.n-step b,.n-cta,.n-sticky button,.n-total__lbl,.n-strip b,
.n-gal__flag,.n-gal__count,.n-voc cite,.n-why__n,.n-why__q cite,.n-ship__count,
.n-notify__f button,.n-sg th,.n-ann{
  font-family:var(--rf-mono);
}

/* Quantico has no italic and a narrow set width, so the pulled quotes stay in
   Open Sans rather than picking it up from a shared rule. */
.n-voc,.n-why__q,.rf-gift__quote,.rf-bb__voc{font-family:var(--rf-sans)}

/* The product page runs its own announcement marquee in place of the static
   strip, so the shared bar must not add its own padding on top of it. */
.rf-ann:has(.n-ann__t){padding:0;letter-spacing:0}

/* ---------- header ----------
   Reference proportions and type: taller bar, image logo, the rating note and a
   single dark button on the right. The nav stays a visible row, because this is
   a 42 page shop and the links are how anyone reaches the collections. */
.rf-hdr__in{height:74px;gap:18px}
.rf-logo img{width:clamp(132px,15vw,168px);height:auto}
.rf-nav{display:flex;gap:20px;font-size:14.5px;margin-left:22px}
.rf-nav a{padding:6px 0;border-bottom:2px solid transparent}
.rf-nav a:hover,.rf-nav a[aria-current],.rf-nav a.is-section{border-bottom-color:var(--rfred)}
.rf-hdr__right{margin-left:auto;display:flex;align-items:center;gap:11px}
.rf-hdr__note{font-family:var(--rf-mono);font-size:10.5px;font-weight:700;letter-spacing:.12em;
  text-transform:uppercase;color:#5c6066;white-space:nowrap}
.rf-hdr__cta{display:inline-flex;align-items:center;justify-content:center;min-height:44px;
  padding:12px 17px;border:0;border-radius:4px;background:#141414;color:#fff;
  font-family:var(--rf-mono);font-size:11.5px;font-weight:700;letter-spacing:.09em;
  text-transform:uppercase;white-space:nowrap;text-decoration:none}
.rf-hdr__cta:hover{background:#000}
.rf-hdr .rf-searchbtn{padding:9px;border-radius:99px;gap:0}
.rf-hdr .rf-searchbtn kbd{display:none}
@media(max-width:1180px){.rf-hdr__note{display:none}}
@media(max-width:1040px){.rf-nav{gap:15px;font-size:13.5px;margin-left:14px}}
@media(max-width:900px){
  .rf-nav{display:none;position:absolute;top:74px;left:0;right:0;background:var(--rfbg);
    border-bottom:1px solid var(--rfline);flex-direction:column;gap:0;margin:0;padding:6px 22px 14px;z-index:5}
  .rf-nav.is-open{display:flex}
  .rf-nav a{padding:12px 0;border-bottom:1px solid var(--rfline);font-size:15px}
  .rf-burger{display:block;order:-1;margin:0}
}
@media(max-width:600px){.rf-hdr__cta{display:none}.rf-hdr__in{height:64px}.rf-nav{top:64px}}
