/* ─── Reset + suppress theme containers ─────────────────────────────────── */
#page, #content, #main, .site-content, .hfeed, .entry-content,
.post-content, .wp-site-blocks, main.site-main, .page-content,
.site-main > article, .site-main > .hentry {
  padding: 0 !important; margin: 0 !important;
  max-width: none !important; width: 100% !important;
}
.entry-header, .entry-footer, .post-navigation, .nav-links,
.page-header, .page-title, .single-navigation,
.woocommerce-breadcrumb, .rank-math-breadcrumb { display: none !important; }

/* ─── Variables ──────────────────────────────────────────────────────────── */
:root {
  --ep-yellow: #ffdd06; --ep-bg: #0a0a0a; --ep-bg2: #111111;
  --ep-border: #1e1e1e; --ep-text: #ffffff; --ep-muted: #777777;
  --chalk-bg: #1a201d;       /* slight green tint — feels like real chalkboard */
  --chalk-bg-deep: #0e1310;  /* deeper variant for vignette */
  --ep-font: 'NeuzeitSLT', -apple-system, Helvetica Neue, sans-serif;
}

/* ─── HERO ───────────────────────────────────────────────────────────────── */
.ep-hero { position:relative; background:#161616; min-height:92vh; overflow:hidden; }
.ep-hero-content { padding:150px 60px 60px; max-width:70%; min-height:92vh; display:flex; flex-direction:column; justify-content:flex-start; position:relative; z-index:3; }
.ep-breadcrumb { position:absolute; top:32px; left:60px; display:flex; align-items:center; gap:8px; font-size:12px; color:var(--ep-muted); z-index:4; }
.ep-breadcrumb a { color:var(--ep-muted); text-decoration:none; }
.ep-breadcrumb a:hover { color:var(--ep-yellow); }
.ep-breadcrumb span { color:#333; }
/* Yellow line + EDIT. Education Team label */
.ep-hero-tag { display:inline-flex; align-items:center; gap:12px; font-size:11px; color:var(--ep-yellow); text-transform:uppercase; letter-spacing:3px; margin-bottom:32px; align-self:flex-start; }
.ep-hero-tag::before { content:''; width:28px; height:1px; background:var(--ep-yellow); }
/* Legacy .ep-hero-cat kept for backwards compat (old markup variants) */
.ep-hero-cat { display:flex; align-items:center; gap:12px; margin-bottom:20px; }
.ep-hero-cat-icon { width:28px; height:28px; border:1.5px solid #444; display:grid; grid-template-columns:1fr 1fr; grid-template-rows:1fr 1fr; }
.ep-hero-cat-icon span { border:0.5px solid #333; }
.ep-hero-cat-label { font-size:13px; color:var(--ep-yellow); font-weight:500; }
.ep-hero-name { font-size:clamp(80px,11vw,160px); font-weight:900; line-height:0.88; letter-spacing:-5px; margin-bottom:28px; font-family:var(--ep-font); color:#fff; }
.ep-hero-name em { color:var(--ep-yellow); font-style:normal; display:block; }
.ep-hero-tagline { font-size:20px; color:#fff; max-width:540px; line-height:1.45; margin-bottom:48px; font-family:var(--ep-font); }
.ep-hero-yellow-bar { width:80px; height:4px; background:var(--ep-yellow); margin-bottom:32px; }
.ep-hero-bar { display:flex; align-items:stretch; border-top:1px solid rgba(255,255,255,0.1); margin-top:8px; }
.ep-hero-bar-item { padding:22px 28px; border-right:1px solid rgba(255,255,255,0.1); flex:1; }
.ep-hero-bar-item:last-child { border-right:none; }
.ep-bar-label { font-size:10px; font-weight:700; letter-spacing:2px; text-transform:uppercase; color:var(--ep-muted); margin-bottom:6px; }
.ep-bar-value { font-size:15px; font-weight:600; color:var(--ep-text); }
.ep-bar-value.yellow { color:var(--ep-yellow); }
/* Photo column — contain + bottom-right (preserves photo file's framing, never crops).
   Soft vignette on all edges blends any photo's chalkboard/charcoal bg into the #161616 hero. */
.ep-photo-col { position:absolute; top:30px; right:0; bottom:0; width:50%; z-index:0; background-repeat:no-repeat; background-position:bottom right; background-size:contain; background-color:transparent; }
.ep-photo-col::before { content:''; position:absolute; inset:0; z-index:1; pointer-events:none; background:linear-gradient(to right, #161616 0%, transparent 8%), radial-gradient(ellipse 80% 90% at 60% 50%, transparent 35%, rgba(22,22,22,0.35) 60%, rgba(22,22,22,0.85) 85%, #161616 100%); }
.ep-hero-links { display:flex; gap:12px; flex-wrap:wrap; padding:20px 28px; border-top:1px solid rgba(255,255,255,0.1); }
.ep-hero-link { display:flex; align-items:center; gap:8px; padding:9px 18px; border:1px solid #2a2a2a; font-size:12px; font-weight:600; color:var(--ep-muted); text-decoration:none; font-family:var(--ep-font); transition:all .2s; letter-spacing:0.3px; }
.ep-hero-link:hover { border-color:var(--ep-yellow); color:var(--ep-yellow); }
.ep-hero-link.primary { background:var(--ep-yellow); color:#000; border-color:var(--ep-yellow); }
.ep-hero-link.primary:hover { background:#e0b010; }
.ep-share { position:relative; display:flex; align-items:center; gap:8px; padding:9px 18px; border:1px solid #2a2a2a; font-size:12px; font-weight:600; color:var(--ep-muted); background:none; cursor:pointer; font-family:var(--ep-font); transition:all .2s; letter-spacing:0.3px; }
.ep-share:hover { border-color:var(--ep-yellow); color:var(--ep-yellow); }
.ep-share-dd { display:none; position:absolute; bottom:calc(100% + 8px); left:0; background:#111; border:1px solid #2a2a2a; min-width:180px; z-index:200; }
.ep-share-dd.open { display:block; }
.ep-share-dd a, .ep-share-dd button { display:flex; align-items:center; gap:10px; width:100%; padding:12px 16px; text-align:left; font-size:12px; font-weight:600; color:var(--ep-muted); text-decoration:none; background:none; border:none; cursor:pointer; font-family:var(--ep-font); transition:color .15s; }
.ep-share-dd a:hover, .ep-share-dd button:hover { color:var(--ep-yellow); background:#1a1a1a; }
.ep-copy-ok { font-size:10px; color:var(--ep-yellow); margin-left:auto; opacity:0; transition:opacity .3s; }
.ep-copy-ok.show { opacity:1; }
.ep-hero-flag { position:absolute; top:90px; right:24px; z-index:10; width:48px; height:48px; border-radius:50%; object-fit:cover; box-shadow:0 4px 12px rgba(0,0,0,0.5); border:2px solid rgba(255,255,255,0.15); }
@media (max-width:768px) { .ep-hero-flag { width:40px; height:40px; top:80px; right:16px; } }
.ep-rating { position:absolute; bottom:32px; right:32px; z-index:10; background:var(--ep-yellow); color:#000; padding:16px 20px; text-align:center; }
.ep-rating .score { font-size:32px; font-weight:900; line-height:1; }
.ep-rating .stars { font-size:14px; letter-spacing:2px; margin:4px 0; }
.ep-rating .label { font-size:10px; font-weight:700; letter-spacing:1px; text-transform:uppercase; }

/* ─── Shared ─────────────────────────────────────────────────────────────── */
.ep-page-label { font-size:10px; font-weight:700; letter-spacing:3px; text-transform:uppercase; color:#FFD400; margin-bottom:32px; padding-bottom:16px; border-bottom:1px solid var(--ep-border); }
.ep-title { font-size:clamp(40px,5vw,80px); font-weight:900; line-height:0.92; letter-spacing:-2px; margin-bottom:40px; font-family:var(--ep-font); color:var(--ep-text); }
.ep-title em { color:var(--ep-yellow); font-style:normal; }

/* ─── Stats ──────────────────────────────────────────────────────────────── */
.ep-stats { display:grid; grid-template-columns:repeat(4,1fr); border-bottom:1px solid var(--ep-border); background:var(--ep-bg); }
.ep-stat { padding:40px; border-right:1px solid var(--ep-border); text-align:center; }
.ep-stat:last-child { border-right:none; }
.ep-stat-n { font-size:clamp(48px,5vw,80px); font-weight:900; color:var(--ep-yellow); line-height:1; margin-bottom:8px; }
.ep-stat-l { font-size:13px; color:var(--ep-muted); }

/* ─── Bio ────────────────────────────────────────────────────────────────── */
.ep-bio { display:grid; grid-template-columns:1fr 2fr; border-bottom:1px solid var(--ep-border); }
.ep-bio-l { padding:72px 48px 72px 60px; border-right:1px solid var(--ep-border); background:var(--ep-bg); }
.ep-bio-h { font-size:clamp(40px,4vw,72px); font-weight:900; line-height:0.92; letter-spacing:-2px; color:var(--ep-text); }
.ep-bio-h em { color:var(--ep-yellow); font-style:normal; display:block; }
.ep-bio-r { padding:72px 60px 72px 48px; background:var(--ep-bg2); }
.ep-bio-text, .ep-bio-text p { font-size:17px; line-height:1.85; color:#fff; }
.ep-bio-text p+p { margin-top:20px; }
.ep-bio-text h2, .ep-bio-text h3, .ep-bio-text h4 { color:var(--ep-yellow); font-weight:800; line-height:1.2; margin:32px 0 14px; }
.ep-bio-text h2 { font-size:24px; }
.ep-bio-text h3 { font-size:20px; }
.ep-bio-text h4 { font-size:17px; letter-spacing:0.5px; text-transform:uppercase; }
.ep-bio-text strong, .ep-bio-text b { color:var(--ep-yellow); font-weight:700; }
.ep-bio-text a { color:var(--ep-yellow); text-decoration:underline; text-underline-offset:3px; }
.ep-bio-text a:hover { text-decoration:none; }

/* ─── Skills ─────────────────────────────────────────────────────────────── */
.ep-skills { padding:72px 60px; background:var(--ep-bg2); border-bottom:1px solid var(--ep-border); }
.ep-skills-grid { display:flex; flex-wrap:wrap; gap:10px; }
.ep-pill { padding:8px 18px; font-size:13px; border:1px solid #2a2a2a; color:#fff; transition:all .2s; }
.ep-pill.primary { background:var(--ep-yellow); color:#000; border-color:var(--ep-yellow); font-weight:600; }

/* ─── Courses ────────────────────────────────────────────────────────────── */
.ep-courses { padding:96px 60px; background:var(--ep-bg); border-bottom:1px solid var(--ep-border); }
.ep-courses-hdr { margin-bottom:60px; }
/* Alt 3 — text listing rows */
.ep-courses-list { display:flex; flex-direction:column; }
.ep-list-row { position:relative; display:grid; grid-template-columns:80px 1fr 200px 180px 60px; gap:32px; align-items:center; padding:28px 8px; border-bottom:1px solid #1a1a1a; transition:all 0.25s ease; cursor:pointer; text-decoration:none; color:inherit; }
.ep-list-row:first-child { border-top:1px solid #1a1a1a; }
.ep-list-row:hover { background:rgba(255,255,255,0.04); padding-left:24px; }
.ep-list-row:hover .ep-list-num { color:#fff; }
.ep-list-row:hover .ep-list-arrow { transform:translateX(8px); color:#fff; }
.ep-list-num { font-family:'JetBrains Mono','SF Mono',Consolas,monospace; font-size:28px; font-weight:700; color:#444; transition:color 0.25s ease; }
.ep-list-content { min-width:0; }
.ep-list-cat { font-size:10px; color:var(--ep-yellow); text-transform:uppercase; letter-spacing:2px; margin-bottom:6px; }
.ep-list-title { font-size:22px; font-weight:800; line-height:1.15; margin-bottom:8px; color:#fff; }
.ep-list-desc { font-size:13px; color:#fff; line-height:1.4; max-width:560px; }
.ep-list-meta-block { display:flex; flex-direction:column; gap:4px; }
.ep-list-meta-label { font-size:10px; color:var(--ep-muted); text-transform:uppercase; letter-spacing:1.5px; }
.ep-list-meta-value { font-size:14px; color:#fff; font-weight:600; font-family:'JetBrains Mono',monospace; }
.ep-list-tags { display:flex; flex-direction:column; gap:6px; }
.ep-list-tag { display:inline-flex; align-items:center; padding:4px 10px; font-size:9px; font-weight:700; text-transform:uppercase; letter-spacing:1px; border-radius:2px; width:fit-content; white-space:nowrap; }
.ep-list-tag.iefp { background:var(--ep-yellow); color:#000; }
.ep-list-tag.novo { background:#fff; color:#000; }
.ep-list-tag.format { background:transparent; color:#aaa; border:1px solid #333; }
.ep-list-arrow { font-size:24px; color:#444; transition:all 0.25s ease; text-align:right; }
.ep-courses-cta { margin-top:48px; }
.ep-courses-cta .ep-cta-btn { background:#000 !important; color:#fff !important; border:2px solid var(--ep-yellow); padding:18px 36px; font-weight:800; letter-spacing:0.5px; transition:all 0.25s ease; }
.ep-courses-cta .ep-cta-btn:hover { background:var(--ep-yellow) !important; color:#000 !important; transform:translateY(-2px); box-shadow:0 8px 24px rgba(245,197,24,0.3); }
.ep-no-courses { font-size:15px; color:var(--ep-muted); }
/* Mobile: stack list-row into a card */
@media (max-width:768px) {
  .ep-list-row { grid-template-columns:60px 1fr; grid-auto-rows:auto; gap:14px; padding:20px 8px; }
  .ep-list-row:hover { padding-left:8px; }
  .ep-list-meta-block, .ep-list-tags, .ep-list-arrow { grid-column:2; }
  .ep-list-tags { flex-direction:row; flex-wrap:wrap; }
  .ep-list-arrow { display:none; }
  .ep-list-num { font-size:22px; }
  .ep-list-title { font-size:18px; }
}

/* ─── Testimonials ───────────────────────────────────────────────────────── */
.ep-testimonials { background:var(--ep-bg2); border-bottom:1px solid var(--ep-border); overflow:hidden; }
.ep-testimonials-hdr { padding:72px 60px 40px; }
.ep-testimonials-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:1px; background:var(--ep-border); border-top:1px solid var(--ep-border); }
.ep-t-card { background:var(--ep-bg2); padding:48px 44px; }
.ep-t-quote { font-size:80px; color:var(--ep-yellow); opacity:0.15; line-height:0; font-family:Georgia,serif; margin-bottom:28px; display:block; }
.ep-t-text { font-size:18px; font-weight:500; line-height:1.65; color:#fff; margin-bottom:32px; }
.ep-t-line { width:32px; height:2px; background:var(--ep-yellow); margin-bottom:20px; }
.ep-t-author-row { display:flex; align-items:center; gap:14px; }
.ep-t-photo { width:56px; height:56px; border-radius:50%; overflow:hidden; flex-shrink:0; background:#2a2a2a; display:flex; align-items:center; justify-content:center; }
.ep-t-photo img { width:100%; height:100%; object-fit:cover; object-position:center 20%; display:block; filter:grayscale(100%); }
.ep-t-name { font-size:15px; font-weight:700; color:var(--ep-text); }
.ep-t-course { font-size:12px; color:var(--ep-yellow); margin-top:4px; font-weight:500; }

/* ─── Education & Awards ─────────────────────────────────────────────────── */
.ep-edu { display:grid; grid-template-columns:1fr 1fr; border-bottom:1px solid var(--ep-border); }
.ep-edu-col { padding:72px 60px; }
.ep-edu-col:not(:last-child) { border-right:1px solid var(--ep-border); }
.ep-edu-col:nth-child(odd) { background:var(--ep-bg); }
.ep-edu-col:nth-child(even) { background:var(--ep-bg2); }
.ep-edu-label { font-size:10px; font-weight:700; letter-spacing:3px; text-transform:uppercase; color:#FFD400; margin-bottom:32px; padding-bottom:16px; border-bottom:1px solid var(--ep-border); }
.ep-edu-item { padding:20px 0; border-bottom:1px solid var(--ep-border); }
.ep-edu-item:last-child { border-bottom:none; }
.ep-edu-org { font-size:15px; font-weight:700; color:var(--ep-text); margin-bottom:4px; }
.ep-edu-prog { font-size:14px; color:#fff; margin-bottom:4px; }
.ep-edu-year { font-size:12px; color:var(--ep-muted); }

/* ─── Community ──────────────────────────────────────────────────────────── */
.ep-community { padding:72px 60px; background:var(--ep-bg); border-bottom:1px solid var(--ep-border); }
.ep-community-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:1px; background:var(--ep-border); }
.ep-c-item { position:relative; background:var(--ep-bg2); padding:36px; display:grid; grid-template-columns:auto 1fr; gap:20px; align-items:start; transition:all 0.25s ease; }
.ep-c-item:hover { background:rgba(245,197,24,0.06); padding-left:48px; }
.ep-c-item:hover .ep-c-num { opacity:1; }
.ep-c-num { font-size:clamp(36px,4vw,64px); font-weight:900; color:var(--ep-yellow); line-height:1; opacity:0.4; transition:opacity 0.25s ease; }
.ep-c-role { font-size:15px; font-weight:700; color:var(--ep-text); margin-bottom:4px; }
.ep-c-org { font-size:13px; color:var(--ep-yellow); margin-bottom:8px; }
.ep-c-org a { color:var(--ep-yellow); text-decoration:none; border-bottom:1px solid transparent; transition:border-color 0.2s ease; }
.ep-c-org a:hover { border-bottom-color:var(--ep-yellow); }
.ep-c-desc { font-size:13px; color:#fff; line-height:1.6; }

/* ─── Share Band ─────────────────────────────────────────────────────────── */
.ep-share-band { background:var(--ep-bg); border-bottom:1px solid var(--ep-border); padding:72px 60px; }
.ep-share-band-header { margin-bottom:48px; }
.ep-share-band-sub { font-size:16px; color:#fff; line-height:1.7; margin-top:20px; max-width:420px; }
.ep-sp-btns { display:flex; flex-wrap:wrap; gap:16px; }
.ep-sp-btn { display:flex; flex-direction:column; align-items:center; justify-content:center; gap:18px; width:250px; height:250px; border:2px solid var(--ep-yellow); font-size:14px; font-weight:700; color:#000; text-decoration:none; background:var(--ep-yellow); cursor:pointer; font-family:var(--ep-font); transition:background .2s, color .2s, border-color .2s, transform .2s; letter-spacing:0.3px; line-height:1; text-align:center; }
.ep-sp-btn:hover { background:#000; color:var(--ep-yellow); border-color:var(--ep-yellow); transform:scale(1.06); }
.ep-sp-copy { position:relative; }
.ep-copy-ok2, .ep-copy-ok3 { font-size:11px; color:var(--ep-yellow); opacity:0; transition:opacity .3s; margin-top:-8px; }
.ep-copy-ok2.show, .ep-copy-ok3.show { opacity:1; }
.ep-sp-text-box { border:1px solid var(--ep-border); padding:24px; background:var(--ep-bg2); }
.ep-sp-text-label { font-size:10px; font-weight:700; letter-spacing:2px; text-transform:uppercase; color:var(--ep-muted); margin-bottom:16px; }
.ep-sp-text-label span { text-transform:none; letter-spacing:0; font-weight:400; color:#444; }
.ep-sp-text { font-size:14px; color:#fff; line-height:1.75; white-space:pre-wrap; margin-bottom:16px; user-select:all; }
.ep-sp-copy-text { display:inline-flex; align-items:center; gap:8px; padding:10px 18px; border:1px solid #2a2a2a; font-size:12px; font-weight:600; color:var(--ep-muted); background:none; cursor:pointer; font-family:var(--ep-font); transition:all .2s; }
.ep-sp-copy-text:hover { border-color:var(--ep-yellow); color:var(--ep-yellow); }

/* ─── CTA ────────────────────────────────────────────────────────────────── */
.ep-cta { background:var(--ep-yellow); padding:48px 60px; display:flex; align-items:center; justify-content:space-between; }
.ep-cta-text { font-size:clamp(28px,3.5vw,56px); font-weight:900; color:#000; line-height:1.05; letter-spacing:-1px; }
.ep-cta-text span { font-weight:300; }
.ep-cta-btn, .ep-cta .ep-cta-btn, .ep-courses-cta .ep-cta-btn { background:#000; color:#fff; font-size:13px; font-weight:700; padding:14px 28px; text-decoration:none; font-family:var(--ep-font); letter-spacing:0.5px; cursor:pointer; transition:transform .2s ease, box-shadow .2s ease, background .2s ease; }
.ep-cta-btn:hover, .ep-cta .ep-cta-btn:hover, .ep-courses-cta .ep-cta-btn:hover { background:#111; color:#fff; transform:translateY(-2px); box-shadow:0 6px 18px rgba(0,0,0,0.35); }

/* Mobile: photo column above content, full-bleed cover */
@media (max-width:768px) {
  .ep-hero-content { max-width:100%; padding:60px 32px; }
  .ep-photo-col { position:relative; width:100%; max-width:100%; height:75vw; max-height:480px; background-size:cover; background-position:center top; }
  .ep-photo-col::before { background:linear-gradient(to right, #161616 0%, transparent 4%), linear-gradient(to bottom, #161616 0%, transparent 12%, transparent 85%, #161616 100%); }
}

/* ─── Responsive (≤960px) ────────────────────────────────────────────────── */
@media (max-width:960px) {
  .ep-hero { grid-template-columns:1fr; min-height:auto; }
  .ep-photo-col { height:100vw; max-height:520px; order:-1; }
  .ep-photo-col::after { background:linear-gradient(to top,#000 0%,transparent 40%); }
  .ep-hero-name { font-size:48px; letter-spacing:-1px; }
  .ep-hero-content { padding:40px 24px; }
  .ep-hero-bar { flex-direction:column; }
  .ep-hero-bar-item { border-right:none; border-bottom:1px solid #222; }
  .ep-bio, .ep-edu { grid-template-columns:1fr; }
  .ep-bio-l { padding:48px 24px; border-right:none; border-bottom:1px solid var(--ep-border); }
  .ep-bio-r { padding:48px 24px; }
  .ep-stats { grid-template-columns:1fr 1fr; }
  .ep-cards { justify-content:center; }
  .ep-card { width:100%; max-width:340px; height:270px; }
  .ep-testimonials-grid, .ep-community-grid { grid-template-columns:1fr; }
  .ep-skills, .ep-courses, .ep-community { padding:48px 24px; }
  .ep-edu-col { padding:48px 24px; }
  .ep-cta { flex-direction:column; gap:20px; padding:40px 24px; }
  .ep-breadcrumb { position:static; margin-bottom:20px; }
  .ep-share-band { padding:48px 24px; }
  .ep-share-band-sub { max-width:none; }
  .ep-sp-btns { gap:10px; }
  .ep-sp-btn { width:calc(50% - 5px); height:160px; font-size:13px; gap:14px; }
  .ep-sp-btn svg { width:36px; height:36px; }
}

/* ─── Tablet portrait override (769px – 960px) ───────────────────────────── */
@media (min-width:769px) and (max-width:960px) {
  .ep-photo-col { height:70vw; max-height:640px; }
  .ep-photo-col img { object-position:center 15%; }
}
