:root {
	--navy: #12263f;
	--navy-deep: #091a2c;
	--teal: #0f8b8d;
	--aqua: #63d5c9;
	--coral: #f27a61;
	--paper: #f3f5f2;
	--muted: #687580;
	--line: #dbe2e1;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; color: var(--navy); background: var(--paper); font-family: 'DM Sans', sans-serif; }
h1, h2, h3, h4, .brand-lockup { font-family: 'Space Grotesk', sans-serif; }
.top-strip { background: var(--navy-deep); color: #adc0ca; font-size: .72rem; letter-spacing: .04em; padding: .58rem 0; }
.site-navbar { background: rgba(255,255,255,.96); border-bottom: 1px solid rgba(18,38,63,.08); backdrop-filter: blur(14px); }
.brand-lockup { color: var(--navy); display: inline-flex; gap: .7rem; align-items: center; line-height: 1; text-decoration: none; }
.brand-lockup strong, .brand-lockup small { display: block; }
.brand-lockup strong { font-size: .94rem; letter-spacing: .05em; }
.brand-lockup small { color: var(--muted); font-family: 'DM Sans', sans-serif; font-size: .52rem; letter-spacing: .18em; margin-top: .3rem; }
.brand-mark { align-items: center; background: var(--teal); color: white; display: inline-flex; font-family: 'Space Grotesk', sans-serif; font-size: .85rem; height: 39px; justify-content: center; letter-spacing: -.08em; width: 39px; }
.brand-logo { height: 54px; max-width: 190px; object-fit: contain; }
.brand-copy strong { display: block; font-size: .92rem; letter-spacing: .04em; white-space: nowrap; }
.brand-copy small { color: var(--muted); display: block; font-family: 'DM Sans', sans-serif; font-size: .56rem; font-weight: 700; letter-spacing: .2em; margin-top: .35rem; }
.footer-logo { height: 78px; max-width: 250px; }
.nav-link { color: #4d5b67; font-size: .88rem; font-weight: 600; padding: 1.2rem .85rem !important; }
.nav-link:hover, .nav-link.active { color: var(--teal); }
.btn-nav { background: var(--navy); color: white; font-size: .82rem; padding: .65rem 1rem; }
.btn-nav:hover { background: var(--teal); color: white; }
.hero-home { background: var(--navy); color: white; overflow: hidden; padding: 7.5rem 0 8rem; position: relative; }
.hero-home:before { background: radial-gradient(circle, rgba(99,213,201,.18) 0, rgba(99,213,201,0) 68%); content: ''; height: 650px; position: absolute; right: -150px; top: -250px; width: 650px; }
.hero-home:after { border: 1px solid rgba(99,213,201,.14); border-radius: 50%; content: ''; height: 470px; position: absolute; right: -90px; top: -160px; width: 470px; }
.eyebrow { color: var(--aqua); display: inline-block; font-size: .68rem; font-weight: 700; letter-spacing: .16em; margin-bottom: 1.2rem; }
.eyebrow-dark { color: var(--teal); }
.hero-home h1 { font-size: clamp(3rem, 6vw, 5.8rem); letter-spacing: -.065em; line-height: .98; max-width: 780px; }
.hero-home h1 em { color: var(--aqua); font-style: normal; }
.hero-lead { color: #afc0c8; font-size: 1.12rem; line-height: 1.7; margin: 2rem 0; max-width: 520px; }
.hero-actions { align-items: center; display: flex; flex-wrap: wrap; gap: 1.5rem; }
.hero-panel { background: rgba(255,255,255,.06); border: 1px solid rgba(255,255,255,.16); margin-left: auto; max-width: 390px; padding: 1.4rem; position: relative; }
.hero-panel-top, .hero-panel-bottom { align-items: center; color: #b2c3ca; display: flex; font-size: .63rem; font-weight: 700; justify-content: space-between; letter-spacing: .12em; }
.hero-panel-top strong { color: var(--aqua); }
.live-dot { background: var(--aqua); border-radius: 50%; box-shadow: 0 0 0 5px rgba(99,213,201,.15); height: 7px; margin-right: auto; width: 7px; }
.hero-orbit { align-items: center; display: flex; height: 310px; justify-content: center; position: relative; }
.orbit-ring { border: 1px solid rgba(99,213,201,.25); border-radius: 50%; height: 235px; position: absolute; transform: rotate(32deg) skew(-8deg); width: 235px; }
.orbit-ring:after { border: 1px solid rgba(242,122,97,.38); border-radius: 50%; content: ''; height: 280px; left: -24px; position: absolute; top: -24px; width: 280px; }
.orbit-core { align-items: center; background: var(--teal); border-radius: 50%; box-shadow: 0 0 50px rgba(15,139,141,.4); display: flex; flex-direction: column; height: 120px; justify-content: center; width: 120px; z-index: 1; }
.orbit-core i { font-size: 2.4rem; margin-bottom: .35rem; }
.orbit-core span { font-size: .64rem; font-weight: 700; letter-spacing: .15em; }
.orbit-label { color: var(--aqua); font-size: .58rem; font-weight: 700; letter-spacing: .1em; position: absolute; }
.label-one { left: 2%; top: 22%; }.label-two { right: 0; top: 52%; }.label-three { bottom: 16%; left: 14%; }
.hero-panel-bottom { border-top: 1px solid rgba(255,255,255,.13); padding-top: 1rem; }.hero-panel-bottom strong { color: white; letter-spacing: .02em; }
.signal-section { background: var(--teal); color: white; padding: 2.2rem 0; }
.signal-grid { align-items: center; display: grid; gap: 2rem; grid-template-columns: 2fr repeat(3, 1fr); }
.signal-label { color: rgba(255,255,255,.7); font-size: .63rem; font-weight: 700; letter-spacing: .15em; }.signal-grid h2 { font-size: 1.4rem; margin: .5rem 0 0; }.signal-grid h2 span { color: var(--aqua); }
.signal-stat { align-items: center; border-left: 1px solid rgba(255,255,255,.25); display: flex; gap: .8rem; padding-left: 1.5rem; }.signal-stat strong { font-family: 'Space Grotesk'; font-size: 2.5rem; letter-spacing: -.08em; }.signal-stat span { color: rgba(255,255,255,.75); font-size: .72rem; line-height: 1.3; }
.section-space { padding: 7.2rem 0; }.section-title { font-size: clamp(2rem, 4vw, 3.8rem); letter-spacing: -.06em; line-height: 1.03; }.section-lead { color: var(--muted); font-size: 1.14rem; line-height: 1.8; }.feature-list { border-top: 1px solid var(--line); margin-top: 2rem; }.feature-list div { align-items: center; border-bottom: 1px solid var(--line); display: flex; gap: 1rem; padding: 1rem 0; }.feature-list i { color: var(--teal); font-size: 1.35rem; }.feature-list span { color: var(--muted); font-size: .9rem; }.feature-list strong { color: var(--navy); }
.news-section { background: white; }.section-heading { align-items: end; display: flex; justify-content: space-between; margin-bottom: 2.6rem; }.arrow-link, .read-link { color: var(--teal); font-size: .8rem; font-weight: 700; text-decoration: none; }.arrow-link i, .read-link i { margin-left: .5rem; }
.editorial-card { background: var(--paper); border: 1px solid var(--line); transition: box-shadow .25s ease, transform .25s ease; }.editorial-card:hover { box-shadow: 0 16px 35px rgba(18,38,63,.12); transform: translateY(-5px); }.news-image { display: block; height: 205px; object-fit: cover; width: 100%; }.image-placeholder { align-items: center; background: linear-gradient(135deg, var(--navy), var(--teal)); color: var(--aqua); display: flex; flex-direction: column; font-family: 'Space Grotesk'; justify-content: center; }.image-placeholder i { font-size: 2.5rem; margin-bottom: .7rem; }.image-placeholder span { font-size: .65rem; letter-spacing: .2em; }.card-meta { color: var(--muted); display: flex; font-size: .66rem; font-weight: 700; justify-content: space-between; letter-spacing: .08em; text-transform: uppercase; }.editorial-card h3 { font-size: 1.25rem; line-height: 1.2; margin: 1rem 0 .8rem; }.editorial-card p { color: var(--muted); font-size: .88rem; line-height: 1.7; min-height: 48px; }
.document-section { background: var(--navy); color: white; overflow: hidden; position: relative; }.document-section:after { border: 1px solid rgba(99,213,201,.15); border-radius: 50%; content: ''; height: 600px; position: absolute; right: -200px; top: -200px; width: 600px; }.document-section .container { position: relative; z-index: 1; }.document-list { border-top: 1px solid rgba(255,255,255,.2); }.document-row { align-items: center; border-bottom: 1px solid rgba(255,255,255,.2); color: white; display: flex; gap: 1rem; padding: 1.25rem 0; text-decoration: none; }.pdf-icon { align-items: center; background: rgba(242,122,97,.17); color: var(--coral); display: flex; height: 42px; justify-content: center; width: 42px; }.document-copy { display: flex; flex: 1; flex-direction: column; gap: .3rem; }.document-copy small { color: var(--aqua); font-size: .63rem; font-weight: 700; letter-spacing: .08em; }.document-copy strong { font-size: .88rem; }.document-arrow { color: var(--aqua); }
.site-footer { background: var(--navy-deep); color: white; padding: 5rem 0 1.5rem; }.footer-brand { color: white; }.footer-brand small { color: #8197a4; }.footer-copy { color: #91a2ad; font-size: .86rem; line-height: 1.7; max-width: 360px; }.footer-title { color: var(--aqua); font-family: 'DM Sans'; font-size: .7rem; letter-spacing: .14em; margin-bottom: 1.3rem; text-transform: uppercase; }.site-footer .col-lg-3 a { color: #b8c5cb; display: block; font-size: .86rem; margin-bottom: .8rem; text-decoration: none; }.social-links { display: flex; gap: .6rem; }.social-links a { align-items: center; border: 1px solid rgba(255,255,255,.2); color: white; display: flex; height: 34px; justify-content: center; text-decoration: none; width: 34px; }.footer-bottom { border-top: 1px solid rgba(255,255,255,.12); color: #718691; display: flex; font-size: .72rem; justify-content: space-between; margin-top: 4rem; padding-top: 1.3rem; }
.article-page { max-width: 860px; }.article-image { max-height: 480px; object-fit: cover; width: 100%; }.article-content { color: #40515b; font-size: 1.08rem; line-height: 1.9; white-space: normal; }.article-content img { height: auto; max-width: 100%; }.article-content figure { margin: 1.6rem 0; }.article-content figcaption { color: var(--muted); font-size: .85rem; text-align: center; }.decree-page { min-height: 65vh; }.decree-table { background: white; }.empty-state { border: 1px dashed var(--line); color: var(--muted); padding: 2rem; text-align: center; }
.article-share { align-items: center; border-bottom: 1px solid var(--line); border-top: 1px solid var(--line); display: flex; flex-wrap: wrap; gap: .55rem; margin: 2rem 0 2.5rem; padding: 1rem 0; }.article-share-label { color: var(--muted); font-size: .78rem; font-weight: 700; margin-right: .35rem; }.share-button { align-items: center; border: 0; color: white; display: inline-flex; font-size: .82rem; gap: .4rem; padding: .55rem .8rem; text-decoration: none; transition: opacity .2s ease; }.share-button:hover { color: white; opacity: .85; }.share-whatsapp { background: #25d366; }.share-facebook { background: #1877f2; }.share-native { background: var(--navy); }
[data-reveal] { opacity: 0; transform: translateY(18px); transition: opacity .7s ease, transform .7s ease; }.is-visible { opacity: 1; transform: translateY(0); }
@media (max-width: 991px) { .nav-link { padding: .7rem 0 !important; }.signal-grid { grid-template-columns: 1fr 1fr; }.signal-grid > div:first-child { grid-column: span 2; }.hero-home { padding: 5rem 0; }.hero-panel { margin: 1rem 0 0; } }
@media (max-width: 575px) { .hero-home h1 { font-size: 3.3rem; }.section-space { padding: 4.8rem 0; }.signal-grid { gap: 1.2rem; }.signal-stat { padding-left: .8rem; }.signal-stat strong { font-size: 1.9rem; }.section-heading { align-items: start; flex-direction: column; gap: 1.3rem; }.footer-bottom { flex-direction: column; gap: .5rem; } }
@media (max-width: 575px) { .brand-logo { height: 44px; max-width: 120px; }.brand-copy strong { font-size: .73rem; }.brand-copy small { font-size: .46rem; letter-spacing: .14em; } }
.news-card { background: white; border: 1px solid #e5ebf1; border-radius: .5rem; overflow: hidden; box-shadow: 0 .25rem 1rem rgba(24,43,73,.06); }
.news-image { display: block; width: 100%; height: 190px; object-fit: cover; }
.article-page { max-width: 860px; }
.article-image { max-height: 480px; width: 100%; object-fit: cover; }
.article-content { font-size: 1.08rem; line-height: 1.8; white-space: normal; }
