/* Minification failed. Returning unminified contents.
(998,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(999,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(1000,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(1001,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(1002,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(1003,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(1004,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(1005,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(1006,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(1007,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(1008,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(1009,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(1010,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(1011,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(1012,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(1013,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(1014,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(1015,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(1016,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(1017,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(1018,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(1019,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(1020,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(1021,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(1022,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(1023,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(1024,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(1025,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(1037,34): run-time error CSS1039: Token not allowed after unary operator: '-surface'
(1037,68): run-time error CSS1039: Token not allowed after unary operator: '-border'
(1037,98): run-time error CSS1039: Token not allowed after unary operator: '-radius-lg'
(1038,41): run-time error CSS1039: Token not allowed after unary operator: '-teal'
(1041,135): run-time error CSS1039: Token not allowed after unary operator: '-gray-100'
(1041,164): run-time error CSS1039: Token not allowed after unary operator: '-surface'
(1043,37): run-time error CSS1039: Token not allowed after unary operator: '-gray-50'
(1044,44): run-time error CSS1039: Token not allowed after unary operator: '-text'
(1045,101): run-time error CSS1039: Token not allowed after unary operator: '-teal'
(1048,31): run-time error CSS1039: Token not allowed after unary operator: '-green-bg'
(1048,55): run-time error CSS1039: Token not allowed after unary operator: '-green-text'
(1049,31): run-time error CSS1039: Token not allowed after unary operator: '-amber-bg'
(1049,55): run-time error CSS1039: Token not allowed after unary operator: '-amber-text'
(1051,31): run-time error CSS1039: Token not allowed after unary operator: '-gray-100'
(1051,55): run-time error CSS1039: Token not allowed after unary operator: '-gray-400'
(1053,111): run-time error CSS1039: Token not allowed after unary operator: '-gray-100'
(1053,140): run-time error CSS1039: Token not allowed after unary operator: '-gray-50'
(1060,35): run-time error CSS1039: Token not allowed after unary operator: '-surface'
(1060,69): run-time error CSS1039: Token not allowed after unary operator: '-border'
(1060,99): run-time error CSS1039: Token not allowed after unary operator: '-radius-lg'
(1061,70): run-time error CSS1039: Token not allowed after unary operator: '-radius'
(1061,97): run-time error CSS1039: Token not allowed after unary operator: '-gray-100'
(1062,46): run-time error CSS1039: Token not allowed after unary operator: '-text-tert'
(1063,64): run-time error CSS1039: Token not allowed after unary operator: '-text'
(1064,48): run-time error CSS1039: Token not allowed after unary operator: '-text-tert'
(1066,36): run-time error CSS1039: Token not allowed after unary operator: '-green-bg'
(1066,60): run-time error CSS1039: Token not allowed after unary operator: '-green-text'
(1067,36): run-time error CSS1039: Token not allowed after unary operator: '-amber-bg'
(1067,60): run-time error CSS1039: Token not allowed after unary operator: '-amber-text'
(1068,36): run-time error CSS1039: Token not allowed after unary operator: '-red-bg'
(1068,60): run-time error CSS1039: Token not allowed after unary operator: '-red-text'
(1069,36): run-time error CSS1039: Token not allowed after unary operator: '-gray-100'
(1069,60): run-time error CSS1039: Token not allowed after unary operator: '-text-tert'
(1072,27): run-time error CSS1039: Token not allowed after unary operator: '-surface'
(1072,61): run-time error CSS1039: Token not allowed after unary operator: '-border'
(1072,91): run-time error CSS1039: Token not allowed after unary operator: '-radius-lg'
(1073,62): run-time error CSS1039: Token not allowed after unary operator: '-teal'
(1074,62): run-time error CSS1039: Token not allowed after unary operator: '-text'
(1075,44): run-time error CSS1039: Token not allowed after unary operator: '-text-sec'
(1077,47): run-time error CSS1039: Token not allowed after unary operator: '-text-sec'
(1078,35): run-time error CSS1039: Token not allowed after unary operator: '-text'
(1083,31): run-time error CSS1039: Token not allowed after unary operator: '-gray-50'
(1083,62): run-time error CSS1039: Token not allowed after unary operator: '-radius'
(1086,50): run-time error CSS1039: Token not allowed after unary operator: '-text-sec'
(1087,43): run-time error CSS1039: Token not allowed after unary operator: '-red-text'
(1088,43): run-time error CSS1039: Token not allowed after unary operator: '-amber-text'
(1089,43): run-time error CSS1039: Token not allowed after unary operator: '-green-text'
(1094,31): run-time error CSS1039: Token not allowed after unary operator: '-radius'
(1094,89): run-time error CSS1039: Token not allowed after unary operator: '-border'
(1097,45): run-time error CSS1039: Token not allowed after unary operator: '-text-sec'
(1098,28): run-time error CSS1039: Token not allowed after unary operator: '-green-border'
(1098,70): run-time error CSS1039: Token not allowed after unary operator: '-green-text'
(1098,115): run-time error CSS1039: Token not allowed after unary operator: '-green-bg'
(1098,139): run-time error CSS1039: Token not allowed after unary operator: '-green-text'
(1099,28): run-time error CSS1039: Token not allowed after unary operator: '-amber-border'
(1099,70): run-time error CSS1039: Token not allowed after unary operator: '-amber-text'
(1099,115): run-time error CSS1039: Token not allowed after unary operator: '-amber-bg'
(1099,139): run-time error CSS1039: Token not allowed after unary operator: '-amber-text'
(1100,28): run-time error CSS1039: Token not allowed after unary operator: '-red-border'
(1100,70): run-time error CSS1039: Token not allowed after unary operator: '-red-text'
(1100,115): run-time error CSS1039: Token not allowed after unary operator: '-red-bg'
(1100,139): run-time error CSS1039: Token not allowed after unary operator: '-red-text'
(1105,31): run-time error CSS1039: Token not allowed after unary operator: '-radius'
(1105,89): run-time error CSS1039: Token not allowed after unary operator: '-border'
(1108,45): run-time error CSS1039: Token not allowed after unary operator: '-text-sec'
(1109,29): run-time error CSS1039: Token not allowed after unary operator: '-green-border'
(1109,105): run-time error CSS1039: Token not allowed after unary operator: '-green-text'
(1110,29): run-time error CSS1039: Token not allowed after unary operator: '-amber-border'
(1110,105): run-time error CSS1039: Token not allowed after unary operator: '-amber-text'
(1111,29): run-time error CSS1039: Token not allowed after unary operator: '-red-border'
(1111,105): run-time error CSS1039: Token not allowed after unary operator: '-red-text'
(1117,83): run-time error CSS1039: Token not allowed after unary operator: '-radius'
(1118,32): run-time error CSS1039: Token not allowed after unary operator: '-gray-100'
(1118,67): run-time error CSS1039: Token not allowed after unary operator: '-border'
(1118,97): run-time error CSS1039: Token not allowed after unary operator: '-radius'
(1118,163): run-time error CSS1039: Token not allowed after unary operator: '-text-sec'
(1119,64): run-time error CSS1039: Token not allowed after unary operator: '-teal'
(1123,30): run-time error CSS1039: Token not allowed after unary operator: '-radius'
(1123,88): run-time error CSS1039: Token not allowed after unary operator: '-border'
(1126,43): run-time error CSS1039: Token not allowed after unary operator: '-text-sec'
(1127,28): run-time error CSS1039: Token not allowed after unary operator: '-red-border'
(1127,91): run-time error CSS1039: Token not allowed after unary operator: '-red-text'
(1127,136): run-time error CSS1039: Token not allowed after unary operator: '-red-bg'
(1127,160): run-time error CSS1039: Token not allowed after unary operator: '-red-text'
(1128,28): run-time error CSS1039: Token not allowed after unary operator: '-amber-border'
(1128,91): run-time error CSS1039: Token not allowed after unary operator: '-amber-text'
(1128,136): run-time error CSS1039: Token not allowed after unary operator: '-amber-bg'
(1128,160): run-time error CSS1039: Token not allowed after unary operator: '-amber-text'
(1132,27): run-time error CSS1039: Token not allowed after unary operator: '-gray-50'
(1132,58): run-time error CSS1039: Token not allowed after unary operator: '-radius'
(1133,61): run-time error CSS1039: Token not allowed after unary operator: '-text'
(1134,43): run-time error CSS1039: Token not allowed after unary operator: '-text-sec'
(1138,42): run-time error CSS1039: Token not allowed after unary operator: '-teal'
(1139,80): run-time error CSS1039: Token not allowed after unary operator: '-gray-100'
(1139,144): run-time error CSS1039: Token not allowed after unary operator: '-text-sec'
(1141,51): run-time error CSS1039: Token not allowed after unary operator: '-gray-50'
(1142,67): run-time error CSS1039: Token not allowed after unary operator: '-text'
(1143,53): run-time error CSS1039: Token not allowed after unary operator: '-teal-light'
(1143,79): run-time error CSS1039: Token not allowed after unary operator: '-teal-dark'
(1145,34): run-time error CSS1039: Token not allowed after unary operator: '-green-bg'
(1145,58): run-time error CSS1039: Token not allowed after unary operator: '-green-text'
(1146,34): run-time error CSS1039: Token not allowed after unary operator: '-green-bg'
(1146,58): run-time error CSS1039: Token not allowed after unary operator: '-green-text'
(1147,34): run-time error CSS1039: Token not allowed after unary operator: '-amber-bg'
(1147,58): run-time error CSS1039: Token not allowed after unary operator: '-amber-text'
(1149,34): run-time error CSS1039: Token not allowed after unary operator: '-red-bg'
(1149,56): run-time error CSS1039: Token not allowed after unary operator: '-red-text'
(1150,37): run-time error CSS1039: Token not allowed after unary operator: '-green-bg'
(1150,61): run-time error CSS1039: Token not allowed after unary operator: '-green-text'
(1155,133): run-time error CSS1039: Token not allowed after unary operator: '-radius'
(1155,160): run-time error CSS1039: Token not allowed after unary operator: '-gray-50'
(1156,76): run-time error CSS1039: Token not allowed after unary operator: '-text'
(1160,127): run-time error CSS1039: Token not allowed after unary operator: '-radius'
(1178,92): run-time error CSS1039: Token not allowed after unary operator: '-radius'
(1194,81): run-time error CSS1039: Token not allowed after unary operator: '-text'
(1195,83): run-time error CSS1039: Token not allowed after unary operator: '-text-sec'
(1200,139): run-time error CSS1039: Token not allowed after unary operator: '-gray-100'
(1200,168): run-time error CSS1039: Token not allowed after unary operator: '-surface'
(1205,66): run-time error CSS1039: Token not allowed after unary operator: '-teal'
(1206,47): run-time error CSS1039: Token not allowed after unary operator: '-text-tert'
(1209,35): run-time error CSS1039: Token not allowed after unary operator: '-green-bg'
(1209,59): run-time error CSS1039: Token not allowed after unary operator: '-green-text'
(1210,35): run-time error CSS1039: Token not allowed after unary operator: '-amber-bg'
(1210,59): run-time error CSS1039: Token not allowed after unary operator: '-amber-text'
(1212,35): run-time error CSS1039: Token not allowed after unary operator: '-gray-100'
(1212,59): run-time error CSS1039: Token not allowed after unary operator: '-text-tert'
(1213,68): run-time error CSS1039: Token not allowed after unary operator: '-teal'
(1213,141): run-time error CSS1039: Token not allowed after unary operator: '-teal'
(1214,62): run-time error CSS1039: Token not allowed after unary operator: '-teal-light'
(1217,36): run-time error CSS1039: Token not allowed after unary operator: '-radius-lg'
(1217,72): run-time error CSS1039: Token not allowed after unary operator: '-border'
(1218,128): run-time error CSS1039: Token not allowed after unary operator: '-surface'
(1218,169): run-time error CSS1039: Token not allowed after unary operator: '-border'
(1219,70): run-time error CSS1039: Token not allowed after unary operator: '-teal'
(1220,33): run-time error CSS1039: Token not allowed after unary operator: '-surface'
(1226,31): run-time error CSS1039: Token not allowed after unary operator: '-green-text'
(1226,62): run-time error CSS1039: Token not allowed after unary operator: '-green-bg'
(1227,27): run-time error CSS1039: Token not allowed after unary operator: '-amber-text'
(1227,58): run-time error CSS1039: Token not allowed after unary operator: '-amber-bg'
(1229,25): run-time error CSS1039: Token not allowed after unary operator: '-red-text'
(1229,54): run-time error CSS1039: Token not allowed after unary operator: '-red-bg'
(1230,27): run-time error CSS1039: Token not allowed after unary operator: '-text-tert'
(1230,57): run-time error CSS1039: Token not allowed after unary operator: '-gray-100'
(1233,57): run-time error CSS1039: Token not allowed after unary operator: '-text-sec'
(1239,113): run-time error CSS1039: Token not allowed after unary operator: '-radius'
(1239,140): run-time error CSS1039: Token not allowed after unary operator: '-gray-50'
(1240,78): run-time error CSS1039: Token not allowed after unary operator: '-text'
(1241,56): run-time error CSS1039: Token not allowed after unary operator: '-text-sec'
(1243,31): run-time error CSS1039: Token not allowed after unary operator: '-green-text'
(1245,29): run-time error CSS1039: Token not allowed after unary operator: '-red-text'
(1246,30): run-time error CSS1039: Token not allowed after unary operator: '-gray-400'
(1247,45): run-time error CSS1039: Token not allowed after unary operator: '-text-tert'
(1250,36): run-time error CSS1039: Token not allowed after unary operator: '-surface'
(1261,43): run-time error CSS1039: Token not allowed after unary operator: '-text'
(1263,35): run-time error CSS1039: Token not allowed after unary operator: '-amber-bg'
(1263,59): run-time error CSS1039: Token not allowed after unary operator: '-amber-text'
(1264,35): run-time error CSS1039: Token not allowed after unary operator: '-green-bg'
(1264,59): run-time error CSS1039: Token not allowed after unary operator: '-green-text'
(1269,38): run-time error CSS1039: Token not allowed after unary operator: '-green-bg'
(1269,62): run-time error CSS1039: Token not allowed after unary operator: '-green-text'
(1270,38): run-time error CSS1039: Token not allowed after unary operator: '-gray-100'
(1270,62): run-time error CSS1039: Token not allowed after unary operator: '-text-sec'
(1271,38): run-time error CSS1039: Token not allowed after unary operator: '-gray-100'
(1271,62): run-time error CSS1039: Token not allowed after unary operator: '-text-tert'
(1274,62): run-time error CSS1039: Token not allowed after unary operator: '-text'
(1296,31): run-time error CSS1039: Token not allowed after unary operator: '-surface'
(1297,127): run-time error CSS1039: Token not allowed after unary operator: '-teal-dark'
(1297,148): run-time error CSS1039: Token not allowed after unary operator: '-teal'
(1303,67): run-time error CSS1039: Token not allowed after unary operator: '-teal-dark'
(1308,138): run-time error CSS1039: Token not allowed after unary operator: '-teal-light'
(1308,164): run-time error CSS1039: Token not allowed after unary operator: '-teal'
(1309,36): run-time error CSS1039: Token not allowed after unary operator: '-teal-light'
(1309,78): run-time error CSS1039: Token not allowed after unary operator: '-teal'
(1309,183): run-time error CSS1039: Token not allowed after unary operator: '-teal-dark'
(1312,128): run-time error CSS1039: Token not allowed after unary operator: '-surface'
(1313,87): run-time error CSS1039: Token not allowed after unary operator: '-teal-dark'
(1313,108): run-time error CSS1039: Token not allowed after unary operator: '-teal'
(1373,22): run-time error CSS1030: Expected identifier, found '.'
(1373,37): run-time error CSS1031: Expected selector, found ')'
(1373,37): run-time error CSS1025: Expected comma or open brace, found ')'
(1377,22): run-time error CSS1030: Expected identifier, found '.'
(1377,37): run-time error CSS1031: Expected selector, found ')'
(1377,37): run-time error CSS1025: Expected comma or open brace, found ')'
 */
.dna-order-now {
    text-align: center;
    font-size: 1.1em;
    font-weight: bold;
    border-radius: 10px;
    background: url("/Images/dark-blue-waves.PNG") repeat 0 0 #0079BC;
    padding: 0.8em 0;
}

    .dna-order-now a {
        padding: 0;
    }

        .dna-order-now a span {
            width: 100%;
            display: inline-block;
            color: white;
        }

.pgx-video-intro {
    margin-bottom: 1.5em;
}

    .pgx-video-intro::after {
        content: "";
        display: block;
        clear: both;
    }

    .pgx-video-intro .pgx-video-col {
        float: right;
        width: 320px;
        margin-left: 24px;
        margin-bottom: 1em;
    }

    .pgx-video-intro .pgx-video-caption {
        font-size: smaller;
        color: #777;
        margin-top: 0.5em;
    }

    .pgx-video-intro .iframe-container {
        border-radius: 10px;
        border: 1px solid #e0e4ea;
    }

@media all and (max-width: 700px) {
    .pgx-video-intro .pgx-video-col {
        float: none;
        width: auto;
        margin-left: 0;
    }
}

.dna-intro.highlight-text {
    display: inline-block;
    width: 50%;
    margin-right: 0.8em;
}

.dna-intro .iframe-container {
    border-radius: 10px;
}

.dna-intro.highlight-box {
    width: 46%;
    border-radius: 10px;
    -moz-border-radius: 10px;
    border: solid 1px #0079BC;
    display: inline-block;
    float: right;
    background-color: white;
    margin-bottom: 1.5em;
}

@media all and (max-width: 480px) {
    .dna-intro.highlight-text {
        display: block;
        width: auto;
        margin-right: 0;
    }

    .dna-intro.highlight-box {
        display: block;
        float: none;
        padding: 0;
        width: auto;
        margin-bottom: 1.5em;
    }
}

.box-img {
    text-align: center;
    margin-bottom: 1em;
}

    .box-img img {
        height: auto;
    }

        .box-img img.w50pc {
            width: 50%;
        }

        .box-img img.w75pc {
            width: 75%;
        }

@media all and (max-width: 480px) {
    .box-img {
        margin-bottom: 1.5em;
    }

        .box-img img.w50pc {
            width: 70%;
        }

        .box-img img.w75pc {
            width: 70%;
        }
}

.form-field span {
    line-height: 2.2em;
}

.dna-title {
    margin-bottom: 2em;
}

    .dna-title h1 {
        margin-top: 0;
    }

.dna-order-steps {
    margin-bottom: 2em;
    text-align: center;
}

    .dna-order-steps .order-step {
        display: inline-block;
    }

        .dna-order-steps .order-step .step-label {
            font-size: 0.9em;
        }

    .dna-order-steps div.circle {
        width: 48px;
        height: 48px;
        border-radius: 50%;
        background: url("/Images/blue-waves.PNG") no-repeat 0 0 #0079BC;
        background-size: cover;
        font-size: 1.3em;
        font-weight: bold;
        color: white;
        display: flex;
        align-items: center;
        justify-content: center;
        margin: 0 auto;
    }

        .dna-order-steps div.circle.now {
            border: 3px solid #0079BC;
        }

        .dna-order-steps div.circle.past {
            color: #0079BC;
        }

    .dna-order-steps div.stripe {
        display: inline-block;
        background: url("/Images/blue-waves.PNG") no-repeat 0 0 #0079BC;
        height: 0.1em;
        width: 6em;
        line-height: 4.5em;
        margin-left: 0.6em;
        margin-right: 0.6em;
    }

        .dna-order-steps div.stripe.past {
            background: #0079BC;
        }

/* Responsive design for steps sections - circles and stripes */
@media all and (max-width: 240px) {
    .dna-order-steps div.circle {
        font-size: 1.5em;
        line-height: 0.5em;
        padding: 0.5em;
        height: 0.5em;
        width: 0.5em;
    }

    .dna-order-steps div.stripe {
        width: 1em;
        margin-left: 0;
        margin-right: 0;
        line-height: 3.8em;
    }
}

@media all and (min-width: 241px) and (max-width: 480px) {
    .dna-order-steps div.circle {
        font-size: 1.5em;
        line-height: 0.5em;
        padding: 0.5em;
        height: 0.5em;
        width: 0.5em;
    }

    .dna-order-steps div.stripe {
        width: 1.5em;
        margin-left: 0.1em;
        margin-right: 0.1em;
        line-height: 3.8em;
    }
}

@media all and (min-width: 481px) and (max-width: 768px) {
    .dna-order-steps div.circle {
        font-size: 2em;
        line-height: 0.6em;
        padding: 0.6em;
        height: 0.6em;
        width: 0.6em;
    }

    .dna-order-steps div.stripe {
        width: 3.3em;
        margin-left: 0.2em;
        margin-right: 0.2em;
        line-height: 5em;
    }
}

.order-btn {
    float: right;
}

div.item {
    margin-bottom: 1em;
}

    div.item div.item-row {
        display: table;
        width: 100%;
        margin-bottom: 0.3em;
    }

        div.item div.item-row div {
            display: table-cell;
        }

    div.item div.item-name {
        width: 70%;
    }

div.item-total {
    width: 10%;
}

#order-total {
    border-color: #0079bc;
    display: table;
    width: 50%;
    float: right;
}

    #order-total .order-total-row {
        display: table-row;
    }

        #order-total .order-total-row div {
            display: table-cell;
            padding-bottom: 1em;
        }

#total-amount {
    width: 20%;
}

/* Responsive design - Table with total */
@media all and (max-width: 480px) {
    #order-total {
        width: 90%;
    }
}

select.dna-order {
    border-radius: 5px;
    font-size: 0.9em;
    padding: 0.3em;
    margin: 5px 0 6px 0;
}

.dna-lst li {
    padding-bottom: 0.5em;
}

ul {
    margin: 0;
    padding-left: 1.5em;
}

ol {
    padding-left: 1.5em;
}

li {
    margin-bottom: 0.2em;
}

.pay-method {
    border: 3px #ccc solid;
    padding: 1em;
    margin: 0.5em;
    cursor: pointer;
    text-align: center;
    border-radius: 20px;
}

    .pay-method.highlight {
        border: 3px #0079BC solid;
        background-color: aliceblue;
    }

    .pay-method p {
        font-size: 0.9em;
    }

.dd-style {
    border: 1px solid #ccc;
    width: 190px;
    border-radius: 6px;
    overflow: hidden;
    background: #f5f4df;
    padding-left: 5px;
    padding-top: 3px;
    padding-bottom: 3px;
}

    .dd-style select {
        padding: 5px 8px;
        width: 130%;
        border: none;
        box-shadow: none;
        background: transparent;
        background-image: none;
        -webkit-appearance: none;
    }

.pgx-table {
    width: 100%;
    border-collapse: separate;
    border-spacing: 0;
    margin-top: 1em;
    border: 1px solid #ccc;
    border-radius: 8px;
    overflow: hidden;
}

    .pgx-table th,
    .pgx-table td {
        border: 1px solid #ccc;
        text-align: center;
        vertical-align: middle;
        padding: 8px;
    }

    .pgx-table thead th {
        background-color: #f2f2f2;
        font-weight: bold;
    }

    .pgx-table tbody tr:hover {
        background-color: #f9f9f9;
        cursor: pointer;
    }


.custom-dropdown {
    width: 200px;
    padding: 8px 10px;
    border: 1px solid #ccc;
    border-radius: 6px;
    background-color: #f9f9f9;
    font-size: 14px;
    font-family: inherit;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.05);
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    background-image: url("data:image/svg+xml;utf8,<svg fill='gray' height='18' viewBox='0 0 24 24' width='18' xmlns='http://www.w3.org/2000/svg'><path d='M7 10l5 5 5-5z'/></svg>");
    background-repeat: no-repeat;
    background-position: right 10px center;
    background-size: 12px;
    cursor: pointer;
}

    .custom-dropdown:focus {
        outline: none;
        background-color: #eef6ff;
    }

    .custom-dropdown.valid {
        background-color: #e6ffe6;
    }

    .custom-dropdown.noamp {
        background-color: #ffe6e6;
    }

.badge input[type="submit"] {
    color: white;
    background: none;
    padding: 0;
    margin: 0;
    font-weight: normal;
}

@media all and (min-width: 350px) {
    .vote-footer .badge:nth-of-type(2) {
        margin-left: -1.5em;
        padding-left: 2em;
    }
}

.dna-results-tab-head {
    display: flex;
    margin-top: 20px;
    font-size: 15px;
}

    .dna-results-tab-head div {
        border: 1px solid #8f6f9d;
        border-radius: 15px 5px 15px 5px;
        background-color: #8f6f9d;
        color: white;
        padding: 6px 0 7px 8px;
        margin: 0px 2px 6px 2px;
    }

.dna-results-tab-row {
    display: flex;
    padding: 8px;
    font-size: 15px;
    background-color: white;
    border-radius: 6px;
    border-bottom: 1px solid #ccc;
    margin-bottom: 3px;
}

@media all and (max-width: 480px) {
    .dna-results-tab-row {
        padding: 0.4em 0.3em;
    }
}

.dna-view-toggle {
    position: relative;
    display: flex;
    width: 100%;
    box-sizing: border-box;
    gap: 4px;
    background-color: #f2f2f2;
    padding: 4px;
    border-radius: 8px;
    border: 1px solid #ddd;
    margin: 20px 0 10px 0;
}

.dna-view-toggle-slider {
    position: absolute;
    top: 4px;
    left: 4px;
    width: calc(50% - 6px);
    height: calc(100% - 8px);
    background-color: #0079BC;
    border-radius: 6px;
    box-shadow: 0 1px 3px rgba(0,0,0,0.2);
    transition: left 0.25s ease;
    z-index: 0;
}

    .dna-view-toggle-slider.right {
        left: calc(50% + 2px);
    }

    .dna-view-toggle button {
        position: relative;
        z-index: 1;
        flex: 1 1 50%;
        display: flex;
        align-items: center;
        justify-content: center;
        padding: 13px 16px;
        font-size: 14px;
        font-weight: bold;
        border: none;
        border-radius: 6px;
        cursor: pointer;
        background-color: transparent;
        color: #555;
        transition: color 0.15s ease;
    }

        .dna-view-toggle button:hover {
            color: #333;
        }

        .dna-view-toggle button.active {
            color: white;
        }

        .dna-view-toggle button.active:hover {
            color: white;
        }

.gen-cat-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 14px;
    margin-bottom: 20px;
}

.gen-cat-card {
    background-color: white;
    border: 1px solid #ddd;
    border-radius: 10px;
    padding: 12px 14px;
    box-shadow: 0 2px 6px rgba(0,0,0,0.06);
}

.gen-cat-card-head {
    border-left: 4px solid #0079BC;
    padding: 10px 14px 10px 18px;
    margin: -12px -14px 10px -14px;
    border-radius: 10px 10px 0 0;
}

.gen-cat-card-title {
    font-size: 16px;
    font-weight: bold;
    color: #333;
}

.gen-cat-card-desc {
    font-size: 13px;
    color: #888;
    margin: 3px 0 0 0;
}

.gen-cat-head {
    display: flex;
    background-color: #f7f7f7;
    border-radius: 6px;
    padding: 6px 8px;
    margin-bottom: 4px;
    font-size: 11px;
    text-transform: uppercase;
    letter-spacing: 0.4px;
    color: #777;
}

.gen-cat-row {
    display: flex;
    padding: 8px;
    font-size: 15px;
    border-bottom: 1px solid #ddd;
}

    .gen-cat-row:last-child {
        border-bottom: none;
    }

.gen-cat-status {
    text-align: center;
}

.gen-cat-row .gen-cat-gene-btn {
    background: none;
    border: none;
    padding: 0;
    color: #0079BC;
    font-weight: bold;
    font-size: 16px;
    cursor: pointer;
}

.gen-cat-gene-untested {
    color: #bbb;
    font-size: 16px;
    padding: 0;
}

.med-chip {
    display: inline-block;
    font-size: 12px;
    padding: 2px 9px;
    border-radius: 12px;
    background-color: #eef6ff;
    border: 1px solid #d9e8f7;
    color: #0079BC;
    margin: 1px 3px 1px 0;
    text-decoration: none;
}

.dna-know-box {
    border: solid 1px #CDCDCD;
    padding: 1em;
    margin: 0 0 1.5em 0px;
    background-color: white;
    box-shadow: 0 10px 6px -6px #999;
    border-radius: 10px;
    -webkit-border-radius: 10px;
    -moz-border-radius: 10px;
}

    .dna-know-box img {
        margin-top: 3px;
        margin-bottom: 7px;
        margin-left: -3px;
        height: 1.6em;
    }

    .dna-know-box p {
        text-align: justify;
    }

.gen-med-header {
    display: flex;
    flex-wrap: wrap;
    margin-top: 12px;
    font-size: smaller;
    border-top: 1px dotted #0079BC;
    padding-top: 10px;
    padding-bottom: 5px;
}

    .gen-med-header div {
        border: 1px solid #8f6f9d;
        border-radius: 18px;
        color: white;
        padding: 4px 20px 5px 20px;
        margin: 2px 5px;
        background-color: #8f6f9d;
    }

.gen-med-row {
    display: flex;
    flex-wrap: wrap;
    border-bottom: 1px solid #ccc;
    margin-top: 4px;
}

    .gen-med-row div {
        padding: 3px 20px 5px 20px;
    }

.dna-sound-help {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
}

    .dna-sound-help p {
        font-weight: bold;
        padding: 0 1em 0 0;
    }

    .dna-sound-help div {
        flex: auto;
    }

        .dna-sound-help div audio {
            width: 100%;
            min-width: 250px;
        }

@media all and (max-width: 480px) {
    .dna-sound-help p {
        padding: 0 0 0.5em 0;
    }
}

table.alz-gen-risk tr td {
    text-align: center;
    font-size: smaller;
    width: 20%;
    border-bottom: 1px solid darkgray;
    padding: 0.5em;
    border-right: 1px solid darkgrey;
}

    table.alz-gen-risk tr td:last-of-type {
        border-right: none;
    }

table.alz-gen-risk tr.tab-head td {
    font-weight: bold;
    background-color: #bce3f9;
}

.alz-gen-evidence {
    padding: 2px 8px;
    border-radius: 50%;
    text-align: center;
    background-color: white;
    color: black;
}

    .alz-gen-evidence.fill {
        background-color: black;
        color: white;
    }


.nut-item-hdr-img {
    display: inline-block;
    width: 20%;
    padding-left: 1em;
}

    .nut-item-hdr-img > img {
        width: 100%;
        height: auto;
    }

.nut-item-hdr-pheno {
    width: 75%;
    float: right;
}

.nut-item-hdr-pheno > h3 {
    margin-top: 0;
}

@media all and (max-width: 480px) {
    .nut-item-hdr-img {
        width: 30%;
        padding-left: 0.6em;
    }

    .nut-item-hdr-pheno {
        width: 65%;
        float: right;
    }
}

.nut-diet {
    text-align: center;
    padding: 0.5em 1.5em;
}

    .nut-diet > img {
        height: 200px;
        width: auto;
    }

@media all and (max-width: 480px) {
    .nut-diet {
        text-align: center;
        padding: 0.5em 1em;
    }

        .nut-diet > img {
            height: 120px;
            width: auto;
        }
}

/* -------------- Genetic tests page */
.dna-prod {
    padding: 1em;
    border-radius: 10px;
    border: 1px solid #0079BC;
    margin-bottom: 1.5em;
    overflow: hidden;
    background-image: url(https://cdn-meamedica-ashgewckheewfqcp.z01.azurefd.net/images/dna/dna-helix-bg.png);
    background-repeat: no-repeat;
    background-position: right 25px;
    background-size: 200px;
}

    .dna-prod.lab-header {
        background-image: none;
        border: 4px solid #fb9f4f;
    }

    .dna-prod.main-test-new {
        background-color: #fff;
        background-position: 25px 90px;
        background-size: 100px;
        border: 2px solid #0079bc;
        padding-top: 4px;
        padding-bottom: 8px;
    }

    .dna-prod.main-test {
        background-color: white;
    }

    .dna-prod.add-on {
        background-color: #bce3f9;
    }

    .dna-prod > div:first-of-type {
        display: flex;
        align-items: center;
        border-bottom: solid medium orange;
        margin-bottom: 0.5em;
    }

    .dna-prod > div:last-of-type {
        display: flex;
    }

    .dna-prod form input[type="image"] {
        border: none;
        margin: 0;
        padding: 0;
        background: inherit;
    }

.dna-tst-prd-info {
    padding: 1em;
}

    .dna-tst-prd-info > div {
        display: flex;
        align-items: center;
    }

        .dna-tst-prd-info > div > div:first-of-type {
            margin-right: 0.5em;
            flex: 0 0 35%;
        }

        .dna-tst-prd-info > div > div:last-of-type {
            color: #0079BC;
            font-size: smaller;
            flex: 0 0 62%;
        }

.strikethrough {
    position: relative;
}

    .strikethrough:before {
        position: absolute;
        content: "";
        left: 0;
        top: 50%;
        right: 0;
        border-top: 2px solid #ff0000e6;
        -webkit-transform: rotate(-30deg);
        -moz-transform: rotate(-30deg);
        -ms-transform: rotate(-30deg);
        -o-transform: rotate(-30deg);
        transform: rotate(-30deg);
    }

/* ------------------------------ Admin area */

.action-img {
    border: none;
    background-color: white;
    width: 23px;
    vertical-align: middle;
}

.show-order-detail {
    cursor: pointer;
}

.order-detail {
    padding-top: 1em;
    padding-bottom: 0.5em;
}

    .order-detail .form-field {
        display: inline-block;
        margin-right: 1em;
    }

    .order-detail .order-tools {
        float: right;
    }

        .order-detail .order-tools a {
            padding-right: 0.5em;
            text-decoration: none;
        }

.dnamng-submenu {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    margin-bottom: 1.5em;
}

    .dnamng-submenu div {
        padding: 0.8em 1.2em;
        border-radius: 10px;
        margin: 0.5em;
    }

        .dnamng-submenu div.btn-on {
            background-color: #0079bc;
        }

        .dnamng-submenu div.btn-off {
            background-color: rgba(0,121,181,.5);
        }

    .dnamng-submenu span {
        padding: 5px;
        display: inline-block;
        color: white;
        font-weight: bold;
    }

    .dnamng-submenu a {
        padding: 5px;
        display: inline-block;
        text-decoration: none;
        color: white;
        font-weight: bold;
    }

#compare-tests {
    display: table;
    color: white;
    width: 100%;
}

    #compare-tests > div {
        display: table-row;
    }

        #compare-tests > div.header-row {
            color: #0e6898;
            font-size: larger;
            font-weight: bold;
        }

        #compare-tests > div > div {
            display: table-cell;
            padding: 0.4em;
        }

            #compare-tests > div > div:first-of-type {
                padding-left: 0.8em;
            }

            #compare-tests > div > div:last-of-type {
                padding-right: 0.8em;
            }

            #compare-tests > div > div:not(:first-child) {
                text-align: center;
            }

        #compare-tests > div.first-row > div {
            padding-top: 0.8em;
        }

            #compare-tests > div.first-row > div:first-of-type {
                border-top-left-radius: 10px;
            }

            #compare-tests > div.first-row > div:last-of-type {
                border-top-right-radius: 10px;
            }

        #compare-tests > div.last-row > div {
            padding-bottom: 0.8em;
        }

            #compare-tests > div.last-row > div:first-of-type {
                border-bottom-left-radius: 10px;
            }

            #compare-tests > div.last-row > div:last-of-type {
                border-bottom-right-radius: 10px;
            }

        #compare-tests > div > div > img {
            width: 16px;
            height: auto;
            vertical-align: middle;
        }

/* --- Design tokens --- */
:root {
    --teal: #0079BC;
    --teal-dark: #003470;
    --teal-light: #E6F4FF;
    --purple: #6f5fa4;
    --purple-light: #F0EEF8;
    --purple-mid: #8f6f9d;
    --green-bg: #EAF3DE;
    --green-text: #568E33;
    --green-border: #b6c447;
    --amber-bg: #FAEEDA;
    --amber-text: #854F0B;
    --amber-border: #FAC775;
    --red-bg: #FAECE7;
    --red-text: #993C1D;
    --red-border: #F5C4B3;
    --gray-50: #F8F8F8;
    --gray-100: #F1F1F1;
    --gray-200: #E0E0E0;
    --gray-400: #9E9E9E;
    --gray-600: #616161;
    --text: #1A1A1A;
    --text-sec: #5F5F5F;
    --text-tert: #9E9E9E;
    --border: #E0E0E0;
    --surface: #FFFFFF;
    --bg: #F5F5F5;
    --radius: 4px;
    --radius-lg: 8px;
}

/* --- Sensitivity / Micronutrient / Diet nav tabs --- */
.sens-tabs { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 24px; }
.sens-tabs .sens-tab { display: inline-flex; align-items: center; padding: 8px 18px; border-radius: 6px; font-size: 13px; font-weight: 600; border: 0.5px solid #e0e4ea; background: #fff; color: #555; cursor: pointer; text-decoration: none; }
.sens-tabs .sens-tab.active { background: #1a6fa8; color: #fff; border-color: #1a6fa8; }
.sens-tabs .sens-tab:hover:not(.active) { background: #eef6ff; color: #1a6fa8; border-color: #b5d4f4; }
/* --- Back button for detail pages --- */
button[type="submit"].dna-back-btn { display: inline-flex; align-items: center; gap: 7px; padding: 9px 18px; border-radius: 6px; background: #1a6fa8 !important; background-image: none !important; color: #fff; font-size: 13px; font-weight: 600; border: none; cursor: pointer; text-decoration: none; }

/* --- Section cards (overview tables) --- */
.section-card { background: var(--surface); border: 1px solid var(--border); border-radius: var(--radius-lg); overflow: hidden; margin-bottom: 1.25rem; }
.section-card-header { background: var(--teal); padding: 0.55rem 1rem; display: flex; justify-content: space-between; align-items: center; }
.section-card-header h3 { font-size: 13.5px; font-weight: 600; color: #fff; margin: 0; }
.section-card-header span { font-size: 12px; color: rgba(255,255,255,0.8); }
.table-row { display: flex; align-items: center; justify-content: space-between; padding: 0.55rem 1rem; border-bottom: 1px solid var(--gray-100); background: var(--surface); }
.table-row:last-child { border-bottom: none; }
.table-row:hover { background: var(--gray-50); }
.row-name { font-size: 13.5px; color: var(--text); }
.row-name.clickable { background: none; border: none; padding: 0; font-family: inherit; color: var(--teal); cursor: pointer; font-weight: 500; font-size: 13.5px; }
.row-name.clickable:hover { text-decoration: underline; }
.status-badge { display: flex; align-items: center; justify-content: center; width: 26px; height: 26px; border-radius: 50%; font-size: 13px; font-weight: 600; flex-shrink: 0; }
.sb-green  { background: var(--green-bg); color: var(--green-text); }
.sb-amber  { background: var(--amber-bg); color: var(--amber-text); }
.sb-yellow { background: #FFEC80; color: #7A5C00; }
.sb-gray   { background: var(--gray-100); color: var(--gray-400); }
.sb-blue   { background: #E6F1FB; color: #1a6fa8; }
.section-legend { display: flex; flex-wrap: wrap; gap: 12px; padding: 0.6rem 1rem; border-top: 1px solid var(--gray-100); background: var(--gray-50); font-size: 11.5px; color: #666; }
.legend-dot { width: 10px; height: 10px; border-radius: 50%; display: inline-block; flex-shrink: 0; }
.legend-item { display: inline-flex; align-items: center; gap: 6px; }

/* --- Sensitivity / Diet detail page --- */

/* result banner */
.result-banner { background: var(--surface); border: 1px solid var(--border); border-radius: var(--radius-lg); padding: 0.9rem 1.1rem; margin-bottom: 1rem; display: flex; align-items: center; gap: 1rem; }
.result-banner-icon { width: 48px; height: 48px; border-radius: var(--radius); background: var(--gray-100); display: flex; align-items: center; justify-content: center; font-size: 24px; flex-shrink: 0; }
.rb-label     { font-size: 11px; color: var(--text-tert); margin-bottom: 2px; }
.rb-phenotype { font-size: 15px; font-weight: 600; color: var(--text); }
.rb-note      { font-size: 11.5px; color: var(--text-tert); margin-top: 2px; }
.pill { display: inline-block; padding: 2px 9px; border-radius: 12px; font-size: 12px; font-weight: 500; margin-left: 6px; }
.pill-normal    { background: var(--green-bg); color: var(--green-text); }
.pill-light     { background: var(--amber-bg); color: var(--amber-text); }
.pill-sensitive { background: var(--red-bg);   color: var(--red-text); }
.pill-nodata    { background: var(--gray-100); color: var(--text-tert); }

/* content cards */
.ccard { background: var(--surface); border: 1px solid var(--border); border-radius: var(--radius-lg); padding: 1.1rem 1.25rem; margin-bottom: 1rem; }
.ccard h2 { font-size: 14.5px; font-weight: 600; color: var(--teal); margin-bottom: 0.65rem; }
.ccard h3 { font-size: 13.5px; font-weight: 600; color: var(--text); margin: 0.8rem 0 0.35rem; }
.ccard p  { font-size: 13.5px; color: var(--text-sec); line-height: 1.7; margin-bottom: 0.5rem; }
.ccard ul { padding-left: 1.2rem; margin-bottom: 0.5rem; }
.ccard ul li { font-size: 13.5px; color: var(--text-sec); line-height: 1.65; margin-bottom: 3px; }
.ccard ul li strong { color: var(--text); font-weight: 600; }
.ccard p:last-child, .ccard ul:last-child { margin-bottom: 0; }

/* food grid */
.food-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 0.65rem; margin: 0.65rem 0; }
.food-col  { background: var(--gray-50); border-radius: var(--radius); padding: 0.7rem 0.9rem; }
.food-col-title { font-size: 11px; font-weight: 700; text-transform: uppercase; letter-spacing: 0.05em; margin-bottom: 0.4rem; }
.food-col ul { list-style: none; padding: 0; }
.food-col ul li { font-size: 12.5px; color: var(--text-sec); line-height: 1.55; margin-bottom: 2px; }
.fc-avoid   .food-col-title { color: var(--red-text); }
.fc-limit   .food-col-title { color: var(--amber-text); }
.fc-support .food-col-title { color: var(--green-text); }

/* variant cards */
.vgrid3 { display: grid; grid-template-columns: repeat(3,1fr); gap: 0.65rem; margin: 0.65rem 0; }
.vgrid2 { display: grid; grid-template-columns: repeat(2,1fr); gap: 0.65rem; margin: 0.65rem 0; }
.vcard  { border-radius: var(--radius); padding: 0.7rem 0.85rem; border: 1px solid var(--border); }
.vcard .vg { font-size: 14px; font-weight: 600; margin-bottom: 3px; }
.vcard .vt { display: inline-block; font-size: 11px; padding: 2px 7px; border-radius: 10px; margin-bottom: 5px; }
.vcard p   { font-size: 12.5px; color: var(--text-sec); line-height: 1.55; margin: 0; }
.vc-g { border-color: var(--green-border); } .vc-g .vg { color: var(--green-text); } .vc-g .vt { background: var(--green-bg); color: var(--green-text); }
.vc-a { border-color: var(--amber-border); } .vc-a .vg { color: var(--amber-text); } .vc-a .vt { background: var(--amber-bg); color: var(--amber-text); }
.vc-r { border-color: var(--red-border); }   .vc-r .vg { color: var(--red-text); }   .vc-r .vt { background: var(--red-bg);   color: var(--red-text); }

/* phenotype cards */
.pgrid3 { display: grid; grid-template-columns: repeat(3,1fr); gap: 0.65rem; margin: 0.65rem 0; }
.pgrid2 { display: grid; grid-template-columns: repeat(2,1fr); gap: 0.65rem; margin: 0.65rem 0; }
.pcard  { border-radius: var(--radius); padding: 0.75rem 0.9rem; border: 1px solid var(--border); }
.pcard .pl { font-size: 10px; font-weight: 700; letter-spacing: 0.07em; text-transform: uppercase; margin-bottom: 2px; }
.pcard .pt { font-size: 13px; font-weight: 600; margin-bottom: 5px; }
.pcard p   { font-size: 12.5px; color: var(--text-sec); line-height: 1.55; margin: 0; }
.pc-em { border-color: var(--green-border); background: #f4faea; } .pc-em .pl, .pc-em .pt { color: var(--green-text); }
.pc-im { border-color: var(--amber-border); background: #fffbf2; } .pc-im .pl, .pc-im .pt { color: var(--amber-text); }
.pc-pm { border-color: var(--red-border);   background: #fdf3f0; } .pc-pm .pl, .pc-pm .pt { color: var(--red-text); }
.pcard.active { border-width: 2px; box-shadow: 0 2px 8px rgba(0,0,0,0.10); }
.pcard:not(.active) { opacity: 0.5; }
.pgrid3 .pcard:only-child, .pgrid2 .pcard:only-child { grid-column: 1 / -1; }

/* info boxes */
.notice-box { background: #EEF3FC; border: 1px solid #AABFEC; border-radius: var(--radius); padding: 0.65rem 0.9rem; font-size: 12.5px; color: #2B4DA0; line-height: 1.6; margin: 0.65rem 0; }
.nodata-box { background: var(--gray-100); border: 1px solid var(--border); border-radius: var(--radius); padding: 0.65rem 0.9rem; font-size: 12.5px; color: var(--text-sec); margin-bottom: 0.65rem; display: flex; align-items: flex-start; gap: 7px; }
.nodata-box svg { flex-shrink: 0; margin-top: 1px; color: var(--teal); }

/* hla grid (peanut) */
.hla-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 0.65rem; margin: 0.65rem 0; }
.hcard { border-radius: var(--radius); padding: 0.75rem 0.9rem; border: 1px solid var(--border); }
.hcard .hn { font-size: 14px; font-weight: 600; margin-bottom: 3px; }
.hcard .ht { display: inline-block; font-size: 11px; padding: 2px 7px; border-radius: 10px; margin-bottom: 5px; }
.hcard p { font-size: 12.5px; color: var(--text-sec); line-height: 1.55; margin: 0; }
.hc-r { border-color: var(--red-border);   background: #fdf3f0; } .hc-r .hn { color: var(--red-text); }   .hc-r .ht { background: var(--red-bg);   color: var(--red-text); }
.hc-a { border-color: var(--amber-border); background: #fffbf2; } .hc-a .hn { color: var(--amber-text); } .hc-a .ht { background: var(--amber-bg); color: var(--amber-text); }

/* form grid (folate) */
.form-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 0.65rem; margin: 0.65rem 0; }
.fcard { background: var(--gray-50); border-radius: var(--radius); padding: 0.75rem 0.9rem; }
.fcard .ft { font-size: 13px; font-weight: 600; color: var(--text); margin-bottom: 4px; }
.fcard p { font-size: 12.5px; color: var(--text-sec); line-height: 1.55; margin: 0; }

/* diet impact / recommendation table */
.diet-impact-table { width: 100%; border-collapse: collapse; font-size: 13px; margin-top: 0.65rem; }
.diet-impact-table th { background: var(--teal); color: #fff; padding: 0.5rem 0.75rem; text-align: center; font-weight: 500; font-size: 12.5px; }
.diet-impact-table td { padding: 0.5rem 0.75rem; border-bottom: 1px solid var(--gray-100); vertical-align: top; line-height: 1.55; color: var(--text-sec); }
.diet-impact-table tr:last-child td { border-bottom: none; }
.diet-impact-table tr:hover td { background: var(--gray-50); }
.diet-impact-table td:first-child { font-weight: 500; color: var(--text); white-space: nowrap; }
.gene-tag { display: inline-block; background: var(--teal-light); color: var(--teal-dark); font-size: 11px; font-weight: 500; padding: 1px 7px; border-radius: 10px; margin: 1px 2px 1px 0; white-space: nowrap; }
.rec-badge { display: inline-block; font-size: 11px; font-weight: 500; padding: 2px 8px; border-radius: 10px; white-space: nowrap; }
.rec-normal   { background: var(--green-bg); color: var(--green-text); }
.rec-increase { background: var(--green-bg); color: var(--green-text); }
.rec-include  { background: var(--amber-bg); color: var(--amber-text); }
.rec-limit    { background: #FAEEDA; color: #854F0B; }
.rec-avoid    { background: var(--red-bg); color: var(--red-text); }
.gene-tag-normal { background: var(--green-bg); color: var(--green-text); }
.gene-tag-altered { background: #FFEC80; color: #7A5C00; }

/* per-food-group gene-based badge rows */
.food-group-rows { display: flex; flex-direction: column; gap: 6px; margin: 0.65rem 0; }
.food-group-row { display: flex; align-items: center; flex-wrap: wrap; gap: 8px 10px; padding: 0.55rem 0.75rem; border-radius: var(--radius); background: var(--gray-50); }
.food-group-row .fgr-name { font-weight: 500; font-size: 13px; color: var(--text); min-width: 150px; }
.food-group-row .fgr-genes { display: flex; flex-wrap: wrap; margin-left: auto; }

/* diet page hero banner (meamedica.com marketing hero style) */
.diet-hero { position: relative; width: 100%; height: 440px; overflow: hidden; background-color: #d8e4ec; border-radius: var(--radius); margin-bottom: 1.5rem; }
.diet-hero-imgwrap { position: absolute; inset: 0; background-size: cover; background-position: center right; background-repeat: no-repeat; }
.diet-hero-overlay { position: absolute; inset: 0; background: linear-gradient(to right, rgba(238,248,252,0.98) 0%, rgba(238,248,252,0.92) 35%, rgba(238,248,252,0.45) 50%, rgba(238,248,252,0) 62%); }
.diet-hero-inner { position: relative; height: 100%; display: flex; align-items: center; padding: 0 40px; }
.diet-hero-text { max-width: 520px; min-width: 0; padding: 20px 0; }
.diet-hero-title { margin: 0; color: #0c6996; font-size: 32px; font-weight: 500; line-height: 1.2; overflow-wrap: break-word; }
.diet-hero-sub { color: #333333; font-size: 21px; font-weight: 400; line-height: 1.4; margin-top: 10px; }
.diet-hero-accent { width: 48px; height: 2px; background: #0c6996; border-radius: 1px; margin-top: 22px; margin-bottom: 6px; }
.diet-hero-benefits { list-style: none; margin: 16px 0 0; padding: 0; font-size: 16px; line-height: 2; color: #333333; }
.diet-hero-benefits li { display: flex; align-items: center; }
.diet-hero-benefits svg { color: #0c6996; width: 15px; height: 15px; margin-right: 8px; flex-shrink: 0; }

.diet-hero-mobile-img { display: none; }

@media (max-width: 768px) {
    .diet-hero { height: auto; background: none; border-radius: 0; }
    .diet-hero-imgwrap, .diet-hero-overlay { display: none; }
    .diet-hero-inner { display: block; padding: 0; height: auto; }
    .diet-hero-mobile-img { display: block; width: 100%; height: auto; border-radius: var(--radius); }
    .diet-hero-text { max-width: none; padding: 16px 0 0; }
    .diet-hero-title { font-size: 24px; }
    .diet-hero-sub { font-size: 17px; }
    .diet-hero-benefits { font-size: 15px; }
}

/* food-group icon in the impact table */
.fg-icon { width: 36px; height: 36px; border-radius: 6px; object-fit: cover; margin-right: 8px; vertical-align: middle; flex-shrink: 0; }

/* whole food-group row as a mini-hero (image + gradient, like the banner) */
.diet-impact-table td.fg-row-cell { padding: 0; }
.fg-row-hero { position: relative; height: 120px; overflow: hidden; }
.fg-row-hero-bg { position: absolute; inset: 0; background-size: cover; background-position: center; background-repeat: no-repeat; }
.fg-row-hero-overlay { position: absolute; inset: 0; background: linear-gradient(to right, rgba(255,255,255,0.97) 0%, rgba(255,255,255,0.9) 40%, rgba(255,255,255,0.45) 65%, rgba(255,255,255,0.05) 90%); }
.fg-row-hero-content { position: relative; height: 100%; display: flex; align-items: center; padding: 0 18px; gap: 24px; }
.fg-row-hero-name { width: 170px; font-weight: 600; flex-shrink: 0; color: var(--text); }
.fg-row-hero-sub { display: block; font-size: 12px; font-weight: 400; color: var(--text-sec); margin-top: 2px; }
.fg-row-hero-badge { width: 130px; flex-shrink: 0; }

/* diet landing list */
.diet-list { display: flex; flex-direction: column; gap: 0; }
.diet-card-row { display: flex; align-items: center; justify-content: space-between; padding: 0.75rem 1rem; border-bottom: 1px solid var(--gray-100); background: var(--surface); gap: 1rem; }
.diet-card-row:last-child { border-bottom: none; }
button[type="submit"].diet-card-left { display: flex; align-items: center; gap: 0.75rem; cursor: pointer; flex: 1; min-width: 0; background: none; background-image: none; border: none; padding: 0; text-align: left; color: inherit; font-weight: normal; border-radius: 0; }
button[type="submit"].diet-card-left:hover .diet-card-name { text-decoration: underline; }
.diet-card-img { width: 60px; height: 60px; object-fit: contain; flex-shrink: 0; }
.diet-card-name { font-size: 14px; font-weight: 500; color: var(--teal); }
.diet-card-sub { font-size: 12px; color: var(--text-tert); margin-top: 1px; }
.diet-card-right { display: flex; align-items: center; gap: 8px; flex-shrink: 0; }
.compat-badge { display: inline-flex; align-items: center; gap: 5px; padding: 4px 10px; border-radius: 20px; font-size: 12px; font-weight: 500; white-space: nowrap; }
.cb-compatible { background: var(--green-bg); color: var(--green-text); }
.cb-minor      { background: var(--amber-bg); color: var(--amber-text); }
.cb-low        { background: #FFF0D4; color: #7A4F00; }
.cb-pending    { background: var(--gray-100); color: var(--text-tert); font-style: italic; }
button[type="submit"].diet-open-btn { font-size: 12px; color: var(--teal); background: none; background-image: none; border: 1px solid var(--teal); border-radius: 12px; padding: 3px 10px; cursor: pointer; white-space: nowrap; flex-shrink: 0; font-weight: 500; }
button[type="submit"].diet-open-btn:hover { background: var(--teal-light); }

/* diet compatibility card */
.compat-card { border-radius: var(--radius-lg); border: 1px solid var(--border); overflow: hidden; margin-bottom: 1rem; box-sizing: border-box; }
.compat-header { display: flex; align-items: center; justify-content: space-between; padding: 0.85rem 1.1rem; background: var(--surface); border-bottom: 1px solid var(--border); }
.compat-header h2 { font-size: 14.5px; font-weight: 600; color: var(--teal); margin: 0; }
.compat-body { background: var(--surface); padding: 1rem 1.1rem; box-sizing: border-box; }
.compat-meter { display: flex; align-items: center; gap: 1rem; margin-bottom: 0.85rem; }
.compat-score-wrap { flex-shrink: 0; }
.compat-score { width: 72px; height: 72px; border-radius: 50%; display: flex; flex-direction: column; align-items: center; justify-content: center; font-size: 11px; font-weight: 600; text-align: center; line-height: 1.2; border: 3px solid currentColor; }
.compat-score .cs-num { font-size: 22px; font-weight: 700; line-height: 1; }
.compat-score .cs-label { font-size: 9px; text-transform: uppercase; letter-spacing: 0.05em; margin-top: 2px; }
.cs-recommended { color: var(--green-text); background: var(--green-bg); }
.cs-caution { color: var(--amber-text); background: var(--amber-bg); }
.cs-notideal { color: #7A4F00; background: #FFF0D4; }
.cs-avoid { color: var(--red-text); background: var(--red-bg); }
.cs-pending { color: var(--text-tert); background: var(--gray-100); }
.compat-summary { flex: 1; }
.compat-summary .cs-title { font-size: 15px; font-weight: 600; margin-bottom: 4px; }
.compat-summary .cs-desc { font-size: 13px; color: var(--text-sec); line-height: 1.6; }
.compat-meter-stacked { display: flex; flex-direction: column; gap: 0.6rem; margin-bottom: 0.85rem; }
.compat-meter-row { display: flex; align-items: center; gap: 0.75rem; }
.cs-level-label { font-size: 16px; font-weight: 600; }
.cs-level-label.cs-recommended, .cs-level-label.cs-caution, .cs-level-label.cs-notideal, .cs-level-label.cs-avoid, .cs-level-label.cs-pending { background: none; }
.compat-gene-rows { display: flex; flex-direction: column; gap: 6px; margin-bottom: 0.85rem; }
.compat-gene-row { display: flex; align-items: center; gap: 10px; padding: 0.45rem 0.75rem; border-radius: var(--radius); background: var(--gray-50); font-size: 13px; }
.compat-gene-row .cgr-gene { font-weight: 500; min-width: 100px; color: var(--text); }
.compat-gene-row .cgr-phenotype { flex: 1; color: var(--text-sec); }
.cgr-dot { width: 8px; height: 8px; border-radius: 50%; flex-shrink: 0; }
.cgr-green { background: var(--green-text); }
.cgr-amber { background: #E8A020; }
.cgr-red { background: var(--red-text); }
.cgr-gray { background: var(--gray-400); }
.compat-note { font-size: 12px; color: var(--text-tert); font-style: italic; }

/* --- Immune system report (Illumina) --- */
.imm-table-wrap { background: var(--surface); border: 0.5px solid #e0e4ea; border-radius: 10px; overflow: hidden; margin-bottom: 1rem; }
.imm-table { width: 100%; border-collapse: collapse; font-size: 13px; }
.imm-table th { background: #354955; text-align: left; padding: 12px 16px; font-size: 11px; font-weight: 600; color: #fff; letter-spacing: 0.02em; text-transform: uppercase; }
.imm-table th.imm-center, .imm-table td.imm-center { text-align: center; }
.imm-table td { padding: 10px 16px; color: #444; border-bottom: 0.5px solid #f0f2f5; vertical-align: top; }
.imm-table tr:last-child td { border-bottom: none; }
.imm-table td .status-badge { margin: 0 auto 4px; }
.imm-table td .status-badge:last-child { margin-bottom: 0; }
.imm-line { min-height: 30px; display: flex; align-items: center; gap: 4px; }
.imm-line-center { justify-content: center; }
.imm-table td .imm-line .status-badge { margin: 0; }
.imm-gene { font-weight: 600; color: var(--text); }
.imm-role { display: inline-block; font-size: 11px; padding: 2px 8px; border-radius: 10px; white-space: nowrap; margin: 0 4px 4px 0; }
.imm-role-risk { background: var(--amber-bg); color: var(--amber-text); }
.imm-role-prot { background: var(--green-bg); color: var(--green-text); }
button[type="submit"].imm-cnd-btn { display: inline-flex; align-items: center; gap: 5px; padding: 3px 10px; border-radius: 5px; font-size: 12px; font-weight: 600; background: #f2f4f5 !important; background-image: none !important; color: #294454 !important; border: 1px solid #dce2e5 !important; font-family: inherit; cursor: pointer; text-align: left; }
button[type="submit"].imm-cnd-btn:hover { background: #e8ecee !important; }
.imm-chip { display: inline-flex; align-items: center; gap: 4px; font-size: 11.5px; font-weight: 600; padding: 2px 8px; border-radius: 10px; margin: 0 4px 4px 0; white-space: nowrap; }
.imm-chip-risk    { background: #FFEC80; color: #7A5C00; }
.imm-chip-prot    { background: var(--green-bg); color: var(--green-text); }
.imm-chip-absent  { background: var(--gray-100); color: var(--text-sec); }
.imm-chip-pending { background: var(--gray-100); color: var(--text-tert); font-style: italic; }
.ccard .pcard p { font-size: 13.5px; line-height: 1.7; }
.ccard .nodata-box { margin-bottom: 0; }
.ccard h4 { font-size: 13.5px; font-weight: 600; color: var(--text); margin: 0.9rem 0 0.35rem; }
.ccard ul.imm-lit li { font-size: 12.5px; word-break: break-all; }
/* Immune result table: one group (tbody) per condition, calm SVG status badges */
.imm-table tbody th { background: none; color: inherit; text-transform: none; letter-spacing: 0; font-size: 13px; font-weight: 400; vertical-align: top; padding: 12px 16px; }
.imm-table tbody.imm-group td { padding: 3px 16px; height: 33px; border-bottom: none; vertical-align: middle; font-weight: 600; color: #20272d; }
.imm-table tbody.imm-group tr:first-child td { padding-top: 12px; }
.imm-table tbody.imm-group tr:last-child td { padding-bottom: 12px; }
.imm-table tbody.imm-group + tbody.imm-group { border-top: 1px solid #e3e6e8; }
.imm-badge { display: inline-grid; place-items: center; width: 26px; height: 26px; border-radius: 50%; vertical-align: middle; }
.imm-badge + .imm-badge { margin-left: 4px; }
.imm-badge::before { content: ""; width: 18px; height: 18px; background-color: currentColor; -webkit-mask-position: center; mask-position: center; -webkit-mask-size: contain; mask-size: contain; -webkit-mask-repeat: no-repeat; mask-repeat: no-repeat; }
.ib-risk    { background: #fcf1d9; color: #795014; }
.ib-risk::before { -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.9' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 5v9' stroke-width='2.5'/%3E%3Ccircle cx='12' cy='18' r='1.35' fill='black' stroke='none'/%3E%3C/svg%3E"); mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.9' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 5v9' stroke-width='2.5'/%3E%3Ccircle cx='12' cy='18' r='1.35' fill='black' stroke='none'/%3E%3C/svg%3E"); }
.ib-prot    { background: #eaf2eb; color: #375f46; }
.ib-prot::before { -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.9' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 3 5 6v5c0 4 3 7 7 9 4-2 7-5 7-9V6l-7-3Z'/%3E%3Cpath d='m9 11 2 2 4-4'/%3E%3C/svg%3E"); mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.9' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 3 5 6v5c0 4 3 7 7 9 4-2 7-5 7-9V6l-7-3Z'/%3E%3Cpath d='m9 11 2 2 4-4'/%3E%3C/svg%3E"); }
.ib-absent  { background: #eaf1f6; color: #365c75; }
.ib-absent::before { -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.9' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m5 12 4 4L19 6'/%3E%3C/svg%3E"); mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.9' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m5 12 4 4L19 6'/%3E%3C/svg%3E"); }
.ib-pending { background: #eef0f2; color: #505d68; }
.ib-pending::before { -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.9' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='8'/%3E%3Cpath d='M12 8v4l3 2'/%3E%3C/svg%3E"); mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.9' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='8'/%3E%3Cpath d='M12 8v4l3 2'/%3E%3C/svg%3E"); }
.section-legend.imm-legend { background: #fafbfc; border-top: 1px solid #e3e6e8; gap: 8px 16px; padding: 12px 15px; font-size: 12px; color: #525c63; }
.imm-legend .imm-badge { width: 24px; height: 24px; }
.imm-legend .imm-badge::before { width: 16px; height: 16px; }
.imm-intro { background: var(--surface); border: 0.5px solid #e0e4ea; border-radius: 12px; overflow: hidden; margin-bottom: 16px; box-shadow: 0 1px 3px rgba(26, 61, 92, 0.06); }
.imm-intro-head { display: flex; align-items: center; gap: 16px; padding: 18px 22px; background: linear-gradient(135deg, var(--teal-dark) 0%, var(--teal) 100%); }
.imm-intro-head img { width: 52px; height: 52px; flex-shrink: 0; background: #fff; border-radius: 50%; padding: 6px; box-sizing: border-box; object-fit: contain; }
.imm-intro-head h2 { font-size: 19px; font-weight: 600; color: #fff; margin: 0; }
.imm-intro-kicker { display: block; font-size: 11px; font-weight: 600; letter-spacing: 0.6px; text-transform: uppercase; color: rgba(255, 255, 255, 0.75); margin-bottom: 2px; }
.imm-intro-body { padding: 20px 22px 22px; }
.imm-intro-body p { font-size: 14px; color: #444; line-height: 1.7; margin: 0 0 12px; }
.imm-intro-body p.imm-intro-label { font-weight: 600; color: var(--teal-dark); margin: 16px 0 8px; }
.imm-intro-body > :last-child { margin-bottom: 0; }
.imm-intro-steps { list-style: none; counter-reset: immstep; margin: 0; padding: 0; border: 0.5px solid #e0e4ea; border-radius: 8px; overflow: hidden; }
.imm-intro-steps li { counter-increment: immstep; display: flex; align-items: center; gap: 12px; padding: 10px 14px; font-size: 14px; color: #444; border-bottom: 0.5px solid #f0f2f5; }
.imm-intro-steps li:last-child { border-bottom: none; }
.imm-intro-steps li::before { content: counter(immstep); width: 24px; height: 24px; flex-shrink: 0; border-radius: 6px; background: var(--teal-light); color: var(--teal); font-size: 12px; font-weight: 700; display: inline-flex; align-items: center; justify-content: center; }
.imm-intro-note { background: var(--teal-light); border-left: 4px solid var(--teal); border-radius: 0 8px 8px 0; padding: 12px 16px; margin-top: 16px; font-size: 13.5px; color: var(--teal-dark); line-height: 1.6; }
.imm-intro-body .dna-back-btn { margin-top: 16px; }
@media (max-width: 650px) { .imm-intro-head, .imm-intro-body { padding-left: 16px; padding-right: 16px; } }
.imm-rintro { display: flex; align-items: center; justify-content: space-between; gap: 32px; flex-wrap: wrap; background: var(--surface); border: 0.5px solid #e0e4ea; border-radius: 12px; padding: 22px 26px; margin-bottom: 16px; box-shadow: 0 1px 3px rgba(26, 61, 92, 0.06); }
.result-banner.imm-rb { align-items: center; background: linear-gradient(135deg, var(--teal-dark) 0%, var(--teal) 100%); border: none; border-radius: 12px; padding: 18px 22px; box-shadow: 0 1px 3px rgba(26, 61, 92, 0.06); }
.imm-rb .result-banner-icon { width: 80px; height: 80px; display: flex; align-items: center; justify-content: center; background: #fff; border-radius: 50%; flex-shrink: 0; }
.imm-rb .result-banner-icon img { width: 58px; height: 58px; object-fit: contain; }
.imm-rb .rb-label { font-size: 11px; font-weight: 600; letter-spacing: 0.6px; text-transform: uppercase; color: rgba(255, 255, 255, 0.75); }
.imm-rb .rb-phenotype { font-size: 19px; color: #fff; }
.imm-rb .rb-genes { font-size: 15px; color: rgba(255, 255, 255, 0.9); margin-top: 4px; }
.imm-rb .rb-genes strong { color: #fff; }
.imm-rb .rb-note { font-size: 13px; color: rgba(255, 255, 255, 0.75); margin-top: 6px; }
.imm-rb .pill { font-size: 14px; font-weight: 600; padding: 2px 10px; border-radius: 10px; }
.imm-rintro .imm-rintro-txt { flex: 1; min-width: 260px; }
.imm-rintro .imm-rintro-txt p { font-size: 14px; color: #444; line-height: 1.7; margin: 0 0 12px; }
.imm-rintro .imm-rintro-txt p:last-child { margin-bottom: 0; }
.imm-rintro img { width: 210px; height: auto; flex-shrink: 0; }
@media (max-width: 650px) { .imm-rintro { padding: 18px 16px; } .imm-rintro img { margin: 0 auto; } }

@media (max-width: 650px) {
    .vgrid3, .pgrid3, .hla-grid, .form-grid, .food-grid { grid-template-columns: 1fr; }
    .vgrid2, .pgrid2 { grid-template-columns: 1fr; }
    .diet-impact-table, .diet-impact-table thead, .diet-impact-table tbody, .diet-impact-table th, .diet-impact-table td, .diet-impact-table tr { display: block; }
    .imm-table th, .imm-table td { padding: 8px 10px; }
}

/* ── News cards (same look as MeaMedicaPro) ───────────── */
.news-list {
    margin: 1em 0 1.5em;
}
/* Link from the product page's news box to the full news page. */
.news-all-link {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    border: 1px solid #1676b6;
    border-radius: 20px;
    padding: 0.5rem 1.2rem;
    font-size: 13px;
    font-weight: 600;
    text-decoration: none;
    transition: background .15s, color .15s;
}
.news-all-link:link,
.news-all-link:visited { color: #1676b6; background: #ffffff; }
.news-all-link:hover,
.news-all-link:focus { color: #ffffff; background: #1676b6; text-decoration: none; }
.news-card {
    display: grid;
    grid-template-columns: 1fr;
    gap: 1.8rem;
    background: #ffffff;
    border: 1px solid #e6ebf1;
    border-radius: 16px;
    overflow: hidden;
    box-shadow: 0 1px 2px rgba(12,24,38,.04);
    margin-bottom: 1.2rem;
}
.news-card-body {
    padding: 1.6rem 1.8rem;
    display: flex;
    flex-direction: column;
    justify-content: center;
}
.news-card--text:has(.news-card-icon) {
    grid-template-columns: auto 1fr;
    gap: 1.2rem;
}
.news-card--text:has(.news-card-icon) .news-card-body {
    padding-left: 0;
}
.news-card-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 52px;
    height: 52px;
    margin: 1.6rem 0 0 1.8rem;
    border-radius: 14px;
    background: #eaf3fa;
    color: #1676b6;
    font-size: 24px;
    transition: transform .15s;
}
.news-card:nth-of-type(even) .news-card-icon {
    background: #e8f3f2;
    color: #357f79;
}
.news-card:hover .news-card-icon {
    transform: scale(1.06);
}
.news-card-source {
    display: inline-block;
    align-self: flex-start;
    font-weight: 700;
    font-size: 13px;
    color: #13283d;
    background: #f6f9fc;
    border: 1px solid #e6ebf1;
    border-radius: 6px;
    padding: 2px 8px;
    margin-bottom: 6px;
}
.news-card-title {
    font-size: 16px;
    font-weight: 600;
    color: #13283d;
    margin: 0 0 0.5rem;
    line-height: 1.35;
}
.news-card-meta {
    display: block;
    font-size: 11px;
    font-weight: 600;
    letter-spacing: 0.6px;
    text-transform: uppercase;
    color: #357f79;
    margin-bottom: 0.6rem;
}
.news-card-body p {
    font-size: 14px;
    color: #5e6c7b;
    line-height: 1.65;
    text-align: left;
    margin: 0 0 1.1rem;
}
.news-card-link {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    align-self: flex-start;
    background: #1676b6;
    color: #ffffff;
    font-size: 13px;
    font-weight: 600;
    text-decoration: none;
    border-radius: 20px;
    padding: 0.55rem 1.2rem;
    transition: background .15s;
}
/* Beat the global a:link / a:visited colours from site.css. */
.news-card-link:link,
.news-card-link:visited { color: #ffffff; }
.news-card-link:hover,
.news-card-link:focus { background: #0d567f; color: #ffffff; text-decoration: none; }

@media (max-width: 720px) {
    .news-card-body { padding: 1.4rem 1.6rem; }
    .news-card-icon { width: 40px; height: 40px; font-size: 18px; margin: 1.4rem 0 0 1.2rem; }
}

/*!
 * Fotorama 4.6.3 | http://fotorama.io/license/
 */
.fotorama__arr:focus:after,.fotorama__fullscreen-icon:focus:after,.fotorama__html,.fotorama__img,.fotorama__nav__frame:focus .fotorama__dot:after,.fotorama__nav__frame:focus .fotorama__thumb:after,.fotorama__stage__frame,.fotorama__stage__shaft,.fotorama__video iframe{position:absolute;width:100%;height:100%;top:0;right:0;left:0;bottom:0}.fotorama--fullscreen,.fotorama__img{max-width:99999px!important;max-height:99999px!important;min-width:0!important;min-height:0!important;border-radius:0!important;box-shadow:none!important;padding:0!important}.fotorama__wrap .fotorama__grab{cursor:move;cursor:-webkit-grab;cursor:-o-grab;cursor:-ms-grab;cursor:grab}.fotorama__grabbing *{cursor:move;cursor:-webkit-grabbing;cursor:-o-grabbing;cursor:-ms-grabbing;cursor:grabbing}.fotorama__spinner{position:absolute!important;top:50%!important;left:50%!important}.fotorama__wrap--css3 .fotorama__arr,.fotorama__wrap--css3 .fotorama__fullscreen-icon,.fotorama__wrap--css3 .fotorama__nav__shaft,.fotorama__wrap--css3 .fotorama__stage__shaft,.fotorama__wrap--css3 .fotorama__thumb-border,.fotorama__wrap--css3 .fotorama__video-close,.fotorama__wrap--css3 .fotorama__video-play{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}.fotorama__caption,.fotorama__nav:after,.fotorama__nav:before,.fotorama__stage:after,.fotorama__stage:before,.fotorama__wrap--css3 .fotorama__html,.fotorama__wrap--css3 .fotorama__nav,.fotorama__wrap--css3 .fotorama__spinner,.fotorama__wrap--css3 .fotorama__stage,.fotorama__wrap--css3 .fotorama__stage .fotorama__img,.fotorama__wrap--css3 .fotorama__stage__frame{-webkit-transform:translateZ(0);transform:translateZ(0)}.fotorama__arr:focus,.fotorama__fullscreen-icon:focus,.fotorama__nav__frame{outline:0}.fotorama__arr:focus:after,.fotorama__fullscreen-icon:focus:after,.fotorama__nav__frame:focus .fotorama__dot:after,.fotorama__nav__frame:focus .fotorama__thumb:after{content:'';border-radius:inherit;background-color:rgba(0,175,234,.5)}.fotorama__wrap--video .fotorama__stage,.fotorama__wrap--video .fotorama__stage__frame--video,.fotorama__wrap--video .fotorama__stage__frame--video .fotorama__html,.fotorama__wrap--video .fotorama__stage__frame--video .fotorama__img,.fotorama__wrap--video .fotorama__stage__shaft{-webkit-transform:none!important;transform:none!important}.fotorama__wrap--css3 .fotorama__nav__shaft,.fotorama__wrap--css3 .fotorama__stage__shaft,.fotorama__wrap--css3 .fotorama__thumb-border{transition-property:-webkit-transform,width;transition-property:transform,width;transition-timing-function:cubic-bezier(0.1,0,.25,1);transition-duration:0ms}.fotorama__arr,.fotorama__fullscreen-icon,.fotorama__no-select,.fotorama__video-close,.fotorama__video-play,.fotorama__wrap{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.fotorama__select{-webkit-user-select:text;-moz-user-select:text;-ms-user-select:text;user-select:text}.fotorama__nav,.fotorama__nav__frame{margin:auto;padding:0}.fotorama__caption__wrap,.fotorama__nav__frame,.fotorama__nav__shaft{-moz-box-orient:vertical;display:inline-block;vertical-align:middle;*display:inline;*zoom:1}.fotorama__nav__frame,.fotorama__thumb-border{box-sizing:content-box}.fotorama__caption__wrap{box-sizing:border-box}.fotorama--hidden,.fotorama__load{position:absolute;left:-99999px;top:-99999px;z-index:-1}.fotorama__arr,.fotorama__fullscreen-icon,.fotorama__nav,.fotorama__nav__frame,.fotorama__nav__shaft,.fotorama__stage__frame,.fotorama__stage__shaft,.fotorama__video-close,.fotorama__video-play{-webkit-tap-highlight-color:transparent}.fotorama__arr,.fotorama__fullscreen-icon,.fotorama__video-close,.fotorama__video-play{background:url(fotorama.png) no-repeat}@media (-webkit-min-device-pixel-ratio:1.5),(min-resolution:2dppx){.fotorama__arr,.fotorama__fullscreen-icon,.fotorama__video-close,.fotorama__video-play{background:url(fotorama@2x.png) 0 0/96px 160px no-repeat}}.fotorama__thumb{background-color:#7f7f7f;background-color:rgba(127,127,127,.2)}@media print{.fotorama__arr,.fotorama__fullscreen-icon,.fotorama__thumb-border,.fotorama__video-close,.fotorama__video-play{background:none!important}}.fotorama{min-width:1px;overflow:hidden}.fotorama:not(.fotorama--unobtrusive)>*:not(:first-child){display:none}.fullscreen{width:100%!important;height:100%!important;max-width:100%!important;max-height:100%!important;margin:0!important;padding:0!important;overflow:hidden!important;background:#000}.fotorama--fullscreen{position:absolute!important;top:0!important;left:0!important;right:0!important;bottom:0!important;float:none!important;z-index:2147483647!important;background:#000;width:100%!important;height:100%!important;margin:0!important}.fotorama--fullscreen .fotorama__nav,.fotorama--fullscreen .fotorama__stage{background:#000}.fotorama__wrap{-webkit-text-size-adjust:100%;position:relative;direction:ltr;z-index:0}.fotorama__wrap--rtl .fotorama__stage__frame{direction:rtl}.fotorama__nav,.fotorama__stage{overflow:hidden;position:relative;max-width:100%}.fotorama__wrap--pan-y{-ms-touch-action:pan-y}.fotorama__wrap .fotorama__pointer{cursor:pointer}.fotorama__wrap--slide .fotorama__stage__frame{opacity:1!important}.fotorama__stage__frame{overflow:hidden}.fotorama__stage__frame.fotorama__active{z-index:8}.fotorama__wrap--fade .fotorama__stage__frame{display:none}.fotorama__wrap--fade .fotorama__fade-front,.fotorama__wrap--fade .fotorama__fade-rear,.fotorama__wrap--fade .fotorama__stage__frame.fotorama__active{display:block;left:0;top:0}.fotorama__wrap--fade .fotorama__fade-front{z-index:8}.fotorama__wrap--fade .fotorama__fade-rear{z-index:7}.fotorama__wrap--fade .fotorama__fade-rear.fotorama__active{z-index:9}.fotorama__wrap--fade .fotorama__stage .fotorama__shadow{display:none}.fotorama__img{-ms-filter:"alpha(Opacity=0)";filter:alpha(opacity=0);opacity:0;border:none!important}.fotorama__error .fotorama__img,.fotorama__loaded .fotorama__img{-ms-filter:"alpha(Opacity=100)";filter:alpha(opacity=100);opacity:1}.fotorama--fullscreen .fotorama__loaded--full .fotorama__img,.fotorama__img--full{display:none}.fotorama--fullscreen .fotorama__loaded--full .fotorama__img--full{display:block}.fotorama__wrap--only-active .fotorama__nav,.fotorama__wrap--only-active .fotorama__stage{max-width:99999px!important}.fotorama__wrap--only-active .fotorama__stage__frame{visibility:hidden}.fotorama__wrap--only-active .fotorama__stage__frame.fotorama__active{visibility:visible}.fotorama__nav{font-size:0;line-height:0;text-align:center;display:none;white-space:nowrap;z-index:5}.fotorama__nav__shaft{position:relative;left:0;top:0;text-align:left}.fotorama__nav__frame{position:relative;cursor:pointer}.fotorama__nav--dots{display:block}.fotorama__nav--dots .fotorama__nav__frame{width:18px;height:30px}.fotorama__nav--dots .fotorama__nav__frame--thumb,.fotorama__nav--dots .fotorama__thumb-border{display:none}.fotorama__nav--thumbs{display:block}.fotorama__nav--thumbs .fotorama__nav__frame{padding-left:0!important}.fotorama__nav--thumbs .fotorama__nav__frame:last-child{padding-right:0!important}.fotorama__nav--thumbs .fotorama__nav__frame--dot{display:none}.fotorama__dot{display:block;width:4px;height:4px;position:relative;top:12px;left:6px;border-radius:6px;border:1px solid #7f7f7f}.fotorama__nav__frame:focus .fotorama__dot:after{padding:1px;top:-1px;left:-1px}.fotorama__nav__frame.fotorama__active .fotorama__dot{width:0;height:0;border-width:3px}.fotorama__nav__frame.fotorama__active .fotorama__dot:after{padding:3px;top:-3px;left:-3px}.fotorama__thumb{overflow:hidden;position:relative;width:100%;height:100%}.fotorama__nav__frame:focus .fotorama__thumb{z-index:2}.fotorama__thumb-border{position:absolute;z-index:9;top:0;left:0;border-style:solid;border-color:#00afea;background-image:linear-gradient(to bottom right,rgba(255,255,255,.25),rgba(64,64,64,.1))}.fotorama__caption{position:absolute;z-index:12;bottom:0;left:0;right:0;font-family:'Helvetica Neue',Arial,sans-serif;font-size:14px;line-height:1.5;color:#000}.fotorama__caption a{text-decoration:none;color:#000;border-bottom:1px solid;border-color:rgba(0,0,0,.5)}.fotorama__caption a:hover{color:#333;border-color:rgba(51,51,51,.5)}.fotorama__wrap--rtl .fotorama__caption{left:auto;right:0}.fotorama__wrap--no-captions .fotorama__caption,.fotorama__wrap--video .fotorama__caption{display:none}.fotorama__caption__wrap{background-color:#fff;background-color:rgba(255,255,255,.9);padding:5px 10px}@-webkit-keyframes spinner{0%{-webkit-transform:rotate(0);transform:rotate(0)}100%{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}@keyframes spinner{0%{-webkit-transform:rotate(0);transform:rotate(0)}100%{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}.fotorama__wrap--css3 .fotorama__spinner{-webkit-animation:spinner 24s infinite linear;animation:spinner 24s infinite linear}.fotorama__wrap--css3 .fotorama__html,.fotorama__wrap--css3 .fotorama__stage .fotorama__img{transition-property:opacity;transition-timing-function:linear;transition-duration:.3s}.fotorama__wrap--video .fotorama__stage__frame--video .fotorama__html,.fotorama__wrap--video .fotorama__stage__frame--video .fotorama__img{-ms-filter:"alpha(Opacity=0)";filter:alpha(opacity=0);opacity:0}.fotorama__select{cursor:auto}.fotorama__video{top:32px;right:0;bottom:0;left:0;position:absolute;z-index:10}@-moz-document url-prefix(){.fotorama__active{box-shadow:0 0 0 transparent}}.fotorama__arr,.fotorama__fullscreen-icon,.fotorama__video-close,.fotorama__video-play{position:absolute;z-index:11;cursor:pointer}.fotorama__arr{position:absolute;width:32px;height:32px;top:50%;margin-top:-16px}.fotorama__arr--prev{left:2px;background-position:0 0}.fotorama__arr--next{right:2px;background-position:-32px 0}.fotorama__arr--disabled{pointer-events:none;cursor:default;*display:none;opacity:.1}.fotorama__fullscreen-icon{width:32px;height:32px;top:2px;right:2px;background-position:0 -32px;z-index:20}.fotorama__arr:focus,.fotorama__fullscreen-icon:focus{border-radius:50%}.fotorama--fullscreen .fotorama__fullscreen-icon{background-position:-32px -32px}.fotorama__video-play{width:96px;height:96px;left:50%;top:50%;margin-left:-48px;margin-top:-48px;background-position:0 -64px;opacity:0}.fotorama__wrap--css2 .fotorama__video-play,.fotorama__wrap--video .fotorama__stage .fotorama__video-play{display:none}.fotorama__error .fotorama__video-play,.fotorama__loaded .fotorama__video-play,.fotorama__nav__frame .fotorama__video-play{opacity:1;display:block}.fotorama__nav__frame .fotorama__video-play{width:32px;height:32px;margin-left:-16px;margin-top:-16px;background-position:-64px -32px}.fotorama__video-close{width:32px;height:32px;top:0;right:0;background-position:-64px 0;z-index:20;opacity:0}.fotorama__wrap--css2 .fotorama__video-close{display:none}.fotorama__wrap--css3 .fotorama__video-close{-webkit-transform:translate3d(32px,-32px,0);transform:translate3d(32px,-32px,0)}.fotorama__wrap--video .fotorama__video-close{display:block;opacity:1}.fotorama__wrap--css3.fotorama__wrap--video .fotorama__video-close{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}.fotorama__wrap--no-controls.fotorama__wrap--toggle-arrows .fotorama__arr,.fotorama__wrap--no-controls.fotorama__wrap--toggle-arrows .fotorama__fullscreen-icon{opacity:0}.fotorama__wrap--no-controls.fotorama__wrap--toggle-arrows .fotorama__arr:focus,.fotorama__wrap--no-controls.fotorama__wrap--toggle-arrows .fotorama__fullscreen-icon:focus{opacity:1}.fotorama__wrap--video .fotorama__arr,.fotorama__wrap--video .fotorama__fullscreen-icon{opacity:0!important}.fotorama__wrap--css2.fotorama__wrap--no-controls.fotorama__wrap--toggle-arrows .fotorama__arr,.fotorama__wrap--css2.fotorama__wrap--no-controls.fotorama__wrap--toggle-arrows .fotorama__fullscreen-icon{display:none}.fotorama__wrap--css2.fotorama__wrap--no-controls.fotorama__wrap--toggle-arrows .fotorama__arr:focus,.fotorama__wrap--css2.fotorama__wrap--no-controls.fotorama__wrap--toggle-arrows .fotorama__fullscreen-icon:focus{display:block}.fotorama__wrap--css2.fotorama__wrap--video .fotorama__arr,.fotorama__wrap--css2.fotorama__wrap--video .fotorama__fullscreen-icon{display:none!important}.fotorama__wrap--css3.fotorama__wrap--no-controls.fotorama__wrap--slide.fotorama__wrap--toggle-arrows .fotorama__fullscreen-icon:not(:focus){-webkit-transform:translate3d(32px,-32px,0);transform:translate3d(32px,-32px,0)}.fotorama__wrap--css3.fotorama__wrap--no-controls.fotorama__wrap--slide.fotorama__wrap--toggle-arrows .fotorama__arr--prev:not(:focus){-webkit-transform:translate3d(-48px,0,0);transform:translate3d(-48px,0,0)}.fotorama__wrap--css3.fotorama__wrap--no-controls.fotorama__wrap--slide.fotorama__wrap--toggle-arrows .fotorama__arr--next:not(:focus){-webkit-transform:translate3d(48px,0,0);transform:translate3d(48px,0,0)}.fotorama__wrap--css3.fotorama__wrap--video .fotorama__fullscreen-icon{-webkit-transform:translate3d(32px,-32px,0)!important;transform:translate3d(32px,-32px,0)!important}.fotorama__wrap--css3.fotorama__wrap--video .fotorama__arr--prev{-webkit-transform:translate3d(-48px,0,0)!important;transform:translate3d(-48px,0,0)!important}.fotorama__wrap--css3.fotorama__wrap--video .fotorama__arr--next{-webkit-transform:translate3d(48px,0,0)!important;transform:translate3d(48px,0,0)!important}.fotorama__wrap--css3 .fotorama__arr:not(:focus),.fotorama__wrap--css3 .fotorama__fullscreen-icon:not(:focus),.fotorama__wrap--css3 .fotorama__video-close:not(:focus),.fotorama__wrap--css3 .fotorama__video-play:not(:focus){transition-property:-webkit-transform,opacity;transition-property:transform,opacity;transition-duration:.3s}.fotorama__nav:after,.fotorama__nav:before,.fotorama__stage:after,.fotorama__stage:before{content:"";display:block;position:absolute;text-decoration:none;top:0;bottom:0;width:10px;height:auto;z-index:10;pointer-events:none;background-repeat:no-repeat;background-size:1px 100%,5px 100%}.fotorama__nav:before,.fotorama__stage:before{background-image:linear-gradient(transparent,rgba(0,0,0,.2) 25%,rgba(0,0,0,.3) 75%,transparent),radial-gradient(farthest-side at 0 50%,rgba(0,0,0,.4),transparent);background-position:0 0,0 0;left:-10px}.fotorama__nav.fotorama__shadows--left:before,.fotorama__stage.fotorama__shadows--left:before{left:0}.fotorama__nav:after,.fotorama__stage:after{background-image:linear-gradient(transparent,rgba(0,0,0,.2) 25%,rgba(0,0,0,.3) 75%,transparent),radial-gradient(farthest-side at 100% 50%,rgba(0,0,0,.4),transparent);background-position:100% 0,100% 0;right:-10px}.fotorama__nav.fotorama__shadows--right:after,.fotorama__stage.fotorama__shadows--right:after{right:0}.fotorama--fullscreen .fotorama__nav:after,.fotorama--fullscreen .fotorama__nav:before,.fotorama--fullscreen .fotorama__stage:after,.fotorama--fullscreen .fotorama__stage:before,.fotorama__wrap--fade .fotorama__stage:after,.fotorama__wrap--fade .fotorama__stage:before,.fotorama__wrap--no-shadows .fotorama__nav:after,.fotorama__wrap--no-shadows .fotorama__nav:before,.fotorama__wrap--no-shadows .fotorama__stage:after,.fotorama__wrap--no-shadows .fotorama__stage:before{display:none}
