/* Only the Special Session draft; shared GREEN typography/partner page untouched. */
body.vgreen-legacy-page .vg-session-shell { padding-block:32px 48px; }
body.vgreen-legacy-page .legacy-article.vg-session p { text-align:left; margin:0 0 16px; }
body.vgreen-legacy-page .vg-session h2 { margin:0 0 18px; padding:0; border:0; color:#1d683e; font-size:30px; line-height:1.18; }
body.vgreen-legacy-page .vg-session h3 { margin:0 0 9px; color:#1d683e; font-size:24px; line-height:1.2; }
.vg-session-intro { display:grid; grid-template-columns:minmax(0,1fr) 260px; gap:44px; align-items:center; }
body.vgreen-legacy-page .vg-session .vg-session-heading { font-size:34px; line-height:1.18; color:#173e2d; max-width:820px; }
body.vgreen-legacy-page .vg-session .vg-session-eyebrow { font:500 11px/1.4 Arial,sans-serif !important; letter-spacing:.13em; text-transform:uppercase; color:#347c52; margin-bottom:14px; }
.vg-session-partner { padding-left:24px; border-left:1px solid #d3e2d4; }
body.vgreen-legacy-page .vg-session .vg-session-partner h3 { font-size:19px; margin-bottom:7px; }
body.vgreen-legacy-page .vg-session .vg-session-partner p { font-size:16px !important; line-height:1.35 !important; margin:0 0 8px; }
body.vgreen-legacy-page .vg-session .vg-session-partner a { font-size:16px; }
body.vgreen-legacy-page .vg-session .vg-session-partner .vgreen-ieee-logo { float:none; display:block; width:135px; max-width:100% !important; margin:0 0 12px; }
.vg-session-facts { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); margin:26px 0 0; border-block:1px solid #d3e2d4; }
.vg-session-facts > div { padding:15px 20px; font-size:18px; line-height:1.35; color:#215e3b; border-right:1px solid #d3e2d4; }
.vg-session-facts > div:first-child { padding-left:0; }
.vg-session-facts > div:last-child { border-right:0; }
.vg-session .vg-session-photo { height:clamp(230px,20vw,290px); margin-block:28px; }
.vg-session .vg-session-photo::before { display:none; }
body.vgreen-legacy-page .legacy-article .vg-session-photo .vg-ieee-visual-image { inset:clamp(-190px,-13vw,-90px) auto auto 0; width:100% !important; mask-image:none; }
.vg-session-tab-nav { display:flex; gap:8px; flex-wrap:wrap; border-bottom:1px solid #bed4c3; margin:0 0 26px; }
body.vgreen-legacy-page .vg-session-tab-nav a { display:inline-flex; align-items:center; min-height:48px; padding:12px 20px; border:1px solid transparent; border-bottom:0; color:#37674b; font:600 20px/1.2 'Cormorant Garamond',Georgia,serif; text-decoration:none; position:relative; }
.vg-session-tab-nav a:hover { background:#edf4ea; }
body.vgreen-legacy-page .vg-session-tab-nav a[aria-selected="true"] { color:#fff; background:#1b6039; border-color:#1b6039; border-radius:7px 7px 0 0; }
.vg-session-tab-nav a:focus-visible,.vg-session details summary:focus-visible { outline:3px solid #2b9960; outline-offset:3px; }
.vg-session-panel { scroll-margin-top:160px; padding:0; }
.vg-session-panel[hidden] { display:none !important; }
.vg-session-panel-label { display:none; }
.vg-session-columns { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:38px; align-items:start; }
.vg-session-columns > * { min-width:0; }
.vg-session-tint { padding:24px; border-left:3px solid #4c9b68; background:#edf4ea; border-radius:0 8px 8px 0; }
.vg-session-tint > :last-child { margin-bottom:0 !important; }
.vg-session-topics { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px 24px; margin:24px 0 0; align-items:start; }
.vg-session-topic { border:1px solid #d4e2d5; background:#fff; border-radius:8px; overflow:hidden; }
.vg-session-topic summary { display:flex; align-items:center; gap:14px; list-style:none; padding:16px 18px; color:#206442; font-size:23px; font-weight:600; line-height:1.15; cursor:pointer; min-height:74px; }
.vg-session-topic summary::-webkit-details-marker,.vg-session-disclosure summary::-webkit-details-marker { display:none; }
.vg-session-topic summary::after,.vg-session-disclosure summary::after { content:'+'; font:400 24px/1 Georgia,serif; margin-left:auto; flex-shrink:0; color:#41885b; }
.vg-session-topic[open] summary::after,.vg-session-disclosure[open] summary::after { content:'−'; }
.vg-session-topic[open] summary { background:#edf4ea; }
.vg-session-topic > div { padding:16px 20px 2px; }
.vg-session-number { display:inline-block; flex-shrink:0; color:#4d8960; font:500 12px/1 Arial,sans-serif; letter-spacing:.08em; }
.vg-session-timeline { list-style:none; padding:0; margin:20px 0 0; }
body.vgreen-legacy-page .vg-session .vg-session-timeline > li { display:grid; grid-template-columns:30px minmax(0,1fr); gap:12px; padding:15px 0; margin:0; border-bottom:1px solid #d4e2d5; }
.vg-session-timeline > li > .vg-session-number { margin-top:7px; }
.vg-session-timeline p:last-child { margin-bottom:0 !important; }
.vg-session-disclosure { border-block:1px solid #d4e2d5; margin:24px 0 0; }
.vg-session-disclosure + .vg-session-disclosure { border-top:0; margin-top:0; }
.vg-session-disclosure summary { display:flex; align-items:center; gap:14px; list-style:none; padding:18px 0; font-size:24px; font-weight:600; color:#206442; cursor:pointer; line-height:1.2; }
.vg-session-disclosure > div { max-width:900px; padding:0 0 10px; }
.vg-session-signoff { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; margin-top:28px; padding-top:20px; border-top:1px solid #d4e2d5; }
body.vgreen-legacy-page .vg-session .vg-session-signoff p { font-size:17px; line-height:1.4; margin:0; }
@media(max-width:820px) {
 .vg-session-intro { grid-template-columns:minmax(0,1fr) 200px; gap:24px; }
 .vg-session-columns { grid-template-columns:minmax(0,1fr); gap:24px; }
 .vg-session-tint { padding:20px; }
 .vg-session .vg-session-photo { height:220px; }
 body.vgreen-legacy-page .legacy-article .vg-session-photo .vg-ieee-visual-image { inset:0 auto auto 0; }
 .vg-session-facts { grid-template-columns:1fr; margin-top:20px; }
 .vg-session-facts > div { padding:10px 0; border:0; border-bottom:1px solid #d3e2d4; }
 .vg-session-facts > div:last-child { border:0; }
 .vg-session-tab-nav { gap:6px; }
 body.vgreen-legacy-page .vg-session-tab-nav a { font-size:19px; padding:10px 14px; min-height:44px; }
}
@media(max-width:580px) {
 body.vgreen-legacy-page .vg-session-shell { padding-block:26px 36px; }
 .vg-session-intro { grid-template-columns:minmax(0,1fr); gap:20px; }
 body.vgreen-legacy-page .vg-session .vg-session-heading { font-size:29px; }
 .vg-session-partner { display:grid; grid-template-columns:90px minmax(0,1fr); gap:3px 14px; border:0; border-top:1px solid #d3e2d4; padding:16px 0 0; }
 body.vgreen-legacy-page .vg-session .vg-session-partner .vgreen-ieee-logo { width:90px; grid-row:1/4; margin:0; align-self:center; }
 body.vgreen-legacy-page .vg-session .vg-session-partner h3 { font-size:18px; margin:0; }
 body.vgreen-legacy-page .vg-session .vg-session-partner p { font-size:15px !important; margin:0; }
 .vg-session .vg-session-photo { height:200px; margin-block:24px; }
 .vg-session-topics { grid-template-columns:minmax(0,1fr); gap:10px; }
 .vg-session-topic summary { font-size:22px; min-height:64px; padding:14px; }
 .vg-session-tab-nav { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); border:0; gap:6px; margin-bottom:24px; }
 body.vgreen-legacy-page .vg-session-tab-nav a { border:1px solid #c7dacb; border-radius:5px; justify-content:center; text-align:center; }
 body.vgreen-legacy-page .vg-session-tab-nav a[aria-selected="true"] { border-radius:5px; }
 .vg-session-tab-nav a:last-child { grid-column:1/-1; }
 body.vgreen-legacy-page .vg-session h2 { font-size:27px; }
 .vg-session-signoff { grid-template-columns:1fr; gap:16px; }
}
@media print {
 .vg-session-panel[hidden] { display:block !important; }
 .vg-session-tab-nav { display:none; }
 .vg-session-panel { break-inside:auto; margin-top:24px; }
}
