/* ==========================================================================
   OneAppleFall — Master Stylesheet
   Palette: Deep Navy + Indigo + Amber Gold
   Modern, award-winning, neutral base
   ========================================================================== */

/* ── Design Tokens ────────────────────────────────────────────────────────── */
:root {
    --oaf-bg:              #f9f9f7;
    --oaf-bg-alt:          #f2f2f0;
    --oaf-surface:         #ffffff;
    --oaf-surface-2:       #f4f4f2;
    --oaf-surface-3:       #eaeae8;
    --oaf-surface-hi:      #e2e2df;

    --oaf-primary:         #4f46e5;
    --oaf-primary-dark:    #3730a3;
    --oaf-primary-dim:     #1e1b4b;
    --oaf-secondary:       #7c3aed;
    --oaf-secondary-dark:  #5b21b6;
    --oaf-accent:          #f59e0b;
    --oaf-accent-dark:     #d97706;
    --oaf-green:           #16a34a;
    --oaf-red:             #dc2626;

    --oaf-text:            #1a1a1a;
    --oaf-text-muted:      #6b7280;
    --oaf-text-faint:      #9ca3af;
    --oaf-white:           #ffffff;
    --oaf-real-white:      #ffffff;

    --oaf-border:          rgba(26, 26, 26, 0.08);
    --oaf-border-med:      rgba(26, 26, 26, 0.14);
    --oaf-border-hi:       rgba(26, 26, 26, 0.22);

    --glass-bg:            rgba(255,255,255,0.72);
    --glass-bg-med:        rgba(255,255,255,0.88);
    --glass-bg-strong:     rgba(255,255,255,0.96);
    --glass-border:        rgba(26,26,26,0.08);
    --glass-shadow:        0 8px 32px rgba(0,0,0,0.06);
    --glass-shadow-lg:     0 25px 60px rgba(0,0,0,0.10);

    --glow-blue:           rgba(79,70,229,0.12);
    --glow-purple:         rgba(124,58,237,0.08);
    --glow-orange:         rgba(245,158,11,0.10);

    --oaf-max:             1440px;
    --oaf-content:         750px;
    --oaf-gap:             24px;
    --oaf-radius:          12px;
    --oaf-radius-lg:       20px;
    --oaf-radius-xl:       28px;
    --oaf-nav-h:           72px;

    --font-display:        'Clash Display', 'Space Grotesk', 'DM Sans', system-ui, sans-serif;
    --font-body:           'DM Sans', -apple-system, sans-serif;
    --font-serif:          'Instrument Serif', Georgia, serif;

    /* palette aliases */
    --oaf-emerald:         #4f46e5;
    --oaf-emerald-d:       #3730a3;
    --oaf-teal:            #7c3aed;
    --oaf-mint:            #e0e7ff;
    --oaf-mint-2:          #eef2ff;
    --oaf-aqua:            #c7d2fe;
    --oaf-gold:            #f59e0b;

    --ease:                cubic-bezier(0.4,0,0.2,1);
    --t-fast:              0.18s;
    --t-base:              0.32s;
    --t-slow:              0.6s;
}

/* ── Material Symbols ────────────────────────────────────────────────────── */
.material-symbols-outlined {
    font-family: 'Material Symbols Outlined' !important;
    font-weight: normal; font-style: normal; font-size: 24px;
    line-height: 1; letter-spacing: normal; text-transform: none;
    display: inline-block; white-space: nowrap; word-wrap: normal;
    direction: ltr; font-feature-settings: 'liga';
    -webkit-font-smoothing: antialiased;
}

/* ── Reset ───────────────────────────────────────────────────────────────── */
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
html { scroll-behavior: smooth; -webkit-text-size-adjust: 100%; }

body.oaf-site {
    font-family: var(--font-body);
    font-size: 16px; line-height: 1.72;
    color: var(--oaf-text);
    background-color: var(--oaf-bg);
    overflow-x: hidden;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}
body.oaf-site main#oaf-main-content { padding-top: var(--oaf-nav-h); }
body.has-topbar main#oaf-main-content { padding-top: calc(var(--oaf-nav-h) + 37px); }
body.home main#oaf-main-content,
body.oaf-home main#oaf-main-content { padding-top: 0; }

img { max-width: 100%; height: auto; display: block; }
a { color: var(--oaf-primary); text-decoration: none; transition: color var(--t-fast); }
a:hover { color: var(--oaf-primary-dark); }
button { cursor: pointer; font-family: var(--font-body); }

/* Scrollbar */
::-webkit-scrollbar { width: 7px; }
::-webkit-scrollbar-track { background: var(--oaf-bg); }
::-webkit-scrollbar-thumb { background: #c4c4c0; border-radius: 10px; border: 2px solid var(--oaf-bg); }
::-webkit-scrollbar-thumb:hover { background: var(--oaf-primary); }

/* Selection */
::selection { background: rgba(79,70,229,0.15); color: var(--oaf-text); }

/* Focus */
:focus-visible {
    outline: 2.5px solid var(--oaf-primary);
    outline-offset: 3px; border-radius: 4px;
    box-shadow: 0 0 0 4px rgba(79,70,229,0.15);
}
:focus:not(:focus-visible) { outline: none; }

/* Screen reader / skip link */
.screen-reader-text {
    position: absolute; width: 1px; height: 1px;
    overflow: hidden; clip: rect(1px,1px,1px,1px); word-wrap: normal;
}
.screen-reader-text:focus {
    position: fixed; top: 12px; left: 12px; z-index: 9999;
    background: var(--oaf-primary); color: #fff;
    padding: 10px 20px; border-radius: 8px;
    font-weight: 700; font-size: 14px;
    width: auto; height: auto; clip: auto;
}

/* ── Container ───────────────────────────────────────────────────────────── */
.oaf-container { max-width: var(--oaf-max); margin: 0 auto; padding: 0 24px; }
@media (min-width: 1024px) { .oaf-container { padding: 0 64px; } }

/* ── Glass panels ────────────────────────────────────────────────────────── */
.glass-panel {
    background: var(--glass-bg); backdrop-filter: blur(20px);
    border: 1px solid var(--glass-border); box-shadow: var(--glass-shadow);
    transition: all var(--t-base) var(--ease);
}
.glass-card {
    background: var(--glass-bg-strong); backdrop-filter: blur(40px);
    border: 1px solid var(--glass-border); box-shadow: var(--glass-shadow-lg);
    transition: transform var(--t-base) var(--ease), box-shadow var(--t-base) var(--ease);
}
.glass-card:hover { transform: translateY(-5px); box-shadow: 0 35px 70px rgba(0,0,0,0.12); }

/* ── Text utilities ──────────────────────────────────────────────────────── */
.text-gradient {
    background: linear-gradient(135deg, var(--oaf-primary), var(--oaf-secondary));
    -webkit-background-clip: text; background-clip: text; -webkit-text-fill-color: transparent;
}
.text-gradient-hero {
    background: linear-gradient(135deg, #ffffff 0%, var(--oaf-aqua) 45%, var(--oaf-accent) 100%);
    -webkit-background-clip: text; background-clip: text; -webkit-text-fill-color: transparent;
}
.text-gradient-orange {
    background: linear-gradient(135deg, var(--oaf-accent), #ef4444);
    -webkit-background-clip: text; background-clip: text; -webkit-text-fill-color: transparent;
}
.label-caps { font-size: 11px; font-weight: 700; letter-spacing: 0.16em; text-transform: uppercase; }

/* ── Animations ──────────────────────────────────────────────────────────── */
@keyframes float        { 0%,100%{transform:translateY(0)} 50%{transform:translateY(-16px)} }
@keyframes pulse-glow   { 0%,100%{opacity:.35;transform:scale(1)} 50%{opacity:.65;transform:scale(1.08)} }
@keyframes gradient-shift { 0%{background-position:0 50%} 50%{background-position:100% 50%} 100%{background-position:0 50%} }
@keyframes bounce-dot   { 0%,80%,100%{transform:translateY(0)} 40%{transform:translateY(-8px)} }
@keyframes oaf-ping     { 0%{opacity:.8;transform:scale(.6)} 100%{opacity:0;transform:scale(1.6)} }
@keyframes oaf-bar-grow { to { width: var(--w); } }
@keyframes oaf-new-pulse { 0%,100%{box-shadow:0 2px 10px rgba(79,70,229,.45)} 50%{box-shadow:0 4px 18px rgba(79,70,229,.7)} }

.animate-float      { animation: float 6s ease-in-out infinite; }
.animate-pulse-glow { animation: pulse-glow 5s ease-in-out infinite; }

/* Reveal */
.reveal {
    opacity: 0; transform: translateY(24px);
    transition: opacity var(--t-slow) var(--ease), transform var(--t-slow) var(--ease);
    will-change: opacity, transform;
}
.reveal.active { opacity: 1; transform: none; }
.reveal[data-delay="1"] { transition-delay: .10s; }
.reveal[data-delay="2"] { transition-delay: .20s; }
.reveal[data-delay="3"] { transition-delay: .30s; }
.reveal[data-delay="4"] { transition-delay: .40s; }
.reveal[data-delay="5"] { transition-delay: .50s; }

/* Reduced motion */
@media (prefers-reduced-motion: reduce) {
    *,*::before,*::after { animation-duration:.01ms !important; transition-duration:.01ms !important; }
    .reveal { opacity:1 !important; transform:none !important; }
}

/* ── Buttons ─────────────────────────────────────────────────────────────── */
.btn {
    display: inline-flex; align-items: center; gap: 8px;
    padding: 12px 26px; border-radius: 100px;
    font-family: var(--font-body); font-size: 14px; font-weight: 600;
    border: none; transition: all var(--t-base) var(--ease);
    text-decoration: none; white-space: nowrap; cursor: pointer;
    position: relative; overflow: hidden;
}
.btn .material-symbols-outlined { font-size: 18px; transition: transform var(--t-fast) var(--ease); }
.btn:hover .material-symbols-outlined { transform: translateX(3px); }
/* SVG arrow inside buttons — same hover animation */
.btn svg { transition: transform var(--t-fast) var(--ease); flex-shrink: 0; }
.btn:hover svg { transform: translateX(3px); }
.btn::before {
    content: ''; position: absolute; top:0; left:-100%; width:100%; height:100%;
    background: linear-gradient(90deg,transparent,rgba(255,255,255,.18),transparent);
    transition: left .55s ease;
}
.btn:hover::before { left: 100%; }

.btn-primary {
    background: linear-gradient(135deg, var(--oaf-primary), var(--oaf-secondary));
    color: #fff;
}
.btn-primary:hover {
    color: #fff;
    box-shadow: 0 0 36px rgba(79,70,229,.55), 0 8px 24px rgba(0,0,0,.2);
    transform: translateY(-2px);
}
.btn-glass {
    background: rgba(255,255,255,.10); backdrop-filter: blur(12px);
    border: 1px solid rgba(255,255,255,.25); color: rgba(255,255,255,.9);
}
.btn-glass:hover { background:rgba(255,255,255,.18); color:#fff; }
.btn-cluword {
    background: linear-gradient(135deg, var(--oaf-accent), #ef4444); color:#fff;
}
.btn-cluword:hover { color:#fff; transform:translateY(-2px); box-shadow:0 0 36px rgba(245,158,11,.5); }

/* ── Brand wordmark ──────────────────────────────────────────────────────── */
.oaf-wordmark {
    font-family: 'Space Grotesk', 'Clash Display', 'DM Sans', sans-serif;
    font-weight: 700; font-size: 20px; letter-spacing: -0.02em;
    color: #1a1a1a; white-space: nowrap; line-height: 1;
}
.oaf-wordmark b, .oaf-brand-b { font-weight: 700; color: var(--oaf-accent); font-style: normal; }
.oaf-ft-logo .oaf-wordmark { font-size: 21px; }
.oaf-logo-link { display: flex; align-items: center; gap: 10px; text-decoration: none; flex-shrink: 0; }

/* ── Topbar ──────────────────────────────────────────────────────────────── */
.oaf-topbar {
    position: fixed; top: 0; left: 0; right: 0; z-index: 502;
    background: linear-gradient(90deg, #1e1b4b 0%, #4f46e5 50%, #1e1b4b 100%);
    background-size: 200% 100%;
    animation: gradient-shift 8s ease infinite;
    text-align: center; padding: 9px 24px;
    font-family: var(--font-body); font-size: 12.5px; font-weight: 600;
    color: #fff; letter-spacing: .02em;
}
.oaf-topbar a { color: rgba(255,255,255,.9); font-weight: 700; text-decoration: underline; text-underline-offset: 2px; }
.oaf-topbar a:hover { color: #fff; }

/* ── Primary Navbar ──────────────────────────────────────────────────────── */
#oaf-navbar {
    position: fixed; top: 0; left: 0; right: 0; z-index: 500;
    background: rgba(255,255,255,0.92);
    backdrop-filter: blur(18px) saturate(180%);
    -webkit-backdrop-filter: blur(18px) saturate(180%);
    border-bottom: 1px solid #e8e8e5;
    height: var(--oaf-nav-h);
    transition: background .3s, box-shadow .3s;
}
#oaf-navbar::after { display: none; }
#oaf-navbar.scrolled { background: rgba(255,255,255,.98); box-shadow: 0 4px 24px rgba(0,0,0,.07); }
body.has-topbar #oaf-navbar { top: 37px; }

/* Nav 3-col grid */
.oaf-nav-wrap {
    display: grid; grid-template-columns: 1fr auto 1fr;
    align-items: center; height: var(--oaf-nav-h);
    padding: 0 clamp(20px,3.5vw,64px); gap: 20px; box-sizing: border-box;
}
.oaf-nav-wrap > .oaf-logo-link  { justify-self: start; }
.oaf-nav-wrap > .oaf-nav__center { justify-self: center; }
.oaf-nav-wrap > .oaf-nav__actions { justify-self: end; }

/* Center column */
.oaf-nav__center { display: none; align-items: center; gap: 0; }
@media (min-width: 768px) { .oaf-nav__center { display: flex; } }

/* Nav links */
/* Nav links — base (overridden below) */
ul.oaf-nav__links, .oaf-nav__links {
    display: flex; flex-direction: row; align-items: center;
    gap: clamp(4px,1.6vw,24px);
    list-style: none; margin: 0; padding: 0; flex-wrap: nowrap;
}
.oaf-nav__links > li { list-style: none; }
.oaf-nav__links > li > a, .oaf-nav__links > a {
    display: block; padding: 6px 10px;
    font-family: var(--font-body); font-weight: 500; font-size: 14.5px;
    color: #6b7280; text-decoration: none; border-radius: 6px;
    transition: color .2s, background .2s; white-space: nowrap;
}
.oaf-nav__links > li > a:hover, .oaf-nav__links > a:hover,
.oaf-nav__links > li.current-menu-item > a,
.oaf-nav__links > li.current_page_item > a {
    color: #1a1a1a; background: rgba(26,26,26,.05);
}

/* Subscribe CTA */
a.oaf-nav__subscribe {
    display: none; align-items: center;
    padding: 9px 20px; background: #1a1a1a; color: #fff;
    font-family: var(--font-body); font-weight: 600; font-size: 13.5px;
    border-radius: 40px; text-decoration: none; white-space: nowrap;
    box-shadow: 0 4px 14px rgba(0,0,0,.2); margin-right: 4px;
    transition: background .25s, transform .25s;
}
a.oaf-nav__subscribe:hover { background: var(--oaf-primary); transform: translateY(-1px); color: #fff; }
@media (min-width: 1024px) { a.oaf-nav__subscribe { display: inline-flex; } }

/* Actions */
.oaf-nav__actions { display: flex; align-items: center; gap: 6px; justify-content: flex-end; }

.oaf-nav__search-btn {
    width: 36px; height: 36px; border-radius: 8px; border: none;
    background: transparent; cursor: pointer;
    display: flex; align-items: center; justify-content: center;
    color: #6b7280; transition: color .2s, background .2s; flex-shrink: 0;
}
.oaf-nav__search-btn:hover { color: var(--oaf-primary); background: var(--oaf-mint-2); }

.oaf-nav__divider { width: 1px; height: 22px; background: #e2e2df; display: none; flex-shrink: 0; }
@media (min-width: 768px) { .oaf-nav__divider { display: block; margin: 0 2px; } }

.oaf-nav__hamburger {
    width: 36px; height: 36px; display: flex; flex-direction: column;
    align-items: center; justify-content: center; gap: 5px;
    background: none; border: none; cursor: pointer; padding: 0; border-radius: 8px;
    transition: background .2s;
}
.oaf-nav__hamburger:hover { background: var(--oaf-mint-2); }
.oaf-nav__hamburger span { display: block; width: 20px; height: 2px; background: #1a1a1a; border-radius: 2px; transition: all .25s; }
@media (min-width: 1024px) { .oaf-nav__hamburger { display: none; } }

/* Dropdown sub-menus */
.oaf-nav__links > li.menu-item-has-children { position: relative; }
.oaf-nav__links .sub-menu {
    display: block; position: absolute; top: calc(100% + 10px); left: 0;
    min-width: 200px; background: #fff; border: 1px solid #e8e8e5;
    border-radius: 14px; padding: 8px;
    box-shadow: 0 20px 50px rgba(0,0,0,.12);
    opacity: 0; visibility: hidden; pointer-events: none;
    transform: translateY(8px); transition: all .25s var(--ease); z-index: 600;
}
.oaf-nav__links > li.menu-item-has-children:hover > .sub-menu,
.oaf-nav__links > li.menu-item-has-children:focus-within > .sub-menu {
    opacity: 1; visibility: visible; pointer-events: auto; transform: translateY(0);
}
.oaf-nav__links .sub-menu > li { list-style: none; }
.oaf-nav__links .sub-menu > li > a {
    display: block; padding: 9px 14px; border-radius: 8px;
    font-size: 13.5px; font-weight: 500; color: #6b7280;
    white-space: nowrap; transition: all var(--t-fast);
}
.oaf-nav__links .sub-menu > li > a:hover { background: var(--oaf-mint-2); color: var(--oaf-primary); }
.oaf-nav__links .sub-menu > li > a::after, .oaf-nav__links .sub-menu > li > a::before { display: none; }

/* ── Mobile drawer ───────────────────────────────────────────────────────── */
.oaf-mobile-menu {
    position: fixed; top: 0; right: -100%;
    width: min(320px,88vw); height: 100%;
    background: #fff; z-index: 700;
    display: flex; flex-direction: column;
    box-shadow: -4px 0 32px rgba(0,0,0,.10);
    transition: right .35s cubic-bezier(.4,0,.2,1); overflow-y: auto;
}
.oaf-mobile-menu.open { right: 0; }
.oaf-mobile-menu__header {
    display: flex; align-items: center; justify-content: space-between;
    padding: 20px 22px; border-bottom: 1px solid #e8e8e5; flex-shrink: 0;
}
.oaf-mobile-menu__close {
    width: 36px; height: 36px; border-radius: 8px; border: none;
    background: #f4f4f2; cursor: pointer;
    display: flex; align-items: center; justify-content: center;
    color: #6b7280; transition: all .2s;
}
.oaf-mobile-menu__close:hover { background: #e8e8e5; color: #1a1a1a; }
.oaf-mobile-menu__nav { display: flex; flex-direction: column; padding: 8px 0; flex: 1; }
.oaf-mobile-menu__nav a,
.oaf-mobile-menu__nav li { list-style: none; }
.oaf-mobile-menu__nav a,
.oaf-mobile-menu__nav li a {
    display: block; padding: 14px 22px;
    font-family: var(--font-body); font-size: 16px; font-weight: 500; color: #1a1a1a;
    text-decoration: none; border-bottom: 1px solid #f4f4f2; transition: background .15s;
}
.oaf-mobile-menu__nav a:hover,
.oaf-mobile-menu__nav li a:hover { background: var(--oaf-mint-2); color: var(--oaf-primary); }
.oaf-mobile-menu__footer { padding: 16px 22px; border-top: 1px solid #e8e8e5; flex-shrink: 0; }
.oaf-mob-cta {
    display: block; width: 100%; text-align: center;
    background: #1a1a1a; color: #fff; text-decoration: none;
    padding: 14px 22px; border-radius: 12px;
    font-family: var(--font-body); font-weight: 600; font-size: 15px;
    transition: background .25s;
}
.oaf-mob-cta:hover { background: var(--oaf-primary); color: #fff; }

/* Overlay */
.oaf-overlay {
    position: fixed; inset: 0; z-index: 690;
    background: rgba(26,26,26,.45); opacity: 0; pointer-events: none;
    transition: opacity .35s; backdrop-filter: blur(2px);
}
.oaf-overlay.open { opacity: 1; pointer-events: auto; }

/* Search modal */
.oaf-search-modal {
    position: fixed; inset: 0; z-index: 800;
    background: rgba(249,249,247,.92); backdrop-filter: blur(20px);
    display: flex; align-items: flex-start; justify-content: center;
    padding-top: 120px; opacity: 0; visibility: hidden; pointer-events: none;
    transition: opacity .3s, visibility .3s;
}
.oaf-search-modal.open { opacity: 1; visibility: visible; pointer-events: auto; }
.oaf-search-modal__inner { width: 100%; max-width: 620px; padding: 0 24px; }
.oaf-search-modal__form {
    display: flex; align-items: center; gap: 12px;
    background: #fff; border: 1.5px solid #e2e2df; border-radius: 16px;
    padding: 14px 18px; box-shadow: 0 20px 60px rgba(0,0,0,.12);
    transition: border-color .2s;
}
.oaf-search-modal__form:focus-within { border-color: var(--oaf-primary); }
.oaf-search-modal__input {
    flex: 1; border: none; background: none;
    font-family: var(--font-body); font-size: 18px; color: #1a1a1a; outline: none;
}
.oaf-search-modal__input::placeholder { color: #9ca3af; }
.oaf-search-modal__close {
    width: 32px; height: 32px; border-radius: 8px; border: none;
    background: #f4f4f2; cursor: pointer;
    display: flex; align-items: center; justify-content: center; color: #6b7280;
    transition: all .2s; flex-shrink: 0;
}
.oaf-search-modal__close:hover { background: #e8e8e5; color: #1a1a1a; }
.oaf-search-modal__close svg { display: block; }

/* Responsive nav */
@media (max-width: 767px) {
    .oaf-nav-wrap { grid-template-columns: 1fr auto; padding: 0 clamp(14px,4vw,24px); }
    .oaf-nav__center { display: none !important; }
    .oaf-wordmark { font-size: 18px; }
}
@media (max-width: 1023px) { .oaf-nav-wrap { gap: 12px; } }

/* ── Hero sequence (homepage) ─────────────────────────────────────────────── */
.oaf-hero--sequence {
    position: relative; width: 100%; height: 100vh; min-height: 580px; overflow: hidden;
}
.oaf-hero__slide {
    position: absolute; inset: 0; opacity: 0;
    transition: opacity 1s ease; pointer-events: none;
    display: flex; align-items: center; justify-content: center;
}
.oaf-hero__slide--active { opacity: 1; pointer-events: auto; }
.oaf-hero__slide--video {
    background: linear-gradient(135deg, #0f172a 0%, #1e1b4b 100%);
}
.oaf-hero__seq-video { width: 100%; height: 100%; object-fit: contain; display: block; }
.oaf-hero__slide--content {
    background: var(--oaf-bg); flex-direction: column; text-align: center;
}
.oaf-hero__content-inner {
    position: relative; z-index: 1; text-align: center;
    padding-top: calc(var(--oaf-nav-h) + 16px); padding-bottom: 32px;
}
body.has-topbar .oaf-hero__content-inner { padding-top: calc(var(--oaf-nav-h) + 37px + 16px); }

/* Blobs */
.oaf-blobs { position: absolute; inset: 0; overflow: hidden; pointer-events: none; z-index: 0; }
.oaf-blob { position: absolute; border-radius: 50%; filter: blur(80px); opacity: .4; }
.oaf-blob--1 { width:520px; height:520px; background:radial-gradient(circle,#c7d2fe,transparent 70%); top:-160px; right:-120px; }
.oaf-blob--2 { width:440px; height:440px; background:radial-gradient(circle,#e0e7ff,transparent 70%); top:40%; left:-160px; }
.oaf-blob--3 { width:380px; height:380px; background:radial-gradient(circle,#ddd6fe,transparent 70%); bottom:-120px; right:10%; }

/* Hero ping badge */
.oaf-ping-badge {
    display: inline-flex; align-items: center; gap: 9px;
    background: #fff; border: 1px solid #e2e2df;
    padding: 8px 16px; border-radius: 40px;
    font-size: 13px; font-weight: 500; color: #6b7280;
    box-shadow: 0 4px 14px rgba(0,0,0,.07); margin-bottom: 30px;
}
.oaf-ping { width:8px; height:8px; border-radius:50%; background:var(--oaf-primary); flex-shrink:0; position:relative; }
.oaf-ping::after {
    content:''; position:absolute; inset:-4px; border-radius:50%;
    border:2px solid var(--oaf-primary); animation:oaf-ping 1.8s ease-out infinite;
}

/* Hero center title */
.oaf-hero__center-title {
    font-family: var(--font-display); font-weight: 600;
    font-size: clamp(44px,7.5vw,88px); line-height:.98; letter-spacing:-.035em;
    max-width:14ch; margin:0 auto 28px; color:#1a1a1a;
}
.oaf-text-grad {
    background: linear-gradient(120deg, var(--oaf-primary) 0%, var(--oaf-secondary) 60%, var(--oaf-accent) 100%);
    -webkit-background-clip:text; background-clip:text; color:transparent;
}
.oaf-hero__serif { font-family:var(--font-serif); font-style:italic; font-weight:400; color:var(--oaf-primary); -webkit-text-fill-color:var(--oaf-primary); }
.oaf-hero__lede { font-size:19px; line-height:1.6; color:#6b7280; max-width:54ch; margin:0 auto 38px; }
.oaf-hero__actions { display:flex; flex-wrap:wrap; gap:12px; }
.oaf-hero__actions--center { justify-content:center; }
.oaf-btn-sec {
    display:inline-flex; align-items:center; gap:8px;
    background:#fff; border:1.5px solid #e2e2df; padding:15px 28px;
    border-radius:46px; font-weight:600; font-size:16px; color:#1a1a1a;
    text-decoration:none; transition:all var(--t-base) var(--ease);
}
.oaf-btn-sec:hover { border-color:var(--oaf-primary); color:var(--oaf-primary); }
.oaf-hero--center .btn-primary, .oaf-hero--split .btn-primary {
    background: linear-gradient(135deg, var(--oaf-primary), var(--oaf-secondary));
    box-shadow: 0 24px 60px -20px rgba(79,70,229,.35);
}
.oaf-hero__stat-row { margin-top:54px; display:flex; justify-content:center; gap:54px; flex-wrap:wrap; }
.oaf-hstat b {
    font-family:var(--font-display); font-weight:600; font-size:34px; display:block;
    background:linear-gradient(120deg,var(--oaf-primary),var(--oaf-secondary));
    -webkit-background-clip:text; background-clip:text; color:transparent;
}
.oaf-hstat span { font-size:13px; color:#6b7280; }

/* Sequence dots */
.oaf-seq-dots { position:absolute; bottom:28px; left:50%; transform:translateX(-50%); display:flex; gap:8px; z-index:20; }
.oaf-seq-dot { width:8px; height:8px; border-radius:50%; background:rgba(255,255,255,.35); transition:background .4s,transform .4s; }
.oaf-seq-dot--active { background:#fff; transform:scale(1.35); }

/* ── Section headings ────────────────────────────────────────────────────── */
.oaf-fp-section { padding: 70px 0; }
.oaf-shead { display:flex; justify-content:space-between; align-items:flex-end; margin-bottom:38px; gap:20px; flex-wrap:wrap; }
.oaf-shead--center { justify-content:center; text-align:center; }
.oaf-shead--center > div { text-align:center; }
.oaf-kick {
    font-size:12px; font-weight:700; letter-spacing:.14em; text-transform:uppercase;
    color:var(--oaf-primary); margin-bottom:8px;
}
.oaf-kick--light { color:rgba(255,255,255,.7); }
.oaf-shead h2 {
    font-family:var(--font-display); font-weight:600; font-size:clamp(28px,4vw,42px);
    letter-spacing:-.025em; line-height:1.04; color:#1a1a1a; margin:0;
}
.oaf-more {
    font-weight:600; font-size:14.5px; color:var(--oaf-primary);
    text-decoration:none; display:inline-flex; align-items:center; gap:6px;
    transition:gap .2s,color .2s; white-space:nowrap;
}
.oaf-more:hover { gap:11px; color:var(--oaf-primary-dark); }

/* ── Featured review card ────────────────────────────────────────────────── */
.oaf-feat {
    display:grid; grid-template-columns:1.15fr .85fr;
    background:#fff; border:1px solid #e8e8e5; border-radius:28px;
    overflow:hidden; box-shadow:0 30px 80px -50px rgba(0,0,0,.18);
}
.oaf-feat__vis {
    position:relative; min-height:420px;
    background:linear-gradient(135deg,#1e1b4b,#4f46e5 55%,#7c3aed); overflow:hidden;
}
.oaf-feat__vis::before { content:''; position:absolute; width:300px; height:300px; background:radial-gradient(circle,rgba(255,255,255,.25),transparent 70%); top:-60px; right:-40px; }
.oaf-feat__bg-img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; opacity:.45; }
.oaf-floattag {
    position:absolute; top:24px; left:24px; z-index:2;
    background:var(--oaf-accent); color:#1a1a1a;
    font-weight:700; font-size:12px; padding:7px 14px; border-radius:30px;
}
.oaf-scorecard {
    position:absolute; bottom:28px; left:28px; right:28px; z-index:2;
    background:rgba(255,255,255,.14); backdrop-filter:blur(14px);
    border:1px solid rgba(255,255,255,.25); border-radius:18px; padding:22px; color:#fff;
}
.oaf-scorecard__row { display:flex; justify-content:space-between; align-items:baseline; }
.oaf-scorecard h4 { font-family:var(--font-display); font-weight:600; font-size:22px; }
.oaf-scorecard__score { font-family:var(--font-display); font-weight:600; font-size:46px; line-height:1; }
.oaf-scorecard__bars { margin-top:16px; display:flex; flex-direction:column; gap:9px; font-size:12px; }
.oaf-bar-track { height:6px; background:rgba(255,255,255,.2); border-radius:4px; margin-top:4px; overflow:hidden; }
.oaf-bar-fill { height:100%; background:#fff; border-radius:4px; width:0; animation:oaf-bar-grow 1.4s cubic-bezier(.2,.9,.2,1) forwards; }
.oaf-feat__info { padding:46px 42px; display:flex; flex-direction:column; justify-content:center; }
.oaf-feat__cat { font-size:12.5px; font-weight:700; letter-spacing:.08em; text-transform:uppercase; color:var(--oaf-primary); text-decoration:none; margin-bottom:12px; display:inline-block; }
.oaf-feat__cat:hover { color:var(--oaf-primary-dark); }
.oaf-feat__title { font-family:var(--font-display); font-weight:600; font-size:clamp(24px,3vw,36px); line-height:1.08; letter-spacing:-.02em; color:#1a1a1a; margin-bottom:16px; }
.oaf-feat__title a { color:inherit; text-decoration:none; }
.oaf-feat__title a:hover { color:var(--oaf-primary); }
.oaf-feat__desc { color:#6b7280; font-size:16px; line-height:1.6; margin-bottom:24px; }
.oaf-feat__meta { display:flex; align-items:center; gap:14px; font-size:13.5px; color:#6b7280; }
.oaf-feat__av { width:34px; height:34px; border-radius:50%; background:linear-gradient(135deg,var(--oaf-primary),var(--oaf-secondary)); flex-shrink:0; }

/* ── Review card grid ────────────────────────────────────────────────────── */
.oaf-review-cards { display:grid; grid-template-columns:repeat(3,1fr); gap:26px; }

/* Card shell */
.oaf-review-card {
    background:#fff; border:1px solid #e8e8e5; border-radius:18px;
    overflow:visible; display:flex; flex-direction:column; position:relative;
    transition:transform .4s cubic-bezier(.2,.8,.2,1),box-shadow .4s,border-color .3s;
}
.oaf-review-card:hover { transform:translateY(-10px) scale(1.01); box-shadow:0 2px 4px rgba(0,0,0,.04),0 12px 28px -8px rgba(0,0,0,.12),0 32px 56px -20px rgba(0,0,0,.16); border-color:rgba(79,70,229,.28); }
.oaf-review-card::after {
    content:''; position:absolute; bottom:-1px; left:0; height:3px; width:0;
    background:linear-gradient(90deg,var(--oaf-primary),var(--oaf-secondary),var(--oaf-accent));
    border-radius:0 0 18px 18px; pointer-events:none;
    transition:width .45s cubic-bezier(.2,.8,.2,1);
}
.oaf-review-card:hover::after { width:100%; }

/* Thumbnail */
.oaf-review-card__thumb {
    height:215px; position:relative; display:flex; align-items:flex-start;
    padding:14px; overflow:hidden; flex-shrink:0; border-radius:18px 18px 0 0;
}
.oaf-review-card__thumb.g1 { background:linear-gradient(135deg,#4f46e5,#7c3aed); }
.oaf-review-card__thumb.g2 { background:linear-gradient(135deg,#0ea5e9,#6366f1); }
.oaf-review-card__thumb.g3 { background:linear-gradient(135deg,#f59e0b,#ef4444); }
.oaf-review-card__thumb.g4 { background:linear-gradient(135deg,#1e1b4b,#4f46e5); }
.oaf-review-card__thumb.g5 { background:linear-gradient(135deg,#7c3aed,#c026d3); }
.oaf-review-card__thumb.g6 { background:linear-gradient(135deg,#0f172a,#3730a3); }
.oaf-review-card__thumb img {
    position:absolute; inset:0; width:100%; height:100%; object-fit:cover; display:block;
    transition:transform .55s cubic-bezier(.2,.8,.2,1);
}
.oaf-review-card:hover .oaf-review-card__thumb img { transform:scale(1.07); }

/* Category badge */
.oaf-review-card__cat {
    position:relative; z-index:3; display:inline-flex; align-items:center; gap:5px;
    background:rgba(255,255,255,.94); backdrop-filter:blur(12px);
    color:#1a1a1a; font-family:var(--font-body); font-size:10px; font-weight:700;
    letter-spacing:.07em; text-transform:uppercase; padding:5px 10px 5px 8px;
    border-radius:20px; text-decoration:none; white-space:nowrap; align-self:flex-start;
    box-shadow:0 2px 10px rgba(0,0,0,.10);
}
.oaf-review-card__cat::before { content:''; display:block; width:6px; height:6px; border-radius:50%; background:var(--oaf-primary); flex-shrink:0; }
a.oaf-review-card__cat:hover { background:#fff; color:var(--oaf-primary); }

/* NEW badge */
.oaf-review-card__new {
    position:absolute; top:14px; right:14px; z-index:4;
    background:linear-gradient(135deg,var(--oaf-primary),var(--oaf-secondary));
    color:#fff; font-family:var(--font-body); font-size:9.5px; font-weight:800;
    letter-spacing:.1em; text-transform:uppercase; padding:4px 9px; border-radius:20px;
    box-shadow:0 2px 10px rgba(79,70,229,.45); animation:oaf-new-pulse 2.4s ease-in-out infinite;
}

/* Glyph */
.oaf-review-card__glyph {
    position:absolute; right:16px; bottom:6px;
    font-family:var(--font-display); font-weight:700; font-size:88px;
    color:rgba(255,255,255,.18); line-height:.8;
    pointer-events:none; user-select:none; transition:opacity .35s;
}
.oaf-review-card:hover .oaf-review-card__glyph { opacity:0; }

/* Body */
.oaf-review-card__body { padding:18px 20px 16px; display:flex; flex-direction:column; gap:8px; flex:1; }
.oaf-review-card__title {
    font-family:var(--font-display); font-weight:600; font-size:18px; line-height:1.28; color:#1a1a1a; margin:0;
    display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden;
}
.oaf-review-card__title a { color:inherit; text-decoration:none; transition:color .2s; }
.oaf-review-card__title a:hover { color:var(--oaf-primary); }
.oaf-review-card__desc {
    font-family:var(--font-body); font-size:13.5px; line-height:1.6; color:#6b7280; margin:0; flex:1;
    display:-webkit-box; -webkit-line-clamp:3; -webkit-box-orient:vertical; overflow:hidden;
}
.oaf-review-card__foot {
    display:flex; align-items:center; justify-content:space-between;
    font-family:var(--font-body); font-size:12px; color:#9ca3af;
    padding-top:12px; border-top:1px solid #ebebea; margin-top:auto; gap:6px;
}
.oaf-review-card__rating { display:inline-flex; align-items:center; gap:5px; font-weight:600; font-size:12.5px; color:#1a1a1a; }
.oaf-review-card__star { color:var(--oaf-accent); font-size:13px; }
.oaf-review-card__foot .oaf-rt {
    background:#eef2ff; color:var(--oaf-primary-dark);
    padding:3px 9px; border-radius:20px; font-size:11px; font-weight:700;
    display:inline-flex; align-items:center; gap:3px;
}

/* ── Rankings board ──────────────────────────────────────────────────────── */
.oaf-board { background:#fff; border:1px solid #e8e8e5; border-radius:24px; overflow:hidden; }
.oaf-board__item {
    display:grid; grid-template-columns:60px 1fr auto auto;
    align-items:center; gap:20px; padding:22px 28px;
    border-bottom:1px solid #f4f4f2; transition:background .2s;
}
.oaf-board__item:last-child { border-bottom:none; }
.oaf-board__item:hover { background:var(--oaf-mint-2); }
.oaf-board__rank { font-family:var(--font-display); font-weight:600; font-size:28px; color:var(--oaf-primary); }
.oaf-board__name { font-weight:600; font-size:18px; color:#1a1a1a; }
.oaf-board__name small { display:block; font-weight:400; font-size:13px; color:#6b7280; margin-top:3px; }
.oaf-board__pill { font-size:12px; font-weight:600; color:var(--oaf-primary-dark); background:var(--oaf-mint); padding:6px 13px; border-radius:30px; }
.oaf-board__score { font-family:var(--font-display); font-weight:600; font-size:24px; color:#1a1a1a; }

/* ── Dark newsletter CTA ─────────────────────────────────────────────────── */
.oaf-nl-dark {
    background:linear-gradient(135deg, #0f172a 0%, #1e1b4b 100%);
    color:#fff; border-radius:30px; padding:64px; text-align:center;
    position:relative; overflow:hidden;
    box-shadow:0 40px 80px -40px rgba(79,70,229,.4);
}
.oaf-nl-dark::before {
    content:''; position:absolute; width:340px; height:340px;
    background:radial-gradient(circle,rgba(199,210,254,.4),transparent 70%);
    top:-120px; right:-80px; pointer-events:none;
}
.oaf-nl-dark__inner { position:relative; z-index:2; max-width:560px; margin:0 auto; }
.oaf-nl-dark__kick { color:var(--oaf-aqua); font-weight:600; letter-spacing:.14em; text-transform:uppercase; font-size:13px; margin-bottom:14px; }
.oaf-nl-dark h2 { font-family:var(--font-display); font-weight:600; font-size:clamp(28px,4vw,44px); line-height:1.04; margin-bottom:14px; color:#fff; }
.oaf-nl-dark p { opacity:.85; font-size:16px; margin-bottom:30px; color:#fff; }
.oaf-nl-dark__form { display:flex; gap:10px; max-width:460px; margin:0 auto; }
.oaf-nl-dark__input { flex:1; padding:16px 20px; border:none; border-radius:46px; font-family:inherit; font-size:15px; color:#1a1a1a; outline:none; }
.oaf-nl-dark__btn { background:var(--oaf-accent); color:#1a1a1a; border:none; padding:16px 28px; border-radius:46px; font-weight:700; cursor:pointer; font-family:inherit; font-size:15px; white-space:nowrap; transition:all .25s; }
.oaf-nl-dark__btn:hover { background:#fff; transform:translateY(-2px); }
.oaf-nl-dark small { display:block; margin-top:16px; opacity:.6; font-size:12.5px; color:#fff; }

/* ── Verdict box ─────────────────────────────────────────────────────────── */
.oaf-verdict { background:#fff; border:1px solid #e8e8e5; border-radius:22px; padding:30px; margin:0 0 38px; box-shadow:0 24px 60px -42px rgba(0,0,0,.12); }
.oaf-verdict__top { display:grid; grid-template-columns:auto 1fr auto; gap:24px; align-items:center; }
.oaf-scorebig { text-align:center; background:linear-gradient(135deg,var(--oaf-primary),var(--oaf-secondary)); color:#fff; border-radius:18px; padding:18px 22px; min-width:104px; }
.oaf-scorebig b { font-family:var(--font-display); font-weight:700; font-size:44px; line-height:1; display:block; }
.oaf-scorebig span { font-size:12px; opacity:.9; letter-spacing:.05em; }
.oaf-scorebig__stars { color:var(--oaf-accent); font-size:13px; margin-top:6px; letter-spacing:1px; }
.oaf-verdict h2 { font-weight:600; font-size:22px; line-height:1.15; margin-bottom:6px; color:#1a1a1a; }
.oaf-verdict > .oaf-verdict__top > div > p { font-size:14.5px; color:#6b7280; line-height:1.5; }
.oaf-verdict__cta { display:flex; flex-direction:column; gap:8px; }
.oaf-btn-buy { background:var(--oaf-accent); color:#1a1a1a; font-weight:700; padding:13px 22px; border-radius:12px; text-align:center; font-size:14.5px; text-decoration:none; display:block; white-space:nowrap; transition:.2s; box-shadow:0 10px 24px -10px rgba(245,158,11,.5); }
.oaf-btn-buy:hover { transform:translateY(-2px); filter:brightness(1.04); color:#1a1a1a; }
.oaf-aff-note { font-size:11px; color:#6b7280; text-align:center; }
.oaf-verdict-scores { display:grid; grid-template-columns:repeat(4,1fr); gap:14px; margin-top:24px; padding-top:22px; border-top:1px solid #f4f4f2; }
.oaf-vs__lab { font-size:12px; color:#6b7280; font-weight:500; }
.oaf-vs__bar { height:7px; background:var(--oaf-mint); border-radius:5px; margin:7px 0 5px; overflow:hidden; }
.oaf-vs__bar i { display:block; height:100%; background:linear-gradient(90deg,var(--oaf-primary),var(--oaf-secondary)); border-radius:5px; }
.oaf-vs__n { font-family:var(--font-display); font-weight:600; font-size:14px; color:#1a1a1a; }

/* ── TOC ─────────────────────────────────────────────────────────────────── */
.oaf-art-toc { background:var(--oaf-mint-2); border:1px solid #e8e8e5; border-radius:16px; padding:20px 22px; margin:0 0 36px; }
.oaf-art-toc h4 { font-size:12px; text-transform:uppercase; letter-spacing:.1em; color:var(--oaf-primary); margin-bottom:12px; font-family:var(--font-body); font-weight:600; }
.oaf-art-toc ol { list-style:none; counter-reset:toc; display:flex; flex-direction:column; gap:9px; margin:0; padding:0; }
.oaf-art-toc li { counter-increment:toc; font-size:14.5px; }
.oaf-art-toc li::before { content:counter(toc,decimal-leading-zero); color:var(--oaf-primary); font-weight:700; margin-right:10px; font-family:var(--font-display); }
.oaf-art-toc a { color:#1a1a1a; text-decoration:none; }
.oaf-art-toc a:hover { color:var(--oaf-primary); text-decoration:underline; }

/* ── Archive / blog index ────────────────────────────────────────────────── */
.oaf-arc-hero { padding:60px 0 44px; background:var(--oaf-bg); border-bottom:1px solid #e8e8e5; text-align:center; }
.oaf-arc-hero .oaf-kick { display:inline-block; margin-bottom:10px; }
.oaf-arc-title { font-family:var(--font-display); font-weight:600; font-size:clamp(28px,5vw,48px); letter-spacing:-.025em; line-height:1.04; color:#1a1a1a; margin:0; }
.oaf-arc-desc { font-family:var(--font-body); font-size:16px; line-height:1.6; color:#6b7280; max-width:500px; margin:14px auto 0; }
.oaf-arc-section { padding:56px 0 80px; }
.oaf-arc-grid { grid-template-columns:repeat(3,1fr); }
.oaf-arc-pager { display:flex; justify-content:center; align-items:center; flex-wrap:wrap; gap:8px; margin-top:56px; }
.oaf-arc-pager a, .oaf-arc-pager span.page-numbers {
    display:inline-flex; align-items:center; justify-content:center;
    min-width:40px; height:40px; padding:0 14px; border-radius:10px;
    font-family:var(--font-body); font-size:14px; font-weight:600;
    text-decoration:none; border:1px solid #e8e8e5; background:#fff; color:#6b7280; transition:all .2s;
}
.oaf-arc-pager a:hover, .oaf-arc-pager .current { background:var(--oaf-primary); color:#fff; border-color:var(--oaf-primary); }
.oaf-arc-empty { text-align:center; padding:64px 24px; font-family:var(--font-body); font-size:18px; color:#6b7280; }

/* Blog hero */
.oaf-blog-page-hero {
    position:relative; overflow:hidden;
    background:linear-gradient(135deg, #0f172a 0%, #1e1b4b 55%, #4f46e5 100%);
    padding:calc(var(--oaf-nav-h) + 56px) 0 64px; color:#fff;
}
body.has-topbar .oaf-blog-page-hero { padding-top:calc(var(--oaf-nav-h) + 37px + 56px); }
.oaf-blog-page-hero__bg { position:absolute; inset:0; pointer-events:none; }
.oaf-blog-page-hero__blob { position:absolute; border-radius:50%; filter:blur(80px); opacity:.2; }
.oaf-blog-page-hero__blob--1 { width:480px; height:480px; background:radial-gradient(circle,#c7d2fe,transparent 70%); top:-140px; right:-60px; }
.oaf-blog-page-hero__blob--2 { width:320px; height:320px; background:radial-gradient(circle,#a5b4fc,transparent 70%); bottom:-80px; left:10%; }
.oaf-blog-page-hero__inner { position:relative; z-index:1; display:grid; grid-template-columns:1fr auto; gap:48px; align-items:center; }
.oaf-blog-page-hero__title { font-family:var(--font-display); font-weight:600; font-size:clamp(42px,6vw,74px); line-height:1.0; letter-spacing:-.035em; color:#fff; margin:12px 0 20px; }
.oaf-blog-page-hero__accent { color:var(--oaf-aqua); }
.oaf-blog-page-hero__desc { font-family:var(--font-body); font-size:16px; line-height:1.65; color:rgba(255,255,255,.75); max-width:480px; }
.oaf-blog-page-hero__stats { display:flex; flex-direction:column; background:rgba(255,255,255,.07); border:1px solid rgba(255,255,255,.15); backdrop-filter:blur(12px); border-radius:18px; padding:6px 0; min-width:180px; }
.oaf-blog-page-hero__stat { padding:18px 24px; text-align:center; border-bottom:1px solid rgba(255,255,255,.1); }
.oaf-blog-page-hero__stat:last-child { border-bottom:none; }
.oaf-blog-page-hero__stat b { display:block; font-family:var(--font-display); font-size:30px; font-weight:600; color:var(--oaf-aqua); line-height:1; margin-bottom:4px; }
.oaf-blog-page-hero__stat span { font-size:12px; color:rgba(255,255,255,.65); }

/* Blog tabs */
.oaf-blog-tabs { background:#fff; border-bottom:1px solid #e8e8e5; position:sticky; top:var(--oaf-nav-h); z-index:490; overflow-x:auto; scrollbar-width:none; }
body.has-topbar .oaf-blog-tabs { top:calc(var(--oaf-nav-h) + 37px); }
.oaf-blog-tabs::-webkit-scrollbar { display:none; }
.oaf-blog-tabs__inner { display:flex; gap:0; align-items:stretch; white-space:nowrap; padding:0; }
.oaf-blog-tab { display:inline-flex; align-items:center; gap:8px; padding:16px 22px; border-bottom:3px solid transparent; font-family:var(--font-body); font-size:14px; font-weight:500; color:#6b7280; text-decoration:none; transition:color .2s,border-color .2s; white-space:nowrap; }
.oaf-blog-tab:hover { color:#1a1a1a; border-bottom-color:#e8e8e5; }
.oaf-blog-tab--active { color:var(--oaf-primary); border-bottom-color:var(--oaf-primary); font-weight:600; }
.oaf-blog-tab__count { font-size:11px; font-weight:700; background:var(--oaf-mint-2); color:var(--oaf-primary-dark); padding:2px 7px; border-radius:20px; }
.oaf-blog-tab--active .oaf-blog-tab__count { background:var(--oaf-primary); color:#fff; }

/* Blog spotlight */
.oaf-blog-spotlight { padding:56px 0 0; }
.oaf-blog-spotlight__layout { display:grid; grid-template-columns:1.4fr 1fr; gap:24px; margin-top:36px; }
.oaf-blog-spotlight__main { background:#fff; border:1px solid #e8e8e5; border-radius:22px; overflow:hidden; display:flex; flex-direction:column; transition:transform .4s cubic-bezier(.2,.8,.2,1),box-shadow .4s,border-color .3s; border-color:#e2e8f0; }
.oaf-blog-spotlight__main:hover { transform:translateY(-6px) scale(1.005); box-shadow:0 28px 56px -20px rgba(0,0,0,.15); }
.oaf-blog-spotlight__thumb-link { display:block; }
.oaf-blog-spotlight__thumb { height:280px; position:relative; overflow:hidden; display:flex; align-items:flex-start; padding:18px; }
.oaf-blog-spotlight__thumb.g1 { background:linear-gradient(135deg,#4f46e5,#7c3aed); }
.oaf-blog-spotlight__thumb.g2 { background:linear-gradient(135deg,#0ea5e9,#6366f1); }
.oaf-blog-spotlight__thumb img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; transition:transform .6s cubic-bezier(.2,.8,.2,1); }
.oaf-blog-spotlight__main:hover .oaf-blog-spotlight__thumb img { transform:scale(1.06); }
.oaf-blog-spotlight__cat { display:inline-flex; align-items:center; gap:5px; background:rgba(255,255,255,.94); backdrop-filter:blur(12px); font-size:10px; font-weight:700; letter-spacing:.07em; text-transform:uppercase; padding:5px 10px 5px 8px; border-radius:20px; box-shadow:0 2px 8px rgba(0,0,0,.10); text-decoration:none; color:#1a1a1a; }
.oaf-blog-spotlight__cat::before { content:''; display:block; width:6px; height:6px; border-radius:50%; background:var(--oaf-primary); flex-shrink:0; }
.oaf-blog-spotlight__body { padding:28px 28px 24px; flex:1; }
.oaf-blog-spotlight__title { font-family:var(--font-display); font-weight:600; font-size:24px; line-height:1.18; color:#1a1a1a; margin:0 0 12px; }
.oaf-blog-spotlight__title a { color:inherit; text-decoration:none; transition:color .2s; }
.oaf-blog-spotlight__title a:hover { color:var(--oaf-primary); }
.oaf-blog-spotlight__desc { font-size:15px; line-height:1.6; color:#6b7280; margin-bottom:18px; }
.oaf-blog-spotlight__meta { font-family:var(--font-body); font-size:13px; color:#9ca3af; }
.oaf-blog-spotlight__dot { margin:0 6px; }
.oaf-blog-spotlight__side { display:flex; flex-direction:column; gap:24px; }
.oaf-blog-spotlight__sub { display:grid; grid-template-columns:120px 1fr; gap:18px; background:#fff; border:1px solid #e8e8e5; border-radius:18px; overflow:hidden; align-items:start; transition:transform .4s,box-shadow .4s; }
.oaf-blog-spotlight__sub:hover { transform:translateY(-3px); box-shadow:0 14px 36px -18px rgba(0,0,0,.15); }
.oaf-blog-spotlight__sub-thumb-link { display:block; height:100%; }
.oaf-blog-spotlight__sub-thumb { height:100%; min-height:120px; position:relative; overflow:hidden; }
.oaf-blog-spotlight__sub-thumb.g4 { background:linear-gradient(135deg,#f59e0b,#ef4444); }
.oaf-blog-spotlight__sub-thumb.g5 { background:linear-gradient(135deg,#7c3aed,#c026d3); }
.oaf-blog-spotlight__sub-thumb img { width:100%; height:100%; object-fit:cover; position:absolute; inset:0; transition:transform .6s; }
.oaf-blog-spotlight__sub:hover .oaf-blog-spotlight__sub-thumb img { transform:scale(1.06); }
.oaf-blog-spotlight__sub-body { padding:18px 18px 18px 0; }
.oaf-blog-spotlight__sub-cat { display:inline-flex; align-items:center; gap:4px; font-size:10px; font-weight:700; letter-spacing:.06em; text-transform:uppercase; color:var(--oaf-primary); text-decoration:none; margin-bottom:8px; }
.oaf-blog-spotlight__sub-cat::before { content:''; display:block; width:5px; height:5px; border-radius:50%; background:var(--oaf-primary); flex-shrink:0; }
.oaf-blog-spotlight__sub-title { font-family:var(--font-display); font-weight:600; font-size:17px; line-height:1.25; color:#1a1a1a; margin-bottom:10px; }
.oaf-blog-spotlight__sub-title a { color:inherit; text-decoration:none; transition:color .2s; }
.oaf-blog-spotlight__sub-title a:hover { color:var(--oaf-primary); }

/* Mid-grid newsletter */
.oaf-blog-midnl { background:linear-gradient(135deg,#0f172a,#1e1b4b); border-radius:22px; padding:36px 40px; margin:48px 0 0; box-shadow:0 24px 56px -28px rgba(79,70,229,.35); }
.oaf-blog-midnl__inner { display:flex; align-items:center; justify-content:space-between; gap:32px; flex-wrap:wrap; width:100%; }
.oaf-blog-midnl__title { font-family:var(--font-display); font-weight:600; font-size:22px; color:#fff; margin-bottom:6px; }
.oaf-blog-midnl__desc { font-size:14px; color:rgba(255,255,255,.75); }
.oaf-blog-midnl__form { display:flex; gap:10px; flex-shrink:0; flex-wrap:wrap; }
.oaf-blog-midnl__input { padding:13px 18px; border:none; border-radius:40px; font-family:var(--font-body); font-size:14px; color:#1a1a1a; width:240px; outline:none; }
.oaf-blog-midnl__btn { background:var(--oaf-accent); color:#1a1a1a; border:none; padding:13px 24px; border-radius:40px; font-family:var(--font-body); font-weight:700; font-size:14px; cursor:pointer; white-space:nowrap; transition:all .25s; }
.oaf-blog-midnl__btn:hover { background:#fff; transform:translateY(-2px); }

/* ── Article layout (single post) ────────────────────────────────────────── */
.oaf-art-layout { display:grid; grid-template-columns:1fr 280px; gap:54px; max-width:1180px; margin:0 auto; padding:46px 28px 80px; align-items:start; }

/* Article hero image */
.oaf-art-hero-img { aspect-ratio:16/8; border-radius:20px; background:linear-gradient(135deg,#1e1b4b,#4f46e5 55%,#7c3aed); margin:8px 0 36px; position:relative; overflow:hidden; border:1px solid #e8e8e5; display:flex; align-items:center; justify-content:center; }
.oaf-art-hero-img img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; border-radius:0; }
.oaf-art-hero-img__title { font-family:var(--font-display); font-weight:600; font-size:clamp(20px,3vw,34px); color:rgba(255,255,255,.85); text-align:center; padding:20px; position:relative; z-index:1; letter-spacing:.02em; }

/* Breadcrumbs */
.oaf-crumbs { display:flex; align-items:center; flex-wrap:wrap; font-size:13px; color:#6b7280; margin-bottom:20px; }
.oaf-crumbs a { color:#6b7280; text-decoration:none; }
.oaf-crumbs a:hover { color:var(--oaf-primary); }
.oaf-crumbs span { margin:0 7px; opacity:.5; }
.oaf-crumbs__current { color:#1a1a1a; font-weight:500; }

/* Eyebrow */
.oaf-art-eyebrow { display:inline-flex; align-items:center; gap:8px; font-size:12.5px; font-weight:700; letter-spacing:.08em; text-transform:uppercase; color:var(--oaf-primary); margin-bottom:16px; }
.oaf-art-eyebrow::before { content:''; display:block; width:26px; height:2px; background:var(--oaf-primary); flex-shrink:0; }

/* Article title + dek */
.oaf-art-title { font-family:var(--font-display); font-weight:600; font-size:clamp(30px,4.6vw,50px); line-height:1.06; letter-spacing:-.025em; color:#1a1a1a; margin:0; }
.oaf-dek, .oaf-dek p { font-family:var(--font-serif); font-size:20px; line-height:1.5; color:#6b7280; margin-top:18px; margin-bottom:0; }

/* Byline */
.oaf-byline { display:flex; align-items:center; gap:14px; flex-wrap:wrap; margin:26px 0; padding:16px 0; border-top:1px solid #e8e8e5; border-bottom:1px solid #e8e8e5; }
.oaf-byline__av { width:42px; height:42px; border-radius:50%; background:linear-gradient(135deg,var(--oaf-primary),var(--oaf-secondary)); flex-shrink:0; overflow:hidden; }
.oaf-byline__av img { width:100%; height:100%; object-fit:cover; }
.oaf-byline__who b { font-weight:600; font-size:14.5px; display:block; color:#1a1a1a; }
.oaf-byline__who span { font-size:13px; color:#6b7280; display:block; margin-top:2px; }
.oaf-byline__dot { color:#e8e8e5; }
.oaf-byline__tag { margin-left:auto; font-size:12px; font-weight:600; color:var(--oaf-primary-dark); background:var(--oaf-mint); padding:6px 13px; border-radius:30px; text-decoration:none; white-space:nowrap; }

/* Sidebar */
.oaf-side { position:sticky; top:calc(var(--oaf-nav-h) + 20px); display:flex; flex-direction:column; gap:22px; font-family:var(--font-body); }
body.has-topbar .oaf-side { top:calc(var(--oaf-nav-h) + 37px + 20px); }
.oaf-side-card { background:#fff; border:1px solid #e8e8e5; border-radius:16px; padding:20px; }
.oaf-side-card h4 { font-size:12px; text-transform:uppercase; letter-spacing:.1em; color:var(--oaf-primary); margin-bottom:14px; font-weight:600; }
.oaf-side-mini { display:flex; gap:12px; padding:11px 0; border-bottom:1px solid #f4f4f2; text-decoration:none; transition:opacity .2s; }
.oaf-side-mini:last-child { border-bottom:none; }
.oaf-side-mini:hover { opacity:.75; }
.oaf-side-mini__thumb { width:52px; height:52px; border-radius:10px; flex-shrink:0; background:linear-gradient(135deg,var(--oaf-primary),var(--oaf-secondary)); overflow:hidden; }
.oaf-side-mini__thumb--b { background:linear-gradient(135deg,var(--oaf-secondary),var(--oaf-primary-dark)); }
.oaf-side-mini__thumb--c { background:linear-gradient(135deg,var(--oaf-primary-dark),var(--oaf-secondary)); }
.oaf-side-mini__thumb img { width:100%; height:100%; object-fit:cover; }
.oaf-side-mini b { font-size:13.5px; font-weight:600; line-height:1.25; display:block; color:#1a1a1a; }
.oaf-side-mini span { font-size:12px; color:#6b7280; }
.oaf-side-news { background:linear-gradient(135deg,#0f172a,#1e1b4b); color:#fff; border-radius:16px; padding:22px; text-align:center; }
.oaf-side-news b { font-family:var(--font-display); font-size:17px; display:block; margin-bottom:4px; }
.oaf-side-news p { font-size:13px; opacity:.85; margin:8px 0 14px; }
.oaf-side-news form input { width:100%; padding:11px 14px; border:none; border-radius:10px; margin-bottom:8px; font-family:var(--font-body); font-size:13.5px; color:#1a1a1a; outline:none; display:block; }
.oaf-side-news form button { width:100%; background:var(--oaf-accent); color:#1a1a1a; border:none; padding:11px; border-radius:10px; font-weight:700; cursor:pointer; font-family:var(--font-body); font-size:14px; transition:.2s; }
.oaf-side-news form button:hover { filter:brightness(1.05); }

/* Related posts */
.oaf-related { margin-top:48px; padding-top:32px; border-top:1px solid #e8e8e5; }
.oaf-related__title { font-family:var(--font-display); font-size:clamp(20px,3vw,28px); font-weight:600; color:#1a1a1a; margin-bottom:24px; letter-spacing:-.02em; }

/* Post tags */
.oaf-post-tags { display:flex; gap:6px; flex-wrap:wrap; margin-top:32px; }
.oaf-post-tag { border:1.5px solid #e8e8e5; border-radius:100px; padding:5px 14px; font-size:12.5px; color:#6b7280; text-decoration:none; transition:all .2s; font-family:var(--font-body); }
.oaf-post-tag:hover { border-color:var(--oaf-primary); color:var(--oaf-primary); }

/* Author box */
.oaf-art-author { display:flex; gap:18px; align-items:flex-start; background:#fff; border:1px solid #e8e8e5; border-radius:18px; padding:24px; margin:44px 0; font-family:var(--font-body); }
.oaf-art-author__av { width:58px; height:58px; border-radius:50%; background:linear-gradient(135deg,var(--oaf-primary),var(--oaf-secondary)); flex-shrink:0; overflow:hidden; box-shadow:0 0 0 3px #fff,0 0 0 5px var(--oaf-mint); }
.oaf-art-author__av img { width:100%; height:100%; object-fit:cover; }
.oaf-art-author b { font-family:var(--font-display); font-size:16px; display:block; margin-bottom:6px; color:#1a1a1a; }
.oaf-art-author p { font-size:14px; color:#6b7280; line-height:1.55; margin:0; }
.oaf-art-author a { color:var(--oaf-primary); text-decoration:underline; }

/* ── Page hero (generic pages) ───────────────────────────────────────────── */
.oaf-page-hero { padding:60px 0 48px; background:linear-gradient(180deg,var(--oaf-mint-2) 0%,var(--oaf-bg) 100%); border-bottom:1px solid #e8e8e5; text-align:center; }
.oaf-page-title { font-family:var(--font-display); font-size:clamp(28px,5vw,48px); font-weight:600; letter-spacing:-.03em; color:#1a1a1a; margin:0; }
.oaf-page-content-wrap { max-width:880px; margin:0 auto; padding:48px 24px 80px; }
.oaf-page-content { font-size:17px; line-height:1.8; color:#6b7280; }
.oaf-page-content h2 { font-family:var(--font-display); font-size:26px; font-weight:600; color:#1a1a1a; margin:1.8em 0 .5em; }
.oaf-page-content a { color:var(--oaf-primary); }

/* ── About page ──────────────────────────────────────────────────────────── */
.oaf-about-hero { position:relative; overflow:hidden; background:linear-gradient(135deg,#0f172a 0%,#1e1b4b 50%,#4f46e5 100%); padding:calc(var(--oaf-nav-h) + 60px) 0 80px; color:#fff; }
body.has-topbar .oaf-about-hero { padding-top:calc(var(--oaf-nav-h) + 37px + 60px); }
.oaf-about-hero__bg { position:absolute; inset:0; pointer-events:none; }
.oaf-about-hero__blob { position:absolute; border-radius:50%; filter:blur(80px); opacity:.25; }
.oaf-about-hero__blob--1 { width:500px; height:500px; background:radial-gradient(circle,#c7d2fe,transparent 70%); top:-160px; right:-80px; }
.oaf-about-hero__blob--2 { width:360px; height:360px; background:radial-gradient(circle,#a5b4fc,transparent 70%); bottom:-100px; left:-60px; }
.oaf-about-hero__inner { position:relative; z-index:1; text-align:center; }
.oaf-about-hero__title { font-family:var(--font-display); font-weight:600; font-size:clamp(40px,6vw,72px); line-height:1.04; letter-spacing:-.03em; color:#fff; margin:12px 0 22px; }
.oaf-about-hero__accent { color:var(--oaf-aqua); }
.oaf-about-hero__desc { font-family:var(--font-body); font-size:18px; line-height:1.65; color:rgba(255,255,255,.82); max-width:620px; margin:0 auto 36px; }
.oaf-about-hero__actions { display:flex; gap:14px; justify-content:center; flex-wrap:wrap; }
.oaf-about-btn { display:inline-flex; align-items:center; gap:8px; padding:14px 28px; border-radius:40px; font-family:var(--font-body); font-weight:600; font-size:15px; text-decoration:none; transition:all .25s; }
.oaf-about-btn--primary { background:var(--oaf-aqua); color:#0f172a; }
.oaf-about-btn--primary:hover { background:#fff; transform:translateY(-2px); color:#0f172a; }
.oaf-about-btn--ghost { background:rgba(255,255,255,.12); color:#fff; border:1.5px solid rgba(255,255,255,.3); }
.oaf-about-btn--ghost:hover { background:rgba(255,255,255,.2); color:#fff; }
.oaf-about-stats { background:#fff; border-bottom:1px solid #e8e8e5; padding:40px 0; }
.oaf-about-stats__grid { display:grid; grid-template-columns:repeat(4,1fr); gap:20px; text-align:center; }
.oaf-about-stat b { display:block; font-family:var(--font-display); font-weight:600; font-size:40px; line-height:1; background:linear-gradient(135deg,var(--oaf-primary),var(--oaf-secondary)); -webkit-background-clip:text; background-clip:text; color:transparent; margin-bottom:8px; }
.oaf-about-stat span { font-family:var(--font-body); font-size:13px; color:#6b7280; line-height:1.4; }
.oaf-about-stats__grid .oaf-about-stat:not(:last-child) { border-right:1px solid #e8e8e5; }
.oaf-about-values { padding:80px 0; }
.oaf-about-values__grid { display:grid; grid-template-columns:repeat(3,1fr); gap:24px; margin-top:48px; }
.oaf-about-value-card { background:#fff; border:1px solid #e8e8e5; border-radius:20px; padding:32px 28px; transition:transform .3s,box-shadow .3s; }
.oaf-about-value-card:hover { transform:translateY(-6px); box-shadow:0 24px 50px -28px rgba(0,0,0,.14); }
.oaf-about-value-card__icon { width:52px; height:52px; border-radius:14px; display:flex; align-items:center; justify-content:center; margin-bottom:20px; }
.oaf-about-value-card__icon--emerald { background:var(--oaf-mint); color:var(--oaf-primary); }
.oaf-about-value-card__icon--teal { background:var(--oaf-mint-2); color:var(--oaf-secondary); }
.oaf-about-value-card__icon--gold { background:#fef3c7; color:#d97706; }
.oaf-about-value-card h3 { font-family:var(--font-display); font-weight:600; font-size:20px; color:#1a1a1a; margin-bottom:12px; }
.oaf-about-value-card p { font-size:14.5px; line-height:1.65; color:#6b7280; }
.oaf-about-story { padding:0 0 80px; }
.oaf-about-story__layout { display:grid; grid-template-columns:1fr 1fr; gap:64px; align-items:center; }
.oaf-about-story__text h2 { font-family:var(--font-display); font-size:clamp(28px,3.5vw,42px); font-weight:600; letter-spacing:-.025em; color:#1a1a1a; margin:10px 0 24px; }
.oaf-about-story__text p { font-size:15px; line-height:1.75; color:#6b7280; margin-bottom:16px; }
.oaf-about-link { display:inline-flex; align-items:center; gap:6px; color:var(--oaf-primary); font-weight:600; font-size:14px; text-decoration:none; margin-top:8px; transition:gap .2s; }
.oaf-about-link:hover { gap:10px; }
.oaf-about-story__card { background:#fff; border:1px solid #e8e8e5; border-radius:20px; padding:24px; box-shadow:0 24px 60px -30px rgba(0,0,0,.14); }
.oaf-about-story__card-head { display:flex; gap:6px; margin-bottom:20px; }
.oaf-about-story__dot { width:10px; height:10px; border-radius:50%; }
.oaf-about-story__dot--green { background:var(--oaf-primary); }
.oaf-about-story__dot--gold { background:var(--oaf-accent); }
.oaf-about-story__dot--red { background:var(--oaf-red); }
.oaf-about-story__row { display:grid; grid-template-columns:100px 1fr 40px; align-items:center; gap:12px; margin-bottom:14px; }
.oaf-about-story__row-label { font-size:12px; font-weight:600; color:#6b7280; }
.oaf-about-story__bar-track { height:7px; background:var(--oaf-mint-2); border-radius:5px; overflow:hidden; }
.oaf-about-story__bar-fill { height:100%; border-radius:5px; background:linear-gradient(90deg,var(--oaf-primary),var(--oaf-secondary)); animation:oaf-bar-grow 1.2s cubic-bezier(.2,.9,.2,1) forwards; }
.oaf-about-story__row-score { font-family:var(--font-display); font-size:14px; font-weight:600; color:#1a1a1a; }
.oaf-about-story__card-footer { display:flex; justify-content:space-between; align-items:center; padding-top:18px; border-top:1px solid #f4f4f2; margin-top:6px; }
.oaf-about-story__badge { background:var(--oaf-mint-2); color:var(--oaf-primary-dark); font-size:12px; font-weight:700; padding:5px 12px; border-radius:20px; }
.oaf-about-process { padding:80px 0; background:var(--oaf-bg-alt); }
.oaf-about-process__steps { display:grid; grid-template-columns:1fr auto 1fr auto 1fr; gap:0; align-items:start; margin-top:48px; }
.oaf-about-process__step { background:#fff; border:1px solid #e8e8e5; border-radius:20px; padding:32px 28px; }
.oaf-about-process__connector { width:40px; display:flex; align-items:flex-start; justify-content:center; padding-top:52px; }
.oaf-about-process__connector::before { content:"→"; font-size:22px; color:var(--oaf-primary); font-weight:700; }
.oaf-about-process__num { font-family:var(--font-display); font-size:36px; font-weight:700; color:var(--oaf-primary); margin-bottom:16px; line-height:1; }
.oaf-about-process__step h3 { font-family:var(--font-display); font-size:18px; font-weight:600; color:#1a1a1a; margin-bottom:10px; }
.oaf-about-process__step p { font-size:14px; line-height:1.65; color:#6b7280; }
.oaf-about-team { padding:80px 0; }
.oaf-about-team__grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(200px,1fr)); gap:24px; margin-top:48px; }
.oaf-about-team__card { background:#fff; border:1px solid #e8e8e5; border-radius:18px; padding:28px 22px; text-align:center; transition:transform .3s,box-shadow .3s; }
.oaf-about-team__card:hover { transform:translateY(-4px); box-shadow:0 18px 40px -20px rgba(0,0,0,.14); }
.oaf-about-team__avatar { width:72px; height:72px; border-radius:50%; overflow:hidden; margin:0 auto 16px; background:linear-gradient(135deg,var(--oaf-primary),var(--oaf-secondary)); }
.oaf-about-team__avatar img { width:100%; height:100%; object-fit:cover; }
.oaf-about-team__name { font-family:var(--font-display); font-size:17px; font-weight:600; color:#1a1a1a; margin-bottom:8px; }
.oaf-about-team__bio { font-size:13px; line-height:1.55; color:#6b7280; margin-bottom:12px; }
.oaf-about-team__posts { display:inline-block; background:var(--oaf-mint-2); color:var(--oaf-primary-dark); font-size:11.5px; font-weight:700; padding:4px 12px; border-radius:20px; }
.oaf-about-content { padding:60px 0; }
.oaf-about-content__body { max-width:760px; margin:0 auto; font-size:17px; line-height:1.75; color:#6b7280; }
.oaf-about-cta { padding:0 0 80px; }
.oaf-about-link { color:var(--oaf-primary); }

/* ── Contact page ────────────────────────────────────────────────────────── */
.oaf-contact-hero { padding:calc(var(--oaf-nav-h) + 60px) 0 56px; background:var(--oaf-bg); text-align:center; border-bottom:1px solid #e8e8e5; }
body.has-topbar .oaf-contact-hero { padding-top:calc(var(--oaf-nav-h) + 37px + 60px); }
.oaf-contact-hero__inner { text-align:center; }
.oaf-contact-hero__title { font-family:var(--font-display); font-weight:600; font-size:clamp(32px,5vw,52px); letter-spacing:-.025em; color:#1a1a1a; margin:12px 0 18px; }
.oaf-contact-hero__desc { font-size:17px; line-height:1.65; color:#6b7280; max-width:560px; margin:0 auto; }
.oaf-contact-methods { padding:56px 0; }
.oaf-contact-methods__grid { display:grid; grid-template-columns:repeat(3,1fr); gap:24px; }
.oaf-contact-method { background:#fff; border:1px solid #e8e8e5; border-radius:20px; padding:32px 28px; text-align:center; transition:transform .3s,box-shadow .3s; }
.oaf-contact-method:hover { transform:translateY(-5px); box-shadow:0 20px 48px -24px rgba(0,0,0,.14); }
.oaf-contact-method__icon { width:56px; height:56px; border-radius:16px; display:flex; align-items:center; justify-content:center; margin:0 auto 20px; }
/* Icon modifier: palette-neutral names */
.oaf-contact-method__icon--primary   { background:var(--oaf-mint-2); color:var(--oaf-primary); }
.oaf-contact-method__icon--secondary { background:#f5f3ff; color:var(--oaf-secondary); }
.oaf-contact-method__icon--accent    { background:#fef3c7; color:#d97706; }
/* Legacy aliases (safe to keep in case other pages use them) */
.oaf-contact-method__icon--emerald   { background:var(--oaf-mint-2); color:var(--oaf-primary); }
.oaf-contact-method__icon--teal      { background:#f5f3ff; color:var(--oaf-secondary); }
.oaf-contact-method__icon--gold      { background:#fef3c7; color:#d97706; }

.oaf-contact-method h3 { font-family:var(--font-display); font-size:19px; font-weight:600; color:#1a1a1a; margin-bottom:10px; }
.oaf-contact-method p  { font-size:14px; line-height:1.6; color:#6b7280; margin-bottom:16px; }
.oaf-contact-method__link {
    display:inline-block; color:var(--oaf-primary); font-weight:600; font-size:14px;
    text-decoration:none;
    border-bottom:1.5px solid rgba(79,70,229,0.25);
    transition:border-color .2s;
}
.oaf-contact-method__link:hover { border-color:var(--oaf-primary); }
/* Contact main layout + form — full CSS is in the "Send a Message" block at end of file.
   Old classes (.oaf-contact-form-wrap, .oaf-native-form, .oaf-contact-faq) removed.
   New classes: .oaf-form-card  .oaf-msg-form  .oaf-cfaq */

/* ── Footer ──────────────────────────────────────────────────────────────── */
.oaf-footer { background:var(--oaf-bg); border-top:1px solid #e8e8e5; padding:70px 0 36px; color:#1a1a1a; }
.oaf-ft-wrap { max-width:1240px; margin:0 auto; padding:0 28px; }
.oaf-ft-grid { display:grid; grid-template-columns:2fr 1fr 1fr 1fr; gap:40px; margin-bottom:48px; }
.oaf-ft-brand { }
.oaf-ft-logo { margin-bottom:20px; }
.oaf-ft-bio { font-size:14px; line-height:1.65; color:#6b7280; max-width:34ch; margin-top:14px; }
.oaf-ft-col__title { font-family:var(--font-body); font-size:12px; font-weight:700; letter-spacing:.1em; text-transform:uppercase; color:#1a1a1a; margin:0 0 16px; }
.oaf-ft-links { list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:11px; }
.oaf-ft-links a { font-size:14px; color:#6b7280; text-decoration:none; transition:color .2s; }
.oaf-ft-links a:hover { color:var(--oaf-primary); }
.oaf-ft-disclosure { font-size:12.5px; color:#6b7280; line-height:1.7; border-top:1px solid #e8e8e5; padding:20px 0 0; max-width:720px; opacity:.8; margin-bottom:0; }
.oaf-ft-disclosure a { color:#1a1a1a; text-decoration:none; }
.oaf-ft-disclosure a:hover { color:var(--oaf-primary); }
.oaf-ft-bar { display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:10px; border-top:1px solid #e8e8e5; padding:22px 0 0; margin-top:20px; font-size:13px; color:#6b7280; }
.oaf-ft-bar .oaf-wordmark { font-size:14px; }

/* ── Article prose CSS vars (single.css handles body) ────────────────────── */
.oaf-article-body { font-family:var(--font-serif); font-size:18.5px; line-height:1.72; color:#28323a; }
.oaf-article-body h2 { font-family:var(--font-display); font-weight:600; font-size:30px; letter-spacing:-.02em; margin:46px 0 16px; scroll-margin-top:90px; color:#1a1a1a; }
.oaf-article-body h3 { font-family:var(--font-display); font-weight:500; font-size:22px; margin:30px 0 12px; color:#1a1a1a; }
.oaf-article-body p { margin-bottom:20px; }
.oaf-article-body a { color:var(--oaf-primary-dark); text-decoration:underline; text-decoration-color:var(--oaf-aqua); text-underline-offset:3px; }
.oaf-article-body a:hover { background:var(--oaf-mint-2); color:var(--oaf-primary-dark); }
.oaf-article-body strong { font-weight:600; color:#1a1a1a; }
.oaf-article-body ul, .oaf-article-body ol { margin:0 0 20px 22px; }
.oaf-article-body li { margin-bottom:9px; }
.oaf-article-body blockquote { border-left:4px solid var(--oaf-primary); background:#fff; padding:18px 24px; border-radius:0 14px 14px 0; margin:26px 0; font-size:19px; font-style:italic; color:#1a1a1a; }
.oaf-article-body img { width:100%; border-radius:var(--oaf-radius-lg); margin:2em 0; }
.oaf-article-body code { font-size:14px; background:var(--oaf-mint-2); color:var(--oaf-primary-dark); padding:2px 7px; border-radius:5px; }
.oaf-article-body pre { background:#0f172a; color:var(--oaf-aqua); padding:20px 24px; border-radius:16px; overflow-x:auto; margin:0 0 24px; font-size:14px; line-height:1.6; }
.oaf-article-body pre code { background:none; color:var(--oaf-aqua); padding:0; }
.oaf-article-body .wp-block-separator { border:none; border-top:1px solid #e8e8e5; margin:2.5em 0; }

/* ── Ping/icons/reveal (home page) ──────────────────────────────────────── */
.oaf-hero--center { height:auto; min-height:auto; padding:calc(var(--oaf-nav-h) + 60px) 0 50px; text-align:center; overflow:hidden; position:relative; background-color:var(--oaf-bg); }
body.has-topbar .oaf-hero--center { padding-top:calc(var(--oaf-nav-h) + 37px + 60px); }

/* ── Front-page ranking/featured sections ────────────────────────────────── */
.oaf-shead .oaf-kick { margin-bottom:8px; display:block; }

/* ── Responsive (global) ─────────────────────────────────────────────────── */
@media (max-width:980px) {
    .oaf-review-cards, .oaf-arc-grid { grid-template-columns:repeat(2,1fr); }
    .oaf-feat { grid-template-columns:1fr; }
    .oaf-feat__vis { min-height:320px; }
    .oaf-blog-spotlight__layout { grid-template-columns:1fr; }
    .oaf-blog-spotlight__side { flex-direction:row; }
    .oaf-about-stats__grid { grid-template-columns:repeat(2,1fr); }
    .oaf-about-stats__grid .oaf-about-stat { border-right:none; border-bottom:1px solid #e8e8e5; padding-bottom:24px; }
    .oaf-about-values__grid { grid-template-columns:1fr; }
    .oaf-about-story__layout { grid-template-columns:1fr; gap:40px; }
    .oaf-about-process__steps { grid-template-columns:1fr; }
    .oaf-about-process__connector { display:none; }
    .oaf-contact-methods__grid { grid-template-columns:1fr; }
    .oaf-contact-main__layout { grid-template-columns:1fr; }
    .oaf-cfaq { position:static; }      /* new FAQ class */
    .oaf-form-card { border-radius:18px; }  /* new form card class */
    .oaf-ft-grid { grid-template-columns:1fr 1fr; }
    .oaf-art-layout { grid-template-columns:1fr; }
    .oaf-side { position:static; }
    .oaf-oaf-verdict__top { grid-template-columns:1fr; }
    .oaf-board__item { grid-template-columns:44px 1fr auto; gap:14px; padding:18px; }
    .oaf-board__pill { display:none; }
    .oaf-blog-page-hero__inner { grid-template-columns:1fr; text-align:center; }
    .oaf-blog-page-hero__stats { flex-direction:row; justify-content:center; }
    .oaf-blog-page-hero__stat { border-bottom:none; border-right:1px solid rgba(255,255,255,.1); }
    .oaf-blog-page-hero__stat:last-child { border-right:none; }
    .oaf-msg-form__row { grid-template-columns:1fr; }
}
@media (max-width:640px) {
    .oaf-review-cards, .oaf-arc-grid { grid-template-columns:1fr; }
    .oaf-review-card__thumb { height:200px; }
    .oaf-arc-section { padding:36px 0 56px; }
    .oaf-arc-hero { padding:40px 0 32px; }
    .oaf-nl-dark { padding:40px 24px; }
    .oaf-nl-dark__form { flex-direction:column; }
    .oaf-feat__info { padding:32px 26px; }
    .oaf-ft-grid { grid-template-columns:1fr; gap:32px; }
    .oaf-ft-wrap { padding:0 18px; }
    .oaf-footer { padding:48px 0 28px; }
    .oaf-ft-bar { flex-direction:column; align-items:flex-start; gap:6px; }
    .oaf-blog-midnl { padding:24px 20px; }
    .oaf-blog-midnl__input { width:100%; }
    .oaf-blog-midnl__form { width:100%; flex-direction:column; }
    .oaf-blog-midnl__btn { width:100%; text-align:center; }
    .oaf-blog-spotlight__sub { grid-template-columns:90px 1fr; }
    .oaf-blog-spotlight__side { flex-direction:column; }
    .oaf-blog-spotlight__thumb { height:200px; }
    .oaf-blog-page-hero { padding:100px 0 48px; }
    .oaf-hero__stat-row { gap:28px; }
    .oaf-hstat b { font-size:26px; }
    .oaf-about-hero { padding:100px 0 56px; }
    .oaf-about-team__grid { grid-template-columns:repeat(2,1fr); }
    .oaf-form-card { padding:24px 18px; }
    .oaf-about-stats__grid .oaf-about-stat:last-child { border-bottom:none; }
}

/* ── Print ───────────────────────────────────────────────────────────────── */
@media print {
    #oaf-navbar, #oaf-topbar, .oaf-mobile-menu, .oaf-overlay, .oaf-search-modal,
    .oaf-side, .oaf-related, .oaf-nl-dark, .oaf-footer, .oaf-arc-pager,
    .oaf-blog-midnl, .oaf-nav__actions, .oaf-review-card__new,
    .oaf-blog-tabs, .oaf-cfaq, .oaf-form-card__badge { display:none !important; }
    body { background:#fff !important; color:#000 !important; font-size:12pt; }
    main#oaf-main-content { padding-top:0 !important; }
    .oaf-art-layout { grid-template-columns:1fr; }
    .oaf-article-body { font-size:11pt; line-height:1.65; color:#000; }
    .oaf-article-body a::after { content:" (" attr(href) ")"; font-size:9pt; }
    h1,h2,h3 { page-break-after:avoid; }
    p,li { orphans:3; widows:3; }
}

/* ==========================================================================
   CONTACT PAGE — "Send a Message" redesign
   ========================================================================== */

/* Newsletter CTA section at bottom of contact page */
.oaf-contact-nl-section { padding: 0 0 80px; }

/* Form submission feedback notices */
.oaf-msg-notice {
    display: flex; align-items: center; gap: 10px;
    padding: 14px 18px; border-radius: 12px;
    font-family: var(--font-body); font-size: 14.5px; font-weight: 600;
    margin-bottom: 24px; line-height: 1.5;
}
.oaf-msg-notice--success {
    background: #f0fdf4; border: 1.5px solid #bbf7d0; color: #15803d;
}
.oaf-msg-notice--error {
    background: #fef2f2; border: 1.5px solid #fecaca; color: #dc2626;
}

/* Main 2-col layout */
.oaf-contact-main { padding: 48px 0 64px; background: var(--oaf-bg); }
.oaf-contact-main__layout {
    display: grid;
    grid-template-columns: 1fr 400px;
    gap: 48px;
    align-items: start;
}

/* ── Form card ───────────────────────────────────────────────────────────── */
.oaf-form-card {
    background: #fff;
    border: 1px solid #e8e8e5;
    border-radius: 24px;
    padding: 40px 44px 44px;
    box-shadow: 0 4px 24px rgba(0,0,0,0.04), 0 20px 60px -24px rgba(0,0,0,0.08);
}

/* Form card header */
.oaf-form-card__header {
    display: flex;
    align-items: flex-start;
    gap: 18px;
    margin-bottom: 24px;
}
.oaf-form-card__icon {
    width: 48px; height: 48px;
    border-radius: 14px;
    background: var(--oaf-mint-2);
    color: var(--oaf-primary);
    display: flex; align-items: center; justify-content: center;
    flex-shrink: 0;
    margin-top: 4px;
}
.oaf-form-card__title {
    font-family: var(--font-display);
    font-size: clamp(22px, 2.5vw, 28px);
    font-weight: 600; letter-spacing: -0.025em;
    color: #1a1a1a; margin: 4px 0 6px;
}
.oaf-form-card__subtitle {
    font-size: 14.5px; line-height: 1.6; color: #6b7280; margin: 0;
}

/* Reply time badge */
.oaf-form-card__badge {
    display: inline-flex; align-items: center; gap: 8px;
    background: #f0fdf4;
    border: 1px solid #bbf7d0;
    color: #15803d;
    font-family: var(--font-body);
    font-size: 12.5px; font-weight: 600;
    padding: 6px 14px; border-radius: 30px;
    margin-bottom: 32px;
    letter-spacing: 0.01em;
}
.oaf-form-card__badge-dot {
    width: 7px; height: 7px; border-radius: 50%;
    background: #22c55e;
    animation: oaf-ping 1.8s ease-out infinite;
    flex-shrink: 0;
}

/* ── Message form fields ─────────────────────────────────────────────────── */
.oaf-msg-form {
    display: flex; flex-direction: column; gap: 22px;
}

/* 2-col row */
.oaf-msg-form__row {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 18px;
}

/* Field group */
.oaf-msg-form__field { display: flex; flex-direction: column; gap: 8px; }

/* Label */
.oaf-msg-form__label {
    font-family: var(--font-body);
    font-size: 13px; font-weight: 600;
    color: #374151; letter-spacing: 0.01em;
    display: flex; align-items: center; gap: 4px;
}
.oaf-msg-form__req { color: var(--oaf-primary); font-size: 14px; }

/* Input wrapper (icon + field) */
.oaf-msg-form__input-wrap,
.oaf-msg-form__select-wrap {
    position: relative; display: flex; align-items: center;
}
.oaf-msg-form__icon {
    position: absolute; left: 14px; z-index: 2;
    color: #9ca3af; pointer-events: none;
    display: flex; align-items: center;
    transition: color 0.2s;
}

/* Inputs */
.oaf-msg-form__input,
.oaf-msg-form__select,
.oaf-msg-form__textarea {
    width: 100%;
    font-family: var(--font-body); font-size: 15px; color: #1a1a1a;
    background: #f9f9f7;
    border: 1.5px solid #e2e2df;
    border-radius: 12px; outline: none;
    transition: border-color 0.2s, box-shadow 0.2s, background 0.2s;
    line-height: 1.5;
}
.oaf-msg-form__input,
.oaf-msg-form__select {
    height: 50px;
    padding: 0 16px 0 44px; /* left pad for icon */
}
.oaf-msg-form__textarea {
    padding: 14px 16px;
    resize: vertical; min-height: 148px;
    line-height: 1.65;
}
.oaf-msg-form__input::placeholder,
.oaf-msg-form__textarea::placeholder { color: #b0b7c3; }

/* Focus state */
.oaf-msg-form__input:focus,
.oaf-msg-form__select:focus,
.oaf-msg-form__textarea:focus {
    border-color: var(--oaf-primary);
    background: #fff;
    box-shadow: 0 0 0 3.5px rgba(79,70,229,0.12);
}
/* Icon colour on focus */
.oaf-msg-form__input-wrap:focus-within .oaf-msg-form__icon,
.oaf-msg-form__select-wrap:focus-within .oaf-msg-form__icon { color: var(--oaf-primary); }

/* Select — remove browser arrow, show custom chevron */
.oaf-msg-form__select { appearance: none; -webkit-appearance: none; cursor: pointer; }
.oaf-msg-form__chevron {
    position: absolute; right: 14px; z-index: 2;
    color: #9ca3af; pointer-events: none;
    display: flex; align-items: center;
}

/* Submit row */
.oaf-msg-form__footer {
    display: flex;
    align-items: center;
    gap: 20px;
    flex-wrap: wrap;
    padding-top: 4px;
}
.oaf-msg-form__submit {
    display: inline-flex; align-items: center; gap: 10px;
    background: #1a1a1a; color: #fff;
    padding: 14px 30px; border-radius: 50px;
    border: none; cursor: pointer;
    font-family: var(--font-body); font-weight: 700; font-size: 15px;
    letter-spacing: -0.01em;
    transition: background 0.25s, transform 0.25s, box-shadow 0.25s;
    box-shadow: 0 4px 18px rgba(0,0,0,0.18);
    white-space: nowrap;
}
.oaf-msg-form__submit:hover {
    background: var(--oaf-primary);
    transform: translateY(-2px);
    box-shadow: 0 8px 28px rgba(79,70,229,0.35);
}
.oaf-msg-form__submit:active { transform: translateY(0); }

/* Privacy note */
.oaf-msg-form__privacy {
    display: flex; align-items: center; gap: 6px;
    font-family: var(--font-body); font-size: 12.5px; color: #9ca3af;
    margin: 0; line-height: 1.5;
}
.oaf-msg-form__privacy svg { flex-shrink: 0; }

/* ── FAQ panel ───────────────────────────────────────────────────────────── */
.oaf-cfaq {
    position: sticky; top: calc(var(--oaf-nav-h) + 24px);
}
body.has-topbar .oaf-cfaq { top: calc(var(--oaf-nav-h) + 37px + 24px); }

/* FAQ header */
.oaf-cfaq__header { margin-bottom: 28px; }
.oaf-cfaq__title {
    font-family: var(--font-display);
    font-size: clamp(20px, 2.5vw, 26px);
    font-weight: 600; letter-spacing: -0.02em;
    color: #1a1a1a; margin: 6px 0 8px;
}
.oaf-cfaq__subtitle { font-size: 14px; line-height: 1.6; color: #6b7280; margin: 0; }

/* FAQ list */
.oaf-cfaq__list { display: flex; flex-direction: column; gap: 10px; margin-bottom: 28px; }

/* FAQ item */
.oaf-cfaq__item {
    background: #fff;
    border: 1.5px solid #e8e8e5;
    border-radius: 14px;
    overflow: hidden;
    transition: border-color 0.2s, box-shadow 0.2s;
}
.oaf-cfaq__item[open] {
    border-color: rgba(79,70,229,0.3);
    box-shadow: 0 4px 20px rgba(79,70,229,0.07);
}

/* FAQ summary */
.oaf-cfaq__summary {
    display: flex; align-items: center; gap: 10px;
    padding: 16px 18px; cursor: pointer;
    font-family: var(--font-body); font-size: 14.5px; font-weight: 600;
    color: #1a1a1a; list-style: none;
    transition: background 0.15s;
}
.oaf-cfaq__summary::-webkit-details-marker { display: none; }
.oaf-cfaq__summary:hover { background: var(--oaf-mint-2); }
.oaf-cfaq__item[open] .oaf-cfaq__summary { border-bottom: 1px solid #f2f2f0; }

/* Emoji + toggle */
.oaf-cfaq__emoji { font-size: 16px; flex-shrink: 0; }
.oaf-cfaq__toggle {
    margin-left: auto; flex-shrink: 0;
    color: #9ca3af; display: flex; align-items: center;
    transition: transform 0.25s ease, color 0.2s;
}
.oaf-cfaq__item[open] .oaf-cfaq__toggle { transform: rotate(180deg); color: var(--oaf-primary); }

/* FAQ answer */
.oaf-cfaq__ans {
    padding: 14px 18px 18px 18px;
    font-family: var(--font-body); font-size: 14px;
    line-height: 1.7; color: #6b7280;
}

/* Direct email link */
.oaf-cfaq__direct {
    background: var(--oaf-mint-2);
    border: 1px solid rgba(79,70,229,0.15);
    border-radius: 14px; padding: 20px 22px;
    display: flex; align-items: center; justify-content: space-between;
    gap: 12px; flex-wrap: wrap;
}
.oaf-cfaq__direct p {
    font-family: var(--font-body); font-size: 13.5px;
    color: #6b7280; margin: 0;
}
.oaf-cfaq__email-link {
    display: inline-flex; align-items: center; gap: 6px;
    font-family: var(--font-body); font-size: 14px; font-weight: 700;
    color: var(--oaf-primary); text-decoration: none;
    transition: gap 0.2s;
}
.oaf-cfaq__email-link:hover { gap: 10px; }

/* CF7 / plugin form inside oaf-form-card */
.oaf-contact-content { font-family: var(--font-body); }
.oaf-contact-content p { margin-bottom: 16px; }
.oaf-contact-content .wpcf7-form-control-wrap,
.oaf-contact-content input[type="text"],
.oaf-contact-content input[type="email"],
.oaf-contact-content input[type="tel"],
.oaf-contact-content select,
.oaf-contact-content textarea {
    width: 100%; font-family: var(--font-body); font-size: 15px; color: #1a1a1a;
    background: #f9f9f7; border: 1.5px solid #e2e2df; border-radius: 12px;
    padding: 13px 16px; outline: none; transition: border-color 0.2s, box-shadow 0.2s;
    margin-bottom: 16px; display: block; box-sizing: border-box;
}
.oaf-contact-content input:focus,
.oaf-contact-content textarea:focus,
.oaf-contact-content select:focus {
    border-color: var(--oaf-primary); background: #fff;
    box-shadow: 0 0 0 3.5px rgba(79,70,229,0.12);
}
.oaf-contact-content input[type="submit"],
.oaf-contact-content button[type="submit"],
.oaf-contact-content .wpcf7-submit {
    display: inline-flex; align-items: center; gap: 8px;
    background: #1a1a1a; color: #fff; border: none; cursor: pointer;
    padding: 14px 30px; border-radius: 50px;
    font-family: var(--font-body); font-weight: 700; font-size: 15px;
    transition: background 0.25s, transform 0.25s; margin-bottom: 0;
}
.oaf-contact-content input[type="submit"]:hover,
.oaf-contact-content button[type="submit"]:hover,
.oaf-contact-content .wpcf7-submit:hover { background: var(--oaf-primary); transform: translateY(-2px); }

/* ── Responsive ──────────────────────────────────────────────────────────── */
@media (max-width: 960px) {
    .oaf-contact-main__layout { grid-template-columns: 1fr; }
    .oaf-cfaq { position: static; }
    .oaf-form-card { padding: 32px 28px; }
}
@media (max-width: 640px) {
    .oaf-msg-form__row { grid-template-columns: 1fr; }
    .oaf-msg-form__footer { flex-direction: column; align-items: flex-start; }
    .oaf-msg-form__submit { width: 100%; justify-content: center; }
    .oaf-form-card { padding: 24px 20px; }
    .oaf-form-card__header { flex-direction: column; gap: 12px; }
    .oaf-form-card__icon { width: 40px; height: 40px; border-radius: 11px; }
    .oaf-cfaq__direct { flex-direction: column; align-items: flex-start; }
}

/* ── Author archive hero ─────────────────────────────────────────────────── */
.oaf-author-hero { padding:60px 0 48px; background:linear-gradient(180deg,var(--oaf-mint-2) 0%,var(--oaf-bg) 100%); border-bottom:1px solid #e8e8e5; }
.oaf-author-hero__inner { display:flex; align-items:center; gap:32px; flex-wrap:wrap; }
.oaf-author-hero__avatar { width:100px; height:100px; border-radius:50%; overflow:hidden; flex-shrink:0; border:3px solid #fff; box-shadow:0 0 0 4px var(--oaf-mint),4px 4px 0 4px #1a1a1a; }
.oaf-author-hero__avatar img { width:100%; height:100%; object-fit:cover; }
.oaf-author-hero__name { font-family:var(--font-display); font-weight:700; font-size:clamp(24px,4vw,38px); letter-spacing:-.025em; color:#1a1a1a; margin:6px 0 10px; }
.oaf-author-hero__bio { font-size:15px; line-height:1.65; color:#6b7280; max-width:560px; margin-bottom:12px; }
.oaf-author-hero__count { display:inline-flex; background:var(--oaf-mint-2); color:var(--oaf-primary); font-size:12px; font-weight:700; padding:4px 12px; border-radius:20px; }
@media (max-width:600px) { .oaf-author-hero__inner { flex-direction:column; text-align:center; align-items:center; } }

/* ==========================================================================
   METHODOLOGY PAGE
   ========================================================================== */

/* ── Hero ────────────────────────────────────────────────────────────────── */
.oaf-meth-hero {
    background: linear-gradient(135deg, #0f172a 0%, #1e1b4b 55%, #4f46e5 100%);
    padding: calc(var(--oaf-nav-h) + 64px) 0 72px;
    color: #fff; text-align: center; position: relative; overflow: hidden;
}
body.has-topbar .oaf-meth-hero { padding-top: calc(var(--oaf-nav-h) + 37px + 64px); }
.oaf-meth-hero::before {
    content: ''; position: absolute; inset: 0; pointer-events: none;
    background: radial-gradient(circle at 80% 20%, rgba(199,210,254,.18) 0%, transparent 55%),
                radial-gradient(circle at 20% 80%, rgba(167,139,250,.12) 0%, transparent 50%);
}
.oaf-meth-hero__inner { position: relative; z-index: 1; max-width: 780px; margin: 0 auto; padding: 0 24px; }

.oaf-meth-hero__badge {
    display: inline-flex; align-items: center; gap: 8px;
    background: rgba(255,255,255,0.10); border: 1px solid rgba(255,255,255,0.20);
    backdrop-filter: blur(8px); color: #c7d2fe;
    font-family: var(--font-body); font-size: 13px; font-weight: 600;
    padding: 7px 16px; border-radius: 40px; margin-bottom: 24px;
    letter-spacing: 0.02em;
}
.oaf-meth-hero__title {
    font-family: var(--font-display); font-weight: 700;
    font-size: clamp(36px, 6vw, 64px); line-height: 1.04;
    letter-spacing: -0.035em; color: #fff; margin: 0 0 22px;
}
.oaf-meth-hero__desc {
    font-family: var(--font-body); font-size: 17px; line-height: 1.7;
    color: rgba(255,255,255,0.78); max-width: 640px; margin: 0 auto 48px;
}
.oaf-meth-hero__stats {
    display: flex; justify-content: center; gap: 48px; flex-wrap: wrap;
}
.oaf-meth-stat b {
    display: block; font-family: var(--font-display); font-weight: 700;
    font-size: 32px; color: #c7d2fe; line-height: 1; margin-bottom: 4px;
}
.oaf-meth-stat span { font-size: 12.5px; color: rgba(255,255,255,0.6); text-transform: uppercase; letter-spacing: 0.06em; }

/* ── Sections ────────────────────────────────────────────────────────────── */
.oaf-meth-section { padding: 80px 0; }
.oaf-meth-section--alt { background: var(--oaf-bg-alt); }

/* ── 4-step process ──────────────────────────────────────────────────────── */
.oaf-meth-steps {
    display: grid; grid-template-columns: repeat(2, 1fr);
    gap: 24px; margin-top: 48px;
}
.oaf-meth-step {
    background: #fff; border: 2px solid #1a1a1a; border-radius: 20px;
    padding: 32px 28px; box-shadow: 4px 4px 0 0 #1a1a1a;
    transition: transform 0.2s ease, box-shadow 0.2s ease;
}
.oaf-meth-step:hover { transform: translate(-2px,-2px); box-shadow: 6px 6px 0 0 #1a1a1a; }
.oaf-meth-step__num {
    font-family: var(--font-display); font-size: 38px; font-weight: 700;
    color: var(--oaf-primary); line-height: 1; margin-bottom: 12px;
}
.oaf-meth-step__icon {
    width: 48px; height: 48px; border-radius: 12px; border: 2px solid #1a1a1a;
    background: var(--oaf-mint-2); color: var(--oaf-primary);
    display: flex; align-items: center; justify-content: center; margin-bottom: 16px;
    box-shadow: 2px 2px 0 0 #1a1a1a;
}
.oaf-meth-step h3 {
    font-family: var(--font-display); font-size: 19px; font-weight: 700;
    color: #1a1a1a; margin: 0 0 12px; letter-spacing: -0.015em;
}
.oaf-meth-step p { font-size: 14.5px; line-height: 1.7; color: #6b7280; margin: 0; }

/* ── Scoring criteria grid ───────────────────────────────────────────────── */
.oaf-meth-criteria {
    display: grid; grid-template-columns: repeat(2, 1fr);
    gap: 24px; margin-top: 48px;
}
.oaf-meth-crit {
    background: #fff; border: 1px solid #e8e8e5; border-radius: 18px;
    padding: 28px 26px;
    transition: transform 0.2s, box-shadow 0.2s;
}
.oaf-meth-crit:hover { transform: translateY(-4px); box-shadow: 0 16px 36px -16px rgba(0,0,0,0.15); }
.oaf-meth-crit__header {
    display: flex; align-items: center; gap: 14px; margin-bottom: 14px;
}
.oaf-meth-crit__num {
    font-family: var(--font-display); font-size: 28px; font-weight: 700;
    color: var(--oaf-primary); line-height: 1; flex-shrink: 0;
}
.oaf-meth-crit h3 {
    font-family: var(--font-display); font-size: 18px; font-weight: 700;
    color: #1a1a1a; margin: 0;
}
.oaf-meth-crit p { font-size: 14px; line-height: 1.7; color: #6b7280; margin: 0 0 16px; }
.oaf-meth-crit__scale {
    display: flex; justify-content: space-between;
    font-family: var(--font-body); font-size: 11.5px; color: #9ca3af;
    padding-top: 12px; border-top: 1px solid #f4f4f2; gap: 8px;
}
.oaf-meth-crit__scale span:last-child { text-align: right; }

/* ── Policies layout ─────────────────────────────────────────────────────── */
.oaf-meth-policies-layout {
    display: grid; grid-template-columns: 1fr 1.4fr; gap: 64px; align-items: start;
}
.oaf-meth-policies__text h2 {
    font-family: var(--font-display); font-size: clamp(24px, 3.5vw, 36px);
    font-weight: 700; letter-spacing: -0.025em; color: #1a1a1a; margin: 10px 0 18px;
}
.oaf-meth-policies__text p { font-size: 15px; line-height: 1.75; color: #6b7280; }
.oaf-meth-policies__list { display: flex; flex-direction: column; gap: 16px; }
.oaf-meth-policy {
    display: flex; align-items: flex-start; gap: 14px;
    background: #fff; border: 1px solid #e8e8e5;
    border-radius: 14px; padding: 20px 22px;
    transition: border-color 0.2s;
}
.oaf-meth-policy:hover { border-color: rgba(79,70,229,0.3); }
.oaf-meth-policy__icon {
    width: 30px; height: 30px; border-radius: 50%; flex-shrink: 0;
    display: flex; align-items: center; justify-content: center;
    font-size: 14px; font-weight: 800;
}
.oaf-meth-policy--no .oaf-meth-policy__icon { background: #fef2f2; color: #dc2626; }
.oaf-meth-policy strong { display: block; font-size: 14.5px; font-weight: 700; color: #1a1a1a; margin-bottom: 5px; }
.oaf-meth-policy p { font-size: 13.5px; line-height: 1.6; color: #6b7280; margin: 0; }

/* ── Corrections card ────────────────────────────────────────────────────── */
.oaf-meth-corrections { max-width: 820px; margin: 0 auto; }
.oaf-meth-corrections__inner {
    display: flex; align-items: flex-start; gap: 24px;
    background: #fff; border: 2px solid #1a1a1a; border-radius: 20px;
    padding: 36px 36px; box-shadow: 5px 5px 0 0 #1a1a1a;
}
.oaf-meth-corrections__icon {
    width: 56px; height: 56px; border-radius: 14px; flex-shrink: 0;
    background: var(--oaf-mint-2); color: var(--oaf-primary); border: 2px solid #1a1a1a;
    display: flex; align-items: center; justify-content: center;
    box-shadow: 2px 2px 0 0 #1a1a1a;
}
.oaf-meth-corrections__inner h2 {
    font-family: var(--font-display); font-size: clamp(20px, 2.5vw, 26px);
    font-weight: 700; color: #1a1a1a; margin: 0 0 12px; letter-spacing: -0.02em;
}
.oaf-meth-corrections__inner p { font-size: 14.5px; line-height: 1.7; color: #6b7280; margin: 0; }

/* ── FAQ ─────────────────────────────────────────────────────────────────── */
.oaf-meth-faq-wrap { max-width: 760px; margin: 0 auto; }
.oaf-meth-faqs { display: flex; flex-direction: column; gap: 12px; margin-top: 40px; }
.oaf-meth-faq__item {
    background: #fff; border: 2px solid #1a1a1a; border-radius: 14px;
    overflow: hidden; box-shadow: 3px 3px 0 0 #1a1a1a;
    transition: box-shadow 0.2s;
}
.oaf-meth-faq__item[open] { border-color: var(--oaf-primary); box-shadow: 3px 3px 0 0 rgba(79,70,229,0.5); }
.oaf-meth-faq__q {
    display: flex; align-items: center; justify-content: space-between; gap: 12px;
    padding: 18px 20px; cursor: pointer; list-style: none;
    font-family: var(--font-body); font-size: 15px; font-weight: 700; color: #1a1a1a;
    transition: background 0.15s;
}
.oaf-meth-faq__q::-webkit-details-marker { display: none; }
.oaf-meth-faq__q:hover { background: var(--oaf-mint-2); }
.oaf-meth-faq__chevron {
    color: #9ca3af; flex-shrink: 0; display: flex; align-items: center;
    transition: transform 0.25s ease, color 0.2s;
}
.oaf-meth-faq__item[open] .oaf-meth-faq__chevron { transform: rotate(180deg); color: var(--oaf-primary); }
.oaf-meth-faq__item[open] > .oaf-meth-faq__q { border-bottom: 1px solid #f4f4f2; }
.oaf-meth-faq__a {
    padding: 16px 20px; font-family: var(--font-body);
    font-size: 14px; line-height: 1.7; color: #6b7280;
}

/* ── Responsive ──────────────────────────────────────────────────────────── */
@media (max-width: 900px) {
    .oaf-meth-steps { grid-template-columns: 1fr; }
    .oaf-meth-criteria { grid-template-columns: 1fr; }
    .oaf-meth-policies-layout { grid-template-columns: 1fr; gap: 36px; }
    .oaf-meth-corrections__inner { flex-direction: column; }
}
@media (max-width: 640px) {
    .oaf-meth-hero { padding: 100px 0 56px; }
    .oaf-meth-hero__stats { gap: 28px; }
    .oaf-meth-stat b { font-size: 26px; }
    .oaf-meth-section { padding: 56px 0; }
    .oaf-meth-step { box-shadow: 3px 3px 0 0 #1a1a1a; }
    .oaf-meth-corrections__inner { padding: 24px 20px; box-shadow: 4px 4px 0 0 #1a1a1a; }
}

/* ==========================================================================
   PLACARD REDESIGN — Neo-brutalist (gemini-code.html)
   Thick black border · Hard offset shadow · Category-in-body · Type-first
   ========================================================================== */

/* ── Card shell ──────────────────────────────────────────────────────────── */
.oaf-review-card {
    background: #ffffff;
    border: 2px solid #1a1a1a;
    border-radius: 16px;
    overflow: visible;          /* allow shadow to escape */
    display: flex; flex-direction: column;
    position: relative;
    box-shadow: 4px 4px 0 0 #1a1a1a;
    transition: transform 0.18s ease, box-shadow 0.18s ease;
}
.oaf-review-card:hover {
    transform: translate(-2px, -2px);
    box-shadow: 8px 8px 0 0 #1a1a1a;
}
/* Kill old effects */
.oaf-review-card::after  { display: none !important; }
.oaf-review-card::before { display: none !important; }

/* ── Thumbnail ───────────────────────────────────────────────────────────── */
.oaf-review-card__thumb {
    height: 200px;
    position: relative;
    display: block;          /* not flex — removes old padding/align */
    padding: 0;
    overflow: hidden;
    flex-shrink: 0;
    border-bottom: 2px solid #1a1a1a;
    border-radius: 14px 14px 0 0;  /* match card top radius */
}
/* Image fills thumb, zooms on hover */
.oaf-review-card__thumb img {
    position: absolute; inset: 0;
    width: 100%; height: 100%;
    object-fit: cover; display: block;
    transition: transform 0.4s ease;
}
.oaf-review-card:hover .oaf-review-card__thumb img { transform: scale(1.05); }

/* Gradient fallbacks — keep for no-image posts */
.oaf-review-card__thumb.g1 { background: linear-gradient(135deg, #4f46e5, #7c3aed); }
.oaf-review-card__thumb.g2 { background: linear-gradient(135deg, #0ea5e9, #6366f1); }
.oaf-review-card__thumb.g3 { background: linear-gradient(135deg, #f59e0b, #ef4444); }
.oaf-review-card__thumb.g4 { background: linear-gradient(135deg, #1e1b4b, #4f46e5); }
.oaf-review-card__thumb.g5 { background: linear-gradient(135deg, #7c3aed, #c026d3); }
.oaf-review-card__thumb.g6 { background: linear-gradient(135deg, #0f172a, #3730a3); }

/* ── "NEW" badge — neo-brutalist style ───────────────────────────────────── */
.oaf-review-card__new {
    position: absolute; top: 10px; right: 10px; z-index: 4;
    background: #ffde4d; color: #1a1a1a;
    font-family: var(--font-body);
    font-size: 9px; font-weight: 800; letter-spacing: 0.12em; text-transform: uppercase;
    padding: 3px 9px; border-radius: 4px;
    border: 1.5px solid #1a1a1a;
    box-shadow: 2px 2px 0 0 #1a1a1a;
    animation: none;    /* remove old pulse */
}

/* ── Category — now lives in .oaf-review-card__body ─────────────────────── */
.oaf-review-card__cat {
    /* Strip ALL old pill/badge styling */
    background: none !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
    border-radius: 0 !important;
    padding: 0 !important;
    box-shadow: none !important;
    border: none !important;
    /* Typography */
    font-family: var(--font-body);
    font-size: 11px !important;
    font-weight: 700 !important;
    letter-spacing: 0.1em !important;
    text-transform: uppercase !important;
    text-decoration: none;
    display: inline-block;
    position: static !important;
    z-index: auto !important;
    align-self: auto;
    color: var(--oaf-primary) !important;
}
.oaf-review-card__cat::before { display: none !important; }
a.oaf-review-card__cat:hover  { background: none !important; opacity: 0.75; }

/* Category accent colours per gradient class (sibling combinator) */
.oaf-review-card__thumb.g1 ~ .oaf-review-card__body .oaf-review-card__cat { color: #4f46e5 !important; }
.oaf-review-card__thumb.g2 ~ .oaf-review-card__body .oaf-review-card__cat { color: #0ea5e9 !important; }
.oaf-review-card__thumb.g3 ~ .oaf-review-card__body .oaf-review-card__cat { color: #ef4444 !important; }
.oaf-review-card__thumb.g4 ~ .oaf-review-card__body .oaf-review-card__cat { color: #4f46e5 !important; }
.oaf-review-card__thumb.g5 ~ .oaf-review-card__body .oaf-review-card__cat { color: #7c3aed !important; }
.oaf-review-card__thumb.g6 ~ .oaf-review-card__body .oaf-review-card__cat { color: #3730a3 !important; }

/* ── Glyph — removed from new design ────────────────────────────────────── */
.oaf-review-card__glyph { display: none !important; }

/* ── Card body ───────────────────────────────────────────────────────────── */
.oaf-review-card__body {
    padding: 18px 20px 16px;
    display: flex; flex-direction: column;
    gap: 8px; flex: 1;
    background: #ffffff;
    border-radius: 0 0 14px 14px;
}

/* ── Title — underlines on card hover ────────────────────────────────────── */
.oaf-review-card__title {
    font-family: var(--font-display);
    font-weight: 700; font-size: 17px; line-height: 1.28;
    color: #1a1a1a; margin: 0; letter-spacing: -0.02em;
    display: -webkit-box;
    -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden;
}
.oaf-review-card__title a { color: inherit; text-decoration: none; }
.oaf-review-card:hover .oaf-review-card__title a {
    text-decoration: underline;
    text-decoration-thickness: 2px;
    text-underline-offset: 3px;
}

/* ── Excerpt ─────────────────────────────────────────────────────────────── */
.oaf-review-card__desc {
    font-family: var(--font-body);
    font-size: 13px; line-height: 1.6; color: #6b7280;
    flex: 1; margin: 0;
    display: -webkit-box;
    -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden;
}

/* ── Footer — Author · Date · Readtime ───────────────────────────────────── */
.oaf-review-card__foot {
    display: flex; align-items: center; gap: 5px;
    font-family: var(--font-body); font-size: 12px; color: #9ca3af;
    padding-top: 10px; margin-top: auto;
    border-top: 1px solid #f2f2f0;
    flex-wrap: wrap;
}
.oaf-review-card__author {
    font-weight: 700; color: #1a1a1a; white-space: nowrap;
}
.oaf-review-card__sep  { color: #d1d5db; }
.oaf-review-card__star { display: none !important; }
.oaf-review-card__rating {
    display: inline-flex; align-items: center;
    font-weight: 700; color: #1a1a1a; font-size: 12px; gap: 0;
}
.oaf-review-card__foot .oaf-rt {
    background: none !important; color: #9ca3af; padding: 0 !important;
    border-radius: 0 !important; font-size: 12px; font-weight: 400;
}

/* ── single.css overrides for related-post cards ────────────────────────── */
body.single-post .oaf-review-card {
    border: 2px solid #1a1a1a !important;
    box-shadow: 3px 3px 0 0 #1a1a1a !important;
    border-radius: 14px !important;
    overflow: visible !important;
}
body.single-post .oaf-review-card:hover {
    transform: translate(-2px, -2px) !important;
    box-shadow: 6px 6px 0 0 #1a1a1a !important;
}
body.single-post .oaf-review-card__thumb {
    border-bottom: 2px solid #1a1a1a !important;
    border-radius: 12px 12px 0 0 !important;
    padding: 0 !important; display: block !important;
}
body.single-post .oaf-review-card__cat { background: none !important; padding: 0 !important; box-shadow: none !important; }
body.single-post .oaf-review-card__glyph { display: none !important; }
body.single-post .oaf-review-card__body { background: #fff; border-radius: 0 0 12px 12px; }
body.single-post .oaf-review-card:hover .oaf-review-card__title a { text-decoration: underline; }

/* ── Responsive ──────────────────────────────────────────────────────────── */
@media (max-width: 600px) {
    .oaf-review-card__thumb  { height: 180px; }
    .oaf-review-card__body   { padding: 14px 16px 12px; }
    .oaf-review-card         { box-shadow: 3px 3px 0 0 #1a1a1a; }
    .oaf-review-card:hover   { box-shadow: 6px 6px 0 0 #1a1a1a; }
}

/* ==========================================================================
   HERO — Vertical 50/50 split: video left · content right
   ========================================================================== */

/* Outer section fills viewport height */
.oaf-hero--vidsplit {
    display: grid;
    grid-template-columns: 1fr 1fr;   /* exact halves */
    height: 100vh;
    min-height: 600px;
    overflow: hidden;
    position: relative;
    /* Home page: no top padding on <main> */
}
body.home main#oaf-main-content,
body.oaf-home main#oaf-main-content { padding-top: 0; }

/* ── LEFT: video panel ───────────────────────────────────────────────────── */
.oaf-vidsplit__left {
    position: relative;
    background: #000;   /* pure black — matches the video's own background
                           so letterbox areas are invisible, not a dark navy band */
    overflow: hidden;
    display: flex;
    align-items: center;
    justify-content: center;
}
/* Subtle vertical separator */
.oaf-vidsplit__left::after {
    content: '';
    position: absolute; right: 0; top: 0; bottom: 0;
    width: 1px;
    background: rgba(255,255,255,0.08);
    pointer-events: none;
}

/*
 * Video — full video always visible, no cropping.
 * object-fit: contain  →  entire robot shown, aspect ratio preserved.
 * background: #000      →  any letterbox area is pure black, matching the
 *                          video's own dark background = bands disappear.
 */
.oaf-vidsplit__video {
    width: 100%;
    height: 100%;
    object-fit: contain;
    object-position: center;
    display: block;
    background: #000;
}

/* ── RIGHT: content panel ────────────────────────────────────────────────── */
.oaf-vidsplit__right {
    position: relative;
    background: #f9f9f7;
    display: flex;
    align-items: center;
    justify-content: flex-start;
    padding: calc(var(--oaf-nav-h) + 40px) clamp(32px, 5vw, 72px) 48px;
    overflow: hidden;
}
body.has-topbar .oaf-vidsplit__right {
    padding-top: calc(var(--oaf-nav-h) + 37px + 40px);
}

/* Blobs inside right panel */
.oaf-vidsplit__right .oaf-blobs { position: absolute; inset: 0; pointer-events: none; z-index: 0; }
.oaf-vidsplit__right .oaf-blob--1 {
    width: 400px; height: 400px;
    background: radial-gradient(circle, #c7d2fe, transparent 70%);
    top: -100px; right: -80px; opacity: 0.35;
}
.oaf-vidsplit__right .oaf-blob--2 {
    width: 300px; height: 300px;
    background: radial-gradient(circle, #e0e7ff, transparent 70%);
    bottom: -80px; left: -60px; opacity: 0.3;
}

/* Inner content — max-width so text doesn't stretch too wide */
.oaf-vidsplit__inner {
    position: relative; z-index: 1;
    width: 100%;
    max-width: 540px;
    display: flex; flex-direction: column;
    gap: 22px;
}

/* Headline */
.oaf-vidsplit__title {
    font-family: var(--font-display);
    font-weight: 700;
    font-size: clamp(30px, 3.8vw, 52px);
    line-height: 1.05;
    letter-spacing: -0.035em;
    color: #1a1a1a;
    margin: 0;
}

/* Lede */
.oaf-vidsplit__lede {
    font-family: var(--font-body);
    font-size: clamp(14px, 1.2vw, 17px);
    line-height: 1.7;
    color: #6b7280;
    margin: 0;
    max-width: 44ch;
}

/* CTAs */
.oaf-vidsplit__actions {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    align-items: center;
}
/* Primary button uses site's btn-primary + emerald override */
.oaf-vidsplit__actions .btn-primary {
    background: linear-gradient(135deg, var(--oaf-primary), var(--oaf-secondary));
    box-shadow: 0 20px 48px -16px rgba(79,70,229,0.4);
}
.oaf-vidsplit__actions .btn-primary:hover {
    transform: translateY(-2px);
    box-shadow: 0 28px 56px -16px rgba(79,70,229,0.5);
    color: #fff;
}

/* Stats grid — 2 × 2 */
.oaf-vidsplit__stats {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 14px 20px;
    padding-top: 8px;
    border-top: 1px solid #e8e8e5;
}
.oaf-vidsplit__stat b {
    display: block;
    font-family: var(--font-display);
    font-weight: 700;
    font-size: clamp(22px, 2.4vw, 30px);
    line-height: 1;
    background: linear-gradient(135deg, var(--oaf-primary), var(--oaf-secondary));
    -webkit-background-clip: text; background-clip: text; color: transparent;
    margin-bottom: 3px;
}
.oaf-vidsplit__stat span {
    font-family: var(--font-body);
    font-size: 11.5px; color: #9ca3af;
    text-transform: uppercase; letter-spacing: 0.05em; font-weight: 600;
}

/* ── Ping badge ──────────────────────────────────────────────────────────── */
.oaf-vidsplit__inner .oaf-ping-badge { margin: 0; align-self: flex-start; }

/* ── Responsive ──────────────────────────────────────────────────────────── */

/* Tablet (768–1023): keep split but tighten padding */
@media (max-width: 1023px) {
    .oaf-vidsplit__right { padding-left: 32px; padding-right: 28px; }
    .oaf-vidsplit__title { font-size: clamp(26px, 4vw, 40px); }
}

/* Mobile (<768px): stack — video on top, content below */
@media (max-width: 767px) {
    .oaf-hero--vidsplit {
        grid-template-columns: 1fr;
        grid-template-rows: 45vh auto;
        height: auto;
        min-height: unset;
    }
    .oaf-vidsplit__left {
        height: 45vh;
        min-height: 280px;
    }
    .oaf-vidsplit__left  { background: #000; }
    .oaf-vidsplit__left::after { display: none; }
    .oaf-vidsplit__video { object-fit: contain; object-position: center; background: #000; }
    .oaf-vidsplit__right {
        padding: 36px 24px 48px;
        justify-content: flex-start;
    }
    .oaf-vidsplit__inner { max-width: 100%; gap: 18px; }
    .oaf-vidsplit__title { font-size: clamp(26px, 7vw, 38px); }
    .oaf-vidsplit__lede  { font-size: 15px; }
    .oaf-vidsplit__stats { grid-template-columns: 1fr 1fr; gap: 12px; }
}

/* ==========================================================================
   FULL-SITE RESPONSIVE — Mobile (≤640px) + Tablet (641–1023px)
   Comprehensive pass: hero, nav, cards, sections, article, pages, footer
   ========================================================================== */

/* ── Sequence hero ───────────────────────────────────────────────────────── */
@media (max-width: 768px) {
    .oaf-hero--sequence    { min-height: 100svh; }
    .oaf-hero__seq-video   { object-fit: contain; background: #000; }
    .oaf-hero__content-inner { padding: 0 22px 40px; }
    .oaf-hero__center-title  { font-size: clamp(30px, 8vw, 52px); }
    .oaf-hero__lede          { font-size: 15px; max-width: 90vw; }
    .oaf-hero__actions       { flex-direction: column; align-items: center; }
    .oaf-hero__actions .btn,
    .oaf-hero__actions .oaf-btn-sec { width: 100%; justify-content: center; max-width: 320px; }
    .oaf-hero__stat-row      { gap: 24px; }
    .oaf-hstat b             { font-size: 26px; }
    .oaf-seq-dots            { bottom: 18px; }
}

/* ── Navigation ──────────────────────────────────────────────────────────── */
@media (max-width: 767px) {
    /* Nav uses 2-col already, ensure logo doesn't overflow */
    .oaf-wordmark   { font-size: 17px; }
    .oaf-topbar     { font-size: 11px; padding: 7px 16px; }
}

/* ── Homepage sections ───────────────────────────────────────────────────── */
@media (max-width: 768px) {
    .oaf-fp-section        { padding: 48px 0; }
    .oaf-shead             { flex-direction: column; align-items: flex-start; gap: 10px; }
    .oaf-shead h2          { font-size: clamp(22px, 6vw, 32px); }

    /* Featured review card */
    .oaf-feat              { grid-template-columns: 1fr; }
    .oaf-feat__vis         { min-height: 240px; }
    .oaf-feat__info        { padding: 24px 22px; }
    .oaf-feat__title       { font-size: clamp(20px, 5vw, 28px); }

    /* Rankings board */
    .oaf-board__item       { grid-template-columns: 42px 1fr auto; gap: 10px; padding: 14px 16px; }
    .oaf-board__pill       { display: none; }
    .oaf-board__rank       { font-size: 22px; }
    .oaf-board__name       { font-size: 15px; }
    .oaf-board__score      { font-size: 18px; }

    /* Newsletter CTA */
    .oaf-nl-dark           { padding: 36px 22px; border-radius: 20px; }
    .oaf-nl-dark h2        { font-size: clamp(22px, 6vw, 32px); }
    .oaf-nl-dark__form     { flex-direction: column; }
    .oaf-nl-dark__input    { width: 100%; }
    .oaf-nl-dark__btn      { width: 100%; }
}

/* ── Article cards grid ──────────────────────────────────────────────────── */
@media (max-width: 1024px) {
    .oaf-review-cards, .oaf-arc-grid { grid-template-columns: repeat(2, 1fr); gap: 20px; }
}
@media (max-width: 600px) {
    .oaf-review-cards, .oaf-arc-grid { grid-template-columns: 1fr; gap: 18px; }
    .oaf-review-card       { box-shadow: 3px 3px 0 0 #1a1a1a; }
    .oaf-review-card:hover { box-shadow: 5px 5px 0 0 #1a1a1a; transform: translate(-1px,-1px); }
}

/* ── Blog page hero ──────────────────────────────────────────────────────── */
@media (max-width: 768px) {
    .oaf-blog-page-hero        { padding: 100px 0 48px; text-align: center; }
    .oaf-blog-page-hero__inner { grid-template-columns: 1fr; gap: 32px; }
    .oaf-blog-page-hero__title { font-size: clamp(36px, 9vw, 56px); }
    .oaf-blog-page-hero__desc  { margin: 0 auto; }
    .oaf-blog-page-hero__stats {
        flex-direction: row; justify-content: center; flex-wrap: wrap;
        gap: 0;
    }
    .oaf-blog-page-hero__stat  {
        border-right: 1px solid rgba(255,255,255,.1);
        border-bottom: none; padding: 14px 20px;
    }
    .oaf-blog-page-hero__stat:last-child { border-right: none; }
}

/* ── Blog spotlight cards ────────────────────────────────────────────────── */
@media (max-width: 900px) {
    .oaf-blog-spotlight__layout { grid-template-columns: 1fr; gap: 20px; }
    .oaf-blog-spotlight__side   { flex-direction: column; gap: 16px; }
    .oaf-blog-spotlight__thumb  { height: 220px; }
}
@media (max-width: 600px) {
    .oaf-blog-spotlight__sub    { grid-template-columns: 100px 1fr; }
    .oaf-blog-midnl             { padding: 22px 18px; }
    .oaf-blog-midnl__form       { flex-direction: column; }
    .oaf-blog-midnl__input      { width: 100%; }
    .oaf-blog-midnl__btn        { width: 100%; text-align: center; }
}

/* ── Archive / category hero ─────────────────────────────────────────────── */
@media (max-width: 640px) {
    .oaf-arc-hero  { padding: 36px 0 28px; }
    .oaf-arc-title { font-size: clamp(24px, 7vw, 36px); }
    .oaf-arc-pager a, .oaf-arc-pager span.page-numbers {
        min-width: 36px; height: 36px; font-size: 13px; padding: 0 10px;
    }
}

/* ── Single post article ─────────────────────────────────────────────────── */
@media (max-width: 960px) {
    /* Sidebar hides; article takes full width */
    .oaf-art-layout.oaf-container { grid-template-columns: 1fr !important; padding: 32px 22px 60px; }
    .oaf-side { position: static; }
}
@media (max-width: 640px) {
    .oaf-art-layout.oaf-container { padding: 24px 16px 48px; }
    .oaf-art-title    { font-size: clamp(24px, 7vw, 38px); }
    .oaf-dek          { font-size: 17px; }
    .oaf-byline       { flex-direction: column; gap: 8px; }
    .oaf-byline__tag  { margin-left: 0; }
    .oaf-art-hero-img { aspect-ratio: 16/9; border-radius: 12px; }

    /* Verdict box */
    .oaf-verdict__top    { grid-template-columns: 1fr; text-align: center; }
    .oaf-verdict__cta    { align-items: center; }
    .oaf-verdict-scores  { grid-template-columns: 1fr 1fr; }

    /* Pros/Cons */
    .oaf-proscons        { grid-template-columns: 1fr; }

    /* Author box */
    .oaf-art-author      { flex-direction: column; text-align: center; }
    .oaf-art-author__av  { margin: 0 auto; }
}

/* ── About page ──────────────────────────────────────────────────────────── */
@media (max-width: 900px) {
    .oaf-about-hero          { padding: 100px 0 56px; }
    .oaf-about-stats__grid   { grid-template-columns: 1fr 1fr; }
    .oaf-about-stats__grid .oaf-about-stat { border-right: none; border-bottom: 1px solid #e8e8e5; padding-bottom: 20px; }
    .oaf-about-stats__grid .oaf-about-stat:last-child { border-bottom: none; }
    .oaf-about-values__grid  { grid-template-columns: 1fr; gap: 16px; }
    .oaf-about-story__layout { grid-template-columns: 1fr; gap: 36px; }
    .oaf-about-process__steps { grid-template-columns: 1fr; gap: 16px; }
    .oaf-about-process__connector { display: none; }
    .oaf-about-team__grid    { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 640px) {
    .oaf-about-hero__title   { font-size: clamp(32px, 9vw, 52px); }
    .oaf-about-hero__desc    { font-size: 15px; }
    .oaf-about-hero__actions { flex-direction: column; align-items: center; }
    .oaf-about-btn           { width: 100%; max-width: 280px; justify-content: center; text-align: center; }
    .oaf-about-team__grid    { grid-template-columns: 1fr 1fr; }
}

/* ── Contact page ────────────────────────────────────────────────────────── */
@media (max-width: 960px) {
    .oaf-contact-methods__grid  { grid-template-columns: 1fr; }
    .oaf-contact-main__layout   { grid-template-columns: 1fr; gap: 32px; }
    .oaf-cfaq                   { position: static; }
}
@media (max-width: 640px) {
    .oaf-contact-hero { padding: 100px 0 40px; }
    .oaf-contact-hero__title { font-size: clamp(26px, 7vw, 40px); }
    .oaf-form-card    { padding: 22px 18px; }
    .oaf-msg-form__row { grid-template-columns: 1fr; }
    .oaf-msg-form__footer { flex-direction: column; align-items: flex-start; }
    .oaf-msg-form__submit { width: 100%; justify-content: center; }
}

/* ── Footer ──────────────────────────────────────────────────────────────── */
@media (max-width: 900px) {
    .oaf-ft-grid { grid-template-columns: 1fr 1fr; gap: 28px; }
}
@media (max-width: 600px) {
    .oaf-ft-grid  { grid-template-columns: 1fr; gap: 24px; }
    .oaf-ft-wrap  { padding: 0 18px; }
    .oaf-footer   { padding: 44px 0 28px; }
    .oaf-ft-bar   { flex-direction: column; align-items: flex-start; gap: 6px; font-size: 12px; }
    .oaf-ft-disclosure { font-size: 12px; }
}

/* ── Global typography + spacing on small screens ────────────────────────── */
@media (max-width: 480px) {
    .oaf-container    { padding: 0 16px; }
    .oaf-kick         { font-size: 11px; }
    .oaf-ping-badge   { font-size: 12px; padding: 6px 13px; }
    .btn              { font-size: 13px; padding: 11px 20px; }
    .oaf-btn-sec      { font-size: 13px; padding: 11px 18px; }
    .oaf-nl-dark      { padding: 28px 16px; border-radius: 16px; }
}

/* ── Prevent horizontal scroll globally ─────────────────────────────────── */
@media (max-width: 768px) {
    html, body { overflow-x: hidden; max-width: 100vw; }
}
