:root {
    --section-accent: #86ceff;
    --section-accent-rgb: 134, 206, 255;
}

body.amoy-section-page {
    --about-accent: var(--section-accent);
}

body.amoy-section-page--companies {
    --section-accent: #52c7ff;
    --section-accent-rgb: 82, 199, 255;
}

body.amoy-section-page--partners {
    --section-accent: #5de0bd;
    --section-accent-rgb: 93, 224, 189;
}

body.amoy-section-page--finance {
    --section-accent: #989dff;
    --section-accent-rgb: 152, 157, 255;
}

body.amoy-section-page--trading {
    --section-accent: #ffb45a;
    --section-accent-rgb: 255, 180, 90;
}

body.amoy-section-page--technology {
    --section-accent: #78a9ff;
    --section-accent-rgb: 120, 169, 255;
}

body.amoy-section-page--supply-chain {
    --section-accent: #5bd5d2;
    --section-accent-rgb: 91, 213, 210;
}

body.amoy-section-page--media {
    --section-accent: #ff7ca8;
    --section-accent-rgb: 255, 124, 168;
}

.section-tabs {
    overflow-x: auto;
    scrollbar-width: thin;
    scrollbar-color: rgba(var(--section-accent-rgb), .35) transparent;
}

.section-tabs .about-tab {
    flex: 0 0 auto;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: rgba(204, 222, 235, .7);
    text-decoration: none;
    white-space: nowrap;
}

.section-tabs .about-tab.is-active {
    border-color: rgba(var(--section-accent-rgb), .62);
    background: rgba(var(--section-accent-rgb), .14);
    box-shadow: inset 0 0 18px rgba(var(--section-accent-rgb), .08);
}

.section-hero {
    background: radial-gradient(ellipse at 50% 0%, rgba(var(--section-accent-rgb), .14), transparent 64%);
}

.section-hero__head.has-brand-mark {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(230px, 340px);
    align-items: center;
    gap: clamp(34px, 6vw, 82px);
}

.section-hero__copy { min-width: 0; }

.section-brand-mark {
    width: 100%;
    margin: 0;
    justify-self: end;
    align-self: center;
}

.section-brand-mark img {
    display: block;
    width: 100%;
    height: auto;
    background: transparent;
    filter:
        drop-shadow(0 18px 26px rgba(0, 3, 10, .34))
        drop-shadow(0 0 18px rgba(var(--section-accent-rgb), .08));
}

.section-hero .about-goal {
    border-left-color: var(--section-accent);
    background: rgba(var(--section-accent-rgb), .08);
}

.section-services .about-service {
    background:
        linear-gradient(145deg, rgba(var(--section-accent-rgb), .07), transparent 54%),
        rgba(10, 29, 45, .58);
}

.section-services .about-service:hover {
    border-color: rgba(var(--section-accent-rgb), .44);
    background: rgba(15, 42, 63, .7);
}

.section-services .about-service__index {
    color: rgba(var(--section-accent-rgb), .76);
}

.section-approach {
    background:
        linear-gradient(110deg, rgba(var(--section-accent-rgb), .07), transparent 52%),
        rgba(15, 45, 68, .18);
}

.amoy-section-page .about-signature__tagline {
    color: rgba(var(--section-accent-rgb), .82);
}

@media (max-width: 900px) {
    .section-hero__head.has-brand-mark {
        grid-template-columns: minmax(0, 1fr);
    }

    .section-brand-mark {
        width: min(320px, 72vw);
        justify-self: start;
    }
}

@media (max-width: 620px) {
    .section-tabs {
        justify-content: flex-start;
        padding-inline: 12px;
    }

    .section-tabs .about-tab {
        flex: 0 0 auto;
        min-width: max-content;
    }

    .section-hero__head.has-brand-mark {
        gap: 26px;
    }

    .section-brand-mark {
        width: min(280px, 100%);
        justify-self: center;
    }

    .section-brand-mark img {
        filter:
            drop-shadow(0 14px 20px rgba(0, 3, 10, .3))
            drop-shadow(0 0 14px rgba(var(--section-accent-rgb), .07));
    }
}

/* =========================================================================
   Company categories (Companies page) and company sub-pages.
   ========================================================================= */
.section-categories__intro {
    margin: 14px 0 0;
    max-width: 640px;
    color: rgba(205, 222, 235, .72);
    font-size: 14px;
    line-height: 1.6;
}

.company-categories {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(230px, 1fr));
    gap: 16px;
    margin-top: 28px;
}

.company-category-card {
    display: flex;
    flex-direction: column;
    gap: 10px;
    padding: 24px 22px;
    border: 1px solid rgba(var(--section-accent-rgb), .22);
    border-radius: 16px;
    background:
        linear-gradient(145deg, rgba(var(--section-accent-rgb), .07), transparent 54%),
        rgba(10, 29, 45, .58);
    color: inherit;
    text-decoration: none;
    transition: border-color .2s, background .2s, transform .2s;
}

.company-category-card:hover,
.company-category-card:focus-visible {
    border-color: rgba(var(--section-accent-rgb), .52);
    background: rgba(15, 42, 63, .7);
    transform: translateY(-2px);
    outline: none;
}

.company-category-card__index {
    color: rgba(var(--section-accent-rgb), .76);
    font-size: 11px;
    letter-spacing: .22em;
}

.company-category-card h3 {
    margin: 0;
    color: #f3f9fd;
    font-size: 17px;
    font-weight: 600;
}

.company-category-card p {
    margin: 0;
    color: rgba(205, 222, 235, .7);
    font-size: 14px;
    line-height: 1.6;
}

.company-category-card__arrow {
    margin-top: auto;
    padding-top: 8px;
    color: var(--section-accent);
    font-size: 18px;
}

.company-category-card__top {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
}

.company-category-card__badge {
    padding: 3px 10px;
    border: 1px solid rgba(var(--section-accent-rgb), .4);
    border-radius: 999px;
    color: rgba(var(--section-accent-rgb), .95);
    background: rgba(var(--section-accent-rgb), .1);
    font-size: 11px;
    font-weight: 600;
    letter-spacing: .04em;
    white-space: nowrap;
}

.company-category-card__names {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    margin: 4px 0 0;
    padding: 0;
    list-style: none;
}

.company-category-card__names li {
    padding: 4px 10px;
    border-radius: 8px;
    color: #eaf5fc;
    background: rgba(255, 255, 255, .07);
    font-size: 12.5px;
    line-height: 1.4;
}

/* Categories without published companies: visible, but clearly not a destination yet. */
.company-category-card.is-empty {
    border-style: dashed;
    border-color: rgba(205, 222, 235, .16);
    background: rgba(10, 29, 45, .32);
    opacity: .62;
}

.company-category-card.is-empty:hover {
    border-color: rgba(205, 222, 235, .16);
    background: rgba(10, 29, 45, .32);
    transform: none;
}

.company-category-card.is-empty .company-category-card__badge {
    border-color: rgba(205, 222, 235, .22);
    color: rgba(205, 222, 235, .7);
    background: transparent;
    font-weight: 500;
}

/* Companies page: cards sit right under the heading, so trim the gap above them. */
.section-categories--first {
    padding-top: clamp(28px, 4vw, 44px);
}

.section-overview {
    border-top: 1px solid var(--about-line);
}

.section-overview .about-intro { margin-top: 0; }

.section-overview .about-goal {
    border-left-color: var(--section-accent);
    background: rgba(var(--section-accent-rgb), .08);
}

/* Company list on category sub-pages */
.company-list {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 18px;
    margin-top: 28px;
}

.company-card {
    min-width: 0;
    overflow: hidden;
    border: 1px solid rgba(var(--section-accent-rgb), .22);
    border-radius: 20px;
    background:
        linear-gradient(145deg, rgba(var(--section-accent-rgb), .09), transparent 52%),
        rgba(8, 26, 42, .74);
    box-shadow: 0 22px 50px rgba(0, 6, 16, .18);
    transition: border-color .25s ease, background .25s ease, box-shadow .25s ease;
}

.company-card[open] {
    grid-column: 1 / -1;
    border-color: rgba(var(--section-accent-rgb), .48);
    background:
        linear-gradient(145deg, rgba(var(--section-accent-rgb), .12), transparent 58%),
        rgba(8, 27, 44, .9);
    box-shadow: 0 28px 70px rgba(0, 6, 16, .3);
}

.company-card__summary {
    display: grid;
    grid-template-columns: minmax(170px, 230px) minmax(0, 1fr) auto;
    align-items: center;
    gap: clamp(20px, 4vw, 42px);
    padding: 22px;
    color: inherit;
    cursor: pointer;
    list-style: none;
}

.company-card__summary::-webkit-details-marker { display: none; }

.company-card__summary:focus-visible {
    outline: 2px solid rgba(var(--section-accent-rgb), .82);
    outline-offset: -5px;
    border-radius: 17px;
}

.company-card__logo-wrap {
    display: grid;
    place-items: center;
    min-height: 128px;
    padding: 4px;
    background: transparent;
}

.company-card__logo-wrap--monochrome {
    padding: 13px;
    border: 1px solid rgba(230, 242, 248, .12);
    border-radius: 13px;
    background: rgba(225, 239, 247, .07);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, .06);
}

.company-card__logo {
    display: block;
    width: 100%;
    height: auto;
    max-height: 118px;
    object-fit: contain;
    filter:
        drop-shadow(0 0 1px rgba(234, 244, 249, .88))
        drop-shadow(0 0 11px rgba(224, 239, 247, .14))
        drop-shadow(0 12px 20px rgba(0, 4, 12, .32));
}

.company-card__logo--monochrome {
    opacity: 1;
    filter:
        invert(1)
        brightness(1.25)
        drop-shadow(0 0 2px rgba(244, 250, 253, .42))
        drop-shadow(0 0 10px rgba(224, 239, 247, .16))
        drop-shadow(0 12px 20px rgba(0, 4, 12, .28));
}

.company-card__logo--wide {
    max-height: 92px;
}

.company-card__monogram {
    color: #0b2438;
    font-size: 34px;
    font-weight: 700;
    letter-spacing: .08em;
}

.company-card__identity {
    display: flex;
    min-width: 0;
    flex-direction: column;
    align-items: flex-start;
}

.company-card__eyebrow {
    margin-bottom: 7px;
    color: rgba(var(--section-accent-rgb), .88);
    font-size: 10px;
    font-weight: 600;
    letter-spacing: .18em;
    line-height: 1.5;
    text-transform: uppercase;
}

.company-card__name {
    color: #f3f9fd;
    font-size: clamp(24px, 3vw, 34px);
    font-weight: 600;
    letter-spacing: -.025em;
    line-height: 1.15;
}

.company-card__summary-text {
    display: block;
    margin-top: 10px;
    max-width: 600px;
    color: rgba(205, 222, 235, .7);
    font-size: 14px;
    line-height: 1.6;
}

.company-card__toggle {
    display: inline-flex;
    align-items: center;
    gap: 12px;
    padding: 10px 14px;
    border: 1px solid rgba(var(--section-accent-rgb), .28);
    border-radius: 999px;
    color: rgba(225, 238, 247, .86);
    font-size: 11px;
    letter-spacing: .06em;
    white-space: nowrap;
}

.company-card__toggle-label--open { display: none; }
.company-card[open] .company-card__toggle-label--closed { display: none; }
.company-card[open] .company-card__toggle-label--open { display: inline; }

.company-card__toggle-icon {
    position: relative;
    width: 14px;
    height: 14px;
    transition: transform .25s ease;
}

.company-card__toggle-icon::before,
.company-card__toggle-icon::after {
    content: "";
    position: absolute;
    top: 6px;
    left: 1px;
    width: 12px;
    height: 1px;
    background: var(--section-accent);
}

.company-card__toggle-icon::after { transform: rotate(90deg); }
.company-card[open] .company-card__toggle-icon { transform: rotate(45deg); }

.company-card__details {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(220px, 320px);
    gap: clamp(26px, 5vw, 64px);
    margin: 0 22px;
    padding: 28px 4px 32px;
    border-top: 1px solid rgba(var(--section-accent-rgb), .18);
}

.company-card[open] .company-card__details {
    animation: company-profile-enter .34s ease both;
}

.company-card__details-copy {
    display: grid;
    gap: 15px;
}

.company-card__details-copy p {
    margin: 0;
    color: rgba(214, 229, 239, .79);
    font-size: 14px;
    line-height: 1.82;
}

.company-card__facts {
    align-self: start;
    margin: 0;
    padding: 20px;
    border: 1px solid rgba(var(--section-accent-rgb), .18);
    border-radius: 15px;
    background: rgba(4, 19, 32, .42);
}

.company-card__facts div + div {
    margin-top: 18px;
    padding-top: 18px;
    border-top: 1px solid rgba(var(--section-accent-rgb), .14);
}

.company-card__facts dt {
    margin-bottom: 6px;
    color: rgba(var(--section-accent-rgb), .82);
    font-size: 10px;
    font-weight: 600;
    letter-spacing: .16em;
    text-transform: uppercase;
}

.company-card__facts dd {
    margin: 0;
    color: rgba(232, 242, 248, .88);
    font-size: 13px;
    line-height: 1.65;
}

.company-card__site {
    display: inline-block;
    grid-column: 1 / -1;
    color: var(--section-accent);
    font-size: 13px;
    text-decoration: none;
}

.company-card__site:hover { text-decoration: underline; }

@keyframes company-profile-enter {
    from { opacity: 0; transform: translateY(-10px); }
    to { opacity: 1; transform: translateY(0); }
}

@media (max-width: 760px) {
    .company-list { grid-template-columns: minmax(0, 1fr); }

    .company-card__summary {
        grid-template-columns: minmax(0, 1fr);
        gap: 20px;
        padding: 18px;
    }

    .company-card__logo-wrap {
        width: min(100%, 330px);
        min-height: 118px;
        justify-self: start;
    }

    .company-card__toggle { justify-self: start; }

    .company-card__details {
        grid-template-columns: minmax(0, 1fr);
        margin-inline: 18px;
        padding: 24px 0 27px;
    }
}

@media (prefers-reduced-motion: reduce) {
    .company-card,
    .company-card__toggle-icon { transition: none; }

    .company-card[open] .company-card__details { animation: none; }
}

.company-empty {
    margin-top: 28px;
    padding: 28px;
    border: 1px dashed rgba(var(--section-accent-rgb), .32);
    border-radius: 16px;
    color: rgba(205, 222, 235, .65);
    font-size: 14px;
    text-align: center;
}
