
:root{
  --bg:#f7f6f2;--paper:#fff;--ink:#171717;--muted:#6f6d68;--line:#d9d7d1;--max:1240px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--bg);color:var(--ink);font-family:Arial,Helvetica,sans-serif;font-size:16px;line-height:1.6;-webkit-font-smoothing:antialiased}
a{color:inherit}
.wrap{width:min(calc(100% - 56px),var(--max));margin:auto}
.site-header{position:sticky;top:0;z-index:30;background:rgba(247,246,242,.95);backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}
.nav{min-height:72px;display:flex;align-items:center;justify-content:space-between;gap:28px}
.brand{font-weight:700;text-decoration:none;font-size:16px}
.navlinks{display:flex;align-items:center;gap:24px}
.navlinks a{text-decoration:none;color:var(--muted);font-size:13px}
.navlinks a:hover,.navlinks a[aria-current="page"]{color:var(--ink)}
.lang{border-left:1px solid var(--line);padding-left:22px}
.hero{padding:74px 0 76px;border-bottom:1px solid var(--line)}
.hero.compact{padding:56px 0}
.hero-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:72px;align-items:center}
.eyebrow{margin:0 0 18px;color:var(--muted);font-size:11px;font-weight:700;letter-spacing:.13em;text-transform:uppercase}
h1,h2,h3{margin-top:0}
h1{font-family:Georgia,"Times New Roman",serif;font-weight:400;font-size:clamp(48px,6vw,82px);line-height:.98;letter-spacing:-.04em;margin-bottom:24px;max-width:900px}
.hero.compact h1{font-size:clamp(42px,5vw,66px);margin-bottom:18px}
h2{font-family:Georgia,"Times New Roman",serif;font-weight:400;font-size:clamp(32px,4vw,48px);line-height:1.05;letter-spacing:-.03em;margin-bottom:30px}
h3{font-size:18px;line-height:1.25;margin-bottom:8px}
.lead{font-family:Georgia,"Times New Roman",serif;font-size:20px;line-height:1.5;max-width:800px;margin:0}
.sublead{max-width:760px;color:var(--muted);margin-top:18px}
.portrait{aspect-ratio:4/5;background:#deddd9;position:relative;overflow:hidden}
.portrait::after{content:"PORTRÉTNÍ FOTOGRAFIE";position:absolute;left:16px;bottom:14px;font-size:9px;letter-spacing:.12em;color:#666}
.section{padding:72px 0;border-bottom:1px solid var(--line)}
.section:last-of-type{border-bottom:0}
.two{display:grid;grid-template-columns:.7fr 1.3fr;gap:72px;align-items:start}
.four{display:grid;grid-template-columns:repeat(4,1fr);gap:28px}
.breadcrumb{font-size:12px;color:var(--muted);margin-bottom:20px}
.prose{max-width:850px}.prose p{color:#313131}
.experience{border-top:1px solid var(--line)}
.exp{display:grid;grid-template-columns:150px 260px 1fr;gap:30px;padding:27px 0;border-bottom:1px solid var(--line);align-items:start}
.period{color:var(--muted);font-size:12px;line-height:1.4;text-transform:uppercase;letter-spacing:.06em}
.exp h3,.role-org h3{font-family:Georgia,"Times New Roman",serif;font-size:23px;font-weight:400}
.exp p{margin:3px 0 0;color:#444;max-width:720px}
.exp a{font-size:12px;color:var(--muted)}
.role{display:grid;grid-template-columns:150px 260px 1fr;gap:30px;padding:27px 0;border-bottom:1px solid var(--line);align-items:start}
.role-detail p{margin:.35rem 0 .7rem;color:#444;max-width:760px}
.topic{border-top:1px solid var(--ink);padding-top:14px}
.topic h3{font-size:16px}.topic p{margin:0;color:var(--muted);font-size:14px}
.reels-head{display:flex;align-items:end;justify-content:space-between;gap:50px;margin-bottom:28px}
.reels-head h2{margin-bottom:0}.reels-head .lead{font-size:17px;max-width:480px;color:#333}
.reels{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.reel-visual{aspect-ratio:9/16;background:#e3e1dc;position:relative;overflow:hidden}
.reel-visual::after{content:"VIDEO / COVER";position:absolute;left:12px;bottom:10px;color:#777;font-size:9px;letter-spacing:.1em}
.reel-label{display:none}
.reel h3{font-size:15px;margin:10px 0 2px}.reel p{font-size:12px;color:var(--muted);margin:0}
.source-list{list-style:none;padding:0;margin:0;border-top:1px solid var(--line)}
.source-list li{padding:15px 0;border-bottom:1px solid var(--line)}.source-list a{font-weight:600}
.kicker-link{font-size:12px;color:var(--muted)}
.button{display:inline-block;margin-top:22px;padding:9px 13px;border:1px solid var(--ink);text-decoration:none;font-size:12px;font-weight:600}
.button.secondary{border-color:var(--line);background:transparent}
.pub-list{border-top:1px solid var(--line)}
.pub-item{display:grid;grid-template-columns:130px 1fr 170px;gap:30px;padding:24px 0;border-bottom:1px solid var(--line);align-items:start}
.pub-item h3{font-size:17px}.pub-item p{margin:0 0 7px;color:#505050;max-width:800px}.pub-item a{font-size:12px}
.badge{justify-self:end;color:var(--muted);font-size:10px;text-transform:uppercase;letter-spacing:.08em;border:1px solid var(--line);padding:6px 8px}
.callout{font-size:13px;color:var(--muted);margin-bottom:32px}
.edu{border-top:1px solid var(--line)}.edu-item{display:grid;grid-template-columns:150px 1fr;gap:30px;padding:25px 0;border-bottom:1px solid var(--line)}
.edu-item p{margin:.4rem 0;color:#505050}
.article-list{border-top:1px solid var(--line)}
.article-card{display:grid;grid-template-columns:180px 1fr;gap:30px;padding:24px 0;border-bottom:1px solid var(--line)}
.article-card h3{font-size:18px;margin:0}.article-card p{margin:4px 0 0;color:var(--muted)}
.meta{font-size:11px;color:var(--muted);text-transform:uppercase;letter-spacing:.08em}
.site-footer{padding:42px 0 70px;border-top:1px solid var(--line);color:var(--muted)}
.footergrid{display:flex;justify-content:space-between;gap:30px;flex-wrap:wrap;font-size:12px}.footergrid a{text-decoration:none}

@media(max-width:900px){
  .hero-grid,.two,.four{grid-template-columns:1fr}
  .exp,.role{grid-template-columns:110px 1fr}.exp>div:last-child,.role-detail{grid-column:2}
  .pub-item{grid-template-columns:100px 1fr}.badge{grid-column:2;justify-self:start}
  .reels{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:12px}.reel{flex:0 0 68vw;scroll-snap-align:start}
  .navlinks a:not(.langlink){display:none}.lang{border:0;padding:0}
}
@media(max-width:560px){
  .wrap{width:min(calc(100% - 34px),var(--max))}.hero{padding:54px 0}.section{padding:54px 0}h1{font-size:50px}
  .exp,.role{grid-template-columns:1fr;gap:8px}.exp>div:last-child,.role-detail{grid-column:auto}
  .pub-item{grid-template-columns:1fr;gap:8px}.badge{grid-column:auto;justify-self:start}
  .edu-item,.article-card{grid-template-columns:1fr;gap:8px}
  .reels-head{display:block}.reels-head .lead{margin-top:14px}.reel{flex-basis:80vw}
}


/* Real portrait */
.portrait-photo{display:block;width:100%;height:100%;object-fit:cover;object-position:center}
.portrait.has-photo{background:none}
.portrait.has-photo::after{display:none}
.about-photo{display:block;width:100%;height:auto}

/* Facebook Reels */
.reels.fb-reels{grid-template-columns:repeat(4,minmax(0,1fr));align-items:start}
.fb-reel-card{min-width:0}
.fb-reel-embed{background:#fff;border:1px solid var(--line);overflow:hidden}
.fb-reel-embed iframe{display:block;width:100%;height:620px;border:0;background:#fff}
.reel-url{margin:10px 0 0;font-size:11px;line-height:1.4;color:var(--muted);overflow-wrap:anywhere}
.reel-url a{text-decoration:none}
.reel-url a:hover{text-decoration:underline}
.reel-source-note{margin:0 0 24px;color:var(--muted);font-size:13px;max-width:800px}
@media(max-width:1100px){.reels.fb-reels{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){
  .reels.fb-reels{display:grid;grid-template-columns:1fr;overflow:visible}
  .fb-reel-embed iframe{height:650px}
}


/* Homepage: compact identity at left, complete CV at right */
.home-intro{padding:58px 0 68px;border-bottom:1px solid var(--line)}
.home-grid{display:grid;grid-template-columns:minmax(0,.74fr) minmax(520px,1.26fr);gap:82px;align-items:start}
.identity{position:sticky;top:108px;align-self:start}
.identity-top{display:flex;align-items:center;gap:13px;margin-bottom:24px}
.avatar{width:54px;height:54px;border-radius:50%;overflow:hidden;flex:0 0 auto;border:1px solid var(--line);background:#ddd}
.avatar img{width:100%;height:100%;object-fit:cover;object-position:center;display:block}
.identity-name{font-size:14px;font-weight:700;line-height:1.15}
.identity-kicker{color:var(--muted);font-size:12px;line-height:1.25;margin-top:3px}
.home-intro h1{font-family:Georgia,"Times New Roman",serif;font-size:19px;line-height:1.5;font-weight:700;letter-spacing:0;margin:0 0 18px;max-width:560px}
.identity .lead,.identity .sublead{font-family:Georgia,"Times New Roman",serif;font-size:19px;line-height:1.5;font-weight:400;max-width:560px}
.identity .lead{margin:0}
.identity .sublead{margin-top:18px}
.identity-links{display:flex;gap:16px;flex-wrap:wrap;margin-top:27px;font-size:12px}
.identity-links a{text-decoration:none;border-bottom:1px solid var(--ink)}
.cv-title{padding:0 0 13px;font-size:11px;color:var(--muted);text-transform:uppercase;letter-spacing:.12em}
.cv-panel{border-top:1px solid var(--ink)}
.cv-entry{display:grid;grid-template-columns:108px 1fr;gap:20px;padding:20px 0 22px;border-bottom:1px solid var(--line)}
.cv-period{color:var(--muted);font-size:10.5px;line-height:1.45;text-transform:uppercase;letter-spacing:.05em}
.cv-entry h2{font-family:Georgia,"Times New Roman",serif;font-size:20px;line-height:1.12;font-weight:400;letter-spacing:-.022em;margin:0 0 4px}
.cv-entry .role-title{font-size:12.5px;font-weight:700;line-height:1.35;margin-bottom:5px}
.cv-entry p{margin:0;color:#4b4b4b;font-size:12.5px;line-height:1.5}
.cv-more{margin-top:7px;font-size:10.5px}.cv-more a{color:var(--muted);text-decoration:none}.cv-more a:hover{text-decoration:underline}
.home-reels{padding-top:66px}

/* Evidence is attached to the relevant entry, never a standalone page block */
.entry-sources{margin-top:9px;font-size:10.5px;color:var(--muted)}
.entry-sources summary{cursor:pointer;list-style:none;display:inline-block;border-bottom:1px dotted var(--muted)}
.entry-sources summary::-webkit-details-marker{display:none}
.entry-sources ul{margin:7px 0 0;padding-left:16px}.entry-sources li{margin:3px 0}.entry-sources a{color:var(--muted)}

@media(max-width:980px){.home-grid{grid-template-columns:1fr;gap:48px}.identity{position:static}}
@media(max-width:560px){.home-intro{padding:40px 0 48px}.home-intro h1{font-size:19px;line-height:1.5}.cv-entry{grid-template-columns:88px 1fr;gap:15px}.avatar{width:48px;height:48px}}


/* Compact homepage CV bullets */
.cv-bullets{
  margin:8px 0 0;
  padding:0;
  list-style:none;
}
.cv-bullets li{
  position:relative;
  padding-left:13px;
  margin:4px 0;
  font-size:12.5px;
  line-height:1.42;
  color:#454545;
}
.cv-bullets li::before{
  content:"•";
  position:absolute;
  left:0;
  color:#777;
}
.cv-entry .role-title{font-size:13px;font-weight:700}
.cv-more{margin-top:8px}

/* Full CV / About */
.full-cv{border-top:1px solid var(--ink)}
.full-cv .cv-entry{padding:18px 0 20px}
.personal-grid{
  display:grid;
  grid-template-columns:220px 1fr;
  gap:34px;
  border-top:1px solid var(--line);
}
.personal-row{display:contents}
.personal-label,.personal-value{padding:14px 0;border-bottom:1px solid var(--line)}
.personal-label{font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:var(--muted)}
.personal-value{font-size:14px}

/* Career index */
.career-index{border-top:1px solid var(--ink)}
.career-index-entry{
  display:grid;
  grid-template-columns:150px 280px 1fr;
  gap:30px;
  padding:30px 0;
  border-bottom:1px solid var(--line);
  align-items:start;
}
.career-index-entry h2{
  font-family:Georgia,"Times New Roman",serif;
  font-size:25px;
  line-height:1.08;
  font-weight:400;
  letter-spacing:-.025em;
  margin:0 0 5px;
}
.career-index-entry .job-title{
  font-size:12px;
  color:var(--muted);
  line-height:1.4;
}
.career-summary{
  font-weight:600;
  font-size:14px;
  line-height:1.58;
  margin:0 0 12px;
  color:#282828;
}
.detail-link{
  display:inline-block;
  font-size:11px;
  text-decoration:none;
  border-bottom:1px solid var(--ink);
  padding-bottom:1px;
}

/* Detail pages */
.detail-layout{
  display:grid;
  grid-template-columns:230px 1fr;
  gap:70px;
  align-items:start;
}
.detail-aside{
  position:sticky;
  top:105px;
}
.detail-aside .meta-block{
  padding:13px 0;
  border-top:1px solid var(--line);
}
.detail-aside .meta-label{
  font-size:10px;
  color:var(--muted);
  text-transform:uppercase;
  letter-spacing:.08em;
}
.detail-aside .meta-value{
  margin-top:4px;
  font-size:13px;
  line-height:1.45;
}
.detail-body{
  max-width:820px;
}
.detail-body h2{
  font-size:30px;
  margin:42px 0 15px;
}
.detail-body h2:first-child{margin-top:0}
.detail-body p{
  color:#303030;
  line-height:1.72;
}
.detail-body ul{
  padding-left:20px;
}
.detail-body li{
  margin:8px 0;
  color:#303030;
}
.output-list{
  border-top:1px solid var(--line);
  margin-top:18px;
}
.output-item{
  padding:14px 0;
  border-bottom:1px solid var(--line);
}
.output-item strong{
  display:block;
  font-size:14px;
  margin-bottom:3px;
}
.output-item span{
  display:block;
  color:var(--muted);
  font-size:12px;
}
.output-item a{
  font-size:12px;
}
.entry-sources{
  margin-top:28px;
  font-size:12px;
  color:var(--muted);
}
.entry-sources summary{
  cursor:pointer;
  display:inline-block;
  border-bottom:1px dotted var(--muted);
}

/* Publication archive */
.publication-group{
  margin:0 0 58px;
}
.publication-group h2{
  font-size:31px;
  margin-bottom:20px;
}
.publication-row{
  display:grid;
  grid-template-columns:120px 1fr 170px;
  gap:24px;
  padding:18px 0;
  border-top:1px solid var(--line);
  align-items:start;
}
.publication-row:last-child{border-bottom:1px solid var(--line)}
.publication-row .pub-date{
  color:var(--muted);
  font-size:11px;
  text-transform:uppercase;
  letter-spacing:.06em;
}
.publication-row h3{
  font-size:15px;
  margin:0 0 5px;
}
.publication-row p{
  font-size:12.5px;
  line-height:1.5;
  color:#555;
  margin:0;
}
.publication-row .pub-link{
  text-align:right;
  font-size:11px;
}

/* Reels: allow long Facebook text to be scrolled instead of clipped */
.fb-reel-embed{
  overflow:visible !important;
  max-height:none !important;
}
.fb-reel-embed iframe{
  height:540px !important;
}
.reel-url{font-size:10px}
.reel-source-note{display:none}
.home-reels .reels-head .lead{display:none}

/* Analysis placeholder: no descriptive archive below reels */
.analysis-placeholder{
  min-height:70px;
}

@media(max-width:980px){
  .career-index-entry{grid-template-columns:110px 1fr}
  .career-index-entry>div:last-child{grid-column:2}
  .detail-layout{grid-template-columns:1fr}
  .detail-aside{position:static;display:grid;grid-template-columns:repeat(2,1fr);gap:0 24px}
  .publication-row{grid-template-columns:90px 1fr}
  .publication-row .pub-link{grid-column:2;text-align:left}
}
@media(max-width:600px){
  .career-index-entry{grid-template-columns:1fr;gap:9px}
  .career-index-entry>div:last-child{grid-column:auto}
  .personal-grid{grid-template-columns:1fr}
  .personal-label{border-bottom:0;padding-bottom:0}
  .personal-value{padding-top:3px}
  .detail-aside{grid-template-columns:1fr}
  .publication-row{grid-template-columns:1fr;gap:7px}
  .publication-row .pub-link{grid-column:auto}
}


/* Career index refinement: bullets first, then normal explanatory text */
.career-bullets{
  list-style:none;
  padding:0;
  margin:0 0 13px;
}
.career-bullets li{
  position:relative;
  padding-left:14px;
  margin:4px 0;
  font-size:12.5px;
  line-height:1.45;
  color:#3f3f3f;
}
.career-bullets li::before{
  content:"•";
  position:absolute;
  left:0;
  color:#777;
}
.career-summary{
  font-weight:400 !important;
  font-size:13.5px !important;
  line-height:1.62 !important;
  color:#4b4b4b !important;
  margin:0 0 12px !important;
}


/* Social profile rows */
.social-profiles{
  margin:22px 0 34px;
  border-top:1px solid var(--line);
}
.social-profile{
  display:grid;
  grid-template-columns:32px 120px 1fr;
  gap:12px;
  align-items:center;
  padding:11px 0;
  border-bottom:1px solid var(--line);
  font-size:12px;
}
.social-profile img{
  width:24px;height:24px;display:block
}
.social-profile strong{font-size:13px}
.social-profile a{
  color:var(--muted);
  text-decoration:none;
  overflow-wrap:anywhere
}
.social-profile a:hover{text-decoration:underline}

/* Cross-platform video cards */
.video-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:18px;
  align-items:start;
}
.video-card{
  min-width:0;
  margin-bottom:18px;
}
.video-embed{
  background:#fff;
  border:1px solid var(--line);
  overflow:hidden;
  aspect-ratio:9/16;
}
.video-embed iframe{
  display:block;
  width:100%;
  height:100%;
  min-height:500px;
  border:0;
  background:#fff;
}
.video-caption{
  margin:9px 0 2px;
  font-size:12px;
  line-height:1.4;
  font-weight:600;
}
.video-platform{
  color:var(--muted);
  font-size:10px;
  text-transform:uppercase;
  letter-spacing:.06em;
}
.video-url{
  margin:4px 0 0;
  font-size:9px;
  line-height:1.35;
  color:var(--muted);
  overflow-wrap:anywhere;
}
.video-url a{color:inherit;text-decoration:none}
.video-url a:hover{text-decoration:underline}
.platform-section{
  margin:0 0 58px;
}
.platform-section h2{
  font-size:30px;
  margin-bottom:18px;
}
.platform-section .platform-heading{
  display:flex;
  align-items:center;
  gap:10px;
  margin-bottom:18px;
}
.platform-section .platform-heading img{
  width:25px;height:25px
}
.platform-section .platform-heading h2{
  margin:0;
}
@media(max-width:1050px){
  .video-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:650px){
  .social-profile{grid-template-columns:28px 90px 1fr}
  .video-grid{grid-template-columns:1fr}
  .video-embed iframe{min-height:640px}
}

/* Czech publication descriptions */
.publication-row p{
  font-size:12.5px;
  line-height:1.55;
}
.publication-row h3{
  line-height:1.25;
}


/* Social media – analysis: one section per platform */
.social-analysis-title{margin-bottom:34px}
.social-analysis-platform{margin:0 0 68px}
.compact-platform-heading{
  display:grid !important;
  grid-template-columns:28px auto auto 1fr;
  gap:10px 12px;
  align-items:center;
  padding:11px 0 13px;
  margin:0 0 20px !important;
  border-top:1px solid var(--ink);
  border-bottom:1px solid var(--line);
}
.compact-platform-heading img{width:22px !important;height:22px !important}
.platform-identity{display:flex;align-items:baseline;gap:9px;white-space:nowrap}
.platform-identity strong{font-size:13px}
.platform-identity a{font-size:11px;color:var(--muted);text-decoration:none}
.platform-followers{font-size:11px;color:var(--ink);white-space:nowrap}
.platform-url{
  justify-self:end;
  font-size:10px;
  color:var(--muted);
  text-decoration:none;
  overflow-wrap:anywhere;
  text-align:right
}
.platform-url:hover,.platform-identity a:hover{text-decoration:underline}

.video-info{
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:10px;
  margin-top:10px
}
.video-title{
  font-family:Georgia,"Times New Roman",serif;
  font-size:16px;
  line-height:1.25;
  font-weight:400
}
.video-views{
  flex:0 0 auto;
  padding-top:3px;
  font-size:10px;
  color:var(--muted);
  white-space:nowrap
}
.video-description-box{
  margin-top:8px;
  padding:10px 11px;
  border:1px solid var(--line);
  background:rgba(255,255,255,.45);
  font-size:11.5px;
  line-height:1.48;
  color:#4b4b4b
}
.video-platform,.video-caption{display:none !important}
.video-embed .tiktok-embed{
  margin:0 auto !important;
  min-height:500px;
  height:100%
}

@media(max-width:780px){
  .compact-platform-heading{grid-template-columns:26px 1fr auto}
  .platform-url{grid-column:2 / -1;justify-self:start;text-align:left}
}
@media(max-width:520px){
  .compact-platform-heading{grid-template-columns:25px 1fr}
  .platform-followers,.platform-url{grid-column:2}
}


/* Instagram is thumbnail-only: direct Instagram iframes are blocked on some browsers. */
.instagram-thumbnail-link{
  position:relative;
  display:flex;
  width:100%;
  height:100%;
  min-height:500px;
  text-decoration:none;
  overflow:hidden;
  background:#111;
  color:#fff;
}
.instagram-thumbnail{
  width:100%;
  height:100%;
  min-height:500px;
  object-fit:cover;
  display:block;
}
.thumbnail-open{
  position:absolute;
  left:12px;
  bottom:12px;
  z-index:2;
  padding:6px 8px;
  background:rgba(0,0,0,.72);
  color:#fff;
  font-size:10px;
  line-height:1;
}
.instagram-text-card{
  align-items:flex-end;
  padding:18px;
  background:linear-gradient(150deg,#151515,#3a3a3a);
}
.instagram-text-card-title{
  padding-bottom:34px;
  font-family:Georgia,"Times New Roman",serif;
  font-size:24px;
  line-height:1.08;
  color:#fff;
}
.video-full-caption{
  margin-top:8px;
  color:var(--muted);
  font-size:10.5px;
  line-height:1.5;
}
.video-full-caption summary{
  display:inline-block;
  cursor:pointer;
  border-bottom:1px dotted var(--muted);
}
.video-full-caption div{
  margin-top:8px;
  padding:10px 11px;
  border-left:1px solid var(--line);
  color:#555;
}


/* Small institution logo under each CV date */
.cv-period .cv-institution-logo,
.cv-institution-logo{
  display:block;
  width:28px;
  height:28px;
  object-fit:contain;
  margin-top:9px;
  border-radius:4px;
}


/* Full institutional marks in the CV date column */
.cv-period{
  overflow:visible;
}
.cv-period .cv-institution-logo{
  display:block;
  object-fit:contain;
  object-position:left center;
  margin-top:13px;
  border-radius:0;
}

.cv-institution-logo--wide{
  width:100%;
  max-width:108px;
  height:auto;
  max-height:76px;
}

.cv-institution-logo--emblem{
  width:76px;
  height:76px;
  max-width:76px;
  max-height:76px;
}

.cv-institution-logo--favicon{
  width:46px;
  height:46px;
  max-width:46px;
  max-height:46px;
  border-radius:7px !important;
}

.cv-logo-ep{
  width:108px;
  max-width:108px;
  max-height:70px;
}

.cv-logo-ec{
  width:106px;
  max-width:106px;
  max-height:70px;
}

.cv-logo-esrb{
  width:78px;
  height:78px;
  max-width:78px;
  max-height:78px;
}

@media(max-width:600px){
  .cv-institution-logo--wide,
  .cv-logo-ep,
  .cv-logo-ec{
    width:90px;
    max-width:90px;
  }
  .cv-institution-logo--emblem,
  .cv-logo-esrb{
    width:62px;
    height:62px;
  }
}


/* 2026-08-24: make the *visible* institutional marks substantially larger.
   Some official logo files have internal whitespace, so width alone was not enough. */

.cv-period{
  min-height:92px;
}

/* Give every mark a larger visual footprint beneath the date. */
.cv-period .cv-institution-logo{
  margin-top:14px;
  transform-origin:left center;
}

/* EP and EC source files contain considerable internal whitespace.
   Scale the rendered artwork inside the date column. */
.cv-logo-ep{
  width:128px !important;
  max-width:none !important;
  max-height:none !important;
  transform:scale(1.75);
  margin-top:20px !important;
  margin-bottom:28px;
}

.cv-logo-ec{
  width:128px !important;
  max-width:none !important;
  max-height:none !important;
  transform:scale(1.65);
  margin-top:19px !important;
  margin-bottom:24px;
}

/* ESRB emblem should read as a proper institutional mark, not a favicon. */
.cv-logo-esrb{
  width:92px !important;
  height:92px !important;
  max-width:92px !important;
  max-height:92px !important;
}

/* ECB / BCG / ADL / universities: substantially larger than before. */
.cv-institution-logo--favicon{
  width:72px !important;
  height:72px !important;
  max-width:72px !important;
  max-height:72px !important;
  border-radius:8px !important;
}

/* Date column needs enough room for the larger marks. */
.home-grid .cv-entry,
.full-cv .cv-entry{
  grid-template-columns:118px 1fr;
}

/* On the homepage the right-hand CV uses a fixed first column; let logos overflow cleanly. */
.cv-panel{
  overflow:visible;
}

@media(max-width:900px){
  .home-grid .cv-entry,
  .full-cv .cv-entry{
    grid-template-columns:108px 1fr;
  }
  .cv-logo-ep{
    width:112px !important;
    transform:scale(1.55);
    margin-bottom:22px;
  }
  .cv-logo-ec{
    width:112px !important;
    transform:scale(1.48);
    margin-bottom:20px;
  }
  .cv-logo-esrb{
    width:80px !important;
    height:80px !important;
  }
  .cv-institution-logo--favicon{
    width:64px !important;
    height:64px !important;
  }
}

@media(max-width:560px){
  .home-grid .cv-entry,
  .full-cv .cv-entry{
    grid-template-columns:92px 1fr;
  }
  .cv-logo-ep{
    width:96px !important;
    transform:scale(1.35);
    margin-bottom:18px;
  }
  .cv-logo-ec{
    width:96px !important;
    transform:scale(1.3);
    margin-bottom:17px;
  }
  .cv-logo-esrb{
    width:70px !important;
    height:70px !important;
  }
  .cv-institution-logo--favicon{
    width:58px !important;
    height:58px !important;
  }
}


/* FINAL CV LOGO SIZING — supplied institution artwork, 2026-08-24
   These rules intentionally override the earlier favicon/transform experiments. */
.cv-period{
  min-height:108px !important;
  overflow:visible !important;
}
.cv-period .cv-institution-logo{
  display:block !important;
  transform:none !important;
  transform-origin:left top !important;
  object-fit:contain !important;
  object-position:left center !important;
  margin:12px 0 0 0 !important;
  border-radius:0 !important;
  width:auto !important;
  height:auto !important;
  max-width:112px !important;
  max-height:82px !important;
}

/* Wide marks */
.cv-period .cv-logo-ec{max-width:114px !important;max-height:78px !important}
.cv-period .cv-logo-gml{max-width:108px !important;max-height:62px !important}

/* Square / emblem marks */
.cv-period .cv-logo-ecb{width:82px !important;height:82px !important;max-width:82px !important;max-height:82px !important}
.cv-period .cv-logo-bcg{width:86px !important;height:86px !important;max-width:86px !important;max-height:86px !important}
.cv-period .cv-logo-lse{width:80px !important;height:80px !important;max-width:80px !important;max-height:80px !important}
.cv-period .cv-logo-warwick{max-width:76px !important;max-height:82px !important}
.cv-period .cv-logo-hsg{max-width:84px !important;max-height:82px !important}
.cv-period .cv-logo-adl{max-width:76px !important;max-height:82px !important}
.cv-period .cv-logo-permrep{width:72px !important;height:72px !important;max-width:72px !important;max-height:72px !important}

/* Keep the previously selected EP/ESRB assets visually comparable. */
.cv-period .cv-logo-ep{
  transform:none !important;
  width:auto !important;
  max-width:112px !important;
  max-height:78px !important;
  margin:12px 0 0 0 !important;
}
.cv-period .cv-logo-esrb{
  transform:none !important;
  width:82px !important;
  height:82px !important;
  max-width:82px !important;
  max-height:82px !important;
  margin:12px 0 0 0 !important;
}

.home-grid .cv-entry,
.full-cv .cv-entry{
  grid-template-columns:122px 1fr !important;
}

@media(max-width:700px){
  .home-grid .cv-entry,
  .full-cv .cv-entry{
    grid-template-columns:100px 1fr !important;
  }
  .cv-period .cv-institution-logo{
    max-width:90px !important;
    max-height:70px !important;
  }
  .cv-period .cv-logo-ecb,
  .cv-period .cv-logo-bcg,
  .cv-period .cv-logo-lse,
  .cv-period .cv-logo-esrb{
    width:68px !important;
    height:68px !important;
  }
}


/* FINAL EP / ESRB LOGOS — exact user-selected source artwork */
.cv-period .cv-logo-ep{
  display:block !important;
  width:112px !important;
  height:auto !important;
  max-width:112px !important;
  max-height:82px !important;
  object-fit:contain !important;
  object-position:left center !important;
  transform:none !important;
  margin:12px 0 0 0 !important;
  border-radius:0 !important;
}

.cv-period .cv-logo-esrb{
  display:block !important;
  width:82px !important;
  height:82px !important;
  max-width:82px !important;
  max-height:82px !important;
  object-fit:contain !important;
  object-position:left center !important;
  transform:none !important;
  margin:12px 0 0 0 !important;
  border-radius:0 !important;
}

@media(max-width:700px){
  .cv-period .cv-logo-ep{
    width:92px !important;
    max-width:92px !important;
    max-height:70px !important;
  }
  .cv-period .cv-logo-esrb{
    width:68px !important;
    height:68px !important;
    max-width:68px !important;
    max-height:68px !important;
  }
}



/* FINAL HOMEPAGE INTRO TYPOGRAPHY — cache-busted v7 */
body .home-intro .identity > h1,
body .home-intro .identity > p.lead,
body .home-intro .identity > p.sublead {
  font-family: Georgia, "Times New Roman", serif !important;
  font-size: 19px !important;
  line-height: 1.5 !important;
  letter-spacing: 0 !important;
  max-width: 560px !important;
}
body .home-intro .identity > h1 {
  font-weight: 700 !important;
  margin: 0 0 18px !important;
}
body .home-intro .identity > p.lead,
body .home-intro .identity > p.sublead {
  font-weight: 400 !important;
}


/* Homepage intro typography: one font and one size for all intro text */
.identity .intro-text,
.identity h1.intro-text {
  font-family: Georgia, "Times New Roman", serif !important;
  font-size: 19px !important;
  line-height: 1.5 !important;
  font-weight: 400 !important;
  letter-spacing: 0 !important;
  max-width: 560px !important;
}

.identity h1.intro-title {
  font-weight: 700 !important;
  margin: 0 0 18px !important;
}

.identity p.intro-text {
  margin: 18px 0 0 !important;
}

.identity p.intro-text:first-of-type {
  margin-top: 0 !important;
}

@media (max-width: 560px) {
  .identity .intro-text,
  .identity h1.intro-text {
    font-size: 19px !important;
    line-height: 1.5 !important;
    max-width: none !important;
  }
}


/* Individual analysis/article pages */
.analysis-detail{max-width:820px}.analysis-media{margin:0 0 32px;max-width:620px}.analysis-media iframe{width:100%;min-height:620px;border:0;border-radius:12px}.analysis-thumbnail-link{display:block;text-decoration:none}.analysis-thumbnail-link img{display:block;width:100%;height:auto;border-radius:12px;border:1px solid var(--line)}.analysis-thumbnail-link span{display:inline-block;margin-top:8px;font-size:13px;font-weight:700}.analysis-block{padding:30px 0;border-top:1px solid var(--line)}.analysis-block:first-of-type{border-top:0}.analysis-block h2{font-size:20px;margin:0 0 14px}.analysis-block p{font-family:Georgia,"Times New Roman",serif;font-size:18px;line-height:1.65;margin:0 0 16px}.analysis-copy p:last-child{margin-bottom:0}.analysis-views{font-family:Arial,Helvetica,sans-serif!important;font-size:13px!important;color:var(--muted)}.analysis-sources{margin:0;padding-left:20px}.analysis-sources li{margin:10px 0;line-height:1.5}.analysis-social{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-top:20px;font-size:14px}.analysis-byline{padding:22px 0 0;border-top:1px solid var(--line);font-size:13px;color:var(--muted)}.video-title a{text-decoration:none}.video-title a:hover{text-decoration:underline}.analysis-detail-link{margin:10px 0 0;font-size:13px;font-weight:700}.analysis-detail-link a{text-decoration:none}@media(max-width:700px){.analysis-media iframe{min-height:520px}.analysis-block p{font-size:17px}}

/* v12 — Quantitative Analysis */
@media (min-width:701px) and (max-width:1180px){.navlinks{gap:14px}.navlinks a{font-size:12px}}
.quant-hero .lead{max-width:900px}.quant-intro-secondary{max-width:900px;font-family:Georgia,"Times New Roman",serif;font-size:18px;line-height:1.65;color:var(--muted);margin:18px 0 0}
.quant-stat-strip{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;margin-top:38px;border:1px solid var(--line);background:var(--line)}
.quant-stat-strip>div{background:var(--bg);padding:22px 20px}.quant-stat-strip strong{display:block;font-family:Georgia,"Times New Roman",serif;font-size:27px;font-weight:700;margin-bottom:5px}.quant-stat-strip span{display:block;color:var(--muted);font-size:12px;line-height:1.45}
.quant-wrap{max-width:1080px}.quant-project{display:grid;grid-template-columns:72px minmax(0,1fr);gap:32px;padding:48px 0;border-top:1px solid var(--line)}.quant-project:first-child{border-top:0;padding-top:4px}
.quant-number{font-family:Georgia,"Times New Roman",serif;font-size:17px;color:var(--muted);padding-top:6px}.quant-project-head{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:28px;margin-bottom:20px}
.quant-project h2{font-family:Georgia,"Times New Roman",serif;font-size:29px;line-height:1.15;margin:0 0 7px}.quant-metric{color:var(--muted);font-size:12px;letter-spacing:.02em}
.tech-chips{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end;max-width:380px}.tech-chip{display:inline-flex;align-items:center;gap:7px;border:1px solid var(--line);background:#fff;padding:5px 9px 5px 5px;border-radius:9px;font-size:12px;font-weight:700;white-space:nowrap}.tech-chip img{display:block;border-radius:6px}
.method-tag{border:1px solid var(--line);padding:8px 10px;border-radius:8px;color:var(--muted);font-size:12px;max-width:290px}
.quant-copy p{font-family:Georgia,"Times New Roman",serif;font-size:18px;line-height:1.68;margin:0 0 16px;max-width:850px}
.programmed-box{margin-top:22px;border-left:3px solid var(--ink);padding:2px 0 2px 16px;max-width:850px}.programmed-box strong{display:block;font-size:11px;text-transform:uppercase;letter-spacing:.12em;margin-bottom:6px}.programmed-box span{font-family:Georgia,"Times New Roman",serif;font-size:16px;line-height:1.55}
.quant-links{display:flex;flex-wrap:wrap;gap:16px;margin-top:18px}.quant-links a{font-size:12px;font-weight:700;text-decoration:none}.quant-links a:hover{text-decoration:underline}
.toolkit-section{border-top:1px solid var(--line);background:#faf9f6}.toolkit-title{font-family:Georgia,"Times New Roman",serif;font-size:31px;margin:0 0 8px}.toolkit-lead{color:var(--muted);margin:0 0 26px}
.toolkit-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px}.toolkit-item{display:flex;align-items:center;gap:10px;padding:12px;border:1px solid var(--line);background:#fff;min-height:60px}.toolkit-item img{display:block;border-radius:8px}.toolkit-item span{font-size:13px;font-weight:700}
@media(max-width:900px){.quant-stat-strip{grid-template-columns:repeat(2,minmax(0,1fr))}.quant-project-head{grid-template-columns:1fr}.tech-chips{justify-content:flex-start;max-width:none}.toolkit-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:700px){.quant-project{grid-template-columns:1fr;gap:8px;padding:34px 0}.quant-number{font-size:12px}.quant-project h2{font-size:25px}.quant-copy p{font-size:17px}.quant-stat-strip{grid-template-columns:1fr 1fr}.toolkit-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
