
/* ESMO 2026 research showcase. Scoped to avoid altering existing congress cards. */
.esmo-page{--esmo-ink:#12333e;--esmo-deep:#0d2833;--esmo-teal:#1b7b85;--esmo-gold:#d5a16c;--esmo-border:#dce8e8;color:var(--esmo-ink)}
.esmo-page *{box-sizing:border-box}
.esmo-page .container,.esmo-feature .container{max-width:1200px;margin:auto}
.esmo-hero{background:radial-gradient(ellipse at 80% 10%,#1a5965 0%,transparent 47%),linear-gradient(116deg,#0b2632,#194652);color:#fff;padding:clamp(50px,6vw,90px) 0 70px;overflow:hidden}
.esmo-hero-layout{display:grid;grid-template-columns:minmax(0,.94fr) minmax(0,1.06fr);align-items:center;gap:clamp(24px,4vw,64px)}
.esmo-kicker{font-size:12px;font-weight:800;letter-spacing:.15em;text-transform:uppercase;color:#b9e5df;display:block;margin-bottom:14px}
.esmo-hero h1{font-weight:830;letter-spacing:-.055em;font-size:clamp(40px,5.7vw,75px);line-height:1.04;color:white;margin:0 0 23px}
.esmo-hero h1 em{font-style:normal;color:#c6e7e3}
.esmo-hero .lead{font-size:clamp(16px,1.7vw,20px);color:#e2f0ee;line-height:1.66;max-width:670px}
.esmo-meta{display:flex;flex-wrap:wrap;gap:11px;margin:22px 0}.esmo-meta span{border:1px solid #65929a;color:#ebffff;border-radius:100px;padding:7px 12px;font-size:12px;font-weight:700}
.esmo-hero-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:24px}
.esmo-hero-actions a,.esmo-button{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:12px 17px;background:#d2eae7;color:#143b45!important;text-decoration:none;border-radius:10px;font-size:14px;font-weight:800;line-height:1.4}
.esmo-hero-actions a.secondary{background:transparent;border:1px solid #7db3b8;color:#ecffff!important}
.esmo-hero-media{position:relative;display:grid;grid-template-columns:1fr;gap:14px}.esmo-hero-media figure{margin:0;background:#0b1c26;padding:7px;border:1px solid #52828b;border-radius:15px;box-shadow:0 18px 40px rgba(0,0,0,.22)}
.esmo-hero-media img{display:block;width:100%;max-height:235px;aspect-ratio:1.75;object-fit:contain;border-radius:8px;background:#f9fbfc}
.esmo-hero-media figcaption{font-size:12px;color:#d4edee;padding:7px 6px 3px;font-weight:650}
.esmo-core{padding:clamp(40px,6vw,78px) 0;background:#fff}
.esmo-intro{display:grid;grid-template-columns:1.15fr .85fr;gap:28px;align-items:start;margin:0 0 42px}
.esmo-intro h2{margin:0 0 16px;color:#12343f;font-size:clamp(27px,3vw,38px);line-height:1.19;letter-spacing:-.03em}
.esmo-intro p{font-size:17px;color:#4a646d;line-height:1.72;margin:0}
.esmo-principle{background:#edf6f5;padding:24px;border-left:5px solid #247e86;border-radius:13px;font-size:14px;line-height:1.65}
.esmo-principle strong{color:#16414b;display:block;margin-bottom:8px;font-size:16px}
.esmo-study{border:1px solid var(--esmo-border);border-radius:23px;overflow:hidden;margin:30px 0 40px;background:#fff;box-shadow:0 13px 42px rgba(20,64,75,.07)}
.esmo-study-hd{padding:clamp(22px,4vw,37px);background:linear-gradient(112deg,#f0f8f6,#fbf7f0);border-bottom:1px solid var(--esmo-border)}
.esmo-study-hd .tag{font-size:12px;font-weight:850;letter-spacing:.1em;color:#a76e3c;text-transform:uppercase}
.esmo-study h2{font-size:clamp(26px,3.3vw,39px);line-height:1.17;letter-spacing:-.035em;color:#123b46;margin:13px 0 8px}
.esmo-study h3{font-size:17px;line-height:1.55;font-weight:650;color:#3e6470;margin:0}
.esmo-study-inner{padding:clamp(20px,3.4vw,36px);display:grid;grid-template-columns:minmax(0,1.08fr) minmax(300px,.92fr);gap:30px}
.esmo-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:0 0 22px}
.esmo-metric{background:#f2f8f8;border:1px solid #dbe8e8;padding:16px 13px;border-radius:12px}
.esmo-metric strong{display:block;font-size:clamp(24px,2.7vw,38px);color:#17636f;letter-spacing:-.04em}
.esmo-metric span{font-size:12px;line-height:1.43;color:#47636b;display:block;margin-top:6px}
.esmo-study-inner p{line-height:1.72;font-size:15px;color:#375761}
.esmo-study-inner h4{margin:17px 0 8px;font-size:17px;color:#123a45}
.esmo-study-inner ul{padding-left:22px;line-height:1.64;color:#375761;font-size:14px}
.esmo-study-inner li{margin-bottom:8px}
.esmo-study-inner figure{margin:0;padding:9px;border:1px solid #d5e5e7;background:#f8fbfa;border-radius:14px;align-self:start}
.esmo-study-inner img{width:100%;height:auto;display:block;border-radius:8px;background:white}
.esmo-study-inner figcaption{font-size:12px;color:#526a73;line-height:1.48;margin:10px 2px 8px}
.esmo-image-link{display:block;cursor:zoom-in;position:relative}
.esmo-image-link:focus-visible,.esmo-button:focus-visible,.esmo-feature a:focus-visible{outline:3px solid #c78648;outline-offset:4px}
.esmo-photo-link{display:block;padding:10px 12px;background:#135e6a;border-radius:9px;color:white!important;font-size:13px;text-align:center;text-decoration:none;font-weight:800}
.esmo-study details{border-top:1px solid #e4ecec;padding-top:15px;margin-top:22px;font-size:14px;line-height:1.6;color:#536e75}
.esmo-study summary{cursor:pointer;font-weight:790;color:#144655}
.esmo-authors{margin:9px 0;color:#416471}
.esmo-limits{border:1px solid #e9decd;background:#fbf7f0;padding:22px;border-radius:15px;margin-top:8px;font-size:14px;line-height:1.7;color:#5e523c}
.esmo-limits h3{margin:0 0 8px;color:#5c4431;font-size:20px}
.esmo-back{margin-top:30px;padding:26px 0;border-top:1px solid #dbe7e7;display:flex;gap:14px;align-items:center;flex-wrap:wrap}
.esmo-back a{color:#106371;font-weight:750;text-decoration:none}
.esmo-feature{border:1px solid #cce0df;border-radius:18px;background:linear-gradient(112deg,#edf7f5,#fbf7f0);padding:clamp(20px,3vw,30px);margin:25px 0 32px;box-shadow:0 10px 31px rgba(13,62,69,.07)}
.esmo-feature-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:25px;align-items:center}
.esmo-feature .eyebrow{color:#aa6d3a;font-weight:800}
.esmo-feature h3{font-size:clamp(23px,2.7vw,34px);color:#133b46;line-height:1.17;letter-spacing:-.03em;margin:6px 0 13px}
.esmo-feature p{color:#3b5c65;line-height:1.65;font-size:15px}
.esmo-feature .meta{font-size:13px;color:#527079;font-weight:740;margin-bottom:9px}
.esmo-feature .cta{display:inline-flex;margin-top:14px;background:#176a75;color:white!important;border-radius:10px;text-decoration:none;padding:12px 16px;font-size:14px;font-weight:800}
.esmo-feature-images{display:grid;gap:12px}.esmo-feature-images img{display:block;width:100%;max-height:160px;object-fit:contain;border:1px solid #d4e6e5;border-radius:8px;background:white}
.esmo-footnote{font-size:12px;color:#687d83;line-height:1.7;margin:15px 0 25px}
@media(max-width:920px){.esmo-hero-layout,.esmo-study-inner,.esmo-intro{grid-template-columns:1fr}.esmo-hero-media{grid-template-columns:repeat(2,minmax(0,1fr))}.esmo-feature-grid{grid-template-columns:1fr}}
@media(max-width:650px){.esmo-hero{padding:39px 0 50px}.esmo-hero h1{font-size:40px}.esmo-hero-media{grid-template-columns:1fr}.esmo-hero-media img{max-height:190px}.esmo-study-inner{gap:22px}.esmo-metrics{grid-template-columns:repeat(3,minmax(0,1fr))}.esmo-metric{padding:12px 9px}.esmo-metric strong{font-size:27px}.esmo-metric span{font-size:11px}.esmo-feature-images img{max-height:190px}}

/* ESMO 2026 documentary gallery */
.esmo-gallery{margin:55px 0 18px}
.esmo-gallery-heading{max-width:760px;margin-bottom:24px}
.esmo-gallery-heading .esmo-kicker{color:#99663f}
.esmo-gallery-heading h2{font-size:clamp(28px,3.6vw,43px);line-height:1.12;letter-spacing:-.035em;color:#133b46;margin:0 0 15px}
.esmo-gallery-heading p{color:#48636c;line-height:1.7;font-size:16px;margin:0}
.esmo-gallery-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.esmo-gallery-item{margin:0;overflow:hidden;background:#f6f9f9;border:1px solid #d6e4e5;border-radius:16px}
.esmo-gallery-item a{display:block;background:#e9eeed}
.esmo-gallery-item a:focus-visible{outline:3px solid #c78648;outline-offset:-4px}
.esmo-gallery-item img{display:block;width:100%;height:clamp(240px,31vw,390px);object-fit:contain}
.esmo-gallery-item.is-lead{grid-column:span 2}
.esmo-gallery-item.is-lead img{height:clamp(300px,46vw,580px)}
.esmo-gallery-item figcaption{padding:13px 17px;font-size:14px;font-weight:700;color:#244c56;line-height:1.4}
@media(max-width:650px){.esmo-gallery-grid{grid-template-columns:1fr;gap:14px}.esmo-gallery-item.is-lead{grid-column:auto}.esmo-gallery-item img,.esmo-gallery-item.is-lead img{height:auto;max-height:520px;object-fit:contain}.esmo-gallery{margin-top:36px}}
