/* Shared inner-page type, colours and accent blocks remain authoritative.
   Draft-only composition: a full-width shell and paired readable sections. */
.vg-ieee-intro { max-width:1000px; display:flow-root; }
.vg-ieee-columns { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:28px; margin:28px 0; align-items:start; }
.vg-ieee-columns > * { min-width:0; }
.vg-ieee-card.vg-layout-row { display:block; margin:0; height:100%; }
body.vgreen-legacy-page .legacy-article .vg-ieee-card > .podtitle,
body.vgreen-legacy-page .legacy-article .vg-ieee-columns > section > .podtitle,
body.vgreen-legacy-page .legacy-article .vg-ieee-session > div > .podtitle { margin-top:0; }
.vg-ieee-card p:last-child { margin-bottom:0; }
.vg-ieee-session,.vg-ieee-interests { text-align:left; }
.vg-ieee-interests ul { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); column-gap:32px; row-gap:4px; }
.vg-ieee-session-grid { display:grid; grid-template-columns:minmax(0,1.55fr) minmax(0,1fr); gap:28px; }
.vg-ieee-session-grid ul { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); column-gap:24px; row-gap:4px; }
.vg-ieee-session-time { padding:20px; border:1px solid #d7e5d7; border-radius:10px; background:#fff; align-self:start; }
.vg-ieee-session-time p:last-child { margin-bottom:0; }
/* A restrained photographic window immediately above the session panel.
   The original file stays intact; the crop is presentation only. */
.vg-ieee-visual {
    position:relative;
    width:var(--ieee-window-width,100vw);
    max-width:none;
    height:clamp(210px,18vw,270px);
    overflow:hidden;
    margin:30px 0 26px;
    margin-left:var(--ieee-bleed-left,calc(50% - 50vw));
    background:#0b3024;
}
.vg-ieee-visual::before {
    content:"";
    position:absolute;
    left:0;
    top:-45px;
    width:100%;
    height:calc(var(--ieee-window-width,100vw) * .66625);
    min-height:100%;
    background:url('../images/ieee-connectivity-1920.webp') center top / 100% auto no-repeat;
    filter:blur(10px) brightness(.78);
    transform:translate3d(0,var(--ieee-photo-shift,0px),0);
}
body.vgreen-legacy-page .legacy-article .vg-ieee-visual-image {
    display:block;
    position:absolute;
    inset:-45px auto auto 12.5%;
    width:75% !important;
    max-width:none !important;
    height:auto !important;
    min-height:100%;
    margin:0;
    padding:0;
    border:0;
    border-radius:0;
    object-fit:cover;
    object-position:center top;
    transition:none !important;
    transform:translate3d(0,var(--ieee-photo-shift,0px),0);
    mask-image:linear-gradient(to right,transparent,#000 4%,#000 96%,transparent);
}
.vg-ieee-visual figcaption {
    position:absolute;
    right:10px;
    bottom:10px;
    padding:3px 8px;
    background:rgba(5,22,16,.72);
    color:#fff;
    font-size:13px;
    line-height:1.3;
}
@media (max-width:820px) {
    .vg-ieee-visual { height:clamp(160px,38vw,220px); margin-block:24px; }
    .vg-ieee-visual::before { display:none; }
    body.vgreen-legacy-page .legacy-article .vg-ieee-visual-image { inset:0 auto auto 0; width:100% !important; mask-image:none; }
}
@media (hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference) {
    .vg-ieee-visual-image { will-change:transform; }
}
@media (max-width:820px) {
    .vg-ieee-columns,.vg-ieee-session-grid { grid-template-columns:minmax(0,1fr); gap:20px; margin-block:20px; }
    .vg-ieee-card.vg-layout-row { padding:0; border:0; border-radius:0; background:transparent; height:auto; }
    .vg-ieee-interests ul,.vg-ieee-session-grid ul { grid-template-columns:minmax(0,1fr); }
    .vg-ieee-session-time { padding:12px; }
}
body.vgreen-legacy-page .legacy-article .vgreen-ieee-logo {
    float: right;
    width: 210px;
    max-width: 38% !important;
    height: auto !important;
    margin: 4px 0 18px 24px;
    padding: 0;
    border: 0;
    border-radius: 0;
    box-shadow: none;
    background: transparent;
    mix-blend-mode: multiply;
}
@media (max-width: 640px) {
    body.vgreen-legacy-page .legacy-article .vgreen-ieee-logo {
        float: none;
        display: block;
        width: 190px;
        max-width: 100% !important;
        margin: 0 0 18px;
    }
}
