/* Premium design layer, applied site-wide (scoped by body.hf-premium, added in inc/premium.php):
   editorial serif display type, warm ivory ground, hairline rules instead of boxes, square-ish corners,
   no chips, no glows, big whitespace. Instrument Serif is SIL OFL, self-hosted. Sizes use the existing scale tokens. */
@font-face { font-family: "Instrument Serif"; font-style: italic; font-weight: 400; font-display: swap; src: url("fonts/instrument-serif-latin-400-italic.woff2") format("woff2"); }
@font-face { font-family: "Instrument Serif"; font-style: normal; font-weight: 400; font-display: swap; src: url("fonts/instrument-serif-latin-400-normal.woff2") format("woff2"); }

body.hf-premium {
	--hf-serif: "Instrument Serif", Georgia, "Times New Roman", serif;
	--hf-pad-y: 136px;
	--hf-ink-rule: rgba(16, 37, 72, 0.18);
	background: #f6f3ec;
}
@media (max-width: 760px) { body.hf-premium { --hf-pad-y: 80px; } }
.hf-premium .hf-sec--navy { background-color: #0b1a33; background-image: none; }
.hf-premium .hf-hero::after { display: none; }

/* Display type: serif only on the hero headlines and the big stats; Outfit everywhere else so it still matches the logo */
.hf-premium .hf-hero .hf-h1, .hf-premium .hf-pagehero .hf-h1 { font-family: var(--hf-serif); font-weight: 400; letter-spacing: -0.01em; line-height: 1.04; font-size: calc(var(--hf-fs-display) * 1.2); }
.hf-premium .hf-hero .hf-h1 .hf-cyan, .hf-premium .hf-pagehero .hf-h1 .hf-cyan { font-style: italic; }
.hf-premium .hf-sec .hf-h2::before { display: none; }

/* Eyebrows: tracked caps with a hairline, no chip */
.hf-premium .hf-pill { background: none; padding: 0; border-radius: 0; display: inline-flex; align-items: center; gap: 14px; letter-spacing: 0.18em; color: var(--hf-cyan-deep); }
.hf-premium .hf-pill::after { content: ""; width: 48px; height: 1px; background: currentColor; opacity: 0.6; }
.hf-premium .hf-sec--navy .hf-pill { color: var(--hf-cyan-light); }

/* Buttons: sharper, flat. !important beats the older per-section glow rules. */
.hf-premium .wp-block-button .wp-block-button__link { border-radius: 2px !important; box-shadow: none !important; transform: none !important; }
.hf-premium .wp-block-button.hf-btn-p .wp-block-button__link:hover { background: var(--hf-cyan-light); }
.hf-premium .wp-block-button.hf-btn-o .wp-block-button__link { border-width: 1px; }

/* Boxes become hairlines; corners nearly square */
.hf-premium .hf-card, .hf-premium .hf-feat, .hf-premium .hf-story, .hf-premium .hf-post-card,
.hf-premium .hf-contact-row, .hf-premium .hf-formslot, .hf-premium .hf-review, .hf-premium .hf-tabs__card,
.hf-premium .hf-about__photo { border-radius: 4px; box-shadow: none; }
.hf-premium .hf-tab { border-radius: 4px 4px 0 0; }
.hf-premium .hf-tabs__card { border-radius: 0 4px 4px 4px; border: 1px solid rgba(255, 255, 255, 0.1); }
.hf-premium .hf-feat, .hf-premium .hf-story, .hf-premium .hf-post-card, .hf-premium .hf-contact-row { border: 1px solid var(--hf-ink-rule); background: #fffdf9; }
.hf-premium .hf-feat__ico { border-radius: 2px; }
.hf-premium .hf-acc-media img, .hf-premium .hf-pagehero__img img, .hf-premium .hf-story img { border-radius: 2px; }
.hf-premium .hf-tab-icon { box-shadow: none; }

/* Why Huddle: editorial numbered list, not boxes */
.hf-premium .hf-why__cards { gap: 0; }
.hf-premium .hf-why__cards .hf-card { position: static; background: transparent; border: 0; border-top: 1px solid var(--hf-ink-rule); border-radius: 0; padding: 36px 0; box-shadow: none; }
.hf-premium .hf-why__cards .hf-card:last-child { border-bottom: 1px solid var(--hf-ink-rule); }
.hf-premium .hf-why__cards .hf-card:hover { transform: none; }
.hf-premium .hf-card::before { display: none; }

/* HUDDLE Method: ruled rows */
.hf-premium .hf-sec--navy .hf-how { gap: 0; }
.hf-premium .hf-sec--navy .hf-howrow { background: transparent; border-radius: 0; border-top: 1px solid rgba(255, 255, 255, 0.18); }
.hf-premium .hf-sec--navy .hf-howrow:last-child { border-bottom: 1px solid rgba(255, 255, 255, 0.18); }
.hf-premium .hf-sec--navy .hf-howrow:hover { background: rgba(255, 255, 255, 0.03); }

/* Stats: serif numerals, white */
.hf-premium .hf-stat__n { font-family: var(--hf-serif); font-weight: 400; font-size: var(--hf-fs-stat); letter-spacing: 0; color: var(--hf-white); }
.hf-premium .hf-stat { border-left-color: rgba(255, 255, 255, 0.28); }

/* Hero: more air, deeper left, quiet photo */
.hf-premium .hf-hero__inner { padding-top: 168px; }
.hf-premium .hf-hero::before { background: linear-gradient(90deg, rgba(11, 26, 51, 0.94) 0%, rgba(11, 26, 51, 0.72) 55%, rgba(11, 26, 51, 0.5) 100%); }
.hf-premium .hf-pagehero { padding-block: 112px; }
.hf-premium .hf-hero__bg img, .hf-premium .hf-acc-media img, .hf-premium .hf-pagehero__img img, .hf-premium .hf-story img { filter: saturate(0.8) contrast(1.04); }
@media (max-width: 760px) { .hf-premium .hf-pagehero { padding-block: 64px; } .hf-premium .hf-hero__inner { padding-top: 96px; } }

/* Gold variant: champagne replaces cyan as the accent */

/* ===== v3: bold editorial pass. Overrides the restrained rules above. ===== */
body.hf-premium {
	--hf-fs-hero: 96px;
	--hf-pad-y: 168px;
	--hf-line: #c9a96a;
	background: #f7f4ee;
}
@media (max-width: 760px) { body.hf-premium { --hf-fs-hero: 52px; --hf-pad-y: 88px; } }
.hf-premium .hf-sec--navy { background-color: #060e1d; }

/* Hero: full height, cinematic, huge serif */
.hf-premium .hf-hero { min-height: 100vh; display: flex; align-items: center; }
.hf-premium .hf-hero__inner { padding-top: 120px; padding-bottom: 160px; }
.hf-premium .hf-hero::before { background: linear-gradient(100deg, rgba(6, 14, 29, 0.96) 0%, rgba(6, 14, 29, 0.78) 48%, rgba(6, 14, 29, 0.35) 100%); }
.hf-premium .hf-hero .hf-h1, .hf-premium .hf-pagehero .hf-h1 { font-size: var(--hf-fs-hero); line-height: 0.98; letter-spacing: -0.02em; max-width: 12ch; }
.hf-premium .hf-hero .hf-h1 .hf-cyan, .hf-premium .hf-pagehero .hf-h1 .hf-cyan { color: var(--hf-accent); font-size: 1em; }
.hf-premium .hf-hero .hf-h1 .hf-cyan svg, .hf-premium .hf-hero .hf-h1 .hf-cyan .hf-ico { display: none; }
.hf-premium .hf-hero p { max-width: 46ch; opacity: 0.88; }
.hf-premium .hf-pagehero { padding-block: 160px; }

/* Section titles: large serif with a champagne rule above */
.hf-premium .hf-sec .hf-h2, .hf-premium .hf-pagehero .hf-h2 { font-family: var(--hf-serif); font-weight: 400; font-size: 64px; line-height: 1.02; letter-spacing: -0.015em; }
.hf-premium .hf-sec .hf-h2 .hf-cyan { font-style: italic; color: var(--hf-accent); }
.hf-premium .hf-sec--navy .hf-h2 { color: #fff; }
.hf-premium .hf-pill { color: var(--hf-accent); }
.hf-premium .hf-pill::after { background: var(--hf-accent); opacity: 1; width: 64px; }
.hf-premium .hf-sec:not(.hf-sec--navy) .hf-pill { color: var(--hf-accent-deep); }
.hf-premium .hf-sec:not(.hf-sec--navy) .hf-pill::after { background: var(--hf-accent-deep); }
@media (max-width: 760px) { .hf-premium .hf-sec .hf-h2 { font-size: 40px; } }

/* Buttons: quiet tracked caps, cyan hairline */
.hf-premium .wp-block-button .wp-block-button__link { text-transform: uppercase; letter-spacing: 0.14em; font-size: var(--hf-fs-label); font-weight: 600; padding: 20px 34px; }
.hf-premium .wp-block-button.hf-btn-p .wp-block-button__link { background: var(--hf-accent); color: #060e1d; }
.hf-premium .wp-block-button.hf-btn-p .wp-block-button__link:hover { background: var(--hf-accent-hover); }
.hf-premium .wp-block-button.hf-btn-o .wp-block-button__link { border-color: var(--hf-accent); color: inherit; background: transparent; }

/* Stats and numerals: big serif with accent rules */
.hf-premium .hf-stat { border-left: 1px solid var(--hf-accent); padding-left: 24px; }
.hf-premium .hf-stat__n { font-size: var(--hf-fs-stat); line-height: 1; white-space: nowrap; }
.hf-premium .hf-card__head .hf-num { color: var(--hf-accent-deep); }
.hf-premium .hf-howrow .hf-num { color: var(--hf-accent); }
.hf-premium .hf-why__cards .hf-card, .hf-premium .hf-sec--navy .hf-howrow { border-color: var(--hf-accent-line); }
.hf-premium .hf-sec--navy .hf-howrow:last-child, .hf-premium .hf-why__cards .hf-card:last-child { border-bottom-color: var(--hf-accent-line); }
.hf-premium .hf-tab-icon, .hf-premium .hf-badge { background: var(--hf-accent); color: #060e1d; }
.hf-premium .hf-stars { color: var(--hf-accent); }

/* Photography: graded, square, graded and square-cornered */
.hf-premium .hf-acc-media img, .hf-premium .hf-story img, .hf-premium .hf-pagehero__img img { border-radius: 0; filter: saturate(0.78) contrast(1.06); }
.hf-premium .hf-hero__bg img { filter: saturate(0.7) contrast(1.08) brightness(0.9); }
.hf-premium .hf-feat, .hf-premium .hf-story, .hf-premium .hf-post-card, .hf-premium .hf-contact-row { border-radius: 0; border-color: rgba(16, 37, 72, 0.14); }
.hf-premium .hf-tabs__card, .hf-premium .hf-tab { border-radius: 0; }

/* Header: understated tracked nav */
.hf-premium .hf-header { background: rgba(6, 14, 29, 0.94); }
.hf-premium .hf-header .wp-block-button__link, .hf-premium .hf-sec--navy .hf-btn-o .wp-block-button__link, .hf-premium .hf-hero .hf-btn-o .wp-block-button__link { color: #fff; }
.hf-premium .hf-header .wp-block-button__link { color: #fff !important; background: transparent !important; }

/* Accent tokens: Premium stays on the approved cyan, Gold swaps to champagne */
body.hf-premium { --hf-accent: #2cb5d3; --hf-accent-deep: #0a758d; --hf-accent-line: rgba(44, 181, 211, 0.45); --hf-accent-hover: #5ccae2; background: #f3f4f5; }
.hf-premium .hf-hero .hf-h1 .hf-cyan, .hf-premium .hf-pagehero .hf-h1 .hf-cyan { color: var(--hf-accent); }

/* Inner-page heroes: shorter, and the headline gets room to breathe */
.hf-premium .hf-pagehero { padding-block: 112px; }
.hf-premium .hf-pagehero .hf-h1 { font-size: calc(var(--hf-fs-display) * 1.2); max-width: 18ch; }
@media (max-width: 760px) { .hf-premium .hf-pagehero { padding-block: 64px; } .hf-premium .hf-pagehero .hf-h1 { font-size: var(--hf-fs-h2); } }

/* Chips on cards keep their pill shape; only section eyebrows get the hairline */
.hf-premium .hf-post-card .hf-pill::after, .hf-premium .hf-story .hf-pill::after { display: none; }

/* Stars keep the approved orange in Premium */
.hf-premium .hf-stars { color: var(--hf-star); }

/* Gold variant: same layout, champagne accent on a warm ivory ground (preview option) */
body.hf-premium--gold { --hf-accent: #c9a96a; --hf-accent-deep: #8a6a2a; --hf-accent-line: rgba(201, 169, 106, 0.4); --hf-accent-hover: #e3cb98; background: #f7f4ee; }
.hf-premium--gold .hf-stars { color: var(--hf-accent); }
.hf-premium--gold .hf-sec--navy .hf-pill { color: var(--hf-accent); }
.hf-premium--gold .hf-sec:not(.hf-sec--navy) .hf-pill { color: var(--hf-accent-deep); }
.hf-premium--gold .hf-sec:not(.hf-sec--navy) .hf-pill::after { background: var(--hf-accent-deep); }
.hf-premium--gold .hf-h2 .hf-cyan, .hf-premium--gold .hf-hero__bg + * .hf-cyan { color: var(--hf-accent); }
.hf-premium--gold .hf-card__head .hf-num { color: var(--hf-accent-deep); }
.hf-premium--gold .hf-howrow .hf-num { color: var(--hf-accent); }
.hf-premium--gold .hf-badge, .hf-premium--gold .hf-tab-icon { background: var(--hf-accent); color: #060e1d; }
.hf-premium--gold .wp-block-button.hf-btn-p .wp-block-button__link { background: var(--hf-accent); color: #060e1d; }
.hf-premium--gold .wp-block-button.hf-btn-p .wp-block-button__link:hover { background: var(--hf-accent-hover); }
.hf-premium--gold .wp-block-button.hf-btn-o .wp-block-button__link { border-color: var(--hf-accent); }
.hf-premium--gold .hf-header .wp-block-button__link { border-color: var(--hf-accent); }
.hf-premium--gold .hf-contact-row__v a, .hf-premium--gold .hf-contact-row__l { color: var(--hf-accent-deep); }

/* Copy update 2026-11-04: new sections in the Premium look */
.hf-premium .hf-chal, .hf-premium .hf-stepcard, .hf-premium .hf-compare__t, .hf-premium .hf-compare-card, .hf-premium .hf-split__img img, .hf-premium .hf-filter, .hf-premium .hf-framecard { border-radius: 0; }
.hf-premium .hf-chal { border: 1px solid rgba(16, 37, 72, 0.14); background: #fffdf9; }
.hf-premium .hf-sec--alt { background: #fff; }
.hf-premium .hf-sec--alt .hf-chal, .hf-premium .hf-stepcard { background: #f3f4f5; border: 1px solid rgba(16, 37, 72, 0.1); }
.hf-premium .hf-stepcard .hf-num, .hf-premium .hf-framecard .hf-num { font-family: var(--hf-serif); font-weight: 400; font-size: var(--hf-fs-stat); letter-spacing: 0; }
.hf-premium .hf-framecard { border-top-color: var(--hf-accent); background: transparent; border: 1px solid var(--hf-accent-line); border-top: 2px solid var(--hf-accent); }
.hf-premium .hf-framecard .hf-num { color: var(--hf-accent); }
.hf-premium .hf-compare__t thead th { background: #060e1d; }
.hf-premium .hf-timeline__n { border-radius: 0; background: #060e1d; color: var(--hf-accent); }
.hf-premium .hf-filter { background: #060e1d; }
.hf-premium .hf-faq__item summary { font-size: var(--hf-fs-lead); }
.hf-premium .hf-emph { border-left-color: var(--hf-accent); }
.hf-premium .hf-split__img img { filter: saturate(0.78) contrast(1.06); }
.hf-premium .hf-subpoints { border-top-color: var(--hf-accent-line); }
.hf-premium .hf-subpoint h4 { color: var(--hf-navy); }
.hf-premium .hf-linkbtn a { border-radius: 2px; border-width: 1px; border-color: var(--hf-accent); text-transform: uppercase; letter-spacing: 0.14em; font-size: var(--hf-fs-label); padding: 18px 30px; }
.hf-premium .hf-about-hero .hf-h1 { font-size: 64px; max-width: none; line-height: 1.02; }
.hf-premium .hf-sechead .hf-h2, .hf-premium .hf-rep > .hf-h2 { max-width: 16em; }
@media (max-width: 760px) { .hf-premium .hf-about-hero .hf-h1 { font-size: var(--hf-fs-h2); } .hf-premium .hf-stepcard .hf-num, .hf-premium .hf-framecard .hf-num { font-size: var(--hf-fs-stat); } }
