
html, body { max-width: 100%; overflow-x: clip; }

img, svg, video, canvas, iframe, embed, object, figure, picture {
    max-width: 100%;
}
img, video, canvas { height: auto; }
pre, code, kbd, samp { overflow-x: auto; max-width: 100%; }

picture { display: block; height: 100%; }

h1, h2, h3, h4, h5, h6,
[class*='lockup'], [class*='display'], [class*='headline'], [class*='title'],
[class*='hero'] h1, [class*='hero'] h2 {
    overflow-wrap: break-word;
    word-break: normal;
    hyphens: manual;
}
[class*='lockup'], [class*='lockup'] > * { white-space: normal !important; }

h1, h2, h3 { text-wrap: balance; }
td, th, time, output, data,
[class*='price'], [class*='cost'], [class*='rate'], [class*='amount'],
[class*='figure'], [class*='stat'], [class*='number'], [class*='count'] {
    font-variant-numeric: lining-nums tabular-nums;
}

p, li, dd, dt, blockquote, figcaption, address, a, span, td, th,
div, strong, b, em, i, small, label, output, time, cite, abbr, code, summary,
h1, h2, h3, h4, h5, h6 {
    overflow-wrap: break-word;
}

[class*='grid'] > *, [class*='row'] > *, [class*='flex'] > *,
[class*='cols'] > *, [class*='columns'] > * { min-width: 0; }

:not(img):not(picture):not(svg):not(video):not(canvas):only-child {
    grid-column: 1 / -1;
}

@view-transition { navigation: auto; }
::view-transition-old(root), ::view-transition-new(root) {
    animation-duration: .28s;
}
@media (prefers-reduced-motion: reduce) {
    ::view-transition-group(*),
    ::view-transition-old(*),
    ::view-transition-new(*) { animation: none !important; }
}

.fosi0a9 {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    container-type: inline-size;
}
.fosi0a9 > table { width: 100%; }
@media (max-width: 48rem) {
    .fosi0a9 > table { font-size: .94em; }
}
.fosi0a9 > table,
.fosi0a9 > table > thead, .fosi0a9 > table > tbody,
.fosi0a9 > table > tfoot, .fosi0a9 > table tr,
.fosi0a9 > table th, .fosi0a9 > table td { display: revert; }
.fosi0a9 > table th, .fosi0a9 > table td {
    inline-size: auto;
    min-inline-size: 0;
}


@media (max-width: 30rem) {
    :root {
        --nofi-71f: clamp(2.2rem, 9vw, 3rem);
        --nofi-c4e: clamp(2rem, 8vw, 2.7rem);
        --nofi-a94: clamp(1.8rem, 7vw, 2.4rem);
        --nofi-5cf: clamp(1.55rem, 6vw, 2.05rem);
        --nofi-94a: clamp(1.35rem, 5vw, 1.8rem);
    }
}
@media (min-width: 30.01rem) and (max-width: 48rem) {
    :root {
        --nofi-71f: clamp(2.8rem, 8vw, 4.6rem);
        --nofi-c4e: clamp(2.5rem, 7vw, 4rem);
        --nofi-a94: clamp(2.2rem, 6vw, 3.4rem);
    }
}

@media (pointer: coarse) {
    a.btn, button, [role='button'], .btn,
    input[type='submit'], input[type='button'] { min-height: 44px; }
}

a:focus-visible, button:focus-visible, input:focus-visible,
select:focus-visible, textarea:focus-visible, summary:focus-visible,
[tabindex]:focus-visible, [role='button']:focus-visible {
    outline: 2px solid var(--focus-ring, currentColor);
    outline-offset: 3px;
}

html { -webkit-text-size-adjust: 100%; text-size-adjust: 100%; }
input:not([type='checkbox']):not([type='radio']):not([type='range']):not([type='file']):not([type='color']),
textarea, button, [type='submit'], [type='button'] {
    -webkit-appearance: none;
    appearance: none;
}

@media (pointer: coarse) and (max-width: 767px) {
    input:not([type='checkbox']):not([type='radio']):not([type='range']):not([type='file']):not([type='color']),
    select, textarea { font-size: max(16px, 1em) !important; }
}

@container (max-width: 26rem) {
    .fosi0a9.roga768.tcols-3 > table,
    .fosi0a9.roga768.tcols-3 > table > tbody,
    .fosi0a9.roga768.tcols-3 > table > tbody > tr,
    .fosi0a9.roga768.tcols-3 > table > tbody > tr > td,
    .fosi0a9.roga768.tcols-3 > table > tbody > tr > th {
        display: block;
        inline-size: auto;
        min-inline-size: 0 !important;
    }
    .fosi0a9.roga768.tcols-3 > table > thead { display: none; }
    .fosi0a9.roga768.tcols-3 > table > tbody > tr {
        margin-block-end: .75rem;
        padding: .2rem .25rem;
        border: 1px solid;
        border-color: color-mix(in srgb, currentColor 20%, transparent);
        border-radius: .5rem;
    }
    .fosi0a9.roga768.tcols-3 > table > tbody > tr > td {
        padding-block: .4rem;
        padding-inline: .7rem;
    }
    .fosi0a9.roga768.tcols-3 > table > tbody > tr > td[data-label]::before {
        content: attr(data-label);
        display: block;
        font-size: .82em;
        font-weight: 600;
        letter-spacing: .02em;
        opacity: .68;
    }
    .fosi0a9.roga768.tcols-3 > table > tbody > tr > td:empty { display: none; }
}
@container (max-width: 35rem) {
    .fosi0a9.roga768.navebad > table,
    .fosi0a9.roga768.navebad > table > tbody,
    .fosi0a9.roga768.navebad > table > tbody > tr,
    .fosi0a9.roga768.navebad > table > tbody > tr > td,
    .fosi0a9.roga768.navebad > table > tbody > tr > th {
        display: block;
        inline-size: auto;
        min-inline-size: 0 !important;
    }
    .fosi0a9.roga768.navebad > table > thead { display: none; }
    .fosi0a9.roga768.navebad > table > tbody > tr {
        margin-block-end: .75rem;
        padding: .2rem .25rem;
        border: 1px solid;
        border-color: color-mix(in srgb, currentColor 20%, transparent);
        border-radius: .5rem;
    }
    .fosi0a9.roga768.navebad > table > tbody > tr > td {
        padding-block: .4rem;
        padding-inline: .7rem;
    }
    .fosi0a9.roga768.navebad > table > tbody > tr > td[data-label]::before {
        content: attr(data-label);
        display: block;
        font-size: .82em;
        font-weight: 600;
        letter-spacing: .02em;
        opacity: .68;
    }
    .fosi0a9.roga768.navebad > table > tbody > tr > td:empty { display: none; }
}
@container (max-width: 44rem) {

    .fosi0a9.roga768.zofede4 > table,
    .fosi0a9.roga768.zofede4 > table > tbody,
    .fosi0a9.roga768.zofede4 > table > tbody > tr,
    .fosi0a9.roga768.zofede4 > table > tbody > tr > td,
    .fosi0a9.roga768.zofede4 > table > tbody > tr > th {
        display: block;
        inline-size: auto;
        min-inline-size: 0 !important;
    }
    .fosi0a9.roga768.zofede4 > table > thead { display: none; }
    .fosi0a9.roga768.zofede4 > table > tbody > tr {
        margin-block-end: .75rem;
        padding: .2rem .25rem;
        border: 1px solid;
        border-color: color-mix(in srgb, currentColor 20%, transparent);
        border-radius: .5rem;
    }
    .fosi0a9.roga768.zofede4 > table > tbody > tr > td {
        padding-block: .4rem;
        padding-inline: .7rem;
    }
    .fosi0a9.roga768.zofede4 > table > tbody > tr > td[data-label]::before {
        content: attr(data-label);
        display: block;
        font-size: .82em;
        font-weight: 600;
        letter-spacing: .02em;
        opacity: .68;
    }
    .fosi0a9.roga768.zofede4 > table > tbody > tr > td:empty { display: none; }
}
@container (max-width: 52rem) {
    .fosi0a9.roga768.tcols-6 > table,
    .fosi0a9.roga768.tcols-6 > table > tbody,
    .fosi0a9.roga768.tcols-6 > table > tbody > tr,
    .fosi0a9.roga768.tcols-6 > table > tbody > tr > td,
    .fosi0a9.roga768.tcols-6 > table > tbody > tr > th {
        display: block;
        inline-size: auto;
        min-inline-size: 0 !important;
    }
    .fosi0a9.roga768.tcols-6 > table > thead { display: none; }
    .fosi0a9.roga768.tcols-6 > table > tbody > tr {
        margin-block-end: .75rem;
        padding: .2rem .25rem;
        border: 1px solid;
        border-color: color-mix(in srgb, currentColor 20%, transparent);
        border-radius: .5rem;
    }
    .fosi0a9.roga768.tcols-6 > table > tbody > tr > td {
        padding-block: .4rem;
        padding-inline: .7rem;
    }
    .fosi0a9.roga768.tcols-6 > table > tbody > tr > td[data-label]::before {
        content: attr(data-label);
        display: block;
        font-size: .82em;
        font-weight: 600;
        letter-spacing: .02em;
        opacity: .68;
    }
    .fosi0a9.roga768.tcols-6 > table > tbody > tr > td:empty { display: none; }
}
@container (max-width: 61rem) {
    .fosi0a9.roga768.tcols-7 > table,
    .fosi0a9.roga768.tcols-7 > table > tbody,
    .fosi0a9.roga768.tcols-7 > table > tbody > tr,
    .fosi0a9.roga768.tcols-7 > table > tbody > tr > td,
    .fosi0a9.roga768.tcols-7 > table > tbody > tr > th {
        display: block;
        inline-size: auto;
        min-inline-size: 0 !important;
    }
    .fosi0a9.roga768.tcols-7 > table > thead { display: none; }
    .fosi0a9.roga768.tcols-7 > table > tbody > tr {
        margin-block-end: .75rem;
        padding: .2rem .25rem;
        border: 1px solid;
        border-color: color-mix(in srgb, currentColor 20%, transparent);
        border-radius: .5rem;
    }
    .fosi0a9.roga768.tcols-7 > table > tbody > tr > td {
        padding-block: .4rem;
        padding-inline: .7rem;
    }
    .fosi0a9.roga768.tcols-7 > table > tbody > tr > td[data-label]::before {
        content: attr(data-label);
        display: block;
        font-size: .82em;
        font-weight: 600;
        letter-spacing: .02em;
        opacity: .68;
    }
    .fosi0a9.roga768.tcols-7 > table > tbody > tr > td:empty { display: none; }
}


@keyframes consent-arrive { from { opacity: 0; } }
.cookie-banner {
    max-height: 30vh;
    overflow: auto;
    box-sizing: border-box;
    top: auto;
    bottom: 0;
}
html body .cookie-banner.cookie-banner {
    animation: consent-arrive .6s ease-out 1.8s backwards !important;
}
@media (min-width: 48rem) {
    html body .cookie-banner.cookie-banner {
        position: fixed !important;
        top: auto !important;
        bottom: var(--consent-bottom, 1.25rem) !important;
        left: var(--consent-left, 1.25rem) !important;
        right: auto !important;

        width: min(380px, calc(100vw - 2.5rem)) !important;

        max-width: 380px !important;
        max-height: min(60vh, 30rem) !important;
        margin: 0 !important;
        padding: 1.1rem 1.25rem !important;
        flex-direction: column !important;
        align-items: stretch !important;
        justify-content: flex-start !important;
        gap: .8rem !important;
    }
    .cookie-banner > :where(div, form, section, nav):not([hidden]) {
        display: flex !important;
        flex-direction: column !important;
        align-items: stretch !important;
        justify-content: flex-start !important;
        gap: .8rem !important;
    }
    .cookie-banner > :not([hidden]),
    .cookie-banner > :where(div, form, section, nav):not([hidden]) > :not([hidden]) {
        flex: 0 0 auto !important;
        min-width: 0;
        width: auto !important;
        max-width: none !important;
        margin: 0 !important;
    }
    .cookie-banner :where(div, p, nav, form, section) {
        flex-wrap: wrap;
    }
}
@media (prefers-reduced-motion: reduce) {
    html body .cookie-banner.cookie-banner { animation-duration: .01s !important; }
}

@container (max-width: 598px) {
    .fosi0a9.roga768.navebad > table,
    .fosi0a9.roga768.navebad > table > tbody,
    .fosi0a9.roga768.navebad > table > tbody > tr,
    .fosi0a9.roga768.navebad > table > tbody > tr > td,
    .fosi0a9.roga768.navebad > table > tbody > tr > th {
        display: block;
        inline-size: auto;
        min-inline-size: 0 !important;
    }
    .fosi0a9.roga768.navebad > table > thead { display: none; }
    .fosi0a9.roga768.navebad > table > tbody > tr {
        margin-block-end: .75rem;
        padding: .2rem .25rem;
        border: 1px solid;
        border-color: color-mix(in srgb, currentColor 20%, transparent);
        border-radius: .5rem;
    }
    .fosi0a9.roga768.navebad > table > tbody > tr > td {
        padding-block: .4rem;
        padding-inline: .7rem;
    }
    .fosi0a9.roga768.navebad > table > tbody > tr > td[data-label]::before {
        content: attr(data-label);
        display: block;
        font-size: .82em;
        font-weight: 600;
        letter-spacing: .02em;
        opacity: .68;
    }
    .fosi0a9.roga768.navebad > table > tbody > tr > td:empty { display: none; }
}
/* 5 columns measured unreadable in a 712px box, where the threshold was 44rem */
@container (max-width: 712px) {
    .fosi0a9.roga768.zofede4 > table,
    .fosi0a9.roga768.zofede4 > table > tbody,
    .fosi0a9.roga768.zofede4 > table > tbody > tr,
    .fosi0a9.roga768.zofede4 > table > tbody > tr > td,
    .fosi0a9.roga768.zofede4 > table > tbody > tr > th {
        display: block;
        inline-size: auto;
        min-inline-size: 0 !important;
    }
    .fosi0a9.roga768.zofede4 > table > thead { display: none; }
    .fosi0a9.roga768.zofede4 > table > tbody > tr {
        margin-block-end: .75rem;
        padding: .2rem .25rem;
        border: 1px solid;
        border-color: color-mix(in srgb, currentColor 20%, transparent);
        border-radius: .5rem;
    }
    .fosi0a9.roga768.zofede4 > table > tbody > tr > td {
        padding-block: .4rem;
        padding-inline: .7rem;
    }
    .fosi0a9.roga768.zofede4 > table > tbody > tr > td[data-label]::before {
        content: attr(data-label);
        display: block;
        font-size: .82em;
        font-weight: 600;
        letter-spacing: .02em;
        opacity: .68;
    }
    .fosi0a9.roga768.zofede4 > table > tbody > tr > td:empty { display: none; }
}

/* column 1 measured at the width of its longest word, holding up to 18 characters */
table.editorial-table tr > :nth-child(1) { min-width: 18ch !important; }
table.editorial-table tr > :nth-child(2) { min-width: 23ch !important; }
table.editorial-table tr > :nth-child(3) { min-width: 18ch !important; }
table.editorial-table tr > :nth-child(4) { min-width: 27ch !important; }
/* column 5 measured at the width of its longest word, holding up to 20 characters */
table.editorial-table tr > :nth-child(5) { min-width: 20ch !important; }

/* MEASURED: controls that stood on, or against, other words */
@media (max-width: 1023px) { aside.cookie-banner.is-visible { --consent-bottom: 72px !important; } }
/* button.cookie-banner__btn.cookie-banner__btn--decline stood clear at 768px with this; left as designed from 1024px */
@media (max-width: 1023px) { aside.cookie-banner.is-visible { bottom: 72px !important; } }
@media (max-width: 767px) { button.chat-launcher { bottom: 161px !important; } }
/* button.chat-launcher stood clear at 390px with this; left as designed from 768px */
@media (max-width: 767px) { button.chat-launcher { bottom: 233px !important; } }

/* MEASURED: text that could not be read on its own background */
/* measured 4.0:1 — rgb(169, 96, 95) on rgb(239, 239, 239), floor 4.5:1 */
button.text-link { color: #9e5655 !important; }
/* measured 3.8:1 — rgb(169, 96, 95) on rgb(237, 230, 228), floor 4.5:1 */
div.dated-rail__title { color: #945150 !important; }
/* measured 3.3:1 — rgb(169, 96, 95) on rgb(223, 215, 213), floor 4.5:1 */
article.catalogue-item-card div.catalogue-item-card__price-line.mono-figure { color: #874a49 !important; }
/* measured 3.3:1 — rgb(169, 96, 95) on rgb(223, 215, 213), floor 4.5:1 */
div.contact-card div.contact-card h3 { color: #874a49 !important; }
/* measured 3.3:1 — rgb(169, 96, 95) on rgb(223, 215, 213), floor 4.5:1 */
div.exchange-unit__reply div.exchange-unit__reply-who span { color: #874a49 !important; }
/* measured 3.3:1 — rgb(169, 96, 95) on rgb(223, 215, 213), floor 4.5:1 */
div.scrolly-step div.scrolly-step__phase { color: #874a49 !important; }
div.studio-credentials-box div.studio-credentials-box__title { color: #874a49 !important; }
/* measured 3.8:1 — rgb(169, 96, 95) on rgb(237, 230, 228), floor 4.5:1 */
nav.mobile-dock span.mobile-dock__label { color: #945150 !important; }
/* measured 2.9:1 — rgb(158, 86, 85) on rgb(192, 192, 192), floor 4.5:1 */
button.text-link { color: #703d3c !important; }
