:root {
    color-scheme: light;

    --ma-font-sans:
        -apple-system,
        BlinkMacSystemFont,
        "Segoe UI",
        "Helvetica Neue",
        Arial,
        sans-serif;

    --ma-blue-950: #061d46;
    --ma-blue-900: #08285c;
    --ma-blue-800: #073a82;
    --ma-blue-700: #0758b7;
    --ma-blue-600: #0874df;
    --ma-blue-500: #0b8ff3;
    --ma-blue-100: #e6f2ff;
    --ma-blue-050: #f3f8ff;

    --ma-white: #ffffff;
    --ma-page: #f5f8fc;
    --ma-surface: #ffffff;
    --ma-surface-soft: #f8fbff;

    --ma-text: #092653;
    --ma-text-strong: #061d46;
    --ma-muted: #60718b;
    --ma-muted-soft: #7b8ba2;

    --ma-border: #dbe5f1;
    --ma-border-strong: #bfd0e3;

    --ma-success: #16884b;
    --ma-success-soft: #eaf8f0;
    --ma-whatsapp: #159447;
    --ma-instagram: #b83280;
    --ma-warning: #a66a00;
    --ma-warning-soft: #fff5db;

    --ma-radius-xs: .45rem;
    --ma-radius-sm: .65rem;
    --ma-radius-md: .9rem;
    --ma-radius-lg: 1.2rem;
    --ma-radius-xl: 1.5rem;
    --ma-radius-pill: 999rem;

    --ma-shadow-xs: 0 1px 2px rgb(6 29 70 / 4%);
    --ma-shadow-sm: 0 5px 18px rgb(6 29 70 / 7%);
    --ma-shadow-md: 0 10px 32px rgb(6 29 70 / 10%);
    --ma-shadow-focus: 0 0 0 4px rgb(8 116 223 / 16%);

    --ma-space-1: .25rem;
    --ma-space-2: .5rem;
    --ma-space-3: .75rem;
    --ma-space-4: 1rem;
    --ma-space-5: 1.25rem;
    --ma-space-6: 1.5rem;
    --ma-space-8: 2rem;
    --ma-space-10: 2.5rem;
    --ma-space-12: 3rem;
    --ma-space-16: 4rem;

    --ma-container: 74rem;
    --ma-reading: 46rem;

    --ma-transition:
        border-color 160ms ease,
        background-color 160ms ease,
        color 160ms ease,
        box-shadow 160ms ease,
        transform 160ms ease;
}

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

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

body {
    margin: 0;
    min-height: 100vh;
    background: #f6f7f9;
    color: #17202a;
    font-family: system-ui, sans-serif;
}

img,
svg {
    max-width: 100%;
}

a {
    color: inherit;
}

.site-header,
main,
footer {
    width: min(100% - 2rem, 70rem);
    margin-inline: auto;
}

.site-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    padding-block: 1rem;
}

.brand {
    font-size: 1.15rem;
    font-weight: 800;
    text-decoration: none;
}

.header-directory {
    color: #314a65;
    font-size: .9rem;
    font-weight: 700;
}

.hero,
.message {
    padding: 2rem 0 1.25rem;
}

h1 {
    line-height: 1.1;
}

footer {
    padding: 2rem 0;
    color: #59636e;
    font-size: .875rem;
}

.button {
    min-height: 3rem;
    padding: .75rem 1rem;
    border: 0;
    border-radius: .65rem;
    font: inherit;
    font-weight: 750;
    cursor: pointer;
}

.button-primary {
    width: 100%;
    color: #fff;
    background: #176b3a;
}

.button:disabled {
    opacity: .65;
    cursor: wait;
}

.status {
    min-height: 1.5em;
    color: #4c5967;
}

.location-search {
    position: relative;
    padding: 1rem;
    border-radius: .9rem;
    background: #fff;
    box-shadow: 0 4px 24px rgb(23 32 42 / 8%);
}

.location-search h2 {
    margin-top: 0;
    font-size: 1.15rem;
}

input[type='search'] {
    width: 100%;
    min-height: 3rem;
    padding: .75rem;
    border: 1px solid #aab2bb;
    border-radius: .55rem;
    font: inherit;
}

input[type='search']:focus {
    outline: 3px solid rgb(23 107 58 / 20%);
    border-color: #176b3a;
}

.search-results {
    display: grid;
    margin-top: .35rem;
    border-radius: .5rem;
    background: #fff;
}

.search-results:empty {
    display: none;
}

.search-results a,
.search-results p {
    padding: .8rem;
    margin: 0;
    border-bottom: 1px solid #e4e7eb;
    text-decoration: none;
}

.search-results a:hover,
.search-results a:focus {
    background: #eef7f1;
}

.search-help,
.seo-copy {
    color: #59636e;
    font-size: .9rem;
}

.seo-copy {
    padding-block: 2rem;
}

.province-links {
    padding-bottom: 2rem;
}

.province-links > p {
    color: #59636e;
}

.breadcrumbs {
    padding-top: 1rem;
    color: #59636e;
    font-size: .85rem;
}

.breadcrumbs ol {
    display: flex;
    flex-wrap: wrap;
    gap: .35rem;
    margin: 0;
    padding: 0;
    list-style: none;
}

.breadcrumbs li:not(:last-child)::after {
    content: '›';
    margin-left: .35rem;
}

.sr-only {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
}

.locality-heading {
    padding-block: 1.25rem;
}

.locality-heading h1 {
    margin-bottom: .4rem;
}

.current-location {
    padding: .7rem;
    border-radius: .5rem;
    background: #eaf3ee;
    font-size: .9rem;
}

.category-filter {
    display: flex;
    align-items: center;
    gap: .6rem;
    margin: 0 0 1rem;
}

.category-filter select {
    min-height: 2.6rem;
    max-width: 100%;
    padding: .45rem;
    border: 1px solid #aab2bb;
    border-radius: .45rem;
    font: inherit;
}

.agency-list {
    display: grid;
    gap: .8rem;
}

.agency-card {
    width: 100%;
    padding: 1rem;
    border: 1px solid #dce1e5;
    border-radius: .8rem;
    background: #fff;
    box-shadow: 0 2px 10px rgb(23 32 42 / 5%);
}

.agency-locality {
    margin: .55rem 0 .25rem;
    color: #4c5967;
    font-size: .9rem;
}

.agency-categories {
    margin: 0;
    color: #176b3a;
    font-size: .85rem;
    font-weight: 700;
}

.contact-button.website {
    background: #314a65;
}

.contact-button.instagram {
    background: #9a3470;
}

.recommended-card {
    border-color: #c9a24b;
}

.recommended-label {
    display: inline-block;
    margin-bottom: .65rem;
    padding: .25rem .45rem;
    border-radius: .35rem;
    color: #553900;
    background: #fff0c9;
    font-size: .72rem;
    font-weight: 850;
    letter-spacing: .03em;
}

.recommended-logo {
    display: block;
    width: 7rem;
    height: 3rem;
    margin: 0 0 .75rem;
    object-fit: contain;
    object-position: left center;
}

.global-banner {
    display: block;
    margin: 0 0 1rem;
    overflow: hidden;
    border-radius: .8rem;
    box-shadow: 0 2px 10px rgb(23 32 42 / 8%);
}

.global-banner img {
    display: block;
    width: 100%;
    max-width: 100%;
    height: auto;
}

.card-heading {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: .7rem;
}

.card-heading h2 {
    margin: 0;
    font-size: 1.08rem;
}

.contact-actions {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: .55rem;
    margin-top: .9rem;
}

.contact-button {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 2.8rem;
    padding: .65rem;
    border: 0;
    border-radius: .55rem;
    color: #fff;
    font-size: .9rem;
    font-weight: 750;
    text-align: center;
    text-decoration: none;
    cursor: pointer;
}

.contact-button.call {
    background: #1b5dab;
}

.contact-button.whatsapp {
    background: #187b43;
}

.contact-button.disabled {
    color: #626b74;
    background: #e8eaec;
}

.contact-selector {
    position: relative;
}

.contact-selector summary {
    list-style: none;
}

.contact-selector summary::-webkit-details-marker {
    display: none;
}

.selector-menu {
    position: absolute;
    z-index: 2;
    display: grid;
    width: min(18rem, 90vw);
    padding: .7rem;
    border: 1px solid #ccd2d8;
    border-radius: .55rem;
    background: #fff;
    box-shadow: 0 8px 28px rgb(23 32 42 / 18%);
}

.selector-menu strong,
.selector-menu a {
    padding: .55rem;
}

.badge {
    margin-left: .35rem;
    padding: .08rem .4rem;
    border-radius: 99rem;
    background: rgb(255 255 255 / 25%);
}

.more-details {
    margin-top: .8rem;
    padding-top: .7rem;
    border-top: 1px solid #e3e6e9;
}

.more-details summary {
    color: #314a65;
    font-weight: 750;
    cursor: pointer;
}

.more-details dl {
    margin-bottom: .5rem;
}

.more-details dl div {
    margin-block: .55rem;
}

.more-details dt {
    color: #5b6570;
    font-size: .78rem;
    font-weight: 750;
    text-transform: uppercase;
}

.more-details dd {
    margin: .1rem 0 0;
}

.more-details > a {
    display: inline-block;
    margin: .4rem .8rem .2rem 0;
}

.load-more {
    width: 100%;
    margin-top: 1rem;
    color: #173c2a;
    background: #dcefe4;
}

.empty-results {
    padding-bottom: 2rem;
}

.province-heading {
    padding-block: 1.25rem;
}

.locality-links {
    display: grid;
    gap: .7rem;
}

.locality-links a {
    padding: 1rem;
    border: 1px solid #dce1e5;
    border-radius: .7rem;
    background: #fff;
    font-weight: 750;
    text-decoration: none;
}

.locality-links a:hover,
.locality-links a:focus {
    border-color: #176b3a;
    background: #eef7f1;
}

.admin-statistics {
    margin-block: 1.5rem;
    padding: 1rem;
    border-radius: .8rem;
    background: #fff;
}

.statistics-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: .7rem;
}

.statistics-grid div {
    padding: .75rem;
    border-radius: .55rem;
    background: #eef7f1;
}

.statistics-grid dt {
    color: #4c5967;
    font-size: .8rem;
    font-weight: 700;
}

.statistics-grid dd {
    margin: .2rem 0 0;
    font-size: 1.4rem;
    font-weight: 800;
}

.statistics-table-wrap {
    overflow-x: auto;
}

.statistics-table-wrap table {
    width: 100%;
    border-collapse: collapse;
}

.statistics-table-wrap th,
.statistics-table-wrap td {
    padding: .55rem;
    border-bottom: 1px solid #dce1e5;
    text-align: left;
    white-space: nowrap;
}

a:focus-visible,
button:focus-visible,
summary:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible {
    outline: 3px solid rgb(23 107 58 / 45%);
    outline-offset: 2px;
}


/* ============================================================
   MODELOS ARGENTINA — SISTEMA VISUAL PÚBLICO D1
   ============================================================ */

.public-site {
    min-width: 0;
    background: var(--ma-page);
    color: var(--ma-text);
    font-family: var(--ma-font-sans);
    line-height: 1.55;
    -webkit-font-smoothing: antialiased;
    text-rendering: optimizeLegibility;
}

.public-site .site-header,
.public-site main,
.public-site footer {
    width: min(calc(100% - 2rem), var(--ma-container));
}

.public-site main {
    min-width: 0;
    padding-bottom: var(--ma-space-10);
}

.public-site h1,
.public-site h2,
.public-site h3 {
    color: var(--ma-text-strong);
    font-family: var(--ma-font-sans);
    font-weight: 800;
    letter-spacing: -.025em;
    text-wrap: balance;
}

.public-site h1 {
    margin: 0 0 var(--ma-space-4);
    font-size: clamp(2rem, 7vw, 3.75rem);
    line-height: 1.04;
}

.public-site h2 {
    margin: 0 0 var(--ma-space-3);
    font-size: clamp(1.35rem, 4vw, 2rem);
    line-height: 1.12;
}

.public-site p {
    text-wrap: pretty;
}

.public-site a {
    transition: var(--ma-transition);
}

.public-site .hero {
    padding: clamp(2.5rem, 8vw, 5rem) 0 var(--ma-space-8);
}

.public-site .hero h1 {
    max-width: 15ch;
}

.public-site .hero > p:not(.status) {
    max-width: 42rem;
    margin: 0 0 var(--ma-space-6);
    color: var(--ma-muted);
    font-size: clamp(1rem, 2.5vw, 1.2rem);
}

.public-site .status {
    margin: var(--ma-space-3) 0 0;
    color: var(--ma-muted);
}

.public-site .button,
.public-site button {
    min-height: 2.875rem;
    padding: .72rem 1.05rem;
    border: 1px solid transparent;
    border-radius: var(--ma-radius-sm);
    font-family: inherit;
    font-size: .95rem;
    font-weight: 750;
    line-height: 1.2;
    cursor: pointer;
    transition: var(--ma-transition);
}

.public-site .button:hover:not(:disabled),
.public-site button:hover:not(:disabled) {
    transform: translateY(-1px);
}

.public-site .button-primary {
    width: 100%;
    color: var(--ma-white);
    background: var(--ma-blue-600);
    box-shadow: var(--ma-shadow-xs);
}

.public-site .button-primary:hover:not(:disabled) {
    background: var(--ma-blue-700);
    box-shadow: var(--ma-shadow-sm);
}

.public-site button:disabled,
.public-site .button:disabled {
    opacity: .6;
    cursor: wait;
    transform: none;
}

.public-site input:not([type='hidden']),
.public-site select,
.public-site textarea {
    width: 100%;
    min-height: 2.875rem;
    padding: .72rem .9rem;
    border: 1px solid var(--ma-border-strong);
    border-radius: var(--ma-radius-sm);
    background: var(--ma-white);
    color: var(--ma-text);
    font: inherit;
    font-size: 1rem;
    line-height: 1.35;
    transition: var(--ma-transition);
}

.public-site textarea {
    min-height: 7rem;
    resize: vertical;
}

.public-site input::placeholder,
.public-site textarea::placeholder {
    color: var(--ma-muted-soft);
    opacity: 1;
}

.public-site input:not([type='hidden']):hover,
.public-site select:hover,
.public-site textarea:hover {
    border-color: #91afd0;
}

.public-site input:not([type='hidden']):focus,
.public-site select:focus,
.public-site textarea:focus {
    border-color: var(--ma-blue-600);
    outline: none;
    box-shadow: var(--ma-shadow-focus);
}

.public-site .location-search {
    position: relative;
    max-width: var(--ma-reading);
    padding: clamp(1rem, 4vw, 1.4rem);
    border: 1px solid var(--ma-border);
    border-radius: var(--ma-radius-lg);
    background: var(--ma-surface);
    box-shadow: var(--ma-shadow-sm);
}

.public-site .location-search h2 {
    margin: 0 0 var(--ma-space-4);
    font-size: clamp(1.15rem, 3vw, 1.4rem);
}

.public-site input[type='search'] {
    min-height: 3.15rem;
    padding-inline: 1rem;
    border-radius: var(--ma-radius-md);
}

.public-site .search-results {
    position: relative;
    z-index: 4;
    margin-top: var(--ma-space-2);
    overflow: hidden;
    border: 1px solid var(--ma-border);
    border-radius: var(--ma-radius-md);
    background: var(--ma-white);
    box-shadow: var(--ma-shadow-md);
}

.public-site .search-results:empty {
    display: none;
}

.public-site .search-results a,
.public-site .search-results p {
    min-height: 2.875rem;
    padding: .8rem 1rem;
    margin: 0;
    border-bottom: 1px solid var(--ma-border);
    text-decoration: none;
}

.public-site .search-results > :last-child {
    border-bottom: 0;
}

.public-site .search-results a:hover,
.public-site .search-results a:focus-visible {
    background: var(--ma-blue-050);
    color: var(--ma-blue-800);
}

.public-site .search-help,
.public-site .seo-copy,
.public-site .province-links > p,
.public-site .province-heading > p,
.public-site .locality-heading > p:not(.current-location) {
    color: var(--ma-muted);
}

.public-site .search-help {
    margin-bottom: 0;
    font-size: .9rem;
}

.public-site .seo-copy {
    max-width: var(--ma-reading);
    padding-block: var(--ma-space-10);
    font-size: .95rem;
}

.public-site .province-links {
    padding-bottom: var(--ma-space-10);
}

.public-site .province-heading,
.public-site .locality-heading {
    max-width: var(--ma-reading);
    padding: var(--ma-space-8) 0 var(--ma-space-6);
}

.public-site .province-heading h1,
.public-site .locality-heading h1 {
    margin-bottom: var(--ma-space-3);
}

.public-site .current-location {
    display: inline-block;
    margin: var(--ma-space-3) 0 0;
    padding: .65rem .85rem;
    border: 1px solid #cde3fb;
    border-radius: var(--ma-radius-sm);
    background: var(--ma-blue-050);
    color: var(--ma-blue-900);
    font-size: .9rem;
}

.public-site .current-location a {
    color: var(--ma-blue-700);
    font-weight: 750;
}

.public-site .category-filter {
    display: grid;
    grid-template-columns: 1fr;
    gap: var(--ma-space-2);
    margin: 0 0 var(--ma-space-5);
}

.public-site .category-filter label {
    color: var(--ma-text);
    font-size: .85rem;
    font-weight: 750;
}

.public-site .category-filter select {
    min-height: 3rem;
    max-width: 28rem;
}

.public-site .global-banner {
    display: block;
    margin: 0 0 var(--ma-space-6);
    overflow: hidden;
    border: 1px solid var(--ma-border);
    border-radius: var(--ma-radius-lg);
    background: var(--ma-white);
    box-shadow: var(--ma-shadow-sm);
}

.public-site .agency-list {
    display: grid;
    gap: var(--ma-space-4);
}

.public-site .agency-card {
    width: 100%;
    min-width: 0;
    padding: clamp(1rem, 3vw, 1.25rem);
    border: 1px solid var(--ma-border);
    border-radius: var(--ma-radius-lg);
    background: var(--ma-surface);
    box-shadow: var(--ma-shadow-xs);
    transition: var(--ma-transition);
}

.public-site .agency-card:hover {
    border-color: var(--ma-border-strong);
    box-shadow: var(--ma-shadow-sm);
}

.public-site .card-heading h2 {
    margin: 0;
    font-size: clamp(1.05rem, 3vw, 1.2rem);
    line-height: 1.2;
}

.public-site .agency-locality {
    margin: .5rem 0 .3rem;
    color: var(--ma-muted);
    font-size: .9rem;
}

.public-site .agency-categories {
    margin: 0;
    color: var(--ma-blue-700);
    font-size: .85rem;
    font-weight: 750;
}

.public-site .recommended-card {
    border-color: #e3c36f;
}

.public-site .recommended-label {
    margin-bottom: .7rem;
    padding: .3rem .5rem;
    border-radius: var(--ma-radius-xs);
    color: #684600;
    background: var(--ma-warning-soft);
    font-size: .7rem;
    font-weight: 850;
    letter-spacing: .06em;
}

.public-site .recommended-logo {
    display: block;
    width: 7rem;
    height: 3rem;
    margin: 0 0 .8rem;
    object-fit: contain;
    object-position: left center;
}

.public-site .contact-actions {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: var(--ma-space-2);
    margin-top: var(--ma-space-4);
}

.public-site .contact-button {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 2.875rem;
    min-width: 0;
    padding: .65rem .75rem;
    border: 1px solid transparent;
    border-radius: var(--ma-radius-sm);
    color: var(--ma-white);
    font-size: .88rem;
    font-weight: 750;
    line-height: 1.15;
    text-align: center;
    text-decoration: none;
    cursor: pointer;
    transition: var(--ma-transition);
}

.public-site .contact-button:hover {
    transform: translateY(-1px);
    box-shadow: var(--ma-shadow-xs);
}

.public-site .contact-button.call {
    background: var(--ma-blue-600);
}

.public-site .contact-button.whatsapp {
    background: var(--ma-whatsapp);
}

.public-site .contact-button.website {
    background: var(--ma-blue-900);
}

.public-site .contact-button.instagram {
    background: var(--ma-instagram);
}

.public-site .contact-button.disabled {
    color: var(--ma-muted);
    background: #edf1f6;
}

.public-site .contact-selector {
    position: relative;
    min-width: 0;
}

.public-site .contact-selector summary {
    width: 100%;
    list-style: none;
}

.public-site .contact-selector summary::-webkit-details-marker {
    display: none;
}

.public-site .selector-menu {
    position: absolute;
    z-index: 10;
    top: calc(100% + .4rem);
    left: 0;
    display: grid;
    width: min(18rem, calc(100vw - 3rem));
    padding: .55rem;
    border: 1px solid var(--ma-border);
    border-radius: var(--ma-radius-md);
    background: var(--ma-white);
    box-shadow: var(--ma-shadow-md);
}

.public-site .selector-menu strong,
.public-site .selector-menu a {
    padding: .6rem;
}

.public-site .selector-menu a {
    border-radius: var(--ma-radius-xs);
    text-decoration: none;
}

.public-site .selector-menu a:hover {
    background: var(--ma-blue-050);
}

.public-site .badge {
    margin-left: .3rem;
    padding: .08rem .38rem;
    border-radius: var(--ma-radius-pill);
    background: rgb(255 255 255 / 22%);
}

.public-site .more-details {
    margin-top: var(--ma-space-4);
    padding-top: var(--ma-space-3);
    border-top: 1px solid var(--ma-border);
}

.public-site .more-details summary {
    color: var(--ma-blue-800);
    font-weight: 750;
    cursor: pointer;
}

.public-site .more-details dl {
    margin-bottom: .5rem;
}

.public-site .more-details dl div {
    margin-block: .7rem;
}

.public-site .more-details dt {
    color: var(--ma-muted);
    font-size: .72rem;
    font-weight: 800;
    letter-spacing: .045em;
    text-transform: uppercase;
}

.public-site .more-details dd {
    margin: .1rem 0 0;
    color: var(--ma-text);
}

.public-site .more-details > a {
    display: inline-block;
    margin: .4rem .8rem .3rem 0;
    color: var(--ma-blue-700);
    font-weight: 700;
}

.public-site .more-details form {
    display: grid;
    gap: var(--ma-space-2);
    margin-top: var(--ma-space-3);
}

.public-site .more-details details {
    margin-top: var(--ma-space-3);
}

.public-site .load-more {
    width: 100%;
    margin-top: var(--ma-space-5);
    border-color: #c7def7;
    color: var(--ma-blue-800);
    background: var(--ma-blue-100);
}

.public-site .load-more:hover:not(:disabled) {
    border-color: #9fc7ef;
    background: #d7ebff;
}

.public-site .empty-results {
    margin-block: 0 var(--ma-space-8);
    padding: var(--ma-space-5);
    border: 1px solid var(--ma-border);
    border-radius: var(--ma-radius-lg);
    background: var(--ma-white);
    color: var(--ma-muted);
}

.public-site .locality-links {
    display: grid;
    gap: var(--ma-space-3);
}

.public-site .locality-links a {
    min-width: 0;
    padding: 1rem;
    border: 1px solid var(--ma-border);
    border-radius: var(--ma-radius-md);
    background: var(--ma-white);
    color: var(--ma-text);
    font-weight: 750;
    text-decoration: none;
    box-shadow: var(--ma-shadow-xs);
    transition: var(--ma-transition);
}

.public-site .locality-links a:hover,
.public-site .locality-links a:focus-visible {
    border-color: #9dc3eb;
    background: var(--ma-blue-050);
    color: var(--ma-blue-800);
    box-shadow: var(--ma-shadow-sm);
    transform: translateY(-1px);
}

.public-site .province-localities {
    padding-block: var(--ma-space-8);
}

.public-site footer {
    margin-top: var(--ma-space-8);
    padding: var(--ma-space-6) 0 var(--ma-space-8);
    border-top: 1px solid var(--ma-border);
    color: var(--ma-muted);
    font-size: .85rem;
}

.public-site ::selection {
    color: var(--ma-blue-950);
    background: #cce7ff;
}

.public-site a:focus-visible,
.public-site button:focus-visible,
.public-site summary:focus-visible,
.public-site input:focus-visible,
.public-site select:focus-visible,
.public-site textarea:focus-visible {
    outline: 3px solid rgb(8 116 223 / 36%);
    outline-offset: 3px;
}

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

@media (min-width: 42rem) {
    .hero {
        padding-top: 4rem;
    }

    .hero h1 {
        max-width: 14ch;
        font-size: 3rem;
    }

    .button-primary {
        width: auto;
    }

    .location-search {
        max-width: 42rem;
    }

    .agency-list {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .load-more {
        width: auto;
    }

    .locality-links {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

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

    .public-site .site-header,
    .public-site main,
    .public-site footer {
        width: min(calc(100% - 3rem), var(--ma-container));
    }

    .public-site .hero {
        padding-top: clamp(3.5rem, 7vw, 5rem);
    }

    .public-site .hero h1 {
        font-size: clamp(3rem, 6vw, 3.75rem);
    }

    .public-site .button-primary {
        width: auto;
    }

    .public-site .category-filter {
        grid-template-columns: auto minmax(14rem, 28rem);
        align-items: center;
        gap: var(--ma-space-3);
    }

    .public-site .load-more {
        width: auto;
    }

    .public-site .locality-links {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (min-width: 64rem) {
    .public-site .site-header,
    .public-site main,
    .public-site footer {
        width: min(calc(100% - 4rem), var(--ma-container));
    }

    .public-site .province-heading,
    .public-site .locality-heading {
        padding-top: var(--ma-space-10);
    }

    .public-site .agency-list {
        gap: var(--ma-space-5);
    }
}


/* ============================================================
   MODELOS ARGENTINA — HEADER D2
   ============================================================ */

.public-site .site-header-public {
    position: relative;
    z-index: 20;

    width: 100%;
    max-width: none;
    min-height: 4.5rem;

    margin: 0;
    padding:
        .7rem
        max(1rem, calc((100vw - var(--ma-container)) / 2));

    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--ma-space-4);

    border-bottom: 1px solid rgb(219 229 241 / 82%);

    background:
        rgb(255 255 255 / 97%);

    box-shadow:
        0 1px 0 rgb(6 29 70 / 2%),
        0 4px 18px rgb(6 29 70 / 3%);
}

.public-site .brand-wordmark {
    display: inline-flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: center;

    flex: 0 0 auto;

    min-height: 3rem;

    color: var(--ma-blue-950);

    font-family: var(--ma-font-sans);
    font-size: 1rem;
    font-weight: 850;
    line-height: .84;
    letter-spacing: -.045em;

    text-decoration: none;
}

.public-site .brand-wordmark:hover {
    transform: none;
}

.public-site .brand-modelos,
.public-site .brand-argentina {
    display: block;
}

.public-site .brand-modelos {
    color: var(--ma-blue-950);
    font-size: 1.18rem;
}

.public-site .brand-argentina {
    margin-top: .18rem;

    color: var(--ma-blue-600);
    font-size: 1.18rem;
}

.public-site .site-nav-desktop {
    display: none;
    align-items: center;
    gap: var(--ma-space-5);
}

.public-site .site-nav-desktop .header-directory {
    position: relative;

    display: inline-flex;
    align-items: center;
    justify-content: center;

    min-height: 2.75rem;
    padding: .65rem .9rem;

    border-radius: var(--ma-radius-sm);

    color: var(--ma-blue-900);

    font-size: .92rem;
    font-weight: 750;

    text-decoration: none;
}

.public-site .site-nav-desktop .header-directory::after {
    position: absolute;
    right: .9rem;
    bottom: .36rem;
    left: .9rem;

    height: 2px;

    border-radius: var(--ma-radius-pill);

    background: var(--ma-blue-600);

    content: "";

    opacity: 0;
    transform: scaleX(.45);

    transition:
        opacity 160ms ease,
        transform 160ms ease;
}

.public-site .site-nav-desktop .header-directory:hover {
    color: var(--ma-blue-700);
    background: var(--ma-blue-050);
}

.public-site .site-nav-desktop .header-directory:hover::after,
.public-site .site-nav-desktop .header-directory:focus-visible::after {
    opacity: 1;
    transform: scaleX(1);
}


/* MOBILE MENU */

.public-site .site-menu-mobile {
    position: relative;
    flex: 0 0 auto;
}

.public-site .site-menu-mobile > summary {
    display: flex;
    align-items: center;
    justify-content: center;

    width: 2.85rem;
    height: 2.85rem;
    min-height: 2.85rem;

    padding: 0;

    border: 0;
    border-radius: var(--ma-radius-sm);

    background: transparent;

    color: var(--ma-blue-800);

    cursor: pointer;

    list-style: none;
}

.public-site .site-menu-mobile > summary::-webkit-details-marker {
    display: none;
}

.public-site .site-menu-mobile > summary::marker {
    display: none;
    content: "";
}

.public-site .site-menu-mobile > summary:hover {
    background: var(--ma-blue-050);
    transform: none;
}

.public-site .menu-icon {
    display: grid;
    gap: .28rem;

    width: 1.45rem;
}

.public-site .menu-icon > span {
    display: block;

    width: 100%;
    height: 2px;

    border-radius: var(--ma-radius-pill);

    background: currentColor;

    transform-origin: center;

    transition:
        transform 160ms ease,
        opacity 160ms ease;
}

.public-site .site-menu-mobile[open]
    .menu-icon > span:nth-child(1) {
    transform: translateY(.38rem) rotate(45deg);
}

.public-site .site-menu-mobile[open]
    .menu-icon > span:nth-child(2) {
    opacity: 0;
}

.public-site .site-menu-mobile[open]
    .menu-icon > span:nth-child(3) {
    transform: translateY(-.38rem) rotate(-45deg);
}

.public-site .site-menu-mobile > nav {
    position: absolute;

    top: calc(100% + .55rem);
    right: 0;

    display: grid;

    width: min(15rem, calc(100vw - 2rem));

    padding: .45rem;

    border: 1px solid var(--ma-border);
    border-radius: var(--ma-radius-md);

    background: var(--ma-white);

    box-shadow: var(--ma-shadow-md);
}

.public-site .site-menu-mobile > nav a {
    display: flex;
    align-items: center;

    min-height: 2.9rem;

    padding: .7rem .85rem;

    border-radius: var(--ma-radius-sm);

    color: var(--ma-blue-900);

    font-size: .95rem;
    font-weight: 750;

    text-decoration: none;
}

.public-site .site-menu-mobile > nav a:hover,
.public-site .site-menu-mobile > nav a:focus-visible {
    background: var(--ma-blue-050);
    color: var(--ma-blue-700);
}


/* FOOTER IDENTITY */

.public-site footer {
    color: var(--ma-muted);

    font-size: .78rem;
    font-weight: 600;
    letter-spacing: .035em;
}


/* TABLET / DESKTOP */

@media (min-width: 42rem) {

    .public-site .site-header-public {
        min-height: 4.75rem;

        padding-inline:
            max(1.5rem, calc((100vw - var(--ma-container)) / 2));
    }

    .public-site .brand-wordmark {
        min-height: 3.2rem;
    }

    .public-site .brand-modelos,
    .public-site .brand-argentina {
        font-size: 1.3rem;
    }

    .public-site .site-nav-desktop {
        display: flex;
    }

    .public-site .site-menu-mobile {
        display: none;
    }
}


@media (min-width: 64rem) {

    .public-site .site-header-public {
        min-height: 5rem;

        padding-inline:
            max(2rem, calc((100vw - var(--ma-container)) / 2));
    }

    .public-site .brand-modelos,
    .public-site .brand-argentina {
        font-size: 1.38rem;
    }

    .public-site .site-nav-desktop .header-directory {
        padding-inline: 1rem;
    }
}


/* ============================================================
   MODELOS ARGENTINA — HOME HERO D3
   ============================================================ */

.public-site .home-hero {
    padding:
        clamp(2rem, 7vw, 4.75rem)
        0
        clamp(2.25rem, 6vw, 4rem);
}

.public-site .home-hero-grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: var(--ma-space-8);
}

.public-site .home-hero-content {
    min-width: 0;
}

.public-site .hero-eyebrow {
    margin:
        0
        0
        var(--ma-space-4);

    color: var(--ma-blue-700);

    font-size: .73rem;
    font-weight: 850;

    letter-spacing: .16em;
    line-height: 1.4;

    text-transform: uppercase;
}

.public-site .home-hero h1 {
    max-width: 13ch;

    margin:
        0
        0
        var(--ma-space-5);

    font-size:
        clamp(
            2.35rem,
            10vw,
            4.65rem
        );

    line-height: .99;

    letter-spacing: -.05em;
}

.public-site .hero-lead {
    max-width: 39rem;

    margin:
        0
        0
        var(--ma-space-6);

    color: var(--ma-muted);

    font-size:
        clamp(
            1rem,
            3vw,
            1.2rem
        );

    line-height: 1.55;
}


/* SEARCH */

.public-site .hero-search-card {
    position: relative;
    z-index: 5;

    width: min(100%, 46rem);

    padding: .65rem;

    border: 1px solid var(--ma-border);
    border-radius: var(--ma-radius-lg);

    background: var(--ma-white);

    box-shadow: var(--ma-shadow-md);
}

.public-site .hero-search-control {
    position: relative;

    display: grid;
    grid-template-columns:
        auto
        minmax(0, 1fr);

    align-items: center;

    min-height: 3.7rem;

    border: 1px solid var(--ma-border-strong);
    border-radius: var(--ma-radius-md);

    background: var(--ma-white);

    transition: var(--ma-transition);
}

.public-site .hero-search-control:focus-within {
    border-color: var(--ma-blue-600);
    box-shadow: var(--ma-shadow-focus);
}

.public-site .hero-search-icon {
    display: flex;
    align-items: center;
    justify-content: center;

    width: 3.25rem;

    color: var(--ma-blue-600);
}

.public-site .hero-search-control
    input[type='search'] {
    min-width: 0;
    min-height: 3.55rem;

    padding:
        .8rem
        .8rem
        .8rem
        0;

    border: 0;
    border-radius: 0;

    background: transparent;

    box-shadow: none;

    color: var(--ma-text);

    font-size: .98rem;
}

.public-site .hero-search-control
    input[type='search']:focus {
    border: 0;
    outline: 0;
    box-shadow: none;
}

.public-site .hero-search-submit {
    grid-column: 1 / -1;

    width: 100%;

    min-height: 3rem;

    margin-top: .5rem;

    border-radius: var(--ma-radius-sm);

    color: var(--ma-white);

    background:
        linear-gradient(
            135deg,
            var(--ma-blue-600),
            var(--ma-blue-500)
        );

    box-shadow:
        0 5px 14px
        rgb(8 116 223 / 20%);
}

.public-site .hero-search-submit:hover:not(:disabled) {
    background:
        linear-gradient(
            135deg,
            var(--ma-blue-700),
            var(--ma-blue-600)
        );
}

.public-site .hero-search-results {
    margin-top: .45rem;
}

.public-site .hero-search-footer {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap:
        var(--ma-space-2)
        var(--ma-space-3);

    padding:
        .45rem
        .25rem
        0;
}

.public-site .hero-location-button {
    min-height: 2.4rem;

    padding:
        .45rem
        .55rem;

    border: 0;

    color: var(--ma-blue-700);

    background: transparent;

    font-size: .82rem;
    font-weight: 750;

    box-shadow: none;
}

.public-site .hero-location-button:hover:not(:disabled) {
    color: var(--ma-blue-800);
    background: var(--ma-blue-050);
    box-shadow: none;
}

.public-site .hero-search-footer .status {
    flex: 1 1 13rem;

    min-height: 0;

    margin: 0;

    color: var(--ma-muted);

    font-size: .78rem;
}


/* BENEFITS */

.public-site .hero-benefits {
    display: grid;
    grid-template-columns: 1fr;

    gap: var(--ma-space-3);

    margin-top: var(--ma-space-6);
}

.public-site .hero-benefit {
    display: grid;
    grid-template-columns: auto 1fr;
    align-items: center;

    gap: var(--ma-space-3);

    min-width: 0;

    padding: .6rem 0;
}

.public-site .hero-benefit-icon {
    display: flex;
    align-items: center;
    justify-content: center;

    width: 2.7rem;
    height: 2.7rem;

    border: 1px solid #b8d5f5;
    border-radius: 50%;

    color: var(--ma-blue-700);

    background: var(--ma-blue-050);
}

.public-site .hero-benefit strong,
.public-site .hero-benefit div > span {
    display: block;
}

.public-site .hero-benefit strong {
    margin-bottom: .1rem;

    color: var(--ma-blue-950);

    font-size: .93rem;
}

.public-site .hero-benefit div > span {
    color: var(--ma-muted);

    font-size: .78rem;
    line-height: 1.35;
}


/* TEMPORARY VISUAL AREA — IMAGE ARRIVES IN D7 */

.public-site .home-hero-visual {
    position: relative;

    display: none;

    min-height: 35rem;

    overflow: hidden;

    border: 1px solid #bad4f1;
    border-radius: 1.75rem;

    background:
        radial-gradient(
            circle at 72% 22%,
            rgb(115 198 255 / 62%),
            transparent 34%
        ),
        radial-gradient(
            circle at 22% 82%,
            rgb(8 116 223 / 38%),
            transparent 39%
        ),
        linear-gradient(
            145deg,
            #e9f5ff 0%,
            #b9dcfb 43%,
            #0b5ebd 100%
        );

    box-shadow:
        0 24px 60px
        rgb(6 29 70 / 14%);
}

.public-site .home-hero-visual::before {
    position: absolute;
    inset: 0;

    background:
        linear-gradient(
            145deg,
            transparent 0 55%,
            rgb(4 32 77 / 16%) 100%
        );

    content: "";
}

.public-site .hero-visual-glow {
    position: absolute;

    top: 12%;
    left: 12%;

    width: 58%;
    aspect-ratio: 1;

    border-radius: 50%;

    background:
        rgb(255 255 255 / 48%);

    filter: blur(18px);
}

.public-site .hero-visual-orbit {
    position: absolute;

    border:
        1px solid
        rgb(255 255 255 / 45%);

    border-radius: 50%;
}

.public-site .hero-visual-orbit-one {
    width: 22rem;
    height: 22rem;

    top: -4rem;
    right: -7rem;
}

.public-site .hero-visual-orbit-two {
    width: 17rem;
    height: 17rem;

    bottom: -5rem;
    left: -5rem;
}

.public-site .hero-visual-mark {
    position: absolute;

    right: 2rem;
    bottom: 2rem;

    display: flex;
    align-items: center;
    justify-content: center;

    width: 6rem;
    height: 6rem;

    border:
        1px solid
        rgb(255 255 255 / 50%);

    border-radius: 1.5rem;

    color: rgb(255 255 255 / 86%);

    background:
        rgb(6 29 70 / 18%);

    backdrop-filter: blur(8px);
}

.public-site .hero-visual-mark span {
    font-size: 1.65rem;
    font-weight: 850;

    letter-spacing: -.06em;
}


/* CONTENT AFTER HERO */

.public-site .home-banner {
    margin-top: 0;
}

.public-site .home-seo-copy {
    max-width: 44rem;

    padding:
        var(--ma-space-8)
        0;
}

.public-site .home-seo-copy h2 {
    margin-bottom: var(--ma-space-3);
}

.public-site .home-seo-copy p {
    margin: 0;
}


/* TABLET */

@media (min-width: 42rem) {

    .public-site .hero-search-control {
        grid-template-columns:
            auto
            minmax(0, 1fr)
            auto;

        padding-right: .35rem;
    }

    .public-site .hero-search-submit {
        grid-column: auto;

        width: auto;
        min-width: 7.5rem;

        min-height: 3rem;

        margin-top: 0;
    }

    .public-site .hero-benefits {
        grid-template-columns:
            repeat(3, minmax(0, 1fr));

        gap: var(--ma-space-5);
    }

    .public-site .hero-benefit {
        align-items: start;
    }

}


/* DESKTOP */

@media (min-width: 64rem) {

    .public-site .home-hero {
        padding-top: 3.75rem;
    }

    .public-site .home-hero-grid {
        grid-template-columns:
            minmax(0, 1.18fr)
            minmax(20rem, .82fr);

        align-items: stretch;

        gap:
            clamp(
                2rem,
                5vw,
                4.5rem
            );
    }

    .public-site .home-hero-content {
        display: flex;
        flex-direction: column;
        justify-content: center;

        padding-block: 1rem;
    }

    .public-site .home-hero-visual {
        display: block;
    }

    .public-site .home-hero h1 {
        max-width: 12ch;
    }

}


/* D3 — corrección de centrado de iconos */
.public-site .hero-benefit-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    line-height: 0;
}

.public-site .hero-benefit-icon svg {
    display: block;
    flex: 0 0 auto;
}


/* ============================================================
   MODELOS ARGENTINA — PROVINCIAS D4
   ============================================================ */

.public-site .section-kicker {
    margin:
        0
        0
        var(--ma-space-2);

    color: var(--ma-blue-700);

    font-size: .7rem;
    font-weight: 850;

    letter-spacing: .15em;
    line-height: 1.4;

    text-transform: uppercase;
}


/* DIRECTORY HEADER */

.public-site .directory-heading {
    max-width: 48rem;

    padding:
        clamp(2.5rem, 7vw, 4.5rem)
        0
        clamp(2rem, 5vw, 3rem);
}

.public-site .directory-heading h1 {
    max-width: 14ch;

    margin-bottom: var(--ma-space-4);
}

.public-site .directory-heading > p:last-child {
    max-width: 42rem;

    margin: 0;

    color: var(--ma-muted);

    font-size:
        clamp(
            1rem,
            2.4vw,
            1.14rem
        );

    line-height: 1.55;
}


/* SECTION */

.public-site .province-explorer {
    padding:
        var(--ma-space-8)
        0
        var(--ma-space-12);
}

.public-site .province-explorer-home {
    padding-top: var(--ma-space-6);
}

.public-site .province-section-heading {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;

    gap: var(--ma-space-4);

    margin-bottom: var(--ma-space-5);
}

.public-site .province-section-heading h2 {
    margin-bottom: 0;
}

.public-site .province-section-heading p:not(.section-kicker) {
    max-width: 40rem;

    margin:
        var(--ma-space-2)
        0
        0;

    color: var(--ma-muted);

    font-size: .92rem;
}

.public-site .province-view-all {
    display: inline-flex;
    align-items: center;

    gap: .45rem;

    flex: 0 0 auto;

    min-height: 2.6rem;

    padding: .55rem .7rem;

    border-radius: var(--ma-radius-sm);

    color: var(--ma-blue-700);

    font-size: .85rem;
    font-weight: 800;

    text-decoration: none;
}

.public-site .province-view-all:hover {
    color: var(--ma-blue-800);
    background: var(--ma-blue-050);
}

.public-site .province-view-all span {
    font-size: 1.05rem;
}


/* GRID */

.public-site .province-card-grid {
    display: grid;

    grid-template-columns:
        minmax(0, 1fr);

    gap: var(--ma-space-4);
}

.public-site .province-card {
    --province-start: #dff1ff;
    --province-middle: #83c4f5;
    --province-end: #1767bb;

    position: relative;

    display: grid;

    min-width: 0;

    overflow: hidden;

    border: 1px solid #cbdced;
    border-radius: var(--ma-radius-lg);

    background: var(--ma-white);

    box-shadow: var(--ma-shadow-xs);

    text-decoration: none;

    transition: var(--ma-transition);
}

.public-site .province-card:hover,
.public-site .province-card:focus-visible {
    border-color: #9dc5eb;

    box-shadow:
        0 12px 30px
        rgb(6 29 70 / 11%);

    transform: translateY(-3px);
}


/* VISUAL */

.public-site .province-card-visual {
    position: relative;

    display: block;

    min-height: 8rem;

    overflow: hidden;

    background:
        radial-gradient(
            circle at 16% 16%,
            rgb(255 255 255 / 68%),
            transparent 28%
        ),
        linear-gradient(
            145deg,
            var(--province-start),
            var(--province-middle) 54%,
            var(--province-end)
        );
}

.public-site .province-card-visual::before {
    position: absolute;

    right: -3rem;
    bottom: -4rem;

    width: 9rem;
    height: 9rem;

    border:
        1px solid
        rgb(255 255 255 / 42%);

    border-radius: 50%;

    content: "";
}

.public-site .province-card-visual::after {
    position: absolute;

    inset: auto 0 0;

    height: 55%;

    background:
        linear-gradient(
            to top,
            rgb(5 35 78 / 18%),
            transparent
        );

    content: "";
}

.public-site .province-card-orbit {
    position: absolute;

    top: -2.5rem;
    right: 1.25rem;

    width: 6.5rem;
    height: 6.5rem;

    border:
        1px solid
        rgb(255 255 255 / 44%);

    border-radius: 50%;
}

.public-site .province-card-initial {
    position: absolute;

    left: 1rem;
    bottom: .45rem;

    z-index: 2;

    color: rgb(255 255 255 / 22%);

    font-size: 4.8rem;
    font-weight: 900;

    line-height: .85;
    letter-spacing: -.08em;
}

.public-site .province-card-pin {
    position: absolute;

    top: .85rem;
    right: .85rem;

    z-index: 3;

    display: flex;
    align-items: center;
    justify-content: center;

    width: 2.45rem;
    height: 2.45rem;

    border:
        1px solid
        rgb(255 255 255 / 54%);

    border-radius: 50%;

    color: var(--ma-white);

    background:
        rgb(6 29 70 / 18%);

    backdrop-filter: blur(6px);
}


/* BODY */

.public-site .province-card-body {
    display: grid;

    gap: .18rem;

    padding:
        .9rem
        1rem
        1rem;
}

.public-site .province-card-body strong {
    overflow-wrap: anywhere;

    color: var(--ma-blue-950);

    font-size: 1rem;
    font-weight: 800;

    line-height: 1.22;
}

.public-site .province-card-body > span {
    color: var(--ma-blue-700);

    font-size: .78rem;
    font-weight: 750;
}


/* TONES — DECORATIVE ONLY */

.public-site .province-card-tone-1 {
    --province-start: #e6f5ff;
    --province-middle: #91cef7;
    --province-end: #1768bd;
}

.public-site .province-card-tone-2 {
    --province-start: #eaf4ff;
    --province-middle: #77b6ef;
    --province-end: #0b4f9e;
}

.public-site .province-card-tone-3 {
    --province-start: #dff4ff;
    --province-middle: #6dc8e9;
    --province-end: #0960a8;
}

.public-site .province-card-tone-4 {
    --province-start: #e8f1ff;
    --province-middle: #91b8ef;
    --province-end: #2455a6;
}

.public-site .province-card-tone-5 {
    --province-start: #e5f7ff;
    --province-middle: #72c2f0;
    --province-end: #0874c7;
}

.public-site .province-card-tone-6 {
    --province-start: #edf5ff;
    --province-middle: #83ace4;
    --province-end: #214f99;
}


/* HOME MOBILE: HORIZONTAL VISUAL EXPLORER */

.public-site .province-card-grid-home {
    grid-template-columns:
        repeat(
            6,
            minmax(
                min(74vw, 15rem),
                1fr
            )
        );

    gap: var(--ma-space-3);

    margin-inline: -1rem;

    padding:
        .15rem
        1rem
        .8rem;

    overflow-x: auto;

    overscroll-behavior-inline: contain;

    scroll-snap-type: inline proximity;

    scrollbar-width: thin;
}

.public-site .province-card-grid-home
    .province-card {
    scroll-snap-align: start;
}


/* TABLET */

@media (min-width: 36rem) {

    .public-site .province-card-grid-directory {
        grid-template-columns:
            repeat(
                2,
                minmax(0, 1fr)
            );
    }

}


/* DESKTOP */

@media (min-width: 64rem) {

    .public-site .province-card-grid-home {
        grid-template-columns:
            repeat(
                6,
                minmax(0, 1fr)
            );

        margin-inline: 0;

        padding:
            .15rem
            0
            .8rem;

        overflow: visible;
    }

    .public-site .province-card-grid-directory {
        grid-template-columns:
            repeat(
                4,
                minmax(0, 1fr)
            );

        gap: var(--ma-space-5);
    }

    .public-site .province-card-visual {
        min-height: 9rem;
    }

}


@media (min-width: 76rem) {

    .public-site .province-card-grid-directory {
        grid-template-columns:
            repeat(
                5,
                minmax(0, 1fr)
            );
    }

}


/* ============================================================
   MODELOS ARGENTINA — AGENCY CARDS D5
   ============================================================ */


/* LISTING HEADER */

.public-site .listing-heading {
    max-width: 50rem;

    padding:
        clamp(2.4rem, 7vw, 4.2rem)
        0
        clamp(1.6rem, 4vw, 2.5rem);
}

.public-site .listing-heading h1 {
    max-width: 15ch;

    margin-bottom: var(--ma-space-3);
}

.public-site .listing-heading > p:not(.section-kicker):not(.current-location) {
    max-width: 42rem;

    margin:
        0
        0
        var(--ma-space-3);

    color: var(--ma-muted);

    font-size:
        clamp(
            1rem,
            2.5vw,
            1.14rem
        );

    line-height: 1.55;
}


/* RESULT BAR */

.public-site .agency-results {
    padding-bottom: var(--ma-space-8);
}

.public-site .agency-results-bar {
    display: flex;
    align-items: center;
    justify-content: space-between;

    gap: var(--ma-space-3);

    margin-bottom: var(--ma-space-4);

    padding:
        0
        .15rem;
}

.public-site .agency-results-bar strong {
    color: var(--ma-blue-950);

    font-size: .9rem;
    font-weight: 800;
}

.public-site .agency-results-bar > span {
    color: var(--ma-muted);

    font-size: .78rem;
    font-weight: 700;
}


/* LIST */

.public-site .agency-list {
    display: grid;

    grid-template-columns:
        minmax(0, 1fr);

    gap: var(--ma-space-4);
}


/* CARD */

.public-site .agency-card {
    position: relative;

    width: 100%;
    min-width: 0;

    padding:
        clamp(
            .9rem,
            3vw,
            1.15rem
        );

    border: 1px solid var(--ma-border);
    border-radius: var(--ma-radius-lg);

    background: var(--ma-white);

    box-shadow:
        0 3px 14px
        rgb(6 29 70 / 5%);

    transition: var(--ma-transition);
}

.public-site .agency-card:hover {
    border-color: #b7cce2;

    box-shadow:
        0 9px 26px
        rgb(6 29 70 / 9%);
}

.public-site .recommended-card {
    border-color: #d6bb6c;

    box-shadow:
        0 5px 22px
        rgb(133 95 12 / 9%);
}


/* DESTACADA */

.public-site .recommended-label {
    display: inline-flex;
    align-items: center;

    min-height: 1.7rem;

    margin-bottom: .75rem;

    padding:
        .22rem
        .52rem;

    border-radius: var(--ma-radius-pill);

    color: #775100;

    background: var(--ma-warning-soft);

    font-size: .65rem;
    font-weight: 900;

    letter-spacing: .075em;
}


/* CARD MAIN */

.public-site .agency-card-main {
    display: grid;

    grid-template-columns:
        4.5rem
        minmax(0, 1fr);

    gap: var(--ma-space-4);

    align-items: start;
}

.public-site .agency-card-identity {
    min-width: 0;
}

.public-site .agency-avatar {
    display: flex;
    align-items: center;
    justify-content: center;

    width: 4.5rem;
    height: 4.5rem;

    overflow: hidden;

    border: 1px solid var(--ma-border);
    border-radius: 1rem;

    flex: 0 0 auto;
}

.public-site .agency-avatar-initial {
    color: var(--ma-white);

    background:
        radial-gradient(
            circle at 30% 25%,
            rgb(73 171 246 / 75%),
            transparent 38%
        ),
        linear-gradient(
            145deg,
            var(--ma-blue-800),
            var(--ma-blue-950)
        );

    font-size: 1.65rem;
    font-weight: 850;

    letter-spacing: -.05em;
}

.public-site .agency-avatar-logo {
    padding: .4rem;

    background: var(--ma-white);
}

.public-site .agency-avatar-logo
    .recommended-logo {
    width: 100%;
    height: 100%;

    margin: 0;

    object-fit: contain;
    object-position: center;
}


/* TEXT */

.public-site .agency-card-content {
    min-width: 0;
}

.public-site .card-heading {
    display: block;
}

.public-site .card-heading h2 {
    margin: 0;

    color: var(--ma-blue-950);

    font-size:
        clamp(
            1rem,
            3vw,
            1.16rem
        );

    line-height: 1.2;

    overflow-wrap: anywhere;
}

.public-site .agency-locality {
    display: flex;
    align-items: flex-start;

    gap: .35rem;

    margin:
        .45rem
        0
        0;

    color: var(--ma-muted);

    font-size: .82rem;
    line-height: 1.35;
}

.public-site .agency-location-icon {
    display: flex;

    flex: 0 0 auto;

    margin-top: .05rem;

    color: var(--ma-blue-600);
}


/* CATEGORY CHIPS */

.public-site .agency-category-chips {
    display: flex;
    flex-wrap: wrap;

    gap: .35rem;

    margin-top: .7rem;
}

.public-site .agency-category-chip {
    display: inline-flex;
    align-items: center;

    min-height: 1.65rem;

    padding:
        .23rem
        .48rem;

    border-radius: var(--ma-radius-pill);

    color: var(--ma-blue-800);

    background: var(--ma-blue-100);

    font-size: .68rem;
    font-weight: 750;

    line-height: 1.1;
}


/* CONTACTS */

.public-site .agency-card
    .contact-actions {
    display: grid;

    grid-template-columns:
        repeat(
            2,
            minmax(0, 1fr)
        );

    gap: .45rem;

    margin-top: .8rem;
}

.public-site .agency-card
    .contact-button {
    min-height: 2.55rem;

    padding:
        .55rem
        .55rem;

    border-radius: .65rem;

    font-size: .76rem;
}

.public-site .agency-card
    .contact-button.call {
    border-color: #bdd9f6;

    color: var(--ma-blue-700);

    background: var(--ma-white);
}

.public-site .agency-card
    .contact-button.call:hover {
    background: var(--ma-blue-050);
}

.public-site .agency-card
    .contact-button.whatsapp {
    background: var(--ma-whatsapp);
}

.public-site .agency-card
    .contact-button.website {
    border-color: #cad8e6;

    color: var(--ma-blue-900);

    background: var(--ma-white);
}

.public-site .agency-card
    .contact-button.website:hover {
    background: #f6f9fc;
}

.public-site .agency-card
    .contact-button.instagram {
    background:
        linear-gradient(
            135deg,
            #e45b5b,
            #b73692 60%,
            #7546c7
        );
}


/* MULTIPLE PHONE SELECTOR */

.public-site .agency-card
    .contact-selector {
    min-width: 0;
}

.public-site .agency-card
    .contact-selector > summary {
    width: 100%;
}

.public-site .agency-card
    .selector-menu {
    max-height: 18rem;

    overflow-y: auto;
}


/* VER MÁS */

.public-site .agency-card
    .more-details {
    margin-top: .9rem;

    padding-top: .7rem;

    border-top: 1px solid var(--ma-border);
}

.public-site .agency-card
    .more-details > summary {
    display: flex;
    align-items: center;
    justify-content: space-between;

    gap: var(--ma-space-2);

    min-height: 2rem;

    color: var(--ma-blue-800);

    font-size: .78rem;
    font-weight: 800;

    list-style: none;
}

.public-site .agency-card
    .more-details > summary::-webkit-details-marker {
    display: none;
}

.public-site .more-details-chevron {
    transition:
        transform
        160ms
        ease;
}

.public-site .more-details[open]
    .more-details-chevron {
    transform: rotate(180deg);
}

.public-site .agency-details-panel {
    padding-top: .5rem;
}

.public-site .agency-details-panel dl {
    margin:
        .25rem
        0
        .75rem;
}

.public-site .agency-details-panel
    dl > div {
    padding:
        .5rem
        0;

    border-bottom:
        1px solid
        #eef2f6;
}

.public-site .agency-details-panel
    dl > div:last-child {
    border-bottom: 0;
}

.public-site .agency-details-panel dt {
    color: var(--ma-muted);

    font-size: .66rem;
    font-weight: 850;

    letter-spacing: .055em;

    text-transform: uppercase;
}

.public-site .agency-details-panel dd {
    margin:
        .12rem
        0
        0;

    color: var(--ma-text);

    font-size: .82rem;
    line-height: 1.45;
}

.public-site .agency-facebook-link {
    display: inline-flex;

    margin:
        0
        0
        .5rem;

    color: var(--ma-blue-700);

    font-size: .8rem;
    font-weight: 750;

    text-decoration: none;
}


/* CLAIM / REPORT */

.public-site .agency-correction-detail {
    margin-top: .6rem;

    padding-top: .6rem;

    border-top: 1px solid #eef2f6;
}

.public-site .agency-correction-detail > summary {
    color: var(--ma-muted);

    font-size: .73rem;
    font-weight: 700;
}

.public-site .agency-correction-detail form {
    display: grid;

    gap: .55rem;

    margin-top: .75rem;
}

.public-site .agency-correction-detail
    input,
.public-site .agency-correction-detail
    select,
.public-site .agency-correction-detail
    textarea {
    min-height: 2.65rem;

    font-size: .88rem;
}

.public-site .agency-correction-detail
    button {
    justify-self: start;

    color: var(--ma-white);

    background: var(--ma-blue-700);
}


/* FILTER */

.public-site .category-filter-card {
    max-width: 31rem;

    margin-bottom: var(--ma-space-6);

    padding:
        .85rem
        1rem;

    border: 1px solid var(--ma-border);
    border-radius: var(--ma-radius-md);

    background: var(--ma-white);

    box-shadow: var(--ma-shadow-xs);
}


/* LOCALITIES */

.public-site .province-localities {
    padding:
        var(--ma-space-8)
        0
        var(--ma-space-12);
}

.public-site .province-localities-heading {
    margin-bottom: var(--ma-space-4);
}

.public-site .province-localities-heading h2 {
    margin: 0;
}

.public-site .province-localities
    .locality-links a {
    display: flex;
    align-items: center;
    justify-content: space-between;

    gap: var(--ma-space-3);
}


/* LOAD MORE */

.public-site .agency-results
    .load-more {
    display: block;

    margin:
        var(--ma-space-6)
        auto
        0;
}


/* TABLET */

@media (min-width: 42rem) {

    .public-site .agency-card-main {
        grid-template-columns:
            5.25rem
            minmax(0, 1fr);

        gap: var(--ma-space-5);
    }

    .public-site .agency-avatar {
        width: 5.25rem;
        height: 5.25rem;

        border-radius: 1.1rem;
    }

    .public-site .agency-avatar-initial {
        font-size: 1.9rem;
    }

    .public-site .agency-card
        .contact-actions {
        grid-template-columns:
            repeat(
                4,
                minmax(0, 1fr)
            );
    }

}


/* DESKTOP */

@media (min-width: 64rem) {

    .public-site .agency-list {
        grid-template-columns:
            repeat(
                2,
                minmax(0, 1fr)
            );

        gap: var(--ma-space-5);
    }

    .public-site .agency-card {
        padding: 1.15rem;
    }

}


/* VERY WIDE */

@media (min-width: 82rem) {

    .public-site .agency-list {
        grid-template-columns:
            repeat(
                2,
                minmax(0, 1fr)
            );
    }

}


/* ============================================================
   MODELOS ARGENTINA — RESPONSIVE D6
   ============================================================ */


/* ------------------------------------------------------------
   BASE ANTI-OVERFLOW
   ------------------------------------------------------------ */

.public-site {
    overflow-x: clip;
}

.public-site main,
.public-site section,
.public-site article,
.public-site header,
.public-site nav,
.public-site div {
    min-width: 0;
}

.public-site img,
.public-site svg {
    max-width: 100%;
}

.public-site input,
.public-site select,
.public-site textarea,
.public-site button {
    max-width: 100%;
}


/* ------------------------------------------------------------
   MOBILE — HASTA 41.99rem
   ------------------------------------------------------------ */

@media (max-width: 41.99rem) {

    /* GLOBAL */

    .public-site .site-header,
    .public-site main,
    .public-site footer {
        width: min(
            calc(100% - 2rem),
            var(--ma-container)
        );
    }

    .public-site main {
        padding-bottom: var(--ma-space-8);
    }


    /* HEADER */

    .public-site .site-header-public {
        min-height: 4.25rem;

        padding:
            .6rem
            1rem;
    }

    .public-site .brand-wordmark {
        min-height: 2.85rem;
    }

    .public-site .brand-modelos,
    .public-site .brand-argentina {
        font-size: 1.12rem;
    }

    .public-site .site-menu-mobile > summary {
        width: 2.75rem;
        height: 2.75rem;
        min-height: 2.75rem;
    }

    .public-site .site-menu-mobile > nav {
        right: 0;

        width:
            min(
                15rem,
                calc(100vw - 2rem)
            );
    }


    /* HOME HERO */

    .public-site .home-hero {
        padding:
            2rem
            0
            2.4rem;
    }

    .public-site .hero-eyebrow {
        margin-bottom: .8rem;

        font-size: .64rem;

        letter-spacing: .13em;
    }

    .public-site .home-hero h1 {
        max-width: 14ch;

        margin-bottom: 1rem;

        font-size:
            clamp(
                2.2rem,
                10.5vw,
                3rem
            );

        line-height: 1;

        letter-spacing: -.045em;
    }

    .public-site .hero-lead {
        margin-bottom: 1.25rem;

        font-size: 1rem;
        line-height: 1.5;
    }


    /* SEARCH */

    .public-site .hero-search-card {
        width: 100%;

        padding: .55rem;

        border-radius: 1rem;
    }

    .public-site .hero-search-control {
        grid-template-columns:
            auto
            minmax(0, 1fr);

        min-height: 3.4rem;
    }

    .public-site .hero-search-icon {
        width: 2.8rem;
    }

    .public-site .hero-search-control
        input[type='search'] {
        min-height: 3.25rem;

        padding-right: .55rem;

        font-size: .92rem;
    }

    .public-site .hero-search-submit {
        grid-column: 1 / -1;

        width: 100%;

        min-height: 2.9rem;

        margin-top: .45rem;
    }

    .public-site .hero-search-footer {
        display: block;

        padding-top: .4rem;
    }

    .public-site .hero-location-button {
        min-height: 2.3rem;

        padding:
            .4rem
            .45rem;
    }

    .public-site .hero-search-footer .status {
        display: block;

        width: 100%;

        margin-top: .1rem;
    }


    /* BENEFITS */

    .public-site .hero-benefits {
        grid-template-columns: 1fr;

        gap: .25rem;

        margin-top: 1.35rem;
    }

    .public-site .hero-benefit {
        grid-template-columns:
            2.65rem
            minmax(0, 1fr);

        gap: .75rem;

        padding:
            .5rem
            0;
    }

    .public-site .hero-benefit-icon {
        width: 2.55rem;
        height: 2.55rem;
    }

    .public-site .hero-benefit strong {
        font-size: .9rem;
    }

    .public-site .hero-benefit div > span {
        font-size: .76rem;
    }


    /* PROVINCE SECTION */

    .public-site .province-explorer {
        padding:
            1.7rem
            0
            2.5rem;
    }

    .public-site .province-section-heading {
        align-items: flex-start;

        margin-bottom: 1rem;
    }

    .public-site .province-section-heading h2 {
        font-size: 1.55rem;
    }

    .public-site .province-view-all {
        min-height: 2.3rem;

        padding:
            .4rem
            .25rem;

        white-space: nowrap;
    }

    .public-site .province-card-grid-home {
        grid-template-columns:
            repeat(
                6,
                minmax(
                    min(76vw, 14.5rem),
                    1fr
                )
            );

        margin-inline: -1rem;

        padding-inline: 1rem;
    }

    .public-site .province-card-visual {
        min-height: 7.4rem;
    }

    .public-site .province-card-body {
        padding:
            .8rem
            .9rem
            .9rem;
    }

    .public-site .province-card-body strong {
        font-size: .95rem;
    }


    /* DIRECTORY */

    .public-site .directory-heading,
    .public-site .listing-heading {
        padding:
            2rem
            0
            1.5rem;
    }

    .public-site .directory-heading h1,
    .public-site .listing-heading h1 {
        max-width: 15ch;

        font-size:
            clamp(
                2rem,
                9vw,
                2.8rem
            );
    }

    .public-site .directory-heading > p:last-child,
    .public-site .listing-heading
        > p:not(.section-kicker):not(.current-location) {
        font-size: .96rem;
    }


    /* RESULT BAR */

    .public-site .agency-results-bar {
        align-items: flex-start;

        gap: .75rem;
    }

    .public-site .agency-results-bar strong {
        font-size: .86rem;
    }

    .public-site .agency-results-bar > span {
        text-align: right;
    }


    /* AGENCY CARD */

    .public-site .agency-card {
        padding: .85rem;

        border-radius: 1rem;
    }

    .public-site .agency-card-main {
        grid-template-columns:
            4rem
            minmax(0, 1fr);

        gap: .8rem;
    }

    .public-site .agency-avatar {
        width: 4rem;
        height: 4rem;

        border-radius: .85rem;
    }

    .public-site .agency-avatar-initial {
        font-size: 1.5rem;
    }

    .public-site .card-heading h2 {
        font-size: 1rem;
    }

    .public-site .agency-locality {
        font-size: .76rem;
    }

    .public-site .agency-category-chips {
        gap: .28rem;

        margin-top: .55rem;
    }

    .public-site .agency-category-chip {
        min-height: 1.55rem;

        padding:
            .2rem
            .42rem;

        font-size: .64rem;
    }

    .public-site .agency-card
        .contact-actions {
        grid-template-columns:
            repeat(
                2,
                minmax(0, 1fr)
            );

        gap: .4rem;

        margin-top: .7rem;
    }

    .public-site .agency-card
        .contact-button {
        min-height: 2.5rem;

        padding:
            .5rem
            .4rem;

        font-size: .73rem;
    }


    /* DROPDOWNS */

    .public-site .agency-card
        .selector-menu {
        left: auto;
        right: 0;

        width:
            min(
                17rem,
                calc(100vw - 3rem)
            );
    }


    /* MORE DETAILS */

    .public-site .agency-card
        .more-details {
        margin-top: .75rem;
    }

    .public-site .agency-details-panel dd {
        overflow-wrap: anywhere;
    }


    /* FILTER */

    .public-site .category-filter-card {
        width: 100%;

        max-width: none;

        margin-bottom: 1.25rem;

        padding:
            .75rem
            .8rem;
    }

    .public-site .category-filter {
        grid-template-columns: 1fr;
    }


    /* LOCALITIES */

    .public-site .locality-links {
        grid-template-columns: 1fr;
    }

    .public-site .province-localities {
        padding:
            2rem
            0
            2.75rem;
    }


    /* BANNERS */

    .public-site .global-banner {
        border-radius: 1rem;
    }


    /* FOOTER */

    .public-site footer {
        margin-top: 2rem;

        padding:
            1.4rem
            0
            2rem;

        font-size: .72rem;
    }

}


/* ------------------------------------------------------------
   VERY SMALL PHONES
   ------------------------------------------------------------ */

@media (max-width: 23rem) {

    .public-site .site-header-public {
        padding-inline: .8rem;
    }

    .public-site .brand-modelos,
    .public-site .brand-argentina {
        font-size: 1rem;
    }

    .public-site .home-hero h1 {
        font-size: 2rem;
    }

    .public-site .agency-card-main {
        grid-template-columns:
            3.55rem
            minmax(0, 1fr);

        gap: .7rem;
    }

    .public-site .agency-avatar {
        width: 3.55rem;
        height: 3.55rem;
    }

    .public-site .agency-card
        .contact-actions {
        grid-template-columns: 1fr;
    }

    .public-site .province-section-heading {
        display: block;
    }

    .public-site .province-view-all {
        margin-top: .4rem;
    }

}


/* ------------------------------------------------------------
   TABLET INTERMEDIATE
   ------------------------------------------------------------ */

@media (min-width: 42rem) and (max-width: 63.99rem) {

    .public-site .home-hero {
        padding:
            3rem
            0;
    }

    .public-site .home-hero h1 {
        max-width: 13ch;

        font-size:
            clamp(
                3rem,
                7vw,
                4rem
            );
    }

    .public-site .home-hero-visual {
        display: none;
    }

    .public-site .hero-benefits {
        gap: 1rem;
    }

    .public-site .province-card-grid-home {
        grid-template-columns:
            repeat(
                3,
                minmax(0, 1fr)
            );

        margin-inline: 0;

        padding-inline: 0;

        overflow: visible;
    }

    .public-site .province-card-grid-directory {
        grid-template-columns:
            repeat(
                2,
                minmax(0, 1fr)
            );
    }

    .public-site .agency-list {
        grid-template-columns: 1fr;
    }

}


/* ------------------------------------------------------------
   TOUCH DEVICES
   ------------------------------------------------------------ */

@media (hover: none) {

    .public-site .province-card:hover,
    .public-site .agency-card:hover,
    .public-site .locality-links a:hover,
    .public-site .contact-button:hover,
    .public-site button:hover {
        transform: none;
    }

}


/* ------------------------------------------------------------
   SAFE AREA — IPHONE
   ------------------------------------------------------------ */

@supports (
    padding-left:
    env(safe-area-inset-left)
) {

    @media (max-width: 41.99rem) {

        .public-site .site-header-public {
            padding-left:
                max(
                    1rem,
                    env(safe-area-inset-left)
                );

            padding-right:
                max(
                    1rem,
                    env(safe-area-inset-right)
                );
        }

        .public-site footer {
            padding-bottom:
                max(
                    2rem,
                    env(safe-area-inset-bottom)
                );
        }

    }

}


/* ============================================================
   MODELOS ARGENTINA — BRAND D7A
   ============================================================ */

.public-site .brand-asset {
    display: inline-flex;
    align-items: center;

    flex: 0 0 auto;

    width: auto;
    min-height: 0;

    padding: 0;

    text-decoration: none;
}

.public-site .brand-asset img {
    display: block;

    width: auto;
    height: 3.15rem;

    max-width: min(13.5rem, 48vw);

    object-fit: contain;
    object-position: left center;
}

.public-site .brand-asset:hover {
    transform: none;
}

@media (max-width: 41.99rem) {

    .public-site .brand-asset img {
        height: 2.85rem;

        max-width: min(11rem, 52vw);
    }

}

@media (max-width: 23rem) {

    .public-site .brand-asset img {
        height: 2.55rem;

        max-width: 9.5rem;
    }

}

@media (min-width: 64rem) {

    .public-site .brand-asset img {
        height: 3.35rem;

        max-width: 14.5rem;
    }

}


/* ============================================================
   MODELOS ARGENTINA — HERO ASSETS D7B
   ============================================================ */

.public-site .home-hero-visual.has-hero-image {
    position: relative;

    background: var(--ma-blue-100);
}

.public-site .hero-picture {
    position: absolute;
    inset: 0;

    display: block;

    width: 100%;
    height: 100%;
}

.public-site .hero-photo {
    display: block;

    width: 100%;
    height: 100%;

    object-fit: cover;
    object-position: center;

    border-radius: inherit;
}

.public-site .hero-photo-overlay {
    position: absolute;
    inset: 0;

    pointer-events: none;

    border-radius: inherit;

    background:
        linear-gradient(
            to top,
            rgb(4 29 69 / 18%) 0%,
            transparent 38%
        ),
        linear-gradient(
            135deg,
            rgb(8 116 223 / 5%),
            transparent 50%
        );
}


/*
 * Cuando exista hero-mobile.webp el asset hero puede mostrarse
 * también en pantallas pequeñas.
 *
 * Mientras no exista hero-desktop.webp esta regla no aplica
 * y se conserva D6 tal como fue aprobado.
 */

@media (max-width: 63.99rem) {

    .public-site
    .home-hero-visual.has-hero-image {
        display: block;

        min-height: clamp(
            18rem,
            76vw,
            28rem
        );

        margin-top: .25rem;

        border-radius: 1.35rem;
    }

    .public-site
    .home-hero-visual.has-hero-image
    .hero-photo {
        object-position: center 28%;
    }

}


@media (max-width: 41.99rem) {

    .public-site
    .home-hero-visual.has-hero-image {
        min-height: 19rem;

        margin-top: .5rem;
    }

}


@media (min-width: 64rem) {

    .public-site
    .home-hero-visual.has-hero-image {
        min-height: 35rem;
    }

}


/* ============================================================
   MODELOS ARGENTINA — PROVINCE ASSETS D7C
   ============================================================ */

.public-site .province-card.has-province-image
    .province-card-visual {
    background: var(--ma-blue-900);
}

.public-site .province-card-photo {
    position: absolute;
    inset: 0;

    z-index: 1;

    display: block;

    width: 100%;
    height: 100%;

    object-fit: cover;
    object-position: center;

    transition:
        transform 260ms ease,
        filter 260ms ease;
}

.public-site .province-card-photo-overlay {
    position: absolute;
    inset: 0;

    z-index: 2;

    background:
        linear-gradient(
            to top,
            rgb(4 27 63 / 50%) 0%,
            rgb(4 27 63 / 8%) 60%,
            transparent 100%
        );

    pointer-events: none;
}

.public-site .province-card.has-province-image
    .province-card-pin {
    z-index: 4;
}

.public-site .province-card.has-province-image:hover
    .province-card-photo {
    transform: scale(1.035);

    filter:
        saturate(1.03)
        contrast(1.02);
}

@media (hover: none) {

    .public-site .province-card.has-province-image:hover
        .province-card-photo {
        transform: none;

        filter: none;
    }

}


/* ============================================================
   MODELOS ARGENTINA — ADMIN SYSTEM A1
   Sistema visual base. Sin cambios funcionales.
   ============================================================ */


.admin-site {
    --admin-blue-950: #061d46;
    --admin-blue-900: #08285c;
    --admin-blue-800: #073a82;
    --admin-blue-700: #0758b7;
    --admin-blue-600: #0874df;
    --admin-blue-100: #e6f2ff;
    --admin-blue-050: #f3f8ff;

    --admin-page: #f4f7fb;
    --admin-surface: #ffffff;
    --admin-surface-soft: #f8fafc;

    --admin-text: #172231;
    --admin-muted: #64748b;

    --admin-border: #dce5ef;
    --admin-border-strong: #c8d5e3;

    --admin-success: #16884b;
    --admin-success-soft: #eaf8f0;

    --admin-warning: #a66a00;
    --admin-warning-soft: #fff5db;

    --admin-danger: #ba2f3b;
    --admin-danger-soft: #fff0f1;

    --admin-radius-sm: .65rem;
    --admin-radius-md: .9rem;
    --admin-radius-lg: 1.2rem;
    --admin-radius-pill: 999px;

    --admin-shadow-xs:
        0 2px 8px
        rgb(6 29 70 / 5%);

    --admin-shadow-sm:
        0 8px 24px
        rgb(6 29 70 / 7%);

    min-height: 100vh;

    margin: 0;

    color: var(--admin-text);

    background: var(--admin-page);

    font-family:
        -apple-system,
        BlinkMacSystemFont,
        "Segoe UI",
        Roboto,
        Helvetica,
        Arial,
        sans-serif;

    font-size: 16px;

    line-height: 1.5;

    -webkit-font-smoothing: antialiased;
}


/* LAYOUT BASE */

.admin-site main {
    width:
        min(
            calc(100% - 2rem),
            86rem
        );

    margin-inline: auto;

    padding:
        clamp(2rem, 5vw, 3.5rem)
        0
        4rem;
}

.admin-site .admin {
    width: 100%;
    min-width: 0;
}

.admin-site .admin-login {
    width:
        min(
            100%,
            31rem
        );

    margin:
        clamp(2.5rem, 8vh, 5.5rem)
        auto;

    padding:
        clamp(1.4rem, 4vw, 2rem);

    border:
        1px solid
        var(--admin-border);

    border-radius:
        var(--admin-radius-lg);

    background:
        var(--admin-surface);

    box-shadow:
        var(--admin-shadow-sm);
}


/* TIPOGRAFÍA */

.admin-site h1,
.admin-site h2,
.admin-site h3 {
    color: var(--admin-blue-950);

    letter-spacing: -.025em;
}

.admin-site h1 {
    margin:
        0
        0
        1.25rem;

    font-size:
        clamp(
            2rem,
            5vw,
            2.8rem
        );

    line-height: 1.05;
}

.admin-site h2 {
    margin:
        2rem
        0
        .9rem;

    font-size:
        clamp(
            1.3rem,
            3vw,
            1.65rem
        );

    line-height: 1.15;
}

.admin-site h3 {
    margin:
        1.5rem
        0
        .75rem;

    font-size: 1.05rem;
}

.admin-site p {
    color: var(--admin-muted);
}

.admin-site strong {
    color: var(--admin-text);
}


/* LINKS */

.admin-site a {
    color: var(--admin-blue-700);

    text-underline-offset: .16em;
}

.admin-site a:hover {
    color: var(--admin-blue-900);
}


/* BOTONES */

.admin-site button,
.admin-site .button {
    display: inline-flex;
    align-items: center;
    justify-content: center;

    gap: .45rem;

    min-height: 2.75rem;

    padding:
        .62rem
        .9rem;

    border:
        1px solid
        var(--admin-blue-700);

    border-radius:
        var(--admin-radius-sm);

    color: #ffffff;

    background:
        var(--admin-blue-700);

    font: inherit;
    font-size: .88rem;
    font-weight: 750;

    line-height: 1.15;

    text-align: center;
    text-decoration: none;

    cursor: pointer;

    transition:
        background-color 160ms ease,
        border-color 160ms ease,
        box-shadow 160ms ease,
        transform 160ms ease;
}

.admin-site button:hover:not(:disabled),
.admin-site .button:hover {
    border-color:
        var(--admin-blue-800);

    color: #ffffff;

    background:
        var(--admin-blue-800);

    box-shadow:
        0 5px 14px
        rgb(7 58 130 / 14%);

    transform:
        translateY(-1px);
}

.admin-site button:disabled {
    opacity: .55;

    cursor: not-allowed;

    transform: none;
}


/* FORMULARIOS */

.admin-site form {
    min-width: 0;
}

.admin-site label {
    display: block;

    margin-bottom: .9rem;

    color: var(--admin-text);

    font-size: .82rem;
    font-weight: 750;
}

.admin-site label
    > input:not(
        [type='hidden']
    ):not(
        [type='checkbox']
    ):not(
        [type='radio']
    ),
.admin-site label > select,
.admin-site label > textarea {
    margin-top: .38rem;
}

.admin-site input:not(
    [type='hidden']
):not(
    [type='checkbox']
):not(
    [type='radio']
),
.admin-site select,
.admin-site textarea {
    width: 100%;
    min-width: 0;
    min-height: 2.75rem;

    padding:
        .65rem
        .75rem;

    border:
        1px solid
        var(--admin-border-strong);

    border-radius:
        var(--admin-radius-sm);

    color:
        var(--admin-text);

    background:
        var(--admin-surface);

    font: inherit;

    transition:
        border-color 150ms ease,
        box-shadow 150ms ease,
        background-color 150ms ease;
}

.admin-site textarea {
    min-height: 7rem;

    resize: vertical;
}

.admin-site select[multiple] {
    min-height: 10rem;
}

.admin-site input[type='checkbox'],
.admin-site input[type='radio'] {
    width: 1.05rem;
    height: 1.05rem;

    margin:
        0
        .35rem
        0
        0;

    vertical-align: -.15rem;

    accent-color:
        var(--admin-blue-700);
}

.admin-site input[type='file'] {
    padding: .48rem;

    background:
        var(--admin-surface-soft);
}

.admin-site input[type='file']::file-selector-button {
    min-height: 2.2rem;

    margin-right: .7rem;

    padding:
        .4rem
        .65rem;

    border:
        1px solid
        var(--admin-border-strong);

    border-radius:
        .5rem;

    color:
        var(--admin-blue-900);

    background:
        #ffffff;

    font: inherit;
    font-size: .8rem;
    font-weight: 750;

    cursor: pointer;
}

.admin-site input::placeholder,
.admin-site textarea::placeholder {
    color: #91a0b1;
}


/* FIELDSETS */

.admin-site fieldset {
    min-width: 0;

    margin:
        1.25rem
        0;

    padding:
        clamp(1rem, 3vw, 1.35rem);

    border:
        1px solid
        var(--admin-border);

    border-radius:
        var(--admin-radius-md);

    background:
        var(--admin-surface);
}

.admin-site legend {
    padding:
        0
        .35rem;

    color:
        var(--admin-blue-950);

    font-size: .92rem;
    font-weight: 800;
}


/* LISTADOS EXISTENTES */

.admin-site .admin > ul {
    display: grid;

    gap: .5rem;

    margin:
        1rem
        0
        1.5rem;

    padding: 0;

    list-style: none;
}

.admin-site .admin > ul > li {
    min-width: 0;

    padding:
        .8rem
        .9rem;

    border:
        1px solid
        var(--admin-border);

    border-radius:
        var(--admin-radius-sm);

    background:
        var(--admin-surface);

    box-shadow:
        var(--admin-shadow-xs);

    overflow-wrap: anywhere;
}


/* BLOQUES / CARDS GENÉRICAS */

.admin-site .admin > article {
    margin-bottom: .75rem;

    padding:
        1rem;

    border:
        1px solid
        var(--admin-border);

    border-radius:
        var(--admin-radius-md);

    background:
        var(--admin-surface);

    box-shadow:
        var(--admin-shadow-xs);
}


/* STATUS */

.admin-site [role='status'] {
    padding:
        .8rem
        .9rem;

    border:
        1px solid
        #bed8f2;

    border-radius:
        var(--admin-radius-sm);

    color:
        var(--admin-blue-900);

    background:
        var(--admin-blue-050);
}


/* TABLAS */

.admin-site table {
    width: 100%;

    border-collapse: collapse;

    color:
        var(--admin-text);

    background:
        var(--admin-surface);

    font-size: .88rem;
}

.admin-site th,
.admin-site td {
    padding:
        .7rem
        .75rem;

    border-bottom:
        1px solid
        var(--admin-border);

    text-align: left;
    vertical-align: top;
}

.admin-site th {
    color:
        var(--admin-blue-950);

    background:
        var(--admin-surface-soft);

    font-size: .76rem;
    font-weight: 800;

    letter-spacing: .02em;
}

.admin-site tbody tr:last-child td {
    border-bottom: 0;
}

.admin-site tbody tr:hover {
    background:
        var(--admin-blue-050);
}


/* ANALYTICS EXISTENTE */

.admin-site .admin-statistics {
    margin-top: 2rem;

    padding:
        clamp(1rem, 3vw, 1.5rem);

    border:
        1px solid
        var(--admin-border);

    border-radius:
        var(--admin-radius-lg);

    background:
        var(--admin-surface);

    box-shadow:
        var(--admin-shadow-sm);
}

.admin-site .statistics-grid {
    display: grid;

    grid-template-columns:
        repeat(
            auto-fit,
            minmax(10rem, 1fr)
        );

    gap: .75rem;
}

.admin-site .statistics-grid div {
    min-width: 0;

    padding:
        .85rem
        .95rem;

    border:
        1px solid
        #d8e7e1;

    border-radius:
        var(--admin-radius-md);

    background:
        #f0f8f5;
}

.admin-site .statistics-grid dt {
    color:
        var(--admin-muted);

    font-size: .72rem;
    font-weight: 800;
}

.admin-site .statistics-grid dd {
    margin:
        .15rem
        0
        0;

    color:
        var(--admin-text);

    font-size: 1.45rem;
    font-weight: 850;

    line-height: 1;
}

.admin-site .statistics-table-wrap {
    width: 100%;

    overflow-x: auto;

    border:
        1px solid
        var(--admin-border);

    border-radius:
        var(--admin-radius-md);

    background:
        var(--admin-surface);
}


/* HEADER/FÓOTER ACTUALES — A2 REEMPLAZARÁ EL SHELL */

.admin-site .site-header {
    width:
        min(
            calc(100% - 2rem),
            86rem
        );

    min-height: 4.4rem;

    margin-inline: auto;

    border-bottom:
        1px solid
        var(--admin-border);

    background:
        transparent;
}

.admin-site .site-header .brand {
    color:
        var(--admin-blue-950);

    font-weight: 850;
}

.admin-site .header-directory {
    color:
        var(--admin-blue-800);

    font-weight: 750;
}

.admin-site footer {
    width:
        min(
            calc(100% - 2rem),
            86rem
        );

    margin-inline: auto;

    padding:
        1.5rem
        0
        2.5rem;

    border-top:
        1px solid
        var(--admin-border);

    color:
        var(--admin-muted);

    font-size: .78rem;
}


/* ACCESIBILIDAD */

.admin-site button:focus-visible,
.admin-site .button:focus-visible,
.admin-site a:focus-visible,
.admin-site input:focus-visible,
.admin-site select:focus-visible,
.admin-site textarea:focus-visible {
    outline:
        3px solid
        rgb(8 116 223 / 24%);

    outline-offset: 2px;
}

.admin-site input:not(
    [type='hidden']
):not(
    [type='checkbox']
):not(
    [type='radio']
):focus,
.admin-site select:focus,
.admin-site textarea:focus {
    border-color:
        var(--admin-blue-600);

    box-shadow:
        0 0 0 3px
        rgb(8 116 223 / 10%);
}


/* RESPONSIVE BASE */

@media (max-width: 42rem) {

    .admin-site main {
        width:
            min(
                calc(100% - 1.25rem),
                86rem
            );

        padding:
            1.6rem
            0
            3rem;
    }

    .admin-site .site-header,
    .admin-site footer {
        width:
            min(
                calc(100% - 1.25rem),
                86rem
            );
    }

    .admin-site h1 {
        font-size:
            clamp(
                1.85rem,
                9vw,
                2.35rem
            );
    }

    .admin-site .admin-login {
        margin:
            2rem
            auto;

        padding:
            1.15rem;
    }

    .admin-site fieldset {
        padding:
            .9rem;
    }

    .admin-site button,
    .admin-site .button {
        min-height: 2.8rem;
    }

    .admin-site .statistics-grid {
        grid-template-columns:
            repeat(
                2,
                minmax(0, 1fr)
            );
    }

}


@media (max-width: 23rem) {

    .admin-site .statistics-grid {
        grid-template-columns:
            1fr;
    }

}


@media (hover: none) {

    .admin-site button:hover:not(:disabled),
    .admin-site .button:hover {
        transform: none;
    }

}


@media (prefers-reduced-motion: reduce) {

    .admin-site *,
    .admin-site *::before,
    .admin-site *::after {
        scroll-behavior: auto !important;

        transition-duration: .01ms !important;
        animation-duration: .01ms !important;
        animation-iteration-count: 1 !important;
    }

}


/* ============================================================
   MODELOS ARGENTINA — ADMIN SHELL A2
   ============================================================ */


/* HEADER */

.admin-site .admin-header {
    position: sticky;
    top: 0;

    z-index: 80;

    width: 100%;

    border-bottom:
        1px solid
        var(--admin-border);

    background:
        rgb(255 255 255 / 96%);

    box-shadow:
        0 1px 0
        rgb(6 29 70 / 2%);

    backdrop-filter:
        blur(14px);
}

.admin-site .admin-header-inner {
    display: grid;

    grid-template-columns:
        auto
        minmax(0, 1fr)
        auto;

    align-items: center;

    gap:
        clamp(
            1rem,
            3vw,
            2rem
        );

    width:
        min(
            calc(100% - 2rem),
            86rem
        );

    min-height: 4.8rem;

    margin-inline: auto;
}


/* BRAND */

.admin-site .admin-brand {
    display: inline-flex;
    align-items: center;

    gap: .75rem;

    min-width: 0;

    color:
        var(--admin-blue-950);

    text-decoration: none;
}

.admin-site .admin-brand img {
    display: block;

    width: auto;
    height: 2.8rem;

    max-width: 10.75rem;

    object-fit: contain;
}

.admin-site .admin-brand-mode {
    display: inline-flex;
    align-items: center;

    min-height: 1.7rem;

    padding:
        .28rem
        .55rem;

    border:
        1px solid
        #c9dff5;

    border-radius:
        var(--admin-radius-pill);

    color:
        var(--admin-blue-800);

    background:
        var(--admin-blue-050);

    font-size: .67rem;
    font-weight: 850;

    letter-spacing: .04em;

    white-space: nowrap;
}


/* DESKTOP NAV */

.admin-site .admin-nav-desktop {
    display: flex;
    align-items: center;
    justify-content: center;

    gap: .25rem;

    min-width: 0;
}

.admin-site .admin-nav-desktop a {
    display: inline-flex;
    align-items: center;
    justify-content: center;

    min-height: 2.55rem;

    padding:
        .5rem
        .7rem;

    border-radius:
        var(--admin-radius-sm);

    color:
        var(--admin-muted);

    font-size: .8rem;
    font-weight: 750;

    text-decoration: none;

    white-space: nowrap;

    transition:
        color 150ms ease,
        background-color 150ms ease;
}

.admin-site .admin-nav-desktop a:hover {
    color:
        var(--admin-blue-900);

    background:
        var(--admin-blue-050);
}

.admin-site .admin-nav-desktop a.is-active {
    color:
        var(--admin-blue-800);

    background:
        var(--admin-blue-100);
}

.admin-site .admin-nav-desktop
    .admin-nav-public {
    margin-left: .25rem;

    border:
        1px solid
        var(--admin-border);
}


/* ACCOUNT */

.admin-site .admin-account-desktop {
    display: flex;
    align-items: center;

    gap: .65rem;

    min-width: 0;
}

.admin-site .admin-account-email {
    display: block;

    max-width: 13rem;

    overflow: hidden;

    color:
        var(--admin-muted);

    font-size: .74rem;
    font-weight: 650;

    text-overflow: ellipsis;

    white-space: nowrap;
}

.admin-site .admin-logout-form {
    margin: 0;
}

.admin-site .admin-logout-button {
    min-height: 2.45rem;

    padding:
        .48rem
        .68rem;

    border-color:
        var(--admin-border-strong);

    color:
        var(--admin-blue-900);

    background:
        #ffffff;

    font-size: .74rem;

    box-shadow: none;
}

.admin-site
    .admin-logout-button:hover:not(:disabled) {
    border-color:
        #afc4da;

    color:
        var(--admin-blue-950);

    background:
        var(--admin-blue-050);

    box-shadow: none;

    transform: none;
}


/* MOBILE MENU */

.admin-site .admin-menu-mobile {
    position: relative;

    display: none;

    justify-self: end;
}

.admin-site
    .admin-menu-mobile
    > summary {
    display: flex;
    align-items: center;
    justify-content: center;

    width: 2.8rem;
    height: 2.8rem;

    border:
        1px solid
        var(--admin-border);

    border-radius:
        .75rem;

    color:
        var(--admin-blue-950);

    background:
        #ffffff;

    cursor: pointer;

    list-style: none;
}

.admin-site
    .admin-menu-mobile
    > summary::-webkit-details-marker {
    display: none;
}

.admin-site .admin-menu-icon {
    display: grid;

    gap: .26rem;

    width: 1.1rem;
}

.admin-site .admin-menu-icon span {
    display: block;

    width: 100%;
    height: 2px;

    border-radius:
        var(--admin-radius-pill);

    background:
        currentColor;
}

.admin-site .admin-menu-panel {
    position: absolute;

    top: calc(100% + .6rem);
    right: 0;

    width:
        min(
            19rem,
            calc(100vw - 1.25rem)
        );

    padding:
        .75rem;

    border:
        1px solid
        var(--admin-border);

    border-radius:
        var(--admin-radius-md);

    background:
        #ffffff;

    box-shadow:
        0 18px 42px
        rgb(6 29 70 / 16%);
}

.admin-site .admin-menu-user {
    display: grid;

    gap: .1rem;

    padding:
        .35rem
        .45rem
        .7rem;

    border-bottom:
        1px solid
        var(--admin-border);

    overflow-wrap: anywhere;
}

.admin-site .admin-menu-user span {
    color:
        var(--admin-muted);

    font-size: .68rem;
    font-weight: 750;

    text-transform: uppercase;

    letter-spacing: .06em;
}

.admin-site .admin-menu-user strong {
    font-size: .79rem;
}

.admin-site
    .admin-menu-panel
    nav {
    display: grid;

    gap: .18rem;

    padding:
        .55rem
        0;
}

.admin-site
    .admin-menu-panel
    nav a {
    display: flex;
    align-items: center;

    min-height: 2.7rem;

    padding:
        .55rem
        .65rem;

    border-radius:
        var(--admin-radius-sm);

    color:
        var(--admin-text);

    font-size: .83rem;
    font-weight: 750;

    text-decoration: none;
}

.admin-site
    .admin-menu-panel
    nav a:hover {
    background:
        var(--admin-blue-050);
}

.admin-site
    .admin-menu-panel
    nav a.is-active {
    color:
        var(--admin-blue-800);

    background:
        var(--admin-blue-100);
}

.admin-site .admin-menu-logout {
    margin: 0;

    padding-top: .55rem;

    border-top:
        1px solid
        var(--admin-border);
}

.admin-site
    .admin-menu-logout
    .admin-logout-button {
    width: 100%;
}


/* FOOTER */

.admin-site .admin-footer {
    display: flex;
    align-items: center;
    justify-content: center;

    gap: .4rem;

    width:
        min(
            calc(100% - 2rem),
            86rem
        );

    margin-inline: auto;

    padding:
        1.4rem
        0
        2rem;

    border-top:
        1px solid
        var(--admin-border);

    color:
        var(--admin-muted);

    font-size: .72rem;
}

.admin-site .admin-footer
    span:first-child {
    color:
        var(--admin-blue-900);

    font-weight: 800;
}


/* TABLET / COMPACT DESKTOP */

@media (max-width: 68rem) {

    .admin-site
        .admin-brand-mode {
        display: none;
    }

    .admin-site
        .admin-nav-desktop a {
        padding-inline: .52rem;
    }

    .admin-site
        .admin-account-email {
        max-width: 9rem;
    }

}


/* MOBILE SHELL */

@media (max-width: 52rem) {

    .admin-site .admin-header-inner {
        grid-template-columns:
            minmax(0, 1fr)
            auto;

        width:
            min(
                calc(100% - 1.25rem),
                86rem
            );

        min-height: 4.35rem;

        gap: .75rem;
    }

    .admin-site .admin-brand {
        justify-self: start;
    }

    .admin-site .admin-brand img {
        height: 2.55rem;

        max-width: 9.75rem;
    }

    .admin-site .admin-brand-mode {
        display: inline-flex;

        font-size: .61rem;
    }

    .admin-site .admin-nav-desktop,
    .admin-site .admin-account-desktop {
        display: none;
    }

    .admin-site .admin-menu-mobile {
        display: block;
    }

    .admin-site .admin-footer {
        width:
            min(
                calc(100% - 1.25rem),
                86rem
            );
    }

}


/* VERY SMALL */

@media (max-width: 23rem) {

    .admin-site .admin-brand {
        gap: .45rem;
    }

    .admin-site .admin-brand img {
        height: 2.35rem;

        max-width: 8.75rem;
    }

    .admin-site .admin-brand-mode {
        padding:
            .22rem
            .4rem;

        font-size: .56rem;
    }

    .admin-site
        .admin-menu-mobile
        > summary {
        width: 2.65rem;
        height: 2.65rem;
    }

}


/* ============================================================
   MODELOS ARGENTINA — ADMIN DASHBOARD A3
   ============================================================ */


/* PAGE HEADER */

.admin-site .admin-page-head {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;

    gap: 1.5rem;

    margin-bottom: 1.4rem;
}

.admin-site .admin-page-head h1 {
    margin-bottom: .55rem;
}

.admin-site .admin-eyebrow,
.admin-site .admin-card-kicker {
    margin:
        0
        0
        .35rem;

    color:
        var(--admin-blue-700);

    font-size: .7rem;
    font-weight: 850;

    letter-spacing: .075em;

    text-transform: uppercase;
}

.admin-site .admin-page-description,
.admin-site .admin-card-description {
    max-width: 46rem;

    margin:
        0;

    color:
        var(--admin-muted);

    font-size: .88rem;
}


/* QUICK ACTIONS */

.admin-site .admin-quick-grid {
    display: grid;

    grid-template-columns:
        repeat(
            2,
            minmax(0, 1fr)
        );

    gap: .85rem;

    margin-bottom: 1rem;
}

.admin-site .admin-quick-card {
    display: grid;

    grid-template-columns:
        auto
        minmax(0, 1fr)
        auto;

    align-items: center;

    gap: .85rem;

    min-width: 0;

    padding:
        1rem
        1.05rem;

    border:
        1px solid
        var(--admin-border);

    border-radius:
        var(--admin-radius-lg);

    color:
        var(--admin-text);

    background:
        var(--admin-surface);

    box-shadow:
        var(--admin-shadow-xs);

    text-decoration: none;

    transition:
        border-color 160ms ease,
        box-shadow 160ms ease,
        transform 160ms ease;
}

.admin-site .admin-quick-card:hover {
    border-color:
        #b9d4ef;

    color:
        var(--admin-text);

    box-shadow:
        var(--admin-shadow-sm);

    transform:
        translateY(-1px);
}

.admin-site .admin-quick-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;

    width: 2.6rem;
    height: 2.6rem;

    border-radius:
        .75rem;

    color:
        #ffffff;

    background:
        linear-gradient(
            145deg,
            var(--admin-blue-800),
            var(--admin-blue-600)
        );

    font-size: .73rem;
    font-weight: 900;

    letter-spacing: -.01em;
}

.admin-site .admin-quick-card strong,
.admin-site .admin-quick-card small {
    display: block;
}

.admin-site .admin-quick-card strong {
    color:
        var(--admin-blue-950);

    font-size: .9rem;
}

.admin-site .admin-quick-card small {
    margin-top: .15rem;

    color:
        var(--admin-muted);

    font-size: .73rem;
}

.admin-site .admin-quick-arrow {
    color:
        var(--admin-blue-700);

    font-size: 1.2rem;
    font-weight: 700;
}


/* CARDS */

.admin-site .admin-card {
    min-width: 0;

    margin-bottom: 1rem;

    padding:
        clamp(
            1rem,
            2.5vw,
            1.35rem
        );

    border:
        1px solid
        var(--admin-border);

    border-radius:
        var(--admin-radius-lg);

    background:
        var(--admin-surface);

    box-shadow:
        var(--admin-shadow-xs);
}

.admin-site .admin-card-head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;

    gap: 1rem;

    margin-bottom: 1rem;
}

.admin-site .admin-card-head h2 {
    margin:
        0;
}

.admin-site .admin-count-pill {
    display: inline-flex;
    align-items: center;
    justify-content: center;

    min-height: 1.8rem;

    padding:
        .3rem
        .58rem;

    border:
        1px solid
        #c9def4;

    border-radius:
        var(--admin-radius-pill);

    color:
        var(--admin-blue-800);

    background:
        var(--admin-blue-050);

    font-size: .68rem;
    font-weight: 850;

    white-space: nowrap;
}


/* TABLES */

.admin-site .admin-table-wrap {
    width: 100%;

    overflow-x: auto;

    border:
        1px solid
        var(--admin-border);

    border-radius:
        var(--admin-radius-md);

    background:
        var(--admin-surface);

    -webkit-overflow-scrolling: touch;
}

.admin-site .admin-table {
    min-width: 40rem;
}

.admin-site .admin-table th {
    padding:
        .65rem
        .8rem;

    color:
        var(--admin-muted);

    background:
        #f8fafc;

    font-size: .68rem;

    letter-spacing: .045em;

    text-transform: uppercase;
}

.admin-site .admin-table td {
    padding:
        .72rem
        .8rem;
}

.admin-site .admin-agency-name {
    color:
        var(--admin-blue-900);

    font-weight: 800;

    text-decoration: none;
}

.admin-site .admin-agency-name:hover {
    text-decoration: underline;
}

.admin-site .admin-table-muted {
    color:
        var(--admin-muted);
}

.admin-site .admin-table-number {
    text-align: right;

    font-variant-numeric:
        tabular-nums;
}

.admin-site .admin-table-action,
.admin-site .admin-table-action-head {
    text-align: right;
}

.admin-site .admin-table-link {
    display: inline-flex;
    align-items: center;

    min-height: 2rem;

    padding:
        .28rem
        .55rem;

    border:
        1px solid
        var(--admin-border);

    border-radius:
        .5rem;

    color:
        var(--admin-blue-800);

    background:
        #ffffff;

    font-size: .74rem;
    font-weight: 800;

    text-decoration: none;
}

.admin-site .admin-table-link:hover {
    border-color:
        #b7cee5;

    background:
        var(--admin-blue-050);
}


/* BADGES */

.admin-site .admin-badge {
    display: inline-flex;
    align-items: center;

    min-height: 1.55rem;

    padding:
        .2rem
        .48rem;

    border:
        1px solid
        var(--admin-border);

    border-radius:
        var(--admin-radius-pill);

    font-size: .66rem;
    font-weight: 850;

    line-height: 1;

    white-space: nowrap;
}

.admin-site .admin-badge.is-success {
    border-color:
        #b9dfc9;

    color:
        var(--admin-success);

    background:
        var(--admin-success-soft);
}

.admin-site .admin-badge.is-warning {
    border-color:
        #ead29b;

    color:
        var(--admin-warning);

    background:
        var(--admin-warning-soft);
}

.admin-site .admin-badge.is-neutral {
    color:
        var(--admin-muted);

    background:
        #f2f5f8;
}


/* MANAGEMENT */

.admin-site .admin-management-grid,
.admin-site .admin-queue-grid {
    display: grid;

    grid-template-columns:
        repeat(
            2,
            minmax(0, 1fr)
        );

    gap: 1rem;
}

.admin-site .admin-form {
    margin-top: 1rem;
}

.admin-site .admin-form-grid {
    display: grid;

    grid-template-columns:
        repeat(
            2,
            minmax(0, 1fr)
        );

    gap:
        .15rem
        .8rem;
}

.admin-site .admin-field {
    min-width: 0;
}

.admin-site .admin-field-wide {
    grid-column:
        1 / -1;
}

.admin-site .admin-field-label {
    display: block;

    color:
        var(--admin-text);

    font-size: .75rem;
    font-weight: 800;
}

.admin-site .admin-check-row {
    display: flex;
    align-items: center;

    gap: .35rem;

    min-height: 2.75rem;

    margin-bottom: .8rem;

    padding:
        .55rem
        .7rem;

    border:
        1px solid
        var(--admin-border);

    border-radius:
        var(--admin-radius-sm);

    background:
        var(--admin-surface-soft);

    cursor: pointer;
}

.admin-site
    .admin-check-row
    input {
    flex:
        0 0 auto;

    margin: 0;
}

.admin-site
    .admin-check-row
    span {
    font-size: .79rem;
    font-weight: 750;
}

.admin-site .admin-form-actions {
    display: flex;
    align-items: center;

    gap: .65rem;

    margin-top: .35rem;
}


/* SECONDARY BUTTON */

.admin-site .admin-button-secondary {
    border-color:
        var(--admin-border-strong);

    color:
        var(--admin-blue-800);

    background:
        #ffffff;
}

.admin-site .admin-button-secondary:hover {
    border-color:
        #afc7df;

    color:
        var(--admin-blue-950);

    background:
        var(--admin-blue-050);
}


/* EMPTY STATES */

.admin-site .admin-empty-state {
    padding:
        1.2rem;

    border:
        1px dashed
        var(--admin-border-strong);

    border-radius:
        var(--admin-radius-md);

    color:
        var(--admin-muted);

    background:
        var(--admin-surface-soft);
}

.admin-site .admin-empty-state strong {
    display: block;

    margin-bottom: .25rem;

    color:
        var(--admin-text);
}

.admin-site .admin-empty-state p {
    margin:
        0;
}

.admin-site .admin-empty-state.is-compact {
    padding: .9rem;
}

.admin-site .admin-empty-actions {
    display: flex;
    flex-wrap: wrap;

    gap: .55rem;

    margin-top: .85rem;
}


/* CLAIMS / REPORTS */

.admin-site .admin-queue-list {
    display: grid;

    gap: .7rem;
}

.admin-site .admin-queue-item {
    padding:
        .85rem;

    border:
        1px solid
        var(--admin-border);

    border-radius:
        var(--admin-radius-md);

    background:
        var(--admin-surface-soft);
}

.admin-site .admin-queue-item-head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;

    gap: .8rem;

    margin-bottom: .75rem;
}

.admin-site .admin-queue-item-head strong,
.admin-site .admin-queue-item-head span {
    display: block;
}

.admin-site .admin-queue-item-head
    div > span {
    margin-top: .12rem;

    color:
        var(--admin-muted);

    font-size: .73rem;
}

.admin-site .admin-queue-form {
    display: grid;

    grid-template-columns:
        minmax(8rem, .8fr)
        minmax(10rem, 1.5fr)
        auto;

    align-items: end;

    gap: .55rem;
}

.admin-site
    .admin-queue-form
    .admin-field {
    margin-bottom: 0;
}

.admin-site
    .admin-queue-form
    label {
    margin-bottom: 0;
}

.admin-site
    .admin-queue-form
    button {
    margin-bottom: 0;

    white-space: nowrap;
}


/* ANALYTICS */

.admin-site .admin-analytics {
    margin-top: .1rem;
}

.admin-site .admin-analytics-head {
    align-items: flex-end;
}

.admin-site .admin-period-form {
    display: flex;
    align-items: flex-end;

    gap: .55rem;

    margin: 0;
}

.admin-site .admin-period-form label {
    min-width: 10rem;

    margin: 0;
}

.admin-site .admin-period-form select {
    margin-top: .32rem;
}

.admin-site .admin-kpi-grid {
    display: grid;

    grid-template-columns:
        repeat(
            4,
            minmax(0, 1fr)
        );

    gap: .7rem;
}

.admin-site .admin-kpi-grid.is-compact {
    grid-template-columns:
        repeat(
            2,
            minmax(0, 12rem)
        );
}

.admin-site .admin-kpi-card {
    min-width: 0;

    padding:
        .9rem;

    border:
        1px solid
        #d8e4f0;

    border-radius:
        var(--admin-radius-md);

    background:
        linear-gradient(
            145deg,
            #ffffff,
            #f7faff
        );
}

.admin-site .admin-kpi-card span {
    display: block;

    color:
        var(--admin-muted);

    font-size: .7rem;
    font-weight: 800;
}

.admin-site .admin-kpi-card strong {
    display: block;

    margin-top: .28rem;

    color:
        var(--admin-blue-950);

    font-size:
        clamp(
            1.3rem,
            3vw,
            1.8rem
        );

    font-variant-numeric:
        tabular-nums;

    line-height: 1;
}

.admin-site .admin-analytics-subsection,
.admin-site .admin-analytics-table-block {
    margin-top: 1.35rem;
}

.admin-site .admin-subsection-head {
    margin-bottom: .55rem;
}

.admin-site
    .admin-subsection-head
    h3 {
    margin: 0;
}

.admin-site .admin-analytics-tables {
    display: grid;

    grid-template-columns:
        repeat(
            2,
            minmax(0, 1fr)
        );

    gap: 1rem;
}

.admin-site
    .admin-analytics-table-block
    .admin-table {
    min-width: 25rem;
}

.admin-site
    .admin-analytics-agency-table {
    min-width: 52rem;
}


/* RESPONSIVE */

@media (max-width: 72rem) {

    .admin-site .admin-management-grid,
    .admin-site .admin-queue-grid {
        grid-template-columns:
            1fr;
    }

    .admin-site .admin-kpi-grid {
        grid-template-columns:
            repeat(
                2,
                minmax(0, 1fr)
            );
    }

}


@media (max-width: 52rem) {

    .admin-site .admin-page-head {
        align-items: flex-start;

        margin-bottom: 1rem;
    }

    .admin-site .admin-quick-grid {
        grid-template-columns:
            1fr;
    }

    .admin-site .admin-analytics-head {
        display: grid;

        grid-template-columns:
            1fr;

        align-items: stretch;
    }

    .admin-site .admin-period-form {
        align-items: flex-end;

        width: 100%;
    }

    .admin-site
        .admin-period-form
        label {
        flex:
            1 1 auto;

        min-width: 0;
    }

    .admin-site .admin-analytics-tables {
        grid-template-columns:
            1fr;
    }

}


@media (max-width: 36rem) {

    .admin-site .admin-card {
        padding:
            .9rem;
    }

    .admin-site .admin-card-head {
        align-items: flex-start;
    }

    .admin-site .admin-form-grid {
        grid-template-columns:
            1fr;
    }

    .admin-site .admin-field-wide {
        grid-column: auto;
    }

    .admin-site .admin-queue-form {
        grid-template-columns:
            1fr;
    }

    .admin-site
        .admin-queue-form
        button {
        width: 100%;
    }

    .admin-site .admin-kpi-grid,
    .admin-site .admin-kpi-grid.is-compact {
        grid-template-columns:
            repeat(
                2,
                minmax(0, 1fr)
            );
    }

    .admin-site .admin-period-form {
        display: grid;

        grid-template-columns:
            1fr;
    }

    .admin-site
        .admin-period-form
        button {
        width: 100%;
    }

}


@media (max-width: 23rem) {

    .admin-site .admin-kpi-grid,
    .admin-site .admin-kpi-grid.is-compact {
        grid-template-columns:
            1fr;
    }

    .admin-site .admin-quick-card {
        grid-template-columns:
            auto
            minmax(0, 1fr);

        padding:
            .85rem;
    }

    .admin-site .admin-quick-arrow {
        display: none;
    }

    .admin-site .admin-card-head {
        display: grid;

        grid-template-columns:
            1fr;
    }

    .admin-site .admin-count-pill {
        justify-self: start;
    }

}


@media (hover: none) {

    .admin-site .admin-quick-card:hover {
        transform: none;
    }

}


/* ============================================================
   MODELOS ARGENTINA — ADMIN A3.1
   Estadísticas separadas + directorio compacto
   ============================================================ */


/* DIRECTORIO DEL DASHBOARD:
   aproximadamente siete agencias visibles antes del scroll */

.admin-site .admin-directory-scroll {
    max-height: 27rem;

    overflow: auto;

    scrollbar-gutter: stable;
}

.admin-site
    .admin-directory-scroll
    .admin-table {
    min-width: 40rem;
}

.admin-site
    .admin-directory-scroll
    thead th {
    position: sticky;

    top: 0;

    z-index: 2;

    background:
        #f8fafc;

    box-shadow:
        0 1px 0
        var(--admin-border);
}


/* ESTADÍSTICAS COMO ÁREA INDEPENDIENTE */

.admin-site
    .admin-dashboard
    > .admin-analytics {
    margin-top: 0;
}

.admin-site
    .admin-analytics
    .admin-card-head {
    margin-bottom: 1.2rem;
}


@media (max-width: 36rem) {

    .admin-site .admin-directory-scroll {
        max-height: 25rem;
    }

}


/* ============================================================
   MODELOS ARGENTINA — ADMIN AGENCIES A4
   ============================================================ */


.admin-site .admin-agencies-head {
    align-items: flex-end;
}

.admin-site .admin-page-actions {
    display: flex;
    align-items: center;
    justify-content: flex-end;

    gap: .55rem;

    flex-wrap: wrap;
}

.admin-site .admin-agencies-card {
    margin-bottom: 0;
}

.admin-site .admin-agencies-table {
    min-width: 49rem;
}


/* MOBILE CARDS */

.admin-site .admin-agencies-mobile {
    display: none;
}

.admin-site .admin-agency-mobile-card {
    padding: .9rem;

    border:
        1px solid
        var(--admin-border);

    border-radius:
        var(--admin-radius-md);

    background:
        var(--admin-surface);

    box-shadow:
        var(--admin-shadow-xs);
}

.admin-site .admin-agency-mobile-card
    + .admin-agency-mobile-card {
    margin-top: .65rem;
}

.admin-site .admin-agency-mobile-head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;

    gap: .75rem;
}

.admin-site .admin-agency-mobile-head
    > div {
    min-width: 0;
}

.admin-site .admin-agency-mobile-head
    .admin-agency-name {
    display: block;

    overflow-wrap: anywhere;
}

.admin-site .admin-agency-mobile-head p {
    margin:
        .2rem
        0
        0;

    color:
        var(--admin-muted);

    font-size: .74rem;
}

.admin-site .admin-agency-mobile-edit {
    width: 100%;

    margin-top: .8rem;
}


/* MOBILE */

@media (max-width: 42rem) {

    .admin-site .admin-agencies-head {
        display: grid;

        grid-template-columns: 1fr;

        align-items: start;

        gap: 1rem;
    }

    .admin-site .admin-page-actions {
        display: grid;

        grid-template-columns:
            repeat(
                2,
                minmax(0, 1fr)
            );

        width: 100%;
    }

    .admin-site .admin-page-actions
        .button {
        width: 100%;
    }

    .admin-site .admin-agencies-desktop {
        display: none;
    }

    .admin-site .admin-agencies-mobile {
        display: block;
    }

}


@media (max-width: 23rem) {

    .admin-site .admin-page-actions {
        grid-template-columns: 1fr;
    }

    .admin-site .admin-agency-mobile-head {
        display: grid;

        grid-template-columns: 1fr;
    }

    .admin-site .admin-agency-mobile-head
        .admin-badge {
        justify-self: start;
    }

}


/* ============================================================
   MODELOS ARGENTINA — ADMIN AGENCY FORM A5
   ============================================================ */


.admin-site .admin-form-page-head {
    align-items: flex-end;
}


/* FORM SECTIONS */

.admin-site .admin-agency-form {
    display: grid;

    gap: 1rem;
}

.admin-site .admin-form-section {
    min-width: 0;

    padding:
        clamp(
            1rem,
            2.8vw,
            1.4rem
        );

    border:
        1px solid
        var(--admin-border);

    border-radius:
        var(--admin-radius-lg);

    background:
        var(--admin-surface);

    box-shadow:
        var(--admin-shadow-xs);
}

.admin-site .admin-form-section-head {
    margin-bottom: 1.15rem;

    padding-bottom: 1rem;

    border-bottom:
        1px solid
        var(--admin-border);
}

.admin-site .admin-form-section-head
    > div {
    display: flex;
    align-items: flex-start;

    gap: .75rem;
}

.admin-site .admin-form-section-number {
    display: inline-flex;
    align-items: center;
    justify-content: center;

    flex:
        0 0 auto;

    width: 2rem;
    height: 2rem;

    border-radius:
        .65rem;

    color:
        var(--admin-blue-800);

    background:
        var(--admin-blue-100);

    font-size: .67rem;
    font-weight: 900;
}

.admin-site .admin-form-section-head h2 {
    margin:
        .08rem
        0
        .25rem;

    font-size: 1.12rem;
}

.admin-site .admin-form-section-head p {
    margin: 0;

    color:
        var(--admin-muted);

    font-size: .76rem;
}


/* GRIDS */

.admin-site .admin-form-grid.is-three {
    grid-template-columns:
        repeat(
            3,
            minmax(0, 1fr)
        );
}

.admin-site .admin-form-grid.is-four {
    grid-template-columns:
        repeat(
            4,
            minmax(0, 1fr)
        );
}

.admin-site .admin-field-span-2 {
    grid-column:
        span 2;
}

.admin-site .admin-field-span-full {
    grid-column:
        1 / -1;
}


/* HELP */

.admin-site .admin-field-help {
    display: block;

    margin-top: .35rem;

    color:
        var(--admin-muted);

    font-size: .68rem;
    font-weight: 500;
}


/* CATEGORY CARDS */

.admin-site .admin-choice-fieldset {
    margin:
        0
        0
        1rem;

    padding: 0;

    border: 0;

    background: transparent;
}

.admin-site .admin-choice-fieldset legend {
    margin-bottom: .65rem;

    padding: 0;

    color:
        var(--admin-text);

    font-size: .76rem;
    font-weight: 800;
}

.admin-site .admin-checkbox-grid {
    display: grid;

    grid-template-columns:
        repeat(
            3,
            minmax(0, 1fr)
        );

    gap: .55rem;
}

.admin-site .admin-checkbox-card {
    display: flex;
    align-items: center;

    gap: .55rem;

    min-height: 2.8rem;

    margin: 0;

    padding:
        .55rem
        .7rem;

    border:
        1px solid
        var(--admin-border);

    border-radius:
        var(--admin-radius-sm);

    background:
        var(--admin-surface-soft);

    cursor: pointer;
}

.admin-site .admin-checkbox-card:hover {
    border-color:
        #bfd3e7;

    background:
        var(--admin-blue-050);
}

.admin-site .admin-checkbox-card input {
    flex:
        0 0 auto;

    margin: 0;
}

.admin-site .admin-checkbox-card span {
    font-size: .76rem;
}


/* CHECK CARD */

.admin-site .admin-check-card {
    display: flex;
    align-items: flex-start;

    gap: .65rem;

    margin: 0;

    padding:
        .75rem;

    border:
        1px solid
        var(--admin-border);

    border-radius:
        var(--admin-radius-sm);

    background:
        var(--admin-surface-soft);

    cursor: pointer;
}

.admin-site .admin-check-card.is-prominent {
    margin-bottom: 1rem;

    border-color:
        #c8dcf0;

    background:
        var(--admin-blue-050);
}

.admin-site .admin-check-card.is-inline {
    display: inline-flex;

    margin-top: .65rem;
}

.admin-site .admin-check-card input {
    flex:
        0 0 auto;

    margin-top: .15rem;
}

.admin-site .admin-check-card strong,
.admin-site .admin-check-card small {
    display: block;
}

.admin-site .admin-check-card strong {
    color:
        var(--admin-blue-950);

    font-size: .8rem;
}

.admin-site .admin-check-card small {
    margin-top: .1rem;

    color:
        var(--admin-muted);

    font-size: .68rem;
}


/* REPEATED ITEMS */

.admin-site .admin-repeat-list {
    display: grid;

    gap: .75rem;
}

.admin-site .admin-repeat-card {
    margin: 0;

    padding: .9rem;

    background:
        var(--admin-surface-soft);

    box-shadow: none;
}

.admin-site .admin-repeat-card legend {
    color:
        var(--admin-blue-900);

    font-size: .72rem;
    font-weight: 850;
}


/* MULTI SELECTS */

.admin-site .admin-agency-form
    select[multiple] {
    min-height: 13rem;

    padding: .45rem;
}

.admin-site .admin-agency-form
    select[multiple]
    option {
    padding:
        .35rem
        .45rem;
}


/* SUBMIT */

.admin-site .admin-form-submit {
    display: flex;
    align-items: center;
    justify-content: space-between;

    gap: 1rem;

    padding:
        1rem
        1.15rem;

    border:
        1px solid
        #bfd8ef;

    border-radius:
        var(--admin-radius-lg);

    background:
        linear-gradient(
            145deg,
            #f8fbff,
            #edf6ff
        );
}

.admin-site .admin-form-submit strong {
    display: block;

    color:
        var(--admin-blue-950);

    font-size: .85rem;
}

.admin-site .admin-form-submit p {
    margin:
        .15rem
        0
        0;

    font-size: .7rem;
}


/* DANGER ZONE */

.admin-site .admin-danger-zone {
    display: flex;
    align-items: center;
    justify-content: space-between;

    gap: 1rem;

    margin-top: 1.25rem;

    padding:
        1rem
        1.15rem;

    border:
        1px solid
        #efc9cd;

    border-radius:
        var(--admin-radius-lg);

    background:
        var(--admin-danger-soft);
}

.admin-site .admin-danger-zone h2 {
    margin:
        0
        0
        .25rem;

    color:
        #84212b;

    font-size: 1.05rem;
}

.admin-site .admin-danger-zone p {
    margin: 0;

    color:
        #8e5359;

    font-size: .74rem;
}

.admin-site .admin-danger-zone form {
    flex:
        0 0 auto;

    margin: 0;
}

.admin-site .admin-button-danger {
    border-color:
        var(--admin-danger);

    color:
        #ffffff;

    background:
        var(--admin-danger);
}

.admin-site
    .admin-button-danger:hover:not(:disabled) {
    border-color:
        #982630;

    color:
        #ffffff;

    background:
        #982630;
}


/* TABLET */

@media (max-width: 64rem) {

    .admin-site
        .admin-form-grid.is-four {
        grid-template-columns:
            repeat(
                2,
                minmax(0, 1fr)
            );
    }

    .admin-site
        .admin-checkbox-grid {
        grid-template-columns:
            repeat(
                2,
                minmax(0, 1fr)
            );
    }

}


/* MOBILE */

@media (max-width: 42rem) {

    .admin-site .admin-form-page-head {
        display: grid;

        grid-template-columns: 1fr;

        align-items: start;
    }

    .admin-site
        .admin-form-grid,
    .admin-site
        .admin-form-grid.is-three,
    .admin-site
        .admin-form-grid.is-four {
        grid-template-columns:
            1fr;
    }

    .admin-site .admin-field-span-2,
    .admin-site .admin-field-span-full {
        grid-column: auto;
    }

    .admin-site .admin-checkbox-grid {
        grid-template-columns:
            1fr;
    }

    .admin-site .admin-form-submit,
    .admin-site .admin-danger-zone {
        display: grid;

        grid-template-columns:
            1fr;
    }

    .admin-site .admin-form-submit button,
    .admin-site .admin-danger-zone button {
        width: 100%;
    }

    .admin-site .admin-danger-zone form {
        width: 100%;
    }

}


@media (max-width: 23rem) {

    .admin-site .admin-form-section {
        padding: .85rem;
    }

    .admin-site .admin-form-section-head
        > div {
        gap: .55rem;
    }

    .admin-site .admin-form-section-number {
        width: 1.8rem;
        height: 1.8rem;
    }

}


/* ============================================================
   MODELOS ARGENTINA — ADMIN IMPORT A6
   ============================================================ */


.admin-site .admin-import-page-head {
    align-items: flex-end;
}


/* UPLOAD LAYOUT */

.admin-site .admin-import-layout {
    display: grid;

    grid-template-columns:
        minmax(0, 1.35fr)
        minmax(18rem, .65fr);

    gap: 1rem;

    align-items: start;
}

.admin-site .admin-import-upload-card,
.admin-site .admin-import-help {
    margin-bottom: 0;
}


/* FILE INPUT */

.admin-site .admin-import-form {
    margin-top: 1rem;
}

.admin-site .admin-import-file {
    display: grid;

    grid-template-columns:
        auto
        minmax(0, 1fr);

    align-items: center;

    gap: .85rem;

    margin: 0;

    padding:
        1rem;

    border:
        1px dashed
        #aec9e4;

    border-radius:
        var(--admin-radius-md);

    background:
        var(--admin-blue-050);
}

.admin-site .admin-import-file-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;

    width: 3.2rem;
    height: 3.2rem;

    border-radius:
        .8rem;

    color:
        #ffffff;

    background:
        linear-gradient(
            145deg,
            var(--admin-blue-800),
            var(--admin-blue-600)
        );

    font-size: .68rem;
    font-weight: 900;
}

.admin-site .admin-import-file-copy {
    min-width: 0;
}

.admin-site .admin-import-file-copy strong,
.admin-site .admin-import-file-copy small {
    display: block;
}

.admin-site .admin-import-file-copy strong {
    color:
        var(--admin-blue-950);

    font-size: .84rem;
}

.admin-site .admin-import-file-copy small {
    margin-top: .15rem;

    color:
        var(--admin-muted);

    font-size: .7rem;
}

.admin-site .admin-import-file
    input[type='file'] {
    grid-column:
        1 / -1;

    margin-top: .25rem;
}


/* HEADER FIELD CHIPS */

.admin-site .admin-import-fields {
    display: flex;
    flex-wrap: wrap;

    gap: .4rem;

    margin-top: 1rem;
}

.admin-site .admin-import-fields code {
    display: inline-flex;
    align-items: center;

    min-height: 1.75rem;

    padding:
        .25rem
        .48rem;

    border:
        1px solid
        var(--admin-border);

    border-radius:
        .45rem;

    color:
        var(--admin-blue-900);

    background:
        var(--admin-surface-soft);

    font-size: .67rem;

    overflow-wrap: anywhere;
}

.admin-site .admin-import-note {
    margin-top: 1rem;

    padding:
        .75rem;

    border:
        1px solid
        #e9d59e;

    border-radius:
        var(--admin-radius-sm);

    background:
        var(--admin-warning-soft);
}

.admin-site .admin-import-note strong {
    color:
        var(--admin-warning);

    font-size: .75rem;
}

.admin-site .admin-import-note p {
    margin:
        .15rem
        0
        0;

    color:
        #775720;

    font-size: .7rem;
}


/* NOTICES */

.admin-site .admin-notice {
    margin-bottom: 1rem;

    padding:
        .9rem
        1rem;

    border:
        1px solid
        var(--admin-border);

    border-radius:
        var(--admin-radius-md);

    background:
        var(--admin-surface);
}

.admin-site .admin-notice strong {
    display: block;

    margin-bottom: .15rem;

    font-size: .82rem;
}

.admin-site .admin-notice p {
    margin: 0;

    font-size: .76rem;
}

.admin-site .admin-notice.is-success {
    border-color:
        #b9dfc9;

    background:
        var(--admin-success-soft);
}

.admin-site .admin-notice.is-success strong {
    color:
        var(--admin-success);
}

.admin-site .admin-notice.is-warning {
    border-color:
        #ead29b;

    background:
        var(--admin-warning-soft);
}

.admin-site .admin-notice.is-warning strong {
    color:
        var(--admin-warning);
}

.admin-site .admin-notice.is-info {
    border-color:
        #bdd8f3;

    background:
        var(--admin-blue-050);
}

.admin-site .admin-notice.is-info strong {
    color:
        var(--admin-blue-800);
}


/* SUMMARY */

.admin-site .admin-import-summary {
    display: grid;

    grid-template-columns:
        repeat(
            4,
            minmax(0, 1fr)
        );

    gap: .7rem;

    margin:
        0;

    padding: 0;
}

.admin-site .admin-import-summary > div {
    min-width: 0;

    padding:
        .85rem;

    border:
        1px solid
        var(--admin-border);

    border-radius:
        var(--admin-radius-md);

    background:
        var(--admin-surface-soft);
}

.admin-site .admin-import-summary dt {
    color:
        var(--admin-muted);

    font-size: .68rem;
    font-weight: 800;
}

.admin-site .admin-import-summary dd {
    margin:
        .25rem
        0
        0;

    color:
        var(--admin-blue-950);

    font-size: 1.65rem;
    font-weight: 900;

    line-height: 1;

    font-variant-numeric:
        tabular-nums;
}

.admin-site
    .admin-import-summary
    > .is-success {
    border-color:
        #c6e2d1;

    background:
        var(--admin-success-soft);
}

.admin-site
    .admin-import-summary
    > .is-warning {
    border-color:
        #ead29b;

    background:
        var(--admin-warning-soft);
}

.admin-site
    .admin-import-summary
    > .is-danger {
    border-color:
        #efc9cd;

    background:
        var(--admin-danger-soft);
}

.admin-site
    .admin-import-summary
    > .is-neutral {
    background:
        #f4f6f8;
}


/* DANGER BADGE */

.admin-site .admin-badge.is-danger {
    border-color:
        #efc9cd;

    color:
        var(--admin-danger);

    background:
        var(--admin-danger-soft);
}


/* ACCEPT */

.admin-site .admin-import-accept {
    display: flex;
    align-items: center;
    justify-content: space-between;

    gap: 1rem;

    margin-top: 1rem;

    padding:
        .9rem
        1rem;

    border:
        1px solid
        #bdd8f3;

    border-radius:
        var(--admin-radius-md);

    background:
        var(--admin-blue-050);
}

.admin-site .admin-import-accept strong {
    display: block;

    color:
        var(--admin-blue-950);

    font-size: .82rem;
}

.admin-site .admin-import-accept p {
    margin:
        .12rem
        0
        0;

    font-size: .7rem;
}

.admin-site .admin-import-accept form {
    flex:
        0 0 auto;

    margin: 0;
}


/* TABLE */

.admin-site .admin-import-results {
    margin-bottom: 0;
}

.admin-site .admin-import-table {
    min-width: 42rem;
}

.admin-site .admin-import-row-number {
    width: 5.5rem;

    color:
        var(--admin-muted);

    font-variant-numeric:
        tabular-nums;
}

.admin-site .admin-import-detail {
    color:
        var(--admin-muted);

    overflow-wrap: anywhere;
}


/* TABLET */

@media (max-width: 64rem) {

    .admin-site .admin-import-layout {
        grid-template-columns: 1fr;
    }

    .admin-site .admin-import-summary {
        grid-template-columns:
            repeat(
                2,
                minmax(0, 1fr)
            );
    }

}


/* MOBILE */

@media (max-width: 42rem) {

    .admin-site .admin-import-page-head {
        display: grid;

        grid-template-columns:
            1fr;

        align-items: start;
    }

    .admin-site .admin-import-accept {
        display: grid;

        grid-template-columns: 1fr;
    }

    .admin-site .admin-import-accept form,
    .admin-site .admin-import-accept button {
        width: 100%;
    }

}


@media (max-width: 23rem) {

    .admin-site .admin-import-summary {
        grid-template-columns:
            1fr;
    }

    .admin-site .admin-import-file {
        grid-template-columns:
            1fr;
    }

    .admin-site .admin-import-file-icon {
        width: 2.8rem;
        height: 2.8rem;
    }

}


/* ============================================================
   MODELOS ARGENTINA — ADMIN LOGIN A7
   ============================================================ */


.admin-site .admin-auth {
    width:
        min(
            100%,
            30rem
        );

    margin:
        clamp(
            2rem,
            7vh,
            4.5rem
        )
        auto;

    padding:
        clamp(
            1.25rem,
            4vw,
            1.75rem
        );

    border:
        1px solid
        var(--admin-border);

    border-radius:
        1.35rem;

    background:
        var(--admin-surface);

    box-shadow:
        0 18px 45px
        rgb(6 29 70 / 9%);
}


/* HEADING */

.admin-site .admin-auth-heading {
    text-align: center;
}

.admin-site .admin-auth-mark {
    display: inline-flex;
    align-items: center;
    justify-content: center;

    width: 3.25rem;
    height: 3.25rem;

    margin-bottom: .85rem;

    border-radius:
        1rem;

    color:
        #ffffff;

    background:
        linear-gradient(
            145deg,
            var(--admin-blue-900),
            var(--admin-blue-600)
        );

    box-shadow:
        0 8px 20px
        rgb(7 88 183 / 20%);

    font-size: .78rem;
    font-weight: 900;

    letter-spacing: -.02em;
}

.admin-site .admin-auth-heading
    .admin-eyebrow {
    margin-bottom: .3rem;
}

.admin-site .admin-auth-heading h1 {
    margin-bottom: .5rem;

    font-size:
        clamp(
            1.8rem,
            6vw,
            2.35rem
        );
}

.admin-site .admin-auth-intro {
    margin:
        0
        auto;

    max-width: 22rem;

    color:
        var(--admin-muted);

    font-size: .8rem;
}


/* NORMAL ACCESS */

.admin-site .admin-auth-access {
    margin-top: 1.35rem;

    padding-top: 1.2rem;

    border-top:
        1px solid
        var(--admin-border);
}

.admin-site .admin-auth-access > p {
    margin:
        0
        0
        .8rem;

    color:
        var(--admin-muted);

    font-size: .78rem;

    text-align: center;
}

.admin-site .admin-google-button {
    display: flex;

    width: 100%;

    min-height: 3rem;

    gap: .6rem;

    font-size: .82rem;
}

.admin-site .admin-google-mark {
    display: inline-flex;
    align-items: center;
    justify-content: center;

    width: 1.5rem;
    height: 1.5rem;

    border-radius: 50%;

    color:
        var(--admin-blue-800);

    background:
        #ffffff;

    font-size: .74rem;
    font-weight: 900;
}


/* AUTH STATES */

.admin-site .admin-auth-status {
    display: grid;

    grid-template-columns:
        auto
        minmax(0, 1fr);

    gap: .7rem;

    margin-top: 1.3rem;

    padding:
        .85rem
        .9rem;

    border:
        1px solid
        var(--admin-border);

    border-radius:
        var(--admin-radius-md);
}

.admin-site .admin-auth-status-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;

    width: 1.75rem;
    height: 1.75rem;

    border-radius: 50%;

    font-size: .72rem;
    font-weight: 900;
}

.admin-site .admin-auth-status strong {
    display: block;

    margin-top: .05rem;

    font-size: .8rem;
}

.admin-site .admin-auth-status p {
    margin:
        .12rem
        0
        0;

    font-size: .74rem;
}

.admin-site .admin-auth-status.is-warning {
    border-color:
        #ead29b;

    background:
        var(--admin-warning-soft);
}

.admin-site
    .admin-auth-status.is-warning
    .admin-auth-status-icon {
    color:
        #ffffff;

    background:
        var(--admin-warning);
}

.admin-site
    .admin-auth-status.is-warning
    strong {
    color:
        #79500a;
}

.admin-site .admin-auth-status.is-danger {
    border-color:
        #efc9cd;

    background:
        var(--admin-danger-soft);
}

.admin-site
    .admin-auth-status.is-danger
    .admin-auth-status-icon {
    color:
        #ffffff;

    background:
        var(--admin-danger);
}

.admin-site
    .admin-auth-status.is-danger
    strong {
    color:
        #84212b;
}


/* TEST ENVIRONMENT */

.admin-site .admin-auth-test {
    margin-top: 1rem;
}

.admin-site .admin-auth-divider {
    display: flex;
    align-items: center;

    gap: .65rem;

    margin:
        .8rem
        0;
}

.admin-site .admin-auth-divider::before,
.admin-site .admin-auth-divider::after {
    content: "";

    flex:
        1 1 auto;

    height: 1px;

    background:
        var(--admin-border);
}

.admin-site .admin-auth-divider span {
    flex:
        0 0 auto;

    color:
        var(--admin-muted);

    font-size: .64rem;
    font-weight: 750;

    text-transform: uppercase;

    letter-spacing: .05em;
}

.admin-site .admin-auth-test form {
    margin: 0;
}

.admin-site .admin-auth-test button {
    width: 100%;
}


/* LOGIN FOOTER */

.admin-site .admin-auth-footer {
    display: flex;
    align-items: center;
    justify-content: center;

    gap: .35rem;

    margin-top: 1.2rem;

    padding-top: .9rem;

    border-top:
        1px solid
        var(--admin-border);

    color:
        var(--admin-muted);

    font-size: .66rem;

    text-align: center;
}


/* LOGIN DOES NOT NEED LARGE PAGE FOOTER VISUAL WEIGHT */

.admin-site:has(.admin-auth)
    .admin-footer {
    border-top: 0;

    padding-top: .5rem;
}


/* MOBILE */

@media (max-width: 30rem) {

    .admin-site .admin-auth {
        margin:
            1.5rem
            auto;

        padding:
            1.1rem;
    }

    .admin-site .admin-auth-mark {
        width: 3rem;
        height: 3rem;
    }

}


@media (max-width: 23rem) {

    .admin-site .admin-auth {
        padding:
            .95rem;
    }

    .admin-site .admin-auth-status {
        grid-template-columns:
            1fr;
    }

}


/* ============================================================
   MODELOS ARGENTINA — ADMIN FINAL HARDENING A8
   Responsive + accesibilidad + robustez final
   ============================================================ */


/* BOX MODEL / OVERFLOW */

.admin-site *,
.admin-site *::before,
.admin-site *::after {
    box-sizing: border-box;
}

.admin-site {
    overflow-x: hidden;
}

.admin-site main,
.admin-site section,
.admin-site article,
.admin-site header,
.admin-site footer,
.admin-site nav,
.admin-site form,
.admin-site fieldset,
.admin-site div {
    min-width: 0;
}

.admin-site img,
.admin-site svg {
    max-width: 100%;
}


/* LONG CONTENT */

.admin-site p,
.admin-site a,
.admin-site strong,
.admin-site small,
.admin-site span,
.admin-site td,
.admin-site th {
    overflow-wrap: anywhere;
}

.admin-site code {
    max-width: 100%;

    overflow-wrap: anywhere;
}


/* TABLE SAFETY */

.admin-site .admin-table-wrap,
.admin-site .statistics-table-wrap,
.admin-site .admin-directory-scroll,
.admin-site .admin-import-table-wrap {
    max-width: 100%;

    overscroll-behavior-inline: contain;

    -webkit-overflow-scrolling: touch;
}

.admin-site .admin-table {
    width: 100%;
}

.admin-site .admin-table th,
.admin-site .admin-table td {
    max-width: 28rem;
}


/* TOUCH TARGETS */

.admin-site button,
.admin-site .button,
.admin-site summary,
.admin-site .admin-table-link {
    touch-action: manipulation;
}

.admin-site button,
.admin-site .button {
    min-height: 2.75rem;
}


/* KEYBOARD FOCUS */

.admin-site summary:focus-visible,
.admin-site .admin-menu-mobile > summary:focus-visible,
.admin-site .admin-table-link:focus-visible,
.admin-site .admin-quick-card:focus-visible,
.admin-site .admin-checkbox-card:focus-within,
.admin-site .admin-check-card:focus-within,
.admin-site .admin-import-file:focus-within {
    outline:
        3px solid
        rgb(8 116 223 / 25%);

    outline-offset: 2px;
}

.admin-site .admin-menu-mobile[open] > summary {
    border-color:
        #a9cae9;

    color:
        var(--admin-blue-900);

    background:
        var(--admin-blue-050);
}


/* FIELD ROBUSTNESS */

.admin-site input,
.admin-site select,
.admin-site textarea,
.admin-site button {
    max-width: 100%;
}

.admin-site input[type='date'],
.admin-site input[type='datetime-local'],
.admin-site input[type='number'],
.admin-site input[type='url'],
.admin-site input[type='email'],
.admin-site input[type='text'] {
    min-width: 0;
}

.admin-site select[multiple] {
    width: 100%;
}


/* DISABLED / READABILITY */

.admin-site input:disabled,
.admin-site select:disabled,
.admin-site textarea:disabled,
.admin-site button:disabled {
    opacity: .6;

    cursor: not-allowed;
}


/* MOBILE: 430 / 390 / 360 / 320 */

@media (max-width: 42rem) {

    .admin-site main {
        width:
            calc(100% - 1.25rem);

        padding-top: 1.35rem;
    }

    .admin-site input:not(
        [type='checkbox']
    ):not(
        [type='radio']
    ),
    .admin-site select,
    .admin-site textarea {
        /*
         * 16px evita zoom automático de Safari/iPhone.
         */
        font-size: 16px;
    }

    .admin-site button,
    .admin-site .button,
    .admin-site .admin-table-link,
    .admin-site
        .admin-menu-mobile
        > summary {
        min-height: 44px;
    }

    .admin-site .admin-table-link {
        min-width: 3.75rem;
    }

    .admin-site .admin-card,
    .admin-site .admin-form-section {
        max-width: 100%;
    }

    .admin-site .admin-page-description,
    .admin-site .admin-card-description {
        max-width: 100%;
    }

    .admin-site .admin-menu-panel {
        max-width:
            calc(100vw - 1rem);
    }

    .admin-site .admin-auth {
        max-width: 100%;
    }

    .admin-site .admin-form-submit,
    .admin-site .admin-danger-zone,
    .admin-site .admin-import-accept {
        max-width: 100%;
    }

}


/* 390 / 360 */

@media (max-width: 24.5rem) {

    .admin-site main,
    .admin-site .admin-header-inner,
    .admin-site .admin-footer {
        width:
            calc(100% - 1rem);
    }

    .admin-site .admin-card,
    .admin-site .admin-form-section,
    .admin-site .admin-auth {
        border-radius:
            .95rem;
    }

    .admin-site .admin-page-actions {
        grid-template-columns:
            1fr;
    }

    .admin-site .admin-page-actions .button {
        width: 100%;
    }

}


/* 320 */

@media (max-width: 21rem) {

    .admin-site main,
    .admin-site .admin-header-inner,
    .admin-site .admin-footer {
        width:
            calc(100% - .8rem);
    }

    .admin-site .admin-brand-mode {
        display: none;
    }

    .admin-site .admin-brand img {
        max-width: 8.25rem;
    }

    .admin-site h1 {
        font-size: 1.75rem;
    }

    .admin-site h2 {
        font-size: 1.2rem;
    }

    .admin-site .admin-card,
    .admin-site .admin-form-section,
    .admin-site .admin-auth {
        padding: .8rem;
    }

    .admin-site .admin-quick-card {
        gap: .65rem;
    }

    .admin-site .admin-kpi-grid,
    .admin-site .admin-kpi-grid.is-compact,
    .admin-site .admin-import-summary {
        grid-template-columns: 1fr;
    }

}


/* HIGH CONTRAST PREFERENCE */

@media (prefers-contrast: more) {

    .admin-site button,
    .admin-site .button,
    .admin-site input,
    .admin-site select,
    .admin-site textarea,
    .admin-site .admin-card,
    .admin-site .admin-form-section,
    .admin-site .admin-table-wrap {
        border-width: 2px;
    }

}


/* SYSTEM FORCED COLORS */

@media (forced-colors: active) {

    .admin-site .admin-badge,
    .admin-site .admin-count-pill,
    .admin-site .admin-auth-status,
    .admin-site .admin-notice,
    .admin-site .admin-kpi-card {
        border:
            1px solid
            CanvasText;
    }

    .admin-site button,
    .admin-site .button {
        forced-color-adjust: auto;
    }

}


/* ============================================================
   MODELOS ARGENTINA — HERO FOTOGRÁFICO FINAL
   Fondo fotográfico + overlay + contenido superpuesto
   ============================================================ */

.public-site .home-hero {
    padding:
        clamp(1.35rem, 3vw, 2.25rem)
        0
        clamp(2.5rem, 5vw, 3.75rem);
}

.public-site .home-hero-grid {
    position: relative;
    isolation: isolate;

    display: grid;
    grid-template-columns: minmax(0, 1fr);

    min-height: clamp(35rem, 52vw, 42rem);

    overflow: hidden;

    border:
        1px solid
        rgb(177 205 235 / 78%);

    border-radius: 1.75rem;

    background:
        #082c5b;

    box-shadow:
        0 24px 60px
        rgb(6 29 70 / 16%);
}


/* ------------------------------------------------------------
   FOTO DE FONDO
   ------------------------------------------------------------ */

.public-site
.home-hero-visual.has-hero-image {
    position: absolute;

    inset: 0;

    z-index: 0;

    display: block;

    min-height: 0;

    margin: 0;

    overflow: hidden;

    border: 0;

    border-radius: inherit;

    background:
        #082c5b;

    box-shadow: none;
}

.public-site
.home-hero-visual.has-hero-image::before {
    display: none;
}

.public-site .hero-picture {
    position: absolute;

    inset: 0;

    z-index: 0;

    width: 100%;
    height: 100%;
}

.public-site .hero-photo {
    width: 100%;
    height: 100%;

    object-fit: cover;
    object-position: center center;

    border-radius: inherit;
}

.public-site .hero-photo-overlay {
    position: absolute;

    inset: 0;

    z-index: 1;

    border-radius: inherit;

    background:
        linear-gradient(
            90deg,
            rgb(3 22 52 / 94%) 0%,
            rgb(3 25 59 / 88%) 28%,
            rgb(3 29 68 / 72%) 48%,
            rgb(3 29 68 / 35%) 67%,
            rgb(3 29 68 / 8%) 100%
        ),
        linear-gradient(
            to top,
            rgb(3 20 49 / 38%) 0%,
            transparent 48%
        );

    pointer-events: none;
}


/* ------------------------------------------------------------
   CONTENIDO
   ------------------------------------------------------------ */

.public-site .home-hero-content {
    position: relative;

    z-index: 3;

    display: flex;
    flex-direction: column;
    justify-content: center;

    width:
        min(
            62%,
            48rem
        );

    min-width: 0;

    padding:
        clamp(
            2.2rem,
            5vw,
            4.25rem
        );
}


/* ------------------------------------------------------------
   TEXTO SOBRE FOTOGRAFÍA
   ------------------------------------------------------------ */

.public-site .home-hero .hero-eyebrow {
    color:
        #78c9ff;

    text-shadow:
        0 1px 12px
        rgb(0 0 0 / 20%);
}

.public-site .home-hero h1 {
    max-width: 11.5ch;

    color:
        #ffffff;

    text-shadow:
        0 2px 18px
        rgb(0 0 0 / 28%);
}

.public-site .home-hero .hero-lead {
    max-width: 36rem;

    color:
        rgb(255 255 255 / 88%);

    text-shadow:
        0 1px 12px
        rgb(0 0 0 / 18%);
}


/* ------------------------------------------------------------
   BUSCADOR
   ------------------------------------------------------------ */

.public-site .home-hero .hero-search-card {
    width:
        min(
            100%,
            44rem
        );

    border-color:
        rgb(255 255 255 / 36%);

    background:
        rgb(255 255 255 / 97%);

    box-shadow:
        0 16px 34px
        rgb(2 18 44 / 24%);
}


/* ------------------------------------------------------------
   BENEFICIOS
   ------------------------------------------------------------ */

.public-site .home-hero .hero-benefits {
    width:
        min(
            100%,
            44rem
        );
}

.public-site
.home-hero
.hero-benefit-icon {
    border-color:
        rgb(255 255 255 / 34%);

    color:
        #ffffff;

    background:
        rgb(255 255 255 / 12%);

    backdrop-filter:
        blur(8px);
}

.public-site
.home-hero
.hero-benefit strong {
    color:
        #ffffff;
}

.public-site
.home-hero
.hero-benefit div > span {
    color:
        rgb(255 255 255 / 76%);
}


/* ============================================================
   TABLET / MOBILE
   ============================================================ */

@media (max-width: 63.99rem) {

    .public-site .home-hero {
        padding:
            1.25rem
            0
            2.5rem;
    }

    .public-site .home-hero-grid {
        min-height: 0;

        border-radius:
            1.35rem;
    }

    .public-site .home-hero-content {
        width: 100%;

        padding:
            clamp(
                1.5rem,
                5vw,
                2.4rem
            );
    }

    .public-site
    .home-hero-visual.has-hero-image {
        position: absolute;

        inset: 0;

        display: block;

        min-height: 0;

        margin: 0;

        border-radius: inherit;
    }

    .public-site
    .home-hero-visual.has-hero-image
    .hero-photo {
        object-position:
            68%
            center;
    }

    .public-site .hero-photo-overlay {
        background:
            linear-gradient(
                180deg,
                rgb(3 21 50 / 78%) 0%,
                rgb(3 24 57 / 74%) 38%,
                rgb(3 25 59 / 82%) 100%
            ),
            linear-gradient(
                90deg,
                rgb(3 23 55 / 58%) 0%,
                rgb(3 23 55 / 22%) 100%
            );
    }

    .public-site
    .home-hero
    .hero-eyebrow {
        color:
            #8ed5ff;
    }

    .public-site
    .home-hero
    h1 {
        color:
            #ffffff;
    }

    .public-site
    .home-hero
    .hero-lead {
        color:
            rgb(255 255 255 / 88%);
    }

}


/* ============================================================
   MOBILE PEQUEÑO
   ============================================================ */

@media (max-width: 41.99rem) {

    .public-site .home-hero-grid {
        border-radius:
            1.15rem;
    }

    .public-site .home-hero-content {
        padding:
            1.4rem
            1.15rem
            1.6rem;
    }

    .public-site
    .home-hero
    h1 {
        max-width:
            12ch;

        font-size:
            clamp(
                2rem,
                10.5vw,
                2.85rem
            );
    }

    .public-site
    .home-hero
    .hero-benefits {
        gap:
            .35rem;
    }

    .public-site
    .home-hero
    .hero-benefit {
        padding:
            .45rem
            0;
    }

}


/* ============================================================
   DESKTOP
   ============================================================ */

@media (min-width: 64rem) {

    .public-site .home-hero-grid {
        grid-template-columns:
            minmax(0, 1fr);

        gap: 0;

        min-height:
            clamp(
                36rem,
                50vw,
                42rem
            );
    }

    .public-site .home-hero-content {
        width:
            min(
                63%,
                48rem
            );

        padding:
            clamp(
                2.8rem,
                5vw,
                4.5rem
            );
    }

    .public-site
    .home-hero-visual {
        display: block;
    }

    .public-site
    .home-hero
    h1 {
        max-width:
            11ch;
    }

}



/* ============================================================
   MODELOS ARGENTINA — HERO DESKTOP COMPACTO V1
   Sólo >= 64rem. Mobile queda intacto.
   ============================================================ */

@media (min-width: 64rem) {

    /*
     * Menos aire exterior arriba y abajo.
     */
    .public-site .home-hero {
        padding:
            .85rem
            0
            2rem;
    }

    /*
     * Hero notablemente más bajo.
     * Antes llegaba aproximadamente a 36–42rem.
     */
    .public-site .home-hero-grid {
        min-height:
            clamp(
                29rem,
                38vw,
                33rem
            );
    }

    /*
     * Menos espacio interno vertical.
     */
    .public-site .home-hero-content {
        width:
            min(
                61%,
                45rem
            );

        padding:
            clamp(
                2rem,
                3.2vw,
                3rem
            );
    }

    /*
     * Título más contenido para reducir altura total.
     */
    .public-site .home-hero h1 {
        max-width:
            11.5ch;

        margin-bottom:
            1rem;

        font-size:
            clamp(
                2.75rem,
                4.15vw,
                3.65rem
            );

        line-height:
            .98;
    }

    /*
     * Compactar ligeramente encabezado y bajada.
     */
    .public-site .home-hero .hero-eyebrow {
        margin-bottom:
            .75rem;

        font-size:
            .68rem;
    }

    .public-site .home-hero .hero-lead {
        margin-bottom:
            1.15rem;

        font-size:
            1rem;

        line-height:
            1.45;
    }

    /*
     * Acercar beneficios al buscador sin apretarlos demasiado.
     */
    .public-site .home-hero .hero-benefits {
        margin-top:
            1.15rem;
    }

}



/* ============================================================
   MODELOS ARGENTINA — HERO DESKTOP 3 LINEAS V1
   Mobile permanece con wrapping natural.
   ============================================================ */

.hero-title span {
    display: inline;
}


/* Sólo desktop */
@media (min-width: 64rem) {

    /*
     * Forzar exactamente tres líneas.
     */
    .public-site .home-hero .hero-title span {
        display: block;
    }

    /*
     * Menos espacio exterior del hero.
     */
    .public-site .home-hero {
        padding:
            .6rem
            0
            1.65rem;
    }

    /*
     * Hero más panorámico.
     */
    .public-site .home-hero-grid {
        min-height:
            clamp(
                27rem,
                34vw,
                30rem
            );
    }

    /*
     * Menos padding interno.
     */
    .public-site .home-hero-content {
        width:
            min(
                64%,
                49rem
            );

        padding:
            clamp(
                1.65rem,
                2.6vw,
                2.45rem
            );
    }

    /*
     * Título ligeramente más chico
     * y ahora siempre de tres líneas.
     */
    .public-site .home-hero .hero-title {
        max-width:
            none;

        margin-bottom:
            .75rem;

        font-size:
            clamp(
                2.55rem,
                3.55vw,
                3.25rem
            );

        line-height:
            .98;
    }

    .public-site .home-hero .hero-eyebrow {
        margin-bottom:
            .55rem;

        font-size:
            .65rem;
    }

    .public-site .home-hero .hero-lead {
        margin-bottom:
            .9rem;

        font-size:
            .95rem;

        line-height:
            1.4;
    }

    /*
     * Mantener buscador y beneficios
     * próximos al copy.
     */
    .public-site .home-hero .hero-benefits {
        margin-top:
            .8rem;
    }

}


/* Mobile: conservar comportamiento actual */
@media (max-width: 63.99rem) {

    .public-site .home-hero .hero-title span {
        display: inline;
    }

    .public-site .home-hero .hero-title span:not(:last-child)::after {
        content:
            " ";
    }

}



/* ============================================================
   MODELOS ARGENTINA — HERO SEARCH INLINE DESKTOP V1
   Desktop:
   [ Buscar agencias... ][ Buscar ][ ⌖ ]

   Mobile conserva botón de ubicación con texto.
   ============================================================ */

@media (min-width: 64rem) {

    /*
     * Reducir nuevamente la altura general.
     */
    .public-site .home-hero {
        padding:
            .45rem
            0
            1.35rem;
    }

    .public-site .home-hero-grid {
        min-height:
            clamp(
                25.5rem,
                31vw,
                28rem
            );
    }

    .public-site .home-hero-content {
        padding:
            clamp(
                1.4rem,
                2.25vw,
                2.1rem
            );
    }


    /*
     * Card del buscador más fina.
     */
    .public-site
    .home-hero
    .hero-search-card {
        width:
            min(
                100%,
                43rem
            );

        padding:
            .55rem;

        border-radius:
            1.05rem;
    }


    /*
     * Una única fila:
     * lupa | input | buscar | ubicación
     */
    .public-site
    .home-hero
    .hero-search-control {
        display: grid;

        grid-template-columns:
            auto
            minmax(0, 1fr)
            auto
            3rem;

        align-items: center;

        gap:
            .45rem;
    }


    /*
     * Botón Buscar algo más compacto.
     */
    .public-site
    .home-hero
    .hero-search-submit {
        width:
            auto;

        min-width:
            7.25rem;

        min-height:
            2.85rem;

        margin: 0;

        padding:
            .65rem
            1.35rem;
    }


    /*
     * Geolocalización como botón circular/cuadrado
     * únicamente con la mira.
     */
    .public-site
    .home-hero
    .hero-location-button {
        display: grid;

        grid-column:
            auto;

        place-items: center;

        width:
            3rem;

        min-width:
            3rem;

        height:
            2.85rem;

        min-height:
            2.85rem;

        margin: 0;

        padding: 0;

        border:
            1px solid
            #b6d4f4;

        border-radius:
            .85rem;

        color:
            #0667c9;

        background:
            #ffffff;

        cursor:
            pointer;
    }

    .public-site
    .home-hero
    .hero-location-button:hover {
        border-color:
            #1386e8;

        color:
            #ffffff;

        background:
            #1386e8;
    }

    .public-site
    .home-hero
    .hero-location-button
    > span[aria-hidden="true"] {
        font-size:
            1.45rem;

        line-height:
            1;
    }

    /*
     * Texto accesible pero no visible en desktop.
     */
    .public-site
    .home-hero
    .hero-location-label {
        position:
            absolute;

        width:
            1px;

        height:
            1px;

        padding:
            0;

        margin:
            -1px;

        overflow:
            hidden;

        clip:
            rect(0, 0, 0, 0);

        white-space:
            nowrap;

        border:
            0;
    }


    /*
     * Footer queda solamente para mensajes
     * del sistema de geolocalización.
     */
    .public-site
    .home-hero
    .hero-search-footer {
        min-height:
            0;

        margin:
            0;

        padding:
            0;
    }

    .public-site
    .home-hero
    .hero-search-footer
    .status:empty {
        display:
            none;
    }


    /*
     * Beneficios un poco más cerca del buscador.
     */
    .public-site
    .home-hero
    .hero-benefits {
        margin-top:
            .55rem;
    }

}


/* ============================================================
   MOBILE / TABLET
   Mantener experiencia que ya quedó aprobada.
   ============================================================ */

@media (max-width: 63.99rem) {

    /*
     * En mobile el botón ubicación vuelve a
     * ocupar una línea completa y muestra texto.
     */
    .public-site
    .home-hero
    .hero-search-control
    .hero-location-button {
        grid-column:
            1 / -1;

        justify-self:
            start;

        display:
            inline-flex;

        align-items:
            center;

        gap:
            .35rem;

        width:
            auto;

        min-width:
            0;

        min-height:
            2.3rem;

        margin-top:
            .15rem;

        padding:
            .35rem
            .45rem;

        border:
            0;

        color:
            #0667c9;

        background:
            transparent;
    }

    .public-site
    .home-hero
    .hero-location-label {
        position:
            static;

        width:
            auto;

        height:
            auto;

        margin:
            0;

        overflow:
            visible;

        clip:
            auto;

        white-space:
            normal;

        font-size:
            inherit;
    }

}



/* ============================================================
   MODELOS ARGENTINA — HERO SIN OVERLAY FINAL
   La fotografía ya contiene su propio degradado.
   ============================================================ */

.public-site .hero-photo-overlay {
    display: none;
    background: none;
}



/* ============================================================
   MODELOS ARGENTINA — ERROR 404 PUBLIC V1
   ============================================================ */

.public-site .error-page {
    display: grid;
    place-items: center;

    min-height:
        clamp(
            32rem,
            68vh,
            44rem
        );

    padding:
        clamp(
            3rem,
            7vw,
            6rem
        )
        var(--ma-space-5);
}

.public-site .error-card {
    width:
        min(
            100%,
            46rem
        );

    padding:
        clamp(
            2.5rem,
            6vw,
            4.5rem
        );

    border:
        1px solid
        var(--ma-border);

    border-radius:
        clamp(
            1.25rem,
            2vw,
            1.75rem
        );

    background:
        var(--ma-white);

    box-shadow:
        var(--ma-shadow-md);

    text-align:
        center;
}

.public-site .error-code {
    margin-bottom:
        .35rem;

    color:
        var(--ma-blue-100);

    font-size:
        clamp(
            5rem,
            12vw,
            8.5rem
        );

    font-weight:
        900;

    line-height:
        .82;

    letter-spacing:
        -.07em;
}

.public-site .error-eyebrow {
    margin:
        1.4rem
        0
        .65rem;

    color:
        var(--ma-blue-600);

    font-size:
        .75rem;

    font-weight:
        800;

    letter-spacing:
        .2em;

    text-transform:
        uppercase;
}

.public-site .error-card h1 {
    max-width:
        18ch;

    margin:
        0
        auto;

    color:
        var(--ma-navy-900);

    font-size:
        clamp(
            2rem,
            4vw,
            3rem
        );

    line-height:
        1.05;

    letter-spacing:
        -.035em;
}

.public-site .error-description {
    max-width:
        38rem;

    margin:
        1.25rem
        auto
        0;

    color:
        var(--ma-muted);

    font-size:
        1rem;

    line-height:
        1.65;
}

.public-site .error-actions {
    display:
        flex;

    flex-wrap:
        wrap;

    justify-content:
        center;

    align-items:
        center;

    gap:
        .85rem;

    margin-top:
        2rem;
}

.public-site .error-home-button,
.public-site .error-directory-link {
    display:
        inline-flex;

    align-items:
        center;

    justify-content:
        center;

    min-height:
        3rem;

    padding:
        .75rem
        1.4rem;

    border-radius:
        .8rem;

    font-weight:
        750;

    text-decoration:
        none;

    transition:
        var(--ma-transition);
}

.public-site .error-home-button {
    border:
        1px solid
        var(--ma-blue-600);

    color:
        var(--ma-white);

    background:
        linear-gradient(
            135deg,
            var(--ma-blue-600),
            var(--ma-blue-500)
        );

    box-shadow:
        0 7px 18px
        rgb(8 116 223 / 20%);
}

.public-site .error-home-button:hover {
    color:
        var(--ma-white);

    background:
        linear-gradient(
            135deg,
            var(--ma-blue-700),
            var(--ma-blue-600)
        );
}

.public-site .error-directory-link {
    border:
        1px solid
        var(--ma-border-strong);

    color:
        var(--ma-blue-700);

    background:
        var(--ma-white);
}

.public-site .error-directory-link:hover {
    border-color:
        var(--ma-blue-500);

    background:
        var(--ma-blue-050);
}


@media (max-width: 41.99rem) {

    .public-site .error-page {
        min-height:
            31rem;

        padding:
            2rem
            1rem
            3rem;
    }

    .public-site .error-card {
        padding:
            2.25rem
            1.25rem;

        border-radius:
            1.25rem;
    }

    .public-site .error-actions {
        flex-direction:
            column;

        align-items:
            stretch;
    }

    .public-site .error-home-button,
    .public-site .error-directory-link {
        width:
            100%;
    }

}
