/* ── RESET & VARIABLES ── */
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }

:root {
  --black: #0a0a0a;
  --off-black: #111;
  --dark: #1a1a1a;
  --mid: #5a5a5a;
  --border: #e0e0e0;
  --light: #f5f5f0;
  --white: #ffffff;
  --accent: #c8a96e;
  --accent-dark: #a8893e;
  --green: #2d5a27;
  --serif: 'Playfair Display', Georgia, serif;
  --sans: 'Outfit', sans-serif;
}

html { scroll-behavior: smooth; font-size: 16px; }
body { font-family: var(--sans); background: var(--white); color: var(--black); overflow-x: hidden; }
img { max-width: 100%; height: auto; display: block; }
a { text-decoration: none; color: inherit; }

/* ── CURSOR ── */
.cursor { width:8px;height:8px;background:var(--accent);border-radius:50%;position:fixed;z-index:9999;pointer-events:none;transform:translate(-50%,-50%);transition:width .3s,height .3s; }
.cursor-ring { width:36px;height:36px;border:1px solid rgba(200,169,110,.5);border-radius:50%;position:fixed;z-index:9998;pointer-events:none;transform:translate(-50%,-50%);transition:width .3s,height .3s,border-color .3s; }

/* ── TOP BAR ── */
.topbar { background:var(--black);color:rgba(255,255,255,.65);text-align:center;padding:10px 5vw;font-size:.75rem;letter-spacing:.08em;font-weight:500; }
.topbar a { color:var(--accent); }

/* ── NAV ── */
.site-nav { position:sticky;top:0;z-index:100;background:var(--white);border-bottom:1px solid var(--border);padding:0 5vw;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;height:72px; }
.nav-left { display:flex;gap:28px;align-items:center; }
.nav-left a,.nav-right a { font-size:.8rem;font-weight:500;letter-spacing:.06em;text-transform:uppercase;color:var(--mid);transition:color .2s; }
.nav-left a:hover,.nav-right a:hover { color:var(--black); }
.nav-logo { font-family:var(--serif);font-size:1.4rem;font-weight:900;color:var(--black);text-align:center;letter-spacing:-.02em; }
.nav-logo span { color:var(--accent); }
.nav-right { display:flex;gap:20px;align-items:center;justify-content:flex-end; }
.nav-cta { background:var(--black)!important;color:var(--white)!important;padding:10px 20px!important;font-size:.75rem!important;letter-spacing:.1em!important;transition:background .2s!important; }
.nav-cta:hover { background:var(--accent)!important; }

/* ── HERO ── */
.hero { display:grid;grid-template-columns:1fr 1fr;min-height:calc(100vh - 108px); }
.hero-left { position:relative;overflow:hidden;background:var(--black); }
.hero-img-main { width:100%;height:100%;object-fit:cover;opacity:.85;transition:transform 8s ease,opacity .8s;transform:scale(1.05); }
.hero-left:hover .hero-img-main { transform:scale(1);opacity:.9; }
.hero-left-overlay { position:absolute;inset:0;background:linear-gradient(135deg,rgba(0,0,0,.5) 0%,rgba(0,0,0,.1) 60%,rgba(200,169,110,.15) 100%);display:flex;flex-direction:column;justify-content:flex-end;padding:48px; }
.hero-category-tag { display:inline-block;font-size:.65rem;font-weight:600;letter-spacing:.2em;text-transform:uppercase;color:var(--accent);border:1px solid var(--accent);padding:5px 14px;margin-bottom:20px;width:fit-content; }
.hero-left-title { font-family:var(--serif);font-size:clamp(2.4rem,4.5vw,4rem);font-weight:900;color:var(--white);line-height:1.05;margin-bottom:20px; }
.hero-left-title em { font-style:italic;color:var(--accent); }
.hero-left-sub { font-size:.95rem;font-weight:300;color:rgba(255,255,255,.75);max-width:380px;line-height:1.7;margin-bottom:32px; }
.hero-cta { display:inline-flex;align-items:center;gap:12px;background:var(--accent);color:var(--black);padding:16px 32px;font-size:.8rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase;transition:all .25s; }
.hero-cta:hover { background:var(--white); }
.hero-cta-arrow { transition:transform .25s; }
.hero-cta:hover .hero-cta-arrow { transform:translateX(4px); }
.hero-right { display:grid;grid-template-rows:1fr 1fr; }
.hero-right-top { position:relative;overflow:hidden;border-bottom:1px solid var(--border); }
.hero-right-img { width:100%;height:100%;object-fit:cover;transition:transform 6s ease; }
.hero-right-top:hover .hero-right-img { transform:scale(1.04); }
.hero-right-overlay { position:absolute;inset:0;background:linear-gradient(to top,rgba(0,0,0,.7) 0%,transparent 50%);display:flex;flex-direction:column;justify-content:flex-end;padding:32px; }
.hero-pill { display:inline-block;background:var(--accent);color:var(--black);font-size:.65rem;font-weight:700;letter-spacing:.15em;text-transform:uppercase;padding:4px 12px;margin-bottom:10px;width:fit-content; }
.hero-sub-title { font-family:var(--serif);font-size:1.5rem;font-weight:700;color:var(--white);line-height:1.2; }
.hero-right-bottom { background:var(--black);padding:40px;display:flex;flex-direction:column;justify-content:center; }
.hero-stats-row { display:grid;grid-template-columns:repeat(3,1fr);gap:24px; }
.hero-stat-item { border-left:2px solid var(--accent);padding-left:16px; }
.hero-stat-num { font-family:var(--serif);font-size:2.2rem;font-weight:900;color:var(--white);line-height:1; }
.hero-stat-label { font-size:.75rem;color:rgba(255,255,255,.5);margin-top:4px;letter-spacing:.05em; }
.hero-ticker { margin-top:28px;padding-top:28px;border-top:1px solid rgba(255,255,255,.1);font-size:.75rem;color:rgba(255,255,255,.4);letter-spacing:.08em;display:flex;align-items:center;gap:12px; }
.ticker-dot { width:6px;height:6px;background:var(--accent);border-radius:50%;flex-shrink:0; }

/* ── MARQUEE ── */
.marquee-wrap { background:var(--accent);padding:14px 0;overflow:hidden; }
.marquee-track { display:flex;animation:marquee 25s linear infinite;white-space:nowrap; }
.marquee-item { font-size:.72rem;font-weight:700;letter-spacing:.15em;text-transform:uppercase;color:var(--black);padding:0 36px;display:flex;align-items:center;gap:24px; }
.marquee-item::after { content:'—';opacity:.4; }
@keyframes marquee { from{transform:translateX(0)} to{transform:translateX(-50%)} }

/* ── SECTION GLOBALS ── */
.section-header { display:flex;align-items:flex-end;justify-content:space-between;margin-bottom:48px;padding-bottom:20px;border-bottom:1px solid var(--border); }
.section-eyebrow { font-size:.7rem;font-weight:600;letter-spacing:.2em;text-transform:uppercase;color:var(--accent);margin-bottom:10px; }
.section-title { font-family:var(--serif);font-size:clamp(1.8rem,3vw,2.6rem);font-weight:900;color:var(--black);line-height:1.1; }
.section-link { font-size:.78rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--black);border-bottom:1px solid var(--black);padding-bottom:2px;transition:color .2s,border-color .2s;white-space:nowrap; }
.section-link:hover { color:var(--accent);border-color:var(--accent); }

/* ── CATEGORIES ── */
.categories { padding:96px 5vw;background:var(--white); }
.cat-grid { display:grid;grid-template-columns:repeat(3,1fr);gap:2px; }
.cat-grid-sub { display:grid;grid-template-columns:repeat(4,1fr);gap:2px;margin-top:2px; }
.cat-card { position:relative;overflow:hidden;aspect-ratio:3/4;background:var(--black);display:block;text-decoration:none; }
.cat-grid-sub .cat-card { aspect-ratio:16/9; }
.cat-img { width:100%;height:100%;object-fit:cover;opacity:.75;transition:transform .8s cubic-bezier(.25,.46,.45,.94),opacity .5s; }
.cat-card:hover .cat-img { transform:scale(1.08);opacity:.6; }
.cat-overlay { position:absolute;inset:0;background:linear-gradient(to top,rgba(0,0,0,.92) 0%,rgba(0,0,0,.3) 50%,transparent 100%);display:flex;flex-direction:column;justify-content:flex-end;padding:36px 32px; }
.cat-tag { font-size:.62rem;font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:var(--accent);margin-bottom:10px; }
.cat-name { font-family:var(--serif);font-size:1.9rem;font-weight:900;color:var(--white);line-height:1.1;margin-bottom:12px; }
.cat-desc { font-size:.82rem;font-weight:300;color:rgba(255,255,255,.65);line-height:1.6;margin-bottom:20px; }
.cat-count { font-size:.7rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:rgba(255,255,255,.4); }
.cat-arrow { position:absolute;top:28px;right:28px;width:40px;height:40px;border:1px solid rgba(255,255,255,.3);border-radius:50%;display:flex;align-items:center;justify-content:center;color:white;font-size:1rem;opacity:0;transform:translateY(-8px);transition:all .35s; }
.cat-card:hover .cat-arrow { opacity:1;transform:translateY(0);border-color:var(--accent);color:var(--accent); }

/* ── TOP PICKS ── */
.picks { padding:96px 0;background:var(--light); }
.picks-inner { padding:0 5vw; }
.picks-scroll { display:flex;gap:24px;overflow-x:auto;padding:0 5vw 24px;scrollbar-width:none;-ms-overflow-style:none;scroll-snap-type:x mandatory; }
.picks-scroll::-webkit-scrollbar { display:none; }
.pick-card { flex:0 0 340px;background:var(--white);scroll-snap-align:start;border:1px solid var(--border);overflow:hidden;transition:box-shadow .3s,transform .3s; }
.pick-card:hover { box-shadow:0 20px 60px rgba(0,0,0,.12);transform:translateY(-4px); }
.pick-img-wrap { position:relative;height:260px;overflow:hidden;background:var(--black); }
.pick-img { width:100%;height:100%;object-fit:cover;opacity:.9;transition:transform .7s ease,opacity .4s; }
.pick-card:hover .pick-img { transform:scale(1.06);opacity:.8; }
.pick-rank { position:absolute;top:16px;left:16px;font-family:var(--serif);font-size:3.5rem;font-weight:900;color:rgba(255,255,255,.18);line-height:1; }
.pick-badge { position:absolute;top:16px;right:16px;background:var(--accent);color:var(--black);font-size:.62rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;padding:5px 12px; }
.pick-body { padding:24px; }
.pick-brand { font-size:.65rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--accent);margin-bottom:6px; }
.pick-name { font-family:var(--serif);font-size:1.15rem;font-weight:700;color:var(--black);margin-bottom:8px;line-height:1.3; }
.pick-stars { display:flex;align-items:center;gap:8px;margin-bottom:16px; }
.stars { color:var(--accent);letter-spacing:2px;font-size:.75rem; }
.pick-rating { font-size:.78rem;color:var(--mid); }
.pick-footer { display:flex;align-items:center;justify-content:space-between;padding-top:16px;border-top:1px solid var(--border); }
.pick-price { font-family:var(--serif);font-size:1.5rem;font-weight:700; }
.pick-price-old { font-size:.8rem;color:var(--mid);text-decoration:line-through;font-family:var(--sans);font-weight:400;display:block; }
.pick-btn { background:var(--black);color:var(--white);padding:12px 20px;font-size:.72rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;transition:background .2s; }
.pick-btn:hover { background:var(--accent);color:var(--black); }

/* ── BRANDS ── */
.brands { padding:96px 5vw;background:var(--black); }
.brands .section-title { color:var(--white); }
.brand-tabs { display:flex;border-bottom:1px solid rgba(255,255,255,.1);margin-bottom:48px;overflow-x:auto; }
.brand-tab { padding:14px 24px;font-size:.75rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:rgba(255,255,255,.4);cursor:pointer;border-bottom:2px solid transparent;transition:all .2s;white-space:nowrap;background:none;border-left:none;border-right:none;border-top:none;font-family:var(--sans); }
.brand-tab.active { color:var(--accent);border-bottom-color:var(--accent); }
.brand-tab:hover { color:rgba(255,255,255,.75); }
.brand-panel { display:none; }
.brand-panel.active { display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:20px; }
.brand-card { background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.08);overflow:hidden;transition:all .3s;display:block;text-decoration:none; }
.brand-card:hover { background:rgba(255,255,255,.08);border-color:rgba(200,169,110,.3);transform:translateY(-3px); }
.brand-img-wrap { height:160px;overflow:hidden; }
.brand-img { width:100%;height:100%;object-fit:cover;opacity:.7;transition:transform .6s,opacity .3s; }
.brand-card:hover .brand-img { transform:scale(1.05);opacity:.9; }
.brand-body { padding:20px 22px; }
.brand-name { font-family:var(--serif);font-size:1.15rem;font-weight:700;color:var(--white);margin-bottom:6px; }
.brand-desc-short { font-size:.78rem;color:rgba(255,255,255,.45);line-height:1.5;margin-bottom:14px; }
.brand-chips { display:flex;flex-wrap:wrap;gap:6px; }
.brand-chip { font-size:.62rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;padding:4px 10px;background:rgba(255,255,255,.06);color:rgba(255,255,255,.45);border:1px solid rgba(255,255,255,.08); }
.brand-chip.gold { background:rgba(200,169,110,.15);color:var(--accent);border-color:rgba(200,169,110,.2); }

/* ── EDITORIAL ── */
.editorial { display:grid;grid-template-columns:5fr 4fr;min-height:500px; }
.editorial-img-wrap { position:relative;overflow:hidden;background:var(--black); }
.editorial-img { width:100%;height:100%;object-fit:cover;opacity:.8;transition:transform 8s ease;transform:scale(1.05); }
.editorial:hover .editorial-img { transform:scale(1); }
.editorial-content { background:var(--light);padding:80px 60px;display:flex;flex-direction:column;justify-content:center; }
.editorial-number { font-family:var(--serif);font-size:6rem;font-weight:900;color:var(--border);line-height:1;margin-bottom:-20px; }
.editorial-title { font-family:var(--serif);font-size:2.2rem;font-weight:900;color:var(--black);line-height:1.15;margin-bottom:20px; }
.editorial-body { font-size:.92rem;font-weight:300;color:var(--mid);line-height:1.8;margin-bottom:32px;max-width:400px; }
.guide-steps-list { list-style:none;margin-bottom:36px; }
.guide-step { display:flex;gap:20px;align-items:flex-start;padding:16px 0;border-bottom:1px solid var(--border); }
.guide-step:first-child { border-top:1px solid var(--border); }
.step-n { font-family:var(--serif);font-size:1.1rem;font-weight:700;color:var(--accent);flex-shrink:0;width:24px; }
.step-text h4 { font-size:.88rem;font-weight:600;margin-bottom:3px; }
.step-text p { font-size:.8rem;color:var(--mid);line-height:1.5; }

/* ── PADEL ── */
.padel { padding:96px 5vw;background:var(--white); }
.padel-intro { max-width:600px;margin-bottom:56px; }
.padel-intro p { font-size:.95rem;color:var(--mid);line-height:1.8;margin-top:16px; }
.padel-grid { display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:2px; }
.padel-card { position:relative;aspect-ratio:4/5;overflow:hidden;background:var(--black);display:block;text-decoration:none; }
.padel-img { width:100%;height:100%;object-fit:cover;opacity:.7;transition:transform .7s ease,opacity .4s; }
.padel-card:hover .padel-img { transform:scale(1.07);opacity:.55; }
.padel-overlay { position:absolute;inset:0;background:linear-gradient(to top,rgba(0,0,0,.9) 0%,transparent 55%);display:flex;flex-direction:column;justify-content:flex-end;padding:24px; }
.padel-badge { font-size:.6rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--accent);margin-bottom:6px; }
.padel-name { font-family:var(--serif);font-size:1.35rem;font-weight:700;color:var(--white);line-height:1.2; }
.padel-sub { font-size:.75rem;color:rgba(255,255,255,.5);margin-top:4px; }

/* ── NEWSLETTER ── */
.newsletter { position:relative;overflow:hidden;background:var(--black);padding:120px 5vw;text-align:center; }
.newsletter-bg { position:absolute;inset:0;background:radial-gradient(ellipse 60% 80% at 50% 100%,rgba(200,169,110,.12),transparent); }
.newsletter h2 { font-family:var(--serif);font-size:clamp(2.5rem,5vw,4rem);font-weight:900;color:var(--white);margin-bottom:16px;position:relative; }
.newsletter h2 em { font-style:italic;color:var(--accent); }
.newsletter p { font-size:1rem;font-weight:300;color:rgba(255,255,255,.55);max-width:480px;margin:0 auto 48px;line-height:1.8;position:relative; }
.nl-form { display:flex;max-width:520px;margin:0 auto;border:1px solid rgba(255,255,255,.15);position:relative; }
.nl-input { flex:1;background:transparent;border:none;padding:18px 24px;font-size:.9rem;font-family:var(--sans);color:var(--white);outline:none; }
.nl-input::placeholder { color:rgba(255,255,255,.3); }
.nl-btn { background:var(--accent);color:var(--black);border:none;cursor:pointer;padding:18px 32px;font-size:.75rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;font-family:var(--sans);transition:background .2s; }
.nl-btn:hover { background:var(--white); }

/* ── FOOTER ── */
.site-footer { background:var(--off-black);padding:80px 5vw 40px;border-top:1px solid rgba(255,255,255,.06); }
.footer-grid { display:grid;grid-template-columns:2fr 1fr 1fr 1fr 1fr;gap:48px;margin-bottom:64px; }
.footer-logo { font-family:var(--serif);font-size:1.5rem;font-weight:900;color:var(--white);margin-bottom:16px;display:block; }
.footer-logo span { color:var(--accent); }
.footer-desc { font-size:.83rem;color:rgba(255,255,255,.4);line-height:1.8;max-width:280px;margin-bottom:24px; }
.footer-disclaimer { font-size:.72rem;color:rgba(255,255,255,.25);line-height:1.7;padding:16px;border:1px solid rgba(255,255,255,.06); }
.site-footer h4 { font-size:.65rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:rgba(255,255,255,.35);margin-bottom:20px; }
.site-footer ul { list-style:none;display:flex;flex-direction:column;gap:10px; }
.site-footer ul li a { font-size:.83rem;color:rgba(255,255,255,.5);transition:color .2s; }
.site-footer ul li a:hover { color:var(--accent); }
.footer-bottom { border-top:1px solid rgba(255,255,255,.06);padding-top:32px;display:flex;justify-content:space-between;align-items:center;font-size:.75rem;color:rgba(255,255,255,.25); }

/* ── SINGLE POST ── */
.single-wrap { padding:60px 5vw; }
.single-container { display:grid;grid-template-columns:2fr 1fr;gap:60px;max-width:1200px;margin:0 auto; }
.single-meta { font-size:.75rem;color:var(--mid);letter-spacing:.08em;text-transform:uppercase;margin-bottom:16px; }
.single-meta a { color:var(--accent); }
.single-title { font-family:var(--serif);font-size:clamp(1.8rem,3vw,2.8rem);font-weight:900;line-height:1.1;margin-bottom:32px; }
.single-content { font-size:.95rem;line-height:1.8;color:var(--dark); }
.single-content h2 { font-family:var(--serif);font-size:1.6rem;font-weight:700;margin:40px 0 16px; }
.single-content h3 { font-family:var(--serif);font-size:1.2rem;font-weight:700;margin:28px 0 12px; }
.single-content p { margin-bottom:20px; }
.single-content ul,.single-content ol { margin:0 0 20px 24px; }
.single-content li { margin-bottom:8px; }
.single-content table { width:100%;border-collapse:collapse;margin:24px 0;font-size:.88rem; }
.single-content th { background:var(--black);color:var(--white);padding:12px 16px;text-align:left;font-weight:600; }
.single-content td { padding:10px 16px;border-bottom:1px solid var(--border); }
.single-content tr:hover td { background:var(--light); }
.single-content a { color:var(--accent);border-bottom:1px solid rgba(200,169,110,.3); }
.single-content a[rel*="sponsored"] { background:rgba(200,169,110,.08);padding:2px 6px;border-radius:2px; }

/* ── SIDEBAR ── */
.single-sidebar { }
.sidebar-widget { background:var(--light);padding:24px;margin-bottom:24px; }
.sidebar-widget-title { font-family:var(--serif);font-size:1rem;font-weight:700;margin-bottom:20px;padding-bottom:12px;border-bottom:2px solid var(--accent); }
.sidebar-pick { padding:16px 0;border-bottom:1px solid var(--border); }
.sidebar-pick:last-child { border-bottom:none; }
.sidebar-pick-name { font-size:.88rem;font-weight:600;margin-bottom:4px; }
.sidebar-pick-price { font-family:var(--serif);font-size:1.1rem;font-weight:700;color:var(--accent);margin-bottom:8px; }
.sidebar-pick-btn { display:inline-block;font-size:.75rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--black);border-bottom:1px solid var(--black);padding-bottom:1px;transition:color .2s,border-color .2s; }
.sidebar-pick-btn:hover { color:var(--accent);border-color:var(--accent); }
.sidebar-cats { list-style:none; }
.sidebar-cats li { border-bottom:1px solid var(--border); }
.sidebar-cats li a { display:block;padding:10px 0;font-size:.85rem;color:var(--mid);transition:color .2s; }
.sidebar-cats li a:hover { color:var(--accent); }
.sidebar-disclaimer { font-size:.75rem;color:var(--mid);line-height:1.6;background:rgba(200,169,110,.06);border:1px solid rgba(200,169,110,.2); }

/* ── ARCHIVE ── */
.archive-wrap { padding:60px 5vw; }
.archive-header { max-width:1200px;margin:0 auto 48px; }
.archive-grid { display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:32px;max-width:1200px;margin:0 auto; }
.archive-card { background:var(--white);border:1px solid var(--border);overflow:hidden;transition:box-shadow .3s,transform .3s; }
.archive-card:hover { box-shadow:0 12px 40px rgba(0,0,0,.1);transform:translateY(-3px); }
.archive-img-wrap { height:200px;overflow:hidden; }
.archive-img { width:100%;height:100%;object-fit:cover;transition:transform .6s; }
.archive-card:hover .archive-img { transform:scale(1.04); }
.archive-body { padding:24px; }
.archive-meta { font-size:.72rem;color:var(--mid);letter-spacing:.06em;text-transform:uppercase;margin-bottom:10px; }
.archive-meta a { color:var(--accent); }
.archive-title { font-family:var(--serif);font-size:1.15rem;font-weight:700;line-height:1.3;margin-bottom:12px; }
.archive-title a { color:var(--black);transition:color .2s; }
.archive-title a:hover { color:var(--accent); }
.archive-excerpt { font-size:.83rem;color:var(--mid);line-height:1.6;margin-bottom:16px; }
.archive-link { font-size:.75rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--black);border-bottom:1px solid var(--black);padding-bottom:1px;transition:all .2s; }
.archive-link:hover { color:var(--accent);border-color:var(--accent); }
.pagination { max-width:1200px;margin:48px auto 0;display:flex;gap:8px;justify-content:center; }
.pagination .page-numbers { padding:10px 16px;border:1px solid var(--border);font-size:.85rem;transition:all .2s; }
.pagination .page-numbers.current { background:var(--black);color:var(--white);border-color:var(--black); }
.pagination .page-numbers:hover { border-color:var(--accent);color:var(--accent); }

/* ── REVEAL ── */
.reveal { opacity:0;transform:translateY(28px);transition:opacity .7s ease,transform .7s ease; }
.reveal.visible { opacity:1;transform:translateY(0); }

/* ── RESPONSIVE ── */
@media (max-width:1024px) {
  .hero { grid-template-columns:1fr; }
  .hero-left { min-height:60vh; }
  .hero-right-top { min-height:40vh; }
  .cat-grid { grid-template-columns:1fr 1fr; }
  .cat-grid-sub { grid-template-columns:1fr 1fr; }
  .editorial { grid-template-columns:1fr; }
  .editorial-img-wrap { min-height:300px; }
  .footer-grid { grid-template-columns:1fr 1fr; }
  .single-container { grid-template-columns:1fr; }
}
@media (max-width:768px) {
  .site-nav { grid-template-columns:1fr auto; }
  .nav-left,.nav-right { display:none; }
  .cat-grid { grid-template-columns:1fr; }
  .cat-grid-sub { grid-template-columns:1fr 1fr; }
  .padel-grid { grid-template-columns:1fr 1fr; }
  .footer-grid { grid-template-columns:1fr; }
  .footer-bottom { flex-direction:column;gap:12px; }
  .editorial-content { padding:48px 32px; }
}
