/* ═══════════════════════════════════════════════════
   ONE LOVE ENERGY — Main CSS v3.0
   ═══════════════════════════════════════════════════ */

:root {
  --y: #F5C518;  /* Rasta Yellow */
  --g: #1B7A2E;  /* Rasta Green */
  --r: #C0272D;  /* Rasta Red */
  --m: #00E5CC;  /* Mint */
  --gl: #D4AF37; /* Gold */
  --bk: #080808; /* Black */
  --wh: #F5F5F0; /* White */
  --dim: rgba(245,245,240,.6);

  --ff-d: 'Bebas Neue', Impact, sans-serif;
  --ff-h: 'Barlow Condensed', 'Arial Narrow', sans-serif;
  --ff-b: 'DM Sans', 'Helvetica Neue', sans-serif;

  --ease: cubic-bezier(.16,1,.3,1);
  --dur: .4s;

  --max: 1280px;
  --pad: clamp(1.5rem, 5vw, 5rem);
}

/* ── Reset ── */
*,*::before,*::after { box-sizing:border-box; margin:0; padding:0; }
html { scroll-behavior:smooth; overflow-x:hidden; }
body { font-family:var(--ff-b); background:var(--bk); color:var(--wh); line-height:1.65; overflow-x:hidden; -webkit-font-smoothing:antialiased; }
img { max-width:100%; height:auto; display:block; }
a { color:inherit; text-decoration:none; }
button { cursor:pointer; border:none; background:none; font-family:inherit; }
ul { list-style:none; }
::selection { background:var(--y); color:var(--bk); }

/* ── Type ── */
h1,h2,h3 { font-family:var(--ff-d); font-weight:400; line-height:.92; letter-spacing:.02em; text-transform:uppercase; }
h4,h5,h6 { font-family:var(--ff-h); font-weight:700; text-transform:uppercase; letter-spacing:.08em; }
h1 { font-size:clamp(3.5rem,12vw,13rem); }
h2 { font-size:clamp(2.5rem,7vw,8rem); }
h3 { font-size:clamp(2rem,5vw,5rem); }
h4 { font-size:clamp(1.25rem,2.5vw,2rem); }
p { line-height:1.75; }
.ole-eye { font-family:var(--ff-h); font-size:.8125rem; font-weight:700; letter-spacing:.25em; text-transform:uppercase; opacity:.55; margin-bottom:.625rem; display:block; }

/* ── Layout ── */
.ole-wrap { max-width:var(--max); margin-inline:auto; padding-inline:var(--pad); }
.ole-sec  { padding-block:clamp(5rem,10vw,10rem); }
.ole-sec-lg { padding-block:clamp(7rem,14vw,14rem); }
.ole-grid-2 { display:grid; grid-template-columns:1fr 1fr; gap:clamp(2rem,5vw,5rem); align-items:center; }
.ole-grid-3 { display:grid; grid-template-columns:repeat(3,1fr); gap:2rem; }
.ole-grid-4 { display:grid; grid-template-columns:repeat(4,1fr); gap:1.5rem; }
.ole-center { text-align:center; }

/* ── Buttons ── */
.ole-btn { display:inline-flex; align-items:center; gap:.5rem; font-family:var(--ff-h); font-weight:700; font-size:.9375rem; letter-spacing:.15em; text-transform:uppercase; padding:.875rem 2.25rem; border-radius:999px; transition:all var(--dur) var(--ease); white-space:nowrap; cursor:pointer; }
.ole-btn-y { background:var(--y); color:var(--bk); }
.ole-btn-y:hover { background:#fff; transform:translateY(-3px); box-shadow:0 16px 40px rgba(245,197,24,.35); }
.ole-btn-o { background:transparent; color:var(--wh); border:2px solid rgba(255,255,255,.3); }
.ole-btn-o:hover { border-color:var(--wh); transform:translateY(-3px); background:rgba(255,255,255,.06); }
.ole-btn-m { background:var(--m); color:var(--bk); }
.ole-btn-m:hover { background:#b3fff5; transform:translateY(-3px); box-shadow:0 16px 40px rgba(0,229,204,.35); }
.ole-btn-g { background:var(--gl); color:var(--bk); }
.ole-btn-g:hover { background:#ede0a5; transform:translateY(-3px); box-shadow:0 16px 40px rgba(212,175,55,.4); }
.ole-btns { display:flex; gap:1rem; flex-wrap:wrap; }

/* ── Reveal animation ── */
@keyframes fadeUp { from { opacity:0; transform:translateY(40px); } to { opacity:1; transform:none; } }
@keyframes floatCan { 0%,100% { transform:translateY(0); } 50% { transform:translateY(-18px); } }
@keyframes ticker { from { transform:translateX(0); } to { transform:translateX(-50%); } }

.ole-rv { opacity:0; transform:translateY(36px); transition:opacity .7s var(--ease), transform .7s var(--ease); }
.ole-rv.on { opacity:1; transform:none; }
.ole-rv.d1 { transition-delay:.1s; } .ole-rv.d2 { transition-delay:.2s; } .ole-rv.d3 { transition-delay:.3s; } .ole-rv.d4 { transition-delay:.4s; }

/* ═══════════════════════════════════════════════════
   HEADER
   ═══════════════════════════════════════════════════ */
.ole-hdr { position:fixed; inset-inline:0; top:0; z-index:900; padding:1rem 0; transition:background .35s var(--ease),padding .35s; }
.ole-hdr.stuck { background:rgba(8,8,8,.92); backdrop-filter:blur(20px); padding:.625rem 0; border-bottom:1px solid rgba(255,255,255,.06); }
.ole-nav { display:flex; align-items:center; justify-content:space-between; gap:1.5rem; }

.ole-logo { display:flex; align-items:center; gap:.625rem; flex-shrink:0; }
.ole-logo img { height:42px; width:auto; }
.ole-logo-t { font-family:var(--ff-d); font-size:1.5rem; line-height:1; letter-spacing:.04em; }
.ole-logo-t em { color:var(--y); font-style:normal; }

.ole-menu { display:flex; align-items:center; gap:.125rem; }
.ole-menu a { font-family:var(--ff-h); font-weight:600; font-size:.875rem; letter-spacing:.1em; text-transform:uppercase; padding:.5rem 1.125rem; border-radius:999px; opacity:.65; transition:all .2s; }
.ole-menu a:hover, .ole-menu a.current { opacity:1; background:rgba(255,255,255,.07); }

/* Hamburger */
.ole-ham { display:none; flex-direction:column; gap:5px; width:28px; cursor:pointer; padding:4px 0; }
.ole-ham span { width:100%; height:2px; background:var(--wh); border-radius:2px; transition:all .35s var(--ease); transform-origin:center; }
.ole-ham.open span:nth-child(1) { transform:translateY(7px) rotate(45deg); }
.ole-ham.open span:nth-child(2) { opacity:0; transform:scaleX(0); }
.ole-ham.open span:nth-child(3) { transform:translateY(-7px) rotate(-45deg); }

/* Mobile nav */
.ole-mob { position:fixed; inset:0; z-index:800; background:var(--bk); padding:7rem var(--pad) 3rem; display:flex; flex-direction:column; gap:1.25rem; transform:translateX(100%); transition:transform .5s var(--ease); visibility:hidden; }
.ole-mob.open { transform:none; visibility:visible; }
.ole-mob a { font-family:var(--ff-d); font-size:3.25rem; line-height:1; opacity:.85; }
.ole-mob a:hover { color:var(--y); opacity:1; }

@media(max-width:900px) {
  .ole-menu, .ole-nav>.ole-btn { display:none; }
  .ole-ham { display:flex; }
}

/* ═══════════════════════════════════════════════════
   FOOTER
   ═══════════════════════════════════════════════════ */
.ole-ft { background:#050505; border-top:1px solid rgba(255,255,255,.05); padding-top:clamp(4rem,8vw,8rem); }
.ole-ft-grid { display:grid; grid-template-columns:2fr 1fr 1fr 1fr; gap:clamp(2rem,4vw,4rem); padding-bottom:clamp(3rem,6vw,6rem); }
.ole-ft-brand .ole-logo-t { font-size:2.25rem; }
.ole-ft-brand p { margin-top:1rem; opacity:.4; font-size:.9375rem; max-width:28ch; line-height:1.6; }
.ole-ft-col h5 { margin-bottom:1.25rem; opacity:.35; font-size:.8rem; letter-spacing:.2em; }
.ole-ft-col li { margin-bottom:.625rem; }
.ole-ft-col a { opacity:.5; font-size:.9375rem; transition:opacity .2s; }
.ole-ft-col a:hover { opacity:1; }
.ole-ft-btm { border-top:1px solid rgba(255,255,255,.05); padding:1.5rem 0; display:flex; align-items:center; justify-content:space-between; gap:1rem; flex-wrap:wrap; }
.ole-ft-btm p { font-size:.8125rem; opacity:.3; max-width:none; margin:0; }
.ole-ft-legal { display:flex; gap:1.25rem; }
.ole-ft-legal a { font-size:.8125rem; opacity:.3; transition:opacity .2s; }
.ole-ft-legal a:hover { opacity:.7; }
.ole-social { display:flex; gap:.625rem; margin-top:1.25rem; }
.ole-social a { width:38px; height:38px; border:1px solid rgba(255,255,255,.12); border-radius:6px; display:flex; align-items:center; justify-content:center; font-size:.9375rem; transition:all .2s; }
.ole-social a:hover { border-color:var(--y); color:var(--y); transform:translateY(-3px); }
@media(max-width:900px) { .ole-ft-grid { grid-template-columns:1fr 1fr; } .ole-ft-brand { grid-column:1/-1; } }
@media(max-width:540px) { .ole-ft-grid { grid-template-columns:1fr; } .ole-ft-btm { flex-direction:column; text-align:center; } }

/* ═══════════════════════════════════════════════════
   HOMEPAGE
   ═══════════════════════════════════════════════════ */

/* Hero */
.ole-hero { position:relative; min-height:100svh; display:flex; align-items:center; overflow:hidden; background:var(--bk); }
.ole-hero-bg { position:absolute; inset:0; background:radial-gradient(ellipse 90% 90% at 70% 50%, rgba(27,122,46,.2) 0%, rgba(245,197,24,.08) 40%, rgba(192,39,45,.14) 70%, transparent 100%); pointer-events:none; }
.ole-hero-lines { position:absolute; inset:0; background-image:repeating-linear-gradient(90deg,rgba(255,255,255,.025) 0,rgba(255,255,255,.025) 1px,transparent 1px,transparent 70px); pointer-events:none; }
.ole-hero-inner { position:relative; z-index:2; padding:8rem var(--pad) 5rem; max-width:var(--max); margin:0 auto; width:100%; }
.ole-hero-label { font-family:var(--ff-h); font-size:.875rem; font-weight:700; letter-spacing:.3em; text-transform:uppercase; color:var(--y); margin-bottom:1.5rem; animation:fadeUp .8s var(--ease) .3s both; }
.ole-hero-h1 { font-size:clamp(5rem,16vw,20rem); line-height:.88; animation:fadeUp 1s var(--ease) .5s both; }
.ole-hero-h1 .cg { color:var(--g); }
.ole-hero-h1 .cy { color:var(--y); }
.ole-hero-h1 .cr { color:var(--r); }
.ole-hero-sub { font-size:clamp(1rem,2vw,1.375rem); opacity:.6; margin:2rem 0; max-width:46ch; animation:fadeUp .8s var(--ease) .8s both; }
.ole-hero-actions { animation:fadeUp .8s var(--ease) 1s both; }
.ole-hero-can { position:absolute; right:0; top:50%; transform:translateY(-50%); width:min(500px,44vw); z-index:1; animation:floatCan 7s ease-in-out infinite; filter:drop-shadow(0 30px 80px rgba(0,0,0,.7)); }
.ole-hero-can img { width:100%; height:auto; }
.ole-hero-scroll { position:absolute; bottom:2rem; left:50%; transform:translateX(-50%); display:flex; flex-direction:column; align-items:center; gap:.5rem; font-family:var(--ff-h); font-size:.75rem; letter-spacing:.2em; text-transform:uppercase; opacity:.35; }
.ole-hero-scroll-line { width:1px; height:50px; background:linear-gradient(to bottom,transparent,var(--wh)); }

/* Ticker */
.ole-ticker { background:var(--y); padding:1.125rem 0; overflow:hidden; }
.ole-ticker-track { display:flex; width:max-content; animation:ticker 22s linear infinite; }
.ole-ticker-item { font-family:var(--ff-d); font-size:1.375rem; color:var(--bk); padding:0 2rem; display:flex; align-items:center; gap:1.5rem; flex-shrink:0; }
.ole-ticker-item::after { content:'◆'; color:var(--r); font-size:.75rem; }

/* Product cards grid */
.ole-cards { display:grid; grid-template-columns:repeat(3,1fr); gap:3px; }
.ole-card { position:relative; height:82vh; min-height:600px; overflow:hidden; display:block; cursor:pointer; }
.ole-card-bg { position:absolute; inset:0; transition:transform .8s var(--ease); }
.ole-card:hover .ole-card-bg { transform:scale(1.05); }
.ole-card-can { position:absolute; top:50%; left:50%; transform:translate(-50%,-62%); width:200px; transition:transform .7s var(--ease); filter:drop-shadow(0 20px 50px rgba(0,0,0,.8)); }
.ole-card:hover .ole-card-can { transform:translate(-50%,-68%) scale(1.06); }
.ole-card-can img { width:100%; height:auto; }
.ole-card-info { position:absolute; bottom:0; left:0; right:0; padding:2.5rem; background:linear-gradient(to top,rgba(8,8,8,.97) 0%,rgba(8,8,8,.5) 60%,transparent 100%); transform:translateY(8px); transition:transform .6s var(--ease); }
.ole-card:hover .ole-card-info { transform:none; }
.ole-card-tag { font-family:var(--ff-h); font-size:.75rem; font-weight:700; letter-spacing:.25em; text-transform:uppercase; margin-bottom:.4rem; }
.ole-card-title { font-family:var(--ff-d); font-size:clamp(2.25rem,4vw,4rem); line-height:.92; margin-bottom:.75rem; }
.ole-card-desc { font-size:.9375rem; opacity:.5; max-width:32ch; line-height:1.55; }
.ole-card-link { display:inline-flex; align-items:center; gap:.5rem; font-family:var(--ff-h); font-weight:700; font-size:.875rem; letter-spacing:.15em; text-transform:uppercase; margin-top:1.25rem; opacity:0; transform:translateY(8px); transition:opacity .4s,transform .4s; }
.ole-card:hover .ole-card-link { opacity:1; transform:none; }

@media(max-width:1024px) { .ole-cards { grid-template-columns:1fr; } .ole-card { height:70vh; min-height:500px; } }

/* Why section */
.ole-why-grid { display:grid; grid-template-columns:1fr 1fr; gap:clamp(3rem,6vw,6rem); align-items:start; }
.ole-stats-grid { display:grid; grid-template-columns:1fr 1fr; gap:2px; }
.ole-stat { background:rgba(255,255,255,.04); border:1px solid rgba(255,255,255,.07); padding:1.875rem; transition:background .3s; }
.ole-stat:hover { background:rgba(255,255,255,.07); }
.ole-stat-n { font-family:var(--ff-d); font-size:clamp(2.5rem,5vw,4.5rem); color:var(--y); line-height:1; }
.ole-stat-l { font-family:var(--ff-h); font-size:.8125rem; letter-spacing:.15em; text-transform:uppercase; opacity:.4; margin-top:.3rem; }
.ole-feature { display:flex; gap:1rem; padding:1.375rem 0; border-bottom:1px solid rgba(255,255,255,.06); }
.ole-fi { width:44px; height:44px; border-radius:6px; background:rgba(245,197,24,.08); border:1px solid rgba(245,197,24,.15); display:grid; place-items:center; font-size:1.125rem; flex-shrink:0; }
.ole-ft-title { font-family:var(--ff-h); font-weight:700; font-size:1rem; margin-bottom:.25rem; }
.ole-ft-desc { font-size:.9375rem; opacity:.45; line-height:1.55; }

@media(max-width:900px) { .ole-why-grid,.ole-grid-2 { grid-template-columns:1fr; } .ole-stats-grid { grid-template-columns:1fr 1fr; } }

/* ═══════════════════════════════════════════════════
   PRODUCT PAGE HERO
   ═══════════════════════════════════════════════════ */
.ole-prod-hero { position:relative; min-height:100svh; display:flex; align-items:center; overflow:hidden; }
.ole-prod-hero-inner { position:relative; z-index:3; width:100%; max-width:var(--max); margin:0 auto; padding:9rem var(--pad) 6rem; }
.ole-flavor-tag { font-family:var(--ff-h); font-size:.75rem; font-weight:700; letter-spacing:.25em; text-transform:uppercase; padding:.375rem .875rem; border-radius:999px; border:1px solid; display:inline-block; margin-bottom:1.5rem; }
.ole-prod-title { font-size:clamp(4rem,12vw,14rem); line-height:.88; max-width:10ch; }
.ole-prod-sub { font-family:var(--ff-h); font-size:clamp(1.1rem,2.5vw,1.5rem); opacity:.55; margin-top:1.25rem; max-width:46ch; font-weight:400; }
.ole-prod-actions { display:flex; gap:1rem; margin-top:3rem; flex-wrap:wrap; }
.ole-prod-can { position:absolute; z-index:2; top:50%; width:min(420px,38vw); filter:drop-shadow(0 0 80px rgba(0,0,0,.6)) drop-shadow(0 40px 60px rgba(0,0,0,.9)); animation:floatCan 7s ease-in-out infinite; }
.ole-prod-can img { width:100%; height:auto; }

/* ═══════════════════════════════════════════════════
   INGREDIENTS
   ═══════════════════════════════════════════════════ */
.ole-ing-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(260px,1fr)); gap:1.25rem; margin-top:3rem; }
.ole-ing { background:rgba(255,255,255,.03); border:1px solid rgba(255,255,255,.07); border-radius:12px; padding:1.75rem; position:relative; overflow:hidden; transition:all .4s var(--ease); }
.ole-ing::before { content:''; position:absolute; top:0; left:0; right:0; height:2px; background:var(--i-c,var(--y)); transform:scaleX(0); transform-origin:left; transition:transform .4s var(--ease); }
.ole-ing:hover::before { transform:scaleX(1); }
.ole-ing:hover { background:rgba(255,255,255,.055); transform:translateY(-4px); }
.ole-ing-icon { font-size:2.25rem; display:block; margin-bottom:1rem; }
.ole-ing-tag { font-family:var(--ff-h); font-size:.6875rem; letter-spacing:.2em; text-transform:uppercase; opacity:.3; display:block; margin-bottom:.2rem; }
.ole-ing-name { font-family:var(--ff-h); font-weight:700; font-size:1.125rem; text-transform:uppercase; letter-spacing:.05em; }
.ole-ing-amt { font-family:var(--ff-d); font-size:1.875rem; line-height:1; margin:.4rem 0 .75rem; color:var(--i-c,var(--y)); }
.ole-ing p { font-size:.9375rem; opacity:.5; line-height:1.65; }

/* ═══════════════════════════════════════════════════
   NUTRITION TABLE
   ═══════════════════════════════════════════════════ */
.ole-nutr-layout { display:grid; grid-template-columns:420px 1fr; gap:clamp(3rem,6vw,6rem); align-items:start; }
.ole-nutr-panel { background:#fff; color:#111; border-radius:12px; padding:2.25rem; font-family:Arial,sans-serif; }
.ole-nutr-title { font-size:2rem; font-family:'Bebas Neue',Impact,sans-serif; border-bottom:6px solid #111; padding-bottom:.2rem; margin-bottom:.2rem; text-transform:none; letter-spacing:0; line-height:1.1; color:#111; }
.ole-nutr-sub { font-size:.8125rem; border-bottom:3px solid #111; padding-bottom:.4rem; margin-bottom:.4rem; color:#333; }
.ole-nutr-cal { display:flex; justify-content:space-between; align-items:baseline; border-bottom:3px solid #111; padding-bottom:.4rem; margin-bottom:.3rem; }
.ole-nutr-cal span:last-child { font-family:'Bebas Neue',Impact,sans-serif; font-size:2.75rem; line-height:1; }
.ole-nutr-dv { text-align:right; font-size:.75rem; border-bottom:3px solid #111; padding-bottom:.2rem; margin-bottom:.35rem; color:#333; }
.ole-nutr-row { display:grid; grid-template-columns:2fr 1fr 1fr .8fr; gap:.2rem; padding:.3rem 0; border-bottom:1px solid #ddd; font-size:.8125rem; font-family:Arial,sans-serif; }
.ole-nutr-row.bld { font-weight:700; }
.ole-nutr-row.ind { padding-left:1.125rem; }
.ole-nutr-note { font-size:.7rem; margin-top:.6rem; color:#555; line-height:1.5; }
.ole-nutr-adv { margin-top:.5rem; background:#ffe; border:1px solid #ddb; padding:.5rem .75rem; border-radius:4px; font-size:.7rem; color:#333; }
@media(max-width:1024px) { .ole-nutr-layout { grid-template-columns:1fr; } .ole-nutr-panel { max-width:420px; } }

/* ═══════════════════════════════════════════════════
   BENEFIT TABS
   ═══════════════════════════════════════════════════ */
.ole-tabs-nav { display:flex; border-bottom:1px solid rgba(255,255,255,.08); margin-bottom:3rem; overflow-x:auto; scrollbar-width:none; }
.ole-tabs-nav::-webkit-scrollbar { display:none; }
.ole-tab-btn { font-family:var(--ff-h); font-size:.875rem; font-weight:700; letter-spacing:.12em; text-transform:uppercase; padding:1rem 2rem; opacity:.35; border-bottom:2px solid transparent; color:var(--wh); background:none; border-top:none; border-left:none; border-right:none; white-space:nowrap; cursor:pointer; transition:all .2s; }
.ole-tab-btn.on, .ole-tab-btn:hover { opacity:1; }
.ole-tab-btn.on { border-bottom-color:var(--tc,var(--y)); }
.ole-tab-panel { display:none; grid-template-columns:1fr 1fr; gap:clamp(2rem,4vw,4rem); align-items:center; }
.ole-tab-panel.on { display:grid; }
.ole-tab-vis { aspect-ratio:1; border-radius:16px; background:rgba(255,255,255,.03); border:1px solid rgba(255,255,255,.06); display:grid; place-items:center; font-size:5rem; }
.ole-tab-pts { list-style:none; margin-top:1.5rem; display:flex; flex-direction:column; gap:.875rem; }
.ole-tab-pts li { display:flex; align-items:center; gap:.875rem; }
.ole-tab-dot { width:8px; height:8px; border-radius:50%; background:var(--tc,var(--y)); flex-shrink:0; }
.ole-tab-pts li span { font-family:var(--ff-h); font-weight:600; letter-spacing:.05em; }
@media(max-width:768px) { .ole-tab-panel.on { grid-template-columns:1fr; } .ole-tab-vis { display:none; } }

/* ═══════════════════════════════════════════════════
   LEGAL INFO CARDS
   ═══════════════════════════════════════════════════ */
.ole-legal-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(240px,1fr)); gap:2px; }
.ole-legal-card { background:rgba(255,255,255,.025); border:1px solid rgba(255,255,255,.04); padding:2rem; }
.ole-legal-label { font-family:var(--ff-h); font-size:.75rem; font-weight:700; letter-spacing:.2em; text-transform:uppercase; opacity:.35; margin-bottom:.875rem; }
.ole-legal-card p { font-size:.875rem; opacity:.4; line-height:1.65; margin-bottom:.2rem; max-width:none; }

/* ═══════════════════════════════════════════════════
   ABOUT PAGE
   ═══════════════════════════════════════════════════ */
.ole-about-hero { position:relative; min-height:70vh; display:flex; align-items:center; background:var(--bk); overflow:hidden; }
.ole-about-hero-bg { position:absolute; inset:0; background:radial-gradient(ellipse 80% 80% at 60% 50%, rgba(27,122,46,.18) 0%, rgba(245,197,24,.08) 50%, transparent 80%); }
.ole-about-hero-inner { position:relative; z-index:2; padding:10rem var(--pad) 5rem; max-width:var(--max); margin:0 auto; width:100%; }

.ole-timeline { position:relative; max-width:800px; margin:0 auto; }
.ole-timeline::before { content:''; position:absolute; left:50%; top:0; bottom:0; width:1px; background:rgba(255,255,255,.08); transform:translateX(-50%); }
.ole-tl-item { display:grid; grid-template-columns:1fr 1fr; gap:3rem; margin-bottom:4rem; align-items:center; }
.ole-tl-item:nth-child(even) .ole-tl-content { order:-1; text-align:right; }
.ole-tl-item:nth-child(even) .ole-tl-year { text-align:left; }
.ole-tl-year { font-family:var(--ff-d); font-size:clamp(3rem,6vw,6rem); color:rgba(245,197,24,.2); line-height:1; }
.ole-tl-content h4 { margin-bottom:.625rem; }
.ole-tl-content p { opacity:.55; font-size:.9375rem; max-width:36ch; }
@media(max-width:768px) {
  .ole-timeline::before { left:0; }
  .ole-tl-item { grid-template-columns:1fr; }
  .ole-tl-item:nth-child(even) .ole-tl-content { order:unset; text-align:left; }
}

/* Team cards */
.ole-team-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(240px,1fr)); gap:1.5rem; }
.ole-team-card { background:rgba(255,255,255,.03); border:1px solid rgba(255,255,255,.06); border-radius:12px; padding:2rem; text-align:center; transition:all .3s var(--ease); }
.ole-team-card:hover { background:rgba(255,255,255,.06); transform:translateY(-4px); }
.ole-team-avatar { width:80px; height:80px; border-radius:50%; background:rgba(245,197,24,.1); border:2px solid rgba(245,197,24,.2); margin:0 auto 1rem; display:grid; place-items:center; font-size:2rem; }
.ole-team-name { font-family:var(--ff-h); font-weight:700; font-size:1.125rem; text-transform:uppercase; letter-spacing:.06em; }
.ole-team-role { font-size:.875rem; opacity:.4; margin-top:.25rem; }

/* Values */
.ole-values-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(280px,1fr)); gap:1.5rem; }
.ole-value-card { background:rgba(255,255,255,.03); border:1px solid rgba(255,255,255,.06); border-radius:12px; padding:2rem; }
.ole-value-icon { font-size:2.5rem; margin-bottom:1rem; }
.ole-value-title { font-family:var(--ff-h); font-weight:700; font-size:1.25rem; text-transform:uppercase; letter-spacing:.06em; margin-bottom:.5rem; }
.ole-value-card p { font-size:.9375rem; opacity:.5; line-height:1.65; }

/* ═══════════════════════════════════════════════════
   CONTACT PAGE
   ═══════════════════════════════════════════════════ */
.ole-contact-layout { display:grid; grid-template-columns:1fr 1fr; gap:clamp(3rem,6vw,6rem); align-items:start; }
.ole-contact-info-card { display:flex; gap:1.25rem; padding:1.5rem; background:rgba(255,255,255,.03); border:1px solid rgba(255,255,255,.06); border-radius:10px; margin-bottom:1.25rem; align-items:flex-start; transition:all .3s; }
.ole-contact-info-card:hover { background:rgba(255,255,255,.06); }
.ole-contact-icon { width:48px; height:48px; border-radius:8px; background:rgba(245,197,24,.08); border:1px solid rgba(245,197,24,.15); display:grid; place-items:center; font-size:1.25rem; flex-shrink:0; }
.ole-contact-label { font-family:var(--ff-h); font-weight:700; font-size:.8125rem; letter-spacing:.15em; text-transform:uppercase; opacity:.45; margin-bottom:.25rem; }
.ole-contact-val { font-size:1rem; line-height:1.5; }
.ole-contact-val a { transition:color .2s; }
.ole-contact-val a:hover { color:var(--y); }

/* Form */
.ole-form { display:flex; flex-direction:column; gap:1.25rem; }
.ole-field { display:flex; flex-direction:column; gap:.5rem; }
.ole-label { font-family:var(--ff-h); font-size:.8125rem; font-weight:700; letter-spacing:.15em; text-transform:uppercase; opacity:.55; }
.ole-input, .ole-textarea, .ole-select {
  width:100%; padding:.875rem 1.125rem;
  background:rgba(255,255,255,.05); border:1px solid rgba(255,255,255,.1);
  color:var(--wh); font-family:var(--ff-b); font-size:1rem;
  border-radius:8px; transition:all .2s; outline:none;
}
.ole-input:focus, .ole-textarea:focus, .ole-select:focus { border-color:var(--y); background:rgba(255,255,255,.07); }
.ole-textarea { min-height:150px; resize:vertical; }
.ole-select { appearance:none; cursor:pointer; }
.ole-form-submit { font-size:1rem; padding:1.125rem 2.5rem; width:100%; justify-content:center; border:none; }
@media(max-width:900px) { .ole-contact-layout { grid-template-columns:1fr; } }

/* ═══════════════════════════════════════════════════
   EDITABLE CONTENT AREA (Gutenberg output)
   ═══════════════════════════════════════════════════ */
.ole-content { padding:clamp(3rem,6vw,6rem) 0; }
.ole-content .wp-block-heading h2,
.ole-content h2 { color:var(--wh); }
.ole-content p { opacity:.75; }
.ole-content a { color:var(--y); }
.ole-content .wp-block-button__link { border-radius:999px !important; font-family:var(--ff-h) !important; font-weight:700 !important; letter-spacing:.15em !important; text-transform:uppercase !important; }
.entry-content { color:var(--wh); }
.entry-content h1,.entry-content h2,.entry-content h3,.entry-content h4 { color:var(--wh); margin:2rem 0 1rem; }
.entry-content p { opacity:.75; margin-bottom:1.25rem; }
.entry-content ul { list-style:disc; padding-left:1.5rem; opacity:.7; margin-bottom:1.25rem; }
.entry-content ul li { margin-bottom:.5rem; }
.entry-content a { color:var(--y); }
.entry-content img { border-radius:12px; margin:2rem 0; }
.entry-content blockquote { border-left:3px solid var(--y); padding-left:1.5rem; margin:2rem 0; font-family:var(--ff-d); font-size:2.5rem; line-height:.95; }

/* ═══════════════════════════════════════════════════
   REELS
   ═══════════════════════════════════════════════════ */
.ole-reels-row { padding-block:clamp(5rem,10vw,10rem); }
.ole-reels-hdr { display:flex; align-items:flex-end; justify-content:space-between; gap:2rem; flex-wrap:wrap; margin-bottom:3rem; }
.ole-reels-scroll { display:flex; gap:1.25rem; overflow-x:auto; padding-bottom:1rem; padding-inline:var(--pad); scroll-snap-type:x mandatory; scrollbar-width:none; }
.ole-reels-scroll::-webkit-scrollbar { display:none; }
.ole-reel-slide { flex:0 0 300px; scroll-snap-align:start; }
.ole-reel-frame { position:relative; padding-bottom:177.78%; border-radius:18px; overflow:hidden; background:#0a0a0a; border:1px solid rgba(255,255,255,.07); }
.ole-reel-frame iframe { position:absolute; top:0; left:0; width:100%; height:100%; border:none; }
.ole-single-reel .ole-reel-frame { border-radius:18px; overflow:hidden; background:#0a0a0a; }
.ole-reels-block .ole-reels-grid { display:grid; grid-template-columns:repeat(var(--rc,3),1fr); gap:1.25rem; max-width:var(--max); margin:0 auto; padding-inline:var(--pad); }
.ole-reel-item .ole-reel-frame { border-radius:16px; }
@media(max-width:900px) { .ole-reels-block .ole-reels-grid { --rc:2 !important; } }
@media(max-width:540px) { .ole-reels-block .ole-reels-grid { --rc:1 !important; } }

/* ═══════════════════════════════════════════════════
   MISC UTILITIES
   ═══════════════════════════════════════════════════ */
.ole-separator { height:5px; display:flex; }
.ole-separator span { flex:1; }
.ole-separator .s1 { background:var(--g); }
.ole-separator .s2 { background:var(--y); }
.ole-separator .s3 { background:var(--r); }

.ole-badge { font-family:var(--ff-h); font-size:.75rem; font-weight:700; letter-spacing:.2em; text-transform:uppercase; padding:.3rem .875rem; border-radius:999px; border:1px solid rgba(255,255,255,.2); display:inline-block; opacity:.65; }

.ole-quote { font-family:var(--ff-d); font-size:clamp(2.5rem,7vw,8rem); line-height:.9; }

.ole-notice { background:rgba(245,197,24,.06); border:1px solid rgba(245,197,24,.15); border-radius:8px; padding:1.5rem 2rem; }

::-webkit-scrollbar { width:4px; }
::-webkit-scrollbar-track { background:var(--bk); }
::-webkit-scrollbar-thumb { background:rgba(245,197,24,.4); border-radius:2px; }

@media(max-width:768px) {
  .ole-grid-3, .ole-grid-4 { grid-template-columns:1fr 1fr; }
  .ole-tab-panel.on { grid-template-columns:1fr; }
}
@media(max-width:480px) {
  .ole-grid-3, .ole-grid-4 { grid-template-columns:1fr; }
}
