:root {
    --blue-deep: #0071A2;
    --blue-mid: #1a8dbe;
    --blue-light: #3CB9E1;
    --blue-pale: #7fd4f0;
    --blue-wash: #e6f5fb;
    --blue-ice: #f2f9fc;
    --yellow: #FFDD00;
    --yellow-soft: #fff5b3;
    --gray-brand: #BFC4C4;

    --bg: #f6f7f8;
    --surface: #ffffff;
    --surface-warm: #fafaf9;
    --dark: #0a1e2c;
    --dark-mid: #0e2a3d;

    --text-primary: #0c1a24;
    --text-secondary: #3d5562;
    --text-muted: #7a8f9c;
    --text-on-dark: #e4ecf0;

    --border: rgba(0,113,162,0.08);
    --border-strong: rgba(0,113,162,0.15);
    --border-dark: rgba(255,255,255,0.07);

    --s1:4px; --s2:8px; --s3:12px; --s4:16px; --s5:20px;
    --s6:24px; --s8:32px; --s10:40px; --s12:48px; --s16:64px;
    --s20:80px; --s24:96px;

    --max-w: 1200px;
    --gutter: var(--s8);
    --font: 'Montserrat', sans-serif;
    --radius: 6px;
    --radius-lg: 12px;
}

*,*::before,*::after { margin:0;padding:0;box-sizing:border-box; }
html { scroll-behavior:smooth; }
body {
    font-family: var(--font);
    color: var(--text-primary);
    background: var(--bg);
    -webkit-font-smoothing: antialiased;
    font-size: 15px; line-height: 1.55;
}
a { color: var(--blue-deep); text-decoration:none; }
a:hover { text-decoration:underline; }
img { display:block; max-width:100%; }

.container { max-width:var(--max-w); margin:0 auto; padding:0 var(--gutter); }
.label {
    font-size:10px; font-weight:800;
    letter-spacing:0.14em; text-transform:uppercase;
}
.label--muted { color:var(--text-muted); }
.label--blue { color:var(--blue-light); }
.label--deep { color:var(--blue-deep); }

/* ═══════════════════════════════════
   SECONDARY BAR
   ═══════════════════════════════════ */
.secbar {
    background: var(--blue-deep);
}
.secbar__inner {
    max-width:var(--max-w); margin:0 auto;
    padding:0 var(--gutter); height:34px;
    display:flex; align-items:center;
    justify-content:space-between;
    font-size:11px;
}
.secbar__left {
    display:flex; align-items:center; gap:var(--s4);
    color:rgba(255,255,255,0.55);
}
.secbar__left a {
    color:rgba(255,255,255,0.55); text-decoration:none;
    transition:color 0.2s;
}
.secbar__left a:hover { color:#fff; text-decoration:none; }
.secbar__left span.sep { width:1px; height:10px; background:rgba(255,255,255,0.15); }
.secbar__right {
    display:flex; align-items:center; gap:var(--s4);
}
.secbar__right a {
    color:rgba(255,255,255,0.45); text-decoration:none;
    display:flex; transition:color 0.2s;
}
.secbar__right a:hover { color:#fff; }

/* ═══════════════════════════════════
   MAIN NAV — White
   ═══════════════════════════════════ */
.nav {
    position:sticky; top:0; z-index:100;
    background:var(--surface);
    border-bottom:1px solid var(--border);
    box-shadow:0 1px 4px rgba(0,0,0,0.03);
}
.nav__inner {
    max-width:var(--max-w); margin:0 auto;
    padding:0 var(--gutter); height:64px;
    display:flex; align-items:center;
    justify-content:space-between;
}
.nav__brand {
    display:flex; align-items:center; gap:var(--s3);
    flex-shrink:0;
}
.nav__logo { height:32px; }
.nav__sep { width:1px; height:28px; background:var(--border); }
.nav__wordmark {
    font-size:11px; font-weight:600;
    color:var(--blue-deep); line-height:1.25;
    letter-spacing:0.02em;
}
.nav__wordmark span {
    display:block; font-weight:300;
    font-size:10px; color:var(--text-muted);
    letter-spacing:0.04em;
}
.nav__links { display:flex; align-items:center; gap:0; }
.nav__item { position:relative; }
.nav__item > a {
    font-size:12.5px; font-weight:600;
    color:var(--text-secondary); text-decoration:none;
    padding:var(--s5) var(--s4);
    display:inline-flex; align-items:center; gap:3px;
    transition:color 0.2s; position:relative;
}
.nav__item > a:hover { color:var(--blue-deep); text-decoration:none; }
.nav__item > a.active { color:var(--blue-deep); }
.nav__item > a.active::after {
    content:''; position:absolute;
    bottom:-1px; left:var(--s4); right:var(--s4);
    height:3px; background:var(--blue-deep);
    border-radius:2px 2px 0 0;
}
.nav__item > a .chev { color:var(--text-muted); transition:transform 0.2s; }
.nav__item:hover > a .chev { transform:rotate(180deg); color:var(--blue-deep); }
.nav__drop {
    position:absolute; top:100%; left:0;
    min-width:220px; padding:var(--s2) 0;
    background:var(--surface);
    border:1px solid var(--border);
    box-shadow:0 12px 40px rgba(0,113,162,0.08);
    opacity:0; visibility:hidden;
    transform:translateY(6px);
    transition:all 0.2s cubic-bezier(0.16,1,0.3,1);
    z-index:200; border-radius:0 0 var(--radius) var(--radius);
}
.nav__item:hover .nav__drop {
    opacity:1; visibility:visible; transform:translateY(0);
}
.nav__drop::before {
    content:''; position:absolute;
    top:0; left:0; right:0; height:2px;
    background:linear-gradient(90deg, var(--blue-deep), var(--blue-light));
}
.nav__drop a {
    display:flex; align-items:center; gap:var(--s3);
    padding:var(--s3) var(--s5);
    font-size:13px; font-weight:400;
    color:var(--text-secondary); text-decoration:none;
    transition:all 0.15s;
}
.nav__drop a:hover {
    background:var(--blue-wash); color:var(--blue-deep);
    text-decoration:none; padding-left:var(--s6);
}
.nav__cta {
    padding:8px 20px; background:var(--blue-deep);
    color:#fff; font-size:11px; font-weight:700;
    letter-spacing:0.06em; text-transform:uppercase;
    text-decoration:none; border-radius:var(--radius);
    transition:background 0.2s;
}
.nav__cta:hover { background:var(--blue-mid); text-decoration:none; }

/* ═══════════════════════════════════
   HERO — Magazine cover
   ═══════════════════════════════════ */
.hero {
    position:relative; overflow:hidden;
    background:var(--dark);
    height:84vh;
    min-height:560px;
    max-height:860px;
    display:flex;
    align-items:flex-end;
}
.hero__slides { 
    position: absolute;
    inset: 0;
    display: flex;
    align-items: center;
}
.hero__slide {
    position:absolute; inset:0;
    background-size:cover; background-position:center;
    opacity:0;
    animation:kenburns 36s infinite;
}
.hero__slide:nth-child(1) { animation-delay:0s; }
.hero__slide:nth-child(2) { animation-delay:6s; }
.hero__slide:nth-child(3) { animation-delay:12s; }
.hero__slide:nth-child(4) { animation-delay:18s; }
.hero__slide:nth-child(5) { animation-delay:24s; }
.hero__slide:nth-child(6) { animation-delay:30s; }
@keyframes kenburns {
    0% { opacity:0; transform:scale(1); }
    2% { opacity:0.7; }
    15% { opacity:0.7; transform:scale(1.12); }
    17% { opacity:0; transform:scale(1.15); }
    100% { opacity:0; transform:scale(1); }
}
.hero__bg {
    position:absolute; inset:0;
    background: url("img/hero.jpg");
    background-size: cover;
    background-position: center;
}
.hero__overlay {
    position:absolute; inset:0;
    background:
        linear-gradient(160deg, rgba(10,30,44,0.88) 0%, rgba(10,30,44,0.4) 45%, rgba(10,30,44,0.15) 70%, rgba(10,30,44,0.7) 100%),
        linear-gradient(0deg, rgba(10,30,44,0.9) 0%, transparent 40%);
}
.hero__grid {
    max-width:var(--max-w); margin:0 auto;
    padding:var(--s16) var(--gutter) var(--s12);
    position:relative; z-index:2;
    width:100%;
}
.hero__eyebrow {
    display:flex; align-items:center;
    gap:var(--s3); margin-bottom:var(--s5);
}
.hero__stripe { width:40px; height:3px; background:var(--yellow); }
.hero__title {
    font-size:clamp(36px, 5.5vw, 68px);
    font-weight:800; color:#fff;
    line-height:1.02; letter-spacing:-0.04em;
    margin-bottom:var(--s5);
    max-width:550px;
}
.hero__title span {
    font-weight:300; 
    display:block; color:var(--blue-pale);
    font-size:0.65em; letter-spacing:-0.01em;
    margin-top:var(--s2);
}
.hero__sub {
    font-size:16px; line-height:1.7;
    color:rgba(255,255,255,0.85); font-weight:300;
    max-width:460px; margin-bottom:var(--s8);
}
.hero__btns { display:flex; gap:var(--s3); }
.hero__btn {
    padding:13px 28px; font-family:var(--font);
    font-size:11px; font-weight:700;
    letter-spacing:0.08em; text-transform:uppercase;
    text-decoration:none; border:none; cursor:pointer;
    transition:all 0.25s; border-radius:var(--radius);
}
.hero__btn--primary { background:var(--yellow); color:var(--dark); }
.hero__btn--primary:hover { background:#fff; text-decoration:none; }
.hero__btn--ghost {
    background:transparent; color:rgba(255,255,255,0.6);
    border:1px solid rgba(255,255,255,0.2);
}
.hero__btn--ghost:hover { border-color:rgba(255,255,255,0.5); color:#fff; text-decoration:none; }

/* Hero sidebar — quick stats */
.hero__stats {
    display:flex; gap:var(--s3);
    justify-content:flex-end;
    margin-top:var(--s8);
}
.hero__stat {
    padding:var(--s4) var(--s6);
    background:rgba(255,255,255,0.06);
    border:1px solid rgba(255,255,255,0.08);
    backdrop-filter:blur(8px);
    border-radius:var(--radius);
    text-align:center;
    min-width:110px;
}
.hero__stat-num {
    font-size:36px; font-weight:900;
    color:#fff; line-height:1; letter-spacing:-0.03em;
}
.hero__stat-label {
    font-size:10px; font-weight:600;
    letter-spacing:0.1em; text-transform:uppercase;
    color:var(--blue-pale); margin-top:var(--s1);
}

/* hero animation */
.hero__grid { animation: fadeUp 1s cubic-bezier(0.16,1,0.3,1) 0.2s both; }
@keyframes fadeUp { from{opacity:0;transform:translateY(24px)} to{opacity:1;transform:translateY(0)} }

/* brand divider */
.brand-div { height:6px; display:flex; }
.brand-div div { flex:1; }
.brand-div div:nth-child(1) { background:var(--blue-deep); }
.brand-div div:nth-child(2) { background:var(--blue-light); }
.brand-div div:nth-child(3) { background:var(--gray-brand); }
.brand-div div:nth-child(4) { background:var(--yellow); flex:0.4; }

/* ═══════════════════════════════════
   FEATURED NEWS — Magazine layout
   ═══════════════════════════════════ */
.feat {
    padding:var(--s16) 0;
    background:var(--surface);
    border-bottom:1px solid var(--border);
}
.feat__header {
    max-width:var(--max-w); margin:0 auto var(--s8);
    padding:0 var(--gutter);
    display:flex; justify-content:space-between; align-items:flex-end;
}
.feat__header-left { display:flex; flex-direction:column; gap:var(--s2); }
.feat__header-stripe { width:36px; height:2px; background:var(--blue-deep); }
.feat__header-title {
    font-size:clamp(24px,3vw,32px); font-weight:800;
    letter-spacing:-0.03em; line-height:1.1;
}
.feat__header-link {
    font-size:12px; font-weight:600; color:var(--blue-deep);
}
.feat__grid {
    max-width:var(--max-w); margin:0 auto;
    padding:0 var(--gutter);
    display:grid;
    grid-template-columns:1.4fr 1fr 1fr;
    grid-template-rows:1fr 1fr;
    gap:var(--s4);
    min-height:480px;
}
.feat__card {
    position:relative; overflow:hidden;
    border-radius:var(--radius-lg);
    cursor:pointer; background:var(--dark);
}
.feat__card:first-child { grid-row:1/-1; }
.feat__card img {
    width:100%; height:100%; object-fit:cover;
    transition:transform 0.6s cubic-bezier(0.16,1,0.3,1), opacity 0.4s;
    opacity:0.8;
}
.feat__card:hover img { transform:scale(1.04); opacity:1; }
.feat__card-over {
    position:absolute; inset:0;
    background:linear-gradient(0deg, rgba(10,30,44,0.88) 0%, rgba(10,30,44,0.15) 55%, transparent);
    transition:background 0.4s;
}
.feat__card-body {
    position:absolute; bottom:0; left:0; right:0;
    padding:var(--s6); z-index:2;
    background: var(--blue-light);
}
.feat__card-cat {
    display:inline-block; padding:3px 10px;
    font-size:9px; font-weight:700;
    letter-spacing:0.1em; text-transform:uppercase;
    background:var(--yellow); color:var(--dark);
    border-radius:3px; margin-bottom:var(--s2);
}
.feat__card-cat--inst { background:var(--blue-deep); color:#fff; }
.feat__card-cat--norma { background:rgba(255,255,255,0.15); color:#fff; }
.feat__card-title {
    font-size:18px; font-weight:700;
    color:#fff; line-height:1.2;
    letter-spacing:-0.01em;
    margin-bottom:var(--s1);
}
.feat__card:first-child .feat__card-title {
    font-size:clamp(20px,2.5vw,26px); font-weight:800;
}
.feat__card-date {
    font-size:11px; color:rgba(255,255,255,0.4);
    font-weight:400;
}

/* ═══════════════════════════════════
   CONTENT BAND — Events + Docs side by side
   ═══════════════════════════════════ */
.content-band {
    padding:var(--s16) 0;
}
.content-band__grid {
    max-width:var(--max-w); margin:0 auto;
    padding:0 var(--gutter);
    display:grid;
    grid-template-columns:5fr 7fr;
    gap:var(--s8);
    align-items:start;
}

/* ── EVENTS WIDGET ── */
.events {
    background:var(--dark);
    border-radius:var(--radius-lg);
    overflow:hidden;
}
.events__hero {
    position:relative;
    height:180px;
    overflow:hidden;
}
.events__hero img {
    width:100%; /*height:100%;*/
    object-fit:cover; /*opacity:0.9;*/
}
.events__hero-over {
    position:absolute; inset:0;
    background:linear-gradient(0deg, var(--dark) 10%, rgba(10,30,44,0.3) 100%);
}
.events__hero-body {
    position:absolute; bottom:0; left:0; right:0;
    padding:var(--s5) var(--s6);
    z-index:2;
}
.events__header {
    display:flex; justify-content:space-between;
    align-items:flex-end;
}
.events__header-left { display:flex; flex-direction:column; gap:var(--s2); }
.events__header-stripe { width:36px; height:2px; background:var(--yellow); }
.events__header-title {
    font-size:22px; font-weight:800;
    letter-spacing:-0.02em; color:#fff;
}
.events__header-link {
    font-size:12px; font-weight:600; color:var(--blue-pale);
    text-decoration:none;
}
.events__header-link:hover { color:#fff; text-decoration:none; }
.events__list { display:flex; flex-direction:column; gap:1px; padding:var(--s3); }
.ev-card {
    display:grid;
    grid-template-columns:60px 1fr;
    gap:var(--s4);
    padding:var(--s4);
    background:rgba(255,255,255,0.04);
    border:1px solid rgba(255,255,255,0.06);
    border-radius:var(--radius);
    transition:all 0.25s;
    cursor:pointer;
}
.ev-card:hover {
    background:rgba(255,255,255,0.08);
    border-color:rgba(255,255,255,0.12);
}
.ev-card__date {
    display:flex; flex-direction:column;
    align-items:center; justify-content:center;
    background:rgba(0,113,162,0.2);
    border-radius:var(--radius);
    padding:var(--s2);
    min-height:60px;
}
.ev-card__day {
    font-size:24px; font-weight:900;
    color:#fff; line-height:1;
    letter-spacing:-0.03em;
}
.ev-card__month {
    font-size:9px; font-weight:700;
    letter-spacing:0.12em; text-transform:uppercase;
    color:var(--blue-pale); margin-top:2px;
}
.ev-card__year {
    font-size:8px; font-weight:400;
    color:rgba(255,255,255,0.35);
}
.ev-card__info {
    display:flex; flex-direction:column;
    justify-content:center; gap:var(--s1);
}
.ev-card__title {
    font-size:13.5px; font-weight:600;
    color:rgba(255,255,255,0.85); line-height:1.3;
    letter-spacing:-0.01em;
}
.ev-card__meta {
    display:flex; align-items:center; gap:var(--s3);
    font-size:11px; color:rgba(255,255,255,0.35); font-weight:400;
}
.ev-card__meta svg { flex-shrink:0; color:rgba(255,255,255,0.25); }
.ev-card__type {
    display:inline-block; padding:2px 7px;
    font-size:8px; font-weight:700;
    letter-spacing:0.08em; text-transform:uppercase;
    color:var(--yellow); background:rgba(255,221,0,0.1);
    border-radius:3px; margin-top:var(--s1);
    align-self:flex-start;
}

/* ── DOCUMENTS WIDGET ── */
.docs { padding-left: 2.5rem; }
.docs__header {
    display:flex; justify-content:space-between;
    align-items:flex-end; margin-bottom:var(--s5);
}
.docs__header-left { display:flex; flex-direction:column; gap:var(--s2); }
.docs__header-stripe { width:36px; height:2px; background:var(--blue-deep); }
.docs__header-title {
    font-size:22px; font-weight:800;
    letter-spacing:-0.02em;
}

/* Tabs */
.docs__tabs {
    display:flex; gap:var(--s1);
    margin-bottom:var(--s5);
    background:var(--bg);
    padding:3px; border-radius:var(--radius);
}
.docs__tab {
    padding:8px 18px; font-family:var(--font);
    font-size:11px; font-weight:600;
    letter-spacing:0.03em;
    color:var(--text-muted); background:transparent;
    border:none; cursor:pointer; border-radius:var(--radius);
    transition:all 0.2s;
}
.docs__tab:hover { color:var(--text-primary); }
.docs__tab.active {
    background:var(--surface); color:var(--blue-deep);
    box-shadow:0 1px 3px rgba(0,0,0,0.06);
    font-weight:700;
}

.docs__list { display:flex; flex-direction:column; gap:2px; }
.doc-row {
    display:grid;
    grid-template-columns:1fr auto auto;
    gap:var(--s4); align-items:center;
    padding:var(--s4) var(--s5);
    /*background:var(--surface);*/
    border-bottom:1px solid var(--border);
    /*border-radius:var(--radius);*/
    transition:all 0.2s; cursor:pointer;
}
.doc-row:hover {
    border-color:var(--border-strong);
    background:var(--blue-ice);
}
.doc-row__title {
    font-size:14px; font-weight:600;
    color:var(--text-primary);
}
.doc-row__title span {
    display:block; font-size:11px;
    font-weight:400; color:var(--text-muted);
    margin-top:2px;
}
.doc-row__type {
    padding:3px 10px; font-size:9px;
    font-weight:700; letter-spacing:0.08em;
    text-transform:uppercase; border-radius:3px;
}
.doc-row__type--acta { background:var(--blue-wash); color:var(--blue-deep); }
.doc-row__type--res { background:#fff7e6; color:#b45309; }
.doc-row__type--inf { background:#f0fdf4; color:#0d7a3e; }
.doc-row__dl {
    font-size:12px; font-weight:600;
    color:var(--blue-deep); text-decoration:none;
    display:flex; align-items:center; gap:4px;
}
.doc-row__dl:hover { text-decoration:underline; }

/* ═══════════════════════════════════
   REGIONS — photo cards on blue
   ═══════════════════════════════════ */
.regions {
    padding:var(--s16) 0;
    background:linear-gradient(170deg, var(--dark) 0%, var(--dark-mid) 100%);
    position:relative; overflow:hidden;
}
.regions__glow {
    position:absolute; width:700px; height:700px;
    border-radius:50%;
    background:radial-gradient(circle, rgba(60,185,225,0.08) 0%, transparent 70%);
    top:-300px; right:-200px; pointer-events:none;
}
.regions__inner {
    max-width:var(--max-w); margin:0 auto;
    padding:0 var(--gutter); position:relative; z-index:2;
}
.regions__header {
    display:flex; justify-content:space-between;
    align-items:flex-end; margin-bottom:var(--s8);
}
.regions__header-left { display:flex; flex-direction:column; gap:var(--s2); }
.regions__header-stripe { width:36px; height:2px; background:var(--yellow); }
.regions__header-title {
    font-size:clamp(24px,3vw,32px); font-weight:800;
    color:#fff; letter-spacing:-0.03em;
}
.regions__header-sub {
    font-size:14px; color:rgba(255,255,255,0.4);
    font-weight:300; margin-top:var(--s1);
}
.regions__grid {
    display:grid;
    grid-template-columns:repeat(3, 1fr);
    gap:var(--s4);
}
.region-tile {
    position:relative; overflow:hidden;
    border-radius:var(--radius-lg);
    min-height:200px; cursor:pointer;
    background:var(--dark);
}
.region-tile img {
    width:100%; height:100%; object-fit:cover;
    opacity:0.85; transition:all 0.5s;
}
.region-tile:hover img { opacity:0.75; transform:scale(1.05); }
.region-tile__over {
    position:absolute; inset:0; bottom: 0; height: 60%; top: initial;
    background:linear-gradient(0deg, rgba(10,30,44,0.9) 0%, rgba(10,30,44,0.2) 80%, transparent);
}
.region-tile__body {
    position:absolute; bottom:0; left:0; right:0;
    padding:var(--s5); z-index:2;
}
.region-tile__name {
    font-size:26px; font-weight:600;
    color:#fff; margin-bottom:2px;
}
.region-tile__desc {
    font-size:11px; color:rgba(255,255,255,0.45);
    font-weight:300;
}
/* text-only tile */
.region-tile--text {
    background:rgba(255,255,255,0.04);
    border:1px solid rgba(255,255,255,0.08);
    display:flex; align-items:center;
    justify-content:center; text-align:center;
    padding:var(--s6); transition:all 0.3s;
}
.region-tile--text:hover {
    background:rgba(255,255,255,0.08);
    border-color:rgba(255,255,255,0.15);
}
.region-tile--text .region-tile__body {
    position:static; padding:0;
}

/* ═══════════════════════════════════
   CTA BAND
   ═══════════════════════════════════ */
.cta {
    position:relative; overflow:hidden;
    background:var(--blue-deep);
}
.cta__inner {
    max-width:var(--max-w); margin:0 auto;
    padding:var(--s16) var(--gutter);
    display:flex; align-items:center;
    justify-content:space-between; gap:var(--s8);
    position:relative; z-index:2;
}
.cta__glow {
    position:absolute; width:500px; height:500px;
    border-radius:50%;
    background:radial-gradient(circle, rgba(255,221,0,0.1) 0%, transparent 70%);
    top:-200px; right:-100px; pointer-events:none;
}
.cta h2 {
    font-size:clamp(22px,2.5vw,28px); font-weight:800;
    color:#fff; letter-spacing:-0.02em;
    line-height:1.15; max-width:480px;
}
.cta h2 em {
    font-style:italic; font-weight:200;
    color:var(--yellow);
}
.cta__btn {
    padding:14px 32px; background:var(--yellow);
    color:var(--dark); font-family:var(--font);
    font-size:12px; font-weight:700;
    letter-spacing:0.08em; text-transform:uppercase;
    text-decoration:none; border:none; cursor:pointer;
    border-radius:var(--radius); transition:all 0.25s;
    flex-shrink:0;
}
.cta__btn:hover { background:#fff; text-decoration:none; }

/* ═══════════════════════════════════
   FOOTER
   ═══════════════════════════════════ */
.footer {
    background:var(--dark);
    border-top:1px solid var(--border-dark);
}
.footer__stripe { height:3px; display:flex; }
.footer__stripe div { flex:1; }
.footer__stripe div:nth-child(1) { background:var(--blue-deep); }
.footer__stripe div:nth-child(2) { background:var(--blue-light); }
.footer__stripe div:nth-child(3) { background:var(--gray-brand); }
.footer__stripe div:nth-child(4) { background:var(--yellow); flex:0.4; }
.footer__upper {
    max-width:var(--max-w); margin:0 auto;
    padding:var(--s12) var(--gutter);
    display:grid; grid-template-columns:2.5fr 1fr 1fr 1fr 1fr;
    gap:var(--s8);
}
.footer__brand img { height:36px; margin-bottom:var(--s3); opacity:0.7; }
.footer__brand-text {
    font-size:12px; color:rgba(255,255,255,0.25);
    line-height:1.65; font-weight:300; max-width:260px;
}
.footer__col-title {
    font-size:10px; font-weight:700;
    letter-spacing:0.13em; text-transform:uppercase;
    color:rgba(255,255,255,0.4); margin-bottom:var(--s5);
}
.footer__links { list-style:none; }
.footer__links li { margin-bottom:var(--s2); }
.footer__links a {
    font-size:13px; color:rgba(255,255,255,0.25);
    text-decoration:none; font-weight:400; transition:color 0.2s;
}
.footer__links a:hover { color:rgba(255,255,255,0.7); }
.footer__lower {
    max-width:var(--max-w); margin:0 auto;
    padding:var(--s5) var(--gutter);
    border-top:1px solid var(--border-dark);
    display:flex; justify-content:space-between;
    font-size:11px; color:rgba(255,255,255,0.15);
    font-weight:300;
}

/* ═══════════════════════════════════
   REVEAL
   ═══════════════════════════════════ */
.reveal {
    opacity:0; transform:translateY(16px);
    transition:opacity 0.7s cubic-bezier(0.16,1,0.3,1),
               transform 0.7s cubic-bezier(0.16,1,0.3,1);
}
.reveal.visible { opacity:1; transform:translateY(0); }
.rv1{transition-delay:70ms} .rv2{transition-delay:140ms}
.rv3{transition-delay:210ms} .rv4{transition-delay:280ms}

/* ═══════════════════════════════════
   RESPONSIVE
   ═══════════════════════════════════ */
@media(max-width:1024px) {
    .hero__grid { padding-top:var(--s8); }
    .hero__stats { flex-wrap:wrap; justify-content:flex-start; }
    .feat__grid { grid-template-columns:1fr 1fr; min-height:auto; }
    .feat__card:first-child { grid-row:auto; grid-column:1/-1; min-height:280px; }
    .content-band__grid { grid-template-columns:1fr; }
    .regions__grid { grid-template-columns:repeat(2,1fr); }
    .footer__upper { grid-template-columns:1fr 1fr; gap:var(--s6); }
}
@media(max-width:768px) {
    .hero__stats { flex-wrap:wrap; }
    .feat__grid { grid-template-columns:1fr; }
    .regions__grid { grid-template-columns:1fr; }
    .cta__inner { flex-direction:column; text-align:center; }
    .footer__upper { grid-template-columns:1fr; }
    .nav__links { display:none; }
}
@media(max-width:600px) {
    .secbar { display:none; }
    .footer__lower { flex-direction:column; gap:var(--s2); text-align:center; }
    .hero__btns { flex-direction:column; }
}

/* noise */
body::after {
    content:''; position:fixed; inset:0;
    pointer-events:none; z-index:9999; opacity:0.014;
    background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
    background-repeat:repeat; background-size:256px;
}