
/* Shared polish for the inherited Vienna GREEN pages. Keep their content and
   two-column composition; only the presentation is refreshed. */
body.vgreen-legacy-page .vgreen-application-frame { margin-top:30px; padding:24px; border:1px solid #cbded0; border-radius:12px; background:#fff; scroll-margin-top:20px; }
body.vgreen-legacy-page .legacy-article .vgreen-application-frame iframe { height:1600px; min-height:1100px; border:0!important; width:100%!important; }
body.vgreen-legacy-page .vg-city-gallery { display:grid; grid-template-columns:1fr 1fr; gap:18px; margin:24px 0; }
body.vgreen-legacy-page .vg-city-gallery figure { margin:0; overflow:hidden; border-radius:10px; background:#edf4e9; }
body.vgreen-legacy-page .legacy-article .vg-city-gallery img { display:block; width:100%; height:220px!important; object-fit:cover; }
body.vgreen-legacy-page .vg-city-gallery figcaption { padding:10px 14px; color:#235a38; font-size:17px; }
body.vgreen-legacy-page .vg-city-sections { display:grid; grid-template-columns:1fr 1fr; gap:18px; margin:24px 0; }
body.vgreen-legacy-page .vg-city-sections section { padding:20px; border:1px solid #d4e3d3; border-radius:10px; background:#fff; }
body.vgreen-legacy-page .legacy-article .vg-city-sections h3 { margin:0 0 12px; font-size:26px; line-height:1.15; }
body.vgreen-legacy-page .legacy-article .vg-city-sections p:last-child { margin:0; }
body.vgreen-legacy-page .vg-city-planning { padding:22px; background:#edf4e9; border-radius:10px; }
body.vgreen-legacy-page .vg-city-planning nav { display:flex; flex-wrap:wrap; gap:12px 22px; }
@media(max-width:640px) {
    body.vgreen-legacy-page .vg-city-gallery, body.vgreen-legacy-page .vg-city-sections { grid-template-columns:1fr; }
    body.vgreen-legacy-page .vgreen-application-frame { padding:12px; }
    body.vgreen-legacy-page .legacy-article .vgreen-application-frame iframe { height:1850px; }
}
body.vgreen-legacy-page .legacy-page-grid.legacy-page-grid--application:not(.legacy-page-grid--committee) { grid-template-columns: minmax(0, 1fr); }
body.vgreen-legacy-page .legacy-page-grid.legacy-page-grid--application .legacy-article { padding-right: 0; min-width: 0; width: 100%; }
body.vgreen-legacy-page .vgreen-reviewer-banner { display: block; width: 100%; height: auto; margin: 0 0 30px; border-radius: 10px; }
body.vgreen-legacy-page .vgreen-reviewer-intro { display: grid; grid-template-columns: minmax(0, 1.3fr) minmax(0, 1fr); gap: 40px; align-items: start; }
body.vgreen-legacy-page .vgreen-reviewer-action { padding: 28px; border: 1px solid #cbded0; border-radius: 12px; background: #edf5ec; }
body.vgreen-legacy-page .legacy-article .vgreen-reviewer-action h3 { margin: 0 0 14px; }
body.vgreen-legacy-page .legacy-article .vgreen-reviewer-action p { font-size: 18px !important; line-height: 1.5 !important; }
body.vgreen-legacy-page .legacy-article .vgreen-reviewer-eyebrow { color: #278544; font-size: 16px !important; letter-spacing: .1em; text-transform: uppercase; margin-bottom: 10px; }
body.vgreen-legacy-page .vgreen-reviewer-open { display: flex; align-items: center; justify-content: space-between; gap: 15px; padding: 16px 20px; background: #08713a; color: #fff !important; border-radius: 7px; font-weight: 700; text-decoration: none; }
body.vgreen-legacy-page .vgreen-reviewer-open:hover { background: #064d2a; }
body.vgreen-legacy-page .vgreen-reviewer-open:focus-visible { outline: 3px solid #ddad38; outline-offset: 4px; }
body.vgreen-legacy-page .legacy-article .vgreen-reviewer-action .vgreen-reviewer-destination { margin: 12px 0 25px; font-size: 16px !important; overflow-wrap: anywhere; }
@media (max-width: 760px) {
    body.vgreen-legacy-page .vgreen-reviewer-intro { grid-template-columns: minmax(0, 1fr); gap: 25px; }
    body.vgreen-legacy-page .vgreen-reviewer-action { padding: 22px; }
}
/* Workshop-specific details reuse the shared Call for Papers cards/resources. */
body.vgreen-legacy-page .vgreen-workshop-eligibility { padding: 16px 20px; border-left: 3px solid #52a668; border-radius: 0 8px 8px 0; background: #edf5e9; }
body.vgreen-legacy-page .vgreen-workshops .vgreen-cfp-resources { margin: 18px 0 12px; }
body.vgreen-legacy-page .legacy-article .vgreen-workshops .vgreen-workshop-submit-note { margin: 0 0 14px; font-size: 17px !important; line-height: 1.45 !important; }
body.vgreen-legacy-page .vgreen-workshops a[href^="mailto:"] { overflow-wrap: anywhere; }
body.vgreen-legacy-page .vgreen-workshop-support { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 18px; margin: 0 0 26px; }
body.vgreen-legacy-page .vgreen-workshop-support > section { padding: 20px; border: 1px solid #d9e6d8; border-radius: 10px; background: #fff; }
body.vgreen-legacy-page .legacy-article .vgreen-workshops .vgreen-workshop-support h3 { font-size: 26px; }
body.vgreen-legacy-page .legacy-article .vgreen-workshops .vgreen-workshop-support ul { margin: 0; padding-left: 19px; }
body.vgreen-legacy-page .legacy-article .vgreen-workshops .vgreen-workshop-support li { margin: 0 0 10px; padding-left: 2px; font-size: 18px !important; line-height: 1.45 !important; }
body.vgreen-legacy-page .legacy-article .vgreen-workshops .vgreen-workshop-support li:last-child { margin-bottom: 0; }
body.vgreen-legacy-page .vgreen-workshop-support li::marker { color: #2e8c48; }
body.vgreen-legacy-page .vgreen-workshop-notes { margin-top: 22px; padding: 18px 0 0; border-top: 1px solid #d6e5d5; }
body.vgreen-legacy-page .legacy-article .vgreen-workshops .vgreen-workshop-notes p { margin: 0 0 10px; font-size: 17px !important; line-height: 1.45 !important; }
body.vgreen-legacy-page .legacy-article .vgreen-workshops .vgreen-workshop-notes p:last-child { margin-bottom: 0; }
@media (max-width: 600px) {
    body.vgreen-legacy-page .vgreen-workshop-support { grid-template-columns: 1fr; }
    body.vgreen-legacy-page .vgreen-workshops .vgreen-cfp-date-grid time { grid-row: auto; }
    body.vgreen-legacy-page .vgreen-workshops .vgreen-cfp-date-grid small { grid-column: 1 / -1; margin-top: 8px; }
}
/* The two session overview routes share the same compact native layout. */
body.vgreen-legacy-page .legacy-article .vgreen-sessions h3 { margin: 0 0 12px; color: #205b35; font-size: 26px; line-height: 1.15; }
body.vgreen-legacy-page .vgreen-session-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 18px; margin: 24px 0; }
body.vgreen-legacy-page .vgreen-session-card { display: flex; flex-direction: column; overflow: hidden; border: 1px solid #d9e6d8; border-radius: 12px; background: #fff; }
body.vgreen-legacy-page .legacy-article .vgreen-sessions .vgreen-session-card > img { display: block; width: 100%; height: auto; aspect-ratio: 10 / 3; object-fit: cover; margin: 0; border: 0; }
body.vgreen-legacy-page .vgreen-session-card > div { display: flex; flex: 1; flex-direction: column; align-items: flex-start; padding: 18px; }
body.vgreen-legacy-page .legacy-article .vgreen-sessions .vgreen-session-card p,
body.vgreen-legacy-page .legacy-article .vgreen-sessions .vgreen-session-recognition p,
body.vgreen-legacy-page .legacy-article .vgreen-sessions .vgreen-session-notes p { margin: 0 0 12px; font-size: 18px !important; line-height: 1.45 !important; text-align: left; }
body.vgreen-legacy-page .vgreen-session-card a { margin-top: auto; padding-top: 4px; color: #176639; font-size: 18px; font-weight: 600; text-underline-offset: 3px; }
body.vgreen-legacy-page .vgreen-session-recognition { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 18px; margin: 0 0 22px; }
body.vgreen-legacy-page .vgreen-session-recognition > section { padding: 20px; border-top: 3px solid #52a668; border-radius: 8px; background: #f0f6ed; }
body.vgreen-legacy-page .legacy-article .vgreen-sessions .vgreen-session-recognition ul { margin: 0; padding-left: 20px; }
body.vgreen-legacy-page .legacy-article .vgreen-sessions .vgreen-session-recognition li { margin: 4px 0; font-size: 18px !important; line-height: 1.4 !important; }
body.vgreen-legacy-page .vgreen-session-notes { padding: 20px; border: 1px solid #dce6da; border-radius: 10px; background: #fff; }
body.vgreen-legacy-page .vgreen-session-notes > div { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 20px; }
body.vgreen-legacy-page .legacy-article .vgreen-sessions .vgreen-session-notes p { margin-bottom: 0; }
@media (max-width: 600px) {
    body.vgreen-legacy-page .vgreen-session-grid,
    body.vgreen-legacy-page .vgreen-session-recognition,
    body.vgreen-legacy-page .vgreen-session-notes > div { grid-template-columns: 1fr; }
}
/* Compact Call for Papers: scoped to its native article, not the session overview. */
body.vgreen-legacy-page .vgreen-cfp > p { text-align: left; }
body.vgreen-legacy-page .vgreen-cfp h3 { margin: 0 0 18px; color: #205b35; font-size: 29px; line-height: 1.15; }
body.vgreen-legacy-page .vgreen-cfp h4 { margin: 0 0 8px; color: #205b35; font-size: 23px; line-height: 1.15; }
body.vgreen-legacy-page .vgreen-cfp a { font-weight: 600; text-underline-offset: 3px; }
body.vgreen-legacy-page .vgreen-cfp-dates { margin: 26px 0; padding: 24px; border: 1px solid #d6e5d5; border-radius: 12px; background: #f0f6ed; }
body.vgreen-legacy-page .vgreen-cfp-dates h3 { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 8px; }
body.vgreen-legacy-page .vgreen-cfp-dates h3 span { padding: 5px 9px; border-radius: 5px; color: #fff; background: #23763e; font-size: 15px; font-weight: 600; }
body.vgreen-legacy-page .vgreen-cfp-date-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 12px; }
body.vgreen-legacy-page .vgreen-cfp-date-grid > div { padding: 15px 12px; border: 1px solid #dce8d8; border-radius: 8px; background: #fff; }
body.vgreen-legacy-page .vgreen-cfp-date-grid time { display: block; margin-bottom: 9px; color: #176639; font-size: 38px; line-height: 1; font-weight: 700; }
body.vgreen-legacy-page .vgreen-cfp-date-grid time span { display: block; margin-top: 5px; font-size: 18px; }
body.vgreen-legacy-page .vgreen-cfp-date-grid strong { display: block; font-size: 18px; line-height: 1.2; }
body.vgreen-legacy-page .vgreen-cfp-date-grid small { display: block; margin-top: 5px; font-size: 16px; line-height: 1.2; }
body.vgreen-legacy-page .vgreen-cfp-payment { display: grid; grid-template-columns: 1.3fr 1fr; gap: 18px; margin: 18px 0 12px; padding-top: 16px; border-top: 1px solid #cedfc9; }
body.vgreen-legacy-page .legacy-article .vgreen-cfp .vgreen-cfp-payment p { margin: 0; font-size: 18px !important; line-height: 1.45 !important; }
body.vgreen-legacy-page .legacy-article .vgreen-cfp .vgreen-cfp-note { margin: 0 0 12px; font-size: 16px !important; line-height: 1.45 !important; }
body.vgreen-legacy-page .vgreen-cfp-dates > a { display: inline-block; margin-right: 18px; font-size: 17px; }
body.vgreen-legacy-page .legacy-article .vgreen-cfp-steps { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 14px; margin: 0; padding: 0; list-style: none; }
body.vgreen-legacy-page .legacy-article .vgreen-cfp-steps > li { display: flex; align-items: flex-start; gap: 12px; margin: 0; padding: 18px; border: 1px solid #dce8dc; border-radius: 10px; background: #fff; list-style: none; }
body.vgreen-legacy-page .vgreen-cfp-step-number { flex: 0 0 30px; color: #369552; font-size: 28px; line-height: 1; font-weight: 600; }
body.vgreen-legacy-page .vgreen-cfp-steps > li > div { min-width: 0; }
body.vgreen-legacy-page .legacy-article .vgreen-cfp .vgreen-cfp-steps p { margin: 0 0 10px; font-size: 18px !important; line-height: 1.45 !important; }
body.vgreen-legacy-page .vgreen-cfp-steps a { font-size: 17px; line-height: 1.3; }
body.vgreen-legacy-page .vgreen-cfp-resources { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 14px; margin: 16px 0 26px; }
body.vgreen-legacy-page .vgreen-cfp-resources a { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 14px 18px; border: 1px solid #267844; border-radius: 8px; background: #176639; color: #fff; font-size: 19px; line-height: 1.2; text-decoration: none; }
body.vgreen-legacy-page .vgreen-cfp-resources a:hover { background: #104b29; }
body.vgreen-legacy-page .vgreen-cfp-awards-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 20px; }
body.vgreen-legacy-page .vgreen-cfp-awards-grid > div { padding: 18px; border-left: 3px solid #8fb994; background: #f1f5ef; }
body.vgreen-legacy-page .legacy-article .vgreen-cfp .vgreen-cfp-awards-grid p { margin: 0; font-size: 18px !important; line-height: 1.45 !important; }
@media (max-width: 600px) {
    body.vgreen-legacy-page .vgreen-cfp-dates { padding: 18px; }
    body.vgreen-legacy-page .vgreen-cfp-date-grid,
    body.vgreen-legacy-page .vgreen-cfp-payment,
    body.vgreen-legacy-page .legacy-article .vgreen-cfp-steps,
    body.vgreen-legacy-page .vgreen-cfp-resources,
    body.vgreen-legacy-page .vgreen-cfp-awards-grid { grid-template-columns: 1fr; }
    body.vgreen-legacy-page .vgreen-cfp-date-grid > div { display: grid; grid-template-columns: 105px 1fr; align-items: center; gap: 0 12px; padding: 12px; }
    body.vgreen-legacy-page .vgreen-cfp-date-grid time { grid-row: span 2; margin: 0; font-size: 31px; }
    body.vgreen-legacy-page .vgreen-cfp-date-grid time span { font-size: 17px; }
}
body.vgreen-legacy-page .inner-page-topper {
    min-height: 393px;
    height: auto;
    margin-top: 0;
    padding: 150px 0 34px;
    align-items: flex-end;
    background-position: center 42%;
    background-size: cover;
    background-attachment: scroll;
    text-align: left;
}
body.vgreen-legacy-page .inner-page-topper::before {
    background: linear-gradient(90deg, rgba(9, 34, 25, .82), rgba(9, 34, 25, .48) 57%, rgba(9, 34, 25, .2)),
                linear-gradient(0deg, rgba(6, 30, 21, .48), transparent 62%);
}
body.vgreen-legacy-page .inner-page-topper::after {
    display: block;
    height: 5px;
    background: linear-gradient(90deg, #00a244, #94d487, #00a244);
}
body.vgreen-legacy-page .inner-page-topper .container { width: min(1200px, calc(100% - 48px)); }
body.vgreen-legacy-page .inner-page-topper nav {
    display: block;
    margin: 0 0 22px;
    color: #c5ebc7;
    font: 700 13px/1.3 Arial, sans-serif;
    letter-spacing: .13em;
}
body.vgreen-legacy-page .inner-page-topper p {
    display: block;
    margin: 0 0 9px;
    color: #b6edbc;
    font: 700 12px/1.3 Arial, sans-serif;
    letter-spacing: .19em;
}
body.vgreen-legacy-page .inner-page-topper h1 {
    max-width: 1040px;
    margin: 0;
    color: #fff;
    font: 600 clamp(42px, 5.2vw, 72px)/1.04 "Cormorant Garamond", Georgia, serif;
    text-shadow: 0 3px 24px rgba(0, 0, 0, .35);
}
body.vgreen-legacy-page .inner-page-topper .inner-topper-subtitle {
    max-width: 760px;
    margin: 12px 0 0;
    color: #f0f6ef;
    font: 500 clamp(17px, 1.8vw, 22px)/1.32 "Cormorant Garamond", Georgia, serif;
}

body.vgreen-legacy-page .legacy-page-section {
    padding: 48px 0 var(--vgreen-content-end-space);
    background: #fafbf8;
}
body.vgreen-legacy-page .legacy-page-grid:not(.legacy-page-grid--committee) {
    width: min(1200px, calc(100% - 48px));
    grid-template-columns: minmax(0, 800px) minmax(0, 360px);
    gap: 32px;
}
body.vgreen-legacy-page .legacy-page-grid:not(.legacy-page-grid--committee) .legacy-article {
    padding: 0 10px 12px 0;
    border: 0;
    background: transparent;
    box-shadow: none;
    color: #304238;
}
body.vgreen-legacy-page .legacy-page-grid:not(.legacy-page-grid--committee) .legacy-sidebar {
    position: static;
    padding: 0;
    border: 1px solid #e1e9df;
    background: #fff;
    box-shadow: 0 12px 38px rgba(23, 62, 37, .07);
    overflow: hidden;
}
body.vgreen-legacy-page .legacy-article:not(.legacy-article--directory),
body.vgreen-legacy-page .legacy-article:not(.legacy-article--directory) p,
body.vgreen-legacy-page .legacy-article:not(.legacy-article--directory) li,
body.vgreen-legacy-page .legacy-sidebar,
body.vgreen-legacy-page .legacy-sidebar p,
body.vgreen-legacy-page .legacy-sidebar li {
    color: #34493c;
    font-size: 19px !important;
    line-height: 1.58 !important;
}
body.vgreen-legacy-page .legacy-article:not(.legacy-article--directory) p { margin-bottom: 17px; }
body.vgreen-legacy-page .legacy-article:not(.legacy-article--directory) .module-title {
    margin: 0 0 20px;
    padding: 0 0 13px !important;
    border: 0 !important;
    border-bottom: 2px solid #65bb73 !important;
    background: transparent !important;
}
body.vgreen-legacy-page .legacy-article:not(.legacy-article--directory) .onetitle {
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
    color: #193c28 !important;
}
body.vgreen-legacy-page .legacy-article:not(.legacy-article--directory) .module-title h2,
body.vgreen-legacy-page .legacy-article:not(.legacy-article--directory) h2.onetitle {
    color: #193c28 !important;
    font: 700 clamp(34px, 3.5vw, 48px)/1.03 "Cormorant Garamond", Georgia, serif !important;
}
body.vgreen-legacy-page .legacy-article:not(.legacy-article--directory) h2.podtitle {
    margin: 36px 0 17px;
    padding: 0 0 9px !important;
    border-bottom: 1px solid #d8e8d8 !important;
    color: #1c6335 !important;
    font: 700 clamp(27px, 2.4vw, 34px)/1.16 "Cormorant Garamond", Georgia, serif !important;
}
body.vgreen-legacy-page .legacy-article:not(.legacy-article--directory) h3 {
    color: #1d6435 !important;
    font: 700 26px/1.16 "Cormorant Garamond", Georgia, serif !important;
}
body.vgreen-legacy-page .legacy-article a,
body.vgreen-legacy-page .legacy-sidebar a { transition: color .2s ease, border-color .2s ease, background-color .2s ease; }
body.vgreen-legacy-page .legacy-article a:focus-visible,
body.vgreen-legacy-page .legacy-sidebar a:focus-visible { outline: 2px solid #006c35; outline-offset: 3px; }

body.vgreen-legacy-page .legacy-sidebar .rt-block {
    padding: 23px 25px;
    border-bottom: 1px solid #e4ece4;
}
body.vgreen-legacy-page .legacy-sidebar .module-title { margin: 0 0 14px; }
body.vgreen-legacy-page .legacy-sidebar .module-title h2,
body.vgreen-legacy-page .legacy-sidebar .module-title .title {
    color: #244632 !important;
    font: 700 25px/1.16 "Cormorant Garamond", Georgia, serif !important;
}
body.vgreen-legacy-page .legacy-sidebar .nav.menu > li {
    border-bottom: 1px solid #edf1eb;
}
body.vgreen-legacy-page .legacy-sidebar .nav.menu > li:last-child { border-bottom: 0; }
body.vgreen-legacy-page .legacy-sidebar .nav.menu a {
    padding: 8px 8px 8px 22px;
    color: #1d6335;
    font: 600 18px/1.35 "Cormorant Garamond", Georgia, serif;
}
body.vgreen-legacy-page .legacy-sidebar .nav.menu a:hover,
body.vgreen-legacy-page .legacy-sidebar .nav.menu a:focus-visible {
    color: #063f22;
    background: #edf7ee;
}
body.vgreen-legacy-page .legacy-sidebar .nav.menu > li > a::before {
    background: #178a42;
}
body.vgreen-legacy-page .legacy-sidebar .nav-child { padding-left: 12px; }

body.vgreen-legacy-page .legacy-article:not(.legacy-article--directory) .box1,
body.vgreen-legacy-page .legacy-article:not(.legacy-article--directory) .box2,
body.vgreen-legacy-page .legacy-article:not(.legacy-article--directory) .box3,
body.vgreen-legacy-page .legacy-article:not(.legacy-article--directory) .note,
body.vgreen-legacy-page .legacy-article:not(.legacy-article--directory) blockquote {
    border-color: #d9e9da;
    border-left: 4px solid #1e9a4f;
    background: #f2f8f0 !important;
}
body.vgreen-legacy-page .legacy-article:not(.legacy-article--directory) .sprocket-tables-item {
    border-color: #dfe9df;
    box-shadow: 0 7px 22px rgba(23, 62, 37, .06);
}
body.vgreen-legacy-page .legacy-article:not(.legacy-article--directory) .sprocket-tables-cell { background: #fff; }
body.vgreen-legacy-page .legacy-article:not(.legacy-article--directory) .sprocket-tables-price { background: #edf5eb; color: #176639; }
body.vgreen-legacy-page .legacy-article:not(.legacy-article--directory) img:not([class*="icon"]) { transition: transform .35s ease, filter .35s ease; }
body.vgreen-legacy-page .legacy-article:not(.legacy-article--directory) a:hover img:not([class*="icon"]) { transform: scale(1.025); filter: saturate(1.08); }

body.vgreen-legacy-page .legacy-article[data-page="contact.php"] .page-header h2 {
    margin: 0 0 30px;
    padding-bottom: 14px;
    border-bottom: 2px solid #65bb73;
    color: #193c28 !important;
    font-size: clamp(32px, 3vw, 43px);
    line-height: 1.08;
}
body.vgreen-legacy-page .legacy-article[data-page="contact.php"] .contact .thumbnail {
    padding: 6px;
    border: 1px solid #dce8db;
    background: #fff;
    box-shadow: 0 10px 28px rgba(23, 62, 37, .08);
}
body.vgreen-legacy-page .legacy-article[data-page="contact.php"] .contact-address {
    padding: 24px 28px;
    border-left: 4px solid #229b4c;
    background: #f1f7ef;
}
body.vgreen-legacy-page .legacy-article[data-page="contact.php"] .contact-form,
body.vgreen-legacy-page .legacy-article[data-page="newsletter.php"] .bfQuickMode {
    border: 1px solid #dce8db;
    border-top: 4px solid #229b4c;
    background: #f5f9f4;
}
body.vgreen-legacy-page .legacy-article[data-page="contact.php"] input:not([type="hidden"]):focus,
body.vgreen-legacy-page .legacy-article[data-page="contact.php"] textarea:focus,
body.vgreen-legacy-page .legacy-article[data-page="newsletter.php"] input:not([type="hidden"]):focus {
    outline: 2px solid #65bb73;
    outline-offset: 2px;
}

@media (max-width: 980px) {
    body.vgreen-legacy-page .legacy-page-grid:not(.legacy-page-grid--committee) {
        grid-template-columns: minmax(0, 1fr);
        gap: 36px;
    }
    body.vgreen-legacy-page .legacy-page-grid:not(.legacy-page-grid--committee) .legacy-article { padding-right: 0; }
    body.vgreen-legacy-page .legacy-page-grid:not(.legacy-page-grid--committee) .legacy-sidebar { width: 100%; }
}
@media (max-width: 640px) {
    body.vgreen-legacy-page .inner-page-topper {
        min-height: 346px;
        margin-top: 0;
        padding: 138px 0 26px;
        background-position: 50% 45%;
    }
    body.vgreen-legacy-page .inner-page-topper .container,
    body.vgreen-legacy-page .legacy-page-grid:not(.legacy-page-grid--committee) { width: calc(100% - 36px); }
    body.vgreen-legacy-page .inner-page-topper nav { margin-bottom: 15px; font-size: 11px; }
    body.vgreen-legacy-page .inner-page-topper p { font-size: 11px; }
    body.vgreen-legacy-page .inner-page-topper h1 { font-size: clamp(31px, 8.5vw, 42px); }
    body.vgreen-legacy-page .inner-page-topper .inner-topper-subtitle { font-size: 17px; }
    body.vgreen-legacy-page .legacy-page-section { padding: 34px 0 var(--vgreen-content-end-space); }
    body.vgreen-legacy-page .legacy-article:not(.legacy-article--directory),
    body.vgreen-legacy-page .legacy-article:not(.legacy-article--directory) p,
    body.vgreen-legacy-page .legacy-article:not(.legacy-article--directory) li,
    body.vgreen-legacy-page .legacy-sidebar,
    body.vgreen-legacy-page .legacy-sidebar p,
    body.vgreen-legacy-page .legacy-sidebar li { font-size: 18px !important; }
    body.vgreen-legacy-page .legacy-sidebar .rt-block { padding: 20px; }
    body.vgreen-legacy-page .legacy-article[data-page="contact.php"] .contact-address { padding: 18px; }
}
@media (prefers-reduced-motion: reduce) {
    body.vgreen-legacy-page .legacy-article img,
    body.vgreen-legacy-page .legacy-article a,
    body.vgreen-legacy-page .legacy-sidebar a { transition: none !important; }
}

/* Keep the academic directory available below the fixed news/nav/crest.
   A short desktop viewport must still allow access to the final links. */
@media (min-width: 981px) {
    body.vgreen-legacy-page .legacy-page-grid:not(.legacy-page-grid--committee) .legacy-sidebar.legacy-sidebar--publication {
        position: sticky;
        top: 170px;
        align-self: start;
        max-height: calc(100vh - 186px);
        max-height: calc(100dvh - 186px);
        overflow-y: auto;
        scrollbar-width: thin;
        scrollbar-color: #a4c5ae #f5faf5;
    }
}
