:root {
    --fssl-ink: #151311;
    --fssl-soft-ink: #4d4740;
    --fssl-muted: #756c62;
    --fssl-paper: #fffefa;
    --fssl-ivory: #fbf7f0;
    --fssl-mist: #f1f3ee;
    --fssl-pearl: #fffaf2;
    --fssl-blush: #f5dfdc;
    --fssl-lilac: #ede5f3;
    --fssl-sky: #dfeaf0;
    --fssl-sage: #66735f;
    --fssl-champagne: #c8ad85;
    --fssl-rose: #b9786f;
    --fssl-teal: #527d7a;
    --fssl-line: #e2dbd2;
    --fssl-black: #050505;
    --fssl-radius: 8px;
    --fssl-shadow: 0 24px 80px rgba(21, 19, 17, .09);
}

* {
    box-sizing: border-box;
}

html {
    scroll-behavior: smooth;
}

body {
    margin: 0;
    color: var(--fssl-ink);
    background:
        radial-gradient(circle at 12% 10%, rgba(255, 255, 255, .96), transparent 22%),
        radial-gradient(circle at 84% 12%, rgba(200, 173, 133, .12), transparent 28%),
        linear-gradient(135deg, #ffffff 0%, #fffdf8 32%, #f9f5ed 64%, #ffffff 100%);
    font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    line-height: 1.55;
}

#main {
    background:
        linear-gradient(115deg, rgba(255,255,255,.88), rgba(255,255,255,0) 28%),
        radial-gradient(circle at 18% 16%, rgba(255, 255, 255, .92), transparent 24%),
        radial-gradient(circle at 86% 48%, rgba(200, 173, 133, .12), transparent 30%),
        linear-gradient(180deg, #ffffff 0%, #fffdf8 42%, #fbf7f0 78%, #ffffff 100%);
}

body.fssl-nav-open {
    overflow: hidden;
}

img {
    max-width: 100%;
    height: auto;
}

a {
    color: inherit;
}

.screen-reader-text,
.fssl-skip-link {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
}

.fssl-skip-link:focus {
    width: auto;
    height: auto;
    top: 14px;
    left: 14px;
    z-index: 100;
    padding: 10px 14px;
    clip: auto;
    background: #fff;
}

.fssl-shell {
    width: min(1280px, calc(100% - 28px));
    margin: 0 auto;
}

.fssl-header {
    position: sticky;
    top: 0;
    z-index: 50;
    background: rgba(255, 253, 249, .96);
    border-bottom: 1px solid var(--fssl-line);
    backdrop-filter: blur(18px);
}

.fssl-announce {
    padding: 8px 16px;
    color: #fff;
    background: var(--fssl-black);
    text-align: center;
    font-size: .78rem;
    font-weight: 700;
}

.fssl-header-main {
    min-height: 132px;
    display: grid;
    grid-template-columns: 260px minmax(220px, 300px) 1fr;
    gap: 20px;
    align-items: center;
}

.fssl-logo-link {
    display: inline-flex;
    align-items: center;
    text-decoration: none;
}

.fssl-logo-link img {
    width: min(260px, 44vw);
    max-height: 116px;
    object-fit: contain;
    object-position: left center;
}

.fssl-header-search {
    display: flex;
    align-items: center;
    min-width: 0;
    border: 1px solid rgba(21, 19, 17, .16);
    border-radius: 999px;
    background: rgba(255,255,255,.86);
    box-shadow: 0 10px 28px rgba(21, 19, 17, .055);
    overflow: hidden;
}

.fssl-header-search input {
    width: 100%;
    min-width: 0;
    min-height: 42px;
    padding: 0 16px;
    border: 0;
    background: transparent;
    color: var(--fssl-ink);
    font: inherit;
    font-size: .86rem;
    outline: none;
}

.fssl-header-search input::placeholder {
    color: rgba(77, 71, 64, .58);
}

.fssl-header-search button {
    min-height: 42px;
    padding: 0 17px;
    border: 0;
    border-left: 1px solid rgba(21, 19, 17, .1);
    background: var(--fssl-black);
    color: #fffefa;
    font: inherit;
    font-size: .76rem;
    font-weight: 900;
    letter-spacing: .08em;
    text-transform: uppercase;
    cursor: pointer;
}

.fssl-header-search:focus-within {
    border-color: rgba(21, 19, 17, .42);
    box-shadow: 0 0 0 3px rgba(200, 173, 133, .22);
}

.fssl-nav {
    display: flex;
    justify-content: flex-end;
    align-items: center;
    gap: 18px;
}

.fssl-menu {
    list-style: none;
    display: flex;
    align-items: center;
    gap: 22px;
    margin: 0;
    padding: 0;
}

.fssl-menu a {
    position: relative;
    display: inline-flex;
    padding: 8px 0;
    color: var(--fssl-soft-ink);
    text-decoration: none;
    font-size: .78rem;
    font-weight: 850;
    letter-spacing: .18em;
    text-transform: uppercase;
}

.fssl-menu a::after {
    content: "";
    position: absolute;
    left: 0;
    bottom: 2px;
    width: 100%;
    height: 1px;
    transform: scaleX(0);
    transform-origin: right;
    background: currentColor;
    transition: transform .22s ease;
}

.fssl-menu a:hover::after,
.fssl-menu a:focus::after,
.current-menu-item > a::after {
    transform: scaleX(1);
    transform-origin: left;
}

.fssl-nav-cta,
.fssl-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 46px;
    padding: 0 20px;
    border: 1px solid var(--fssl-black);
    border-radius: 999px;
    background: var(--fssl-black);
    color: #fff;
    text-decoration: none;
    font-weight: 850;
    letter-spacing: .04em;
}

.fssl-nav-cta {
    min-width: 130px;
}

.fssl-social-links {
    display: inline-flex;
    align-items: center;
    gap: 10px;
}

.fssl-social-links a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 42px;
    height: 42px;
    border: 1px solid rgba(21, 19, 17, .16);
    border-radius: 50%;
    background: rgba(255,255,255,.78);
    color: var(--fssl-black);
    text-decoration: none;
    transition: transform .18s ease, background .18s ease, color .18s ease, border-color .18s ease;
}

.fssl-social-links a:hover,
.fssl-social-links a:focus {
    transform: translateY(-2px);
    border-color: var(--fssl-black);
    background: var(--fssl-black);
    color: #fff;
}

.fssl-social-links svg {
    width: 20px;
    height: 20px;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.8;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.fssl-social-links svg path {
    fill: currentColor;
    stroke: none;
}

.fssl-social-links svg rect,
.fssl-social-links svg circle {
    fill: none;
}

.fssl-button-light {
    background: rgba(255,255,255,.94);
    color: var(--fssl-black);
    box-shadow: 0 14px 34px rgba(21, 19, 17, .08);
}

.fssl-button-light:hover,
.fssl-button-light:focus {
    background: var(--fssl-black);
    color: #fff;
}

.fssl-nav-toggle {
    display: none;
    width: 48px;
    height: 48px;
    padding: 0;
    margin-left: auto;
    border: 1px solid var(--fssl-black);
    border-radius: 50%;
    background: var(--fssl-black);
    cursor: pointer;
}

.fssl-nav-toggle span:not(.screen-reader-text) {
    display: block;
    width: 18px;
    height: 2px;
    margin: 4px auto;
    background: #fff;
}

.fssl-hero,
.fssl-page-hero {
    position: relative;
    overflow: hidden;
    background:
        linear-gradient(115deg, rgba(255,255,255,.94), rgba(255,255,255,0) 32%),
        radial-gradient(circle at 18% 18%, rgba(255,255,255,1), transparent 26%),
        radial-gradient(circle at 82% 10%, rgba(200,173,133,.11), transparent 24%),
        linear-gradient(135deg, #ffffff 0%, #fffdf8 50%, #f9f5ed 100%);
}

.fssl-hero::after,
.fssl-page-hero::after {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    bottom: -1px;
    height: clamp(70px, 9vw, 128px);
    pointer-events: none;
    background: linear-gradient(180deg, rgba(255,255,255,0), rgba(255,254,250,.72) 48%, rgba(255,255,255,.98));
}

.fssl-hero > *,
.fssl-page-hero > * {
    position: relative;
    z-index: 1;
}

.fssl-hero {
    padding: clamp(64px, 8vw, 118px) 0;
}

.fssl-hero-copy {
    text-align: center;
}

.fssl-hero-copy h1 {
    max-width: none;
    margin-left: auto;
    margin-right: auto;
}

.fssl-landing-hero .fssl-hero-copy h1 span {
    display: block;
    white-space: nowrap;
}

.fssl-hero-copy .fssl-lead {
    margin-left: auto;
    margin-right: auto;
}

.fssl-hero-copy .fssl-actions {
    justify-content: center;
}

.fssl-hero-grid,
.fssl-split,
.fssl-rentals-hero-grid,
.fssl-contact-grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(360px, .9fr);
    gap: clamp(34px, 6vw, 80px);
    align-items: center;
}

.fssl-kicker {
    margin: 0 0 14px;
    color: var(--fssl-sage);
    font-size: .76rem;
    font-weight: 900;
    letter-spacing: .18em;
    text-transform: uppercase;
}

h1,
h2,
h3 {
    margin: 0;
    line-height: 1.02;
    letter-spacing: 0;
}

h1 {
    max-width: 880px;
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(3.1rem, 7vw, 7.8rem);
    font-weight: 500;
}

h2 {
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(2.1rem, 4.2vw, 4.35rem);
    font-weight: 500;
}

h3 {
    font-size: 1.25rem;
}

.fssl-lead {
    max-width: 680px;
    margin: 22px 0 0;
    color: var(--fssl-muted);
    font-size: clamp(1.05rem, 1.5vw, 1.22rem);
}

.fssl-location-pill {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    min-height: 38px;
    margin: 20px auto 0;
    padding: 0 16px;
    border: 1px solid rgba(21, 19, 17, .12);
    border-radius: 999px;
    background: rgba(255, 255, 255, .74);
    color: var(--fssl-soft-ink);
    font-size: .88rem;
    font-weight: 850;
    letter-spacing: .04em;
}

.fssl-location-pill svg {
    width: 17px;
    height: 17px;
    fill: none;
    stroke: var(--fssl-sage);
    stroke-width: 2;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.fssl-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    margin-top: 32px;
}

.fssl-hero-board {
    display: grid;
    gap: 16px;
}

.fssl-landing-hero {
    min-height: calc(100vh - 132px);
    display: flex;
    align-items: center;
}

.fssl-landing-hero .fssl-shell {
    width: min(1420px, calc(100% - 28px));
}

.fssl-entry-grid {
    width: min(1120px, 100%);
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: clamp(18px, 2.6vw, 34px);
    margin: clamp(30px, 4.4vw, 50px) auto 0;
}

.fssl-entry-card {
    overflow: hidden;
    display: grid;
    grid-template-rows: clamp(285px, 24vw, 390px) 1fr;
    border: 1px solid var(--fssl-line);
    border-radius: var(--fssl-radius);
    background: rgba(255,255,255,.94);
    color: var(--fssl-black);
    text-decoration: none;
    box-shadow: var(--fssl-shadow);
    transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}

.fssl-entry-card:hover,
.fssl-entry-card:focus {
    transform: translateY(-5px);
    border-color: rgba(21, 19, 17, .28);
    box-shadow: 0 30px 84px rgba(21, 19, 17, .13);
}

.fssl-entry-card > div:last-child {
    padding: clamp(24px, 3vw, 34px);
}

.fssl-entry-card h2 {
    font-size: clamp(2rem, 4vw, 3.1rem);
}

.fssl-entry-card p:not(.fssl-kicker) {
    color: var(--fssl-muted);
}

.fssl-entry-card span {
    display: inline-flex;
    margin-top: 8px;
    color: var(--fssl-black);
    font-weight: 900;
    text-decoration: underline;
    text-underline-offset: 5px;
}

.fssl-entry-card .fssl-kit-image {
    height: 100%;
    min-height: 0;
    border: 0;
    border-radius: 0;
    box-shadow: none;
}

.fssl-entry-card .fssl-kit-image img {
    display: block;
    width: 100%;
    height: 100%;
    min-height: inherit;
    object-fit: cover;
    object-position: center;
}

.fssl-photo,
.fssl-kit-image {
    position: relative;
    overflow: hidden;
    min-height: 220px;
    border-radius: var(--fssl-radius);
    border: 1px solid rgba(21, 19, 17, .12);
    background:
        linear-gradient(135deg, #8b745e 0%, #d9c09d 48%, #ece7df 100%);
    background-position: center;
    background-size: cover;
    box-shadow: var(--fssl-shadow);
}

.fssl-photo::after,
.fssl-kit-image::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(to top, rgba(0,0,0,.42), transparent 58%);
}

.fssl-photo span {
    position: absolute;
    left: 20px;
    bottom: 18px;
    z-index: 1;
    color: #fff;
    font-weight: 850;
}

.fssl-photo-large {
    min-height: 440px;
    background-image:
        linear-gradient(to top, rgba(0,0,0,.28), rgba(0,0,0,.02) 58%),
        url("../images/v25-contact-chairs-fruit.jpg");
}

.fssl-photo-small {
    background-image:
        linear-gradient(to top, rgba(0,0,0,.34), rgba(0,0,0,.02) 58%),
        url("../images/v25-service-tablescape-coastal.jpg");
}

.fssl-board-row {
    display: grid;
    grid-template-columns: .9fr 1.1fr;
    gap: 16px;
}

.fssl-photo-small,
.fssl-stat-card {
    min-height: 170px;
}

.fssl-stat-card,
.fssl-mini-checklist,
.fssl-contact-card,
.fssl-service-stack article,
.fssl-faq article {
    border: 1px solid var(--fssl-line);
    border-radius: var(--fssl-radius);
    background: rgba(255,255,255,.88);
    box-shadow: var(--fssl-shadow);
}

.fssl-stat-card {
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: 24px;
}

.fssl-stat-card strong {
    display: block;
    margin-bottom: 8px;
    font-family: Georgia, "Times New Roman", serif;
    font-size: 1.75rem;
    font-weight: 500;
}

.fssl-stat-card p,
.fssl-section p,
.fssl-page-hero p,
.fssl-footer p {
    color: var(--fssl-muted);
}

.fssl-section,
.fssl-rentals-wrap {
    position: relative;
    padding: clamp(56px, 7vw, 96px) 0;
}

.fssl-how-section {
    padding-bottom: clamp(38px, 5vw, 64px);
    background:
        linear-gradient(118deg, rgba(255,255,255,.92), rgba(255,255,255,0) 30%),
        radial-gradient(circle at 10% 16%, rgba(200, 173, 133, .09), transparent 26%),
        radial-gradient(circle at 90% 20%, rgba(102, 115, 95, .07), transparent 28%),
        linear-gradient(180deg, #ffffff 0%, #fffdf8 48%, #fbf7f0 100%);
}

.fssl-category-section {
    padding-top: clamp(26px, 3.6vw, 46px);
    background:
        linear-gradient(118deg, rgba(255,255,255,.9), rgba(255,255,255,0) 32%),
        radial-gradient(circle at 8% 0%, rgba(200, 173, 133, .08), transparent 26%),
        linear-gradient(180deg, rgba(255,255,255,.98), rgba(255,253,248,.96) 48%, rgba(251,247,240,.94));
}

.fssl-category-section .fssl-section-head h2 {
    max-width: 880px;
    margin-left: auto;
    margin-right: auto;
    font-size: clamp(2.45rem, 5.3vw, 5.85rem);
    white-space: nowrap;
}

.fssl-category-section .fssl-section-head {
    margin-bottom: 18px;
}

.fssl-muted {
    background:
        linear-gradient(118deg, rgba(255,255,255,.9), rgba(255,255,255,0) 32%),
        radial-gradient(circle at 88% 18%, rgba(200, 173, 133, .08), transparent 28%),
        linear-gradient(180deg, #ffffff 0%, #fffdf8 46%, #fbf7f0 100%);
}

.fssl-dark-band {
    background: var(--fssl-black);
    color: #fff;
}

.fssl-dark-band .fssl-kicker,
.fssl-dark-band p {
    color: rgba(255,255,255,.72);
}

.fssl-section-head {
    max-width: 820px;
    margin-bottom: 24px;
    text-align: center;
    margin-left: auto;
    margin-right: auto;
}

.fssl-rentals-subtitle {
    margin: 16px 0 0;
    color: var(--fssl-sage);
    font-size: .82rem;
    font-weight: 900;
    letter-spacing: .18em;
}

.fssl-head-row {
    max-width: none;
    display: flex;
    justify-content: space-between;
    align-items: end;
    gap: 24px;
    text-align: left;
}

.fssl-text-link {
    color: var(--fssl-black);
    font-weight: 850;
    text-decoration-thickness: 1px;
    text-underline-offset: 5px;
}

.fssl-category-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 14px;
}

.fssl-category-grid a {
    position: relative;
    overflow: hidden;
    min-height: 148px;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    padding: 20px;
    border: 1px solid var(--fssl-line);
    border-radius: var(--fssl-radius);
    background-color: #fff;
    background-position: center;
    background-size: cover;
    color: var(--fssl-black);
    text-decoration: none;
    font-size: clamp(1.2rem, 2vw, 1.55rem);
    font-weight: 850;
    box-shadow: 0 16px 48px rgba(21,19,17,.06);
    transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}

.fssl-category-grid a::before,
.fssl-category-grid a::after {
    content: "";
    position: absolute;
    inset: 0;
}

.fssl-category-grid a::before {
    background: rgba(255, 253, 249, .48);
    transition: background .18s ease;
}

.fssl-category-grid a::after {
    background: linear-gradient(145deg, rgba(255,255,255,.48), rgba(238,236,231,.24));
}

.fssl-category-grid strong {
    position: relative;
    z-index: 1;
    display: block;
    font: inherit;
}

.fssl-category-grid small {
    display: block;
    margin-top: 12px;
    color: var(--fssl-muted);
    font-size: .86rem;
    font-weight: 800;
    letter-spacing: 0;
}

.fssl-category-grid a:nth-child(1) {
    background-image: url("../images/category-generic-seating-tables-v20.png");
}

.fssl-category-grid a:nth-child(2) {
    background-image: url("../images/category-generic-tabletop-serveware-v20.png");
}

.fssl-category-grid a:nth-child(3) {
    background-image: url("../images/category-generic-linens-soft-details-v20.png");
}

.fssl-category-grid a:nth-child(4) {
    background-image: url("../images/category-generic-backdrops-arches-v20.png");
}

.fssl-category-grid a:nth-child(5) {
    background-image: url("../images/category-generic-displays-plinths-v20.png");
}

.fssl-category-grid a:nth-child(6) {
    background-image: url("../images/category-generic-florals-greenery-v20.png");
}

.fssl-category-grid a:nth-child(7) {
    background-image: url("../images/category-generic-bars-carts-stations-v20.png");
}

.fssl-category-grid a:nth-child(8) {
    background-image: url("../images/category-generic-decor-props-accents-v20.png");
}

.fssl-category-grid a:nth-child(9) {
    background-image: url("../images/category-generic-packages-styled-sets-v20.png");
}

.fssl-category-grid a:hover,
.fssl-category-grid a:focus {
    transform: translateY(-4px);
    border-color: rgba(21, 19, 17, .28);
    box-shadow: 0 24px 70px rgba(21,19,17,.11);
}

.fssl-category-grid a:hover::before,
.fssl-category-grid a:focus::before {
    background: rgba(255, 253, 249, .38);
}

.fssl-category-grid span {
    position: relative;
    z-index: 1;
    color: var(--fssl-sage);
    font-size: .82rem;
    letter-spacing: .14em;
}

.fssl-category-detail-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 18px;
}

.fssl-category-detail-grid article {
    padding: clamp(22px, 4vw, 36px);
    border: 1px solid var(--fssl-line);
    border-radius: var(--fssl-radius);
    background: rgba(255,255,255,.9);
    box-shadow: var(--fssl-shadow);
}

.fssl-category-detail-grid ul {
    margin: 18px 0 0;
    padding-left: 20px;
    color: var(--fssl-muted);
}

.fssl-category-shop-section {
    padding-top: clamp(32px, 5vw, 70px);
}

.fssl-category-search {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 12px;
    width: min(980px, 100%);
    margin: 0 auto 18px;
}

.fssl-category-search input {
    width: 100%;
    min-height: 54px;
    padding: 0 20px;
    border: 1px solid rgba(21, 19, 17, .22);
    border-radius: 999px;
    background: rgba(255,255,255,.82);
    color: var(--fssl-black);
    font: inherit;
    box-shadow: 0 10px 28px rgba(21, 19, 17, .045);
}

.fssl-subcategory-row {
    display: flex;
    align-items: center;
    gap: 10px;
    width: min(1100px, 100%);
    margin: 0 auto 18px;
    padding: 8px 2px 12px;
    overflow-x: auto;
    scrollbar-width: thin;
}

.fssl-subcategory-row a {
    flex: 0 0 auto;
    padding: 10px 15px;
    border: 1px solid rgba(21, 19, 17, .14);
    border-radius: 999px;
    background: rgba(255,255,255,.74);
    color: var(--fssl-black);
    font-size: .82rem;
    font-weight: 900;
    letter-spacing: .07em;
    text-decoration: none;
    text-transform: uppercase;
    box-shadow: 0 10px 26px rgba(21, 19, 17, .04);
}

.fssl-subcategory-row a:hover,
.fssl-subcategory-row a:focus {
    background: var(--fssl-black);
    color: #fffefa;
}

.fssl-category-cart-actions {
    width: min(1100px, 100%);
    margin: 0 auto 22px;
    padding: 16px 18px;
    border: 1px solid rgba(21, 19, 17, .12);
    border-radius: var(--fssl-radius);
    background: rgba(255, 254, 250, .82);
    box-shadow: 0 16px 42px rgba(21, 19, 17, .055);
}

.fssl-category-cart-actions p {
    margin: 0;
    color: var(--fssl-muted);
    font-size: .95rem;
    text-align: center;
}

.fssl-category-catalogue {
    width: min(1180px, 100%);
    margin: 0 auto;
    padding: clamp(18px, 3vw, 28px);
    border: 1px solid rgba(21, 19, 17, .1);
    border-radius: var(--fssl-radius);
    background: rgba(255,255,255,.64);
    box-shadow: var(--fssl-shadow);
}

.fssl-catalogue-fallback {
    display: grid;
    justify-items: center;
    gap: 16px;
    padding: clamp(24px, 5vw, 56px);
    text-align: center;
}

.fssl-catalogue-fallback p {
    max-width: 680px;
    margin: 0;
    color: var(--fssl-muted);
}

@media (prefers-reduced-motion: no-preference) {
    @keyframes fssl-rise-in {
        from {
            opacity: 0;
            transform: translateY(18px);
        }
        to {
            opacity: 1;
            transform: translateY(0);
        }
    }

    .fssl-page-hero .fssl-shell,
    .fssl-landing-hero .fssl-shell,
    .fssl-section-head,
    .fssl-entry-card,
    .fssl-how-grid article,
    .fssl-category-grid a,
    .fssl-service-stack article,
    .fssl-feature-list p,
    .fssl-contact-card,
    .fssl-contact-form {
        animation: fssl-rise-in .58s ease both;
    }

    .fssl-entry-card:nth-child(2),
    .fssl-how-grid article:nth-child(2),
    .fssl-category-grid a:nth-child(2),
    .fssl-service-stack article:nth-child(2),
    .fssl-feature-list p:nth-child(2) {
        animation-delay: .04s;
    }

    .fssl-how-grid article:nth-child(3),
    .fssl-category-grid a:nth-child(3),
    .fssl-service-stack article:nth-child(3),
    .fssl-feature-list p:nth-child(3) {
        animation-delay: .08s;
    }

    .fssl-how-grid article:nth-child(4),
    .fssl-category-grid a:nth-child(4),
    .fssl-service-stack article:nth-child(4),
    .fssl-feature-list p:nth-child(4) {
        animation-delay: .12s;
    }
}

.fssl-discovery-section {
    background:
        linear-gradient(118deg, rgba(255,255,255,.92), rgba(255,255,255,0) 30%),
        radial-gradient(circle at 12% 18%, rgba(200, 173, 133, .08), transparent 24%),
        radial-gradient(circle at 84% 72%, rgba(102, 115, 95, .06), transparent 28%),
        #ffffff;
}

.fssl-discovery-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 22px;
}

.fssl-how-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 18px;
    margin-top: 30px;
}

.fssl-how-grid article {
    min-height: 280px;
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    gap: 14px;
    padding: 28px 18px;
    border: 1px solid var(--fssl-line);
    border-radius: var(--fssl-radius);
    background: rgba(255,255,255,.88);
    box-shadow: var(--fssl-shadow);
}

.fssl-how-grid article:nth-child(1) {
    background: linear-gradient(150deg, #fff, #fbf4ea);
}

.fssl-how-grid article:nth-child(2) {
    background: linear-gradient(150deg, #fff, #f5f1e9);
}

.fssl-how-grid article:nth-child(3) {
    background: linear-gradient(150deg, #fff, #f8f2ea);
}

.fssl-how-grid article:nth-child(4) {
    background: linear-gradient(150deg, #fff, #f1eee7);
}

.fssl-process-icon {
    display: grid;
    place-items: center;
    width: 86px;
    height: 86px;
    border: 1px solid rgba(21, 19, 17, .16);
    border-radius: 50%;
    background: rgba(255,255,255,.72);
}

.fssl-process-icon svg {
    width: 52px;
    height: 52px;
    fill: none;
    stroke: var(--fssl-black);
    stroke-width: 2.4;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.fssl-how-grid h3 {
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(1.35rem, 2vw, 1.8rem);
    font-weight: 500;
}

.fssl-how-grid p {
    margin: 0;
    color: var(--fssl-muted);
}

.fssl-info-divider {
    width: min(780px, 100%);
    height: 2px;
    margin: 26px auto 0;
    background: var(--fssl-black);
}

.fssl-how-note {
    width: min(900px, 100%);
    display: flex;
    align-items: center;
    text-align: center;
    justify-content: space-between;
    flex-direction: column;
    gap: 20px;
    margin: 22px auto 0;
    padding: 20px;
    border: 1px solid rgba(21, 19, 17, .14);
    border-radius: var(--fssl-radius);
    background: rgba(255, 254, 250, .94);
    box-shadow: 0 16px 46px rgba(21, 19, 17, .07);
}

.fssl-how-note p {
    margin: 0;
    color: var(--fssl-soft-ink);
    font-weight: 750;
}

.fssl-cart-summary {
    width: min(900px, 100%);
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 10px;
    margin: 18px auto 0;
}

.fssl-cart-summary article {
    padding: 16px;
    border: 1px solid rgba(21, 19, 17, .12);
    border-radius: var(--fssl-radius);
    background: rgba(255,255,255,.74);
    box-shadow: 0 10px 28px rgba(21, 19, 17, .045);
}

.fssl-cart-summary span {
    display: block;
    margin-bottom: 10px;
    color: var(--fssl-sage);
    font-size: .76rem;
    font-weight: 900;
    letter-spacing: .14em;
    text-transform: uppercase;
}

.fssl-cart-summary strong {
    display: block;
    color: var(--fssl-black);
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(1.05rem, 1.5vw, 1.35rem);
    font-weight: 500;
    line-height: 1.08;
}

.fssl-cart-summary p {
    margin: 12px 0 0;
    color: var(--fssl-muted);
}

.fssl-rental-intake-note {
    width: min(900px, 100%);
    display: grid;
    gap: 18px;
    margin: 22px auto 0;
    padding: clamp(20px, 3vw, 28px);
    border: 1px solid rgba(21, 19, 17, .14);
    border-radius: var(--fssl-radius);
    background:
        linear-gradient(135deg, rgba(255, 254, 250, .98), rgba(245, 239, 231, .9)),
        radial-gradient(circle at 14% 0%, rgba(211, 220, 195, .38), transparent 34%);
    box-shadow: 0 18px 50px rgba(21, 19, 17, .08);
    text-align: center;
}

.fssl-rental-intake-note > div:first-child span {
    display: block;
    margin-bottom: 10px;
    color: var(--fssl-sage);
    font-size: .78rem;
    font-weight: 900;
    letter-spacing: .14em;
    text-transform: uppercase;
}

.fssl-rental-intake-note p {
    margin: 0;
    color: var(--fssl-soft-ink);
    font-weight: 720;
}

.fssl-rental-intake-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
    text-align: left;
}

.fssl-rental-intake-grid p {
    padding: 16px;
    border: 1px solid rgba(21, 19, 17, .12);
    border-radius: 18px;
    background: rgba(255,255,255,.72);
    color: var(--fssl-muted);
    font-weight: 650;
}

.fssl-cart-total-line {
    grid-column: 1 / -1;
    margin: 2px 0 0;
    padding: 13px 14px 13px 18px;
    border: 1px solid rgba(21, 19, 17, .12);
    border-radius: 999px;
    background: rgba(21, 19, 17, .04);
    color: var(--fssl-black);
    font-weight: 850;
    text-align: left;
}

.fssl-cart-total-line p {
    margin: 0;
    color: var(--fssl-black);
}

.fssl-cart-total-line .fssl-button {
    flex: 0 0 auto;
    min-height: 38px;
    padding: 0 16px;
    font-size: .78rem;
}

.fssl-discovery-grid > div {
    padding: clamp(24px, 4vw, 38px);
    border: 1px solid var(--fssl-line);
    border-radius: var(--fssl-radius);
    background: rgba(255, 253, 249, .88);
    box-shadow: var(--fssl-shadow);
}

.fssl-chip-grid {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: 24px;
}

.fssl-chip-grid a {
    display: inline-flex;
    min-height: 40px;
    align-items: center;
    padding: 0 14px;
    border: 1px solid rgba(21, 19, 17, .16);
    border-radius: 999px;
    background: #fff;
    color: var(--fssl-soft-ink);
    text-decoration: none;
    font-size: .9rem;
    font-weight: 800;
}

.fssl-chip-grid a:nth-child(3n + 1) {
    background: rgba(251, 244, 234, .92);
}

.fssl-chip-grid a:nth-child(3n + 2) {
    background: rgba(245, 241, 233, .94);
}

.fssl-chip-grid a:nth-child(3n + 3) {
    background: rgba(241, 238, 231, .96);
}

.fssl-steps {
    display: grid;
    gap: 14px;
}

.fssl-steps div {
    display: grid;
    grid-template-columns: 56px 1fr;
    gap: 16px;
    padding: 20px;
    border: 1px solid var(--fssl-line);
    border-radius: var(--fssl-radius);
    background: #fff;
}

.fssl-steps div:nth-child(1) {
    background: linear-gradient(135deg, #fff, rgba(251,244,234,.9));
}

.fssl-steps div:nth-child(2) {
    background: linear-gradient(135deg, #fff, rgba(245,241,233,.94));
}

.fssl-steps div:nth-child(3) {
    background: linear-gradient(135deg, #fff, rgba(241,238,231,.96));
}

.fssl-steps span,
.fssl-service-stack span {
    color: var(--fssl-sage);
    font-weight: 900;
    letter-spacing: .12em;
}

.fssl-steps h3,
.fssl-steps p {
    margin: 0;
}

.fssl-kit-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 18px;
}

.fssl-kit-grid article {
    overflow: hidden;
    border: 1px solid var(--fssl-line);
    border-radius: var(--fssl-radius);
    background: #fff;
    box-shadow: var(--fssl-shadow);
}

.fssl-kit-grid h3,
.fssl-kit-grid p,
.fssl-kit-grid a {
    margin-left: 20px;
    margin-right: 20px;
}

.fssl-kit-grid h3 {
    margin-top: 20px;
    font-family: Georgia, "Times New Roman", serif;
    font-size: 1.65rem;
    font-weight: 500;
}

.fssl-kit-grid a {
    display: inline-flex;
    margin-bottom: 22px;
    color: var(--fssl-black);
    font-weight: 850;
    text-underline-offset: 5px;
}

.fssl-kit-a {
    background-image:
        linear-gradient(to top, rgba(0,0,0,.22), rgba(0,0,0,.02) 58%),
        url("../images/v25-home-rentals-windows.jpg");
    background-position: center;
}

.fssl-kit-b {
    background-image:
        linear-gradient(to top, rgba(0,0,0,.22), rgba(0,0,0,.02) 58%),
        url("../images/v25-service-statement-display.jpg");
    background-position: center;
}

.fssl-kit-c {
    background-image:
        linear-gradient(to top, rgba(0,0,0,.26), rgba(0,0,0,.04) 58%),
        url("../images/v25-home-services-pool.jpg");
    background-position: center;
}

.fssl-cta-band,
.fssl-cta-simple {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 24px;
}

.fssl-page-hero {
    padding: clamp(48px, 5.5vw, 78px) 0;
    text-align: center;
}

.fssl-services-hero {
    padding-bottom: clamp(18px, 2.2vw, 30px);
}

.fssl-service-visuals {
    padding-top: clamp(12px, 1.8vw, 24px);
    padding-bottom: clamp(18px, 3vw, 34px);
    background:
        linear-gradient(180deg, rgba(255,255,255,.98), rgba(255,253,248,.96));
}

.fssl-real-gallery {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: clamp(14px, 2vw, 22px);
}

.fssl-real-card {
    position: relative;
    min-height: clamp(320px, 34vw, 500px);
    margin: 0;
    overflow: hidden;
    border: 1px solid var(--fssl-line);
    border-radius: var(--fssl-radius);
    background-position: center;
    background-size: cover;
    box-shadow: var(--fssl-shadow);
}

.fssl-real-card::after,
.fssl-about-photo::after {
    content: "";
    position: absolute;
    inset: 0;
    background:
        linear-gradient(to top, rgba(0,0,0,.5), rgba(0,0,0,.04) 62%),
        radial-gradient(circle at 18% 12%, rgba(255,255,255,.24), transparent 30%);
}

.fssl-real-card span,
.fssl-about-photo span {
    position: absolute;
    left: 20px;
    right: 20px;
    bottom: 18px;
    z-index: 1;
    color: #fff;
    font-weight: 900;
    letter-spacing: .04em;
}

.fssl-real-card-table {
    background-image: url("../images/v25-service-tablescape-coastal.jpg");
    background-position: center;
}

.fssl-real-card-display {
    background-image: url("../images/v25-service-statement-display.jpg");
    background-position: center;
}

.fssl-real-card-baby {
    background-image: url("../images/v25-service-full-event-milas.jpg");
    background-position: center;
}

.fssl-services-support {
    padding-top: clamp(22px, 3vw, 36px);
}

.fssl-services-support .fssl-section-head {
    margin-bottom: 16px;
}

.fssl-page-hero h1 {
    margin-left: auto;
    margin-right: auto;
}

.fssl-about-section-tight {
    margin-top: clamp(-78px, -5vw, -38px);
    padding-top: clamp(6px, 1.4vw, 18px);
}

.fssl-page-hero .fssl-lead {
    margin-left: auto;
    margin-right: auto;
}

.fssl-rentals-hero {
    text-align: center;
}

.fssl-rentals-hero .fssl-lead {
    margin-left: auto;
    margin-right: auto;
}

.fssl-rental-category-strip {
    padding: clamp(18px, 2.6vw, 34px) 0 clamp(8px, 1.4vw, 18px);
    background:
        linear-gradient(180deg, rgba(251,247,240,.9), rgba(255,253,248,.96));
}

.fssl-rental-category-panel {
    display: block;
    padding: clamp(18px, 2.8vw, 30px);
    border: 1px solid rgba(21, 19, 17, .1);
    border-radius: var(--fssl-radius);
    background: rgba(255, 254, 250, .88);
    box-shadow: 0 18px 54px rgba(21, 19, 17, .055);
    text-align: center;
}

.fssl-rental-category-panel-inline {
    margin-top: clamp(16px, 2.2vw, 26px);
}

.fssl-rental-category-copy h2 {
    margin-top: 4px;
    font-size: clamp(1.7rem, 2.8vw, 2.8rem);
}

.fssl-rental-category-copy {
    max-width: 680px;
    margin: 0 auto;
}

.fssl-rental-category-copy p:last-child {
    margin: 8px 0 0;
}

.fssl-rental-flow-details {
    padding-top: clamp(36px, 5vw, 72px);
}

.fssl-rentals-intro-section {
    padding-bottom: clamp(18px, 2.5vw, 32px);
}

.fssl-rentals-intro-section + .fssl-rentals-wrap {
    padding-top: clamp(16px, 2.4vw, 30px);
}

.fssl-rentals-wrap {
    padding-bottom: clamp(34px, 5vw, 64px);
}

.fssl-mini-checklist {
    display: grid;
    gap: 10px;
    padding: 24px;
    text-align: left;
}

.fssl-rental-path-section {
    padding: clamp(34px, 5vw, 56px) 0;
    background:
        linear-gradient(118deg, rgba(255,255,255,.9), rgba(255,255,255,0) 30%),
        radial-gradient(circle at 12% 22%, rgba(200, 173, 133, .08), transparent 26%),
        linear-gradient(90deg, rgba(255,255,255,.98), rgba(251,247,240,.94));
}

.fssl-rental-path-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 16px;
}

.fssl-rental-path-grid article {
    padding: 24px;
    border: 1px solid var(--fssl-line);
    border-radius: var(--fssl-radius);
    background: rgba(255,255,255,.9);
    box-shadow: 0 16px 50px rgba(21, 19, 17, .07);
}

.fssl-rental-path-grid span {
    display: inline-flex;
    margin-bottom: 12px;
    color: var(--fssl-sage);
    font-size: .78rem;
    font-weight: 900;
    letter-spacing: .14em;
    text-transform: uppercase;
}

.fssl-rental-path-grid h2 {
    font-size: clamp(1.55rem, 2.6vw, 2.35rem);
}

.fssl-mini-checklist p {
    margin: 0;
    padding: 14px 0;
    border-bottom: 1px solid var(--fssl-line);
    color: var(--fssl-soft-ink);
    font-weight: 800;
}

.fssl-mini-checklist p:last-child {
    border-bottom: 0;
}

.fssl-service-stack {
    display: grid;
    gap: 16px;
}

.fssl-service-stack article {
    display: grid;
    grid-template-columns: 80px minmax(240px, .8fr) 1fr;
    gap: 22px;
    align-items: start;
    padding: clamp(20px, 4vw, 34px);
}

.fssl-service-stack article:nth-child(1) {
    background: linear-gradient(120deg, #fff, rgba(251,244,234,.92));
}

.fssl-service-stack article:nth-child(2) {
    background: linear-gradient(120deg, #fff, rgba(245,241,233,.94));
}

.fssl-service-stack article:nth-child(3) {
    background: linear-gradient(120deg, #fff, rgba(241,238,231,.96));
}

.fssl-service-stack article:nth-child(4) {
    background: linear-gradient(120deg, #fff, rgba(200,173,133,.2));
}

.fssl-feature-list {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 14px;
    margin-top: 24px;
}

.fssl-feature-list p {
    display: flex;
    align-items: center;
    gap: 14px;
    margin: 0;
    padding: 18px;
    border: 1px solid var(--fssl-line);
    border-radius: var(--fssl-radius);
    background:
        linear-gradient(135deg, rgba(255,255,255,.96), rgba(251,247,240,.92));
    color: var(--fssl-soft-ink);
    font-weight: 800;
    box-shadow: 0 16px 42px rgba(21, 19, 17, .055);
}

.fssl-about-copy {
    max-width: 620px;
}

.fssl-about-copy p {
    margin-bottom: 14px;
}

.fssl-about-side {
    display: grid;
    gap: 18px;
}

.fssl-about-photo {
    position: relative;
    min-height: clamp(280px, 34vw, 440px);
    margin: 0;
    overflow: hidden;
    border: 1px solid var(--fssl-line);
    border-radius: var(--fssl-radius);
    background-image: url("../images/v25-contact-chairs-fruit.jpg");
    background-position: center 42%;
    background-size: cover;
    box-shadow: var(--fssl-shadow);
}

.fssl-rental-showcase,
.fssl-contact-photo-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: clamp(16px, 2.4vw, 28px);
    margin-top: clamp(30px, 4vw, 54px);
}

.fssl-rental-showcase {
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

.fssl-rental-showcase-section {
    padding-top: clamp(18px, 2.5vw, 34px);
    padding-bottom: clamp(52px, 6vw, 88px);
    background:
        linear-gradient(180deg, rgba(255,253,248,.94), rgba(255,255,255,.98));
}

.fssl-rental-showcase-bottom {
    margin-top: 0;
}

.fssl-rental-photo,
.fssl-contact-photo {
    position: relative;
    min-height: clamp(330px, 38vw, 560px);
    margin: 0;
    overflow: hidden;
    border: 1px solid var(--fssl-line);
    border-radius: var(--fssl-radius);
    background-color: rgba(255,255,255,.72);
    background-position: center;
    background-size: cover;
    box-shadow: var(--fssl-shadow);
}

.fssl-rental-photo {
    min-height: clamp(210px, 18vw, 310px);
}

.fssl-contact-visuals {
    padding-top: clamp(14px, 2.4vw, 28px);
    padding-bottom: clamp(8px, 1.8vw, 18px);
}

.fssl-quote-cart-section {
    padding-top: clamp(28px, 4vw, 58px);
}

.fssl-quote-cart-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: clamp(16px, 2.4vw, 28px);
}

.fssl-quote-cart-panel {
    padding: clamp(24px, 4vw, 42px);
    border: 1px solid rgba(21, 19, 17, .12);
    border-radius: var(--fssl-radius);
    background: rgba(255,255,255,.78);
    box-shadow: var(--fssl-shadow);
}

.fssl-quote-cart-panel h2 {
    margin: 0 0 14px;
    color: var(--fssl-black);
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(1.55rem, 2.4vw, 2.4rem);
    font-weight: 500;
    line-height: 1.04;
}

.fssl-total-card {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    margin-top: 12px;
    padding: 14px 16px;
    border: 1px solid rgba(21, 19, 17, .1);
    border-radius: 16px;
    background: rgba(245, 241, 234, .72);
}

.fssl-total-card span {
    color: var(--fssl-muted);
    font-weight: 850;
}

.fssl-total-card strong {
    color: var(--fssl-black);
    text-align: right;
}

.fssl-cart-estimate-card {
    display: grid;
    gap: 8px;
    margin: 16px 0 14px;
    padding: 18px;
    border: 1px solid rgba(21, 19, 17, .14);
    border-radius: 18px;
    background:
        linear-gradient(135deg, rgba(255,255,255,.92), rgba(245,241,234,.72)),
        radial-gradient(circle at 92% 8%, rgba(200,173,133,.16), transparent 42%);
}

.fssl-cart-estimate-card span {
    color: var(--fssl-muted);
    font-size: .78rem;
    font-weight: 900;
    letter-spacing: .12em;
    text-transform: uppercase;
}

.fssl-cart-estimate-card strong {
    color: var(--fssl-black);
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(2rem, 4vw, 3.4rem);
    font-weight: 500;
    line-height: 1;
}

.fssl-cart-estimate-card p {
    margin: 0;
    color: var(--fssl-muted);
}

.fssl-cart-estimate-card label {
    display: grid;
    gap: 8px;
    color: var(--fssl-black);
    font-size: .82rem;
    font-weight: 900;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.fssl-cart-estimate-card input {
    width: 100%;
    min-height: 46px;
    padding: 0 14px;
    border: 1px solid rgba(21, 19, 17, .18);
    border-radius: 999px;
    background: rgba(255, 254, 250, .92);
    color: var(--fssl-black);
    font: inherit;
    font-size: 1rem;
    letter-spacing: 0;
    text-transform: none;
}

.fssl-order-sent {
    max-width: 900px;
    margin: 0 auto;
    text-align: center;
}

.fssl-rental-photo::after,
.fssl-contact-photo::after {
    content: "";
    position: absolute;
    inset: 0;
    background:
        linear-gradient(to top, rgba(0,0,0,.44), rgba(0,0,0,.02) 56%),
        radial-gradient(circle at 22% 15%, rgba(255,255,255,.24), transparent 30%);
}

.fssl-rental-photo span,
.fssl-contact-photo span {
    position: absolute;
    left: 22px;
    right: 22px;
    bottom: 20px;
    z-index: 1;
    color: #fff;
    font-weight: 900;
    letter-spacing: .03em;
}

.fssl-rental-photo-teddy {
    background-image: url("../images/v25-rentals-sage-teddy.jpg");
}

.fssl-rental-photo-arches {
    background-image: url("../images/v25-rentals-sage-arches.jpg");
}

.fssl-rental-photo-pool {
    background-image: url("../images/v25-home-services-pool.jpg");
}

.fssl-rental-photo-plinth {
    background-image: url("../images/v25-service-statement-display.jpg");
}

.fssl-contact-photo-chairs {
    background-image: url("../images/v25-contact-chairs-fruit.jpg");
    background-position: center;
}

.fssl-contact-photo-detail {
    background-image: url("../images/v25-contact-fruit-detail.jpg");
    background-position: center;
}

.fssl-feature-icon {
    flex: 0 0 auto;
    display: grid;
    place-items: center;
    width: 42px;
    height: 42px;
    border: 1px solid rgba(21, 19, 17, .13);
    border-radius: 50%;
    background:
        radial-gradient(circle at 35% 28%, rgba(255,255,255,.95), transparent 44%),
        linear-gradient(145deg, #fff, #f4ecdf);
}

.fssl-feature-icon svg {
    width: 22px;
    height: 22px;
    fill: none;
    stroke: var(--fssl-sage);
    stroke-width: 1.8;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.fssl-contact-card {
    padding: clamp(24px, 4vw, 38px);
}

.fssl-contact-card:first-child {
    background: linear-gradient(135deg, #fff, rgba(245,241,233,.94));
}

.fssl-contact-card:last-child {
    background: linear-gradient(135deg, #fff, rgba(251,244,234,.92));
}

.fssl-contact-card a {
    color: var(--fssl-black);
    font-weight: 850;
}

.fssl-enquiry-layout {
    display: grid;
    grid-template-columns: minmax(260px, .72fr) minmax(0, 1.28fr);
    gap: clamp(28px, 5vw, 72px);
    align-items: start;
}

.fssl-enquiry-intro {
    position: sticky;
    top: 150px;
}

.fssl-enquiry-intro p {
    color: var(--fssl-muted);
}

.fssl-fine-print {
    padding: 16px;
    border-left: 3px solid var(--fssl-champagne);
    background: rgba(255, 254, 250, .82);
    font-size: .95rem;
}

.fssl-contact-form {
    display: grid;
    gap: 18px;
    padding: clamp(22px, 4vw, 34px);
    border: 1px solid var(--fssl-line);
    border-radius: var(--fssl-radius);
    background: rgba(255, 254, 250, .94);
    box-shadow: var(--fssl-shadow);
}

.fssl-field-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 16px;
}

.fssl-contact-form label {
    display: grid;
    gap: 8px;
    color: var(--fssl-soft-ink);
    font-size: .9rem;
    font-weight: 850;
}

.fssl-contact-form input,
.fssl-contact-form select,
.fssl-contact-form textarea {
    width: 100%;
    min-height: 50px;
    border: 1px solid rgba(21, 19, 17, .18);
    border-radius: var(--fssl-radius);
    background: #fff;
    color: var(--fssl-ink);
    font: inherit;
    font-weight: 500;
    padding: 12px 14px;
}

.fssl-contact-form textarea {
    min-height: 150px;
    resize: vertical;
}

.fssl-contact-form input:focus,
.fssl-contact-form select:focus,
.fssl-contact-form textarea:focus {
    outline: 2px solid rgba(102, 115, 95, .28);
    border-color: var(--fssl-sage);
}

.fssl-contact-form .fssl-button {
    width: fit-content;
    min-width: 170px;
}

.fssl-choice-fieldset {
    display: grid;
    gap: 12px;
    margin: 0;
    padding: 0;
    border: 0;
}

.fssl-choice-fieldset legend {
    margin: 0 0 4px;
    color: var(--fssl-soft-ink);
    font-size: .9rem;
    font-weight: 850;
}

.fssl-check-choice-row {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 10px;
}

.fssl-check-choice-row label {
    position: relative;
    display: block;
    cursor: pointer;
}

.fssl-check-choice-row input {
    position: absolute;
    opacity: 0;
    pointer-events: none;
}

.fssl-check-choice-row span {
    display: flex;
    align-items: center;
    gap: 10px;
    min-height: 50px;
    padding: 12px 14px;
    border: 1px solid rgba(21, 19, 17, .18);
    border-radius: var(--fssl-radius);
    background: #fff;
    color: var(--fssl-ink);
    font-size: .92rem;
    font-weight: 800;
}

.fssl-check-choice-row span::before {
    content: "";
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 auto;
    width: 22px;
    height: 22px;
    border: 1px solid rgba(21, 19, 17, .22);
    border-radius: 999px;
    color: #fffefa;
    font-size: .78rem;
    font-weight: 900;
}

.fssl-check-choice-row input:checked + span {
    border-color: rgba(102, 115, 95, .55);
    background: rgba(247, 244, 238, .92);
}

.fssl-check-choice-row input:checked + span::before {
    content: "\2713";
    border-color: var(--fssl-sage);
    background: var(--fssl-sage);
}

.fssl-gs-delivery-choice {
    margin: 1rem 0 !important;
    background: #fffefa !important;
    position: relative;
    z-index: 20;
}

.fssl-honeypot {
    position: absolute;
    left: -9999px;
}

.fssl-form-alert {
    padding: 14px 16px;
    border: 1px solid rgba(185, 120, 111, .35);
    border-radius: var(--fssl-radius);
    background: rgba(251, 244, 234, .95);
    color: var(--fssl-soft-ink);
    font-weight: 800;
}

.fssl-form-alert-success {
    border-color: rgba(102, 115, 95, .35);
    background: rgba(245, 241, 233, .95);
}

.fssl-faq {
    display: grid;
    gap: 16px;
}

.fssl-faq article {
    padding: clamp(22px, 4vw, 32px);
}

.fssl-faq h2 {
    font-size: clamp(1.6rem, 3vw, 2.3rem);
}

.fssl-content {
    max-width: 900px;
}

.fssl-post-card {
    padding: 24px 0;
    border-bottom: 1px solid var(--fssl-line);
}

.fssl-footer {
    padding: 54px 0 24px;
    background: #070707;
    color: rgba(255,255,255,.72);
}

.fssl-footer-grid {
    display: grid;
    grid-template-columns: 2fr 1fr 1fr;
    gap: 34px;
}

.fssl-footer-logo {
    width: 210px;
    max-height: 100px;
    padding: 10px;
    border-radius: var(--fssl-radius);
    background: #fffaf4;
    object-fit: contain;
}

.fssl-footer h2 {
    margin-bottom: 12px;
    color: #fff;
    font-family: inherit;
    font-size: 1rem;
    font-weight: 850;
    letter-spacing: .12em;
    text-transform: uppercase;
}

.fssl-footer a {
    display: block;
    margin: 8px 0;
    color: rgba(255,255,255,.82);
    text-decoration: none;
}

.fssl-footer .fssl-social-links {
    margin-top: 12px;
}

.fssl-footer .fssl-social-links a {
    display: inline-flex;
    margin: 0;
    border-color: rgba(255,255,255,.22);
    background: rgba(255,255,255,.08);
    color: #fff;
}

.fssl-footer .fssl-social-links a:hover,
.fssl-footer .fssl-social-links a:focus {
    border-color: #fff;
    background: #fff;
    color: var(--fssl-black);
}

.fssl-footer-bottom {
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-wrap: wrap;
    gap: 16px;
    margin-top: 36px;
    padding-top: 22px;
    border-top: 1px solid rgba(255,255,255,.16);
    font-size: .9rem;
}

.fssl-social-links-footer-bottom {
    margin-left: auto;
}

/* Goodshuffle native cart UX polish */
.fssl-rentals-wrap [class*="goodshuffle"],
.fssl-rentals-wrap [class*="gspro"],
.fssl-rentals-wrap iframe,
.fssl-category-catalogue [class*="goodshuffle"],
.fssl-category-catalogue [class*="gspro"],
.fssl-category-catalogue iframe,
gspro-gallery,
gspro-wc {
    max-width: 100%;
    font-family: inherit;
}

.fssl-rentals-wrap input[type="search"],
.fssl-rentals-wrap input[type="text"],
.fssl-category-catalogue input[type="search"],
.fssl-category-catalogue input[type="text"],
.fssl-gs-cart-dialog input,
.fssl-gs-cart-dialog select,
.fssl-gs-cart-dialog textarea {
    border-radius: 12px !important;
    font-family: inherit !important;
}

.fssl-rentals-wrap .fssl-gs-search-hidden,
.fssl-rentals-wrap form:has(input[type="search"]),
.fssl-rentals-wrap form:has(input[placeholder*="Find items" i]) {
    display: none !important;
}

.fssl-rentals-wrap .fssl-gs-add-to-cart-control,
.fssl-category-catalogue .fssl-gs-add-to-cart-control,
.fssl-rentals-wrap button[aria-label*="Add to Cart" i],
.fssl-rentals-wrap a[aria-label*="Add to Cart" i],
.fssl-rentals-wrap [role="button"][aria-label*="Add to Cart" i],
.fssl-rentals-wrap button[title*="Add to Cart" i],
.fssl-rentals-wrap a[title*="Add to Cart" i],
.fssl-rentals-wrap [class*="wishlist" i][aria-label*="Add" i],
.fssl-rentals-wrap [class*="favorite" i][aria-label*="Add" i],
.fssl-rentals-wrap [class*="favourite" i][aria-label*="Add" i],
.fssl-category-catalogue button[aria-label*="Add to Cart" i],
.fssl-category-catalogue a[aria-label*="Add to Cart" i],
.fssl-category-catalogue [role="button"][aria-label*="Add to Cart" i],
.fssl-category-catalogue button[title*="Add to Cart" i],
.fssl-category-catalogue a[title*="Add to Cart" i],
.fssl-category-catalogue [class*="wishlist" i][aria-label*="Add" i],
.fssl-category-catalogue [class*="favorite" i][aria-label*="Add" i],
.fssl-category-catalogue [class*="favourite" i][aria-label*="Add" i] {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 8px !important;
    min-height: 44px !important;
    min-width: 132px !important;
    padding: 11px 18px !important;
    border: 1px solid rgba(21, 19, 17, .9) !important;
    border-radius: 999px !important;
    background: #151311 !important;
    color: #fffefa !important;
    box-shadow: 0 10px 22px rgba(21, 19, 17, .12) !important;
    font-family: inherit !important;
    font-size: .82rem !important;
    font-weight: 900 !important;
    letter-spacing: .08em !important;
    line-height: 1.1 !important;
    text-align: center !important;
    text-transform: uppercase !important;
    transition: background-color .18s ease, border-color .18s ease, box-shadow .18s ease, transform .18s ease !important;
}

.fssl-rentals-wrap .fssl-gs-add-to-cart-control:hover,
.fssl-category-catalogue .fssl-gs-add-to-cart-control:hover,
.fssl-rentals-wrap button[aria-label*="Add to Cart" i]:hover,
.fssl-category-catalogue button[aria-label*="Add to Cart" i]:hover {
    background: #2a2520 !important;
    border-color: #2a2520 !important;
    box-shadow: 0 14px 30px rgba(21, 19, 17, .18) !important;
    transform: translateY(-1px);
}

.fssl-rentals-wrap .fssl-gs-add-to-cart-control:focus-visible,
.fssl-category-catalogue .fssl-gs-add-to-cart-control:focus-visible,
.fssl-gs-cart-dialog button:focus-visible,
.fssl-gs-cart-dialog [role="button"]:focus-visible,
.fssl-gs-cart-dialog a:focus-visible {
    outline: 3px solid rgba(168, 139, 74, .45) !important;
    outline-offset: 3px !important;
}

.fssl-rentals-wrap .fssl-gs-add-to-cart-control[disabled],
.fssl-rentals-wrap .fssl-gs-add-to-cart-control[aria-disabled="true"],
.fssl-rentals-wrap .fssl-gs-add-to-cart-control[aria-busy="true"],
.fssl-rentals-wrap .fssl-gs-add-to-cart-control[class*="loading" i],
.fssl-category-catalogue .fssl-gs-add-to-cart-control[disabled],
.fssl-category-catalogue .fssl-gs-add-to-cart-control[aria-disabled="true"],
.fssl-category-catalogue .fssl-gs-add-to-cart-control[aria-busy="true"],
.fssl-category-catalogue .fssl-gs-add-to-cart-control[class*="loading" i] {
    cursor: not-allowed !important;
    opacity: .58 !important;
    transform: none !important;
}

.fssl-gs-cart-control,
.fssl-rentals-wrap .fssl-gs-cart-control,
.fssl-category-catalogue .fssl-gs-cart-control,
.fssl-rentals-wrap button[aria-label*="View Cart" i],
.fssl-rentals-wrap a[aria-label*="View Cart" i],
.fssl-rentals-wrap [role="button"][aria-label*="View Cart" i],
.fssl-category-catalogue button[aria-label*="View Cart" i],
.fssl-category-catalogue a[aria-label*="View Cart" i],
.fssl-category-catalogue [role="button"][aria-label*="View Cart" i] {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 8px !important;
    min-height: 44px !important;
    padding: 10px 16px !important;
    border: 1px solid rgba(21, 19, 17, .16) !important;
    border-radius: 999px !important;
    background: #fffefa !important;
    color: #151311 !important;
    box-shadow: 0 10px 24px rgba(21, 19, 17, .12) !important;
    font-family: inherit !important;
    font-weight: 900 !important;
}

.fssl-gs-cart-dialog {
    width: min(720px, calc(100vw - 32px)) !important;
    min-width: min(520px, calc(100vw - 32px)) !important;
    max-width: calc(100vw - 32px) !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: min(820px, calc(100vh - 48px)) !important;
    padding: 18px !important;
    border-radius: 18px !important;
    background: #fffefa !important;
    box-shadow: 0 24px 70px rgba(21, 19, 17, .24) !important;
    color: #151311 !important;
    overflow-x: hidden !important;
    overflow-y: auto !important;
    overscroll-behavior: contain !important;
    animation: fsslDrawerEnter .22s ease-out;
}

.fssl-gs-cart-dialog [class*="wishlist" i],
.fssl-gs-cart-dialog [class*="drawer" i],
.fssl-gs-cart-dialog [class*="body" i],
.fssl-gs-cart-dialog [class*="content" i],
.fssl-gs-cart-dialog [class*="items" i],
.fssl-gs-cart-dialog [class*="footer" i] {
    min-height: 0 !important;
}

.fssl-gs-cart-dialog,
.fssl-gs-cart-dialog * {
    font-family: inherit !important;
}

.fssl-gs-cart-dialog h1,
.fssl-gs-cart-dialog h2,
.fssl-gs-cart-dialog h3,
.fssl-gs-cart-dialog [class*="title" i],
.fssl-gs-cart-dialog [class*="heading" i] {
    color: #151311 !important;
    font-family: var(--font-display) !important;
    letter-spacing: 0 !important;
    line-height: 1.1 !important;
}

.fssl-gs-cart-dialog > * {
    max-width: 100% !important;
}

.fssl-gs-cart-dialog :where(div, span, p, label, strong, small):not(button *):not([role="button"] *):not(.fssl-gs-cart-header *) {
    color: #151311 !important;
    opacity: 1 !important;
}

.fssl-gs-cart-dialog :where([class*="date" i], [class*="time" i], [aria-label*="date" i], [aria-label*="time" i], [title*="date" i], [title*="time" i]) {
    color: #151311 !important;
    opacity: 1 !important;
}

.fssl-gs-cart-dialog :where(input, select, button, [role="button"])[class*="date" i],
.fssl-gs-cart-dialog :where(input, select, button, [role="button"])[class*="time" i],
.fssl-gs-cart-dialog :where(input, select, button, [role="button"])[aria-label*="date" i],
.fssl-gs-cart-dialog :where(input, select, button, [role="button"])[aria-label*="time" i],
.fssl-gs-cart-dialog :where(input, select, button, [role="button"])[title*="date" i],
.fssl-gs-cart-dialog :where(input, select, button, [role="button"])[title*="time" i] {
    min-height: 42px !important;
    border: 1px solid rgba(21, 19, 17, .18) !important;
    border-radius: 10px !important;
    background: #fffefa !important;
    color: #151311 !important;
    box-shadow: 0 8px 20px rgba(21, 19, 17, .07) !important;
    font-family: inherit !important;
    font-weight: 700 !important;
}

.fssl-gs-cart-dialog :where([class*="calendar" i], [class*="datepicker" i], [class*="date-picker" i]) {
    color: #151311 !important;
    opacity: 1 !important;
}

.fssl-gs-cart-header {
    display: grid !important;
    gap: 6px !important;
    margin: -18px -18px 16px !important;
    padding: 18px 116px 16px 20px !important;
    border-bottom: 1px solid rgba(21, 19, 17, .1) !important;
    background: rgba(255, 254, 250, .98) !important;
    color: #151311 !important;
}

.fssl-gs-cart-header strong {
    color: #151311 !important;
    font-family: var(--font-display) !important;
    font-size: clamp(1.4rem, 2.2vw, 1.85rem) !important;
    font-weight: 700 !important;
    letter-spacing: 0 !important;
    line-height: 1 !important;
}

.fssl-gs-cart-header span {
    color: rgba(21, 19, 17, .64) !important;
    font-size: .84rem !important;
    font-weight: 700 !important;
    line-height: 1.35 !important;
}

.fssl-gs-cart-close,
.fssl-gs-cart-minimize,
.fssl-gs-cart-dialog .fssl-gs-native-close {
    position: absolute !important;
    top: 14px !important;
    right: 14px !important;
    z-index: 999999 !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 46px !important;
    min-width: 46px !important;
    height: 46px !important;
    min-height: 46px !important;
    padding: 0 !important;
    border: 2px solid rgba(21, 19, 17, .9) !important;
    border-radius: 999px !important;
    background: #fffefa !important;
    color: #151311 !important;
    box-shadow: 0 10px 24px rgba(21, 19, 17, .24) !important;
    font-family: Arial, sans-serif !important;
    font-size: 1.65rem !important;
    font-weight: 900 !important;
    line-height: 1 !important;
    opacity: 1 !important;
    visibility: visible !important;
}

.fssl-gs-cart-minimize {
    right: 68px !important;
}

.fssl-gs-cart-dialog .fssl-gs-native-close {
    font-size: 0 !important;
}

.fssl-gs-cart-dialog .fssl-gs-native-close::before {
    content: "×";
    color: #151311;
    font-size: 1.65rem;
    font-weight: 900;
    line-height: 1;
}

.fssl-gs-cart-close:hover,
.fssl-gs-cart-minimize:hover,
.fssl-gs-cart-dialog .fssl-gs-native-close:hover {
    background: #151311 !important;
    color: #fffefa !important;
}

.fssl-gs-cart-dialog .fssl-gs-native-close:hover::before {
    color: #fffefa;
}

.fssl-gs-cart-dialog.fssl-gs-cart-minimized {
    width: min(360px, calc(100vw - 24px)) !important;
    min-width: min(280px, calc(100vw - 24px)) !important;
    max-height: 84px !important;
    overflow: hidden !important;
}

.fssl-gs-cart-dialog.fssl-gs-cart-minimized > :not(.fssl-gs-cart-header):not(.fssl-gs-cart-close):not(.fssl-gs-cart-minimize):not(.fssl-gs-native-close) {
    display: none !important;
}

.fssl-gs-cart-dialog.fssl-gs-cart-minimized .fssl-gs-cart-header {
    margin-bottom: 0 !important;
    min-height: 84px !important;
}

.fssl-gs-cart-dialog li,
.fssl-gs-cart-dialog article,
.fssl-gs-cart-dialog [class*="item" i],
.fssl-gs-cart-dialog [class*="product" i] {
    min-width: 0 !important;
    margin-bottom: 10px !important;
    padding-top: 10px !important;
    padding-bottom: 10px !important;
    border-radius: 10px !important;
}

.fssl-gs-cart-dialog img {
    width: clamp(56px, 10vw, 82px) !important;
    max-width: clamp(56px, 10vw, 82px) !important;
    height: auto !important;
    border-radius: 8px !important;
    object-fit: cover !important;
}

.fssl-gs-cart-dialog button,
.fssl-gs-cart-dialog [role="button"],
.fssl-gs-cart-dialog input[type="button"],
.fssl-gs-cart-dialog input[type="submit"] {
    min-height: 40px !important;
    border-radius: 999px !important;
    font-family: inherit !important;
    font-weight: 850 !important;
}

.fssl-gs-cart-dialog .fssl-gs-quantity-control,
.fssl-gs-cart-dialog button[aria-label*="quantity" i],
.fssl-gs-cart-dialog button[aria-label*="increase" i],
.fssl-gs-cart-dialog button[aria-label*="decrease" i],
.fssl-gs-cart-dialog [class*="quantity" i] button,
.fssl-gs-cart-dialog [class*="qty" i] button {
    min-width: 40px !important;
    min-height: 40px !important;
    padding: 8px 10px !important;
    border: 1px solid rgba(21, 19, 17, .18) !important;
    background: #fffefa !important;
    color: #151311 !important;
}

.fssl-gs-cart-dialog input[type="number"],
.fssl-gs-cart-dialog [class*="quantity" i] input,
.fssl-gs-cart-dialog [class*="qty" i] input {
    min-width: 48px !important;
    min-height: 40px !important;
    padding: 6px 10px !important;
    text-align: center !important;
}

.fssl-gs-cart-dialog .fssl-gs-remove-control,
.fssl-gs-cart-dialog button[aria-label*="remove" i],
.fssl-gs-cart-dialog a[aria-label*="remove" i],
.fssl-gs-cart-dialog [class*="remove" i] {
    color: #6f241f !important;
    text-decoration-thickness: 1px !important;
    text-underline-offset: 3px !important;
}

.fssl-gs-cart-dialog .fssl-gs-request-control,
.fssl-gs-cart-dialog button[type="submit"],
.fssl-gs-cart-dialog input[type="submit"],
.fssl-gs-cart-dialog button[aria-label*="request" i],
.fssl-gs-cart-dialog button[title*="request" i] {
    min-height: 46px !important;
    padding: 12px 20px !important;
    border: 1px solid #151311 !important;
    border-radius: 999px !important;
    background: #151311 !important;
    color: #fffefa !important;
    font-weight: 900 !important;
    letter-spacing: .08em !important;
    text-transform: uppercase !important;
}

.fssl-gs-empty-state {
    display: grid !important;
    gap: 10px !important;
    margin: 18px 0 4px !important;
    padding: 22px !important;
    border: 1px dashed rgba(21, 19, 17, .22) !important;
    border-radius: 16px !important;
    background: rgba(239, 231, 219, .45) !important;
    color: #151311 !important;
    text-align: center !important;
}

.fssl-gs-empty-state strong {
    font-family: var(--font-display) !important;
    font-size: 1.45rem !important;
    line-height: 1.1 !important;
}

.fssl-gs-empty-state span {
    color: rgba(21, 19, 17, .72) !important;
    line-height: 1.45 !important;
}

.fssl-gs-empty-state a {
    justify-self: center !important;
    margin-top: 4px !important;
    padding: 10px 16px !important;
    border-radius: 999px !important;
    background: #151311 !important;
    color: #fffefa !important;
    font-size: .78rem !important;
    font-weight: 900 !important;
    letter-spacing: .08em !important;
    text-decoration: none !important;
    text-transform: uppercase !important;
}

.fssl-gs-cart-toast {
    position: fixed;
    right: 22px;
    bottom: 22px;
    z-index: 999999;
    display: grid;
    gap: 12px;
    width: min(360px, calc(100vw - 28px));
    padding: 16px;
    border: 1px solid rgba(21, 19, 17, .12);
    border-radius: 16px;
    background: #fffefa;
    color: #151311;
    box-shadow: 0 18px 46px rgba(21, 19, 17, .22);
    opacity: 0;
    pointer-events: none;
    transform: translateY(14px);
    transition: opacity .18s ease, transform .18s ease;
}

.fssl-gs-cart-toast.is-visible {
    opacity: 1;
    pointer-events: auto;
    transform: translateY(0);
}

.fssl-gs-cart-toast strong::before {
    content: "✓ ";
    color: #6f7d63;
}

.fssl-gs-toast-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.fssl-gs-toast-actions button {
    flex: 1 1 140px;
    min-height: 40px;
    padding: 9px 12px;
    border: 1px solid rgba(21, 19, 17, .18);
    border-radius: 999px;
    background: #fffefa;
    color: #151311;
    font-family: inherit;
    font-size: .76rem;
    font-weight: 900;
    letter-spacing: .06em;
    text-transform: uppercase;
}

.fssl-gs-toast-actions button:last-child {
    border-color: #151311;
    background: #151311;
    color: #fffefa;
}

@keyframes fsslDrawerEnter {
    from {
        opacity: .72;
        transform: translateX(14px);
    }
    to {
        opacity: 1;
        transform: translateX(0);
    }
}

@media (max-width: 760px) {
    .fssl-rentals-wrap nav[class*="categor" i],
    .fssl-rentals-wrap aside[class*="categor" i],
    .fssl-rentals-wrap ul[class*="categor" i],
    .fssl-rentals-wrap ol[class*="categor" i],
    .fssl-rentals-wrap [class*="category-list" i],
    .fssl-rentals-wrap [class*="categories-list" i],
    .fssl-rentals-wrap [class*="category-menu" i],
    .fssl-rentals-wrap [class*="categories-menu" i],
    .fssl-rentals-wrap [class*="filter-list" i][class*="categor" i],
    .fssl-rentals-wrap [class*="filter-menu" i][class*="categor" i],
    .fssl-rentals-wrap [role="navigation"][class*="categor" i],
    .fssl-rentals-wrap [role="list"][class*="categor" i] {
        display: block !important;
        visibility: visible !important;
        opacity: 1 !important;
        height: auto !important;
        max-height: none !important;
        overflow: visible !important;
        transform: none !important;
    }

    .fssl-rentals-wrap nav[class*="categor" i],
    .fssl-rentals-wrap aside[class*="categor" i],
    .fssl-rentals-wrap [class*="category-list" i],
    .fssl-rentals-wrap [class*="categories-list" i],
    .fssl-rentals-wrap [class*="category-menu" i],
    .fssl-rentals-wrap [class*="categories-menu" i] {
        width: 100% !important;
        margin: 0 0 18px !important;
        padding: 12px 14px !important;
        border: 1px solid rgba(21, 19, 17, .12) !important;
        border-radius: 12px !important;
        background: rgba(255, 253, 249, .92) !important;
        box-shadow: 0 12px 34px rgba(21, 19, 17, .08) !important;
    }

    .fssl-rentals-wrap nav[class*="categor" i] a,
    .fssl-rentals-wrap aside[class*="categor" i] a,
    .fssl-rentals-wrap ul[class*="categor" i] a,
    .fssl-rentals-wrap [class*="category-list" i] a,
    .fssl-rentals-wrap [class*="categories-list" i] a,
    .fssl-rentals-wrap nav[class*="categor" i] button,
    .fssl-rentals-wrap aside[class*="categor" i] button,
    .fssl-rentals-wrap ul[class*="categor" i] button,
    .fssl-rentals-wrap [class*="category-list" i] button,
    .fssl-rentals-wrap [class*="categories-list" i] button {
        min-height: 42px !important;
        padding: 8px 4px !important;
        color: #151311 !important;
        font-family: inherit !important;
        font-size: .96rem !important;
        line-height: 1.25 !important;
    }

    .fssl-rentals-wrap button[aria-label*="categor" i],
    .fssl-rentals-wrap [role="button"][aria-label*="categor" i],
    .fssl-rentals-wrap button[title*="categor" i],
    .fssl-rentals-wrap [role="button"][title*="categor" i],
    .fssl-rentals-wrap .fssl-gs-category-control,
    .fssl-rentals-wrap button[class*="categor" i],
    .fssl-rentals-wrap [role="button"][class*="categor" i] {
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        flex-direction: column !important;
        gap: 4px !important;
        min-height: 66px !important;
        min-width: min(100%, 280px) !important;
        margin: 0 auto 14px !important;
        padding: 14px 20px !important;
        border: 1px solid #8f672f !important;
        border-radius: 999px !important;
        background: #c8ad85 !important;
        color: #151311 !important;
        box-shadow: 0 14px 34px rgba(143, 103, 47, .26) !important;
        font-family: inherit !important;
        font-size: .86rem !important;
        font-weight: 900 !important;
        letter-spacing: .08em !important;
        text-transform: uppercase !important;
    }

    .fssl-rentals-wrap .fssl-gs-category-control::before {
        content: "Browse by category";
        display: block;
        color: rgba(21, 19, 17, .78);
        font-size: .66rem;
        font-weight: 900;
        letter-spacing: .12em;
        line-height: 1.15;
    }

    .fssl-rentals-wrap .fssl-gs-category-control::after {
        content: "Tap here to see a list of categories";
        display: block;
        color: rgba(21, 19, 17, .76);
        font-size: .68rem;
        font-weight: 800;
        letter-spacing: .03em;
        line-height: 1.15;
        text-transform: none;
    }

    .fssl-rentals-wrap .fssl-gs-add-to-cart-control,
    .fssl-category-catalogue .fssl-gs-add-to-cart-control,
    .fssl-rentals-wrap button[aria-label*="Add to Cart" i],
    .fssl-category-catalogue button[aria-label*="Add to Cart" i] {
        width: 100% !important;
        min-width: 0 !important;
        white-space: normal !important;
    }

    .fssl-gs-cart-dialog {
        width: calc(100vw - 20px) !important;
        min-width: auto !important;
        max-width: calc(100vw - 20px) !important;
        max-height: calc(100vh - 32px) !important;
        padding: 16px !important;
        border-radius: 16px !important;
    }

    .fssl-gs-cart-header {
        margin: -16px -16px 16px !important;
        padding: 20px 64px 16px 18px !important;
    }

    .fssl-gs-cart-dialog button,
    .fssl-gs-cart-dialog [role="button"],
    .fssl-gs-cart-dialog input[type="button"],
    .fssl-gs-cart-dialog input[type="submit"] {
        min-height: 44px !important;
    }

    .fssl-gs-cart-toast {
        right: 14px;
        bottom: 14px;
    }

    .fssl-rentals-intro-section {
        padding-bottom: 18px;
    }

    .fssl-rentals-intro-section + .fssl-rentals-wrap {
        padding-top: 14px;
    }

    .fssl-rental-category-panel-inline {
        margin-top: 18px;
    }
}

@media (max-width: 980px) {
    .fssl-header-main {
        grid-template-columns: 1fr auto;
        min-height: 112px;
    }

    .fssl-header-search {
        display: none;
    }

    .fssl-logo-link,
    .fssl-nav-toggle {
        position: relative;
        z-index: 70;
    }

    .fssl-nav-toggle {
        display: block;
    }

    .fssl-nav {
        position: fixed;
        inset: 0;
        z-index: 60;
        display: none;
        align-items: center;
        justify-content: flex-start;
        flex-direction: column;
        gap: 22px;
        width: 100vw;
        max-width: none;
        min-height: 100vh;
        padding: 168px 24px 44px;
        background: rgba(255, 253, 249, .985);
        overflow-y: auto;
        overscroll-behavior: contain;
    }

    .fssl-nav.is-open {
        display: flex;
    }

    .fssl-menu {
        width: min(320px, 100%);
        flex-direction: column;
        align-items: stretch;
        gap: 4px;
    }

    .fssl-menu a {
        justify-content: center;
        min-height: 48px;
        padding: 12px 10px;
        border-bottom: 1px solid rgba(21, 19, 17, .08);
        color: var(--fssl-ink);
        font-size: 1rem;
        letter-spacing: .16em;
        line-height: 1.1;
    }

    .fssl-nav-cta {
        width: min(320px, 100%);
        margin: 0 auto;
    }

    .fssl-social-links-header {
        justify-content: center;
    }

    .fssl-hero-grid,
    .fssl-split,
    .fssl-rentals-hero-grid,
    .fssl-contact-grid,
    .fssl-enquiry-layout,
    .fssl-footer-grid {
        grid-template-columns: 1fr;
    }

    .fssl-enquiry-intro {
        position: static;
    }

    .fssl-category-grid,
    .fssl-entry-grid,
    .fssl-kit-grid,
    .fssl-discovery-grid,
    .fssl-cart-summary,
    .fssl-quote-cart-grid,
    .fssl-real-gallery,
    .fssl-how-grid,
    .fssl-rental-path-grid,
    .fssl-category-detail-grid,
    .fssl-rental-showcase,
    .fssl-contact-photo-grid {
        grid-template-columns: 1fr 1fr;
    }

    .fssl-how-note {
        align-items: flex-start;
        flex-direction: column;
    }

    .fssl-service-stack article {
        grid-template-columns: 1fr;
    }

}

@media (min-width: 981px) and (max-width: 1180px) {
    .fssl-header-main {
        grid-template-columns: 260px 1fr;
    }

    .fssl-header-search {
        display: none;
    }
}

@media (max-width: 640px) {
    .fssl-shell {
        width: min(100% - 24px, 1180px);
    }

    .fssl-announce {
        font-size: .72rem;
    }

    .fssl-header-main {
        min-height: 96px;
    }

    .fssl-logo-link img {
        width: 214px;
        max-height: 82px;
    }

    .fssl-check-choice-row {
        grid-template-columns: 1fr;
    }

    .fssl-category-section .fssl-section-head h2 {
        white-space: normal;
    }

    .fssl-landing-hero .fssl-hero-copy h1 {
        font-size: 2.05rem;
    }

    .fssl-board-row,
    .fssl-category-grid,
    .fssl-category-search,
    .fssl-entry-grid,
    .fssl-feature-list,
    .fssl-kit-grid,
    .fssl-discovery-grid,
    .fssl-cart-summary,
    .fssl-quote-cart-grid,
    .fssl-real-gallery,
    .fssl-how-grid,
    .fssl-rental-path-grid,
    .fssl-category-detail-grid,
    .fssl-rental-showcase,
    .fssl-contact-photo-grid,
    .fssl-field-grid {
        grid-template-columns: 1fr;
    }

    .fssl-photo-large {
        min-height: 320px;
    }

    .fssl-head-row,
    .fssl-cta-band,
    .fssl-cta-simple,
    .fssl-cart-total-line,
    .fssl-category-cart-actions,
    .fssl-footer-bottom {
        align-items: flex-start;
        flex-direction: column;
    }

    .fssl-social-links-footer-bottom {
        margin-left: 0;
    }
}
