:root {
    color-scheme: dark;
    --bg: #03090d;
    --bg-soft: #071117;
    --panel: rgba(4, 17, 23, .97);
    --panel-raised: rgba(7, 24, 31, .98);
    --panel-soft: rgba(9, 28, 35, .9);
    --line: #6f3818;
    --line-hot: #d9771e;
    --line-bright: #f3ad43;
    --gold: #e29a36;
    --gold-soft: #f3c47b;
    --cyan: #24c6d4;
    --text: #f2dfbd;
    --text-strong: #fff2d8;
    --muted: #b3a58c;
    --success: #54d673;
    --danger: #ef6254;
    --shadow: 0 20px 55px rgba(0, 0, 0, .48);
    --container: 1380px;
    --space-1: 6px;
    --space-2: 10px;
    --space-3: 16px;
    --space-4: 24px;
    --space-5: 34px;
    --space-6: 52px;
    --radius: 4px;
    --font-title: "Arial Narrow", "Roboto Condensed", "Segoe UI", sans-serif;
    --font-body: "Segoe UI", Arial, sans-serif;
}

* { box-sizing: border-box; }
html { min-width: 320px; scroll-behavior: smooth; }
body {
    min-width: 320px;
    min-height: 100vh;
    margin: 0;
    overflow-x: hidden;
    background: var(--bg);
    color: var(--text);
    font-family: var(--font-body);
    font-size: 16px;
    line-height: 1.55;
}
body:before {
    position: fixed;
    inset: 0;
    z-index: -2;
    background: url('/assets/distrito-site/home-background-clean.png') center top / cover fixed no-repeat;
    content: "";
    image-rendering: pixelated;
}
body:after {
    position: fixed;
    inset: 0;
    z-index: -1;
    background: linear-gradient(180deg, rgba(1, 8, 12, .12), rgba(2, 8, 11, .66) 64%, #02080b 100%);
    content: "";
    pointer-events: none;
}
body.site-page { display: flex; flex-direction: column; }
body.site-page main { flex: 1; }
button, input, select, textarea { font: inherit; }
button, a { -webkit-tap-highlight-color: transparent; }
a { color: inherit; }
img { display: block; max-width: 100%; }
h1, h2, h3, p { overflow-wrap: anywhere; }
[hidden] { display: none !important; }
.site-container { width: min(var(--container), calc(100% - 40px)); margin-inline: auto; }
.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }
.site-icon { width: 1.35em; height: 1.35em; flex: 0 0 auto; }
.site-icon--pixel { object-fit:contain; image-rendering:pixelated; vertical-align:middle; }

.site-header {
    position: sticky;
    top: 0;
    z-index: 100;
    min-height: clamp(90px, 5.95vw, 114px);
    border-top: 2px solid var(--line-hot);
    border-bottom: 2px solid var(--line);
    background: linear-gradient(180deg, rgba(3, 14, 19, .99), rgba(2, 10, 14, .99));
    box-shadow: 0 10px 28px rgba(0, 0, 0, .38), inset 0 1px rgba(255, 184, 75, .16);
}
.site-header__rail { position: absolute; inset: 9px 17px; border-top: 2px solid #b85b18; border-bottom: 2px solid #71300d; pointer-events: none; }
.site-header__rail:before, .site-header__rail:after { position: absolute; top: -5px; width: 8px; height: 8px; border: 1px solid #e7932d; background: #071319; box-shadow: 0 0 0 2px #321506, inset 0 0 0 1px #071319; content: ""; transform: rotate(45deg); }
.site-header__rail:before { left: -4px; }
.site-header__rail:after { right: -4px; }
.site-header__inner { display: grid; min-height: clamp(86px, 5.72vw, 110px); grid-template-columns: 240px 1fr auto; align-items: center; gap: 22px; }
.site-header__inner { width: min(1680px, 87.5vw); }
.brand { position: relative; z-index: 1; width: 205px; height: 88px; align-self: end; overflow: visible; }
.brand img { position: absolute; top: -36px; width: 205px; height: 205px; object-fit: contain; filter: drop-shadow(0 7px 2px rgba(0,0,0,.72)); image-rendering: pixelated; }
.site-nav { display: flex; align-items: center; justify-content: center; gap: 4px; }
.site-nav__link { position: relative; display: flex; min-height: 50px; align-items: center; gap: 10px; padding: 0 19px; border: 1px solid transparent; color: var(--gold-soft); font-family: var(--font-title); font-size: 15px; font-weight: 800; letter-spacing: .055em; text-decoration: none; text-transform: uppercase; transition: color .16s, background .16s, border-color .16s; }
.site-nav__link:after { position: absolute; right: -3px; width: 1px; height: 24px; background: rgba(122, 70, 32, .28); content: ""; }
.site-nav__link:last-child:after, .site-nav__link.is-active:after { display: none; }
.site-nav__link:hover, .site-nav__link:focus-visible { color: var(--text-strong); background: rgba(188, 91, 24, .08); }
.site-nav__link.is-active { color: #ffd28b; text-shadow: 0 0 12px rgba(237, 151, 44, .3); }
.header-actions { display: flex; align-items: center; gap: 12px; }
.menu-toggle { display: none; }

.btn { position: relative; isolation: isolate; display: inline-flex; min-height: 48px; align-items: center; justify-content: center; gap: 9px; overflow: hidden; padding: 0 24px; border: 0; border-radius: 0; color: #160d04; font-family: var(--font-title); font-size: 15px; font-weight: 900; letter-spacing: .055em; line-height: 1; text-align: center; text-decoration: none; text-transform: uppercase; cursor: pointer; clip-path: polygon(8px 0, calc(100% - 8px) 0, 100% 8px, 100% calc(100% - 8px), calc(100% - 8px) 100%, 8px 100%, 0 calc(100% - 8px), 0 8px); transition: filter .18s, transform .18s, box-shadow .18s; }
.btn:before { position: absolute; inset: 0; z-index: 3; box-sizing: border-box; border: 8px solid transparent; border-image: url('/assets/distrito-site/button-frame-official.png?v=2') 18 22 18 22 stretch; content: ""; pointer-events: none; }
.btn:after { position: absolute; top: -30%; bottom: -30%; left: -42%; z-index: 2; width: 24%; background: linear-gradient(90deg, transparent, rgba(255,245,207,.34), transparent); content: ""; pointer-events: none; transform: skewX(-18deg); transition: left .42s ease; }
.btn:hover:after, .btn:focus-visible:after { left: 118%; }
.btn:hover, .btn:focus-visible { filter: brightness(1.13); transform: translateY(-1px); }
.btn:active { transform: translateY(2px); }
.btn:disabled { opacity: .5; cursor: not-allowed; filter: none; transform: none; }
.btn--primary { background: linear-gradient(180deg, #ffc456, #ee941f 48%, #c5650b 100%); box-shadow: inset 0 2px rgba(255,235,177,.7), inset 0 -3px rgba(92,38,0,.42), 0 2px 0 #4d2508; }
.btn--outline { background: linear-gradient(180deg, rgba(10,27,33,.99), rgba(2,11,15,.99)); color: var(--gold-soft); box-shadow: inset 0 1px rgba(27,145,153,.26), 0 2px 0 #321805; }
.btn--compact { min-width: 132px; min-height: 43px; padding-inline: 19px; }
.btn--wide { width: 100%; }
.text-link { display: inline-flex; align-items: center; gap: 8px; color: var(--gold); font-weight: 800; text-decoration: none; text-transform: uppercase; }
.text-link:hover { color: var(--gold-soft); }
.text-link .site-icon { width: 18px; transition: transform .15s; }
.text-link:hover .site-icon { transform: translateX(3px); }

.page-shell { padding: 72px 0 64px; }
.page-shell--tight { padding-top: 48px; }
.page-hero { padding: 88px 0 56px; text-align: center; }
.page-hero__eyebrow { display: inline-flex; align-items: center; gap: 8px; margin-bottom: 12px; color: var(--cyan); font-size: 13px; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; }
.page-hero h1 { margin: 0; color: var(--text-strong); font-family: var(--font-title); font-size: clamp(38px, 5vw, 68px); line-height: 1; letter-spacing: .01em; text-shadow: 0 3px #4c260d, 0 9px 24px #000; text-transform: uppercase; }
.page-hero p { width: min(720px, 100%); margin: 16px auto 0; color: #d7c4a4; font-size: 18px; }
.ornate-panel { position: relative; isolation: isolate; border: 14px solid transparent; border-image: url('/assets/distrito-site/panel-frame-official.svg?v=2') 14 fill / 14px stretch; background: #06191e; box-shadow: 0 18px 42px rgba(0,0,0,.52), 0 0 24px rgba(11,107,116,.1); }
.ornate-panel:before, .ornate-panel:after { display: none; }
.ornate-panel > * { position: relative; z-index: 1; }
.panel-heading { position: relative; display: flex; align-items: center; justify-content: center; gap: 13px; padding: 29px 28px 20px; text-align: center; }
.panel-heading:after { position: absolute; right: 32px; bottom: 0; left: 32px; height: 1px; background: linear-gradient(90deg, transparent, var(--line-hot), transparent); content: ""; }
.panel-heading__badge { display: grid; width: 54px; height: 54px; box-sizing: border-box; place-items: center; border: 7px solid transparent; border-image: url('/assets/distrito-site/panel-frame-official.svg?v=2') 14 fill / 7px stretch; background: #06191e; color: var(--gold); transform: rotate(45deg); box-shadow: 0 3px 0 #291205; }
.panel-heading__badge .site-icon { width: 25px; height: 25px; transform: rotate(-45deg); }
.panel-heading h1 { margin: 0; color: var(--gold-soft); font-family: var(--font-title); font-size: clamp(26px, 3vw, 40px); line-height: 1.05; letter-spacing: .025em; text-shadow: 0 2px #41230f; text-transform: uppercase; }
.panel-heading p { margin: 7px 0 0; color: var(--muted); }

.auth-panel { width: min(570px, 100%); }
.auth-panel--compact .panel-heading { padding-top: 24px; }
.site-page .auth-panel .panel-heading { display: block; padding-top: 58px; }
.site-page .auth-panel .panel-heading__badge { position: absolute; top: -29px; left: 50%; transform: translateX(-50%) rotate(45deg); }
.site-page .auth-panel--compact .panel-heading { padding-top: 54px; }
.auth-panel .form-stack { padding: 26px 38px 16px; }
.form-stack { display: grid; gap: 16px; }
.form-field { display: grid; gap: 7px; color: var(--gold-soft); font-family: var(--font-title); font-size: 13px; font-weight: 850; letter-spacing: .06em; text-transform: uppercase; }
.input-shell { display: flex; min-height: 50px; align-items: center; border: 1px solid #94501e; border-radius: 0; background: rgba(1, 9, 13, .92); box-shadow: inset 0 0 0 2px rgba(0,0,0,.52), inset 0 3px 9px rgba(0,0,0,.48); transition: border-color .15s, box-shadow .15s; }
.input-shell:focus-within { border-color: var(--line-bright); box-shadow: inset 0 0 0 2px rgba(0,0,0,.52), inset 0 3px 9px rgba(0,0,0,.48), 0 0 0 2px rgba(226,154,54,.12), 0 0 15px rgba(32,191,202,.09); }
.input-shell > .site-icon { width: 20px; height: 20px; margin-left: 15px; color: #a67339; }
.input-shell input, .input-shell select, .input-shell textarea { width: 100%; min-width: 0; height: 48px; padding: 0 15px; border: 0; outline: 0; background: transparent; color: var(--text-strong); font-family: var(--font-body); font-size: 15px; text-transform: none; }
.input-shell textarea { min-height: 140px; padding-top: 13px; resize: vertical; }
.input-shell select { color-scheme: dark; cursor: pointer; }
.input-shell input::placeholder, .input-shell textarea::placeholder { color: #766d60; }
.input-shell input:-webkit-autofill, .input-shell input:-webkit-autofill:hover, .input-shell input:-webkit-autofill:focus { -webkit-text-fill-color: var(--text-strong); box-shadow: 0 0 0 1000px #07141a inset; caret-color: var(--text-strong); transition: background-color 9999s ease-out; }
.password-toggle { width: 48px; height: 48px; flex: 0 0 auto; border: 0; background: transparent; color: #a67339; cursor: pointer; }
.form-meta { display: flex; align-items: center; justify-content: space-between; gap: 16px; color: var(--muted); font-size: 13px; }
.form-meta a { color: var(--gold); font-weight: 700; text-decoration: none; }
.remember-field { display: inline-flex; align-items: center; gap: 7px; cursor: pointer; }
.remember-field input { width: 17px; height: 17px; margin: 0; accent-color: var(--gold); }
.form-divider { display: flex; align-items: center; gap: 14px; color: var(--muted); font-family: var(--font-title); text-transform: uppercase; }
.form-divider:before, .form-divider:after { height: 1px; flex: 1; background: linear-gradient(90deg, transparent, var(--line)); content: ""; }
.form-divider:after { background: linear-gradient(90deg, var(--line), transparent); }
.security-note { display: flex; align-items: center; justify-content: center; gap: 8px; margin: 0; padding: 13px 24px 21px; color: var(--muted); font-size: 12px; }
.security-note .site-icon { color: var(--gold); }
.form-feedback:empty { display: none; }
.error, .errorSucces, .notice, .form-message { margin: 0; padding: 12px 14px; border: 1px solid rgba(239,98,84,.6); border-radius: 3px; background: rgba(100,20,18,.28); color: #ffd1c9; font-size: 14px; }
.errorSucces, .form-message--success { border-color: rgba(84,214,115,.55); background: rgba(14,89,42,.3); color: #c7f9d1; }
.form-message--warning { border-color: rgba(226,154,54,.55); background: rgba(103,63,11,.3); color: #ffe0a6; }
.check-field { display: flex; align-items: flex-start; gap: 10px; color: var(--muted); font-size: 13px; cursor: pointer; }
.check-field input { width: 18px; height: 18px; margin-top: 2px; accent-color: var(--gold); }
.check-field a { color: var(--gold); }

.home-hero { min-height: 680px; padding: 82px 0 58px; }
.home-hero__grid { display: grid; grid-template-columns: minmax(0, 1.07fr) minmax(420px, .72fr); align-items: center; gap: 62px; }
.hero-copy { padding: 36px 0; }
.hero-copy__tag { display: inline-flex; align-items: center; gap: 9px; margin-bottom: 16px; color: var(--cyan); font-size: 14px; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; text-shadow: 0 2px 10px #000; }
.hero-copy h1 { max-width: 740px; margin: 0; color: var(--text-strong); font-family: var(--font-title); font-size: clamp(50px, 6.4vw, 94px); font-weight: 900; letter-spacing: -.025em; line-height: .92; text-shadow: 0 4px #48220d, 0 14px 35px rgba(0,0,0,.9); text-transform: uppercase; }
.hero-copy h1 span { color: var(--gold); }
.hero-copy > p { max-width: 640px; margin: 25px 0 29px; color: #ead8bb; font-size: clamp(17px, 2vw, 21px); }
.hero-cta { display: flex; flex-wrap: wrap; gap: 14px; }
.hero-stats { display: flex; flex-wrap: wrap; gap: 28px; margin-top: 34px; padding-top: 22px; border-top: 1px solid rgba(202,101,27,.42); }
.hero-stat { display: flex; align-items: center; gap: 10px; color: var(--muted); }
.hero-stat .site-icon { color: var(--gold); }
.hero-stat strong { display: block; color: var(--text-strong); font-family: var(--font-title); font-size: 20px; line-height: 1; }
.hero-stat small { font-size: 12px; }
.home-section { padding: 68px 0; background: linear-gradient(180deg, rgba(2,10,14,.76), rgba(2,8,11,.96)); border-top: 1px solid rgba(153,70,18,.5); }
.home-section--transparent { background: rgba(2,10,14,.35); }
.section-heading { display: flex; align-items: end; justify-content: space-between; gap: 24px; margin-bottom: 26px; }
.section-heading__copy span { color: var(--cyan); font-size: 12px; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; }
.section-heading h2 { margin: 4px 0 0; color: var(--gold-soft); font-family: var(--font-title); font-size: clamp(28px, 4vw, 44px); line-height: 1; text-transform: uppercase; }
.section-heading p { max-width: 670px; margin: 8px 0 0; color: var(--muted); }
.feature-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; }
.feature-card { position: relative; min-height: 220px; padding: 29px; border: 1px solid var(--line); background: linear-gradient(145deg, rgba(8,27,34,.96), rgba(2,12,16,.96)); box-shadow: inset 0 0 0 3px rgba(0,0,0,.34), 0 12px 30px rgba(0,0,0,.24); clip-path: polygon(10px 0, calc(100% - 10px) 0, 100% 10px, 100% calc(100% - 10px), calc(100% - 10px) 100%, 10px 100%, 0 calc(100% - 10px), 0 10px); }
.feature-card__icon { display: grid; width: 54px; height: 54px; place-items: center; margin-bottom: 18px; border: 1px solid var(--line-hot); background: rgba(205,93,17,.08); color: var(--gold); transform: rotate(45deg); }
.feature-card__icon .site-icon { width: 28px; height: 28px; transform: rotate(-45deg); }
.feature-card h3 { margin: 0 0 8px; color: var(--text-strong); font-family: var(--font-title); font-size: 21px; text-transform: uppercase; }
.feature-card p { margin: 0; color: var(--muted); }

.news-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; }
.news-card { display: flex; min-height: 100%; flex-direction: column; overflow: hidden; border: 1px solid var(--line); background: linear-gradient(180deg, var(--panel-raised), var(--panel)); box-shadow: inset 0 0 0 3px rgba(0,0,0,.3), 0 14px 34px rgba(0,0,0,.28); clip-path: polygon(10px 0, calc(100% - 10px) 0, 100% 10px, 100% calc(100% - 10px), calc(100% - 10px) 100%, 10px 100%, 0 calc(100% - 10px), 0 10px); }
.news-card__media { min-height: 205px; border-bottom: 1px solid var(--line); background-position: center; background-size: cover; image-rendering: auto; transition: filter .18s; }
.news-card:hover .news-card__media { filter: brightness(1.12); }
.news-card__body { display: flex; flex: 1; flex-direction: column; padding: 22px; }
.news-card__meta { display: flex; align-items: center; justify-content: space-between; gap: 10px; color: var(--gold); font-size: 11px; font-weight: 750; letter-spacing: .05em; text-transform: uppercase; }
.news-card__meta span { display: flex; align-items: center; gap: 6px; }
.news-card__meta .site-icon { width: 15px; height: 15px; }
.news-card h2 { margin: 13px 0 8px; color: var(--text-strong); font-family: var(--font-title); font-size: 24px; line-height: 1.08; text-transform: uppercase; }
.news-card h2 a { text-decoration: none; }
.news-card p { display: -webkit-box; margin: 0 0 18px; overflow: hidden; color: var(--muted); -webkit-box-orient: vertical; -webkit-line-clamp: 3; }
.news-card .text-link { margin-top: auto; font-size: 12px; }
.news-card--featured { display: grid; min-height: 410px; grid-column: 1 / -1; grid-template-columns: 1.35fr .65fr; }
.news-card--featured .news-card__media { min-height: 410px; border-right: 1px solid var(--line); border-bottom: 0; }
.news-card--featured .news-card__body { justify-content: center; padding: 38px; }
.news-card--featured h2 { font-size: clamp(30px, 4vw, 46px); }
.empty-state { grid-column: 1 / -1; padding: 64px 28px; text-align: center; }
.empty-state:not(.empty-state--framed) { border: 1px solid rgba(133,72,28,.5); background: var(--panel); }
.empty-state--framed { display: grid; min-height: 250px; place-content: center; }
.empty-state > .site-icon { width: 48px; height: 48px; color: var(--gold); }
.empty-state h2 { margin: 14px 0 6px; color: var(--gold-soft); font-family: var(--font-title); text-transform: uppercase; }
.empty-state p { margin: 0; color: var(--muted); }
.search-field { position: relative; width: min(430px, 100%); }
.search-field .site-icon { position: absolute; top: 50%; left: 15px; width: 19px; color: var(--gold); transform: translateY(-50%); }
.search-field input { width: 100%; height: 48px; padding: 0 16px 0 45px; border: 1px solid var(--line); outline: none; background: var(--panel); color: var(--text); }
.search-field input:focus { border-color: var(--line-bright); }

.content-grid { display: grid; grid-template-columns: minmax(0, 1fr) 340px; align-items: start; gap: 24px; }
.content-panel { padding: 34px; }
.content-panel h2, .content-panel h3 { color: var(--gold-soft); font-family: var(--font-title); text-transform: uppercase; }
.content-panel p, .content-panel li { color: var(--muted); }
.content-panel a { color: var(--gold); }
.side-stack { display: grid; gap: 20px; }
.mini-panel { padding: 25px; }
.mini-panel h2, .mini-panel h3 { margin: 0 0 13px; color: var(--gold-soft); font-family: var(--font-title); font-size: 20px; text-transform: uppercase; }
.mini-panel p { margin: 0 0 17px; color: var(--muted); font-size: 14px; }
.status-row { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 10px 0; border-top: 1px solid rgba(118,61,24,.45); color: var(--muted); font-size: 13px; }
.status-row b { display: flex; align-items: center; gap: 7px; color: var(--success); font-size: 12px; text-transform: uppercase; }
.status-row b:before { width: 7px; height: 7px; border-radius: 50%; background: currentColor; content: ""; box-shadow: 0 0 8px currentColor; }

.community-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 19px; }
.community-card { min-height: 224px; padding: 24px 22px 22px; text-align: center; }
.community-card__avatar { display: grid; width: 96px; height: 104px; box-sizing: border-box; margin: 0 auto 12px; place-items: end center; overflow: hidden; border: 8px solid transparent; border-image: url('/assets/distrito-site/panel-frame-official.svg?v=2') 14 fill / 8px stretch; background: #06191e; box-shadow: inset 0 0 16px rgba(0,0,0,.62); }
.community-card__avatar img { width: 110px; max-width: none; image-rendering: pixelated; }
.community-card__avatar.uses-fallback { background: url('/assets/distrito-site/avatar-fallback.png') center bottom / 82px auto no-repeat, radial-gradient(circle at 50% 62%, rgba(24,101,112,.78), rgba(2,14,18,.96) 68%); image-rendering: pixelated; }
.community-card h3 { margin: 0; color: var(--gold-soft); font-family: var(--font-title); font-size: 20px; }
.community-card p { display: -webkit-box; min-height: 36px; margin: 5px 0 0; overflow: hidden; color: var(--muted); font-size: 13px; line-height: 1.35; overflow-wrap: anywhere; -webkit-box-orient: vertical; -webkit-line-clamp: 2; }
.conduct-list { display: grid; gap: 14px; margin: 0; padding: 0; list-style: none; }
.conduct-list li { display: grid; grid-template-columns: 36px 1fr; gap: 12px; }
.conduct-list .site-icon { color: var(--gold); }
.conduct-list b { display: block; color: var(--text-strong); }
.conduct-list small { color: var(--muted); }

.support-layout { display: grid; grid-template-columns: 260px minmax(0,1fr) 300px; align-items: start; gap: 18px; }
.support-categories, .support-main, .support-side { padding: 24px; }
.category-list { display: grid; gap: 8px; }
.category-item { position: relative; display: flex; min-height: 62px; align-items: center; gap: 11px; overflow: hidden; padding: 12px 12px 12px 17px; border: 0; background: linear-gradient(90deg,rgba(9,47,54,.78),rgba(2,13,17,.84)); color: var(--muted); box-shadow: inset 0 1px rgba(29,157,166,.34), inset 0 -1px rgba(130,64,24,.68); clip-path: polygon(7px 0,100% 0,100% calc(100% - 7px),calc(100% - 7px) 100%,0 100%,0 7px); }
.category-item:before { position: absolute; top: 8px; bottom: 8px; left: 0; width: 3px; background: linear-gradient(var(--cyan),var(--gold)); content: ""; box-shadow: 0 0 9px rgba(35,188,197,.34); }
.category-item .site-icon { color: var(--gold); }
.category-item strong { display: block; color: var(--text-strong); font-family: var(--font-title); }
.category-item small { display: block; font-size: 11px; }
.faq-list { display: grid; gap: 8px; }
.faq-item { position: relative; overflow: hidden; border: 0; background: linear-gradient(100deg,rgba(7,37,43,.8),rgba(1,11,15,.78)); box-shadow: inset 0 1px rgba(31,158,166,.26), inset 0 -1px rgba(135,68,25,.65); clip-path: polygon(7px 0,100% 0,100% calc(100% - 7px),calc(100% - 7px) 100%,0 100%,0 7px); }
.faq-item:before { position: absolute; top: 9px; bottom: 9px; left: 0; width: 3px; background: #8a4318; content: ""; transition: background .18s, box-shadow .18s; }
.faq-item.is-open:before { background: var(--cyan); box-shadow: 0 0 9px rgba(37,190,199,.45); }
.faq-item__button { display: flex; width: 100%; min-height: 48px; align-items: center; justify-content: space-between; gap: 14px; padding: 10px 15px; border: 0; background: transparent; color: var(--text); text-align: left; cursor: pointer; }
.faq-item__button:after { color: var(--gold); font-size: 22px; content: "+"; }
.faq-item.is-open .faq-item__button:after { content: "−"; }
.faq-item__answer { display: none; padding: 0 15px 15px; color: var(--muted); font-size: 14px; }
.faq-item.is-open .faq-item__answer { display: block; }
.ticket-panel { margin-top: 22px; padding-top: 22px; border-top: 1px solid var(--line); }

.article-shell { width: min(1160px, calc(100% - 40px)); margin-inline: auto; padding: 70px 0; }
.article-head { margin-bottom: 25px; }
.breadcrumbs { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin-bottom: 18px; color: var(--gold); font-size: 12px; font-weight: 800; letter-spacing: .05em; text-transform: uppercase; }
.breadcrumbs a { text-decoration: none; }
.article-head h1 { margin: 0; color: var(--text-strong); font-family: var(--font-title); font-size: clamp(38px, 5vw, 66px); line-height: .98; text-shadow: 0 3px #48250e; text-transform: uppercase; }
.article-head > p { margin: 13px 0 0; color: var(--gold-soft); font-size: 18px; }
.article-meta { display: flex; flex-wrap: wrap; gap: 18px; margin-top: 16px; color: var(--muted); font-size: 13px; }
.article-meta span { display: flex; align-items: center; gap: 7px; }
.article-meta .site-icon { color: var(--gold); }
.article-hero { width: 100%; max-height: 560px; margin-bottom: 28px; border: 2px solid var(--line-hot); object-fit: cover; box-shadow: inset 0 0 0 4px #000, var(--shadow); }
.article-body { padding: 36px; }
.article-body p { margin: 0 0 1.15em; color: #d2c3aa; font-size: 17px; line-height: 1.75; }
.related-news { margin-top: 45px; }

.legal-layout { display: grid; grid-template-columns: 230px minmax(0, 1fr); gap: 24px; }
.legal-nav { position: sticky; top: 120px; padding: 22px; }
.legal-nav a { display: block; padding: 9px 0; border-bottom: 1px solid rgba(123,63,25,.4); color: var(--muted); text-decoration: none; }
.legal-nav a:hover { color: var(--gold); }
.legal-content { padding: 34px; }
.legal-content h1 { margin-top: 0; color: var(--gold-soft); font-family: var(--font-title); font-size: clamp(34px,5vw,54px); text-transform: uppercase; }
.legal-content h2 { margin-top: 35px; color: var(--gold-soft); font-family: var(--font-title); text-transform: uppercase; }
.legal-content p, .legal-content li { color: var(--muted); }

.site-footer { position: relative; border-top: 2px solid var(--line); background: linear-gradient(180deg, rgba(3,17,22,.99), rgba(1,8,11,.99)); box-shadow: inset 0 1px rgba(249,174,70,.11); }
.site-footer__grid { display: grid; grid-template-columns: 1.5fr repeat(3, .65fr) 1.12fr; gap: 30px; padding: 38px 0 28px; }
.footer-brand { display: grid; grid-template-columns: 150px 1fr; align-items: center; gap: 18px; }
.footer-brand img { width: 150px; height: 150px; object-fit: contain; filter: drop-shadow(0 5px 2px #000); image-rendering: pixelated; }
.footer-brand p { margin: 0; color: var(--muted); font-size: 13px; }
.footer-column { display: grid; align-content: start; gap: 6px; }
.footer-column strong { margin-bottom: 3px; color: var(--cyan); font-family: var(--font-title); letter-spacing: .055em; text-transform: uppercase; }
.footer-column a { color: var(--muted); font-size: 13px; text-decoration: none; }
.footer-column .is-unavailable { color: #786f61; font-size: 13px; cursor: help; }
.footer-column a:hover { color: var(--gold-soft); }
.footer-help { display: flex; align-items: center; gap: 15px; padding: 18px; border: 1px solid var(--line); background: rgba(3,14,18,.7); text-decoration: none; }
.footer-help > .site-icon { width: 36px; height: 36px; color: var(--gold-soft); }
.footer-help span { display: grid; gap: 3px; }
.footer-help strong { color: var(--gold-soft); font-family: var(--font-title); text-transform: uppercase; }
.footer-help small { color: var(--muted); }
.footer-help b { display: flex; align-items: center; justify-content: space-between; margin-top: 5px; color: var(--gold); font-family: var(--font-title); font-size: 12px; text-transform: uppercase; }
.site-footer__bottom { display: flex; align-items: center; justify-content: space-between; gap: 20px; padding: 14px 0 18px; border-top: 1px solid rgba(118,61,24,.45); color: #807667; font-size: 12px; }

@media (max-width: 1180px) {
    .site-header__inner { grid-template-columns: 180px 1fr auto; gap: 8px; }
    .brand, .brand img { width: 170px; }
    .brand img { top: -30px; height: 170px; }
    .site-nav__link { gap: 7px; padding-inline: 11px; font-size: 13px; }
    .site-nav__link .site-icon { width: 18px; }
    .btn--compact { min-width: 108px; padding-inline: 13px; font-size: 13px; }
    .home-hero__grid { gap: 32px; }
    .support-layout { grid-template-columns: 220px minmax(0,1fr); }
    .support-side { grid-column: 1 / -1; }
    .site-footer__grid { grid-template-columns: 1.3fr repeat(3,.7fr); }
    .footer-help { grid-column: 1 / -1; }
}

@media (max-width: 900px) {
    .site-header { min-height: 78px; }
    .site-header__inner { min-height: 74px; grid-template-columns: 160px 1fr auto; }
    .brand { height: 72px; }
    .brand, .brand img { width: 150px; }
    .brand img { top: -26px; bottom: auto; height: 150px; }
    .menu-toggle { display: grid; width: 44px; height: 44px; place-items: center; justify-self: end; border: 1px solid var(--line-hot); background: var(--panel); color: var(--gold); cursor: pointer; }
    .menu-toggle .menu-close { display: none; }
    .menu-is-open .menu-toggle .menu-open { display: none; }
    .menu-is-open .menu-toggle .menu-close { display: block; }
    .site-nav { position: absolute; top: calc(100% + 2px); right: 20px; left: 20px; display: none; padding: 12px; border: 1px solid var(--line-hot); background: rgba(2,12,16,.995); box-shadow: var(--shadow); }
    .menu-is-open .site-nav { display: grid; }
    .site-nav__link { justify-content: flex-start; }
    .site-nav__link:after { display: none; }
    .header-actions { grid-column: 2; grid-row: 1; justify-self: end; }
    .menu-toggle { grid-column: 3; grid-row: 1; }
    .home-hero { padding-top: 70px; }
    .home-hero__grid { grid-template-columns: 1fr; }
    .hero-copy { text-align: center; }
    .hero-copy h1, .hero-copy > p { margin-inline: auto; }
    .hero-cta, .hero-stats { justify-content: center; }
    .auth-panel { justify-self: center; }
    .feature-grid, .news-grid, .community-grid { grid-template-columns: repeat(2, 1fr); }
    .news-card--featured { grid-template-columns: 1fr; }
    .news-card--featured .news-card__media { min-height: 300px; border-right: 0; border-bottom: 1px solid var(--line); }
    .content-grid { grid-template-columns: 1fr; }
    .side-stack { grid-template-columns: repeat(2, 1fr); }
    .support-layout { grid-template-columns: 1fr; }
    .support-side { grid-column: auto; }
    .support-categories .category-list { grid-template-columns: repeat(2, 1fr); }
    .legal-layout { grid-template-columns: 1fr; }
    .legal-nav { position: static; }
    .site-footer__grid { grid-template-columns: repeat(3, 1fr); }
    .footer-brand { grid-column: 1 / -1; }
    .footer-help { grid-column: 1 / -1; }
}

/* Tema público unificado: remove a apresentação escura das subpáginas. */
body.site-page:not(.district-landing-page) {
    color-scheme: light;
    background: #f6e7bd;
    color: #5a3618;
}
body.site-page:not(.district-landing-page) { font-size:0;line-height:0; }
body.site-page:not(.district-landing-page) > .public-header,
body.site-page:not(.district-landing-page) > main,
body.site-page:not(.district-landing-page) > .site-footer { font-size:16px;line-height:1.55; }
body.site-page:not(.district-landing-page):before {
    background:
        radial-gradient(circle at 50% 5%,rgba(255,255,255,.72),transparent 30%),
        linear-gradient(180deg,#fff2ca,#f4dfa9 58%,#f8ebc8);
    image-rendering: auto;
}
body.site-page:not(.district-landing-page):after {
    background:
        repeating-linear-gradient(0deg,rgba(132,82,26,.018) 0 1px,transparent 1px 5px),
        radial-gradient(ellipse at 50% 100%,rgba(180,112,31,.1),transparent 55%);
}
.public-header {
    position: relative;
    top: auto;
    width: calc(100% - 8px);
    min-height: 78px;
    margin: 4px auto 0;
    border: 1px solid #dcb05b;
    border-radius: 18px;
    background: linear-gradient(180deg,#fff8dc,#ffedb7 55%,#f7dfa0);
    box-shadow: inset 0 0 0 2px rgba(255,255,255,.58),0 3px 8px rgba(119,72,20,.14);
}
.public-header__inner {
    display: flex;
    width: 100%;
    min-height: 76px;
    padding: 0 clamp(34px,3.7vw,62px);
    align-items: center;
}
.public-nav { display: flex; height: 76px; align-items: stretch; justify-content: flex-start; gap: 0; }
.public-nav .site-nav__link {
    min-height: 76px;
    padding: 0 clamp(17px,1.6vw,27px);
    color: #4d2b12;
    font-family: "Segoe UI",Arial,sans-serif;
    font-size: clamp(14px,.96vw,16px);
    font-weight: 800;
    letter-spacing: -.01em;
    text-transform: none;
}
.public-nav .site-nav__link img { width: 34px; height: 34px; object-fit: contain; }
.public-nav .site-nav__link:after { right: 0; height: 44%; background: linear-gradient(transparent,rgba(158,98,34,.34),transparent); }
.public-nav .site-nav__link:hover,
.public-nav .site-nav__link:focus-visible { background: rgba(255,255,255,.17); color: #087e86; outline: 0; }
.public-nav .site-nav__link.is-active { color: #087e86; text-shadow: none; }
.public-nav .site-nav__link.is-active:before { position:absolute;right:18%;bottom:8px;left:18%;height:3px;border-radius:3px;background:#19b4bb;content:""; }
.public-online {
    position: relative;
    display: flex;
    width: clamp(260px,20.2vw,338px);
    height: 58px;
    margin-left: auto;
    align-items: center;
    overflow: hidden;
    border: 1px solid #d9aa50;
    border-radius: 12px;
    background: linear-gradient(180deg,#fff3c7,#ffe6a8);
    box-shadow: inset 0 0 0 1px rgba(255,255,255,.58);
}
.public-online > img { width: 58px; height: 58px; margin-left: 8px; object-fit: contain; object-position:left center; clip-path:inset(2px 17px 2px 0); mix-blend-mode:multiply; }
.public-online > span { display:flex;align-items:center;gap:8px;margin-left:9px;color:#4b290e;font-family:"Segoe UI",Arial,sans-serif;font-size:clamp(12px,.94vw,16px);white-space:nowrap; }
.public-online i { width:11px;height:11px;border:1px solid #248b30;border-radius:50%;background:#34c84b;box-shadow:inset 0 1px rgba(255,255,255,.6); }
.public-online strong { font-weight:800; }

body.site-page:not(.district-landing-page) .page-shell { padding: 52px 0; }
body.site-page:not(.district-landing-page) .page-shell--tight { padding-top: 30px; }
body.site-page:not(.district-landing-page) .page-hero { padding: 58px 0 38px; }
body.site-page:not(.district-landing-page) .page-hero h1,
body.site-page:not(.district-landing-page) .article-head h1 {
    color: #633817;
    font-family: Georgia,"Times New Roman",serif;
    font-size: clamp(34px,4vw,56px);
    letter-spacing: -.02em;
    text-shadow: 0 2px rgba(255,255,255,.7);
    text-transform: none;
}
body.site-page:not(.district-landing-page) .page-hero p,
body.site-page:not(.district-landing-page) .article-head > p { color:#866444;font-size:17px; }
body.site-page:not(.district-landing-page) .page-hero__eyebrow { color:#078c95;letter-spacing:.08em; }
body.site-page:not(.district-landing-page) .ornate-panel {
    border: 2px solid #d3a24d;
    border-radius: 14px;
    background: linear-gradient(145deg,rgba(255,250,226,.97),rgba(248,226,173,.97));
    box-shadow: inset 0 0 0 3px rgba(255,255,255,.54),0 10px 24px rgba(110,65,17,.14);
}
body.site-page:not(.district-landing-page) .ornate-panel:before { display:block;position:absolute;inset:7px;border:1px solid rgba(184,123,44,.25);border-radius:9px;content:"";pointer-events:none; }
body.site-page:not(.district-landing-page) .panel-heading { border-bottom-color:rgba(169,106,34,.25);background:linear-gradient(180deg,rgba(255,255,255,.33),transparent); }
body.site-page:not(.district-landing-page) .panel-heading h1,
body.site-page:not(.district-landing-page) .content-panel h2,
body.site-page:not(.district-landing-page) .content-panel h3,
body.site-page:not(.district-landing-page) .mini-panel h2,
body.site-page:not(.district-landing-page) .mini-panel h3,
body.site-page:not(.district-landing-page) .legal-content h1,
body.site-page:not(.district-landing-page) .legal-content h2,
body.site-page:not(.district-landing-page) .section-heading h2,
body.site-page:not(.district-landing-page) .community-card h3 { color:#663916;text-shadow:none;text-transform:none; }
body.site-page:not(.district-landing-page) .panel-heading p,
body.site-page:not(.district-landing-page) .content-panel p,
body.site-page:not(.district-landing-page) .content-panel li,
body.site-page:not(.district-landing-page) .mini-panel p,
body.site-page:not(.district-landing-page) .legal-content p,
body.site-page:not(.district-landing-page) .legal-content li,
body.site-page:not(.district-landing-page) .community-card p,
body.site-page:not(.district-landing-page) .article-body p { color:#765638; }
body.site-page:not(.district-landing-page) .panel-heading__badge { border-color:#c98b32;background:linear-gradient(145deg,#ffe49b,#dda242);color:#6b3b13;box-shadow:inset 0 0 0 2px #fff0bd,0 3px 8px rgba(92,51,12,.16); }
body.site-page:not(.district-landing-page) .auth-panel .panel-heading__badge {
    top:-27px;
    width:54px;
    height:54px;
    border:2px solid #b87827;
    border-image:none;
    border-radius:50%;
    background:linear-gradient(145deg,#fff0b8,#e3ae55);
    box-shadow:inset 0 0 0 3px rgba(255,250,218,.72),0 4px 10px rgba(92,51,12,.16);
    transform:translateX(-50%);
}
body.site-page:not(.district-landing-page) .auth-panel .panel-heading__badge .site-icon { transform:none; }
body.site-page:not(.district-landing-page) .form-field { color:#68401d;text-transform:none;letter-spacing:0; }
body.site-page:not(.district-landing-page) .input-shell {
    min-height:48px;
    border:1px solid #bd7c2e;
    border-radius:7px;
    background:#fffaf0;
    box-shadow:inset 0 2px 5px rgba(119,65,14,.08);
}
body.site-page:not(.district-landing-page) .input-shell:focus-within { border-color:#089aa3;box-shadow:0 0 0 3px rgba(8,154,163,.12); }
body.site-page:not(.district-landing-page) .input-shell input,
body.site-page:not(.district-landing-page) .input-shell select,
body.site-page:not(.district-landing-page) .input-shell textarea { color:#553316; }
body.site-page:not(.district-landing-page) .input-shell select { color-scheme:light; }
body.site-page:not(.district-landing-page) .input-shell input::placeholder,
body.site-page:not(.district-landing-page) .input-shell textarea::placeholder { color:#a68c6e; }
.password-toggle { display:grid;position:static;width:42px;height:42px;flex:0 0 42px;place-items:center;border:0;background:transparent;color:#805323;cursor:pointer; }
.password-toggle .site-icon { width:20px;height:20px; }
.password-toggle:hover,.password-toggle:focus-visible { color:#078c95;outline:0; }
body.site-page:not(.district-landing-page) .form-meta,
body.site-page:not(.district-landing-page) .security-note { color:#80664b; }
body.site-page:not(.district-landing-page) .form-meta a,
body.site-page:not(.district-landing-page) .text-link,
body.site-page:not(.district-landing-page) .legal-nav a:hover { color:#078b94; }
body.site-page:not(.district-landing-page) .btn { border:2px solid #7c4815;border-radius:7px;clip-path:none;text-transform:none;letter-spacing:0; }
body.site-page:not(.district-landing-page) .btn:before { display:none; }
body.site-page:not(.district-landing-page) .btn--primary { background:linear-gradient(180deg,#27d4d7,#079aa6 58%,#087784);color:#fff;box-shadow:inset 0 0 0 2px rgba(128,244,239,.65),0 3px 0 #a2661f;text-shadow:0 1px #055960; }
body.site-page:not(.district-landing-page) .btn--outline { background:linear-gradient(180deg,#fff8de,#efd497);color:#633916;box-shadow:inset 0 0 0 2px rgba(255,255,255,.55),0 2px 0 #b3782c; }
body.site-page:not(.district-landing-page) .news-card { overflow:hidden;border:1px solid #d3a24d;border-radius:12px;background:linear-gradient(180deg,#fff8dc,#f7e1ad);box-shadow:0 10px 24px rgba(110,65,17,.12);clip-path:none; }
body.site-page:not(.district-landing-page) .news-card h2 { color:#613716;text-transform:none; }
body.site-page:not(.district-landing-page) .news-card p,
body.site-page:not(.district-landing-page) .news-card__meta { color:#806044; }
body.site-page:not(.district-landing-page) .community-card__avatar { border:2px solid #c78a34;border-radius:50%;background:#f8d882;box-shadow:inset 0 0 0 3px #fff0b6; }
body.site-page:not(.district-landing-page) .faq-item,
body.site-page:not(.district-landing-page) .category-item { border-color:rgba(174,111,38,.28);background:rgba(255,255,255,.24);color:#66401e; }
body.site-page:not(.district-landing-page) .category-item strong,
body.site-page:not(.district-landing-page) .support-categories h2,
body.site-page:not(.district-landing-page) .support-main h2,
body.site-page:not(.district-landing-page) .support-side h2 { color:#653b18 !important; }
body.site-page:not(.district-landing-page) .category-item small,
body.site-page:not(.district-landing-page) .section-heading__copy p,
body.site-page:not(.district-landing-page) .status-row span { color:#806044; }
body.site-page:not(.district-landing-page) .faq-item__button { color:#633916; }
body.site-page:not(.district-landing-page) .faq-item__answer { color:#765638; }
body.site-page:not(.district-landing-page) .legal-nav { top:20px; }
body.site-page:not(.district-landing-page) .legal-nav a { border-bottom-color:rgba(165,104,34,.22);color:#745538; }
.site-footer { margin-top:auto;border:0;background:transparent;box-shadow:none; }
.site-footer__ornament { width:100%;margin:auto;overflow:hidden; }
.site-footer__ornament img { width:100%;height:auto; }
.site-footer__links { display:flex;align-items:center;justify-content:center;gap:clamp(14px,2vw,32px);padding:18px 0 10px; }
.site-footer__links a { color:#6c4a2a;font-size:13px;font-weight:700;text-decoration:none; }
.site-footer__links a:hover { color:#078b94;text-decoration:underline; }
.site-footer__bottom { color:#8a7156;border-top-color:rgba(165,104,34,.2); }

.district-login { background:linear-gradient(180deg,rgba(255,241,195,.98),rgba(237,204,131,.98)); }
.district-input { background:#fff8e7; }
.district-input .password-toggle { position:static;width:34px;height:34px;color:#805323; }
.district-input .password-toggle .site-icon { width:17px;height:17px; }

@media (max-width: 900px) {
    .public-header { min-height:70px; }
    .public-header__inner { min-height:68px;padding-inline:12px; }
    .public-header .menu-toggle { display:grid;width:42px;height:42px;place-items:center;border:1px solid #a66a26;border-radius:7px;background:#f7d889;color:#633916; }
    .public-nav { position:absolute;top:calc(100% + 5px);right:8px;left:8px;z-index:20;display:none;height:auto;padding:10px;border:1px solid #bd7c2e;border-radius:10px;background:#f8dfa0;box-shadow:0 10px 20px rgba(94,50,10,.18); }
    .menu-is-open .public-nav { display:grid;grid-template-columns:repeat(2,1fr); }
    .public-nav .site-nav__link { min-height:48px;padding:0 12px; }
    .public-online { width:min(260px,calc(100% - 54px));height:52px;margin-left:auto; }
    .public-online > img { width:50px;height:50px; }
}

@media (max-width: 640px) {
    :root { --space-6: 38px; }
    body { font-size: 15px; }
    body:before { background-position: 42% top; background-attachment: scroll; }
    .site-container, .article-shell { width: min(100% - 24px, var(--container)); }
    .site-header__rail { inset: 7px 10px; }
    .site-header__rail:before { left: 0; }
    .site-header__rail:after { right: 0; }
    .site-header__inner { grid-template-columns: 125px 1fr auto; }
    .brand, .brand img { width: 122px; }
    .brand img { top: -21px; bottom: auto; height: 122px; }
    .header-actions .btn:first-child { display: none; }
    .header-actions .btn { min-width: auto; min-height: 38px; padding-inline: 11px; }
    .header-actions .btn .site-icon { display: none; }
    .site-nav { right: 12px; left: 12px; }
    .home-hero { min-height: 0; padding: 58px 0 42px; }
    .hero-copy { padding: 25px 0 5px; }
    .hero-copy h1 { font-size: clamp(43px, 15vw, 66px); }
    .hero-cta .btn { width: 100%; }
    .hero-stats { gap: 14px; }
    .hero-stat { width: calc(50% - 7px); justify-content: center; text-align: left; }
    .auth-panel .form-stack { padding: 22px 19px 14px; }
    .panel-heading { display: grid; padding-inline: 18px; }
    .panel-heading__badge { margin: auto; }
    .form-meta { align-items: flex-start; flex-direction: column; gap: 5px; }
    .page-shell, .article-shell { padding: 48px 0; }
    .page-hero { padding: 58px 0 38px; }
    .section-heading { align-items: flex-start; flex-direction: column; }
    .feature-grid, .news-grid, .community-grid, .side-stack { grid-template-columns: 1fr; }
    .news-card--featured { min-height: 0; }
    .news-card--featured .news-card__media { min-height: 220px; }
    .news-card--featured .news-card__body, .content-panel, .article-body, .legal-content { padding: 24px; }
    .support-categories .category-list { grid-template-columns: 1fr; }
    .site-footer__grid { grid-template-columns: repeat(2, 1fr); gap: 24px; }
    .footer-brand { grid-template-columns: 120px 1fr; }
    .footer-brand img { width: 120px; height: 120px; }
    .footer-help { grid-column: 1 / -1; }
    .site-footer__bottom { align-items: flex-start; flex-direction: column; gap: 4px; }
}

/* Página inicial aprovada — composição clara, dourada e turquesa. */
body.district-landing-page {
    color-scheme: light;
    display: block;
    min-height: 100vh;
    background: #f4dfb0;
    color: #563315;
    font-family: Georgia, "Times New Roman", serif;
    line-height: 0;
}
html:has(body.district-landing-page) { overflow-x: hidden; }
.district-header,
.district-landing-main { line-height: 1.5; }
body.district-landing-page:before {
    position: fixed;
    inset: 0;
    z-index: -2;
    background:
        radial-gradient(circle at 50% 12%, rgba(255,255,255,.72), transparent 28%),
        linear-gradient(180deg, #f8ecca 0%, #efdaa8 48%, #f7e8c4 100%);
    content: "";
    image-rendering: auto;
}
body.district-landing-page:after {
    position: fixed;
    inset: 0;
    z-index: -1;
    background:
        repeating-linear-gradient(0deg, rgba(126,77,25,.025) 0 1px, transparent 1px 5px),
        radial-gradient(ellipse at 50% 82%, rgba(197,124,32,.13), transparent 54%);
    content: "";
    pointer-events: none;
}
.district-header {
    position: relative;
    z-index: 50;
    width: calc(100% - 8px);
    min-height: clamp(76px, 5.5vw, 92px);
    margin: 4px auto 0;
    border: 3px solid #864914;
    border-radius: 14px 14px 8px 8px;
    background: linear-gradient(180deg, #fff2c8 0%, #efd38c 54%, #e0b85e 100%);
    box-shadow: inset 0 0 0 3px #ffd987, inset 0 -8px 0 rgba(124,65,15,.14), 0 5px 12px rgba(92,49,10,.25);
}
.district-header:before,
.district-header:after {
    position: absolute;
    top: 10px;
    bottom: 10px;
    width: 19px;
    border: 2px solid #a3611c;
    background: linear-gradient(135deg,#f9df9c,#c98a2d);
    box-shadow: inset 0 0 0 3px #f8cf72;
    content: "";
    transform: rotate(45deg);
}
.district-header:before { left: 8px; }
.district-header:after { right: 8px; }
.district-header__inner {
    display: flex;
    width: min(1550px, calc(100% - 92px));
    min-height: clamp(70px, 5vw, 84px);
    margin-inline: auto;
    align-items: center;
    justify-content: space-between;
    gap: clamp(20px, 3vw, 52px);
}
.district-nav { display: flex; height: 100%; align-items: center; gap: clamp(8px, 1.5vw, 26px); }
.district-nav__link {
    position: relative;
    display: flex;
    min-height: 58px;
    align-items: center;
    gap: 10px;
    padding: 0 clamp(10px, 1.3vw, 21px);
    color: #69390f;
    font-family: "Arial Narrow", "Segoe UI", sans-serif;
    font-size: clamp(14px, 1vw, 18px);
    font-weight: 800;
    letter-spacing: .015em;
    text-decoration: none;
    text-shadow: 0 1px rgba(255,255,255,.7);
    transition: color .18s, transform .18s;
}
.district-nav__link .site-icon { width: 25px; height: 25px; color: #8c541f; }
.district-nav__link:after {
    position: absolute;
    right: -14px;
    width: 1px;
    height: 34px;
    background: linear-gradient(transparent,#a56a2d,transparent);
    content: "";
}
.district-nav__link:last-child:after { display: none; }
.district-nav__link:hover,
.district-nav__link:focus-visible { color: #078c96; outline: 0; transform: translateY(-1px); }
.district-nav__link.is-active { color: #087f88; }
.district-nav__link.is-active .site-icon { color: #0795a0; }
.district-nav__link.is-active:before {
    position: absolute;
    right: 7px;
    bottom: 4px;
    left: 7px;
    height: 4px;
    border-radius: 4px;
    background: linear-gradient(90deg,transparent,#17b8bf 20% 80%,transparent);
    box-shadow: 0 1px #fff5c8;
    content: "";
}
.district-online {
    display: flex;
    min-width: clamp(270px, 21vw, 340px);
    min-height: 64px;
    align-items: center;
    gap: 13px;
    padding: 7px 22px 7px 10px;
    border: 2px solid #a8681f;
    border-radius: 10px;
    background: linear-gradient(180deg,#fff3ca,#ebca80);
    box-shadow: inset 0 0 0 2px rgba(255,255,255,.55), 0 2px 4px rgba(106,57,14,.2);
}
.district-online__avatar {
    display: grid;
    width: 54px;
    height: 50px;
    flex: 0 0 54px;
    place-items: center;
    border: 3px solid #78400f;
    border-radius: 50% 50% 45% 45%;
    background: radial-gradient(circle at 52% 38%,#ffc868 0 10%,#ad651d 11% 18%,#1c7d83 19% 61%,#07515c 62%);
    box-shadow: inset 0 0 0 3px #f7cc66, 0 2px 0 #fff1b9;
    color: #ffe693;
    font-size: 19px;
    text-shadow: 0 2px #804009;
}
.district-online__copy { display: grid; font-family: "Segoe UI", Arial, sans-serif; line-height: 1.15; }
.district-online__copy strong { color: #714317; font-size: clamp(14px, 1vw, 18px); }
.district-online__copy small { margin-top: 5px; color: #8a6c47; font-size: clamp(11px, .78vw, 14px); }
.district-online__copy i { display: inline-block; width: 9px; height: 9px; margin-right: 4px; border: 1px solid #087c58; border-radius: 50%; background: #20c97b; box-shadow: 0 0 7px rgba(32,201,123,.8); }
.district-menu-toggle { color: #704117; }

.district-landing-main { width: min(1672px, 100%); margin: 0 auto; overflow: hidden; }
.district-hero {
    position: relative;
    display: grid;
    height: clamp(445px, 33.1vw, 554px);
    min-height: 0;
    grid-template-columns: 36.5% 37.5% 26%;
    align-items: center;
    padding: 0 clamp(48px, 5vw, 84px);
}
.district-hero:before {
    position: absolute;
    inset: 3% 0 0;
    z-index: -1;
    background:
        linear-gradient(90deg, transparent 0 4%, rgba(146,93,36,.07) 4.1% 4.2%, transparent 4.3% 95.7%, rgba(146,93,36,.07) 95.8% 95.9%, transparent 96%),
        radial-gradient(ellipse at 50% 94%, rgba(159,95,25,.12), transparent 48%);
    content: "";
}
.district-intro { position: relative; z-index: 3; align-self: center; text-align: center; transform: translateY(1.5%); }
.district-intro__logo-link { display: block; text-decoration: none; }
.district-intro__logo {
    width: min(100%, 520px);
    margin: clamp(-105px, -6.3vw, -58px) auto clamp(-96px, -5.6vw, -52px);
    filter: drop-shadow(0 6px 3px rgba(84,42,8,.25));
    image-rendering: auto;
    transition: filter .2s, transform .2s;
}
.district-intro__logo-link:hover .district-intro__logo,
.district-intro__logo-link:focus-visible .district-intro__logo { filter: brightness(1.06) drop-shadow(0 8px 5px rgba(84,42,8,.32)); transform: translateY(-3px); }
.district-intro__logo-link:focus-visible { outline: 3px solid rgba(7,156,165,.45); outline-offset: -28px; }
.district-intro h1 {
    margin: 0;
    color: #744214;
    font-size: clamp(26px, 2.1vw, 35px);
    line-height: 1.08;
    text-shadow: 0 2px #fff2c8;
}
.district-intro p {
    margin: 14px auto 12px;
    color: #75542f;
    font-family: "Segoe UI", Arial, sans-serif;
    font-size: clamp(12px, .92vw, 15px);
    line-height: 1.55;
}
.district-small-divider { display: flex; width: 78%; max-width: 360px; margin: 18px auto 0; align-items: center; justify-content: center; gap: 8px; color: #b6731b; }
.district-small-divider i { height: 2px; flex: 1; background: linear-gradient(90deg,transparent,#c18a3a); }
.district-small-divider i:last-child { background: linear-gradient(90deg,#c18a3a,transparent); }
.district-small-divider b { font-size: 11px; }
.district-small-divider > img { width: 20px; height: 20px; object-fit: contain; image-rendering: auto; }
.district-city { position: relative; z-index: 2; height: 100%; align-self: stretch; margin: 0 -11% 0 -17%; pointer-events: none; }
.district-city img { position: absolute; bottom: 0; left: 14%; width: 96.5%; max-width: none; filter: drop-shadow(0 13px 9px rgba(101,57,14,.18)); image-rendering: auto; }

.district-login {
    position: relative;
    z-index: 4;
    width: min(100%, 368px);
    justify-self: end;
    padding: clamp(19px, 1.35vw, 25px) clamp(20px, 1.5vw, 27px) 18px;
    border: 3px solid #77400f;
    border-radius: 13px;
    background: linear-gradient(180deg,rgba(255,248,219,.98),rgba(244,221,166,.98));
    box-shadow: inset 0 0 0 3px #f1c96d, inset 0 0 0 5px rgba(255,255,255,.6), 0 9px 18px rgba(98,52,10,.24);
    top: 28px;
    right: -24px;
}
.district-login:before,
.district-login:after { position: absolute; left: 14px; right: 14px; height: 2px; background: linear-gradient(90deg,transparent,#b87922,transparent); content: ""; }
.district-login:before { top: 8px; }
.district-login:after { bottom: 8px; }
.district-login__heading { display: flex; align-items: center; gap: 12px; padding-bottom: 13px; border-bottom: 1px solid rgba(144,85,23,.25); }
.district-login__crest { display: grid; width: 46px; height: 46px; flex: 0 0 46px; place-items: center; border: 2px solid #9b601d; border-radius: 50%; background: linear-gradient(145deg,#ffe7a3,#d89b35); color: #7e4311; box-shadow: inset 0 0 0 2px #fff0ba; }
.district-login__crest .site-icon { width: 24px; height: 24px; }
.district-login__heading h2 { margin: 0; color: #6b3b11; font-size: clamp(18px, 1.3vw, 22px); line-height: 1.1; }
.district-login__heading p { margin: 4px 0 0; color: #93734e; font-family: "Segoe UI",Arial,sans-serif; font-size: clamp(9px, .68vw, 12px); line-height: 1.25; }
.district-login__form { display: grid; gap: 10px; padding-top: 13px; font-family: "Segoe UI",Arial,sans-serif; }
.district-login__form > label { display: grid; gap: 5px; color: #74491e; font-size: 11px; font-weight: 800; }
.district-input { display: flex; height: 42px; align-items: center; gap: 9px; padding: 0 10px; border: 2px solid #ba792b; border-radius: 6px; background: #fffaf0; box-shadow: inset 0 2px 5px rgba(119,65,14,.1); color: #9a682f; }
.district-input:focus-within { border-color: #079ca5; box-shadow: 0 0 0 3px rgba(7,156,165,.15); }
.district-input .site-icon { width: 18px; height: 18px; }
.district-input input { min-width: 0; flex: 1; border: 0; outline: 0; background: transparent; color: #573417; font-size: 12px; }
.district-input input::placeholder { color: #aa8f70; }
.district-input .password-toggle { position: static; width: 28px; height: 28px; border: 0; background: transparent; color: #875929; cursor: pointer; }
.district-login__meta { display: flex; align-items: center; justify-content: space-between; color: #806346; font-size: 10px; }
.district-login__meta label { display: flex; align-items: center; gap: 4px; }
.district-login__meta input { accent-color: #079ba3; }
.district-login__meta a,
.district-login__form > p a { color: #077d86; font-weight: 800; text-decoration: none; }
.district-login__submit {
    display: flex;
    width: 100%;
    min-height: 43px;
    align-items: center;
    justify-content: center;
    gap: 8px;
    border: 2px solid #70400d;
    border-radius: 7px;
    background: linear-gradient(180deg,#28d7db 0%,#069eaa 55%,#047887 100%);
    box-shadow: inset 0 0 0 2px #79f2ed, 0 3px 0 #9b5c19;
    color: white;
    font-size: 13px;
    font-weight: 900;
    text-shadow: 0 2px #04565d;
    cursor: pointer;
    transition: filter .18s, transform .18s;
}
.district-login__submit:hover,
.district-login__submit:focus-visible { filter: brightness(1.1); outline: 0; transform: translateY(-1px); }
.district-login__submit:active { transform: translateY(2px); }
.district-login__submit .site-icon { width: 18px; }
.district-login__form > p { margin: 0; color: #846746; font-size: 10px; text-align: center; }
.district-login .form-feedback { padding: 7px; border: 1px solid #b56a28; border-radius: 5px; background: rgba(255,255,255,.5); color: #8d321f; font-size: 11px; }

.district-info-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: clamp(8px, 1vw, 18px);
    padding: 0 clamp(49px, 5.1vw, 86px);
    margin-top: 6px;
}
.district-info-card {
    position: relative;
    display: block;
    aspect-ratio: 2.15 / 1;
    overflow: hidden;
    border-radius: 13px;
    filter: drop-shadow(0 7px 5px rgba(92,48,9,.18));
    transition: filter .2s, transform .2s;
}
.district-info-card img { position: absolute; top: -34.8%; left: -6.2%; width: 112.4%; max-width: none; }
.district-info-card:hover,
.district-info-card:focus-visible { filter: brightness(1.07) drop-shadow(0 10px 7px rgba(92,48,9,.28)); outline: 0; transform: translateY(-4px); }
.district-bottom-ornament { width: min(1672px,100%); height: clamp(46px, 3.6vw, 60px); margin: 0 auto; overflow: hidden; }
.district-bottom-ornament img { width: 100%; max-width: none; transform: translateY(-38%); }

@media (max-width: 1200px) {
    .district-header__inner { width: calc(100% - 58px); gap: 10px; }
    .district-nav { gap: 2px; }
    .district-nav__link { padding-inline: 8px; }
    .district-nav__link:after { right: -2px; }
    .district-online { min-width: 240px; padding-right: 12px; }
    .district-hero { grid-template-columns: 35% 38% 27%; padding-inline: 34px; }
    .district-info-grid { padding-inline: 35px; }
}
@media (max-width: 900px) {
    .district-header { min-height: 72px; }
    .district-header__inner { min-height: 66px; justify-content: flex-end; }
    .district-menu-toggle { position: relative; z-index: 3; display: grid; order: 2; width: 44px; height: 44px; place-items: center; border: 2px solid #8d5017; border-radius: 7px; background: #f7d889; }
    .district-nav { position: absolute; top: calc(100% + 5px); right: 12px; left: 12px; display: none; height: auto; padding: 12px; border: 2px solid #8a4d14; border-radius: 8px; background: #f7dea1; box-shadow: 0 10px 18px rgba(90,45,8,.25); }
    .district-nav.is-open,
    .menu-is-open .district-nav { display: grid; grid-template-columns: repeat(2,1fr); }
    .district-nav__link:after { display: none; }
    .district-online { margin-right: auto; }
    .district-hero { grid-template-columns: 1fr 1fr; height: auto; min-height: auto; padding: 24px; }
    .district-intro { grid-column: 1; }
    .district-city { grid-column: 2; min-height: 390px; margin: 0 -15% 0 -25%; }
    .district-login { grid-column: 1 / -1; width: min(100%,560px); margin: -30px auto 20px; justify-self: center; top: 0; right: 0; }
    .district-info-grid { grid-template-columns: 1fr; width: min(620px,100%); margin-inline: auto; padding-inline: 20px; }
}
@media (max-width: 560px) {
    .district-header__inner { width: calc(100% - 38px); }
    .district-online { min-width: 0; padding: 5px 9px; }
    .district-online__avatar { width: 44px; height: 42px; flex-basis: 44px; }
    .district-online__copy strong { font-size: 12px; }
    .district-online__copy small { font-size: 9px; }
    .district-hero { display: flex; flex-direction: column; padding: 15px; }
    .district-intro__logo { margin-top: -55px; }
    .district-city { width: 100%; min-height: 340px; margin: -45px -12% 0; }
    .district-login { margin-top: -25px; }
    .district-info-grid { padding-inline: 12px; }
}

@media (prefers-reduced-motion: no-preference) {
    .district-intro { animation: district-rise .55s ease-out both; }
    .district-city { animation: district-rise .65s .08s ease-out both; }
    .district-login { animation: district-rise .55s .16s ease-out both; }
    .district-info-card { animation: district-rise .5s .2s ease-out both; }
    @keyframes district-rise { from { opacity: 0; transform: translateY(12px); } to { opacity: 1; } }
}

/* Passo de fidelidade: usa diretamente as artes aprovadas da referência. */
.district-header {
    width: calc(100% - 8px);
    height: clamp(71px, 5.56vw, 93px);
    min-height: 0;
    border: 1px solid #dfb45f;
    border-radius: 18px;
    background: linear-gradient(180deg,#fff8de 0%,#fff0bd 48%,#f9e4a7 100%);
    box-shadow: inset 0 0 0 2px rgba(255,255,255,.56),0 2px 5px rgba(116,72,24,.13);
}
.district-header:before,
.district-header:after { display: none; content: none; }
.district-header__art {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    max-width: none;
    object-fit: fill;
    pointer-events: none;
}
.district-header__inner {
    position: relative;
    display: flex;
    width: 100%;
    height: 100%;
    min-height: 0;
    margin: 0;
    padding: 0 clamp(34px,3.7vw,62px);
    align-items: center;
    gap: 0;
}
.district-nav {
    position: static;
    display: flex;
    width: auto;
    height: 100%;
    gap: 0;
}
.district-nav__link {
    min-height: 100%;
    padding: 0 clamp(18px,1.65vw,28px);
    border-radius: 5px;
    background: transparent;
    color: #4d2b12;
    font-family: "Segoe UI",Arial,sans-serif;
    font-size: clamp(14px,.96vw,16px);
    font-weight: 800;
    letter-spacing: -.01em;
    transition: background-color .18s ease, box-shadow .18s ease;
}
.district-nav__link img {
    width: clamp(28px,2.05vw,34px);
    height: clamp(28px,2.05vw,34px);
    flex: 0 0 auto;
    object-fit: contain;
}
.district-nav__link:after {
    top: 25%;
    right: 0;
    display: block;
    width: 1px;
    height: 50%;
    background: linear-gradient(transparent,rgba(164,105,38,.34),transparent);
}
.district-nav__link:hover,
.district-nav__link:focus-visible {
    background: rgba(255,255,255,.16);
    box-shadow: inset 0 -3px rgba(13,174,181,.48);
    transform: none;
}
.district-nav__link.is-active:before {
    right: 12%;
    bottom: 13%;
    left: 12%;
    height: 3px;
    background: #16b6bc;
    box-shadow: 0 1px rgba(255,255,255,.75);
}
.district-online {
    position: relative;
    display: block;
    width: clamp(260px,20.2vw,338px);
    min-width: clamp(260px,20.2vw,338px);
    height: clamp(52px,4.05vw,68px);
    min-height: 0;
    margin-left: auto;
    padding: 0;
    border: 1px solid #deb158;
    border-radius: 13px;
    background: linear-gradient(180deg,#fff2c3,#ffe7a8);
    box-shadow: inset 0 0 0 1px rgba(255,255,255,.55);
    overflow: hidden;
}
.district-online__character {
    position: absolute;
    top: 0;
    bottom: 0;
    left: 8px;
    width: clamp(48px,3.55vw,59px);
    height: 100%;
    object-fit: contain;
    object-position:left center;
    clip-path:inset(2px 17px 2px 0);
    mix-blend-mode:multiply;
}
.district-online__dynamic {
    position: absolute;
    inset: 0 8px 0 clamp(66px,4.45vw,74px);
    display: flex;
    align-items: center;
    gap: clamp(5px,.55vw,9px);
    padding-left: 0;
    background: transparent;
    color: #4c260b;
    font-family: "Segoe UI",Arial,sans-serif;
    white-space: nowrap;
}
.district-online__dynamic i {
    width: clamp(8px,.75vw,13px);
    height: clamp(8px,.75vw,13px);
    flex: 0 0 auto;
    border: 1px solid #278c2b;
    border-radius: 50%;
    background: #36c64d;
    box-shadow: inset 0 1px rgba(255,255,255,.62),0 0 3px rgba(54,198,77,.35);
}
.district-online__dynamic strong {
    font-size: clamp(12px,.94vw,16px);
    font-weight: 800;
    letter-spacing: -.02em;
}
.district-online__avatar,
.district-online__copy { display: none; }

.district-intro__logo { width: min(110%, 600px); }
.district-intro p { line-height: 1.48; }
.district-hero:after {
    position: absolute;
    inset: 4% 4% 7%;
    z-index: -1;
    background:
        linear-gradient(90deg,rgba(183,123,48,.08) 1px,transparent 1px) 0 100% / 13% 58%,
        radial-gradient(ellipse at 50% 70%,rgba(211,156,76,.09),transparent 48%);
    mask-image: linear-gradient(90deg,transparent,black 14%,black 86%,transparent);
    content: "";
    opacity: .52;
    pointer-events: none;
}

.district-info-grid {
    width: min(1482px, calc(100% - 168px));
    margin-inline: auto;
    padding: 0;
    align-items: center;
    grid-template-columns: 491fr 474fr 485fr;
    gap: clamp(10px,.96vw,16px);
}
.district-info-card {
    position:relative;
    z-index:1;
    display: grid;
    width: 100%;
    height: auto;
    aspect-ratio: auto;
    place-items: center;
    overflow: hidden;
    border-radius: 0;
    filter: none;
    cursor: default;
    transform: none;
    box-shadow:0 6px 14px rgba(115,71,17,.12);
    transition:filter .2s ease,transform .2s ease,box-shadow .2s ease;
}
.district-info-card img {
    position: static;
    width: 100%;
    max-width: 100%;
    height: auto;
    max-height: 100%;
    object-fit: contain;
}
.district-info-card:hover,
.district-info-card:focus-within {
    z-index:3;
    animation:none;
    filter:brightness(1.018);
    transform:translateY(-5px);
    box-shadow:0 12px 22px rgba(115,71,17,.18);
}
.district-info-card__action {
    position: absolute;
    z-index: 2;
    display: block;
    border: 2px solid transparent;
    border-radius: 8px;
    cursor: pointer;
    transition: border-color .18s ease, background-color .18s ease, box-shadow .18s ease;
}
.district-info-card--how .district-info-card__action { top: 71.7%; left: 45.2%; width: 25.5%; height: 17.5%; }
.district-info-card--community .district-info-card__action { top: 71.7%; left: 46.4%; width: 26.4%; height: 17.5%; }
.district-info-card--security .district-info-card__action { top: 71.7%; left: 45%; width: 25.8%; height: 17.5%; }
.district-info-card__action:hover,
.district-info-card__action:focus-visible {
    border-color: transparent;
    background: rgba(37,211,211,.055);
    box-shadow: inset 0 0 0 1px rgba(3,129,139,.34),0 2px 4px rgba(5,102,108,.1);
    outline: 0;
}
.district-info-card__action:active { box-shadow: inset 0 2px 4px rgba(5,102,108,.18); }

.district-bottom-ornament {
    position: relative;
    z-index: 2;
    width:100%;
    height: auto;
    aspect-ratio: 1672 / 57;
    overflow: hidden;
}
.district-bottom-ornament > img {
    position: static;
    width: 100%;
    height: auto;
    max-width: 100%;
    transform: none;
}
.district-bottom-ornament:before,
.district-bottom-ornament:after {
    display: none;
    content: none;
}

/* Ajustes validados da página inicial: o painel não invade os cards em desktop intermediário. */
@media (min-width: 901px) {
    .district-hero { height: clamp(554px, 33.1vw, 590px); }
    .district-login { top: 0; right: 0; align-self: center; }
}

/* Substitui os losangos genéricos gravados na arte por símbolos com significado real. */
.district-info-card__topic-icon {
    position: absolute;
    top: 15.3%;
    left: 42.7%;
    z-index: 2;
    display: grid;
    width: clamp(22px, 1.7vw, 28px);
    height: clamp(22px, 1.7vw, 28px);
    place-items: center;
    border: 1px solid rgba(177,113,25,.28);
    border-radius: 50%;
    background: #fff3cf;
    box-shadow: 0 0 0 4px #fff3cf;
    color: #079ca5;
    pointer-events: none;
}
.district-info-card__topic-icon .site-icon { width: 68%; height: 68%; stroke-width: 2.1; }

/* A arte tem folhagem até o primeiro/último pixel; a margem evita corte físico pelo viewport. */
.district-bottom-ornament {
    width: calc(100% - 24px);
    margin-inline: 12px;
    overflow: visible;
}

@media (max-width: 900px) {
    .district-header__art { display: none; }
    .district-header { border: 2px solid #a86b22; border-radius: 9px; background: linear-gradient(180deg,#fff2c5,#e9c56e); }
    .district-header__inner { width: calc(100% - 24px); margin-inline: auto; }
    .district-nav { position: absolute; top: calc(100% + 5px); right: 0; bottom: auto; left: 0; display: none; width: 100%; height: auto; padding: 10px; }
    .menu-is-open .district-nav { display: grid; }
    .district-nav__link { min-height: 46px; color: #5a3010; font-family: "Segoe UI",Arial,sans-serif; font-weight: 800; }
    .district-nav__link img { width: 28px; height: 28px; }
    .district-online { position: relative; top: auto; right: auto; width: min(260px,calc(100% - 58px)); height: 52px; margin-right: auto; border: 1px solid #b77b2d; border-radius: 8px; background: #ffedb7; }
    .district-online__dynamic { inset: 3px 4px 3px 58px; background: transparent; }
}

@media (max-width: 430px) {
    .header-actions .btn { font-size: 11px; }
    .hero-stat { width: 100%; }
    .footer-brand { grid-template-columns: 1fr; }
    .footer-brand img { width: 145px; height: 145px; }
    .site-footer__grid { grid-template-columns: 1fr 1fr; }
}

@media (prefers-reduced-motion: reduce) {
    html { scroll-behavior: auto; }
    *, *:before, *:after { scroll-behavior: auto !important; transition-duration: .01ms !important; }
}

/* Subpáginas públicas — sistema editorial Distrito 2026. */
body.site-page:not(.district-landing-page) {
    --public-ink:#563419;
    --public-copy:#72563c;
    --public-gold:#b97421;
    --public-gold-soft:#e4b65f;
    --public-cyan:#078f99;
    --public-paper:#fff7dc;
    --public-paper-deep:#f2d99a;
    --public-line:rgba(174,111,38,.38);
    color:var(--public-copy);
    font-family:"Trebuchet MS","Segoe UI",Arial,sans-serif;
}
body.site-page:not(.district-landing-page) > .public-header,
body.site-page:not(.district-landing-page) > main,
body.site-page:not(.district-landing-page) > .site-footer { font-family:"Trebuchet MS","Segoe UI",Arial,sans-serif; }
body.site-page:not(.district-landing-page) .site-container { width:min(1240px,calc(100% - 40px)); }
body.site-page:not(.district-landing-page) .page-hero {
    position:relative;
    padding:64px 20px 52px;
    overflow:hidden;
    border-bottom:1px solid rgba(182,121,43,.18);
    background:radial-gradient(circle at 50% 100%,rgba(246,196,87,.2),transparent 53%);
}
body.site-page:not(.district-landing-page) .page-hero:after {
    display:block;
    width:90px;
    height:5px;
    margin:25px auto 0;
    border-radius:10px;
    background:linear-gradient(90deg,transparent,#d19032 22%,#11a8b0 50%,#d19032 78%,transparent);
    content:"";
}
body.site-page:not(.district-landing-page) .page-hero h1 {
    max-width:900px;
    margin-inline:auto;
    color:var(--public-ink);
    font-family:Georgia,"Times New Roman",serif;
    font-size:clamp(40px,5vw,64px);
    font-weight:800;
    line-height:1.02;
    letter-spacing:-.035em;
}
body.site-page:not(.district-landing-page) .page-hero p { max-width:760px;color:#7a5d3f;font-size:clamp(16px,1.5vw,19px);line-height:1.65; }
body.site-page:not(.district-landing-page) .page-hero__eyebrow { color:var(--public-cyan);font-size:12px;font-weight:900;letter-spacing:.13em; }
body.site-page:not(.district-landing-page) .ornate-panel {
    border:1px solid #d5a450;
    border-radius:16px;
    background:linear-gradient(155deg,rgba(255,251,232,.97),rgba(245,222,168,.96));
    box-shadow:inset 0 0 0 3px rgba(255,255,255,.55),0 12px 30px rgba(115,70,17,.1);
}
body.site-page:not(.district-landing-page) .ornate-panel:before {
    position:absolute;
    inset:5px;
    z-index:0;
    display:block;
    border:1px solid rgba(191,126,39,.18);
    border-radius:11px;
    content:"";
    pointer-events:none;
}
body.site-page:not(.district-landing-page) .section-heading { align-items:flex-start;margin-bottom:22px; }
body.site-page:not(.district-landing-page) .section-heading h2 { margin-top:5px;color:var(--public-ink);font-family:Georgia,"Times New Roman",serif;font-size:clamp(28px,3vw,39px);font-weight:800;letter-spacing:-.025em;line-height:1.1; }
body.site-page:not(.district-landing-page) .section-heading__copy span { color:var(--public-cyan);font-size:11px;font-weight:900;letter-spacing:.13em; }

.legal-meta { display:flex;justify-content:center;gap:10px;margin-top:20px; }
.legal-meta span { padding:6px 11px;border:1px solid rgba(171,110,33,.28);border-radius:999px;background:rgba(255,255,255,.35);color:#765535;font-size:12px;font-weight:800; }
.legal-summary-grid { display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-bottom:22px; }
.legal-summary-card { display:flex;min-height:108px;align-items:center;gap:15px;padding:20px;border:1px solid #dbaf60;border-radius:14px;background:linear-gradient(145deg,rgba(255,251,234,.95),rgba(247,225,173,.92));box-shadow:0 8px 20px rgba(109,66,17,.08); }
.legal-summary-card > .site-icon { width:35px;height:35px;flex:0 0 auto;padding:7px;border:1px solid #c88a32;border-radius:50%;background:#ffe8a9;color:#087f88; }
.legal-summary-card strong,.legal-summary-card span { display:block; }
.legal-summary-card strong { margin-bottom:4px;color:var(--public-ink);font-family:Georgia,"Times New Roman",serif;font-size:18px; }
.legal-summary-card span { color:#7b5e40;font-size:13px;line-height:1.45; }
.legal-layout--polished { grid-template-columns:245px minmax(0,1fr);align-items:start;gap:22px; }
.legal-layout--polished .legal-nav { top:18px;padding:22px 20px; }
.legal-nav > strong { display:block;margin-bottom:10px;color:var(--public-ink);font-family:Georgia,"Times New Roman",serif;font-size:19px; }
.legal-layout--polished .legal-nav a { position:relative;padding:9px 8px 9px 16px;border-bottom:1px solid rgba(172,111,34,.18);color:#725337;font-size:13px;line-height:1.3;transition:color .16s,transform .16s; }
.legal-layout--polished .legal-nav a:before { position:absolute;top:15px;left:2px;width:5px;height:5px;border-radius:50%;background:#d09335;content:""; }
.legal-layout--polished .legal-nav a:hover { color:var(--public-cyan);transform:translateX(2px); }
.legal-document { padding:clamp(25px,4vw,48px); }
.legal-document__header { margin:-10px 0 12px;padding:0 0 26px;border-bottom:1px solid rgba(173,111,34,.25);text-align:center; }
.legal-document__header > span { color:var(--public-cyan);font-size:11px;font-weight:900;letter-spacing:.13em;text-transform:uppercase; }
.legal-document__header h2 { margin:8px 0 10px;color:var(--public-ink);font-family:Georgia,"Times New Roman",serif;font-size:clamp(31px,4vw,46px);letter-spacing:-.025em; }
.legal-document__header p { max-width:720px;margin:0 auto;color:#73573b;font-size:16px;line-height:1.72; }
.legal-section { scroll-margin-top:28px;padding:28px 0 3px;border-bottom:1px solid rgba(172,111,34,.18); }
.legal-section:last-child { border-bottom:0; }
.legal-section h2 { display:flex;align-items:center;gap:12px;margin:0 0 14px;color:var(--public-ink);font-family:Georgia,"Times New Roman",serif;font-size:clamp(23px,2.5vw,31px);font-weight:800;line-height:1.18; }
.legal-section h2 > span { display:grid;width:38px;height:38px;flex:0 0 38px;place-items:center;border:1px solid #c88a32;border-radius:50%;background:linear-gradient(145deg,#ffe9ad,#e6ae52);color:#704115;font-family:"Trebuchet MS","Segoe UI",sans-serif;font-size:12px;font-weight:900;box-shadow:inset 0 0 0 2px rgba(255,255,255,.52); }
.legal-section p,.legal-section li { color:#6f543a;font-size:15px;line-height:1.75; }
.legal-section p { margin:0 0 13px; }
.legal-section ul { display:grid;gap:7px;margin:12px 0 18px;padding-left:23px; }
.legal-section a:not(.btn) { color:#087f88;font-weight:800;text-decoration-thickness:1px;text-underline-offset:3px; }
.legal-callout { display:flex;align-items:flex-start;gap:15px;margin:20px 0;padding:18px 20px;border:1px solid #d2a14c;border-radius:12px;background:rgba(255,240,190,.66); }
.legal-callout > .site-icon { width:30px;height:30px;flex:0 0 auto;color:#087f88; }
.legal-callout strong { display:block;margin-bottom:3px;color:var(--public-ink);font-family:Georgia,"Times New Roman",serif;font-size:18px; }
.legal-callout p { margin:0;font-size:14px; }
.legal-contact-card { display:flex;align-items:center;justify-content:space-between;gap:20px;margin:18px 0;padding:17px;border:1px solid rgba(173,111,34,.3);border-radius:12px;background:rgba(255,255,255,.3); }
.legal-contact-card strong,.legal-contact-card span { display:block; }
.legal-contact-card strong { color:var(--public-ink); }
.legal-contact-card span { margin-top:3px;color:#806247;font-size:13px; }
.legal-data-grid { display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin:18px 0; }
.legal-data-grid article { padding:18px;border:1px solid rgba(175,112,34,.26);border-radius:11px;background:rgba(255,255,255,.28); }
.legal-data-grid strong { color:var(--public-ink);font-family:Georgia,"Times New Roman",serif;font-size:17px; }
.legal-data-grid p { margin:6px 0 0;font-size:13px;line-height:1.6; }
.legal-table-wrap { margin:18px 0;overflow-x:auto;border:1px solid rgba(174,111,38,.3);border-radius:12px; }
.legal-table { width:100%;min-width:680px;border-collapse:collapse;background:rgba(255,255,255,.25);font-size:13px; }
.legal-table th,.legal-table td { padding:13px 15px;border-bottom:1px solid rgba(174,111,38,.2);text-align:left;vertical-align:top;line-height:1.55; }
.legal-table th { background:rgba(231,184,92,.32);color:var(--public-ink);font-size:12px;text-transform:uppercase;letter-spacing:.05em; }
.legal-table tr:last-child td { border-bottom:0; }
.legal-steps { display:grid;gap:10px;margin:18px 0;padding:0;list-style:none; }
.legal-steps li { display:flex;align-items:flex-start;gap:13px;padding:15px;border:1px solid rgba(174,111,38,.24);border-radius:10px;background:rgba(255,255,255,.25); }
.legal-steps li > span { display:grid;width:30px;height:30px;flex:0 0 30px;place-items:center;border-radius:50%;background:#14a7ad;color:#fff;font-weight:900; }
.legal-steps strong { color:var(--public-ink); }
.legal-steps p { margin:2px 0 0;font-size:13px; }
.legal-sources { margin-top:28px;padding:24px!important;border:1px solid rgba(173,111,34,.32)!important;border-radius:13px;background:rgba(238,205,132,.25); }
.legal-sources ul { gap:5px; }
.legal-review-note { margin-top:18px!important;padding-top:14px;border-top:1px solid rgba(174,111,38,.24);font-size:12px!important; }

.support-hero__actions { display:flex;justify-content:center;gap:12px;margin-top:23px; }
.support-hub { display:grid;gap:22px; }
.support-quick-grid { display:grid;grid-template-columns:repeat(4,1fr);gap:13px; }
.support-quick-card { display:grid;grid-template-columns:44px 1fr 20px;min-height:102px;align-items:center;gap:12px;padding:17px;border:1px solid #d5a450;border-radius:14px;background:linear-gradient(145deg,rgba(255,251,233,.97),rgba(244,219,159,.93));box-shadow:0 8px 20px rgba(110,66,17,.09);color:inherit;text-decoration:none;transition:transform .18s,box-shadow .18s,border-color .18s; }
.support-quick-card:hover,.support-quick-card:focus-visible { border-color:#0d9fa7;box-shadow:0 13px 25px rgba(98,64,20,.14);outline:0;transform:translateY(-4px); }
.support-quick-card > .site-icon:first-child { width:44px;height:44px;padding:10px;border:1px solid #bd7d2b;border-radius:50%;background:#ffe8a7;color:#087f88; }
.support-quick-card > .site-icon:last-child { width:18px;color:#9d6728; }
.support-quick-card strong,.support-quick-card small { display:block; }
.support-quick-card strong { color:var(--public-ink);font-family:Georgia,"Times New Roman",serif;font-size:16px;line-height:1.2; }
.support-quick-card small { margin-top:5px;color:#7c6044;font-size:11px;line-height:1.35; }
.support-content-grid { display:grid;grid-template-columns:minmax(0,1fr) 300px;align-items:start;gap:20px; }
.support-content-grid .support-main { padding:30px; }
.support-section-heading { text-align:left; }
.support-page .faq-list { gap:9px; }
.support-page .faq-item { border:1px solid rgba(174,111,38,.28)!important;border-radius:10px;background:rgba(255,255,255,.27)!important;box-shadow:none;clip-path:none; }
.support-page .faq-item:before { display:none; }
.support-page .faq-item__button { display:flex;min-height:58px;align-items:center;justify-content:space-between;gap:15px;padding:15px 17px;color:var(--public-ink);font-family:"Trebuchet MS","Segoe UI",sans-serif;font-size:14px;font-weight:900;text-align:left; }
.support-page .faq-item__button:after { display:none; }
.support-page .faq-item__button i { position:relative;width:26px;height:26px;flex:0 0 26px;border:1px solid #c58a38;border-radius:50%;background:#ffe7a6; }
.support-page .faq-item__button i:before,.support-page .faq-item__button i:after { position:absolute;top:12px;left:7px;width:12px;height:2px;border-radius:2px;background:#80501e;content:"";transition:transform .18s; }
.support-page .faq-item__button i:after { transform:rotate(90deg); }
.support-page .faq-item.is-open .faq-item__button i:after { transform:rotate(0); }
.support-page .faq-item__answer { padding:0 17px;color:#74583d; }
.support-page .faq-item__answer p { margin:0;padding:0 0 17px;font-size:13px;line-height:1.65; }
.support-side-stack { display:grid;gap:14px; }
.support-status-card,.support-guide-card,.support-recovery-card { padding:23px; }
.support-status-card header { display:flex;align-items:center;gap:12px;margin-bottom:15px;padding-bottom:15px;border-bottom:1px solid rgba(174,111,38,.25); }
.support-status-card header strong,.support-status-card header small { display:block; }
.support-status-card header strong,.support-guide-card h2,.support-recovery-card h2 { color:var(--public-ink);font-family:Georgia,"Times New Roman",serif;font-size:19px; }
.support-status-card header small { color:#806247;font-size:11px; }
.support-card-icon { display:grid;width:42px;height:42px;place-items:center;border:1px solid #c48833;border-radius:50%;background:#ffe5a0;color:#087f88; }
.support-card-icon .site-icon { width:21px;height:21px; }
.support-page .status-row { min-height:43px;border-bottom:1px solid rgba(174,111,38,.18); }
.support-page .status-row b { color:#258c42;font-size:11px;text-transform:uppercase; }
.support-page .status-row b i { display:inline-block;width:7px;height:7px;margin-right:5px;border-radius:50%;background:#46cf62;box-shadow:0 0 5px rgba(70,207,98,.45); }
.support-guide-card > .support-card-icon,.support-recovery-card > .support-card-icon { margin-bottom:12px; }
.support-guide-card h2,.support-recovery-card h2 { margin:0 0 10px; }
.support-guide-card ul { display:grid;gap:7px;margin:0;padding-left:18px;color:#73583d;font-size:12px;line-height:1.5; }
.support-recovery-card p { margin:0 0 15px;color:#73583d;font-size:12px; }
.support-ticket-panel { scroll-margin-top:24px;padding:clamp(25px,4vw,40px); }
.support-ticket-panel__header { display:flex;align-items:flex-start;gap:16px;margin-bottom:24px;padding-bottom:21px;border-bottom:1px solid rgba(174,111,38,.25); }
.support-ticket-panel__header > div > span { color:var(--public-cyan);font-size:11px;font-weight:900;letter-spacing:.12em;text-transform:uppercase; }
.support-ticket-panel__header h2 { margin:4px 0 5px;color:var(--public-ink);font-family:Georgia,"Times New Roman",serif;font-size:clamp(28px,3vw,38px); }
.support-ticket-panel__header p { margin:0;color:#795d40;font-size:14px; }
.support-ticket-form { max-width:780px;margin-inline:auto; }
.input-shell--textarea { align-items:flex-start; }
.input-shell--textarea > .site-icon { margin-top:14px; }
.form-field__hint { color:#876d52;font-size:11px;font-weight:500; }
.support-signin-notice { display:flex;max-width:700px;align-items:flex-start;gap:14px;margin:0 auto 18px;padding:18px;border:1px solid rgba(173,111,34,.3);border-radius:12px;background:rgba(255,255,255,.3); }
.support-signin-notice > .site-icon { width:27px;height:27px;flex:0 0 27px;color:#a66b24; }
.support-signin-notice strong { color:var(--public-ink); }
.support-signin-notice p { margin:3px 0 0;color:#795d40;font-size:13px; }
.support-emergency { display:grid;grid-template-columns:36px 1fr auto;align-items:center;gap:15px;padding:18px 20px;border:1px solid #c68b39;border-radius:13px;background:linear-gradient(90deg,rgba(255,230,166,.92),rgba(255,244,210,.92)); }
.support-emergency > .site-icon { width:31px;height:31px;color:#a75c21; }
.support-emergency strong { color:#663717;font-family:Georgia,"Times New Roman",serif;font-size:16px; }
.support-emergency p { margin:3px 0 0;color:#75573b;font-size:12px;line-height:1.5; }
.support-emergency > a { color:#087f88;font-size:12px;font-weight:900;white-space:nowrap; }
body.site-page:not(.district-landing-page) .empty-state h1,
body.site-page:not(.district-landing-page) .empty-state h2 { color:var(--public-ink);font-family:Georgia,"Times New Roman",serif;text-shadow:none;text-transform:none; }
body.site-page:not(.district-landing-page) .empty-state p { color:#7b6045; }
body.site-page:not(.district-landing-page) .home-section { border-top:1px solid rgba(174,111,38,.18);background:linear-gradient(180deg,rgba(238,207,140,.18),rgba(255,248,221,.28)); }

.about-intro-grid { display:grid;grid-template-columns:minmax(0,1.25fr) minmax(310px,.75fr);align-items:stretch;gap:20px; }
.about-intro-copy { padding:clamp(28px,4vw,46px); }
.about-intro-copy > span { color:var(--public-cyan);font-size:11px;font-weight:900;letter-spacing:.13em;text-transform:uppercase; }
.about-intro-copy h2 { margin:7px 0 16px;color:var(--public-ink);font-family:Georgia,"Times New Roman",serif;font-size:clamp(30px,4vw,45px);line-height:1.1;letter-spacing:-.025em; }
.about-intro-copy p { color:#70553a;font-size:15px;line-height:1.75; }
.about-actions { display:flex;flex-wrap:wrap;gap:10px;margin-top:22px; }
.about-brand-card { display:grid;min-height:340px;align-content:center;justify-items:center;padding:28px;border:1px solid #d3a24d;border-radius:16px;background:radial-gradient(circle at 50% 42%,rgba(255,244,195,.9),rgba(236,198,112,.65));box-shadow:inset 0 0 0 3px rgba(255,255,255,.5),0 12px 28px rgba(111,66,16,.1);text-align:center; }
.about-brand-card img { width:min(330px,100%);height:auto;filter:drop-shadow(0 8px 7px rgba(78,39,8,.14)); }
.about-brand-card strong { margin-top:-18px;color:var(--public-ink);font-family:Georgia,"Times New Roman",serif;font-size:20px; }
.about-brand-card span { margin-top:6px;color:#775b3e;font-size:12px; }
.about-pillars { display:grid;grid-template-columns:repeat(3,1fr);gap:15px;margin-top:22px; }
.about-pillars article { display:flex;align-items:flex-start;gap:14px;padding:22px;border:1px solid #d7a856;border-radius:14px;background:rgba(255,249,226,.72);box-shadow:0 7px 18px rgba(111,66,16,.07); }
.about-pillars .site-icon { width:34px;height:34px;flex:0 0 34px;padding:7px;border:1px solid #c68731;border-radius:50%;background:#ffe7a5;color:#087f88; }
.about-pillars strong { color:var(--public-ink);font-family:Georgia,"Times New Roman",serif;font-size:18px; }
.about-pillars p { margin:5px 0 0;color:#765b40;font-size:13px;line-height:1.55; }
.about-values-grid { display:grid;grid-template-columns:minmax(0,1fr) 350px;align-items:start;gap:20px;margin-top:22px; }
.about-values { padding:30px; }
.about-value-list { display:grid;grid-template-columns:repeat(2,1fr);gap:12px; }
.about-value-list article { display:flex;align-items:flex-start;gap:12px;padding:16px;border:1px solid rgba(174,111,38,.25);border-radius:11px;background:rgba(255,255,255,.25); }
.about-value-list .site-icon { width:27px;height:27px;flex:0 0 27px;color:#078f99; }
.about-value-list strong { color:var(--public-ink); }
.about-value-list p { margin:4px 0 0;color:#765a3e;font-size:12px;line-height:1.5; }
.about-links-stack { display:grid;gap:12px; }
.about-links-stack > a { display:grid;grid-template-columns:36px 1fr 18px;align-items:center;gap:12px;padding:18px;color:inherit;text-decoration:none;transition:transform .18s,box-shadow .18s; }
.about-links-stack > a:hover,.about-links-stack > a:focus-visible { box-shadow:inset 0 0 0 3px rgba(255,255,255,.55),0 14px 28px rgba(103,61,15,.14);outline:0;transform:translateY(-3px); }
.about-links-stack > a > .site-icon:first-child { width:36px;height:36px;padding:8px;border:1px solid #c88a32;border-radius:50%;background:#ffe7a4;color:#087f88; }
.about-links-stack > a > .site-icon:last-child { width:18px;color:#9d6728; }
.about-links-stack strong,.about-links-stack small { display:block; }
.about-links-stack strong { color:var(--public-ink);font-family:Georgia,"Times New Roman",serif;font-size:16px; }
.about-links-stack small { margin-top:4px;color:#785c40;font-size:11px;line-height:1.4; }

@media (max-width:1050px) {
    .support-quick-grid { grid-template-columns:repeat(2,1fr); }
    .support-content-grid { grid-template-columns:1fr; }
    .support-side-stack { grid-template-columns:repeat(3,1fr); }
    .about-intro-grid,.about-values-grid { grid-template-columns:1fr; }
    .about-links-stack { grid-template-columns:repeat(2,1fr); }
}
@media (max-width:850px) {
    .legal-summary-grid { grid-template-columns:1fr; }
    .legal-summary-card { min-height:86px; }
    .legal-layout--polished { grid-template-columns:1fr; }
    .legal-layout--polished .legal-nav { position:static;display:grid;grid-template-columns:repeat(2,1fr);gap:0 14px; }
    .legal-layout--polished .legal-nav > strong { grid-column:1/-1; }
    .support-side-stack { grid-template-columns:1fr; }
    .about-pillars,.about-value-list { grid-template-columns:1fr; }
}
@media (max-width:600px) {
    body.site-page:not(.district-landing-page) .site-container { width:min(100% - 24px,1240px); }
    body.site-page:not(.district-landing-page) .page-hero { padding:46px 12px 38px; }
    .legal-meta,.support-hero__actions { align-items:stretch;flex-direction:column; }
    .legal-summary-card { padding:16px; }
    .legal-layout--polished .legal-nav { grid-template-columns:1fr; }
    .legal-document { padding:22px 18px; }
    .legal-section h2 { align-items:flex-start;font-size:22px; }
    .legal-data-grid { grid-template-columns:1fr; }
    .legal-contact-card { align-items:stretch;flex-direction:column; }
    .support-quick-grid { grid-template-columns:1fr; }
    .support-content-grid .support-main,.support-ticket-panel { padding:21px 16px; }
    .support-ticket-panel__header { flex-direction:column; }
    .support-emergency { grid-template-columns:30px 1fr; }
    .support-emergency > a { grid-column:2; }
    .about-links-stack { grid-template-columns:1fr; }
    .about-brand-card { min-height:280px; }
}

/* Home oficial: composição HTML/CSS sobre um cenário limpo do próprio Distrito. */
.home-reference-page:before {
    position: fixed;
    min-height: 100vh;
    background-image: url('/assets/distrito-site/home-background-clean.png');
    background-position: center top;
    background-size: cover;
}
.home-reference-page:after { position: fixed; min-height: 100vh; background: linear-gradient(180deg, rgba(0, 8, 12, .28), rgba(0, 8, 12, .48) 62%, rgba(0, 6, 9, .86)); }
.home-reference-page .site-header { position: relative; }
.reference-home-main {
    display: grid;
    min-height: clamp(590px, 39vw, 750px);
    align-items: center;
    padding: clamp(35px, 3vw, 58px) 0;
}
.reference-home-grid {
    display: grid;
    width: min(1480px, 78vw);
    grid-template-columns: 27fr 40fr 28fr;
    align-items: center;
    gap: 3%;
}
.reference-home-grid .ornate-panel {
    background: transparent;
    box-shadow: 0 12px 24px rgba(0,0,0,.58);
}
.reference-panel-title {
    margin: 0;
    padding: 18px 18px 14px;
    border-bottom: 0;
    color: var(--gold-soft);
    font-family: var(--font-title);
    font-size: clamp(15px, 1.1vw, 20px);
    line-height: 1.05;
    letter-spacing: .035em;
    text-align: center;
    text-shadow: 0 2px #291306;
    text-transform: uppercase;
}
.reference-panel-title:after { display: block; width: calc(100% - 12px); height: 1px; margin: 13px auto -1px; background: linear-gradient(90deg, #7a310b, #d6791f 48%, #7a310b); content: ""; }
.benefits-panel { padding: 0 18px 14px; }
.benefits-list { display: grid; }
.benefit-row {
    display: grid;
    min-height: 86px;
    grid-template-columns: 72px 1fr;
    align-items: center;
    gap: 9px;
    padding: 8px 0;
}
.benefit-row + .benefit-row { border-top: 1px solid rgba(114, 57, 22, .28); }
.benefit-row h2 { margin: 0 0 3px; color: var(--gold-soft); font-family: var(--font-title); font-size: clamp(12px, .92vw, 16px); line-height: 1.08; text-transform: none; }
.benefit-row p { margin: 0; color: #d0bea1; font-size: clamp(10px, .73vw, 13px); line-height: 1.36; }
.benefit-art { position: relative; display: grid; width: 72px; height: 72px; flex: 0 0 auto; place-items: center; }
.benefit-art:before { display: none; }
.benefit-art img { position: relative; z-index: 1; width: 100%; height: 100%; object-fit: contain; image-rendering: pixelated; }
.benefit-art--reward img, .benefit-art--news img { width: 116%; height: 116%; border: 0; object-fit: cover; mix-blend-mode: screen; -webkit-mask-image: radial-gradient(ellipse at center, #000 48%, transparent 80%); mask-image: radial-gradient(ellipse at center, #000 48%, transparent 80%); }
.benefit-art--people { background: url('/assets/distrito-site/community-official.png') 24.5% 48.6% / 520% 390% no-repeat; image-rendering: pixelated; }
.benefit-art--people img { display: none; }

.reference-login-column { position: relative; z-index: 2; }
.reference-login-column .auth-panel { width: 100%; }
.reference-login-column .panel-heading { z-index: 4; display: block; padding: clamp(57px, 3.35vw, 67px) 28px 21px; }
.reference-login-column .panel-heading__badge { position: absolute; top: -35px; left: 50%; width: 70px; height: 70px; box-sizing: border-box; border: 9px solid transparent; border-image: url('/assets/distrito-site/panel-frame-official.svg?v=2') 14 fill / 9px stretch; background: #06191e; box-shadow: 0 4px 0 #291205, 0 0 18px rgba(224,124,27,.16); transform: translateX(-50%) rotate(45deg); }
.reference-login-column .panel-heading__badge .site-icon { width: 30px; height: 30px; color: #f2aa38; stroke-width: 2.4; }
.reference-login-column .panel-heading h1 { font-size: clamp(28px, 2.25vw, 41px); }
.reference-login-column .panel-heading p { font-size: clamp(12px, .9vw, 15px); }
.reference-login-column .auth-panel .form-stack { gap: 13px; padding: 23px clamp(25px, 2.3vw, 40px) 12px; }
.reference-login-column .form-field { gap: 5px; }
.reference-login-column .input-shell { min-height: 48px; }
.reference-login-column .input-shell input { height: 46px; }
.reference-login-column .btn { min-height: 47px; }
.reference-login-column .security-note { padding-bottom: 17px; }

.reference-right-column { display: grid; gap: 15px; }
.latest-panel { padding: 0 17px 12px; }
.reference-panel-title--with-action { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding-inline: 4px; }
.reference-panel-title--with-action:after { position: absolute; right: 0; bottom: 0; left: 0; width: auto; margin: 0; }
.reference-panel-title--with-action h1 { margin: 0; font: inherit; white-space: nowrap; }
.reference-panel-title--with-action a { flex: 0 0 auto; padding: 6px 10px; border: 1px solid var(--line); color: var(--gold); font-size: 10px; text-decoration: none; white-space: nowrap; }
.reference-news-list { display: grid; }
.reference-news-item { display: grid; min-height: 96px; grid-template-columns: 122px 1fr; align-items: center; gap: 12px; padding: 9px 0; color: inherit; text-decoration: none; }
.reference-news-item + .reference-news-item { border-top: 1px solid rgba(115, 62, 27, .55); }
.reference-news-thumb, .reference-news-art { width: 122px; height: 70px; overflow: hidden; border: 1px solid #7c3f18; background-position: center; background-size: cover; }
.reference-news-art img { width: 100%; height: 100%; object-fit: cover; image-rendering: pixelated; }
.reference-news-item > span:last-child { display: grid; align-content: center; min-width: 0; }
.reference-news-item strong { display: -webkit-box; overflow: hidden; color: var(--gold-soft); font-family: var(--font-title); font-size: clamp(11px, .78vw, 14px); line-height: 1.12; -webkit-box-orient: vertical; -webkit-line-clamp: 2; }
.reference-news-item small { display: -webkit-box; margin-top: 4px; overflow: hidden; color: #c9b89c; font-size: clamp(9px, .64vw, 11px); line-height: 1.24; -webkit-box-orient: vertical; -webkit-line-clamp: 2; }
.reference-news-item time { margin-top: 3px; color: #92856f; font-size: 9px; }
.reference-news-item[href] { transition: background-color .18s, filter .18s; }
.reference-news-item[href]:hover, .reference-news-item[href]:focus-visible { background: linear-gradient(90deg, rgba(25,172,182,.07), transparent); filter: brightness(1.1); outline: 0; }
.reference-news-item--empty { opacity: .84; }
.reference-news-item--empty:nth-child(3) .reference-news-art { background: url('/assets/distrito-site/community-official.png') 24.5% 48.6% / 430% 320% no-repeat; image-rendering: pixelated; }
.reference-news-item--empty:nth-child(3) .reference-news-art img { display: none; }
.official-community-panel { padding: 0 12px 14px; text-align: center; }
.official-community-panel .reference-panel-title { padding-top: 12px; padding-bottom: 7px; }
.official-community-panel .reference-panel-title:after { margin-top: 9px; }
.official-community-panel > p { margin: 5px 0 6px; color: #d4c09d; font-size: clamp(10px, .72vw, 12px); }
.official-socials { display: grid; grid-template-columns: repeat(3, 1fr); align-items: stretch; gap: 9px; padding-inline: 4px; }
.official-social { position: relative; display: grid; min-width: 0; min-height: 82px; place-items: center; align-content: center; padding: 3px 1px 2px; border: 7px solid transparent; border-image: url('/assets/distrito-site/panel-frame-official.svg?v=2') 14 fill / 7px stretch; background: #06191e; color: var(--gold-soft); box-shadow: 0 4px 10px rgba(0,0,0,.22); clip-path: none; }
.official-social + .official-social:before { display: none; }
.official-social strong { margin-top: 3px; font-family: var(--font-title); font-size: clamp(9px, .65vw, 12px); text-transform: uppercase; }
.official-social { transition: filter .18s; }
.official-social:hover { filter: brightness(1.14) drop-shadow(0 0 8px rgba(31,185,194,.18)); }
.social-mark { display: grid; width: 44px; height: 44px; place-items: center; border: 1px solid rgba(255,255,255,.24); border-radius: 9px; image-rendering: auto; filter: drop-shadow(0 3px 2px rgba(0,0,0,.48)); box-shadow: inset 0 1px rgba(255,255,255,.3), inset 0 -2px rgba(0,0,0,.2); }
.social-mark svg { display: block; width: 30px; height: 30px; fill: #fff; stroke: none; }
.social-mark--discord { background: linear-gradient(145deg,#7d88ef,#4d58c7); }
.social-mark--instagram { background: radial-gradient(circle at 66% 72%,#ffd45e 0 12%,#fa493f 34%,#c62bbc 62%,#6545d7 100%); }
.social-mark--youtube { background: linear-gradient(145deg,#ff514a,#d82525); }

.home-reference-page .site-footer { background: linear-gradient(180deg, rgba(2, 17, 22, .995), rgba(1, 10, 14, .995)); }
.home-reference-page .site-footer__grid { padding-top: 10px; padding-bottom: 6px; }
.home-reference-page .site-footer__bottom { padding-top: 5px; padding-bottom: 5px; }

@media (prefers-reduced-motion: no-preference) {
    .reference-home-grid > .ornate-panel,
    .reference-home-grid > .reference-login-column,
    .reference-home-grid > .reference-right-column { animation: district-panel-in .48s cubic-bezier(.2,.75,.28,1) both; }
    .reference-home-grid > .reference-login-column { animation-delay: .06s; }
    .reference-home-grid > .reference-right-column { animation-delay: .12s; }
    @keyframes district-panel-in { from { opacity: 0; filter: brightness(.72) blur(1.5px); } to { opacity: 1; filter: none; } }
}

@media (min-width: 901px) {
    .home-reference-page .auth-panel { min-height: clamp(500px, 34.4vw, 660px); transform: translateY(clamp(4px, .4vw, 8px)); }
    .home-reference-page .benefits-panel { min-height: clamp(380px, 24.5vw, 470px); transform: translateY(clamp(8px, .58vw, 11px)); }
    .home-reference-page .reference-right-column { min-height: clamp(470px, 29.4vw, 565px); transform: translateY(clamp(42px, 2.85vw, 55px)); }
}

@media (max-width: 1180px) {
    .reference-home-grid { width: min(1060px, calc(100% - 40px)); grid-template-columns: 24fr 36fr 26fr; gap: 2%; }
    .benefits-panel { padding-inline: 12px; }
    .benefit-row { grid-template-columns: 58px 1fr; }
    .benefit-art { width: 58px; height: 64px; }
    .reference-news-item { grid-template-columns: 92px 1fr; gap: 8px; }
    .reference-news-thumb, .reference-news-art { width: 92px; height: 60px; }
}

@media (max-width: 900px) {
    .home-reference-page:before { background-size: auto 1000px; background-position: center top; }
    .reference-home-main { padding: 58px 0 45px; }
    .reference-home-grid { width: min(680px, calc(100% - 28px)); grid-template-columns: 1fr; gap: 22px; }
    .reference-login-column { grid-row: 1; }
    .benefits-panel { grid-row: 2; }
    .reference-right-column { grid-row: 3; }
    .benefits-list { grid-template-columns: repeat(2, 1fr); gap: 0 14px; }
    .benefit-row:nth-child(2) { border-top: 0; }
    .reference-news-item { grid-template-columns: 122px 1fr; }
    .reference-news-thumb, .reference-news-art { width: 122px; height: 70px; }
}

@media (max-width: 640px) {
    .reference-home-main { padding-top: 48px; }
    .benefits-list { grid-template-columns: 1fr; }
    .benefit-row:nth-child(2) { border-top: 1px solid rgba(114,57,22,.28); }
    .reference-panel-title { font-size: 17px; }
    .benefit-row h2 { font-size: 14px; }
    .benefit-row p { font-size: 12px; }
    .reference-news-item { grid-template-columns: 96px 1fr; }
    .reference-news-thumb, .reference-news-art { width: 96px; height: 62px; }
    .reference-news-item strong { font-size: 13px; }
    .reference-news-item small { font-size: 10px; }
    .official-community-panel > p { font-size: 11px; }
    .official-social strong { font-size: 10px; }
}

/* Acabamento final da navegação, estados de formulário e cards da entrada. */
.public-nav .site-nav__link img,
.district-nav__link img {
    width: 38px;
    height: 38px;
    flex: 0 0 38px;
    object-fit: contain;
    mix-blend-mode: multiply;
    filter: drop-shadow(0 2px 1px rgba(91,49,12,.2));
    transition: transform .18s ease, filter .18s ease;
}
.nav-support-icon {
    display: grid;
    width: 36px;
    height: 36px;
    flex: 0 0 36px;
    place-items: center;
    border: 2px solid #a4611e;
    border-radius: 50%;
    background: linear-gradient(145deg,#fff5c7,#f2c76c);
    box-shadow: inset 0 0 0 2px rgba(255,255,255,.56),0 2px 2px rgba(94,50,13,.18);
    color: #693b15;
    transition: transform .18s ease,filter .18s ease;
}
.nav-support-icon .site-icon { width: 22px;height:22px;stroke-width:2.15; }
.site-nav__link:hover .nav-support-icon,
.site-nav__link:focus-visible .nav-support-icon,
.district-nav__link:hover .nav-support-icon,
.district-nav__link:focus-visible .nav-support-icon { filter:saturate(1.08);transform:translateY(-1px) scale(1.04); }
.public-nav .site-nav__link:hover img,
.public-nav .site-nav__link:focus-visible img,
.district-nav__link:hover img,
.district-nav__link:focus-visible img {
    filter: drop-shadow(0 3px 2px rgba(91,49,12,.24)) saturate(1.08);
    transform: translateY(-1px) scale(1.04);
}
.public-online {
    width: clamp(224px,17.2vw,280px);
    justify-content: center;
    padding: 0 20px;
}
.public-online > span {
    margin: 0;
    font-size: clamp(12px,.88vw,15px);
    letter-spacing: -.01em;
}
.district-online {
    width: clamp(224px,17.2vw,280px);
    min-width: clamp(224px,17.2vw,280px);
}
.district-online__dynamic {
    inset: 0 18px;
    justify-content: center;
}
.district-online__character,
.public-online > img { display: none !important; }

body.site-page .form-feedback {
    padding: 0;
    border: 0;
    border-radius: 8px;
    background: transparent;
    color: inherit;
    box-shadow: none;
}
body.site-page .form-feedback > .error,
body.site-page .form-feedback > .notice,
body.site-page .form-feedback > .errorSucces,
body.site-page .form-feedback > .form-message {
    position: relative;
    min-height: 44px;
    padding: 12px 14px 12px 45px;
    border: 1px solid #ce735f;
    border-left-width: 4px;
    border-radius: 7px;
    background: linear-gradient(180deg,#fff8f2,#ffe9df);
    box-shadow: inset 0 1px rgba(255,255,255,.8),0 2px 5px rgba(112,48,27,.08);
    color: #862f23;
    font-size: 13px;
    font-weight: 750;
    line-height: 1.4;
}
body.site-page .form-feedback > .error::before,
body.site-page .form-feedback > .notice::before,
body.site-page .form-feedback > .form-message::before {
    position: absolute;
    top: 50%;
    left: 13px;
    display: grid;
    width: 22px;
    height: 22px;
    place-items: center;
    border: 1px solid #b94d3a;
    border-radius: 50%;
    background: #fffaf6;
    color: #a63d2f;
    content: "!";
    font-family: Georgia,serif;
    font-size: 15px;
    font-weight: 900;
}
body.site-page .form-feedback > .errorSucces,
body.site-page .form-feedback > .form-message--success {
    border-color: #4a9c6c;
    background: linear-gradient(180deg,#f5fff8,#e5f7ea);
    color: #23643c;
}
body.site-page .form-feedback > .errorSucces::before,
body.site-page .form-feedback > .form-message--success::before {
    position: absolute;
    top: 50%;
    left: 13px;
    display: grid;
    width: 22px;
    height: 22px;
    place-items: center;
    border: 1px solid #3f8f60;
    border-radius: 50%;
    background: #f9fffb;
    color: #287346;
    content: "✓";
    font-size: 14px;
    font-weight: 900;
    transform: translateY(-50%);
}
body.site-page .form-feedback > .error::before,
body.site-page .form-feedback > .notice::before,
body.site-page .form-feedback > .form-message::before { transform: translateY(-50%); }
.district-login .form-feedback > .error,
.district-login .form-feedback > .notice,
.district-login .form-feedback > .errorSucces,
.district-login .form-feedback > .form-message {
    min-height: 38px;
    padding: 9px 10px 9px 39px;
    font-size: 11px;
}
.district-login .form-feedback > .error::before,
.district-login .form-feedback > .notice::before,
.district-login .form-feedback > .errorSucces::before,
.district-login .form-feedback > .form-message::before {
    left: 10px;
    width: 19px;
    height: 19px;
    font-size: 12px;
}

.district-info-card {
    overflow: hidden;
    border-radius: 17px;
    background: transparent;
    clip-path: inset(2px round 17px);
    opacity: 1;
    animation: none !important;
    box-shadow: none;
    filter: drop-shadow(0 6px 8px rgba(115,71,17,.14));
    will-change: transform;
}
.district-info-grid { gap:0; }
.district-info-card:hover,
.district-info-card:focus-within {
    opacity: 1;
    animation: none !important;
    filter: brightness(1.015) saturate(1.015) drop-shadow(0 10px 10px rgba(115,71,17,.2));
    transform: translateY(-4px);
}
.district-info-card:not(:hover):not(:focus-within) {
    opacity: 1;
    filter: drop-shadow(0 6px 8px rgba(115,71,17,.14));
    transform: translateY(0);
}

body.site-page:not(.district-landing-page) .conduct-list li {
    align-items: start;
    gap: 11px;
    min-width: 0;
}
body.site-page:not(.district-landing-page) .conduct-list .site-icon {
    width: 24px;
    height: 24px;
    margin-top: 1px;
    color: #d98721;
}
body.site-page:not(.district-landing-page) .conduct-list b {
    color: #633817;
    font-size: 13px;
    line-height: 1.35;
}
body.site-page:not(.district-landing-page) .conduct-list small {
    display: block;
    margin-top: 3px;
    color: #7d6045;
    font-size: 12px;
    line-height: 1.55;
}
body.site-page:not(.district-landing-page) .check-field {
    align-items: flex-start;
    color: #705238;
    font-size: 12px;
    line-height: 1.55;
}
body.site-page:not(.district-landing-page) .check-field input {
    flex: 0 0 17px;
    margin-top: 2px;
    accent-color: #079aa6;
}
body.site-page:not(.district-landing-page) .check-field a {
    color: #087f88;
    font-weight: 700;
    text-decoration-thickness: 1px;
    text-underline-offset: 2px;
}
body.site-page:not(.district-landing-page) .form-message {
    padding:12px 14px;
    border:1px solid #d49a42;
    border-left-width:4px;
    border-radius:7px;
    background:linear-gradient(180deg,#fff9e8,#f9e7bb);
    box-shadow:inset 0 1px rgba(255,255,255,.8);
    color:#704719;
    font-size:12px;
    font-weight:700;
    line-height:1.5;
}
body.site-page:not(.district-landing-page) .form-message--success {
    border-color:#4d9b69;
    background:linear-gradient(180deg,#f4fff7,#e3f5e8);
    color:#28633d;
}
body.site-page:not(.district-landing-page) .form-message--warning {
    border-color:#d18b34;
    background:linear-gradient(180deg,#fff9e9,#fbe7ba);
    color:#704719;
}
.support-protocol-card { padding:23px; }
.support-protocol-card > .support-card-icon { margin-bottom:12px; }
.support-protocol-card h2 {
    margin:0 0 10px;
    color:var(--public-ink);
    font-family:Georgia,"Times New Roman",serif;
    font-size:19px;
}
.support-protocol-card p { margin:0;color:#73583d;font-size:12px;line-height:1.6; }

@media (max-width: 900px) {
    .public-online,
    .district-online { width: min(225px,calc(100% - 58px)); min-width: 0; }
    .district-online__dynamic { inset: 0 10px; }
    .district-info-grid {
        width: min(620px,calc(100% - 24px));
        grid-template-columns: 1fr;
        gap: 12px;
    }
    .public-nav .site-nav__link img,
    .district-nav__link img { width: 32px; height: 32px; flex-basis: 32px; }
    .nav-support-icon { width:32px;height:32px;flex-basis:32px; }
    .nav-support-icon .site-icon { width:19px;height:19px; }
}

@media (max-width: 600px) {
    .site-footer__links {
        width: min(100% - 28px,460px);
        flex-wrap: wrap;
        gap: 8px 18px;
        padding: 16px 0 12px;
    }
    .site-footer__links a { font-size:12px; }
    .site-footer__bottom { width:min(100% - 28px,460px); }
}

/* Equipe, configurações e perfis públicos no mesmo tema editorial. */
.staff-shell,.staff-groups { display:grid;gap:28px; }
.staff-safety-note {
    display:grid;
    grid-template-columns:34px 1fr auto;
    align-items:center;
    gap:16px;
    padding:18px 21px;
    border:1px solid #cc7d59;
    border-radius:12px;
    background:linear-gradient(180deg,#fff7e9,#fde5cf);
    box-shadow:0 6px 16px rgba(111,55,28,.08);
}
.staff-safety-note > .site-icon { width:30px;height:30px;color:#a8432f; }
.staff-safety-note strong { color:#74311f;font-family:Georgia,"Times New Roman",serif;font-size:17px; }
.staff-safety-note p { margin:3px 0 0;color:#785844;font-size:12px;line-height:1.55; }
.staff-safety-note a { color:#087f88;font-size:12px;font-weight:800;white-space:nowrap; }
.staff-group { display:grid;gap:15px; }
.staff-group__heading { display:flex;align-items:center;gap:12px;padding-bottom:11px;border-bottom:1px solid rgba(168,103,31,.25); }
.staff-group__heading > span { display:grid;width:42px;height:42px;place-items:center;border:1px solid #d49a42;border-radius:50%;background:#ffe9a8;color:#916020; }
.staff-group__heading .site-icon { width:23px;height:23px; }
.staff-group__heading small { display:block;color:#0b8e96;font-size:10px;font-weight:800;letter-spacing:.08em;text-transform:uppercase; }
.staff-group__heading h2 { margin:2px 0 0;color:var(--public-ink);font-family:Georgia,"Times New Roman",serif;font-size:24px; }
.staff-grid { display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px; }
.staff-card { display:grid;min-width:0;place-items:center;padding:17px 15px 16px;color:inherit;text-align:center;text-decoration:none;transition:transform .18s ease,filter .18s ease; }
.staff-card:hover,.staff-card:focus-visible { filter:brightness(1.02);outline:0;transform:translateY(-4px); }
.staff-card__status { justify-self:end;display:flex;align-items:center;gap:5px;color:#8b6f55;font-size:10px;font-weight:800;text-transform:uppercase; }
.staff-card__status i { width:8px;height:8px;border-radius:50%;background:#b2a28d; }
.staff-card__status.is-online { color:#2b7b43; }
.staff-card__status.is-online i { background:#3cc95a;box-shadow:0 0 6px rgba(60,201,90,.45); }
.staff-card__avatar { position:relative;display:grid;width:94px;height:94px;margin:3px 0 7px;place-items:center;overflow:hidden;border:2px solid #c88730;border-radius:50%;background:radial-gradient(circle,#fff3bd,#efc866);box-shadow:inset 0 0 0 4px rgba(255,255,255,.52); }
.staff-card__avatar img { width:82px;height:110px;object-fit:contain;object-position:center 10px; }
.staff-card__avatar.uses-fallback:before,.settings-avatar-card__image.uses-fallback:before,.profile-card__avatar.uses-fallback:before,.profile-recommendation > span.uses-fallback:before { color:#a66d2b;content:"D";font-family:Georgia,serif;font-size:34px;font-weight:900; }
.staff-card > strong { color:#623617;font-family:Georgia,"Times New Roman",serif;font-size:18px; }
.staff-card > small { display:-webkit-box;min-height:38px;margin-top:5px;overflow:hidden;color:#7a6047;font-size:11px;line-height:1.45;-webkit-box-orient:vertical;-webkit-line-clamp:2; }
.staff-card__profile { display:flex;align-items:center;gap:5px;margin-top:10px;color:#087f88;font-size:11px;font-weight:800; }
.staff-card__profile .site-icon { width:15px;height:15px; }
.staff-empty { padding:42px; }

.settings-grid { display:grid;grid-template-columns:minmax(0,1fr) 330px;align-items:start;gap:22px; }
.settings-main { padding:29px; }
.settings-heading { display:flex;align-items:flex-start;gap:14px;margin-bottom:24px;padding-bottom:20px;border-bottom:1px solid rgba(169,106,34,.23); }
.settings-heading small { color:#078b94;font-size:10px;font-weight:800;letter-spacing:.08em;text-transform:uppercase; }
.settings-heading h2 { margin:2px 0 4px;color:var(--public-ink);font-family:Georgia,"Times New Roman",serif;font-size:25px; }
.settings-heading p { margin:0;color:#7b5f44;font-size:12px; }
.settings-form { margin-top:20px; }
.settings-form .btn { justify-self:start;min-width:190px; }
.input-shell.is-disabled { background:#eee4d1 !important;opacity:.85; }
.settings-side { display:grid;gap:16px; }
.settings-avatar-card,.settings-account-card { padding:23px;text-align:center; }
.settings-avatar-card__image { display:grid;width:112px;height:112px;margin:0 auto 10px;place-items:center;overflow:hidden;border:2px solid #c88730;border-radius:50%;background:radial-gradient(circle,#fff4c1,#efc968);box-shadow:inset 0 0 0 5px rgba(255,255,255,.55); }
.settings-avatar-card__image img { width:92px;height:126px;object-fit:contain;object-position:center 12px; }
.settings-avatar-card h2,.settings-account-card h2 { margin:0 0 6px;color:var(--public-ink);font-family:Georgia,"Times New Roman",serif;font-size:20px; }
.settings-avatar-card p { min-height:34px;margin:0 0 16px;color:#775a3d;font-size:12px;line-height:1.45; }
.settings-account-card { text-align:left; }
.settings-account-card dl { display:grid;margin:14px 0 17px; }
.settings-account-card dl div { display:flex;justify-content:space-between;gap:10px;padding:9px 0;border-top:1px solid rgba(168,103,31,.2); }
.settings-account-card dt { color:#806247;font-size:11px; }
.settings-account-card dd { margin:0;color:#553316;font-size:11px;font-weight:800; }
.settings-account-card .text-link { margin-top:8px; }
.settings-back { justify-self:center;color:#735638;font-size:12px;font-weight:700;text-decoration:none; }
.settings-back:hover { color:#087f88; }

.profile-search-hero { padding-bottom:32px !important; }
.profile-search { display:flex;max-width:610px;margin:23px auto 0;gap:9px; }
.profile-search .input-shell { flex:1; }
.profile-search .btn { flex:0 0 auto; }
.profile-layout { display:grid;grid-template-columns:minmax(0,1fr) 330px;align-items:start;gap:22px; }
.profile-card { overflow:hidden; }
.profile-card__cover { height:190px;border-bottom:1px solid #c98d38;background-color:#eed292;background-position:center;background-size:cover; }
.profile-card__identity { display:grid;grid-template-columns:132px 1fr;align-items:end;gap:20px;padding:0 29px 23px; }
.profile-card__avatar { display:grid;width:132px;height:132px;margin-top:-60px;place-items:center;overflow:hidden;border:4px solid #fff4c9;border-radius:50%;background:radial-gradient(circle,#fff4c2,#eebd57);box-shadow:0 5px 14px rgba(89,46,10,.22); }
.profile-card__avatar img { width:94px;height:140px;object-fit:contain; }
.profile-presence { display:flex;align-items:center;gap:6px;color:#846d55;font-size:10px;font-weight:800;text-transform:uppercase; }
.profile-presence i { width:8px;height:8px;border-radius:50%;background:#afa18e; }
.profile-presence.is-online { color:#277940; }
.profile-presence.is-online i { background:#3bc858;box-shadow:0 0 5px rgba(59,200,88,.45); }
.profile-card__identity h2 { margin:4px 0;color:var(--public-ink);font-family:Georgia,"Times New Roman",serif;font-size:31px; }
.profile-card__identity p { margin:0;color:#765a40;font-size:13px; }
.profile-stats { display:grid;grid-template-columns:repeat(3,1fr);gap:1px;margin:0 29px 29px;overflow:hidden;border:1px solid rgba(179,111,35,.3);border-radius:10px;background:rgba(179,111,35,.25); }
.profile-stats div { padding:15px;background:rgba(255,250,226,.92);text-align:center; }
.profile-stats small { display:block;color:#8b6c4e;font-size:9px;font-weight:800;letter-spacing:.06em;text-transform:uppercase; }
.profile-stats strong { display:block;margin-top:3px;color:#623617;font-size:19px; }
.profile-side { display:grid;gap:14px; }
.profile-badges { padding:21px; }
.profile-badges header { display:grid;grid-template-columns:42px 1fr auto;align-items:center;gap:10px;margin-bottom:14px; }
.profile-badges header small { color:#078b94;font-size:9px;font-weight:800;letter-spacing:.07em;text-transform:uppercase; }
.profile-badges h2 { margin:1px 0 0;color:var(--public-ink);font-family:Georgia,"Times New Roman",serif;font-size:19px; }
.profile-badges header b { display:grid;min-width:30px;height:30px;place-items:center;border-radius:50%;background:#f6d985;color:#704218;font-size:12px; }
.profile-badge-grid { display:grid;grid-template-columns:repeat(4,1fr);gap:7px; }
.profile-badge-grid span { display:grid;aspect-ratio:1;place-items:center;border:1px solid rgba(180,112,35,.23);border-radius:8px;background:rgba(255,255,255,.42); }
.profile-badge-grid img { max-width:42px;max-height:42px; }
.profile-muted { color:#80664c;font-size:12px;text-align:center; }
.profile-recommendations { margin-top:38px; }
.profile-recommendation-grid { display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:13px; }
.profile-recommendation { display:grid;grid-template-columns:56px 1fr 17px;align-items:center;gap:10px;padding:12px;color:inherit;text-decoration:none;transition:transform .18s ease; }
.profile-recommendation:hover,.profile-recommendation:focus-visible { outline:0;transform:translateY(-3px); }
.profile-recommendation > span { display:grid;width:56px;height:56px;place-items:center;overflow:hidden;border:1px solid #cf943c;border-radius:50%;background:#f5d57e; }
.profile-recommendation > span img { width:58px;height:70px;object-fit:contain; }
.profile-recommendation strong { display:block;overflow:hidden;color:#603416;font-family:Georgia,"Times New Roman",serif;font-size:15px;text-overflow:ellipsis;white-space:nowrap; }
.profile-recommendation small { display:block;margin-top:3px;overflow:hidden;color:#7c6147;font-size:10px;text-overflow:ellipsis;white-space:nowrap; }
.profile-recommendation > .site-icon { width:16px;height:16px;color:#0a8d96; }

@media (max-width: 1000px) {
    .staff-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
    .settings-grid,.profile-layout { grid-template-columns:minmax(0,1fr) 285px; }
    .profile-recommendation-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width: 760px) {
    .staff-safety-note { grid-template-columns:28px 1fr; }
    .staff-safety-note > a { grid-column:2;justify-self:start; }
    .staff-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
    .settings-grid,.profile-layout { grid-template-columns:1fr; }
    .settings-side,.profile-side { grid-template-columns:1fr 1fr; }
    .settings-back { grid-column:1/-1; }
    .profile-side > .btn { align-self:start; }
}
@media (max-width: 520px) {
    .staff-grid,.profile-recommendation-grid { grid-template-columns:1fr; }
    .staff-safety-note { padding:16px; }
    .settings-main { padding:21px 16px; }
    .settings-heading { align-items:center; }
    .settings-side,.profile-side { grid-template-columns:1fr; }
    .profile-search { flex-direction:column; }
    .profile-search .btn { width:100%; }
    .profile-card__cover { height:145px; }
    .profile-card__identity { grid-template-columns:1fr;padding:0 18px 19px;text-align:center; }
    .profile-card__avatar { width:112px;height:112px;margin:-52px auto 0; }
    .profile-presence { justify-content:center; }
    .profile-card__identity h2 { font-size:26px; }
    .profile-stats { margin:0 16px 20px; }
    .profile-stats div { padding:12px 6px; }
    .profile-stats strong { font-size:16px; }
}

@media (prefers-reduced-motion: reduce) {
    .public-nav .site-nav__link img,
    .district-nav__link img,
    .district-info-card { transition: none; }
}

/* ===========================================================================
   Configuracoes: preferencias de privacidade e atividade da conta
   ---------------------------------------------------------------------------
   As preferencias sao as MESMAS colunas que o gameserver le (hide_online,
   allow_gifts, trading_locked...). Estavam no banco sem tela desde sempre: o
   jogador nao tinha como mexer em nada disso pelo site.
   =========================================================================== */

.pref-list { display: grid; gap: 8px; margin: 0; padding: 0; list-style: none; }
.pref-item > label { display: flex; align-items: flex-start; gap: 11px; padding: 11px 13px; border: 1px solid rgba(186,142,66,.4); border-radius: 11px; background: rgba(255,253,246,.7); cursor: pointer; transition: border-color .16s ease, background .16s ease; }
.pref-item > label:hover { border-color: rgba(170,122,46,.65); background: #fffdf6; }
.pref-item input { width: 17px; height: 17px; flex: 0 0 auto; margin-top: 1px; accent-color: #078f99; cursor: pointer; }
/* A preferencia ligada precisa se distinguir a distancia: sao sete linhas parecidas,
   e sem marca o jogador tem que ler caixa por caixa para saber o que esta ativo. */
.pref-item > label:has(input:checked) { border-color: rgba(7,143,153,.5); background: #f2fbfb; }
.pref-item__texto { display: grid; gap: 2px; }
.pref-item__texto strong { font-size: 12px; }
.pref-item__texto small { color: #72563c; font-size: 10px; line-height: 1.45; }

.conta-eventos { display: grid; gap: 0; margin: 0 0 12px; padding: 0; list-style: none; }
.conta-evento { display: flex; align-items: baseline; justify-content: space-between; gap: 10px; padding: 8px 0 8px 12px; border-left: 3px solid rgba(186,142,66,.45); }
.conta-evento + .conta-evento { border-top: 1px solid rgba(190,150,80,.2); }
.conta-evento strong { font-size: 11px; font-weight: 800; }
.conta-evento time { flex: 0 0 auto; color: #9d8c74; font-size: 9px; }
/* Tentativa com senha errada e o unico evento que a pessoa precisa notar de imediato. */
.conta-evento--password-failed { border-left-color: #c2543f; }
.conta-evento--password-changed, .conta-evento--email-changed { border-left-color: #078f99; }
.conta-vazio { margin: 0 0 12px; color: #72563c; font-size: 10px; }

/* ===========================================================================
   CONFIGURACOES — correcao de tema e proporcao
   ---------------------------------------------------------------------------
   Dois defeitos reais, nao questao de gosto:

   1. CAMPO PRETO. A regra de autopreenchimento (linha ~147) pinta o interior
      do campo com `box-shadow: 0 0 0 1000px #07141a inset` — ela existe para o
      tema escuro da landing. O bloco de tema claro sobrescreve moldura e cor
      do texto, mas NUNCA sobrescreveu o autofill. Como e-mail e senha sao
      justamente os campos que o navegador autopreenche, so eles ficavam
      pretos, no meio de uma pagina creme.

   2. CAIXA DENTRO DE CAIXA. `.settings-main` tinha padding de 29px porque era
      UM painel. Virou uma pilha de paineis, entao o padding do wrapper somava
      com a moldura de cada painel de dentro. Aqui ele volta a ser so um
      empilhador.
   =========================================================================== */

/* 1. Autopreenchimento no tema claro. */
body.site-page:not(.district-landing-page) .input-shell input:-webkit-autofill,
body.site-page:not(.district-landing-page) .input-shell input:-webkit-autofill:hover,
body.site-page:not(.district-landing-page) .input-shell input:-webkit-autofill:focus {
    -webkit-text-fill-color: #553316;
    box-shadow: 0 0 0 1000px #fffdf6 inset;
    caret-color: #553316;
}

/* 2. A coluna principal so empilha; quem tem moldura e padding e cada painel. */
body.site-page .settings-main { display: grid; gap: 16px; padding: 0; border: 0; background: none; box-shadow: none; }
body.site-page .settings-main > .ornate-panel { padding: 20px 22px; }

/* 3. Escala. O titulo a 25px com descricao logo abaixo empurrava cada secao
      para mais de 200px de altura so de cabecalho: sete secoes assim viram uma
      pagina de rolagem infinita. */
body.site-page .settings-heading { align-items: center; gap: 11px; margin-bottom: 15px; padding-bottom: 13px; }
body.site-page .settings-heading h2 { margin: 1px 0 2px; font-size: 17px; }
body.site-page .settings-heading small { font-size: 9px; letter-spacing: .1em; }
body.site-page .settings-heading p { font-size: 11px; line-height: 1.45; }
body.site-page .settings-heading .support-card-icon { width: 34px; height: 34px; flex: 0 0 34px; }
body.site-page .settings-heading .support-card-icon .site-icon { width: 17px; height: 17px; }

/* 4. Campos proporcionais. 50px de altura por campo, com rotulo em versalete e
      dica embaixo, fazia cada formulario ocupar meia tela. */
body.site-page .settings-form { gap: 12px; }
body.site-page .settings-form .input-shell { min-height: 40px; border-radius: 9px; }
body.site-page .settings-form .input-shell input,
body.site-page .settings-form .input-shell select { height: 38px; padding: 0 12px; font-size: 13px; }
body.site-page .settings-form .input-shell > .site-icon { width: 16px; height: 16px; margin-left: 11px; }
body.site-page .settings-form .form-field { gap: 4px; font-size: 11px; }
body.site-page .settings-form .form-field__hint { font-size: 9px; line-height: 1.4; }
body.site-page .settings-form .btn { justify-self: start; padding: 9px 18px; font-size: 12px; }

/* 5. Senha nova e confirmacao lado a lado: sao um par e se leem juntas. */
@media (min-width: 760px) {
    body.site-page .settings-form--par { grid-template-columns: 1fr 1fr; column-gap: 14px; }
    body.site-page .settings-form--par > .form-field--largo,
    body.site-page .settings-form--par > .btn,
    body.site-page .settings-form--par > .form-field__hint { grid-column: 1 / -1; }
}

/* 6. Preferencias: duas colunas quando cabe. Sete linhas empilhadas em coluna
      unica era o que fazia a secao parecer interminavel. */
@media (min-width: 700px) {
    body.site-page .pref-list { grid-template-columns: 1fr 1fr; }
}
body.site-page .pref-item > label { padding: 9px 11px; border-radius: 9px; }
body.site-page .pref-item__texto strong { font-size: 11px; }
body.site-page .pref-item__texto small { font-size: 9px; line-height: 1.4; }

/* Landing v2: arte pixelada real, cards responsivos e enquadramento sem cortes. */
.district-nav__link img {
    width: 40px;
    height: 40px;
    flex-basis: 40px;
    mix-blend-mode: normal;
    image-rendering: pixelated;
}
.district-small-divider > img {
    width: 26px;
    height: 26px;
    image-rendering: pixelated;
}
.district-login__crest {
    overflow: hidden;
    background: linear-gradient(145deg,#fff2bd,#e1a844);
}
.district-login__crest > img {
    width: 34px;
    height: 34px;
    object-fit: contain;
    image-rendering: pixelated;
}

.district-info-grid {
    grid-template-columns: repeat(3,minmax(0,1fr));
    gap: 12px;
}
.district-info-card {
    display: grid;
    min-width: 0;
    min-height: clamp(216px,13.2vw,232px);
    grid-template-columns: minmax(150px,42%) minmax(0,58%);
    align-items: center;
    overflow: hidden;
    border: 1px solid rgba(186,126,43,.38);
    border-radius: 17px;
    background:
        radial-gradient(circle at 17% 48%,rgba(255,225,147,.58),transparent 32%),
        linear-gradient(180deg,#fff8dc 0%,#fff2c8 100%);
    box-shadow: inset 0 0 0 2px rgba(255,255,255,.5),0 7px 16px rgba(115,71,17,.13);
    clip-path: none;
    filter: none;
}
.district-info-card:before {
    position: absolute;
    inset: 7px;
    border: 1px solid rgba(197,139,52,.15);
    border-radius: 12px;
    content: "";
    pointer-events: none;
}
.district-info-card__portrait {
    position: relative;
    z-index: 1;
    display: grid;
    width: clamp(164px,11.3vw,190px);
    height: clamp(164px,11.3vw,190px);
    margin-left: clamp(10px,1.1vw,18px);
    place-items: center;
    overflow: hidden;
    border: 2px solid rgba(211,159,71,.58);
    border-radius: 50%;
    background: radial-gradient(circle at 48% 38%,#fff9dc 0%,#f9dfa0 68%,#e6bd68 100%);
    box-shadow: inset 0 0 0 5px rgba(255,249,218,.54),0 3px 8px rgba(118,70,18,.12);
}
.district-info-card .district-info-card__portrait > img {
    position: static;
    display: block;
    width: 100%;
    height: 100%;
    max-width: none;
    max-height: none;
    object-fit: contain;
    image-rendering: pixelated;
}
.district-info-card__copy {
    position: relative;
    z-index: 1;
    min-width: 0;
    padding: 20px clamp(18px,1.5vw,25px) 20px clamp(13px,1.2vw,20px);
}
.district-info-card__copy h2 {
    display: flex;
    margin: 0 0 12px;
    align-items: center;
    gap: 8px;
    color: #5c3214;
    font-family: "Trebuchet MS","Segoe UI",Arial,sans-serif;
    font-size: clamp(20px,1.42vw,24px);
    font-weight: 900;
    letter-spacing: -.035em;
    line-height: 1.05;
}
.district-info-card .district-info-card__topic-icon {
    position: static;
    display: block;
    width: 32px;
    height: 32px;
    flex: 0 0 32px;
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
    object-fit: contain;
    image-rendering: pixelated;
}
.district-info-card__copy p {
    min-height: 64px;
    margin: 0 0 15px;
    color: #715032;
    font-family: "Segoe UI",Arial,sans-serif;
    font-size: clamp(13px,.9vw,15px);
    line-height: 1.45;
}
.district-info-card .district-info-card__action {
    position: static;
    display: inline-flex;
    min-width: 126px;
    height: 40px;
    padding: 0 18px;
    align-items: center;
    justify-content: center;
    border: 2px solid #32b8bb;
    border-radius: 7px;
    background: linear-gradient(180deg,#fffceb,#fff0bd);
    box-shadow: inset 0 0 0 1px rgba(255,255,255,.72),0 2px 0 rgba(150,96,27,.12);
    color: #07959e;
    font-family: "Trebuchet MS","Segoe UI",Arial,sans-serif;
    font-size: 15px;
    font-weight: 900;
    text-decoration: none;
}
.district-info-card .district-info-card__action:hover,
.district-info-card .district-info-card__action:focus-visible {
    border-color: #078f98;
    background: linear-gradient(180deg,#f4ffff,#dff8ee);
    box-shadow: 0 0 0 3px rgba(21,172,179,.15),0 2px 0 rgba(150,96,27,.12);
    outline: 0;
}

.district-bottom-ornament {
    width: 100%;
    margin-inline: 0;
    aspect-ratio: 1672 / 118;
    overflow: visible;
}
.district-bottom-ornament > img,
.site-footer__ornament > img {
    display: block;
    width: 100%;
    height: auto;
}

@media (max-width: 1160px) and (min-width: 901px) {
    .district-info-card { grid-template-columns: 40% 60%; }
    .district-info-card__portrait { width: 142px;height:142px;margin-left:8px; }
    .district-info-card__copy { padding-inline: 10px 14px; }
    .district-info-card__copy h2 { font-size: 18px; }
    .district-info-card__copy p { font-size: 12px; }
}

@media (max-width: 900px) {
    .district-info-card { min-height: 220px;grid-template-columns: minmax(160px,42%) 1fr; }
    .district-info-card__portrait { width: 180px;height:180px;justify-self:center;margin-left:10px; }
}

@media (max-width: 520px) {
    .district-info-card { min-height: 0;grid-template-columns: 1fr;padding: 16px; }
    .district-info-card__portrait { width: 170px;height:170px;margin: 0 auto; }
    .district-info-card__copy { padding: 12px 5px 4px;text-align:center; }
    .district-info-card__copy h2 { justify-content:center; }
    .district-info-card__copy p { min-height:0; }
}

/* Landing v4: ícones HD suavizados; personagens continuam no pixel grid nativo. */
.district-nav__link img,
.district-small-divider > img,
.district-login__crest > img,
.district-info-card .district-info-card__topic-icon {
    image-rendering: auto;
}
.district-info-card .district-info-card__portrait > img {
    image-rendering: pixelated;
}

/* Contrato responsivo final. Estas regras ficam depois das camadas visuais da
   landing para que nenhuma personalização desktop reative colunas fixas em
   tablets ou celulares. */
.district-login,
.district-login__form,
.district-login__form > *,
.district-login .district-input,
.district-login .input-shell {
    min-width: 0;
    max-width: 100%;
}
.district-login__form > label,
.district-login .district-input,
.district-login .input-shell { width: 100%; }
.district-login .captcha-img { width: min(220px,100%);height:auto; }

@media (max-width: 1100px) and (min-width: 901px) {
    .district-hero {
        grid-template-columns: minmax(0,1fr) minmax(0,1fr);
        height: auto;
        min-height: 0;
        padding: 24px clamp(28px,4vw,44px);
    }
    .district-intro { grid-column: 1; }
    .district-city { grid-column: 2;min-height:390px;margin:0;overflow:hidden; }
    .district-city img { left:0;width:100%;max-width:100%; }
    .district-login {
        grid-column: 1 / -1;
        width: min(560px,100%);
        margin: -22px auto 24px;
        justify-self: center;
        top: 0;
        right: 0;
    }
}

@media (max-width: 900px) {
    .district-landing-main { width:100%;overflow:hidden; }
    .district-hero { min-width:0; }
    .district-city { margin:0;overflow:hidden; }
    .district-city img { left:0;width:100%;max-width:100%; }
    .district-info-grid {
        width: min(620px,100%);
        grid-template-columns: minmax(0,1fr);
        padding-inline: clamp(12px,3vw,20px);
    }
    .district-info-card,
    .district-info-card__portrait,
    .district-info-card__copy { max-width:100%;min-width:0; }
}

@media (max-width: 520px) {
    html { min-width:0; }
    body { min-width:0; }
    .district-header { width:calc(100% - 8px); }
    .district-header__inner { width:calc(100% - 16px);padding:0; }
    .district-online { width:min(230px,calc(100% - 54px));min-width:0; }
    .district-online__dynamic { inset:0 7px;white-space:normal;text-align:center;line-height:1.1; }
    .district-hero { padding-inline:12px; }
    .district-intro { width:100%;min-width:0; }
    .district-intro__logo { width:min(100%,390px); }
    .district-intro p br { display:none; }
    .district-city { max-width:100%;overflow:hidden; }
    .district-login { width:100%;max-width:100%;padding-inline:18px; }
    .district-info-card { width:100%;padding-inline:12px; }
}
