@font-face {
    font-family: 'Michroma';
    src: url('../fonts/Michroma-Regular.ttf') format('truetype');
    font-weight: 400;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Manrope';
    src: url('../fonts/Manrope-Regular.ttf') format('truetype');
    font-weight: 400;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Manrope';
    src: url('../fonts/Manrope-SemiBold.ttf') format('truetype');
    font-weight: 600;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Manrope';
    src: url('../fonts/Manrope-ExtraBold.ttf') format('truetype');
    font-weight: 800;
    font-style: normal;
    font-display: swap;
}

:root {
    --ll-navy: #102331;
    --ll-navy-soft: #17384f;
    --ll-gold: #f97b3a;
    --ll-gold-strong: #ff955f;
    --ll-blue: #3aa0f9;
    --ll-neutral: #727272;
    --ll-surface: #f6f8fb;
    --ll-surface-strong: #ecf2f8;
    --ll-card: #ffffff;
    --ll-text: #5e6975;
    --ll-text-strong: #243847;
    --ll-heading: #102331;
    --ll-border: rgba(16, 35, 49, 0.1);
    --ll-shadow: 0 24px 60px rgba(16, 35, 49, 0.12);
    --ll-radius-xl: 36px;
    --ll-radius-lg: 28px;
    --ll-radius-md: 20px;
    --ll-transition: 220ms ease;
}

html {
    scroll-behavior: smooth;
}

body.site-page {
    overflow-x: hidden;
    background: var(--ll-surface);
    color: var(--ll-text);
    font-family: 'Manrope', 'Segoe UI', sans-serif;
    font-size: 16px;
    line-height: 1.7;
}

body.site-page p,
body.site-page li,
body.site-page label,
body.site-page input,
body.site-page textarea,
body.site-page select,
body.site-page button {
    font-family: 'Manrope', 'Segoe UI', sans-serif;
}

body.site-page h1,
body.site-page h2,
body.site-page h3,
body.site-page h4,
body.site-page h5,
body.site-page h6 {
    margin: 0;
    color: var(--ll-heading);
    font-family: 'Michroma', 'Montserrat', sans-serif;
    font-weight: 400;
    letter-spacing: -0.04em;
    text-transform: none;
}

body.site-page a {
    color: inherit;
}

body.site-page img {
    display: block;
    max-width: 100%;
}

body.site-page main {
    position: relative;
    z-index: 1;
}

body.site-page section[id] {
    scroll-margin-top: 140px;
}

.ll-shell {
    width: min(1760px, calc(100% - 64px));
    margin: 0 auto;
}

.section-heading {
    display: grid;
    gap: 14px;
    margin-bottom: 48px;
    text-align: center;
}

.section-heading__body {
    max-width: 920px;
    margin: 0 auto;
    color: var(--ll-text);
    font-size: 1rem;
}

.section-kicker {
    display: inline-flex;
    justify-content: center;
    color: var(--ll-gold-strong);
    font-size: 0.82rem;
    font-weight: 700;
    letter-spacing: 0.18em;
    text-transform: uppercase;
}

.section-kicker--left {
    justify-content: flex-start;
}

.section-title {
    color: var(--ll-heading);
    font-size: clamp(2rem, 2.7vw, 3.5rem);
    line-height: 1.12;
}

.section-title--left {
    text-align: left;
}

.section-empty {
    margin: 0;
    text-align: center;
    color: var(--ll-text-strong);
}

.ll-section {
    position: relative;
    padding: 104px 0;
}

.ll-section--light {
    background: var(--ll-surface);
}

.ll-section--surface {
    background:
        radial-gradient(circle at 50% 0%, rgba(58, 160, 249, 0.08), transparent 38%),
        linear-gradient(180deg, rgba(255, 255, 255, 0.84), rgba(255, 255, 255, 0.96)),
        var(--ll-surface);
}

.site-header {
    position: fixed;
    inset: 18px 0 auto;
    z-index: 1000;
    pointer-events: none;
}

.site-header .ll-shell {
    pointer-events: none;
}

.site-header__surface {
    display: grid;
    grid-template-columns: auto 1fr auto;
    align-items: center;
    gap: 24px;
    padding: 16px 18px 16px 20px;
    border: 1px solid rgba(255, 255, 255, 0.08);
    border-radius: 32px;
    background: rgba(249, 123, 58, 0.96);
    box-shadow: 0 14px 36px rgba(160, 66, 16, 0.24);
    backdrop-filter: blur(14px);
    pointer-events: auto;
    transition: background var(--ll-transition), box-shadow var(--ll-transition), transform var(--ll-transition);
}

#header-sticky.sticky-menu {
    background: rgba(241, 110, 43, 0.98);
    box-shadow: 0 24px 60px rgba(160, 66, 16, 0.3);
}

.site-logo {
    display: inline-flex;
    align-items: center;
    max-width: 236px;
}

.site-nav nav {
    width: 100%;
}

.site-nav ul {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 30px;
    margin: 0;
    padding: 0;
}

.site-nav li {
    list-style: none;
}

.site-nav a {
    position: relative;
    display: inline-flex;
    align-items: center;
    color: rgba(255, 255, 255, 0.82);
    font-size: 0.92rem;
    font-weight: 600;
    line-height: 1;
    text-decoration: none;
    transition: color var(--ll-transition);
}

.site-nav a::after {
    content: '';
    position: absolute;
    left: 0;
    right: 0;
    bottom: -10px;
    height: 2px;
    border-radius: 999px;
    background: linear-gradient(90deg, rgba(222, 192, 127, 0), rgba(222, 192, 127, 1), rgba(222, 192, 127, 0));
    transform: scaleX(0);
    transform-origin: center;
    transition: transform var(--ll-transition);
}

.site-nav a:hover,
.site-nav a.active {
    color: var(--ll-gold-strong) !important;
}

.site-header .main-menu.site-nav ul li:hover > a,
.site-header .main-menu.site-nav ul li.current > a,
.site-header .main-menu.site-nav ul li.current a,
#header-sticky .main-menu.site-nav ul li:hover > a,
#header-sticky .main-menu.site-nav ul li.current > a,
#header-sticky .main-menu.site-nav ul li.current a,
#mobile-menu > li:hover > a,
#mobile-menu > li > a:hover,
.offcanvas-menu ul li:hover > a {
    color: var(--ll-gold-strong) !important;
}

.site-nav a:hover::after,
.site-nav a.active::after {
    transform: scaleX(1);
}

.site-header__actions {
    display: inline-flex;
    align-items: center;
    justify-self: end;
    justify-content: flex-end;
    flex-wrap: nowrap;
    gap: 14px;
    flex-shrink: 0;
    line-height: 1;
}

.site-lang-switcher {
    display: flex;
    align-items: center;
    gap: 10px;
    flex-shrink: 0;
    align-self: center;
}

.site-lang-switcher__item {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 38px;
    height: 38px;
    padding: 4px;
    border: 1px solid rgba(255, 255, 255, 0.12);
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.06);
    transition: transform var(--ll-transition), border-color var(--ll-transition), background var(--ll-transition);
}

.site-lang-switcher__item img {
    width: 100%;
    height: 100%;
    border-radius: 50%;
    object-fit: cover;
}

.site-lang-switcher__item:hover,
.site-lang-switcher__item.is-active {
    border-color: rgba(255, 255, 255, 0.7);
    background: rgba(255, 255, 255, 0.16);
    transform: translateY(-1px);
}

.site-menu-toggle {
    display: none;
    width: 48px;
    height: 48px;
    margin: 0;
    padding: 0;
    border: 0;
    border-radius: 16px;
    background: rgba(255, 255, 255, 0.08);
    appearance: none;
    align-items: center;
    align-self: center;
    justify-content: center;
    flex-direction: column;
    gap: 5px;
    line-height: 1;
    flex-shrink: 0;
}

.site-menu-toggle span {
    width: 18px;
    height: 2px;
    border-radius: 999px;
    background: #ffffff;
}

.hero-home,
.hero-legal {
    position: relative;
    color: #ffffff;
    background:
        radial-gradient(circle at 16% 18%, rgba(249, 123, 58, 0.28), transparent 24%),
        radial-gradient(circle at 78% 16%, rgba(58, 160, 249, 0.2), transparent 26%),
        linear-gradient(135deg, #102331 0%, #132c3d 44%, #0c1b26 100%);
}

.hero-home {
    min-height: 980px;
    padding: 190px 0 132px;
}

.hero-home::before,
.hero-home::after,
.hero-legal::before,
.hero-legal::after {
    content: '';
    position: absolute;
    inset: 0;
    z-index: 0;
    opacity: 1;
    pointer-events: none;
}

.hero-home::before {
    background:
        linear-gradient(135deg, rgba(8, 20, 28, 0.48), rgba(249, 123, 58, 0.06)),
        radial-gradient(circle at 78% 54%, transparent 0 150px, rgba(255, 255, 255, 0.05) 151px 154px, transparent 155px 240px, rgba(255, 255, 255, 0.05) 241px 244px, transparent 245px 330px, rgba(255, 255, 255, 0.05) 331px 334px, transparent 335px 430px),
        radial-gradient(circle at 70% 74%, transparent 0 190px, rgba(255, 255, 255, 0.04) 191px 194px, transparent 195px 310px, rgba(255, 255, 255, 0.04) 311px 314px, transparent 315px 430px),
        linear-gradient(180deg, rgba(255, 255, 255, 0.03), rgba(255, 255, 255, 0));
}

.hero-home::after {
    inset: auto clamp(18px, 4vw, 54px) clamp(16px, 3vw, 34px) auto;
    width: min(44vw, 820px);
    aspect-ratio: 16 / 9;
    border-radius: 28px;
    background: url('../new/world.png') center center / cover no-repeat;
    box-shadow: 0 22px 54px rgba(4, 12, 18, 0.22);
    transform: translateX(-33.333%);
    opacity: 0.96;
}

.hero-legal::before {
    background:
        linear-gradient(135deg, rgba(8, 20, 28, 0.48), rgba(249, 123, 58, 0.06)),
        radial-gradient(circle at 78% 54%, transparent 0 150px, rgba(255, 255, 255, 0.05) 151px 154px, transparent 155px 240px, rgba(255, 255, 255, 0.05) 241px 244px, transparent 245px 330px, rgba(255, 255, 255, 0.05) 331px 334px, transparent 335px 430px),
        radial-gradient(circle at 70% 74%, transparent 0 190px, rgba(255, 255, 255, 0.04) 191px 194px, transparent 195px 310px, rgba(255, 255, 255, 0.04) 311px 314px, transparent 315px 430px),
        linear-gradient(180deg, rgba(255, 255, 255, 0.03), rgba(255, 255, 255, 0));
}

.hero-legal::after {
    background:
        url('../new/shape-1.png') 86% 18%/120px auto no-repeat,
        url('../new/shape-2.png') 14% 20%/152px auto no-repeat,
        url('../new/shape-3.png') 76% 82%/180px auto no-repeat,
        url('../new/shape-4.png') 90% 68%/52px auto no-repeat,
        url('../new/shape-5.png') 10% 76%/28px auto no-repeat;
    opacity: 0.34;
}

.hero-legal {
    min-height: 540px;
    padding: 220px 0 110px;
}

.hero-home__content {
    position: relative;
    z-index: 1;
    max-width: 760px;
    padding-top: 36px;
}

.hero-home__layout {
    position: relative;
    z-index: 1;
    display: grid;
    grid-template-columns: minmax(0, 1.04fr) minmax(320px, 0.96fr);
    align-items: center;
    gap: 54px;
}

.hero-home__badge {
    display: inline-flex;
    align-items: center;
    margin-bottom: 20px;
    padding: 10px 16px;
    border: 1px solid rgba(255, 255, 255, 0.14);
    border-radius: 999px;
    color: rgba(255, 255, 255, 0.86);
    background: rgba(255, 255, 255, 0.08);
    font-size: 0.82rem;
    font-weight: 700;
    letter-spacing: 0.12em;
    text-transform: uppercase;
}

.hero-legal__content {
    position: relative;
    z-index: 1;
    max-width: 860px;
}

.hero-legal__kicker {
    display: inline-flex;
    margin-bottom: 18px;
    color: var(--ll-gold);
    font-size: 0.82rem;
    font-weight: 700;
    letter-spacing: 0.18em;
    text-transform: uppercase;
}

body.site-page .hero-legal__title {
    margin-bottom: 18px;
    color: #ffffff;
    font-size: clamp(2.4rem, 4vw, 4.2rem);
    line-height: 1.08;
}

body.site-page .hero-legal__title,
body.site-page .hero-legal__title * {
    color: #ffffff;
}

.hero-legal__body {
    max-width: 720px;
    margin: 0;
    color: rgba(255, 255, 255, 0.84);
    font-size: 1rem;
}

.hero-home__eyebrow {
    display: flex;
    flex-wrap: wrap;
    gap: 22px;
    margin: 0 0 28px;
    padding: 0;
    list-style: none;
}

.hero-home__eyebrow li {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    margin: 0;
    color: rgba(255, 255, 255, 0.84);
    font-size: 0.95rem;
    font-weight: 700;
    line-height: 1;
}

.hero-home__eyebrow-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 20px;
    height: 20px;
    border-radius: 50%;
    color: #ffffff;
    background: linear-gradient(135deg, #ff7a00, #ffb15c);
    font-size: 0.7rem;
}

.hero-home__title {
    max-width: 940px;
    margin-bottom: 26px;
    color: #ffffff;
    font-size: clamp(3rem, 5vw, 5.4rem);
    line-height: 0.98;
    word-break: keep-all;
    overflow-wrap: normal;
    hyphens: none;
    text-wrap: balance;
}

.hero-home__title span {
    display: block;
    white-space: normal;
}

.hero-home__title span:first-child {
    color: var(--ll-gold);
}

.hero-home__title span:last-child {
    color: #ffffff;
}

.hero-home__subtitle {
    margin: 0 0 16px;
    color: var(--ll-gold);
    font-family: 'Michroma', 'Montserrat', sans-serif;
    font-size: 0.94rem;
    letter-spacing: 0.14em;
    text-transform: uppercase;
}

.hero-home__body {
    max-width: 720px;
    margin: 0 0 34px;
    color: rgba(255, 255, 255, 0.86);
    font-size: 1.12rem;
    line-height: 1.75;
}

.hero-home__actions {
    display: flex;
    flex-wrap: wrap;
    gap: 14px;
}

.hero-home__proof {
    display: grid;
    gap: 16px;
    max-width: 420px;
    margin-top: 30px;
}

.hero-home__proof-card {
    padding: 22px 24px;
    border: 1px solid rgba(255, 255, 255, 0.12);
    border-radius: 26px;
    background: rgba(255, 255, 255, 0.08);
    box-shadow: 0 24px 44px rgba(4, 14, 20, 0.18);
    backdrop-filter: blur(14px);
}

.hero-home__proof-label {
    display: block;
    margin-bottom: 10px;
    color: rgba(255, 255, 255, 0.66);
    font-size: 0.75rem;
    font-weight: 700;
    letter-spacing: 0.18em;
    text-transform: uppercase;
}

.hero-home__proof-card strong {
    display: block;
    margin-bottom: 8px;
    color: #ffffff;
    font-size: 1.2rem;
    line-height: 1.35;
}

.hero-home__proof-card p {
    margin: 0;
    color: rgba(255, 255, 255, 0.78);
    font-size: 0.95rem;
}

.hero-home__visual {
    position: relative;
    min-height: 620px;
}

.hero-home__visual-main,
.hero-home__visual-secondary,
.hero-home__visual-world {
    position: absolute;
    overflow: hidden;
    box-shadow: 0 26px 64px rgba(0, 0, 0, 0.18);
}

.hero-home__visual-main {
    top: 0;
    right: 0;
    width: min(100%, 540px);
    border-radius: 42px;
}

.hero-home__visual-secondary {
    left: 0;
    bottom: 0;
    width: 240px;
    border: 8px solid rgba(255, 255, 255, 0.1);
    border-radius: 34px;
}

.hero-home__visual-world {
    right: 28px;
    bottom: 20px;
    width: 260px;
    padding: 14px;
    border: 1px solid rgba(255, 255, 255, 0.1);
    border-radius: 32px;
    background: rgba(255, 255, 255, 0.96);
}

.hero-home__visual-main img,
.hero-home__visual-secondary img,
.hero-home__visual-world img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.hero-home__visual-world img {
    object-fit: contain;
    border-radius: 18px;
    clip-path: inset(0 round 18px);
    background: #ffffff;
}

.ll-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 54px;
    padding: 0 28px;
    border: 1px solid transparent;
    border-radius: 999px;
    font-size: 0.95rem;
    font-weight: 700;
    line-height: 1;
    text-decoration: none;
    transition: transform var(--ll-transition), border-color var(--ll-transition), background var(--ll-transition), color var(--ll-transition), box-shadow var(--ll-transition);
}

.ll-btn:hover {
    transform: translateY(-2px);
    text-decoration: none;
}

.ll-btn--primary {
    color: #ffffff;
    background: linear-gradient(135deg, #ff7a00, #ff9e3d);
    box-shadow: 0 20px 32px rgba(255, 122, 0, 0.24);
}

.ll-btn--primary:hover {
    color: var(--ll-heading) !important;
    box-shadow: 0 26px 36px rgba(255, 122, 0, 0.32);
}

.ll-btn--secondary {
    color: #f7f8fb;
    border-color: rgba(255, 255, 255, 0.18);
    background: rgba(255, 255, 255, 0.06);
}

.ll-btn--secondary:hover {
    color: #ffffff;
    border-color: rgba(255, 255, 255, 0.32);
    background: rgba(255, 255, 255, 0.1);
}

.about-block__grid {
    display: grid;
    grid-template-columns: minmax(0, 0.92fr) minmax(0, 1.08fr);
    align-items: center;
    gap: 64px;
}

.about-block__panel {
    position: relative;
    min-height: 760px;
}

.about-block__media {
    position: absolute;
    inset: 0 70px 90px 0;
    border-radius: var(--ll-radius-xl);
    overflow: hidden;
    box-shadow: 0 30px 76px rgba(16, 35, 49, 0.16);
}

.about-block__media::after {
    content: '';
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, rgba(16, 35, 49, 0), rgba(16, 35, 49, 0.12));
}

.about-block__media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.about-block__quote-card {
    position: relative;
    z-index: 2;
    display: grid;
    gap: 16px;
    width: min(100%, 360px);
    margin-left: auto;
    margin-top: 360px;
    padding: 28px;
    border: 1px solid rgba(16, 35, 49, 0.08);
    border-radius: 30px;
    background: rgba(255, 255, 255, 0.96);
    box-shadow: 0 26px 58px rgba(16, 35, 49, 0.16);
}

.about-block__quote {
    margin: 0;
    color: var(--ll-heading);
    font-size: 1.16rem;
    font-weight: 700;
    line-height: 1.6;
}

.about-block__quote-author {
    margin: 0;
    color: var(--ll-text);
    font-size: 0.92rem;
}

.about-metrics {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 18px;
}

.metric-card {
    display: grid;
    align-content: start;
    gap: 12px;
    padding: 22px 20px;
    border: 1px solid rgba(16, 35, 49, 0.08);
    border-radius: 26px;
    background: rgba(255, 255, 255, 0.94);
    box-shadow: 0 18px 42px rgba(16, 35, 49, 0.08);
}

.metric-card__icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 52px;
    height: 52px;
    padding: 10px;
    border-radius: 18px;
    background: linear-gradient(180deg, rgba(58, 160, 249, 0.12), rgba(249, 123, 58, 0.14));
}

.metric-card__icon img {
    width: 100%;
    height: 100%;
    object-fit: contain;
}

.metric-card__value {
    display: block;
    margin-bottom: 0;
    color: var(--ll-blue);
    font-family: 'Michroma', 'Montserrat', sans-serif;
    font-size: clamp(1.4rem, 2vw, 2rem);
    line-height: 1;
}

.metric-card__title {
    margin: 0;
    color: var(--ll-heading);
    font-size: 1rem;
    line-height: 1.35;
}

.metric-card__body {
    margin: 0;
    color: var(--ll-text);
    font-size: 0.88rem;
    line-height: 1.55;
}

.about-block__copy {
    display: grid;
    gap: 24px;
}

.about-block__copy p {
    margin: 0;
    color: var(--ll-text);
}

.chip-list {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin: 8px 0 0;
    padding: 0;
    list-style: none;
}

.chip-list li {
    margin: 0;
    padding: 10px 16px;
    border-radius: 14px;
    background: rgba(58, 160, 249, 0.08);
    color: var(--ll-text-strong);
    font-size: 0.92rem;
    line-height: 1.4;
}

.about-block__trust {
    display: grid;
    grid-template-columns: minmax(0, 0.9fr) minmax(280px, 0.68fr) minmax(0, 0.78fr);
    align-items: center;
    gap: 28px;
    margin-top: 44px;
    padding: 30px;
    border: 1px solid rgba(16, 35, 49, 0.08);
    border-radius: 30px;
    background: rgba(255, 255, 255, 0.86);
    box-shadow: 0 20px 48px rgba(16, 35, 49, 0.08);
}

.about-block__trust-map {
    border-radius: 26px;
    overflow: hidden;
    background: #f8f9fb;
}

.about-block__trust-map img {
    width: 100%;
    height: auto;
    object-fit: cover;
}

.about-block__trust-copy {
    display: grid;
    gap: 14px;
}

.about-block__trust-copy h3 {
    color: var(--ll-heading);
    font-size: 1.4rem;
    line-height: 1.35;
}

.about-block__trust-copy p {
    margin: 0;
}

.about-block__trust-seals {
    display: grid;
    gap: 16px;
}

.about-block__seal {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 132px;
    padding: 20px;
    border-radius: 24px;
    background: #ffffff;
    box-shadow: 0 18px 42px rgba(16, 35, 49, 0.08);
}

.about-block__seal img {
    max-width: 100%;
    max-height: 92px;
    width: auto;
}

.about-block__seal--pme img {
    max-height: 86px;
}

.services-section::before {
    content: '';
    position: absolute;
    inset: 0 0 auto;
    height: 320px;
    background: radial-gradient(circle at 50% 0%, rgba(58, 160, 249, 0.14), transparent 60%);
    pointer-events: none;
}

.services-grid {
    position: relative;
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 28px;
}

.service-card {
    display: grid;
    align-content: start;
    gap: 18px;
    min-height: 320px;
    padding: 28px;
    border: 1px solid rgba(16, 35, 49, 0.08);
    border-radius: 28px;
    background: rgba(255, 255, 255, 0.96);
    box-shadow: 0 20px 44px rgba(13, 34, 50, 0.08);
    color: inherit;
    text-decoration: none;
    transition: transform var(--ll-transition), box-shadow var(--ll-transition), border-color var(--ll-transition);
}

.service-card:hover {
    transform: translateY(-6px);
    border-color: rgba(58, 160, 249, 0.24);
    box-shadow: 0 28px 56px rgba(13, 34, 50, 0.14);
}

.service-card__header {
    display: flex;
    align-items: flex-start;
    justify-content: flex-start;
    gap: 16px;
}

.service-card__icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 72px;
    height: 72px;
    padding: 14px;
    border-radius: 22px;
    background: linear-gradient(180deg, rgba(58, 160, 249, 0.12), rgba(249, 123, 58, 0.16));
}

.service-card__icon img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.service-card__index {
    color: rgba(16, 35, 49, 0.34);
    font-family: 'Michroma', 'Montserrat', sans-serif;
    font-size: 0.78rem;
    letter-spacing: 0.16em;
}

.service-card__title {
    color: var(--ll-heading);
    font-size: 1.22rem;
    line-height: 1.3;
}

.service-card__body {
    margin: 0;
    color: var(--ll-text);
    font-size: 0.98rem;
}

.service-card__link {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    margin-top: auto;
    color: var(--ll-blue);
    font-size: 0.88rem;
    font-weight: 800;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.service-card__link i {
    transition: transform var(--ll-transition);
}

.service-card:hover .service-card__link i {
    transform: translateX(4px);
}

.values-section::before {
    content: '';
    position: absolute;
    inset: 0;
    background: radial-gradient(circle at 50% 0%, rgba(58, 160, 249, 0.08), transparent 46%);
    pointer-events: none;
}

.advantages-grid {
    position: relative;
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 24px;
}

.advantage-card {
    display: grid;
    align-content: start;
    gap: 14px;
    min-height: 260px;
    padding: 28px;
    border: 1px solid rgba(16, 35, 49, 0.08);
    border-radius: 28px;
    background: rgba(255, 255, 255, 0.96);
    box-shadow: 0 22px 48px rgba(16, 35, 49, 0.08);
}

.advantage-card__icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 58px;
    height: 58px;
    padding: 11px;
    border-radius: 20px;
    background: linear-gradient(180deg, rgba(58, 160, 249, 0.1), rgba(249, 123, 58, 0.14));
}

.advantage-card__icon img {
    width: 100%;
    height: 100%;
    object-fit: contain;
}

.advantage-card__title {
    color: var(--ll-heading);
    font-size: 1.1rem;
    line-height: 1.35;
}

.advantage-card__body {
    margin: 0;
    color: var(--ll-text);
    font-size: 0.96rem;
}

.staff-section {
    overflow: hidden;
}

.clients-section {
    overflow: hidden;
}

.clients-grid,
.leadership-grid {
    display: grid;
    gap: 24px;
}

.clients-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.client-card {
    display: grid;
    align-content: start;
    gap: 18px;
    min-height: 260px;
    padding: 28px;
    border: 1px solid rgba(16, 35, 49, 0.08);
    border-radius: 28px;
    background: rgba(255, 255, 255, 0.96);
    box-shadow: 0 20px 46px rgba(16, 35, 49, 0.08);
}

.client-card__logo {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    min-height: 72px;
}

.client-card__logo img {
    max-width: 188px;
    max-height: 52px;
    width: auto;
}

.client-card__name {
    color: var(--ll-heading);
    font-size: 1.08rem;
    line-height: 1.3;
}

.client-card__body {
    margin: 0;
    color: var(--ll-text);
    font-size: 0.96rem;
}

.leadership-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.leadership-card {
    display: grid;
    gap: 22px;
    padding: 28px;
    border: 1px solid rgba(16, 35, 49, 0.08);
    border-radius: 30px;
    background: rgba(255, 255, 255, 0.96);
    box-shadow: var(--ll-shadow);
}

.leadership-card__photo {
    display: flex;
    justify-content: center;
}

.leadership-card__photo img {
    width: min(100%, 220px);
    height: auto;
}

.leadership-card__content {
    display: grid;
    gap: 10px;
}

.leadership-card__region {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: fit-content;
    padding: 8px 14px;
    border-radius: 999px;
    color: var(--ll-blue);
    background: rgba(58, 160, 249, 0.1);
    font-size: 0.76rem;
    font-weight: 800;
    letter-spacing: 0.16em;
    text-transform: uppercase;
}

.leadership-card__name {
    color: var(--ll-heading);
    font-size: 1.16rem;
    line-height: 1.3;
}

.leadership-card__role {
    margin: 0;
    color: #000000;
    font-size: 0.94rem;
    font-weight: 700;
}

.leadership-card__quote {
    margin: 6px 0 0;
    padding-top: 18px;
    border-top: 1px solid rgba(16, 35, 49, 0.08);
    color: var(--ll-text);
    font-size: 0.98rem;
    line-height: 1.75;
}

.contact-panel {
    position: relative;
    display: grid;
    grid-template-columns: minmax(320px, 1fr) minmax(0, 1.35fr);
    gap: 34px;
    padding: 40px;
    border-radius: var(--ll-radius-xl);
    overflow: hidden;
    isolation: isolate;
    background: var(--ll-card);
    box-shadow: var(--ll-shadow);
}

.service-page {
    display: grid;
    gap: 34px;
}

.service-page__intro {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(320px, 0.88fr);
    align-items: center;
    gap: 34px;
}

.service-page__intro-copy {
    display: grid;
    gap: 18px;
}

.page-inner .service-page__intro-copy h2,
.page-inner .service-page__section h2,
.page-inner .service-page__panel h2,
.page-inner .service-page__cta-copy h2 {
    margin-top: 0;
}

.service-page__media {
    position: relative;
    min-height: 380px;
    border-radius: 34px;
    overflow: hidden;
    box-shadow: 0 30px 76px rgba(16, 35, 49, 0.16);
}

.service-page__media::after {
    content: '';
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, rgba(16, 35, 49, 0.06), rgba(16, 35, 49, 0.18));
}

.service-page__media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.service-page__chips {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}

.service-page__chip {
    display: inline-flex;
    align-items: center;
    padding: 10px 14px;
    border: 1px solid rgba(16, 35, 49, 0.08);
    border-radius: 999px;
    color: var(--ll-heading);
    background: rgba(16, 35, 49, 0.04);
    font-size: 0.82rem;
    font-weight: 700;
    letter-spacing: 0.04em;
}

.service-page__highlights,
.service-page__offers {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 18px;
}

.service-page__highlight,
.service-page__offer {
    display: grid;
    align-content: start;
    gap: 12px;
    padding: 24px;
    border: 1px solid rgba(16, 35, 49, 0.08);
    border-radius: 28px;
    background: rgba(255, 255, 255, 0.96);
    box-shadow: 0 18px 42px rgba(16, 35, 49, 0.08);
}

.service-page__highlight h3,
.service-page__offer h3 {
    margin: 0;
    color: var(--ll-heading);
    font-size: 1.04rem;
    line-height: 1.35;
}

.service-page__highlight p,
.service-page__offer p {
    margin: 0;
}

.service-page__section {
    display: grid;
    gap: 22px;
}

.service-page__split {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 22px;
}

.service-page__panel {
    display: grid;
    gap: 18px;
    padding: 28px;
    border: 1px solid rgba(16, 35, 49, 0.08);
    border-radius: 30px;
    background: rgba(16, 35, 49, 0.03);
}

.service-page__panel--accent {
    background: linear-gradient(180deg, rgba(58, 160, 249, 0.08), rgba(249, 123, 58, 0.1));
}

.service-page__panel-kicker {
    display: inline-flex;
    align-items: center;
    width: fit-content;
    padding: 8px 14px;
    border-radius: 999px;
    color: var(--ll-blue);
    background: rgba(58, 160, 249, 0.12);
    font-size: 0.76rem;
    font-weight: 800;
    letter-spacing: 0.14em;
    text-transform: uppercase;
}

.page-inner .service-page__panel ul {
    display: grid;
    gap: 10px;
    margin: 0;
    padding-left: 20px;
}

.service-page__cta {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
    gap: 26px;
    padding: 30px;
    border: 1px solid rgba(16, 35, 49, 0.08);
    border-radius: 32px;
    background: linear-gradient(135deg, rgba(16, 35, 49, 0.04), rgba(58, 160, 249, 0.08), rgba(249, 123, 58, 0.08));
    box-shadow: 0 20px 48px rgba(16, 35, 49, 0.08);
}

.service-page__cta-copy {
    display: grid;
    gap: 14px;
}

.service-page__cta-copy p {
    margin: 0;
}

.service-page__cta-actions {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: 12px;
}

.programs-page {
    display: grid;
    gap: 32px;
}

.programs-overview {
    display: grid;
    gap: 24px;
    padding: 34px;
    border: 1px solid rgba(16, 35, 49, 0.08);
    border-radius: 34px;
    background:
        linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(255, 255, 255, 0.96)),
        radial-gradient(circle at top right, rgba(124, 21, 42, 0.08), transparent 28%);
    box-shadow: 0 22px 56px rgba(16, 35, 49, 0.08);
}

.programs-overview__copy {
    display: grid;
    gap: 14px;
}

.page-inner .programs-overview__copy h2 {
    margin: 0;
}

.programs-overview__copy p {
    max-width: 82ch;
    margin: 0;
}

.programs-nav {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 18px;
}

.programs-nav__item {
    display: grid;
    align-content: start;
    gap: 10px;
    min-height: 196px;
    padding: 22px;
    border: 1px solid rgba(16, 35, 49, 0.08);
    border-radius: 28px;
    color: inherit;
    background: rgba(16, 35, 49, 0.03);
    box-shadow: 0 18px 42px rgba(16, 35, 49, 0.05);
    text-decoration: none;
    transition: transform var(--ll-transition), border-color var(--ll-transition), box-shadow var(--ll-transition), background var(--ll-transition);
}

.programs-nav__item:hover {
    transform: translateY(-4px);
    border-color: rgba(124, 21, 42, 0.22);
    background: rgba(124, 21, 42, 0.05);
    box-shadow: 0 24px 52px rgba(16, 35, 49, 0.1);
}

.programs-nav__age {
    display: inline-flex;
    align-items: center;
    width: fit-content;
    min-height: 34px;
    padding: 0 12px;
    border-radius: 999px;
    color: #7c152a;
    background: rgba(124, 21, 42, 0.08);
    font-size: 0.74rem;
    font-weight: 800;
    letter-spacing: 0.1em;
    text-transform: uppercase;
}

.programs-nav__item strong {
    color: #181117;
    font-family: 'Michroma', 'Montserrat', sans-serif;
    font-size: 1.06rem;
    font-weight: 400;
    line-height: 1.28;
    letter-spacing: -0.04em;
}

.programs-nav__item small {
    color: var(--ll-text);
    font-size: 0.92rem;
    line-height: 1.55;
}

.program-section {
    display: grid;
    gap: 24px;
    padding: 34px;
    border: 1px solid rgba(16, 35, 49, 0.08);
    border-radius: 34px;
    background:
        linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(251, 246, 241, 0.98)),
        radial-gradient(circle at top right, rgba(225, 194, 127, 0.08), transparent 30%);
    box-shadow: 0 22px 56px rgba(16, 35, 49, 0.08);
}

.program-section__copy {
    gap: 16px;
}

.program-section__age {
    display: inline-flex;
    align-items: center;
    width: fit-content;
    min-height: 38px;
    padding: 0 14px;
    border-radius: 999px;
    color: #ffffff;
    background: linear-gradient(135deg, #b11f37, #7c152a);
    font-size: 0.78rem;
    font-weight: 800;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.program-section__actions {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    margin-top: 6px;
}

.program-section__media {
    min-height: 0;
    aspect-ratio: 1 / 1;
    background:
        radial-gradient(circle at center, rgba(255, 255, 255, 0.86), rgba(255, 255, 255, 0.22)),
        linear-gradient(135deg, rgba(124, 21, 42, 0.12), rgba(225, 194, 127, 0.12));
}

.program-section__media::after {
    background: none;
}

.program-section__media img {
    padding: 34px;
    width: 100%;
    height: 100%;
    object-fit: contain;
}

.program-section__highlights {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 18px;
}

.page-programs .service-page__highlight,
.page-programs .service-page__panel,
.page-programs .service-page__cta {
    background: rgba(255, 255, 255, 0.96);
}

.page-programs .service-page__panel--accent {
    background: linear-gradient(180deg, rgba(124, 21, 42, 0.08), rgba(225, 194, 127, 0.14));
}

.page-programs .service-page__panel-kicker {
    color: #7c152a;
    background: rgba(124, 21, 42, 0.08);
}

.programs-page__cta {
    background: linear-gradient(135deg, rgba(16, 35, 49, 0.03), rgba(124, 21, 42, 0.08), rgba(225, 194, 127, 0.1));
}

.about-gcesp-page {
    display: grid;
    gap: 34px;
}

.about-gcesp-page__media {
    min-height: 420px;
    background:
        radial-gradient(circle at center, rgba(255, 255, 255, 0.88), rgba(255, 255, 255, 0.18)),
        linear-gradient(135deg, rgba(124, 21, 42, 0.1), rgba(225, 194, 127, 0.12));
}

.about-gcesp-page__media::after {
    background: none;
}

.about-gcesp-page__media img {
    padding: 24px;
    object-fit: contain;
}

.territory-page {
    display: grid;
    gap: 34px;
}

.territory-hero {
    display: grid;
    grid-template-columns: minmax(0, 0.95fr) minmax(320px, 1.05fr);
    align-items: center;
    gap: 30px;
}

.territory-hero__copy {
    display: grid;
    gap: 16px;
}

.territory-hero__copy h2,
.territory-hero__copy p {
    margin: 0;
}

.territory-hero__actions {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    margin-top: 8px;
}

.mock-map {
    padding: 18px;
    border: 1px solid rgba(16, 35, 49, 0.08);
    border-radius: 34px;
    background:
        linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(248, 240, 234, 0.98)),
        radial-gradient(circle at top right, rgba(124, 21, 42, 0.08), transparent 28%);
    box-shadow: 0 24px 58px rgba(16, 35, 49, 0.1);
}

.mock-map__frame {
    position: relative;
    height: 520px;
    min-height: 520px;
    overflow: hidden;
    border-radius: 26px;
    box-shadow: 0 24px 58px rgba(16, 35, 49, 0.12);
}

.mock-map__frame iframe {
    position: absolute;
    inset: 0;
    display: block;
    width: 100%;
    height: 100%;
    border: 0;
}

.mock-map__canvas {
    position: relative;
    min-height: 520px;
    overflow: hidden;
    border-radius: 26px;
    background:
        linear-gradient(180deg, rgba(18, 34, 48, 0.02), rgba(18, 34, 48, 0.1)),
        linear-gradient(90deg, rgba(16, 35, 49, 0.06) 1px, transparent 1px),
        linear-gradient(rgba(16, 35, 49, 0.06) 1px, transparent 1px),
        #fbf8f5;
    background-size: auto, 42px 42px, 42px 42px, auto;
}

.mock-map__country-badge,
.mock-map__state-label,
.mock-map__legend {
    position: absolute;
    z-index: 3;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 38px;
    padding: 0 14px;
    border-radius: 999px;
    font-size: 0.78rem;
    font-weight: 800;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.mock-map__country-badge {
    top: 20px;
    right: 20px;
    color: #7c152a;
    background: rgba(124, 21, 42, 0.08);
}

.mock-map__legend {
    left: 20px;
    bottom: 20px;
    color: rgba(24, 17, 23, 0.82);
    background: rgba(255, 255, 255, 0.86);
}

.mock-map__state-label {
    top: 48%;
    left: 50%;
    color: #ffffff;
    background: linear-gradient(135deg, #b11f37, #7c152a);
    transform: translate(-50%, -50%);
}

.mock-map__state-shape {
    position: absolute;
    top: 14%;
    left: 15%;
    width: 68%;
    height: 68%;
    background:
        radial-gradient(circle at 35% 38%, rgba(225, 194, 127, 0.42), transparent 16%),
        linear-gradient(135deg, rgba(177, 31, 55, 0.94), rgba(124, 21, 42, 0.96));
    clip-path: polygon(11% 23%, 23% 10%, 44% 4%, 61% 13%, 79% 10%, 90% 24%, 84% 37%, 94% 53%, 83% 68%, 76% 84%, 55% 92%, 41% 87%, 26% 92%, 16% 80%, 7% 66%, 3% 48%, 11% 36%);
    box-shadow: 0 36px 64px rgba(124, 21, 42, 0.22);
}

.mock-map__state-shape::after {
    content: '';
    position: absolute;
    inset: 12% 18%;
    border: 2px dashed rgba(255, 255, 255, 0.24);
    border-radius: 22px;
    clip-path: polygon(8% 25%, 22% 12%, 45% 6%, 60% 14%, 76% 12%, 88% 25%, 81% 39%, 91% 54%, 80% 68%, 74% 82%, 55% 89%, 42% 84%, 27% 88%, 18% 77%, 10% 64%, 6% 48%, 14% 36%);
}

.mock-map__pin {
    position: absolute;
    z-index: 4;
    width: 16px;
    height: 16px;
    border: 3px solid #ffffff;
    border-radius: 50%;
    background: #102331;
    box-shadow: 0 10px 24px rgba(16, 35, 49, 0.2);
}

.mock-map__pin::after {
    content: '';
    position: absolute;
    top: 100%;
    left: 50%;
    width: 2px;
    height: 26px;
    background: rgba(16, 35, 49, 0.24);
    transform: translateX(-50%);
}

.mock-map__pin span {
    position: absolute;
    top: calc(100% + 28px);
    left: 50%;
    display: inline-flex;
    min-width: max-content;
    padding: 6px 10px;
    border-radius: 999px;
    color: #181117;
    background: rgba(255, 255, 255, 0.94);
    font-size: 0.74rem;
    font-weight: 700;
    transform: translateX(-50%);
    white-space: nowrap;
}

.mock-map__pin.pin--capital { top: 60%; left: 47%; }
.mock-map__pin.pin--campinas { top: 45%; left: 42%; }
.mock-map__pin.pin--ribeirao { top: 34%; left: 57%; }
.mock-map__pin.pin--bauru { top: 46%; left: 58%; }
.mock-map__pin.pin--sjrp { top: 18%; left: 63%; }
.mock-map__pin.pin--santos { top: 70%; left: 51%; }

.mock-map--cavalaria .mock-map__state-shape {
    background:
        radial-gradient(circle at 35% 38%, rgba(225, 194, 127, 0.36), transparent 16%),
        linear-gradient(135deg, rgba(16, 35, 49, 0.96), rgba(124, 21, 42, 0.9));
}

.mock-map--cavalaria .mock-map__pin {
    background: #b11f37;
}

.territory-stats {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 18px;
}

.territory-stats--compact {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    max-width: 680px;
}

.territory-stats--single {
    grid-template-columns: minmax(0, 1fr);
    max-width: 320px;
}

.territory-stat {
    display: grid;
    gap: 8px;
    padding: 24px 20px;
    border: 1px solid rgba(16, 35, 49, 0.08);
    border-radius: 24px;
    background: rgba(255, 255, 255, 0.98);
    box-shadow: 0 18px 42px rgba(16, 35, 49, 0.06);
    text-align: center;
}

.territory-stat strong {
    color: #181117;
    font-size: clamp(1.9rem, 2vw, 2.6rem);
    font-weight: 800;
    line-height: 1;
}

.territory-stat span {
    color: var(--ll-text);
    font-size: 0.92rem;
    font-weight: 700;
}

.territory-highlights {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.leadership-page {
    display: grid;
    gap: 32px;
}

.leadership-page__intro {
    display: grid;
    gap: 14px;
}

.leadership-page__intro h2,
.leadership-page__intro p {
    margin: 0;
}

.leaders-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 18px;
}

.leader-card {
    display: grid;
    overflow: hidden;
    border: 1px solid rgba(16, 35, 49, 0.08);
    border-radius: 28px;
    background: rgba(255, 255, 255, 0.98);
    box-shadow: 0 18px 42px rgba(16, 35, 49, 0.08);
    transition: transform var(--ll-transition), box-shadow var(--ll-transition), border-color var(--ll-transition);
}

.leader-card:hover {
    transform: translateY(-4px);
    border-color: rgba(124, 21, 42, 0.18);
    box-shadow: 0 26px 52px rgba(16, 35, 49, 0.12);
}

.leader-card__image {
    aspect-ratio: 4 / 4.4;
    background:
        linear-gradient(180deg, rgba(16, 35, 49, 0.02), rgba(16, 35, 49, 0.08)),
        #f7f3ef;
}

.leader-card__image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.leader-card__body {
    display: grid;
    gap: 10px;
    padding: 20px;
}

.leader-card__body h3,
.leader-card__body p {
    margin: 0;
}

.leader-card__body h3 {
    color: #181117;
    font-size: 1.04rem;
    line-height: 1.3;
}

.leader-card__body p {
    color: var(--ll-text);
    font-size: 0.9rem;
    line-height: 1.55;
}

.contact-panel::before {
    content: '';
    position: absolute;
    inset: 0;
    z-index: 0;
    background:
        linear-gradient(180deg, rgba(255, 255, 255, 0.94), rgba(255, 255, 255, 0.97)),
        url('../new/world.png') center center / cover no-repeat;
    pointer-events: none;
}

.contact-panel__intro {
    position: relative;
    z-index: 1;
    display: grid;
    align-content: center;
    gap: 18px;
    padding: 48px 22px;
    text-align: center;
}

.contact-panel__body {
    margin: 0;
    color: var(--ll-text);
}

.delivery-pillars {
    display: grid;
    gap: 12px;
    margin-top: 6px;
}

.delivery-card {
    padding: 16px 18px;
    border: 1px solid rgba(255, 122, 0, 0.16);
    border-radius: 20px;
    background: rgba(255, 122, 0, 0.05);
    text-align: left;
}

.delivery-card__phase {
    display: block;
    margin-bottom: 8px;
    color: var(--ll-heading);
    font-size: 0.8rem;
    font-weight: 800;
    letter-spacing: 0.12em;
    text-transform: uppercase;
}

.delivery-card p {
    margin: 0;
    color: var(--ll-text);
    font-size: 0.92rem;
}

.contact-form {
    position: relative;
    z-index: 1;
    display: grid;
    gap: 22px;
    padding: 12px;
}

.contact-form__grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 18px 16px;
}

.form-field {
    display: grid;
    gap: 10px;
    margin: 0;
}

.form-field span {
    color: var(--ll-heading);
    font-size: 0.84rem;
    font-weight: 700;
    letter-spacing: 0.04em;
    text-transform: uppercase;
}

.form-field input,
.form-field textarea,
.form-field select {
    width: 100%;
    min-height: 58px;
    padding: 0 18px;
    border: 1px solid rgba(15, 42, 66, 0.12);
    border-radius: 18px;
    background: #ffffff;
    color: var(--ll-text-strong);
    font-size: 0.98rem;
    transition: border-color var(--ll-transition), box-shadow var(--ll-transition);
}

.form-field textarea {
    min-height: 180px;
    padding: 16px 18px;
    resize: vertical;
}

.form-field select {
    appearance: none;
    background-image:
        linear-gradient(45deg, transparent 50%, var(--ll-gold-strong) 50%),
        linear-gradient(135deg, var(--ll-gold-strong) 50%, transparent 50%);
    background-position:
        calc(100% - 22px) calc(50% - 2px),
        calc(100% - 16px) calc(50% - 2px);
    background-repeat: no-repeat;
    background-size: 6px 6px, 6px 6px;
}

.form-field input:focus,
.form-field textarea:focus,
.form-field select:focus {
    border-color: rgba(208, 178, 125, 0.78);
    box-shadow: 0 0 0 4px rgba(208, 178, 125, 0.12);
}

.form-field--full {
    grid-column: 1 / -1;
}

.contact-form__footer {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
}

.form-note {
    margin: 0;
    color: var(--ll-text);
    font-size: 0.92rem;
}

.site-footer {
    position: relative;
    padding: 72px 0 32px;
    color: rgba(255, 255, 255, 0.82);
    background:
        radial-gradient(circle at 10% 0%, rgba(249, 123, 58, 0.22), transparent 24%),
        linear-gradient(180deg, #102331 0%, #0b1822 100%);
}

.site-footer__top {
    display: grid;
    grid-template-columns: minmax(280px, 0.45fr) minmax(0, 1fr);
    gap: 60px;
    padding-bottom: 46px;
    border-bottom: 1px solid rgba(255, 255, 255, 0.14);
}

.site-footer__statement h2 {
    font-size: clamp(1.9rem, 3vw, 3rem);
    line-height: 1.14;
}

.site-footer__statement-line {
    display: block;
}

.site-footer__statement-line--accent {
    color: var(--ll-gold);
}

.site-footer__statement-line--muted {
    color: rgba(255, 255, 255, 0.72);
}

.site-footer__columns {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 28px;
}

.site-footer__col {
    display: grid;
    align-content: start;
    gap: 16px;
}

body.site-page .site-footer__col h3 {
    color: rgba(255, 255, 255, 0.82);
    font-size: 0.95rem;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.site-footer__col p,
.site-footer__links {
    margin: 0;
}

.site-footer__links {
    display: grid;
    gap: 10px;
    padding: 0;
    list-style: none;
}

.site-footer__links a {
    color: rgba(255, 255, 255, 0.82);
    text-decoration: none;
}

.site-footer__links a:hover,
.site-footer__policies a:hover {
    color: #ffffff;
}

.site-footer__social {
    display: flex;
    gap: 12px;
}

.site-footer__social a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 48px;
    height: 48px;
    border: 1px solid rgba(208, 178, 125, 0.42);
    border-radius: 50%;
    color: var(--ll-gold);
    background: rgba(255, 255, 255, 0.04);
    font-size: 1rem;
    transition: transform var(--ll-transition), background var(--ll-transition), border-color var(--ll-transition);
}

.site-footer__social a:hover {
    transform: translateY(-2px);
    border-color: rgba(208, 178, 125, 0.72);
    background: rgba(255, 255, 255, 0.08);
}

.site-footer__meta {
    padding-top: 24px;
}

.site-footer__policies {
    display: flex;
    flex-wrap: wrap;
    gap: 18px;
    margin-bottom: 24px;
}

.site-footer__policies a {
    color: rgba(255, 255, 255, 0.72);
    text-decoration: none;
}

.site-footer__bottom {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
}

.site-footer__bottom p {
    margin: 0;
    color: rgba(255, 255, 255, 0.72);
    font-size: 0.92rem;
}

.site-footer__logo {
    width: 220px;
    max-width: 42vw;
}

.cookie-floating-btn {
    box-shadow: 0 18px 30px rgba(15, 42, 66, 0.18);
}

.page-inner .about-area {
    padding: 96px 0 120px;
    background: var(--ll-surface);
}

.page-inner__content-shell {
    display: block;
}

.page-inner .s-about-content {
    padding: 48px;
    border-radius: var(--ll-radius-xl);
    background: rgba(255, 255, 255, 0.96);
    box-shadow: var(--ll-shadow);
}

.page-inner .s-about-content h2 {
    margin: 32px 0 14px;
    color: var(--ll-heading);
    font-size: 1.8rem;
    line-height: 1.24;
}

.page-inner .s-about-content h2:first-child {
    margin-top: 0;
}

.page-inner .s-about-content p,
.page-inner .s-about-content li {
    margin: 0 0 14px;
    color: var(--ll-text);
}

.page-inner .s-about-content ul {
    padding-left: 18px;
}

.page-inner .s-about-content li {
    list-style: disc;
}

.page-inner .s-about-content a {
    color: var(--ll-gold-strong);
    text-decoration: none;
}

.page-inner .s-about-content .ll-btn {
    text-decoration: none;
}

.page-inner .s-about-content .ll-btn--primary,
.page-inner .s-about-content .ll-btn--primary:hover,
.page-inner .s-about-content .ll-btn--primary:focus {
    color: #ffffff !important;
}

.page-inner .s-about-content .ll-btn--secondary,
.page-inner .s-about-content .ll-btn--secondary:hover,
.page-inner .s-about-content .ll-btn--secondary:focus {
    color: var(--ll-heading) !important;
    border-color: rgba(16, 35, 49, 0.12);
    background: rgba(255, 255, 255, 0.92);
}

@media (min-width: 1200px) {
    #mobile-menu {
        display: flex !important;
    }
}

@media (max-width: 1399px) {
    .site-nav ul {
        gap: 20px;
    }

    .advantages-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .clients-grid,
    .leadership-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .contact-panel {
        grid-template-columns: minmax(0, 0.8fr) minmax(0, 1.2fr);
    }

    .site-footer__columns {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 1199px) {
    .ll-shell {
        width: min(1760px, calc(100% - 40px));
    }

    .site-header__surface {
        grid-template-columns: 1fr;
        align-items: flex-start;
        gap: 14px;
    }

    .site-nav {
        width: 100%;
        grid-column: 1;
        order: 2;
    }

    .site-logo__wordmark small {
        display: none;
    }

    .site-header__actions,
    .site-menu-toggle {
        display: none !important;
    }

    #mobile-menu {
        position: static;
        display: flex !important;
        flex-direction: column;
        align-items: center;
        gap: 12px;
        width: 100%;
        margin-top: 0;
        padding: 0;
        border: 0;
        border-radius: 0;
        background: transparent;
        box-shadow: none;
    }

    .site-nav li {
        width: 100%;
    }

    #mobile-menu > li {
        width: 100%;
        margin-left: 0 !important;
        border-bottom: 0;
    }

    .site-nav a {
        display: inline-flex !important;
        width: 100%;
        justify-content: center;
        padding: 0 !important;
        color: rgba(255, 255, 255, 0.9);
        font-size: 0.72rem;
        line-height: 1.25;
    }

    .site-nav a::after {
        display: none;
    }

    .hero-home {
        min-height: auto;
        padding: 170px 0 96px;
    }

    .hero-legal {
        min-height: 460px;
        padding-top: 180px;
    }

    .hero-home::before,
    .hero-home::after {
        content: none;
    }

    .hero-home__layout,
    .about-block__grid,
    .contact-panel,
    .site-footer__top {
        grid-template-columns: 1fr;
    }

    .hero-home__visual {
        display: none;
    }

    .services-grid,
    .clients-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .service-page__intro,
    .service-page__split,
    .service-page__cta {
        grid-template-columns: 1fr;
    }

    .service-page__highlights,
    .service-page__offers {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .service-page__media {
        min-height: 320px;
    }

    .about-block__panel {
        min-height: 620px;
    }

    .about-metrics {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .about-block__trust {
        grid-template-columns: 1fr;
    }

    .contact-panel__intro {
        padding: 16px 12px 0;
    }

    .site-footer__statement h2 {
        max-width: 520px;
    }
}

@media (max-width: 991px) {
    .ll-section {
        padding: 88px 0;
    }

    .hero-home {
        min-height: 780px;
        padding: 164px 0 110px;
    }

    .hero-legal {
        min-height: 420px;
        padding: 170px 0 92px;
    }

    .hero-legal::after {
        background:
            url('../new/shape-1.png') 88% 18%/100px auto no-repeat,
            url('../new/shape-2.png') 12% 18%/128px auto no-repeat,
            url('../new/shape-3.png') 74% 84%/148px auto no-repeat,
            url('../new/shape-4.png') 90% 70%/42px auto no-repeat,
            url('../new/shape-5.png') 10% 78%/24px auto no-repeat;
    }

    .hero-home::after {
        right: 20px;
        bottom: 22px;
        width: min(58vw, 620px);
        border-radius: 24px;
        opacity: 0.9;
    }

    .hero-home__title {
        font-size: clamp(2.3rem, 7.8vw, 4rem);
        line-height: 1.02;
    }

    .hero-home__body {
        font-size: 1rem;
    }

    .about-block__panel {
        min-height: 520px;
    }

    .about-metrics {
        grid-template-columns: 1fr 1fr;
    }

    .services-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .leadership-grid {
        grid-template-columns: 1fr;
    }

    .contact-form__grid,
    .site-footer__columns {
        grid-template-columns: 1fr;
    }

    .contact-form__footer,
    .site-footer__bottom {
        flex-direction: column;
        align-items: flex-start;
    }

    .site-footer__logo {
        width: 180px;
    }

    .page-inner .s-about-content {
        padding: 36px 28px;
    }
}

@media (max-width: 767px) {
    .ll-shell {
        width: calc(100% - 28px);
    }

    .site-header {
        inset: 12px 0 auto;
    }

    .site-header__surface {
        grid-template-columns: minmax(0, 1fr) auto;
        gap: 12px;
        padding: 14px 14px 12px;
        border-radius: 24px;
    }

    .site-logo {
        max-width: min(44vw, 176px);
    }

    .site-header__actions {
        gap: 8px;
    }

    .site-lang-switcher {
        gap: 8px;
    }

    .site-lang-switcher__item {
        width: 32px;
        height: 32px;
        padding: 3px;
    }

    .site-menu-toggle {
        width: 44px;
        height: 44px;
        flex-basis: 44px;
        border-radius: 14px;
    }

    #mobile-menu {
        margin-top: 12px;
        padding: 8px 12px;
        border-radius: 20px;
    }

    #mobile-menu > li > a {
        padding: 14px 10px !important;
        font-size: 0.96rem;
    }

    .hero-home {
        padding: 148px 0 78px;
    }

    .hero-legal {
        min-height: 360px;
        padding: 150px 0 72px;
    }

    .hero-legal::after {
        background:
            url('../new/shape-1.png') 92% 16%/76px auto no-repeat,
            url('../new/shape-2.png') 10% 18%/96px auto no-repeat,
            url('../new/shape-3.png') 70% 86%/118px auto no-repeat,
            url('../new/shape-4.png') 88% 68%/34px auto no-repeat,
            url('../new/shape-5.png') 10% 78%/20px auto no-repeat;
        opacity: 0.28;
    }

    .hero-home__eyebrow {
        gap: 12px 16px;
    }

    .hero-home__body {
        margin-bottom: 30px;
    }

    .hero-home__title {
        font-size: clamp(1.95rem, 8.8vw, 3.2rem);
        line-height: 1.04;
    }

    .hero-home__actions,
    .site-footer__policies {
        flex-direction: column;
        align-items: stretch;
    }

    .ll-btn {
        width: 100%;
    }

    .about-block__panel {
        min-height: 420px;
    }

    .about-metrics,
    .advantages-grid,
    .services-grid,
    .clients-grid,
    .service-page__highlights,
    .service-page__offers,
    .service-page__split {
        grid-template-columns: 1fr;
    }

    .service-page {
        gap: 24px;
    }

    .service-page__media {
        min-height: 260px;
        border-radius: 26px;
    }

    .service-page__panel,
    .service-page__cta,
    .service-page__highlight,
    .service-page__offer {
        padding: 22px;
    }

    .service-page__cta-actions {
        justify-content: flex-start;
    }

    .hero-home__visual {
        min-height: 260px;
    }

    .hero-home__visual-secondary,
    .hero-home__visual-world {
        display: none;
    }

    .about-block__panel {
        min-height: 440px;
    }

    .about-block__media {
        inset: 0 0 90px;
    }

    .about-block__quote-card {
        width: calc(100% - 28px);
        margin: 0 14px;
        margin-top: 240px;
        padding: 22px;
    }

    .service-card,
    .leadership-card,
    .contact-panel,
    .page-inner .s-about-content {
        border-radius: 24px;
    }

    .contact-panel {
        padding: 24px 18px;
    }

    .contact-form {
        padding: 0;
    }

    .form-note {
        font-size: 0.88rem;
    }

    .site-footer {
        padding-top: 56px;
    }
}

:root {
    --ll-navy: #0d1726;
    --ll-navy-soft: #16273a;
    --ll-gold: #c7a55b;
    --ll-gold-strong: #e1c27f;
    --ll-blue: #6f8fb5;
    --ll-surface: #f3efe6;
    --ll-surface-strong: #e8dfcf;
    --ll-card: #fffdf8;
    --ll-text: #5c5c5c;
    --ll-text-strong: #1f2a39;
    --ll-heading: #101c2d;
    --ll-border: rgba(16, 28, 45, 0.12);
    --ll-shadow: 0 24px 60px rgba(8, 16, 28, 0.14);
}

.site-header__surface {
    background:
        linear-gradient(180deg, rgba(12, 10, 12, 0.18), rgba(12, 10, 12, 0.18)),
        url('../image/bg-header.png') center center / cover no-repeat;
    box-shadow: 0 18px 42px rgba(6, 12, 22, 0.28);
}

#header-sticky.sticky-menu {
    background:
        linear-gradient(180deg, rgba(12, 10, 12, 0.1), rgba(12, 10, 12, 0.1)),
        url('../image/bg-header.png') center center / cover no-repeat;
    box-shadow: 0 24px 60px rgba(6, 12, 22, 0.34);
}

.site-logo {
    gap: 14px;
    max-width: 100%;
}

.site-logo img {
    width: 60px;
    flex: 0 0 60px;
}

.site-logo__wordmark {
    display: grid;
    min-width: 0;
    gap: 2px;
}

.site-logo__wordmark strong,
.site-logo__wordmark small {
    display: block;
    line-height: 1.15;
}

.site-logo__wordmark strong {
    color: #ffffff;
    font-family: 'Michroma', 'Montserrat', sans-serif;
    font-size: 0.9rem;
    letter-spacing: 0.16em;
    text-transform: uppercase;
}

.site-logo__wordmark small {
    color: rgba(255, 255, 255, 0.72);
    font-size: 0.72rem;
}

.hero-home,
.hero-legal {
    background:
        radial-gradient(circle at 18% 18%, rgba(199, 165, 91, 0.24), transparent 26%),
        radial-gradient(circle at 82% 16%, rgba(111, 143, 181, 0.18), transparent 28%),
        linear-gradient(135deg, #0d1726 0%, #142337 46%, #09111d 100%);
}

.hero-home::after {
    content: none;
}

.hero-home__visual-world {
    background: rgba(255, 255, 255, 0.98);
}

.ll-btn--primary {
    background: linear-gradient(135deg, #b98d44, #dec07f);
    box-shadow: 0 20px 32px rgba(185, 141, 68, 0.24);
}

.ll-btn--primary:hover {
    box-shadow: 0 26px 36px rgba(185, 141, 68, 0.32);
}

.metric-card__icon,
.service-card__icon,
.advantage-card__icon {
    padding: 0;
}

.metric-card__icon i,
.service-card__icon i,
.advantage-card__icon i {
    color: var(--ll-heading);
    font-size: 1.35rem;
}

.service-card__icon i {
    font-size: 1.5rem;
}

.service-card__link {
    color: var(--ll-gold);
}

.about-block__trust-seals {
    grid-template-columns: 1fr;
}

.about-block__seal {
    border: 1px solid rgba(16, 28, 45, 0.08);
}

.advantage-card,
.client-card,
.leadership-card,
.service-card,
.metric-card {
    background: rgba(255, 253, 248, 0.98);
}

.client-card--media .client-card__logo--media {
    min-height: auto;
    border-radius: 22px;
    overflow: hidden;
}

.client-card--media .client-card__logo--media img {
    width: 100%;
    max-width: none;
    max-height: none;
    aspect-ratio: 4 / 3;
    object-fit: cover;
}

.leadership-card--iconic .leadership-card__photo {
    justify-content: flex-start;
}

.leadership-card__emblem {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 84px;
    height: 84px;
    border-radius: 26px;
    background: linear-gradient(180deg, rgba(111, 143, 181, 0.12), rgba(199, 165, 91, 0.16));
}

.leadership-card__emblem i {
    color: var(--ll-heading);
    font-size: 1.85rem;
}

.contact-panel::before {
    background:
        linear-gradient(180deg, rgba(255, 253, 248, 0.96), rgba(255, 253, 248, 0.98)),
        radial-gradient(circle at 12% 18%, rgba(199, 165, 91, 0.14), transparent 24%),
        radial-gradient(circle at 88% 16%, rgba(111, 143, 181, 0.12), transparent 28%);
}

.contact-panel__intro {
    text-align: left;
}

.delivery-card {
    border-color: rgba(199, 165, 91, 0.28);
    background: rgba(199, 165, 91, 0.08);
}

.site-footer {
    background:
        linear-gradient(180deg, rgba(42, 9, 14, 0.16), rgba(42, 9, 14, 0.3)),
        url('../image/bg-footer.png') center center / cover no-repeat;
}

.site-footer__logo {
    width: 92px;
    max-width: 92px;
}

#scrollUp {
    background: linear-gradient(135deg, #b11f37, #7c152a);
    color: #ffffff;
    border: 1px solid rgba(177, 31, 55, 0.32);
    box-shadow: 0 20px 34px rgba(124, 21, 42, 0.24);
}

#scrollUp:hover {
    background: #8d1830;
    color: #ffffff;
    box-shadow: 0 26px 40px rgba(124, 21, 42, 0.34);
}

.hero-legal::before,
.hero-legal::after {
    content: none !important;
    background: none !important;
}

@media (max-width: 767px) {
    .site-logo__wordmark small {
        display: none;
    }

    .site-logo img {
        width: 50px;
        flex-basis: 50px;
    }

    .site-logo__wordmark strong {
        font-size: 0.76rem;
    }
}

@media (max-width: 479px) {
    .site-header__surface {
        gap: 10px;
        padding: 12px 12px 10px;
    }

    .site-logo {
        max-width: min(42vw, 154px);
    }

    .site-lang-switcher__item {
        width: 30px;
        height: 30px;
    }

    .site-menu-toggle {
        width: 42px;
        height: 42px;
        flex-basis: 42px;
    }
}

/* DeMolay São Paulo landing overrides */

:root {
    --ll-gold: #d7a35a;
    --ll-gold-strong: #f2c178;
    --ll-heading: #141114;
    --ll-text: #625862;
    --ll-text-strong: #231c24;
    --ll-surface: #f6f1ed;
    --ll-surface-strong: #ede4de;
    --ll-card: #ffffff;
    --ll-border: rgba(35, 28, 36, 0.12);
    --ll-shadow: 0 24px 60px rgba(13, 9, 13, 0.14);
}

body.site-page {
    background: #f6f1ed;
    color: var(--ll-text);
}

body.page-home,
body.page-articles {
    --ll-text: #000000;
}

body.page-home h1,
body.page-home h2,
body.page-home h3,
body.page-home h4,
body.page-home h5,
body.page-home h6 {
    font-family: 'Manrope', 'Segoe UI', sans-serif;
    font-weight: 800;
    letter-spacing: -0.06em;
}

body.page-inner h1,
body.page-inner h2,
body.page-inner h3,
body.page-inner h4,
body.page-inner h5,
body.page-inner h6 {
    font-family: 'Manrope', 'Segoe UI', sans-serif;
    font-weight: 800;
    letter-spacing: -0.06em;
}

.site-header {
    inset: 18px 0 auto;
}

.page-inner .hero-legal {
    background:
        linear-gradient(180deg, rgba(12, 10, 12, 0.38), rgba(12, 10, 12, 0.42)),
        url('../image/bg-header.png') center center / cover no-repeat;
}

.site-header__surface {
    gap: 26px;
    padding: 14px 20px;
    border: 1px solid rgba(255, 255, 255, 0.08);
    background: rgba(12, 10, 12, 0.94);
    box-shadow: 0 18px 38px rgba(8, 4, 8, 0.34);
    backdrop-filter: blur(16px);
}

#header-sticky.sticky-menu {
    background: rgba(12, 10, 12, 0.98);
    box-shadow: 0 24px 54px rgba(8, 4, 8, 0.42);
}

.site-logo {
    gap: 14px;
    max-width: none;
    text-decoration: none;
}

.site-logo img {
    width: 136px;
    height: 136px;
    flex: 0 0 136px;
    border-radius: 32px;
    object-fit: cover;
    box-shadow: 0 12px 28px rgba(0, 0, 0, 0.28);
}

.site-logo__wordmark {
    display: grid;
    gap: 2px;
    line-height: 1.1;
}

.site-logo__wordmark strong {
    color: #ffffff;
    font-family: 'Manrope', 'Segoe UI', sans-serif;
    font-size: 1rem;
    font-weight: 800;
    letter-spacing: 0.16em;
    text-transform: uppercase;
}

.site-logo__wordmark small {
    color: rgba(255, 255, 255, 0.72);
    font-size: 0.76rem;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.site-nav a {
    color: rgba(255, 255, 255, 0.8);
    font-size: 0.8rem;
    font-weight: 800;
    letter-spacing: 0.16em;
    text-transform: uppercase;
}

.site-nav a:hover,
.site-nav a.active {
    color: #f9f1e2 !important;
}

.site-nav a::after {
    bottom: -12px;
    background: linear-gradient(90deg, rgba(215, 163, 90, 0), rgba(215, 163, 90, 1), rgba(215, 163, 90, 0));
}

.site-nav__item {
    position: relative;
}

.site-nav__trigger {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    margin: 0;
    padding: 0;
    border: 0;
    color: rgba(255, 255, 255, 0.8);
    background: transparent;
    font-size: 0.8rem;
    font-weight: 800;
    letter-spacing: 0.16em;
    line-height: 1;
    text-transform: uppercase;
    transition: color var(--ll-transition);
}

.site-nav__trigger i {
    font-size: 0.68rem;
    transition: transform var(--ll-transition);
}

.site-nav__item--has-children:hover > .site-nav__trigger,
.site-nav__item--has-children:focus-within > .site-nav__trigger,
.site-nav__item--has-children.is-open > .site-nav__trigger {
    color: #f9f1e2;
}

.site-nav__item--has-children:hover > .site-nav__trigger i,
.site-nav__item--has-children:focus-within > .site-nav__trigger i,
.site-nav__item--has-children.is-open > .site-nav__trigger i {
    transform: rotate(180deg);
}

.site-nav__dropdown {
    position: absolute;
    top: calc(100% + 18px);
    left: 50%;
    z-index: 8;
    display: grid;
    gap: 6px;
    min-width: 340px;
    margin: 0;
    padding: 14px;
    border: 1px solid rgba(255, 255, 255, 0.1);
    border-radius: 20px;
    background: rgba(14, 10, 15, 0.98);
    box-shadow: 0 28px 54px rgba(8, 4, 8, 0.44);
    list-style: none;
    opacity: 0;
    pointer-events: none;
    transform: translateX(-50%) translateY(8px);
    transition: opacity var(--ll-transition), transform var(--ll-transition);
}

.site-nav__item--has-children:hover > .site-nav__dropdown,
.site-nav__item--has-children:focus-within > .site-nav__dropdown,
.site-nav__item--has-children.is-open > .site-nav__dropdown {
    opacity: 1;
    pointer-events: auto;
    transform: translateX(-50%) translateY(0);
}

.site-nav__dropdown .site-nav__item {
    width: 100%;
}

.site-nav__dropdown a {
    width: 100%;
    padding: 12px 14px;
    border-radius: 14px;
    color: rgba(255, 255, 255, 0.84);
    font-size: 0.78rem;
    letter-spacing: 0.06em;
    text-decoration: none;
    text-transform: none;
}

.site-nav__dropdown a::after {
    display: none;
}

.site-nav__dropdown a:hover {
    color: #ffffff !important;
    background: rgba(177, 31, 55, 0.18);
}

.site-header__actions {
    gap: 12px;
}

.site-header__cta {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 44px;
    padding: 0 18px;
    border: 1px solid rgba(215, 163, 90, 0.34);
    border-radius: 999px;
    color: #f9f1e2;
    background: linear-gradient(135deg, rgba(215, 163, 90, 0.2), rgba(124, 21, 42, 0.18));
    font-size: 0.78rem;
    font-weight: 800;
    letter-spacing: 0.12em;
    text-decoration: none;
    text-transform: uppercase;
    transition: transform var(--ll-transition), border-color var(--ll-transition), background var(--ll-transition);
}

.site-header__cta:hover {
    color: #ffffff;
    border-color: rgba(177, 31, 55, 0.7);
    background: linear-gradient(135deg, #b11f37, #7c152a);
    transform: translateY(-2px);
}

.site-header__cta--icon {
    width: 44px;
    min-width: 44px;
    min-height: 44px;
    padding: 0;
    border-radius: 50%;
    font-size: 1rem;
    letter-spacing: 0;
}

.site-menu-toggle {
    background: rgba(255, 255, 255, 0.08);
}

.site-menu-toggle span {
    background: #ffffff;
}

.ll-btn {
    min-height: 52px;
    padding: 0 24px;
    font-size: 0.88rem;
    font-weight: 800;
    letter-spacing: 0.04em;
    text-transform: uppercase;
}

.ll-btn--primary {
    color: #ffffff;
    background: linear-gradient(135deg, #b11f37, #7c152a);
    box-shadow: 0 20px 34px rgba(124, 21, 42, 0.24);
}

.ll-btn--primary:hover {
    color: #ffffff !important;
    box-shadow: 0 26px 40px rgba(124, 21, 42, 0.34);
}

.ll-btn--secondary {
    color: #ffffff;
    border-color: rgba(255, 255, 255, 0.18);
    background: rgba(255, 255, 255, 0.08);
}

.ll-btn--secondary:hover {
    color: #ffffff;
    border-color: rgba(255, 255, 255, 0.3);
    background: rgba(255, 255, 255, 0.16);
}

.ll-btn--dark {
    color: #231c24;
    border-color: rgba(35, 28, 36, 0.14);
    background: #ffffff;
}

.ll-btn--dark:hover {
    color: #231c24;
    border-color: rgba(35, 28, 36, 0.28);
    background: #f5efea;
}

.dmsp-hero {
    padding: 142px 0 48px;
    background:
        radial-gradient(circle at top left, rgba(177, 31, 55, 0.14), transparent 32%),
        linear-gradient(180deg, #0f0b10 0%, #171117 100%);
}

.dmsp-slider {
    position: relative;
}

.dmsp-slider__viewport {
    overflow: hidden;
    border-radius: 36px;
}

.dmsp-slider__track {
    display: flex;
    gap: 24px;
}

.dmsp-slide {
    display: flex;
    min-width: 100%;
    padding: 34px;
    border: 1px solid rgba(255, 255, 255, 0.08);
    border-radius: 36px;
    box-shadow: 0 30px 70px rgba(5, 4, 8, 0.34);
}

.dmsp-slide--photo {
    background: linear-gradient(135deg, #141014 0%, #22161a 100%);
}

.dmsp-slide--event {
    background:
        linear-gradient(135deg, rgba(10, 8, 10, 0.88), rgba(23, 17, 23, 0.96)),
        url('../image/bg-header.png') center center / cover no-repeat;
}

.dmsp-slide--order {
    background: linear-gradient(180deg, #fffefd 0%, #f8f1eb 100%);
}

.dmsp-slide__grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(320px, 0.88fr);
    align-items: center;
    gap: 36px;
    width: 100%;
}

.dmsp-slide__copy {
    display: grid;
    gap: 18px;
}

.dmsp-slide__eyebrow {
    color: var(--ll-gold-strong);
    font-size: 0.84rem;
    font-weight: 800;
    letter-spacing: 0.18em;
    text-transform: uppercase;
}

.dmsp-slide__title {
    margin: 0;
    color: #ffffff;
    font-size: clamp(2.6rem, 4vw, 4.9rem);
    line-height: 0.94;
}

.dmsp-slide--order .dmsp-slide__title,
.dmsp-slide--order .dmsp-slide__body,
.dmsp-slide--order .dmsp-slide__highlight,
.dmsp-slide--order .dmsp-slide__badges li {
    color: #181117;
}

.dmsp-slide__highlight {
    margin: 0;
    color: #f0d39d;
    font-size: clamp(1.15rem, 1.7vw, 1.45rem);
    font-weight: 800;
    line-height: 1.2;
}

.dmsp-slide__body {
    max-width: 640px;
    margin: 0;
    color: rgba(255, 255, 255, 0.8);
    font-size: 1rem;
}

.dmsp-slide__badges {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    margin: 2px 0 0;
    padding: 0;
    list-style: none;
}

.dmsp-slide__badges li {
    display: inline-flex;
    align-items: center;
    min-height: 40px;
    padding: 0 16px;
    border: 1px solid rgba(255, 255, 255, 0.12);
    border-radius: 999px;
    color: rgba(255, 255, 255, 0.84);
    background: rgba(255, 255, 255, 0.06);
    font-size: 0.84rem;
    font-weight: 700;
}

.dmsp-slide--order .dmsp-slide__badges li {
    border-color: rgba(35, 28, 36, 0.12);
    background: rgba(124, 21, 42, 0.06);
}

.dmsp-slide__actions {
    display: flex;
    flex-wrap: wrap;
    gap: 14px;
    margin-top: 10px;
}

.dmsp-slide__media {
    position: relative;
    min-height: 420px;
}

.dmsp-slide__media img {
    width: 100%;
    height: 100%;
    border-radius: 28px;
    object-fit: cover;
}

.dmsp-slide--photo .dmsp-slide__media img {
    box-shadow: 0 24px 54px rgba(0, 0, 0, 0.24);
}

.dmsp-slide--event .dmsp-slide__media img {
    object-fit: contain;
    padding: 22px;
    background: rgba(0, 0, 0, 0.18);
}

.dmsp-slide--order .dmsp-slide__media img {
    object-fit: contain;
}

.dmsp-slider__control {
    position: absolute;
    top: 50%;
    z-index: 3;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 58px;
    height: 58px;
    margin: 0;
    padding: 0;
    border: 0;
    border-radius: 50%;
    color: #231c24;
    background: rgba(255, 255, 255, 0.9);
    box-shadow: 0 14px 30px rgba(0, 0, 0, 0.18);
    transform: translateY(-50%);
    transition: transform var(--ll-transition), background var(--ll-transition), color var(--ll-transition);
}

.dmsp-slider__control:hover {
    color: #7c152a;
    background: #ffffff;
    transform: translateY(-50%) scale(1.03);
}

.dmsp-slider__control--prev {
    left: 18px;
}

.dmsp-slider__control--next {
    right: 18px;
}

.dmsp-section {
    padding: 104px 0;
}

.dmsp-section--light {
    background: linear-gradient(180deg, #f6f1ed 0%, #f1e9e2 100%);
}

.dmsp-section--white {
    background: #ffffff;
}

.dmsp-section--news {
    background: linear-gradient(180deg, #fbf8f5 0%, #f4efeb 100%);
}

.dmsp-section--ceod {
    background:
        radial-gradient(circle at top right, rgba(225, 194, 127, 0.12), transparent 24%),
        linear-gradient(180deg, rgba(12, 10, 12, 0.42), rgba(12, 10, 12, 0.48)),
        url('../image/bg-header.png') center center / cover no-repeat;
}

.dmsp-section--order {
    background:
        linear-gradient(180deg, #ffffff 0%, #ffffff 72%, rgba(124, 21, 42, 0.06) 72%, rgba(124, 21, 42, 0.1) 100%);
}

.dmsp-section--contact {
    background:
        linear-gradient(180deg, #f4efeb 0%, #efe4dc 100%);
}

.dmsp-section__intro,
.dmsp-section__heading {
    margin-bottom: 44px;
}

.dmsp-section__intro .section-heading__body {
    margin: 0;
}

.gcesp-panel {
    display: grid;
    grid-template-columns: minmax(0, 1.12fr) minmax(320px, 0.88fr);
    gap: 26px;
    margin-bottom: 28px;
}

.gcesp-panel__copy,
.gcesp-panel__highlight {
    padding: 32px;
    border: 1px solid var(--ll-border);
    border-radius: 28px;
    background: rgba(255, 255, 255, 0.72);
    box-shadow: var(--ll-shadow);
}

.gcesp-panel__copy p,
.gcesp-panel__highlight p {
    margin: 0 0 14px;
}

.gcesp-panel__copy p:last-child,
.gcesp-panel__highlight p:last-child {
    margin-bottom: 0;
}

.gcesp-panel__actions {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    margin-top: 24px;
}

.gcesp-panel__badge {
    display: inline-flex;
    margin-bottom: 18px;
    padding: 10px 14px;
    border-radius: 999px;
    color: #ffffff;
    background: #7c152a;
    font-size: 0.78rem;
    font-weight: 800;
    letter-spacing: 0.14em;
    text-transform: uppercase;
}

.gcesp-panel__highlight h3 {
    margin-bottom: 14px;
    color: #181117;
    font-size: clamp(1.8rem, 2.4vw, 2.7rem);
    line-height: 1;
}

.gcesp-metrics {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 18px;
    margin-bottom: 24px;
}

.gcesp-metric {
    display: grid;
    gap: 8px;
    padding: 28px 20px;
    border-radius: 24px;
    background: #181117;
    box-shadow: 0 22px 40px rgba(12, 8, 12, 0.18);
    text-align: center;
    color: inherit;
    text-decoration: none;
    transition: transform var(--ll-transition), box-shadow var(--ll-transition), background var(--ll-transition);
}

.gcesp-metric:hover {
    transform: translateY(-4px);
    background: #241821;
    box-shadow: 0 28px 48px rgba(12, 8, 12, 0.24);
}

.gcesp-metric strong {
    color: var(--ll-gold-strong);
    font-size: clamp(1.8rem, 2vw, 2.6rem);
    font-weight: 800;
    line-height: 1;
}

.gcesp-metric span {
    color: rgba(255, 255, 255, 0.82);
    font-size: 0.9rem;
    font-weight: 700;
}

.gcesp-pillars {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
    gap: 18px;
}

.gcesp-leadership {
    margin-top: 38px;
    scroll-margin-top: 140px;
}

.gcesp-leadership__intro {
    max-width: 760px;
    margin-bottom: 22px;
}

.gcesp-leadership__intro h3 {
    margin: 10px 0 10px;
    color: #181117;
    font-size: clamp(1.8rem, 2.2vw, 2.4rem);
    letter-spacing: -0.05em;
}

.gcesp-leadership__intro p {
    margin: 0;
    color: var(--ll-text);
}

.gcesp-pillar {
    display: grid;
    padding: 28px;
    border: 1px solid var(--ll-border);
    border-radius: 24px;
    background: #ffffff;
    color: inherit;
    text-decoration: none;
    transition: transform var(--ll-transition), box-shadow var(--ll-transition), border-color var(--ll-transition);
}

.gcesp-pillar:hover {
    transform: translateY(-4px);
    border-color: rgba(124, 21, 42, 0.18);
    box-shadow: 0 24px 44px rgba(13, 9, 13, 0.12);
}

.gcesp-pillar__icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 54px;
    height: 54px;
    margin-bottom: 20px;
    border-radius: 18px;
    color: #7c152a;
    background: rgba(124, 21, 42, 0.08);
    font-size: 1.2rem;
}

.gcesp-pillar h3,
.anuario-card h3,
.news-card h3,
.order-value h3,
.delivery-card__phase,
.ceod-banner h2 {
    letter-spacing: -0.05em;
}

.gcesp-pillar h3 {
    margin-bottom: 10px;
    color: #181117;
    font-size: 1.45rem;
}

.gcesp-pillar p {
    margin: 0;
    color: #000000;
}

.anuario-grid {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 18px;
}

.anuario-card {
    display: grid;
    gap: 14px;
    justify-items: center;
    padding: 28px 20px;
    border-radius: 28px;
    background: #fffaf7;
    box-shadow: 0 18px 38px rgba(35, 28, 36, 0.08);
    text-align: center;
}

.anuario-card__icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 92px;
    height: 92px;
}

.anuario-card strong {
    color: #181117;
    font-size: clamp(2rem, 2.2vw, 2.8rem);
    font-weight: 800;
    line-height: 0.92;
}

.anuario-card h3 {
    margin: 0;
    color: #231c24;
    font-size: 1.18rem;
}

.anuario-card p {
    margin: 0;
    font-size: 0.92rem;
}

.news-grid {
    display: grid;
    grid-template-columns: 1.2fr 0.95fr;
    grid-template-rows: repeat(2, minmax(220px, 1fr));
    gap: 18px;
}

.news-card {
    position: relative;
    display: flex;
    flex-direction: column;
    min-height: 240px;
    overflow: hidden;
    border-radius: 30px;
    border: 1px solid rgba(255, 255, 255, 0.08);
    background: #161114;
    color: #ffffff;
    box-shadow: 0 30px 70px rgba(12, 16, 24, 0.14);
    isolation: isolate;
    transition: transform 220ms ease, box-shadow 220ms ease;
}

.news-card::before {
    content: '';
    position: absolute;
    inset: 0;
    background:
        linear-gradient(180deg, rgba(14, 10, 13, 0.18) 0%, rgba(14, 10, 13, 0.26) 26%, rgba(14, 10, 13, 0.88) 100%),
        radial-gradient(circle at top right, rgba(240, 211, 157, 0.2), transparent 36%),
        var(--news-card-image, linear-gradient(135deg, #2a1d25 0%, #514049 100%)) center center / cover no-repeat;
    z-index: 0;
    transform: scale(1.01);
    transition: transform 280ms ease, filter 280ms ease;
}

.news-card > * {
    position: relative;
    z-index: 1;
}

.news-card:hover {
    transform: translateY(-6px);
    box-shadow: 0 34px 72px rgba(12, 16, 24, 0.24);
}

.news-card:hover::before {
    transform: scale(1.05);
    filter: saturate(1.06);
}

.news-card--featured {
    grid-row: 1 / span 2;
    min-height: 458px;
}

.news-card__link {
    display: flex;
    flex: 1 1 auto;
    flex-direction: column;
    justify-content: space-between;
    gap: 24px;
    min-height: 100%;
    padding: 26px;
    color: inherit;
    text-decoration: none;
}

.news-card__meta {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 12px;
    flex-wrap: wrap;
}

.news-card__category {
    display: inline-flex;
    align-items: center;
    min-height: 38px;
    padding: 0 14px;
    border: 1px solid rgba(255, 255, 255, 0.16);
    border-radius: 999px;
    background: rgba(124, 21, 42, 0.48);
    color: #f6deb1;
    font-size: 0.78rem;
    font-weight: 800;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    backdrop-filter: blur(12px);
}

.news-card__date {
    display: inline-flex;
    align-items: center;
    min-height: 38px;
    padding: 0 14px;
    border: 1px solid rgba(255, 255, 255, 0.12);
    border-radius: 999px;
    background: rgba(15, 11, 16, 0.4);
    color: rgba(255, 255, 255, 0.82);
    font-size: 0.78rem;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    backdrop-filter: blur(12px);
}

.news-card__content {
    display: grid;
    gap: 10px;
    width: min(100%, 44ch);
    max-width: 44ch;
    padding: 22px 22px 20px;
    border: 1px solid rgba(255, 255, 255, 0.4);
    border-radius: 28px;
    background: linear-gradient(180deg, rgba(255, 255, 255, 0.88), rgba(255, 255, 255, 0.74));
    box-shadow: 0 18px 36px rgba(9, 10, 16, 0.16);
    backdrop-filter: blur(16px);
    -webkit-backdrop-filter: blur(16px);
}

.news-card__content h3,
.news-card__content p {
    text-shadow: none;
}

.news-card h3 {
    margin: 0;
    color: #181117 !important;
    font-size: clamp(1.9rem, 2.3vw, 3rem);
    line-height: 0.96;
    text-wrap: balance;
}

.news-card--stacked h3 {
    font-size: clamp(1.4rem, 1.75vw, 2rem);
    line-height: 1.02;
}

.news-card p {
    max-width: 36ch;
    margin: 0;
    color: rgba(24, 17, 23, 0.86) !important;
    display: -webkit-box;
    overflow: hidden;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3;
}

.news-card--featured p {
    max-width: 40ch;
    font-size: 1rem;
    -webkit-line-clamp: 4;
}

.news-card__cta {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    justify-self: flex-start;
    align-self: flex-start;
    min-height: 44px;
    padding: 0 16px;
    border: 1px solid rgba(124, 21, 42, 0.18);
    border-radius: 999px;
    background: rgba(124, 21, 42, 0.94);
    color: #ffffff;
    font-size: 0.88rem;
    font-weight: 800;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    backdrop-filter: blur(12px);
}

.news-card__cta i {
    transition: transform 180ms ease;
}

.news-card:hover .news-card__cta i {
    transform: translateX(4px);
}

.news-grid__footer {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
    margin-top: 24px;
}

.news-grid__footer p {
    max-width: 720px;
    margin: 0;
}

.ceod-banner {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(260px, 360px);
    align-items: center;
    gap: 28px;
    padding: 42px;
    border: 1px solid rgba(255, 255, 255, 0.08);
    border-radius: 36px;
    background: rgba(0, 0, 0, 0.18);
}

.ceod-banner__eyebrow {
    display: inline-flex;
    margin-bottom: 16px;
    color: #f09aa6;
    font-size: 0.9rem;
    font-weight: 800;
    letter-spacing: 0.16em;
    text-transform: uppercase;
}

.ceod-banner h2 {
    margin-bottom: 16px;
    color: #ffffff;
    font-size: clamp(2.1rem, 3.2vw, 3.7rem);
    line-height: 0.96;
}

.ceod-banner p {
    max-width: 620px;
    margin: 0 0 22px;
    color: rgba(255, 255, 255, 0.82);
}

.ceod-banner__meta {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    margin-bottom: 24px;
}

.ceod-banner__meta span {
    display: inline-flex;
    min-height: 40px;
    padding: 0 14px;
    border-radius: 999px;
    color: #f4ece0;
    background: rgba(255, 255, 255, 0.08);
    font-size: 0.84rem;
    font-weight: 700;
    align-items: center;
}

.ceod-banner__badge {
    display: flex;
    justify-content: center;
}

.ceod-banner__badge img {
    width: min(100%, 320px);
    height: auto;
    object-fit: contain;
}

.order-panel {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(320px, 0.92fr);
    align-items: center;
    gap: 28px;
    margin-bottom: 24px;
}

.order-panel__copy p {
    max-width: 720px;
    margin: 0 0 14px;
    color: #111111;
}

.order-panel__ages {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    margin: 24px 0;
}

.order-panel__ages a {
    display: grid;
    gap: 4px;
    min-height: 84px;
    padding: 16px 18px;
    border-radius: 22px;
    color: #7c152a;
    background: rgba(124, 21, 42, 0.08);
    text-align: left;
    text-decoration: none;
    transition: transform var(--ll-transition), background var(--ll-transition), color var(--ll-transition), box-shadow var(--ll-transition);
}

.order-panel__ages a strong,
.order-panel__ages a small {
    display: block;
}

.order-panel__ages a strong {
    font-size: 0.92rem;
    font-weight: 800;
    letter-spacing: 0.02em;
}

.order-panel__ages a small {
    color: rgba(124, 21, 42, 0.78);
    font-size: 0.74rem;
    font-weight: 700;
    letter-spacing: 0.04em;
    text-transform: uppercase;
}

.order-panel__ages a:hover {
    color: #ffffff;
    background: linear-gradient(135deg, #b11f37, #7c152a);
    box-shadow: 0 18px 30px rgba(124, 21, 42, 0.2);
    transform: translateY(-2px);
}

.order-panel__ages a:hover small {
    color: rgba(255, 255, 255, 0.78);
}

.order-panel__visual {
    display: flex;
    justify-content: center;
}

.order-panel__visual img {
    width: min(100%, 540px);
    height: auto;
}

.order-values {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 18px;
}

.order-value {
    padding: 24px;
    border-radius: 24px;
    background: #ffffff;
    box-shadow: 0 16px 34px rgba(35, 28, 36, 0.08);
}

.order-value h3 {
    margin-bottom: 10px;
    color: #181117;
    font-size: 1.32rem;
}

.order-value p {
    margin: 0;
}

.dmsp-contact-panel {
    background:
        linear-gradient(180deg, rgba(255, 255, 255, 0.94), rgba(255, 255, 255, 0.98)),
        radial-gradient(circle at top left, rgba(215, 163, 90, 0.14), transparent 22%);
}

.dmsp-contact-points .delivery-card a {
    color: #7c152a;
    font-weight: 700;
    text-decoration: none;
}

.dmsp-contact-points .delivery-card a:hover {
    text-decoration: underline;
}

.regional-page__intro {
    margin-bottom: 28px;
}

.regional-stats {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 18px;
    margin-bottom: 28px;
}

.regional-stat {
    display: grid;
    gap: 8px;
    padding: 24px;
    border-radius: 24px;
    background: #181117;
    box-shadow: 0 18px 36px rgba(12, 8, 12, 0.16);
    text-align: center;
}

.regional-stat strong {
    color: var(--ll-gold-strong);
    font-size: clamp(1.6rem, 2vw, 2.4rem);
    font-weight: 800;
    line-height: 1;
}

.regional-stat span {
    color: rgba(255, 255, 255, 0.82);
    font-size: 0.88rem;
    font-weight: 700;
}

.regional-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
    gap: 18px;
}

.leadership-page__cta {
    margin-top: 36px;
}

.regional-card {
    display: grid;
    gap: 14px;
    padding: 24px;
    border: 1px solid var(--ll-border);
    border-radius: 24px;
    background: #ffffff;
    box-shadow: 0 18px 38px rgba(35, 28, 36, 0.08);
}

.regional-card__eyebrow {
    color: #7c152a;
    font-size: 0.78rem;
    font-weight: 800;
    letter-spacing: 0.12em;
    text-transform: uppercase;
}

.regional-card h3 {
    color: #181117;
    font-size: 1.4rem;
    letter-spacing: -0.05em;
}

.regional-card__role,
.regional-card__chapters {
    margin: 0;
}

.regional-card__role {
    color: #231c24;
    font-weight: 800;
}

.regional-card__chapters {
    font-size: 0.94rem;
}

.regional-card__cta {
    width: 100%;
    justify-content: center;
}

.site-footer {
    background:
        linear-gradient(180deg, rgba(42, 9, 14, 0.16), rgba(42, 9, 14, 0.3)),
        url('../image/bg-footer.png') center center / cover no-repeat;
}

.site-footer__statement-line--accent {
    color: #ffffff;
}

.site-footer__statement h2 {
    font-family: 'Manrope', 'Segoe UI', sans-serif;
    font-weight: 800;
    letter-spacing: -0.06em;
}

.site-footer__statement-line--muted,
.site-footer__col p,
.site-footer__links a,
.site-footer__bottom p,
.site-footer__policies a {
    color: rgba(255, 255, 255, 0.72);
}

.site-footer__social a {
    color: #ffffff;
    background: rgba(255, 255, 255, 0.08);
}

.site-footer__social a:hover {
    color: #140f14;
    background: var(--ll-gold-strong);
}

@media (max-width: 1199px) {
    .site-header__cta {
        display: none;
    }

    .dmsp-slide {
        padding: 26px;
    }

    .dmsp-slide__grid,
    .gcesp-panel,
    .ceod-banner,
    .order-panel {
        grid-template-columns: 1fr;
    }

    .dmsp-slide__badges,
    .dmsp-slide__actions,
    .gcesp-panel__actions,
    .ceod-banner__meta,
    .order-panel__ages {
        display: grid;
        grid-template-columns: 1fr;
    }

    .dmsp-slide__badges li,
    .ceod-banner__meta span,
    .order-panel__ages a {
        width: 100%;
        justify-content: flex-start;
    }

    .gcesp-metrics,
    .anuario-grid,
    .order-values,
    .regional-stats {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .gcesp-pillars {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 991px) {
    .site-header {
        position: sticky;
        top: 12px;
        inset: auto;
        margin: 12px 0 20px;
    }

    .hero-home {
        min-height: auto;
        padding: 64px 0 110px;
    }

    .hero-legal {
        min-height: 420px;
        padding: 72px 0 92px;
    }

    .site-logo img {
        width: 126px;
        height: 126px;
        flex-basis: 126px;
    }

    .dmsp-slide__badges,
    .dmsp-slide__actions,
    .gcesp-panel__actions,
    .ceod-banner__meta,
    .order-panel__ages {
        display: grid;
        grid-template-columns: 1fr;
    }

    .dmsp-slide__badges li,
    .ceod-banner__meta span,
    .order-panel__ages a {
        width: 100%;
        justify-content: flex-start;
    }

    .site-header__surface {
        position: relative;
        justify-items: center;
        gap: 10px;
        grid-template-columns: 1fr;
        padding: 18px 20px 14px;
    }

    .site-nav {
        width: 100%;
        grid-column: 1;
    }

    .site-logo {
        width: 100%;
        justify-content: center;
        margin: 0 auto;
    }

    .site-header__actions {
        position: absolute;
        top: 18px;
        right: 20px;
        display: inline-flex !important;
        width: auto;
        justify-content: flex-end;
        gap: 10px;
    }

    .site-header__cta {
        display: inline-flex !important;
        width: 46px;
        min-width: 46px;
        min-height: 46px;
    }

    .site-menu-toggle {
        display: none !important;
    }

    #mobile-menu {
        position: static;
        display: grid !important;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        justify-items: center;
        gap: 10px 18px;
        max-width: 460px;
        width: 100%;
        margin: 0 auto;
        padding: 0;
        border: 0;
        border-radius: 0;
        background: transparent;
        box-shadow: none;
    }

    #mobile-menu li {
        display: flex;
        justify-content: center;
        width: 100%;
    }

    #mobile-menu > li:last-child:nth-child(odd) {
        grid-column: 1 / -1;
    }

    .site-nav__item--has-children {
        width: 100%;
        text-align: center;
    }

    .site-nav__trigger {
        justify-content: center;
        width: 100%;
        font-size: 0.8rem;
        line-height: 1.15;
    }

    .site-nav__dropdown {
        position: static;
        left: auto;
        display: none;
        min-width: 0;
        margin-top: 10px;
        padding: 10px;
        opacity: 1;
        pointer-events: auto;
        transform: none;
    }

    .site-nav__item--has-children:hover > .site-nav__dropdown,
    .site-nav__item--has-children:focus-within > .site-nav__dropdown {
        display: none;
    }

    .site-nav__item--has-children.is-open > .site-nav__dropdown {
        display: grid;
    }

    #mobile-menu a {
        width: 100%;
        justify-content: center;
        padding: 0;
        font-size: 0.8rem;
        line-height: 1.15;
    }

    .site-header.is-compact {
        margin-bottom: 12px;
    }

    .site-header.is-compact .site-header__surface {
        grid-template-columns: 1fr auto 1fr;
        align-items: center;
        gap: 12px;
        padding: 12px 14px;
        border-radius: 24px;
    }

    .site-header.is-compact .site-logo {
        grid-column: 2;
        grid-row: 1;
        width: auto;
    }

    .site-header.is-compact .site-logo img {
        width: 54px;
        height: 54px;
        flex-basis: 54px;
    }

    .site-header.is-compact .site-nav {
        grid-column: 1 / -1;
        grid-row: 2;
    }

    .site-header.is-compact .site-header__actions {
        position: static;
        grid-column: 3;
        grid-row: 1;
        width: 100%;
        justify-content: flex-end;
    }

    .site-header.is-compact .site-menu-toggle {
        display: inline-flex !important;
    }

    .site-header.is-compact #mobile-menu {
        display: none !important;
    }

    .site-header.is-compact #mobile-menu.is-open {
        display: grid !important;
        margin-top: 6px;
        padding: 16px 18px;
        border: 1px solid rgba(255, 255, 255, 0.08);
        border-radius: 22px;
        background: rgba(12, 10, 12, 0.98);
        box-shadow: 0 24px 44px rgba(8, 4, 8, 0.34);
    }

    .dmsp-hero {
        padding-top: 28px;
    }

    .dmsp-slide__title,
    .ceod-banner h2 {
        font-size: clamp(2rem, 7vw, 3.4rem);
    }

    .news-grid,
    .order-values,
    .regional-stats,
    .regional-grid {
        grid-template-columns: 1fr;
    }

    .news-card--featured {
        grid-row: auto;
    }

    .news-card,
    .news-card--featured {
        min-height: 320px;
    }

    .news-card__link {
        padding: 22px;
    }

    .news-grid__footer {
        flex-direction: column;
        align-items: flex-start;
    }

    .site-footer__bottom {
        align-items: center;
        text-align: center;
    }

    .site-footer__logo {
        width: 136px;
        max-width: min(54vw, 180px);
        margin: 0 auto;
    }
}

@media (max-width: 767px) {
    .ll-shell {
        width: min(100% - 28px, 1760px);
    }

    .site-header {
        margin: 10px 0 18px;
    }

    .site-header__surface {
        gap: 9px;
        padding: 16px 16px 12px;
        border-radius: 28px;
    }

    .site-header__actions {
        top: 16px;
        right: 16px;
    }

    .site-logo img {
        width: 111px;
        height: 111px;
        flex-basis: 111px;
    }

    #mobile-menu {
        gap: 9px 16px;
    }

    #mobile-menu a,
    .site-nav__trigger {
        font-size: 0.76rem;
        line-height: 1.15;
    }

    .hero-home {
        padding: 48px 0 78px;
    }

    .hero-legal {
        min-height: 360px;
        padding: 56px 0 72px;
    }

    .site-header.is-compact .site-header__surface {
        padding: 11px 12px;
    }

    .site-header.is-compact .site-logo img {
        width: 48px;
        height: 48px;
        flex-basis: 48px;
    }

    .dmsp-slide {
        padding: 22px 18px;
        border-radius: 28px;
    }

    .dmsp-slider__viewport {
        border-radius: 28px;
    }

    .dmsp-slide__grid {
        gap: 24px;
    }

    .dmsp-slide__badges,
    .dmsp-slide__actions,
    .gcesp-panel__actions,
    .ceod-banner__meta,
    .order-panel__ages {
        display: grid;
        grid-template-columns: 1fr;
    }

    .dmsp-slide__badges li,
    .ceod-banner__meta span,
    .order-panel__ages a {
        width: 100%;
        justify-content: flex-start;
    }

    .dmsp-slide__media {
        min-height: auto;
    }

    .dmsp-slide__media img {
        min-height: 260px;
    }

    .dmsp-slider__control {
        top: auto;
        bottom: 16px;
        width: 48px;
        height: 48px;
        transform: none;
    }

    .dmsp-slider__control:hover {
        transform: scale(1.03);
    }

    .dmsp-slider__control--prev {
        left: 16px;
    }

    .dmsp-slider__control--next {
        right: 16px;
    }

    .gcesp-metrics,
    .anuario-grid {
        grid-template-columns: 1fr;
    }

    .ceod-banner,
    .gcesp-panel__copy,
    .gcesp-panel__highlight {
        padding: 26px 20px;
    }

    .contact-panel,
    .dmsp-contact-panel {
        padding: 26px 20px;
    }

    .site-footer__bottom {
        gap: 18px;
    }

    .site-footer__logo {
        width: 150px;
        max-width: min(60vw, 190px);
    }
}

@media (max-width: 479px) {
    .site-header__surface {
        gap: 8px;
        padding: 14px 14px 12px;
    }

    .site-logo img {
        width: 102px;
        height: 102px;
        flex-basis: 102px;
    }

    #mobile-menu {
        gap: 8px 14px;
    }

    .site-header__actions {
        top: 14px;
        right: 14px;
    }

    .site-header__cta {
        width: 42px;
        min-width: 42px;
        min-height: 42px;
    }

    .dmsp-hero {
        padding-top: 20px;
    }

    .dmsp-slide__badges,
    .gcesp-panel__actions,
    .ceod-banner__meta,
    .order-panel__ages,
    .dmsp-slide__actions {
        flex-direction: column;
        align-items: stretch;
    }

    .ll-btn {
        width: 100%;
    }

    .site-header.is-compact .site-header__surface {
        padding: 10px 12px;
    }

    .site-header.is-compact .site-logo img {
        width: 44px;
        height: 44px;
        flex-basis: 44px;
    }

    .site-header.is-compact .site-header__cta,
    .site-header.is-compact .site-menu-toggle {
        width: 40px;
        min-width: 40px;
        min-height: 40px;
    }

    .site-footer__logo {
        width: 142px;
        max-width: 62vw;
    }
}

.page-home .dmsp-slide__title {
    color: #ffffff !important;
}

.page-home .dmsp-slide--order .dmsp-slide__title {
    color: #181117 !important;
}

.page-home .ceod-banner h2 {
    color: #ffffff !important;
}

.page-home .ll-btn--primary,
.page-home .ll-btn--primary:hover,
.page-home .ll-btn--primary:focus {
    color: #ffffff !important;
}

.page-home .ll-btn--secondary,
.page-home .ll-btn--secondary:hover,
.page-home .ll-btn--secondary:focus {
    color: rgba(255, 255, 255, 0.88) !important;
}

.page-articles .page-inner__content-shell {
    display: grid;
    gap: 34px;
}

.articles-page {
    display: grid;
    gap: 34px;
}

.articles-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 22px;
}

.article-card {
    display: grid;
    grid-template-rows: auto 1fr;
    overflow: hidden;
    border: 1px solid rgba(16, 35, 49, 0.08);
    border-radius: 32px;
    background:
        linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(251, 246, 241, 0.98)),
        radial-gradient(circle at top right, rgba(124, 21, 42, 0.08), transparent 30%);
    box-shadow: 0 22px 56px rgba(16, 35, 49, 0.08);
    transition: transform var(--ll-transition), box-shadow var(--ll-transition), border-color var(--ll-transition);
}

.article-card:hover {
    transform: translateY(-6px);
    border-color: rgba(124, 21, 42, 0.16);
    box-shadow: 0 30px 64px rgba(16, 35, 49, 0.14);
}

.article-card__media {
    display: block;
    overflow: hidden;
    aspect-ratio: 16 / 10;
    background: linear-gradient(135deg, rgba(16, 35, 49, 0.08), rgba(124, 21, 42, 0.12));
}

.article-card__media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform var(--ll-transition);
}

.article-card:hover .article-card__media img {
    transform: scale(1.03);
}

.article-card__copy {
    display: grid;
    gap: 14px;
    padding: 24px;
}

.article-card__category {
    display: inline-flex;
    align-items: center;
    width: fit-content;
    min-height: 34px;
    padding: 0 12px;
    border-radius: 999px;
    color: #7c152a;
    background: rgba(124, 21, 42, 0.08);
    font-size: 0.74rem;
    font-weight: 800;
    letter-spacing: 0.1em;
    text-transform: uppercase;
}

.article-card__meta {
    display: flex;
    flex-wrap: wrap;
    gap: 10px 14px;
    color: rgba(24, 17, 23, 0.7);
    font-size: 0.77rem;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.page-inner .article-card h2 {
    margin: 0;
    color: #181117;
    font-size: 1.02rem;
    line-height: 1.42;
}

.article-card h2 a {
    color: inherit;
    text-decoration: none;
}

.article-card p {
    margin: 0;
}

.article-card__cta {
    width: fit-content;
    margin-top: 4px;
}

.articles-pagination {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
    align-items: center;
    gap: 16px;
}

.articles-pagination__edge {
    display: flex;
}

.articles-pagination__edge--end {
    justify-content: flex-end;
}

.articles-pagination__pages {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 10px;
}

.articles-pagination__page,
.articles-pagination__arrow {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 48px;
    padding: 0 18px;
    border: 1px solid rgba(16, 35, 49, 0.1);
    border-radius: 999px;
    color: #181117;
    background: rgba(255, 255, 255, 0.92);
    box-shadow: 0 14px 36px rgba(16, 35, 49, 0.07);
    font-size: 0.9rem;
    font-weight: 700;
    text-decoration: none;
    transition: transform var(--ll-transition), box-shadow var(--ll-transition), border-color var(--ll-transition), background var(--ll-transition), color var(--ll-transition);
}

.articles-pagination__arrow {
    gap: 10px;
}

.articles-pagination__page:hover,
.articles-pagination__arrow:hover {
    transform: translateY(-2px);
    border-color: rgba(124, 21, 42, 0.18);
    color: #7c152a;
    background: rgba(124, 21, 42, 0.06);
    box-shadow: 0 18px 42px rgba(16, 35, 49, 0.1);
}

.articles-pagination__page.is-current {
    border-color: transparent;
    color: #ffffff;
    background: linear-gradient(135deg, #b11f37, #7c152a);
    box-shadow: 0 18px 46px rgba(124, 21, 42, 0.24);
}

.article-single {
    display: grid;
    gap: 26px;
}

.article-single__figure {
    overflow: hidden;
    border: 1px solid rgba(16, 35, 49, 0.08);
    border-radius: 38px;
    background:
        linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(248, 240, 234, 0.98)),
        radial-gradient(circle at top right, rgba(124, 21, 42, 0.08), transparent 28%);
    box-shadow: 0 24px 58px rgba(16, 35, 49, 0.1);
}

.article-single__figure img {
    display: block;
    width: 100%;
    max-height: 640px;
    object-fit: cover;
}

.article-single__panel {
    display: grid;
    gap: 22px;
    padding: 34px;
    border: 1px solid rgba(16, 35, 49, 0.08);
    border-radius: 34px;
    background:
        linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(251, 246, 241, 0.98)),
        radial-gradient(circle at top right, rgba(124, 21, 42, 0.08), transparent 30%);
    box-shadow: 0 22px 56px rgba(16, 35, 49, 0.08);
}

.article-single__meta {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
}

.article-single__meta span {
    display: inline-flex;
    align-items: center;
    min-height: 36px;
    padding: 0 14px;
    border-radius: 999px;
    color: rgba(24, 17, 23, 0.76);
    background: rgba(16, 35, 49, 0.05);
    font-size: 0.78rem;
    font-weight: 800;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.article-single__body {
    display: grid;
    gap: 16px;
    color: var(--ll-text);
    font-size: 1.03rem;
    line-height: 1.82;
}

.article-single__body p,
.article-single__body ul,
.article-single__body ol,
.article-single__body blockquote,
.article-single__body h3,
.article-single__body h4 {
    margin: 0;
}

.article-single__body ul,
.article-single__body ol {
    display: grid;
    gap: 10px;
    padding-left: 20px;
}

.article-single__body h3,
.article-single__body h4 {
    color: #181117;
    font-size: 1rem;
    line-height: 1.55;
}

.article-single__body strong {
    color: #181117;
    font-weight: 800;
}

.article-single__body a {
    color: #b11f37;
    text-decoration: underline;
    text-decoration-thickness: 1px;
    text-underline-offset: 0.16em;
}

.article-single__body a:hover {
    color: #7c152a;
}

.article-single__body img {
    display: block;
    width: 100%;
    height: auto;
    border-radius: 22px;
    border: 1px solid rgba(17, 26, 40, 0.08);
    box-shadow: 0 28px 56px rgba(12, 16, 24, 0.16);
}

.article-single__body blockquote {
    padding: 18px 20px;
    border-left: 4px solid rgba(124, 21, 42, 0.4);
    border-radius: 0 22px 22px 0;
    background: rgba(124, 21, 42, 0.05);
    color: #181117;
}

.page-article-single .service-page__cta-copy p {
    color: #000000;
}

.page-article-single .service-page__cta .ll-btn--primary,
.page-article-single .service-page__cta .ll-btn--primary:hover,
.page-article-single .service-page__cta .ll-btn--primary:focus {
    color: #ffffff !important;
}

@media (max-width: 991px) {
    .site-menu-toggle {
        display: inline-flex;
    }
}

@media (max-width: 1399px) {
    .programs-nav,
    .program-section__highlights {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .articles-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .leaders-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}

@media (max-width: 991px) {
    .programs-overview,
    .program-section {
        padding: 28px;
    }

    .programs-nav {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .program-section__highlights {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .program-section__actions {
        display: grid;
        grid-template-columns: 1fr;
    }

    .territory-hero {
        grid-template-columns: 1fr;
    }

    .territory-stats {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .territory-stats--single {
        grid-template-columns: minmax(0, 1fr);
    }

    .territory-highlights,
    .leaders-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .articles-pagination {
        grid-template-columns: 1fr;
    }

    .articles-pagination__edge,
    .articles-pagination__edge--end {
        justify-content: center;
    }

    .article-single__panel {
        padding: 30px;
    }

    .mock-map__canvas,
    .mock-map__frame {
        height: 440px;
        min-height: 440px;
    }
}

@media (max-width: 767px) {
    .programs-overview,
    .program-section {
        padding: 24px 20px;
        border-radius: 28px;
    }

    .programs-nav,
    .program-section__highlights {
        grid-template-columns: 1fr;
    }

    .programs-nav__item {
        min-height: auto;
    }

    .program-section__media {
        aspect-ratio: 1 / 1;
    }

    .program-section__media img {
        padding: 24px;
    }

    .territory-stats,
    .territory-highlights,
    .leaders-grid {
        grid-template-columns: 1fr;
    }

    .articles-grid {
        grid-template-columns: 1fr;
    }

    .article-card__copy,
    .article-single__panel {
        padding: 24px 20px;
    }

    .article-single__figure {
        border-radius: 28px;
    }

    .articles-pagination__arrow,
    .articles-pagination__page {
        min-height: 44px;
        padding: 0 16px;
    }

    .mock-map {
        padding: 14px;
        border-radius: 26px;
    }

    .mock-map__canvas,
    .mock-map__frame {
        height: 360px;
        min-height: 360px;
    }

    .mock-map__state-shape {
        top: 16%;
        left: 10%;
        width: 78%;
        height: 64%;
    }

    .mock-map__pin span {
        font-size: 0.68rem;
    }
}
