/* Open Scholar Light styles are intentionally scoped to .osl-shell to avoid 9 Theme / plugin collisions. */
.osl-shell{--osl-accent:#173f5f;--osl-border:rgba(18,32,47,.12);--osl-muted:#667085;--osl-article:#22577a;--osl-project:#6b4e2e;--osl-lecture:#6d3f77;--osl-book:#315c45;--osl-opinion:#9a4b27;width:min(1120px,calc(100% - 24px));margin:clamp(18px,3vw,40px) auto;font:inherit;color:inherit}
.osl-shell *{box-sizing:border-box}
.osl-hero{display:grid;grid-template-columns:clamp(78px,11vw,130px) minmax(0,1fr);gap:clamp(14px,2.5vw,28px);align-items:center;padding:clamp(16px,2.5vw,28px);border:1px solid var(--osl-border);border-radius:20px;background:linear-gradient(135deg,color-mix(in srgb,var(--osl-accent) 6%,transparent),transparent 58%)}
.osl-avatar{aspect-ratio:1;border-radius:18px;overflow:hidden;background:#eef1f4;border:1px solid var(--osl-border)}
.osl-avatar img{width:100%;height:100%;object-fit:cover;display:block}
.osl-kicker{display:block;font-size:.72rem;font-weight:800;letter-spacing:.11em;text-transform:uppercase;color:var(--osl-accent);margin-bottom:5px}
.osl-hero h1,.osl-section h2,.osl-compact-card h3,.osl-work-row h3{margin:0;color:inherit;line-height:1.18}
.osl-hero h1{font-size:clamp(1.7rem,3.7vw,3.2rem)}
.osl-hero-copy p{margin:.38rem 0;color:var(--osl-muted)}
.osl-hero-copy .osl-tagline{font-size:1.06rem;font-weight:700;color:inherit}
.osl-intro{max-width:760px}

/* Small, sticky quick links: intentionally low-height so navigation never becomes a second header. */
.osl-tabs{display:flex;gap:5px;overflow-x:auto;overflow-y:hidden;padding:5px 2px;position:sticky;top:4px;z-index:20;width:max-content;max-width:100%;margin:4px 0 0;background:color-mix(in srgb,Canvas 91%,transparent);backdrop-filter:blur(12px);border-radius:12px;scrollbar-width:none}
.admin-bar .osl-tabs{top:36px}
.osl-tabs::-webkit-scrollbar{display:none}
.osl-tabs a,.osl-contact-links a{flex:0 0 auto;text-decoration:none!important;border:1px solid var(--osl-border);border-radius:999px;padding:4px 9px;font-size:.76rem;line-height:1.25;font-weight:750;color:inherit;background:Canvas}
.osl-tabs a:hover,.osl-tabs a:focus-visible,.osl-contact-links a:hover,.osl-contact-links a:focus-visible{border-color:var(--osl-accent);outline:2px solid color-mix(in srgb,var(--osl-accent) 28%,transparent);outline-offset:1px}
.osl-section{padding:clamp(22px,4vw,44px) 0;border-bottom:1px solid var(--osl-border);scroll-margin-top:62px}
.osl-section-heading{margin-bottom:14px;max-width:760px}
.osl-section-heading h2{font-size:clamp(1.35rem,2.5vw,2rem)}
.osl-section-heading p{color:var(--osl-muted);margin:.42rem 0 0;font-size:.95rem}

/* Section identities: similar architecture, deliberately different visual presentation. */
#osl-opinions .osl-kicker{color:var(--osl-opinion)}
#osl-articles .osl-kicker{color:var(--osl-article)}
#osl-projects .osl-kicker{color:var(--osl-project)}
#osl-lectures .osl-kicker{color:var(--osl-lecture)}
#osl-books .osl-kicker{color:var(--osl-book)}

/* Opinions + Lectures may use media, but every item owns a full row.
 * Never place a second media card beside the first: that compresses scholarly copy,
 * especially on tablets and phones. */
.osl-compact-list{display:grid;grid-template-columns:minmax(0,1fr);gap:10px;width:100%}
.osl-compact-card{display:grid;grid-template-columns:clamp(108px,15vw,150px) minmax(0,1fr);width:100%;min-width:0;overflow:hidden;min-height:104px}
.osl-compact-media{display:grid;place-items:center;align-self:stretch;min-width:0;min-height:104px;text-decoration:none!important;font-size:.72rem;font-weight:900;letter-spacing:.08em;overflow:hidden}
.osl-compact-media img{display:block;width:100%;height:100%;min-height:100%;object-fit:cover;object-position:center}
.osl-compact-body{padding:11px 14px;min-width:0;align-self:center}
.osl-compact-body small{display:flex;align-items:center;gap:5px;color:var(--osl-muted);font-size:.7rem;margin-bottom:3px}
.osl-card-symbol{font-size:.72rem;font-weight:900}
.osl-compact-body h3{font-size:.98rem}
.osl-compact-body h3 a{color:inherit;text-decoration:none!important}
.osl-compact-body p{margin:.35rem 0 0;color:var(--osl-muted);font-size:.84rem;line-height:1.4;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}

/* Opinion = editorial note: warmer, softer, slightly offset border. */
.osl-card-opinions{border:1px solid color-mix(in srgb,var(--osl-opinion) 28%,var(--osl-border));border-left:4px solid var(--osl-opinion);border-radius:8px 15px 15px 8px;background:linear-gradient(90deg,color-mix(in srgb,var(--osl-opinion) 5%,Canvas),Canvas 45%)}
.osl-card-opinions .osl-compact-media{background:color-mix(in srgb,var(--osl-opinion) 10%,#f6f3f0);color:var(--osl-opinion)}
.osl-card-opinions .osl-card-symbol,.osl-card-opinions h3 a{color:var(--osl-opinion)}

/* Lecture = programme tile: cooler panel, top metadata bar feel, square media edge. */
.osl-card-lectures{grid-template-columns:clamp(180px,24vw,280px) minmax(0,1fr);min-height:154px;border:1px solid color-mix(in srgb,var(--osl-lecture) 25%,var(--osl-border));border-radius:15px;background:linear-gradient(135deg,color-mix(in srgb,var(--osl-lecture) 7%,Canvas),Canvas 52%);box-shadow:inset 0 3px 0 color-mix(in srgb,var(--osl-lecture) 70%,transparent)}
.osl-card-lectures .osl-compact-media{min-height:154px;background:color-mix(in srgb,var(--osl-lecture) 11%,#f4f0f6);color:var(--osl-lecture)}
.osl-card-lectures .osl-compact-media img{width:100%;height:100%;object-fit:cover;object-position:center}
.osl-card-lectures .osl-compact-body{padding:14px 17px}
.osl-card-lectures .osl-compact-body h3{font-size:clamp(1rem,1.6vw,1.2rem)}
.osl-card-lectures .osl-compact-body p{-webkit-line-clamp:3}
.osl-card-lectures .osl-card-symbol{color:var(--osl-lecture)}

/* Shared list shell kept extremely compact. */
.osl-work-list{border-top:1px solid var(--osl-border)}
.osl-work-row{position:relative;display:grid;min-width:0;align-items:start;border-bottom:1px solid var(--osl-border);transition:background .15s ease,border-color .15s ease}
.osl-work-copy{min-width:0}
.osl-work-copy h3{font-size:1rem;font-weight:760}
.osl-work-copy h3 a{color:inherit;text-decoration:none!important}
.osl-work-copy p{margin:.28rem 0 0;color:var(--osl-muted);font-size:.85rem;line-height:1.42}
.osl-work-inline-meta{display:flex;gap:8px;flex-wrap:wrap;margin-top:4px;color:var(--osl-muted);font-size:.72rem}
.osl-work-inline-meta span+span:before{content:'•';margin-right:8px;opacity:.45}
.osl-work-open{display:grid;place-items:center;width:27px;height:27px;border-radius:50%;text-decoration:none!important;font-weight:900;border:1px solid transparent;align-self:center}
.osl-work-open:hover,.osl-work-open:focus-visible{border-color:currentColor;outline:none}

/* Articles = document index. Icon first; metadata deliberately sits below title. */
.osl-work-articles{grid-template-columns:34px minmax(0,1fr) 28px;gap:10px;padding:12px 2px}
.osl-work-articles:hover{background:color-mix(in srgb,var(--osl-article) 3.5%,transparent)}
.osl-work-articles .osl-work-icon{display:grid;place-items:center;width:30px;height:34px;border:1px solid color-mix(in srgb,var(--osl-article) 32%,var(--osl-border));border-radius:5px;color:var(--osl-article);background:color-mix(in srgb,var(--osl-article) 7%,Canvas);font-size:1rem}
.osl-work-articles .osl-work-inline-meta{margin-top:3px;color:color-mix(in srgb,var(--osl-article) 75%,var(--osl-muted))}
.osl-work-articles .osl-work-open{color:var(--osl-article)}

/* Projects = active-work record. Vertical marker + label gives a project-management feel. */
.osl-work-projects{grid-template-columns:58px minmax(0,1fr) 28px;gap:12px;padding:13px 4px 13px 0;border-left:3px solid color-mix(in srgb,var(--osl-project) 55%,transparent)}
.osl-work-projects:hover{background:color-mix(in srgb,var(--osl-project) 4%,transparent)}
.osl-project-marker{display:grid;place-items:center;gap:2px;padding-top:1px;color:var(--osl-project)}
.osl-project-marker>span{display:grid;place-items:center;width:28px;height:28px;border-radius:50%;background:color-mix(in srgb,var(--osl-project) 10%,Canvas);border:1px solid color-mix(in srgb,var(--osl-project) 28%,var(--osl-border));font-size:.72rem}
.osl-project-marker small{font-size:.68rem;color:var(--osl-muted)}
.osl-project-label{display:inline-block;margin-bottom:3px;padding:2px 6px;border-radius:5px;background:color-mix(in srgb,var(--osl-project) 9%,Canvas);color:var(--osl-project);font-size:.65rem;font-weight:850;text-transform:uppercase;letter-spacing:.06em}
.osl-work-projects .osl-work-open{color:var(--osl-project)}

/* Books = bibliographic/spine treatment, restrained and formal. */
.osl-work-books{grid-template-columns:16px minmax(0,1fr) 28px;gap:12px;padding:14px 3px;background:linear-gradient(90deg,color-mix(in srgb,var(--osl-book) 3%,Canvas),transparent 26%)}
.osl-work-books:hover{background:linear-gradient(90deg,color-mix(in srgb,var(--osl-book) 7%,Canvas),transparent 40%)}
.osl-book-mark{align-self:stretch;display:grid;place-items:center;border-radius:3px;background:var(--osl-book);color:#fff;font-size:.6rem;writing-mode:vertical-rl;line-height:1}
.osl-book-meta{display:flex;align-items:center;gap:8px;margin-bottom:3px;color:var(--osl-book);font-size:.7rem;font-weight:800;text-transform:uppercase;letter-spacing:.05em}
.osl-book-meta span+span{color:var(--osl-muted);font-weight:600}
.osl-work-books .osl-work-open{color:var(--osl-book)}

.osl-about-grid{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(250px,.8fr);gap:16px}
.osl-bio,.osl-facts{border:1px solid var(--osl-border);border-radius:15px;padding:clamp(14px,2vw,22px)}
.osl-bio p:first-child{margin-top:0}.osl-bio p:last-child{margin-bottom:0}
.osl-facts{display:grid;gap:12px;align-content:start}
.osl-facts div{display:grid;gap:3px;padding-bottom:10px;border-bottom:1px solid var(--osl-border)}
.osl-facts div:last-child{border-bottom:0;padding-bottom:0}
.osl-facts small{color:var(--osl-muted)}
.osl-contact{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}.osl-contact-links{display:flex;gap:7px;flex-wrap:wrap}
.osl-empty{border:1px dashed var(--osl-border);border-radius:14px;padding:20px;color:var(--osl-muted);background:color-mix(in srgb,var(--osl-accent) 3%,transparent)}

@media(max-width:782px){.admin-bar .osl-tabs{top:50px}}
@media(max-width:760px){
  .osl-shell{width:min(100% - 14px,1120px);margin:10px auto}
  .osl-hero{grid-template-columns:76px minmax(0,1fr);gap:12px;padding:14px;border-radius:16px}
  .osl-avatar{border-radius:14px}
  .osl-hero h1{font-size:clamp(1.5rem,7vw,2.15rem)}
  .osl-about-grid{grid-template-columns:1fr}
  .osl-tabs{top:3px;padding:4px 1px;gap:4px}
  .osl-tabs a{padding:3px 8px;font-size:.72rem}
  .osl-work-projects{grid-template-columns:48px minmax(0,1fr) 27px;gap:9px}
}
@media(max-width:640px){
  /* On narrow screens media sits above copy. No side column is allowed to squeeze text. */
  .osl-compact-card,.osl-card-lectures{grid-template-columns:minmax(0,1fr);min-height:0}
  .osl-compact-media,.osl-card-lectures .osl-compact-media{width:100%;min-height:0;aspect-ratio:16/9}
  .osl-card-opinions .osl-compact-media{aspect-ratio:2/1}
  .osl-compact-media img,.osl-card-lectures .osl-compact-media img{position:static;width:100%;height:100%;object-fit:cover}
  .osl-compact-body,.osl-card-lectures .osl-compact-body{padding:10px 11px 12px}
}
@media(max-width:480px){
  .osl-hero{grid-template-columns:62px minmax(0,1fr)}
  .osl-hero-copy .osl-position,.osl-hero-copy .osl-institution,.osl-hero-copy .osl-specialization{font-size:.88rem}
  .osl-compact-body p{font-size:.8rem}
  .osl-work-articles{grid-template-columns:30px minmax(0,1fr) 25px;gap:8px}
  .osl-work-articles .osl-work-icon{width:28px;height:31px}
  .osl-work-projects{grid-template-columns:38px minmax(0,1fr) 25px;border-left-width:2px}
  .osl-project-marker small{display:none}
  .osl-work-books{grid-template-columns:10px minmax(0,1fr) 25px;gap:9px}
  .osl-work-open{width:25px;height:25px}
}
