:root {
    --ink: #07151f;
    --ink-soft: #0d2533;
    --ink-muted: #24404e;
    --paper: #f4f0e9;
    --paper-bright: #fffdf8;
    --paper-muted: #e8e0d5;
    --copper: #c49170;
    --copper-dark: #8f6045;
    --copper-light: #e5b999;
    --signal: #efb366;
    --white: #ffffff;
    --line-dark: rgba(255, 255, 255, 0.14);
    --line-light: rgba(7, 21, 31, 0.13);
    --shadow: 0 28px 80px rgba(2, 13, 20, 0.18);
    --radius-sm: 10px;
    --radius-md: 20px;
    --radius-lg: 34px;
    --font-display: "Segoe UI Variable Display", "Aptos Display", "Inter", sans-serif;
    --font-body: "Segoe UI Variable Text", "Aptos", "Inter", sans-serif;
    --public-hero-padding-top: 175px;
    --public-hero-padding-bottom: 100px;
    --public-inner-section-padding: clamp(4.5rem, 6vw, 6rem);
    --public-inner-section-gap-half: clamp(2.25rem, 3vw, 3rem);
}

* {
    box-sizing: border-box;
}

html {
    scroll-behavior: smooth;
}

body {
    margin: 0;
    color: var(--ink);
    background: var(--paper);
    font-family: var(--font-body);
    -webkit-font-smoothing: antialiased;
    text-rendering: optimizeLegibility;
}

body,
button,
input,
textarea,
select {
    font-family: var(--font-body);
}

a {
    color: inherit;
    text-decoration: none;
}

img {
    display: block;
    max-width: 100%;
}

p:last-child {
    margin-bottom: 0;
}

.container-xxl {
    max-width: 1440px;
    padding-right: clamp(1.25rem, 4vw, 4rem);
    padding-left: clamp(1.25rem, 4vw, 4rem);
}

.skip-link {
    position: fixed;
    z-index: 9999;
    top: 1rem;
    left: 1rem;
    padding: 0.8rem 1.1rem;
    color: var(--ink);
    background: var(--signal);
    border-radius: var(--radius-sm);
    font-weight: 800;
    transform: translateY(-160%);
    transition: transform 0.2s ease;
}

.skip-link:focus {
    transform: translateY(0);
}

.site-header {
    position: fixed;
    z-index: 1000;
    top: 0;
    right: 0;
    left: 0;
    color: var(--white);
    border-bottom: 1px solid var(--line-dark);
    background: rgba(4, 16, 24, 0.94);
    backdrop-filter: blur(18px);
}

.site-header .navbar {
    min-height: 90px;
    padding: 0;
}

.brand-lockup {
    display: inline-flex;
    align-items: flex-end;
    gap: 0.8rem;
    color: inherit;
}

.brand-logo {
    display: block;
    width: 210px;
    max-width: 100%;
    height: auto;
}

.site-header .brand-logo {
    width: 190px;
}

.site-footer .brand-logo,
.admin-auth-brand .brand-logo {
    width: 230px;
}

.admin-password-header .brand-logo,
.admin-cms-sidebar .brand-logo {
    width: 200px;
}

.brand-symbol {
    display: inline-block;
    position: relative;
    width: 54px;
    height: 40px;
    overflow: hidden;
    flex: 0 0 54px;
}

.brand-symbol img {
    width: 149px;
    height: 40px;
    max-width: none;
    object-fit: contain;
    object-position: left center;
}

.brand-name {
    color: var(--white);
    font-family: var(--font-display);
    font-size: 1.12rem;
    font-weight: 680;
    letter-spacing: -0.035em;
    white-space: nowrap;
}

.brand-name strong {
    color: var(--copper-light);
    font-weight: 820;
}

.site-header .nav-link {
    position: relative;
    padding: 2rem 0.72rem !important;
    color: rgba(255, 255, 255, 0.7);
    font-size: 0.78rem;
    font-weight: 700;
    letter-spacing: 0.035em;
    transition: color 0.2s ease;
}

.site-header .nav-link::after {
    position: absolute;
    right: 0.72rem;
    bottom: 1.6rem;
    left: 0.72rem;
    height: 2px;
    content: "";
    background: var(--copper-light);
    transform: scaleX(0);
    transform-origin: left;
    transition: transform 0.2s ease;
}

.site-header .nav-link:hover,
.site-header .nav-link:focus,
.site-header .nav-link.active {
    color: var(--white);
}

.site-header .nav-link.active::after {
    transform: scaleX(1);
}

.site-header .sector-navigation {
    position: static;
}

.site-header .navigation-submenu {
    top: calc(100% - 0.65rem);
    left: 50%;
    z-index: 1001;
    min-width: 290px;
    margin: 0;
    padding: 0.55rem;
    overflow: hidden;
    color: var(--white);
    border: 1px solid rgba(229, 185, 153, 0.2);
    border-radius: 14px;
    background:
        linear-gradient(145deg, rgba(18, 53, 68, 0.98), rgba(5, 22, 32, 0.99));
    box-shadow: 0 24px 55px rgba(0, 0, 0, 0.34);
    transform: translateX(-50%);
    backdrop-filter: blur(18px);
}

.site-header .navigation-submenu li + li {
    margin-top: 0.2rem;
}

.site-header .navigation-submenu .dropdown-item {
    display: flex;
    min-height: 50px;
    align-items: center;
    gap: 0.7rem;
    padding: 0.78rem 0.9rem;
    color: rgba(255, 255, 255, 0.78);
    border: 1px solid transparent;
    border-radius: 10px;
    background: transparent;
    font-size: 0.82rem;
    font-weight: 760;
    letter-spacing: 0.01em;
    transition:
        color 0.2s ease,
        border-color 0.2s ease,
        background-color 0.2s ease,
        transform 0.2s ease;
}

.site-header .navigation-submenu .dropdown-item::before {
    width: 7px;
    height: 7px;
    flex: 0 0 7px;
    content: "";
    border: 1px solid var(--copper-light);
    border-radius: 50%;
    transition: background-color 0.2s ease;
}

.site-header .navigation-submenu .dropdown-item::after {
    margin-left: auto;
    content: "↗";
    color: var(--copper-light);
    font-size: 0.9rem;
    opacity: 0.65;
    transform: translate(-2px, 2px);
    transition:
        opacity 0.2s ease,
        transform 0.2s ease;
}

.site-header .navigation-submenu .dropdown-item:hover,
.site-header .navigation-submenu .dropdown-item:focus-visible,
.site-header .navigation-submenu .dropdown-item.active,
.site-header .navigation-submenu .dropdown-item:active {
    color: var(--white);
    border-color: rgba(229, 185, 153, 0.2);
    background: rgba(255, 255, 255, 0.09);
    transform: translateX(2px);
}

.site-header .navigation-submenu .dropdown-item:hover::before,
.site-header .navigation-submenu .dropdown-item:focus-visible::before,
.site-header .navigation-submenu .dropdown-item.active::before {
    background: var(--copper-light);
}

.site-header .navigation-submenu .dropdown-item:hover::after,
.site-header .navigation-submenu .dropdown-item:focus-visible::after,
.site-header .navigation-submenu .dropdown-item.active::after {
    opacity: 1;
    transform: translate(0, 0);
}

.site-header .sector-mega-menu {
    top: calc(100% - 1px);
    left: 50%;
    width: min(1180px, calc(100vw - 2rem));
    padding: 0;
    overflow: hidden;
    color: var(--ink);
    border: 1px solid rgba(255, 255, 255, 0.1);
    border-radius: 0 0 var(--radius-md) var(--radius-md);
    background: var(--paper-bright);
    box-shadow: 0 24px 50px rgba(0, 0, 0, 0.28);
    transform: translateX(-50%);
}

.sector-mega-intro {
    display: flex;
    min-height: 210px;
    flex-direction: column;
    padding: 2rem;
    color: var(--white);
    background: linear-gradient(145deg, #0a202d, #123d4d);
}

.sector-mega-intro > span,
.sector-mega-groups h2 {
    color: var(--copper-light);
    font-size: 0.67rem;
    font-weight: 850;
    letter-spacing: 0.12em;
    text-transform: uppercase;
}

.sector-mega-intro strong {
    margin: 0.75rem 0 2rem;
    font-family: var(--font-display);
    font-size: 1.65rem;
    line-height: 1.15;
}

.sector-mega-intro a {
    margin-top: auto;
    color: var(--white);
    font-size: 0.8rem;
    font-weight: 800;
}

.sector-mega-groups {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    padding: 2rem;
}

.sector-mega-groups section {
    padding: 0 1.5rem;
    border-left: 1px solid var(--line-light);
}

.sector-mega-groups h2 {
    margin: 0 0 1rem;
    color: var(--copper-dark);
}

.sector-mega-groups ul {
    display: grid;
    gap: 0.2rem;
    margin: 0;
    padding: 0;
    list-style: none;
}

.sector-mega-groups a {
    display: block;
    padding: 0.45rem 0;
    color: #203b47;
    font-size: 0.84rem;
    font-weight: 720;
    line-height: 1.35;
}

.sector-mega-groups a:hover,
.sector-mega-groups a:focus {
    color: var(--copper-dark);
}

@media (min-width: 1400px) {
    .site-header .sector-mega-menu.show {
        display: grid;
        grid-template-columns: minmax(240px, 0.8fr) 3fr;
    }
}

.header-actions {
    gap: 1.1rem;
    margin-left: 1.2rem;
}

.language-switcher {
    display: inline-flex;
    align-items: center;
    gap: 0.25rem;
    padding: 0.25rem;
    border: 1px solid rgba(255, 255, 255, 0.2);
    border-radius: 999px;
}

.language-switcher a,
.language-switcher span {
    display: grid;
    min-width: 2rem;
    min-height: 2rem;
    place-items: center;
    border-radius: 999px;
    color: rgba(255, 255, 255, 0.82);
    font-size: 0.68rem;
    font-weight: 800;
    letter-spacing: 0.06em;
    text-decoration: none;
}

.language-switcher a:hover,
.language-switcher a:focus,
.language-switcher span[aria-current="page"] {
    background: var(--white);
    color: var(--ink);
}

.language-switcher .disabled {
    cursor: not-allowed;
    opacity: 0.35;
}

.backoffice-link {
    color: rgba(255, 255, 255, 0.72);
    font-size: 0.76rem;
    font-weight: 800;
    letter-spacing: 0.06em;
    text-transform: uppercase;
}

.backoffice-link:hover,
.backoffice-link:focus {
    color: var(--white);
}

.navbar-toggler {
    border-color: rgba(255, 255, 255, 0.35);
}

.navbar-toggler:focus {
    box-shadow: 0 0 0 0.2rem rgba(229, 185, 153, 0.32);
}

.navbar-toggler-icon {
    filter: invert(1) grayscale(1) brightness(2);
}

.button {
    display: inline-flex;
    min-height: 54px;
    align-items: center;
    justify-content: center;
    gap: 0.8rem;
    padding: 0.9rem 1.35rem;
    border: 1px solid transparent;
    border-radius: 999px;
    font-size: 0.86rem;
    font-weight: 800;
    letter-spacing: 0.015em;
    transition: color 0.2s ease, background 0.2s ease, border-color 0.2s ease, transform 0.2s ease;
}

.button:hover,
.button:focus {
    transform: translateY(-2px);
}

.button-primary {
    color: var(--ink);
    background: var(--signal);
}

.button-primary:hover,
.button-primary:focus {
    color: var(--ink);
    background: #ffc57c;
}

.button-dark {
    color: var(--white);
    background: var(--ink);
}

.button-dark:hover,
.button-dark:focus {
    color: var(--white);
    background: var(--ink-muted);
}

.button-ghost-light {
    color: var(--white);
    border-color: rgba(255, 255, 255, 0.35);
    background: rgba(255, 255, 255, 0.04);
}

.button-ghost-light:hover,
.button-ghost-light:focus {
    color: var(--white);
    border-color: rgba(255, 255, 255, 0.7);
    background: rgba(255, 255, 255, 0.08);
}

.button-small {
    min-height: 42px;
    padding: 0.7rem 1rem;
    font-size: 0.76rem;
}

.eyebrow {
    display: flex;
    align-items: center;
    gap: 0.7rem;
    margin-bottom: 1.25rem;
    color: var(--copper-dark);
    font-size: 0.76rem;
    font-weight: 850;
    letter-spacing: 0.16em;
    text-transform: uppercase;
}

.eyebrow > span {
    width: 2.2rem;
    height: 1px;
    background: currentColor;
}

.eyebrow-light {
    color: var(--copper-light);
}

.hero-section {
    position: relative;
    min-height: 880px;
    overflow: hidden;
    padding: 175px 0 100px;
    color: var(--white);
    background:
        radial-gradient(circle at 88% 18%, rgba(196, 145, 112, 0.26), transparent 27%),
        radial-gradient(circle at 18% 90%, rgba(54, 102, 118, 0.16), transparent 32%),
        linear-gradient(135deg, #06121b 0%, #0a1e2b 60%, #07151f 100%);
}

.hero-section::after {
    position: absolute;
    right: -16vw;
    bottom: -38vw;
    width: 72vw;
    height: 72vw;
    border: 1px solid rgba(255, 255, 255, 0.07);
    border-radius: 50%;
    content: "";
}

.hero-grid-pattern {
    position: absolute;
    inset: 0;
    opacity: 0.32;
    background-image:
        linear-gradient(rgba(255, 255, 255, 0.035) 1px, transparent 1px),
        linear-gradient(90deg, rgba(255, 255, 255, 0.035) 1px, transparent 1px);
    background-size: 90px 90px;
    mask-image: linear-gradient(to right, black, transparent 82%);
}

.hero-section h1,
.inner-hero h1 {
    max-width: 940px;
    margin: 0;
    font-family: var(--font-display);
    font-size: clamp(3.65rem, 7.2vw, 7.4rem);
    font-weight: 720;
    letter-spacing: -0.075em;
    line-height: 0.91;
}

.hero-section h1 em,
.inner-hero h1 em {
    color: var(--copper-light);
    font-weight: 400;
    font-style: normal;
}

.hero-lead {
    max-width: 660px;
    margin: 2rem 0 0;
    color: rgba(255, 255, 255, 0.72);
    font-size: clamp(1rem, 1.5vw, 1.2rem);
    line-height: 1.72;
}

.hero-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 0.85rem;
    margin-top: 2rem;
}

.hero-proof {
    display: grid;
    max-width: 700px;
    grid-template-columns: repeat(3, 1fr);
    margin: 3.6rem 0 0;
    padding-top: 1.25rem;
    border-top: 1px solid var(--line-dark);
}

.hero-proof div {
    padding-right: 1rem;
}

.hero-proof dt {
    margin-bottom: 0.42rem;
    color: rgba(255, 255, 255, 0.46);
    font-size: 0.7rem;
    font-weight: 700;
    letter-spacing: 0.13em;
    text-transform: uppercase;
}

.hero-proof dd {
    margin: 0;
    font-family: var(--font-display);
    font-size: 1rem;
    font-weight: 690;
}

.hero-visual {
    position: relative;
    min-height: 585px;
}

.hero-image-main,
.hero-image-secondary {
    position: absolute;
    overflow: hidden;
    margin: 0;
    background: var(--ink-soft);
    box-shadow: var(--shadow);
}

.hero-image-main {
    top: 0;
    right: 0;
    width: 89%;
    height: 420px;
    border-radius: var(--radius-lg) var(--radius-lg) 8px var(--radius-lg);
}

.hero-image-main::after,
.hero-image-secondary::after {
    position: absolute;
    inset: 0;
    content: "";
    background: linear-gradient(to top, rgba(4, 16, 24, 0.78), transparent 62%);
}

.hero-image-main img,
.hero-image-secondary img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.7s ease;
}

.hero-image-main:hover img,
.hero-image-secondary:hover img {
    transform: scale(1.035);
}

.hero-image-main figcaption {
    position: absolute;
    z-index: 2;
    right: 1.6rem;
    bottom: 1.4rem;
    left: 1.6rem;
}

.hero-image-main figcaption span,
.hero-image-main figcaption strong {
    display: block;
}

.hero-image-main figcaption span {
    margin-bottom: 0.2rem;
    color: var(--copper-light);
    font-size: 0.72rem;
    font-weight: 850;
    letter-spacing: 0.15em;
    text-transform: uppercase;
}

.hero-image-main figcaption strong {
    font-family: var(--font-display);
    font-size: 1.15rem;
}

.hero-image-secondary {
    right: 11%;
    bottom: 0;
    width: 58%;
    height: 245px;
    border: 8px solid var(--ink);
    border-radius: 8px var(--radius-md) var(--radius-md) var(--radius-md);
}

.hero-image-secondary figcaption {
    position: absolute;
    z-index: 2;
    right: 1rem;
    bottom: 0.85rem;
    left: 1rem;
    color: var(--white);
    font-size: 0.72rem;
    font-weight: 750;
}

.hero-badge {
    display: flex;
    position: absolute;
    z-index: 3;
    bottom: 2rem;
    left: 0;
    width: 138px;
    height: 138px;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    color: var(--ink);
    background: var(--signal);
    border-radius: 50%;
    box-shadow: 0 18px 50px rgba(0, 0, 0, 0.28);
    transform: rotate(-7deg);
}

.hero-badge span,
.hero-badge small {
    font-size: 0.62rem;
    font-weight: 800;
    letter-spacing: 0.14em;
    text-transform: uppercase;
}

.hero-badge strong {
    margin: -0.2rem 0;
    font-family: var(--font-display);
    font-size: 2.7rem;
    letter-spacing: -0.08em;
}

.statement-strip {
    color: var(--ink);
    background: var(--signal);
}

.statement-strip .container-xxl {
    display: flex;
    min-height: 80px;
    align-items: center;
    justify-content: center;
    gap: clamp(1rem, 3vw, 2.4rem);
}

.statement-strip p {
    margin: 0;
    font-size: clamp(0.78rem, 1.25vw, 0.95rem);
    font-weight: 820;
    letter-spacing: 0.02em;
}

.statement-strip span {
    font-size: 0.42rem;
}

.section-space {
    padding: clamp(5rem, 9vw, 9rem) 0;
}

.site-page-internal .section-space {
    padding-top: var(--public-inner-section-padding);
    padding-bottom: var(--public-inner-section-padding);
}

.site-page-internal .section-space:has(+ .section-space) {
    padding-bottom: var(--public-inner-section-gap-half);
}

.site-page-internal .section-space + .section-space {
    padding-top: var(--public-inner-section-gap-half);
}

.section-heading {
    margin-bottom: clamp(2.8rem, 5vw, 5rem);
}

.section-heading h2,
.international-preview h2,
.closing-cta h2,
.process-section h2,
.company-copy h2,
.contact-intro h2 {
    margin: 0;
    font-family: var(--font-display);
    font-size: clamp(2.5rem, 5vw, 5.15rem);
    font-weight: 680;
    letter-spacing: -0.065em;
    line-height: 0.98;
}

.section-heading p:not(.eyebrow),
.section-lead,
.company-copy > p:not(.eyebrow),
.contact-intro > p:not(.eyebrow) {
    color: #5b6a71;
    font-size: 1.02rem;
    line-height: 1.75;
}

.capability-grid {
    display: grid;
    grid-template-columns: 1.2fr 1fr 1fr;
    gap: 1px;
    overflow: hidden;
    background: var(--line-light);
    border: 1px solid var(--line-light);
    border-radius: var(--radius-lg);
}

.capability-card {
    display: flex;
    min-height: 390px;
    flex-direction: column;
    padding: clamp(1.7rem, 4vw, 3rem);
    background: var(--paper-bright);
}

.capability-card.capability-featured {
    color: var(--white);
    background: var(--ink);
}

.card-index {
    align-self: flex-end;
    color: #5e6e76;
    font-size: 0.74rem;
    font-weight: 850;
    letter-spacing: 0.12em;
}

.capability-featured .card-index {
    color: rgba(255, 255, 255, 0.65);
}

.capability-icon {
    display: grid;
    width: 66px;
    height: 66px;
    margin: 3.5rem 0 auto;
    place-items: center;
    color: var(--ink);
    background: var(--signal);
    border-radius: 50%;
    font-family: var(--font-display);
    font-size: 1.4rem;
    font-weight: 850;
}

.capability-card:not(.capability-featured) .capability-icon {
    color: var(--copper-dark);
    background: var(--paper-muted);
}

.capability-card h3 {
    margin: auto 0 0.8rem;
    font-family: var(--font-display);
    font-size: clamp(1.7rem, 2.4vw, 2.4rem);
    font-weight: 690;
    letter-spacing: -0.045em;
}

.capability-card p {
    max-width: 350px;
    margin-bottom: 1.5rem;
    color: #627078;
    line-height: 1.65;
}

.capability-featured p {
    color: rgba(255, 255, 255, 0.62);
}

.capability-card a {
    color: var(--copper-light);
    font-size: 0.82rem;
    font-weight: 820;
}

.projects-preview {
    color: var(--white);
    background: var(--ink);
}

.section-heading-light p:not(.eyebrow) {
    color: rgba(255, 255, 255, 0.6);
}

.text-link-light {
    display: inline-flex;
    gap: 0.65rem;
    color: var(--white);
    font-size: 0.86rem;
    font-weight: 800;
}

.text-link-light:hover,
.text-link-light:focus {
    color: var(--copper-light);
}

.project-layout {
    display: grid;
    grid-template-columns: minmax(0, 1.65fr) minmax(310px, 0.85fr);
    gap: 1.25rem;
}

.project-feature,
.project-small {
    display: block;
    position: relative;
    overflow: hidden;
    color: var(--white);
    background: var(--ink-soft);
}

.project-feature {
    min-height: 610px;
    border-radius: var(--radius-lg) 8px var(--radius-lg) var(--radius-lg);
}

.project-feature img,
.project-photo img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.6s ease;
}

.project-feature:hover img,
.project-photo:hover img {
    transform: scale(1.035);
}

.project-overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(to top, rgba(2, 12, 19, 0.9), rgba(2, 12, 19, 0.03) 68%);
}

.project-meta,
.project-title,
.project-arrow {
    position: absolute;
    z-index: 2;
}

.project-meta {
    bottom: 6.2rem;
    left: 2rem;
    color: var(--copper-light);
    font-size: 0.7rem;
    font-weight: 850;
    letter-spacing: 0.12em;
    text-transform: uppercase;
}

.project-title {
    bottom: 1.8rem;
    left: 2rem;
    font-family: var(--font-display);
    font-size: clamp(2.7rem, 5vw, 5.5rem);
    font-weight: 740;
    letter-spacing: -0.065em;
}

.project-arrow {
    right: 1.7rem;
    bottom: 1.7rem;
    display: grid;
    width: 54px;
    height: 54px;
    place-items: center;
    color: var(--ink);
    background: var(--signal);
    border-radius: 50%;
    font-size: 1.2rem;
}

.project-stack {
    display: grid;
    grid-template-rows: 1.18fr 0.82fr;
    gap: 1.25rem;
}

.project-stack-single {
    grid-template-rows: 1fr;
}

.project-small {
    min-height: 290px;
    border-radius: 8px var(--radius-md) var(--radius-md) var(--radius-md);
}

.project-small > span:last-of-type {
    position: absolute;
    z-index: 2;
    right: 1.6rem;
    bottom: 1.5rem;
    left: 1.6rem;
}

.project-small small,
.project-small strong {
    display: block;
}

.project-small small {
    margin-bottom: 0.35rem;
    color: var(--copper-light);
    font-size: 0.68rem;
    font-weight: 850;
    letter-spacing: 0.12em;
    text-transform: uppercase;
}

.project-small strong {
    max-width: 310px;
    font-family: var(--font-display);
    font-size: clamp(1.55rem, 2.5vw, 2.35rem);
    letter-spacing: -0.045em;
    line-height: 1.05;
}

.project-copper {
    color: var(--ink);
    background:
        linear-gradient(135deg, rgba(255, 255, 255, 0.18), transparent 55%),
        var(--copper);
}

.project-copper small {
    color: rgba(7, 21, 31, 0.62);
}

.project-copper b {
    position: absolute;
    top: 1.3rem;
    right: 1.4rem;
}

.project-number {
    position: absolute !important;
    top: 1.2rem;
    left: 1.4rem !important;
    color: rgba(7, 21, 31, 0.48);
    font-size: 0.72rem;
    font-weight: 850;
}

.project-ticker {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    margin-top: 1.2rem;
    padding: 1.2rem 1.5rem;
    color: rgba(255, 255, 255, 0.64);
    border: 1px solid var(--line-dark);
    border-radius: 999px;
    font-size: 0.74rem;
    font-weight: 740;
}

.project-ticker span::before {
    margin-right: 0.65rem;
    color: var(--signal);
    content: "●";
    font-size: 0.48rem;
}

.international-preview {
    background:
        linear-gradient(rgba(255, 255, 255, 0.45), rgba(255, 255, 255, 0.45)),
        var(--paper-muted);
}

.international-preview h2 {
    margin-bottom: 1.5rem;
}

.international-preview .section-lead {
    max-width: 610px;
    margin-bottom: 2rem;
}

.market-board {
    position: relative;
    overflow: hidden;
    padding: clamp(1.5rem, 4vw, 3rem);
    color: var(--white);
    background:
        radial-gradient(circle at 92% 8%, rgba(196, 145, 112, 0.3), transparent 28%),
        var(--ink);
    border-radius: var(--radius-lg);
    box-shadow: var(--shadow);
}

.market-board::before {
    position: absolute;
    top: -170px;
    right: -120px;
    width: 420px;
    height: 420px;
    border: 1px solid rgba(255, 255, 255, 0.1);
    border-radius: 50%;
    content: "";
}

.market-origin {
    position: relative;
    z-index: 1;
    padding-bottom: 2rem;
    border-bottom: 1px solid var(--line-dark);
}

.market-origin span,
.market-origin small {
    display: block;
    color: rgba(255, 255, 255, 0.5);
    font-size: 0.68rem;
    font-weight: 800;
    letter-spacing: 0.12em;
    text-transform: uppercase;
}

.market-origin strong {
    display: block;
    margin: 0.2rem 0;
    color: var(--copper-light);
    font-family: var(--font-display);
    font-size: clamp(3rem, 7vw, 6.3rem);
    font-weight: 720;
    letter-spacing: -0.07em;
}

.market-destinations {
    display: grid;
    position: relative;
    z-index: 1;
    grid-template-columns: repeat(2, 1fr);
    gap: 0.8rem;
    padding-top: 2rem;
}

.market-destinations span {
    padding: 1rem;
    border: 1px solid var(--line-dark);
    border-radius: var(--radius-sm);
    font-size: 0.82rem;
    font-weight: 750;
}

.closing-cta {
    padding: clamp(4rem, 7vw, 7rem) 0;
    color: var(--white);
    background: var(--copper-dark);
}

.closing-cta .container-xxl {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 2rem;
}

.closing-cta h2 {
    max-width: 910px;
}

.site-footer {
    padding: 5.5rem 0 1.7rem;
    color: var(--white);
    background: #041018;
}

.footer-main {
    display: grid;
    grid-template-columns: minmax(0, 1.5fr) minmax(220px, .8fr) minmax(180px, .6fr);
    gap: 4rem;
}

.footer-brand p {
    max-width: 440px;
    margin: 1.5rem 0 0;
    color: rgba(255, 255, 255, 0.52);
    font-size: 0.92rem;
    line-height: 1.7;
}

.footer-heading {
    margin-bottom: 1.25rem;
    color: var(--copper-light);
    font-size: 0.68rem;
    font-weight: 850;
    letter-spacing: 0.13em;
    text-transform: uppercase;
}

.footer-links {
    display: grid;
    gap: 0.72rem;
    margin: 0;
    padding: 0;
    list-style: none;
}

.footer-links a,
.footer-contact li {
    color: rgba(255, 255, 255, 0.62);
    font-size: 0.82rem;
    transition: color 0.2s ease;
}

.footer-links a:hover,
.footer-links a:focus {
    color: var(--white);
}

.market-line {
    display: flex;
    flex-wrap: wrap;
    gap: 0.65rem;
    margin: 4.5rem 0 1.8rem;
    padding-top: 1.7rem;
    border-top: 1px solid var(--line-dark);
}

.market-line span {
    padding: 0.45rem 0.7rem;
    color: rgba(255, 255, 255, 0.68);
    border: 1px solid var(--line-dark);
    border-radius: 999px;
    font-size: 0.66rem;
    font-weight: 760;
}

.footer-bottom {
    display: flex;
    justify-content: space-between;
    gap: 1rem;
    padding-top: 1.5rem;
    color: rgba(255, 255, 255, 0.62);
    border-top: 1px solid var(--line-dark);
    font-size: 0.68rem;
}

/* Internal pages */
.inner-hero {
    display: flex;
    min-height: 0;
    align-items: flex-start;
    padding: var(--public-hero-padding-top) 0 var(--public-hero-padding-bottom);
    color: var(--white);
    background:
        radial-gradient(circle at 82% 12%, rgba(196, 145, 112, 0.28), transparent 28%),
        linear-gradient(135deg, #06121b, #0b2432);
}

.inner-hero-compact {
    min-height: 0;
}

.inner-hero h1 {
    font-size: clamp(3.3rem, 7vw, 7rem);
}

.inner-hero .container-xxl > p:last-child,
.inner-hero .container-xxl > h1 + p {
    max-width: 660px;
    margin: 1.8rem 0 0;
    color: rgba(255, 255, 255, 0.65);
    font-size: 1.08rem;
    line-height: 1.7;
}

.capability-grid-equal {
    grid-template-columns: repeat(3, 1fr);
}

.capability-grid-equal .capability-card h3 {
    margin-top: auto;
}

.process-section {
    color: var(--white);
    background: var(--ink);
}

.process-section h2 {
    max-width: 820px;
    margin-bottom: 4rem;
}

.process-list {
    margin: 0;
    padding: 0;
    list-style: none;
    border-top: 1px solid var(--line-dark);
}

.process-list li {
    display: grid;
    grid-template-columns: 100px 1fr;
    gap: 1.5rem;
    padding: 2.2rem 0;
    border-bottom: 1px solid var(--line-dark);
}

.process-list li > span {
    color: var(--copper-light);
    font-size: 0.76rem;
    font-weight: 850;
}

.process-list h3 {
    margin: 0 0 0.45rem;
    font-family: var(--font-display);
    font-size: 1.65rem;
}

.process-list p {
    max-width: 680px;
    color: rgba(255, 255, 255, 0.56);
}

.sector-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(320px, 1fr));
    gap: 1px;
    overflow: hidden;
    background: var(--line-light);
    border: 1px solid var(--line-light);
    border-radius: var(--radius-lg);
}

.sector-context-groups {
    display: grid;
    gap: clamp(4rem, 8vw, 7rem);
}

.sector-context-group > header {
    display: grid;
    grid-template-columns: minmax(260px, 0.8fr) 1.2fr;
    gap: 0 3rem;
    align-items: end;
    margin-bottom: 2rem;
}

.sector-context-group > header .eyebrow {
    grid-column: 1 / -1;
}

.sector-context-group > header h2 {
    margin: 0;
    font-size: clamp(2.2rem, 4vw, 4rem);
}

.sector-context-group > header > p:last-child {
    max-width: 650px;
    margin: 0 0 0.45rem;
    color: #607782;
    line-height: 1.75;
}

.sector-card {
    min-height: 390px;
    display: flex;
    flex-direction: column;
    padding: clamp(1.8rem, 4vw, 3rem);
    color: var(--ink);
    background: var(--paper-bright);
    text-decoration: none;
    transition: background 0.25s ease, color 0.25s ease;
}

.sector-card:nth-child(4n + 1),
.sector-card:nth-child(4n) {
    color: var(--white);
    background: var(--ink);
}

.sector-card > span,
.sector-card > small {
    color: #56676f;
    font-size: 0.68rem;
    font-weight: 850;
    letter-spacing: 0.12em;
    text-transform: uppercase;
}

.sector-card:nth-child(4n + 1) > span,
.sector-card:nth-child(4n + 1) > small,
.sector-card:nth-child(4n) > span,
.sector-card:nth-child(4n) > small {
    color: #9cacb3;
}

.sector-card > div:not(.sector-card-visual) {
    margin-top: auto;
}

.sector-card .sector-card-visual {
    height: 145px;
    margin: -1.1rem -1.1rem 1.5rem;
    overflow: hidden;
    border-radius: calc(var(--radius-md) - 0.2rem);
}

.sector-card-visual img,
.sector-card-visual video {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.sector-card p {
    display: -webkit-box;
    max-width: 620px;
    margin: 3rem 0 0.9rem;
    overflow: hidden;
    color: var(--copper-dark);
    font-size: 0.9rem;
    line-height: 1.65;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 4;
}

.sector-card:nth-child(4n + 1) p,
.sector-card:nth-child(4n) p {
    color: var(--copper-light);
}

.sector-card h2,
.sector-card h3 {
    margin: 0 0 1rem;
    font-family: var(--font-display);
    font-size: clamp(2rem, 4vw, 3.7rem);
    font-weight: 690;
    letter-spacing: -0.055em;
}

.sector-card > small {
    margin-top: 1.5rem;
}

.sector-card:hover,
.sector-card:focus-visible {
    color: var(--white);
    background: var(--copper-dark);
}

.sector-card:hover p,
.sector-card:focus-visible p,
.sector-card:hover > span,
.sector-card:hover > small,
.sector-card:focus-visible > span,
.sector-card:focus-visible > small {
    color: var(--white);
}

.project-index-section {
    background: var(--paper-bright);
}

.case-row {
    display: grid;
    grid-template-columns: 62px minmax(180px, 290px) 1fr 190px;
    align-items: center;
    gap: clamp(1rem, 3vw, 2.5rem);
    min-height: 230px;
    padding: 1.3rem 0;
    border-bottom: 1px solid var(--line-light);
    transition: background 0.2s ease, padding 0.2s ease;
}

.case-row:hover,
.case-row:focus {
    color: var(--ink);
    background: var(--paper);
}

.case-row:first-child {
    border-top: 1px solid var(--line-light);
}

.case-number {
    align-self: flex-start;
    padding-top: 0.6rem;
    color: var(--copper-dark);
    font-size: 0.72rem;
    font-weight: 850;
}

.case-image {
    height: 190px;
    overflow: hidden;
    border-radius: var(--radius-sm);
    background: var(--paper-muted);
}

.case-image img,
.case-image video {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.case-row p {
    margin: 0 0 0.4rem;
    color: var(--copper-dark);
    font-size: 0.7rem;
    font-weight: 830;
    letter-spacing: 0.1em;
    text-transform: uppercase;
}

.case-row h2 {
    margin: 0 0 0.2rem;
    font-family: var(--font-display);
    font-size: clamp(1.8rem, 4vw, 3.5rem);
    font-weight: 690;
    letter-spacing: -0.055em;
}

.case-row > div > span,
.case-row > small {
    color: #56676f;
    font-size: 0.76rem;
}

.case-placeholder {
    display: grid;
    height: 190px;
    place-items: center;
    color: var(--copper-light);
    background: var(--ink);
    border-radius: var(--radius-sm);
    font-family: var(--font-display);
    font-size: 3rem;
    font-weight: 800;
}

.project-detail-hero {
    min-height: 0;
    padding-top: var(--public-hero-padding-top);
    padding-bottom: var(--public-hero-padding-bottom);
}

.project-detail-hero .project-back {
    margin-bottom: clamp(2rem, 3vw, 2.5rem);
}

.project-detail-hero h1 {
    max-width: 1200px;
    font-size: clamp(3rem, 5vw, 5.4rem);
    letter-spacing: -0.06em;
    line-height: 0.96;
    text-wrap: balance;
}

.project-detail-hero .container-xxl > p.project-detail-summary {
    max-width: 1320px;
}

.project-detail-summary > span {
    display: block;
}

.project-detail-summary > span + span {
    margin-top: 0.2rem;
}

.project-back {
    display: inline-flex;
    margin-bottom: 3rem;
    color: rgba(255, 255, 255, 0.58);
    font-size: 0.76rem;
    font-weight: 760;
}

.project-back:hover,
.project-back:focus {
    color: var(--white);
}

.project-detail-media {
    margin-top: -1px;
    padding: 0 0 clamp(2rem, 5vw, 5rem);
    background: var(--ink);
}

.project-detail-media img,
.project-detail-media video {
    width: 100%;
    max-height: 720px;
    object-fit: cover;
    border-radius: 8px 8px var(--radius-lg) var(--radius-lg);
    box-shadow: var(--shadow);
}

.project-detail-media .site-video-player {
    aspect-ratio: 16 / 9;
    max-height: 720px;
}

.project-detail-media .site-video-player video {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.project-detail-content {
    background: var(--paper-bright);
}

.project-detail-heading {
    display: grid;
    grid-template-columns: 1.1fr 0.9fr;
    gap: clamp(2rem, 6vw, 7rem);
    align-items: end;
    margin-bottom: clamp(2.5rem, 4vw, 4rem);
}

.project-detail-heading .eyebrow {
    grid-column: 1 / -1;
    margin-bottom: -1rem;
}

.project-detail-heading h2 {
    margin: 0;
    font-family: var(--font-display);
    font-size: clamp(2.6rem, 5vw, 5rem);
    font-weight: 680;
    letter-spacing: -0.065em;
    line-height: 0.98;
}

.project-detail-heading > p:last-child {
    color: #627078;
    line-height: 1.75;
}

.case-facts {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    overflow: hidden;
    margin: 0;
    background: var(--line-light);
    border: 1px solid var(--line-light);
    border-radius: var(--radius-md);
    gap: 1px;
}

.case-facts div {
    min-height: 165px;
    padding: 1.7rem;
    background: var(--paper);
}

.case-facts dt {
    margin-bottom: 2.6rem;
    color: var(--copper-dark);
    font-size: 0.68rem;
    font-weight: 850;
    letter-spacing: 0.11em;
    text-transform: uppercase;
}

.case-facts dd {
    margin: 0;
    color: #596a72;
    font-family: var(--font-display);
    font-size: 1.1rem;
    font-weight: 670;
}

.project-detail-cta {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 2rem;
    margin-top: 2rem;
    padding: 1.3rem 1.5rem 1.3rem 2rem;
    color: var(--white);
    background: var(--copper-dark);
    border-radius: var(--radius-md);
}

.project-detail-cta p {
    margin: 0;
    font-weight: 720;
}

.sector-detail-hero {
    min-height: 0;
    background: linear-gradient(125deg, #07151f, #123b4c);
}

.sector-detail-hero .button {
    margin-top: 2rem;
}

.sector-detail-content,
.project-capabilities,
.project-detail-cta-section {
    background: var(--paper-bright);
}

.sector-detail-layout {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(320px, 0.8fr);
    gap: clamp(2rem, 6vw, 6rem);
    align-items: start;
}

.sector-detail-layout-text {
    grid-template-columns: 1fr;
}

.sector-detail-layout-text > div {
    max-width: 900px;
}

.sector-detail-layout h2 {
    max-width: 760px;
    margin-bottom: 1.5rem;
    font-size: clamp(2rem, 4vw, 3.7rem);
}

.sector-detail-media {
    min-height: 420px;
    margin: 0;
    overflow: hidden;
    border-radius: var(--radius-md);
    background: var(--ink);
}

.sector-detail-media img,
.sector-detail-media video {
    width: 100%;
    min-height: 420px;
    object-fit: cover;
}

.sector-capabilities {
    background: #eaf0ef;
}

.sector-capability-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 1px;
    margin-top: 2.5rem;
    background: #ccd8d9;
    border: 1px solid #ccd8d9;
}

.sector-capability-grid article {
    min-height: 250px;
    padding: 1.6rem;
    background: #f8faf9;
}

.sector-capability-grid article > span {
    color: var(--copper-dark);
    font-size: 0.7rem;
    font-weight: 900;
}

.sector-capability-grid h3 {
    margin: 3.5rem 0 0.7rem;
    font-size: 1.25rem;
}

.sector-capability-grid p {
    margin: 0;
    color: #607782;
    line-height: 1.65;
}

.sector-challenges,
.sector-process {
    color: var(--white);
    background: var(--ink);
}

.sector-challenges .section-heading > div:last-child p {
    color: rgba(255, 255, 255, 0.62);
}

.sector-challenge-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
    gap: 1px;
    margin-top: 2.5rem;
    background: rgba(255, 255, 255, 0.14);
    border: 1px solid rgba(255, 255, 255, 0.14);
}

.sector-challenge-grid article {
    min-height: 270px;
    padding: 1.7rem;
    background: #0b202c;
}

.sector-challenge-grid article > span,
.sector-benefit-grid article > span {
    color: var(--copper-light);
    font-size: 0.7rem;
    font-weight: 900;
}

.sector-challenge-grid h3 {
    margin: 4rem 0 0.8rem;
    font-size: 1.35rem;
}

.sector-challenge-grid p {
    margin: 0;
    color: rgba(255, 255, 255, 0.62);
    line-height: 1.7;
}

.sector-modules {
    background: #f3f6f5;
    scroll-margin-top: 90px;
}

.sector-module-list {
    display: grid;
    gap: 1rem;
    margin-top: 3rem;
}

.sector-module {
    display: grid;
    grid-template-columns: minmax(260px, 0.75fr) minmax(0, 1.5fr);
    overflow: hidden;
    border: 1px solid #d4dfe1;
    border-radius: var(--radius-md);
    background: var(--paper-bright);
}

.sector-module > header {
    display: flex;
    min-height: 300px;
    flex-direction: column;
    justify-content: flex-start;
    padding: 1.7rem;
    border-right: 1px solid #d4dfe1;
    background: #e9efee;
}

.sector-module > header > div:last-child {
    margin-top: 3rem;
}

.sector-module.featured > header {
    color: var(--white);
    background: linear-gradient(145deg, #0a202d, #123d4d);
}

.sector-module > header > span,
.sector-module > header small {
    color: var(--copper-dark);
    font-size: 0.68rem;
    font-weight: 900;
    letter-spacing: 0.09em;
    text-transform: uppercase;
}

.sector-module.featured > header > span,
.sector-module.featured > header small {
    color: var(--copper-light);
}

.sector-module > header h3 {
    margin: 0.55rem 0 0;
    font-size: clamp(1.65rem, 3vw, 2.7rem);
    line-height: 1.04;
}

.sector-module-media {
    height: 130px;
    margin: 1.2rem 0;
    overflow: hidden;
    border-radius: .6rem;
    background: rgba(255, 255, 255, .08);
}

.sector-module-media + div:last-child {
    margin-top: 1.25rem;
}

.sector-module-media img,
.sector-module-media video {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.sector-module-copy {
    padding: clamp(1.7rem, 4vw, 3rem);
}

.sector-module-copy > p {
    max-width: 850px;
    color: #4f6873;
    line-height: 1.75;
}

.sector-module-copy .sector-module-lead {
    color: var(--ink);
    font-size: 1.12rem;
    font-weight: 720;
}

.sector-module-options {
    margin-top: 2rem;
}

.sector-module-options h4,
.sector-module-copy aside > strong {
    color: var(--copper-dark);
    font-size: 0.7rem;
    font-weight: 900;
    letter-spacing: 0.1em;
    text-transform: uppercase;
}

.sector-module-options ul {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 1px;
    margin: 1rem 0 0;
    padding: 0;
    list-style: none;
    background: #d9e1e2;
    border: 1px solid #d9e1e2;
}

.sector-module-options li {
    padding: 1.1rem;
    background: #f7f9f8;
}

.sector-module-options li strong,
.sector-module-options li span {
    display: block;
}

.sector-module-options li strong {
    color: #17323e;
    font-size: 0.88rem;
}

.sector-module-options li span {
    margin-top: 0.45rem;
    color: #687e87;
    font-size: 0.78rem;
    line-height: 1.55;
}

.sector-module-copy aside {
    margin-top: 1.5rem;
    padding: 1.2rem 1.35rem;
    border-left: 3px solid var(--signal);
    background: #fff5e9;
}

.sector-module-copy aside p {
    margin: 0.45rem 0 0;
    color: #4f6873;
}

.sector-process h2 {
    max-width: 760px;
    margin-bottom: 3rem;
}

.sector-process ol {
    margin: 0;
    padding: 0;
    list-style: none;
    border-top: 1px solid rgba(255, 255, 255, 0.16);
}

.sector-process li {
    display: grid;
    grid-template-columns: 70px minmax(0, 1fr);
    gap: 1.5rem;
    padding: 1.7rem 0;
    border-bottom: 1px solid rgba(255, 255, 255, 0.16);
}

.sector-process li > span,
.sector-process small {
    color: var(--copper-light);
    font-size: 0.7rem;
    font-weight: 900;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.sector-process h3 {
    margin: 0.35rem 0;
    font-size: 1.35rem;
}

.sector-process li p {
    max-width: 760px;
    margin: 0;
    color: rgba(255, 255, 255, 0.62);
}

.sector-benefits {
    background: #eaf0ef;
}

.sector-benefit-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
    gap: 1px;
    margin-top: 2.5rem;
    background: #cad6d8;
    border: 1px solid #cad6d8;
}

.sector-benefit-grid article {
    min-height: 250px;
    padding: 1.6rem;
    background: #f8faf9;
}

.sector-benefit-grid h3 {
    margin: 3.5rem 0 0.7rem;
    font-size: 1.25rem;
}

.sector-benefit-grid p {
    margin: 0;
    color: #607782;
    line-height: 1.65;
}

.sector-faq {
    background: var(--paper-bright);
}

.sector-faq-layout {
    display: grid;
    grid-template-columns: minmax(260px, 0.75fr) minmax(0, 1.25fr);
    gap: clamp(2rem, 7vw, 7rem);
}

.sector-faq details {
    border-top: 1px solid var(--line-light);
}

.sector-faq details:last-child {
    border-bottom: 1px solid var(--line-light);
}

.sector-faq summary {
    padding: 1.3rem 2rem 1.3rem 0;
    cursor: pointer;
    color: var(--ink);
    font-weight: 780;
}

.sector-faq details p {
    padding: 0 1rem 1.3rem 0;
    color: #607782;
    line-height: 1.7;
}

.sector-closing-cta p:not(.eyebrow) {
    max-width: 720px;
    color: rgba(255, 255, 255, 0.65);
}

.sector-projects,
.project-organizations {
    background: var(--paper);
}

.content-reading {
    width: min(820px, 100%);
    color: #294654;
    font-size: 1.06rem;
    line-height: 1.9;
    white-space: normal;
}

.project-detail-heading .content-reading {
    align-self: start;
}

.project-taxonomies {
    display: grid;
    gap: 1px;
    margin-bottom: 2rem;
    overflow: hidden;
    background: var(--line-light);
    border: 1px solid var(--line-light);
    border-radius: var(--radius-md);
}

.project-taxonomies > div {
    display: grid;
    grid-template-columns: minmax(130px, 180px) 1fr;
    gap: 1rem;
    align-items: start;
    padding: 1.2rem 1.5rem;
    background: var(--paper);
}

.project-taxonomies strong {
    color: var(--copper-dark);
    font-size: 0.7rem;
    letter-spacing: 0.1em;
    text-transform: uppercase;
}

.project-taxonomies > div > span {
    display: flex;
    flex-wrap: wrap;
    gap: 0.55rem;
}

.project-taxonomies a,
.project-taxonomies b {
    padding: 0.45rem 0.72rem;
    color: #294654;
    background: #fff;
    border: 1px solid #ccd8de;
    border-radius: 999px;
    font-size: 0.78rem;
    font-weight: 750;
    text-decoration: none;
}

.project-taxonomies a:hover,
.project-taxonomies a:focus-visible {
    color: #fff;
    border-color: var(--copper-dark);
    background: var(--copper-dark);
}

.project-facts {
    margin-top: 2rem;
}

.project-capability-grid,
.project-organization-list {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 1rem;
    margin-top: 2.5rem;
}

.project-capability-grid article,
.project-organization-list article {
    min-height: 250px;
    display: flex;
    flex-direction: column;
    padding: 1.7rem;
    background: #fff;
    border: 1px solid var(--line-light);
    border-radius: var(--radius-md);
}

.project-capability-grid article > span,
.project-organization-list article > p {
    margin: 0;
    color: var(--copper-dark);
    font-size: 0.68rem;
    font-weight: 850;
    letter-spacing: 0.1em;
    text-transform: uppercase;
}

.project-capability-grid h3,
.project-organization-list h3 {
    margin: auto 0 0.7rem;
    font-family: var(--font-display);
    font-size: 1.7rem;
}

.project-organization-logo {
    min-height: 76px;
    display: flex;
    align-items: center;
    margin: 1.25rem 0 0;
}

.project-organization-logo-image {
    width: auto;
    max-width: min(190px, 100%);
    max-height: 68px;
    object-fit: contain;
}

.project-organization-logo + h3 {
    margin-top: 1.25rem;
}

.project-capability-grid p,
.project-organization-list span {
    color: #607681;
    line-height: 1.65;
}

.project-organization-list a {
    margin-top: 1rem;
    color: var(--copper-dark);
    font-size: 0.78rem;
    font-weight: 800;
}

.project-detail-cta-section {
    padding: 0 0 clamp(3rem, 7vw, 6rem);
}

.project-layout-single {
    grid-template-columns: 1fr;
}

.project-feature-text {
    background: linear-gradient(135deg, #123b4c, #07151f);
}

.project-feature video,
.project-photo video {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.market-list {
    overflow: hidden;
    border: 1px solid var(--line-light);
    border-radius: var(--radius-lg);
}

.market-list article {
    display: grid;
    grid-template-columns: 170px 1fr 1fr;
    align-items: center;
    gap: 2rem;
    min-height: 155px;
    padding: 2rem clamp(1.5rem, 4vw, 3rem);
    background: var(--paper-bright);
    border-bottom: 1px solid var(--line-light);
}

.market-list article:last-child {
    border-bottom: 0;
}

.market-list article > span {
    color: var(--copper-dark);
    font-size: 0.7rem;
    font-weight: 840;
    letter-spacing: 0.11em;
    text-transform: uppercase;
}

.market-list article > strong {
    font-family: var(--font-display);
    font-size: clamp(1.8rem, 4vw, 3.3rem);
    letter-spacing: -0.055em;
}

.market-list article > p {
    color: #66767d;
}

.market-list-origin {
    color: var(--white);
    background: var(--ink) !important;
}

.market-list-origin > span,
.market-list-origin > strong {
    color: var(--copper-light) !important;
}

.market-list-origin > p {
    color: rgba(255, 255, 255, 0.58) !important;
}

.company-story img {
    width: 100%;
    min-height: 520px;
    object-fit: cover;
    border-radius: var(--radius-lg) 8px var(--radius-lg) var(--radius-lg);
    box-shadow: var(--shadow);
}

.company-copy {
    padding-left: clamp(1rem, 5vw, 5rem);
}

.company-copy h2,
.contact-intro h2 {
    margin-bottom: 1.5rem;
}

.contact-section {
    background: var(--paper-bright);
}

.contact-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: clamp(3rem, 7vw, 8rem);
    align-items: start;
}

.contact-card {
    margin: 0;
    overflow: hidden;
    border: 1px solid var(--line-light);
    border-radius: var(--radius-lg);
    font-style: normal;
}

.contact-card > * {
    display: block;
    padding: 1.8rem 2rem;
    border-bottom: 1px solid var(--line-light);
}

.contact-card > *:last-child {
    border-bottom: 0;
}

.contact-card a:hover,
.contact-card a:focus {
    background: var(--paper-muted);
}

.contact-card span,
.contact-card strong {
    display: block;
}

.contact-card span {
    margin-bottom: 0.45rem;
    color: var(--copper-dark);
    font-size: 0.66rem;
    font-weight: 850;
    letter-spacing: 0.12em;
    text-transform: uppercase;
}

/* Conteúdo público administrado no CMS */
.cms-section:nth-of-type(even) { background: var(--paper-muted); }
.cms-section > .container-xxl > h2,
.company-team h2,
.company-testimonials h2,
.public-capabilities h2 { max-width: 820px; margin-bottom: 2rem; }
.cms-section-layout { display: grid; grid-template-columns: minmax(0, 1fr) minmax(300px, .75fr); gap: clamp(2rem, 6vw, 6rem); align-items: center; }
.cms-section-layout-text { grid-template-columns: minmax(0, 850px); }
.cms-rich-text { color: #53656d; line-height: 1.75; white-space: normal; }
.cms-section-copy .button { margin-top: 1.5rem; }
.cms-section-media img,
.cms-section-media video,
.cms-item-media img,
.cms-item-media video { width: 100%; border-radius: var(--radius-lg); }
.cms-page-media-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); gap: 1.25rem; }
.cms-page-media-grid figure { margin: 0; }
.cms-page-media-grid img,
.cms-page-media-grid video { width: 100%; border-radius: var(--radius-lg); }
.cms-page-media-grid figcaption { margin-top: .6rem; color: #68787f; font-size: .82rem; }
.cms-item-grid,
.team-grid,
.testimonial-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1.25rem; margin-top: 2rem; }
.cms-item,
.team-card,
.testimonial-card { margin: 0; overflow: hidden; padding: clamp(1.5rem, 3vw, 2.25rem); background: var(--paper-bright); border: 1px solid var(--line-light); border-radius: var(--radius-lg); }
.cms-item-media,
.team-card-media { margin: calc(clamp(1.5rem, 3vw, 2.25rem) * -1) calc(clamp(1.5rem, 3vw, 2.25rem) * -1) 1.5rem; }
.team-card-media img { aspect-ratio: 4 / 3; object-fit: cover; border-radius: 0; }
.team-card h3,
.cms-item h3 { margin-bottom: .6rem; }
.team-role { color: var(--copper-dark); font-weight: 760; }
.team-links { display: flex; flex-wrap: wrap; gap: .75rem; margin-top: 1rem; }
.team-links a { color: var(--copper-dark); font-size: .78rem; font-weight: 800; }
.company-testimonials { color: var(--white); background: var(--ink); }
.testimonial-card { color: var(--ink); }
.testimonial-card blockquote { font-family: var(--font-display); font-size: clamp(1.25rem, 2vw, 1.7rem); line-height: 1.4; }
.testimonial-card figcaption strong,
.testimonial-card figcaption span { display: block; }
.testimonial-card figcaption span { margin-top: .25rem; color: #68787f; }

.contact-form { margin-top: 2rem; }
.contact-form-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; margin-bottom: 1.25rem; }
.contact-form label > span { display: block; margin-bottom: .4rem; color: #32474f; font-size: .78rem; font-weight: 760; }
.contact-form input,
.contact-form select,
.contact-form textarea { width: 100%; padding: .85rem 1rem; color: var(--ink); background: var(--white); border: 1px solid #cbd4d7; border-radius: 8px; }
.contact-form input:focus,
.contact-form select:focus,
.contact-form textarea:focus { border-color: var(--copper-dark); outline: 3px solid rgba(174, 102, 58, .16); }
.contact-form-wide { grid-column: 1 / -1; }
.contact-consent { display: flex; gap: .75rem; align-items: flex-start; }
.contact-consent input { width: 1.1rem; margin-top: .18rem; }
.form-honeypot { position: absolute; left: -10000px; width: 1px; height: 1px; overflow: hidden; }
.form-notice { margin-top: 1rem; padding: 1rem 1.15rem; border-radius: 8px; }
.form-notice-success { color: #14532d; background: #dcfce7; border: 1px solid #86efac; }
.form-notice-error { color: #7f1d1d; background: #fef2f2; border: 1px solid #fecaca; }
.form-notice ul { margin: .5rem 0 0; }

@media (max-width: 991.98px) {
    .cms-section-layout,
    .cms-item-grid,
    .team-grid,
    .testimonial-grid { grid-template-columns: 1fr 1fr; }
    .cms-section-layout { grid-template-columns: 1fr; }
}

@media (max-width: 575.98px) {
    .cms-item-grid,
    .team-grid,
    .testimonial-grid,
    .contact-form-grid { grid-template-columns: 1fr; }
}

/* Equipa: cartões editoriais compactos, mesmo quando existe apenas um membro */
.team-grid {
    grid-template-columns: repeat(auto-fill, minmax(280px, 360px));
    justify-content: start;
    align-items: start;
}

.team-card {
    width: 100%;
    max-width: 360px;
    padding: 1.25rem;
}

.team-card-media {
    aspect-ratio: 1 / 1;
    margin: -1.25rem -1.25rem 1.25rem;
    overflow: hidden;
    background: var(--ink-soft);
}

.team-card-media img,
.team-card-media video {
    width: 100%;
    height: 100%;
    max-width: none;
    aspect-ratio: 1 / 1;
    object-fit: cover;
    object-position: center 32%;
    border-radius: 0;
}

.team-card h3 {
    margin-bottom: .35rem;
    font-size: clamp(1.35rem, 2vw, 1.7rem);
}

.team-card > div > p:not(.team-role) {
    color: #5d7078;
    line-height: 1.65;
}

@media (max-width: 359.98px) {
    .team-grid {
        grid-template-columns: 1fr;
    }
}

.contact-card strong {
    overflow-wrap: anywhere;
    font-family: var(--font-display);
    font-size: clamp(1.15rem, 2vw, 1.55rem);
    font-weight: 670;
}

.not-found-section {
    display: grid;
    min-height: 780px;
    place-items: center;
    padding: 150px 0 80px;
    text-align: center;
    color: var(--white);
    background: var(--ink);
}

.not-found-section span {
    color: var(--copper-light);
    font-family: var(--font-display);
    font-size: clamp(6rem, 18vw, 14rem);
    font-weight: 800;
    letter-spacing: -0.09em;
    line-height: 0.8;
}

.not-found-section h1 {
    margin: 2rem 0 0.8rem;
    font-family: var(--font-display);
    font-size: clamp(2rem, 5vw, 4rem);
}

.not-found-section p {
    margin-bottom: 2rem;
    color: rgba(255, 255, 255, 0.6);
}

/* Backoffice preview */
.admin-body {
    min-height: 100vh;
    background: #edf0ee;
}

.admin-shell {
    display: grid;
    min-height: 100vh;
    grid-template-columns: 280px 1fr;
}

.admin-sidebar {
    display: flex;
    position: sticky;
    top: 0;
    height: 100vh;
    flex-direction: column;
    padding: 2rem 1.4rem;
    overflow-y: auto;
    color: var(--white);
    background: var(--ink);
}

.admin-label {
    margin: 3rem 0 1rem;
    color: var(--copper-light);
    font-size: 0.66rem;
    font-weight: 850;
    letter-spacing: 0.14em;
    text-transform: uppercase;
}

.admin-sidebar nav {
    display: grid;
    gap: 0.3rem;
}

.admin-sidebar nav a {
    display: flex;
    align-items: center;
    gap: 0.8rem;
    padding: 0.8rem 0.9rem;
    color: rgba(255, 255, 255, 0.57);
    border-radius: var(--radius-sm);
    font-size: 0.8rem;
    font-weight: 730;
}

.admin-sidebar nav a span {
    color: rgba(255, 255, 255, 0.58);
    font-size: 0.65rem;
}

.admin-sidebar nav a.active,
.admin-sidebar nav a:hover,
.admin-sidebar nav a:focus {
    color: var(--white);
    background: rgba(255, 255, 255, 0.08);
}

.admin-sidebar nav a.active span {
    color: var(--signal);
}

.admin-back-link {
    margin-top: auto;
    color: rgba(255, 255, 255, 0.56);
    font-size: 0.76rem;
    font-weight: 720;
}

.admin-main {
    padding: clamp(1.5rem, 4vw, 3.8rem);
}

.admin-topbar {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 1.5rem;
    margin-bottom: 2rem;
}

.admin-topbar p {
    margin-bottom: 0.25rem;
    color: var(--copper-dark);
    font-size: 0.68rem;
    font-weight: 850;
    letter-spacing: 0.12em;
    text-transform: uppercase;
}

.admin-topbar h1 {
    margin: 0;
    font-family: var(--font-display);
    font-size: clamp(2rem, 4vw, 3.4rem);
    font-weight: 720;
    letter-spacing: -0.055em;
}

.admin-status {
    display: inline-flex;
    align-items: center;
    gap: 0.55rem;
    padding: 0.6rem 0.8rem;
    color: #756033;
    background: #fff3ce;
    border: 1px solid #ead38e;
    border-radius: 999px;
    font-size: 0.7rem;
    font-weight: 800;
}

.admin-status i {
    width: 7px;
    height: 7px;
    background: #cb9231;
    border-radius: 50%;
}

.admin-notice {
    margin-bottom: 1.5rem;
    padding: 1.1rem 1.3rem;
    background: var(--paper-bright);
    border: 1px solid var(--line-light);
    border-radius: var(--radius-sm);
}

.admin-notice > div {
    display: flex;
    align-items: center;
    gap: 0.9rem;
}

.admin-notice span {
    display: grid;
    width: 30px;
    height: 30px;
    flex: 0 0 30px;
    place-items: center;
    color: var(--ink);
    background: var(--signal);
    border-radius: 50%;
    font-weight: 900;
}

.admin-notice p {
    margin: 0;
    color: #617078;
    font-size: 0.8rem;
}

.admin-module-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 1rem;
}

.admin-module-grid article {
    min-height: 220px;
    padding: 1.4rem;
    background: var(--paper-bright);
    border: 1px solid var(--line-light);
    border-radius: var(--radius-md);
}

.admin-module-grid article > span {
    display: inline-grid;
    width: 38px;
    height: 38px;
    place-items: center;
    color: #7a4d36;
    background: var(--paper-muted);
    border-radius: 50%;
    font-size: 0.66rem;
    font-weight: 850;
}

.admin-module-grid article > p {
    margin: 3rem 0 0.35rem;
    color: #596a72;
    font-size: 0.66rem;
    font-weight: 800;
    letter-spacing: 0.1em;
    text-transform: uppercase;
}

.admin-module-grid h2 {
    margin: 0 0 0.7rem;
    font-family: var(--font-display);
    font-size: 1.35rem;
    font-weight: 720;
    letter-spacing: -0.035em;
}

.admin-module-grid small {
    color: #596a72;
    font-size: 0.7rem;
}

.admin-roadmap {
    display: grid;
    grid-template-columns: 0.7fr 1.3fr;
    gap: 3rem;
    margin-top: 1.5rem;
    padding: clamp(1.5rem, 4vw, 3rem);
    color: var(--white);
    background: var(--ink);
    border-radius: var(--radius-md);
}

.admin-roadmap .admin-label {
    margin: 0 0 1rem;
}

.admin-roadmap h2 {
    max-width: 370px;
    margin: 0;
    font-family: var(--font-display);
    font-size: clamp(1.7rem, 3vw, 2.7rem);
    letter-spacing: -0.045em;
}

.admin-roadmap ol {
    margin: 0;
    padding: 0;
    list-style: none;
    border-top: 1px solid var(--line-dark);
}

.admin-roadmap li {
    display: grid;
    grid-template-columns: 45px 1fr auto;
    gap: 1rem;
    padding: 1rem 0;
    border-bottom: 1px solid var(--line-dark);
}

.admin-roadmap li span,
.admin-roadmap li b {
    color: rgba(255, 255, 255, 0.65);
    font-size: 0.66rem;
}

.admin-roadmap li p {
    margin: 0;
    font-size: 0.8rem;
    font-weight: 720;
}

@media (max-width: 1399.98px) {
    .site-header {
        background: rgba(4, 16, 24, 0.97);
        backdrop-filter: blur(18px);
    }

    .site-header .navbar {
        min-height: 76px;
        padding: 0.75rem 0;
    }

    .site-header .navbar-collapse {
        padding: 1rem 0 1.3rem;
        border-top: 1px solid var(--line-dark);
    }

    .site-header .nav-link {
        padding: 0.7rem 0 !important;
    }

    .site-header .nav-link::after {
        display: none;
    }

    .site-header .sector-mega-menu {
        position: static;
        width: 100%;
        max-height: min(62vh, 620px);
        margin: 0.25rem 0 0.75rem;
        overflow-y: auto;
        border-radius: var(--radius-sm);
        transform: none;
    }

    .site-header .navigation-submenu {
        position: static;
        width: 100%;
        min-width: 0;
        margin: 0.15rem 0 0.75rem;
        padding: 0.4rem;
        border-radius: var(--radius-sm);
        box-shadow: none;
        transform: none;
    }

    .site-header .navigation-submenu .dropdown-item {
        min-height: 46px;
        padding: 0.7rem 0.8rem;
    }

    .site-header .sector-mega-intro {
        min-height: 0;
        padding: 1.25rem;
    }

    .site-header .sector-mega-intro strong {
        margin-bottom: 1rem;
        font-size: 1.3rem;
    }

    .site-header .sector-mega-groups {
        grid-template-columns: 1fr;
        gap: 1.2rem;
        padding: 1.25rem;
    }

    .site-header .sector-mega-groups section {
        padding: 0;
        border-left: 0;
    }

    .site-header .header-actions {
        align-items: flex-start !important;
        flex-wrap: wrap;
        margin: 0.8rem 0 0;
    }
}

@media (max-width: 1199.98px) {
    :root {
        --public-hero-padding-top: 145px;
    }

    .site-header {
        background: rgba(4, 16, 24, 0.97);
        backdrop-filter: blur(18px);
    }

    .site-header .navbar {
        min-height: 76px;
        padding: 0.75rem 0;
    }

    .site-header .navbar-collapse {
        padding: 1rem 0 1.3rem;
        border-top: 1px solid var(--line-dark);
    }

    .site-header .nav-link {
        padding: 0.7rem 0 !important;
    }

    .site-header .nav-link::after {
        display: none;
    }

    .site-header .sector-mega-menu {
        position: static;
        width: 100%;
        max-height: min(62vh, 620px);
        margin: 0.25rem 0 0.75rem;
        overflow-y: auto;
        border-radius: var(--radius-sm);
        transform: none;
    }

    .sector-mega-intro {
        min-height: 0;
        padding: 1.25rem;
    }

    .sector-mega-intro strong {
        margin-bottom: 1rem;
        font-size: 1.3rem;
    }

    .sector-mega-groups {
        grid-template-columns: 1fr;
        gap: 1.2rem;
        padding: 1.25rem;
    }

    .sector-mega-groups section {
        padding: 0;
        border-left: 0;
    }

    .header-actions {
        align-items: flex-start !important;
        flex-wrap: wrap;
        margin: 0.8rem 0 0;
    }

    .hero-section {
        padding-top: 145px;
    }

    .hero-visual {
        max-width: 720px;
        min-height: 650px;
        margin: 0 auto;
    }

    .hero-image-main {
        width: 82%;
    }

    .hero-image-secondary {
        right: 5%;
        width: 48%;
        height: 280px;
    }

    .hero-badge {
        left: 7%;
    }

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

    .capability-card {
        min-height: 320px;
    }

    .capability-icon {
        margin-top: 2rem;
    }

    .project-layout {
        grid-template-columns: 1fr;
    }

    .project-stack {
        grid-template-columns: repeat(2, 1fr);
        grid-template-rows: none;
    }

    .admin-module-grid {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 991.98px) {
    .hero-section {
        min-height: auto;
    }

    .statement-strip .container-xxl {
        flex-direction: column;
        gap: 0.5rem;
        padding-top: 1.2rem;
        padding-bottom: 1.2rem;
        text-align: center;
    }

    .statement-strip span {
        display: none;
    }

    .closing-cta .container-xxl {
        align-items: flex-start;
        flex-direction: column;
    }

    .footer-main {
        grid-template-columns: 1fr 1fr;
    }

    .footer-brand {
        grid-column: 1 / -1;
    }

    .case-row {
        grid-template-columns: 45px minmax(150px, 220px) 1fr;
    }

    .project-detail-heading {
        grid-template-columns: 1fr;
    }

    .project-detail-heading .eyebrow {
        grid-column: 1;
    }

    .case-facts {
        grid-template-columns: repeat(2, 1fr);
    }

    .case-row > small {
        display: none;
    }

    .market-list article {
        grid-template-columns: 130px 1fr;
    }

    .market-list article > p {
        grid-column: 2;
    }

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

    .company-copy {
        padding-left: 0;
    }

    .admin-shell {
        grid-template-columns: 1fr;
    }

    .admin-sidebar {
        position: relative;
        height: auto;
    }

    .admin-sidebar nav {
        grid-template-columns: repeat(2, 1fr);
    }

    .admin-back-link {
        margin-top: 1.5rem;
    }

    .admin-roadmap {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 767.98px) {
    .hero-section {
        padding: 130px 0 70px;
    }

    .hero-section h1,
    .inner-hero h1 {
        font-size: clamp(3.1rem, 14vw, 5rem);
    }

    .hero-proof {
        grid-template-columns: 1fr;
        gap: 1.1rem;
    }

    .hero-visual {
        min-height: 500px;
    }

    .hero-image-main {
        right: 0;
        width: 100%;
        height: 340px;
    }

    .hero-image-secondary {
        right: 0;
        width: 65%;
        height: 220px;
    }

    .hero-badge {
        bottom: 1.2rem;
        left: 0;
        width: 112px;
        height: 112px;
    }

    .hero-badge strong {
        font-size: 2.1rem;
    }

    .project-feature {
        min-height: 440px;
    }

    .project-stack {
        grid-template-columns: 1fr;
    }

    .project-ticker {
        align-items: flex-start;
        flex-direction: column;
        border-radius: var(--radius-md);
    }

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

    .sector-card {
        min-height: 300px;
    }

    .sector-card p {
        margin-top: 2rem;
    }

    .case-row {
        grid-template-columns: 35px 1fr;
        padding: 1.5rem 0;
    }

    .case-facts {
        grid-template-columns: 1fr;
    }

    .project-detail-cta {
        align-items: flex-start;
        flex-direction: column;
    }

    .case-image,
    .case-placeholder {
        grid-column: 2;
        width: 100%;
        height: 220px;
    }

    .case-row > div:nth-of-type(2) {
        grid-column: 2;
    }

    .market-list article {
        grid-template-columns: 1fr;
        gap: 0.6rem;
    }

    .market-list article > p {
        grid-column: 1;
    }

    .company-story img {
        min-height: 340px;
    }

    .footer-main {
        grid-template-columns: 1fr;
    }

    .footer-brand {
        grid-column: auto;
    }

    .footer-bottom {
        flex-direction: column;
    }

    .admin-topbar {
        align-items: flex-start;
        flex-direction: column;
    }

    .admin-module-grid,
    .admin-sidebar nav {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 575.98px) {
    .brand-name {
        font-size: 1rem;
    }

    .hero-actions,
    .hero-actions .button,
    .closing-cta .button {
        width: 100%;
    }

    .project-meta,
    .project-title {
        left: 1.3rem;
    }

    .project-title {
        bottom: 1.3rem;
    }

    .project-arrow {
        right: 1rem;
        bottom: 1rem;
    }

    .market-destinations {
        grid-template-columns: 1fr;
    }

    .admin-main {
        padding: 1rem;
    }
}

.admin-user-actions {
    display: flex;
    align-items: center;
    gap: 1rem;
}

.admin-user-actions > div {
    display: grid;
    text-align: right;
}

.admin-user-actions strong {
    font-size: 0.78rem;
}

.admin-user-actions span {
    color: #596a72;
    font-size: 0.68rem;
}

.admin-user-actions button {
    padding: 0.65rem 0.85rem;
    color: var(--ink);
    background: transparent;
    border: 1px solid var(--line-light);
    border-radius: var(--radius-sm);
    font-size: 0.7rem;
    font-weight: 780;
}

.admin-user-actions button:hover,
.admin-user-actions button:focus {
    background: var(--paper-muted);
}

.admin-project-section {
    margin-top: 1.5rem;
    padding: clamp(1.5rem, 4vw, 3rem);
    background: var(--paper-bright);
    border: 1px solid var(--line-light);
    border-radius: var(--radius-md);
}

.admin-section-heading {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 1rem;
    margin-bottom: 2rem;
}

.admin-section-heading .admin-label {
    margin: 0 0 0.7rem;
}

.admin-section-heading h2 {
    margin: 0;
    font-family: var(--font-display);
    font-size: clamp(2rem, 4vw, 3.5rem);
    font-weight: 690;
    letter-spacing: -0.055em;
}

.admin-section-heading > span {
    color: #596a72;
    font-size: 0.72rem;
    font-weight: 760;
}

.admin-project-list {
    border-top: 1px solid var(--line-light);
}

.admin-project-list article {
    display: grid;
    grid-template-columns: 50px 1fr auto;
    align-items: center;
    gap: 1rem;
    padding: 1.25rem 0;
    border-bottom: 1px solid var(--line-light);
}

.admin-project-list article > span {
    color: var(--copper-dark);
    font-size: 0.7rem;
    font-weight: 850;
}

.admin-project-list small {
    color: #596a72;
    font-size: 0.65rem;
    font-weight: 760;
    letter-spacing: 0.06em;
    text-transform: uppercase;
}

.admin-project-list h3 {
    margin: 0.25rem 0 0;
    font-family: var(--font-display);
    font-size: 1.2rem;
    font-weight: 700;
}

.admin-project-list a {
    color: var(--copper-dark);
    font-size: 0.72rem;
    font-weight: 780;
}

@media (max-width: 767.98px) {
    .admin-user-actions {
        width: 100%;
        align-items: flex-start;
        flex-direction: column;
    }

    .admin-user-actions > div {
        text-align: left;
    }

    .admin-project-list article {
        grid-template-columns: 36px 1fr;
    }

    .admin-project-list a {
        grid-column: 2;
    }
}

/* Backoffice authentication */
.admin-auth-body {
    min-height: 100vh;
    color: var(--ink);
    background: var(--ink);
}

.admin-auth-shell {
    display: grid;
    min-height: 100vh;
    grid-template-columns: minmax(360px, 0.9fr) minmax(480px, 1.1fr);
}

.admin-auth-brand {
    display: flex;
    position: relative;
    min-height: 100vh;
    flex-direction: column;
    justify-content: space-between;
    overflow: hidden;
    padding: clamp(2rem, 6vw, 5.5rem);
    color: var(--white);
    background:
        radial-gradient(circle at 80% 20%, rgba(196, 145, 112, 0.25), transparent 33%),
        linear-gradient(145deg, #07151f 0%, #0d2533 100%);
}

.admin-auth-brand::after {
    position: absolute;
    right: -22%;
    bottom: -30%;
    width: min(48vw, 660px);
    aspect-ratio: 1;
    border: 1px solid rgba(255, 255, 255, 0.14);
    border-radius: 50%;
    box-shadow:
        0 0 0 80px rgba(255, 255, 255, 0.025),
        0 0 0 160px rgba(255, 255, 255, 0.018);
    content: "";
}

.admin-auth-brand > * {
    position: relative;
    z-index: 1;
}

.admin-auth-brand .brand-name,
.admin-password-header .brand-name {
    color: var(--white);
}

.admin-auth-brand .admin-label {
    margin: 0 0 1.2rem;
}

.admin-auth-brand h1 {
    max-width: 720px;
    margin: 0 0 1.4rem;
    font-family: var(--font-display);
    font-size: clamp(2.8rem, 6vw, 5.7rem);
    font-weight: 660;
    letter-spacing: -0.065em;
    line-height: 0.94;
}

.admin-auth-brand p:not(.admin-label) {
    max-width: 540px;
    color: rgba(255, 255, 255, 0.72);
    font-size: clamp(1rem, 1.5vw, 1.2rem);
    line-height: 1.7;
}

.admin-auth-brand > small {
    color: rgba(255, 255, 255, 0.68);
    font-size: 0.72rem;
    font-weight: 760;
    letter-spacing: 0.08em;
}

.admin-auth-panel {
    display: grid;
    min-height: 100vh;
    padding: clamp(2rem, 6vw, 6rem);
    place-items: center;
    background: var(--paper-bright);
}

.admin-auth-form-wrap {
    width: min(100%, 520px);
}

.admin-auth-kicker {
    margin: 0 0 1rem;
    color: var(--copper-dark);
    font-size: 0.7rem;
    font-weight: 850;
    letter-spacing: 0.14em;
    text-transform: uppercase;
}

.admin-auth-form-wrap h2,
.admin-password-copy h1 {
    margin: 0 0 1rem;
    font-family: var(--font-display);
    font-size: clamp(2.5rem, 5vw, 4.5rem);
    font-weight: 680;
    letter-spacing: -0.06em;
    line-height: 0.96;
}

.admin-auth-intro,
.admin-password-copy > p:not(.admin-auth-kicker) {
    margin: 0 0 2.2rem;
    color: #52636b;
    line-height: 1.7;
}

.admin-auth-form {
    display: grid;
    gap: 1.3rem;
}

.admin-auth-form > div {
    display: grid;
    gap: 0.55rem;
}

.admin-auth-form label {
    font-size: 0.76rem;
    font-weight: 800;
}

.admin-auth-form input {
    width: 100%;
    min-height: 56px;
    padding: 0.85rem 1rem;
    color: var(--ink);
    background: var(--white);
    border: 1px solid #aeb7bb;
    border-radius: var(--radius-sm);
    outline: none;
    transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

.admin-auth-form input:focus {
    border-color: var(--copper-dark);
    box-shadow: 0 0 0 4px rgba(143, 96, 69, 0.16);
}

.admin-auth-form small {
    color: #596a72;
    font-size: 0.72rem;
    line-height: 1.5;
}

.admin-auth-submit {
    width: 100%;
    margin-top: 0.4rem;
    border: 0;
}

.admin-auth-public-link {
    display: inline-block;
    margin-top: 2rem;
    color: #4f6068;
    font-size: 0.78rem;
    font-weight: 760;
}

.admin-form-error,
.admin-form-message {
    margin-bottom: 1.4rem;
    padding: 1rem 1.1rem;
    border-radius: var(--radius-sm);
    font-size: 0.8rem;
    line-height: 1.5;
}

.admin-form-error {
    color: #70251f;
    background: #fff0ed;
    border: 1px solid #e2aaa4;
}

.admin-form-message {
    color: #1f5a3b;
    background: #eef8f1;
    border: 1px solid #a9d2b7;
}

.admin-form-error p {
    margin: 0;
}

.admin-form-error p + p {
    margin-top: 0.35rem;
}

.admin-password-body {
    color: var(--white);
    background:
        radial-gradient(circle at 75% 10%, rgba(196, 145, 112, 0.22), transparent 30%),
        var(--ink);
}

.admin-password-shell {
    width: min(100%, 1440px);
    min-height: 100vh;
    margin: 0 auto;
    padding: clamp(1.4rem, 4vw, 4rem);
}

.admin-password-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    margin-bottom: clamp(3rem, 8vh, 7rem);
}

.admin-text-button {
    padding: 0;
    color: rgba(255, 255, 255, 0.72);
    background: transparent;
    border: 0;
    font-size: 0.76rem;
    font-weight: 760;
}

.admin-text-button:hover,
.admin-text-button:focus {
    color: var(--white);
}

.admin-password-card {
    display: grid;
    overflow: hidden;
    grid-template-columns: 0.9fr 1.1fr;
    color: var(--ink);
    background: var(--paper-bright);
    border-radius: var(--radius-lg);
    box-shadow: var(--shadow);
}

/* Backoffice CMS */
.admin-cms-body {
    background: #f3f6f8;
    color: #102430;
}

.admin-cms-shell {
    min-height: 100vh;
    display: grid;
    grid-template-columns: 280px minmax(0, 1fr);
}

.admin-cms-sidebar {
    position: sticky;
    top: 0;
    height: 100vh;
    overflow-y: auto;
    padding: 1.5rem 1.25rem;
    background: #07151f;
    color: #fff;
    z-index: 20;
}

.admin-cms-sidebar .brand-lockup {
    color: #fff;
    margin-bottom: 1.75rem;
}

.admin-cms-kicker {
    margin: 0 0 1rem;
    color: #55d6be;
    font-size: .72rem;
    font-weight: 800;
    letter-spacing: .16em;
    text-transform: uppercase;
}

.admin-cms-nav > p {
    margin: 1.4rem .7rem .45rem;
    color: #8195a2;
    font-size: .68rem;
    font-weight: 800;
    letter-spacing: .12em;
    text-transform: uppercase;
}

.admin-cms-nav a {
    display: flex;
    align-items: center;
    gap: .7rem;
    padding: .68rem .75rem;
    border-radius: .55rem;
    color: #c5d1d8;
    font-size: .88rem;
    text-decoration: none;
    transition: background .2s ease, color .2s ease;
}

.admin-cms-nav a span {
    color: #4f6978;
}

.admin-cms-nav a:hover,
.admin-cms-nav a:focus,
.admin-cms-nav a.active {
    background: #112a38;
    color: #fff;
}

.admin-cms-nav a.active span {
    color: #55d6be;
}

.admin-cms-public-link {
    display: inline-block;
    margin: 2rem .75rem 1rem;
    color: #9eb0ba;
    font-size: .82rem;
    text-decoration: none;
}

.admin-cms-main {
    min-width: 0;
}

.admin-cms-topbar {
    min-height: 88px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    padding: 1rem 2rem;
    background: #fff;
    border-bottom: 1px solid #dce4e8;
}

.admin-cms-page-title p,
.admin-cms-eyebrow {
    margin: 0 0 .2rem;
    color: #647b88;
    font-size: .7rem;
    font-weight: 800;
    letter-spacing: .12em;
    text-transform: uppercase;
}

.admin-cms-page-title h1 {
    margin: 0;
    font-size: clamp(1.3rem, 2.3vw, 1.85rem);
}

.admin-cms-menu-button {
    display: none;
    border: 1px solid #ccd8de;
    border-radius: .45rem;
    background: #fff;
    padding: .5rem .75rem;
}

.admin-cms-content {
    width: min(1440px, 100%);
    padding: 2rem;
}

.admin-cms-alert {
    margin-bottom: 1rem;
    padding: .9rem 1rem;
    border: 1px solid transparent;
    border-radius: .65rem;
    background: #fff;
}

.admin-cms-alert.success { border-color: #a9dfd0; background: #effbf7; color: #155c49; }
.admin-cms-alert.warning { border-color: #ecd49b; background: #fff9e9; color: #795910; }
.admin-cms-alert.error { border-color: #edb6b6; background: #fff3f3; color: #8b2020; }
.admin-cms-alert ul { margin: .5rem 0 0; }

.admin-cms-welcome {
    display: flex;
    align-items: end;
    justify-content: space-between;
    gap: 2rem;
    padding: clamp(1.5rem, 4vw, 3rem);
    border-radius: 1rem;
    background: linear-gradient(125deg, #0a1f2b, #123d4f);
    color: #fff;
}

.admin-cms-welcome h2 {
    max-width: 720px;
    margin: .35rem 0 .75rem;
    font-size: clamp(1.6rem, 3vw, 2.75rem);
}

.admin-cms-welcome p:last-child { margin: 0; color: #c8d7de; }

.admin-cms-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 44px;
    padding: .65rem 1rem;
    border: 1px solid transparent;
    border-radius: .5rem;
    font-weight: 750;
    text-decoration: none;
    cursor: pointer;
}

.admin-cms-button.primary { background: #ef6c32; color: #fff; }
.admin-cms-button.primary:hover,
.admin-cms-button.primary:focus { background: #d95720; color: #fff; }
.admin-cms-button.secondary { border-color: #cbd7dd; background: #fff; color: #203d4c; }

.admin-cms-stats {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 1rem;
    margin: 1.25rem 0;
}

.admin-cms-stats article {
    display: grid;
    gap: .35rem;
    padding: 1.25rem;
    border: 1px solid #dce4e8;
    border-radius: .8rem;
    background: #fff;
}

.admin-cms-stats span { color: #687f8c; font-size: .8rem; font-weight: 700; text-transform: uppercase; }
.admin-cms-stats strong { font-size: 2rem; }
.admin-cms-stats a { color: #cf4f18; font-size: .84rem; font-weight: 700; }

.admin-cms-panel {
    margin-top: 1.25rem;
    border: 1px solid #dce4e8;
    border-radius: .85rem;
    background: #fff;
    overflow: hidden;
}

.admin-cms-panel-heading {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    padding: 1.15rem 1.25rem;
    border-bottom: 1px solid #e2e9ed;
}

.admin-cms-panel-heading h2 { margin: 0; font-size: 1.15rem; }
.admin-cms-panel-heading > span { color: #6e828e; font-size: .82rem; }
.admin-cms-description {
    max-width: 760px;
    margin: .4rem 0 0;
    color: #637985;
    font-size: .82rem;
    line-height: 1.5;
}

.admin-cms-quick-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
}

.admin-cms-quick-grid a {
    display: grid;
    gap: .25rem;
    padding: 1.2rem;
    border-right: 1px solid #e2e9ed;
    color: #14303f;
    text-decoration: none;
}

.admin-cms-quick-grid a:last-child { border-right: 0; }
.admin-cms-quick-grid span { color: #6e828e; font-size: .82rem; }

.admin-language-tabs {
    display: flex;
    align-items: stretch;
    gap: 0.5rem;
    margin-bottom: 1rem;
    padding: 0.65rem;
    border: 1px solid #dce4e8;
    border-radius: 0.85rem;
    background: #fff;
}

.admin-language-tabs > span {
    align-self: center;
    padding: 0 0.65rem;
    color: #637985;
    font-size: 0.75rem;
    font-weight: 700;
    text-transform: uppercase;
}

.admin-language-tabs a {
    display: grid;
    gap: 0.05rem;
    min-width: 5.25rem;
    padding: 0.5rem 0.7rem;
    border: 1px solid #dce4e8;
    border-radius: 0.55rem;
    color: #14303f;
    text-decoration: none;
}

.admin-language-tabs a.active {
    border-color: #cf4f18;
    background: #fff3ec;
    color: #9f3510;
}

.admin-language-tabs small {
    color: #637985;
    font-size: 0.7rem;
}

.admin-cms-toolbar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
}

.admin-cms-toolbar form {
    display: flex;
    width: min(480px, 100%);
}

.admin-cms-toolbar input {
    min-width: 0;
    flex: 1;
    border: 1px solid #cbd7dd;
    border-radius: .5rem 0 0 .5rem;
    padding: .65rem .8rem;
}

.admin-cms-toolbar button {
    border: 0;
    border-radius: 0 .5rem .5rem 0;
    padding: .65rem 1rem;
    background: #173848;
    color: #fff;
}

.admin-cms-table-wrap { overflow-x: auto; }
.admin-cms-table { width: 100%; border-collapse: collapse; }
.admin-cms-table th,
.admin-cms-table td { padding: .85rem 1rem; border-bottom: 1px solid #e8edef; text-align: left; vertical-align: middle; }
.admin-cms-table th { color: #617987; font-size: .72rem; letter-spacing: .05em; text-transform: uppercase; }
.admin-cms-table tbody tr:hover { background: #f8fafb; }
.admin-cms-table td { max-width: 360px; font-size: .88rem; overflow-wrap: anywhere; }

.admin-cms-actions {
    display: flex;
    justify-content: flex-end;
    gap: .7rem;
    white-space: nowrap;
}

.admin-cms-actions a,
.admin-cms-actions button {
    border: 0;
    background: none;
    color: #c44b17;
    font-size: .82rem;
    font-weight: 750;
    text-decoration: none;
}

.admin-cms-actions form { display: inline; }
.admin-cms-actions button { color: #9d3030; }
.admin-cms-empty { padding: 3rem 1rem; text-align: center; color: #6c818d; }

.admin-cms-form-heading > a { color: #4f6876; font-weight: 700; text-decoration: none; }
.admin-cms-form-heading .admin-cms-alert { margin-top: 1rem; }
.admin-cms-fields { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; padding: 1.25rem; }
.admin-cms-field { display: flex; flex-direction: column; gap: .4rem; }
.admin-cms-field.wide { grid-column: 1 / -1; }
.admin-cms-field label { color: #294654; font-size: .8rem; font-weight: 750; }
.admin-cms-field input,
.admin-cms-field select,
.admin-cms-field textarea {
    width: 100%;
    border: 1px solid #cbd7dd;
    border-radius: .5rem;
    background: #fff;
    padding: .68rem .75rem;
    color: #102b39;
}

.admin-cms-field textarea { resize: vertical; }
.admin-cms-field select[multiple] { min-height: 150px; }
.admin-cms-field input:focus,
.admin-cms-field select:focus,
.admin-cms-field textarea:focus { outline: 3px solid rgba(54, 161, 141, .18); border-color: #2c9e89; }
.admin-cms-field input:disabled,
.admin-cms-field select:disabled,
.admin-cms-field textarea:disabled { background: #eef2f4; color: #607681; }
.admin-cms-field small { color: #718691; font-size: .76rem; }
.admin-cms-field-help { line-height: 1.45; }

.admin-cms-check { flex-direction: row !important; align-items: center; gap: .65rem !important; min-height: 44px; }
.admin-cms-check input { width: 1.1rem; height: 1.1rem; }
.admin-cms-form-actions { display: flex; gap: .75rem; margin-top: 1rem; }
.admin-cms-note-list { display: grid; gap: .75rem; padding: 1.25rem; }
.admin-cms-note-list article { padding: 1rem; border-radius: .6rem; background: #f4f7f8; }
.admin-cms-note-list p { margin: 0 0 .45rem; }
.admin-cms-note-list small { color: #6b818d; }

@media (max-width: 1100px) {
    .admin-cms-stats,
    .admin-cms-quick-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .admin-cms-quick-grid a:nth-child(2) { border-right: 0; }
    .admin-cms-quick-grid a { border-bottom: 1px solid #e2e9ed; }
}

@media (max-width: 850px) {
    .admin-cms-shell { display: block; }
    .admin-cms-sidebar { position: fixed; left: -290px; width: 280px; transition: left .2s ease; box-shadow: 8px 0 24px rgba(0,0,0,.2); }
    .admin-cms-sidebar.open { left: 0; }
    .admin-cms-menu-button { display: inline-flex; }
    .admin-cms-topbar { padding: .85rem 1rem; }
    .admin-cms-content { padding: 1rem; }
    .admin-cms-welcome { align-items: flex-start; flex-direction: column; }
    .admin-user-actions > div { display: none; }
}

@media (max-width: 620px) {
    .admin-cms-stats,
    .admin-cms-quick-grid,
    .admin-cms-fields { grid-template-columns: 1fr; }
    .admin-cms-field.wide { grid-column: auto; }
    .admin-cms-toolbar { align-items: stretch; flex-direction: column; }
    .admin-cms-toolbar form { width: 100%; }
    .admin-cms-table thead { display: none; }
    .admin-cms-table,
    .admin-cms-table tbody,
    .admin-cms-table tr,
    .admin-cms-table td { display: block; width: 100%; }
    .admin-cms-table tr { padding: .75rem; border-bottom: 1px solid #dfe7eb; }
    .admin-cms-table td { display: grid; grid-template-columns: 110px 1fr; gap: .75rem; max-width: none; padding: .35rem; border: 0; }
    .admin-cms-table td::before { content: attr(data-label); color: #6b818c; font-size: .72rem; font-weight: 700; text-transform: uppercase; }
    .admin-cms-actions { display: flex !important; justify-content: flex-start; padding-top: .7rem !important; }
    .admin-cms-actions::before { display: none; }
}

/* Exportação, importação e aprovação de traduções */
.admin-translation-intro { margin-bottom: 1.25rem; }
.admin-translation-actions {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1.25rem;
}
.admin-translation-actions .admin-cms-panel { margin-top: 0; padding-bottom: 1.25rem; }
.admin-translation-actions .admin-cms-panel > p,
.admin-translation-actions .admin-cms-panel > form { margin: 1rem 1.25rem 0; }
.admin-translation-export-form { display: flex; flex-wrap: wrap; align-items: center; gap: .75rem; }
.admin-translation-export-form .admin-cms-button { flex: 1 1 14rem; }
.admin-translation-upload { display: grid; gap: .7rem; }
.admin-translation-upload label { color: #294654; font-size: .8rem; font-weight: 750; }
.admin-translation-upload input[type="file"] {
    width: 100%;
    border: 1px dashed #aabcc5;
    border-radius: .65rem;
    padding: .8rem;
    background: #f7fafb;
}
.admin-translation-status {
    display: inline-flex;
    width: fit-content;
    border-radius: 999px;
    padding: .3rem .65rem;
    background: #e9eef1;
    color: #455e6a;
    font-size: .72rem;
    font-weight: 800;
    white-space: nowrap;
}
.admin-translation-status.pending,
.admin-translation-status.imported,
.admin-translation-status.exported { background: #fff1d1; color: #8a5a00; }
.admin-translation-status.approved,
.admin-translation-status.completed,
.admin-translation-status.available { background: #dff4e9; color: #17613f; }
.admin-translation-status.rejected,
.admin-translation-status.failed { background: #f8dddd; color: #8a2929; }
.admin-translation-status.partially_approved,
.admin-translation-status.mixed,
.admin-translation-status.restored { background: #e5e8fa; color: #3f478e; }
.admin-translation-restore-panel .admin-cms-actions form { margin: 0; }
.admin-translation-reset-panel { border-color: #e5bcbc; background: #fffafa; }
.admin-translation-reset-panel > .admin-cms-panel-heading { border-bottom-color: #efd4d4; }
.admin-translation-reset-panel > .admin-cms-panel-heading > strong { color: #8d2828; white-space: nowrap; }
.admin-translation-reset-summary {
    display: flex;
    flex-wrap: wrap;
    gap: .65rem;
    padding: 1rem 1.25rem 0;
}
.admin-translation-reset-summary span {
    display: inline-flex;
    gap: .35rem;
    border: 1px solid #e7d4d4;
    border-radius: 999px;
    padding: .35rem .65rem;
    background: #fff;
    color: #6f4a4a;
    font-size: .76rem;
}
.admin-translation-reset-form { display: grid; gap: .75rem; max-width: 580px; padding: 1rem 1.25rem 1.25rem; }
.admin-translation-reset-form > label { color: #5f3e3e; font-size: .82rem; }
.admin-translation-reset-form > input[type="text"] {
    width: 100%;
    border: 1px solid #d7b5b5;
    border-radius: .55rem;
    padding: .72rem .8rem;
    background: #fff;
    color: #3e2020;
}
.admin-translation-reset-check { display: flex; align-items: flex-start; gap: .55rem; line-height: 1.45; }
.admin-translation-reset-check input { width: auto; margin-top: .2rem; }
.admin-translation-reset-form .admin-cms-button { width: fit-content; }
.admin-translation-source-alert {
    margin: 0 0 1.25rem;
    overflow: hidden;
    border: 1px solid #e8c977;
    border-radius: .85rem;
    background: #fffaf0;
    box-shadow: 0 10px 28px rgba(105, 75, 7, .08);
}
.admin-translation-source-alert-heading {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1.25rem;
    padding: 1.15rem 1.25rem;
    border-bottom: 1px solid #efdda8;
}
.admin-translation-source-alert-heading h2 { margin: .15rem 0 .3rem; font-size: 1.1rem; }
.admin-translation-source-alert-heading p { margin: 0; color: #73591a; }
.admin-translation-source-alert-heading form { margin: 0; flex: 0 0 auto; }
.admin-translation-source-list { display: grid; }
.admin-translation-source-list article {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    padding: .85rem 1.25rem;
    border-bottom: 1px solid #f1e6c7;
}
.admin-translation-source-list article:last-child { border-bottom: 0; }
.admin-translation-source-list article > div:first-child { display: grid; gap: .2rem; min-width: 0; }
.admin-translation-source-list strong { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.admin-translation-source-list article > div:first-child span { color: #6c7e86; font-size: .76rem; }
.admin-translation-source-links { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: .5rem; }
.admin-translation-source-links a {
    display: inline-flex;
    align-items: center;
    gap: .4rem;
    border-radius: 999px;
    padding: .4rem .65rem;
    background: #f5df9d;
    color: #5d4306;
    font-size: .75rem;
    font-weight: 850;
    text-decoration: none;
}
.admin-translation-source-links a:hover { background: #ecca65; }
.admin-translation-source-links span { font-size: .66rem; font-weight: 700; }
.admin-translation-direct-panel { overflow: hidden; }
.admin-translation-direct-comparison {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1rem;
    padding: 1.25rem;
}
.admin-translation-direct-comparison article { display: grid; gap: .45rem; }
.admin-translation-direct-comparison span,
.admin-translation-direct-form label { color: #526b77; font-size: .76rem; font-weight: 800; }
.admin-translation-direct-comparison article > div {
    min-height: 110px;
    border-radius: .6rem;
    padding: .85rem;
    background: #f1f4f5;
    color: #435b66;
    line-height: 1.5;
}
.admin-translation-direct-comparison article:last-child > div { background: #fff7df; color: #172f3a; }
.admin-translation-direct-form { display: grid; gap: .85rem; padding: 0 1.25rem 1.25rem; }
.admin-translation-direct-form label { display: grid; gap: .4rem; }
.admin-translation-direct-form textarea {
    width: 100%;
    min-height: 180px;
    resize: vertical;
    border: 1px solid #b9c9d0;
    border-radius: .6rem;
    padding: .85rem;
    color: #102b39;
    font: inherit;
    line-height: 1.5;
}
.admin-translation-direct-form > p { margin: 0; color: #687f89; font-size: .78rem; }
.admin-translation-direct-form > div { display: flex; flex-wrap: wrap; gap: .7rem; }
.admin-translation-review-heading {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    margin-bottom: 1rem;
}
.admin-translation-review-heading > div { display: flex; align-items: center; gap: 1rem; }
.admin-translation-review-heading span { color: #667d88; font-size: .78rem; }
.admin-translation-groups { display: grid; gap: 1.25rem; margin-top: 1.25rem; }
.admin-translation-group {
    overflow: hidden;
    border: 1px solid #dce4e8;
    border-radius: .85rem;
    background: #fff;
}
.admin-translation-group > header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    padding: 1rem 1.25rem;
    border-bottom: 1px solid #e2e9ed;
    background: #f8fafb;
}
.admin-translation-group > header p {
    margin: 0 0 .2rem;
    color: #697f8a;
    font-size: .72rem;
    font-weight: 800;
    text-transform: uppercase;
}
.admin-translation-group > header h3 { margin: 0; font-size: 1rem; }
.admin-translation-edit-form { padding: 1.1rem 1.25rem; }
.admin-translation-field + .admin-translation-field { margin-top: 1.15rem; padding-top: 1.15rem; border-top: 1px solid #e6ecef; }
.admin-translation-field h4 { margin: 0 0 .6rem; font-size: .82rem; color: #294654; }
.admin-translation-field > div { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; }
.admin-translation-field label { display: grid; gap: .35rem; color: #526b77; font-size: .74rem; font-weight: 800; }
.admin-translation-field textarea {
    width: 100%;
    min-height: 120px;
    resize: vertical;
    border: 1px solid #cbd7dd;
    border-radius: .55rem;
    padding: .75rem;
    color: #102b39;
    line-height: 1.5;
}
.admin-translation-field textarea[readonly] { background: #f0f3f4; color: #586e78; }
.admin-translation-field.readonly { padding: 1rem 1.25rem; }
.admin-translation-field.readonly p {
    margin: 0;
    border-radius: .55rem;
    padding: .8rem;
    background: #f2f5f6;
    color: #455e6a;
    line-height: 1.5;
}
.admin-translation-field.readonly p + p { background: #fdf8e9; color: #102b39; }
.admin-translation-group > footer {
    display: flex;
    align-items: center;
    gap: .8rem;
    padding: 1rem 1.25rem;
    border-top: 1px solid #e2e9ed;
    background: #fbfcfc;
}
.admin-translation-group > footer form { margin: 0; }

@media (max-width: 850px) {
    .admin-translation-actions,
    .admin-translation-field > div,
    .admin-translation-direct-comparison { grid-template-columns: 1fr; }
    .admin-translation-source-alert-heading,
    .admin-translation-source-list article { align-items: flex-start; flex-direction: column; }
    .admin-translation-source-links { justify-content: flex-start; }
    .admin-translation-export-form .admin-cms-button { width: 100%; text-align: center; }
    .admin-translation-reset-form .admin-cms-button { width: 100%; text-align: center; }
    .admin-translation-review-heading,
    .admin-translation-review-heading > div,
    .admin-translation-group > header { align-items: flex-start; flex-direction: column; }
}

/* Notícias, vídeos e destaques */
.hero-image-main video,
.hero-image-secondary video,
.project-detail-media video,
.news-detail-media video,
.news-card-media video,
.home-highlight-media video,
.news-gallery video {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
    background: #07151f;
}

.home-highlights { background: #f3f6f4; }
.home-highlight-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1.25rem; margin-top: 2rem; }
.home-highlight-card { overflow: hidden; border-radius: .9rem; background: #fff; box-shadow: 0 16px 36px rgba(8, 28, 39, .08); }
.home-highlight-media { aspect-ratio: 16 / 10; overflow: hidden; background: #102b39; }
.home-highlight-media img { width: 100%; height: 100%; object-fit: cover; }
.home-highlight-card > div:last-child { display: grid; gap: .65rem; padding: 1.25rem; }
.home-highlight-card p { margin: 0; color: #c64d1a; font-size: .72rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.home-highlight-card h3 { margin: 0; font-size: 1.25rem; }
.home-highlight-card span { color: #627984; }
.home-highlight-card a { color: #c64d1a; font-weight: 750; text-decoration: none; }

.news-hero,
.news-detail-hero { background: linear-gradient(125deg, #07151f, #123b4c); }
.news-index-section { background: #f4f6f5; }
.news-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1.35rem; }
.news-card { overflow: hidden; border-radius: .9rem; background: #fff; box-shadow: 0 14px 32px rgba(8, 28, 39, .08); }
.news-card-media { display: block; aspect-ratio: 16 / 10; overflow: hidden; background: #102b39; }
.news-card-media img { width: 100%; height: 100%; object-fit: cover; transition: transform .35s ease; }
.news-card:hover .news-card-media img { transform: scale(1.035); }
.news-card-copy { display: grid; gap: .7rem; padding: 1.25rem; }
.news-card-copy > p { margin: 0; color: #c44b17; font-size: .72rem; font-weight: 800; text-transform: uppercase; }
.news-card-copy h2 { margin: 0; font-size: 1.3rem; }
.news-card-copy h2 a { color: #102b39; text-decoration: none; }
.news-card-copy > span { color: #627984; }
.news-empty { padding: 3rem; border-radius: .9rem; background: #fff; text-align: center; }
.portfolio-empty { max-width: 850px; margin: 0 auto; }
.portfolio-empty .eyebrow { justify-content: center; }
.portfolio-empty > p:not(.eyebrow) { max-width: 620px; margin: 0 auto; color: #607681; }
.portfolio-empty .button { margin-top: 1.5rem; }

.news-detail-media { margin-top: -2rem; position: relative; z-index: 2; }
.news-detail-media img,
.news-detail-media video { width: 100%; max-height: 720px; border-radius: .9rem; object-fit: cover; }
.news-article-body { width: min(780px, 100%); margin: 0 auto; color: #294654; font-size: 1.06rem; line-height: 1.9; }
.news-gallery { padding: 0 0 5rem; }
.news-gallery-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; }
.news-gallery figure { margin: 0; overflow: hidden; border-radius: .8rem; background: #edf1f2; }
.news-gallery figure > img { width: 100%; height: auto; aspect-ratio: auto; object-fit: contain; }
.news-gallery .site-video-player { aspect-ratio: 16 / 10; }
.news-gallery .site-video-player video { width: 100%; height: 100%; object-fit: cover; }
.news-gallery-grid > figure:only-child { grid-column: 1 / -1; width: min(900px, 100%); justify-self: center; }
.news-gallery figcaption { padding: .7rem .9rem; color: #607681; font-size: .82rem; }

.project-category-filters { display: flex; flex-wrap: wrap; gap: .55rem; margin-bottom: 2rem; }
.project-category-filters a { padding: .55rem .85rem; border: 1px solid #ccd8de; border-radius: 999px; color: #294654; font-size: .82rem; font-weight: 750; text-decoration: none; }
.project-category-filters a.active,
.project-category-filters a:hover { border-color: #c44b17; background: #c44b17; color: #fff; }

.portfolio-view-switch {
    display: flex;
    flex-wrap: wrap;
    gap: .65rem;
    margin-top: 2rem;
}
.portfolio-view-switch a {
    padding: .7rem 1rem;
    border: 1px solid rgba(255,255,255,.3);
    border-radius: 999px;
    color: rgba(255,255,255,.82);
    font-size: .78rem;
    font-weight: 780;
    text-decoration: none;
}
.portfolio-view-switch a:hover,
.portfolio-view-switch a:focus-visible,
.portfolio-view-switch a.active {
    border-color: #efb46e;
    color: #10212b;
    background: #efb46e;
}

.works-hero {
    position: relative;
    overflow: hidden;
    padding-bottom: clamp(4.5rem, 8vw, 7rem);
    background:
        radial-gradient(circle at 82% 20%, rgba(214, 131, 72, .24), transparent 25%),
        linear-gradient(125deg, #07151f 0%, #102d3a 70%, #173f49 100%);
}
.works-hero::before {
    position: absolute;
    inset: 0;
    opacity: .1;
    background-image:
        linear-gradient(rgba(255,255,255,.2) 1px, transparent 1px),
        linear-gradient(90deg, rgba(255,255,255,.2) 1px, transparent 1px);
    background-size: 72px 72px;
    mask-image: linear-gradient(90deg, transparent 5%, #000 55%, transparent);
    content: "";
}
.works-hero::after {
    position: absolute;
    right: -8rem;
    bottom: -18rem;
    width: 34rem;
    height: 34rem;
    border: 1px solid rgba(255,255,255,.12);
    border-radius: 50%;
    content: "";
}
.works-hero .container-xxl { position: relative; z-index: 1; }
.works-hero h1 {
    max-width: 940px;
    font-family: var(--font-display);
    font-size: clamp(3.3rem, 6.2vw, 6.8rem);
    font-weight: 720;
    letter-spacing: -.075em;
    line-height: .91;
    overflow-wrap: normal;
}
.works-hero .container-xxl > p:not(.eyebrow) {
    max-width: 680px;
    color: rgba(255,255,255,.65);
    font-size: 1.08rem;
    line-height: 1.7;
}
.works-index-section {
    padding-top: clamp(3.5rem, 7vw, 6rem);
    background:
        radial-gradient(circle at 95% 5%, rgba(196,75,23,.07), transparent 24rem),
        #f3f6f5;
}
.works-index-heading {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: end;
    gap: 2rem;
    margin-bottom: clamp(2rem, 4vw, 3.5rem);
}
.works-index-heading h2 {
    max-width: 820px;
    margin: .9rem 0 .8rem;
    color: #102b39;
    font-family: var(--font-display);
    font-size: clamp(2.5rem, 5vw, 5.15rem);
    font-weight: 680;
    letter-spacing: -.065em;
    line-height: .94;
}
.works-index-heading > div > p:last-child {
    max-width: 690px;
    margin: 0;
    color: #607681;
    line-height: 1.7;
}
.works-results-count {
    min-width: 170px;
    display: grid;
    gap: .15rem;
    padding: 1.15rem 1.3rem;
    border: 1px solid rgba(16,43,57,.1);
    border-radius: 1rem;
    color: #fff;
    background: #102b39;
    box-shadow: 0 18px 45px rgba(8,28,39,.12);
}
.works-results-count strong {
    color: #efb46e;
    font-family: var(--font-display);
    font-size: 2rem;
    font-weight: 720;
    line-height: 1;
}
.works-results-count span { font-size: .72rem; font-weight: 750; }
.works-filter-panel {
    display: grid;
    gap: 1rem;
    margin-bottom: clamp(2rem, 4vw, 3rem);
    padding: 1.2rem;
    border: 1px solid rgba(16,43,57,.09);
    border-radius: 1rem;
    background: rgba(255,255,255,.88);
    box-shadow: 0 18px 50px rgba(8,28,39,.07);
    backdrop-filter: blur(12px);
}
.works-filter-panel-heading {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    padding: 0 .15rem .9rem;
    border-bottom: 1px solid #e2e9ec;
    color: #102b39;
    font-size: .82rem;
}
.works-filter-panel-heading strong {
    font-family: var(--font-display);
    font-size: .92rem;
    font-weight: 720;
    letter-spacing: -.02em;
}
.works-filter-panel-heading a {
    color: #b94719;
    font-size: .72rem;
    font-weight: 800;
}
.works-filter-group {
    display: grid;
    grid-template-columns: 95px minmax(0, 1fr);
    align-items: center;
    gap: 1rem;
}
.works-filter-group > span {
    color: #738791;
    font-size: .65rem;
    font-weight: 850;
    letter-spacing: .09em;
    text-transform: uppercase;
}
.works-filter-group nav { display: flex; flex-wrap: wrap; gap: .5rem; }
.works-filter-group a {
    padding: .55rem .8rem;
    border: 1px solid #cbd7dc;
    border-radius: 999px;
    color: #294654;
    background: #fff;
    font-size: .75rem;
    font-weight: 760;
    text-decoration: none;
}
.works-filter-group a:hover,
.works-filter-group a:focus-visible,
.works-filter-group a.active {
    border-color: #c44b17;
    color: #fff;
    background: #c44b17;
}
.works-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(min(100%, 310px), 1fr));
    gap: clamp(1rem, 2vw, 1.5rem);
}
.work-card {
    min-width: 0;
    display: flex;
    flex-direction: column;
    overflow: hidden;
    border: 1px solid rgba(16,43,57,.08);
    border-radius: .95rem;
    background: #fff;
    box-shadow: 0 16px 36px rgba(8, 28, 39, .08);
    transition: transform .3s ease, box-shadow .3s ease;
}
.work-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 24px 55px rgba(8,28,39,.14);
}
.work-card-media {
    position: relative;
    display: block;
    aspect-ratio: 16 / 10;
    overflow: hidden;
    color: #efb46e;
    background: #102b39;
}
.work-card-media > img,
.work-card-media > video,
.work-card-media .site-video-player,
.work-card-media .site-video-player video {
    width: 100%;
    height: 100%;
    display: block;
    border-radius: 0;
    object-fit: cover;
}
.work-card-media > span:not(.work-card-country) {
    display: grid;
    width: 100%;
    height: 100%;
    place-items: center;
    font-family: var(--font-display);
    font-size: 3rem;
    font-weight: 800;
}
.work-card-country {
    position: absolute;
    z-index: 2;
    top: .85rem;
    right: .85rem;
    padding: .42rem .65rem;
    border: 1px solid rgba(255,255,255,.34);
    border-radius: 999px;
    color: #fff;
    background: rgba(7,21,31,.72);
    box-shadow: 0 8px 24px rgba(0,0,0,.16);
    backdrop-filter: blur(10px);
    font-size: .65rem;
    font-weight: 820;
}
.work-card-media img,
.work-card-media video { transition: transform .35s ease; }
.work-card:hover .work-card-media img,
.work-card:hover .work-card-media video { transform: scale(1.035); }
.work-card-copy {
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: .75rem;
    padding: 1.35rem;
}
.work-card-copy .work-card-kicker {
    margin: 0;
    color: #c44b17;
    font-size: .7rem;
    font-weight: 820;
    letter-spacing: .06em;
    text-transform: uppercase;
}
.work-card-copy h2 {
    max-width: 570px;
    margin: 0;
    font-family: var(--font-display);
    font-size: clamp(1.35rem, 2vw, 1.75rem);
    font-weight: 690;
    letter-spacing: -.045em;
    line-height: 1.04;
}
.work-card-copy h2 a { color: #102b39; text-decoration: none; }
.work-card-summary {
    display: -webkit-box;
    overflow: hidden;
    margin: 0;
    color: #607681;
    font-size: .87rem;
    line-height: 1.65;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3;
}
.work-card-copy footer {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    margin-top: auto;
    padding-top: .75rem;
    border-top: 1px solid #e8edef;
}
.work-card-copy footer > span { color: #536c78; font-size: .75rem; font-weight: 700; }
.work-card-copy footer > a {
    flex: none;
    color: #c44b17;
    font-size: .78rem;
    font-weight: 800;
    text-decoration: none;
}
.works-grid-single { grid-template-columns: minmax(0, 1fr); }
.works-grid-single .work-card {
    display: grid;
    grid-template-columns: minmax(0, 1.15fr) minmax(360px, .85fr);
    overflow: hidden;
    border: 0;
    border-radius: var(--radius-lg) 8px var(--radius-lg) var(--radius-lg);
    color: #fff;
    background: var(--ink);
    box-shadow: 0 28px 70px rgba(8,28,39,.18);
}
.works-grid-single .work-card-media {
    min-height: 470px;
    aspect-ratio: auto;
}
.works-grid-single .work-card-copy {
    justify-content: center;
    padding: clamp(2rem, 4vw, 4rem);
    background:
        radial-gradient(circle at 100% 0, rgba(196,145,112,.2), transparent 45%),
        var(--ink);
}
.works-grid-single .work-card-copy .work-card-kicker { color: var(--copper-light); }
.works-grid-single .work-card-copy h2 {
    font-size: clamp(2.15rem, 3.6vw, 3.8rem);
    line-height: .98;
}
.works-grid-single .work-card-copy h2 a { color: #fff; }
.works-grid-single .work-card-summary { color: rgba(255,255,255,.62); }
.works-grid-single .work-card-copy footer { border-color: rgba(255,255,255,.14); }
.works-grid-single .work-card-copy footer > span { color: rgba(255,255,255,.62); }
.works-grid-single .work-card-copy footer > a { color: var(--copper-light); }

.work-detail-hero { min-height: 0; padding-top: var(--public-hero-padding-top); padding-bottom: clamp(3rem, 6vw, 6rem); }
.work-detail-hero h1 {
    max-width: 1100px;
    font-size: clamp(3rem, 6vw, 6.3rem);
    letter-spacing: -.06em;
    line-height: .96;
}
.work-detail-hero .container-xxl > p:not(.eyebrow) { max-width: 920px; }
.work-detail-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 1px;
    width: fit-content;
    overflow: hidden;
    margin-top: 2rem;
    border: 1px solid rgba(255,255,255,.16);
    border-radius: .65rem;
    background: rgba(255,255,255,.12);
}
.work-detail-meta span {
    display: grid;
    min-width: 150px;
    gap: .2rem;
    padding: .8rem 1rem;
    color: #fff;
    background: #102b39;
}
.work-detail-meta small { color: rgba(255,255,255,.56); font-size: .66rem; font-weight: 780; text-transform: uppercase; }
.work-detail-media { padding: 0 0 clamp(2.5rem, 5vw, 5rem); background: var(--ink); }
.work-detail-media img,
.work-detail-media video,
.work-detail-media .site-video-player {
    width: 100%;
    max-height: 720px;
    border-radius: .9rem;
    object-fit: cover;
}
.work-detail-media .site-video-player { aspect-ratio: 16 / 9; }
.work-detail-media .site-video-player video { height: 100%; }
.work-detail-copy { background: #fff; }
.work-detail-copy .container-xxl { display: grid; grid-template-columns: minmax(180px, .45fr) minmax(0, 1fr); gap: clamp(2rem, 6vw, 7rem); }
.work-detail-copy .content-reading { max-width: 820px; color: #294654; line-height: 1.9; }
.work-gallery {
    position: relative;
    padding: clamp(4.5rem, 8vw, 8rem) 0;
    overflow: hidden;
    color: #fff;
    background:
        radial-gradient(circle at 92% 8%, rgba(196,145,112,.2), transparent 28rem),
        linear-gradient(135deg, #06131c, #0a202c 65%, #0d2b37);
}
.work-gallery::before {
    position: absolute;
    inset: 0;
    opacity: .08;
    background-image:
        linear-gradient(rgba(255,255,255,.2) 1px, transparent 1px),
        linear-gradient(90deg, rgba(255,255,255,.2) 1px, transparent 1px);
    background-size: 86px 86px;
    mask-image: linear-gradient(90deg, transparent, #000 35%, #000);
    content: "";
    pointer-events: none;
}
.work-gallery > .container-xxl { position: relative; z-index: 1; }
.work-gallery-heading {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: end;
    gap: 2rem;
    margin-bottom: clamp(2.25rem, 5vw, 4rem);
}
.work-gallery-heading h2 {
    max-width: 760px;
    margin: .9rem 0 0;
    color: #fff;
    font-family: var(--font-display);
    font-size: clamp(2.5rem, 5vw, 5.15rem);
    font-weight: 680;
    letter-spacing: -.06em;
    line-height: .96;
}
.work-gallery-summary {
    display: grid;
    min-width: 230px;
    gap: .2rem;
    padding-left: 1.25rem;
    border-left: 1px solid rgba(255,255,255,.18);
}
.work-gallery-summary strong {
    color: var(--copper-light);
    font-family: var(--font-display);
    font-size: 2.7rem;
    font-weight: 680;
    letter-spacing: -.06em;
    line-height: 1;
}
.work-gallery-summary span {
    font-size: .72rem;
    font-weight: 820;
    letter-spacing: .08em;
    text-transform: uppercase;
}
.work-gallery-summary small {
    max-width: 260px;
    margin-top: .35rem;
    color: rgba(255,255,255,.55);
    font-size: .75rem;
    line-height: 1.5;
}
.work-gallery-grid {
    display: grid;
    grid-template-columns: repeat(12, minmax(0, 1fr));
    grid-auto-flow: dense;
    grid-auto-rows: clamp(190px, 24vw, 320px);
    gap: clamp(.7rem, 1.2vw, 1rem);
}
.work-gallery-item {
    grid-column: span 6;
    position: relative;
    height: 100%;
    margin: 0;
    overflow: hidden;
    border-radius: 8px;
    background: #102b39;
}
.work-gallery-count-one .work-gallery-item {
    grid-column: 2 / span 10;
    grid-row: span 2;
}
.work-gallery-count-two .work-gallery-item {
    grid-column: span 6;
    grid-row: span 2;
}
.work-gallery-count-three .work-gallery-item:first-child,
.work-gallery-count-four .work-gallery-item:first-child,
.work-gallery-count-many .work-gallery-item:first-child {
    grid-column: span 7;
    grid-row: span 2;
}
.work-gallery-count-four .work-gallery-item:nth-child(2) {
    grid-column: span 5;
    grid-row: span 2;
}
.work-gallery-count-three .work-gallery-item:not(:first-child),
.work-gallery-count-many .work-gallery-item:nth-child(2),
.work-gallery-count-many .work-gallery-item:nth-child(3) {
    grid-column: span 5;
}
.work-gallery-count-four .work-gallery-item:nth-child(n+3) { grid-column: span 6; }
.work-gallery-trigger {
    position: relative;
    width: 100%;
    height: 100%;
    display: block;
    padding: 0;
    overflow: hidden;
    color: inherit;
    border: 0;
    background: transparent;
    cursor: zoom-in;
}
.work-gallery-trigger > img,
.work-gallery-trigger > video {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
    transition: transform .55s ease, filter .35s ease;
}
.work-gallery-trigger:hover > img,
.work-gallery-trigger:hover > video,
.work-gallery-trigger:focus-visible > img,
.work-gallery-trigger:focus-visible > video {
    filter: saturate(.9);
    transform: scale(1.035);
}
.work-gallery-trigger:focus-visible {
    outline: 2px solid var(--copper-light);
    outline-offset: -4px;
}
.work-gallery-shade {
    position: absolute;
    inset: 0;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    padding: 1rem;
    background: linear-gradient(180deg, rgba(3,13,20,.28), transparent 45%, rgba(3,13,20,.76));
    pointer-events: none;
}
.work-gallery-type {
    width: fit-content;
    padding: .38rem .58rem;
    color: #fff;
    border: 1px solid rgba(255,255,255,.32);
    border-radius: 999px;
    background: rgba(5,20,29,.58);
    backdrop-filter: blur(10px);
    font-size: .62rem;
    font-weight: 850;
    letter-spacing: .08em;
    text-transform: uppercase;
}
.work-gallery-action {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: .7rem;
    color: #fff;
    font-size: .72rem;
    font-weight: 820;
    opacity: .82;
}
.work-gallery-action b {
    display: grid;
    width: 2.8rem;
    aspect-ratio: 1;
    place-items: center;
    color: var(--ink);
    border-radius: 50%;
    background: var(--copper-light);
    font-size: .9rem;
    transition: transform .25s ease;
}
.work-gallery-trigger:hover .work-gallery-action b,
.work-gallery-trigger:focus-visible .work-gallery-action b { transform: scale(1.08); }
.work-gallery-item figcaption {
    position: absolute;
    right: 0;
    bottom: 0;
    left: 0;
    max-width: calc(100% - 5.5rem);
    padding: 2.5rem 1rem 1rem;
    overflow: hidden;
    color: #fff;
    font-size: .76rem;
    line-height: 1.4;
    text-overflow: ellipsis;
    white-space: nowrap;
    pointer-events: none;
}
.work-gallery-viewer {
    width: min(96vw, 1580px);
    height: min(92vh, 980px);
    max-width: none;
    max-height: none;
    margin: auto;
    padding: 0;
    overflow: hidden;
    color: #fff;
    border: 1px solid rgba(255,255,255,.14);
    border-radius: 14px;
    background: #050d12;
    box-shadow: 0 35px 110px rgba(0,0,0,.65);
}
.work-gallery-viewer::backdrop {
    background: rgba(1,7,11,.9);
    backdrop-filter: blur(12px);
}
.work-gallery-viewer-shell {
    height: 100%;
    display: grid;
    grid-template-rows: auto minmax(0, 1fr) auto;
}
.work-gallery-viewer header,
.work-gallery-viewer footer {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    padding: .9rem 1.1rem;
    background: #091820;
}
.work-gallery-viewer header { border-bottom: 1px solid rgba(255,255,255,.11); }
.work-gallery-viewer footer { border-top: 1px solid rgba(255,255,255,.11); }
.work-gallery-viewer header p {
    margin: 0;
    color: rgba(255,255,255,.5);
    font-size: .72rem;
    font-weight: 800;
    letter-spacing: .08em;
}
.work-gallery-viewer header p span:first-child { color: var(--copper-light); }
.work-gallery-viewer header button {
    display: inline-flex;
    align-items: center;
    gap: .65rem;
    padding: .35rem .45rem .35rem .8rem;
    color: rgba(255,255,255,.72);
    border: 0;
    border-radius: 999px;
    background: rgba(255,255,255,.06);
    font-size: .72rem;
    font-weight: 780;
}
.work-gallery-viewer header button b {
    display: grid;
    width: 1.85rem;
    aspect-ratio: 1;
    place-items: center;
    color: var(--ink);
    border-radius: 50%;
    background: var(--copper-light);
    font-size: 1.2rem;
    font-weight: 500;
}
.work-gallery-viewer-stage {
    min-width: 0;
    min-height: 0;
    display: grid;
    padding: clamp(.6rem, 2vw, 1.5rem);
    place-items: center;
    overflow: hidden;
    background:
        radial-gradient(circle at 50% 50%, rgba(32,70,86,.3), transparent 55%),
        #02080c;
}
.work-gallery-viewer-stage img,
.work-gallery-viewer-stage video {
    max-width: 100%;
    max-height: 100%;
    display: block;
    object-fit: contain;
    box-shadow: 0 18px 70px rgba(0,0,0,.38);
}
.work-gallery-viewer-stage video {
    width: 100%;
    height: 100%;
    background: #000;
}
.work-gallery-viewer footer > p {
    min-width: 0;
    margin: 0;
    overflow: hidden;
    color: rgba(255,255,255,.66);
    font-size: .76rem;
    line-height: 1.4;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.work-gallery-viewer footer nav { display: flex; gap: .45rem; }
.work-gallery-viewer footer button {
    display: grid;
    width: 2.5rem;
    aspect-ratio: 1;
    place-items: center;
    color: #fff;
    border: 1px solid rgba(255,255,255,.2);
    border-radius: 50%;
    background: transparent;
    transition: color .2s ease, border-color .2s ease, background-color .2s ease;
}
.work-gallery-viewer footer button:hover,
.work-gallery-viewer footer button:focus-visible {
    color: var(--ink);
    border-color: var(--copper-light);
    background: var(--copper-light);
}
.work-gallery-viewer footer nav[hidden] { display: none; }
body.work-gallery-viewer-open { overflow: hidden; }

@media (max-width: 950px) {
    .work-gallery-heading { grid-template-columns: 1fr; align-items: start; }
    .work-gallery-summary { width: fit-content; }
    .work-gallery-count-one .work-gallery-item,
    .work-gallery-count-two .work-gallery-item,
    .work-gallery-count-three .work-gallery-item:first-child,
    .work-gallery-count-four .work-gallery-item:first-child,
    .work-gallery-count-many .work-gallery-item:first-child {
        grid-column: 1 / -1;
        grid-row: span 2;
    }
    .work-gallery-count-three .work-gallery-item:not(:first-child),
    .work-gallery-count-four .work-gallery-item:not(:first-child),
    .work-gallery-count-many .work-gallery-item:not(:first-child) {
        grid-column: span 6;
        grid-row: auto;
    }
}

@media (max-width: 950px) {
    .home-highlight-grid,
    .news-grid,
    .works-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .works-grid.works-grid-single { grid-template-columns: 1fr; }
    .works-index-heading { grid-template-columns: 1fr; align-items: start; }
    .works-results-count { width: fit-content; }
    .works-grid-single .work-card { grid-template-columns: 1fr; }
    .works-grid-single .work-card-media { min-height: 0; aspect-ratio: 16 / 10; }
    .work-detail-copy .container-xxl { grid-template-columns: 1fr; gap: 1.5rem; }
}

@media (max-width: 620px) {
    .home-highlight-grid,
    .news-grid,
    .news-gallery-grid,
    .works-grid,
    .work-gallery-grid { grid-template-columns: 1fr; grid-auto-rows: auto; }
    .works-filter-group { grid-template-columns: 1fr; gap: .55rem; }
    .works-filter-panel { padding: 1rem; }
    .works-grid-single .work-card { display: flex; }
    .works-grid-single .work-card-media { min-height: 0; aspect-ratio: 16 / 10; }
    .work-card-copy footer { align-items: flex-start; flex-direction: column; }
    .work-gallery-item,
    .work-gallery-count-one .work-gallery-item,
    .work-gallery-count-two .work-gallery-item,
    .work-gallery-count-three .work-gallery-item:first-child,
    .work-gallery-count-three .work-gallery-item:not(:first-child),
    .work-gallery-count-four .work-gallery-item:first-child,
    .work-gallery-count-four .work-gallery-item:not(:first-child),
    .work-gallery-count-many .work-gallery-item:first-child,
    .work-gallery-count-many .work-gallery-item:not(:first-child) {
        grid-column: 1 / -1;
        grid-row: auto;
        height: auto;
        aspect-ratio: 4 / 3;
    }
    .work-gallery-heading h2 { font-size: clamp(2.5rem, 13vw, 3.7rem); }
    .work-gallery-summary {
        width: 100%;
        padding: 1rem 0 0;
        border-top: 1px solid rgba(255,255,255,.16);
        border-left: 0;
    }
    .work-gallery-viewer {
        width: 100vw;
        height: 100dvh;
        border: 0;
        border-radius: 0;
    }
    .work-gallery-viewer header button > span { display: none; }
    .work-gallery-viewer footer > p { max-width: calc(100% - 6rem); }
    .portfolio-view-switch { display: grid; }
    .portfolio-view-switch a { text-align: center; }
    .work-detail-meta { width: 100%; }
    .work-detail-meta span { width: 100%; }
}

/* Plataforma */
.platform-hero {
    position: relative;
    overflow: hidden;
    padding-top: var(--public-hero-padding-top);
    padding-bottom: var(--public-hero-padding-bottom);
    background: radial-gradient(circle at 82% 28%, rgba(38, 154, 139, .2), transparent 28%), linear-gradient(130deg, #06141e 0%, #0b2b3b 65%, #123c4a 100%);
}

.platform-hero-grid {
    position: absolute;
    inset: 0;
    opacity: .12;
    background-image: linear-gradient(rgba(255,255,255,.2) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.2) 1px, transparent 1px);
    background-size: 68px 68px;
    mask-image: linear-gradient(90deg, transparent, #000 45%, #000);
}

.platform-hero h1 { max-width: 960px; }
.platform-hero .col-xl-8 > p:last-of-type { max-width: 780px; }
.platform-hero-actions { display: flex; flex-wrap: wrap; gap: .75rem; margin-top: 2rem; }

.platform-hero-proof {
    position: relative;
    padding: 1.5rem;
    border: 1px solid rgba(255,255,255,.18);
    border-radius: .85rem;
    background: rgba(255,255,255,.07);
    color: #fff;
    backdrop-filter: blur(12px);
}

.platform-hero-proof::before { content: ''; position: absolute; top: -1px; left: 1.5rem; width: 64px; height: 3px; background: #ee6b32; }
.platform-hero-proof span { color: #a9bec8; font-size: .72rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.platform-hero-proof strong { display: block; margin: .55rem 0; color: #fff; font-size: clamp(2.4rem, 5vw, 4rem); line-height: 1; }
.platform-hero-proof p { margin: 0; color: #c7d4da; }

.platform-positioning { background: #ee6b32; color: #fff; }
.platform-positioning .container-xxl { min-height: 72px; display: flex; align-items: center; justify-content: space-between; gap: 1rem; }
.platform-positioning span { font-size: .76rem; font-weight: 850; letter-spacing: .08em; text-transform: uppercase; }
.platform-positioning i { width: 5px; height: 5px; flex: 0 0 auto; border-radius: 50%; background: rgba(255,255,255,.6); }

.platform-definition { background: #f5f7f6; }
.platform-definition-copy { display: grid; gap: 1rem; }
.platform-definition-copy p { margin: 0; }
.platform-solution-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1rem; margin-top: 3rem; }
.platform-solution-card { position: relative; min-height: 330px; display: flex; flex-direction: column; padding: 1.5rem; border: 1px solid #dbe3e6; border-radius: .8rem; background: #fff; overflow: hidden; }
.platform-solution-card.featured { background: #0c2c3b; color: #fff; border-color: #0c2c3b; }
.platform-solution-card > span { position: absolute; top: 1rem; right: 1rem; color: #9cabb2; font-size: .74rem; font-weight: 800; }
.platform-solution-icon { width: 48px; height: 48px; display: grid; place-items: center; margin-bottom: auto; border-radius: 50%; background: #e9f3f0; color: #167562; font-size: .72rem; font-weight: 900; }
.platform-solution-card.featured .platform-solution-icon { background: #ee6b32; color: #fff; }
.platform-solution-card h3 { margin: 1.8rem 0 .7rem; font-size: 1.25rem; }
.platform-solution-card p { margin: 0; color: #637985; line-height: 1.7; }
.platform-solution-card.featured p { color: #c4d3da; }

.platform-contexts { background: #fff; }
.platform-context-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1rem; margin: 2.5rem 0 2rem; }
.platform-context-grid article { display: flex; min-height: 420px; flex-direction: column; padding: 1.6rem; border: 1px solid #d7e0e2; border-radius: .8rem; background: #f7f9f8; }
.platform-context-grid article > span { color: #ee6b32; font-size: .72rem; font-weight: 900; letter-spacing: .08em; text-transform: uppercase; }
.platform-context-grid article > p { margin: 1.2rem 0 2.5rem; color: #607782; line-height: 1.7; }
.platform-context-grid ul { margin: auto 0 0; padding: 0; list-style: none; border-top: 1px solid #d7e0e2; }
.platform-context-grid li { border-bottom: 1px solid #d7e0e2; }
.platform-context-grid li a { display: flex; justify-content: space-between; gap: 1rem; padding: .8rem 0; color: #17323e; font-size: .88rem; font-weight: 760; }
.platform-context-grid li a span { color: #ee6b32; }
.platform-context-grid li a:hover,
.platform-context-grid li a:focus { color: #b34f25; }

.platform-operation { background: #fff; }
.platform-operation-image { position: relative; margin: 0; min-height: 650px; overflow: hidden; border-radius: .9rem; }
.platform-operation-image img { width: 100%; height: 100%; position: absolute; inset: 0; object-fit: cover; }
.platform-operation-image::after { content: ''; position: absolute; inset: 0; background: linear-gradient(180deg, transparent 45%, rgba(4,18,27,.9)); }
.platform-operation-image figcaption { position: absolute; z-index: 2; right: 1.5rem; bottom: 1.5rem; left: 1.5rem; display: grid; color: #fff; }
.platform-operation-image figcaption span { color: #55d6be; font-size: .7rem; font-weight: 850; letter-spacing: .1em; text-transform: uppercase; }
.platform-operation-image figcaption strong { margin-top: .35rem; font-size: 1.3rem; }
.platform-operation h2 { margin-bottom: 2rem; }
.platform-operation-steps { margin: 0; padding: 0; list-style: none; border-top: 1px solid #dce4e8; }
.platform-operation-steps li { display: grid; grid-template-columns: 52px 1fr; gap: 1rem; padding: 1rem 0; border-bottom: 1px solid #dce4e8; }
.platform-operation-steps li > span { color: #ee6b32; font-size: .72rem; font-weight: 900; }
.platform-operation-steps h3 { margin: 0 0 .3rem; font-size: 1rem; }
.platform-operation-steps p { margin: 0; color: #637985; }

.platform-value { background: #edf2f1; }
.platform-value-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1px; margin-top: 2.5rem; background: #cad7d8; border: 1px solid #cad7d8; }
.platform-value-grid article { padding: 1.5rem; background: #f8faf9; }
.platform-value-grid article > span { display: inline-block; margin-bottom: 3rem; color: #ee6b32; font-size: .72rem; font-weight: 900; }
.platform-value-grid h3 { font-size: 1.12rem; }
.platform-value-grid p { margin: 0; color: #617883; }

.platform-leadership { padding: clamp(4.5rem, 9vw, 8rem) 0; background: #07151f; color: #fff; }
.platform-leadership h2 { margin: .5rem 0 1rem; font-size: clamp(2rem, 4vw, 3.4rem); }
.platform-leadership .col-xl-5 > p:not(.eyebrow) { color: #adbec6; line-height: 1.8; }
.platform-leadership .button { margin-top: 1rem; }
.platform-leadership-grid { border-top: 1px solid rgba(255,255,255,.16); }
.platform-leadership-grid article { display: grid; grid-template-columns: 58px 1fr; gap: 1rem; padding: 1.25rem 0; border-bottom: 1px solid rgba(255,255,255,.16); }
.platform-leadership-grid article > strong { color: #55d6be; font-size: .72rem; }
.platform-leadership-grid h3 { margin: 0 0 .4rem; font-size: 1.12rem; }
.platform-leadership-grid p { margin: 0; color: #aebfc7; line-height: 1.65; }
.platform-reference-line { display: flex; flex-wrap: wrap; justify-content: space-between; gap: .8rem 2rem; margin-top: 4rem; padding-top: 1.5rem; border-top: 1px solid rgba(255,255,255,.16); color: #728894; font-size: .72rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.platform-cta p:not(.eyebrow) { max-width: 680px; margin: .75rem 0 0; color: #b4c3ca; }

@media (max-width: 1100px) {
    .platform-solution-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .platform-context-grid { grid-template-columns: 1fr; }
    .platform-context-grid article { min-height: 0; }
    .platform-value-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .platform-operation-image { min-height: 520px; }
}

@media (max-width: 760px) {
    .platform-positioning .container-xxl { flex-wrap: wrap; justify-content: center; padding-top: 1rem; padding-bottom: 1rem; }
    .platform-positioning i { display: none; }
    .platform-positioning span { flex: 0 0 calc(50% - .5rem); text-align: center; }
    .platform-solution-grid,
    .platform-value-grid { grid-template-columns: 1fr; }
    .platform-solution-card { min-height: 280px; }
    .platform-operation-image { min-height: 420px; }
    .platform-reference-line { justify-content: flex-start; }
}

@media (max-width: 760px) {
    .sector-context-group > header,
    .sector-detail-layout,
    .sector-capability-grid,
    .sector-module,
    .sector-faq-layout {
        grid-template-columns: 1fr;
    }

    .sector-context-group > header {
        gap: 1rem;
    }

    .sector-detail-media,
    .sector-detail-media img,
    .sector-detail-media video {
        min-height: 300px;
    }

    .sector-capability-grid article {
        min-height: 210px;
    }

    .sector-module > header {
        min-height: 220px;
        border-right: 0;
        border-bottom: 1px solid #d4dfe1;
    }

    .sector-module-options ul {
        grid-template-columns: 1fr;
    }

    .sector-challenge-grid,
    .sector-benefit-grid {
        grid-template-columns: 1fr;
    }

    .sector-process li {
        grid-template-columns: 42px minmax(0, 1fr);
        gap: 0.8rem;
    }
}

.admin-password-copy,
.admin-password-form-panel {
    padding: clamp(2rem, 5vw, 5rem);
}

.admin-password-copy {
    background: var(--paper);
}

.admin-password-copy dl {
    display: grid;
    gap: 1rem;
    margin: 3rem 0 0;
}

.admin-password-copy dl div {
    padding-top: 1rem;
    border-top: 1px solid var(--line-light);
}

.admin-password-copy dt {
    color: #596a72;
    font-size: 0.67rem;
    letter-spacing: 0.1em;
    text-transform: uppercase;
}

.admin-password-copy dd {
    margin: 0.3rem 0 0;
    font-weight: 730;
}

@media (max-width: 991.98px) {
    .admin-auth-shell,
    .admin-password-card {
        grid-template-columns: 1fr;
    }

    .admin-auth-brand {
        min-height: 460px;
    }

    .admin-auth-panel {
        min-height: auto;
    }
}

@media (max-width: 575.98px) {
    .admin-auth-brand {
        min-height: 390px;
        padding: 1.5rem;
    }

    .admin-auth-brand h1 {
        font-size: 2.65rem;
    }

    .admin-auth-panel,
    .admin-password-copy,
    .admin-password-form-panel {
        padding: 1.5rem;
    }

    .admin-password-header {
        align-items: flex-start;
        flex-direction: column;
    }
}

/* Modelo TOE */
#modelo-toe {
    scroll-margin-top: 90px;
}

.toe-navigation {
    border-bottom: 1px solid #d9e2e5;
    background: #fff;
}

.toe-navigation .container-xxl {
    display: grid;
    grid-template-columns: minmax(140px, .55fr) 2fr;
    align-items: stretch;
}

.toe-navigation .container-xxl > p {
    align-self: center;
    margin: 0;
    color: #637985;
    font-size: .72rem;
    font-weight: 850;
    letter-spacing: .1em;
    text-transform: uppercase;
}

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

.toe-navigation-item {
    display: flex;
    min-height: 94px;
    align-items: center;
    gap: .8rem;
    padding: 1rem 1.25rem;
    border-left: 1px solid #d9e2e5;
    color: #667a84;
    transition: color .2s ease, background .2s ease;
}

.toe-navigation-item strong {
    display: grid;
    width: 38px;
    height: 38px;
    flex: 0 0 38px;
    place-items: center;
    border-radius: 50%;
    background: #eaf1f1;
    color: #167562;
    font-size: .8rem;
}

.toe-navigation-item span {
    font-weight: 800;
}

.toe-navigation-item:hover,
.toe-navigation-item:focus,
.toe-navigation-item.active {
    color: #fff;
    background: #0c2c3b;
}

.toe-navigation-item.active strong {
    color: #fff;
    background: #ee6b32;
}

.toe-hero {
    position: relative;
    overflow: hidden;
    padding-top: var(--public-hero-padding-top);
    padding-bottom: var(--public-hero-padding-bottom);
    background: #07151f;
}

.toe-hero-grid {
    position: absolute;
    inset: 0;
    opacity: .32;
    background-image: linear-gradient(rgba(255,255,255,.055) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.055) 1px, transparent 1px);
    background-size: 72px 72px;
    mask-image: linear-gradient(90deg, #000, transparent 80%);
}

.toe-hero h1 {
    max-width: 1000px;
}

.toe-hero .col-xl-8 > p:last-of-type {
    max-width: 790px;
}

.operation-hero::after,
.experience-hero::after {
    position: absolute;
    right: -8vw;
    bottom: -24vw;
    width: 55vw;
    height: 55vw;
    border: 1px solid rgba(85,214,190,.22);
    border-radius: 50%;
    content: '';
}

.experience-hero::after {
    border-color: rgba(238,107,50,.3);
}

.toe-definition {
    background: #f5f7f6;
}

.toe-card-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 1px;
    margin-top: 3.5rem;
    border: 1px solid #d5e0e2;
    background: #d5e0e2;
}

.toe-card-grid article,
.experience-domain-grid article {
    padding: 1.6rem;
    background: #fff;
}

.toe-card-grid article > span,
.experience-domain-grid article > span {
    display: inline-block;
    margin-bottom: clamp(3rem, 7vw, 6rem);
    color: #ee6b32;
    font-size: .72rem;
    font-weight: 900;
}

.toe-card-grid h3,
.experience-domain-grid h3 {
    font-size: 1.15rem;
}

.toe-card-grid p,
.experience-domain-grid p {
    margin: 0;
    color: #617883;
    line-height: 1.7;
}

.toe-process {
    background: #fff;
}

.toe-feature-image {
    position: relative;
    min-height: 620px;
    margin: 0;
    overflow: hidden;
    border-radius: .9rem;
}

.toe-feature-image img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.toe-feature-image::after {
    position: absolute;
    inset: 0;
    content: '';
    background: linear-gradient(180deg, transparent 45%, rgba(4,18,27,.92));
}

.toe-feature-image figcaption {
    position: absolute;
    z-index: 2;
    right: 1.5rem;
    bottom: 1.5rem;
    left: 1.5rem;
    display: grid;
    color: #fff;
}

.toe-feature-image figcaption span {
    color: #55d6be;
    font-size: .7rem;
    font-weight: 850;
    letter-spacing: .1em;
    text-transform: uppercase;
}

.toe-feature-image figcaption strong {
    margin-top: .35rem;
    font-size: 1.3rem;
}

.toe-phase-list {
    margin-top: 2rem;
    border-top: 1px solid #dce4e8;
}

.toe-phase-list article {
    display: grid;
    grid-template-columns: 90px 1fr;
    gap: 1.25rem;
    padding: 1.4rem 0;
    border-bottom: 1px solid #dce4e8;
}

.toe-phase-list article > strong {
    color: #ee6b32;
    font-size: .72rem;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.toe-phase-list h3 {
    margin: 0 0 .35rem;
    font-size: 1.1rem;
}

.toe-phase-list p {
    margin: 0;
    color: #617883;
}

.toe-proof-section {
    padding: clamp(4.5rem, 9vw, 8rem) 0;
    color: #fff;
    background: #07151f;
}

.toe-proof-section h2 {
    margin: .5rem 0 1rem;
    font-size: clamp(2rem, 4vw, 3.4rem);
}

.toe-proof-section .col-xl-5 > p:not(.eyebrow) {
    color: #adbec6;
    line-height: 1.8;
}

.toe-proof-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    border-top: 1px solid rgba(255,255,255,.16);
    border-left: 1px solid rgba(255,255,255,.16);
}

.toe-proof-grid article {
    min-height: 220px;
    padding: 1.4rem;
    border-right: 1px solid rgba(255,255,255,.16);
    border-bottom: 1px solid rgba(255,255,255,.16);
}

.toe-proof-grid article > span {
    color: #55d6be;
    font-size: .72rem;
    font-weight: 900;
}

.toe-proof-grid h3 {
    margin: 2.8rem 0 .5rem;
    font-size: 1.12rem;
}

.toe-proof-grid p {
    margin: 0;
    color: #aebfc7;
    line-height: 1.65;
}

.experience-domain-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
    gap: 1px;
    margin-top: 3.5rem;
    border: 1px solid #d5e0e2;
    background: #d5e0e2;
}

.experience-references {
    background: #fff;
}

.experience-project-grid {
    display: grid;
    grid-template-columns: repeat(6, minmax(0, 1fr));
    gap: 1rem;
    margin-top: 2.5rem;
}

.experience-project-card {
    position: relative;
    min-height: 245px;
    grid-column: span 2;
    display: flex;
    align-items: flex-end;
    padding: 1.4rem;
    overflow: hidden;
    border-radius: .8rem;
    color: #fff;
    background: #0c2c3b;
}

.experience-project-card:nth-child(4) {
    background: #167562;
}

.experience-project-card:nth-child(5) {
    background: #a74725;
}

.experience-project-card:nth-child(-n+2) {
    min-height: 430px;
    grid-column: span 3;
}

.experience-project-count-1 .experience-project-card {
    grid-column: 1 / -1;
}

.experience-project-card img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform .35s ease;
}

.experience-project-card video {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.experience-domain-grid h3 a {
    color: inherit;
    text-decoration: none;
}

.experience-domain-grid h3 a:hover,
.experience-domain-grid h3 a:focus-visible {
    color: var(--copper-dark);
}

.experience-project-photo::after {
    position: absolute;
    inset: 0;
    content: '';
    background: linear-gradient(180deg, transparent 35%, rgba(4,18,27,.9));
}

.experience-project-card > span {
    position: relative;
    z-index: 2;
    width: 100%;
    display: grid;
}

.experience-project-card small {
    color: #9fe4d5;
    font-size: .68rem;
    font-weight: 850;
    letter-spacing: .09em;
    text-transform: uppercase;
}

.experience-project-card strong {
    max-width: 85%;
    margin-top: .45rem;
    font-size: 1.3rem;
}

.experience-project-card b {
    position: absolute;
    right: 0;
    bottom: 0;
}

.experience-project-card:hover img,
.experience-project-card:focus img {
    transform: scale(1.035);
}

@media (max-width: 1199.98px) {
    .experience-domain-grid {
        grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
    }
}

@media (max-width: 991.98px) {
    .toe-navigation .container-xxl {
        grid-template-columns: 1fr;
        padding-right: 0;
        padding-left: 0;
    }

    .toe-navigation .container-xxl > p {
        padding: 1rem 1.25rem;
    }

    .toe-navigation-item:first-child {
        border-left: 0;
    }

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

    .experience-project-card,
    .experience-project-card:nth-child(-n+2) {
        min-height: 320px;
        grid-column: span 3;
    }
}

@media (max-width: 575.98px) {
    .toe-navigation-grid,
    .toe-card-grid,
    .toe-proof-grid,
    .experience-domain-grid,
    .experience-project-grid {
        grid-template-columns: 1fr;
    }

    .toe-navigation-item {
        min-height: 72px;
        border-top: 1px solid #d9e2e5;
        border-left: 0;
    }

    .toe-feature-image {
        min-height: 430px;
    }

    .toe-phase-list article {
        grid-template-columns: 70px 1fr;
    }

    .experience-project-card,
    .experience-project-card:nth-child(-n+2) {
        min-height: 280px;
        grid-column: auto;
    }
}

/* Identidade Modelo TOE 360 */
.toe-navigation-brand {
    align-self: center;
    display: flex;
    align-items: baseline;
    gap: .35rem;
    color: #0c2c3b;
    font-size: .72rem;
    font-weight: 850;
    letter-spacing: .1em;
    text-transform: uppercase;
}

.toe-navigation-brand strong {
    color: #ee6b32;
    font-size: 1rem;
    letter-spacing: -.04em;
}

.home-toe-signature {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    margin-top: 1.25rem;
    padding: 1.25rem 1.5rem;
    border: 1px solid #d6e1e3;
    border-radius: .7rem;
    background: #fff;
}

.home-toe-signature p {
    margin: 0;
    color: #516973;
}

.home-toe-signature strong {
    color: #0c2c3b;
}

.toe-model-hero {
    position: relative;
    min-height: 0;
    display: flex;
    align-items: center;
    overflow: hidden;
    padding-top: var(--public-hero-padding-top);
    padding-bottom: var(--public-hero-padding-bottom);
    background: radial-gradient(circle at 80% 35%, rgba(22,117,98,.3), transparent 34%), #07151f;
}

.toe-model-hero h1 {
    margin: .6rem 0 1rem;
    font-size: clamp(4rem, 10vw, 8.8rem);
    line-height: .86;
    letter-spacing: -.07em;
}

.toe-model-hero h1 em {
    color: #ee6b32;
    font-style: normal;
}

.toe-model-hero .col-xl-8 > p:last-of-type {
    max-width: 760px;
    color: #c3d0d6;
    font-size: clamp(1.05rem, 2vw, 1.45rem);
}

.toe-model-orbit {
    position: absolute;
    top: 50%;
    right: 3vw;
    width: min(48vw, 650px);
    aspect-ratio: 1;
    border: 1px solid rgba(85,214,190,.3);
    border-radius: 50%;
    transform: translateY(-50%);
}

.toe-model-orbit::before,
.toe-model-orbit::after {
    position: absolute;
    inset: 12%;
    border: 1px solid rgba(255,255,255,.12);
    border-radius: 50%;
    content: '';
}

.toe-model-orbit::after {
    inset: 27%;
    background: rgba(12,44,59,.45);
}

.toe-model-orbit > span {
    position: absolute;
    z-index: 2;
    display: grid;
    width: 70px;
    height: 70px;
    place-items: center;
    border-radius: 50%;
    color: #fff;
    background: #167562;
    font-size: 1.4rem;
    font-weight: 900;
}

.toe-model-orbit > span:nth-child(1) { top: -35px; left: calc(50% - 35px); }
.toe-model-orbit > span:nth-child(2) { right: 2%; bottom: 13%; background: #ee6b32; }
.toe-model-orbit > span:nth-child(3) { bottom: 13%; left: 2%; background: #0c2c3b; border: 1px solid #55d6be; }

.toe-model-statement {
    position: relative;
    z-index: 3;
    padding: 1.6rem;
    border: 1px solid rgba(255,255,255,.2);
    border-radius: .8rem;
    background: rgba(7,21,31,.76);
    backdrop-filter: blur(12px);
}

.toe-model-statement span {
    color: #9fb2bb;
    font-size: .7rem;
    font-weight: 850;
    letter-spacing: .1em;
    text-transform: uppercase;
}

.toe-model-statement strong {
    display: block;
    margin: .35rem 0 .7rem;
    color: #fff;
    font-size: 1.6rem;
}

.toe-model-statement p {
    margin: 0;
    color: #b6c6cd;
}

.toe-model-intro {
    overflow: hidden;
    background: #f5f7f6;
}

.toe-model-copy h2 {
    margin-bottom: 1.2rem;
}

.toe-model-copy > p:last-child {
    color: #5b727d;
    line-height: 1.8;
}

.toe-cycle {
    position: relative;
    width: min(100%, 620px);
    aspect-ratio: 1;
    margin: 0 auto;
}

.toe-cycle-ring {
    position: absolute;
    inset: 16%;
    border: 2px solid #b9cecf;
    border-radius: 50%;
}

.toe-cycle-ring::before {
    position: absolute;
    top: -7px;
    left: calc(50% - 7px);
    width: 14px;
    height: 14px;
    border-radius: 50%;
    content: '';
    background: #ee6b32;
    box-shadow: 0 0 0 8px #f5f7f6;
}

.toe-cycle-node {
    position: absolute;
    z-index: 2;
    width: 150px;
    min-height: 150px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    border: 1px solid #cad9dc;
    border-radius: 50%;
    color: #0c2c3b;
    background: #fff;
    box-shadow: 0 18px 45px rgba(7,21,31,.1);
    transition: color .2s ease, background .2s ease, transform .2s ease;
}

.toe-cycle-node:hover,
.toe-cycle-node:focus {
    color: #fff;
    background: #0c2c3b;
    transform: scale(1.04);
}

.toe-cycle-node strong {
    color: #ee6b32;
    font-size: 2rem;
    line-height: 1;
}

.toe-cycle-node span {
    margin-top: .4rem;
    font-weight: 850;
}

.toe-cycle-node small {
    margin-top: .2rem;
    color: #70848d;
    font-size: .68rem;
    font-weight: 800;
    letter-spacing: .06em;
    text-transform: uppercase;
}

.toe-cycle-node:hover small,
.toe-cycle-node:focus small { color: #9fe4d5; }
.toe-cycle-technology { top: 0; left: calc(50% - 75px); }
.toe-cycle-operation { right: 2%; bottom: 6%; }
.toe-cycle-experience { bottom: 6%; left: 2%; }

.toe-cycle-core {
    position: absolute;
    z-index: 3;
    top: 50%;
    left: 50%;
    width: 160px;
    height: 160px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    color: #fff;
    background: #07151f;
    transform: translate(-50%, -50%);
    box-shadow: 0 0 0 12px rgba(7,21,31,.07);
}

.toe-cycle-core span {
    font-size: 1.8rem;
    font-weight: 900;
    letter-spacing: .12em;
}

.toe-cycle-core strong {
    color: #ee6b32;
    font-size: 1.35rem;
}

.toe-cycle-core small {
    margin-top: .2rem;
    color: #9eb1ba;
    font-size: .65rem;
    letter-spacing: .07em;
    text-transform: uppercase;
}

.toe-model-pillars {
    background: #fff;
}

.toe-model-pillar-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 1rem;
    margin-top: 3rem;
}

.toe-model-pillar-grid a {
    min-height: 480px;
    display: flex;
    flex-direction: column;
    padding: 1.7rem;
    border: 1px solid #d5e0e2;
    border-radius: .8rem;
    background: #f8faf9;
    transition: color .2s ease, background .2s ease, transform .2s ease;
}

.toe-model-pillar-grid a:hover,
.toe-model-pillar-grid a:focus {
    color: #fff;
    background: #0c2c3b;
    transform: translateY(-5px);
}

.toe-model-pillar-grid a > span {
    color: #67808a;
    font-size: .7rem;
    font-weight: 850;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.toe-model-pillar-grid a > strong {
    display: grid;
    width: 64px;
    height: 64px;
    place-items: center;
    margin: auto 0 1.2rem;
    border-radius: 50%;
    color: #fff;
    background: #ee6b32;
    font-size: 1.4rem;
}

.toe-model-pillar-grid h3 {
    font-size: 1.8rem;
}

.toe-model-pillar-grid p {
    color: #627984;
    line-height: 1.7;
}

.toe-model-pillar-grid a:hover p,
.toe-model-pillar-grid a:focus p { color: #bfd0d7; }
.toe-model-pillar-grid b { margin-top: 1rem; color: #167562; font-size: .8rem; }
.toe-model-pillar-grid a:hover b,
.toe-model-pillar-grid a:focus b { color: #55d6be; }

.toe-model-loop {
    padding: clamp(5rem, 10vw, 9rem) 0;
    color: #fff;
    background: #07151f;
}

.toe-model-loop h2 {
    margin: .5rem 0 1rem;
    font-size: clamp(2rem, 4.3vw, 3.8rem);
}

.toe-model-loop .col-xl-5 > p:last-child {
    color: #aebfc7;
    line-height: 1.8;
}

.toe-model-steps {
    margin: 0;
    padding: 0;
    list-style: none;
    border-top: 1px solid rgba(255,255,255,.16);
}

.toe-model-steps li {
    display: grid;
    grid-template-columns: 68px 1fr;
    gap: 1rem;
    padding: 1.45rem 0;
    border-bottom: 1px solid rgba(255,255,255,.16);
}

.toe-model-steps li > span {
    color: #55d6be;
    font-size: .72rem;
    font-weight: 900;
}

.toe-model-steps strong {
    font-size: 1.12rem;
}

.toe-model-steps p {
    margin: .4rem 0 0;
    color: #aebfc7;
}

.toe-manifesto {
    background: #ee6b32;
}

.toe-manifesto-heading {
    max-width: 820px;
}

.toe-manifesto-heading .eyebrow,
.toe-manifesto-heading .eyebrow span { color: #fff; }
.toe-manifesto-heading .eyebrow span { background: #fff; }
.toe-manifesto-heading h2 { color: #fff; }

.toe-manifesto-grid {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 1px;
    margin-top: 3rem;
    background: rgba(255,255,255,.35);
}

.toe-manifesto-grid article {
    min-height: 280px;
    display: flex;
    flex-direction: column;
    padding: 1.4rem;
    background: #d95925;
}

.toe-manifesto-grid span {
    color: rgba(255,255,255,.7);
    font-size: .7rem;
    font-weight: 900;
}

.toe-manifesto-grid p {
    margin-top: auto;
    color: #fff;
    font-size: 1.08rem;
    font-weight: 750;
    line-height: 1.5;
}

.toe-model-proof {
    padding: 4rem 0;
    color: #fff;
    background: #0c2c3b;
}

.toe-model-proof .container-xxl {
    display: grid;
    grid-template-columns: .8fr 2fr auto;
    align-items: center;
    gap: 2rem;
}

.toe-model-proof p {
    margin: 0;
    color: #9fb3bc;
    font-size: .7rem;
    font-weight: 850;
    letter-spacing: .09em;
    text-transform: uppercase;
}

.toe-model-proof .container-xxl > div {
    display: flex;
    flex-wrap: wrap;
    gap: .8rem 1.4rem;
    color: #fff;
    font-size: .75rem;
    font-weight: 800;
}

.projects-toe-banner {
    color: #fff;
    background: #167562;
}

.projects-toe-banner .container-xxl {
    min-height: 150px;
    display: grid;
    grid-template-columns: 130px 1fr auto;
    align-items: center;
    gap: 2rem;
}

.projects-toe-banner .container-xxl > div {
    display: flex;
    align-items: baseline;
    gap: .3rem;
}

.projects-toe-banner .container-xxl > div span {
    font-size: 2rem;
    font-weight: 900;
    letter-spacing: .08em;
}

.projects-toe-banner .container-xxl > div strong { color: #ffc57c; }
.projects-toe-banner p { max-width: 760px; margin: 0; color: #d6eee9; }
.projects-toe-banner a { color: #fff; font-size: .78rem; font-weight: 850; white-space: nowrap; }

.project-toe-reading {
    padding: clamp(3.5rem, 7vw, 6rem) 0;
    background: #edf2f1;
}

.project-toe-heading {
    display: grid;
    grid-template-columns: 1fr auto;
    align-items: end;
    gap: 1rem;
}

.project-toe-heading .eyebrow { grid-column: 1 / -1; margin-bottom: 0; }
.project-toe-heading h2 { max-width: 780px; margin: 0; }
.project-toe-heading > a { color: #167562; font-size: .78rem; font-weight: 850; }

.project-toe-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 1rem;
    margin-top: 2.5rem;
}

.project-toe-grid article {
    min-height: 250px;
    display: grid;
    grid-template-columns: 58px 1fr;
    gap: 1rem;
    padding: 1.4rem;
    border-radius: .7rem;
    background: #fff;
}

.project-toe-grid article > strong {
    display: grid;
    width: 48px;
    height: 48px;
    place-items: center;
    border-radius: 50%;
    color: #fff;
    background: #ee6b32;
}

.project-toe-grid article div { display: flex; flex-direction: column; }
.project-toe-grid article span { color: #167562; font-size: .68rem; font-weight: 850; letter-spacing: .08em; text-transform: uppercase; }
.project-toe-grid h3 { margin: auto 0 .45rem; font-size: 1.15rem; }
.project-toe-grid p { margin: 0; color: #637985; }

.toe-demo {
    scroll-margin-top: 100px;
    background: #edf2f1;
}

.toe-demo [hidden] {
    display: none !important;
}

.toe-demo-contexts {
    display: flex;
    flex-wrap: wrap;
    gap: .65rem;
    margin-top: 2.5rem;
}

.toe-demo-contexts button {
    min-height: 48px;
    padding: .7rem 1.1rem;
    border: 1px solid #c7d5d8;
    border-radius: 999px;
    color: #536b75;
    background: transparent;
    font-size: .76rem;
    font-weight: 820;
    transition: color .2s ease, border-color .2s ease, background .2s ease;
}

.toe-demo-contexts button:hover,
.toe-demo-contexts button:focus,
.toe-demo-contexts button[aria-selected="true"] {
    color: #fff;
    border-color: #167562;
    background: #167562;
}

.toe-demo-panel {
    margin-top: 1rem;
    overflow: hidden;
    border-radius: 1rem;
    color: #fff;
    background: #07151f;
    box-shadow: 0 28px 70px rgba(7,21,31,.16);
}

.toe-demo-panel-heading {
    display: grid;
    grid-template-columns: minmax(210px, .65fr) 1.6fr;
    align-items: end;
    gap: 2rem;
    padding: 1.7rem;
    border-bottom: 1px solid rgba(255,255,255,.14);
}

.toe-demo-panel-heading span {
    color: #55d6be;
    font-size: .68rem;
    font-weight: 850;
    letter-spacing: .1em;
    text-transform: uppercase;
}

.toe-demo-panel-heading h3 {
    margin: .35rem 0 0;
    font-size: 1.6rem;
}

.toe-demo-panel-heading p {
    max-width: 850px;
    margin: 0;
    color: #b4c4cb;
    line-height: 1.7;
}

.toe-demo-workspace {
    display: grid;
    grid-template-columns: 230px 250px minmax(0, 1fr);
    min-height: 570px;
}

.toe-demo-step-navigation {
    display: flex;
    flex-direction: column;
    border-right: 1px solid rgba(255,255,255,.14);
}

.toe-demo-step-navigation button {
    position: relative;
    min-height: 95px;
    display: grid;
    grid-template-columns: 34px 1fr auto;
    align-items: center;
    gap: .7rem;
    padding: .9rem 1rem;
    border: 0;
    border-bottom: 1px solid rgba(255,255,255,.11);
    color: #91a5ae;
    background: transparent;
    text-align: left;
    transition: color .2s ease, background .2s ease;
}

.toe-demo-step-navigation button::before {
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    width: 3px;
    content: '';
    background: #ee6b32;
    transform: scaleY(0);
    transition: transform .2s ease;
}

.toe-demo-step-navigation button:hover,
.toe-demo-step-navigation button:focus,
.toe-demo-step-navigation button[aria-pressed="true"] {
    color: #fff;
    background: rgba(255,255,255,.06);
}

.toe-demo-step-navigation button[aria-pressed="true"]::before {
    transform: scaleY(1);
}

.toe-demo-step-navigation button > span {
    color: #6f858f;
    font-size: .68rem;
    font-weight: 900;
}

.toe-demo-step-navigation button > strong {
    font-size: .78rem;
}

.toe-demo-step-navigation button > small {
    display: grid;
    width: 28px;
    height: 28px;
    place-items: center;
    border-radius: 50%;
    color: #07151f;
    background: #55d6be;
    font-size: .58rem;
    font-weight: 900;
}

.toe-demo-progress {
    --toe-demo-colour: #55d6be;
    align-self: center;
    justify-self: center;
    width: 200px;
    aspect-ratio: 1;
    display: grid;
    place-items: center;
    padding: 13px;
    border-radius: 50%;
    background: conic-gradient(var(--toe-demo-colour) 0 var(--toe-demo-progress), rgba(255,255,255,.1) var(--toe-demo-progress) 360deg);
    transform: rotate(-30deg);
    transition: background .3s ease;
}

.toe-demo-progress[data-pillar="O"] { --toe-demo-colour: #ee6b32; }
.toe-demo-progress[data-pillar="E"] { --toe-demo-colour: #e8b86f; }
.toe-demo-progress[data-pillar="360"] { --toe-demo-colour: #fff; }

.toe-demo-progress > div {
    width: 100%;
    height: 100%;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    background: #0c2c3b;
    transform: rotate(30deg);
}

.toe-demo-progress span {
    color: var(--toe-demo-colour);
    font-size: 1.3rem;
    font-weight: 900;
}

.toe-demo-progress strong {
    margin-top: .2rem;
    color: #fff;
    font-size: 2.2rem;
}

.toe-demo-progress small {
    color: #8398a1;
    font-size: .62rem;
    font-weight: 800;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.toe-demo-details {
    border-left: 1px solid rgba(255,255,255,.14);
}

.toe-demo-details article {
    min-height: 570px;
    display: flex;
    flex-direction: column;
    padding: clamp(1.6rem, 3.5vw, 3rem);
}

.toe-demo-details article > p:first-child {
    margin: 0 0 .6rem;
    color: #55d6be;
    font-size: .68rem;
    font-weight: 850;
    letter-spacing: .1em;
    text-transform: uppercase;
}

.toe-demo-details h3 {
    margin-bottom: 1rem;
    font-size: clamp(1.7rem, 3vw, 2.6rem);
}

.toe-demo-details h3 + p {
    max-width: 720px;
    color: #b6c6cd;
    line-height: 1.75;
}

.toe-demo-details ul {
    display: flex;
    flex-wrap: wrap;
    gap: .55rem;
    margin: 1.2rem 0 2rem;
    padding: 0;
    list-style: none;
}

.toe-demo-details li {
    padding: .55rem .75rem;
    border: 1px solid rgba(255,255,255,.14);
    border-radius: 999px;
    color: #d1dce0;
    font-size: .7rem;
}

.toe-demo-details article > div {
    margin-top: auto;
    padding: 1.2rem;
    border-left: 3px solid #ee6b32;
    background: rgba(255,255,255,.06);
}

.toe-demo-details article > div span {
    display: block;
    margin-bottom: .45rem;
    color: #ee6b32;
    font-size: .63rem;
    font-weight: 900;
    letter-spacing: .1em;
    text-transform: uppercase;
}

.toe-demo-details article > div strong {
    color: #fff;
    line-height: 1.55;
}

.toe-demo-footer {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 2rem;
    margin-top: 1.25rem;
    padding: 1.5rem;
    border: 1px solid #cbd9dc;
    border-radius: .8rem;
    background: #fff;
}

.toe-demo-footer p {
    display: grid;
    gap: .25rem;
    margin: 0;
}

.toe-demo-footer p strong { color: #0c2c3b; }
.toe-demo-footer p span { color: #627984; }

@media (max-width: 1199.98px) {
    .toe-model-orbit { opacity: .48; }
    .toe-manifesto-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
    .toe-model-proof .container-xxl { grid-template-columns: 1fr; }
    .toe-demo-workspace { grid-template-columns: 210px 220px minmax(0, 1fr); }
    #modelo-toe { scroll-margin-top: 76px; }
}

@media (max-width: 991.98px) {
    .toe-navigation-brand { padding: 1rem 1.25rem; }
    .toe-model-pillar-grid,
    .project-toe-grid { grid-template-columns: 1fr; }
    .toe-model-pillar-grid a { min-height: 360px; }
    .projects-toe-banner .container-xxl { grid-template-columns: 1fr; padding-top: 2rem; padding-bottom: 2rem; gap: 1rem; }
    .toe-demo-panel-heading { grid-template-columns: 1fr; }
    .toe-demo-workspace { grid-template-columns: 1fr; }
    .toe-demo-step-navigation { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); border-right: 0; border-bottom: 1px solid rgba(255,255,255,.14); }
    .toe-demo-step-navigation button { min-height: 82px; border-right: 1px solid rgba(255,255,255,.1); }
    .toe-demo-progress { margin: 2rem auto; }
    .toe-demo-details { border-top: 1px solid rgba(255,255,255,.14); border-left: 0; }
    .toe-demo-details article { min-height: 500px; }
    .toe-demo-footer { align-items: flex-start; flex-direction: column; }
    .footer-main { grid-template-columns: 1fr 1fr; }
    .footer-brand { grid-column: auto; }
}

@media (max-width: 575.98px) {
    .home-toe-signature { align-items: flex-start; flex-direction: column; }
    .toe-model-hero { min-height: 0; }
    .toe-model-orbit { right: -45%; width: 130vw; }
    .toe-cycle-node { width: 108px; min-height: 108px; }
    .toe-cycle-node strong { font-size: 1.4rem; }
    .toe-cycle-node span { font-size: .75rem; }
    .toe-cycle-node small { font-size: .55rem; }
    .toe-cycle-technology { left: calc(50% - 54px); }
    .toe-cycle-core { width: 120px; height: 120px; }
    .toe-cycle-core span { font-size: 1.35rem; }
    .toe-manifesto-grid { grid-template-columns: 1fr; }
    .toe-manifesto-grid article { min-height: 190px; }
    .project-toe-heading { grid-template-columns: 1fr; }
    .site-header .brand-logo { width: 170px; }
    .toe-demo-contexts { display: grid; grid-template-columns: 1fr 1fr; }
    .toe-demo-contexts button:last-child { grid-column: 1 / -1; }
    .toe-demo-step-navigation { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .toe-demo-step-navigation button { grid-template-columns: 28px 1fr auto; }
    .toe-demo-details article { min-height: 540px; }
}

@media (max-width: 991.98px) {
    .project-capability-grid,
    .project-organization-list {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 575.98px) {
    .project-capability-grid,
    .project-organization-list {
        grid-template-columns: 1fr;
    }

    .project-taxonomies > div {
        grid-template-columns: 1fr;
    }
}

@media (prefers-reduced-motion: reduce) {
    *,
    *::before,
    *::after {
        scroll-behavior: auto !important;
        transition-duration: 0.01ms !important;
        animation-duration: 0.01ms !important;
        animation-iteration-count: 1 !important;
    }
}

/* Backoffice editorial simplificado */
.admin-cms-nav-advanced {
    margin-top: .8rem;
    border-top: 1px solid rgba(255, 255, 255, .12);
    padding-top: .65rem;
}

.admin-cms-nav-advanced summary {
    padding: .55rem .7rem;
    color: #a9bbc4;
    cursor: pointer;
    font-size: .72rem;
    font-weight: 800;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.admin-cms-progressive {
    border-top: 1px solid #e2e9ed;
}

.admin-cms-progressive > summary,
.admin-inline-media > details > summary,
.admin-add-nested > summary,
.admin-add-section > summary {
    padding: 1rem 1.25rem;
    color: #244655;
    cursor: pointer;
    font-size: .84rem;
    font-weight: 800;
}

.admin-cms-status {
    border-radius: 999px;
    padding: .38rem .7rem;
    background: #e8eef1;
    color: #526b77;
    font-size: .72rem;
    font-weight: 850;
    text-transform: uppercase;
}

.admin-cms-status.published { background: #dff4eb; color: #16654f; }
.admin-cms-status.scheduled { background: #fff2d8; color: #8a5b00; }

.admin-cms-publication-actions {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: .7rem;
    margin-top: 1.25rem;
}

.admin-cms-publication-actions details { position: relative; }
.admin-cms-publication-actions details > summary {
    list-style: none;
    border: 1px solid #cbd7dd;
    border-radius: .55rem;
    padding: .65rem 1rem;
    background: #fff;
    color: #294654;
    cursor: pointer;
    font-size: .82rem;
    font-weight: 800;
}
.admin-cms-publication-actions details > div {
    position: absolute;
    z-index: 12;
    bottom: calc(100% + .5rem);
    left: 0;
    min-width: 290px;
    display: grid;
    gap: .6rem;
    padding: 1rem;
    border: 1px solid #d6e0e5;
    border-radius: .7rem;
    background: #fff;
    box-shadow: 0 15px 40px rgba(12, 34, 45, .15);
}
.admin-cms-button.danger { background: #fff0f0; color: #8d2828; border-color: #e5bcbc; }

.admin-inline-media {
    border: 1px solid #dbe4e8;
    border-radius: .7rem;
    background: #f8fafb;
    overflow: hidden;
}
.admin-choice-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: .55rem;
    padding: .7rem;
    border: 1px solid #dbe4e8;
    border-radius: .65rem;
    background: #f8fafb;
}
.admin-choice-grid label { display: flex; align-items: center; gap: .55rem; padding: .55rem .65rem; border-radius: .45rem; background: #fff; cursor: pointer; }
.admin-choice-grid input { width: auto; margin: 0; }
.admin-choice-grid p { grid-column: 1 / -1; margin: .4rem; color: #738791; font-size: .8rem; }
.admin-inline-media-preview {
    display: flex;
    flex-wrap: wrap;
    gap: .7rem;
    padding: .8rem;
}
.admin-inline-media-preview:empty { display: none; }
.admin-inline-media-preview figure { width: 150px; margin: 0; }
.admin-inline-media-preview img,
.admin-inline-media-preview video {
    width: 150px;
    height: 105px;
    display: block;
    border-radius: .45rem;
    background: #e8edef;
    object-fit: cover;
}
.admin-inline-media-preview figcaption {
    overflow: hidden;
    margin-top: .3rem;
    color: #607681;
    font-size: .7rem;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.admin-inline-upload { display: grid; gap: .8rem; padding: 0 1rem 1rem; }
.admin-inline-upload label { display: grid; gap: .35rem; }
.admin-inline-media-help { color: #607681; font-size: .74rem; line-height: 1.55; }
.admin-inline-import {
    display: grid;
    grid-template-columns: auto 1fr auto;
    align-items: end;
    gap: .7rem;
    padding-top: .8rem;
    border-top: 1px solid #dbe4e8;
}
.admin-inline-import > span { align-self: center; color: #70848e; font-size: .75rem; }
.admin-inline-media-status { min-height: 1.2rem; margin: 0; color: #2b7463; font-size: .78rem; }
.admin-inline-media.is-loading { opacity: .7; pointer-events: none; }

.admin-media-heading,
.admin-page-editor-heading,
.admin-page-blocks-heading {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 1.5rem;
    margin-bottom: 1.25rem;
}
.admin-media-heading h2,
.admin-page-editor-heading h2,
.admin-page-blocks-heading h2 { margin: 0; font-family: var(--font-display); }
.admin-media-heading p,
.admin-page-editor-heading p,
.admin-page-blocks-heading p { margin: .4rem 0 0; color: #637985; }

.admin-media-tabs {
    display: flex;
    gap: .35rem;
    overflow-x: auto;
    padding-bottom: .4rem;
}
.admin-media-tabs a,
.admin-media-type-filter a {
    flex: 0 0 auto;
    border: 1px solid #d6e0e5;
    border-radius: 999px;
    padding: .52rem .8rem;
    background: #fff;
    color: #526b77;
    font-size: .76rem;
    font-weight: 750;
    text-decoration: none;
}
.admin-media-tabs a.active,
.admin-media-type-filter a.active { background: #173848; color: #fff; border-color: #173848; }
.admin-media-toolbar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    margin: 1rem 0 1.25rem;
}
.admin-media-type-filter { display: flex; gap: .35rem; }
.admin-media-toolbar form { display: flex; width: min(430px, 100%); }
.admin-media-toolbar input { min-width: 0; flex: 1; border: 1px solid #cbd7dd; border-radius: .5rem 0 0 .5rem; padding: .65rem .8rem; }
.admin-media-toolbar button { border: 0; border-radius: 0 .5rem .5rem 0; padding: .65rem 1rem; background: #173848; color: #fff; }
.admin-media-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1rem; }
.admin-media-card { min-width: 0; overflow: hidden; border: 1px solid #dce4e8; border-radius: .8rem; background: #fff; }
.admin-media-preview { position: relative; display: block; aspect-ratio: 4 / 3; background: #e8edef; }
.admin-media-preview img,
.admin-media-preview video { width: 100%; height: 100%; display: block; object-fit: cover; }
.admin-media-kind { position: absolute; top: .6rem; right: .6rem; border-radius: 999px; padding: .25rem .5rem; background: rgba(7, 21, 31, .82); color: #fff; font-size: .65rem; }
.admin-media-card-body { padding: .9rem; }
.admin-media-card-body h3 { overflow: hidden; margin: 0; font-size: .9rem; text-overflow: ellipsis; white-space: nowrap; }

.admin-sector-module-editors,
.admin-sector-content-groups {
    display: grid;
    gap: 1rem;
}

.admin-sector-module-editor,
.admin-sector-content-group {
    overflow: hidden;
    border: 1px solid #d5e0e2;
    border-radius: .8rem;
    background: #fff;
}

.admin-sector-module-editor > summary {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    padding: 1.2rem 1.35rem;
    cursor: pointer;
    color: #17323e;
    font-weight: 820;
    list-style: none;
}

.admin-sector-module-editor > summary::-webkit-details-marker { display: none; }
.admin-sector-module-editor > summary::after { content: '+'; color: #b3542a; font-size: 1.3rem; }
.admin-sector-module-editor[open] > summary::after { content: '−'; }
.admin-sector-module-editor > summary small { margin-left: auto; color: #6b8089; font-size: .68rem; font-weight: 750; text-transform: uppercase; }
.admin-sector-module-fields { padding: 1.35rem; border-top: 1px solid #dfe7e8; background: #f8faf9; }
.admin-sector-repeater { margin-top: 1.4rem; padding: 1.2rem; border: 1px solid #d9e2e4; border-radius: .7rem; background: #fff; }
.admin-sector-repeater-heading { display: flex; align-items: center; justify-content: space-between; gap: 1rem; margin-bottom: 1rem; }
.admin-sector-repeater-heading h3 { margin: 0; font-size: 1rem; }
.admin-sector-repeater-heading p { margin: .3rem 0 0; color: #687d86; font-size: .78rem; }
.admin-sector-repeater-rows { display: grid; gap: .75rem; }
.admin-sector-repeater-row { display: grid; grid-template-columns: minmax(180px, .7fr) minmax(260px, 1.3fr) auto; gap: .8rem; align-items: end; padding: .9rem; border: 1px solid #e0e7e8; border-radius: .6rem; background: #f9fbfa; }
.admin-sector-repeater-row.with-auxiliary { grid-template-columns: minmax(120px, .45fr) minmax(180px, .7fr) minmax(260px, 1.3fr) auto; }
.admin-sector-repeater-row label { display: grid; gap: .35rem; color: #536a74; font-size: .72rem; font-weight: 760; }
.admin-sector-repeater-row input,
.admin-sector-repeater-row textarea { width: 100%; border: 1px solid #cbd7da; border-radius: .45rem; padding: .7rem; color: #17323e; background: #fff; font: inherit; font-size: .82rem; }
.admin-sector-repeater-row button { min-height: 42px; padding: .65rem .85rem; border: 1px solid #e0b6a5; border-radius: .45rem; color: #9b3e22; background: #fff7f3; font-size: .72rem; font-weight: 800; }
.admin-sector-content-groups { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.admin-sector-content-group { margin-top: 0; }

@media (max-width: 900px) {
    .admin-sector-content-groups { grid-template-columns: 1fr; }
    .admin-sector-repeater-row,
    .admin-sector-repeater-row.with-auxiliary { grid-template-columns: 1fr; }
    .admin-sector-repeater-heading { align-items: stretch; flex-direction: column; }
}
.admin-media-usage { min-height: 2.2em; margin: .4rem 0 .8rem; color: #59727e; font-size: .72rem; }
.admin-media-usage.unused { color: #a35d22; }
.admin-media-card-body > div { display: flex; justify-content: space-between; gap: .5rem; font-size: .72rem; }
.admin-media-card-body a { color: #c44b17; font-weight: 750; }
.admin-media-card-actions { align-items: center; flex-wrap: wrap; }
.admin-media-card-actions form { margin: 0; }
.admin-media-card-actions button { padding: 0; border: 0; color: #a13b2b; background: transparent; font-size: .72rem; font-weight: 800; }
.admin-media-card-actions button:disabled { color: #8a989e; cursor: not-allowed; opacity: .72; }
.admin-media-card-actions small { color: #657b84; font-size: .68rem; font-weight: 750; }
.admin-video-upload-progress { margin: 0 1.25rem 1.25rem; padding: 1rem; border: 1px solid #d7e2e7; border-radius: .75rem; background: #f7fafb; }
.admin-video-upload-progress > div { display: flex; justify-content: space-between; gap: 1rem; margin-bottom: .55rem; color: #18323d; font-size: .84rem; }
.admin-video-upload-progress progress { width: 100%; height: .75rem; accent-color: #c96c2c; }
.admin-video-upload-progress small { display: block; margin-top: .45rem; color: #61757e; }
.admin-video-upload-progress.error { border-color: #d99a92; background: #fff6f4; }
.admin-video-upload-progress.error strong { color: #9e3329; }

.site-video-player { position: relative; width: 100%; overflow: hidden; border-radius: inherit; background: #0c1419; }
.site-video-player video { display: block; width: 100%; background: #0c1419; }
.site-video-play { position: absolute; inset: 50% auto auto 50%; display: grid; width: clamp(3.5rem, 8vw, 5.25rem); aspect-ratio: 1; padding: 0; transform: translate(-50%, -50%); place-items: center; border: 1px solid rgba(255,255,255,.7); border-radius: 50%; color: #101a20; background: rgba(236, 184, 112, .94); box-shadow: 0 1rem 2.5rem rgba(0,0,0,.28); transition: transform .2s ease, background-color .2s ease; }
.site-video-play span { width: 0; height: 0; margin-left: .25rem; border-top: .65rem solid transparent; border-bottom: .65rem solid transparent; border-left: 1rem solid currentColor; }
.site-video-play:hover,
.site-video-play:focus-visible { transform: translate(-50%, -50%) scale(1.06); background: #f1c17d; }
.site-video-player.is-playing .site-video-play { display: none; }
.site-video-player.has-error::after { content: 'Não foi possível reproduzir este vídeo.'; position: absolute; inset: 50% auto auto 50%; width: min(90%, 24rem); transform: translate(-50%, -50%); color: #fff; text-align: center; }

@media (prefers-reduced-motion: reduce) {
    .site-video-play { transition: none; }
}

.admin-page-blocks { margin-top: 2.5rem; }
.admin-page-media-panel { margin-top: 2rem; }
.admin-page-media-assignment { border-bottom: 1px solid #e2e9ed; padding: .2rem 1.1rem 0; }
.admin-add-page-media { margin: 1rem; }
.admin-page-section-list { display: grid; gap: 1rem; }
.admin-page-section-card { border: 1px solid #d6e0e5; border-radius: .85rem; background: #fff; }
.admin-page-section-card.is-dragging,
.admin-page-item-card.is-dragging { opacity: .45; }
.admin-page-section-summary {
    display: grid;
    grid-template-columns: auto 1fr auto;
    align-items: center;
    gap: .9rem;
    padding: 1rem 1.15rem;
}
.admin-page-section-summary small { color: #768b95; font-size: .68rem; text-transform: uppercase; }
.admin-page-section-summary h3 { margin: .1rem 0 0; font-size: 1.05rem; }
.admin-drag-handle { color: #8ca0aa; cursor: grab; font-size: 1.2rem; }
.admin-page-section-card > details { border-top: 1px solid #e3eaed; }
.admin-page-section-card > details > summary,
.admin-page-item-card > summary { padding: .8rem 1.15rem; cursor: pointer; color: #365564; font-size: .8rem; font-weight: 750; }
.admin-nested-editor { padding: 0 1.1rem 1.1rem; }
.admin-nested-editor .admin-cms-fields { padding: 1rem 0; }
.admin-link-danger { margin: 0 1.1rem 1rem; border: 0; background: none; color: #9d3030; font-size: .76rem; font-weight: 750; }
.admin-page-item-list { display: grid; gap: .55rem; padding: .8rem 1.1rem; border-top: 1px solid #e3eaed; background: #f7f9fa; }
.admin-page-item-card { border: 1px solid #dce4e8; border-radius: .6rem; background: #fff; }
.admin-page-item-card > summary { display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: .7rem; }
.admin-page-item-card > summary small { color: #738791; }
.admin-add-nested { margin: 0 1.1rem 1rem; border: 1px dashed #bdcbd2; border-radius: .65rem; }
.admin-add-section { margin-top: 1rem; border: 2px dashed #bdcbd2; border-radius: .85rem; background: rgba(255,255,255,.6); }
.admin-editorial-preview { background: #f4f1eb; color: #102b39; }
.admin-editorial-preview > header { display: flex; justify-content: space-between; gap: 1rem; padding: 1rem 4vw; background: #07151f; color: #fff; }
.admin-editorial-preview > header a { color: #e4b66e; }
.admin-editorial-preview > header p { margin: 0; }
.admin-editorial-preview main { width: min(980px, 92vw); margin: 4rem auto; }
.admin-editorial-preview article { padding: clamp(1.5rem, 4vw, 4rem); border-radius: 1rem; background: #fff; }
.admin-editorial-preview h1 { font-family: var(--font-display); font-size: clamp(2.2rem, 6vw, 5rem); }
.admin-editorial-preview-lead { max-width: 760px; color: #496672; font-size: 1.2rem; line-height: 1.7; }
.admin-editorial-preview figure { margin: 2rem 0; }
.admin-editorial-preview figure img,
.admin-editorial-preview figure video { width: 100%; max-height: 620px; border-radius: .8rem; object-fit: cover; }
.admin-editorial-preview-section { margin-top: 3rem; padding-top: 2rem; border-top: 1px solid #dce4e8; }
.admin-editorial-preview-section h2 { font-family: var(--font-display); font-size: clamp(1.8rem, 4vw, 3rem); }
.admin-editorial-preview-items { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1rem; margin-top: 1.5rem; }
.admin-editorial-preview-items article { padding: 1.2rem; border-radius: .7rem; background: #f4f6f7; }

@media (max-width: 1199.98px) {
    .admin-media-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}

@media (max-width: 767.98px) {
    .admin-cms-publication-actions,
    .admin-media-heading,
    .admin-page-editor-heading,
    .admin-page-blocks-heading,
    .admin-media-toolbar { align-items: stretch; flex-direction: column; }
    .admin-cms-publication-actions .admin-cms-button { width: 100%; text-align: center; }
    .admin-cms-publication-actions details > div { position: static; margin-top: .5rem; }
    .admin-inline-import { grid-template-columns: 1fr; }
    .admin-inline-import > span { display: none; }
    .admin-media-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .admin-media-type-filter { overflow-x: auto; }
    .admin-page-section-summary { grid-template-columns: auto 1fr; }
    .admin-choice-grid { grid-template-columns: 1fr; }
    .admin-editorial-preview-items { grid-template-columns: 1fr; }
    .admin-page-section-summary > span:last-child { grid-column: 2; }
}

@media (max-width: 479.98px) {
    .admin-media-grid { grid-template-columns: 1fr; }
    .admin-page-item-card > summary { grid-template-columns: auto 1fr; }
    .admin-page-item-card > summary small { grid-column: 2; }
}

/* Auditoria de apresentação: robustez responsiva e coerência editorial */
html,
body {
    width: 100%;
    max-width: 100%;
    overflow-x: clip;
}

main,
section,
.row > *,
.container-xxl,
.contact-grid > *,
.footer-main > *,
.market-list article > *,
.hero-actions > *,
.platform-hero-actions > * {
    min-width: 0;
}

h1,
h2,
h3,
p,
li,
blockquote,
figcaption {
    max-width: 100%;
    overflow-wrap: break-word;
}

.button,
.text-link,
.nav-link {
    max-width: 100%;
    white-space: normal;
    text-align: center;
}

.site-header .navbar-brand {
    min-width: 0;
}

.site-header .navbar-toggler {
    flex: 0 0 auto;
    margin-left: auto;
}

@media (min-width: 1400px) {
    .site-header .container-xxl {
        max-width: 1600px;
        padding-right: clamp(1.5rem, 3vw, 3rem);
        padding-left: clamp(1.5rem, 3vw, 3rem);
    }

    .site-header .navbar-brand,
    .site-header .navbar-nav,
    .site-header .nav-item,
    .site-header .header-actions,
    .site-header .language-switcher,
    .site-header .header-actions .button {
        flex: 0 0 auto;
    }

    .site-header .nav-link {
        max-width: none;
        padding-right: clamp(0.38rem, 0.5vw, 0.62rem) !important;
        padding-left: clamp(0.38rem, 0.5vw, 0.62rem) !important;
        font-size: 0.76rem;
        letter-spacing: 0.025em;
        white-space: nowrap;
    }

    .site-header .nav-link::after {
        right: clamp(0.38rem, 0.5vw, 0.62rem);
        left: clamp(0.38rem, 0.5vw, 0.62rem);
    }

    .site-header .header-actions {
        gap: 0.75rem;
        margin-left: auto;
        padding-left: 0.75rem;
        white-space: nowrap;
    }

    .site-header .header-actions .button {
        max-width: none;
        padding-right: 0.9rem;
        padding-left: 0.9rem;
        white-space: nowrap;
    }
}

.platform-hero h1 + p,
.toe-hero h1 + p,
.toe-model-hero h1 + p {
    margin-top: 1.5rem;
}

@media (max-width: 767.98px) {
    .site-page-internal {
        --public-inner-section-padding: clamp(3.5rem, 14vw, 4.5rem);
        --public-inner-section-gap-half: clamp(1.5rem, 7vw, 2rem);
    }

    .container-xxl {
        padding-right: 1.25rem;
        padding-left: 1.25rem;
    }

    .hero-section,
    .inner-hero,
    .inner-hero-compact,
    .project-detail-hero,
    .platform-hero,
    .toe-hero,
    .toe-model-hero {
        min-height: auto;
        padding-top: 8.5rem;
        padding-bottom: 4rem;
    }

    .hero-section h1,
    .inner-hero h1,
    .toe-model-hero h1 {
        max-width: 100%;
        font-size: clamp(2.75rem, 12vw, 3.75rem);
        letter-spacing: -0.055em;
        line-height: 0.96;
        overflow-wrap: anywhere;
    }

    .project-detail-hero h1 {
        overflow-wrap: break-word;
        word-break: normal;
    }

    .hero-lead,
    .inner-hero .container-xxl > p:last-child,
    .platform-hero .col-xl-8 > p:last-of-type,
    .toe-hero .col-xl-8 > p:last-of-type,
    .toe-model-hero .col-xl-8 > p:last-of-type {
        width: 100%;
        max-width: 100%;
        margin-top: 1.4rem;
        font-size: 1rem;
        line-height: 1.65;
    }

    .hero-actions,
    .platform-hero-actions {
        display: grid;
        width: 100%;
        grid-template-columns: 1fr;
        gap: .75rem;
    }

    .hero-actions .button,
    .platform-hero-actions .button,
    .closing-cta .button {
        width: 100%;
    }

    .hero-proof {
        margin-top: 2.5rem;
    }

    .platform-hero-proof {
        margin-top: .5rem;
    }

    .company-story img {
        min-height: 280px;
        max-height: 440px;
    }

    .market-list article,
    .contact-card > * {
        padding: 1.4rem 1.25rem;
    }

    .news-empty {
        padding: 2rem 1.25rem;
    }
}

@media (max-width: 575.98px) {
    .site-header .brand-logo {
        width: 150px;
    }

    .button {
        min-height: 52px;
        padding-right: 1rem;
        padding-left: 1rem;
    }

    .section-space {
        padding-top: clamp(3.5rem, 14vw, 4.5rem);
        padding-bottom: clamp(3.5rem, 14vw, 4.5rem);
    }

    .contact-form-grid,
    .contact-form input,
    .contact-form select,
    .contact-form textarea {
        min-width: 0;
        max-width: 100%;
    }

    .market-list article > strong {
        font-size: clamp(1.75rem, 11vw, 2.7rem);
    }
}
