/* =============================================================================
   ORIVANA · v4 "Gambarino"
   Display: Gambarino — a warm, bookish serif with soft ink and real appetite.
   Text: Switzer — a quiet Swiss grotesk that stays out of the way.
   One voice per heading: no bold-then-thin splits, no eyebrow labels, no
   arrow-in-a-circle buttons. Emphasis comes from the copy and the photography.
   ========================================================================== */

:root {
  --f: "Switzer", ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif;
  --fd: "Gambarino", "Iowan Old Style", Georgia, serif;
  --night: #0F1712;
  --paper: #F3EEE3;
  --paper-2: #E8E1D2;
  --ink: #16201A;
  --ink-2: #3E4A42;
  --ink-3: #6B746D;
  --t-xl: clamp(3.4rem, 1.2rem + 7.4vw, 10rem);
  --t-1: clamp(2.7rem, 1.3rem + 4.4vw, 6.4rem);
  --t-2: clamp(2.2rem, 1.3rem + 2.9vw, 4.6rem);
  --t-3: clamp(1.6rem, 1.15rem + 1.3vw, 2.5rem);
  --t-4: clamp(1.25rem, 1.1rem + .5vw, 1.6rem);
  --t-lead: clamp(1.06rem, 1rem + .3vw, 1.28rem);
}
html { font-synthesis: none; }
body { font-family: var(--f); font-weight: 400; letter-spacing: -.005em; font-feature-settings: "ss01" 0; }

/* ---------------------------------------------------------------- one display voice */
.d-xl, .d-1, .d-2, .d-3, .h-4, .ph__title, h1, h2, h3,
.hx__title, .hx__word, .rng__title, .rng__ghost, .rc__name, .rc__desc, .stmt__t, .file__name, .xm__t,
.cell__t, .fin__t, .svc__t, .pf__name, .pf__n, .dcard__q, .dcard__stat b, .film__h, .film__big,
.kin span, .tile__b b, .metric__n, .statgrid b, .dossier__no, .ft__h, .loader__n, .curtain__p b {
  font-family: var(--fd) !important; font-weight: 400 !important; font-stretch: normal !important; font-style: normal;
}
.d-xl, .d-1, .d-2, .d-3, .ph__title, .hx__title, .rng__title, .stmt__t, .fin__t, .ft__h { letter-spacing: -.012em; word-spacing: 0; text-wrap: balance; }
.d-1 { line-height: .96; }
.d-2 { line-height: 1; }
.d-3 { line-height: 1.06; letter-spacing: -.005em; }
.h-4, .h-5 { font-family: var(--f) !important; font-weight: 600 !important; letter-spacing: -.01em; }
h3.h-5, h3.h-4 { font-family: var(--f) !important; }
/* emphasis is part of the sentence, not a second typeface */
.d-xl em, .d-1 em, .d-2 em, .d-3 em, .h-4 em, .ph__title em, .hx__title em, .rng__title em, .stmt__t em, .fin__t em, .ft__h em, h1 em, h2 em, h3 em, .press {
  font-family: inherit !important; font-style: normal !important; font-weight: inherit !important; color: inherit !important; letter-spacing: inherit !important;
}
/* eyebrow labels above headings are gone — the heading carries the section */
p.label:has(+ h2), p.label:has(+ h1) { display: none; }
.label { font-family: var(--f); font-size: .8rem; font-weight: 500; letter-spacing: 0; text-transform: none; }
.num { font-family: var(--f); font-variant-numeric: tabular-nums; letter-spacing: 0; }
.ph__meta dd, .rng__count, .xm__stats b, .statgrid b, .metric__n { font-family: var(--fd) !important; font-weight: 400 !important; }
.lead { font-size: var(--t-lead); line-height: 1.55; letter-spacing: -.008em; }
.body, p { text-wrap: pretty; }

/* ---------------------------------------------------------------- buttons: plain, tactile */
.btn {
  --bg: var(--apricot); --fg: #1C1408; --bd: transparent; --fill: #1C1408; --fill-fg: var(--paper);
  gap: 10px; min-height: 50px; padding: 0 24px; border-radius: 999px;
  font-family: var(--f); font-weight: 560; font-size: .95rem; letter-spacing: -.005em; font-stretch: normal;
}
.btn::before { transform: translateY(102%); transition: transform .55s var(--e-press); }
.btn__i { width: auto !important; height: auto !important; border-radius: 0; background: none !important; color: inherit !important; }
.btn__i svg { width: 15px; height: 15px; }
.btn:hover .btn__i svg { animation: none; transform: translateX(3px); }
.btn--sm { min-height: 40px; padding: 0 18px; font-size: .88rem; }
.btn--lg { min-height: 56px; padding: 0 28px; font-size: 1rem; }
.btn--line { --bg: transparent; --fg: var(--ink); --bd: color-mix(in srgb, var(--ink) 28%, transparent); --fill: var(--ink); --fill-fg: var(--paper); }
.on-dark .btn--line, .btn--line-d { --fg: var(--on-dark); --bd: rgba(243, 238, 227, .32); --fill: var(--paper); --fill-fg: var(--ink); }
.btn--ink { --bg: var(--ink); --fg: var(--paper); --fill: var(--g700); --fill-fg: var(--paper); }
.row { flex-wrap: wrap; }
.ulink { font-weight: 560; font-stretch: normal; }

/* ---------------------------------------------------------------- header */
.hdr { height: 76px; }
.hdr::before { background: var(--hdr-bg, rgba(15, 23, 18, .78)); border-bottom-color: transparent; box-shadow: 0 1px 0 var(--hdr-line, rgba(243, 238, 227, .08)); }
.hdr[data-tone="light"] { --hdr-bg: rgba(243, 238, 227, .86); --hdr-line: rgba(22, 32, 26, .08); }
.hdr__in { display: grid; grid-template-columns: auto 1fr auto; gap: 24px; }
.hdr__logo { width: 136px; }
.nav { justify-self: center; margin: 0; gap: clamp(6px, 1.4vw, 26px); }
.nav a { padding: 8px 2px; border-radius: 0; font-family: var(--f); font-size: .93rem; font-weight: 480; font-stretch: normal; letter-spacing: -.005em; opacity: .82; transition: opacity .3s; }
.nav a:hover { background: none; opacity: 1; }
.nav a::before { content: ""; position: absolute; left: 0; right: 0; bottom: 2px; height: 1px; background: currentColor; transform: scaleX(0); transform-origin: right; transition: transform .5s var(--e-out); }
.nav a:hover::before { transform: scaleX(1); transform-origin: left; }
.nav a[aria-current="page"] { opacity: 1; }
.nav a[aria-current="page"]::before { transform: scaleX(1); }
.nav a[aria-current="page"]::after { display: none; }
.hdr__act { gap: 8px; justify-self: end; }
.hdr__cta { margin: 0; }
.menu-btn { height: 40px; padding: 0 4px 0 14px; gap: 10px; border: 0; font-family: var(--f); font-size: .93rem; font-weight: 520; font-stretch: normal; }
.menu-btn__ic { width: 22px; height: 22px; border-radius: 0; background: none; }
.menu-btn__ic i { left: 2px; right: 2px; height: 1.5px; background: currentColor; }
.menu-btn__ic i:first-child { top: 7px; }
.menu-btn__ic i:last-child { top: 14px; left: 8px; }
.hdr-progress { display: none; }
.menu .snd { color: var(--on-dark); opacity: .7; font-family: var(--f); font-stretch: normal; }
.menu__main a { font-family: var(--fd); font-weight: 400; font-stretch: normal; letter-spacing: -.01em; }
.menu__main a small { font-family: var(--f); }
.menu .label { font-size: .8rem; color: var(--on-dark-3); }
@media (max-width: 1180px) { .hdr__in { grid-template-columns: auto 1fr; } .nav { display: none; } .hdr__act { margin-left: auto; } }
@media (max-width: 640px) { .hdr__cta { display: none; } }



/* ---------------------------------------------------------------- v4.1 fixes */
