/* #################################################
    Website Application Layout Custom StyleSheet
#################################################### */
/* 
    CONSUMER CARE PLATFORM STYLESHEET DETAILS:
    ==========================================
    Aesthetic    : warm cream + deep navy + mint
    Display font : Fraunces (editorial serif)
    Body font    : Geist (modern sans)
*/

* { box-sizing: border-box; margin: 0; padding: 0; }
:root {
    --bg-cream: #F7F5F0;
    --bg-cream-2: #FAFAF6;
    --bg-card: #FFFFFF;
    --navy: #0A1F44;
    --navy-2: #15294F;
    --navy-3: #1A3358;
    --mint: #6FE7B7;
    --mint-deep: #00875F;
    --mint-deeper: #00543C;
    --mint-soft: #E8F7F0;
    --text: #1A1A1A;
    --muted: #6B6B6B;
    --muted-2: #9A9A9A;
    --border: #E0DCD2;
    --red: #C13030;
    --red-soft: #FCE8E8;
    --amber: #9A6B0A;
    --amber-soft: #FEF4E0;
    --light-blue: #C7DFF5;
}
body {
    line-height: 1.5;
    color: var(--text);
    background: var(--bg-cream);
    font-family: 'Geist', -apple-system, system-ui, sans-serif;
}
.display {
    font-family: 'Fraunces', Georgia, serif;
    letter-spacing: -0.01em;
}
a {
    color: inherit;
    text-decoration: none;
}
button {
    font-family: inherit;
    cursor: pointer;
    border: none;
}
.container {
    max-width: 1280px;
    margin: 0 auto;
    padding: 0 36px;
}

/* ======== Top Announcement Bar StyleSheet ======== */
    .top-bar {
        padding: 9px 0;
        font-size: 12px;
        color: var(--light-blue);
        background: var(--navy);
    }
    .top-bar .container {
        display: flex;
        align-items: center;
        justify-content: space-between;
    }
    .top-bar span {
        display: flex;
        align-items: center;
        gap: 6px;
    }
    .top-bar .verified { color: var(--mint); }

/* ======== Header Navigation Content StyleSheet ======== */
    header {
        padding: 20px 0;
        background: var(--bg-cream);
    }
    header .container {
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 40px;
    }
    .logo {
        display: flex;
        align-items: center;
        gap: 11px;
    }
    .logo-mark {
        width: 38px;
        height: 38px;
        display: flex;
        align-items: center;
        justify-content: center;
        color: var(--mint);
        font-size: 19px;
        border-radius: 9px;
        background: var(--navy);
    }
    .logo-text {
        font-size: 18px;
        font-weight: 500;
        font-family: 'Fraunces', serif;
        color: var(--navy);
        line-height: 1;
    }
    .logo-sub {
        margin-top: 3px;
        font-size: 10px;
        letter-spacing: 0.1em;
        text-transform: uppercase;
        color: var(--muted);
    }
    nav ul {
        display: flex;
        gap: 28px;
        list-style: none;
    }
    nav a {
        font-size: 14px;
        color: var(--text);
        transition: color 0.15s;
    }
    nav a:hover { color: var(--navy); }
    nav a.active {
        position: relative;
        color: var(--navy);
        font-weight: 500;
    }
    nav a.active::after {
        left: 0;
        right: 0;
        bottom: -6px;
        height: 2px;
        position: absolute;
        content: '';
        background: var(--mint);
    }
    .header-right {
        display: flex;
        align-items: center;
        gap: 14px;
        font-size: 14px;
    }
    .lang-switch {
        display: flex;
        align-items: center;
        gap: 4px;
        color: var(--muted);
    }
    .btn-signin {
        padding: 9px 17px;
        display: inline-flex;
        align-items: center;
        border-radius: 999px;
        font-size: 13px;
        color: #fff;
        gap: 5px;
        background: var(--navy);
    }
    .btn-signin:hover { background: #061634; }

/* ======== Footer Content StyleSheet ======== */
    footer {
        padding: 44px 0 24px;
        color: var(--light-blue);
        background: var(--navy);
    }
    .foot-top {
        margin-bottom: 32px;
        display: grid;
        gap: 24px;
        grid-template-columns: 1.3fr 1fr 1fr 1fr;
    }
    .foot-brand {
        margin-bottom: 12px;
        line-height: 1.15;
        color: #fff;
        font-size: 30px;
        font-family: 'Fraunces', serif;
    }
    .foot-brand em {
        color: var(--mint);
        font-style: italic;
    }
    .foot-desc {
        max-width: 240px;
        line-height: 1.6;
        color: #8FAACC;
        font-size: 12px;
    }
    .foot-col-title {
        margin-bottom: 14px;
        letter-spacing: 0.1em;
        color: #fff;
        font-size: 11px;
        font-weight: 500;
        text-transform: uppercase;
    }
    .foot-link {
        margin-bottom: 9px;
        display: block;
        transition: color 0.15s;
        color: #8FAACC;
        font-size: 13px;
    }
    .foot-link:hover { color: #fff; }
    .foot-link i {
        margin-right: 6px;
        vertical-align: -2px;
        font-size: 13px;
    }
    .foot-bottom {
        padding-top: 18px;
        display: flex;
        align-items: center;
        justify-content: space-between;
        border-top: 1px solid var(--navy-3);
        color: #8FAACC;
        font-size: 11px;
    }
    .foot-social {
        display: flex;
        gap: 14px;
    }
    .foot-social a {
        transition: color 0.15s;
        color: #8FAACC;
    }
    .foot-social a:hover { color: var(--mint); }
    .foot-social i { font-size: 17px; }

    /* ################
        Media Query
    ################### */
    /* mobile first approach */
    @media (max-width: 1024px) {
        .container { padding: 0 24px; }
        .foot-top { grid-template-columns: 1fr 1fr; }
    }

    @media (max-width: 640px) {
        .container { padding: 0 18px; }
        nav {
            width: 100%;
            order: 3;
            overflow-x: auto;
        }
        nav ul { gap: 18px; }
        .foot-top { grid-template-columns: 1fr; }
    }
