:root {
    --complexo-black: #050505;
    --complexo-white: #f7f3eb;
    --complexo-gold: #b3944c;
    --complexo-blue: #294a83;
    --sidebar-width: 304px;
    --sidebar-collapsed: 92px;
}
body { font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif; }
body.complexo-public { background: var(--complexo-black); color: var(--complexo-white); }
body.theme-light { background: #fcfbf8; color: #191816; }
.complexo-public h1,.complexo-public h2,.complexo-public h3,.brand-word,.complexo-section-title,.complexo-president-name,.complexo-page-hero .headline,.complexo-page-hero .subline { font-family: Georgia, 'Times New Roman', serif; letter-spacing: .04em; }
.complexo-navbar { background: rgba(0,0,0,.94); border-bottom: 1px solid rgba(255,255,255,.08); position: sticky; top: 0; z-index: 20; }
.complexo-navbar .container { display:flex; align-items:center; justify-content:space-between; gap:1rem; padding:.95rem 1rem; }
.complexo-brandline { display:flex; align-items:center; gap:.9rem; text-decoration:none; color:#fff; }
.complexo-brandline img { width:74px; height:48px; object-fit:contain; }
.brand-word { font-size:3rem; line-height:1; font-weight:700; }
.complexo-navlinks { display:flex; flex-wrap:wrap; gap:1rem 1.7rem; }
.complexo-navlinks a { color:#fff; text-decoration:none; text-transform:uppercase; letter-spacing:.18em; font-weight:700; font-size:.92rem; }

body.theme-light .complexo-brandline, body.theme-light .complexo-navlinks a { color:#fff; }
.complexo-page { min-height:100vh; }
.complexo-hero-home,.complexo-page-hero { text-align:center; padding:2.5rem 1rem 3rem; }
.complexo-hero-home {
    max-width: 1680px;
    margin: 0 auto;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: flex-start;
    color: var(--complexo-white);
}
.complexo-hero-home > img,
.complexo-hero-home > h1,
.complexo-hero-home > p,
.complexo-hero-home > div {
    position: relative;
    z-index: 1;
}
.complexo-hero-home h1,
.complexo-hero-home .complexo-section-title,
.complexo-hero-home .complexo-kicker,
.complexo-hero-home .complexo-filter-bar a,
.complexo-hero-home .complexo-home-agenda-subtitle,
.complexo-hero-home .complexo-home-agenda-table th,
.complexo-hero-home .complexo-home-agenda-table td {
    color: var(--complexo-white);
}
.complexo-logos-cluster { display:grid; grid-template-columns:repeat(3,minmax(120px,180px)); justify-content:center; gap:1rem; margin:1.8rem auto 2.6rem; }
.complexo-logos-cluster img { width:100%; max-width:180px; aspect-ratio:1/1; object-fit:contain; margin:0 auto; }
.complexo-hero-logo { display:block; width:100%; max-width:240px; height:auto; aspect-ratio:1/1; object-fit:contain; margin:1.8rem auto 2rem; }
.complexo-hero-home h1,.complexo-page-hero h1 { font-size:clamp(2.5rem,5vw,4.7rem); margin:0 0 1rem; font-weight:700; }
.complexo-kicker,.complexo-page-hero p,.complexo-footer,.complexo-footer a,.complexo-smalltext { letter-spacing:.18em; text-transform:uppercase; }
.complexo-kicker { font-size:1rem; margin:0 auto 2rem; }
.complexo-footer { padding:2.5rem 1rem 2rem; text-align:center; font-size:.86rem; }
.complexo-footer p { margin:.7rem 0; }
.complexo-footer a { color:inherit; text-decoration:none; }
.complexo-body-logo { width:190px; height:190px; object-fit:contain; border-radius:50%; margin:0 auto 1.3rem; display:block; }
.complexo-page-hero .headline,.complexo-page-hero .subline { font-size:clamp(1.25rem,2vw,2rem); font-weight:700; margin:.8rem 0; text-transform:uppercase; letter-spacing:.08em; }
.complexo-president-photo { width:min(300px,72vw); height:min(360px,82vw); object-fit:cover; border-radius:999px; display:block; margin:2rem auto 1.2rem; }
.complexo-president-name { font-size:clamp(2rem,4vw,3.6rem); font-weight:700; margin:0; text-transform:uppercase; }
.complexo-president-role { margin-top:.8rem; font-size:1rem; letter-spacing:.08em; text-transform:uppercase; opacity:.8; }
.complexo-section { padding:0 1rem 3rem; }
.complexo-section-title { text-align:center; font-size:clamp(2rem,4vw,3.5rem); margin-bottom:2rem; text-transform:uppercase; font-weight:700; }
.complexo-filter-bar { display:flex; justify-content:center; flex-wrap:wrap; gap:.75rem; margin:1rem auto 2rem; }
.complexo-filter-bar a { text-decoration:none; color:inherit; border:1px solid rgba(127,127,127,.2); padding:.7rem 1rem; border-radius:999px; font-weight:600; }
.complexo-filter-bar a.active { background:rgba(41,74,131,.16); border-color:rgba(41,74,131,.42); color:#5578b4; }
.complexo-president-grid { max-width:1400px; margin:0 auto; display:grid; grid-template-columns:repeat(auto-fit,minmax(240px,1fr)); gap:2.2rem 2rem; }
.complexo-president-card { text-align:center; }
.complexo-card-photo { width:140px; height:180px; display:block; margin:0 auto 1rem; object-fit:cover; border-radius:999px; }
.complexo-president-card h3 { font-family:Georgia,'Times New Roman',serif; text-transform:uppercase; font-size:1.25rem; margin:0 0 .55rem; font-weight:700; }
.complexo-president-card p { margin:0; opacity:.85; }
.complexo-history-list,.complexo-gallery-grid { max-width:1500px; margin:0 auto; }
.complexo-history-list { display:grid; gap:2rem; }
.complexo-history-item { border-top:1px solid rgba(255,255,255,.08); padding-top:1.5rem; }
body.theme-light .complexo-history-item { border-top-color:rgba(0,0,0,.08); }
.complexo-history-item h3 { text-transform:uppercase; font-weight:700; margin-bottom:1rem; }
.complexo-history-layout { display:grid; grid-template-columns:minmax(220px,360px) 1fr; gap:1.5rem; align-items:start; }
.complexo-history-layout img { width:100%; border-radius:16px; object-fit:cover; }
.complexo-history-layout p { margin:0; line-height:1.8; }
.complexo-gallery-grid { column-count:4; column-gap:1.4rem; }
.complexo-gallery-item { display:inline-block; width:100%; margin-bottom:1.4rem; break-inside:avoid; }
.complexo-gallery-item img { width:100%; border-radius:10px; display:block; }
.complexo-gallery-item h3 { margin:.8rem 0 .3rem; font-size:1rem; text-transform:uppercase; letter-spacing:.08em; }
.complexo-gallery-item p { margin:0; opacity:.8; }
.complexo-empty { text-align:center; opacity:.8; padding:2rem; }
body.complexo-admin-body { background:linear-gradient(180deg,#101113 0%,#1b1d22 100%); color:#f4efe6; }
.complexo-sidebar { width:var(--sidebar-width); position:fixed; inset:0 auto 0 0; background:linear-gradient(180deg,#060606 0%,#141518 100%); border-right:1px solid rgba(255,255,255,.08); padding:1rem; overflow-y:auto; z-index:1000; transition:width .22s ease,transform .22s ease; }
.complexo-toggle { width:44px; height:44px; border-radius:12px; border:1px solid rgba(255,255,255,.12); background:rgba(255,255,255,.06); display:grid; place-items:center; gap:4px; padding:10px; }
.complexo-toggle span { display:block; width:18px; height:2px; background:#fff; }
.complexo-brand { display:flex; gap:.9rem; align-items:center; text-decoration:none; color:#fff; margin:1rem 0 1.25rem; padding:.8rem; border-radius:18px; background:rgba(255,255,255,.05); }
.complexo-brand img { width:58px; height:58px; object-fit:contain; }
.complexo-brand strong { display:block; font-size:1rem; }
.complexo-brand span { color:rgba(255,255,255,.62); font-size:.82rem; }
.complexo-menu-group { margin-bottom:.7rem; }
.complexo-menu-button { width:100%; border:0; background:rgba(255,255,255,.05); color:#fff; padding:.85rem 1rem; border-radius:14px; display:flex; align-items:center; justify-content:space-between; font-weight:700; }
.complexo-submenu { display:none; padding:.45rem 0 0 .35rem; }
.complexo-menu-group.open .complexo-submenu { display:grid; gap:.35rem; }
.complexo-submenu a { text-decoration:none; color:rgba(255,255,255,.78); background:rgba(255,255,255,.04); padding:.68rem .8rem; border-radius:12px; }
.complexo-submenu a.active { background:rgba(41,74,131,.4); color:#fff; font-weight:700; }
.complexo-sidebar-footer { margin-top:1.25rem; display:grid; gap:.7rem; }
.complexo-sidebar-footer a { text-decoration:none; text-align:center; padding:.85rem 1rem; border-radius:14px; font-weight:700; }
.complexo-sidebar-footer .secondary { background:rgba(255,255,255,.1); color:#fff; }
.complexo-sidebar-footer .primary { background:linear-gradient(135deg,#b3944c,#d7be7b); color:#191816; }
.complexo-content { margin-left:var(--sidebar-width); padding:1.5rem; transition:margin-left .22s ease; }
.complexo-topbar { display:flex; align-items:flex-start; justify-content:space-between; gap:1rem; margin-bottom:1.25rem; }
.complexo-topbar .eyebrow { text-transform:uppercase; letter-spacing:.18em; color:#d7be7b; font-weight:700; font-size:.76rem; }
.complexo-topbar h1 { margin:.4rem 0 .25rem; font-size:2rem; font-weight:800; }
.complexo-topbar p { margin:0; color:rgba(244,239,230,.7); }
.complexo-userbox { text-align:right; background:rgba(255,255,255,.06); border:1px solid rgba(255,255,255,.08); padding:.95rem 1.1rem; border-radius:16px; }
.complexo-userbox strong { display:block; }
.complexo-userbox span { color:rgba(244,239,230,.75); }
.complexo-card-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(220px,1fr)); gap:1rem; margin-bottom:1.2rem; }
.complexo-card,.complexo-panel,.complexo-form-card { background:rgba(255,255,255,.05); border:1px solid rgba(255,255,255,.08); border-radius:20px; box-shadow:0 18px 30px rgba(0,0,0,.18); }
.complexo-card { padding:1rem 1.1rem; }
.complexo-card .label { text-transform:uppercase; letter-spacing:.12em; font-size:.76rem; color:#d7be7b; }
.complexo-card .value { font-size:2rem; font-weight:800; margin-top:.35rem; }
.complexo-panel,.complexo-form-card { padding:1.2rem; }
.table.complexo-table { color:#1b1d22; border-collapse:separate; border-spacing:0; border-radius:18px; overflow:hidden; }
.table.complexo-table th,.table.complexo-table td { border-color:rgba(0,0,0,.08); }
.complexo-form-card .form-control,.complexo-form-card .form-select,.complexo-form-card textarea { background:rgba(255,255,255,.08); border:1px solid rgba(255,255,255,.12); color:#fff; }
.complexo-form-card .form-select { background:#f1f4f8; color:#17191d; }
.complexo-form-card .form-select option { background:#ffffff; color:#17191d; }
.complexo-form-card label { font-weight:700; margin-bottom:.4rem; }
.complexo-backdrop { display:none; }
body.complexo-sidebar-collapsed .complexo-sidebar { width:var(--sidebar-collapsed); }
body.complexo-sidebar-collapsed .complexo-content { margin-left:var(--sidebar-collapsed); }
body.complexo-sidebar-collapsed .complexo-brand div,body.complexo-sidebar-collapsed .complexo-menu-button span,body.complexo-sidebar-collapsed .complexo-menu-button .caret,body.complexo-sidebar-collapsed .complexo-submenu,body.complexo-sidebar-collapsed .complexo-sidebar-footer a { display:none !important; }
body.complexo-sidebar-collapsed .complexo-brand,body.complexo-sidebar-collapsed .complexo-menu-button { justify-content:center; }
@media (max-width: 991px) {
 .brand-word { font-size:2rem; }
 .complexo-navlinks { display:none; }
 .complexo-logos-cluster { grid-template-columns:repeat(2,minmax(120px,1fr)); }
 .complexo-president-grid { grid-template-columns:repeat(auto-fit,minmax(180px,1fr)); }
 .complexo-history-layout { grid-template-columns:1fr; }
 .complexo-gallery-grid { column-count:2; }
 .complexo-sidebar { transform:translateX(-100%); }
 .complexo-content { margin-left:0; padding:1rem; }
 .complexo-backdrop { position:fixed; inset:0; background:rgba(0,0,0,.5); z-index:999; }
 body.complexo-sidebar-open .complexo-sidebar { transform:translateX(0); }
 body.complexo-sidebar-open .complexo-backdrop { display:block; }
}
.complexo-page-hero-compact { padding-bottom: 1rem; }
.complexo-history-section,
.complexo-gallery-section { padding-top: 0; }
.complexo-history-fixed { max-width: 1640px; margin: 0 auto; }
.complexo-history-block { margin-bottom: 2.4rem; }
.complexo-history-copy { max-width: 1580px; margin: 0 auto 1rem; }
.complexo-history-copy p { margin: 0 0 .75rem; line-height: 1.55; font-size: .94rem; color: rgba(247,243,235,.92); }
.complexo-history-strip { width: 100%; display: block; border-radius: 0; }
.complexo-gallery-strips { max-width: 1640px; margin: 0 auto; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 2.2rem; align-items: start; }
.complexo-gallery-strip { margin: 0; }
.complexo-gallery-strip img { width: 100%; display: block; }
@media (max-width: 991px) {
 .complexo-gallery-strips { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.2rem; }
}
@media (max-width: 640px) {
 .complexo-history-copy p { font-size: .88rem; }
 .complexo-gallery-strips { grid-template-columns: 1fr; }
}
.table.complexo-table thead th {
    background: #d7dbe3 !important;
    color: #1b1d22 !important;
    font-weight: 800;
}
.table.complexo-table tbody td {
    background: #eef1f5 !important;
    color: #1b1d22 !important;
}
.table.complexo-table tbody tr:nth-child(even) td {
    background: #e4e9ef !important;
}
.table.complexo-table .text-secondary {
    color: #5f6773 !important;
}.complexo-history-page {
    max-width: 1640px;
    margin: 0 auto;
}
.complexo-history-story {
    margin-bottom: 2.75rem;
}
.complexo-history-text {
    margin: 0 auto 1rem;
}
.complexo-history-text p {
    margin: 0 0 .75rem;
    line-height: 1.55;
    font-size: .94rem;
    color: rgba(247,243,235,.92);
}
.complexo-history-gallery {
    display: grid;
    gap: 2rem;
    align-items: start;
}
.complexo-history-gallery.columns-2 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}
.complexo-history-gallery.columns-3 {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}
.complexo-history-gallery.columns-4 {
    grid-template-columns: repeat(4, minmax(0, 1fr));
}
.complexo-history-figure {
    margin: 0;
    text-align: center;
}
.complexo-history-figure img {
    width: 100%;
    max-height: 460px;
    object-fit: contain;
    display: block;
    margin: 0 auto;
}
.complexo-history-figure figcaption {
    margin-top: .65rem;
    font-size: .72rem;
    letter-spacing: .18em;
    text-transform: uppercase;
    color: rgba(247,243,235,.42);
}
@media (max-width: 991px) {
    .complexo-history-gallery.columns-4,
    .complexo-history-gallery.columns-3,
    .complexo-history-gallery.columns-2 {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 1.2rem;
    }
}
@media (max-width: 640px) {
    .complexo-history-gallery.columns-4,
    .complexo-history-gallery.columns-3,
    .complexo-history-gallery.columns-2 {
        grid-template-columns: 1fr;
    }
    .complexo-history-text p {
        font-size: .88rem;
    }
}
.complexo-home-agenda {
    max-width: 1520px;
    margin: 2.25rem auto 0;
}
.complexo-home-agenda-subtitle {
    margin: -1rem 0 1.4rem;
    text-align: center;
    letter-spacing: .12em;
    text-transform: uppercase;
    color: rgba(247,243,235,.72);
    font-size: .88rem;
}
.complexo-home-agenda-table-wrap {
    background: rgba(255,255,255,.05);
    border: 1px solid rgba(255,255,255,.08);
    border-radius: 18px;
    overflow: hidden;
    box-shadow: 0 18px 30px rgba(0,0,0,.18);
}
.table.complexo-home-agenda-table {
    margin: 0;
    color: #f7f3eb;
}
.table.complexo-home-agenda-table thead th {
    background: rgba(255,255,255,.08);
    color: #f7f3eb;
    text-transform: uppercase;
    letter-spacing: .12em;
    font-size: .76rem;
    border-color: rgba(255,255,255,.08);
}
.table.complexo-home-agenda-table tbody td {
    background: rgba(0,0,0,.18);
    color: #f7f3eb;
    border-color: rgba(255,255,255,.08);
}
.table.complexo-home-agenda-table tbody tr:nth-child(even) td {
    background: rgba(255,255,255,.04);
}
.complexo-home-badge {
    display: inline-block;
    margin-left: .55rem;
    padding: .18rem .5rem;
    border-radius: 999px;
    background: rgba(179,148,76,.22);
    border: 1px solid rgba(179,148,76,.38);
    color: #d7be7b;
    font-size: .7rem;
    letter-spacing: .08em;
    text-transform: uppercase;
    vertical-align: middle;
}
@media (max-width: 640px) {
    .complexo-home-agenda-subtitle {
        font-size: .8rem;
        line-height: 1.5;
    }
    .table.complexo-home-agenda-table thead th,
    .table.complexo-home-agenda-table tbody td {
        font-size: .84rem;
    }
}
.complexo-president-page {
    padding-top: 1.5rem;
}
.complexo-filter-bar-stacked {
    max-width: 1120px;
    margin: 0 auto 2.2rem;
    display: grid;
    grid-template-columns: 1fr;
    gap: 0;
    border: 1px solid rgba(255,255,255,.08);
    background: rgba(255,255,255,.04);
}
.complexo-filter-bar-stacked a {
    border: 0;
    border-bottom: 1px solid rgba(255,255,255,.08);
    border-radius: 0;
    padding: 1rem 1.3rem;
    text-align: left;
    color: #f7f3eb;
    background: rgba(255,255,255,.03);
    font-size: clamp(1rem, 1.5vw, 1.15rem);
    letter-spacing: .01em;
    text-transform: none;
    font-weight: 500;
}
.complexo-filter-bar-stacked a:last-child {
    border-bottom: 0;
}
.complexo-filter-bar-stacked a.active {
    background: rgba(255,255,255,.08);
    color: #ffffff;
}
.complexo-president-photo-small {
    width: min(220px, 56vw);
    height: min(260px, 66vw);
    margin: 1.4rem auto .9rem;
}
.complexo-president-name-small {
    font-size: clamp(1.25rem, 2.2vw, 1.95rem);
}
.complexo-section-title-small {
    font-size: clamp(1.6rem, 3vw, 2.6rem);
    margin-bottom: 1.4rem;
}
.complexo-president-section-tight {
    padding-top: 0;
}
body.theme-light .complexo-filter-bar-stacked {
    border-color: rgba(0,0,0,.08);
    background: #eef1f5;
}
body.theme-light .complexo-filter-bar-stacked a {
    background: #f5f7fa;
    color: #17305f;
    border-bottom-color: rgba(0,0,0,.08);
}
body.theme-light .complexo-filter-bar-stacked a.active {
    background: #e7ecf3;
    color: #17305f;
}
@media (max-width: 640px) {
    .complexo-filter-bar-stacked a {
        padding: .85rem 1rem;
        font-size: .98rem;
    }
}
.complexo-gallery-page-reference {
    padding-top: 2.25rem;
}
.complexo-gallery-grid-reference {
    max-width: 1640px;
    column-count: 4;
    column-gap: 4.4rem;
}
.complexo-gallery-item-reference {
    margin-bottom: 2rem;
}
.complexo-gallery-item-reference img {
    width: 100%;
    display: block;
    border-radius: 2px;
    box-shadow: none;
}
.complexo-gallery-caption-reference {
    margin: .85rem 0 0;
    text-align: center;
    font-size: .84rem;
    letter-spacing: .18em;
    text-transform: uppercase;
    color: rgba(247,243,235,.26);
    font-weight: 700;
}
@media (max-width: 1200px) {
    .complexo-gallery-grid-reference {
        column-count: 3;
        column-gap: 2rem;
    }
}
@media (max-width: 991px) {
    .complexo-gallery-grid-reference {
        column-count: 2;
        column-gap: 1.2rem;
    }
    .complexo-gallery-item-reference {
        margin-bottom: 1.3rem;
    }
    .complexo-gallery-caption-reference {
        font-size: .72rem;
        letter-spacing: .12em;
    }
}
@media (max-width: 640px) {
    .complexo-gallery-grid-reference {
        column-count: 1;
    }
}
