:root {
    --mp-card-bg: #f18dba;
    --mp-card-fg: #fafaff;
    --mp-service-bg: #f1d28e;
    --mp-service-fg: #27270a;
    --mp-region-bg: #aff18e;
    --mp-region-fg: #270a20;
    --mp-province-bg: #8ef1e9;
    --mp-province-fg: #27160a;
    --mp-city-bg: #f4b7ed;
    --mp-city-fg: #0a2720;

    /** bootstrap overrides **/
    --bs-primary: #e63b86;
    --bs-primary-rgb: 230, 59, 134;
    --bs-secondary: #f1d28e;
    --bs-secondary-rgb: 241, 210, 142;
    --bs-secondary-border-subtle: #f1d28e20;
    --bs-success: #aff18e;
    --bs-success-rgb: 175, 241, 142;
    --bs-info: #8ef1e9;
    --bs-info-rgb: 142, 241, 233;
    --bs-warning: #f1d28e;
    --bs-warning-rgb: 241, 210, 142;
    --bs-danger: #e66e3b;
    --bs-danger-rgb: 230, 59, 134;
    --bs-light: #ede6e0;
    --bs-light-rgb: 237, 230, 224;
    --bs-dark: #1a0f1f;
    --bs-dark-rgb: 26, 15, 31;
}

.bg-card {
    background-color: var(--mp-card-bg);
    color: var(--mp-card-fg);
}

.bg-service {
    background-color: var(--mp-service-bg);
    color: var(--mp-service-fg);
}

.bg-region {
    background-color: var(--mp-region-bg);
    color: var(--mp-region-fg);
}

.bg-province {
    background-color: var(--mp-province-bg);
    color: var(--mp-province-fg);
}

.bg-city {
    background-color: var(--mp-city-bg);
    color: var(--mp-city-fg);
}

.bg-primary {
    background-color: var(--bs-primary);
    color: #fff;
}

.bg-secondary {
    background-color: var(--bs-secondary);
    color: var(--mp-service-fg);
}

.bg-success {
    background-color: var(--bs-success);
    color: var(--mp-region-fg);
}

.bg-info {
    background-color: var(--bs-info);
    color: var(--mp-province-fg);
}

.bg-warning {
    background-color: var(--bs-warning);
    color: var(--mp-service-fg);
}

.bg-danger {
    background-color: var(--bs-danger);
    color: #fff;
}

.bg-light {
    background-color: var(--bs-light);
    color: var(--ink);
}

.bg-dark {
    background-color: var(--bs-dark);
    color: var(--cream);
}

.bg-primary-subtle {
    background-color: #f8d5e5 !important;
    color: var(--bs-primary) !important;
}

.bg-secondary-subtle {
    background-color: #faf4e6 !important;
    color: var(--mp-service-fg) !important;
}

.bg-success-subtle {
    background-color: #e8f8e0 !important;
    color: var(--mp-region-fg) !important;
}

.bg-info-subtle {
    background-color: #e0f8f6 !important;
    color: var(--mp-province-fg) !important;
}

.bg-warning-subtle {
    background-color: #faf4e6 !important;
    color: var(--mp-service-fg) !important;
}

.bg-danger-subtle {
    background-color: #fad5c8 !important;
    color: var(--bs-danger) !important;
}

.bg-light-subtle {
    background-color: #f8f5f2 !important;
    color: var(--ink) !important;
}

.bg-dark-subtle {
    background-color: #3d2f47 !important;
    color: var(--cream) !important;
}

/* ============ BOOTSTRAP BUTTON OVERRIDES ============ */
.btn-primary {
    background-color: var(--bs-primary);
    border-color: var(--bs-primary);
    color: #fff;
}

.btn-primary:hover {
    background-color: var(--magenta-deep);
    border-color: var(--magenta-deep);
    color: #fff;
}

.btn-primary:active,
.btn-primary.active {
    background-color: var(--magenta-deep) !important;
    border-color: var(--magenta-deep) !important;
    color: #fff;
}

.btn-primary:focus,
.btn-primary.focus {
    background-color: var(--magenta-deep) !important;
    border-color: var(--magenta-deep) !important;
    color: #fff;
    box-shadow: 0 0 0 0.25rem rgba(230, 59, 134, 0.25);
}

.btn-primary:disabled,
.btn-primary.disabled {
    background-color: var(--bs-primary) !important;
    border-color: var(--bs-primary) !important;
    opacity: 0.5;
    pointer-events: none;
}

.btn-secondary {
    background-color: var(--bs-secondary);
    border-color: var(--bs-secondary);
    color: var(--mp-service-fg);
}

.btn-secondary:hover {
    background-color: var(--gold);
    border-color: var(--gold);
    color: var(--ink);
}

.btn-secondary:active,
.btn-secondary.active {
    background-color: var(--gold) !important;
    border-color: var(--gold) !important;
    color: var(--ink);
}

.btn-secondary:focus,
.btn-secondary.focus {
    background-color: var(--gold) !important;
    border-color: var(--gold) !important;
    color: var(--ink);
    box-shadow: 0 0 0 0.25rem rgba(241, 210, 142, 0.25);
}

.btn-secondary:disabled,
.btn-secondary.disabled {
    background-color: var(--bs-secondary) !important;
    border-color: var(--bs-secondary) !important;
    opacity: 0.5;
    pointer-events: none;
}

.btn-success {
    background-color: var(--bs-success);
    border-color: var(--bs-success);
    color: var(--mp-region-fg);
}

.btn-success:hover {
    background-color: #8fd66e;
    border-color: #8fd66e;
    color: var(--ink);
}

.btn-success:active,
.btn-success.active,
.btn-success:focus,
.btn-success.focus {
    background-color: #8fd66e !important;
    border-color: #8fd66e !important;
    color: var(--ink);
}

.btn-success:focus,
.btn-success.focus {
    box-shadow: 0 0 0 0.25rem rgba(175, 241, 142, 0.25);
}

.btn-success:disabled,
.btn-success.disabled {
    background-color: var(--bs-success) !important;
    border-color: var(--bs-success) !important;
    opacity: 0.5;
    pointer-events: none;
}

.btn-info {
    background-color: var(--bs-info);
    border-color: var(--bs-info);
    color: var(--mp-province-fg);
}

.btn-info:hover {
    background-color: #6ed6cb;
    border-color: #6ed6cb;
    color: var(--ink);
}

.btn-info:active,
.btn-info.active,
.btn-info:focus,
.btn-info.focus {
    background-color: #6ed6cb !important;
    border-color: #6ed6cb !important;
    color: var(--ink);
}

.btn-info:focus,
.btn-info.focus {
    box-shadow: 0 0 0 0.25rem rgba(142, 241, 233, 0.25);
}

.btn-info:disabled,
.btn-info.disabled {
    background-color: var(--bs-info) !important;
    border-color: var(--bs-info) !important;
    opacity: 0.5;
    pointer-events: none;
}

.btn-warning {
    background-color: var(--bs-warning);
    border-color: var(--bs-warning);
    color: var(--mp-service-fg);
}

.btn-warning:hover {
    background-color: var(--gold);
    border-color: var(--gold);
    color: var(--ink);
}

.btn-warning:active,
.btn-warning.active,
.btn-warning:focus,
.btn-warning.focus {
    background-color: var(--gold) !important;
    border-color: var(--gold) !important;
    color: var(--ink);
}

.btn-warning:focus,
.btn-warning.focus {
    box-shadow: 0 0 0 0.25rem rgba(241, 210, 142, 0.25);
}

.btn-warning:disabled,
.btn-warning.disabled {
    background-color: var(--bs-warning) !important;
    border-color: var(--bs-warning) !important;
    opacity: 0.5;
    pointer-events: none;
}

.btn-danger {
    background-color: var(--bs-danger);
    border-color: var(--bs-danger);
    color: #fff;
}

.btn-danger:hover {
    background-color: #d3551e;
    border-color: #d3551e;
    color: #fff;
}

.btn-danger:active,
.btn-danger.active,
.btn-danger:focus,
.btn-danger.focus {
    background-color: #d3551e !important;
    border-color: #d3551e !important;
    color: #fff;
}

.btn-danger:focus,
.btn-danger.focus {
    box-shadow: 0 0 0 0.25rem rgba(230, 110, 59, 0.25);
}

.btn-danger:disabled,
.btn-danger.disabled {
    background-color: var(--bs-danger) !important;
    border-color: var(--bs-danger) !important;
    opacity: 0.5;
    pointer-events: none;
}

.btn-light {
    background-color: var(--bs-light);
    border-color: var(--bs-light);
    color: var(--ink);
}

.btn-light:hover {
    background-color: var(--cream-2);
    border-color: var(--cream-2);
    color: var(--ink);
}

.btn-light:active,
.btn-light.active,
.btn-light:focus,
.btn-light.focus {
    background-color: var(--cream-2) !important;
    border-color: var(--cream-2) !important;
    color: var(--ink);
}

.btn-light:focus,
.btn-light.focus {
    box-shadow: 0 0 0 0.25rem rgba(248, 242, 236, 0.25);
}

.btn-light:disabled,
.btn-light.disabled {
    background-color: var(--bs-light) !important;
    border-color: var(--bs-light) !important;
    opacity: 0.5;
    pointer-events: none;
}

.btn-dark {
    background-color: var(--bs-dark);
    border-color: var(--bs-dark);
    color: var(--cream);
}

.btn-dark:hover {
    background-color: var(--ink-2);
    border-color: var(--ink-2);
    color: var(--cream);
}

.btn-dark:active,
.btn-dark.active,
.btn-dark:focus,
.btn-dark.focus {
    background-color: var(--ink-2) !important;
    border-color: var(--ink-2) !important;
    color: var(--cream);
}

.btn-dark:focus,
.btn-dark.focus {
    box-shadow: 0 0 0 0.25rem rgba(26, 15, 31, 0.25);
}

.btn-dark:disabled,
.btn-dark.disabled {
    background-color: var(--bs-dark) !important;
    border-color: var(--bs-dark) !important;
    opacity: 0.5;
    pointer-events: none;
}

/* Outline button variants */
.btn-outline-primary {
    border-color: var(--bs-primary) !important;
    color: var(--bs-primary) !important;
    background-color: transparent !important;
}

.btn-outline-primary:hover {
    background-color: var(--bs-primary) !important;
    border-color: var(--bs-primary) !important;
    color: #fff !important;
}

.btn-outline-primary:active,
.btn-outline-primary.active,
.btn-outline-primary:focus,
.btn-outline-primary.focus {
    background-color: var(--bs-primary) !important;
    border-color: var(--bs-primary) !important;
    color: #fff !important;
}

.btn-outline-primary:focus,
.btn-outline-primary.focus {
    box-shadow: 0 0 0 0.25rem rgba(230, 59, 134, 0.25) !important;
}

.btn-outline-primary:disabled,
.btn-outline-primary.disabled {
    color: var(--bs-primary) !important;
    background-color: transparent !important;
    opacity: 0.5;
    pointer-events: none;
}

.btn-outline-secondary {
    border-color: var(--bs-secondary) !important;
    color: var(--mp-service-fg) !important;
    background-color: transparent !important;
}

.btn-outline-secondary:hover {
    background-color: var(--bs-secondary) !important;
    border-color: var(--bs-secondary) !important;
    color: var(--mp-service-fg) !important;
}

.btn-outline-secondary:active,
.btn-outline-secondary.active,
.btn-outline-secondary:focus,
.btn-outline-secondary.focus {
    background-color: var(--bs-secondary) !important;
    border-color: var(--bs-secondary) !important;
    color: var(--mp-service-fg) !important;
}

.btn-outline-secondary:focus,
.btn-outline-secondary.focus {
    box-shadow: 0 0 0 0.25rem rgba(241, 210, 142, 0.25) !important;
}

.btn-outline-secondary:disabled,
.btn-outline-secondary.disabled {
    color: var(--mp-service-fg) !important;
    background-color: transparent !important;
    opacity: 0.5;
    pointer-events: none;
}

.btn-outline-success {
    border-color: var(--bs-success) !important;
    color: #4d8e39 !important;
    background-color: transparent !important;
}

.btn-outline-success:hover {
    background-color: var(--bs-success) !important;
    border-color: var(--bs-success) !important;
    color: var(--mp-region-fg) !important;
}

.btn-outline-success:active,
.btn-outline-success.active,
.btn-outline-success:focus,
.btn-outline-success.focus {
    background-color: var(--bs-success) !important;
    border-color: var(--bs-success) !important;
    color: var(--mp-region-fg) !important;
}

.btn-outline-success:focus,
.btn-outline-success.focus {
    box-shadow: 0 0 0 0.25rem rgba(175, 241, 142, 0.25) !important;
}

.btn-outline-success:disabled,
.btn-outline-success.disabled {
    color: #4d8e39 !important;
    background-color: transparent !important;
    opacity: 0.5;
    pointer-events: none;
}

.btn-outline-danger {
    border-color: var(--bs-danger) !important;
    color: var(--bs-danger) !important;
    background-color: transparent !important;
}

.btn-outline-danger:hover {
    background-color: var(--bs-danger) !important;
    border-color: var(--bs-danger) !important;
    color: #fff;
}

.btn-outline-danger:active,
.btn-outline-danger.active,
.btn-outline-danger:focus,
.btn-outline-danger.focus {
    background-color: var(--bs-danger) !important;
    border-color: var(--bs-danger) !important;
    color: #fff !important;
}

.btn-outline-danger:focus,
.btn-outline-danger.focus {
    box-shadow: 0 0 0 0.25rem rgba(230, 110, 59, 0.25) !important;
}

.btn-outline-danger:disabled,
.btn-outline-danger.disabled {
    color: var(--bs-danger) !important;
    background-color: transparent !important;
    opacity: 0.5;
    pointer-events: none;
}

.btn-outline-dark {
    border-color: var(--bs-dark) !important;
    color: var(--bs-dark) !important;
    background-color: transparent !important;
}

.btn-outline-dark:hover {
    background-color: var(--bs-dark) !important;
    border-color: var(--bs-dark) !important;
    color: var(--cream) !important;
}

.btn-outline-dark:active,
.btn-outline-dark.active,
.btn-outline-dark:focus,
.btn-outline-dark.focus {
    background-color: var(--bs-dark) !important;
    border-color: var(--bs-dark) !important;
    color: var(--cream) !important;
}

.btn-outline-dark:focus,
.btn-outline-dark.focus {
    box-shadow: 0 0 0 0.25rem rgba(26, 15, 31, 0.25) !important;
}

.btn-outline-dark:disabled,
.btn-outline-dark.disabled {
    color: var(--bs-dark) !important;
    background-color: transparent !important;
    opacity: 0.5;
    pointer-events: none;
}

.btn-outline-light {
    border-color: var(--bs-light) !important;
    color: var(--ink) !important;
    background-color: transparent !important;
}

.btn-outline-light:hover {
    background-color: var(--bs-light) !important;
    border-color: var(--bs-light) !important;
    color: var(--ink) !important;
}

.btn-outline-light:active,
.btn-outline-light.active,
.btn-outline-light:focus,
.btn-outline-light.focus {
    background-color: var(--bs-light) !important;
    border-color: var(--bs-light) !important;
    color: var(--ink) !important;
}

.btn-outline-light:focus,
.btn-outline-light.focus {
    box-shadow: 0 0 0 0.25rem rgba(248, 242, 236, 0.25) !important;
}

.btn-outline-light:disabled,
.btn-outline-light.disabled {
    color: var(--ink) !important;
    background-color: transparent !important;
    opacity: 0.5;
    pointer-events: none;
}

a {
    color: var(--ink);
    transition: color 0.15s ease;
}

a:hover {
    color: var(--magenta);
}

a:active {
    color: var(--magenta-deep);
}

a:focus {
    color: var(--magenta);
    outline: 2px solid var(--magenta);
    outline-offset: 2px;
}

.table-striped > tbody > tr:nth-of-type(odd) > * {
    background-color: var(--bs-white);
}

.table-striped > tbody > tr:nth-of-type(even) > * {
    background-color: var(--bs-light);
}

.card-header {
    background-color: var(--bs-light);
}

.form-group > label {
    font-size: 120%;
}

.form-group.required > label:after {
    content: " *";
    color: var(--bs-danger);
}

ul.pagination {
    margin: 0 auto;
    width: fit-content;
}

ul.pagination li,
.book-pagination ul.pagination li {
    background-color: var(--bs-gray-200);
    border: 1px solid var(--bs-gray-400);
    border-radius: 8px;
    padding: 5px 10px;
    margin: auto 3px;
}

ul.pagination li.active,
.book-pagination ul.pagination li.active {
    background-color: var(--bs-light);
    border: 1px solid var(--bs-primary);
    font-weight: bold;
}

ul.pagination li a,
.book-pagination ul.pagination li a {
    text-decoration: none;
}

.floating-message {
    position: fixed;
    top: 10px;
    right: 10px;
    z-index: 1050;
}

.overlay {
    position: fixed;
    width: 100%;
    height: 100%;
    z-index: 1000;
    top: 0;
    left: 0;
    opacity: 0.5;
    filter: alpha(opacity=50);
    background-color: var(--bs-secondary-border-subtle);
 }

.overlay div {
    align-items: center;
    height: 100%;
}

.floating-message {
    position: fixed;
    top: 10px;
    right: 10px;
    z-index: 10500;
}

.profile-type-link:hover * {
    background-color: var(--bs-primary);
    color: var(--bs-gray-300);
}

.profile-type-link:hover .text-primary {
    font-weight: bold;
    color: var(--bs-white) !important;
}

.card-image {
    overflow: hidden;
    box-shadow: 0 0.5rem 1rem rgba(var(--bs-primary-rgb), 0.15);
}

.cookie-button {
    position: fixed;
    bottom: .8em;
    left: .8em;
    z-index: 1000000;
    padding: .4em .7em !important;
}

@font-face {
    font-family: 'Instrument Serif';
    font-style: italic;
    font-weight: 400;
    font-display: swap;
    src: url("fonts/instrument_serif-400-italic-latin-ext.woff2") format('woff2');
    unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
    font-family: 'Instrument Serif';
    font-style: italic;
    font-weight: 400;
    font-display: swap;
    src: url("fonts/instrument_serif-400-italic-latin.woff2") format('woff2');
    unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* latin-ext */
@font-face {
    font-family: 'Instrument Serif';
    font-style: normal;
    font-weight: 400;
    font-display: swap;
    src: url("fonts/instrument_serif-400-normal-latin-ext.woff2") format('woff2');
    unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
    font-family: 'Instrument Serif';
    font-style: normal;
    font-weight: 400;
    font-display: swap;
    src: url("fonts/instrument_serif-400-normal-latin.woff2") format('woff2');
    unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* cyrillic-ext */
@font-face {
    font-family: 'JetBrains Mono';
    font-style: normal;
    font-weight: 400;
    font-display: swap;
    src: url("fonts/jetbrains_mono-400-normal-cyrillic-ext.woff2") format('woff2');
    unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
/* cyrillic */
@font-face {
    font-family: 'JetBrains Mono';
    font-style: normal;
    font-weight: 400;
    font-display: swap;
    src: url("fonts/jetbrains_mono-400-normal-cyrillic.woff2") format('woff2');
    unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* greek */
@font-face {
    font-family: 'JetBrains Mono';
    font-style: normal;
    font-weight: 400;
    font-display: swap;
    src: url("fonts/jetbrains_mono-400-normal-greek.woff2") format('woff2');
    unicode-range: U+0370-0377, U+037A-037F, U+0384-038A, U+038C, U+038E-03A1, U+03A3-03FF;
}
/* vietnamese */
@font-face {
    font-family: 'JetBrains Mono';
    font-style: normal;
    font-weight: 400;
    font-display: swap;
    src: url("fonts/jetbrains_mono-400-normal-vietnamese.woff2") format('woff2');
    unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
    font-family: 'JetBrains Mono';
    font-style: normal;
    font-weight: 400;
    font-display: swap;
    src: url("fonts/jetbrains_mono-400-normal-latin-ext.woff2") format('woff2');
    unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
    font-family: 'JetBrains Mono';
    font-style: normal;
    font-weight: 400;
    font-display: swap;
    src: url("fonts/jetbrains_mono-400-normal-latin.woff2") format('woff2');
    unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* cyrillic-ext */
@font-face {
    font-family: 'JetBrains Mono';
    font-style: normal;
    font-weight: 500;
    font-display: swap;
    src: url("fonts/jetbrains_mono-500-normal-cyrillic-ext.woff2") format('woff2');
    unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
/* cyrillic */
@font-face {
    font-family: 'JetBrains Mono';
    font-style: normal;
    font-weight: 500;
    font-display: swap;
    src: url("fonts/jetbrains_mono-500-normal-cyrillic.woff2") format('woff2');
    unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* greek */
@font-face {
    font-family: 'JetBrains Mono';
    font-style: normal;
    font-weight: 500;
    font-display: swap;
    src: url("fonts/jetbrains_mono-500-normal-greek.woff2") format('woff2');
    unicode-range: U+0370-0377, U+037A-037F, U+0384-038A, U+038C, U+038E-03A1, U+03A3-03FF;
}
/* vietnamese */
@font-face {
    font-family: 'JetBrains Mono';
    font-style: normal;
    font-weight: 500;
    font-display: swap;
    src: url("fonts/jetbrains_mono-500-normal-vietnamese.woff2") format('woff2');
    unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
    font-family: 'JetBrains Mono';
    font-style: normal;
    font-weight: 500;
    font-display: swap;
    src: url("fonts/jetbrains_mono-500-normal-latin-ext.woff2") format('woff2');
    unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
    font-family: 'JetBrains Mono';
    font-style: normal;
    font-weight: 500;
    font-display: swap;
    src: url("fonts/jetbrains_mono-500-normal-latin.woff2") format('woff2');
    unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* cyrillic-ext */
@font-face {
    font-family: 'Plus Jakarta Sans';
    font-style: normal;
    font-weight: 300;
    font-display: swap;
    src: url("fonts/plus_jakarta_sans-300-normal-cyrillic-ext.woff2") format('woff2');
    unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
/* vietnamese */
@font-face {
    font-family: 'Plus Jakarta Sans';
    font-style: normal;
    font-weight: 300;
    font-display: swap;
    src: url("fonts/plus_jakarta_sans-300-normal-vietnamese.woff2") format('woff2');
    unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
    font-family: 'Plus Jakarta Sans';
    font-style: normal;
    font-weight: 300;
    font-display: swap;
    src: url("fonts/plus_jakarta_sans-300-normal-latin-ext.woff2") format('woff2');
    unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
    font-family: 'Plus Jakarta Sans';
    font-style: normal;
    font-weight: 300;
    font-display: swap;
    src: url("fonts/plus_jakarta_sans-300-normal-latin.woff2") format('woff2');
    unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* cyrillic-ext */
@font-face {
    font-family: 'Plus Jakarta Sans';
    font-style: normal;
    font-weight: 400;
    font-display: swap;
    src: url("fonts/plus_jakarta_sans-400-normal-cyrillic-ext.woff2") format('woff2');
    unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
/* vietnamese */
@font-face {
    font-family: 'Plus Jakarta Sans';
    font-style: normal;
    font-weight: 400;
    font-display: swap;
    src: url("fonts/plus_jakarta_sans-400-normal-vietnamese.woff2") format('woff2');
    unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
    font-family: 'Plus Jakarta Sans';
    font-style: normal;
    font-weight: 400;
    font-display: swap;
    src: url("fonts/plus_jakarta_sans-400-normal-latin-ext.woff2") format('woff2');
    unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
    font-family: 'Plus Jakarta Sans';
    font-style: normal;
    font-weight: 400;
    font-display: swap;
    src: url("fonts/plus_jakarta_sans-400-normal-latin.woff2") format('woff2');
    unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* cyrillic-ext */
@font-face {
    font-family: 'Plus Jakarta Sans';
    font-style: normal;
    font-weight: 500;
    font-display: swap;
    src: url("fonts/plus_jakarta_sans-500-normal-cyrillic-ext.woff2") format('woff2');
    unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
/* vietnamese */
@font-face {
    font-family: 'Plus Jakarta Sans';
    font-style: normal;
    font-weight: 500;
    font-display: swap;
    src: url("fonts/plus_jakarta_sans-500-normal-vietnamese.woff2") format('woff2');
    unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
    font-family: 'Plus Jakarta Sans';
    font-style: normal;
    font-weight: 500;
    font-display: swap;
    src: url("fonts/plus_jakarta_sans-500-normal-latin-ext.woff2") format('woff2');
    unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
    font-family: 'Plus Jakarta Sans';
    font-style: normal;
    font-weight: 500;
    font-display: swap;
    src: url("fonts/plus_jakarta_sans-500-normal-latin.woff2") format('woff2');
    unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* cyrillic-ext */
@font-face {
    font-family: 'Plus Jakarta Sans';
    font-style: normal;
    font-weight: 600;
    font-display: swap;
    src: url("fonts/plus_jakarta_sans-600-normal-cyrillic-ext.woff2") format('woff2');
    unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
/* vietnamese */
@font-face {
    font-family: 'Plus Jakarta Sans';
    font-style: normal;
    font-weight: 600;
    font-display: swap;
    src: url("fonts/plus_jakarta_sans-600-normal-vietnamese.woff2") format('woff2');
    unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
    font-family: 'Plus Jakarta Sans';
    font-style: normal;
    font-weight: 600;
    font-display: swap;
    src: url("fonts/plus_jakarta_sans-600-normal-latin-ext.woff2") format('woff2');
    unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
    font-family: 'Plus Jakarta Sans';
    font-style: normal;
    font-weight: 600;
    font-display: swap;
    src: url("fonts/plus_jakarta_sans-600-normal-latin.woff2") format('woff2');
    unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* cyrillic-ext */
@font-face {
    font-family: 'Plus Jakarta Sans';
    font-style: normal;
    font-weight: 700;
    font-display: swap;
    src: url("fonts/plus_jakarta_sans-700-normal-cyrillic-ext.woff2") format('woff2');
    unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
/* vietnamese */
@font-face {
    font-family: 'Plus Jakarta Sans';
    font-style: normal;
    font-weight: 700;
    font-display: swap;
    src: url("fonts/plus_jakarta_sans-700-normal-vietnamese.woff2") format('woff2');
    unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
    font-family: 'Plus Jakarta Sans';
    font-style: normal;
    font-weight: 700;
    font-display: swap;
    src: url("fonts/plus_jakarta_sans-700-normal-latin-ext.woff2") format('woff2');
    unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
    font-family: 'Plus Jakarta Sans';
    font-style: normal;
    font-weight: 700;
    font-display: swap;
    src: url("fonts/plus_jakarta_sans-700-normal-latin.woff2") format('woff2');
    unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* cyrillic-ext */
@font-face {
    font-family: 'Plus Jakarta Sans';
    font-style: normal;
    font-weight: 800;
    font-display: swap;
    src: url("fonts/plus_jakarta_sans-800-normal-cyrillic-ext.woff2") format('woff2');
    unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
/* vietnamese */
@font-face {
    font-family: 'Plus Jakarta Sans';
    font-style: normal;
    font-weight: 800;
    font-display: swap;
    src: url("fonts/plus_jakarta_sans-800-normal-vietnamese.woff2") format('woff2');
    unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
    font-family: 'Plus Jakarta Sans';
    font-style: normal;
    font-weight: 800;
    font-display: swap;
    src: url("fonts/plus_jakarta_sans-800-normal-latin-ext.woff2") format('woff2');
    unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
    font-family: 'Plus Jakarta Sans';
    font-style: normal;
    font-weight: 800;
    font-display: swap;
    src: url("fonts/plus_jakarta_sans-800-normal-latin.woff2") format('woff2');
    unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
:root{
     --magenta:#D6196E;
     --magenta-deep:#A8124F;
     --magenta-soft:#F5C9DB;
     --ink:#1A0F1F;
     --ink-2:#2B1B33;
     --cream:#F8F2EC;
     --cream-2:#EFE6DA;
     --gold:#E8B84A;
     --rule:#D9CBBE;
     --muted:rgba(26,15,31,.58);
 }
*{ box-sizing:border-box; }
html,body{ margin:0; padding:0; }
body{
    background:var(--cream);
    color:var(--ink);
    font-family:"Plus Jakarta Sans", system-ui, sans-serif;
    -webkit-font-smoothing:antialiased;
}
.eyebrow{
    font-family:"JetBrains Mono", monospace;
    font-size:12px; letter-spacing:.18em; text-transform:uppercase;
    font-weight:500; color:var(--magenta);
}

/* ============ HEADER ============ */
header.page {
    background:var(--ink);
    color:var(--cream);
    padding:54px 48px 48px;
    position:relative;
    overflow:hidden;
}

header nav.page-backend {
    background: var(--ink);
    color: var(--cream);
    padding: 1em;
    position: relative;
}

.wrap { max-width:1320px; margin:0 auto; }
a.mini-logo {
    display:inline-flex; align-items:center; gap:14px;
    font-family:"Plus Jakarta Sans"; font-weight:800;
    letter-spacing:.04em; text-transform:uppercase; font-size:18px;
    color:var(--cream);
    text-decoration:none;
}
.mini-logo .disc {
    width:40px; height:40px; border-radius:50%;
    background:radial-gradient(circle at 30% 30%, #E63B86, var(--magenta) 60%, var(--magenta-deep));
    position:relative; flex:none;
    box-shadow: inset 0 0 0 2px rgba(255,255,255,.14);
}
.mini-logo .disc::after{
    content:"★"; position:absolute; right:-3px; bottom:-4px;
    font-size:13px; color:var(--gold);
}
header.page h1{
    font-family:"Instrument Serif", serif; font-weight:400;
    font-size:clamp(40px, 6vw, 76px); line-height:1; letter-spacing:-0.015em;
    margin:34px 0 0; max-width:18ch;
}
header.page h1 em{ font-style:italic; color:var(--gold); }
header.page .lead{
    font-size:18px; line-height:1.5; color:rgba(248,242,236,.72);
    max-width:62ch; margin:26px 0 0; font-weight:300;
}
header.page .lead b{ color:var(--cream); font-weight:600; }
.fn-row{
    display:flex; flex-wrap:wrap; gap:10px; margin-top:34px;
}
.fn-chip{
    display:inline-flex; align-items:center; gap:9px;
    border:1px solid rgba(248,242,236,.22);
    padding:9px 15px; border-radius:999px;
    font-family:"JetBrains Mono", monospace; font-size:12px;
    letter-spacing:.06em; color:rgba(248,242,236,.85);
}
.fn-chip .n{ color:var(--gold); }
.header-meta{
    position:absolute; top:54px; right:48px;
    text-align:right; font-family:"JetBrains Mono", monospace;
    font-size:12px; letter-spacing:.12em; text-transform:uppercase;
    color:rgba(248,242,236,.5);
}
@media (max-width:1920px) {
    .header-meta{
        position:absolute;
        top: 110px;
        right: 48px;
    }
}
@media (max-width:760px){ .header-meta{ display:none; } }

/* ============ INDEX BAR ============ */
.salone-index{
    position:sticky; top:0; z-index:50;
    margin:-48px -48px 32px; padding:13px 48px;
    display:flex; gap:8px; align-items:center; overflow-x:auto;
    background:rgba(248,242,236,.92); backdrop-filter:blur(10px);
    border-bottom:1px solid var(--rule);
    scrollbar-width:thin;
}
.salone-index .ix-lab{
    flex:none; font-family:"JetBrains Mono", monospace; font-size:10px;
    letter-spacing:.14em; text-transform:uppercase; color:var(--muted); margin-right:4px;
}
.salone-index a{
    flex:none; text-decoration:none; color:var(--ink-2);
    font-size:12.5px; font-weight:600; padding:7px 13px; border-radius:999px;
    border:1px solid var(--rule); background:#fff; white-space:nowrap;
    display:inline-flex; align-items:center; gap:7px; transition:background .14s, color .14s, border-color .14s;
}
.salone-index a:hover{ background:var(--ink); color:var(--cream); border-color:var(--ink); }
.salone-index a .n{ font-family:"JetBrains Mono", monospace; font-size:10px; color:var(--muted); }
.salone-index a:hover .n{ color:rgba(248,242,236,.7); }
.salone-index a.feat{ border-color:var(--magenta); }
.salone-index a.feat::after{ content:"\2605"; color:var(--gold); font-size:11px; }
.scheda{ scroll-margin-top:70px; }
@media (max-width:1080px){ .salone-index{ margin:-36px -24px 24px; padding:11px 24px; } }

/* ============ GRID ============ */
main{
    padding: 20px 36px 60px;
}

.grid{
     max-width:1320px; margin:0 auto;
     display:grid; gap:28px;
     grid-template-columns:repeat(2, minmax(0,1fr));
}
@media (max-width:1080px){ .grid{ grid-template-columns:1fr; } main{ padding:36px 24px 64px; } header.page{ padding:44px 24px; } .header-meta{ display:none; } }

/* ============ SCHEDA ============ */
.scheda{
    background:#fff;
    border:1px solid var(--rule);
    border-radius:10px;
    padding:30px 30px 26px;
    display:flex; flex-direction:column;
    box-shadow: 0 1px 0 rgba(26,15,31,.02), 0 18px 40px -34px rgba(26,15,31,.4);
}
.scheda-head{ display:flex; gap:18px; align-items:flex-start; }
.avatar{
    width:62px; height:62px; border-radius:50%; flex:none;
    display:flex; align-items:center; justify-content:center;
    font-family:"Instrument Serif", serif; font-size:30px; color:#fff;
    background:linear-gradient(135deg,#E63B86,var(--magenta-deep));
    box-shadow: inset 0 0 0 2px rgba(255,255,255,.18);
}
.id{ flex:1; min-width:0; }
.id .name{
    font-size:21px; font-weight:700; line-height:1.15; letter-spacing:-0.015em;
    margin:2px 0 0;
}
.id .handle{
    font-family:"JetBrains Mono", monospace; font-size:12.5px;
    color:var(--magenta); text-decoration:none; display:inline-block; margin-top:5px;
}
.id .handle:hover{ text-decoration:underline; }
.id .loc{
    display:flex; align-items:center; gap:7px; margin-top:8px;
    font-size:13px; color:var(--muted);
}
.id .loc .pin{ width:6px; height:6px; border-radius:50%; background:var(--gold); flex:none; }
.score{
    flex:none; text-align:center; padding-left:8px;
}
.score .val{
    font-family:"Instrument Serif", serif; font-size:42px; line-height:.9; letter-spacing:-0.02em;
}
.score .val::after{ content:"★"; font-size:15px; color:var(--gold); vertical-align:super; margin-left:3px; }
.score .lab{
    font-family:"JetBrains Mono", monospace; font-size:9.5px; letter-spacing:.14em;
    text-transform:uppercase; color:var(--muted); margin-top:3px;
}

.stats{
    display:flex; gap:0; margin:22px 0 0;
    border:1px solid var(--rule); border-radius:8px; overflow:hidden;
}
.stats .cell{
    flex:1; padding:11px 14px; border-right:1px solid var(--rule);
}
.stats .cell:last-child{ border-right:none; }
.stats .cell .k{
    font-family:"JetBrains Mono", monospace; font-size:9.5px; letter-spacing:.12em;
    text-transform:uppercase; color:var(--muted);
}
.stats .cell .v{ font-size:15px; font-weight:700; margin-top:4px; letter-spacing:-0.01em; }
.stats .cell .v small{ font-weight:500; font-size:12px; color:var(--muted); }

.block-label{
    font-family:"JetBrains Mono", monospace; font-size:10.5px; letter-spacing:.14em;
    text-transform:uppercase; color:var(--muted); margin:24px 0 12px;
    display:flex; align-items:center; gap:8px;
}
.block-label .tick{ width:14px; height:1px; background:var(--magenta); }

/* portfolio gallery */
.gallery{ display:grid; grid-template-columns:repeat(3, 1fr); gap:10px; }
.gfig{ margin:0; display:flex; flex-direction:column; gap:7px; }
.gfig image-slot{
    display:block; width:100%; aspect-ratio:4/5;
    border:1px solid var(--rule); border-radius:8px; overflow:hidden;
    background:var(--cream-2);
}
.gfig figcaption{
    font-family:"JetBrains Mono", monospace; font-size:10px; letter-spacing:.06em;
    text-transform:uppercase; color:var(--muted); text-align:center;
}

/* instagram post embeds (strada A) */
.scheda.featured{ grid-column:1 / -1; }
.ig-embeds{ display:flex; flex-wrap:wrap; gap:14px; }
.ig-embeds .insta-wrap{ flex:1 1 300px; min-width:270px; max-width:360px; position:relative; min-height:430px; }
.ig-embeds .instagram-media{ margin:0 !important; min-width:0 !important; width:100% !important; position:relative; z-index:1; background:#fff; }
.ig-fallback{
    position:absolute; inset:0; z-index:0;
    display:flex; flex-direction:column; gap:10px; justify-content:center; align-items:center;
    border:1px solid var(--rule); border-radius:8px;
    background:var(--cream-2); text-decoration:none; color:var(--ink); padding:20px; text-align:center;
}
.ig-fallback .ico{
    width:34px; height:34px; border-radius:9px;
    background:linear-gradient(135deg,#E63B86,var(--magenta-deep)); display:flex; align-items:center; justify-content:center; color:#fff;
}
.ig-fallback .ico svg{ width:18px; height:18px; }
.ig-fallback .t{ font-size:13px; font-weight:600; line-height:1.3; }
.ig-fallback .u{ font-family:"JetBrains Mono", monospace; font-size:10px; color:var(--muted); word-break:break-all; }
.ig-note{
    font-family:"JetBrains Mono", monospace; font-size:10px; letter-spacing:.05em;
    color:var(--muted); margin-top:10px;
}

.tags{ display:flex; flex-wrap:wrap; gap:7px; }
.tag{
    font-size:12.5px; padding:6px 12px; border-radius:999px;
    background:var(--cream); border:1px solid var(--rule); color:var(--ink-2);
    font-weight:500;
}
.tag.lead{ background:var(--magenta); color:#fff; border-color:var(--magenta); }

/* chart */
.chart{ display:flex; flex-direction:column; gap:11px; }
.crow{ display:grid; grid-template-columns:135px 1fr 38px; align-items:center; gap:12px; }
.crow .cl{ font-size:13px; font-weight:600; letter-spacing:-0.01em; }
.ctrack{ height:9px; background:var(--cream-2); border-radius:999px; overflow:hidden; }
.cfill{
    height:100%; border-radius:999px; width:0;
    transition: width 1.1s cubic-bezier(.22,1,.36,1);
    background:var(--ink);
}
.cfill.lead{ background:var(--magenta); }
.cfill.two{ background:var(--gold); }
.crow .cv{
    font-family:"JetBrains Mono", monospace; font-size:12px; text-align:right; color:var(--muted);
}
@media (max-width:420px){ .crow{ grid-template-columns:104px 1fr 32px; gap:8px; } .crow .cl{ font-size:12px; } }

.insight{
    margin-top:22px; padding:16px 18px;
    background:var(--cream); border-radius:8px;
    border-left:3px solid var(--gold);
    font-size:14px; line-height:1.5; color:var(--ink-2);
}
.insight b{ color:var(--magenta); font-weight:700; }

.actions{ display:flex; gap:10px; margin-top:20px; }

.actions .btn {
    flex: 1;
    text-align: center;
    text-decoration: none;
    padding: 8px 14px;
    font-size: 13px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
}

.btn.ig {
    border-color: var(--magenta);
    color: var(--magenta);
}

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

.btn svg{ width:15px; height:15px; }

/* ============ PANEMA PARTNER CTA (solo schede TOP) ============ */
.panema-cta{
    display:flex; align-items:center; gap:14px;
    margin-top:20px; padding:13px 16px 13px 14px; border-radius:10px;
    background:var(--magenta); color:#fff; text-decoration:none;
    transition:background .15s;
}
.panema-cta:hover{ background:var(--magenta-deep); }
.panema-cta .pc-logo{
    flex:none; background:#fff; border-radius:7px; padding:7px 11px;
    display:flex; align-items:center; box-shadow:0 1px 0 rgba(0,0,0,.06);
}
.panema-cta .pc-logo img{ display:block; height:18px; width:auto; }
.panema-cta .pc-text{ font-size:14px; font-weight:600; letter-spacing:-0.01em; line-height:1.2; }
.panema-cta .pc-text b{ font-weight:800; }
.panema-cta .pc-text small{ display:block; font-weight:500; font-size:11px; opacity:.85; letter-spacing:.02em; }
.panema-cta .pc-arrow{ margin-left:auto; font-size:18px; flex:none; transition:transform .15s; }
.panema-cta:hover .pc-arrow{ transform:translateX(3px); }

.btn.wa{ background:#25D366; border-color:#25D366; color:#fff; }
.btn.wa:hover{ background:#1da851; border-color:#1da851; color:#fff; }

/* ============ FOOTER ============ */
footer.page{
    max-width:1320px; margin:0 auto; padding:8px 48px 70px;
    color:var(--muted); font-size:12.5px; line-height:1.6;
}
footer.page .eyebrow{ margin-bottom:10px; }
footer.page b{ color:var(--ink-2); }
@media (max-width:1080px){ footer.page{ padding:8px 24px 60px; } }