/*
 * Expert Column Editorial Layout System — 1.0.45
 * Final expert-column runtime after the generic article and interview layers.
 */
.ib-expert-system {
    --ib-exp-title-size: 76px;
    --ib-exp-title-tablet: 56px;
    --ib-exp-title-mobile: 40px;
    --ib-exp-body-width: 760px;
    --ib-exp-hero-height: 620px;
    --ib-exp-hero-mobile: 480px;
    --ib-exp-serif: var(--ib-font-display, "Bodoni Moda", "Cormorant Garamond", Georgia, serif);
    --ib-exp-body: var(--ib-font-body, "Manrope", Arial, sans-serif);
    --ib-exp-border: var(--ib-border, #d8d8d8);
    --ib-exp-text: var(--ib-text, #090909);
    --ib-exp-muted: var(--ib-muted, #686868);
    color: var(--ib-exp-text);
    background: #fff;
}

.ib-expert-system * { box-sizing: border-box; }
.ib-expert-system .ib-breadcrumbs,
.ib-exp-disclosure { max-width: 1540px; margin-left: auto; margin-right: auto; padding-left: 42px; padding-right: 42px; }

.ib-exp-hero { max-width: 1540px; margin: 0 auto; padding: 18px 42px 0; }
.ib-exp-kicker { display:flex; align-items:center; gap:16px; margin:0 0 24px; font-family:var(--ib-exp-body); font-size:12px; font-weight:700; letter-spacing:.17em; text-transform:uppercase; }
.ib-exp-kicker > span[aria-hidden="true"] { width:44px; height:1px; background:currentColor; opacity:.35; }
.ib-exp-kicker time { color:var(--ib-exp-muted); font-weight:500; }
.ib-exp-kicker--centered { justify-content:center; }
.ib-exp-title { margin:0; max-width:980px; font-family:var(--ib-exp-serif); font-size:clamp(44px,5vw,var(--ib-exp-title-size)); font-weight:400; line-height:.96; letter-spacing:-.035em; text-wrap:balance; }
.ib-exp-title--centered { max-width:1180px; margin-left:auto; margin-right:auto; text-align:center; }
.ib-exp-deck { max-width:680px; margin:24px 0 0; font-family:var(--ib-exp-body); font-size:18px; font-weight:600; line-height:1.55; color:#252525; }
.ib-exp-deck--centered { max-width:780px; margin:20px auto 0; text-align:center; }

.ib-exp-media { margin:0; width:100%; height:100%; position:relative; overflow:hidden; background:#f3f3f3; }
.ib-exp-media picture,
.ib-exp-media img { display:block; width:100%; height:100%; }
.ib-exp-media img { object-fit:cover; }
.ib-exp-media figcaption { position:absolute; left:18px; right:18px; bottom:14px; display:flex; justify-content:space-between; gap:20px; color:#fff; font-family:var(--ib-exp-body); font-size:10px; letter-spacing:.08em; text-transform:uppercase; text-shadow:0 1px 9px rgba(0,0,0,.55); }

/* EXP-01 — split expert hero */
.ib-exp-hero--split { display:grid; min-height:var(--ib-exp-hero-height); grid-template-columns:46% 54%; border-bottom:1px solid var(--ib-exp-border); padding-top:0; }
.ib-exp-hero--split.ib-exp-split--40-60 { grid-template-columns:40% 60%; }
.ib-exp-hero--split.ib-exp-split--44-56 { grid-template-columns:44% 56%; }
.ib-exp-hero--split.ib-exp-split--46-54 { grid-template-columns:46% 54%; }
.ib-exp-hero--split.ib-exp-split--50-50 { grid-template-columns:50% 50%; }
.ib-exp-hero--split.ib-exp-split--54-46 { grid-template-columns:54% 46%; }
.ib-exp-hero--split.ib-exp-split--56-44 { grid-template-columns:56% 44%; }
.ib-exp-hero--split.ib-exp-split--60-40 { grid-template-columns:60% 40%; }
.ib-exp-hero--split.ib-exp-media-side--left .ib-exp-split-media { order:-1; }
.ib-exp-split-copy { display:flex; flex-direction:column; justify-content:center; padding:64px 58px 46px 0; }
.ib-exp-media-side--left .ib-exp-split-copy { padding-left:58px; padding-right:0; }
.ib-exp-split-media { min-height:var(--ib-exp-hero-height); }

/* Expert identity */
.ib-exp-profile { font-family:var(--ib-exp-body); }
.ib-exp-profile--compact { display:grid; grid-template-columns:auto 1fr; align-items:center; gap:16px; margin:34px 0 22px; max-width:520px; }
.ib-exp-profile__avatar { display:block; width:76px; height:76px; border-radius:50%; object-fit:cover; filter:none; }
.ib-exp-profile__copy { min-width:0; }
.ib-exp-profile__label { display:block; margin-bottom:4px; font-size:10px; font-weight:700; letter-spacing:.14em; text-transform:uppercase; color:var(--ib-exp-muted); }
.ib-exp-profile__name { display:block; font-size:15px; line-height:1.3; }
.ib-exp-profile__title,
.ib-exp-profile__company { display:block; font-size:12px; line-height:1.5; color:#4f4f4f; }
.ib-exp-profile__social { display:inline-block; margin-top:12px; color:inherit; font-size:11px; letter-spacing:.05em; text-decoration:none; border-bottom:1px solid currentColor; }
.ib-exp-profile__bio { margin:16px 0 0; font-size:13px; line-height:1.65; color:#333; }

/* Tool row */
.ib-exp-tools { font-family:var(--ib-exp-body); font-size:10px; letter-spacing:.08em; text-transform:uppercase; }
.ib-exp-tools--row { display:flex; flex-wrap:wrap; align-items:center; gap:18px; padding-top:18px; border-top:1px solid var(--ib-exp-border); }
.ib-exp-tools--stack { display:grid; gap:18px; margin-top:24px; padding-top:22px; border-top:1px solid var(--ib-exp-border); }
.ib-exp-tool { display:inline-flex; align-items:center; gap:8px; }
.ib-exp-tool--reading::before { content:"◷"; font-size:18px; line-height:1; }
.ib-exp-tool--views::before { content:"◉"; font-size:13px; line-height:1; }
.ib-exp-share { display:inline-flex; align-items:center; gap:10px; }
.ib-exp-share a,
.ib-exp-share button { border:0; background:transparent; padding:0; color:inherit; font:inherit; text-decoration:none; cursor:pointer; }
.ib-exp-share a:hover,
.ib-exp-share button:hover { opacity:.5; }
.ib-exp-save { display:inline-flex; align-items:center; gap:8px; border:0; background:transparent; color:inherit; padding:0; font:inherit; letter-spacing:inherit; text-transform:inherit; cursor:pointer; }
.ib-exp-save > span:first-child { font-size:19px; line-height:1; }
.ib-exp-save[aria-pressed="true"] > span:first-child { content:"♥"; }

/* EXP-02 — centered authority grid */
.ib-exp-hero--authority { padding-top:16px; }
.ib-exp-authority-copy { max-width:1280px; margin:0 auto 28px; }
.ib-exp-authority-media { max-width:1080px; height:clamp(340px,34vw,var(--ib-exp-hero-height)); margin:0 auto; }
.ib-exp-authority-grid { display:grid; grid-template-columns:minmax(190px,240px) minmax(0,var(--ib-exp-body-width)) minmax(210px,280px); gap:44px; max-width:1120px; margin:28px auto 0; padding:0 42px 64px; align-items:start; }
.ib-exp-authority-profile { position:sticky; top:118px; border-right:1px solid var(--ib-exp-border); padding-right:28px; }
.ib-exp-profile--full .ib-exp-profile__avatar { width:96px; height:96px; margin-bottom:18px; }
.ib-exp-profile--full .ib-exp-profile__name { margin-bottom:6px; font-family:var(--ib-exp-serif); font-size:20px; font-weight:500; line-height:1.15; }
.ib-exp-authority-fact { position:sticky; top:118px; }
.ib-exp-fact { position:relative; margin:0; padding:38px 28px; border:1px solid #bdbdbd; text-align:center; font-family:var(--ib-exp-body); }
.ib-exp-fact__mark { display:block; font-family:var(--ib-exp-serif); font-size:44px; line-height:.7; }
.ib-exp-fact__mark--end { margin-top:16px; }
.ib-exp-fact p { margin:14px 0 0; font-size:16px; line-height:1.55; letter-spacing:.04em; text-transform:uppercase; }
.ib-exp-fact cite { display:block; margin-top:18px; font-size:10px; font-style:normal; letter-spacing:.1em; text-transform:uppercase; color:var(--ib-exp-muted); }

/* EXP-03 — portrait authority */
.ib-exp-hero--portrait { display:grid; grid-template-columns:minmax(320px,46%) minmax(0,54%); min-height:var(--ib-exp-hero-height); align-items:stretch; padding-top:0; border-bottom:1px solid var(--ib-exp-border); }
.ib-exp-hero--portrait.ib-exp-media-side--right { grid-template-columns:minmax(0,54%) minmax(320px,46%); }
.ib-exp-hero--portrait.ib-exp-media-side--right .ib-exp-portrait-media { order:2; }
.ib-exp-portrait-media { min-height:var(--ib-exp-hero-height); }
.ib-exp-portrait-copy { display:flex; flex-direction:column; justify-content:center; padding:58px; }
.ib-exp-hero--portrait.ib-exp-media-side--right .ib-exp-portrait-copy { padding-left:0; }
.ib-exp-hero--portrait.ib-exp-media-side--left .ib-exp-portrait-copy { padding-right:0; }
.ib-exp-portrait-copy .ib-exp-profile--full { margin-top:34px; padding-top:26px; border-top:1px solid var(--ib-exp-border); }

/* Article body */
.ib-exp-body-shell { max-width:1120px; margin:0 auto; padding:36px 42px 64px; }
.ib-exp-content { width:min(100%,var(--ib-exp-body-width)); margin:0 auto; font-family:var(--ib-exp-body); font-size:17px; line-height:1.78; }
.ib-exp-content > *:first-child { margin-top:0; }
.ib-exp-lead { margin:0 0 22px; font-family:var(--ib-exp-serif); font-size:25px; line-height:1.32; }
.ib-exp-intro { margin:0 0 28px; color:#333; }
.ib-exp-story > p,
.ib-exp-story > ul,
.ib-exp-story > ol,
.ib-exp-story > blockquote { margin-top:0; margin-bottom:1.35em; }
.ib-exp-content--dropcap .ib-exp-story > p:first-child::first-letter,
.ib-exp-content--dropcap .ib-exp-intro + .ib-exp-story > p:first-child::first-letter { float:left; margin:.03em .09em 0 0; font-family:var(--ib-exp-serif); font-size:5.3em; line-height:.76; }
.ib-exp-body-shell .ib-exp-fact { float:right; width:min(42%,310px); margin:0 0 28px 34px; }
.ib-exp-tags { max-width:var(--ib-exp-body-width); margin:0 auto 50px; padding:0 42px; display:flex; flex-wrap:wrap; gap:8px; }
.ib-exp-tags a { border:1px solid var(--ib-exp-border); padding:8px 12px; color:inherit; text-decoration:none; font-family:var(--ib-exp-body); font-size:10px; letter-spacing:.08em; text-transform:uppercase; }

/* Native Gutenberg expert blocks */
.wp-block-ib-editorial-expert-fact,
.wp-block-ib-editorial-expert-pullquote { margin:36px 0; }
.ib-exp-block-fact { border:1px solid #bdbdbd; padding:30px; text-align:center; font-family:var(--ib-exp-body); }
.ib-exp-block-fact p { margin:0; font-size:18px; line-height:1.55; text-transform:uppercase; }
.ib-exp-block-fact cite { display:block; margin-top:14px; font-size:10px; font-style:normal; letter-spacing:.1em; text-transform:uppercase; }
.ib-exp-block-pullquote { padding:4px 0 4px 26px; border-left:2px solid currentColor; font-family:var(--ib-exp-serif); }
.ib-exp-block-pullquote p { margin:0; font-size:34px; line-height:1.18; }
.ib-exp-block-pullquote cite { display:block; margin-top:12px; font-family:var(--ib-exp-body); font-size:11px; font-style:normal; letter-spacing:.08em; text-transform:uppercase; }

@media (max-width: 1180px) {
    .ib-exp-title { font-size:clamp(42px,5.3vw,var(--ib-exp-title-tablet)); }
    .ib-exp-authority-grid { grid-template-columns:210px minmax(0,1fr); }
    .ib-exp-authority-fact { position:static; grid-column:2; }
    .ib-exp-authority-profile { top:96px; }
    .ib-exp-split-copy { padding-right:36px; }
    .ib-exp-media-side--left .ib-exp-split-copy { padding-left:36px; }
}

@media (max-width: 900px) {
    .ib-exp-hero,
    .ib-expert-system .ib-breadcrumbs,
    .ib-exp-disclosure { padding-left:24px; padding-right:24px; }
    .ib-exp-hero--split,
    .ib-exp-hero--portrait,
    .ib-exp-hero--portrait.ib-exp-media-side--right { grid-template-columns:1fr; min-height:0; }
    .ib-exp-split-copy,
    .ib-exp-media-side--left .ib-exp-split-copy,
    .ib-exp-portrait-copy,
    .ib-exp-hero--portrait.ib-exp-media-side--right .ib-exp-portrait-copy,
    .ib-exp-hero--portrait.ib-exp-media-side--left .ib-exp-portrait-copy { order:1; padding:44px 0 32px; }
    .ib-exp-split-media,
    .ib-exp-portrait-media,
    .ib-exp-hero--portrait.ib-exp-media-side--right .ib-exp-portrait-media { order:2; min-height:var(--ib-exp-hero-mobile); height:var(--ib-exp-hero-mobile); }
    .ib-exp-authority-grid { grid-template-columns:1fr; gap:28px; padding-left:24px; padding-right:24px; }
    .ib-exp-authority-profile { position:static; border-right:0; border-bottom:1px solid var(--ib-exp-border); padding:0 0 24px; }
    .ib-exp-authority-fact { grid-column:auto; }
    .ib-exp-profile--full { display:grid; grid-template-columns:auto 1fr; gap:18px; align-items:start; }
    .ib-exp-profile--full .ib-exp-profile__avatar { margin:0; }
    .ib-exp-body-shell { padding-left:24px; padding-right:24px; }
    .ib-exp-body-shell .ib-exp-fact { float:none; width:100%; margin:0 0 28px; }
}

@media (max-width: 640px) {
    .ib-exp-title { font-size:var(--ib-exp-title-mobile); line-height:1; }
    .ib-exp-kicker { gap:10px; margin-bottom:16px; font-size:10px; }
    .ib-exp-kicker > span[aria-hidden="true"] { width:22px; }
    .ib-exp-deck { margin-top:18px; font-size:15px; }
    .ib-exp-profile--compact { margin-top:25px; }
    .ib-exp-profile__avatar { width:62px; height:62px; }
    .ib-exp-tools--row { gap:13px; }
    .ib-exp-share { width:100%; order:5; padding-top:10px; }
    .ib-exp-authority-media { height:var(--ib-exp-hero-mobile); }
    .ib-exp-authority-grid { padding-bottom:44px; }
    .ib-exp-profile--full { display:block; }
    .ib-exp-profile--full .ib-exp-profile__avatar { width:82px; height:82px; margin-bottom:14px; }
    .ib-exp-content { font-size:16px; line-height:1.7; }
    .ib-exp-lead { font-size:22px; }
    .ib-exp-media figcaption { position:static; display:grid; gap:4px; padding:8px 0 0; color:#555; text-shadow:none; }
    .ib-exp-media { overflow:visible; }
    .ib-exp-tags { padding-left:24px; padding-right:24px; }
    .ib-exp-block-pullquote p { font-size:28px; }
}
