/*
Theme Name:       South Wollo Zone Administration
Theme URI:        https://fcsc.ecsc.gov.et
Author:           Murad Mohammed
Author URI:       https://fcsc.ecsc.gov.et
Description:      A premium, fully customizable WordPress theme for the South Wollo Zone Administration. Features a sticky header with multi-level navigation, top bar with breaking news ticker and search, full-width hero carousel, quick links grid, recent news, job vacancies widget, statistics counter, and a 4-column widgetized footer. Designed for government portals with full Customizer support for colors, logo, hero slider, and contact details.
Version:          1.3.4
License:          GNU General Public License v2.0 or later
License URI:      https://www.gnu.org/licenses/gpl-2.0.html
Text Domain:      swcs-theme
Domain Path:      /languages
Tags:             government, civil-service, custom-colors, custom-logo, custom-menu, featured-images, threaded-comments, translation-ready, blog, news, full-width-template
*/

/* ────────────────────────────────────────────────────────────
   CSS Variables — set from Customizer via inline <style> in <head>
   ──────────────────────────────────────────────────────────── */
:root {
    --swcs-primary: #1A4F6D;
    --swcs-primary-dark: #123A50;
    --swcs-primary-light: #DCEAF2;
    --swcs-secondary: #2C718F;
    --swcs-accent: #f59e0b;
    --swcs-button-bg: #1A4F6D;
    --swcs-button-hover: #123A50;
    --swcs-button-active: #0D2D3E;
    --swcs-button-text: #ffffff;
    --swcs-text: #1e293b;
    --swcs-text-light: #64748b;
    --swcs-bg: #ffffff;
    --swcs-bg-alt: #f8fafc;
    --swcs-border: #e2e8f0;
    --swcs-white: #ffffff;
    --swcs-radius: 12px;
    --swcs-shadow: 0 4px 20px rgba(0, 0, 0, 0.08);
    --swcs-shadow-lg: 0 10px 40px rgba(0, 0, 0, 0.12);
    --swcs-transition: all 0.3s ease;
    --swcs-header-height: 80px;
    --swcs-topbar-height: 40px;
}

/* Reset */
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
html { scroll-behavior: smooth; font-size: 16px; }
body {
    font-family: var(--swcs-body-font, 'Segoe UI', system-ui, sans-serif);
    line-height: 1.6;
    color: var(--swcs-text);
    background: var(--swcs-bg);
    -webkit-font-smoothing: antialiased;
}
body p { line-height: 1.6 !important; }
h1, h2, h3, h4, h5, h6 { font-family: var(--swcs-heading-font, var(--swcs-body-font, 'Segoe UI', system-ui, sans-serif)); }
a { color: var(--swcs-primary); text-decoration: none; transition: var(--swcs-transition); }
a:hover { color: var(--swcs-primary-dark); }
img { max-width: 100%; height: auto; display: block; }
ul, ol { list-style-position: inside; }

/* Shared action buttons */
.swcs-btn,
.swcs-hero__btn,
.swcs-accountability-form__submit,
.swcs-share-button,
.swcs-reaction-button,
.swcs-updates-search button,
.swcs-update-filters button {
    min-height: 2.75rem;
    border: 1px solid transparent;
    border-radius: 8px;
    padding: .65rem 1rem;
    background: var(--swcs-button-bg);
    color: var(--swcs-button-text);
    font: inherit;
    font-size: .875rem;
    font-weight: 700;
    line-height: 1.2;
    cursor: pointer;
    text-decoration: none;
    transition: background-color .2s ease, border-color .2s ease, box-shadow .2s ease, color .2s ease, transform .2s ease;
}
.swcs-btn:hover,
.swcs-btn:focus-visible,
.swcs-hero__btn:hover,
.swcs-hero__btn:focus-visible,
.swcs-accountability-form__submit:hover,
.swcs-accountability-form__submit:focus-visible,
.swcs-share-button:hover,
.swcs-share-button:focus-visible,
.swcs-reaction-button:hover,
.swcs-reaction-button:focus-visible,
.swcs-updates-search button:hover,
.swcs-updates-search button:focus-visible,
.swcs-update-filters button:hover,
.swcs-update-filters button:focus-visible {
    background: var(--swcs-button-hover);
    border-color: var(--swcs-button-hover);
    color: var(--swcs-button-text);
    box-shadow: 0 6px 16px rgba(26, 79, 109, .2);
    transform: translateY(-2px);
}
.swcs-btn:active,
.swcs-hero__btn:active,
.swcs-accountability-form__submit:active,
.swcs-share-button:active,
.swcs-reaction-button:active,
.swcs-updates-search button:active,
.swcs-update-filters button:active { background: var(--swcs-button-active); transform: translateY(0); }
.swcs-btn:focus-visible,
.swcs-hero__btn:focus-visible,
.swcs-accountability-form__submit:focus-visible,
.swcs-share-button:focus-visible,
.swcs-reaction-button:focus-visible,
.swcs-updates-search button:focus-visible,
.swcs-update-filters button:focus-visible { outline: 3px solid rgba(245, 158, 11, .8); outline-offset: 3px; }
.swcs-btn[disabled],
.swcs-accountability-form__submit[disabled],
.swcs-reaction-button:disabled { cursor: wait; opacity: .6; transform: none; }
.swcs-btn--outline { border-color: var(--swcs-button-bg); background: transparent; color: var(--swcs-button-bg); }
.swcs-btn--outline:hover, .swcs-btn--outline:focus-visible { background: var(--swcs-button-bg); color: var(--swcs-button-text); }
.swcs-btn--sm { min-height: 2.35rem; padding: .5rem .8rem; font-size: .8rem; }
.swcs-section__footer-link { display: flex; justify-content: center; margin: 2rem 0 0; }
.swcs-section__footer-link .swcs-btn { display: inline-flex; align-items: center; justify-content: center; gap: .65rem; min-width: 13rem; min-height: 3rem; padding: .8rem 1.25rem; box-shadow: 0 8px 18px rgba(26, 79, 109, .16); }
.swcs-section__footer-link .swcs-btn span { display: inline-block; transition: transform .2s ease; }
.swcs-section__footer-link .swcs-btn:hover span,
.swcs-section__footer-link .swcs-btn:focus-visible span { transform: translateX(4px); }
.swcs-section__footer-link .swcs-btn:active { box-shadow: 0 3px 8px rgba(26, 79, 109, .16); }
.swcs-share-button--facebook, .swcs-share-button--telegram, .swcs-share-button--whatsapp { background: var(--swcs-button-bg); color: var(--swcs-button-text); }
.swcs-reaction-button { display: inline-flex; align-items: center; justify-content: center; gap: .3rem; border-color: var(--swcs-button-bg); }
.swcs-reaction-button.is-selected { background: var(--swcs-button-hover); border-color: var(--swcs-button-hover); color: var(--swcs-button-text); }
.swcs-update-filters button.is-active { background: var(--swcs-button-bg); border-color: var(--swcs-button-bg); color: var(--swcs-button-text); }
@media (max-width: 640px) {
    .swcs-btn, .swcs-hero__btn { min-width: min(100%, 10rem); }
    .swcs-reaction-button { flex: 0 1 auto; min-width: 0; padding-inline: .6rem; }
    .swcs-share-button { flex: 0 1 auto; min-width: 0; padding-inline: .6rem; }
    .swcs-section__footer-link .swcs-btn { width: min(100%, 22rem); }
    .swcs-post-engagement__actions { width: 100%; gap: .6rem; }
    .swcs-post-engagement__actions > * { flex: 1 1 auto; text-align: center; }
}

/* Container */
.swcs-container {
    max-width: 1280px;
    margin: 0 auto;
    padding: 0 1.5rem;
}
.swcs-content-narrow { max-width: 860px; }

.swcs-home-stream { position: relative; isolation: isolate; overflow: hidden; background: linear-gradient(135deg, #f7fbf9 0%, #ffffff 48%, #f2f8f6 100%); }
.swcs-home-atmosphere { position: absolute; z-index: -1; inset: 0; overflow: hidden; pointer-events: none; background-image: linear-gradient(rgba(26, 79, 109, .055) 1px, transparent 1px), linear-gradient(90deg, rgba(26, 79, 109, .055) 1px, transparent 1px); background-size: 44px 44px; mask-image: linear-gradient(to bottom, transparent, #000 12%, #000 88%, transparent); animation: swcs-grid-drift 24s linear infinite; }
.swcs-home-atmosphere::before, .swcs-home-atmosphere::after { position: absolute; content: ''; pointer-events: none; }
.swcs-home-atmosphere::before { top: -20%; left: -10%; width: 120%; height: 36%; border-top: 1px solid rgba(13, 148, 136, .24); border-bottom: 1px solid rgba(245, 158, 11, .16); transform: rotate(-6deg); animation: swcs-light-sweep 18s ease-in-out infinite alternate; }
.swcs-home-atmosphere::after { top: 42%; left: -15%; width: 130%; height: 1px; background: linear-gradient(90deg, transparent, rgba(26, 79, 109, .28), transparent); box-shadow: 0 180px 0 rgba(44, 113, 143, .12), 0 -220px 0 rgba(245, 158, 11, .1); transform: rotate(8deg); animation: swcs-line-drift 14s ease-in-out infinite alternate; }
@keyframes swcs-grid-drift { from { background-position: 0 0; } to { background-position: 44px 44px; } }
@keyframes swcs-light-sweep { from { transform: translate3d(-3%, -2%, 0) rotate(-6deg); opacity: .45; } to { transform: translate3d(3%, 8%, 0) rotate(-4deg); opacity: .9; } }
@keyframes swcs-line-drift { from { transform: translateX(-4%) rotate(8deg); opacity: .35; } to { transform: translateX(4%) rotate(6deg); opacity: .8; } }
.swcs-home-stream > *:not(.swcs-home-atmosphere) { position: relative; z-index: 1; }
@media (prefers-reduced-motion: reduce) { .swcs-home-atmosphere, .swcs-home-atmosphere::before, .swcs-home-atmosphere::after { animation: none; } }

.swcs-post-engagement {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    margin-top: 2rem;
    padding: 1rem 0;
    border-top: 1px solid var(--swcs-border);
    border-bottom: 1px solid var(--swcs-border);
    color: var(--swcs-text-light);
    font-size: .8125rem;
}
.swcs-post-engagement__stats, .swcs-post-engagement__actions { display: flex; align-items: center; flex-wrap: wrap; gap: .5rem; }
.swcs-post-engagement__stats { gap: 1rem; }
.swcs-post-engagement__label { font-weight: 700; color: var(--swcs-text); }
.swcs-share-button, .swcs-reaction-button { border: 0; border-radius: 999px; padding: .4rem .65rem; font: inherit; font-size: .75rem; font-weight: 700; cursor: pointer; transition: var(--swcs-transition); }
.swcs-share-button { display: inline-flex; min-width: 0; min-height: 2.25rem; align-items: center; justify-content: center; color: #fff; white-space: nowrap; box-shadow: 0 3px 9px rgba(26, 79, 109, .14); }
.swcs-share-button:hover, .swcs-share-button:focus-visible, .swcs-reaction-button:hover, .swcs-reaction-button.is-selected { transform: translateY(-2px) scale(1.02); box-shadow: 0 7px 14px rgba(26, 79, 109, .2); }
.swcs-share-button:active { transform: translateY(0) scale(.98); }
.swcs-share-button--facebook { background: #1877f2; }
.swcs-share-button--telegram { background: #229ed9; }
.swcs-share-button--whatsapp { background: #25d366; }
.swcs-reaction-button { display: inline-flex; min-width: 0; min-height: 2.25rem; align-items: center; justify-content: center; gap: .3rem; background: var(--swcs-button-bg); color: var(--swcs-button-text); border: 1px solid var(--swcs-button-bg); box-shadow: 0 3px 9px rgba(26, 79, 109, .14); }
.swcs-reaction-button.is-selected { background: var(--swcs-button-hover); color: var(--swcs-button-text); border-color: var(--swcs-button-hover); }
.swcs-reaction-button:active { transform: translateY(0) scale(.98); }
.swcs-reaction-button:disabled { cursor: wait; opacity: .65; }
@media (max-width: 640px) { .swcs-post-engagement__actions { width: 100%; } }
.swcs-eyebrow { display: block; color: var(--swcs-primary); font-size: .75rem; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; margin-bottom: .5rem; }
.swcs-article h1 { font-size: clamp(2rem, 4vw, 3.25rem); line-height: 1.1; margin: 1rem 0 .5rem; }
.swcs-article__image { width: 100%; max-height: 420px; object-fit: cover; margin-bottom: 1.5rem; border-radius: 10px; }
.swcs-article__meta { color: var(--swcs-text-light); margin-bottom: 2rem; }
.swcs-article__content { font-size: 1.05rem; line-height: 1.8; }
.swcs-post-text-align-left .swcs-article__content,
.swcs-post-text-align-left .swcs-document-detail__content,
.swcs-post-text-align-left .swcs-job-detail__content,
.swcs-post-text-align-left .swcs-leadership-profile__bio,
.swcs-post-text-align-left .swcs-location-single__copy,
.swcs-post-text-align-left article > div[style*="font-size"] { text-align: left; }
.swcs-post-text-align-right .swcs-article__content,
.swcs-post-text-align-right .swcs-document-detail__content,
.swcs-post-text-align-right .swcs-job-detail__content,
.swcs-post-text-align-right .swcs-leadership-profile__bio,
.swcs-post-text-align-right .swcs-location-single__copy,
.swcs-post-text-align-right article > div[style*="font-size"] { text-align: right; }
.swcs-post-text-align-center .swcs-article__content,
.swcs-post-text-align-center .swcs-document-detail__content,
.swcs-post-text-align-center .swcs-job-detail__content,
.swcs-post-text-align-center .swcs-leadership-profile__bio,
.swcs-post-text-align-center .swcs-location-single__copy,
.swcs-post-text-align-center article > div[style*="font-size"] { text-align: center; }
.swcs-post-text-align-justify .swcs-article__content,
.swcs-post-text-align-justify .swcs-document-detail__content,
.swcs-post-text-align-justify .swcs-job-detail__content,
.swcs-post-text-align-justify .swcs-leadership-profile__bio,
.swcs-post-text-align-justify .swcs-location-single__copy,
.swcs-post-text-align-justify article > div[style*="font-size"] { text-align: justify; }
.swcs-news-card__thumb--placeholder { background: linear-gradient(135deg, var(--swcs-primary-light), #b8d9d0); }
.swcs-contact-grid { display: grid; grid-template-columns: .85fr 1.15fr; gap: 2rem; align-items: start; }
.swcs-contact-details { display: grid; gap: .75rem; }
.swcs-contact-card { display: flex; gap: .9rem; align-items: flex-start; padding: 1rem; border: 1px solid var(--swcs-border); border-radius: 12px; background: #fff; transition: transform .2s ease, border-color .2s ease, box-shadow .2s ease; }
.swcs-contact-card:hover { border-color: var(--swcs-primary); box-shadow: 0 12px 24px rgba(15,23,42,.08); transform: translateY(-2px); }
.swcs-contact-card > .dashicons { display: grid; width: 2.35rem; height: 2.35rem; flex: 0 0 2.35rem; place-items: center; border-radius: 50%; background: var(--swcs-primary-light); color: var(--swcs-primary); font-size: 1.1rem; }
.swcs-contact-card strong { display: block; margin-bottom: .25rem; color: var(--swcs-text); font-size: .8rem; text-transform: uppercase; letter-spacing: .08em; }
.swcs-contact-card p { margin: 0; color: var(--swcs-text-light); font-size: .9rem; line-height: 1.5; }
.swcs-contact-card a { color: var(--swcs-primary); font-weight: 600; }
.swcs-contact-social { display: flex; align-items: center; flex-wrap: wrap; gap: .55rem; margin-top: .55rem; }
.swcs-contact-social > span { width: 100%; margin-bottom: .15rem; color: var(--swcs-text); font-size: .8rem; font-weight: 800; }
.swcs-contact-social a { display: inline-flex; width: 2.4rem; height: 2.4rem; align-items: center; justify-content: center; border-radius: 50%; background: var(--swcs-text); color: #fff; transition: background .2s ease, transform .2s ease; }
.swcs-contact-social a:hover, .swcs-contact-social a:focus-visible { background: var(--swcs-primary); color: #fff; transform: translateY(-3px); }
.swcs-contact-social .swcs-social-icon { width: 1.05rem; height: 1.05rem; }
.swcs-contact-map { overflow: hidden; margin-top: .75rem; border: 1px solid var(--swcs-border); border-radius: 12px; background: #e5ebe7; box-shadow: 0 12px 24px rgba(15,23,42,.08); }
.swcs-contact-map iframe { display: block; width: 100%; height: 210px; border: 0; }
.swcs-contact-map__link { display: flex; align-items: center; justify-content: space-between; gap: .5rem; padding: .75rem 1rem; background: #fff; color: var(--swcs-primary); font-size: .78rem; font-weight: 800; text-decoration: none; }
.swcs-contact-map__link:hover { background: var(--swcs-primary-light); color: var(--swcs-primary-dark); }
.swcs-feature-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 3rem; align-items: center; }
.swcs-feature-grid__image img { width: 100%; border-radius: 10px; }
.swcs-feature-grid__content h2 { font-size: clamp(1.8rem, 3vw, 2.7rem); line-height: 1.15; margin: .5rem 0 1rem; }
.swcs-feature-grid__content p { color: var(--swcs-text-light); font-size: 1.05rem; margin-bottom: 1.5rem; }
.swcs-service-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1rem; }
.swcs-service { display: grid; gap: .55rem; padding: 1.5rem; background: #fff; border: 1px solid var(--swcs-border); color: var(--swcs-text); transition: var(--swcs-transition); }
.swcs-service:hover { border-color: var(--swcs-primary); transform: translateY(-3px); box-shadow: var(--swcs-shadow); }
.swcs-service .dashicons { color: var(--swcs-primary); font-size: 2rem; width: 2rem; height: 2rem; }
.swcs-service span:last-child { color: var(--swcs-text-light); font-size: .9rem; }
.swcs-sector-code, .swcs-sector-profile__code { color: var(--swcs-primary); font-size: .78rem; font-weight: 800; letter-spacing: .04em; }
.swcs-sector-badge { width: fit-content; padding: .25rem .55rem; border-radius: 999px; background: var(--swcs-primary-light); color: var(--swcs-primary-dark); font-size: .7rem; font-weight: 800; }
.swcs-sector-profile__code { margin: -.6rem 0 1.25rem; }
.swcs-sector-services { display: grid; gap: .65rem; margin: 0; padding-left: 1.25rem; color: var(--swcs-text-light); }
.swcs-sector-services li::marker { color: var(--swcs-primary); }
.swcs-sector-profile .swcs-contact-details { margin: 2rem 0; }
.swcs-sector-map { margin-top: 2.25rem; overflow: hidden; border: 1px solid var(--swcs-border); border-radius: 14px; background: #fff; box-shadow: var(--swcs-shadow); }
.swcs-sector-map__header { display: flex; align-items: flex-end; justify-content: space-between; gap: 1rem; padding: 1.25rem 1.35rem; background: linear-gradient(135deg, var(--swcs-primary-light), #f5faf7); }
.swcs-sector-map__header h2 { margin: .25rem 0 0; font-size: 1.25rem; }
.swcs-sector-map__coordinates { color: var(--swcs-text-light); font-size: .78rem; font-variant-numeric: tabular-nums; }
.swcs-sector-map__frame { background: #dce9e3; }
.swcs-sector-map__frame iframe { display: block; width: 100%; height: 320px; border: 0; }
.swcs-sector-map__actions { display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding: .9rem 1.1rem; }
.swcs-sector-map__actions .swcs-btn { display: inline-flex; align-items: center; gap: .45rem; }
.swcs-sector-map__actions .dashicons { width: 1rem; height: 1rem; font-size: 1rem; }
.swcs-sector-map__actions > span { color: var(--swcs-text-light); font-size: .72rem; text-align: right; }
@media (max-width: 640px) { .swcs-sector-map__header, .swcs-sector-map__actions { align-items: flex-start; flex-direction: column; } .swcs-sector-map__frame iframe { height: 260px; } .swcs-sector-map__actions > span { text-align: left; } }
.swcs-department-contact { display: flex; gap: 2rem; margin: 2rem 0; padding: 1rem 0; border-top: 1px solid var(--swcs-border); border-bottom: 1px solid var(--swcs-border); }
.swcs-department-contact p { margin: 0; color: var(--swcs-text-light); }
.swcs-department-contact strong { color: var(--swcs-text); }
.swcs-department-social { display: flex; gap: .75rem; margin: 1rem 0 2rem; }
.swcs-department-social a { display: inline-flex; align-items: center; justify-content: center; width: 2.25rem; height: 2.25rem; border-radius: 50%; background: var(--swcs-primary); color: #fff; }
.swcs-department-social a:hover, .swcs-department-social a:focus-visible { background: var(--swcs-primary-dark); color: #fff; }
.swcs-department-social .dashicons { width: 16px; height: 16px; font-size: 16px; }
.swcs-location-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1.25rem; }
.swcs-location-counts { display: grid; grid-template-columns: repeat(auto-fit, minmax(170px, 1fr)); gap: 1rem; margin: 1.5rem 0 2rem; }
.swcs-location-count { display: flex; align-items: center; gap: .85rem; padding: 1rem 1.15rem; border: 1px solid var(--swcs-border); border-radius: 10px; background: #fff; color: var(--swcs-text); box-shadow: var(--swcs-shadow); }
.swcs-location-count:hover, .swcs-location-count.is-active { border-color: var(--swcs-primary); background: var(--swcs-primary-light); color: var(--swcs-primary-dark); }
.swcs-location-count strong { font-size: 1.8rem; line-height: 1; }
.swcs-location-count span { font-size: .82rem; font-weight: 800; }
.swcs-location-card { padding: 1.35rem; border: 1px solid var(--swcs-border); border-radius: 12px; background: #fff; box-shadow: var(--swcs-shadow); transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease; }
.swcs-location-card:hover { border-color: var(--swcs-primary); box-shadow: var(--swcs-shadow-lg); transform: translateY(-3px); }
.swcs-location-card__top { display: flex; align-items: center; justify-content: space-between; color: var(--swcs-primary); }
.swcs-location-card__top .dashicons { font-size: 1.6rem; }
.swcs-location-card__type { padding: .25rem .55rem; border-radius: 999px; background: var(--swcs-primary-light); color: var(--swcs-primary-dark); font-size: .7rem; font-weight: 800; }
.swcs-location-card h2 { margin: 1rem 0 .45rem; font-size: 1.2rem; }
.swcs-location-card h2 a { color: var(--swcs-text); }
.swcs-location-card p { min-height: 2.8rem; margin: 0 0 .7rem; color: var(--swcs-text-light); font-size: .9rem; }
.swcs-location-card small { display: block; color: var(--swcs-text-light); font-size: .75rem; }
.swcs-location-card__link { display: inline-block; margin-top: 1rem; color: var(--swcs-primary); font-size: .85rem; font-weight: 800; }
.swcs-location-pagination { display: flex; justify-content: center; margin-top: 2rem; }
.swcs-location-pagination ul.page-numbers { display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: .45rem; margin: 0; padding: 0; list-style: none; }
.swcs-location-pagination .page-numbers { display: inline-flex; min-width: 2.5rem; height: 2.5rem; align-items: center; justify-content: center; padding: 0 .7rem; border: 1px solid var(--swcs-border); border-radius: 8px; background: #fff; color: var(--swcs-text); font-size: .85rem; font-weight: 800; text-decoration: none; transition: background .2s ease, border-color .2s ease, color .2s ease, transform .2s ease; }
.swcs-location-pagination a.page-numbers:hover, .swcs-location-pagination a.page-numbers:focus-visible { border-color: var(--swcs-primary); background: var(--swcs-primary-light); color: var(--swcs-primary-dark); transform: translateY(-2px); }
.swcs-location-pagination .page-numbers.current { border-color: var(--swcs-primary); background: var(--swcs-primary); color: #fff; }
.swcs-location-pagination .page-numbers.dots { border-color: transparent; background: transparent; }
.swcs-location-single__grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(320px, .9fr); gap: 2rem; align-items: start; }
.swcs-location-single__copy { margin: 1.5rem 0; }
.swcs-location-details { padding: 1.25rem; border: 1px solid var(--swcs-border); border-radius: 12px; background: #fff; box-shadow: var(--swcs-shadow); }
.swcs-location-single, .swcs-location-details, .swcs-location-facts, .swcs-location-map { display: block !important; visibility: visible !important; opacity: 1 !important; }
.swcs-location-single__image img { width: 100%; border-radius: 12px; }
.swcs-location-facts { display: grid; gap: .8rem; margin: 1.5rem 0; }
.swcs-location-facts div { padding: .85rem 1rem; border-left: 3px solid var(--swcs-primary); background: var(--swcs-bg-alt); }
.swcs-location-facts dt { color: var(--swcs-text-light); font-size: .75rem; font-weight: 800; text-transform: uppercase; }
.swcs-location-facts dd { margin: .2rem 0 0; color: var(--swcs-text); }
.swcs-location-map { min-height: 360px; overflow: hidden; border: 1px solid var(--swcs-border); border-radius: 12px; box-shadow: var(--swcs-shadow); }
.swcs-location-map iframe { display: block; width: 100%; height: 360px; border: 0; }
.swcs-location-map--empty { display: flex; min-height: 360px; flex-direction: column; align-items: center; justify-content: center; padding: 2rem; background: var(--swcs-bg-alt); color: var(--swcs-text-light); text-align: center; }
.swcs-location-map--empty { display: flex !important; }
.swcs-location-map--empty .dashicons { width: 3rem; height: 3rem; margin-bottom: .75rem; color: var(--swcs-primary); font-size: 3rem; }
.swcs-location-map--empty strong { color: var(--swcs-text); }
.swcs-department-card__social { display: flex; gap: .5rem; margin-top: .25rem; color: var(--swcs-primary); }
.swcs-department-card__social .dashicons { width: 15px; height: 15px; font-size: 15px; }
.swcs-social-icon { display: block; width: 16px; height: 16px; fill: currentColor; stroke: currentColor; stroke-width: 1.4; }
.swcs-leadership-card__social .swcs-social-icon, .swcs-department-card__social .swcs-social-icon { width: 14px; height: 14px; }
.swcs-leader-spotlight { background: var(--swcs-bg-alt); }
.swcs-leader-spotlight__grid { display: grid; grid-template-columns: minmax(220px, .7fr) minmax(0, 1.3fr); gap: 3rem; align-items: center; }
.swcs-leader-spotlight__photo { width: min(100%, 330px); aspect-ratio: 1; overflow: hidden; border-radius: 50%; background: var(--swcs-primary-light); color: var(--swcs-primary); box-shadow: 0 0 0 10px #fff, 0 12px 32px rgba(0,0,0,.12); }
.swcs-leader-spotlight__image { width: 100%; height: 100%; object-fit: cover; }
.swcs-leader-spotlight__photo .dashicons { display: grid; width: 100%; height: 100%; place-items: center; font-size: 5rem; }
.swcs-leader-spotlight__content h2 { margin: .5rem 0 .35rem; color: var(--swcs-text); font-size: clamp(2rem, 4vw, 3.25rem); line-height: 1.05; }
.swcs-leader-spotlight__role { margin: 0 0 1.25rem; color: var(--swcs-primary); font-weight: 800; }
.swcs-leader-spotlight blockquote { margin: 0 0 1.5rem; padding-left: 1.25rem; border-left: 3px solid var(--swcs-accent); color: var(--swcs-text-light); font-size: 1.1rem; line-height: 1.75; }
.swcs-leader-spotlight blockquote cite { display: block; margin-top: .75rem; color: var(--swcs-text); font-size: .78rem; font-style: normal; font-weight: 800; }
.swcs-article h2 { margin: 2rem 0 1rem; }
.swcs-department-resources { display: grid; grid-template-columns: repeat(2, 1fr); gap: 1rem; }
@media (max-width: 760px) { .swcs-department-contact, .swcs-department-resources { grid-template-columns: 1fr; flex-direction: column; gap: 1rem; } }
.swcs-contact-form { background: #fff; border: 1px solid var(--swcs-border); padding: 1.5rem; box-shadow: var(--swcs-shadow); }
.swcs-contact-form p { margin-bottom: 1rem; }
.swcs-contact-form label { display: block; font-weight: 700; font-size: .85rem; margin-bottom: .35rem; }
.swcs-contact-form input:not([type="hidden"]), .swcs-contact-form textarea { width: 100%; border: 1px solid var(--swcs-border); padding: .75rem; font: inherit; border-radius: 5px; }
.swcs-contact-form input:focus, .swcs-contact-form textarea:focus { outline: 2px solid var(--swcs-accent); outline-offset: 1px; }
.swcs-contact-form__trap { position: absolute; left: -9999px; }
.swcs-accountability-honeypot { position: absolute !important; left: -9999px !important; width: 1px; height: 1px; overflow: hidden; }
.swcs-accountability-form { max-width: 760px; margin: 1.5rem auto; padding: clamp(1.25rem, 4vw, 2.25rem); border: 1px solid var(--swcs-border); border-radius: 18px; background: #fff; box-shadow: 0 18px 45px rgba(15,23,42,.1); }
.swcs-accountability-form__intro { display: flex; gap: .85rem; align-items: flex-start; margin-bottom: 1.5rem; padding: 1rem; border-radius: 12px; background: var(--swcs-primary-light); color: var(--swcs-text); }
.swcs-accountability-form__intro > .dashicons { display: grid; width: 2.3rem; height: 2.3rem; flex: 0 0 2.3rem; place-items: center; border-radius: 50%; background: var(--swcs-primary); color: #fff; }
.swcs-accountability-form__intro strong { display: block; margin-bottom: .2rem; font-size: .9rem; }
.swcs-accountability-form__intro p { margin: 0; color: var(--swcs-text-light); font-size: .8rem; line-height: 1.5; }
.swcs-accountability-form__grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; }
.swcs-accountability-form p { margin: 0 0 1rem; }
.swcs-accountability-form label { display: block; color: var(--swcs-text); font-size: .78rem; font-weight: 800; }
.swcs-accountability-form input:not([type="hidden"]), .swcs-accountability-form select, .swcs-accountability-form textarea { display: block; width: 100%; box-sizing: border-box; margin-top: .4rem; padding: .8rem .9rem; border: 1px solid var(--swcs-border); border-radius: 9px; background: #fbfdfb; color: var(--swcs-text); font: inherit; font-size: .9rem; transition: border-color .2s ease, box-shadow .2s ease, background .2s ease; }
.swcs-accountability-form textarea { min-height: 145px; resize: vertical; }
.swcs-accountability-form input::placeholder, .swcs-accountability-form textarea::placeholder { color: #9aa9a2; }
.swcs-accountability-form input:focus, .swcs-accountability-form select:focus, .swcs-accountability-form textarea:focus { border-color: var(--swcs-primary); outline: 0; background: #fff; box-shadow: 0 0 0 3px rgba(4,120,87,.12); }
.swcs-accountability-form__upload label { display: grid; grid-template-columns: auto 1fr; gap: .15rem .65rem; align-items: center; padding: 1rem; border: 1px dashed #a8bdb1; border-radius: 12px; background: #f8fbf8; cursor: pointer; }
.swcs-accountability-form__upload label > .dashicons { grid-row: span 2; font-size: 1.5rem; color: var(--swcs-primary); }
.swcs-accountability-form__upload small { color: var(--swcs-text-light); font-size: .72rem; font-weight: 400; }
.swcs-accountability-form__upload input[type="file"] { grid-column: 2; padding: .45rem; border: 0; background: transparent; font-size: .75rem; }
.swcs-accountability-form__submit { display: inline-flex; gap: .5rem; align-items: center; justify-content: center; width: 100%; }
.swcs-accountability-form .swcs-form-notice { margin-bottom: 1rem; border-radius: 9px; }
.swcs-accountability-list { display: grid; gap: 1rem; max-width: 760px; margin: 1.5rem auto; }
.swcs-accountability-list__item { padding: 1.2rem; border: 1px solid var(--swcs-border); border-radius: 14px; background: #fff; box-shadow: 0 10px 24px rgba(15,23,42,.06); }
.swcs-accountability-list__item h3 { margin: .25rem 0 .5rem; color: var(--swcs-text); font-size: 1rem; }
.swcs-accountability-list__date { color: var(--swcs-text-light); font-size: .72rem; }
.swcs-accountability-list__status { display: inline-block; padding: .35rem .65rem; border-radius: 999px; background: var(--swcs-primary-light); color: var(--swcs-primary-dark); font-size: .72rem; text-transform: capitalize; }
.swcs-accountability-list__response { margin-top: .85rem; padding: .8rem; border-left: 3px solid var(--swcs-accent); background: #fffbeb; color: var(--swcs-text-light); font-size: .85rem; }
.swcs-accountability-list__response p { margin: .25rem 0 0; line-height: 1.55; }
@media (max-width: 600px) { .swcs-accountability-form__grid { grid-template-columns: 1fr; gap: 0; } .swcs-accountability-form { border-radius: 14px; } }
.swcs-form-notice { padding: .75rem 1rem; margin-bottom: 1rem; border-left: 4px solid var(--swcs-secondary); background: var(--swcs-primary-light); }
.swcs-form-notice--error { border-left-color: #b91c1c; background: #fef2f2; }
@media (max-width: 760px) { .swcs-contact-grid, .swcs-feature-grid, .swcs-service-grid { grid-template-columns: 1fr; } .swcs-contact-grid { gap: 1.25rem; } .swcs-contact-form { padding: 1.1rem; } }

/* Homepage section sequence: leadership, departments, updates, gallery, quick links. */
.home .site-main { display: flex; flex-direction: column; }
.home .swcs-home-stream { display: flex; flex-direction: column; }
.home .site-main > .swcs-leadership-section { order: 10; }
.home .site-main > #departments { order: 20; }
.home .site-main > .swcs-blogger-section { order: 25; }
.home .site-main > .swcs-latest-updates { order: 30; }
.home .site-main > .swcs-gallery-section { order: 40; }
.home .site-main > .swcs-quick-links-section { order: 50; }
.home .site-main > .swcs-jobs-section { order: 60; }
.home .site-main > .swcs-contact-section { order: 70; }

@media (min-width: 769px) {
    .swcs-header__inner { justify-content: flex-end; }
    .swcs-logo { margin-right: auto; }
    .swcs-nav { display: flex; }
}
@media (max-width: 760px) {
    .swcs-header__inner { height: 76px; }
    .swcs-logo__title { font-size: .95rem; }
    .swcs-logo__subtitle { display: none; }
    .swcs-hero { min-height: 520px; height: calc(100vh - 76px); }
    .swcs-hero__title { font-size: clamp(2.7rem, 13vw, 4.4rem); }
    .swcs-quicklinks { grid-template-columns: repeat(2, 1fr); }
}

.swcs-announcement {
    background: var(--swcs-accent);
    color: #3b2600;
    font-size: 0.875rem;
}
.swcs-announcement__inner {
    min-height: 42px;
    display: flex;
    align-items: center;
    gap: 0.65rem;
}
.swcs-announcement a { color: #3b2600; font-weight: 700; text-decoration: underline; }
.swcs-announcement__close { margin-left: auto; border: 0; background: transparent; color: inherit; font-size: 1.4rem; cursor: pointer; line-height: 1; }

.swcs-section--alerts { background: #fffaf0; }
.swcs-alerts { display: grid; gap: 0.75rem; }
.swcs-alert { display: flex; align-items: flex-start; gap: 1rem; padding: 1.1rem 1.25rem; border-left: 4px solid var(--swcs-secondary); background: #fff; box-shadow: var(--swcs-shadow); }
.swcs-alert--warning { border-left-color: var(--swcs-accent); }
.swcs-alert--urgent { border-left-color: #b91c1c; }
.swcs-alert h3 { margin: 0 0 0.25rem; font-size: 1rem; }
.swcs-alert p { margin: 0; color: var(--swcs-text-light); }

/* ────────────────────────────────────────────────────────────
   Top Bar
   ──────────────────────────────────────────────────────────── */
.swcs-topbar {
    background: var(--swcs-primary-dark);
    color: #DCEAF2;
    height: var(--swcs-topbar-height);
    display: flex;
    align-items: center;
    font-size: 0.75rem;
    overflow: hidden;
}
.swcs-topbar__inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;
    gap: 1rem;
}
.swcs-topbar__left { display: flex; align-items: center; gap: 1rem; }
.swcs-topbar__contact { display: flex; align-items: center; gap: 0.5rem; }
.swcs-topbar__contact a { color: #DCEAF2; }
.swcs-topbar__contact a:hover { color: #fff; }
.swcs-lang-switcher { display: flex; align-items: center; gap: 0.25rem; }
.swcs-lang-switcher a {
    padding: 0.125rem 0.375rem;
    border-radius: 4px;
    font-size: 0.6875rem;
    font-weight: 600;
}
.swcs-lang-switcher a.active,
.swcs-lang-switcher a:hover { background: rgba(255,255,255,0.15); color: #fff; }

/* Breaking news ticker */
.swcs-ticker {
    flex: 1;
    overflow: hidden;
    position: relative;
    height: var(--swcs-topbar-height);
    display: flex;
    align-items: center;
}
.swcs-ticker__label {
    background: var(--swcs-accent);
    color: #fff;
    padding: 0.25rem 0.75rem;
    border-radius: 4px;
    font-weight: 700;
    font-size: 0.6875rem;
    text-transform: uppercase;
    letter-spacing: 0.03em;
    margin-right: 0.75rem;
    white-space: nowrap;
    flex-shrink: 0;
}
.swcs-ticker__track {
    display: flex;
    gap: 3rem;
    white-space: nowrap;
    animation: swcs-ticker-scroll 40s linear infinite;
}
.swcs-ticker__item { color: #DCEAF2; font-size: 0.75rem; }
.swcs-ticker__item a { color: #DCEAF2; }
.swcs-ticker__item a:hover { color: #fff; }
@keyframes swcs-ticker-scroll {
    0% { transform: translateX(0); }
    100% { transform: translateX(-50%); }
}
.swcs-ticker:hover .swcs-ticker__track { animation-play-state: paused; }

/* Search */
.swcs-topbar__search { display: flex; align-items: center; }
.swcs-topbar__search input {
    background: rgba(255,255,255,0.1);
    border: 1px solid rgba(255,255,255,0.2);
    color: #fff;
    padding: 0.375rem 0.75rem;
    border-radius: 6px;
    font-size: 0.75rem;
    width: 180px;
    outline: none;
    transition: var(--swcs-transition);
}
.swcs-topbar__search input::placeholder { color: rgba(255,255,255,0.5); }
.swcs-topbar__search input:focus { background: rgba(255,255,255,0.15); width: 220px; }
.swcs-topbar__search button {
    background: none;
    border: none;
    color: #DCEAF2;
    cursor: pointer;
    padding: 0.375rem;
    margin-left: -2rem;
}
.swcs-topbar__search button:hover { color: #fff; }

/* ────────────────────────────────────────────────────────────
   Header / Navigation
   ──────────────────────────────────────────────────────────── */
.swcs-header {
    background: var(--swcs-white);
    box-shadow: 0 1px 3px rgba(0,0,0,0.06);
    position: sticky;
    top: 0;
    z-index: 1000;
    transition: var(--swcs-transition);
}
.swcs-header.scrolled { box-shadow: var(--swcs-shadow); }
.swcs-header__inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    height: var(--swcs-header-height);
}
.swcs-logo { display: flex; align-items: center; gap: 0.75rem; min-width: 0; text-decoration: none; }
.swcs-logo .custom-logo-link {
    display: block;
    width: var(--swcs-logo-size, 48px);
    height: var(--swcs-logo-size, 48px);
    flex: 0 0 var(--swcs-logo-size, 48px);
    overflow: hidden;
}
.swcs-logo .custom-logo {
    display: block;
    width: 100% !important;
    height: 100% !important;
    object-fit: contain;
}
.swcs-logo__mark {
    width: var(--swcs-logo-size, 48px);
    height: var(--swcs-logo-size, 48px);
    border-radius: 10px;
    background: linear-gradient(135deg, var(--swcs-primary), var(--swcs-primary-dark));
    display: flex;
    align-items: center;
    justify-content: center;
    color: #fff;
    font-weight: 700;
    font-size: 1.25rem;
    flex-shrink: 0;
}
.swcs-logo__text { line-height: 1.2; }
.swcs-logo__title { font-weight: 700; font-size: 0.875rem; color: var(--swcs-text); }
.swcs-logo__subtitle { font-size: 0.625rem; color: var(--swcs-primary); font-weight: 600; letter-spacing: 0.05em; }

/* Nav */
.swcs-nav { display: flex; align-items: center; gap: 0.25rem; list-style: none; margin: 0; padding: 0; }
.swcs-nav__item { position: relative; }
.swcs-nav__link {
    display: flex;
    align-items: center;
    gap: 0.25rem;
    padding: 0.5rem 1rem;
    border-radius: 6px;
    font-size: 0.875rem;
    font-weight: 600;
    color: var(--swcs-text);
    text-decoration: none;
    transition: var(--swcs-transition);
}
.swcs-nav__item::after { content: ''; position: absolute; left: 1rem; right: 1rem; bottom: 0; height: 3px; background: var(--swcs-accent); transform: scaleX(0); transform-origin: center; transition: transform .25s ease; }
.swcs-nav__item:hover::after, .swcs-nav__item.current-menu-item::after, .swcs-nav__item.current-menu-ancestor::after { transform: scaleX(1); }
.swcs-nav__item--featured > .swcs-nav__link { background: var(--swcs-primary); color: #fff; }
.swcs-nav__item--featured > .swcs-nav__link:hover { background: var(--swcs-primary-dark); color: #fff; }
.swcs-nav__link:focus-visible { outline: 3px solid var(--swcs-accent); outline-offset: 2px; }
.swcs-nav__link:hover,
.swcs-nav__item.current-menu-item > .swcs-nav__link {
    color: var(--swcs-primary);
    background: var(--swcs-primary-light);
}
.swcs-nav__sub {
    position: absolute;
    top: 100%;
    left: 0;
    min-width: 200px;
    background: #fff;
    border-radius: 8px;
    box-shadow: var(--swcs-shadow-lg);
    border: 1px solid var(--swcs-border);
    padding: 0.5rem 0;
    list-style: none;
    margin: 0;
    opacity: 0;
    visibility: hidden;
    transform: translateY(8px);
    transition: var(--swcs-transition);
    z-index: 100;
}
.swcs-nav__item:hover > .swcs-nav__sub { opacity: 1; visibility: visible; transform: translateY(0); }
.swcs-nav__item.submenu-open > .swcs-nav__sub { opacity: 1; visibility: visible; transform: translateY(0); }
.swcs-nav__sub .swcs-nav__link {
    padding: 0.5rem 1rem;
    border-radius: 4px;
    margin: 0 0.25rem;
}
.swcs-nav__sub .swcs-nav__link:hover { background: var(--swcs-primary-light); }

/* Mobile toggle */
.swcs-menu-toggle {
    display: none;
    background: none;
    border: none;
    cursor: pointer;
    padding: 0.5rem;
}
.swcs-menu-toggle span {
    display: block;
    width: 24px;
    height: 3px;
    background: var(--swcs-text);
    border-radius: 2px;
    margin: 4px 0;
    transition: var(--swcs-transition);
}
.swcs-menu-toggle:focus-visible { outline: 3px solid var(--swcs-accent); outline-offset: 2px; }
.swcs-btn--primary { background: var(--swcs-button-bg, var(--swcs-primary)); color: var(--swcs-button-text, #fff); }
.swcs-btn--primary:hover, .swcs-btn--primary:focus-visible { background: var(--swcs-button-hover, var(--swcs-primary-dark)); color: var(--swcs-button-text, #fff); }

/* ────────────────────────────────────────────────────────────
   Hero Carousel
   ──────────────────────────────────────────────────────────── */
.swcs-hero {
    position: relative;
    height: 480px;
    overflow: hidden;
    background: transparent;
}
.swcs-hero__slide {
    position: absolute;
    inset: 0;
    opacity: 0;
    transition: opacity 1s ease;
    display: flex;
    align-items: center;
}
.swcs-hero__slide.active { opacity: 1; }
.swcs-hero__slide::before {
    content: '';
    position: absolute;
    inset: 0;
    background: rgba(var(--swcs-hero-overlay-rgb, 6, 56, 29), var(--swcs-hero-overlay-opacity, .78));
    display: block;
    z-index: 1;
}
.swcs-hero--overlay-off .swcs-hero__slide::before { display: none; }
.swcs-hero__slide img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    z-index: 0;
}
.swcs-hero__video {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    z-index: 1;
    cursor: pointer;
}
.swcs-hero__content {
    position: relative;
    z-index: 2;
    width: min(100% - 3rem, 640px);
    max-width: 640px;
    padding: 0 1.5rem;
    color: #fff;
}
.swcs-hero--align-center .swcs-hero__content { margin-inline: auto; text-align: center; }
.swcs-hero--align-right .swcs-hero__content { margin-left: auto; text-align: right; }
.swcs-hero--align-justify .swcs-hero__content { text-align: justify; }
.swcs-hero--align-center .swcs-hero__badge { margin-inline: auto; }
.swcs-hero--align-right .swcs-hero__badge { margin-left: auto; }
.swcs-hero--align-center .swcs-hero__actions { justify-content: center; }
.swcs-hero--align-right .swcs-hero__actions { justify-content: flex-end; }
.swcs-hero--align-justify .swcs-hero__actions { justify-content: flex-start; }
.swcs-hero__badge {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.25rem 0.75rem;
    border-radius: 999px;
    background: rgba(255,255,255,0.15);
    border: 1px solid rgba(255,255,255,0.25);
    font-size: 0.75rem;
    font-weight: 600;
    margin-bottom: 1rem;
}
.swcs-hero__badge::before {
    content: '';
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: #6ee7b7;
    animation: swcs-pulse 2s ease infinite;
}
@keyframes swcs-pulse { 0%,100% { opacity: 1; } 50% { opacity: 0.4; } }
.swcs-hero__title {
    font-size: 2.5rem;
    font-weight: 800;
    line-height: 1.2;
    margin-bottom: 1rem;
}
.swcs-hero__desc { font-size: 1.125rem; color: rgba(255,255,255,0.8); margin-bottom: 1.5rem; line-height: 1.6; }
.swcs-hero__actions { display: flex; gap: 0.75rem; flex-wrap: wrap; }
.swcs-hero__btn {
    padding: 0.75rem 1.5rem;
    border-radius: 8px;
    font-weight: 600;
    font-size: 0.875rem;
    text-decoration: none;
    transition: var(--swcs-transition);
    border: none;
    cursor: pointer;
}
.swcs-hero__btn--primary { background: var(--swcs-button-bg); color: var(--swcs-button-text); }
.swcs-hero__btn--outline { background: transparent; border-color: var(--swcs-button-text); color: var(--swcs-button-text); }
.swcs-hero__btn--outline:hover, .swcs-hero__btn--outline:focus-visible { background: var(--swcs-button-bg); border-color: var(--swcs-button-bg); color: var(--swcs-button-text); }

/* Hero dots */
.swcs-hero__dots {
    position: absolute;
    bottom: 1.5rem;
    left: 50%;
    transform: translateX(-50%);
    display: flex;
    gap: 0.5rem;
    z-index: 3;
}
.swcs-hero__dot {
    width: 10px;
    height: 10px;
    border-radius: 50%;
    background: rgba(255,255,255,0.4);
    cursor: pointer;
    border: none;
    transition: var(--swcs-transition);
}
.swcs-hero__dot.active { background: #fff; width: 28px; border-radius: 5px; }
.swcs-hero__controls { position: absolute; right: 2rem; bottom: 1.5rem; z-index: 3; display: flex; gap: .4rem; }
.swcs-hero__control { display: inline-flex; align-items: center; justify-content: center; width: 2rem; height: 2rem; padding: 0; border: 1px solid rgba(255,255,255,.45); border-radius: 50%; background: rgba(0,0,0,.2); color: #fff; cursor: pointer; }
.swcs-hero__control:hover, .swcs-hero__control:focus-visible { border-color: var(--swcs-accent); color: var(--swcs-accent); }

/* Optional legacy-inspired editorial hero. */
.swcs-additional-hero {
    display: grid;
    grid-template-columns: minmax(320px, .78fr) minmax(0, 1.22fr);
    min-height: 600px;
    background: #fff;
}
.swcs-additional-hero__copy {
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: 4rem clamp(1.5rem, 8vw, 7rem);
    color: #111;
}
.swcs-additional-hero__rule { width: 3rem; height: 4px; margin-bottom: 2rem; background: #d7aa55; }
.swcs-additional-hero h1 { max-width: 430px; margin: 0 0 2rem; font-family: Georgia, 'Times New Roman', serif; font-size: clamp(2.3rem, 4vw, 3.5rem); font-weight: 400; line-height: 1.05; text-transform: uppercase; }
.swcs-additional-hero blockquote { position: relative; max-width: 460px; margin: 0; padding-left: 2.8rem; color: #34516c; }
.swcs-additional-hero blockquote p { margin: 0 0 1rem; font-size: 1.1rem; line-height: 1.65; }
.swcs-additional-hero__quote-mark { position: absolute; top: -.55rem; left: 0; color: #17607e; font-size: 3.8rem; font-weight: 700; line-height: 1; }
.swcs-additional-hero cite { display: block; padding-left: 1.8rem; color: #718399; font-size: .75rem; font-style: italic; letter-spacing: .08em; }
.swcs-additional-hero cite::before { content: ''; display: inline-block; width: 1rem; height: 1px; margin: 0 .75rem .25rem -1.8rem; background: #d7aa55; }
.swcs-additional-hero__carousel { position: relative; min-height: 600px; overflow: hidden; background: #203a4e; }
.swcs-additional-hero__feature { position: absolute; inset: 0; display: flex; opacity: 0; visibility: hidden; align-items: flex-end; background: #203a4e; color: #fff; transition: opacity .6s ease, visibility .6s ease; }
.swcs-additional-hero__feature.active { opacity: 1; visibility: visible; }
.swcs-additional-hero__feature-image { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: center; transition: filter .4s ease; }
.swcs-additional-hero__feature:hover .swcs-additional-hero__feature-image { filter: brightness(1.08) saturate(1.08); }
.swcs-additional-hero__feature.active .swcs-additional-hero__feature-content { animation: swcs-feature-content-in .7s ease both; }
@keyframes swcs-feature-content-in { from { opacity: 0; transform: translateY(1rem); } to { opacity: 1; transform: translateY(0); } }
.swcs-additional-hero__feature-overlay { position: absolute; inset: 0; background: linear-gradient(180deg, rgba(7,21,31,.05) 20%, rgba(7,21,31,.9) 92%); }
.swcs-additional-hero__feature-content { position: relative; z-index: 1; width: 100%; max-width: 760px; padding: 3rem clamp(1.5rem, 5vw, 4rem) 5rem; }
.swcs-additional-hero__feature-category { display: inline-flex; margin-bottom: 1rem; padding: .35rem .8rem; border-radius: 999px; background: #d7aa55; color: #173f5b; font-size: .68rem; font-weight: 800; letter-spacing: .1em; }
.swcs-additional-hero__feature h3 { min-height: 6.5rem; margin: 0 0 1rem; color: #fff; font-family: Georgia, 'Times New Roman', serif; font-size: clamp(1.8rem, 3.2vw, 3rem); font-weight: 400; line-height: 1.08; }
.swcs-additional-hero__feature p { min-height: 7.7rem; max-width: 680px; margin: 0 0 1.5rem; color: rgba(255,255,255,.78); font-size: .98rem; line-height: 1.6; }
.swcs-additional-hero__button { display: inline-flex; align-self: flex-start; padding: .75rem 1.35rem; border: 1px solid rgba(255,255,255,.65); color: #fff; font-size: .78rem; font-weight: 700; letter-spacing: .12em; text-decoration: none; text-transform: uppercase; transition: var(--swcs-transition); }
.swcs-additional-hero__button:hover, .swcs-additional-hero__button:focus-visible { background: #d7aa55; border-color: #d7aa55; color: #173f5b; }
.swcs-additional-hero__dots { position: absolute; right: 2rem; bottom: 1.5rem; z-index: 2; display: flex; gap: .45rem; }
.swcs-additional-hero__dot { width: 10px; height: 10px; padding: 0; border: 0; border-radius: 50%; background: rgba(255,255,255,.45); cursor: pointer; }
.swcs-additional-hero__dot.active { width: 28px; border-radius: 5px; background: #d7aa55; }
.swcs-additional-hero__controls { position: absolute; right: 2rem; top: 1.5rem; z-index: 2; display: flex; gap: .4rem; }
.swcs-additional-hero__control { display: inline-flex; width: 2rem; height: 2rem; align-items: center; justify-content: center; padding: 0; border: 1px solid rgba(255,255,255,.55); border-radius: 50%; background: rgba(7,21,31,.35); color: #fff; cursor: pointer; }

/* ────────────────────────────────────────────────────────────
   Stats Counter
   ──────────────────────────────────────────────────────────── */
.swcs-stats {
    background: var(--swcs-stats-bg, var(--swcs-primary-dark));
    color: var(--swcs-stats-text, #fff);
    padding: 2rem 0;
}
.swcs-stats__grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 1.5rem;
}
.swcs-stat {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    min-width: 0;
    padding: 1rem;
    border-radius: 8px;
    transition: transform .25s ease, background .25s ease;
}
.swcs-stats--cards .swcs-stat { background: rgba(255,255,255,.08); border: 1px solid rgba(255,255,255,.12); }
.swcs-stats--cards .swcs-stat:hover { transform: translateY(-3px); background: rgba(255,255,255,.14); }
.swcs-stats--center .swcs-stats__grid { justify-items: center; }
.swcs-stats--center .swcs-stat { flex-direction: column; text-align: center; width: 100%; }
.swcs-stat__icon {
    width: 48px;
    height: 48px;
    border-radius: 10px;
    background: color-mix(in srgb, var(--swcs-stats-icon, #f5c451) 18%, transparent);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.5rem;
    color: var(--swcs-stats-icon, #f5c451);
    flex-shrink: 0;
}
.swcs-stat__icon img { width: 40px; height: 40px; }
.swcs-stat__value { font-size: clamp(1.4rem, 2.5vw, 1.75rem); font-weight: 800; line-height: 1; color: var(--swcs-stats-text, #fff); }
.swcs-stat__label { font-size: 0.75rem; color: color-mix(in srgb, var(--swcs-stats-text, #fff) 68%, transparent); }

/* ────────────────────────────────────────────────────────────
   Quick Links Grid
   ──────────────────────────────────────────────────────────── */
.swcs-section { padding: 4rem 0; }
.swcs-section--alt { background: var(--swcs-bg-alt); }
.swcs-section__header { text-align: center; margin-bottom: 2.5rem; }
.swcs-section__title { font-size: 1.875rem; font-weight: 800; color: var(--swcs-text); margin-bottom: 0.5rem; }
.swcs-section__desc { color: var(--swcs-text-light); font-size: 0.9375rem; }

.swcs-quicklinks {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 1.5rem;
}
.swcs-quicklink {
    background: #fff;
    border: 1px solid var(--swcs-border);
    border-radius: var(--swcs-radius);
    padding: 1.5rem;
    text-align: center;
    text-decoration: none;
    color: var(--swcs-text);
    transition: var(--swcs-transition);
}
.swcs-quicklink:hover {
    border-color: var(--swcs-primary);
    box-shadow: var(--swcs-shadow);
    transform: translateY(-4px);
    color: var(--swcs-primary);
}
.swcs-quicklink__icon {
    width: 56px;
    height: 56px;
    border-radius: 12px;
    background: var(--swcs-primary-light);
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0 auto 1rem;
    font-size: 1.5rem;
    color: var(--swcs-primary);
    transition: var(--swcs-transition);
}
.swcs-quicklink:hover .swcs-quicklink__icon { background: var(--swcs-primary); color: #fff; }
.swcs-quicklink__title { font-weight: 700; font-size: 0.9375rem; margin-bottom: 0.25rem; }
.swcs-quicklink__desc { font-size: 0.75rem; color: var(--swcs-text-light); }

/* Gallery */
.swcs-gallery-section { background: #fff; }
.swcs-gallery-archive, .swcs-gallery-single { background: var(--swcs-bg-alt); }
.swcs-gallery-section__header { margin-bottom: 2rem; text-align: center; }
.swcs-gallery-section__header .swcs-eyebrow { color: var(--swcs-primary); }
.swcs-gallery-section__link { color: var(--swcs-primary); font-size: .8rem; font-weight: 800; }
.swcs-gallery-pills { display: flex; flex-wrap: wrap; justify-content: center; gap: .5rem; margin-top: 1.25rem; }
.swcs-gallery-pills span, .swcs-gallery-pills a { padding: .5rem .9rem; border: 1px solid var(--swcs-border); border-radius: 999px; background: #fff; color: var(--swcs-text-light); font-size: .72rem; font-weight: 700; text-decoration: none; }
.swcs-gallery-pills span.is-active, .swcs-gallery-pills a:hover { border-color: var(--swcs-text); background: var(--swcs-text); color: #fff; }
.swcs-gallery-pills button { padding: .5rem .9rem; border: 1px solid var(--swcs-border); border-radius: 999px; background: #fff; color: var(--swcs-text-light); font-size: .72rem; font-weight: 700; cursor: pointer; }
.swcs-gallery-pills button.is-active, .swcs-gallery-pills button:hover { border-color: var(--swcs-text); background: var(--swcs-text); color: #fff; }
.swcs-visual-diary { max-width: 1180px; margin: 0 auto; }
.swcs-visual-diary__filters { flex-wrap: nowrap; justify-content: flex-start; overflow-x: auto; padding: .25rem .1rem .75rem; }
.swcs-visual-diary__filters a { margin-left: auto; white-space: nowrap; }
.swcs-visual-diary__stage { position: relative; height: 490px; margin: 2rem auto 1rem; overflow: hidden; perspective: 1200px; }
.swcs-visual-diary__card { position: absolute; top: 0; left: 50%; width: min(31vw, 350px); height: 440px; margin-left: min(-15.5vw, -175px); overflow: hidden; border: 4px solid #fff; border-radius: 2rem; background: #d9e2dc; box-shadow: 0 26px 55px rgba(14,41,31,.25); transform-origin: center bottom; transition: transform .6s cubic-bezier(.2,.8,.2,1), opacity .6s ease, filter .6s ease; }
.swcs-visual-diary__card[aria-hidden="true"] { pointer-events: none; }
.swcs-visual-diary__image { display: block; position: relative; width: 100%; height: 100%; overflow: hidden; color: #fff; }
.swcs-visual-diary__image img { display: block; width: 100%; height: 100%; object-fit: cover; }
.swcs-visual-diary__image::after { position: absolute; inset: 0; background: linear-gradient(180deg, transparent 52%, rgba(7,20,15,.72)); content: ''; }
.swcs-visual-diary__caption { position: absolute; z-index: 1; right: 1.15rem; bottom: 1.05rem; left: 1.15rem; color: #fff; }
.swcs-visual-diary__caption small { display: block; margin-bottom: .3rem; color: #d7e9df; font-size: .62rem; font-weight: 700; letter-spacing: .15em; text-transform: uppercase; }
.swcs-visual-diary__caption strong { display: block; font-family: Georgia, 'Times New Roman', serif; font-size: 1.35rem; font-weight: 400; line-height: 1.05; }
.swcs-visual-diary__play { position: absolute; z-index: 2; top: 1rem; right: 1rem; display: grid; width: 2.65rem; height: 2.65rem; place-items: center; border: 1px solid rgba(255,255,255,.7); border-radius: 50%; background: rgba(17,37,29,.52); }
.swcs-visual-diary__play::before { margin-left: .16rem; border-top: .35rem solid transparent; border-bottom: .35rem solid transparent; border-left: .5rem solid #fff; content: ''; }
.swcs-visual-diary__controls { display: flex; align-items: center; justify-content: center; gap: .85rem; }
.swcs-visual-diary__dots { display: flex; gap: .35rem; min-width: 3rem; justify-content: center; }
.swcs-visual-diary__dot { width: .5rem; height: .5rem; padding: 0; border: 0; border-radius: 999px; background: var(--swcs-border); cursor: pointer; }
.swcs-visual-diary__dot.is-active { width: 1.5rem; background: var(--swcs-primary); }
.swcs-react-gallery { color: #0f172a; }
.swcs-react-gallery__copy { max-width: 540px; }
.swcs-react-gallery__eyebrow { display: block; margin-bottom: 1.25rem; color: var(--swcs-primary); font-size: .72rem; font-weight: 800; letter-spacing: .2em; text-transform: uppercase; }
.swcs-react-gallery__title { max-width: 600px; margin: 0; color: #111827; font-size: clamp(2.35rem, 5vw, 4.1rem); font-weight: 700; letter-spacing: -.04em; line-height: 1.05; }
.swcs-react-gallery__description { max-width: 32rem; margin: 1.5rem 0 2rem; color: #4b5563; font-size: 1.1rem; line-height: 1.7; }
.swcs-react-gallery__cta { display: inline-flex; align-items: center; justify-content: center; padding: .875rem 2rem; border-radius: 999px; background: #000; box-shadow: 0 10px 25px rgba(0,0,0,.14); color: #fff; font-size: .9rem; font-weight: 500; text-decoration: none; transition: background .2s ease, transform .2s ease, box-shadow .2s ease; }
.swcs-react-gallery__cta:hover { background: #1f2937; box-shadow: 0 14px 28px rgba(0,0,0,.2); color: #fff; transform: translateY(-2px); }
.swcs-react-gallery__visual { min-width: 0; }
.swcs-react-gallery__featured { display: block; position: relative; aspect-ratio: 4 / 3; overflow: hidden; border-radius: 1.5rem; background: #dbe5df; box-shadow: 0 12px 30px rgba(15,23,42,.08); }
.swcs-react-gallery__featured img { display: block; width: 100%; height: 100%; object-fit: cover; animation: swcs-gallery-fade .45s ease both; }
.swcs-react-gallery__featured-shade { position: absolute; inset: 0; background: linear-gradient(180deg, transparent 55%, rgba(2,15,10,.66)); pointer-events: none; }
.swcs-react-gallery__featured-title { position: absolute; right: 1.5rem; bottom: 1.35rem; left: 1.5rem; color: #fff; font-family: Georgia, 'Times New Roman', serif; font-size: clamp(1.2rem, 2vw, 1.8rem); font-weight: 400; line-height: 1.1; }
.swcs-react-gallery__image-description { margin: .9rem 0 0; color: #6b7280; font-size: .9rem; line-height: 1.6; }
.swcs-react-gallery__detail { max-width: 48rem; margin-top: .8rem; color: #4b5563; font-size: .95rem; line-height: 1.75; }
.swcs-react-gallery__detail p { margin: 0 0 .75rem; }
.swcs-react-gallery__detail p:last-child { margin-bottom: 0; }
.swcs-react-gallery__thumbs { display: flex; gap: .75rem; overflow-x: auto; padding: 1rem .25rem .35rem; scrollbar-width: thin; }
.swcs-react-gallery__thumb { flex: 0 0 5rem; width: 5rem; height: 5rem; padding: 0; overflow: hidden; border: 2px solid transparent; border-radius: 1rem; background: #dbe5df; cursor: pointer; opacity: .68; transition: opacity .2s ease, transform .2s ease, border-color .2s ease; }
.swcs-react-gallery__thumb img { display: block; width: 100%; height: 100%; object-fit: cover; }
.swcs-react-gallery__thumb:hover, .swcs-react-gallery__thumb.is-active { border-color: #000; opacity: 1; transform: scale(1.05); }
.swcs-react-gallery__controls { display: flex; align-items: center; justify-content: flex-end; gap: .6rem; margin-top: .9rem; }
.swcs-react-gallery__control { display: inline-flex; min-width: 2.4rem; height: 2.4rem; align-items: center; justify-content: center; padding: 0 .75rem; border: 1px solid #d1d5db; border-radius: 999px; background: #fff; color: #111827; cursor: pointer; font-size: .85rem; transition: border-color .2s ease, background .2s ease, color .2s ease; }
.swcs-react-gallery__control:hover { border-color: #000; background: #000; color: #fff; }
.swcs-react-gallery__control--play { min-width: 4.7rem; }
.swcs-react-gallery__status { min-width: 3rem; color: #6b7280; font-size: .75rem; font-variant-numeric: tabular-nums; text-align: center; }
@keyframes swcs-gallery-fade { from { opacity: .35; } to { opacity: 1; } }
@media (max-width: 767px) {
    .swcs-react-gallery { padding-top: 2rem; padding-bottom: 2rem; }
    .swcs-logo .custom-logo-link,
    .swcs-logo__mark {
        width: min(var(--swcs-logo-size, 48px), 48px);
        height: min(var(--swcs-logo-size, 48px), 48px);
        flex-basis: min(var(--swcs-logo-size, 48px), 48px);
    }
    .swcs-react-gallery__title { font-size: clamp(2.25rem, 11vw, 3.2rem); }
    .swcs-react-gallery__description { font-size: 1rem; }
    .swcs-react-gallery__featured { border-radius: 1.25rem; }
    .swcs-react-gallery__thumb { flex-basis: 4.5rem; width: 4.5rem; height: 4.5rem; border-radius: .85rem; }
}
.swcs-gallery-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1.25rem; }
.swcs-gallery-card { overflow: hidden; border: 1px solid var(--swcs-border); border-radius: var(--swcs-radius); background: #fff; transition: var(--swcs-transition); }
.swcs-gallery-card:hover { border-color: var(--swcs-primary); box-shadow: var(--swcs-shadow); transform: translateY(-4px); }
.swcs-gallery-card__image { display: flex; align-items: center; justify-content: center; aspect-ratio: 16 / 9; overflow: hidden; background: var(--swcs-primary-light); color: var(--swcs-primary); }
.swcs-gallery-card__image img { width: 100%; height: 100%; object-fit: cover; transition: transform .35s ease; }
.swcs-gallery-card:hover .swcs-gallery-card__image img { transform: scale(1.04); }
.swcs-gallery-card__image .dashicons { font-size: 3rem; }
.swcs-gallery-card__body { padding: 1rem 1.15rem 1.25rem; }
.swcs-gallery-card__body h2, .swcs-gallery-card__body h3 { margin: 0 0 .4rem; font-size: 1rem; line-height: 1.3; }
.swcs-gallery-card__body h2 a, .swcs-gallery-card__body h3 a { color: var(--swcs-text); }
.swcs-gallery-card__body h2 a:hover, .swcs-gallery-card__body h3 a:hover { color: var(--swcs-primary); }
.swcs-gallery-card__body p { margin: 0; color: var(--swcs-text-light); font-size: .8rem; line-height: 1.55; }
.swcs-gallery-single__back { display: inline-flex; gap: .4rem; align-items: center; margin-bottom: 1.5rem; color: var(--swcs-primary); font-size: .8rem; font-weight: 800; }
.swcs-gallery-single__image { margin-bottom: 1.5rem; overflow: hidden; border-radius: var(--swcs-radius); }
.swcs-gallery-single__image img { width: 100%; max-height: 560px; object-fit: cover; }
.swcs-gallery-mosaic { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); gap: 1rem; margin: 1.5rem auto 0; }
.swcs-gallery-mosaic__item { min-width: 0; min-height: 250px; overflow: hidden; background: #dbe5df; box-shadow: 0 12px 28px rgba(15,23,42,.08); }
.swcs-gallery-mosaic__item--1 { grid-column: span 3; }
.swcs-gallery-mosaic__item--2 { grid-column: span 5; }
.swcs-gallery-mosaic__item--3 { grid-column: span 4; }
.swcs-gallery-mosaic__item--4 { grid-column: span 5; }
.swcs-gallery-mosaic__item--5 { grid-column: span 4; }
.swcs-gallery-mosaic__item--6 { grid-column: span 3; }
.swcs-gallery-mosaic__item.is-current { box-shadow: 0 0 0 3px var(--swcs-primary), 0 18px 35px rgba(15,23,42,.16); }
.swcs-gallery-mosaic__link { display: block; position: relative; height: 100%; min-height: 250px; overflow: hidden; color: #fff; }
.swcs-gallery-mosaic__link img { display: block; width: 100%; height: 100%; min-height: 250px; object-fit: cover; transition: transform .45s ease; }
.swcs-gallery-mosaic__link:hover img { transform: scale(1.045); }
.swcs-gallery-mosaic__shade { position: absolute; inset: 35% 0 0; background: linear-gradient(180deg, transparent, rgba(18,20,14,.7)); }
.swcs-gallery-mosaic__title { position: absolute; right: 1rem; bottom: .85rem; left: 1rem; color: #fff; font-family: Georgia, 'Times New Roman', serif; font-size: clamp(1rem, 1.7vw, 1.35rem); line-height: 1.1; }
.swcs-gallery-mosaic__item .dashicons { display: grid; height: 100%; min-height: 250px; place-items: center; color: var(--swcs-primary); font-size: 3rem; }
.swcs-gallery-mosaic-slider { min-width: 0; margin: 1.5rem auto 0; }
.swcs-gallery-mosaic-viewport { overflow: hidden; }
.swcs-gallery-mosaic-slider .swcs-gallery-mosaic { display: flex; gap: 1rem; margin: 0; transition: transform .65s cubic-bezier(.2,.8,.2,1); }
.swcs-gallery-mosaic-slider .swcs-gallery-mosaic__item { flex: 0 0 calc((100% - 2rem) / 3); height: 270px; min-height: 0; grid-column: auto; }
.swcs-gallery-mosaic-slider .swcs-gallery-mosaic__link, .swcs-gallery-mosaic-slider .swcs-gallery-mosaic__link img { height: 270px; min-height: 0; }
.swcs-gallery-mosaic-slider__controls { display: flex; align-items: center; justify-content: center; gap: .8rem; margin-top: 1rem; }
.swcs-gallery-mosaic-slider__controls button { display: grid; width: 2.4rem; height: 2.4rem; place-items: center; border: 1px solid var(--swcs-border); border-radius: 50%; background: #fff; color: var(--swcs-text); cursor: pointer; }
.swcs-gallery-mosaic-slider__controls button:hover { border-color: var(--swcs-primary); color: var(--swcs-primary); }
.swcs-gallery-mosaic-slider__controls span { min-width: 3.5rem; color: var(--swcs-text-light); font-size: .75rem; text-align: center; }
@media (max-width: 767px) {
    .swcs-gallery-mosaic { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .75rem; }
    .swcs-gallery-mosaic__item--1, .swcs-gallery-mosaic__item--2, .swcs-gallery-mosaic__item--3, .swcs-gallery-mosaic__item--4, .swcs-gallery-mosaic__item--5, .swcs-gallery-mosaic__item--6 { grid-column: span 1; }
    .swcs-gallery-mosaic__item { min-height: 190px; }
    .swcs-gallery-mosaic__link, .swcs-gallery-mosaic__link img, .swcs-gallery-mosaic__item .dashicons { min-height: 190px; }
    .swcs-gallery-mosaic-slider .swcs-gallery-mosaic { gap: .75rem; }
    .swcs-gallery-mosaic-slider .swcs-gallery-mosaic__item { flex-basis: 100%; height: 260px; min-height: 0; }
    .swcs-gallery-mosaic-slider .swcs-gallery-mosaic__link, .swcs-gallery-mosaic-slider .swcs-gallery-mosaic__link img { height: 260px; min-height: 0; }
}
.swcs-gallery-slider { max-width: 980px; margin: 0 auto; }
.swcs-gallery-section .swcs-gallery-slider { max-width: 1200px; overflow: hidden; }
.swcs-gallery-slider:focus-visible { outline: 3px solid var(--swcs-accent); outline-offset: 6px; }
.swcs-gallery-slider__viewport { overflow: hidden; border: 1px solid var(--swcs-border); border-radius: var(--swcs-radius); background: #fff; box-shadow: var(--swcs-shadow); touch-action: pan-y; }
.swcs-gallery-slider__track { position: relative; min-height: 330px; }
.swcs-gallery-section .swcs-gallery-slider__track { display: flex; gap: 1.25rem; min-height: 430px; padding: 1rem 0 2rem; transition: transform .55s cubic-bezier(.2,.8,.2,1); }
.swcs-gallery-slide { display: none; grid-template-columns: 1.1fr 1fr; min-height: 330px; }
.swcs-gallery-section .swcs-gallery-slide { display: grid; flex: 0 0 72%; min-height: 390px; border: 1px solid var(--swcs-border); border-radius: 1rem; background: #fff; box-shadow: 0 18px 45px rgba(15,23,42,.12); opacity: .42; transform: scale(.88); transition: opacity .4s ease, transform .4s ease, box-shadow .4s ease; }
.swcs-gallery-section .swcs-gallery-slide.is-active { opacity: 1; transform: scale(1); box-shadow: 0 24px 55px rgba(15,23,42,.18); }
.swcs-gallery-slide.is-active { display: grid; }
.swcs-gallery-slide__image { display: flex; align-items: center; justify-content: center; aspect-ratio: 16 / 9; overflow: hidden; background: var(--swcs-primary-light); color: var(--swcs-primary); }
.swcs-gallery-slide__image img { width: 100%; height: 100%; object-fit: cover; }
.swcs-gallery-slide__image .dashicons { font-size: 4rem; }
.swcs-gallery-slide__body { display: flex; flex-direction: column; justify-content: center; padding: 2rem; }
.swcs-gallery-slide__body h3 { margin: .5rem 0 .75rem; color: var(--swcs-text); font-size: clamp(1.4rem, 3vw, 2.2rem); line-height: 1.1; }
.swcs-gallery-slide__body h3 a { color: inherit; }
.swcs-gallery-slide__body p { color: var(--swcs-text-light); line-height: 1.65; }
.swcs-gallery-slide__body h1 { margin: .5rem 0 .75rem; color: var(--swcs-text); font-size: clamp(1.5rem, 3vw, 2.4rem); line-height: 1.1; }
.swcs-gallery-slide__description { color: var(--swcs-text-light); line-height: 1.65; }
.swcs-gallery-slide__link { margin-top: auto; color: var(--swcs-primary); font-size: .8rem; font-weight: 800; }
.swcs-gallery-slider__controls { display: flex; align-items: center; justify-content: center; gap: .65rem; margin-top: 1rem; }
.swcs-gallery-slider__control { display: inline-flex; align-items: center; justify-content: center; width: 2.25rem; height: 2.25rem; border: 1px solid var(--swcs-border); border-radius: 50%; background: #fff; color: var(--swcs-text); cursor: pointer; }
.swcs-gallery-slider__control:hover, .swcs-gallery-slider__control:focus-visible { border-color: var(--swcs-primary); color: var(--swcs-primary); }
.swcs-gallery-slider__control:focus-visible, .swcs-gallery-slider__dot:focus-visible { outline: 3px solid var(--swcs-accent); outline-offset: 3px; }
.swcs-gallery-slider__dots { display: flex; gap: .35rem; }
.swcs-gallery-slider__dot { width: .5rem; height: .5rem; padding: 0; border: 0; border-radius: 50%; background: var(--swcs-border); cursor: pointer; }
.swcs-gallery-slider__dot.is-active { background: var(--swcs-primary); transform: scale(1.25); }
@media (prefers-reduced-motion: reduce) {
    .swcs-gallery-card, .swcs-gallery-card__image img, .swcs-gallery-slider__control, .swcs-gallery-slider__dot, .swcs-visual-diary__card { transition: none; }
}
@media (max-width: 767px) {
    .swcs-visual-diary__stage { height: 390px; }
    .swcs-visual-diary__card { width: min(64vw, 270px); height: 350px; margin-left: min(-32vw, -135px); }
}

/* ────────────────────────────────────────────────────────────
   News Cards
   ──────────────────────────────────────────────────────────── */
.swcs-news-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 1.5rem;
}
.swcs-news-card {
    background: #fff;
    border: 1px solid var(--swcs-border);
    border-radius: var(--swcs-radius);
    overflow: hidden;
    transition: var(--swcs-transition);
}
.swcs-news-card:hover { box-shadow: var(--swcs-shadow); border-color: var(--swcs-primary-light); }
.swcs-news-card__thumb { width: 100%; height: 180px; object-fit: cover; background: var(--swcs-bg-alt); }
.swcs-news-card__body { padding: 1.25rem; }
.swcs-news-card__cat {
    display: inline-block;
    padding: 0.125rem 0.5rem;
    border-radius: 999px;
    font-size: 0.6875rem;
    font-weight: 600;
    margin-bottom: 0.5rem;
}
.swcs-news-card__title { font-size: 1rem; font-weight: 700; margin-bottom: 0.5rem; line-height: 1.3; }
.swcs-news-card__title a { color: var(--swcs-text); }
.swcs-news-card__title a:hover { color: var(--swcs-primary); }
.swcs-news-card__excerpt { font-size: 0.8125rem; color: var(--swcs-text-light); line-height: 1.5; margin-bottom: 0.75rem; }
.swcs-news-card__date { font-size: 0.75rem; color: #94a3b8; font-weight: 500; }

/* ────────────────────────────────────────────────────────────
    Leadership Cards
    ──────────────────────────────────────────────────────────── */
.swcs-section--leadership, .swcs-leadership-archive, .swcs-leadership-single { background: var(--swcs-leadership-section-bg, var(--swcs-bg-alt)); }
.swcs-leadership-layout { display: grid; grid-template-columns: minmax(220px, .7fr) minmax(0, 1.3fr); gap: 4rem; align-items: center; }
.swcs-leadership-intro { max-width: 360px; }
.swcs-leadership-intro .swcs-eyebrow { color: var(--swcs-primary); }
.swcs-leadership-intro h2 { margin: .5rem 0 1rem; color: var(--swcs-text); font-size: clamp(2rem, 4vw, 3.4rem); line-height: 1.05; }
.swcs-leadership-intro p { margin-bottom: 1.5rem; color: var(--swcs-text-light); font-size: .95rem; line-height: 1.75; }
.swcs-leadership-intro__link { display: inline-flex; gap: .5rem; align-items: center; padding-bottom: .35rem; border-bottom: 1px solid var(--swcs-text); color: var(--swcs-text); font-size: .75rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.swcs-leadership-intro__link:hover { color: var(--swcs-primary); border-color: var(--swcs-primary); }
.swcs-leadership-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; }
.swcs-leadership-grid--split { display: grid; overflow: visible; padding: 0; }
.swcs-leadership-card { position: relative; display: flex; min-width: 0; min-height: 300px; flex-direction: column; overflow: hidden; background: var(--swcs-leadership-card-bg, #1a3d60); border: 0; border-radius: 8px; opacity: 0; transform: translateY(18px); animation: swcs-leadership-reveal .7s cubic-bezier(.2,.75,.25,1) forwards; transition: transform .3s ease, box-shadow .3s ease; }
.swcs-leadership-card:nth-child(2) { animation-delay: .1s; }
.swcs-leadership-card:nth-child(3) { animation-delay: .2s; }
.swcs-leadership-card:nth-child(4) { animation-delay: .3s; }
.swcs-leadership-card::after { position: absolute; right: 0; bottom: 0; left: 0; height: 42%; background: linear-gradient(transparent, rgba(10,27,46,.75)); content: ''; pointer-events: none; }
.swcs-leadership-card:hover { background: var(--swcs-leadership-card-hover, #204b73); box-shadow: 0 18px 35px rgba(26,61,96,.2); transform: translateY(-5px); }
.swcs-leadership-card--featured { grid-column: auto; }
.swcs-leadership-card__photo { display: flex; align-items: center; justify-content: center; width: 126px; height: 126px; margin: 1.5rem auto .75rem; overflow: hidden; border: 3px solid rgba(255,255,255,.55); border-radius: 50%; background: var(--swcs-bg-alt); color: var(--swcs-primary); z-index: 1; }
.swcs-leadership-card__image { width: 100%; height: 100%; object-fit: cover; }
.swcs-leadership-card__photo { transition: transform .45s ease, border-color .45s ease; }
.swcs-leadership-card:hover .swcs-leadership-card__photo { transform: scale(1.06); border-color: var(--swcs-accent); }
.swcs-leadership-card__photo .dashicons { width: 60px; height: 60px; font-size: 60px; }
.swcs-leadership-card__body { display: flex; min-width: 0; min-height: 145px; flex-direction: column; align-items: center; padding: .75rem 1rem 1rem; text-align: center; z-index: 1; }
.swcs-leadership-card--featured .swcs-leadership-card__photo, .swcs-leadership-card--featured .swcs-leadership-card__image { min-height: 0; }
.swcs-leadership-card--featured .swcs-leadership-card__name { font-size: 1rem; }
.swcs-leadership-card--featured .swcs-leadership-card__body { padding: .75rem 1rem 1rem; }
.swcs-leadership-card__name { margin-bottom: .35rem; color: #fff; font-size: 1rem; line-height: 1.25; }
.swcs-leadership-card__role { margin: 0; color: rgba(255,255,255,.82); font-size: .68rem; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.swcs-leadership-card__power { margin: .6rem 0 0; color: var(--swcs-leadership-accent, #f59e0b); font-size: .62rem; font-weight: 600; }
.swcs-leadership-card__bio { margin-top: 1rem; color: #fff; font-size: .8rem; line-height: 1.6; }
.swcs-leadership-card__actions { display: flex; align-items: center; justify-content: center; gap: .75rem; width: 100%; margin-top: auto; padding-top: .75rem; }
.swcs-leadership-card__link, .swcs-leadership-card__toggle { color: var(--swcs-leadership-accent, #f59e0b); font-size: .63rem; font-weight: 800; }
.swcs-leadership-card__link:hover, .swcs-leadership-card__toggle:hover { color: #c9d8e6; }
.swcs-leadership-card__toggle { padding: 0; border: 0; background: transparent; cursor: pointer; font: inherit; }
.swcs-leadership-card__toggle span { display: inline-block; margin-left: .25rem; font-size: 1rem; line-height: .5; transition: transform .2s ease; }
.swcs-leadership-card__toggle[aria-expanded="true"] span { transform: rotate(45deg); }
.swcs-leadership-card:focus-within { box-shadow: 0 18px 35px rgba(26,61,96,.24); transform: translateY(-5px); }
.swcs-leadership-card__link, .swcs-leadership-card__toggle { transition: color .2s ease, transform .2s ease; }
.swcs-leadership-card__link:hover, .swcs-leadership-card__toggle:hover { transform: translateX(3px); }
@keyframes swcs-leadership-reveal { to { opacity: 1; transform: translateY(0); } }
@media (prefers-reduced-motion: reduce) {
    .swcs-leadership-card { opacity: 1; transform: none; animation: none; transition: none; }
    .swcs-leadership-card__photo, .swcs-leadership-card__link, .swcs-leadership-card__toggle { transition: none; }
}
.swcs-leadership-card__social { display: flex; gap: .75rem; margin-top: .75rem; color: rgba(255,255,255,.75); }
.swcs-leadership-card__social a { color: inherit; line-height: 1; }
.swcs-leadership-card__social a:hover, .swcs-leadership-card__social a:focus-visible { color: #fff; }
.swcs-leadership-card__social .dashicons { width: 14px; height: 14px; font-size: 14px; }
.swcs-leadership-controls { display: flex; align-items: center; justify-content: center; gap: .75rem; margin-top: .5rem; }
.swcs-leadership-control { display: inline-flex; align-items: center; justify-content: center; width: 2rem; height: 2rem; padding: 0; border: 1px solid rgba(255,255,255,.2); border-radius: 50%; background: transparent; color: #fff; cursor: pointer; }
.swcs-leadership-control:hover, .swcs-leadership-control:focus-visible { border-color: var(--swcs-accent); color: var(--swcs-accent); }
.swcs-leadership-count { color: rgba(255,255,255,.55); font-size: .7rem; }
.swcs-leadership-archive { background: var(--swcs-bg-alt); }
.swcs-leadership-archive .swcs-leadership-grid { max-width: 960px; margin: 0 auto; }
.swcs-leadership-single__back { display: inline-flex; gap: .5rem; align-items: center; margin-bottom: 1.5rem; color: var(--swcs-primary); font-size: .8rem; font-weight: 800; }
.swcs-leadership-profile { display: grid; grid-template-columns: minmax(240px, .7fr) minmax(0, 1.3fr); gap: 3rem; align-items: center; max-width: 980px; margin: 0 auto; padding: 2rem; background: #fff; border: 1px solid var(--swcs-border); border-radius: 12px; box-shadow: var(--swcs-shadow); }
.swcs-leadership-profile__photo { width: 100%; aspect-ratio: 1; overflow: hidden; border-radius: 8px; background: var(--swcs-primary-light); color: var(--swcs-primary); }
.swcs-leadership-profile__image { width: 100%; height: 100%; object-fit: cover; }
.swcs-leadership-profile__photo .dashicons { display: grid; width: 100%; height: 100%; place-items: center; font-size: 5rem; }
.swcs-leadership-profile__content h1 { margin: .5rem 0 .5rem; color: var(--swcs-text); font-size: clamp(2rem, 4vw, 3.5rem); line-height: 1.05; }
.swcs-leadership-profile__role { margin: 0; color: var(--swcs-primary); font-weight: 800; }
.swcs-leadership-profile__power { margin: .5rem 0 1.5rem; color: var(--swcs-accent); font-size: .75rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.swcs-leadership-profile__bio { color: var(--swcs-text-light); font-size: 1rem; line-height: 1.8; }
.swcs-leadership-profile__social { display: flex; gap: .75rem; margin-top: 1.5rem; }
.swcs-leadership-profile__social a { display: inline-flex; align-items: center; justify-content: center; width: 2.25rem; height: 2.25rem; border-radius: 50%; background: var(--swcs-primary); color: #fff; }
.swcs-leadership-profile__social a:hover { background: var(--swcs-primary-dark); }

/* ────────────────────────────────────────────────────────────
    About Page
    ──────────────────────────────────────────────────────────── */
.swcs-about-hero { overflow: hidden; background: var(--swcs-primary-dark); color: #fff; }
.swcs-about-hero__grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(280px, .9fr); gap: 3rem; align-items: center; min-height: 470px; }
.swcs-about-hero__content { max-width: 620px; padding: 4rem 0; }
.swcs-about-hero__content .swcs-eyebrow { color: var(--swcs-accent); }
.swcs-about-hero__content h1 { margin: .5rem 0 1rem; font-size: clamp(2.5rem, 6vw, 5rem); line-height: .98; }
.swcs-about-hero__content p { max-width: 560px; margin-bottom: 1.75rem; color: rgba(255,255,255,.75); font-size: 1.05rem; line-height: 1.75; }
.swcs-about-hero__content .swcs-btn { display: inline-flex; gap: .6rem; align-items: center; }
.swcs-about-hero__image { align-self: end; }
.swcs-about-hero__image img { width: 100%; max-height: 430px; object-fit: contain; }
.swcs-about-mission { background: var(--swcs-bg-alt); }
.swcs-about-mission__intro { max-width: 720px; margin-bottom: 2rem; }
.swcs-about-mission__intro h2 { margin: .5rem 0 .75rem; color: var(--swcs-text); font-size: clamp(2rem, 4vw, 3.25rem); line-height: 1.05; }
.swcs-about-mission__intro p { color: var(--swcs-text-light); font-size: 1rem; line-height: 1.75; }
.swcs-about-panels { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1rem; }
.swcs-about-panel { padding: 1.25rem 1.5rem; border: 1px solid var(--swcs-border); background: #fff; transition: var(--swcs-transition); }
.swcs-about-panel[open] { border-color: var(--swcs-primary); box-shadow: var(--swcs-shadow); }
.swcs-about-panel summary { display: flex; align-items: center; justify-content: space-between; gap: 1rem; color: var(--swcs-text); cursor: pointer; font-weight: 800; list-style: none; }
.swcs-about-panel summary::-webkit-details-marker { display: none; }
.swcs-about-panel__icon { color: var(--swcs-primary); font-size: 1.35rem; font-weight: 400; transition: transform .2s ease; }
.swcs-about-panel[open] .swcs-about-panel__icon { transform: rotate(45deg); }
.swcs-about-panel p { margin: 1rem 0 .25rem; color: var(--swcs-text-light); font-size: .9rem; line-height: 1.7; }
.swcs-about-content { background: #fff; }
.swcs-about-content .swcs-article__content { color: var(--swcs-text); }

/* Job detail */
.swcs-job-detail { max-width: 800px; padding: 3rem 1.5rem; }
.swcs-job-detail__back { margin-bottom: 1.5rem; }
.swcs-job-detail__back a { display: inline-flex; gap: .35rem; align-items: center; font-size: .875rem; font-weight: 700; }
.swcs-job-detail__back .dashicons { font-size: 14px; }
.swcs-job-detail__header { margin-bottom: 2rem; padding: 2rem; border-radius: 12px; background: var(--swcs-primary-dark); color: #fff; }
.swcs-job-detail__header .swcs-badge { display: inline-block; margin-bottom: .75rem; }
.swcs-job-detail__header h1 { margin: 0 0 .75rem; font-size: 1.875rem; font-weight: 800; }
.swcs-job-detail__context { display: flex; gap: .35rem; align-items: center; margin: .35rem 0 0; color: rgba(255,255,255,.75); font-size: .875rem; }
.swcs-job-detail__context .dashicons { font-size: 14px; }
.swcs-job-detail__field { margin-bottom: 1.5rem; }
.swcs-job-detail__field h3 { margin: 0 0 .35rem; color: var(--swcs-text-light); font-size: .875rem; font-weight: 700; text-transform: uppercase; }
.swcs-job-detail__field > p { margin: 0; color: var(--swcs-text); font-size: 1rem; }
.swcs-job-detail__field > p.is-active { color: var(--swcs-primary); font-weight: 700; }
.swcs-job-detail__field > p.is-expired { color: #b91c1c; font-weight: 700; }
.swcs-job-detail__content { color: var(--swcs-text); font-size: .9375rem; line-height: 1.7; white-space: pre-line; }
.swcs-job-detail__apply { display: inline-flex; gap: .4rem; align-items: center; padding: .75rem 1.5rem; font-size: .875rem; }
.swcs-job-detail__apply .dashicons { font-size: 16px; }
.swcs-document-archive-page { min-height: 60vh; background: var(--swcs-bg-alt); }
.swcs-document-archive { padding: 3rem 1.5rem; }
.swcs-document-archive__header { margin-bottom: 2.5rem; }
.swcs-document-archive__header .swcs-section__title { margin-bottom: .5rem; }
.swcs-document-archive__pagination { margin-top: 2.5rem; text-align: center; }
.swcs-document-detail { max-width: 800px; padding: 3rem 1.5rem; }
.swcs-document-detail__back { margin-bottom: 1.5rem; }
.swcs-document-detail__back a { display: inline-flex; gap: .35rem; align-items: center; font-size: .875rem; font-weight: 700; }
.swcs-document-detail__back .dashicons { font-size: 14px; }
.swcs-document-detail__header { margin-bottom: 2rem; padding: 2rem; border-radius: 12px; background: var(--swcs-primary-dark); color: #fff; }
.swcs-document-detail__tag { display: inline-block; margin: 0 .35rem .75rem 0; padding: .25rem .625rem; border: 1px solid rgba(255,255,255,.25); border-radius: 999px; background: rgba(255,255,255,.12); font-size: .6875rem; font-weight: 600; }
.swcs-document-detail__header h1 { margin: 0; font-size: 1.875rem; font-weight: 800; }
.swcs-document-detail__field { margin-bottom: 1rem; }
.swcs-document-detail__field h3 { margin: 0 0 .25rem; color: var(--swcs-text-light); font-size: .875rem; font-weight: 700; text-transform: uppercase; }
.swcs-document-detail__field p { margin: 0; color: var(--swcs-text); font-size: 1rem; }
.swcs-document-detail__field p.is-emphasis { font-weight: 700; }
.swcs-document-detail__field--description { margin-top: 2rem; }
.swcs-document-detail__content { color: var(--swcs-text); font-size: .9375rem; line-height: 1.7; }
.swcs-document-detail__download { display: inline-flex; gap: .4rem; align-items: center; padding: .75rem 1.5rem; font-size: .875rem; }
.swcs-document-detail__download .dashicons { font-size: 16px; }

/* ────────────────────────────────────────────────────────────
    Publications Feature
    ──────────────────────────────────────────────────────────── */
.swcs-publications-band { padding: 4.5rem 0; background: var(--swcs-bg-alt); color: var(--swcs-text); }
.swcs-publications-band__heading { display: flex; align-items: end; gap: 1.5rem; margin-bottom: 2rem; }
.swcs-publications-band__heading .swcs-eyebrow { margin: 0 auto 0 0; color: var(--swcs-primary); }
.swcs-publications-band__heading h2 { margin: 0; color: var(--swcs-text); font-size: clamp(1.75rem, 3vw, 2.5rem); line-height: 1.1; }
.swcs-publications-band__description { max-width: 300px; margin: 0; color: var(--swcs-text-light); font-size: .8rem; line-height: 1.45; }
.swcs-publications-band__link { color: var(--swcs-primary); font-size: .8125rem; font-weight: 700; white-space: nowrap; }
.swcs-publications-band__link:hover { color: var(--swcs-accent); }
.swcs-publications-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1rem; }
.swcs-publication-card { display: flex; min-width: 0; padding: 1.25rem; border: 1px solid var(--swcs-border); background: #fff; transition: var(--swcs-transition); }
.swcs-publication-card:hover { border-color: var(--swcs-primary); background: #fff; box-shadow: var(--swcs-shadow); transform: translateY(-4px); }
.swcs-publication-card--featured { grid-row: span 2; flex-direction: column; padding: 1.5rem; }
.swcs-publication-card__icon { display: flex; flex: 0 0 42px; align-items: center; justify-content: center; width: 42px; height: 42px; margin-right: 1rem; background: var(--swcs-primary-light); color: var(--swcs-primary); }
.swcs-publication-card--featured .swcs-publication-card__icon { width: 64px; height: 64px; margin: 0 0 1.5rem; }
.swcs-publication-card__icon .dashicons { font-size: 1.4rem; }
.swcs-publication-card--featured .swcs-publication-card__icon .dashicons { font-size: 2rem; }
.swcs-publication-card__body { min-width: 0; }
.swcs-publication-card__date { display: block; margin-bottom: .5rem; color: var(--swcs-primary); font-size: .6875rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.swcs-publication-card h3 { margin: 0 0 .5rem; font-size: 1rem; line-height: 1.35; }
.swcs-publication-card--featured h3 { font-size: 1.35rem; }
.swcs-publication-card h3 a { color: var(--swcs-text); }
.swcs-publication-card h3 a:hover { color: var(--swcs-primary); }
.swcs-publication-card p { margin: 0 0 1rem; color: var(--swcs-text-light); font-size: .8125rem; line-height: 1.55; }
.swcs-publication-card__action { color: var(--swcs-primary); font-size: .75rem; font-weight: 800; }

/* Archive pagination */
.swcs-pagination { margin-top: 2.5rem; text-align: center; }
.swcs-pagination__summary { margin: 0 0 1rem; color: var(--swcs-text-light); font-size: .8rem; }
.swcs-pagination__links { display: flex; flex-wrap: wrap; justify-content: center; gap: .75rem; align-items: center; }
.swcs-pagination__link, .swcs-pagination .page-numbers { display: inline-flex; align-items: center; justify-content: center; min-width: 7.5rem; min-height: 2.5rem; padding: .55rem 1rem; border: 1px solid var(--swcs-border); border-radius: 999px; background: #fff; color: var(--swcs-text); font-size: .78rem; font-weight: 800; text-decoration: none; transition: var(--swcs-transition); }
.swcs-pagination__link:hover, .swcs-pagination .page-numbers:hover, .swcs-pagination .page-numbers.current { border-color: var(--swcs-primary); background: var(--swcs-primary); color: #fff; }
.swcs-pagination__link.is-disabled, .swcs-pagination .page-numbers.dots { background: transparent; color: var(--swcs-text-light); cursor: default; }
.swcs-pagination__link.is-disabled:hover { border-color: var(--swcs-border); }

/* Latest Updates */
.swcs-latest-updates { background: var(--swcs-bg-alt); }
.swcs-latest-updates__grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.5rem; }
.swcs-latest-updates__panel { padding: 1.5rem; border: 1px solid var(--swcs-border); border-radius: var(--swcs-radius); background: #fff; box-shadow: var(--swcs-shadow); }
.swcs-latest-updates__panel-head { display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding-bottom: 1rem; border-bottom: 2px solid var(--swcs-primary-light); }
.swcs-latest-updates__panel-head h3 { margin: 0; color: var(--swcs-text); font-size: 1.15rem; }
.swcs-latest-updates__panel-head a { color: var(--swcs-primary); font-size: .75rem; font-weight: 800; white-space: nowrap; }
.swcs-update-item { padding: 1rem 0; border-bottom: 1px solid var(--swcs-border); }
.swcs-update-item:last-child { border-bottom: 0; padding-bottom: 0; }
.swcs-update-item__date { color: var(--swcs-primary); font-size: .7rem; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; }
.swcs-update-item h4 { margin: .3rem 0; font-size: .95rem; line-height: 1.35; }
.swcs-update-item h4 a { color: var(--swcs-text); }
.swcs-update-item h4 a:hover { color: var(--swcs-primary); }
.swcs-update-item p { margin: 0; color: var(--swcs-text-light); font-size: .8rem; line-height: 1.5; }
.swcs-update-item--publication { display: flex; gap: .75rem; align-items: flex-start; }
.swcs-update-item__icon { flex: 0 0 2rem; width: 2rem; height: 2rem; padding: .45rem; border-radius: 6px; background: var(--swcs-primary-light); color: var(--swcs-primary); font-size: 1.1rem; }
.swcs-update-filters { display: flex; flex-wrap: wrap; gap: .5rem; margin: 0 0 1.5rem; }
.swcs-update-filters button { padding: .5rem .85rem; border-radius: 999px; }
.swcs-update-filters button:hover, .swcs-update-filters button.is-active { border-color: var(--swcs-primary); background: var(--swcs-primary); color: #fff; }
.swcs-content-hub { display: grid; grid-template-columns: minmax(0, 7fr) minmax(230px, 3fr); gap: 1.5rem; align-items: start; }
.swcs-latest-updates__main { min-width: 0; }
.swcs-updates-sidebar { position: sticky; top: 1rem; display: grid; gap: 1rem; }
.swcs-updates-search, .swcs-updates-widget, .swcs-updates-subscribe { padding: 1rem; border: 1px solid var(--swcs-border); border-radius: var(--swcs-radius); background: #fff; }
.swcs-updates-search label { display: block; margin-bottom: .5rem; color: var(--swcs-text); font-size: .75rem; font-weight: 800; }
.swcs-updates-search div { display: flex; }
.swcs-updates-search input { min-width: 0; width: 100%; padding: .65rem; border: 1px solid var(--swcs-border); font: inherit; }
.swcs-updates-search button { width: 2.5rem; border: 0; background: var(--swcs-primary); color: #fff; cursor: pointer; }
.swcs-updates-widget h3, .swcs-updates-subscribe h3 { margin: 0 0 .75rem; color: var(--swcs-text); font-size: .9rem; }
.swcs-updates-widget ul { display: grid; gap: .5rem; margin: 0; padding: 0; list-style: none; }
.swcs-updates-widget li a { display: flex; justify-content: space-between; gap: .5rem; color: var(--swcs-text-light); font-size: .78rem; }
.swcs-updates-widget li a:hover { color: var(--swcs-primary); }
.swcs-updates-widget li span { color: var(--swcs-primary); font-weight: 800; }
.swcs-updates-archive summary { color: var(--swcs-text); cursor: pointer; font-size: .9rem; font-weight: 800; }
.swcs-updates-archive ul { margin-top: .75rem; }
.swcs-updates-subscribe p { margin: 0 0 .9rem; color: var(--swcs-text-light); font-size: .8rem; line-height: 1.5; }
.swcs-updates-subscribe .swcs-btn { display: inline-flex; padding: .6rem .8rem; font-size: .72rem; }

/* ────────────────────────────────────────────────────────────
   Footer
   ──────────────────────────────────────────────────────────── */
.swcs-footer {
    display: block;
    clear: both;
    position: relative;
    z-index: 1;
    width: 100%;
    background: var(--swcs-footer-bg, var(--swcs-primary-dark));
    color: var(--swcs-footer-text, #fff);
    padding: 3rem 0 0;
}
.swcs-footer__grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 2rem;
    padding-bottom: 2.5rem;
}
.swcs-footer__col h3 {
    color: #fff;
    font-size: 0.875rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    margin-bottom: 1rem;
}
.swcs-footer__col ul { list-style: none; padding: 0; }
.swcs-footer__col ul li { margin-bottom: 0.5rem; }
.swcs-footer__col a { color: var(--swcs-footer-text, #fff); font-size: 0.8125rem; }
.swcs-footer__col a:hover { color: var(--swcs-primary-light); }
.swcs-footer__col p { font-size: 0.8125rem; line-height: 1.6; }
.swcs-footer__col p .dashicons { width: 1rem; height: 1rem; margin-right: .35rem; font-size: 1rem; vertical-align: -.15rem; }
.swcs-footer__social { display: flex; flex-wrap: wrap; gap: .55rem; margin-top: 1rem; }
.swcs-footer__social a { display: inline-flex; width: 2.2rem; height: 2.2rem; align-items: center; justify-content: center; border: 1px solid rgba(255,255,255,.25); border-radius: 50%; color: #fff; transition: background .2s ease, border-color .2s ease, transform .2s ease; }
.swcs-footer__social a:hover, .swcs-footer__social a:focus-visible { border-color: var(--swcs-accent); background: var(--swcs-accent); color: #1f2937; transform: translateY(-2px); }
.swcs-footer__social .swcs-social-icon { width: 1rem; height: 1rem; }
.swcs-footer__bottom {
    border-top: 1px solid color-mix(in srgb, var(--swcs-footer-text, #fff) 22%, transparent);
    padding: 1.25rem 0;
    text-align: center;
    font-size: 0.75rem;
}
.swcs-footer__credit { color: var(--swcs-footer-text, #fff); opacity: .72; }
.swcs-footer__credit strong { color: var(--swcs-footer-text, #fff); opacity: 1; }
.swcs-footer__visitors { padding: 1.75rem 0 2rem; background: var(--swcs-primary-dark); }
.swcs-footer__visitors-heading { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; }
.swcs-footer__visitor-grid { display: flex; gap: 1rem; }
.swcs-footer__visitor-stat { display: flex; flex: 1 1 0; min-width: 0; flex-direction: column; align-items: center; gap: .4rem; padding: .15rem .75rem; text-align: center; transition: transform .2s ease; }
.swcs-footer__visitor-stat:hover { transform: translateY(-4px); }
.swcs-footer__visitor-icon { display: inline-flex; align-items: center; justify-content: center; width: 2.2rem; height: 2.2rem; border-radius: 50%; background: var(--swcs-secondary); color: #fff; box-shadow: 0 3px 0 rgba(0,0,0,.08); font-size: 1.05rem; }
.swcs-footer__visitor-copy { display: flex; min-width: 0; flex-direction: column; align-items: center; gap: .35rem; }
.swcs-footer__visitor-copy strong { color: #fff; font-size: 1.55rem; font-weight: 700; line-height: 1; }
.swcs-footer__visitor-copy span { overflow: hidden; color: rgba(255,255,255,.62); font-size: .68rem; font-weight: 500; letter-spacing: .06em; text-overflow: ellipsis; text-transform: uppercase; white-space: nowrap; }

/* ────────────────────────────────────────────────────────────
   Responsive
   ──────────────────────────────────────────────────────────── */
@media (max-width: 1024px) {
    .swcs-quicklinks { grid-template-columns: repeat(2, 1fr); }
    .swcs-news-grid { grid-template-columns: repeat(2, 1fr); }
    .swcs-publications-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .swcs-publication-card--featured { grid-row: auto; }
    .swcs-leadership-card--featured { grid-column: span 2; }
    .swcs-leadership-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .swcs-stats__grid { grid-template-columns: repeat(2, 1fr); }
    .swcs-footer__grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 768px) {
    .swcs-location-grid, .swcs-location-single__grid, .swcs-location-counts { grid-template-columns: 1fr; }
    .swcs-location-map { min-height: 280px; }
    .swcs-location-map iframe { height: 280px; }
    .swcs-leadership-layout { grid-template-columns: 1fr; gap: 2rem; }
    .swcs-leadership-intro { max-width: none; text-align: center; }
    .swcs-leadership-profile { grid-template-columns: 1fr; gap: 1.5rem; padding: 1.25rem; }
    .swcs-about-hero__grid { grid-template-columns: 1fr; gap: 1rem; min-height: 0; }
    .swcs-about-hero__content { padding: 3.5rem 0 1rem; text-align: center; }
    .swcs-about-hero__content p { margin-right: auto; margin-left: auto; }
    .swcs-about-hero__image { max-width: 420px; margin: 0 auto; }
    .swcs-about-mission__intro { text-align: center; }
    .swcs-about-panels { grid-template-columns: 1fr; }
    .swcs-latest-updates__grid { grid-template-columns: 1fr; }
    .swcs-content-hub { grid-template-columns: 1fr; }
    .swcs-updates-sidebar { position: static; }
    .swcs-leader-spotlight__grid { grid-template-columns: 1fr; gap: 2rem; text-align: center; }
    .swcs-leader-spotlight__photo { margin: 0 auto; }
    .swcs-leader-spotlight blockquote { text-align: left; }
    .swcs-topbar__contact { display: none; }
    .swcs-topbar__search input { width: 140px; }
    .swcs-menu-toggle { display: block; }
    .swcs-nav {
        position: fixed;
        top: calc(var(--swcs-topbar-height) + var(--swcs-header-height));
        left: 0;
        right: 0;
        background: #fff;
        flex-direction: column;
        align-items: stretch;
        padding: 1rem;
        box-shadow: var(--swcs-shadow-lg);
        max-height: 0;
        overflow: hidden;
        transition: max-height 0.3s ease;
    }
    .swcs-nav.open { max-height: 500px; overflow-y: auto; }
    .swcs-nav__sub {
        position: static;
        opacity: 0;
        visibility: hidden;
        transform: none;
        box-shadow: none;
        border: none;
        padding: 0 0 0 1rem;
    }
    .swcs-nav__item.submenu-open > .swcs-nav__sub { opacity: 1; visibility: visible; }
    .swcs-hero { height: 360px; }
    .swcs-hero__title { font-size: 1.75rem; }
    .swcs-hero__desc { font-size: 0.9375rem; }
    .swcs-additional-hero { grid-template-columns: 1fr; min-height: 0; }
    .swcs-additional-hero__copy { padding: 3.5rem 1.5rem; }
    .swcs-additional-hero__carousel { min-height: 580px; }
    .swcs-additional-hero__feature-content { padding: 2.5rem 1.5rem 5rem; }
    .swcs-additional-hero__feature h3 { min-height: 0; font-size: clamp(1.65rem, 7vw, 2.3rem); }
    .swcs-additional-hero__feature p { min-height: 0; font-size: .95rem; }
    .swcs-additional-hero__dots { right: 1.5rem; bottom: 1.5rem; }
    .swcs-additional-hero__controls { right: 1.5rem; top: 1.25rem; }
    .swcs-quicklinks { grid-template-columns: 1fr; }
    .swcs-news-grid { grid-template-columns: 1fr; }
    .swcs-gallery-grid { grid-template-columns: 1fr; }
    .swcs-gallery-slide { grid-template-columns: 1fr; }
    .swcs-gallery-section .swcs-gallery-slider__track { min-height: 520px; }
    .swcs-gallery-section .swcs-gallery-slide { flex-basis: 88%; min-height: 480px; }
    .swcs-gallery-slide__image { min-height: 0; }
    .swcs-gallery-slide__body { min-height: 220px; padding: 1.5rem; }
    .swcs-gallery-slider__controls { gap: .5rem; }
    .swcs-gallery-slider__control { width: 2.5rem; height: 2.5rem; }
    .swcs-leadership-card--featured { grid-column: span 1; }
    .swcs-publications-band__heading { display: block; }
    .swcs-publications-band__heading h2 { margin: .5rem 0 1rem; }
    .swcs-publications-grid { grid-template-columns: 1fr; }
    .swcs-leadership-grid { grid-template-columns: 1fr; }
    .swcs-stats__grid { grid-template-columns: 1fr; }
    .swcs-footer__grid { grid-template-columns: 1fr; }
    .swcs-footer { padding-top: 2.25rem; }
    .swcs-footer__grid { gap: 1.5rem; padding-bottom: 1.75rem; }
    .swcs-section { padding: 2.5rem 0; }
    .swcs-section__title { font-size: 1.5rem; }
}
@media (prefers-reduced-motion: reduce) {
    .swcs-additional-hero__feature,
    .swcs-additional-hero__feature-image,
    .swcs-additional-hero__feature-content { animation: none; transition: none; }
}
@media (max-width: 420px) {
    .swcs-footer__visitor-grid { overflow-x: auto; padding: .15rem .1rem .5rem; scroll-snap-type: x proximity; scrollbar-width: thin; }
    .swcs-footer__visitor-stat { flex: 0 0 8.5rem; scroll-snap-align: start; }
    .swcs-footer__visitor-copy strong { font-size: 1.35rem; }
}

