:root {
    --navy:#243f67;
    --dark:#172c49;
    --yellow:#ffd24a;
    --cream:#faf8f2;
    --ink:#203349;
    --muted:#647184;
    --line:#e5e9e9;
    --green:#dcebd9}
* {
    box-sizing:border-box}
html {
    scroll-behavior:smooth}
body {
    margin:0;
    background:#fff;
    color:var(--ink);
    font:16px/1.65 'DM Sans',sans-serif}
body:has(dialog[open]) {
    overflow:hidden}
img {
    display:block;
    max-width:100%}
button,a {
    -webkit-tap-highlight-color:transparent}
button {
    cursor:pointer}
a {
    text-decoration:none;
    color:inherit}
button:focus-visible,a:focus-visible {
    outline:3px solid #d7a600;
    outline-offset:3px}
.container {
    width:min(1200px,calc(100% - 64px));
    margin:0 auto}
.skip-link {
    position:absolute;
    top:-100px;
    left:12px;
    padding:10px;
    background:#fff;
    z-index:100}
.skip-link:focus {
    top:12px}
.header {
    height:88px;
    position:relative;
    z-index:10;
    background:white}
.nav {
    height:100%;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:24px}
.brand {
    display:flex;
    align-items:center;
    gap:11px;
    flex-shrink:0}
.brand-symbol {
    width:65px;
    height:65px;
    display:flex;
    align-items:center;
    justify-content:center;
    border-radius:50%;
    background:transparent;
    flex-shrink:0}
.brand-symbol img {
    width:100%;
    height:100%;
    object-fit:contain;
    display:block}
.brand-name {
    display:flex;
    flex-direction:column;
    font-family:Nunito,sans-serif;
    font-weight:900;
    font-size:12px;
    line-height:1.16;
    letter-spacing:1.2px}
.brand-name strong {
    font-size:19px;
    letter-spacing:.1px}
.brand-name small {
    font-family:'DM Sans';
    font-weight:700;
    font-size:8px;
    color:#8795a3;
    letter-spacing:2px;
    margin-top:4px}
.main-menu {
    display:flex;
    align-items:center;
    gap:28px;
    font-size:13px;
    font-weight:700}
.main-menu>a:hover {
    color:#b27a12}
.main-menu .nav-cta {
    background:var(--navy);
    color:#fff;
    padding:13px 18px;
    border-radius:6px}
.nav-cta span {
    margin-left:10px}
.nav-toggle {
    display:none;
    border:0;
    background:#edf1f4;
    padding:7px 13px;
    border-radius:6px;
    font-size:23px}
.hero {
    position:relative;
    min-height:640px;
    background:var(--navy);
    color:#fff;
    overflow:hidden}
.hero-photo {
    position:absolute;
    inset:0;
    background-image:url('/assets/images/grupo-conquista-2.webp');
    background-size:cover;
    background-position:center 46%;
    filter:saturate(.95)}
.hero-shade {
    position:absolute;
    inset:0;
    background:linear-gradient(90deg,rgba(16,37,62,.91),rgba(16,37,62,.70) 38%,rgba(20,39,60,.11) 85%),linear-gradient(0deg,rgba(14,32,51,.36),transparent 35%)}
.hero-inner {
    min-height:596px;
    position:relative;
    display:flex;
    align-items:center;
    justify-content:space-between}
.hero-content {
    max-width:720px;
    padding:56px 0}
.eyebrow {
    display:block;
    font-size:11px;
    font-weight:900;
    letter-spacing:2.6px;
    color:#a37c27;
    margin-bottom:20px}
.eyebrow.light {
    color:#ffe18e}
.eyebrow-line {
    display:inline-block;
    vertical-align:middle;
    width:20px;
    height:2px;
    background:var(--yellow);
    margin-right:8px}
.hero h1,h2,h3 {
    font-family:Nunito,sans-serif}
.hero h1 {
    font-size:clamp(42px,5.4vw,76px);
    letter-spacing:-2.5px;
    line-height:1.09;
    margin:0 0 23px;
    font-weight:900}
.hero h1 em,.cta-section h2 em {
    font-style:normal;
    color:var(--yellow)}
.hero-content p {
    max-width:480px;
    font-size:16px;
    line-height:1.85;
    color:#e3e9f0}
.hero-actions {
    display:flex;
    flex-wrap:wrap;
    gap:12px;
    margin-top:29px}
.btn {
    display:inline-flex;
    align-items:center;
    justify-content:space-between;
    gap:30px;
    border-radius:5px;
    padding:15px 22px;
    font-weight:800;
    font-size:13px;
    transition:transform .2s,background .2s}
.btn:hover {
    transform:translateY(-2px)}
.btn-yellow {
    background:var(--yellow);
    color:var(--dark)}
.btn-outline {
    border:1px solid #bac3d0;
    color:white}
.hero-sticker {
    width:148px;
    height:148px;
    border:2px dashed rgba(255,255,255,.8);
    border-radius:100%;
    transform:rotate(12deg);
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    gap:0;
    font-size:11px;
    font-weight:900;
    letter-spacing:1.3px;
    background:rgba(15,39,69,.38)}
.hero-sticker strong {
    font-size:55px;
    line-height:1.2;
    color:var(--yellow)}
.hero-foot {
    position:relative;
    display:flex;
    justify-content:space-between;
    font-size:10px;
    letter-spacing:2px;
    font-weight:800;
    color:#d9e2ec;
    padding-bottom:20px}
.section {
    padding:110px 0}
.intro-layout {
    display:grid;
    grid-template-columns:1fr 1fr;
    align-items:center;
    gap:9%}
.intro h2,.section-heading h2 {
    font-size:clamp(36px,4.2vw,56px);
    line-height:1.13;
    letter-spacing:-1.65px;
    font-weight:900;
    margin:0 0 28px}
.intro h2 span,.section-heading h2 span {
    color:#ac832e}
.intro-copy p {
    color:var(--muted);
    max-width:510px}
.intro-copy .lead {
    font-size:19px;
    font-weight:700;
    color:#405164;
    line-height:1.7}
.text-link {
    display:inline-block;
    border-bottom:2px solid var(--yellow);
    font-weight:800;
    margin-top:23px;
    padding-bottom:7px;
    font-size:14px}
.text-link span {
    margin-left:30px}
.intro-image-wrap {
    position:relative}
.intro-image-wrap>img {
    border-radius:10px;
    height:490px;
    width:100%;
    object-fit:cover}
.intro-note {
    position:absolute;
    right:-20px;
    bottom:-32px;
    padding:22px 25px;
    border-radius:7px;
    background:var(--yellow);
    display:flex;
    gap:28px;
    align-items:center;
    box-shadow:0 12px 25px #1a335019}
.intro-note strong {
    font-family:Nunito,sans-serif;
    font-size:22px;
    line-height:1.25}
.intro-note span {
    font-size:39px}
.pillars {
    background:var(--cream)}
.section-heading {
    display:flex;
    justify-content:space-between;
    align-items:end;
    gap:35px;
    margin-bottom:48px}
.section-heading h2 {
    margin-bottom:0}
.section-heading>p {
    max-width:320px;
    color:var(--muted);
    margin:0 0 6px;
    font-size:15px}
.pillar-grid {
    display:grid;
    grid-template-columns:repeat(5,minmax(0,1fr));
    gap:13px}
.pillar {
    background:white;
    padding:27px 23px;
    min-height:263px;
    border:1px solid #f0eee7;
    border-radius:7px;
    transition:transform .2s}
.pillar:hover {
    transform:translateY(-5px)}
.pillar-icon {
    display:grid;
    place-items:center;
    width:48px;
    height:48px;
    border-radius:14px;
    background:#e8eff6;
    color:var(--navy);
    font-size:29px;
    font-weight:700}
.pillar:nth-child(2) .pillar-icon {
    background:#fff0c3}
.pillar:nth-child(3) .pillar-icon {
    background:#ffe4e2}
.pillar:nth-child(4) .pillar-icon {
    background:#e4e0f7}
.pillar:nth-child(5) .pillar-icon {
    background:#e4efda}
.pillar-num {
    display:block;
    margin-top:22px;
    color:#a5afb8;
    font-size:11px;
    font-weight:700}
.pillar h3 {
    font-size:20px;
    margin:2px 0 7px}
.pillar p {
    font-size:13px;
    line-height:1.75;
    color:var(--muted);
    margin:0}
.story-strip {
    height:380px;
    position:relative;
    overflow:hidden}
.story-strip img {
    height:100%;
    width:100%;
    object-fit:cover;
    object-position:center 53%}
.strip-overlay {
    position:absolute;
    inset:0;
    background:linear-gradient(90deg,#0f2b48c9,transparent);
    display:flex;
    flex-direction:column;
    justify-content:center;
    padding-left:max(5%,calc((100vw - 1200px)/2));
    color:#fff}
.strip-overlay span {
    letter-spacing:2.5px;
    font-weight:800;
    font-size:12px;
    margin-bottom:17px}
.strip-overlay strong {
    font-family:Nunito,sans-serif;
    font-size:clamp(32px,4vw,53px);
    line-height:1.2}
.carreta-grid {
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:16px}
.carreta {
    border:1px solid var(--line);
    border-radius:9px;
    padding:24px;
    display:flex;
    flex-direction:column;
    gap:5px;
    min-height:162px}
.carreta:nth-child(4n+2) {
    background:#fbfaf5}
.carreta-icon {
    font-size:31px;
    margin-bottom:3px}
.carreta b {
    font-family:Nunito,sans-serif;
    font-size:19px}
.carreta small {
    font-size:12px;
    color:var(--muted)}
.gallery {
    background:var(--cream);
    overflow:hidden}
.gallery-controls {
    display:flex;
    gap:9px}
.circle-btn {
    border:1px solid #c6cbd0;
    background:#fff;
    border-radius:50%;
    width:47px;
    height:47px;
    font-size:22px}
.circle-btn:hover {
    background:var(--yellow)}
.gallery-track {
    display:flex;
    gap:18px;
    overflow-x:auto;
    scroll-snap-type:x mandatory;
    scroll-behavior:smooth;
    scrollbar-width:none}
.gallery-track::-webkit-scrollbar {
    display:none}
.gallery-item {
    scroll-snap-align:start;
    flex:0 0 min(38%,430px);
    height:350px;
    position:relative;
    border-radius:9px;
    overflow:hidden;
    background:#ccd7d4;
    border:0;
    padding:0;
    text-align:left}
.gallery-item img {
    height:100%;
    width:100%;
    object-fit:cover;
    transition:transform .3s}
.gallery-item:hover img {
    transform:scale(1.06)}
.gallery-item .caption {
    position:absolute;
    bottom:0;
    inset-inline:0;
    padding:30px 19px 17px;
    color:#fff;
    background:linear-gradient(transparent,#15253baf);
    font-size:14px;
    font-weight:700}
.gallery-bottom {
    display:flex;
    justify-content:space-between;
    font-size:11px;
    letter-spacing:1.5px;
    font-weight:800;
    color:#81909b;
    margin-top:24px}
.update-columns {
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:45px}
.column-heading {
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:10px;
    border-bottom:1px solid var(--line);
    padding-bottom:16px;
    margin-bottom:19px}
.column-heading h3 {
    margin:0;
    font-size:22px}
.column-heading span {
    font-size:10px;
    letter-spacing:1px;
    color:#9ca8b3;
    font-weight:800}
.update-list {
    display:flex;
    flex-direction:column;
    gap:14px}
.update-card {
    display:flex;
    gap:15px;
    align-items:center;
    border:1px solid var(--line);
    border-radius:8px;
    padding:16px;
    min-height:132px}
.update-card>img {
    width:124px;
    height:100px;
    object-fit:cover;
    border-radius:6px;
    flex-shrink:0}
.update-card .date {
    font-size:10px;
    font-weight:800;
    letter-spacing:1px;
    color:#ac832e;
    text-transform:uppercase}
.update-card h4 {
    font:900 18px/1.3 Nunito,sans-serif;
    margin:7px 0}
.update-card p {
    font-size:12px;
    line-height:1.6;
    color:var(--muted);
    margin:0}
.update-card.no-image {
    background:#fafaf8}
.event-day {
    background:#e8eef3;
    min-width:75px;
    height:80px;
    border-radius:7px;
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center}
.event-day strong {
    font:900 30px/1 Nunito,sans-serif}
.event-day span {
    font-size:11px;
    letter-spacing:1px;
    font-weight:800}
.empty,.loading {
    font-size:14px;
    color:var(--muted)}
.cta-section {
    background:var(--navy);
    color:#fff;
    padding:70px 0}
.cta-layout {
    display:grid;
    grid-template-columns:1.15fr .85fr;
    gap:80px;
    align-items:center}
.cta-section h2 {
    font-size:clamp(34px,4.5vw,56px);
    line-height:1.17;
    letter-spacing:-1.2px;
    margin:0 0 20px}
.cta-section p {
    max-width:460px;
    color:#d4dfeb;
    margin-bottom:28px}
.cta-photo img {
    width:100%;
    height:340px;
    object-fit:cover;
    object-position:center 35%;
    border-radius:9px}
.footer {
    background:#142a45;
    color:#d3dfe9}
.footer-top {
    display:grid;
    grid-template-columns:2fr 1fr 1.4fr;
    gap:35px;
    padding:64px 0}
.brand-footer .brand-name {
    color:white}
.footer-top>div {
    display:flex;
    flex-direction:column;
    gap:9px;
    font-size:13px}
.footer-top b {
    color:var(--yellow);
    margin-bottom:8px}
.footer-top>div span {
    color:#b7c4d1}
.footer-bottom {
    border-top:1px solid #3f536e;
    display:flex;
    justify-content:space-between;
    padding:22px 0 30px;
    font-size:11px;
    color:#a8b5c2}
.lightbox {
    border:0;
    background:#101a2a;
    color:#fff;
    padding:44px 15px 18px;
    max-width:95vw;
    max-height:95vh;
    border-radius:8px}
.lightbox::backdrop {
    background:#000d}
.lightbox img {
    max-height:75vh;
    max-width:86vw;
    object-fit:contain}
.lightbox p {
    text-align:center;
    font-size:13px}
.lightbox button {
    position:absolute;
    top:6px;
    right:9px;
    background:transparent;
    border:0;
    color:white;
    font-size:22px}
@media(max-width:1050px) {
    .main-menu {
    gap:15px}
.pillar-grid {
    grid-template-columns:repeat(3,1fr)}
.hero-sticker {
    display:none}
.gallery-item {
    flex-basis:46%}
}
@media(max-width:760px) {
    .container {
    width:min(100% - 34px,1200px)}
.header {
    height:73px}
.brand-name strong {
    font-size:15px}
.brand-name {
    font-size:10px}
.brand-symbol {
    width:50px;
    height:50px}
.nav-toggle {
    display:block}
.main-menu {
    display:none;
    position:absolute;
    top:73px;
    left:0;
    right:0;
    background:#fff;
    box-shadow:0 10px 20px #172c4922;
    padding:20px;
    flex-direction:column;
    align-items:stretch;
    gap:3px}
.main-menu.is-open {
    display:flex}
.main-menu a {
    padding:10px}
.main-menu .nav-cta {
    margin-top:5px}
.hero,.hero-inner {
    min-height:620px}
.hero-content {
    padding:50px 0}
.hero h1 {
    letter-spacing:-1.5px}
.hero-foot {
    font-size:9px}
.section {
    padding:72px 0}
.intro-layout,.cta-layout,.update-columns {
    grid-template-columns:1fr;
    gap:40px}
.intro-image-wrap>img {
    height:360px}
.intro-note {
    right:8px}
.section-heading {
    align-items:start;
    flex-direction:column;
    gap:17px;
    margin-bottom:30px}
.section-heading>p {
    max-width:480px}
.pillar-grid {
    grid-template-columns:repeat(2,1fr)}
.carreta-grid {
    grid-template-columns:repeat(2,1fr)}
.story-strip {
    height:300px}
.gallery-item {
    flex-basis:78%;
    height:300px}
.footer-top {
    grid-template-columns:1fr 1fr}
.footer-top .brand {
    grid-column:1/-1}
.footer-bottom {
    gap:8px;
    flex-direction:column}
.cta-photo img {
    height:300px}
}
@media(max-width:420px) {
    .hero-actions {
    flex-direction:column;
    align-items:flex-start}
.hero h1 {
    font-size:41px}
.pillar-grid {
    grid-template-columns:1fr}
.pillar {
    min-height:0}
.carreta-grid {
    gap:8px}
.carreta {
    padding:15px}
.gallery-item {
    flex-basis:90%}
.update-card>img {
    width:90px;
    height:90px}
.update-card h4 {
    font-size:16px}
}
