/* E-Scholars organization portfolio — scoped to es-op-* only, compatible with light/dark V4 */
.es-op-head,.es-op-detail-head{padding:clamp(80px,9vw,125px) 0 clamp(65px,7vw,95px);background:radial-gradient(ellipse at 92% 10%,rgba(255,100,29,.09),transparent 42%),var(--v4-bg2,#fff);border-bottom:1px solid var(--v4-hair,#ece9e6)}
.es-op-head .container,.es-op-section .container,.es-op-detail-head .container,.es-op-work .container{max-width:1200px!important}
.es-op-eyebrow{display:block;font:800 11px/1.35 'Nunito',sans-serif;letter-spacing:.14em;color:var(--v4-accent,#ff641d);text-transform:uppercase;margin-bottom:17px}
.es-op-head h1,.es-op-detail-head h1{font-size:clamp(36px,5.2vw,67px)!important;line-height:1.12!important;letter-spacing:-.045em!important;max-width:900px;margin:0 0 19px;color:var(--v4-ink,#182644)!important}
.es-op-head h1 span{color:var(--v4-accent,#ff641d)}
.es-op-head p,.es-op-lead{font-size:clamp(15px,1.6vw,18px)!important;line-height:1.8!important;max-width:750px;color:var(--v4-sub,#5a657b)!important}
.es-op-stats{display:flex;align-items:center;flex-wrap:wrap;gap:20px 40px;margin-top:34px;font-size:13px;color:var(--v4-sub,#5a657b);font-weight:700}
.es-op-stats strong{font-size:22px;margin-right:7px;color:var(--v4-ink,#182644)}
.es-op-section,.es-op-work{padding:clamp(65px,8vw,110px) 0;background:var(--v4-bg,#fcfaf9)}
.es-op-section-title{display:flex;justify-content:space-between;gap:24px;align-items:end;margin-bottom:33px}
.es-op-section-title h2,.es-op-work h2{font-size:clamp(27px,3.3vw,39px)!important;line-height:1.2!important;letter-spacing:-.025em!important;font-weight:760!important;margin:0;color:var(--v4-ink,#182644)!important}
.es-op-section-title p{font-size:14px;max-width:290px;color:var(--v4-sub,#5a657b);margin-bottom:2px}
.es-op-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.es-op-card{display:flex;flex-direction:column;min-width:0;min-height:340px;padding:25px;background:var(--v4-paper,#fff);border:1px solid var(--v4-hair,#eee5e0);border-radius:23px;text-decoration:none!important;color:var(--v4-ink,#182644);box-shadow:var(--v4-card-shadow,0 10px 30px rgba(0,0,0,.04));transition:transform .25s ease,border-color .25s ease,box-shadow .25s ease}
.es-op-card:hover,.es-op-card:focus-visible{transform:translateY(-5px);border-color:rgba(255,99,29,.52);box-shadow:0 23px 50px rgba(13,22,44,.11);outline:none}
.es-op-card-top{display:flex;align-items:start;justify-content:space-between;gap:12px;margin-bottom:28px}
.es-op-logo{width:150px;height:70px;display:flex;align-items:center;justify-content:flex-start}
.es-op-logo img{max-width:150px;max-height:70px;width:auto;height:auto;object-fit:contain}
.es-op-wordmark{display:inline-block;font-weight:900;font-size:23px;line-height:1.15;color:var(--v4-ink,#182644);letter-spacing:-.04em}
.es-op-card-arrow{display:grid;place-items:center;width:34px;height:34px;flex:0 0 34px;border:1px solid var(--v4-hair,#eee5e0);border-radius:50%;color:var(--v4-accent,#ff641d);font-size:20px;transition:background .2s,color .2s}
.es-op-card:hover .es-op-card-arrow{background:var(--v4-accent,#ff641d);color:white}
.es-op-tag{display:block;color:var(--v4-accent,#ff641d);font-weight:800;font-size:11px;letter-spacing:.025em;margin-bottom:11px}
.es-op-card h3{font-size:21px!important;color:var(--v4-ink,#182644)!important;line-height:1.25!important;margin:0 0 12px!important;font-weight:800!important}
.es-op-card p{font-size:14px!important;color:var(--v4-sub,#5a657b)!important;line-height:1.6!important;margin:0 0 23px!important}
.es-op-card-foot{margin-top:auto;padding-top:17px;border-top:1px solid var(--v4-hair,#eee5e0);font-size:12px;color:var(--v4-sub,#5a657b);font-weight:700;display:flex;justify-content:space-between;gap:10px}
.es-op-card-foot span{color:var(--v4-accent,#ff641d)}
.es-op-note{font-size:12px!important;color:var(--v4-sub,#5a657b)!important;max-width:910px;margin-top:28px}
.es-op-back{display:inline-flex;gap:10px;font-weight:800;color:var(--v4-accent,#ff641d);text-decoration:none!important;margin-bottom:36px;font-size:14px}
.es-op-detail-flex{display:grid;grid-template-columns:minmax(0,1fr) minmax(180px,290px);align-items:center;gap:60px}
.es-op-detail-head .es-op-subtitle{font-size:24px!important;line-height:1.4!important;color:var(--v4-ink,#182644)!important;margin:0 0 16px!important;font-weight:700}
.es-op-detail-head .es-op-lead{font-size:16px!important;max-width:740px!important;margin:0 0 20px!important}
.es-op-visit{display:inline-flex;padding:12px 18px;border:1px solid var(--v4-hair,#eee5e0);background:var(--v4-paper,#fff);border-radius:12px;color:var(--v4-accent,#ff641d);font-weight:800;text-decoration:none!important;font-size:13px}
.es-op-visit:hover{border-color:var(--v4-accent,#ff641d)}
.es-op-hero-logo{min-height:210px;background:var(--v4-paper,#fff);border:1px solid var(--v4-hair,#eee5e0);border-radius:25px;display:flex;align-items:center;justify-content:center;padding:30px;box-shadow:var(--v4-card-shadow,0 10px 30px rgba(0,0,0,.04))}
.es-op-hero-logo img{max-width:210px;max-height:140px;object-fit:contain}
.es-op-hero-logo .es-op-wordmark{font-size:33px;text-align:center}
.es-op-intro{margin-top:14px;max-width:730px;font-size:15px!important}
.es-op-work-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;margin-top:38px}
.es-op-work-card{background:var(--v4-paper,#fff);padding:30px;border:1px solid var(--v4-hair,#eee5e0);border-radius:22px;min-height:184px;box-shadow:var(--v4-card-shadow,0 10px 30px rgba(0,0,0,.04))}
.es-op-number{display:block;font-size:12px;font-weight:850;letter-spacing:.07em;color:var(--v4-accent,#ff641d);margin-bottom:15px}
.es-op-work-card h3{font-size:20px!important;line-height:1.25!important;font-weight:800!important;margin:0 0 9px!important;color:var(--v4-ink,#182644)!important}
.es-op-work-card p{font-size:14px!important;line-height:1.75!important;color:var(--v4-sub,#5a657b)!important;margin:0!important}
.es-op-end{display:flex;gap:20px;align-items:center;justify-content:space-between;flex-wrap:wrap;padding:25px 30px;border:1px solid var(--v4-hair,#eee5e0);border-radius:20px;margin-top:38px;background:var(--v4-paper,#fff)}
.es-op-end p{margin:0!important;color:var(--v4-ink,#182644)!important;font-weight:750;font-size:16px!important}
.es-op-end a{color:white!important;background:var(--v4-accent,#ff641d);padding:13px 22px;border-radius:12px;text-decoration:none!important;font-size:13px;font-weight:850}
@media(max-width:930px){.es-op-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.es-op-detail-flex{grid-template-columns:1fr 220px;gap:20px}}
@media(max-width:620px){.es-op-grid,.es-op-work-grid{grid-template-columns:1fr}.es-op-section-title{display:block}.es-op-section-title p{max-width:none;margin-top:14px}.es-op-detail-flex{grid-template-columns:1fr}.es-op-hero-logo{min-height:140px;max-width:290px}.es-op-card{min-height:295px}.es-op-head,.es-op-detail-head{padding:65px 0}.es-op-section,.es-op-work{padding:60px 0}}
@media(prefers-reduced-motion:reduce){.es-op-card{transition:none}.es-op-card:hover{transform:none}}

/* V2: separately clickable organization details and official LMS/site links */
.es-op-card .es-op-title-link{color:inherit!important;text-decoration:none!important}
.es-op-card .es-op-title-link:hover{color:var(--v4-accent,#ff641d)!important}
.es-op-card .es-op-logo{text-decoration:none!important;max-width:calc(100% - 48px)}
.es-op-card .es-op-card-arrow{text-decoration:none!important}
.es-op-card .es-op-card-foot a{color:var(--v4-accent,#ff641d)!important;text-decoration:none!important;white-space:nowrap}
.es-op-card .es-op-site-link{display:inline-flex;justify-content:center;align-items:center;min-height:39px;margin-top:14px;padding:9px 13px;border:1px solid var(--v4-hair,#eee5e0);border-radius:11px;font-size:13px;font-weight:800;color:var(--v4-ink,#182644)!important;text-decoration:none!important;background:var(--v4-bg2,#faf7f6)}
.es-op-card .es-op-site-link:hover,.es-op-card .es-op-site-link:focus-visible{border-color:var(--v4-accent,#ff641d);color:var(--v4-accent,#ff641d)!important}
.es-op-card .es-op-site-muted{margin-top:14px;font-size:11px;color:var(--v4-sub,#5a657b)}
.es-op-logo img,.es-op-hero-logo img{display:block;width:auto;height:auto;max-width:100%;object-fit:contain}
.es-op-card .es-op-logo:focus-visible,.es-op-card a:focus-visible{outline:2px solid var(--v4-accent,#ff641d);outline-offset:4px}


/* Portfolio modern cards v3 — scoped: overview cards only */
.es-op-section .es-op-grid{gap:clamp(16px,2vw,24px);align-items:stretch}
.es-op-card.es-op-card--modern{padding:0;min-height:0;overflow:hidden;border-radius:20px;background:var(--v4-paper,#fff);border:1px solid var(--v4-hair,#eee5e0);box-shadow:0 8px 28px rgba(12,24,48,.045);transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease}
.es-op-card.es-op-card--modern:hover{transform:translateY(-4px);border-color:color-mix(in srgb,var(--v4-accent,#ff641d) 38%,var(--v4-hair,#eee5e0));box-shadow:0 20px 40px rgba(12,24,48,.1)}
.es-op-card--modern .es-op-brand-visual{height:155px;display:flex;align-items:center;justify-content:center;padding:29px 38px;background:var(--v4-bg2,#fcfaf9);border-bottom:1px solid var(--v4-hair,#eee5e0);text-decoration:none!important;overflow:hidden}
.es-op-card--modern .es-op-brand-visual img{display:block;max-width:min(100%,245px);max-height:91px;width:auto;height:auto;object-fit:contain;transition:transform .3s ease}
.es-op-card--modern:hover .es-op-brand-visual img{transform:scale(1.035)}
.es-op-card--modern .es-op-brand-visual .es-op-wordmark{font-size:clamp(18px,2vw,24px);font-weight:800;text-align:center;max-width:100%;overflow-wrap:anywhere;line-height:1.15}
.es-op-card--modern .es-op-card-body{padding:23px 23px 14px;display:flex;flex-direction:column;flex:1}
.es-op-card--modern .es-op-tag{font:800 10px/1.45 'Nunito',sans-serif;letter-spacing:.06em;text-transform:uppercase;color:var(--v4-accent,#ff641d);margin:0 0 11px}
.es-op-card--modern h3{font:800 clamp(18px,1.75vw,21px)/1.25 'Nunito',sans-serif!important;letter-spacing:-.025em!important;color:var(--v4-ink,#182644)!important;margin:0 0 7px!important;overflow-wrap:anywhere}
.es-op-card--modern p.es-op-card-summary{font:500 14px/1.6 'Nunito',sans-serif!important;color:var(--v4-sub,#5a657b)!important;margin:0 0 15px!important;min-height:44px}
.es-op-card--modern .es-op-areas{font:700 11px/1.5 'Nunito',sans-serif;color:var(--v4-sub,#5a657b);margin-top:auto;opacity:.85}
.es-op-card--modern .es-op-actions{display:grid;grid-template-columns:1fr 1fr;gap:9px;padding:0 23px 23px;margin-top:15px}
.es-op-card--modern .es-op-btn{display:flex;align-items:center;justify-content:center;gap:6px;min-height:43px;padding:10px 9px;border-radius:10px;font:800 11.5px/1.25 'Nunito',sans-serif;text-decoration:none!important;text-align:center;white-space:normal;transition:transform .2s ease,background .2s ease,border-color .2s ease}
.es-op-card--modern .es-op-btn--primary{background:var(--v4-accent,#ff641d);color:#fff!important;border:1px solid var(--v4-accent,#ff641d)}
.es-op-card--modern .es-op-btn--primary:hover{background:var(--v4-accent2,#e85012);color:#fff!important;transform:translateY(-1px)}
.es-op-card--modern .es-op-btn--secondary{background:transparent;color:var(--v4-ink,#182644)!important;border:1px solid var(--v4-hair,#eee5e0)}
.es-op-card--modern .es-op-btn--secondary:hover{border-color:var(--v4-accent,#ff641d);color:var(--v4-accent,#ff641d)!important}
.es-op-card--modern .es-op-btn--unavailable{background:var(--v4-bg2,#fcfaf9);color:var(--v4-sub,#5a657b);border:1px dashed var(--v4-hair,#eee5e0);font-weight:600;cursor:default}
.es-op-card--modern .es-op-btn:focus-visible,.es-op-card--modern .es-op-brand-visual:focus-visible{outline:3px solid var(--v4-accent,#ff641d);outline-offset:3px}
@media(max-width:1100px){.es-op-card--modern .es-op-actions{grid-template-columns:1fr}.es-op-card--modern .es-op-card-summary{min-height:0!important}}
@media(max-width:930px){.es-op-card--modern .es-op-actions{grid-template-columns:1fr 1fr}}
@media(max-width:420px){.es-op-card--modern .es-op-actions{grid-template-columns:1fr}.es-op-card--modern .es-op-brand-visual{height:140px}}
@media(prefers-reduced-motion:reduce){.es-op-card--modern,.es-op-card--modern .es-op-brand-visual img,.es-op-card--modern .es-op-btn{transition:none!important}.es-op-card--modern:hover{transform:none!important}}





/* ===== WORK / ORGANIZATION PORTFOLIO FIX ===== */

.work-section,
.organizations-section,
.portfolio-organizations-section,
.es-org-section {
  width: 100%;
  padding: 56px 0 72px;
}

.work-section .container,
.organizations-section .container,
.portfolio-organizations-section .container,
.es-org-section .container {
  width: 100%;
  max-width: 1320px;
  margin: 0 auto;
  padding-left: 28px;
  padding-right: 28px;
  box-sizing: border-box;
}

/* More breathing room on desktop */
@media (min-width: 1200px) {
  .work-section .container,
  .organizations-section .container,
  .portfolio-organizations-section .container,
  .es-org-section .container {
    padding-left: 40px;
    padding-right: 40px;
  }
}

/* Grid */
.org-grid,
.organizations-grid,
.portfolio-grid,
.es-org-grid {
  display: grid !important;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
  gap: 24px;
  align-items: stretch;
}

/* Card */
.org-card,
.organization-card,
.portfolio-card,
.es-org-card {
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  min-height: 100%;
  border-radius: 22px;
  overflow: hidden;
  padding: 0;
  box-sizing: border-box;
}

/* Inner spacing */
.org-card-inner,
.organization-card-inner,
.portfolio-card-inner,
.es-org-card-inner {
  display: flex;
  flex-direction: column;
  height: 100%;
  padding: 22px;
  gap: 14px;
}

/* Logo area - equal for all */
.org-logo-wrap,
.organization-logo-wrap,
.portfolio-logo-wrap,
.es-org-logo-wrap {
  width: 100%;
  height: 110px;
  background: #ffffff;
  border-radius: 16px;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 14px;
  box-sizing: border-box;
  overflow: hidden;
}

/* Logo image */
.org-logo-wrap img,
.organization-logo-wrap img,
.portfolio-logo-wrap img,
.es-org-logo-wrap img,
.org-card img:first-child,
.organization-card img:first-child,
.portfolio-card img:first-child,
.es-org-card img:first-child {
  max-width: 100%;
  max-height: 78px;
  width: auto;
  height: auto;
  object-fit: contain;
  display: block;
  margin: 0 auto;
}

/* Remove ugly small code badges */
.org-badge,
.org-short,
.org-code,
.org-initial,
.org-initials,
.org-tag,
.org-corner-badge,
.organization-badge,
.organization-short,
.portfolio-badge,
.portfolio-short,
.es-org-badge,
.es-org-short {
  display: none !important;
}

/* Text cleanup */
.org-card h3,
.organization-card h3,
.portfolio-card h3,
.es-org-card h3 {
  margin: 0;
  font-size: 1.35rem;
  line-height: 1.25;
}

.org-card p,
.organization-card p,
.portfolio-card p,
.es-org-card p {
  margin: 0;
  line-height: 1.6;
}

/* Buttons area */
.org-actions,
.organization-actions,
.portfolio-actions,
.es-org-actions {
  margin-top: auto;
  display: flex;
  gap: 12px;
  flex-wrap: wrap;
  padding-top: 10px;
}

.org-actions a,
.organization-actions a,
.portfolio-actions a,
.es-org-actions a {
  flex: 1 1 150px;
  text-align: center;
  justify-content: center;
  min-height: 46px;
  display: inline-flex;
  align-items: center;
  border-radius: 12px;
  text-decoration: none;
  box-sizing: border-box;
}

/* Smaller screens */
@media (max-width: 991px) {
  .work-section .container,
  .organizations-section .container,
  .portfolio-organizations-section .container,
  .es-org-section .container {
    padding-left: 20px;
    padding-right: 20px;
  }

  .org-grid,
  .organizations-grid,
  .portfolio-grid,
  .es-org-grid {
    grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
  }
}

@media (max-width: 767px) {
  .work-section,
  .organizations-section,
  .portfolio-organizations-section,
  .es-org-section {
    padding: 42px 0 56px;
  }

  .work-section .container,
  .organizations-section .container,
  .portfolio-organizations-section .container,
  .es-org-section .container {
    padding-left: 16px;
    padding-right: 16px;
  }

  .org-grid,
  .organizations-grid,
  .portfolio-grid,
  .es-org-grid {
    grid-template-columns: 1fr !important;
    gap: 18px;
  }

  .org-logo-wrap,
  .organization-logo-wrap,
  .portfolio-logo-wrap,
  .es-org-logo-wrap {
    height: 96px;
    padding: 12px;
  }

  .org-actions a,
  .organization-actions a,
  .portfolio-actions a,
  .es-org-actions a {
    flex: 1 1 100%;
  }
}
