/* ==========================================================================
   ACSL GROUP — Design System
   A unified CSS for the entire company profile website.
   ========================================================================== */

/* ========== 1. RESET & VARIABLES ========== */
:root {
    --navy: #0F1A2E;
    --steel: #1D3A5F;
    --amber: #E7A33E;
    --amber-hover: #F0B050;
    --paper: #F6F4EF;
    --ink: #101A2B;
    --slate: #4B5666;
    --muted: #607087;
    --green: #159669;
    --blue: #1467C8;
    --orange: #F47B20;
    --clearance: #3F7A5C;
    --line: rgba(16, 26, 43, 0.12);
    --bg: #FFFFFF;
    --bg-alt: #F8FAFB;
    --bg-soft: #EFEBE2;
    --radius-sm: 8px;
    --radius: 12px;
    --radius-lg: 16px;
    --radius-xl: 24px;
    --shadow-sm: 0 1px 3px rgba(0, 0, 0, 0.06);
    --shadow: 0 8px 30px rgba(16, 33, 58, 0.08);
    --shadow-lg: 0 16px 48px rgba(16, 33, 58, 0.12);
    --font: 'Inter', system-ui, -apple-system, sans-serif;
    --font-heading: 'Space Grotesk', 'Inter', system-ui, sans-serif;
    --transition: 0.2s ease;
}

*,
*::before,
*::after {
    box-sizing: border-box;
    margin: 0;
    padding: 0;
}

html {
    scroll-behavior: smooth;
    -webkit-text-size-adjust: 100%;
}

body {
    font-family: var(--font);
    color: var(--ink);
    background: var(--bg);
    line-height: 1.6;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

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

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

h1, h2, h3, h4, h5, h6 {
    font-family: var(--font-heading);
    line-height: 1.2;
    letter-spacing: -0.02em;
}

ul, ol {
    list-style: none;
}

/* ========== 2. LAYOUT ========== */
.container {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 clamp(20px, 5vw, 64px);
}

/* ========== 3. NAVBAR ========== */
.site-nav {
    position: sticky;
    top: 0;
    z-index: 100;
    display: flex;
    align-items: center;
    justify-content: space-between;
    height: 72px;
    padding: 0 clamp(20px, 5vw, 64px);
    background: rgba(255, 255, 255, 0.92);
    backdrop-filter: blur(16px);
    -webkit-backdrop-filter: blur(16px);
    border-bottom: 1px solid var(--line);
    transition: box-shadow var(--transition);
}

.site-nav .brand {
    display: flex;
    align-items: baseline;
    gap: 6px;
    font-family: var(--font-heading);
    z-index: 110;
}

.site-nav .brand strong {
    font-size: 1.3rem;
    letter-spacing: -0.03em;
    color: var(--navy);
}

.site-nav .brand span {
    font-size: 0.65rem;
    font-weight: 700;
    letter-spacing: 0.18em;
    color: var(--amber);
    text-transform: uppercase;
}

.nav-links {
    display: flex;
    gap: 32px;
}

.nav-links a {
    position: relative;
    font-size: 0.9rem;
    font-weight: 600;
    color: var(--slate);
    padding: 6px 0;
    transition: color var(--transition);
}

.nav-links a::after {
    content: '';
    position: absolute;
    bottom: -2px;
    left: 0;
    width: 0;
    height: 2px;
    background: var(--amber);
    border-radius: 1px;
    transition: width 0.25s ease;
}

.nav-links a:hover,
.nav-links a.active {
    color: var(--navy);
}

.nav-links a.active::after,
.nav-links a:hover::after {
    width: 100%;
}

.nav-actions {
    display: flex;
    align-items: center;
    gap: 16px;
    z-index: 110;
}

.lang-switch {
    display: flex;
    align-items: center;
    gap: 6px;
    font-size: 0.82rem;
    font-weight: 700;
}

.lang-switch a {
    color: var(--muted);
    transition: color var(--transition);
}

.lang-switch a.active {
    color: var(--navy);
}

.lang-switch a:hover {
    color: var(--amber);
}

.lang-divider {
    color: var(--line);
    font-weight: 400;
}

/* Hamburger button */
.nav-toggle {
    display: none;
    flex-direction: column;
    justify-content: center;
    gap: 5px;
    width: 36px;
    height: 36px;
    padding: 6px;
    background: none;
    border: none;
    cursor: pointer;
    z-index: 110;
}

.nav-toggle span {
    display: block;
    width: 100%;
    height: 2px;
    background: var(--navy);
    border-radius: 2px;
    transition: transform 0.3s ease, opacity 0.2s ease;
}

.site-nav.open .nav-toggle span:nth-child(1) {
    transform: translateY(7px) rotate(45deg);
}

.site-nav.open .nav-toggle span:nth-child(2) {
    opacity: 0;
}

.site-nav.open .nav-toggle span:nth-child(3) {
    transform: translateY(-7px) rotate(-45deg);
}

/* ========== 4. SECTIONS ========== */
.section {
    padding: 80px 0;
}

.section .container {
    width: 100%;
}

.section.alt {
    background: var(--bg-alt);
}

.section.soft {
    background: var(--bg-soft);
}

.section.dark {
    background: var(--navy);
    color: #fff;
}

.section-header {
    max-width: 680px;
    margin-bottom: 48px;
}

.section-header.centered {
    text-align: center;
    margin-left: auto;
    margin-right: auto;
}

.section-header h2 {
    font-size: clamp(1.6rem, 2.4vw, 2.2rem);
    margin-bottom: 14px;
}

.section-header p {
    color: var(--slate);
    line-height: 1.7;
    font-size: 1.02rem;
}

/* ========== 5. TAG / EYEBROW ========== */
.tag-line {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    color: var(--steel);
    font-size: 0.85rem;
    font-weight: 600;
    margin-bottom: 12px;
}

.tag-line::before {
    content: '';
    display: inline-block;
    width: 24px;
    height: 2px;
    background: var(--amber);
    flex-shrink: 0;
}

.tag-line.alt::before {
    background: var(--clearance);
}

.eyebrow {
    display: inline-block;
    font-size: 0.72rem;
    font-weight: 700;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    color: var(--amber);
    margin-bottom: 12px;
}

.tags {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.tags span {
    padding: 5px 12px;
    border-radius: 20px;
    background: var(--paper);
    font-size: 0.8rem;
    font-weight: 600;
    color: var(--slate);
}

/* ========== 6. GRIDS ========== */
.grid-2 {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 28px;
}

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

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

/* ========== 7. PAGE HERO ========== */
.page-hero {
    padding: 72px 0;
    background: var(--navy);
    color: #fff;
}

.page-hero h1 {
    font-size: clamp(2rem, 4vw, 3rem);
    margin-bottom: 8px;
}

.page-hero p {
    color: rgba(255, 255, 255, 0.7);
    font-size: 1.1rem;
    max-width: 560px;
    line-height: 1.7;
}

.page-hero.green {
    background: linear-gradient(135deg, var(--green), #0b7562);
}

.page-hero.blue {
    background: linear-gradient(135deg, var(--blue), #0c86d4);
}

.page-hero.orange {
    background: linear-gradient(135deg, var(--orange), #efad1c);
}

/* ========== 8. CARDS ========== */
.card {
    padding: 32px;
    border: 1px solid var(--line);
    border-radius: var(--radius-lg);
    background: #fff;
    box-shadow: var(--shadow-sm);
    transition: transform var(--transition), box-shadow var(--transition);
}

.card:hover {
    transform: translateY(-4px);
    box-shadow: var(--shadow);
}

.card.green {
    border-top: 4px solid var(--green);
}

.card.blue {
    border-top: 4px solid var(--blue);
}

.card.orange {
    border-top: 4px solid var(--orange);
}

.card h2 {
    font-size: 1.4rem;
    margin-bottom: 12px;
}

.card h3 {
    font-size: 1.15rem;
    margin-bottom: 8px;
}

.card p {
    color: var(--slate);
    line-height: 1.7;
    font-size: 0.95rem;
}

.card .tags {
    margin: 16px 0 8px;
}

.card .card-link {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    margin-top: 16px;
    color: var(--navy);
    font-weight: 700;
    font-size: 0.92rem;
    transition: color var(--transition);
}

.card .card-link:hover {
    color: var(--amber);
}

.card .card-link .arrow {
    display: inline-block;
    transition: transform 0.15s ease;
}

.card .card-link:hover .arrow {
    transform: translateX(4px);
}

/* ========== 9. BUTTONS ========== */
.btn-primary {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    min-height: 44px;
    padding: 10px 24px;
    background: var(--amber);
    color: var(--ink);
    border: 1px solid var(--amber);
    border-radius: var(--radius-sm);
    font-family: var(--font);
    font-size: 0.9rem;
    font-weight: 750;
    cursor: pointer;
    text-decoration: none;
    transition: all var(--transition);
}

.btn-primary:hover {
    background: var(--amber-hover);
    color: var(--ink);
    transform: translateY(-2px);
    box-shadow: 0 8px 24px rgba(231, 163, 62, 0.25);
}

.btn-outline {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    min-height: 44px;
    padding: 10px 24px;
    background: transparent;
    color: var(--navy);
    border: 2px solid var(--line);
    border-radius: var(--radius-sm);
    font-family: var(--font);
    font-size: 0.9rem;
    font-weight: 700;
    cursor: pointer;
    text-decoration: none;
    transition: all var(--transition);
}

.btn-outline:hover {
    border-color: var(--navy);
    background: var(--navy);
    color: #fff;
}

.btn-ghost {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 8px 0;
    color: var(--navy);
    font-weight: 700;
    font-size: 0.9rem;
    border: none;
    background: none;
    cursor: pointer;
    text-decoration: none;
    transition: color var(--transition);
}

.btn-ghost:hover {
    color: var(--amber);
}

/* ========== 10. FORMS ========== */
.form-grid {
    display: grid;
    gap: 16px;
}

input,
textarea,
select {
    width: 100%;
    padding: 14px 16px;
    border: 1px solid var(--line);
    border-radius: var(--radius-sm);
    font-family: var(--font);
    font-size: 0.95rem;
    color: var(--ink);
    background: #fff;
    transition: border-color var(--transition), box-shadow var(--transition);
}

input:focus,
textarea:focus,
select:focus {
    outline: none;
    border-color: var(--amber);
    box-shadow: 0 0 0 3px rgba(231, 163, 62, 0.15);
}

input::placeholder,
textarea::placeholder {
    color: var(--muted);
}

textarea {
    min-height: 140px;
    resize: vertical;
}

.success-message {
    padding: 14px 18px;
    background: #ecfdf5;
    border: 1px solid #a7f3d0;
    border-radius: var(--radius-sm);
    color: #065f46;
    font-weight: 600;
    font-size: 0.92rem;
}

/* ========== 11. FOOTER ========== */
.site-footer {
    background: var(--navy);
    color: rgba(255, 255, 255, 0.7);
    padding: 64px 0 0;
}

.footer-grid {
    display: grid;
    grid-template-columns: 2fr 1fr 1fr 1.5fr;
    gap: 40px;
}

.footer-logo {
    display: flex;
    align-items: baseline;
    gap: 6px;
    font-family: var(--font-heading);
    margin-bottom: 16px;
}

.footer-logo strong {
    color: #fff;
    font-size: 1.25rem;
    letter-spacing: -0.03em;
}

.footer-logo span {
    color: var(--amber);
    font-size: 0.62rem;
    font-weight: 700;
    letter-spacing: 0.18em;
}

.footer-brand p {
    font-size: 0.9rem;
    line-height: 1.7;
    max-width: 320px;
}

.site-footer h4 {
    color: #fff;
    font-family: var(--font-heading);
    font-size: 0.82rem;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    margin-bottom: 18px;
}

.footer-links a {
    display: block;
    padding: 5px 0;
    font-size: 0.88rem;
    transition: color var(--transition);
}

.footer-links a:hover {
    color: var(--amber);
}

.footer-contact-item {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 5px 0;
    font-size: 0.88rem;
}

.footer-contact-item svg {
    flex-shrink: 0;
    opacity: 0.6;
}

.footer-bottom {
    margin-top: 48px;
    padding: 20px 0;
    border-top: 1px solid rgba(255, 255, 255, 0.1);
    text-align: center;
    font-size: 0.82rem;
}

/* ========== 12. HOME — HERO ========== */
.acsl-home {
    color: var(--ink);
    background: var(--paper);
}

.acsl-home .hero {
    position: relative;
    isolation: isolate;
    display: grid;
    grid-template-columns: minmax(0, 0.92fr) minmax(420px, 1.08fr);
    align-items: center;
    gap: clamp(36px, 5vw, 72px);
    height: calc(100svh - 72px);
    min-height: 540px;
    max-height: 760px;
    padding: clamp(38px, 5vh, 64px) clamp(28px, 6vw, 92px);
    overflow: hidden;
    color: #FFFFFF;
    background: #0D1929;
    border-radius: 0 0 32px 32px;
}

.acsl-home .hero::before {
    content: '';
    position: absolute;
    z-index: -2;
    top: -36%;
    left: -12%;
    width: 620px;
    height: 620px;
    border-radius: 50%;
    background: radial-gradient(circle, rgba(231, 163, 62, 0.19), transparent 68%);
    pointer-events: none;
}

.acsl-home .hero::after {
    content: '';
    position: absolute;
    z-index: -1;
    inset: 0;
    opacity: 0.22;
    background-image: linear-gradient(rgba(255, 255, 255, 0.025) 1px, transparent 1px);
    background-size: 100% 64px;
    pointer-events: none;
}

.acsl-home .hero-copy {
    position: relative;
    z-index: 2;
    max-width: 650px;
}

.acsl-home .hero-tag {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    margin-bottom: 16px;
    color: #F2B95F;
    font-size: 0.78rem;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.acsl-home .hero-tag i {
    display: inline-block;
    width: 28px;
    height: 2px;
    background: var(--amber);
}

.acsl-home .hero h1 {
    max-width: 12ch;
    margin: 0 0 18px;
    color: #FFFFFF;
    font-size: clamp(2.45rem, 4.5vw, 4.65rem);
    font-weight: 650;
    line-height: 0.99;
    letter-spacing: -0.055em;
    text-wrap: balance;
}

.acsl-home .hero-copy > p {
    max-width: 56ch;
    margin: 0 0 26px;
    color: rgba(255, 255, 255, 0.67);
    font-size: clamp(1rem, 1.25vw, 1.12rem);
    line-height: 1.65;
}

.acsl-home .hero-actions {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 18px 26px;
}

.acsl-home .hero .cta {
    min-height: 48px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 18px;
    padding: 0 24px;
    color: var(--ink);
    background: var(--amber);
    border: 1px solid var(--amber);
    border-radius: 8px;
    box-shadow: 0 16px 34px rgba(231, 163, 62, 0.18);
    font-size: 0.92rem;
    font-weight: 750;
    text-decoration: none;
    transition: transform var(--transition), background-color var(--transition), box-shadow var(--transition);
}

.acsl-home .hero .cta:hover {
    color: var(--ink);
    background: var(--amber-hover);
    box-shadow: 0 20px 40px rgba(231, 163, 62, 0.24);
    transform: translateY(-2px);
}

.acsl-home .cta-arrow {
    font-size: 1.05rem;
    transition: transform var(--transition);
}

.acsl-home .hero .cta:hover .cta-arrow {
    transform: translate(2px, -2px);
}

.acsl-home .hero-link {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    padding: 10px 0;
    color: rgba(255, 255, 255, 0.72);
    border-bottom: 1px solid rgba(255, 255, 255, 0.22);
    font-size: 0.88rem;
    font-weight: 600;
    text-decoration: none;
    transition: color var(--transition), border-color var(--transition);
}

.acsl-home .hero-link:hover {
    color: #FFFFFF;
    border-color: var(--amber);
}

.acsl-home .hero-visual {
    position: relative;
    z-index: 2;
    min-width: 0;
    height: min(62vh, 500px);
    min-height: 360px;
}

.acsl-home .hero-image-wrap {
    position: relative;
    width: 100%;
    height: 100%;
    overflow: hidden;
    border-radius: 22px;
    box-shadow: 0 36px 80px rgba(0, 0, 0, 0.36);
}

.acsl-home .hero-image-wrap::before {
    content: '';
    position: absolute;
    z-index: 3;
    inset: 0;
    border: 1px solid rgba(255, 255, 255, 0.14);
    border-radius: inherit;
    pointer-events: none;
}

.acsl-home .hero-photo {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    transition: transform 0.7s ease;
}

.acsl-home .hero:hover .hero-photo {
    transform: scale(1.025);
}

.acsl-home .hero-image-shade {
    position: absolute;
    z-index: 1;
    inset: 0;
    background: linear-gradient(180deg, transparent 48%, rgba(7, 16, 28, 0.76) 100%);
    pointer-events: none;
}

.acsl-home .hero-brand {
    position: absolute;
    z-index: 2;
    right: 24px;
    bottom: 22px;
    display: flex;
    align-items: baseline;
    gap: 8px;
    color: #FFFFFF;
    font-family: var(--font-heading);
}

.acsl-home .hero-brand strong {
    font-size: 1.28rem;
    letter-spacing: -0.03em;
}

.acsl-home .hero-brand span {
    color: #F2B95F;
    font-size: 0.72rem;
    font-weight: 700;
    letter-spacing: 0.16em;
}

.acsl-home .hero-floating-card {
    position: absolute;
    z-index: 4;
    bottom: 30px;
    left: -42px;
    display: flex;
    align-items: center;
    gap: 14px;
    min-width: 255px;
    padding: 16px 18px;
    color: var(--ink);
    background: rgba(255, 255, 255, 0.94);
    border: 1px solid rgba(255, 255, 255, 0.7);
    border-radius: 12px;
    box-shadow: 0 18px 44px rgba(0, 0, 0, 0.22);
    backdrop-filter: blur(12px);
}

.acsl-home .hero-floating-icon {
    width: 36px;
    height: 36px;
    flex: 0 0 36px;
    display: grid;
    place-items: center;
    color: #FFFFFF;
    background: var(--clearance);
    border-radius: 50%;
    font-size: 0.84rem;
    font-weight: 800;
}

.acsl-home .hero-floating-card div {
    display: grid;
    gap: 3px;
}

.acsl-home .hero-floating-card strong {
    font-size: 0.84rem;
}

.acsl-home .hero-floating-card div span {
    color: #697280;
    font-size: 0.72rem;
}

/* ========== 13. HOME — SECTIONS ========== */
.acsl-home .section {
    padding: 88px clamp(28px, 6vw, 64px);
}

.acsl-home .section.soft {
    background: var(--bg-soft);
}

.acsl-home .section-head {
    max-width: 62ch;
    margin-bottom: 48px;
}

.acsl-home .tag {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    margin-bottom: 14px;
    color: var(--steel);
    font-size: 0.92rem;
    font-weight: 600;
}

.acsl-home .tag i {
    display: inline-block;
    width: 16px;
    height: 2px;
    background: var(--amber);
}

.acsl-home .tag.alt i {
    background: var(--clearance);
}

.acsl-home .section-head h2 {
    margin: 0 0 14px;
    font-size: clamp(1.6rem, 2.4vw, 2.2rem);
}

.acsl-home .section-head p {
    margin: 0;
    color: var(--slate);
    line-height: 1.6;
}

/* Company cards */
.acsl-home .grid {
    display: grid;
    gap: 28px;
}

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

.acsl-home .grid.two {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 40px;
}

.acsl-home .company {
    display: flex;
    flex-direction: column;
    gap: 12px;
    padding: 30px 28px;
    background: #FFFFFF;
    border: 1px solid var(--line);
    border-top: 3px solid var(--steel);
    border-radius: 8px;
    transition: transform var(--transition), box-shadow var(--transition);
}

.acsl-home .company:hover {
    transform: translateY(-4px);
    box-shadow: var(--shadow);
}

.acsl-home .company.green {
    border-top-color: var(--green);
}

.acsl-home .company.blue {
    border-top-color: var(--blue);
}

.acsl-home .company.orange {
    border-top-color: var(--orange);
}

.acsl-home .company-focus {
    align-self: flex-start;
    color: var(--steel);
    font-size: 0.8rem;
    font-weight: 600;
}

.acsl-home .company.green .company-focus {
    color: var(--green);
}

.acsl-home .company.blue .company-focus {
    color: var(--blue);
}

.acsl-home .company.orange .company-focus {
    color: #9A6A12;
}

.acsl-home .company h3 {
    margin: 0;
    font-size: 1.25rem;
    line-height: 1.3;
}

.acsl-home .company p {
    margin: 0;
    color: var(--slate);
    font-size: 0.97rem;
    line-height: 1.6;
}

.acsl-home .company .tags {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin: 4px 0 2px;
}

.acsl-home .company .tags span {
    padding: 4px 10px;
    color: var(--slate);
    background: var(--paper);
    border-radius: 6px;
    font-size: 0.8rem;
}

.acsl-home .company > a {
    margin-top: auto;
    padding-top: 8px;
    color: var(--navy);
    font-weight: 700;
    text-decoration: none;
}

.acsl-home .company > a .arrow {
    display: inline-block;
    margin-left: 4px;
    transition: transform 0.15s ease;
}

.acsl-home .company > a:hover .arrow {
    transform: translateX(3px);
}

/* Feature */
.acsl-home .feature h2 {
    margin: 0 0 12px;
    font-size: 1.5rem;
}

.acsl-home .feature p {
    max-width: 42ch;
    margin: 0;
    color: var(--slate);
    line-height: 1.6;
}

/* Stats */
.stats-row {
    display: flex;
    flex-wrap: wrap;
    gap: 32px 56px;
    padding: 42px 0;
}

.stat-item {
    text-align: center;
}

.stat-item .stat-number {
    font-family: var(--font-heading);
    font-size: 2.5rem;
    font-weight: 700;
    color: var(--amber);
    line-height: 1;
}

.stat-item .stat-label {
    margin-top: 6px;
    font-size: 0.85rem;
    font-weight: 600;
    color: rgba(255, 255, 255, 0.6);
}

/* Client marquee */
.acsl-home .client-marquee {
    overflow: hidden;
    -webkit-mask-image: linear-gradient(90deg, transparent, #000 6%, #000 94%, transparent);
    mask-image: linear-gradient(90deg, transparent, #000 6%, #000 94%, transparent);
}

.acsl-home .client-track {
    display: flex;
    width: max-content;
    gap: 10px;
    animation: acsl-marquee 32s linear infinite;
}

.acsl-home .client-marquee:hover .client-track {
    animation-play-state: paused;
}

@keyframes acsl-marquee {
    from { transform: translateX(0); }
    to { transform: translateX(-50%); }
}

.acsl-home .client-box {
    width: 3cm;
    height: 3cm;
    flex: 0 0 auto;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 8px;
    background: #FFFFFF;
    border: 1px solid var(--line);
    border-radius: 8px;
    transition: border-color 0.15s ease;
}

.acsl-home .client-box:hover {
    border-color: var(--amber);
}

.acsl-home .client-box img {
    width: auto;
    height: auto;
    max-width: 70%;
    max-height: 60%;
    object-fit: contain;
    filter: grayscale(1);
    opacity: 0.75;
    transition: filter 0.15s ease, opacity 0.15s ease;
}

.acsl-home .client-box:hover img {
    filter: grayscale(0);
    opacity: 1;
}

.acsl-home .client-monogram {
    width: 26px;
    height: 26px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--steel);
    background: var(--paper);
    border: 1px solid var(--line);
    border-radius: 50%;
    font-family: var(--font-heading);
    font-size: 0.7rem;
    font-weight: 700;
}

/* ========== 14. SERVICES PAGE ========== */
.svc-hero {
    position: relative;
    overflow: hidden;
    background: var(--navy);
    padding: 72px 24px;
    text-align: center;
}

.svc-hero::before {
    content: "";
    position: absolute;
    inset: 0;
    background: radial-gradient(circle at 20% 20%, rgba(231, 163, 62, 0.2), transparent 40%),
                radial-gradient(circle at 80% 0%, rgba(21, 150, 105, 0.15), transparent 45%);
    pointer-events: none;
}

.svc-hero-inner {
    position: relative;
    max-width: 768px;
    margin: 0 auto;
}

.svc-eyebrow {
    display: inline-block;
    border: 1px solid rgba(255, 255, 255, 0.15);
    background: rgba(255, 255, 255, 0.05);
    color: var(--amber);
    font-size: 12px;
    font-weight: 600;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    padding: 6px 16px;
    border-radius: 999px;
}

.svc-hero h1 {
    margin: 20px 0 0;
    font-size: 38px;
    font-weight: 700;
    color: #fff;
    letter-spacing: -0.02em;
}

.svc-hero p {
    margin: 14px auto 0;
    max-width: 560px;
    color: #cbd5e1;
    font-size: 16px;
    line-height: 1.6;
}

.svc-section {
    padding: 56px 24px;
}

.svc-section.alt {
    background: var(--bg-alt);
}

.svc-wrap {
    max-width: 1120px;
    margin: 0 auto;
}

.svc-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
    gap: 24px;
}

.svc-card {
    background: #fff;
    border: 1px solid var(--line);
    border-radius: var(--radius-lg);
    padding: 24px;
    box-shadow: var(--shadow-sm);
    transition: transform var(--transition), box-shadow var(--transition), border-color var(--transition);
}

.svc-card:hover {
    transform: translateY(-4px);
    box-shadow: var(--shadow);
    border-color: rgba(231, 163, 62, 0.3);
}

.svc-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 48px;
    height: 48px;
    border-radius: var(--radius);
    background: rgba(231, 163, 62, 0.1);
    color: var(--amber);
    margin-bottom: 16px;
    transition: background var(--transition), color var(--transition);
}

.svc-icon svg {
    width: 24px;
    height: 24px;
    display: block;
}

.svc-card:hover .svc-icon {
    background: var(--amber);
    color: #fff;
}

.svc-card h3 {
    margin: 0;
    font-size: 18px;
    font-weight: 600;
    color: var(--ink);
}

.svc-card p {
    margin: 8px 0 0;
    font-size: 14px;
    line-height: 1.6;
    color: var(--slate);
}

.svc-heading {
    text-align: center;
    margin-bottom: 40px;
}

.svc-heading span {
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    color: var(--amber);
}

.svc-heading h2 {
    margin: 8px 0 0;
    font-size: 28px;
    font-weight: 700;
    color: var(--ink);
}

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

.svc-branch-card {
    border: 1px solid var(--line);
    border-radius: var(--radius-lg);
    overflow: hidden;
    background: #fff;
    box-shadow: var(--shadow-sm);
    transition: box-shadow var(--transition), transform var(--transition);
}

.svc-branch-card:hover {
    box-shadow: var(--shadow-lg);
    transform: translateY(-4px);
}

.svc-branch-photo {
    position: relative;
    height: 190px;
    width: 100%;
    background: #cbd5e1 center/cover no-repeat;
    overflow: hidden;
}

.svc-branch-photo img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transition: transform 0.4s ease;
}

.svc-branch-card:hover .svc-branch-photo img {
    transform: scale(1.05);
}

.svc-branch-overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(to top, rgba(15, 23, 42, 0.75), rgba(15, 23, 42, 0.05) 60%);
}

.svc-branch-label {
    position: absolute;
    left: 16px;
    bottom: 12px;
    color: #fff;
}

.svc-branch-label strong {
    display: block;
    font-size: 18px;
    font-weight: 600;
}

.svc-branch-label span {
    font-size: 12px;
    color: #e2e8f0;
}

.svc-branch-body {
    padding: 20px;
}

.svc-branch-body p {
    margin: 0;
    font-size: 14px;
    line-height: 1.6;
    color: var(--slate);
}

.svc-map-link {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    margin-top: 14px;
    font-size: 14px;
    font-weight: 600;
    color: var(--amber);
    text-decoration: none;
}

.svc-map-link:hover {
    color: var(--orange);
    text-decoration: underline;
}

.svc-map-link svg {
    width: 16px;
    height: 16px;
}

.svc-cta {
    background: var(--navy);
    padding: 56px 24px;
    text-align: center;
}

.svc-cta h2 {
    margin: 0;
    font-size: 26px;
    font-weight: 700;
    color: #fff;
}

.svc-cta p {
    margin: 12px auto 0;
    max-width: 480px;
    color: #cbd5e1;
}

.svc-cta a {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    margin-top: 24px;
    background: var(--amber);
    color: var(--ink);
    font-size: 14px;
    font-weight: 700;
    padding: 12px 24px;
    border-radius: 999px;
    text-decoration: none;
    transition: background var(--transition), transform var(--transition);
}

.svc-cta a:hover {
    background: var(--amber-hover);
    transform: translateY(-2px);
}

.svc-cta a svg {
    width: 16px;
    height: 16px;
}

/* ========== 15. VISION PAGE ========== */
.vision-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 32px;
}

.vision-card {
    padding: 40px 36px;
    border-radius: var(--radius-lg);
    background: #fff;
    border: 1px solid var(--line);
    box-shadow: var(--shadow-sm);
    transition: transform var(--transition), box-shadow var(--transition);
}

.vision-card:hover {
    transform: translateY(-4px);
    box-shadow: var(--shadow);
}

.vision-card.green {
    border-top: 4px solid var(--green);
}

.vision-card.blue {
    border-top: 4px solid var(--blue);
}

.vision-card .vision-icon {
    width: 48px;
    height: 48px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: var(--radius);
    margin-bottom: 20px;
    font-size: 1.4rem;
}

.vision-card.green .vision-icon {
    background: rgba(21, 150, 105, 0.1);
    color: var(--green);
}

.vision-card.blue .vision-icon {
    background: rgba(20, 103, 200, 0.1);
    color: var(--blue);
}

.vision-card h2 {
    font-size: 1.4rem;
    margin-bottom: 14px;
}

.vision-card p {
    color: var(--slate);
    line-height: 1.7;
    font-size: 1rem;
}

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

.value-card {
    padding: 28px 24px;
    border-radius: var(--radius-lg);
    background: #fff;
    border: 1px solid var(--line);
    box-shadow: var(--shadow-sm);
    text-align: center;
    transition: transform var(--transition), box-shadow var(--transition);
}

.value-card:hover {
    transform: translateY(-4px);
    box-shadow: var(--shadow);
}

.value-card .value-icon {
    width: 52px;
    height: 52px;
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0 auto 16px;
    border-radius: 50%;
    background: rgba(231, 163, 62, 0.1);
    font-size: 1.3rem;
}

.value-card h3 {
    font-size: 1.05rem;
    margin-bottom: 8px;
}

.value-card p {
    color: var(--slate);
    font-size: 0.88rem;
    line-height: 1.6;
}

/* ========== 16. COMPANY DETAIL PAGE ========== */
.company-detail-section {
    display: grid;
    grid-template-columns: 1.2fr 0.8fr;
    gap: 40px;
    align-items: start;
}

.company-detail-section h2 {
    font-size: 1.5rem;
    margin-bottom: 16px;
}

.company-detail-section p {
    color: var(--slate);
    line-height: 1.7;
    font-size: 1rem;
}

.service-list {
    display: grid;
    gap: 12px;
}

.service-list-item {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 14px 18px;
    background: var(--bg-alt);
    border-radius: var(--radius-sm);
    font-weight: 600;
    font-size: 0.95rem;
}

.service-list-item .check {
    width: 24px;
    height: 24px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    background: rgba(21, 150, 105, 0.12);
    color: var(--green);
    font-size: 0.75rem;
    font-weight: 800;
    flex-shrink: 0;
}

/* ========== 17. CONTACT PAGE ========== */
.contact-grid {
    display: grid;
    grid-template-columns: 1fr 1.3fr;
    gap: 48px;
    align-items: start;
}

.contact-info-cards {
    display: grid;
    gap: 20px;
}

.contact-info-card {
    display: flex;
    gap: 16px;
    padding: 24px;
    border: 1px solid var(--line);
    border-radius: var(--radius-lg);
    background: #fff;
    box-shadow: var(--shadow-sm);
}

.contact-info-card .contact-icon {
    width: 44px;
    height: 44px;
    flex-shrink: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    background: rgba(231, 163, 62, 0.1);
    border-radius: var(--radius);
    color: var(--amber);
}

.contact-info-card h3 {
    font-size: 0.95rem;
    margin-bottom: 4px;
}

.contact-info-card p {
    color: var(--slate);
    font-size: 0.9rem;
    line-height: 1.6;
}

.contact-form-card {
    padding: 36px;
    border: 1px solid var(--line);
    border-radius: var(--radius-lg);
    background: #fff;
    box-shadow: var(--shadow-sm);
}

.contact-form-card h2 {
    font-size: 1.3rem;
    margin-bottom: 6px;
}

.contact-form-card > p {
    color: var(--slate);
    font-size: 0.92rem;
    margin-bottom: 24px;
}

/* ========== 18. COMPANIES LIST PAGE ========== */
.companies-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 28px;
}

.company-card {
    display: flex;
    flex-direction: column;
    padding: 32px 28px;
    border: 1px solid var(--line);
    border-radius: var(--radius-lg);
    background: #fff;
    box-shadow: var(--shadow-sm);
    transition: transform var(--transition), box-shadow var(--transition);
}

.company-card:hover {
    transform: translateY(-6px);
    box-shadow: var(--shadow-lg);
}

.company-card.green {
    border-top: 4px solid var(--green);
}

.company-card.blue {
    border-top: 4px solid var(--blue);
}

.company-card.orange {
    border-top: 4px solid var(--orange);
}

.company-card .company-abbr {
    width: 48px;
    height: 48px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: var(--radius);
    font-family: var(--font-heading);
    font-weight: 700;
    font-size: 1rem;
    color: #fff;
    margin-bottom: 20px;
}

.company-card.green .company-abbr {
    background: var(--green);
}

.company-card.blue .company-abbr {
    background: var(--blue);
}

.company-card.orange .company-abbr {
    background: var(--orange);
}

.company-card h2 {
    font-size: 1.2rem;
    margin-bottom: 4px;
}

.company-card .company-tagline {
    color: var(--muted);
    font-size: 0.82rem;
    font-weight: 600;
    margin-bottom: 12px;
}

.company-card p {
    color: var(--slate);
    font-size: 0.92rem;
    line-height: 1.6;
    flex: 1;
}

.company-card .tags {
    margin: 16px 0;
}

.company-card .card-link {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    margin-top: auto;
    padding-top: 16px;
    color: var(--navy);
    font-weight: 700;
    font-size: 0.9rem;
    transition: color var(--transition);
}

.company-card .card-link:hover {
    color: var(--amber);
}

.company-card .card-link .arrow {
    display: inline-block;
    transition: transform 0.15s ease;
}

.company-card .card-link:hover .arrow {
    transform: translateX(4px);
}

/* ========== 19. ANIMATIONS ========== */
.fade-up {
    opacity: 0;
    transform: translateY(30px);
    transition: opacity 0.6s ease, transform 0.6s ease;
}

.fade-up.visible {
    opacity: 1;
    transform: translateY(0);
}

.fade-up:nth-child(2) { transition-delay: 0.1s; }
.fade-up:nth-child(3) { transition-delay: 0.2s; }
.fade-up:nth-child(4) { transition-delay: 0.3s; }
.fade-up:nth-child(5) { transition-delay: 0.4s; }
.fade-up:nth-child(6) { transition-delay: 0.5s; }

/* ========== 20. FOCUS & ACCESSIBILITY ========== */
a:focus-visible,
button:focus-visible,
input:focus-visible,
textarea:focus-visible {
    outline: 2px solid var(--amber);
    outline-offset: 3px;
}

@media (prefers-reduced-motion: reduce) {
    *,
    *::before,
    *::after {
        animation-duration: 0.01ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: 0.01ms !important;
    }

    .fade-up {
        opacity: 1;
        transform: none;
    }
}

/* ========== 21. RESPONSIVE ========== */

/* Tablet */
@media (max-width: 1000px) {
    /* Home Hero */
    .acsl-home .hero {
        grid-template-columns: 1fr 1fr;
        gap: 36px;
        height: calc(100svh - 64px);
        min-height: 520px;
        max-height: 680px;
        padding: 38px 32px;
    }

    .acsl-home .hero-copy {
        max-width: 760px;
    }

    .acsl-home .hero h1 {
        max-width: 13ch;
        font-size: clamp(2.25rem, 4.8vw, 3.8rem);
    }

    .acsl-home .hero-visual {
        width: 100%;
        height: min(58vh, 440px);
        min-height: 330px;
    }

    .acsl-home .hero-floating-card {
        left: 24px;
    }

    .acsl-home .section {
        padding: 64px 28px;
    }

    .acsl-home .grid.three,
    .acsl-home .grid.two {
        grid-template-columns: 1fr;
    }

    /* Grids */
    .grid-3, .grid-4, .companies-grid {
        grid-template-columns: repeat(2, 1fr);
    }

    .company-detail-section,
    .contact-grid,
    .vision-grid {
        grid-template-columns: 1fr;
    }

    .footer-grid {
        grid-template-columns: 1fr 1fr;
        gap: 32px;
    }
}

/* Mobile */
@media (max-width: 760px) {
    /* Navbar */
    .nav-toggle {
        display: flex;
    }

    .nav-links {
        position: fixed;
        top: 0;
        left: 0;
        right: 0;
        bottom: 0;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        gap: 28px;
        background: rgba(255, 255, 255, 0.98);
        backdrop-filter: blur(20px);
        -webkit-backdrop-filter: blur(20px);
        opacity: 0;
        pointer-events: none;
        transition: opacity 0.3s ease;
        z-index: 105;
    }

    .site-nav.open .nav-links {
        opacity: 1;
        pointer-events: auto;
    }

    .nav-links a {
        font-size: 1.2rem;
    }

    .nav-cta {
        display: none !important;
    }

    /* Home Hero */
    .acsl-home .hero {
        grid-template-columns: 1fr;
        gap: 28px;
        height: auto;
        min-height: 0;
        max-height: none;
        padding: 48px 24px 62px;
    }

    .acsl-home .hero-copy {
        max-width: 680px;
    }

    .acsl-home .hero-visual {
        height: 330px;
        min-height: 0;
    }

    .acsl-home .hero-floating-card {
        right: 18px;
        bottom: -30px;
        left: 18px;
    }

    /* Grids */
    .grid-2,
    .grid-3,
    .grid-4,
    .companies-grid {
        grid-template-columns: 1fr;
    }

    .footer-grid {
        grid-template-columns: 1fr;
        gap: 28px;
    }

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

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

/* Small Mobile */
@media (max-width: 560px) {
    .acsl-home .hero {
        gap: 24px;
        padding: 42px 20px 58px;
        border-radius: 0 0 22px 22px;
    }

    .acsl-home .hero h1 {
        font-size: clamp(2.45rem, 12vw, 3.55rem);
        line-height: 1.01;
    }

    .acsl-home .hero-copy > p {
        margin-bottom: 30px;
        line-height: 1.65;
    }

    .acsl-home .hero-actions {
        align-items: stretch;
        flex-direction: column;
    }

    .acsl-home .hero .cta {
        width: 100%;
    }

    .acsl-home .hero-link {
        align-self: flex-start;
    }

    .acsl-home .hero-visual {
        height: 285px;
    }

    .acsl-home .hero-image-wrap {
        border-radius: 16px;
    }

    .acsl-home .hero-floating-card {
        right: 14px;
        bottom: -30px;
        left: 14px;
        min-width: 0;
    }

    .acsl-home .hero-brand {
        right: 18px;
        bottom: 72px;
    }

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

    .stats-row {
        justify-content: center;
    }
}

/* ========== 22. MODERN HOME & COMPANY ECOSYSTEM ========== */
.home-modern, .companies-modern { background: #f7f5f0; overflow: hidden; }
.home-kicker { display: inline-flex; align-items: center; gap: 10px; color: #f2b95f; font-size: .76rem; font-weight: 800; letter-spacing: .11em; text-transform: uppercase; }
.home-kicker i { width: 28px; height: 2px; background: currentColor; }
.home-kicker.dark { color: var(--steel); }
.home-hero { min-height: calc(100svh - 72px); padding: clamp(48px,7vw,96px) clamp(24px,6vw,88px); display: grid; grid-template-columns: minmax(0,.92fr) minmax(420px,1.08fr); gap: clamp(38px,6vw,90px); align-items: center; color: #fff; background: #0c1828; position: relative; }
.home-hero::before { content:""; position:absolute; width:560px; height:560px; left:-280px; top:-260px; border-radius:50%; background:rgba(231,163,62,.12); filter:blur(2px); }
.home-hero__content { position: relative; z-index: 2; max-width: 680px; }
.home-hero h1 { margin: 22px 0; max-width: 10ch; font-size: clamp(3.3rem,6vw,6.3rem); line-height: .92; letter-spacing: -.065em; }
.home-hero h1 span { color: #e7a33e; }
.home-hero__content > p { max-width: 58ch; color: rgba(255,255,255,.68); font-size: clamp(1rem,1.25vw,1.13rem); line-height: 1.75; }
.home-hero__actions { display:flex; align-items:center; flex-wrap:wrap; gap:24px; margin-top:30px; }
.home-primary { min-height:50px; padding-inline:25px; }
.home-profile-download{min-height:50px;display:inline-flex;align-items:center;gap:9px;padding:0 17px;border:1px solid rgba(255,255,255,.3);border-radius:3px;color:#fff;font-size:.78rem;font-weight:800;transition:color .2s ease,border-color .2s ease,background .2s ease}.home-profile-download svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.home-profile-download:hover{color:var(--navy);border-color:var(--amber);background:var(--amber)}.home-profile-download.is-unavailable{cursor:not-allowed;color:rgba(255,255,255,.48);border-color:rgba(255,255,255,.15);background:rgba(255,255,255,.04)}
.home-hero__visual { height:min(68vh,650px); min-height:480px; position:relative; border-radius:3px 72px 3px 3px; overflow:hidden; box-shadow:0 30px 80px rgba(0,0,0,.35); }
.home-hero__visual > img { width:100%; height:100%; object-fit:cover; }
.home-hero__overlay { position:absolute; inset:0; background:linear-gradient(180deg,transparent 40%,rgba(8,18,31,.85)); }
.home-route-card { position:absolute; left:0; bottom:48px; display:flex; align-items:center; gap:14px; padding:18px 22px; color:var(--ink); background:#fff; }
.home-route-card__icon { display:grid; place-items:center; width:38px; height:38px; border-radius:50%; background:var(--green); color:#fff; font-weight:900; }
.home-route-card div { display:grid; gap:3px; }
.home-route-card small { color:var(--muted); font-size:.7rem; }
.home-route-card strong { font-size:.83rem; }
.home-location { position:absolute; right:22px; bottom:18px; display:flex; align-items:center; gap:8px; color:#fff; font-size:.71rem; }
.home-location i { width:7px; height:7px; border-radius:50%; background:var(--amber); box-shadow:0 0 0 5px rgba(231,163,62,.16); }
.home-trust { padding:30px 0; background:#fff; border-bottom:1px solid var(--line); }
.home-trust > p { margin-bottom:20px; color:var(--muted); font-size:.7rem; font-weight:800; letter-spacing:.08em; text-align:center; text-transform:uppercase; }
.home-logo-marquee { width:100%; overflow:hidden; mask-image:linear-gradient(to right,transparent,#000 6%,#000 94%,transparent); -webkit-mask-image:linear-gradient(to right,transparent,#000 6%,#000 94%,transparent); }
.home-logo-row { width:max-content; display:flex; align-items:center; animation:home-logo-scroll 42s linear infinite; will-change:transform; }
.home-logo-group { display:flex; align-items:center; gap:clamp(40px,5vw,78px); padding-right:clamp(40px,5vw,78px); }
.home-logo-marquee:hover .home-logo-row { animation-play-state:paused; }
.home-logo { width:clamp(105px,10vw,145px); height:48px; flex:0 0 auto; display:grid; place-items:center; filter:grayscale(1); opacity:.58; transition:.2s ease; }
.home-logo:hover { filter:none; opacity:1; }
.home-logo img { max-height:38px; max-width:100%; object-fit:contain; }
@keyframes home-logo-scroll { to { transform:translateX(-50%); } }
.home-section { padding:clamp(72px,9vw,122px) clamp(24px,7vw,104px); }
.home-section__intro { max-width:760px; margin-bottom:52px; }
.home-section__intro h2, .home-process h2, .companies-selector__intro h2 { margin:15px 0; font-size:clamp(2rem,3.8vw,3.6rem); line-height:1.05; letter-spacing:-.045em; }
.home-section__intro > p, .companies-selector__intro p { color:var(--slate); max-width:64ch; }
.home-solution-grid { display:grid; grid-template-columns:repeat(4,1fr); border:1px solid var(--line); background:#fff; }
.home-solution-card { min-height:360px; padding:30px 26px; display:flex; flex-direction:column; border-right:1px solid var(--line); position:relative; transition:.25s ease; }
.home-solution-card:last-child { border-right:0; }
.home-solution-card:hover, .home-solution-card.featured { color:#fff; background:var(--navy); transform:translateY(-8px); box-shadow:0 20px 50px rgba(15,26,46,.16); }
.home-solution-card__number { align-self:flex-end; color:#a0a9b5; font-size:.7rem; font-weight:800; }
.home-solution-card__icon { width:48px; height:48px; display:grid; place-items:center; margin:42px 0 24px; border:1px solid var(--line); border-radius:50%; color:var(--amber); font-size:1.25rem; }
.home-solution-card h3 { font-size:1.25rem; }
.home-solution-card p { margin:12px 0 24px; color:var(--slate); font-size:.86rem; line-height:1.7; }
.home-solution-card:hover p, .home-solution-card.featured p { color:rgba(255,255,255,.62); }
.home-solution-card a { margin-top:auto; color:var(--steel); font-size:.82rem; font-weight:800; }
.home-solution-card:hover a, .home-solution-card.featured a { color:var(--amber); }
.home-companies { background:#fff; }
.home-section__intro--row { max-width:none; display:flex; align-items:end; justify-content:space-between; gap:30px; }
.home-section__intro--row h2 { max-width:750px; margin-bottom:0; }
.home-text-link { flex-shrink:0; color:var(--steel); font-size:.86rem; font-weight:800; }
.home-company-list { border-top:1px solid var(--line); }
.home-company-item { display:grid; grid-template-columns:90px 1fr 50px; gap:26px; align-items:center; padding:28px 10px; border-bottom:1px solid var(--line); transition:.2s ease; }
.home-company-item:hover { padding-inline:24px; background:#f8f8f6; }
.home-company-item__abbr { width:58px; height:58px; display:grid; place-items:center; border-radius:50%; color:#fff; background:var(--green); font-family:var(--font-heading); font-weight:800; }
.home-company-item.blue .home-company-item__abbr { background:var(--blue); }.home-company-item.orange .home-company-item__abbr { background:var(--orange); }
.home-company-item small { color:var(--muted); font-size:.68rem; font-weight:800; text-transform:uppercase; letter-spacing:.06em; }
.home-company-item h3 { margin:4px 0; font-size:1.3rem; }.home-company-item p { color:var(--slate); font-size:.86rem; }
.home-company-item__arrow { justify-self:end; font-size:1.3rem; }
.home-process { padding:clamp(70px,9vw,110px) clamp(24px,7vw,104px); display:grid; grid-template-columns:.75fr 1.25fr; gap:clamp(50px,8vw,120px); color:#fff; background:#10223a; }
.home-process__intro h2 { margin-top:18px; }
.home-process__steps { counter-reset:step; }
.home-process__steps li { display:grid; grid-template-columns:52px 1fr; gap:20px; padding:24px 0; border-bottom:1px solid rgba(255,255,255,.12); }
.home-process__steps li > span { width:34px; height:34px; display:grid; place-items:center; border:1px solid rgba(255,255,255,.28); border-radius:50%; color:var(--amber); font-weight:800; }
.home-process__steps strong { font-family:var(--font-heading); }.home-process__steps p { margin-top:5px; color:rgba(255,255,255,.56); font-size:.84rem; }
.home-cta, .companies-help { margin:clamp(28px,4vw,58px); padding:clamp(42px,6vw,76px); display:flex; align-items:center; justify-content:space-between; gap:40px; color:#fff; background:var(--navy); border-radius:24px; }
.home-cta > div > span, .companies-help > div > span { color:var(--amber); font-size:.75rem; font-weight:800; text-transform:uppercase; letter-spacing:.08em; }
.home-cta h2, .companies-help h2 { max-width:760px; margin-top:10px; font-size:clamp(1.7rem,3vw,3rem); }
.companies-hero { padding:clamp(80px,10vw,140px) clamp(24px,8vw,120px); color:#fff; background:var(--navy); }
.companies-hero h1 { margin:24px 0; font-size:clamp(3rem,6vw,6.5rem); line-height:.94; letter-spacing:-.06em; }.companies-hero h1 span { color:var(--amber); }.companies-hero p { max-width:650px; color:rgba(255,255,255,.64); font-size:1.05rem; }
.companies-selector { padding:clamp(72px,9vw,120px) clamp(24px,7vw,104px); }.companies-selector__intro { max-width:720px; margin-bottom:54px; }
.companies-showcase { display:grid; grid-template-columns:repeat(3,1fr); gap:22px; }
.companies-showcase__card { min-height:500px; padding:30px; display:flex; flex-direction:column; background:#fff; border-top:4px solid var(--green); box-shadow:var(--shadow-sm); transition:.25s ease; }.companies-showcase__card:hover { transform:translateY(-8px); box-shadow:var(--shadow-lg); }.companies-showcase__card.blue { border-color:var(--blue); }.companies-showcase__card.orange { border-color:var(--orange); }
.companies-showcase__top { display:flex; justify-content:space-between; align-items:center; margin-bottom:52px; }.companies-showcase__abbr { width:58px; height:58px; display:grid; place-items:center; color:#fff; background:var(--green); border-radius:16px; font-family:var(--font-heading); font-weight:800; }.blue .companies-showcase__abbr { background:var(--blue); }.orange .companies-showcase__abbr { background:var(--orange); }.companies-showcase__index { color:#b4bbc5; font-weight:800; }
.companies-showcase__focus { color:var(--muted); font-size:.68rem; font-weight:800; letter-spacing:.06em; text-transform:uppercase; }.companies-showcase__card h2 { margin:10px 0 14px; font-size:1.55rem; }.companies-showcase__card > p { color:var(--slate); font-size:.9rem; line-height:1.7; }.companies-showcase__services { display:flex; flex-wrap:wrap; gap:7px; margin:24px 0; }.companies-showcase__services span { padding:6px 10px; background:#f2f3f3; color:var(--slate); border-radius:20px; font-size:.72rem; font-weight:700; }.companies-showcase__card > a { margin-top:auto; padding-top:20px; border-top:1px solid var(--line); color:var(--steel); font-size:.84rem; font-weight:800; display:flex; justify-content:space-between; }
@media(max-width:1000px){.home-hero{grid-template-columns:1fr;}.home-hero__visual{height:520px}.home-solution-grid{grid-template-columns:repeat(2,1fr)}.home-solution-card{border-bottom:1px solid var(--line)}.home-process{grid-template-columns:1fr}.companies-showcase{grid-template-columns:1fr}.companies-showcase__card{min-height:420px}}
@media(max-width:760px){.home-hero{padding-top:60px}.home-hero h1{font-size:clamp(3.15rem,15vw,5rem)}.home-hero__visual{min-height:360px;height:420px;border-radius:3px 44px 3px 3px}.home-logo-row{animation-duration:32s}.home-logo-group{gap:38px;padding-right:38px}.home-logo{width:108px}.home-solution-grid{grid-template-columns:1fr}.home-solution-card{min-height:310px;border-right:0}.home-section__intro--row,.home-cta,.companies-help{align-items:flex-start;flex-direction:column}.home-company-item{grid-template-columns:66px 1fr 24px;gap:14px}.home-company-item p{display:none}.home-cta,.companies-help{margin:18px;border-radius:18px}.home-route-card{right:0;bottom:42px}.companies-showcase__card{min-height:450px}}
@media(prefers-reduced-motion:reduce){.home-logo-marquee{overflow-x:auto;mask-image:none;-webkit-mask-image:none}.home-logo-row{animation:none}.home-logo-group[aria-hidden="true"]{display:none}}
@media(max-width:480px){.home-hero__visual{height:350px;min-height:0}.home-route-card{padding:14px}.home-location{font-size:.62rem}.home-company-item__abbr{width:50px;height:50px}.companies-hero h1{font-size:3.4rem}}

/* ========== 23. VISION & SERVICES REDESIGN ========== */
.vision-modern,.service-modern{background:#f7f5f0;overflow:hidden}.vision-hero{min-height:calc(100svh - 72px);display:grid;grid-template-columns:1fr .82fr;gap:clamp(48px,7vw,110px);align-items:center;padding:clamp(64px,8vw,118px) clamp(24px,7vw,104px);color:#fff;background:#0c1828}.vision-hero__copy h1{max-width:11ch;margin:24px 0;font-size:clamp(3.3rem,6vw,6rem);line-height:.94;letter-spacing:-.06em}.vision-hero__copy h1 span{color:var(--amber)}.vision-hero__copy p{max-width:610px;color:rgba(255,255,255,.65);font-size:1.05rem;line-height:1.8}.vision-hero__image{height:min(68vh,640px);min-height:480px;position:relative;overflow:hidden;border-radius:80px 4px 4px 4px}.vision-hero__image img{width:100%;height:100%;object-fit:cover}.vision-hero__image::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 40%,rgba(5,15,27,.88))}.vision-hero__image>div{position:absolute;z-index:2;left:30px;right:30px;bottom:30px;display:grid;gap:5px}.vision-hero__image small{color:var(--amber);font-weight:800;text-transform:uppercase;letter-spacing:.08em}.vision-hero__image strong{font-family:var(--font-heading);font-size:1.25rem}.vision-statement{padding:clamp(80px,11vw,150px) clamp(24px,12vw,180px);text-align:center;background:#fff}.vision-statement__label{display:inline-grid;place-items:center;width:70px;height:70px;border-radius:50%;background:var(--amber);font-size:.75rem;font-weight:900;text-transform:uppercase}.vision-statement blockquote{max-width:980px;margin:36px auto 20px;font-family:var(--font-heading);font-size:clamp(2.2rem,4.6vw,4.6rem);line-height:1.1;letter-spacing:-.05em}.vision-statement p{max-width:650px;margin:auto;color:var(--slate)}.vision-mission{padding:clamp(78px,10vw,130px) clamp(24px,7vw,104px)}.vision-section-intro{max-width:780px;margin-bottom:52px}.vision-section-intro h2{margin:16px 0 0;font-size:clamp(2rem,4vw,3.8rem);line-height:1.05;letter-spacing:-.05em}.vision-mission__grid{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.vision-mission__grid article{min-height:300px;padding:30px 26px;border-right:1px solid var(--line)}.vision-mission__grid article:last-child{border-right:0}.vision-mission__grid>article>span{color:var(--amber);font-size:.75rem;font-weight:900}.vision-mission__grid h3{margin:80px 0 14px;font-size:1.3rem}.vision-mission__grid p{color:var(--slate);font-size:.86rem;line-height:1.7}.vision-principles{display:grid;grid-template-columns:1fr 1fr}.vision-principles__copy{padding:clamp(64px,8vw,110px) clamp(24px,7vw,104px);color:#fff;background:#10223a}.vision-principles__copy h2{margin:20px 0;font-size:clamp(2rem,3.5vw,3.4rem);line-height:1.08;letter-spacing:-.045em}.vision-principles__copy p{color:rgba(255,255,255,.62);line-height:1.8}.vision-principles__copy a{display:inline-block;margin-top:32px;color:var(--amber);font-weight:800}.vision-principles__list{padding:clamp(50px,6vw,85px);background:var(--amber)}.vision-principles__list article{display:grid;grid-template-columns:40px 1fr;gap:18px;padding:22px 0;border-bottom:1px solid rgba(16,26,43,.16)}.vision-principles__list article>span{font-size:.72rem;font-weight:900}.vision-principles__list h3{font-size:1.15rem}.vision-principles__list p{margin-top:5px;color:rgba(16,26,43,.68);font-size:.84rem}.vision-cta,.service-cta{margin:clamp(28px,4vw,58px);padding:clamp(50px,7vw,88px);text-align:center;color:#fff;background:var(--navy);border-radius:24px}.vision-cta>span,.service-cta>div>span{color:var(--amber);font-size:.74rem;font-weight:900;text-transform:uppercase;letter-spacing:.08em}.vision-cta h2{max-width:850px;margin:12px auto 28px;font-size:clamp(2rem,3.7vw,3.7rem)}
.service-hero{min-height:620px;display:grid;grid-template-columns:1.1fr .7fr;gap:clamp(55px,8vw,130px);align-items:center;padding:clamp(72px,9vw,125px) clamp(24px,7vw,104px);color:#fff;background:#0c1828}.service-hero>div>h1{max-width:11ch;margin:22px 0;font-size:clamp(3.4rem,6.2vw,6.4rem);line-height:.91;letter-spacing:-.065em}.service-hero>div>p{max-width:640px;color:rgba(255,255,255,.65);font-size:1.06rem;line-height:1.8}.service-hero__actions{display:flex;align-items:center;gap:25px;margin-top:32px}.service-hero__actions>a:last-child{color:#fff;font-weight:800;border-bottom:1px solid rgba(255,255,255,.3);padding:8px 0}.service-hero aside{padding:34px;border:1px solid rgba(255,255,255,.13);background:rgba(255,255,255,.04)}.service-hero aside>span{color:var(--amber);font-size:.72rem;font-weight:900;text-transform:uppercase;letter-spacing:.08em}.service-hero aside ol{margin:25px 0}.service-hero aside li{display:flex;align-items:center;gap:15px;padding:14px 0;border-bottom:1px solid rgba(255,255,255,.1);font-weight:700;font-size:.86rem}.service-hero aside i{display:grid;place-items:center;width:28px;height:28px;border-radius:50%;background:rgba(255,255,255,.08);color:var(--amber);font-style:normal;font-size:.7rem}.service-hero aside strong{font-size:.78rem;color:rgba(255,255,255,.58)}.service-cue{display:grid;grid-template-columns:.4fr 1fr;gap:30px;padding:30px clamp(24px,7vw,104px);background:var(--amber)}.service-cue span{font-weight:900;text-transform:uppercase;font-size:.75rem;letter-spacing:.08em}.service-cue p{max-width:780px;font-size:.88rem}.service-list,.service-locations{padding:clamp(76px,10vw,130px) clamp(24px,7vw,104px)}.service-section-intro{max-width:780px;margin-bottom:52px}.service-section-intro h2{margin:16px 0 0;font-size:clamp(2rem,4vw,3.8rem);line-height:1.05;letter-spacing:-.05em}.service-cards{display:grid;grid-template-columns:repeat(6,1fr);gap:20px}.service-card{grid-column:span 2;min-height:480px;padding:28px;display:flex;flex-direction:column;background:#fff;border:1px solid var(--line);transition:.25s ease}.service-card:nth-child(4),.service-card:nth-child(5){grid-column:span 3}.service-card:hover{transform:translateY(-7px);box-shadow:var(--shadow-lg);border-color:rgba(231,163,62,.5)}.service-card__top{display:flex;justify-content:space-between;align-items:center;margin-bottom:44px}.service-card__top>span{color:#aab1bb;font-size:.72rem;font-weight:900}.service-card__top>div{width:50px;height:50px;display:grid;place-items:center;border-radius:50%;background:#f4efe5;color:var(--steel)}.service-card svg{width:24px;height:24px}.service-card h3{font-size:1.4rem}.service-card>p{margin:13px 0 22px;color:var(--slate);font-size:.87rem;line-height:1.75}.service-card ul{display:grid;gap:10px;margin-bottom:24px}.service-card li{display:flex;gap:9px;color:var(--slate);font-size:.8rem}.service-card li span{color:var(--green);font-weight:900}.service-card>a{margin-top:auto;padding-top:20px;border-top:1px solid var(--line);color:var(--steel);font-size:.82rem;font-weight:900}.service-process{padding:clamp(76px,9vw,120px) clamp(24px,7vw,104px);color:#fff;background:#10223a}.service-process__intro{max-width:760px}.service-process__intro h2{margin:16px 0 52px;font-size:clamp(2rem,4vw,3.8rem);line-height:1.05}.service-process__steps{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid rgba(255,255,255,.15)}.service-process__steps article{padding:30px 30px 0 0}.service-process__steps span{color:var(--amber);font-size:.72rem;font-weight:900}.service-process__steps h3{margin:34px 0 10px;font-size:1.3rem}.service-process__steps p{color:rgba(255,255,255,.58);font-size:.85rem;line-height:1.7}.service-locations{background:#fff}.service-location-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:25px}.service-location-grid article>div{height:250px;position:relative;overflow:hidden;margin-bottom:22px}.service-location-grid img{width:100%;height:100%;object-fit:cover;transition:.4s ease}.service-location-grid article:hover img{transform:scale(1.04)}.service-location-grid article>div>span{position:absolute;right:0;bottom:0;padding:12px 15px;background:#fff;font-weight:900}.service-location-grid small{color:var(--amber);font-weight:900;text-transform:uppercase;letter-spacing:.08em}.service-location-grid h3{margin:4px 0 10px;font-size:1.35rem}.service-location-grid p{color:var(--slate);font-size:.85rem;line-height:1.7}.service-location-grid a{display:inline-block;margin-top:16px;color:var(--steel);font-size:.82rem;font-weight:900}.service-cta{display:flex;align-items:center;justify-content:space-between;gap:40px;text-align:left}.service-cta h2{max-width:760px;margin:10px 0;font-size:clamp(2rem,3.6vw,3.5rem);line-height:1.08}.service-cta p{color:rgba(255,255,255,.6)}.service-cta>a{flex-shrink:0}
@media(max-width:1000px){.vision-hero,.service-hero{grid-template-columns:1fr}.vision-hero__image{height:500px}.vision-mission__grid{grid-template-columns:repeat(2,1fr)}.vision-mission__grid article:nth-child(2){border-right:0}.vision-mission__grid article{border-bottom:1px solid var(--line)}.vision-principles{grid-template-columns:1fr}.service-cards{grid-template-columns:repeat(2,1fr)}.service-card,.service-card:nth-child(4),.service-card:nth-child(5){grid-column:span 1}.service-location-grid{grid-template-columns:1fr 1fr}}
@media(max-width:760px){.vision-hero__copy h1,.service-hero>div>h1{font-size:clamp(3.2rem,15vw,5rem)}.vision-hero__image{min-height:0;height:400px;border-radius:48px 4px 4px 4px}.vision-mission__grid,.service-cards,.service-process__steps,.service-location-grid{grid-template-columns:1fr}.vision-mission__grid article{border-right:0;min-height:240px}.vision-mission__grid h3{margin-top:48px}.vision-principles__copy,.vision-principles__list{padding:55px 24px}.vision-cta,.service-cta{margin:18px;border-radius:18px}.service-cue{grid-template-columns:1fr;gap:8px}.service-hero__actions,.service-cta{align-items:flex-start;flex-direction:column}.service-card{min-height:440px}.service-location-grid article>div{height:220px}}

/* ========== 24. CONTACT & COMPANY DETAIL REDESIGN ========== */
.contact-modern,.company-modern{background:#f7f5f0;overflow:hidden}.contact-hero{display:grid;grid-template-columns:1.1fr .7fr;gap:clamp(55px,8vw,130px);align-items:center;padding:clamp(76px,9vw,128px) clamp(24px,7vw,104px);color:#fff;background:#0c1828}.contact-hero h1{max-width:12ch;margin:23px 0;font-size:clamp(3.3rem,6vw,6.1rem);line-height:.93;letter-spacing:-.065em}.contact-hero h1 span{color:var(--amber)}.contact-hero>div>p{max-width:650px;color:rgba(255,255,255,.65);font-size:1.04rem;line-height:1.8}.contact-hero aside{padding:32px;border:1px solid rgba(255,255,255,.13);background:rgba(255,255,255,.04)}.contact-hero aside>span{color:var(--amber);font-size:.72rem;font-weight:900;text-transform:uppercase;letter-spacing:.08em}.contact-hero aside ol{margin-top:22px}.contact-hero aside li{display:grid;grid-template-columns:32px 1fr;gap:15px;padding:16px 0;border-bottom:1px solid rgba(255,255,255,.1)}.contact-hero aside i{width:29px;height:29px;display:grid;place-items:center;border-radius:50%;background:rgba(255,255,255,.08);color:var(--amber);font-size:.7rem;font-style:normal;font-weight:900}.contact-hero aside li div{display:grid;gap:4px}.contact-hero aside strong{font-size:.84rem}.contact-hero aside small{color:rgba(255,255,255,.53);font-size:.72rem}.contact-main{display:grid;grid-template-columns:.78fr 1.22fr;gap:clamp(50px,8vw,120px);padding:clamp(72px,9vw,125px) clamp(24px,7vw,104px)}.contact-main__info h2{margin:18px 0;font-size:clamp(2rem,3.5vw,3.25rem);line-height:1.08;letter-spacing:-.045em}.contact-main__info>p{color:var(--slate);line-height:1.75}.contact-channels{display:grid;margin-top:38px;border-top:1px solid var(--line)}.contact-channels>a,.contact-channels>div{display:grid;grid-template-columns:44px 1fr;gap:14px;align-items:center;padding:18px 0;border-bottom:1px solid var(--line)}.contact-channels>a>span,.contact-channels>div>span{width:38px;height:38px;display:grid;place-items:center;border-radius:50%;background:#eee8dc;color:var(--steel);font-weight:900}.contact-channels div div,.contact-channels a div{display:grid;gap:2px}.contact-channels small{color:var(--muted);font-size:.7rem}.contact-channels strong{font-size:.86rem}.contact-note{margin-top:30px;padding:22px;background:#ebe7dd}.contact-note strong{font-size:.85rem}.contact-note p{margin-top:7px;color:var(--slate);font-size:.78rem;line-height:1.65}.contact-form-wrap{padding:clamp(28px,4vw,48px);background:#fff;box-shadow:0 22px 60px rgba(15,26,46,.08)}.contact-form-head>span{color:var(--amber);font-size:.72rem;font-weight:900;text-transform:uppercase;letter-spacing:.08em}.contact-form-head h2{margin:8px 0;font-size:clamp(1.65rem,2.6vw,2.5rem)}.contact-form-head p{color:var(--muted);font-size:.76rem}.contact-success,.contact-errors{display:flex;gap:13px;margin-top:24px;padding:17px;border:1px solid #a7d8c5;background:#edf9f4;color:#0a684a}.contact-success>span{width:27px;height:27px;display:grid;place-items:center;border-radius:50%;background:#159669;color:#fff;font-weight:900}.contact-success p{font-size:.8rem}.contact-errors{display:block;border-color:#fecaca;background:#fff1f2;color:#9f1239}.contact-errors ul{margin:8px 0 0 18px;list-style:disc;font-size:.8rem}.contact-form{display:grid;gap:20px;margin-top:30px}.contact-form__grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.contact-form label{display:grid;gap:8px}.contact-form label>span{font-size:.76rem;font-weight:800}.contact-form input,.contact-form select,.contact-form textarea{border-radius:3px;background:#fafafa}.contact-form textarea{min-height:170px}.contact-form__submit{display:flex;align-items:center;justify-content:space-between;gap:20px}.contact-form__submit small{max-width:240px;color:var(--muted);font-size:.68rem;text-align:right}
.company-hero{min-height:calc(100svh - 72px);display:grid;grid-template-columns:1fr .86fr;gap:clamp(45px,7vw,100px);align-items:center;padding:clamp(60px,8vw,110px) clamp(24px,7vw,104px);color:#fff;background:#0c1828}.company-hero__copy>a{display:inline-block;margin-bottom:35px;color:rgba(255,255,255,.58);font-size:.78rem;font-weight:800}.company-hero__abbr{display:grid;place-items:center;width:62px;height:62px;margin-bottom:25px;border-radius:18px;background:var(--green);font-family:var(--font-heading);font-weight:900}.company-modern--blue .company-hero__abbr{background:var(--blue)}.company-modern--orange .company-hero__abbr{background:var(--orange)}.company-hero__copy>small{display:block;color:var(--amber);font-size:.7rem;font-weight:900;text-transform:uppercase;letter-spacing:.08em}.company-hero h1{max-width:10ch;margin:10px 0 22px;font-size:clamp(3.2rem,5.8vw,6rem);line-height:.93;letter-spacing:-.06em}.company-hero__copy>p{max-width:620px;color:rgba(255,255,255,.65);font-size:1.04rem;line-height:1.8}.company-hero__copy>div{display:flex;align-items:center;gap:25px;margin-top:30px}.company-hero__copy>div>a:last-child{color:#fff;font-size:.84rem;font-weight:800;border-bottom:1px solid rgba(255,255,255,.3);padding:8px 0}.company-hero__image{height:min(69vh,650px);min-height:480px;position:relative;overflow:hidden;border-radius:4px 72px 4px 4px}.company-hero__image img{width:100%;height:100%;object-fit:cover}.company-hero__image::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 45%,rgba(5,15,27,.85))}.company-hero__image>span{position:absolute;z-index:2;left:26px;bottom:24px;font-family:var(--font-heading);font-size:1.35rem;font-weight:900}.company-hero__image>span small{margin-left:7px;color:var(--amber);font-size:.6rem;letter-spacing:.13em}.company-overview{display:grid;grid-template-columns:.85fr 1.15fr;gap:clamp(55px,9vw,140px);padding:clamp(78px,10vw,135px) clamp(24px,7vw,104px);background:#fff}.company-overview h2{max-width:560px;margin-top:17px;font-size:clamp(2rem,3.8vw,3.5rem);line-height:1.07}.company-overview>div:last-child{display:grid;gap:20px;align-content:center}.company-overview p{color:var(--slate);line-height:1.8}.company-capabilities,.company-flow{padding:clamp(76px,9vw,125px) clamp(24px,7vw,104px)}.company-section-head{max-width:780px;margin-bottom:52px}.company-section-head>span{color:var(--amber);font-size:.72rem;font-weight:900;text-transform:uppercase;letter-spacing:.08em}.company-section-head h2{margin-top:12px;font-size:clamp(2rem,3.8vw,3.6rem);line-height:1.06}.company-capability-grid{display:grid;grid-template-columns:repeat(3,1fr);border:1px solid var(--line);background:#fff}.company-capability-grid article{min-height:360px;padding:28px;border-right:1px solid var(--line)}.company-capability-grid article:last-child{border-right:0}.company-capability-grid article>span{display:block;text-align:right;color:#b2b8c0;font-size:.72rem;font-weight:900}.company-capability-icon{width:45px;height:45px;display:grid;place-items:center;margin:50px 0 22px;border-radius:50%;background:#eaf6f1;color:var(--green);font-weight:900}.company-modern--blue .company-capability-icon{background:#edf4fc;color:var(--blue)}.company-modern--orange .company-capability-icon{background:#fff1e8;color:var(--orange)}.company-capability-grid h3{font-size:1.25rem}.company-capability-grid p{margin-top:12px;color:var(--slate);font-size:.82rem;line-height:1.7}.company-fit{display:grid;grid-template-columns:1fr .85fr;gap:clamp(50px,9vw,130px);padding:clamp(70px,9vw,115px) clamp(24px,7vw,104px);color:#fff;background:#10223a}.company-fit h2{max-width:650px;margin:18px 0;font-size:clamp(2rem,3.7vw,3.5rem);line-height:1.07}.company-fit p{color:rgba(255,255,255,.6)}.company-fit ul{display:grid;align-content:center}.company-fit li{display:grid;grid-template-columns:35px 1fr;align-items:center;gap:15px;padding:18px 0;border-bottom:1px solid rgba(255,255,255,.13);font-weight:700}.company-fit li span{width:29px;height:29px;display:grid;place-items:center;border-radius:50%;background:var(--amber);color:var(--ink)}.company-flow ol{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line)}.company-flow li{padding:28px 32px 0 0}.company-flow li>span{color:var(--amber);font-size:.72rem;font-weight:900}.company-flow strong{display:block;margin:35px 0 9px;font-family:var(--font-heading);font-size:1.25rem}.company-flow p{color:var(--slate);font-size:.84rem}.company-cta{margin:clamp(28px,4vw,58px);padding:clamp(48px,7vw,82px);display:flex;align-items:center;justify-content:space-between;gap:40px;color:#fff;background:var(--navy);border-radius:24px}.company-cta>div>span{color:var(--amber);font-size:.72rem;font-weight:900;text-transform:uppercase;letter-spacing:.08em}.company-cta h2{max-width:780px;margin-top:10px;font-size:clamp(1.8rem,3.4vw,3.2rem);line-height:1.08}.company-cta>a{flex-shrink:0}
@media(max-width:1000px){.contact-hero,.contact-main,.company-hero,.company-overview,.company-fit{grid-template-columns:1fr}.company-hero__image{height:500px}.company-capability-grid{grid-template-columns:1fr}.company-capability-grid article{min-height:280px;border-right:0;border-bottom:1px solid var(--line)}.company-capability-icon{margin-top:30px}}
@media(max-width:760px){.contact-hero h1,.company-hero h1{font-size:clamp(3.15rem,15vw,5rem)}.contact-form__grid{grid-template-columns:1fr}.contact-form__submit{align-items:flex-start;flex-direction:column}.contact-form__submit small{text-align:left}.company-hero__image{height:390px;min-height:0;border-radius:4px 48px 4px 4px}.company-hero__copy>div{align-items:flex-start;flex-direction:column}.company-flow ol{grid-template-columns:1fr}.company-flow li{padding:25px 0;border-bottom:1px solid var(--line)}.company-flow strong{margin-top:20px}.company-cta{margin:18px;border-radius:18px;align-items:flex-start;flex-direction:column}}

/* Temporary service-card backgrounds: replace paths in services.blade.php later. */
.service-card--image{isolation:isolate;position:relative;overflow:hidden;color:#fff;background-image:linear-gradient(180deg,rgba(8,18,31,.52),rgba(8,18,31,.94)),var(--service-bg);background-size:cover;background-position:center}.service-card--image::before{content:"";position:absolute;z-index:-1;inset:0;background:linear-gradient(135deg,rgba(231,163,62,.08),transparent 45%)}.service-card--image .service-card__top>span{color:rgba(255,255,255,.55)}.service-card--image .service-card__top>div{background:rgba(255,255,255,.13);color:#fff;backdrop-filter:blur(8px)}.service-card--image>p,.service-card--image li{color:rgba(255,255,255,.72)}.service-card--image li span{color:var(--amber)}.service-card--image>a{color:var(--amber);border-color:rgba(255,255,255,.18)}.service-card--image:hover{border-color:var(--amber);box-shadow:0 24px 56px rgba(8,18,31,.24)}

/* ========== 25. BRAND LOGOS ========== */
.site-nav .brand{height:48px;align-items:center}.site-nav .brand-logo{display:block;width:auto;height:38px;max-width:150px;object-fit:contain}.footer-logo{height:auto;align-items:center}.footer-logo img{display:block;width:auto;height:54px;max-width:190px;object-fit:contain;filter:drop-shadow(0 0 10px rgba(255,255,255,.08))}.home-company-item__logo{width:72px;height:64px;display:grid;place-items:center;padding:7px;background:#fff;border:1px solid var(--line);border-radius:12px;overflow:hidden}.home-company-item__logo img{display:block;width:100%;height:100%;object-fit:contain}.companies-showcase__logo{width:118px;height:74px;display:grid;place-items:center;padding:7px;background:#fff;border:1px solid var(--line);border-radius:12px;overflow:hidden}.companies-showcase__logo img{display:block;width:100%;height:100%;object-fit:contain}.company-hero__logo{width:148px;height:92px;display:grid;place-items:center;margin-bottom:25px;padding:10px;background:#fff;border-radius:14px;overflow:hidden}.company-hero__logo img{display:block;width:100%;height:100%;object-fit:contain}.company-hero__image-logo{left:24px!important;right:auto!important;bottom:22px!important;width:150px;height:84px;display:grid;place-items:center;padding:9px;background:rgba(255,255,255,.94);border-radius:12px;backdrop-filter:blur(8px);overflow:hidden}.company-hero__image-logo img{display:block;width:100%;height:100%;object-fit:contain}.company-hero__image-logo small{display:none}
@media(max-width:760px){.site-nav .brand-logo{height:32px;max-width:125px}.footer-logo img{height:46px}.home-company-item__logo{width:56px;height:52px;padding:5px}.companies-showcase__logo{width:105px;height:66px}.company-hero__logo{width:126px;height:78px}.company-hero__image-logo{width:125px;height:72px}}

/* Crop the generous transparent canvas in the supplied ACSL master logo. */
.site-nav .brand{width:150px;height:48px;align-items:center;overflow:hidden}.site-nav .brand-logo{display:block;width:150px;height:150px;max-width:none;flex:0 0 150px;transform:translateY(-49px)}.footer-logo{width:190px;height:60px;align-items:flex-start;overflow:hidden}.footer-logo img{display:block;width:190px;height:190px;max-width:none;flex:0 0 190px;transform:translateY(-62px)}
@media(max-width:760px){.site-nav .brand{width:125px;height:42px}.site-nav .brand-logo{width:125px;height:125px;max-width:none;flex-basis:125px;transform:translateY(-41px)}.footer-logo{width:165px;height:54px}.footer-logo img{width:165px;height:165px;max-width:none;flex-basis:165px;transform:translateY(-54px)}}

/* Refined visual alignment for supplied logo canvases. */
.site-nav .brand{width:132px;height:44px;align-items:flex-start;justify-content:center}.site-nav .brand-logo{width:132px;height:132px;flex-basis:132px;transform:translateY(-43px)}
.home-company-item{grid-template-columns:105px 1fr 50px}.home-company-item__logo{width:88px;height:70px;padding:8px;border-radius:10px}.home-company-item.green .home-company-item__logo img{transform:scale(1.28)}.home-company-item.blue .home-company-item__logo img{transform:scale(1.06)}.home-company-item.orange .home-company-item__logo img{transform:scale(.96)}
.companies-showcase__top{min-height:100px;align-items:center}.companies-showcase__logo{width:176px;height:92px;padding:10px;border:0;border-radius:10px}.companies-showcase__card.green .companies-showcase__logo img{transform:scale(1.28)}.companies-showcase__card.blue .companies-showcase__logo img{transform:scale(1.02)}.companies-showcase__card.orange .companies-showcase__logo{width:112px}.companies-showcase__card.orange .companies-showcase__logo img{transform:scale(.96)}
.company-hero__logo{width:176px;height:104px}.company-modern--green .company-hero__logo img{transform:scale(1.28)}.company-modern--blue .company-hero__logo img{transform:scale(1.03)}.company-modern--orange .company-hero__logo{width:118px}.company-modern--orange .company-hero__logo img{transform:scale(.96)}
@media(max-width:760px){.site-nav .brand{width:112px;height:40px}.site-nav .brand-logo{width:112px;height:112px;flex-basis:112px;transform:translateY(-37px)}.home-company-item{grid-template-columns:76px 1fr 24px}.home-company-item__logo{width:66px;height:56px;padding:6px}.companies-showcase__logo{width:150px;height:82px}.companies-showcase__card.orange .companies-showcase__logo{width:96px}.company-hero__logo{width:150px;height:90px}.company-modern--orange .company-hero__logo{width:105px}}

/* Compact navbar wordmark. */
.site-nav .brand{width:104px;height:40px}.site-nav .brand-logo{width:104px;height:104px;flex-basis:104px;transform:translateY(-34px)}
@media(max-width:760px){.site-nav .brand{width:94px;height:38px}.site-nav .brand-logo{width:94px;height:94px;flex-basis:94px;transform:translateY(-31px)}}

/* Optical alignment for company logos on the homepage only. */
.home-company-item{grid-template-columns:125px 1fr 50px}.home-company-item__logo{width:112px;height:76px;padding:6px}.home-company-item.green .home-company-item__logo img{transform:scale(1)}.home-company-item.blue .home-company-item__logo img{transform:scale(.92)}.home-company-item.orange .home-company-item__logo{width:76px;height:76px;justify-self:center;padding:4px}.home-company-item.orange .home-company-item__logo img{transform:translateY(-4px) scale(.92)}
@media(max-width:760px){.home-company-item{grid-template-columns:88px 1fr 24px}.home-company-item__logo{width:82px;height:58px;padding:4px}.home-company-item.orange .home-company-item__logo{width:58px;height:58px}.home-company-item.orange .home-company-item__logo img{transform:translateY(-3px) scale(.9)}}

/* Keep the original homepage logo boxes; adjust artwork position only. */
.home-company-item{grid-template-columns:105px 1fr 50px}.home-company-item__logo,.home-company-item.orange .home-company-item__logo{width:88px;height:70px;justify-self:auto;padding:8px}.home-company-item.green .home-company-item__logo img{transform:translateY(-2px) scale(1.28)}.home-company-item.blue .home-company-item__logo img{transform:scale(1.06)}.home-company-item.orange .home-company-item__logo img{transform:translateY(-7px) scale(.96)}
@media(max-width:760px){.home-company-item{grid-template-columns:76px 1fr 24px}.home-company-item__logo,.home-company-item.orange .home-company-item__logo{width:66px;height:56px;padding:6px}.home-company-item.green .home-company-item__logo img{transform:translateY(-1px) scale(1.28)}.home-company-item.orange .home-company-item__logo img{transform:translateY(-5px) scale(.96)}}

/* Final optical position for CSL on the homepage. */
.home-company-item.green .home-company-item__logo{align-items:center;justify-items:center}.home-company-item.green .home-company-item__logo img{transform:translateY(-7px) scale(1.28)}
@media(max-width:760px){.home-company-item.green .home-company-item__logo img{transform:translateY(-5px) scale(1.28)}}

/* Optical logo alignment on company listing and detail pages. */
.companies-showcase__card.green .companies-showcase__logo img{transform:translateY(-5px) scale(1.02)}.companies-showcase__card.blue .companies-showcase__logo img{transform:translateY(-1px) scale(.94)}.companies-showcase__card.orange .companies-showcase__logo img{transform:translateY(-5px) scale(.88)}
.company-modern--green .company-hero__logo img{transform:translateY(-6px) scale(1.02)}.company-modern--blue .company-hero__logo img{transform:translateY(-1px) scale(.94)}.company-modern--orange .company-hero__logo img{transform:translateY(-6px) scale(.88)}
.company-modern--green .company-hero__image-logo img{transform:translateY(-5px) scale(1.02)}.company-modern--blue .company-hero__image-logo img{transform:translateY(-1px) scale(.94)}.company-modern--orange .company-hero__image-logo img{transform:translateY(-5px) scale(.88)}
@media(max-width:760px){.companies-showcase__card.green .companies-showcase__logo img,.company-modern--green .company-hero__logo img{transform:translateY(-4px) scale(1)}.companies-showcase__card.orange .companies-showcase__logo img,.company-modern--orange .company-hero__logo img{transform:translateY(-4px) scale(.86)}}

/* CSL artwork has extra canvas below the wordmark. */
.companies-showcase__card.green .companies-showcase__logo img{transform:translateY(-12px) scale(.95)}.company-modern--green .company-hero__logo img{transform:translateY(-15px) scale(.95)}.company-modern--green .company-hero__image-logo img{transform:translateY(-12px) scale(.95)}
@media(max-width:760px){.companies-showcase__card.green .companies-showcase__logo img{transform:translateY(-9px) scale(.94)}.company-modern--green .company-hero__logo img{transform:translateY(-11px) scale(.94)}}

/* Informational hero panel for company detail pages (image-free). */
.company-hero__summary{align-self:stretch;min-height:500px;display:flex;flex-direction:column;padding:clamp(28px,4vw,46px);border:1px solid rgba(255,255,255,.14);background:rgba(255,255,255,.035)}.company-hero__summary-head{display:flex;align-items:center;justify-content:space-between;padding-bottom:28px;border-bottom:1px solid rgba(255,255,255,.12)}.company-hero__summary-head>span,.company-hero__summary-services>small,.company-hero__summary-focus>small{color:rgba(255,255,255,.48);font-size:.68rem;font-weight:900;text-transform:uppercase;letter-spacing:.09em}.company-hero__summary-head strong{display:grid;place-items:center;width:58px;height:58px;border-radius:50%;background:var(--green);font-family:var(--font-heading);font-size:1rem}.company-modern--blue .company-hero__summary-head strong{background:var(--blue)}.company-modern--orange .company-hero__summary-head strong{background:var(--orange)}.company-hero__summary-focus{padding:30px 0;border-bottom:1px solid rgba(255,255,255,.12)}.company-hero__summary-focus p{max-width:390px;margin-top:8px;color:#fff;font-family:var(--font-heading);font-size:clamp(1.25rem,2vw,1.7rem);line-height:1.25}.company-hero__summary-services{padding:28px 0}.company-hero__summary-services ol{margin-top:15px}.company-hero__summary-services li{display:grid;grid-template-columns:34px 1fr;gap:12px;padding:11px 0;color:rgba(255,255,255,.82);font-size:.84rem;font-weight:700}.company-hero__summary-services li span{color:var(--amber);font-size:.7rem}.company-hero__summary-group{margin-top:auto;padding-top:22px;border-top:1px solid rgba(255,255,255,.12)}.company-hero__summary-group>span{display:flex;align-items:center;gap:9px;color:#fff;font-size:.76rem;font-weight:900;text-transform:uppercase;letter-spacing:.06em}.company-hero__summary-group i{width:7px;height:7px;border-radius:50%;background:var(--amber);box-shadow:0 0 0 5px rgba(231,163,62,.12)}.company-hero__summary-group small{display:block;margin-top:12px;color:rgba(255,255,255,.48);font-size:.72rem;line-height:1.6}
@media(max-width:1000px){.company-hero__summary{min-height:430px}}@media(max-width:760px){.company-hero__summary{min-height:0;padding:26px 22px}}

/* Footer social media */
.footer-socials{display:flex;align-items:center;gap:10px;margin-top:24px}.footer-socials a{width:38px;height:38px;display:grid;place-items:center;border:1px solid rgba(255,255,255,.18);border-radius:50%;color:rgba(255,255,255,.72);transition:color .2s ease,background .2s ease,border-color .2s ease,transform .2s ease}.footer-socials a:hover{color:var(--navy);background:var(--amber);border-color:var(--amber);transform:translateY(-2px)}.footer-socials a.is-placeholder{cursor:default}.footer-socials svg{width:18px;height:18px}
.footer-socials a.is-placeholder{pointer-events:none;opacity:.72}

/* Footer phone group */
.footer-phone-list{display:grid;gap:9px;min-width:0}.footer-phone-list a{display:grid;gap:1px;color:rgba(255,255,255,.78);transition:color .2s ease}.footer-phone-list a:hover{color:var(--amber)}.footer-phone-list small{color:rgba(255,255,255,.4);font-size:.62rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase}.footer-phone-list span{font-size:.84rem;white-space:nowrap}.footer-contact-item:has(.footer-phone-list){align-items:flex-start;padding-top:9px}.footer-contact-item:has(.footer-phone-list)>svg{margin-top:5px}

/* Contact-page phone group */
.contact-channels .contact-phone-channel{align-items:flex-start}.contact-phone-channel>span{margin-top:3px}.contact-phone-list{display:grid;gap:10px;margin-top:8px}.contact-phone-list a{display:grid;grid-template-columns:58px 1fr;gap:10px;align-items:baseline;color:var(--ink);transition:color .2s ease}.contact-phone-list a:hover{color:var(--amber)}.contact-phone-list em{color:var(--muted);font-size:.62rem;font-style:normal;font-weight:800;text-transform:uppercase;letter-spacing:.05em}.contact-phone-list strong{font-size:.86rem;white-space:nowrap}
@media(max-width:480px){.contact-phone-list a{grid-template-columns:1fr;gap:1px}}

/* Multi-office addresses */
.contact-channels .contact-address-channel{align-items:flex-start}.contact-address-channel>span{margin-top:3px}.contact-address-list{display:grid;gap:14px;margin-top:8px}.contact-address-list a{display:grid;gap:4px;color:var(--ink);transition:color .2s ease}.contact-address-list a:hover{color:var(--amber)}.contact-address-list strong{font-size:.74rem;font-weight:900;text-transform:uppercase;letter-spacing:.06em}.contact-address-list address{max-width:560px;color:var(--muted);font-size:.82rem;font-style:normal;line-height:1.65}
.footer-address-list{display:grid;gap:12px;min-width:0}.footer-address-list a{display:grid;gap:2px;color:rgba(255,255,255,.74);transition:color .2s ease}.footer-address-list a:hover{color:var(--amber)}.footer-address-list strong{color:rgba(255,255,255,.92);font-size:.65rem;font-weight:900;text-transform:uppercase;letter-spacing:.06em}.footer-address-list span{max-width:270px;font-size:.76rem;line-height:1.55}.footer-contact-item:has(.footer-address-list){align-items:flex-start;padding-top:9px}.footer-contact-item:has(.footer-address-list)>svg{margin-top:5px}
.service-location-address{margin:10px 0 0;color:var(--muted);font-size:.76rem;font-style:normal;line-height:1.6}

/* Clean mobile navbar controls */
@media(max-width:760px){.site-nav{justify-content:flex-start;padding-inline:16px}.site-nav .brand{order:1;flex:0 0 auto}.nav-actions{order:2;margin-left:auto;gap:0}.lang-switch{min-height:36px;padding:0 10px;border:1px solid var(--line);border-radius:999px;background:rgba(255,255,255,.72)}.nav-toggle{order:3;flex:0 0 44px;width:44px;height:44px;margin-left:8px;padding:12px;border:1px solid var(--line);border-radius:50%;background:#fff;box-shadow:0 5px 16px rgba(15,33,55,.08)}.nav-toggle span{height:2px}.site-nav.open .nav-toggle{background:var(--navy);border-color:var(--navy)}.site-nav.open .nav-toggle span{background:#fff}.site-nav.open .lang-switch{opacity:0;pointer-events:none}}
@media(max-width:360px){.site-nav{padding-inline:12px}.lang-switch{padding-inline:8px}.nav-toggle{margin-left:6px}}

/* Structured mobile navigation panel */
.mobile-menu__intro,.mobile-menu__footer{display:none}
@media(max-width:760px){body.menu-open{overflow:hidden}.nav-links{top:72px;bottom:0;display:flex;align-items:stretch;justify-content:flex-start;gap:0;padding:28px 20px 24px;background:var(--navy);overflow-y:auto;counter-reset:mobile-nav;transform:translateY(-10px);visibility:hidden;transition:opacity .25s ease,transform .25s ease,visibility .25s ease}.site-nav.open .nav-links{transform:translateY(0);visibility:visible}.mobile-menu__intro{display:grid;gap:5px;padding:0 4px 22px;border-bottom:1px solid rgba(255,255,255,.14)}.mobile-menu__intro small{color:var(--amber);font-size:.65rem;font-weight:900;letter-spacing:.12em;text-transform:uppercase}.mobile-menu__intro strong{color:#fff;font-family:var(--font-heading);font-size:1.15rem}.nav-links>a{counter-increment:mobile-nav;display:grid;grid-template-columns:38px 1fr;align-items:center;min-height:68px;padding:0 4px;border-bottom:1px solid rgba(255,255,255,.12);color:rgba(255,255,255,.76);font-family:var(--font-heading);font-size:clamp(1.15rem,6vw,1.45rem);font-weight:600;text-align:left}.nav-links>a::before{content:'0' counter(mobile-nav);color:rgba(255,255,255,.32);font-family:var(--font-body);font-size:.64rem;font-weight:800;letter-spacing:.06em}.nav-links>a::after{display:none}.nav-links>a.active,.nav-links>a:hover{color:#fff}.nav-links>a.active::before{color:var(--amber)}.mobile-menu__footer{display:grid;gap:14px;margin-top:auto;padding:28px 4px 0}.mobile-menu__footer p{max-width:270px;color:rgba(255,255,255,.5);font-size:.78rem;line-height:1.6}.mobile-menu__footer .mobile-menu__cta{display:flex;grid-template-columns:none;justify-content:space-between;min-height:52px;padding:0 18px;border:1px solid var(--amber);background:var(--amber);color:var(--navy);font-family:var(--font-body);font-size:.82rem;font-weight:900;text-transform:uppercase;letter-spacing:.04em}.mobile-menu__footer .mobile-menu__cta::before{display:none}.mobile-menu__footer .mobile-menu__cta span{font-size:1rem}}
@media(max-width:380px){.nav-links{padding-top:20px}.nav-links>a{min-height:60px}.mobile-menu__footer{padding-top:20px}}

/* Keep the mobile panel inside the sticky navbar's containing block. */
@media(max-width:760px){.nav-links{position:absolute;top:100%;right:0;bottom:auto;left:0;width:auto;height:calc(100dvh - 72px);min-height:calc(100vh - 72px)}}

/* Mobile navigation without sequence numbers. */
@media(max-width:760px){.nav-links>a{grid-template-columns:1fr;padding-inline:4px}.nav-links>a::before{display:none}}

/* Prevent collisions on compact desktop and tablet widths. */
@media(min-width:761px) and (max-width:1100px){.site-nav{padding-inline:clamp(24px,4vw,44px)}.nav-links{gap:clamp(18px,2.6vw,28px)}.nav-actions{gap:10px}.nav-cta{padding-inline:16px;white-space:nowrap}}
@media(min-width:761px) and (max-width:860px){.nav-cta{display:none!important}}
