:root {
    --bg: #080a0c;
    --bg-soft: #111418;
    --surface: #151a1f;
    --surface-strong: #1a2026;
    --text: #f5f5f0;
    --muted: #a8a8a8;
    --line: rgba(255, 255, 255, 0.1);
    --accent: #c8a45d;
    --accent-strong: #b87333;
    --technical: #0e2a2f;
    --success: #2a6f63;
    --shadow: 0 22px 60px rgba(0, 0, 0, 0.34);
    --radius: 24px;
    --radius-sm: 16px;
    --max-width: 1180px;
    --header-height: 82px;
}

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

html {
    scroll-behavior: smooth;
}

body {
    margin: 0;
    font-family: "Trebuchet MS", "Segoe UI", Tahoma, Geneva, Verdana, sans-serif;
    background:
        radial-gradient(circle at top right, rgba(200, 164, 93, 0.12), transparent 28%),
        radial-gradient(circle at left 10% bottom 15%, rgba(14, 42, 47, 0.35), transparent 24%),
        var(--bg);
    color: var(--text);
    line-height: 1.6;
}

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

a {
    color: inherit;
    text-decoration: none;
}

button,
input,
select,
textarea {
    font: inherit;
}

button {
    cursor: pointer;
}

:focus-visible {
    outline: 2px solid var(--accent);
    outline-offset: 3px;
}

.skip-link {
    position: absolute;
    left: -999px;
    top: 0;
}

.skip-link:focus {
    left: 1rem;
    top: 1rem;
    z-index: 1000;
    padding: 0.75rem 1rem;
    border-radius: 999px;
    background: var(--accent);
    color: #120f09;
}

.container {
    width: min(calc(100% - 2rem), var(--max-width));
    margin: 0 auto;
}

.section {
    padding: 5rem 0;
}

.section--tight {
    padding: 2.5rem 0;
}

.section--panel {
    background: linear-gradient(180deg, rgba(17, 20, 24, 0.96), rgba(8, 10, 12, 0.96));
}

.eyebrow {
    margin: 0 0 0.85rem;
    color: var(--accent);
    font-size: 0.86rem;
    font-weight: 700;
    letter-spacing: 0.18em;
    text-transform: uppercase;
}

.section-heading {
    max-width: 760px;
    margin-bottom: 2.5rem;
}

.section-heading h2,
.hero h1,
.inner-hero h1,
.thanks-card h1 {
    margin: 0 0 1rem;
    line-height: 1.1;
    letter-spacing: -0.03em;
}

.section-heading p,
.hero__lead,
.inner-hero p,
.thanks-card p,
.service-card p,
.detail-block p,
.faq-answer p,
.testimonial-card p,
.contact-card p,
.contact-note p {
    color: var(--muted);
}

.button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.5rem;
    min-height: 52px;
    padding: 0.85rem 1.3rem;
    border-radius: 999px;
    border: 1px solid transparent;
    font-weight: 700;
    transition: transform 0.25s ease, border-color 0.25s ease, background 0.25s ease;
}

.button:hover {
    transform: translateY(-1px);
}

.button--primary {
    background: linear-gradient(135deg, var(--accent), var(--accent-strong));
    color: #120f09;
    box-shadow: 0 12px 30px rgba(184, 115, 51, 0.25);
}

.button--ghost {
    border-color: var(--line);
    background: rgba(255, 255, 255, 0.02);
}

.button--full {
    width: 100%;
}

.text-link {
    color: var(--accent);
    font-weight: 700;
}

.site-header {
    position: sticky;
    top: 0;
    z-index: 50;
    backdrop-filter: blur(18px);
    background: rgba(8, 10, 12, 0.84);
    border-bottom: 1px solid rgba(255, 255, 255, 0.05);
}

.site-header__inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    min-height: var(--header-height);
}

.brand {
    display: inline-flex;
    align-items: center;
    gap: 0.9rem;
}

.brand__mark {
    display: grid;
    place-items: center;
    width: 42px;
    height: 42px;
    border-radius: 14px;
    background: linear-gradient(135deg, var(--accent), var(--accent-strong));
    color: #120f09;
    font-weight: 800;
}

.brand__text {
    display: grid;
    gap: 0.1rem;
    line-height: 1;
}

.brand__text span {
    color: var(--muted);
    font-size: 0.88rem;
}

.menu-toggle {
    display: inline-flex;
    flex-direction: column;
    gap: 0.3rem;
    padding: 0.3rem;
    border: 0;
    background: transparent;
}

.menu-toggle span {
    display: block;
    width: 26px;
    height: 2px;
    background: var(--text);
}

.main-nav {
    position: absolute;
    top: calc(100% + 1px);
    left: 0;
    right: 0;
    display: none;
    flex-direction: column;
    padding: 1rem;
    background: rgba(10, 12, 15, 0.98);
    border-bottom: 1px solid rgba(255, 255, 255, 0.05);
}

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

.main-nav a {
    padding: 0.85rem 0;
    color: var(--muted);
}

.main-nav a[aria-current="page"] {
    color: var(--text);
}

.site-header__cta {
    display: none;
}

.header-phone {
    color: var(--muted);
    font-weight: 700;
}

.hero {
    padding-top: calc(4rem + var(--header-height));
}

.hero__grid,
.two-column,
.contact-layout {
    display: grid;
    gap: 2rem;
}

.hero__content {
    max-width: 640px;
}

.hero h1 {
    font-size: clamp(2.4rem, 7vw, 4.8rem);
}

.hero__lead {
    font-size: 1.06rem;
    max-width: 60ch;
}

.hero__actions {
    display: flex;
    flex-wrap: wrap;
    gap: 0.9rem;
    margin: 2rem 0 1.8rem;
}

.hero__badges {
    display: flex;
    flex-wrap: wrap;
    gap: 0.75rem;
    padding: 1.35rem 1.4rem;
    margin: 0;
    list-style: none;
}

.hero__badges li,
.info-note,
.premium-item,
.testimonial-card,
.trust-item,
.areas-card,
.gallery-card,
.faq-item,
.cta-box,
.contact-card,
.form-card,
.thanks-card,
.detail-block,
.process-step,
.service-card {
    border: 1px solid var(--line);
    background: linear-gradient(180deg, rgba(255, 255, 255, 0.035), rgba(255, 255, 255, 0.015));
    box-shadow: var(--shadow);
}

.hero__badges li {
    padding: 0.7rem 0.9rem;
    border-radius: 999px;
    color: var(--muted);
}

.hero-card {
    position: relative;
    overflow: hidden;
    min-height: 100%;
    border-radius: 32px;
    border: 1px solid rgba(200, 164, 93, 0.18);
    background:
        radial-gradient(circle at top, rgba(200, 164, 93, 0.22), transparent 32%),
        linear-gradient(180deg, #111418, #080a0c);
}

.hero-card img {
    width: 100%;
}

.hero-card__overlay {
    position: absolute;
    left: 1.25rem;
    right: 1.25rem;
    bottom: 1.25rem;
    padding: 1rem;
    border-radius: 18px;
    background: rgba(8, 10, 12, 0.72);
    border: 1px solid rgba(255, 255, 255, 0.08);
}

.hero-card__overlay span {
    display: block;
    color: var(--accent);
    font-size: 0.85rem;
    text-transform: uppercase;
    letter-spacing: 0.12em;
}

.trust-strip__grid,
.cards-grid,
.process-grid,
.gallery-grid,
.testimonials-grid {
    display: grid;
    gap: 1rem;
}

.trust-item,
.service-card,
.process-step,
.premium-item,
.testimonial-card,
.areas-card,
.gallery-card,
.faq-item,
.contact-card,
.form-card,
.thanks-card,
.detail-block,
.cta-box {
    border-radius: var(--radius);
    padding: 1.35rem;
}

.trust-item strong {
    display: block;
    margin-bottom: 0.5rem;
    font-size: 1.2rem;
}

.trust-item span {
    color: var(--muted);
}

.service-card__eyebrow {
    margin-bottom: 0.9rem;
    color: var(--accent);
    font-size: 0.82rem;
    letter-spacing: 0.14em;
    text-transform: uppercase;
}

.service-card h3,
.premium-item h3,
.process-step h3,
.areas-card h3,
.detail-block h2,
.contact-card h2,
.form-card h2 {
    margin-top: 0;
}

.service-card__footer {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    margin-top: 1.4rem;
}

.service-card__price,
.detail-price,
.premium-item span {
    color: var(--accent);
    font-weight: 700;
}

.pricing-table {
    overflow-x: auto;
}

table {
    width: 100%;
    border-collapse: collapse;
    min-width: 620px;
    background: rgba(255, 255, 255, 0.025);
    border: 1px solid var(--line);
    border-radius: var(--radius);
    overflow: hidden;
}

caption {
    padding: 0.9rem;
    color: var(--muted);
    text-align: left;
}

th,
td {
    padding: 1rem;
    border-bottom: 1px solid var(--line);
    text-align: left;
}

thead th {
    color: var(--text);
    background: rgba(200, 164, 93, 0.1);
}

.info-note {
    margin-top: 1.5rem;
    padding: 1rem 1.1rem;
    border-radius: 18px;
}

.premium-list,
.faq-list,
.details-list {
    display: grid;
    gap: 1rem;
}

.premium-item {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
}

.process-step span {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 48px;
    height: 48px;
    margin-bottom: 1rem;
    border-radius: 14px;
    background: rgba(200, 164, 93, 0.12);
    color: var(--accent);
    font-weight: 800;
}

.areas-list,
.footer-list,
.contact-points {
    padding: 0;
    margin: 1rem 0 0;
    list-style: none;
}

.areas-list,
.contact-points {
    display: grid;
    gap: 0.75rem;
}

.gallery-card {
    overflow: hidden;
}

.gallery-card img {
    border-radius: 18px;
}

.gallery-card figcaption {
    margin-top: 0.9rem;
    color: var(--muted);
}

.before-after {
    position: relative;
    overflow: hidden;
    padding: 1.7rem;
    border-radius: 34px;
    border: 1px solid rgba(255, 255, 255, 0.08);
    background:
        radial-gradient(circle at top right, rgba(215, 38, 47, 0.14), transparent 24%),
        linear-gradient(180deg, rgba(16, 17, 22, 0.96), rgba(10, 11, 14, 0.98));
    box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, 0.06),
        0 34px 70px rgba(0, 0, 0, 0.24);
}

.before-after__heading {
    max-width: 920px;
    margin-inline: auto;
    text-align: center;
}

.before-after__heading .eyebrow {
    color: #ff2f36;
    font-family: Impact, Haettenschweiler, "Arial Narrow Bold", sans-serif;
    font-size: 0.78rem;
    letter-spacing: 0.22em;
}

.before-after__heading h2 {
    font-family: Impact, Haettenschweiler, "Arial Narrow Bold", sans-serif;
    margin: 0;
    font-size: clamp(2.5rem, 5.6vw, 4.4rem);
    line-height: 0.92;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    color: #fff8ef;
    text-shadow: 0 5px 0 rgba(0, 0, 0, 0.18);
}

.before-after__heading h2::after {
    content: "";
    display: block;
    width: min(100%, 520px);
    height: 4px;
    margin: 0.95rem auto 0;
    border-radius: 999px;
    background: linear-gradient(90deg, rgba(243, 47, 56, 0.08), #f32f38, rgba(243, 47, 56, 0.08));
}

.before-after__heading p:last-child {
    max-width: 58ch;
    margin: 1rem auto 0;
    color: rgba(255, 248, 239, 0.8);
}

.before-after__viewport {
    position: relative;
    margin-top: 1.5rem;
}

.before-after__track {
    position: relative;
    min-height: 500px;
}

.before-after__slide {
    position: absolute;
    inset: 0;
    opacity: 0;
    transform: translateY(16px);
    pointer-events: none;
    transition: opacity 380ms ease, transform 380ms ease;
}

.before-after__slide.is-active {
    opacity: 1;
    transform: translateY(0);
    pointer-events: auto;
}

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

.before-after__panel {
    position: relative;
    overflow: hidden;
    border-radius: 28px;
    border: 1px solid rgba(255, 255, 255, 0.1);
    background: rgba(255, 255, 255, 0.03);
    box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, 0.06),
        0 22px 42px rgba(0, 0, 0, 0.22);
}

.before-after__panel img {
    display: block;
    width: 100%;
    height: 340px;
    object-fit: cover;
}

.before-after__label {
    position: absolute;
    top: 1rem;
    left: 1rem;
    z-index: 1;
    display: inline-flex;
    align-items: center;
    min-height: 38px;
    padding: 0.55rem 0.95rem;
    border-radius: 999px;
    background: rgba(8, 10, 14, 0.72);
    color: #fff8ef;
    font-family: Impact, Haettenschweiler, "Arial Narrow Bold", sans-serif;
    font-size: 0.9rem;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    backdrop-filter: blur(10px);
}

.before-after__label--after {
    background: linear-gradient(135deg, #d7262f, #ff6b4d);
}

.before-after__caption {
    margin-top: 0.95rem;
    text-align: center;
}

.before-after__caption strong {
    display: block;
    margin-bottom: 0.45rem;
    color: #fff8ef;
    font-family: Impact, Haettenschweiler, "Arial Narrow Bold", sans-serif;
    font-size: clamp(1.35rem, 2.2vw, 1.9rem);
    letter-spacing: 0.04em;
    text-transform: uppercase;
}

.before-after__caption span {
    display: block;
    max-width: 56ch;
    margin-inline: auto;
    color: rgba(255, 248, 239, 0.78);
    line-height: 1.55;
}

.before-after__dots {
    display: flex;
    justify-content: center;
    gap: 0.55rem;
    margin-top: 1.4rem;
}

.before-after__dots button {
    width: 10px;
    height: 10px;
    padding: 0;
    border: 0;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.22);
}

.before-after__dots button.is-active {
    background: #ff6b4d;
    transform: scale(1.15);
}

.products-rail {
    position: relative;
    overflow: hidden;
    padding: 1.8rem;
    border-radius: 30px;
    border: 1px solid rgba(255, 255, 255, 0.08);
    background:
        radial-gradient(circle at top left, rgba(215, 38, 47, 0.1), transparent 24%),
        linear-gradient(180deg, rgba(17, 18, 22, 0.94), rgba(10, 11, 14, 0.98));
    box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, 0.05),
        0 30px 64px rgba(0, 0, 0, 0.2);
}

.products-rail__heading {
    max-width: 900px;
    margin-inline: auto;
    text-align: center;
}

.products-rail__heading h2 {
    margin: 0;
    color: #fff8ef;
    font-family: Impact, Haettenschweiler, "Arial Narrow Bold", sans-serif;
    font-size: clamp(2.4rem, 5vw, 4.2rem);
    line-height: 0.94;
    letter-spacing: 0.04em;
    text-transform: uppercase;
}

.products-rail__heading h2::after {
    content: "";
    display: block;
    width: min(100%, 460px);
    height: 4px;
    margin: 0.95rem auto 0;
    border-radius: 999px;
    background: linear-gradient(90deg, rgba(243, 47, 56, 0.08), #f32f38, rgba(243, 47, 56, 0.08));
}

.products-rail__heading p:last-child {
    max-width: 58ch;
    margin: 1rem auto 0;
    color: rgba(255, 248, 239, 0.78);
}

.products-rail__viewport {
    margin-top: 1.6rem;
}

.products-rail__track {
    position: relative;
    min-height: 280px;
}

.products-rail__slide {
    position: absolute;
    inset: 0;
    display: grid;
    grid-template-columns: minmax(240px, 0.9fr) minmax(0, 1.1fr);
    gap: 1.2rem;
    align-items: center;
    opacity: 0;
    transform: translateY(14px);
    pointer-events: none;
    transition: opacity 360ms ease, transform 360ms ease;
}

.products-rail__slide.is-active {
    opacity: 1;
    transform: translateY(0);
    pointer-events: auto;
}

.products-rail__logo {
    display: grid;
    place-items: center;
    min-height: 220px;
    padding: 1.2rem;
    border-radius: 24px;
    background: rgba(255, 255, 255, 0.04);
    border: 1px solid rgba(255, 255, 255, 0.08);
}

.products-rail__logo img {
    max-width: 100%;
    max-height: 150px;
    width: auto;
    height: auto;
    object-fit: contain;
}

.products-rail__copy strong {
    display: block;
    margin-bottom: 0.5rem;
    color: #fff8ef;
    font-family: Impact, Haettenschweiler, "Arial Narrow Bold", sans-serif;
    font-size: clamp(1.6rem, 3vw, 2.3rem);
    letter-spacing: 0.04em;
    text-transform: uppercase;
}

.products-rail__copy span {
    display: block;
    max-width: 46ch;
    color: rgba(255, 248, 239, 0.8);
    line-height: 1.65;
}

.products-rail__dots {
    display: flex;
    justify-content: center;
    gap: 0.55rem;
    margin-top: 1rem;
}

.products-rail__dots button {
    width: 10px;
    height: 10px;
    padding: 0;
    border: 0;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.22);
}

.products-rail__dots button.is-active {
    background: #ff6b4d;
    transform: scale(1.15);
}

.testimonial-card__stars {
    color: var(--accent);
    letter-spacing: 0.1em;
}

.testimonial-card strong,
.testimonial-card span {
    display: block;
}

.testimonial-card span {
    color: var(--muted);
}

.faq-layout {
    display: grid;
    gap: 1.75rem;
}

.faq-heading {
    margin-bottom: 0;
}

.faq-question {
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    padding: 0.9rem 1rem 0.9rem 1.15rem;
    border: 0;
    color: var(--text);
    background: linear-gradient(180deg, rgba(255, 255, 255, 0.06), rgba(255, 255, 255, 0.02));
    text-align: left;
    font-weight: 700;
    border-radius: 22px;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.06), 0 18px 36px rgba(0, 0, 0, 0.18);
    transition: transform 220ms ease, background 220ms ease, box-shadow 220ms ease;
}

.faq-icon {
    flex: 0 0 auto;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 42px;
    height: 42px;
    border-radius: 999px;
    color: #fff;
    background: linear-gradient(135deg, #d7262f, #ff6b4d);
    font-size: 1.25rem;
    box-shadow: 0 12px 22px rgba(215, 38, 47, 0.24);
}

.faq-answer {
    max-height: 0;
    overflow: hidden;
    opacity: 0;
    transform: translateY(-6px);
    transition: max-height 0.35s ease, opacity 0.35s ease, transform 0.35s ease;
}

.faq-item.is-open .faq-answer {
    max-height: 260px;
    opacity: 1;
    transform: translateY(0);
}

.faq-item.is-open .faq-icon {
    transform: rotate(45deg);
}

.faq-list {
    display: grid;
    gap: 1rem;
    width: 100%;
    max-width: 860px;
}

.faq-item {
    padding: 0.35rem;
    border: 1px solid rgba(255, 255, 255, 0.16);
    border-radius: 26px;
    background:
        radial-gradient(circle at top right, rgba(215, 38, 47, 0.16), transparent 26%),
        linear-gradient(180deg, rgba(42, 35, 32, 0.74), rgba(21, 22, 28, 0.92));
    box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, 0.08),
        0 28px 56px rgba(0, 0, 0, 0.16);
}

.faq-answer p {
    margin: 0;
    padding: 0.15rem 1.15rem 1rem;
    color: rgba(255, 248, 239, 0.92);
    line-height: 1.6;
}

.faq-question:hover,
.faq-question:focus-visible {
    transform: translateY(-1px);
    background: linear-gradient(180deg, rgba(255, 255, 255, 0.1), rgba(255, 255, 255, 0.04));
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1), 0 22px 40px rgba(0, 0, 0, 0.18);
}

#faqs.section--panel {
    background:
        radial-gradient(circle at top left, rgba(255, 255, 255, 0.04), transparent 24%),
        linear-gradient(180deg, #141920 0%, #1a1d24 100%);
    padding: 3.4rem 0;
}

#galeria.section {
    padding: 3.4rem 0;
}

#faqs .section-heading p:last-child {
    color: rgba(243, 236, 224, 0.78);
    max-width: 34ch;
}

#faqs .faq-layout {
    justify-items: center;
}

#faqs .faq-heading {
    width: 100%;
    max-width: 860px;
}

.cta-section {
    padding-bottom: 6rem;
}

.cta-box {
    text-align: center;
    padding: 2rem;
}

.inner-hero,
.thanks-section {
    padding-top: calc(4rem + var(--header-height));
}

.inner-hero__content,
.thanks-card {
    max-width: 760px;
}

.contact-layout {
    align-items: start;
}

.contact-note {
    margin-top: 1.5rem;
    padding-top: 1.5rem;
    border-top: 1px solid var(--line);
}

.contact-form {
    display: grid;
    gap: 1rem;
}

.form-row {
    display: grid;
    gap: 0.45rem;
}

.form-row label {
    font-weight: 700;
}

.form-row input,
.form-row select,
.form-row textarea {
    width: 100%;
    padding: 0.95rem 1rem;
    border-radius: 16px;
    border: 1px solid rgba(255, 255, 255, 0.11);
    background: rgba(255, 255, 255, 0.03);
    color: var(--text);
}

.form-error {
    color: #f7aa98;
}

.site-footer {
    padding: 3rem 0 8rem;
    border-top: 1px solid rgba(255, 255, 255, 0.05);
    background: rgba(8, 10, 12, 0.96);
}

.footer-grid {
    display: grid;
    gap: 1.5rem;
}

.footer-grid h2 {
    margin-top: 0;
    font-size: 1rem;
}

.footer-grid p,
.footer-list a,
.footer-bottom p,
.footer-bottom a {
    color: var(--muted);
}

.footer-bottom {
    display: flex;
    flex-direction: column;
    gap: 0.8rem;
    margin-top: 2rem;
    padding-top: 1.5rem;
    border-top: 1px solid var(--line);
}

.footer-bottom__links {
    display: flex;
    flex-wrap: wrap;
    gap: 1rem;
}

.sticky-wa,
.sticky-call {
    position: fixed;
    bottom: 1rem;
    z-index: 45;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 132px;
    min-height: 52px;
    padding: 0 1rem;
    border-radius: 999px;
    box-shadow: var(--shadow);
    font-weight: 700;
}

.sticky-wa {
    left: 1rem;
    background: linear-gradient(135deg, #22c55e, #118a41);
    color: #08130b;
}

.sticky-call {
    right: 1rem;
    background: rgba(255, 255, 255, 0.07);
    border: 1px solid var(--line);
}

.reveal {
    opacity: 0;
    transform: translateY(16px);
    transition: opacity 0.6s ease, transform 0.6s ease;
}

.reveal.is-visible {
    opacity: 1;
    /* transform: translateY(0); */
}

@media (min-width: 720px) {
    .cards-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

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

    .gallery-grid,
    .testimonials-grid,
    .trust-strip__grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

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

@media (min-width: 980px) {
    .menu-toggle {
        display: none;
    }

    .main-nav {
        position: static;
        display: flex;
        flex-direction: row;
        align-items: center;
        gap: 1.25rem;
        padding: 0;
        background: transparent;
        border: 0;
    }

    .main-nav a {
        padding: 0;
    }

    .site-header__cta {
        display: flex;
        align-items: center;
        gap: 1rem;
    }

    .hero__grid,
    .two-column,
    .contact-layout {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        align-items: center;
    }

    .two-column--balanced {
        align-items: start;
    }

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

    .trust-strip__grid {
        grid-template-columns: repeat(4, minmax(0, 1fr));
    }

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

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

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

    #faqs .faq-layout {
        gap: 2rem;
    }

    .footer-grid {
        grid-template-columns: 1.4fr 1fr 1fr 1fr;
    }

    .footer-bottom {
        flex-direction: row;
        align-items: center;
        justify-content: space-between;
    }
}

@media (prefers-reduced-motion: reduce) {
    html {
        scroll-behavior: auto;
    }

    *,
    *::before,
    *::after {
        animation: none !important;
        transition: none !important;
    }

    .reveal {
        opacity: 1;
        transform: none;
    }
}

/* Top redesign inspired by the user's visual reference */
:root {
    --bg: #0d0d10;
    --bg-soft: #17181c;
    --surface: #1d1e23;
    --surface-strong: #24252b;
    --text: #f7f7f4;
    --muted: #c0c0c0;
    --accent: #ef2b1f;
    --accent-strong: #ff4b35;
    --technical: #1a1f29;
}

body {
    font-family: Arial, Helvetica, sans-serif;
    background:
        radial-gradient(circle at top right, rgba(239, 43, 31, 0.12), transparent 20%),
        linear-gradient(180deg, #111214 0%, #0d0d10 35%, #111214 100%);
}

.site-header {
    background: var(--accent);
    border-bottom: 0;
    backdrop-filter: none;
}

.site-header__inner {
    min-height: 70px;
}

.brand {
    gap: 0;
}

.brand__mark {
    display: none;
}

.brand__text {
    display: grid;
    line-height: 1;
    text-transform: uppercase;
}

.brand__text strong,
.hero__pretitle,
.service-pills__title,
.hero-categories__heading h2,
.hero-category h3,
.main-nav a,
.button,
.trust-item strong {
    font-family: Impact, Haettenschweiler, "Arial Narrow Bold", sans-serif;
}

.brand__text strong {
    font-size: 1.05rem;
    letter-spacing: 0.06em;
}

.brand__text span {
    color: rgba(255, 255, 255, 0.82);
    font-size: 0.72rem;
    letter-spacing: 0.12em;
}

.menu-toggle span {
    background: #fff;
}

.main-nav {
    background: #16171a;
    border-bottom: 4px solid var(--accent);
}

.main-nav a {
    color: #fff;
    font-weight: 800;
    letter-spacing: 0.04em;
    text-transform: uppercase;
}

.header-phone {
    color: #fff;
    font-weight: 800;
}

.button--primary {
    color: #fff;
    background: linear-gradient(135deg, var(--accent), var(--accent-strong));
}

.button--header {
    background: #111;
    box-shadow: none;
}

.button--hero-alt {
    border: 3px solid #fff;
    background: #fff;
    color: #111;
    font-weight: 800;
    text-transform: uppercase;
}

.hero {
    position: relative;
    padding: calc(4rem + var(--header-height)) 0 8rem;
    background:
        linear-gradient(rgba(10, 10, 12, 0.78), rgba(10, 10, 12, 0.78)),
        radial-gradient(circle at center, rgba(255, 255, 255, 0.06), transparent 24%),
        linear-gradient(135deg, rgba(255, 255, 255, 0.03) 25%, transparent 25%) -20px 0/40px 40px,
        linear-gradient(225deg, rgba(255, 255, 255, 0.02) 25%, transparent 25%) -20px 0/40px 40px,
        linear-gradient(315deg, rgba(255, 255, 255, 0.03) 25%, transparent 25%) 0 0/40px 40px,
        linear-gradient(45deg, rgba(255, 255, 255, 0.02) 25%, transparent 25%) 0 0/40px 40px,
        #111;
    overflow: hidden;
}

.hero::after {
    content: none;
}

.hero__center {
    position: relative;
    z-index: 1;
    max-width: 820px;
    margin: 0 auto;
    text-align: center;
}

.hero h1 {
    font-size: clamp(2.7rem, 7vw, 5rem);
    font-weight: 900;
    text-transform: uppercase;
    letter-spacing: -0.04em;
}

.hero__pretitle {
    margin: 0 0 1rem;
    font-size: clamp(1.1rem, 2.5vw, 1.6rem);
    letter-spacing: 0.14em;
    text-transform: uppercase;
}

.hero__pretitle span {
    color: var(--accent);
}

.hero__lead {
    max-width: 54ch;
    margin: 0 auto;
    font-size: 1.08rem;
}

.hero__crest {
    position: relative;
    width: 190px;
    height: 190px;
    margin: 2rem auto 1.35rem;
}

.hero__crest-ring {
    position: absolute;
    inset: 0;
    border: 5px solid var(--accent);
    border-radius: 50%;
    box-shadow: 0 0 0 8px rgba(255, 255, 255, 0.06) inset;
}

.hero__crest-text {
    position: absolute;
    inset: 0;
    display: grid;
    place-items: center;
    font-family: Impact, Haettenschweiler, "Arial Narrow Bold", sans-serif;
    font-size: 4.2rem;
    font-weight: 900;
    letter-spacing: 0.06em;
    color: #fff;
}

.hero__subline {
    margin: 0;
    color: #d5d5d5;
    font-family: Impact, Haettenschweiler, "Arial Narrow Bold", sans-serif;
    font-size: 1.1rem;
    letter-spacing: 0.04em;
    text-transform: uppercase;
}

.hero__actions {
    justify-content: center;
}

.hero__cta-main {
    min-width: 280px;
}

.hero-review {
    display: inline-flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    gap: 0.65rem;
    margin-top: 1.8rem;
    padding: 1rem 1.25rem;
    border-radius: 18px;
    background: rgba(26, 26, 29, 0.92);
    border: 1px solid rgba(255, 255, 255, 0.06);
}

.hero-review__brand {
    color: #fff;
    font-weight: 700;
}

.hero-review__stars {
    color: #ffc629;
    letter-spacing: 0.14em;
}

.hero-review__text {
    color: #fff;
    font-family: Impact, Haettenschweiler, "Arial Narrow Bold", sans-serif;
    font-size: 1rem;
    letter-spacing: 0.03em;
}

.service-pills {
    position: relative;
    z-index: 2;
    background: linear-gradient(180deg, #f4f1ea, #ebe5db);
    color: #111722;
    padding: 3.2rem 0 3.8rem;
    border-top: 1px solid rgba(17, 23, 34, 0.06);
    border-bottom: 1px solid rgba(17, 23, 34, 0.08);
}

.service-pills__inner {
    text-align: center;
}

.service-pills__title {
    margin: 0 0 0.9rem;
    font-size: clamp(2rem, 4vw, 3.1rem);
    text-transform: uppercase;
    letter-spacing: 0.05em;
    color: #d7262f;
    text-align: center;
}

.service-pills__grid {
    display: inline-grid;
    gap: 1rem;
    width: fit-content;
    max-width: 100%;
    margin-inline: auto;
    justify-items: center;
    justify-content: center;
}

.service-pill {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    max-width: 290px;
    min-height: 64px;
    padding: 0.95rem 1.8rem;
    border-radius: 999px;
    background: #0f1b2d;
    color: #fff8ef;
    border: 1px solid rgba(15, 27, 45, 0.16);
    box-shadow: 0 16px 28px rgba(15, 27, 45, 0.12);
    font-family: Impact, Haettenschweiler, "Arial Narrow Bold", sans-serif;
    font-size: 1.05rem;
    letter-spacing: 0.03em;
    text-transform: uppercase;
}

.service-pills__title::after {
    content: "";
    display: block;
    width: min(100%, 120px);
    height: 4px;
    margin: 0.85rem auto 0;
    border-radius: 999px;
    background: linear-gradient(90deg, #d7262f, #ff6b4d);
}

.service-pill:hover,
.service-pill:focus-visible {
    transform: translateY(-2px);
    background: #d7262f;
    box-shadow: 0 18px 30px rgba(215, 38, 47, 0.2);
}

.hero-categories {
    position: relative;
    background:
        linear-gradient(rgba(20, 21, 25, 0.84), rgba(20, 21, 25, 0.84)),
        linear-gradient(135deg, rgba(255, 255, 255, 0.04) 25%, transparent 25%) -20px 0/48px 48px,
        linear-gradient(225deg, rgba(255, 255, 255, 0.03) 25%, transparent 25%) -20px 0/48px 48px,
        #16171b;
    padding: 2.75rem 0 3.1rem;
    overflow: hidden;
}

.hero-categories::before,
.hero-categories::after {
    content: none;
}

.hero-categories__panel {
    position: relative;
    z-index: 1;
    padding: 1.1rem 0;
}

.hero-categories__heading {
    text-align: center;
    margin-bottom: 1.45rem;
}

.hero-categories__heading h2 {
    margin: 0;
    font-size: clamp(2.8rem, 7vw, 4.6rem);
    text-transform: uppercase;
}

.hero-categories__grid {
    display: grid;
    gap: 1.25rem;
}

.hero-category {
    padding: 1.5rem 1.1rem;
    text-align: center;
    border: 2px solid rgba(255, 255, 255, 0.08);
    border-radius: 28px;
    background: rgba(12, 12, 15, 0.46);
}

.hero-category__icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 74px;
    height: 74px;
    margin-bottom: 1rem;
    border-radius: 50%;
    border: 3px solid var(--accent);
    color: #fff;
    font-family: Impact, Haettenschweiler, "Arial Narrow Bold", sans-serif;
    font-size: 1.5rem;
}

.hero-category h3 {
    margin: 0 0 0.75rem;
    font-size: 2.3rem;
    text-transform: uppercase;
    letter-spacing: 0.04em;
}

.hero-category p {
    max-width: 28ch;
    margin: 0 auto 1.25rem;
    color: #d2d2d2;
}

@media (min-width: 720px) {
    .service-pills__grid {
        grid-template-columns: repeat(3, minmax(250px, 290px));
    }

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

@media (min-width: 980px) {
    .main-nav {
        background: transparent;
        border: 0;
    }

    .service-pills__grid {
        grid-template-columns: repeat(4, minmax(0, 1fr));
    }
}

.brand {
    gap: 0.9rem;
}

.brand__logo {
    width: 66px;
    height: 66px;
    object-fit: contain;
    filter: drop-shadow(0 4px 10px rgba(0, 0, 0, 0.35));
}

.site-header__inner {
    min-height: 84px;
}

.brand__text strong {
    font-size: 1.18rem;
}

.brand__text span {
    font-size: 0.8rem;
}

.hero {
    padding-top: calc(5rem + var(--header-height));
}

.hero__logo {
    width: clamp(180px, 20vw, 260px);
    margin: 0 auto 1rem;
    object-fit: contain;
    filter: drop-shadow(0 12px 32px rgba(0, 0, 0, 0.45));
    
}

.hero__crest {
    display: none;
}

.hero h1 {
    max-width: 10ch;
    margin-inline: auto;
    font-size: clamp(3.6rem, 9vw, 7.3rem);
    line-height: 0.95;
    letter-spacing: -0.05em;
}

.hero__pretitle {
    margin-bottom: 0.8rem;
    font-size: clamp(1.25rem, 2.7vw, 1.8rem);
}

.hero__lead {
    max-width: 48ch;
    margin-top: 0.5rem;
    font-size: 1.22rem;
}

.hero__subline {
    margin-top: 1rem;
    font-size: 1.28rem;
}

.sticky-wa,
.sticky-call {
    gap: 0.7rem;
}

.sticky-wa svg,
.sticky-call svg,
.sticky-cookies svg {
    width: 22px;
    height: 22px;
    flex: 0 0 auto;
}

.sticky-cookies {
    position: fixed;
    left: 1rem;
    bottom: 5.4rem;
    z-index: 45;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 52px;
    height: 52px;
    border: 0;
    border-radius: 50%;
    background: linear-gradient(135deg, #f0b342, #d9921f);
    color: #17181c;
    box-shadow: var(--shadow);
}

@media (min-width: 980px) {
    .brand__logo {
        width: 82px;
        height: 82px;
    }
}

/* Header and hero refinement with gold branding and work slider */
:root {
    --gold: #c8a45d;
    --gold-strong: #e2be73;
    --gold-soft: rgba(200, 164, 93, 0.18);
}

.site-header {
    background: linear-gradient(180deg, #ff2c1d 0%, #f02817 100%);
}

.site-header__inner {
    gap: 1.5rem;
    min-height: 96px;
}

.brand {
    flex: 0 0 auto;
    align-items: center;
    gap: 1rem;
}

.brand__logo {
    width: 92px;
    height: 92px;
    border-radius: 20px;
    object-fit: contain;
    background: transparent;
    filter: drop-shadow(0 10px 16px rgba(0, 0, 0, 0.28));
}

.brand__text {
    gap: 0.2rem;
}

.brand__text strong {
    color: #fff;
    font-size: 1.9rem;
    line-height: 0.9;
}

.brand__text span {
    color: #ffe4ba;
    font-size: 0.98rem;
    letter-spacing: 0.18em;
}

.main-nav {
    background: rgba(16, 17, 20, 0.98);
}

.main-nav a {
    font-size: 1.2rem;
}

.site-header__cta {
    display: flex;
    align-items: center;
    gap: 0.85rem;
    margin-left: auto;
}

.header-phone {
    color: #fff2d5;
    font-family: Impact, Haettenschweiler, "Arial Narrow Bold", sans-serif;
    font-size: 1.25rem;
    letter-spacing: 0.05em;
    white-space: nowrap;
}

.header-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 52px;
    height: 52px;
    border-radius: 50%;
    border: 1px solid rgba(255, 255, 255, 0.14);
    transition: transform 0.2s ease, background 0.2s ease, color 0.2s ease;
}

.header-icon:hover {
    transform: translateY(-1px);
}

.header-icon svg {
    width: 24px;
    height: 24px;
}

.header-icon--call {
    background: rgba(17, 17, 17, 0.88);
    color: #fff;
}

.header-icon--wa {
    background: linear-gradient(135deg, var(--gold), var(--gold-strong));
    color: #121212;
}

.hero {
    min-height: min(980px, 100vh);
    padding: calc(7rem + var(--header-height)) 0 7rem;
    display: flex;
    align-items: center;
    background: #0c0d10;
}

.hero-slider,
.hero-overlay {
    position: absolute;
    inset: 0;
}

.hero-slider {
    overflow: hidden;
}

.hero-slide {
    position: absolute;
    inset: 0;
    opacity: 0;
    transition: opacity 2.4s ease;
}

.hero-slide.is-active {
    opacity: 1;
}

.hero-slide img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transform: scale(1.08);
    animation: heroSlowZoom 14s linear infinite;
    filter: saturate(0.92) contrast(1.02);
}

.hero-overlay {
    background:
        linear-gradient(180deg, rgba(9, 10, 12, 0.7) 0%, rgba(9, 10, 12, 0.82) 48%, rgba(9, 10, 12, 0.9) 100%),
        radial-gradient(circle at center, rgba(200, 164, 93, 0.08), transparent 32%);
    z-index: 0;
}

.hero::after {
    display: none;
}

.hero__center {
    position: relative;
    z-index: 1;
    max-width: 980px;
}

.hero__pretitle {
    color: #fff;
    text-shadow: 0 8px 30px rgba(0, 0, 0, 0.45);
}

.hero__pretitle span {
    color: var(--gold-strong);
}

.hero__logo {
    width: clamp(220px, 22vw, 320px);
    margin-bottom: 1.4rem;
    filter: drop-shadow(0 16px 36px rgba(0, 0, 0, 0.52));
}

.hero h1 {
    max-width: 8.2ch;
    color: #f6f2ea;
    text-shadow: 0 10px 40px rgba(0, 0, 0, 0.42);
}

.hero__lead {
    max-width: 44ch;
    color: #e3ddd4;
    text-shadow: 0 6px 20px rgba(0, 0, 0, 0.4);
}

.hero__subline {
    color: var(--gold-strong);
    text-shadow: 0 6px 20px rgba(0, 0, 0, 0.4);
}

.hero__actions {
    margin-top: 2rem;
}

.hero__cta-main {
    border: 1px solid rgba(255, 255, 255, 0.12);
    background: linear-gradient(135deg, #161616, #0f0f10);
    color: #fff;
    box-shadow: 0 24px 45px rgba(0, 0, 0, 0.24);
}

.button--hero-alt {
    border-color: var(--gold);
    background: linear-gradient(135deg, var(--gold), var(--gold-strong));
    color: #111;
}

.hero-review {
    margin-top: 2rem;
    border: 1px solid rgba(200, 164, 93, 0.18);
    background: rgba(10, 10, 12, 0.7);
    box-shadow: 0 18px 36px rgba(0, 0, 0, 0.22);
}

.hero-review__brand {
    color: #fff3d5;
}

.hero-review__stars {
    color: var(--gold-strong);
}

.sticky-wa {
    left: 1.2rem;
    bottom: 1.2rem;
    width: 64px;
    min-width: 64px;
    height: 64px;
    min-height: 64px;
    padding: 0;
    border-radius: 50%;
    background: linear-gradient(135deg, #22c55e, #118a41);
    color: #08130b;
}

.sticky-wa span {
    display: none;
}

.sticky-wa svg {
    width: 30px;
    height: 30px;
}

.sticky-call {
    display: none;
}

.sticky-cookies {
    left: 1.2rem;
    bottom: 6.2rem;
    width: 56px;
    height: 56px;
    background: linear-gradient(135deg, var(--gold), var(--gold-strong));
    color: #17181c;
}

.cookie-banner {
    position: fixed;
    right: 1rem;
    bottom: 1rem;
    z-index: 60;
    width: min(460px, calc(100% - 2rem));
    padding: 1rem;
    border: 1px solid rgba(200, 164, 93, 0.25);
    border-radius: 22px;
    background: rgba(13, 14, 17, 0.96);
    box-shadow: 0 28px 60px rgba(0, 0, 0, 0.4);
}

.cookie-banner[hidden] {
    display: none;
}

.cookie-banner__content strong {
    display: block;
    margin-bottom: 0.35rem;
    color: var(--gold-strong);
    font-family: Impact, Haettenschweiler, "Arial Narrow Bold", sans-serif;
    font-size: 1.25rem;
    letter-spacing: 0.05em;
    text-transform: uppercase;
}

.cookie-banner__content p {
    margin: 0;
    color: #d6d2ca;
}

.cookie-banner__actions {
    display: flex;
    gap: 0.75rem;
    margin-top: 1rem;
}

.cookie-banner__button {
    min-height: 46px;
    padding: 0.7rem 1.05rem;
    border-radius: 999px;
    border: 1px solid transparent;
    font-weight: 700;
}

.cookie-banner__button--ghost {
    border-color: rgba(255, 255, 255, 0.16);
    background: transparent;
    color: #fff;
}

.cookie-banner__button--primary {
    background: linear-gradient(135deg, var(--gold), var(--gold-strong));
    color: #111;
}

@keyframes heroSlowZoom {
    from {
        transform: scale(1.08);
    }

    to {
        transform: scale(1.16);
    }
}

@media (max-width: 979px) {
    .site-header__inner {
        min-height: 82px;
    }

    .brand__logo {
        width: 74px;
        height: 74px;
    }

    .brand__text strong {
        font-size: 1.4rem;
    }

    .brand__text span {
        font-size: 0.78rem;
        letter-spacing: 0.14em;
    }

    .site-header__cta {
        gap: 0.55rem;
    }

    .header-phone {
        display: none;
    }

    .hero {
        min-height: 820px;
        padding-top: calc(6rem + var(--header-height));
    }

    .hero__logo {
        width: clamp(180px, 40vw, 250px);
    }
}

@media (max-width: 719px) {
    .site-header__inner {
        flex-wrap: wrap;
        align-items: center;
        min-height: auto;
        padding: 0.8rem 0;
    }

    .brand {
        max-width: calc(100% - 70px);
    }

    .brand__logo {
        width: 62px;
        height: 62px;
    }

    .brand__text strong {
        font-size: 1.1rem;
    }

    .brand__text span {
        font-size: 0.7rem;
        letter-spacing: 0.08em;
    }

    .site-header__cta {
        order: 3;
        width: 100%;
        justify-content: flex-end;
    }

    .header-icon {
        width: 46px;
        height: 46px;
    }

    .hero {
        min-height: 760px;
        padding-top: 8rem;
    }

    .hero h1 {
        font-size: clamp(3rem, 15vw, 4.9rem);
    }

    .hero__lead {
        font-size: 1.02rem;
    }

    .hero__subline {
        font-size: 1.02rem;
    }

    .cookie-banner {
        left: 1rem;
        right: 1rem;
        width: auto;
    }

    .cookie-banner__actions {
        flex-direction: column;
    }
}

/* Premium refinement pass */
.site-header {
    background:
        linear-gradient(180deg, rgba(19, 12, 12, 0.94), rgba(19, 12, 12, 0.94)),
        linear-gradient(90deg, rgba(148, 29, 22, 0.34), rgba(200, 164, 93, 0.1));
    border-bottom: 1px solid rgba(200, 164, 93, 0.22);
}

.site-header::after {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    height: 2px;
    background: linear-gradient(90deg, transparent, rgba(200, 164, 93, 0.75), transparent);
}

.site-header__inner {
    display: grid;
    grid-template-columns: minmax(280px, 1fr) auto minmax(280px, 1fr);
    align-items: center;
    gap: 1.25rem;
    min-height: 82px;
}

.brand {
    justify-self: start;
    gap: 0.85rem;
}

.brand__logo {
    width: 74px;
    height: 74px;
    border-radius: 16px;
    filter: drop-shadow(0 8px 16px rgba(0, 0, 0, 0.22));
}

.brand__text strong {
    font-size: 1.45rem;
    color: #f8f3ea;
}

.brand__text span {
    color: #d6bf8e;
    font-size: 0.78rem;
    letter-spacing: 0.16em;
}

.main-nav {
    position: static;
    display: flex;
    justify-self: center;
    align-items: center;
    gap: 2rem;
    padding: 0;
    background: transparent;
    border: 0;
}

.main-nav a {
    position: relative;
    padding: 0.2rem 0;
    color: #f5efe4;
    font-size: 1rem;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.main-nav a::after {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    bottom: -0.2rem;
    height: 1px;
    background: linear-gradient(90deg, transparent, var(--gold-strong), transparent);
    transform: scaleX(0);
    transform-origin: center;
    transition: transform 0.22s ease;
}

.main-nav a:hover::after,
.main-nav a[aria-current="page"]::after {
    transform: scaleX(1);
}

.site-header__cta {
    justify-self: end;
    gap: 0.7rem;
}

.header-phone {
    color: #f3ebd8;
    font-size: 1.05rem;
    letter-spacing: 0.04em;
}

.header-icon {
    width: 46px;
    height: 46px;
    border: 1px solid rgba(200, 164, 93, 0.3);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.04);
}

.header-icon svg {
    width: 20px;
    height: 20px;
}

.header-icon--call {
    background: rgba(15, 15, 16, 0.96);
    color: var(--gold-strong);
}

.header-icon--wa {
    background: linear-gradient(135deg, #1f7a45, #24c269);
    color: #f7fff9;
    border-color: rgba(255, 255, 255, 0.14);
}

.hero {
    min-height: 88vh;
    padding: calc(5.2rem + var(--header-height)) 0 4.5rem;
}

.hero-overlay {
    background:
        linear-gradient(180deg, rgba(8, 8, 10, 0.66) 0%, rgba(8, 8, 10, 0.78) 45%, rgba(8, 8, 10, 0.9) 100%),
        radial-gradient(circle at center, rgba(200, 164, 93, 0.05), transparent 34%);
}

.hero__center {
    max-width: 860px;
}

.hero__pretitle {
    font-size: clamp(1rem, 1.9vw, 1.35rem);
    letter-spacing: 0.18em;
}

.hero__logo {
    width: clamp(170px, 16vw, 220px);
    margin-bottom: 0.9rem;
    
}

.hero h1 {
    max-width: 9ch;
    font-size: clamp(2.9rem, 6vw, 5.1rem);
    line-height: 0.98;
    letter-spacing: -0.045em;
}

.hero__lead {
    max-width: 46ch;
    font-size: 1.02rem;
    color: #ddd6ca;
}

.hero__subline {
    margin-top: 0.8rem;
    font-size: 0.92rem;
    letter-spacing: 0.12em;
}

.hero__actions {
    gap: 0.85rem;
    margin-top: 1.5rem;
}

.hero__cta-main,
.button--hero-alt {
    min-height: 46px;
    padding: 0.7rem 1rem;
    font-size: 0.88rem;
    letter-spacing: 0.05em;
}

.hero-review {
    margin-top: 1.4rem;
    padding: 0.8rem 1rem;
    border-radius: 14px;
}

.hero-review__text {
    font-size: 0.82rem;
}

.sticky-wa {
    width: 58px;
    min-width: 58px;
    height: 58px;
    min-height: 58px;
    border: 1px solid rgba(255, 255, 255, 0.16);
    box-shadow: 0 18px 40px rgba(0, 0, 0, 0.28);
}

.sticky-wa svg {
    width: 26px;
    height: 26px;
}

.sticky-cookies {
    width: 50px;
    height: 50px;
    border: 1px solid rgba(255, 255, 255, 0.08);
    box-shadow: 0 18px 40px rgba(0, 0, 0, 0.22);
}

.sticky-cookies svg {
    width: 20px;
    height: 20px;
}

.cookie-banner {
    position: fixed;
    top: 1.1rem;
    left: 50%;
    transform: translateX(-50%);
    z-index: 70;
    width: min(1160px, calc(100% - 2rem));
}

.cookie-banner__panel {
    padding: 1.25rem 1.4rem;
    border: 1px solid #cfe0fb;
    border-top: 4px solid #2c66be;
    border-radius: 20px;
    background: rgba(255, 255, 255, 0.98);
    box-shadow: 0 18px 50px rgba(23, 41, 69, 0.22);
}

.cookie-banner__header {
    display: grid;
    grid-template-columns: auto 1fr auto;
    align-items: start;
    gap: 1rem;
}

.cookie-banner__badge {
    display: grid;
    place-items: center;
    width: 48px;
    height: 48px;
    border-radius: 50%;
    background: #eef4ff;
    font-size: 1.4rem;
}

.cookie-banner__intro strong {
    display: block;
    margin-bottom: 0.15rem;
    color: #1f4274;
    font-family: "Segoe UI", Arial, sans-serif;
    font-size: 1.08rem;
    font-weight: 800;
    text-transform: none;
    letter-spacing: 0;
}

.cookie-banner__intro p,
.cookie-banner__body p {
    margin: 0;
    color: #47688f;
    font-size: 0.98rem;
    line-height: 1.55;
}

.cookie-banner__close {
    width: 38px;
    height: 38px;
    border: 0;
    border-radius: 50%;
    background: #eef4ff;
    color: #4c6d95;
    font-size: 1.5rem;
    line-height: 1;
}

.cookie-banner__body {
    padding: 0.9rem 0 0 4rem;
}

.cookie-banner__link {
    display: inline-block;
    margin-top: 0.75rem;
    color: #1f5cb8;
    font-weight: 700;
    text-decoration: underline;
}

.cookie-banner__actions {
    display: flex;
    justify-content: flex-end;
    gap: 0.9rem;
    margin-top: 1rem;
}

.cookie-banner__button {
    min-width: 160px;
    min-height: 52px;
    border-radius: 999px;
    font-size: 0.98rem;
    font-weight: 800;
}

.cookie-banner__button--primary {
    background: linear-gradient(180deg, #2469c8, #174d99);
    color: #fff;
}

.cookie-banner__button--ghost {
    border: 1px solid #b7cdf4;
    background: #fff;
    color: #1f5cb8;
}

@media (max-width: 1100px) {
    .site-header__inner {
        grid-template-columns: minmax(240px, 1fr) auto auto;
        gap: 1rem;
    }

    .header-phone {
        display: none;
    }
}

@media (max-width: 979px) {
    .site-header__inner {
        display: flex;
        align-items: center;
        justify-content: space-between;
        min-height: 78px;
    }

    .menu-toggle {
        order: 3;
    }

    .main-nav {
        position: absolute;
        top: calc(100% + 1px);
        left: 0;
        right: 0;
        display: none;
        flex-direction: column;
        gap: 0.4rem;
        padding: 1rem 1.2rem;
        background: rgba(12, 12, 14, 0.98);
        border-bottom: 1px solid rgba(200, 164, 93, 0.18);
    }

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

    .site-header__cta {
        margin-left: 0;
    }

    .hero {
        min-height: 78vh;
        padding-top: calc(4.5rem + var(--header-height));
    }
}

@media (max-width: 719px) {
    .brand {
        max-width: calc(100% - 120px);
    }

    .brand__logo {
        width: 56px;
        height: 56px;
    }

    .brand__text strong {
        font-size: 1rem;
    }

    .brand__text span {
        font-size: 0.64rem;
        letter-spacing: 0.1em;
    }

    .site-header__cta {
        width: auto;
    }

    .header-icon {
        width: 42px;
        height: 42px;
    }

    .hero {
        min-height: 72vh;
        padding-bottom: 3rem;
    }

    .hero__logo {
        width: 140px;
    }

    .hero h1 {
        font-size: clamp(2.5rem, 12vw, 4rem);
    }

    .hero__lead {
        font-size: 0.92rem;
    }

    .hero__actions {
        justify-content: center;
    }

    .cookie-banner {
        top: 0.75rem;
        width: calc(100% - 1rem);
    }

    .cookie-banner__panel {
        padding: 1rem;
    }

    .cookie-banner__header {
        grid-template-columns: auto 1fr;
    }

    .cookie-banner__close {
        position: absolute;
        top: 0.9rem;
        right: 0.9rem;
    }

    .cookie-banner__body {
        padding: 0.9rem 0 0;
    }

    .cookie-banner__actions {
        justify-content: stretch;
        flex-direction: column;
    }

    .cookie-banner__button {
        width: 100%;
    }
}

/* Final premium tuning */
.site-header__inner {
    grid-template-columns: minmax(320px, 1fr) auto minmax(320px, 1fr);
    min-height: 88px;
}

.brand {
    transform: translateY(-2px);
}

.brand__logo {
    width: 80px;
    height: 80px;
}

.brand__text strong {
    font-size: 1.52rem;
}

.brand__text span {
    font-size: 0.8rem;
}

.main-nav a {
    font-size: 1.02rem;
}

.header-phone {
    font-size: 1.02rem;
}

.header-icon {
    width: 48px;
    height: 48px;
    border-radius: 50%;
}

.header-icon--call {
    background: linear-gradient(180deg, rgba(20, 17, 15, 0.96), rgba(12, 11, 10, 0.96));
    color: #dfbf78;
    border: 1px solid rgba(223, 191, 120, 0.28);
}

.header-icon--wa {
    background: linear-gradient(135deg, #25d366, #1fb957);
    color: #fff;
    border: 0;
    box-shadow: 0 10px 22px rgba(37, 211, 102, 0.22);
}

.hero__center {
    max-width: 900px;
    /* transform: translateY(-28px); */
}

.hero__logo {
    width: clamp(190px, 18vw, 240px);
    margin-bottom: 1rem;
    
}

.hero h1 {
    max-width: 8.6ch;
    font-size: clamp(3.2rem, 6.8vw, 5.7rem);
}

.hero__lead {
    max-width: 48ch;
    font-size: 1.04rem;
}

.hero__subline {
    font-size: 0.98rem;
}

.hero-nap {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 0.75rem 1.25rem;
    margin-top: 1rem;
    color: #d5c9af;
    font-size: 0.84rem;
    letter-spacing: 0.05em;
    text-transform: uppercase;
}

.hero-nap span {
    position: relative;
}

.hero-nap span:not(:last-child)::after {
    content: "";
    position: absolute;
    right: -0.7rem;
    top: 50%;
    width: 4px;
    height: 4px;
    border-radius: 50%;
    background: rgba(200, 164, 93, 0.7);
    transform: translateY(-50%);
}

.sticky-wa {
    left: 1rem;
    bottom: 1rem;
    width: 62px;
    min-width: 62px;
    height: 62px;
    min-height: 62px;
    background: linear-gradient(135deg, #25d366, #1fb957);
    border: 0;
    box-shadow: 0 20px 40px rgba(37, 211, 102, 0.25);
}

@media (max-width: 1100px) {
    .site-header__inner {
        grid-template-columns: minmax(260px, 1fr) auto auto;
    }
}

@media (max-width: 979px) {
    .site-header__inner {
        min-height: 80px;
    }

    .brand__logo {
        width: 64px;
        height: 64px;
    }

    .brand__text strong {
        font-size: 1.16rem;
    }

    .brand__text span {
        font-size: 0.68rem;
    }

    .hero__center {
        /* transform: translateY(-16px); */
    }

    .hero__logo {
        width: clamp(150px, 30vw, 200px);
    }

    .hero h1 {
        font-size: clamp(2.8rem, 9vw, 4.5rem);
    }
}

@media (max-width: 719px) {
    .site-header__inner {
        padding: 0.7rem 0;
    }

    .brand {
        max-width: calc(100% - 108px);
        gap: 0.65rem;
    }

    .brand__logo {
        width: 58px;
        height: 58px;
    }

    .brand__text strong {
        font-size: 0.96rem;
    }

    .brand__text span {
        font-size: 0.58rem;
        letter-spacing: 0.08em;
    }

    .header-icon {
        width: 40px;
        height: 40px;
    }

    .hero__center {
        /* transform: translateY(-26px); */
    }

    .hero__logo {
        width: 136px;
        margin-bottom: 0.8rem;
    }

    .hero h1 {
        max-width: 100%;
        font-size: clamp(1.9rem, 8.8vw, 2.85rem);
    }

    .hero__lead {
        font-size: 0.86rem;
    }

    .hero__subline,
    .hero-address {
        font-size: 0.72rem;
    }

    .sticky-wa {
        right: 0.85rem;
        left: auto;
        width: 56px;
        min-width: 56px;
        height: 56px;
        min-height: 56px;
    }

    .sticky-wa svg {
        width: 23px;
        height: 23px;
    }
}

.hero__center {
    /* transform: translateY(-56px); */
}

.hero h1 {
    max-width: 9.5ch;
    font-size: clamp(2.75rem, 5.9vw, 4.85rem);
}

.hero__lead {
    max-width: 47ch;
    font-size: 0.98rem;
}

.hero-address {
    display: inline-flex;
    margin-top: 1rem;
    color: #d7c594;
    font-size: 0.86rem;
    letter-spacing: 0.03em;
    text-align: center;
    text-decoration: underline;
    text-decoration-color: rgba(215, 197, 148, 0.45);
    text-underline-offset: 0.24rem;
}

.hero-review,
.hero-nap {
    display: none;
}

.sticky-wa {
    right: 1rem;
    left: auto;
}

@media (max-width: 979px) {
    .hero__center {
        /* transform: translateY(-34px); */
    }

    .hero h1 {
        max-width: 10.2ch;
        font-size: clamp(2.3rem, 7.2vw, 3.7rem);
    }
}

/* Final cleanup for header, hero and floating WhatsApp */
.site-header__cta {
    gap: 0.8rem;
}

.header-phone--pill {
    display: inline-flex;
    align-items: center;
    gap: 0.78rem;
    min-height: 48px;
    padding: 0 1rem 0 0.72rem;
    border-radius: 999px;
    border: 1px solid rgba(223, 191, 120, 0.24);
    background: linear-gradient(180deg, rgba(17, 15, 15, 0.96), rgba(11, 10, 10, 0.96));
    color: #f4e7ca;
    box-shadow: 0 14px 28px rgba(0, 0, 0, 0.18);
}

.header-phone__icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 34px;
    height: 34px;
    border-radius: 50%;
    background: rgba(200, 164, 93, 0.14);
    color: #dfbf78;
    flex: 0 0 auto;
}

.header-phone__icon svg {
    width: 16px;
    height: 16px;
}

.header-icon--wa {
    background: #25d366;
    box-shadow: 0 14px 28px rgba(37, 211, 102, 0.28);
}

.header-icon--wa img,
.sticky-wa img {
    display: block;
    width: 24px;
    height: 24px;
}

.hero__center {
    transform: translateY(-72px);
}

.hero__pretitle {
    margin-bottom: 0.6rem;
}

.hero__logo {
    margin-bottom: 0.5rem;
}

.hero h1 {
    max-width: 11.4ch;
    margin-inline: auto;
    font-size: clamp(2.65rem, 5vw, 4.55rem);
    line-height: 0.96;
    text-wrap: balance;
}

.hero__lead {
    max-width: 42ch;
    margin-inline: auto;
}

.hero__subline {
    margin-top: 0.65rem;
}

.hero-address {
    max-width: 46ch;
    margin-inline: auto;
}

.sticky-wa {
    right: 1rem;
    left: auto;
    bottom: 1rem;
    width: 62px;
    min-width: 62px;
    height: 62px;
    min-height: 62px;
    padding: 0;
    border-radius: 50%;
    background: #25d366;
    border: 1px solid rgba(255, 255, 255, 0.16);
    box-shadow: 0 18px 36px rgba(0, 0, 0, 0.28);
}

.cookie-banner {
    top: 1rem;
}

.cookie-banner__badge {
    background: #eef4ff;
    color: #1f5cb8;
    font-size: 1rem;
    font-weight: 800;
}

@media (max-width: 1100px) {
    .site-header__cta {
        gap: 0.6rem;
    }

    .header-phone--pill {
        padding-right: 0.8rem;
    }
}

@media (max-width: 979px) {
    .site-header__inner {
        align-items: center;
        gap: 0.7rem;
    }

    .site-header__cta {
        order: 2;
        display: flex;
        align-items: center;
        gap: 0.55rem;
        margin-left: auto;
    }

    .header-phone--pill {
        padding: 0 0.82rem 0 0.58rem;
    }

    .header-phone--pill span:last-child {
        display: none;
    }

    .header-phone__icon {
        width: 32px;
        height: 32px;
    }

    .header-icon--wa,
    .header-phone--pill {
        min-height: 42px;
    }

    .hero__center {
        transform: translateY(-54px);
    }

    .hero h1 {
        max-width: 11.8ch;
        font-size: clamp(2.2rem, 6.8vw, 3.55rem);
    }
}

@media (max-width: 719px) {
    .site-header__inner {
        padding: 0.68rem 0;
    }

    .brand {
        max-width: calc(100% - 112px);
    }

    .brand__text span {
        max-width: 18ch;
    }

    .site-header__cta {
        order: 2;
        width: auto;
    }

    .header-phone--pill {
        min-height: 40px;
        padding: 0 0.52rem 0 0.42rem;
    }

    .header-phone__icon {
        width: 30px;
        height: 30px;
    }

    .header-icon--wa {
        width: 40px;
        height: 40px;
    }

    .header-icon--wa img,
    .sticky-wa img {
        width: 22px;
        height: 22px;
    }

    .hero {
        padding-top: calc(4rem + var(--header-height));
    }

    .hero__center {
        transform: translateY(-46px);
    }

    .hero h1 {
        max-width: 10.8ch;
        font-size: clamp(1.92rem, 8vw, 2.9rem);
        line-height: 0.98;
    }

    .hero__lead {
        max-width: 28ch;
        font-size: 0.84rem;
    }

    .hero__subline {
        font-size: 0.76rem;
    }

    .hero-address {
        max-width: 28ch;
        font-size: 0.76rem;
        line-height: 1.45;
    }

    .sticky-wa {
        right: 0.85rem;
        width: 58px;
        min-width: 58px;
        height: 58px;
        min-height: 58px;
    }

    .cookie-banner {
        top: 0.75rem;
        width: calc(100% - 1rem);
    }
}

/* Hero art direction refinement */
.site-header__inner {
    min-height: 84px;
}

.brand__logo {
    width: 82px;
    height: 82px;
}

.brand__text strong {
    font-size: 1.38rem;
    letter-spacing: 0.02em;
    color: #f4eee2;
    text-shadow: none;
}

.brand__text span {
    color: #d7c39a;
    letter-spacing: 0.14em;
}

.hero {
    min-height: 68vh;
    padding: calc(4rem + var(--header-height)) 0 1.2rem;
}

.hero-overlay {
    background:
        linear-gradient(180deg, rgba(0, 0, 0, 0.84), rgba(0, 0, 0, 0.74)),
        radial-gradient(circle at 50% 35%, rgba(200, 164, 93, 0.09), transparent 34%),
        linear-gradient(135deg, rgba(120, 12, 12, 0.08), rgba(6, 8, 10, 0.18) 42%, rgba(6, 8, 10, 0.45));
    backdrop-filter: blur(1.8px);
}

.hero__center {
    max-width: 760px;
    transform: translateY(-52px);
}

.hero__pretitle {
    display: none;
    margin: 0 0 0.55rem;
    color: #f2ecdf;
    font-size: clamp(0.95rem, 1.4vw, 1.15rem);
    letter-spacing: 0.28em;
    text-shadow: 0 8px 24px rgba(0, 0, 0, 0.42);
}

.hero__logo {
    width: clamp(185px, 16vw, 228px);
    margin-bottom: 0.9rem;
}

.hero h1 {
    max-width: none;
    margin-bottom: 1.35rem;
    color: #f7f2e8;
    font-size: clamp(2.7rem, 4.9vw, 4.8rem);
    font-weight: 800;
    letter-spacing: -0.03em;
    line-height: 0.9;
    text-transform: none;
    text-wrap: normal;
}

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

.hero__lead {
    max-width: 47ch;
    margin-top: 0;
    font-size: clamp(1rem, 1.5vw, 1.1rem);
    line-height: 1.75;
    color: rgba(243, 236, 224, 0.88);
    text-shadow: 0 6px 18px rgba(0, 0, 0, 0.32);
}

.hero__subline {
    margin-top: 1.2rem;
    color: #c8a45d;
    font-size: 0.82rem;
    letter-spacing: 0.22em;
    opacity: 0.96;
}

.hero__actions {
    gap: 1rem;
    margin: 2.2rem 0 0;
}

.hero__cta-main,
.button--hero-alt {
    min-height: 54px;
    padding: 0.95rem 1.5rem;
    font-size: 0.92rem;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    transition: transform 0.22s ease, box-shadow 0.22s ease, background 0.22s ease, border-color 0.22s ease;
}

.hero__cta-main {
    background: linear-gradient(135deg, #d9ba76, #b98b38);
    color: #15110b;
    border: 1px solid rgba(255, 240, 214, 0.2);
    box-shadow: 0 14px 34px rgba(185, 139, 56, 0.24);
}

.hero__cta-main:hover {
    transform: translateY(-2px);
    box-shadow: 0 18px 40px rgba(185, 139, 56, 0.32);
}

.button--hero-alt {
    background: rgba(255, 255, 255, 0.02);
    color: #f7f2e8;
    border: 1px solid rgba(215, 195, 154, 0.32);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.04);
}

.button--hero-alt:hover {
    transform: translateY(-2px);
    background: rgba(255, 255, 255, 0.05);
    border-color: rgba(215, 195, 154, 0.56);
}

.hero-badges {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 0.8rem;
    margin-top: 2rem;
    max-width: 680px;
    margin-inline: auto;
}

.hero-badge {
    display: inline-flex;
    align-items: center;
    gap: 0.55rem;
    min-height: 40px;
    padding: 0.7rem 0.95rem;
    border-radius: 999px;
    border: 1px solid rgba(255, 255, 255, 0.08);
    background: rgba(12, 13, 15, 0.52);
    color: #e8dfcf;
    font-size: 0.78rem;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    backdrop-filter: blur(10px);
    box-shadow: 0 10px 24px rgba(0, 0, 0, 0.18);
}

.hero-badge--location {
    border-color: rgba(200, 164, 93, 0.26);
    color: #f3e3bf;
    background: rgba(70, 10, 10, 0.26);
}

.hero-badge--reviews {
    border-color: rgba(216, 177, 95, 0.24);
    color: #f3e7cb;
    background: rgba(24, 20, 13, 0.62);
    justify-content: center;
}

.hero-badge--reviews span[aria-hidden="true"] {
    color: #d8b15f;
    letter-spacing: 0.14em;
}

.hero-badge span[aria-hidden="true"] {
    font-size: 0.9rem;
}

.hero-badge:hover {
    transform: translateY(-1px);
}

@media (max-width: 979px) {
    .site-header__inner {
        min-height: 76px;
    }

    .brand__logo {
        width: 68px;
        height: 68px;
    }

    .brand__text strong {
        font-size: 1rem;
    }

    .brand__text span {
        font-size: 0.62rem;
        letter-spacing: 0.1em;
    }

    .hero {
        min-height: 82vh;
        padding-top: calc(4.7rem + var(--header-height));
        padding-bottom: 4.2rem;
    }

    .hero__center {
        max-width: 640px;
        transform: translateY(-78px);
    }

    .hero__logo {
        width: clamp(156px, 25vw, 192px);
        margin-bottom: 1.15rem;
    }

    .hero h1 {
        max-width: none;
        font-size: clamp(2.2rem, 6vw, 3.55rem);
        line-height: 0.92;
    }

    .hero__lead {
        max-width: 40ch;
        font-size: 0.98rem;
    }

    .hero__subline {
        font-size: 0.74rem;
        letter-spacing: 0.18em;
    }

    .hero__actions {
        margin-top: 1.8rem;
    }
}

@media (max-width: 719px) {
    .site-header__inner {
        padding: 0.62rem 0;
        min-height: 72px;
    }

    .brand {
        gap: 0.55rem;
        max-width: calc(100% - 106px);
    }

    .brand__logo {
        width: 58px;
        height: 58px;
    }

    .brand__text strong {
        font-size: 0.84rem;
        line-height: 0.95;
        color: #f4eee2;
    }

    .brand__text span {
        max-width: 17ch;
        font-size: 0.54rem;
        line-height: 1.2;
    }

    .site-header__cta {
        display: none;
    }

    .menu-toggle {
        margin-left: auto;
        padding: 0.2rem;
    }

    .hero {
        min-height: auto;
        padding-top: calc(2.9rem + var(--header-height));
        padding-bottom: 3.25rem;
    }

    .hero__center {
        max-width: 100%;
        transform: translateY(-58px);
    }

    .hero__pretitle {
        margin-bottom: 0.45rem;
        font-size: 0.82rem;
        letter-spacing: 0.24em;
    }

    .hero__logo {
        width: 136px;
        margin-bottom: 0.7rem;
    }

    .hero h1 {
        max-width: none;
        margin-bottom: 0.9rem;
        font-size: clamp(1.88rem, 7.2vw, 2.65rem);
        line-height: 0.94;
        letter-spacing: -0.03em;
    }

    .hero h1 span {
        white-space: nowrap;
    }

    .hero__lead {
        max-width: 31ch;
        font-size: 0.95rem;
        line-height: 1.68;
    }

    .hero__subline {
        margin-top: 1rem;
        font-size: 0.66rem;
        letter-spacing: 0.16em;
    }

    .hero__actions {
        flex-direction: column;
        align-items: stretch;
        gap: 0.8rem;
        margin-top: 1.5rem;
    }

    .hero__cta-main,
    .button--hero-alt {
        width: 100%;
        min-height: 52px;
        font-size: 0.86rem;
    }

    .hero-badges {
        gap: 0.6rem;
        margin-top: 1.45rem;
    }

    .hero-badge {
        justify-content: center;
        width: 100%;
        min-height: 38px;
        padding: 0.68rem 0.78rem;
        font-size: 0.7rem;
        letter-spacing: 0.04em;
    }
}

/* Dynamic promo rail and booking view */
.hero-promo {
    position: relative;
    max-width: 600px;
    margin: 0.8rem auto 0;
    min-height: 132px;
    padding: 1.05rem 1.2rem 1rem;
    border: 1px solid rgba(200, 164, 93, 0.18);
    border-radius: 24px;
    background:
        linear-gradient(135deg, rgba(32, 12, 12, 0.8), rgba(12, 13, 15, 0.86)),
        rgba(12, 13, 15, 0.76);
    box-shadow: 0 18px 44px rgba(0, 0, 0, 0.26);
    overflow: hidden;
}

.hero-promo::before {
    content: "";
    position: absolute;
    inset: 0 auto 0 0;
    width: 4px;
    background: linear-gradient(180deg, #d94a3c, #d9ba76);
}

.hero-promo__track {
    position: relative;
    min-height: 74px;
}

.hero-promo__item {
    display: none;
    text-align: left;
    min-height: 74px;
    align-content: start;
    animation: promoFade 0.45s ease;
}

.hero-promo__item.is-active {
    display: block;
}

.hero-promo__item strong {
    display: block;
    margin-bottom: 0.35rem;
    color: #f7f2e8;
    font-size: 1rem;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    min-height: 1.4em;
}

.hero-promo__item span {
    display: block;
    color: rgba(243, 236, 224, 0.78);
    line-height: 1.55;
    min-height: 3.2em;
}

.hero-promo__dots {
    display: flex;
    gap: 0.5rem;
    margin-top: 0.9rem;
}

.hero-promo__dots span {
    width: 9px;
    height: 9px;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.16);
    transition: transform 0.24s ease, background 0.24s ease;
}

.hero-promo__dots span.is-active {
    background: #d9ba76;
    transform: scale(1.15);
}

.products-rail--hero {
    max-width: 640px;
    margin: 0.8rem auto 0;
    padding: 0.8rem 0.9rem 0.75rem;
    border-radius: 24px;
    border: 1px solid rgba(200, 164, 93, 0.16);
    background:
        radial-gradient(circle at top right, rgba(215, 38, 47, 0.12), transparent 24%),
        linear-gradient(135deg, rgba(30, 12, 12, 0.78), rgba(12, 13, 15, 0.84)),
        rgba(12, 13, 15, 0.78);
    box-shadow: 0 18px 42px rgba(0, 0, 0, 0.24);
}

.products-rail--hero .products-rail__heading {
    max-width: none;
    text-align: center;
}

.products-rail--hero .products-rail__heading .eyebrow {
    color: #ff5a4d;
    font-family: Impact, Haettenschweiler, "Arial Narrow Bold", sans-serif;
    font-size: 0.68rem;
    letter-spacing: 0.22em;
}

.products-rail--hero .products-rail__heading h2 {
    font-size: clamp(1.05rem, 1.7vw, 1.35rem);
    line-height: 1;
    letter-spacing: 0.06em;
}

.products-rail--hero .products-rail__heading h2::after {
    width: min(100%, 160px);
    height: 2px;
    margin-top: 0.5rem;
}

.products-rail--hero .products-rail__viewport {
    margin-top: 0.7rem;
}

.products-rail--hero .products-rail__track {
    min-height: 126px;
}

.products-rail--hero .products-rail__slide {
    grid-template-columns: minmax(140px, 170px) minmax(0, 1fr);
    gap: 0.8rem;
    align-items: center;
}

.products-rail--hero .products-rail__logo {
    min-height: 94px;
    padding: 0.65rem;
    border-radius: 18px;
    background: rgba(255, 255, 255, 0.045);
}

.products-rail--hero .products-rail__logo img {
    max-height: 62px;
}

.products-rail--hero .products-rail__copy {
    text-align: left;
}

.products-rail--hero .products-rail__copy strong {
    margin-bottom: 0;
    font-size: clamp(0.98rem, 1.6vw, 1.15rem);
}

.products-rail--hero .products-rail__copy span {
    display: none;
}

.products-rail--hero .products-rail__dots {
    margin-top: 0.55rem;
}

.reservas {
    background:
        linear-gradient(180deg, #f6f3ee 0%, #f8f6f2 44%, #f4f0e9 100%);
    color: #171412;
}

.reservas .site-footer {
    background: #171412;
}

.booking-hero {
    padding-top: calc(3rem + var(--header-height));
    padding-bottom: 1.4rem;
    background:
        radial-gradient(circle at top right, rgba(200, 164, 93, 0.14), transparent 24%),
        linear-gradient(180deg, rgba(18, 13, 12, 0.04), rgba(18, 13, 12, 0)),
        #f6f3ee;
}

.booking-hero__inner,
.booking-builder__grid {
    display: grid;
    gap: 1.5rem;
}

.booking-hero__inner {
    align-items: end;
}

.booking-hero__copy {
    max-width: 680px;
}

.booking-hero__logo {
    width: 108px;
    height: 108px;
    margin-bottom: 1rem;
    filter: drop-shadow(0 16px 28px rgba(0, 0, 0, 0.12));
}

.booking-hero__copy h1 {
    margin: 0 0 1rem;
    color: #171412;
    font-size: clamp(2.2rem, 4.6vw, 3.65rem);
    line-height: 1;
}

.booking-hero__copy p {
    color: #443a30;
}

.booking-hero__meta {
    display: flex;
    flex-wrap: wrap;
    gap: 0.75rem;
}

.booking-hero__meta span,
.booking-chip,
.booking-choice,
.booking-summary,
.booking-panel {
    border: 1px solid rgba(200, 164, 93, 0.16);
    box-shadow: var(--shadow);
}

.booking-hero__meta span {
    padding: 0.75rem 1rem;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.82);
    color: #6d5536;
    font-size: 0.82rem;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.booking-builder {
    padding-top: 0;
}

.booking-builder__grid {
    align-items: start;
}

.booking-panel,
.booking-summary {
    padding: 1.5rem;
    border-radius: 28px;
}

.booking-panel {
    background: linear-gradient(180deg, rgba(255, 252, 247, 0.98), rgba(247, 242, 233, 0.98));
    color: #181512;
}

.booking-summary {
    background: linear-gradient(180deg, rgba(255, 252, 247, 0.98), rgba(248, 243, 236, 0.98));
    color: #171412;
}

.booking-step + .booking-step {
    margin-top: 1.4rem;
    padding-top: 1.4rem;
    border-top: 1px solid rgba(24, 21, 18, 0.08);
}

.booking-step h2,
.booking-summary h2 {
    margin: 0 0 1rem;
    font-size: 1.1rem;
    color: #171412;
}

.booking-step--split {
    display: grid;
    gap: 1.2rem;
}

.booking-choice-grid {
    display: grid;
    gap: 0.85rem;
}

.booking-choice,
.booking-chip {
    transition: transform 0.2s ease, border-color 0.2s ease, background 0.2s ease, box-shadow 0.2s ease;
}

.booking-choice {
    width: 100%;
    padding: 1rem 1.05rem;
    border-radius: 22px;
    background: rgba(255, 255, 255, 0.7);
    text-align: left;
    color: #181512;
}

.booking-choice strong {
    display: block;
    margin-bottom: 0.35rem;
}

.booking-choice span {
    color: #64584b;
}

.booking-choice.is-selected,
.booking-chip.is-selected {
    border-color: rgba(185, 139, 56, 0.56);
    background: linear-gradient(135deg, rgba(217, 186, 118, 0.22), rgba(255, 255, 255, 0.9));
    box-shadow: 0 12px 28px rgba(185, 139, 56, 0.16);
}

.booking-chip-row {
    display: flex;
    flex-wrap: wrap;
    gap: 0.7rem;
}

.booking-chip {
    min-height: 44px;
    padding: 0.7rem 1rem;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.82);
    color: #181512;
}

.booking-notes {
    width: 100%;
    padding: 1rem;
    border: 1px solid rgba(24, 21, 18, 0.12);
    border-radius: 20px;
    background: rgba(255, 255, 255, 0.9);
    color: #181512;
}

.booking-summary__list {
    display: grid;
    gap: 0.9rem;
    margin: 1rem 0 1.25rem;
}

.booking-summary__list div {
    display: grid;
    gap: 0.18rem;
}

.booking-summary__list dt {
    color: #c8a45d;
    font-size: 0.82rem;
    text-transform: uppercase;
    letter-spacing: 0.1em;
}

.booking-summary__list dd {
    margin: 0;
    color: #171412;
    font-weight: 700;
}

.booking-summary__note {
    color: #6b6158;
}

.booking-summary__cta {
    margin-bottom: 0.8rem;
}

.booking-summary .eyebrow {
    color: #c2352b;
}

.sticky-wa {
    background: #25d366;
    border: 4px solid rgba(255, 255, 255, 0.96);
    box-shadow: 0 20px 42px rgba(0, 0, 0, 0.22);
}

.sticky-wa img {
    width: 28px;
    height: 28px;
    filter: drop-shadow(0 2px 0 rgba(0, 0, 0, 0.04));
}

@keyframes promoFade {
    from {
        opacity: 0;
        transform: translateY(6px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}

@media (max-width: 979px) {
    .booking-hero__inner,
    .booking-builder__grid,
    .booking-step--split {
        grid-template-columns: 1fr;
    }

    .hero {
        min-height: 68vh;
        padding-top: calc(3.7rem + var(--header-height));
        padding-bottom: 2rem;
    }

    .hero__center {
        transform: translateY(-64px);
    }
}

@media (max-width: 719px) {
    .hero-promo {
        min-height: 96px;
        margin-top: 0.75rem;
        padding: 0.95rem 1rem 0.9rem 1.1rem;
    }

    .products-rail--hero {
        margin-top: 0.7rem;
        padding: 0.78rem 0.8rem 0.72rem;
        border-radius: 22px;
    }

    .products-rail--hero .products-rail__heading h2 {
        font-size: 0.98rem;
    }

    .products-rail--hero .products-rail__heading h2::after {
        width: min(100%, 130px);
    }

    .products-rail--hero .products-rail__track {
        min-height: 138px;
    }

    .products-rail--hero .products-rail__slide {
        grid-template-columns: 108px minmax(0, 1fr);
        gap: 0.7rem;
        align-items: center;
    }

    .products-rail--hero .products-rail__logo {
        min-height: 84px;
        padding: 0.55rem;
    }

    .products-rail--hero .products-rail__logo img {
        max-height: 52px;
    }

    .products-rail--hero .products-rail__copy {
        text-align: left;
    }

    .products-rail--hero .products-rail__copy strong {
        font-size: 0.9rem;
    }

    .booking-hero {
        padding-top: calc(2.4rem + var(--header-height));
        padding-bottom: 1rem;
    }

    .booking-panel,
    .booking-summary {
        padding: 1.15rem;
        border-radius: 24px;
    }

    .booking-hero__logo {
        width: 86px;
        height: 86px;
        margin-bottom: 0.8rem;
    }

    .booking-hero__copy h1 {
        font-size: clamp(1.9rem, 8.2vw, 2.7rem);
        line-height: 0.98;
    }

    .booking-choice-grid,
    .booking-chip-row {
        gap: 0.6rem;
    }

    .hero {
        padding-bottom: 1.6rem;
    }

    .hero__center {
        transform: translateY(-40px);
    }
}

@media (min-width: 980px) {
    .booking-hero__inner,
    .booking-builder__grid {
        grid-template-columns: minmax(0, 1.2fr) minmax(320px, 0.8fr);
    }
}

/* Services restructure */
.sticky-wa {
    width: auto;
    min-width: 0;
    height: auto;
    min-height: 0;
    padding: 0;
    background: transparent;
    border: 0;
    box-shadow: none;
}

.sticky-wa img {
    width: 58px;
    height: 58px;
    display: block;
}

.service-showcase,
.services-page {
    background:
        linear-gradient(180deg, #f7f4ef 0%, #faf8f4 42%, #f3eee7 100%);
    color: #171412;
}

.service-showcase__heading,
.services-page__heading {
    text-align: center;
}

.service-showcase__heading p,
.services-page__heading p,
.service-cluster__header p,
.service-detail-card p,
.service-detail-line span {
    color: #5e5246;
}

.service-cluster {
    margin-bottom: 2rem;
    padding: 2rem;
    border: 1px solid rgba(200, 164, 93, 0.16);
    border-radius: 32px;
    background: rgba(255, 255, 255, 0.84);
    box-shadow: 0 24px 56px rgba(28, 20, 15, 0.08);
}

.service-cluster__header {
    display: flex;
    align-items: end;
    justify-content: space-between;
    gap: 1rem;
    margin-bottom: 1.4rem;
}

.service-cluster__header h3,
.service-group-panel__intro h2,
.service-detail-card h3 {
    margin: 0 0 0.4rem;
    color: #171412;
}

.service-cluster__notes {
    display: flex;
    flex-wrap: wrap;
    gap: 0.75rem;
    margin-top: 1rem;
}

.service-cluster__notes span {
    padding: 0.7rem 1rem;
    border-radius: 999px;
    background: #fff7dd;
    color: #735112;
    font-size: 0.82rem;
}

.service-carousel {
    overflow: hidden;
}

.service-carousel__track {
    display: grid;
    gap: 1rem;
}

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

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

.service-carousel__track--premium {
    grid-template-columns: repeat(5, minmax(0, 1fr));
}

.service-carousel__dots {
    display: none;
}

.service-slide,
.service-detail-card {
    position: relative;
    border: 1px solid rgba(200, 164, 93, 0.18);
    border-radius: 28px;
    background: linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(250, 246, 239, 0.98));
    box-shadow: 0 16px 40px rgba(28, 20, 15, 0.08);
}

.size-card,
.special-card,
.premium-card,
.service-detail-card {
    padding: 1.35rem;
}

.size-card__icon,
.special-card__icon,
.premium-card__icon {
    display: grid;
    place-items: center;
    width: 54px;
    height: 54px;
    margin: 0 auto 1rem;
    border-radius: 50%;
    background: linear-gradient(135deg, #e11f27, #b51017);
    color: #fff;
    font-size: 0.95rem;
}

.size-card h4,
.special-card h4,
.premium-card h4 {
    margin: 0 0 0.35rem;
    color: #171412;
    text-align: center;
}

.size-card > p,
.special-card > p,
.premium-card > p {
    margin: 0 0 1rem;
    text-align: center;
    color: #675b4e;
}

.size-card__items,
.service-detail-card__list {
    display: grid;
    gap: 0.65rem;
}

.size-item,
.service-detail-line {
    display: flex;
    align-items: start;
    justify-content: space-between;
    gap: 0.8rem;
    padding: 0.85rem 0.9rem;
    border: 1px solid rgba(23, 20, 18, 0.08);
    border-radius: 16px;
    background: rgba(255, 255, 255, 0.86);
}

.size-item strong,
.service-detail-line strong,
.service-detail-card__price,
.special-card b,
.premium-card b {
    color: #d51d24;
}

.size-item strong,
.service-detail-line strong {
    display: block;
    margin-bottom: 0.2rem;
    color: #171412;
}

.size-item b,
.service-detail-line b,
.special-card b,
.premium-card b {
    white-space: nowrap;
    font-size: 1.05rem;
}

.size-item--featured,
.service-detail-line--featured {
    border-color: rgba(213, 29, 36, 0.26);
    background: rgba(255, 245, 245, 0.9);
}

.special-card ul,
.premium-card ul,
.service-detail-card ul {
    display: grid;
    gap: 0.45rem;
    padding-left: 1rem;
    color: #564a3e;
}

.service-card__button {
    margin-top: 1rem;
    width: 100%;
    min-height: 48px;
    background: linear-gradient(135deg, #e11f27, #c5151d);
    color: #fff;
}

.premium-card__tag {
    position: absolute;
    top: 1rem;
    right: 1rem;
    padding: 0.28rem 0.55rem;
    border-radius: 999px;
    background: #ff2e35;
    color: #fff;
    font-size: 0.66rem;
    font-weight: 700;
    text-transform: uppercase;
}

.premium-card__tag--inline {
    position: static;
    display: inline-flex;
    margin-bottom: 0.7rem;
}

.service-group-panel {
    margin-bottom: 2rem;
    padding: 2rem;
    border: 1px solid rgba(200, 164, 93, 0.16);
    border-radius: 32px;
    background: rgba(255, 255, 255, 0.86);
    box-shadow: 0 24px 56px rgba(28, 20, 15, 0.08);
}

.service-group-panel__intro {
    display: grid;
    gap: 1.2rem;
    margin-bottom: 1.5rem;
}

.service-group-panel__media {
    overflow: hidden;
    border-radius: 24px;
    min-height: 220px;
}

.service-group-panel__media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.service-group-panel__grid {
    display: grid;
    gap: 1rem;
}

.service-detail-card__price {
    display: inline-block;
    margin-bottom: 0.8rem;
    font-size: 1.12rem;
}

@media (min-width: 980px) {
    .service-group-panel__intro {
        grid-template-columns: minmax(300px, 0.9fr) minmax(0, 1.1fr);
        align-items: center;
    }

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

    .service-group-panel__grid--sizes {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .service-group-panel__grid--premium {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}

@media (max-width: 719px) {
    .service-cluster,
    .service-group-panel {
        padding: 1.15rem;
        border-radius: 24px;
    }

    .service-carousel__track {
        display: flex;
        gap: 0;
        transition: transform 0.35s ease;
        will-change: transform;
    }

    .service-slide {
        min-width: 100%;
    }

    .service-carousel__dots {
        display: flex;
        justify-content: center;
        gap: 0.5rem;
        margin-top: 1rem;
    }

    .service-carousel__dots button {
        width: 8px;
        height: 8px;
        padding: 0;
        border: 0;
        border-radius: 50%;
        background: rgba(23, 20, 18, 0.18);
    }

    .service-carousel__dots button.is-active {
        background: #d51d24;
    }

    .service-cluster__header {
        margin-bottom: 1rem;
    }

    .sticky-wa img {
        width: 54px;
        height: 54px;
    }
}

/* Services visual refinement */
.service-showcase {
    position: relative;
    overflow: hidden;
    background:
        radial-gradient(circle at top, rgba(193, 28, 36, 0.14), transparent 26%),
        linear-gradient(180deg, #09090b 0%, #121214 46%, #171515 100%);
    color: #f5efe5;
}

.service-showcase::before {
    content: "";
    position: absolute;
    inset: 0;
    background:
        linear-gradient(180deg, rgba(7, 7, 8, 0.58), rgba(7, 7, 8, 0.82)),
        url("../img/detailing-general-2.webp") center/cover no-repeat;
    opacity: 0.34;
    pointer-events: none;
}

.service-showcase > .container,
.services-page > .container {
    position: relative;
    z-index: 1;
}

.service-showcase__heading h2,
.services-page__heading h2 {
    color: #f5efe5;
    letter-spacing: 0.01em;
}

.service-showcase__heading p,
.services-page__heading p {
    max-width: 58rem;
    margin-inline: auto;
    color: rgba(245, 239, 229, 0.72);
}

.service-cluster {
    position: relative;
    overflow: hidden;
    border: 1px solid rgba(255, 255, 255, 0.08);
    background: rgba(14, 14, 17, 0.82);
    box-shadow: 0 28px 80px rgba(0, 0, 0, 0.28);
    color: #f5efe5;
}

.service-cluster::before {
    content: "";
    position: absolute;
    inset: 0;
    background:
        linear-gradient(180deg, rgba(11, 11, 13, 0.3), rgba(11, 11, 13, 0.76)),
        url("../img/detailing-general.webp") center/cover no-repeat;
    opacity: 0.18;
    pointer-events: none;
}

.service-cluster--specials::before {
    background:
        linear-gradient(180deg, rgba(11, 11, 13, 0.32), rgba(11, 11, 13, 0.78)),
        url("../img/limpieza-de-motor.webp") center/cover no-repeat;
}

.service-cluster--premium::before {
    background:
        linear-gradient(180deg, rgba(11, 11, 13, 0.34), rgba(11, 11, 13, 0.8)),
        url("../img/pulido-de-faros.webp") center/cover no-repeat;
}

.service-cluster > * {
    position: relative;
    z-index: 1;
}

.service-cluster__header h3,
.service-group-panel__intro h2,
.service-detail-card h3 {
    color: #fff7ea;
}

.service-cluster__header p,
.service-cluster__notes span,
.service-detail-card p,
.service-detail-line span,
.special-card > p,
.premium-card > p,
.size-card > p {
    color: rgba(245, 239, 229, 0.76);
}

.service-cluster__header {
    margin-bottom: 1.2rem;
}

.service-carousel__track {
    align-items: stretch;
}

.service-slide,
.service-detail-card {
    border: 1px solid rgba(255, 255, 255, 0.08);
    background:
        linear-gradient(180deg, rgba(20, 20, 24, 0.96), rgba(14, 14, 17, 0.92));
    box-shadow: 0 18px 36px rgba(0, 0, 0, 0.22);
}

.size-card,
.special-card,
.premium-card,
.service-detail-card {
    padding: 1.4rem;
}

.size-card h4,
.special-card h4,
.premium-card h4 {
    color: #fff6ea;
    font-size: clamp(1.12rem, 2.2vw, 1.28rem);
    line-height: 1.05;
    text-transform: uppercase;
    letter-spacing: 0.025em;
}

.size-card__items,
.service-detail-card__list,
.service-group-panel__grid {
    gap: 0.85rem;
}

.size-item,
.service-detail-line {
    border: 1px solid rgba(255, 255, 255, 0.08);
    background: rgba(255, 255, 255, 0.03);
}

.size-item strong,
.service-detail-line strong {
    color: #fffaf1;
}

.size-item b,
.service-detail-line b,
.special-card b,
.premium-card b,
.service-detail-card__price {
    color: #d8b15f;
}

.size-item--featured,
.service-detail-line--featured {
    border-color: rgba(196, 27, 36, 0.42);
    background: linear-gradient(180deg, rgba(63, 14, 17, 0.72), rgba(30, 13, 15, 0.58));
}

.special-card ul,
.premium-card ul,
.service-detail-card ul {
    color: rgba(245, 239, 229, 0.8);
}

.special-card ul li::marker,
.premium-card ul li::marker,
.service-detail-card ul li::marker {
    color: #d8b15f;
}

.service-card__button {
    border: 1px solid rgba(216, 177, 95, 0.35);
    background: linear-gradient(135deg, #c21f28, #8d1319);
    color: #fff8ee;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.08);
}

.service-card__button:hover,
.service-card__button:focus-visible {
    transform: translateY(-1px);
    background: linear-gradient(135deg, #da2630, #9d171d);
    box-shadow: 0 14px 30px rgba(194, 31, 40, 0.22);
}

.service-cluster__notes span {
    border: 1px solid rgba(216, 177, 95, 0.16);
    background: rgba(255, 248, 232, 0.08);
}

.service-mark {
    position: relative;
    display: grid;
    place-items: center;
    background: radial-gradient(circle at 30% 30%, #e63038, #9f171e);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.2), 0 10px 22px rgba(194, 31, 40, 0.18);
}

.service-mark::before {
    content: "";
    width: 24px;
    height: 24px;
    background: #fff7ea;
    -webkit-mask-repeat: no-repeat;
    -webkit-mask-position: center;
    -webkit-mask-size: contain;
    mask-repeat: no-repeat;
    mask-position: center;
    mask-size: contain;
}

.service-mark--car::before {
    -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M5.4 15.5a2.1 2.1 0 1 0 0 4.2a2.1 2.1 0 0 0 0-4.2Zm13.2 0a2.1 2.1 0 1 0 0 4.2a2.1 2.1 0 0 0 0-4.2ZM4.1 6.8l-1 3.3A2.8 2.8 0 0 0 1 12.8v4.4h1.7a2.8 2.8 0 0 1 5.4 0h7.8a2.8 2.8 0 0 1 5.4 0H23v-6.2a2.8 2.8 0 0 0-2.8-2.8h-1.9l-2.2-3.1A2.8 2.8 0 0 0 13.8 4H6.8a2.8 2.8 0 0 0-2.7 2.8Zm2.7-1.1h7a1.3 1.3 0 0 1 1 .6l1.4 2H4.9l.6-2a1.3 1.3 0 0 1 1.3-.6Z'/%3E%3C/svg%3E");
    mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M5.4 15.5a2.1 2.1 0 1 0 0 4.2a2.1 2.1 0 0 0 0-4.2Zm13.2 0a2.1 2.1 0 1 0 0 4.2a2.1 2.1 0 0 0 0-4.2ZM4.1 6.8l-1 3.3A2.8 2.8 0 0 0 1 12.8v4.4h1.7a2.8 2.8 0 0 1 5.4 0h7.8a2.8 2.8 0 0 1 5.4 0H23v-6.2a2.8 2.8 0 0 0-2.8-2.8h-1.9l-2.2-3.1A2.8 2.8 0 0 0 13.8 4H6.8a2.8 2.8 0 0 0-2.7 2.8Zm2.7-1.1h7a1.3 1.3 0 0 1 1 .6l1.4 2H4.9l.6-2a1.3 1.3 0 0 1 1.3-.6Z'/%3E%3C/svg%3E");
}

.service-mark--wrench::before {
    -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M21.3 6.4a5.6 5.6 0 0 1-7.8 5.2l-7.8 7.8a1.8 1.8 0 1 1-2.6-2.6l7.8-7.8a5.6 5.6 0 0 1 6.9-7l-3.1 3.1l1.9 1.9l3.1-3.1c.9.7 1.6 1.5 1.6 2.5Z'/%3E%3C/svg%3E");
    mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M21.3 6.4a5.6 5.6 0 0 1-7.8 5.2l-7.8 7.8a1.8 1.8 0 1 1-2.6-2.6l7.8-7.8a5.6 5.6 0 0 1 6.9-7l-3.1 3.1l1.9 1.9l3.1-3.1c.9.7 1.6 1.5 1.6 2.5Z'/%3E%3C/svg%3E");
}

.service-mark--eye::before {
    -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M12 5c5.5 0 9.7 5.4 9.9 5.7l.2.3l-.2.3C21.7 11.6 17.5 17 12 17S2.3 11.6 2.1 11.3l-.2-.3l.2-.3C2.3 10.4 6.5 5 12 5Zm0 2C8.3 7 5.2 10 4.3 11c.9 1 4 4 7.7 4s6.8-3 7.7-4c-.9-1-4-4-7.7-4Zm0 1.7a2.3 2.3 0 1 1 0 4.6a2.3 2.3 0 0 1 0-4.6Z'/%3E%3C/svg%3E");
    mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M12 5c5.5 0 9.7 5.4 9.9 5.7l.2.3l-.2.3C21.7 11.6 17.5 17 12 17S2.3 11.6 2.1 11.3l-.2-.3l.2-.3C2.3 10.4 6.5 5 12 5Zm0 2C8.3 7 5.2 10 4.3 11c.9 1 4 4 7.7 4s6.8-3 7.7-4c-.9-1-4-4-7.7-4Zm0 1.7a2.3 2.3 0 1 1 0 4.6a2.3 2.3 0 0 1 0-4.6Z'/%3E%3C/svg%3E");
}

.service-mark--shield::before {
    -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M12 2l7 3v5.6c0 5-3 9.5-7 11.4c-4-1.9-7-6.4-7-11.4V5l7-3Zm0 2.1L7 6.2v4.4c0 4.1 2.3 7.8 5 9.4c2.7-1.6 5-5.3 5-9.4V6.2l-5-2.1Z'/%3E%3C/svg%3E");
    mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M12 2l7 3v5.6c0 5-3 9.5-7 11.4c-4-1.9-7-6.4-7-11.4V5l7-3Zm0 2.1L7 6.2v4.4c0 4.1 2.3 7.8 5 9.4c2.7-1.6 5-5.3 5-9.4V6.2l-5-2.1Z'/%3E%3C/svg%3E");
}

.service-mark--spark::before {
    -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='m11.2 2l1.7 5.1L18 8.8l-5.1 1.7L11.2 16l-1.7-5.5L4.4 8.8l5.1-1.7L11.2 2Zm7.1 11.5l.8 2.4l2.4.8l-2.4.8l-.8 2.4l-.8-2.4l-2.4-.8l2.4-.8l.8-2.4ZM5.4 13.2l1.1 3.2l3.2 1.1l-3.2 1.1l-1.1 3.2l-1.1-3.2L1.1 17.5l3.2-1.1l1.1-3.2Z'/%3E%3C/svg%3E");
    mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='m11.2 2l1.7 5.1L18 8.8l-5.1 1.7L11.2 16l-1.7-5.5L4.4 8.8l5.1-1.7L11.2 2Zm7.1 11.5l.8 2.4l2.4.8l-2.4.8l-.8 2.4l-.8-2.4l-2.4-.8l2.4-.8l.8-2.4ZM5.4 13.2l1.1 3.2l3.2 1.1l-3.2 1.1l-1.1 3.2l-1.1-3.2L1.1 17.5l3.2-1.1l1.1-3.2Z'/%3E%3C/svg%3E");
}

.services-page {
    background:
        radial-gradient(circle at top left, rgba(193, 28, 36, 0.12), transparent 24%),
        linear-gradient(180deg, #0f0f12 0%, #161517 36%, #1d1919 100%);
    color: #f5efe5;
}

.service-group-panel {
    position: relative;
    overflow: hidden;
    border: 1px solid rgba(255, 255, 255, 0.08);
    background: rgba(17, 17, 20, 0.82);
    box-shadow: 0 24px 64px rgba(0, 0, 0, 0.24);
}

.service-group-panel::before {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, rgba(10, 10, 12, 0.22), rgba(10, 10, 12, 0.78));
    pointer-events: none;
}

.service-group-panel > * {
    position: relative;
    z-index: 1;
}

.service-group-panel__intro {
    padding-bottom: 0.1rem;
    border-bottom: 1px solid rgba(255, 255, 255, 0.08);
}

.service-group-panel__media {
    min-height: 260px;
    border-radius: 26px;
    box-shadow: 0 18px 42px rgba(0, 0, 0, 0.24);
}

.service-group-panel__media img {
    filter: saturate(1.02) contrast(0.96) brightness(0.8);
}

.service-detail-card {
    min-height: 100%;
}

.service-detail-card__price {
    color: #d8b15f;
}

.sticky-wa {
    right: 1rem;
    bottom: 1rem;
}

.sticky-wa img {
    width: 56px;
    height: 56px;
    filter: drop-shadow(0 14px 26px rgba(0, 0, 0, 0.26));
}

.sticky-book {
    position: fixed;
    right: 1rem;
    bottom: 5rem;
    z-index: 44;
    display: grid;
    place-items: center;
    width: 54px;
    height: 54px;
    padding: 0;
    border-radius: 50%;
    background: linear-gradient(135deg, #0f1b2d, #1d2b44);
    color: #fff8ef;
    border: 1px solid rgba(255, 255, 255, 0.12);
    box-shadow: 0 18px 34px rgba(0, 0, 0, 0.22);
}

.sticky-book__icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 32px;
    height: 32px;
    border-radius: 50%;
    background: linear-gradient(135deg, #d7262f, #ff6b4d);
    color: #fff;
}

.sticky-book__icon svg {
    width: 18px;
    height: 18px;
}

.sticky-book__text {
    display: none;
}

@media (min-width: 980px) {
    .service-showcase {
        padding-top: 5rem;
    }

    .service-cluster--premium .service-carousel__track--premium {
        grid-template-columns: repeat(5, minmax(0, 1fr));
    }
}

@media (max-width: 979px) {
    .service-cluster,
    .service-group-panel {
        padding: 1.4rem;
    }

    .service-showcase__heading p,
    .services-page__heading p {
        max-width: 40rem;
    }
}

@media (max-width: 719px) {
    .service-showcase {
        padding-top: 3.8rem;
    }

    .service-showcase__heading,
    .services-page__heading {
        margin-bottom: 1.2rem;
    }

    .service-cluster__header,
    .service-group-panel__intro {
        gap: 0.8rem;
    }

    .service-cluster__header h3,
    .service-group-panel__intro h2 {
        font-size: 1.4rem;
        line-height: 1.02;
    }

    .service-slide,
    .service-detail-card,
    .size-card,
    .special-card,
    .premium-card {
        border-radius: 24px;
    }

    .service-card__button {
        min-height: 46px;
        font-size: 0.94rem;
    }

    .service-cluster__notes {
        gap: 0.55rem;
    }

    .service-cluster__notes span {
        width: 100%;
        justify-content: center;
        text-align: center;
    }

    .service-group-panel__media {
        min-height: 180px;
    }

    .sticky-wa {
        right: 0.8rem;
        bottom: 0.8rem;
    }

    .sticky-wa img {
        width: 52px;
        height: 52px;
    }
}

body.has-service-modal {
    overflow: hidden;
}

.service-showcase__heading {
    margin-bottom: 1.8rem;
    text-align: center;
}

.service-stage {
    position: relative;
    overflow: hidden;
    min-height: 720px;
    margin-bottom: 2.2rem;
    border-radius: 36px;
    background: #121216;
    box-shadow: 0 34px 80px rgba(0, 0, 0, 0.26);
}

.service-stage__media,
.service-stage__overlay,
.service-stage__shape {
    position: absolute;
    inset: 0;
}

.service-stage__media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.service-stage__overlay {
    background:
        linear-gradient(180deg, rgba(12, 13, 18, 0.32), rgba(12, 13, 18, 0.82)),
        linear-gradient(90deg, rgba(12, 13, 18, 0.72), rgba(12, 13, 18, 0.24) 50%, rgba(12, 13, 18, 0.72));
}

.service-stage__shape--top,
.service-stage__shape--bottom {
    inset: auto 0;
    height: 120px;
    background: #f5f2ec;
    clip-path: polygon(0 0, 100% 0, 50% 86%);
}

.service-stage__shape--top {
    top: 0;
    bottom: auto;
}

.service-stage__shape--bottom {
    top: auto;
    bottom: 0;
    clip-path: polygon(0 100%, 100% 100%, 50% 14%);
}

.service-stage__inner {
    position: relative;
    z-index: 1;
    display: flex;
    flex-direction: column;
    justify-content: center;
    min-height: 720px;
    padding: 8.5rem 3rem;
}

.service-stage__header {
    max-width: 760px;
    margin: 0 auto 2.2rem;
    text-align: center;
}

.service-stage__header h3 {
    margin: 0;
    color: #fff8ef;
    font-size: clamp(3.2rem, 7vw, 5.8rem);
    line-height: 0.94;
    text-transform: uppercase;
    letter-spacing: 0.02em;
}

.service-stage__line {
    display: block;
    width: min(100%, 810px);
    height: 6px;
    margin: 1rem auto 0;
    background: #e12831;
}

.service-stage__grid {
    overflow: hidden;
}

.service-stage__track {
    display: grid;
    gap: 1rem;
    align-items: end;
}

.service-stage--sizes .service-stage__track,
.service-stage--specials .service-stage__track {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.service-stage--premium .service-stage__track {
    grid-template-columns: repeat(5, minmax(0, 1fr));
}

.service-stage-card {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0.9rem;
    text-align: center;
}

.service-stage-card__icon,
.service-modal__icon {
    position: relative;
    width: 112px;
    height: 112px;
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
    filter: drop-shadow(0 14px 22px rgba(0, 0, 0, 0.22));
}

.service-stage-card__icon::before,
.service-modal__icon::before {
    content: "";
    display: block;
    width: 100%;
    height: 100%;
    background: #ffffff;
    -webkit-mask-repeat: no-repeat;
    -webkit-mask-position: center;
    -webkit-mask-size: contain;
    mask-repeat: no-repeat;
    mask-position: center;
    mask-size: contain;
}

.service-stage-card__icon--small::before,
.service-stage-card__icon--medium::before,
.service-stage-card__icon--large::before,
.service-stage-card__icon--sale::before {
    -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 64'%3E%3Cg fill='none' stroke='black' stroke-width='3.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M11 36c3-8 8-12 17-12h11c8 0 16 5 20 14H8Z'/%3E%3Ccircle cx='19' cy='40' r='6'/%3E%3Ccircle cx='47' cy='40' r='6'/%3E%3Cpath d='M15 24h7m20 0h7M9 36h46m-35-8 4-9m16 9-4-9'/%3E%3C/g%3E%3C/svg%3E");
    mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 64'%3E%3Cg fill='none' stroke='black' stroke-width='3.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M11 36c3-8 8-12 17-12h11c8 0 16 5 20 14H8Z'/%3E%3Ccircle cx='19' cy='40' r='6'/%3E%3Ccircle cx='47' cy='40' r='6'/%3E%3Cpath d='M15 24h7m20 0h7M9 36h46m-35-8 4-9m16 9-4-9'/%3E%3C/g%3E%3C/svg%3E");
}

.service-stage-card__icon--motor::before {
    -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 64'%3E%3Cg fill='none' stroke='black' stroke-width='3.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M17 39h8l6-10h8l6 10h6v8H17z'/%3E%3Cpath d='M24 39v-8l6-5m10 5v8m-6-22v8m-10 18-4 4m26-4 4 4'/%3E%3Ccircle cx='24' cy='47' r='3'/%3E%3Ccircle cx='48' cy='47' r='3'/%3E%3C/g%3E%3C/svg%3E");
    mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 64'%3E%3Cg fill='none' stroke='black' stroke-width='3.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M17 39h8l6-10h8l6 10h6v8H17z'/%3E%3Cpath d='M24 39v-8l6-5m10 5v8m-6-22v8m-10 18-4 4m26-4 4 4'/%3E%3Ccircle cx='24' cy='47' r='3'/%3E%3Ccircle cx='48' cy='47' r='3'/%3E%3C/g%3E%3C/svg%3E");
}

.service-stage-card__icon--headlights::before {
    -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 64'%3E%3Cg fill='none' stroke='black' stroke-width='3.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M18 31c6-8 14-12 24-12s18 4 24 12c-6 8-14 12-24 12S24 39 18 31Z'/%3E%3Ccircle cx='42' cy='31' r='6'/%3E%3Cpath d='M14 21v20m-5-15h5m-5 10h5'/%3E%3C/g%3E%3C/svg%3E");
    mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 64'%3E%3Cg fill='none' stroke='black' stroke-width='3.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M18 31c6-8 14-12 24-12s18 4 24 12c-6 8-14 12-24 12S24 39 18 31Z'/%3E%3Ccircle cx='42' cy='31' r='6'/%3E%3Cpath d='M14 21v20m-5-15h5m-5 10h5'/%3E%3C/g%3E%3C/svg%3E");
}

.service-stage-card__icon--decon::before,
.service-stage-card__icon--polish::before,
.service-stage-card__icon--ceramic::before {
    -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 64'%3E%3Cg fill='none' stroke='black' stroke-width='3.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='32' cy='32' r='10'/%3E%3Cpath d='M32 12v8m0 24v8M12 32h8m24 0h8M18 18l6 6m16 16 6 6m0-28-6 6M24 40l-6 6'/%3E%3Ccircle cx='32' cy='32' r='20'/%3E%3C/g%3E%3C/svg%3E");
    mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 64'%3E%3Cg fill='none' stroke='black' stroke-width='3.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='32' cy='32' r='10'/%3E%3Cpath d='M32 12v8m0 24v8M12 32h8m24 0h8M18 18l6 6m16 16 6 6m0-28-6 6M24 40l-6 6'/%3E%3Ccircle cx='32' cy='32' r='20'/%3E%3C/g%3E%3C/svg%3E");
}

.service-stage-card__icon--small,
.service-stage-card__icon--medium,
.service-stage-card__icon--large {
    width: 140px;
    height: 108px;
}

.service-stage-card__icon--small::after,
.service-stage-card__icon--medium::after,
.service-stage-card__icon--large::after {
    content: "";
    position: absolute;
    top: 0;
    right: 8px;
    width: 18px;
    height: 18px;
    border-radius: 50%;
    background: #ffffff;
}

.service-stage-card__icon--small::after {
    box-shadow: 22px 0 0 #ffffff;
}

.service-stage-card__icon--medium::after {
    box-shadow: 22px 0 0 #ffffff, 44px 0 0 #ffffff;
}

.service-stage-card__icon--large::after {
    box-shadow: 22px 0 0 #ffffff, 44px 0 0 #ffffff, 66px 0 0 #ffffff;
}

.service-stage-card h4 {
    margin: 0;
    color: #fff9f0;
    font-size: clamp(2rem, 4vw, 3.3rem);
    line-height: 0.95;
    text-transform: uppercase;
}

.service-stage-card__accent {
    margin: 0;
    color: #ff3a42;
    font-size: clamp(1rem, 1.6vw, 1.2rem);
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.05em;
}

.service-stage-card__button {
    min-width: 190px;
    border-radius: 999px;
    background: #f8f3ed;
    color: #cf232b;
    border: 0;
}

.service-stage__dots {
    display: none;
}

.service-stage .service-slide {
    border: 0;
    background: transparent;
    box-shadow: none;
}

.service-stage--sizes {
    max-width: none;
    width: min(100% - 2rem, 1640px);
}

.service-stage--sizes .service-stage__media img {
    object-position: center center;
}

.service-stage--sizes .service-stage__inner {
    padding-inline: clamp(1.5rem, 6vw, 6rem);
}

.service-stage--sizes .service-stage__track {
    max-width: 1180px;
    margin-inline: auto;
}

.service-stage--sizes .service-stage-card {
    min-height: 350px;
    justify-content: flex-end;
}

.service-stage--sizes .service-stage-card__icon {
    margin-bottom: 0.6rem;
}

.service-stage--sizes .service-stage-card h4 {
    max-width: 13rem;
}

.service-stage-card__icon--small::before {
    -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 120 86'%3E%3Cg fill='none' stroke='black' stroke-width='5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M16 55c6-17 19-26 39-26h18c17 0 30 10 38 28H10Z'/%3E%3Cpath d='M31 29l8-13h32l13 13'/%3E%3Ccircle cx='34' cy='58' r='10'/%3E%3Ccircle cx='88' cy='58' r='10'/%3E%3Cpath d='M23 43h15m43 0h17M14 57h96'/%3E%3C/g%3E%3C/svg%3E");
    mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 120 86'%3E%3Cg fill='none' stroke='black' stroke-width='5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M16 55c6-17 19-26 39-26h18c17 0 30 10 38 28H10Z'/%3E%3Cpath d='M31 29l8-13h32l13 13'/%3E%3Ccircle cx='34' cy='58' r='10'/%3E%3Ccircle cx='88' cy='58' r='10'/%3E%3Cpath d='M23 43h15m43 0h17M14 57h96'/%3E%3C/g%3E%3C/svg%3E");
}

.service-stage-card__icon--medium::before {
    -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 120 86'%3E%3Cg fill='none' stroke='black' stroke-width='5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M13 56c7-21 23-32 47-32h18c16 0 27 10 33 32H9Z'/%3E%3Cpath d='M35 24l9-12h30l17 19'/%3E%3Ccircle cx='33' cy='60' r='10'/%3E%3Ccircle cx='88' cy='60' r='10'/%3E%3Cpath d='M19 44h20m35 0h27M13 56h98M52 24v30'/%3E%3C/g%3E%3C/svg%3E");
    mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 120 86'%3E%3Cg fill='none' stroke='black' stroke-width='5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M13 56c7-21 23-32 47-32h18c16 0 27 10 33 32H9Z'/%3E%3Cpath d='M35 24l9-12h30l17 19'/%3E%3Ccircle cx='33' cy='60' r='10'/%3E%3Ccircle cx='88' cy='60' r='10'/%3E%3Cpath d='M19 44h20m35 0h27M13 56h98M52 24v30'/%3E%3C/g%3E%3C/svg%3E");
}

.service-stage-card__icon--large::before {
    -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 120 86'%3E%3Cg fill='none' stroke='black' stroke-width='5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M14 24h70c12 0 20 8 25 22l4 12H10V28c0-2 2-4 4-4Z'/%3E%3Cpath d='M16 24V12h49l11 12M82 24v34M45 24v34'/%3E%3Ccircle cx='33' cy='60' r='10'/%3E%3Ccircle cx='91' cy='60' r='10'/%3E%3Cpath d='M10 58h103M16 39h22m15 0h18'/%3E%3C/g%3E%3C/svg%3E");
    mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 120 86'%3E%3Cg fill='none' stroke='black' stroke-width='5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M14 24h70c12 0 20 8 25 22l4 12H10V28c0-2 2-4 4-4Z'/%3E%3Cpath d='M16 24V12h49l11 12M82 24v34M45 24v34'/%3E%3Ccircle cx='33' cy='60' r='10'/%3E%3Ccircle cx='91' cy='60' r='10'/%3E%3Cpath d='M10 58h103M16 39h22m15 0h18'/%3E%3C/g%3E%3C/svg%3E");
}

.service-stage-card__icon--small::after,
.service-stage-card__icon--medium::after,
.service-stage-card__icon--large::after {
    display: none;
}

.service-home-spotlight {
    position: relative;
    overflow: hidden;
    padding: 2rem;
    border: 1px solid rgba(255, 255, 255, 0.08);
    border-radius: 32px;
    background: rgba(12, 12, 15, 0.72);
    box-shadow: 0 30px 80px rgba(0, 0, 0, 0.28);
}

.service-home-spotlight__backdrop {
    position: absolute;
    inset: 0;
    background:
        linear-gradient(180deg, rgba(10, 10, 12, 0.56), rgba(10, 10, 12, 0.82)),
        url("../img/detailing-general.webp") center/cover no-repeat;
    opacity: 0.94;
}

.service-home-spotlight > * {
    position: relative;
    z-index: 1;
}

.service-home-spotlight__header {
    max-width: 28rem;
    margin: 0 auto 1.5rem;
    text-align: center;
}

.service-home-spotlight__header h3 {
    margin: 0.35rem 0 0;
    color: #fff8ee;
    font-size: clamp(1.8rem, 4vw, 2.7rem);
    text-transform: uppercase;
    letter-spacing: 0.03em;
}

.service-home-spotlight__grid {
    overflow: hidden;
}

.service-home-spotlight__track {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 1rem;
}

.service-home-card {
    position: relative;
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    gap: 0.8rem;
    min-height: 100%;
    padding: 1.45rem 1.2rem 1.2rem;
    border: 1px solid rgba(255, 255, 255, 0.08);
    border-radius: 24px;
    background: linear-gradient(180deg, rgba(20, 20, 25, 0.94), rgba(13, 13, 16, 0.9));
    box-shadow: 0 18px 38px rgba(0, 0, 0, 0.24);
    text-align: center;
}

.service-home-card__icon {
    width: 108px;
    height: 108px;
    margin: 0 auto 0.15rem;
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
    filter: drop-shadow(0 10px 22px rgba(0, 0, 0, 0.24));
}

.service-home-card__icon--interior {
    background-image: url("../img/placeholder-interior.svg");
}

.service-home-card__icon--exterior {
    background-image: url("../img/placeholder-polish.svg");
}

.service-home-card__icon--complete {
    background-image: url("../img/placeholder-exterior.svg");
}

.service-home-card h4 {
    margin: 0;
    color: #fff8ee;
    font-size: clamp(1.5rem, 2.2vw, 2rem);
    line-height: 0.98;
    text-transform: uppercase;
    letter-spacing: 0.03em;
}

.service-home-card__accent {
    margin: 0;
    color: #ff3a42;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.06em;
}

.service-home-card p {
    margin: 0;
    color: rgba(245, 239, 229, 0.78);
}

.service-home-card__button {
    width: fit-content;
    min-width: 174px;
    margin: auto auto 0;
    padding-inline: 1.3rem;
    border-radius: 999px;
    background: #f5f1ea;
    color: #c92028;
    border: 1px solid rgba(255, 255, 255, 0.12);
    box-shadow: none;
}

.service-home-card__button:hover,
.service-home-card__button:focus-visible {
    background: #ffffff;
    color: #af161d;
}

.service-modal {
    position: fixed;
    inset: 0;
    z-index: 60;
    display: grid;
    place-items: center;
    padding: 1.2rem;
}

.service-modal[hidden] {
    display: none;
}

.service-modal__overlay {
    position: absolute;
    inset: 0;
    background: rgba(5, 5, 8, 0.72);
    backdrop-filter: blur(10px);
}

.service-modal__dialog {
    position: relative;
    z-index: 1;
    width: min(1040px, 100%);
    padding: 2.2rem;
    border: 1px solid rgba(255, 255, 255, 0.14);
    border-radius: 34px;
    background:
        linear-gradient(180deg, rgba(255, 255, 255, 0.07), transparent 18%),
        linear-gradient(180deg, rgba(10, 10, 12, 0.76), rgba(10, 10, 12, 0.9)),
        url("../img/detailing-general-2.webp") center/cover no-repeat;
    box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, 0.08),
        0 40px 90px rgba(0, 0, 0, 0.34);
}

.service-modal__dialog::before {
    content: "";
    position: absolute;
    top: 1.2rem;
    left: 2rem;
    right: 2rem;
    height: 4px;
    border-radius: 999px;
    background: linear-gradient(90deg, #f32f38, rgba(243, 47, 56, 0.28));
}

.service-modal__close {
    position: absolute;
    top: 0.85rem;
    right: 1rem;
    border: 0;
    background: transparent;
    color: rgba(255, 255, 255, 0.82);
    font-size: 2rem;
    line-height: 1;
    cursor: pointer;
}

.service-modal__content {
    display: grid;
    grid-template-columns: minmax(220px, 0.85fr) minmax(0, 1.15fr);
    gap: 2rem;
    align-items: start;
}

.service-modal__image {
    display: block;
    width: min(100%, 320px);
    aspect-ratio: 16 / 10;
    margin-bottom: 1.2rem;
    border-radius: 24px;
    object-fit: cover;
    object-position: center center;
    border: 1px solid rgba(255, 255, 255, 0.14);
    background: rgba(13, 13, 16, 0.68);
    box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, 0.12),
        0 22px 40px rgba(0, 0, 0, 0.32);
}

.service-modal--vehicle .service-modal__image {
    width: min(100%, 360px);
    aspect-ratio: 16 / 10;
    padding: 0.55rem;
    object-fit: contain;
    object-position: center center;
    background:
        linear-gradient(180deg, rgba(255, 255, 255, 0.04), rgba(255, 255, 255, 0.01)),
        rgba(10, 10, 12, 0.72);
    border-color: rgba(255, 255, 255, 0.12);
}

.service-modal__intro h3 {
    margin: 0;
    color: #fffaf1;
    font-size: clamp(2.15rem, 4vw, 4rem);
    line-height: 0.92;
    text-transform: uppercase;
    text-shadow: 0 16px 28px rgba(0, 0, 0, 0.28);
}

.service-modal__intro p {
    margin: 0.55rem 0 0;
    color: #f5c46f;
    font-size: clamp(1.05rem, 2vw, 1.4rem);
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.12em;
}

.service-modal__info ul {
    display: grid;
    gap: 1rem;
    margin: 0;
    padding: 0;
    list-style: none;
}

.service-modal__info li {
    position: relative;
    padding-left: 3.2rem;
    color: #fff8ee;
    font-size: clamp(1.02rem, 1.5vw, 1.16rem);
    line-height: 1.42;
    font-weight: 600;
}

.service-modal__info li::before {
    content: "✓";
    position: absolute;
    left: 0;
    top: -0.05rem;
    display: grid;
    place-items: center;
    width: 2rem;
    height: 2rem;
    border: 2px solid #d8222b;
    border-radius: 50%;
    color: #d8222b;
    font-size: 1rem;
}

.service-modal__actions {
    display: flex;
    justify-content: space-between;
    gap: 1rem;
    margin-top: 1.7rem;
    padding-top: 1.5rem;
    border-top: 1px solid rgba(216, 34, 43, 0.6);
}

.service-modal__actions .button {
    min-width: 210px;
}

.service-modal__actions [data-service-modal-rates] {
    border-color: rgba(216, 177, 95, 0.28);
    background: rgba(255, 255, 255, 0.03);
    color: #fff5e7;
}

.service-modal__actions [data-service-modal-cta] {
    border-color: rgba(216, 177, 95, 0.26);
    background: linear-gradient(135deg, #f4e1bb, #d7ae66);
    color: #17110b;
    box-shadow: 0 14px 30px rgba(170, 122, 52, 0.22);
}

.service-modal__actions [data-service-modal-cta]:hover,
.service-modal__actions [data-service-modal-cta]:focus-visible {
    background: linear-gradient(135deg, #f7e8c9, #ddb56e);
    color: #120d08;
}

@media (max-width: 719px) {
    .service-stage {
        min-height: auto;
        border-radius: 24px;
    }

    .service-stage__shape {
        height: 70px;
    }

    .service-stage__inner {
        min-height: auto;
        padding: 5.3rem 1.2rem;
    }

    .service-stage__header {
        margin-bottom: 1.25rem;
    }

    .service-stage__header h3 {
        font-size: 2.55rem;
    }

    .service-stage__line {
        width: 82%;
        height: 4px;
    }

    .service-stage__track {
        display: flex;
        gap: 0;
        transition: transform 0.35s ease;
        will-change: transform;
    }

    .service-stage-card {
        min-width: 100%;
        padding-inline: 0.4rem;
    }

    .service-stage--premium .service-stage__track,
    .service-stage--sizes .service-stage__track,
    .service-stage--specials .service-stage__track {
        grid-template-columns: none;
    }

    .service-stage-card__icon {
        width: 96px;
        height: 96px;
    }

    .service-stage-card h4 {
        font-size: 2rem;
    }

    .service-stage__dots {
        display: flex;
        justify-content: center;
        gap: 0.5rem;
        margin-top: 1rem;
    }

    .service-stage__dots button {
        width: 8px;
        height: 8px;
        padding: 0;
        border: 0;
        border-radius: 50%;
        background: rgba(255, 255, 255, 0.26);
    }

    .service-stage__dots button.is-active {
        background: #d8222b;
    }

    .service-home-spotlight {
        padding: 1.2rem;
        border-radius: 24px;
    }

    .service-home-spotlight__header {
        margin-bottom: 1rem;
    }

    .service-home-spotlight__track {
        display: flex;
        gap: 0;
        transition: transform 0.35s ease;
        will-change: transform;
    }

    .service-home-card {
        min-width: 100%;
        padding: 1.2rem 1rem 1rem;
    }

    .service-home-card__icon {
        width: 92px;
        height: 92px;
    }

    .service-home-card h4 {
        font-size: 1.55rem;
    }

    .service-home-spotlight__dots {
        display: flex;
        justify-content: center;
        gap: 0.5rem;
        margin-top: 0.95rem;
    }

    .service-home-spotlight__dots button {
        width: 8px;
        height: 8px;
        padding: 0;
        border: 0;
        border-radius: 50%;
        background: rgba(255, 255, 255, 0.25);
    }

    .service-home-spotlight__dots button.is-active {
        background: #d8222b;
    }

    .service-modal__dialog {
        padding: 1.15rem;
        border-width: 3px;
        border-radius: 24px;
    }

    .service-modal__content {
        grid-template-columns: 1fr;
        gap: 1.2rem;
    }

    .service-modal__icon {
        width: 72px;
        height: 72px;
        margin-bottom: 0.7rem;
    }

    .service-modal__intro h3 {
        font-size: 2rem;
    }

    .service-modal__intro p {
        font-size: 1.18rem;
    }

    .service-modal__info li {
        padding-left: 2.6rem;
        font-size: 1rem;
    }

    .service-modal__info li::before {
        width: 1.7rem;
        height: 1.7rem;
    }

    .service-modal__actions {
        flex-direction: column;
    }

    .service-modal__actions .button {
        width: 100%;
        min-width: 0;
    }
}

/* Home vehicle service cards */
.hero-categories--vehicles,
.hero-categories--specials,
.hero-categories--premium {
    position: relative;
    background:
        linear-gradient(180deg, rgba(11, 12, 15, 0.72), rgba(11, 12, 15, 0.88)),
        url("../img/detailing-general.webp") center/cover no-repeat;
}

.hero-categories--specials {
    background:
        linear-gradient(180deg, rgba(11, 12, 15, 0.72), rgba(11, 12, 15, 0.88)),
        url("../img/limpieza-de-motor.webp") center/cover no-repeat;
}

.hero-categories--premium {
    background:
        linear-gradient(180deg, rgba(11, 12, 15, 0.72), rgba(11, 12, 15, 0.88)),
        url("../img/pulido-de-faros.webp") center/cover no-repeat;
}

.hero-categories--vehicles::before,
.hero-categories--specials::before,
.hero-categories--premium::before {
    content: "";
    position: absolute;
    inset: 0;
    background:
        radial-gradient(circle at 50% 12%, rgba(255, 255, 255, 0.12), transparent 34%),
        linear-gradient(90deg, rgba(255, 255, 255, 0.03), transparent 22%, transparent 78%, rgba(255, 255, 255, 0.03));
    pointer-events: none;
}

.hero-categories--vehicles .hero-categories__panel,
.hero-categories--specials .hero-categories__panel,
.hero-categories--premium .hero-categories__panel {
    padding: 1.65rem 0;
}

.hero-categories--vehicles .hero-categories__heading,
.hero-categories--specials .hero-categories__heading,
.hero-categories--premium .hero-categories__heading {
    max-width: 760px;
    margin-inline: auto;
    margin-bottom: 1.7rem;
}

.hero-categories--vehicles .hero-categories__heading::after,
.hero-categories--specials .hero-categories__heading::after,
.hero-categories--premium .hero-categories__heading::after {
    content: "";
    display: block;
    width: min(100%, 360px);
    height: 4px;
    margin: 1rem auto 0;
    border-radius: 999px;
    background: linear-gradient(90deg, rgba(243, 47, 56, 0.08), #f32f38, rgba(243, 47, 56, 0.08));
}

.hero-categories--vehicles .hero-categories__heading h2,
.hero-categories--specials .hero-categories__heading h2,
.hero-categories--premium .hero-categories__heading h2 {
    color: #fff8ef;
    text-shadow: 0 5px 0 rgba(0, 0, 0, 0.18);
}

.hero-categories--vehicles .hero-categories__grid,
.hero-categories--specials .hero-categories__grid,
.hero-categories--premium .hero-categories__grid {
    max-width: 1120px;
    margin-inline: auto;
    gap: 1.45rem;
}

.hero-categories--vehicles .hero-category,
.hero-categories--specials .hero-category,
.hero-categories--premium .hero-category {
    position: relative;
    isolation: isolate;
    overflow: hidden;
    display: flex;
    flex-direction: column;
    align-items: center;
    min-height: 424px;
    padding: 1.95rem 1.5rem 1.65rem;
    border: 1px solid rgba(255, 255, 255, 0.14);
    border-radius: 30px;
    background:
        linear-gradient(180deg, rgba(255, 255, 255, 0.08), transparent 18%),
        linear-gradient(180deg, rgba(13, 14, 18, 0.9), rgba(7, 8, 11, 0.97));
    backdrop-filter: blur(12px);
    box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, 0.08),
        0 26px 58px rgba(0, 0, 0, 0.28);
    transition:
        transform 260ms ease,
        border-color 260ms ease,
        box-shadow 260ms ease,
        background 260ms ease;
}

.hero-categories--vehicles .hero-category::before,
.hero-categories--specials .hero-category::before,
.hero-categories--premium .hero-category::before {
    content: "";
    position: absolute;
    inset: 0;
    background:
        linear-gradient(180deg, rgba(255, 255, 255, 0.08), transparent 16%),
        linear-gradient(135deg, rgba(255, 255, 255, 0.12), transparent 18%, transparent 70%, rgba(255, 255, 255, 0.05));
    opacity: 0.92;
    pointer-events: none;
    z-index: -1;
}

.hero-categories--vehicles .hero-category::after,
.hero-categories--specials .hero-category::after,
.hero-categories--premium .hero-category::after {
    content: "";
    position: absolute;
    top: 1.1rem;
    left: 1.3rem;
    right: 1.3rem;
    height: 4px;
    border-radius: 999px;
    background: linear-gradient(90deg, rgba(243, 47, 56, 0.2), #f32f38, rgba(243, 47, 56, 0.2));
    opacity: 0.92;
    transform: scaleX(0.88);
    transition: opacity 260ms ease, transform 260ms ease;
    pointer-events: none;
}

.hero-categories--vehicles .hero-category {
    border-color: rgba(216, 177, 95, 0.16);
    background:
        linear-gradient(180deg, rgba(27, 24, 19, 0.24), transparent 22%),
        linear-gradient(180deg, rgba(20, 20, 24, 0.84), rgba(8, 9, 12, 0.96));
    box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, 0.06),
        0 24px 54px rgba(0, 0, 0, 0.28);
}

.hero-categories--premium .hero-category {
    border-color: rgba(229, 192, 120, 0.24);
    background:
        linear-gradient(180deg, rgba(43, 34, 18, 0.32), transparent 26%),
        linear-gradient(180deg, rgba(16, 16, 19, 0.86), rgba(8, 9, 12, 0.97));
}

.hero-categories--vehicles .hero-category:hover,
.hero-categories--specials .hero-category:hover,
.hero-categories--premium .hero-category:hover,
.hero-categories--vehicles .hero-category:focus-within,
.hero-categories--specials .hero-category:focus-within,
.hero-categories--premium .hero-category:focus-within {
    transform: translateY(-8px);
    border-color: rgba(242, 214, 156, 0.34);
    box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, 0.12),
        0 34px 74px rgba(0, 0, 0, 0.4);
}

.hero-categories--vehicles .hero-category:hover::after,
.hero-categories--specials .hero-category:hover::after,
.hero-categories--premium .hero-category:hover::after,
.hero-categories--vehicles .hero-category:focus-within::after,
.hero-categories--specials .hero-category:focus-within::after,
.hero-categories--premium .hero-category:focus-within::after {
    opacity: 1;
    transform: scaleX(1);
}

.hero-categories--vehicles .hero-category__icon,
.hero-categories--specials .hero-category__icon,
.hero-categories--premium .hero-category__icon {
    width: 44px;
    height: 44px;
    margin-bottom: 1.05rem;
    border-width: 1px;
    border-color: rgba(255, 255, 255, 0.22);
    background:
        linear-gradient(180deg, rgba(255, 255, 255, 0.14), rgba(255, 255, 255, 0.04)),
        rgba(11, 11, 14, 0.72);
    box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, 0.1),
        0 12px 26px rgba(0, 0, 0, 0.28);
    color: #fff8ef;
    font-size: 0.92rem;
    transition: transform 260ms ease, box-shadow 260ms ease, border-color 260ms ease;
}

.hero-category__visual,
.service-modal__icon {
    display: block;
    width: 126px;
    height: 96px;
    margin-bottom: 1.3rem;
    background: #ffffff;
    filter: drop-shadow(0 18px 28px rgba(0, 0, 0, 0.32));
    -webkit-mask-repeat: no-repeat;
    -webkit-mask-position: center;
    -webkit-mask-size: contain;
    mask-repeat: no-repeat;
    mask-position: center;
    mask-size: contain;
    transition: transform 280ms ease, filter 280ms ease, opacity 280ms ease;
}

.hero-category__visual--small,
.service-modal__icon.hero-category__visual--small {
    -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 120 86'%3E%3Cg fill='none' stroke='black' stroke-width='5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M16 55c6-17 19-26 39-26h18c17 0 30 10 38 28H10Z'/%3E%3Cpath d='M31 29l8-13h32l13 13'/%3E%3Ccircle cx='34' cy='58' r='10'/%3E%3Ccircle cx='88' cy='58' r='10'/%3E%3Cpath d='M23 43h15m43 0h17M14 57h96'/%3E%3C/g%3E%3C/svg%3E");
    mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 120 86'%3E%3Cg fill='none' stroke='black' stroke-width='5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M16 55c6-17 19-26 39-26h18c17 0 30 10 38 28H10Z'/%3E%3Cpath d='M31 29l8-13h32l13 13'/%3E%3Ccircle cx='34' cy='58' r='10'/%3E%3Ccircle cx='88' cy='58' r='10'/%3E%3Cpath d='M23 43h15m43 0h17M14 57h96'/%3E%3C/g%3E%3C/svg%3E");
}

.hero-category__visual--medium,
.service-modal__icon.hero-category__visual--medium {
    -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 120 86'%3E%3Cg fill='none' stroke='black' stroke-width='5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M13 56c7-21 23-32 47-32h18c16 0 27 10 33 32H9Z'/%3E%3Cpath d='M35 24l9-12h30l17 19'/%3E%3Ccircle cx='33' cy='60' r='10'/%3E%3Ccircle cx='88' cy='60' r='10'/%3E%3Cpath d='M19 44h20m35 0h27M13 56h98M52 24v30'/%3E%3C/g%3E%3C/svg%3E");
    mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 120 86'%3E%3Cg fill='none' stroke='black' stroke-width='5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M13 56c7-21 23-32 47-32h18c16 0 27 10 33 32H9Z'/%3E%3Cpath d='M35 24l9-12h30l17 19'/%3E%3Ccircle cx='33' cy='60' r='10'/%3E%3Ccircle cx='88' cy='60' r='10'/%3E%3Cpath d='M19 44h20m35 0h27M13 56h98M52 24v30'/%3E%3C/g%3E%3C/svg%3E");
}

.hero-category__visual--large,
.service-modal__icon.hero-category__visual--large {
    -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 120 86'%3E%3Cg fill='none' stroke='black' stroke-width='5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M14 24h70c12 0 20 8 25 22l4 12H10V28c0-2 2-4 4-4Z'/%3E%3Cpath d='M16 24V12h49l11 12M82 24v34M45 24v34'/%3E%3Ccircle cx='33' cy='60' r='10'/%3E%3Ccircle cx='91' cy='60' r='10'/%3E%3Cpath d='M10 58h103M16 39h22m15 0h18'/%3E%3C/g%3E%3C/svg%3E");
    mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 120 86'%3E%3Cg fill='none' stroke='black' stroke-width='5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M14 24h70c12 0 20 8 25 22l4 12H10V28c0-2 2-4 4-4Z'/%3E%3Cpath d='M16 24V12h49l11 12M82 24v34M45 24v34'/%3E%3Ccircle cx='33' cy='60' r='10'/%3E%3Ccircle cx='91' cy='60' r='10'/%3E%3Cpath d='M10 58h103M16 39h22m15 0h18'/%3E%3C/g%3E%3C/svg%3E");
}

.hero-category__visual--motor,
.service-modal__icon.hero-category__visual--motor {
    -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 90 90'%3E%3Cg fill='none' stroke='black' stroke-width='5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M22 56h12l8-15h13l8 15h10v13H22z'/%3E%3Cpath d='M32 56V43l10-8m17 8v13M48 20v13m-18 30-7 7m45-7 7 7'/%3E%3Ccircle cx='33' cy='69' r='4'/%3E%3Ccircle cx='67' cy='69' r='4'/%3E%3C/g%3E%3C/svg%3E");
    mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 90 90'%3E%3Cg fill='none' stroke='black' stroke-width='5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M22 56h12l8-15h13l8 15h10v13H22z'/%3E%3Cpath d='M32 56V43l10-8m17 8v13M48 20v13m-18 30-7 7m45-7 7 7'/%3E%3Ccircle cx='33' cy='69' r='4'/%3E%3Ccircle cx='67' cy='69' r='4'/%3E%3C/g%3E%3C/svg%3E");
}

.hero-category__visual--headlights,
.service-modal__icon.hero-category__visual--headlights {
    -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 90 90'%3E%3Cg fill='none' stroke='black' stroke-width='5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M22 44c8-12 20-18 36-18s28 6 36 18c-8 12-20 18-36 18S30 56 22 44Z'/%3E%3Ccircle cx='58' cy='44' r='9'/%3E%3Cpath d='M16 29v30M8 37h8m-8 14h8'/%3E%3C/g%3E%3C/svg%3E");
    mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 90 90'%3E%3Cg fill='none' stroke='black' stroke-width='5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M22 44c8-12 20-18 36-18s28 6 36 18c-8 12-20 18-36 18S30 56 22 44Z'/%3E%3Ccircle cx='58' cy='44' r='9'/%3E%3Cpath d='M16 29v30M8 37h8m-8 14h8'/%3E%3C/g%3E%3C/svg%3E");
}

.hero-category__visual--decon,
.service-modal__icon.hero-category__visual--decon,
.hero-category__visual--polish,
.service-modal__icon.hero-category__visual--polish,
.hero-category__visual--ceramic,
.service-modal__icon.hero-category__visual--ceramic {
    -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 90 90'%3E%3Cg fill='none' stroke='black' stroke-width='5' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='45' cy='45' r='15'/%3E%3Cpath d='M45 13v14m0 36v14M13 45h14m36 0h14M24 24l10 10m22 22 10 10m0-42L56 34M34 56 24 66'/%3E%3Ccircle cx='45' cy='45' r='29'/%3E%3C/g%3E%3C/svg%3E");
    mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 90 90'%3E%3Cg fill='none' stroke='black' stroke-width='5' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='45' cy='45' r='15'/%3E%3Cpath d='M45 13v14m0 36v14M13 45h14m36 0h14M24 24l10 10m22 22 10 10m0-42L56 34M34 56 24 66'/%3E%3Ccircle cx='45' cy='45' r='29'/%3E%3C/g%3E%3C/svg%3E");
}



.hero-category__visual--sale,
.service-modal__icon.hero-category__visual--sale {
    -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 90 90'%3E%3Cg fill='none' stroke='black' stroke-width='5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M17 52c5-14 17-21 34-21h13c10 0 19 7 24 23H12Z'/%3E%3Ccircle cx='31' cy='57' r='8'/%3E%3Ccircle cx='69' cy='57' r='8'/%3E%3Cpath d='M25 31l8-12h25l11 12M15 54h72'/%3E%3Cpath d='M18 18h16l-16 16h16'/%3E%3C/g%3E%3C/svg%3E");
    mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 90 90'%3E%3Cg fill='none' stroke='black' stroke-width='5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M17 52c5-14 17-21 34-21h13c10 0 19 7 24 23H12Z'/%3E%3Ccircle cx='31' cy='57' r='8'/%3E%3Ccircle cx='69' cy='57' r='8'/%3E%3Cpath d='M25 31l8-12h25l11 12M15 54h72'/%3E%3Cpath d='M18 18h16l-16 16h16'/%3E%3C/g%3E%3C/svg%3E");
}

.hero-categories--vehicles .hero-category h3,
.hero-categories--specials .hero-category h3,
.hero-categories--premium .hero-category h3 {
    color: #fff8ef;
    font-size: clamp(1.95rem, 3vw, 2.9rem);
    text-shadow: 0 10px 22px rgba(0, 0, 0, 0.32);
}

.hero-categories--vehicles .hero-category p,
.hero-categories--specials .hero-category p,
.hero-categories--premium .hero-category p {
    margin-bottom: 1.35rem;
    color: rgba(255, 248, 239, 0.82);
    line-height: 1.55;
    max-width: 26ch;
}

.hero-categories--vehicles .hero-category .button,
.hero-categories--specials .hero-category .button,
.hero-categories--premium .hero-category .button {
    margin-top: auto;
    min-height: 52px;
    padding-inline: 1.65rem;
    background:
        linear-gradient(180deg, #fffaf4, #f3e9dc);
    color: #b11d23;
    border: 1px solid rgba(255, 255, 255, 0.34);
    box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, 0.72),
        0 12px 22px rgba(0, 0, 0, 0.18);
    transition:
        transform 220ms ease,
        box-shadow 220ms ease,
        border-color 220ms ease,
        background 220ms ease;
}

.hero-categories--vehicles .hero-category:hover .hero-category__icon,
.hero-categories--specials .hero-category:hover .hero-category__icon,
.hero-categories--premium .hero-category:hover .hero-category__icon,
.hero-categories--vehicles .hero-category:focus-within .hero-category__icon,
.hero-categories--specials .hero-category:focus-within .hero-category__icon,
.hero-categories--premium .hero-category:focus-within .hero-category__icon {
    transform: translateY(-2px) scale(1.05);
    border-color: rgba(255, 227, 176, 0.48);
    box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, 0.12),
        0 16px 30px rgba(0, 0, 0, 0.34);
}

.hero-categories--vehicles .hero-category:hover .hero-category__visual,
.hero-categories--specials .hero-category:hover .hero-category__visual,
.hero-categories--premium .hero-category:hover .hero-category__visual,
.hero-categories--vehicles .hero-category:focus-within .hero-category__visual,
.hero-categories--specials .hero-category:focus-within .hero-category__visual,
.hero-categories--premium .hero-category:focus-within .hero-category__visual {
    transform: translateY(-3px) scale(1.04);
    filter: drop-shadow(0 18px 28px rgba(0, 0, 0, 0.34));
}

.hero-categories--vehicles .hero-category .button:hover,
.hero-categories--specials .hero-category .button:hover,
.hero-categories--premium .hero-category .button:hover,
.hero-categories--vehicles .hero-category .button:focus-visible,
.hero-categories--specials .hero-category .button:focus-visible,
.hero-categories--premium .hero-category .button:focus-visible {
    transform: translateY(-2px);
    border-color: rgba(255, 255, 255, 0.56);
    background:
        linear-gradient(180deg, #ffffff, #f5eadf);
    box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, 0.8),
        0 16px 28px rgba(0, 0, 0, 0.22);
}

@media (min-width: 980px) {
    .hero-categories--premium .hero-categories__grid {
        max-width: 1480px;
        grid-template-columns: repeat(5, minmax(0, 1fr));
    }

    .hero-categories--premium .hero-category {
        min-height: 408px;
    }

    .hero-categories--premium .hero-category h3 {
        font-size: 1.62rem;
    }
}

@media (max-width: 719px) {
    .hero-categories--vehicles,
    .hero-categories--specials,
    .hero-categories--premium {
        padding-top: 3.2rem;
        padding-bottom: 4rem;
    }

    .hero-categories--vehicles .hero-category,
    .hero-categories--specials .hero-category,
    .hero-categories--premium .hero-category {
        min-height: auto;
        padding: 1.8rem 1.2rem 1.45rem;
    }

    .hero-category__visual,
    .service-modal__icon {
        width: 108px;
        height: 82px;
    }
}

.hero-category__visual--image {
    width: min(100%, 192px);
    height: 126px;
    margin-inline: auto;
    border-radius: 22px;
    object-fit: cover;
    background: transparent;
    border: 1px solid rgba(255, 255, 255, 0.1);
    box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, 0.08),
        0 18px 34px rgba(0, 0, 0, 0.28);
    filter: none;
}

/* Service typography alignment */
.service-pills__title,
.hero-categories__heading h2 {
    font-family: Impact, Haettenschweiler, "Arial Narrow Bold", sans-serif;
    letter-spacing: 0.04em;
    text-transform: uppercase;
}

.service-pills__title {
    color: #071529;
    font-size: clamp(1.55rem, 3vw, 2.2rem);
    line-height: 1;
}

.hero-categories__heading h2 {
    font-size: clamp(2.9rem, 5.8vw, 4.7rem);
    line-height: 0.92;
}

.hero-categories__heading .eyebrow {
    color: #f42626;
    font-family: Impact, Haettenschweiler, "Arial Narrow Bold", sans-serif;
    font-size: 0.78rem;
    letter-spacing: 0.22em;
    text-shadow: 0 8px 18px rgba(0, 0, 0, 0.24);
}

.hero-categories--vehicles .hero-category h3,
.hero-categories--specials .hero-category h3,
.hero-categories--premium .hero-category h3 {
    font-family: Impact, Haettenschweiler, "Arial Narrow Bold", sans-serif;
    font-size: clamp(1.65rem, 2.4vw, 2.25rem);
    line-height: 1.02;
    letter-spacing: 0.04em;
    overflow-wrap: anywhere;
    text-wrap: balance;
}

.hero-categories--vehicles .hero-category h3 {
    max-width: 8.5ch;
    margin-inline: auto;
}

@media (min-width: 980px) {
    .hero-categories--premium .hero-category h3 {
        font-size: 1.72rem;
    }
}

@media (prefers-reduced-motion: reduce) {
    .hero-categories--vehicles .hero-category,
    .hero-categories--specials .hero-category,
    .hero-categories--premium .hero-category,
    .hero-category__visual,
    .hero-categories--vehicles .hero-category__icon,
    .hero-categories--specials .hero-category__icon,
    .hero-categories--premium .hero-category__icon,
    .hero-categories--vehicles .hero-category .button,
    .hero-categories--specials .hero-category .button,
    .hero-categories--premium .hero-category .button {
        transition: none;
    }
}

/* Home service cards refined */
.hero-categories--vehicles .hero-categories__grid,
.hero-categories--specials .hero-categories__grid,
.hero-categories--premium .hero-categories__grid {
    gap: 2.6rem;
    align-items: start;
}

.hero-categories--vehicles .hero-category,
.hero-categories--specials .hero-category,
.hero-categories--premium .hero-category {
    position: relative;
    align-items: center;
    width: min(100%, 260px);
    min-height: 460px;
    padding: 0;
    border: 0;
    border-radius: 0;
    text-align: center;
    background: transparent;
    backdrop-filter: none;
    box-shadow: none;
    cursor: pointer;
    transition: transform 220ms ease, opacity 220ms ease;
}

.hero-categories--vehicles .hero-category::before,
.hero-categories--specials .hero-category::before,
.hero-categories--premium .hero-category::before {
    content: none;
}

.hero-categories--vehicles .hero-category::after,
.hero-categories--specials .hero-category::after,
.hero-categories--premium .hero-category::after {
    content: none;
}

.hero-categories--vehicles .hero-category__icon,
.hero-categories--specials .hero-category__icon,
.hero-categories--premium .hero-category__icon {
    display: none;
}

.hero-category__visual--image {
    width: 196px;
    height: 136px;
    margin: 0 auto 1.55rem;
    border-radius: 6px;
    object-fit: cover;
    object-position: center;
    border: 0;
    box-shadow: 0 14px 28px rgba(0, 0, 0, 0.22);
}

.hero-categories--vehicles .hero-category__visual--image {
    width: min(100%, 236px);
    height: 144px;
    padding: 0.25rem;
    object-fit: contain;
    object-position: center center;
    background: transparent;
}

.hero-categories--vehicles .hero-category--vehicle-01 .hero-category__visual--image {
    width: min(100%, 228px);
    height: 140px;
    transform: none;
}

.hero-categories--vehicles .hero-category--vehicle-02 .hero-category__visual--image {
    width: min(100%, 226px);
}

.hero-categories--vehicles .hero-category--vehicle-03 .hero-category__visual--image {
    width: min(100%, 228px);
}

.hero-categories--vehicles .hero-category p,
.hero-categories--specials .hero-category p,
.hero-categories--premium .hero-category p {
    width: 100%;
    max-width: 24ch;
    margin: 0 auto 1.35rem;
    color: rgba(255, 248, 239, 0.92);
    font-size: 0.98rem;
    line-height: 1.45;
}

.hero-categories--vehicles .hero-category .button,
.hero-categories--specials .hero-category .button,
.hero-categories--premium .hero-category .button {
    width: fit-content;
    min-width: 0;
    margin-top: auto;
    padding-inline: 1.55rem;
    align-self: center;
    background: #fff;
    color: #e02b31;
    border-radius: 999px;
    font-family: Impact, Haettenschweiler, "Arial Narrow Bold", sans-serif;
    font-size: 0.98rem;
    letter-spacing: 0.02em;
    text-transform: none;
}

.hero-categories--vehicles .hero-category:hover,
.hero-categories--specials .hero-category:hover,
.hero-categories--premium .hero-category:hover,
.hero-categories--vehicles .hero-category:focus-visible,
.hero-categories--specials .hero-category:focus-visible,
.hero-categories--premium .hero-category:focus-visible {
    transform: translateY(-4px);
}

.hero-categories--vehicles .hero-category:hover .hero-category__visual--image,
.hero-categories--specials .hero-category:hover .hero-category__visual--image,
.hero-categories--premium .hero-category:hover .hero-category__visual--image,
.hero-categories--vehicles .hero-category:focus-visible .hero-category__visual--image,
.hero-categories--specials .hero-category:focus-visible .hero-category__visual--image,
.hero-categories--premium .hero-category:focus-visible .hero-category__visual--image {
    box-shadow: 0 20px 36px rgba(0, 0, 0, 0.28);
}

.service-modal__image {
    width: 100%;
    max-width: 360px;
    height: 220px;
}

@media (min-width: 980px) {
    .hero-categories--vehicles .hero-categories__grid,
    .hero-categories--specials .hero-categories__grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .hero-categories--premium .hero-categories__grid {
        grid-template-columns: repeat(5, minmax(0, 1fr));
    }
}

@media (max-width: 979px) {
    .hero-category__visual--image {
        height: 112px;
    }

    .hero-categories--vehicles .hero-category__visual--image {
        height: 126px;
    }

    .hero-categories--vehicles .hero-category--vehicle-01 .hero-category__visual--image {
        width: min(100%, 206px);
        height: 124px;
    }
}

@media (max-width: 719px) {
    .hero-categories--vehicles .hero-category,
    .hero-categories--specials .hero-category,
    .hero-categories--premium .hero-category {
        padding: 0;
    }

    .hero-category__visual--image {
        width: min(100%, 160px);
        height: 104px;
    }

    .hero-categories--vehicles .hero-category__visual--image {
        width: min(100%, 188px);
        height: 118px;
    }

    .hero-categories--vehicles .hero-category--vehicle-01 .hero-category__visual--image {
        width: min(100%, 184px);
        height: 114px;
        transform: none;
    }

    .hero-categories--vehicles .hero-category .button,
    .hero-categories--specials .hero-category .button,
    .hero-categories--premium .hero-category .button {
        width: fit-content;
        justify-content: center;
    }
}

.hero-categories--vehicles .hero-categories__panel,
.hero-categories--specials .hero-categories__panel,
.hero-categories--premium .hero-categories__panel {
    padding: 3.6rem 0 4rem;
}

.hero-categories--vehicles .hero-categories__heading,
.hero-categories--specials .hero-categories__heading,
.hero-categories--premium .hero-categories__heading {
    max-width: 980px;
    margin-bottom: 3rem;
    margin-inline: auto;
    text-align: center;
}

.hero-categories--vehicles .hero-categories__heading .eyebrow,
.hero-categories--specials .hero-categories__heading .eyebrow,
.hero-categories--premium .hero-categories__heading .eyebrow {
    margin-bottom: 0.45rem;
}

.hero-categories--vehicles .hero-categories__heading h2,
.hero-categories--specials .hero-categories__heading h2,
.hero-categories--premium .hero-categories__heading h2 {
    font-size: clamp(2.35rem, 5.2vw, 4.2rem);
    line-height: 0.9;
}

.hero-categories--vehicles .hero-categories__heading::after,
.hero-categories--specials .hero-categories__heading::after,
.hero-categories--premium .hero-categories__heading::after {
    width: min(100%, 810px);
    margin-top: 1.2rem;
    background: #ff2f36;
}

.hero-categories--vehicles .hero-category h3,
.hero-categories--specials .hero-category h3,
.hero-categories--premium .hero-category h3 {
    width: 100%;
    min-height: 2.9em;
    margin: 0 0 0.85rem;
    color: #fff8ef;
    font-family: Impact, Haettenschweiler, "Arial Narrow Bold", sans-serif;
    font-size: clamp(1.85rem, 2.3vw, 2.95rem);
    line-height: 0.9;
    letter-spacing: 0.02em;
    text-transform: uppercase;
    text-wrap: balance;
    overflow-wrap: normal;
    word-break: normal;
}

.hero-categories--premium .hero-category h3 {
    font-size: clamp(1.55rem, 1.7vw, 2.15rem);
}

.hero-categories--specials .hero-categories__grid,
.hero-categories--premium .hero-categories__grid {
    max-width: 1360px;
    justify-items: center;
}

.hero-categories--premium .hero-category p,
.hero-categories--specials .hero-category p {
    max-width: 22ch;
}

.hero-categories--vehicles .hero-category,
.hero-categories--specials .hero-category,
.hero-categories--premium .hero-category {
    max-width: 260px;
    margin-inline: auto;
}

.hero-categories--specials .hero-category,
.hero-categories--premium .hero-category,
.hero-categories--vehicles .hero-category {
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
}

.hero-categories--vehicles .hero-category p,
.hero-categories--specials .hero-category p,
.hero-categories--premium .hero-category p {
    min-height: 4.7em;
}

@media (max-width: 719px) {
    .hero-categories {
        padding: 1.8rem 0 2.1rem;
    }

    .hero-categories__panel {
        padding: 0.7rem 0;
    }

    .hero-categories__heading {
        margin-bottom: 1rem;
    }

    .hero-categories__heading h2 {
        font-size: clamp(2.35rem, 11vw, 3.2rem);
    }

    .hero-categories--vehicles .hero-category h3,
    .hero-categories--specials .hero-category h3,
    .hero-categories--premium .hero-category h3 {
        min-height: 0;
        font-size: 1.7rem;
    }

    .hero-categories--vehicles .hero-category,
    .hero-categories--specials .hero-category,
    .hero-categories--premium .hero-category {
        width: min(100%, 240px);
        min-height: 0;
    }

    .hero-categories--vehicles .hero-category p,
    .hero-categories--specials .hero-category p,
    .hero-categories--premium .hero-category p {
        min-height: 0;
    }

    .hero-categories[data-mobile-carousel],
    .hero-categories__panel[data-mobile-carousel] {
        overflow: hidden;
    }

    .hero-categories__panel[data-mobile-carousel] .hero-categories__grid {
        display: flex;
        gap: 0;
        transition: transform 0.35s ease;
        will-change: transform;
    }

    .hero-categories__panel[data-mobile-carousel] .hero-category {
        width: 100%;
        min-width: 100%;
        max-width: 100%;
        padding-inline: 0.2rem;
    }

    .hero-categories__panel[data-mobile-carousel] .service-carousel__dots {
        display: flex;
        justify-content: center;
        gap: 0.5rem;
        margin-top: 0.7rem;
    }

    .hero-categories__panel[data-mobile-carousel] .service-carousel__dots button {
        width: 8px;
        height: 8px;
        padding: 0;
        border: 0;
        border-radius: 50%;
        background: rgba(255, 255, 255, 0.25);
    }

    .hero-categories__panel[data-mobile-carousel] .service-carousel__dots button.is-active {
        background: #d8222b;
    }

    .before-after {
        padding: 1rem;
        border-radius: 22px;
    }

    #galeria.section,
    #faqs.section--panel {
        padding: 2.3rem 0;
    }

    .before-after__heading {
        margin-bottom: 0.4rem;
    }

    .before-after__heading .eyebrow {
        font-size: 0.72rem;
        letter-spacing: 0.16em;
    }

    .before-after__heading h2 {
        font-size: clamp(1.8rem, 8vw, 2.4rem);
        line-height: 0.95;
    }

    .before-after__heading h2::after {
        width: min(100%, 220px);
        margin-top: 0.75rem;
    }

    .before-after__heading p:last-child {
        max-width: 30ch;
        margin-top: 0.75rem;
        font-size: 0.95rem;
        line-height: 1.5;
    }

    .before-after__track {
        min-height: 0;
    }

    .before-after__compare {
        grid-template-columns: 1fr;
        gap: 0.85rem;
    }

    .before-after__panel img {
        height: 190px;
        border-radius: 20px;
    }

    .before-after__panel {
        border-radius: 22px;
    }

    .before-after__label {
        top: 0.75rem;
        left: 0.75rem;
        min-height: 26px;
        padding: 0.25rem 0.55rem;
        font-size: 0.64rem;
        letter-spacing: 0.04em;
    }

    .before-after__caption strong {
        font-size: 1.28rem;
        line-height: 1;
    }

    .before-after__caption span {
        max-width: 28ch;
        font-size: 0.95rem;
        line-height: 1.45;
    }

    .before-after__caption {
        max-width: 30ch;
        margin-inline: auto;
        margin-top: 0.7rem;
    }

    .before-after__viewport {
        margin-top: 1rem;
    }

    .before-after__dots {
        margin-top: 0.65rem;
        margin-bottom: 0;
    }

    .before-after__dots button {
        width: 9px;
        height: 9px;
    }

    .products-rail {
        padding: 1rem;
        border-radius: 22px;
    }

    .products-rail__heading h2 {
        font-size: clamp(1.9rem, 8vw, 2.6rem);
    }

    .products-rail__heading h2::after {
        width: min(100%, 220px);
        margin-top: 0.75rem;
    }

    .products-rail__heading p:last-child {
        max-width: 30ch;
        margin-top: 0.75rem;
        font-size: 0.95rem;
        line-height: 1.5;
    }

    .products-rail__track {
        min-height: 360px;
    }

    .products-rail__slide {
        grid-template-columns: 1fr;
        gap: 0.8rem;
        align-content: start;
    }

    .products-rail__logo {
        min-height: 150px;
        padding: 1rem;
        border-radius: 20px;
    }

    .products-rail__logo img {
        max-height: 100px;
    }

    .products-rail__copy {
        text-align: center;
    }

    .products-rail__copy strong {
        font-size: 1.35rem;
    }

    .products-rail__copy span {
        max-width: 28ch;
        margin-inline: auto;
        font-size: 0.95rem;
        line-height: 1.45;
    }

    .sticky-book {
        right: 0.8rem;
        bottom: 4.8rem;
        width: 48px;
        height: 48px;
    }

    .sticky-book__icon {
        width: 30px;
        height: 30px;
    }
}

/* Force centered service pills */
.service-pills__inner {
    display: flex;
    flex-direction: column;
    align-items: center;
}

.service-pills__grid {
    display: inline-grid;
    width: auto;
    max-width: none;
    justify-content: center;
    justify-items: center;
    margin-inline: auto;
}

@media (min-width: 720px) {
    .service-pills__grid {
        grid-template-columns: repeat(3, minmax(250px, 290px));
    }
}

@media (min-width: 980px) {
    .service-pills__grid {
        grid-template-columns: repeat(3, minmax(250px, 290px));
    }
}

/* Header and booking button rebalance */
.site-header {
    background:
        linear-gradient(180deg, rgba(17, 12, 12, 0.94), rgba(17, 12, 12, 0.92)),
        linear-gradient(90deg, rgba(148, 29, 22, 0.18), rgba(200, 164, 93, 0.08));
}

.site-header__inner {
    display: grid;
    grid-template-columns: minmax(280px, 360px) minmax(0, 1fr) auto;
    align-items: center;
    gap: 1rem;
    min-height: 78px;
}

.brand {
    gap: 0.7rem;
}

.brand__logo {
    width: 62px;
    height: 62px;
    border-radius: 14px;
}

.brand__text {
    gap: 0.15rem;
}

.brand__text strong {
    font-size: 1.18rem;
    line-height: 1;
}

.brand__text span {
    color: #d6bf8e;
    font-size: 0.69rem;
    letter-spacing: 0.14em;
}

.main-nav {
    justify-self: center;
    display: inline-flex;
    align-items: center;
    gap: 0.55rem;
    padding: 0.35rem;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.03);
    border: 1px solid rgba(223, 191, 120, 0.12);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.04);
}

.main-nav a {
    padding: 0.6rem 0.95rem;
    border-radius: 999px;
    font-size: 0.88rem;
    letter-spacing: 0.08em;
    color: rgba(245, 239, 228, 0.82);
    transition: background 0.22s ease, color 0.22s ease, transform 0.22s ease;
}

.main-nav a::after {
    display: none;
}

.main-nav a:hover,
.main-nav a[aria-current="page"] {
    color: #fff9ef;
    background: rgba(200, 164, 93, 0.14);
    transform: translateY(-1px);
}

.site-header__cta {
    justify-self: end;
}

.header-phone--pill {
    min-height: 44px;
    padding: 0 0.8rem 0 0.58rem;
    gap: 0.55rem;
    border-color: rgba(223, 191, 120, 0.18);
    background: rgba(10, 10, 12, 0.6);
    box-shadow: none;
}

.header-phone__icon {
    width: 30px;
    height: 30px;
    background: rgba(200, 164, 93, 0.1);
}

.header-phone__icon svg {
    width: 15px;
    height: 15px;
}

.header-phone--pill span:last-child {
    font-size: 0.84rem;
    letter-spacing: 0.03em;
}

.sticky-book {
    bottom: 5rem;
    width: 50px;
    height: 50px;
    background: rgba(12, 14, 18, 0.92);
    border: 1px solid rgba(223, 191, 120, 0.28);
    box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, 0.05),
        0 16px 28px rgba(0, 0, 0, 0.22);
}

.sticky-book:hover,
.sticky-book:focus-visible {
    transform: translateY(-1px);
    background: rgba(16, 18, 24, 0.98);
}

.sticky-book__icon {
    width: 26px;
    height: 26px;
    background: transparent;
    color: #dfbf78;
}

.sticky-book__icon svg {
    width: 20px;
    height: 20px;
}

@media (max-width: 979px) {
    .site-header__inner {
        display: flex;
        align-items: center;
        justify-content: space-between;
        min-height: 74px;
    }

    .main-nav {
        position: absolute;
        top: calc(100% + 1px);
        left: 0;
        right: 0;
        display: table;
        flex-direction: column;
        gap: 0.35rem;
        padding: 0.95rem 1rem 1.05rem;
        border-radius: 0 0 20px 20px;
        background: rgba(12, 12, 14, 0.98);
        border: 0;
        border-bottom: 1px solid rgba(200, 164, 93, 0.18);
        box-shadow: 0 18px 36px rgba(0, 0, 0, 0.2);
    }

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

    .main-nav a {
        width: 100%;
        text-align: center;
        padding: 0.85rem 1rem;
    }

    .site-header__cta {
        display: none;
    }
}

@media (max-width: 719px) {
    .brand {
        max-width: calc(100% - 74px);
    }

    .brand__logo {
        width: 54px;
        height: 54px;
    }

    .brand__text strong {
        font-size: 0.92rem;
    }

    .brand__text span {
        font-size: 0.58rem;
        letter-spacing: 0.1em;
    }

    .sticky-book {
        right: 0.85rem;
        bottom: 4.7rem;
        width: 46px;
        height: 46px;
    }

    .sticky-book__icon {
        width: 24px;
        height: 24px;
    }

    .sticky-book__icon svg {
        width: 18px;
        height: 18px;
    }
}

/* Final header, products rail and sticky booking refinement */
.site-header .container {
    width: min(calc(100% - 2rem), 1120px);
}

.site-header__inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    min-height: 78px;
}

.brand {
    flex: 0 1 auto;
    min-width: 0;
}

.brand__logo {
    width: 64px;
    height: 64px;
}

.brand__text strong {
    font-size: 1.02rem;
}

.brand__text span {
    font-size: 0.62rem;
    letter-spacing: 0.12em;
}

.site-header__cluster {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 0.9rem;
    flex: 1 1 auto;
    min-width: 0;
}

.menu-toggle {
    display: none;
}

.main-nav {
    justify-self: auto;
    display: flex;
    align-items: center;
    gap: 0.2rem;
    padding: 0;
    border: 0;
    background: transparent;
    box-shadow: none;
}

.main-nav a {
    padding: 0.52rem 0.84rem;
    font-size: 0.84rem;
    letter-spacing: 0.08em;
}

.site-header__cta {
    flex: 0 0 auto;
}

.header-phone--pill {
    min-height: 44px;
    padding: 0 0.84rem 0 0.58rem;
    border-radius: 999px;
}

.header-phone--pill span:last-child {
    font-size: 0.84rem;
}

.hero-promo {
    margin-top: 0.7rem;
}

.products-rail--hero {
    max-width: 520px;
    margin: 0.55rem auto 0;
    padding: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
}

.products-rail--hero .products-rail__heading {
    margin-bottom: 0.35rem;
}

.products-rail--hero .products-rail__heading .eyebrow {
    font-size: 0.62rem;
}

.products-rail--hero .products-rail__heading h2 {
    font-size: clamp(0.96rem, 1.5vw, 1.1rem);
}

.products-rail--hero .products-rail__heading h2::after {
    width: 120px;
    margin-top: 0.35rem;
}

.products-rail--hero .products-rail__viewport {
    margin-top: 0.35rem;
}

.products-rail--hero .products-rail__track {
    min-height: 76px;
}

.products-rail--hero .products-rail__slide {
    grid-template-columns: 110px minmax(0, 1fr);
    gap: 0.75rem;
}

.products-rail--hero .products-rail__logo {
    min-height: 64px;
    padding: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
}

.products-rail--hero .products-rail__logo img {
    max-height: 40px;
    margin-inline: auto;
    filter: drop-shadow(0 10px 22px rgba(0, 0, 0, 0.18));
}

.products-rail--hero .products-rail__copy strong {
    font-size: 0.92rem;
    letter-spacing: 0.03em;
}

.products-rail--hero .products-rail__dots {
    margin-top: 0.35rem;
}

.sticky-book {
    right: 1rem;
    bottom: 4.9rem;
    width: 56px;
    height: 56px;
    padding: 0;
    border-radius: 50%;
}

.sticky-book__icon {
    width: 100%;
    height: 100%;
    color: #dfbf78;
}

.sticky-book__icon svg {
    width: 22px;
    height: 22px;
}

@media (max-width: 979px) {
    .site-header__cluster {
        display: contents;
    }

    .menu-toggle {
        display: inline-flex;
        order: 3;
    }

    .main-nav {
        position: absolute;
        top: calc(100% + 1px);
        left: 0;
        right: 0;
        display: none;
        flex-direction: column;
        gap: 0.35rem;
        padding: 0.95rem 1rem 1.05rem;
        background: rgba(12, 12, 14, 0.98);
        border-bottom: 1px solid rgba(200, 164, 93, 0.18);
        box-shadow: 0 18px 36px rgba(0, 0, 0, 0.2);
    }

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

    .site-header__cta {
        display: none;
    }
}

@media (max-width: 719px) {
    .site-header .container {
        width: min(calc(100% - 1rem), 1040px);
    }

    .brand__logo {
        width: 52px;
        height: 52px;
    }

    .brand__text strong {
        font-size: 0.88rem;
    }

    .brand__text span {
        font-size: 0.56rem;
    }

    .products-rail--hero {
        max-width: 310px;
        margin-top: 0.45rem;
    }

    .products-rail--hero .products-rail__track {
        min-height: 64px;
    }

    .products-rail--hero .products-rail__slide {
        grid-template-columns: 84px minmax(0, 1fr);
        gap: 0.55rem;
    }

    .products-rail--hero .products-rail__logo img {
        max-height: 32px;
    }

    .products-rail--hero .products-rail__copy strong {
        font-size: 0.78rem;
    }

    .sticky-book {
        right: 0.8rem;
        bottom: 4.8rem;
        width: 56px;
        height: 56px;
    }

    .sticky-book__icon svg {
        width: 20px;
        height: 20px;
    }
}

/* Products rail inside services strip */
.service-pills {
    padding-bottom: 3.2rem;
}

.products-rail--services {
    max-width: 640px;
    margin: 1.2rem auto 0;
    padding: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
}

.products-rail--services .products-rail__heading {
    margin-bottom: 0.4rem;
    text-align: center;
}

.products-rail--services .products-rail__heading .eyebrow {
    color: #ff5a4d;
    font-family: Impact, Haettenschweiler, "Arial Narrow Bold", sans-serif;
    font-size: 0.7rem;
    letter-spacing: 0.2em;
}

.products-rail--services .products-rail__heading h2 {
    margin: 0;
    color: #0f1b2d;
    font-family: Impact, Haettenschweiler, "Arial Narrow Bold", sans-serif;
    font-size: clamp(1.1rem, 1.9vw, 1.45rem);
    line-height: 1;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    text-shadow: none;
}

.products-rail--services .products-rail__heading h2::after {
    content: "";
    display: block;
    width: 130px;
    height: 3px;
    margin: 0.45rem auto 0;
    border-radius: 999px;
    background: linear-gradient(90deg, rgba(243, 47, 56, 0.1), #f32f38, rgba(243, 47, 56, 0.1));
}

.products-rail--services .products-rail__viewport {
    margin-top: 0.5rem;
}

.products-rail--services .products-rail__track {
    min-height: 108px;
}

.products-rail--services .products-rail__slide {
    grid-template-columns: 146px minmax(0, 1fr);
    gap: 1rem;
    align-items: center;
}

.products-rail--services .products-rail__logo {
    min-height: 64px;
    padding: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
}

.products-rail--services .products-rail__logo img {
    max-height: 240px;
    margin-inline: auto;
    filter: none;
}

.products-rail--services .products-rail__copy {
    text-align: left;
}

.products-rail--services .products-rail__copy strong {
    display: block;
    color: #0f1b2d;
    font-family: Impact, Haettenschweiler, "Arial Narrow Bold", sans-serif;
    font-size: 1rem;
    letter-spacing: 0.03em;
    text-transform: uppercase;
}

.products-rail--services .products-rail__copy span {
    display: none;
}

.products-rail--services .products-rail__dots {
    margin-top: 0.5rem;
}

.products-rail--services .products-rail__dots button {
    width: 13px;
    height: 13px;
    background: rgba(15, 27, 45, 0.18);
}

.products-rail--services .products-rail__dots button.is-active {
    background: #ff6b4d;
    transform: scale(1.08);
}

@media (max-width: 719px) {
    .service-pills {
        padding-bottom: 2.4rem;
    }

    .products-rail--services {
        max-width: 320px;
        margin-top: 1rem;
    }

    .products-rail--services .products-rail__heading h2 {
        font-size: 0.98rem;
    }

    .products-rail--services .products-rail__track {
        min-height: 88px;
    }

    .products-rail--services .products-rail__slide {
        grid-template-columns: 112px minmax(0, 1fr);
        gap: 0.7rem;
    }

    .products-rail--services .products-rail__logo img {
        max-height: 220px;
    }

    .products-rail--services .products-rail__copy strong {
        font-size: 0.88rem;
    }
}

/* Header and products final tune after logo-text removal */
@media (min-width: 980px) {
    .site-header .container {
        width: min(calc(100% - 2rem), 1120px);
    }

    .site-header__inner {
        position: relative;
        display: flex;
        align-items: center;
        justify-content: space-between;
        min-height: 68px;
    }

    .brand {
        flex: 0 0 auto;
        gap: 0;
    }

    .brand__logo {
        width: 60px;
        height: 60px;
    }

    .site-header__cluster {
        display: contents;
    }

    .main-nav {
        position: absolute;
        left: 50%;
        top: 50%;
        transform: translate(-50%, -50%);
        display: inline-flex;
        align-items: center;
        gap: 0.45rem;
        padding: 0.28rem 0.35rem;
        border-radius: 999px;
        background: rgba(255, 255, 255, 0.025);
        border: 1px solid rgba(223, 191, 120, 0.1);
    }

    .main-nav a {
        padding: 0.42rem 0.78rem;
        font-size: 0.76rem;
    }

    .site-header__cta {
        flex: 0 0 auto;
        margin-left: auto;
    }

    .header-phone--pill {
        min-height: 38px;
        padding: 0 0.68rem 0 0.46rem;
    }

    .header-phone__icon {
        width: 28px;
        height: 28px;
    }

    .header-phone--pill span:last-child {
        font-size: 0.76rem;
    }
}

.products-rail--services {
    max-width: 520px;
    margin-top: 0.9rem;
}

.products-rail--services .products-rail__heading {
    margin-bottom: 0.15rem;
}

.products-rail--services .products-rail__heading .eyebrow {
    margin: 0;
    color: #d7262f;
    font-size: 0.78rem;
    letter-spacing: 0.16em;
}

.products-rail--services .products-rail__heading h2 {
    display: none;
}

.products-rail--services .products-rail__viewport {
    margin-top: 0.35rem;
}

.products-rail--services .products-rail__track {
    min-height: 62px;
}

.products-rail--services .products-rail__slide {
    grid-template-columns: 108px auto;
    justify-content: center;
    gap: 0.7rem;
}

.products-rail--services .products-rail__logo {
    min-height: 52px;
}

.products-rail--services .products-rail__logo img {
    max-height: 200px;
}

.products-rail--services .products-rail__copy {
    text-align: left;
}

.products-rail--services .products-rail__copy strong {
    font-size: 0.84rem;
    line-height: 1;
}

.products-rail--services .products-rail__dots {
    margin-top: 0.2rem;
}

.products-rail--services .products-rail__dots button {
    width: 9px;
    height: 9px;
}

@media (max-width: 719px) {
    .products-rail--services {
        max-width: 290px;
        margin-top: 0.85rem;
    }

    .products-rail--services .products-rail__heading .eyebrow {
        font-size: 0.68rem;
    }

    .products-rail--services .products-rail__track {
        min-height: 56px;
    }

    .products-rail--services .products-rail__slide {
        grid-template-columns: 82px auto;
        gap: 0.45rem;
    }

    .products-rail--services .products-rail__logo img {
        max-height: 200px;
    }

    .products-rail--services .products-rail__copy strong {
        font-size: 0.74rem;
    }
}

/* Final mobile modal and desktop nav alignment */
@media (max-width: 719px) {
    .service-modal {
        align-items: center;
        padding: max(1rem, env(safe-area-inset-top)) 0.75rem 1rem;
        overflow-y: auto;
    }

    .service-modal__dialog {
        max-height: calc(100dvh - 2rem);
        margin: auto 0;
    }

    .service-modal__dialog::before {
        left: 1rem;
        right: 3rem;
        top: 0.95rem;
    }

    .service-modal__close {
        top: 0.65rem;
        right: 0.75rem;
    }

    .service-modal__image {
        display: none;
    }

    .service-modal__intro h3 {
        margin-top: 0.2rem;
    }
}

@media (min-width: 980px) {
    .main-nav {
        left: 50%;
        right: auto;
        width: auto;
        min-width: 0;
        justify-content: center;
    }

    .main-nav a {
        text-align: center;
    }
}

/* Reservations redesign */
.booking-hero {
    padding-top: calc(2.8rem + var(--header-height));
    padding-bottom: 2.2rem;
    background:
        linear-gradient(90deg, rgba(10, 10, 12, 0.84), rgba(10, 10, 12, 0.56) 48%, rgba(10, 10, 12, 0.72)),
        url("../img/detailing-general-2.webp") center/cover no-repeat;
}

.booking-hero__inner {
    grid-template-columns: minmax(0, 1.1fr) minmax(280px, 0.64fr);
    align-items: end;
    gap: 2rem;
}

.booking-hero__copy {
    max-width: 760px;
}

.booking-hero__copy .eyebrow {
    color: #d8b15f;
}

.booking-hero__copy h1 {
    color: #fff8ef;
    margin: 0;
    font-size: clamp(3rem, 6vw, 5rem);
    line-height: 0.94;
    letter-spacing: -0.04em;
    max-width: 9.2ch;
    text-shadow: 0 22px 40px rgba(0, 0, 0, 0.28);
}

.booking-hero__copy p:last-child {
    max-width: 30ch;
    margin-top: 1.2rem;
    color: rgba(245, 239, 229, 0.86);
    font-size: 1.1rem;
}

.booking-hero__notes {
    display: flex;
    flex-wrap: wrap;
    gap: 0.7rem;
    margin-top: 1.35rem;
}

.booking-hero__notes span {
    display: inline-flex;
    align-items: center;
    min-height: 42px;
    padding: 0.72rem 1rem;
    border-radius: 999px;
    border: 1px solid rgba(216, 177, 95, 0.16);
    background: rgba(22, 18, 18, 0.66);
    color: #f0deb9;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    font-size: 0.78rem;
}

.booking-hero__aside {
    padding: 1.35rem;
    border-radius: 28px;
    border: 1px solid rgba(216, 177, 95, 0.14);
    background:
        radial-gradient(circle at top right, rgba(216, 177, 95, 0.1), transparent 28%),
        linear-gradient(180deg, rgba(24, 21, 20, 0.88), rgba(18, 16, 15, 0.9));
    box-shadow: 0 24px 48px rgba(0, 0, 0, 0.18);
}

.booking-hero__aside strong {
    display: block;
    margin-bottom: 0.55rem;
    color: #fff8ef;
    font-size: 1.1rem;
}

.booking-hero__aside p {
    margin: 0;
    color: rgba(245, 239, 229, 0.74);
}

.booking-builder {
    padding-top: 0.75rem;
    padding-bottom: 3.5rem;
    background:
        radial-gradient(circle at top right, rgba(216, 177, 95, 0.1), transparent 26%),
        linear-gradient(180deg, #f2ede5 0%, #f7f4ef 100%);
}

.booking-builder__grid--request {
    grid-template-columns: minmax(0, 1.22fr) minmax(320px, 0.78fr);
    gap: 1.55rem;
}

.booking-panel--request,
.booking-summary--request {
    border-radius: 32px;
}

.booking-panel--request {
    padding: 1.6rem;
    background:
        linear-gradient(180deg, rgba(255, 252, 247, 0.98), rgba(246, 239, 229, 0.98));
    border: 1px solid rgba(216, 177, 95, 0.14);
    box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, 0.76),
        0 26px 58px rgba(22, 18, 14, 0.12);
}

.booking-summary--request {
    padding: 1.6rem;
    background:
        radial-gradient(circle at top right, rgba(216, 177, 95, 0.12), transparent 22%),
        linear-gradient(180deg, rgba(28, 24, 24, 0.97), rgba(20, 18, 18, 0.97));
    border: 1px solid rgba(216, 177, 95, 0.14);
    box-shadow: 0 28px 64px rgba(16, 14, 12, 0.18);
}

.booking-step--hero {
    margin-bottom: 0.4rem;
}

.booking-step--hero .eyebrow {
    color: #d7262f;
}

.booking-step--hero h2 {
    font-size: clamp(2rem, 3vw, 2.8rem);
    line-height: 0.96;
}

.booking-step__lead {
    max-width: 52ch;
    color: #5c4f43;
}

.booking-step--compact + .booking-step--compact {
    margin-top: 1.3rem;
    padding-top: 1.25rem;
    border-top: 1px solid rgba(24, 21, 18, 0.08);
}

.booking-step--compact h3 {
    margin: 0 0 0.85rem;
    color: #171412;
    font-size: 1.06rem;
}

.booking-step__hint {
    margin: -0.2rem 0 0.85rem;
    color: #7a6a59;
    font-size: 0.92rem;
}

.booking-size-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 0.75rem;
}

.booking-size-card,
.booking-service-card {
    width: 100%;
    border: 1px solid rgba(216, 177, 95, 0.18);
    border-radius: 22px;
    background: rgba(255, 255, 255, 0.78);
    text-align: left;
    box-shadow: 0 16px 30px rgba(22, 18, 14, 0.06);
    transition: transform 220ms ease, border-color 220ms ease, box-shadow 220ms ease, background 220ms ease;
}

.booking-size-card {
    padding: 1rem;
}

.booking-size-card strong,
.booking-service-card strong {
    display: block;
    color: #171412;
}

.booking-size-card span,
.booking-service-card span {
    display: block;
    margin-top: 0.32rem;
    color: #6a5d50;
    font-size: 0.9rem;
    line-height: 1.45;
}

.booking-size-card.is-selected,
.booking-service-card.is-selected {
    border-color: rgba(215, 38, 47, 0.45);
    background: linear-gradient(135deg, rgba(255, 255, 255, 0.96), rgba(255, 244, 225, 0.96));
    box-shadow: 0 18px 34px rgba(215, 38, 47, 0.12);
    transform: translateY(-2px);
}

.booking-service-groups {
    display: grid;
    gap: 1rem;
}

.booking-service-group h4 {
    margin: 0 0 0.7rem;
    color: #7c6855;
    font-size: 0.82rem;
    letter-spacing: 0.12em;
    text-transform: uppercase;
}

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

.booking-service-card {
    padding: 1rem 1rem 0.95rem;
}

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

.booking-form-grid--date {
    align-items: start;
}

.booking-field {
    display: grid;
    gap: 0.45rem;
}

.booking-field span,
.booking-field legend {
    color: #171412;
    font-size: 0.92rem;
    font-weight: 700;
}

.booking-field input,
.booking-field select,
.booking-field textarea {
    width: 100%;
    padding: 1rem 1.05rem;
    border: 1px solid rgba(24, 21, 18, 0.1);
    border-radius: 18px;
    background: rgba(255, 255, 255, 0.94);
    color: #181512;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.85);
}

.booking-field input::placeholder,
.booking-field textarea::placeholder {
    color: #778397;
}

.booking-field textarea {
    min-height: 140px;
    resize: vertical;
}

.booking-field input:focus,
.booking-field select:focus,
.booking-field textarea:focus {
    border-color: rgba(216, 177, 95, 0.62);
    box-shadow: 0 0 0 4px rgba(216, 177, 95, 0.12);
    outline: none;
}

.booking-field--full {
    grid-column: 1 / -1;
}

.booking-field--choice {
    margin: 0;
    padding: 0;
    border: 0;
}

.booking-chip-row--request {
    gap: 0.65rem;
}

.booking-chip-row--request .booking-chip {
    background: rgba(255, 255, 255, 0.96);
    border-color: rgba(216, 177, 95, 0.18);
    box-shadow: 0 10px 18px rgba(22, 18, 14, 0.06);
}

.booking-chip-row--request .booking-chip.is-selected {
    color: #7c211d;
}

.booking-request__notice {
    margin: 1.2rem 0 0;
    padding: 1rem 1.05rem;
    border-radius: 18px;
    border: 1px solid rgba(216, 177, 95, 0.22);
    background: linear-gradient(135deg, rgba(215, 38, 47, 0.06), rgba(216, 177, 95, 0.08));
    color: #7d2a24;
    font-weight: 700;
}

.booking-request__actions {
    display: flex;
    flex-wrap: wrap;
    gap: 0.85rem;
    margin-top: 1rem;
}

.booking-request__cta {
    min-width: 280px;
}

.booking-summary--request {
    position: sticky;
    top: calc(var(--header-height) + 1rem);
}

.booking-summary--request .eyebrow,
.booking-summary--request dt {
    color: #d8b15f;
}

.booking-summary--request h2,
.booking-summary--request dd {
    color: #fff8ef;
}

.booking-summary__list--request {
    gap: 1rem;
}

.booking-summary__list--request dd {
    line-height: 1.46;
}

.booking-summary--request .booking-summary__note {
    color: rgba(245, 239, 229, 0.76);
}

.booking-steps {
    background:
        radial-gradient(circle at top center, rgba(216, 177, 95, 0.08), transparent 22%),
        linear-gradient(180deg, #f7f4ef 0%, #f0eae2 100%);
}

.booking-steps__heading {
    text-align: center;
    margin-inline: auto;
}

.booking-steps__grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 1rem;
}

.booking-step-card {
    padding: 1.3rem;
    border-radius: 26px;
    border: 1px solid rgba(216, 177, 95, 0.14);
    background: linear-gradient(180deg, rgba(255, 252, 247, 0.98), rgba(246, 239, 229, 0.98));
    box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, 0.72),
        0 20px 40px rgba(22, 18, 14, 0.1);
}

.booking-step-card span {
    display: inline-flex;
    margin-bottom: 0.75rem;
    color: #d7262f;
    font-family: Impact, Haettenschweiler, "Arial Narrow Bold", sans-serif;
    font-size: 1.05rem;
    letter-spacing: 0.12em;
}

.booking-step-card h3 {
    margin: 0 0 0.5rem;
    color: #171412;
    font-size: 1.04rem;
}

.booking-step-card p {
    margin: 0;
    color: #5c4f43;
}

@media (max-width: 979px) {
    .booking-hero__inner,
    .booking-builder__grid--request,
    .booking-steps__grid {
        grid-template-columns: 1fr;
    }

    .booking-summary--request {
        position: static;
    }
}

@media (max-width: 719px) {
    .booking-hero {
        padding-top: calc(2.4rem + var(--header-height));
        padding-bottom: 1.4rem;
    }

    .booking-hero__copy h1 {
        max-width: none;
        font-size: clamp(2.4rem, 10vw, 3.4rem);
    }

    .booking-hero__copy p:last-child {
        max-width: none;
        font-size: 1rem;
    }

    .booking-hero__notes {
        gap: 0.55rem;
    }

    .booking-hero__notes span {
        font-size: 0.68rem;
    }

    .booking-panel--request,
    .booking-summary--request {
        padding: 1.1rem;
        border-radius: 24px;
    }

    .booking-size-grid,
    .booking-service-grid,
    .booking-form-grid {
        grid-template-columns: 1fr;
    }

    .booking-request__actions {
        flex-direction: column;
    }

    .booking-request__cta {
        min-width: 0;
        width: 100%;
    }
}

/* Request page premium details */
.booking-service-card__price {
    display: inline-flex;
    margin-top: 0.72rem;
    color: #d7262f;
    font-style: normal;
    font-weight: 800;
    letter-spacing: 0.02em;
}

.booking-summary__services {
    margin-top: 1rem;
    padding-top: 1rem;
    border-top: 1px solid rgba(216, 177, 95, 0.14);
}

.booking-summary__empty {
    margin: 0;
    color: rgba(245, 239, 229, 0.66);
}

.booking-summary__service-list {
    display: grid;
    gap: 0.7rem;
}

.booking-summary__service-row {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 0.8rem;
    align-items: start;
    padding-bottom: 0.7rem;
    border-bottom: 1px solid rgba(255, 255, 255, 0.08);
}

.booking-summary__service-row span {
    color: #fff8ef;
    line-height: 1.4;
}

.booking-summary__service-row strong {
    color: #d8b15f;
    white-space: nowrap;
}

.booking-summary__total {
    display: flex;
    align-items: end;
    justify-content: space-between;
    gap: 1rem;
    margin-top: 1rem;
    padding-top: 1rem;
    border-top: 1px solid rgba(216, 177, 95, 0.18);
}

.booking-summary__total span {
    color: rgba(245, 239, 229, 0.74);
    font-size: 0.9rem;
    letter-spacing: 0.06em;
    text-transform: uppercase;
}

.booking-summary__total strong {
    color: #fff8ef;
    font-size: 1.5rem;
    line-height: 1;
}

.booking-summary__comments {
    margin-top: 1rem;
    padding-top: 1rem;
    border-top: 1px solid rgba(216, 177, 95, 0.12);
}

.booking-summary__comments dt {
    margin-bottom: 0.45rem;
    color: #d8b15f;
    font-size: 0.82rem;
    letter-spacing: 0.1em;
    text-transform: uppercase;
}

.booking-summary__comments dd {
    margin: 0;
    color: #fff8ef;
    line-height: 1.5;
}

@media (min-width: 980px) {
    .booking-hero {
        padding-top: calc(2.35rem + var(--header-height));
        padding-bottom: 1.8rem;
    }
}

/* Request page conversion */
.booking-builder__grid--request {
    grid-template-columns: minmax(0, 1.08fr) minmax(320px, 0.92fr);
    gap: 1.4rem;
}

.booking-panel--request,
.booking-summary--request {
    padding: 1.65rem;
}

.booking-panel--request {
    background: linear-gradient(180deg, rgba(255, 252, 247, 0.99), rgba(247, 242, 233, 0.99));
}

.booking-summary--request {
    background:
        radial-gradient(circle at top right, rgba(200, 164, 93, 0.12), transparent 24%),
        linear-gradient(180deg, rgba(255, 252, 247, 0.99), rgba(248, 243, 236, 0.99));
}

.booking-step__lead {
    margin: 0;
    color: #5f5348;
}

.booking-form-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1rem;
    margin-top: 1.2rem;
}

.booking-field {
    display: grid;
    gap: 0.45rem;
}

.booking-field span,
.booking-field legend {
    color: #171412;
    font-weight: 700;
}

.booking-field input,
.booking-field select,
.booking-field textarea {
    width: 100%;
    padding: 0.95rem 1rem;
    border: 1px solid rgba(24, 21, 18, 0.12);
    border-radius: 18px;
    background: rgba(255, 255, 255, 0.92);
    color: #181512;
}

.booking-field textarea {
    resize: vertical;
    min-height: 132px;
}

.booking-field--full {
    grid-column: 1 / -1;
}

.booking-field--choice {
    margin: 0;
    padding: 0;
    border: 0;
}

.booking-chip-row--request .booking-chip {
    background: rgba(255, 255, 255, 0.88);
}

.booking-request__notice {
    margin: 1.2rem 0 0;
    padding: 0.95rem 1rem;
    border-radius: 18px;
    border: 1px solid rgba(210, 49, 41, 0.18);
    background: rgba(210, 49, 41, 0.06);
    color: #7c2d27;
    font-weight: 700;
}

.booking-request__actions {
    display: flex;
    flex-wrap: wrap;
    gap: 0.85rem;
    margin-top: 1rem;
}

.booking-request__cta {
    min-width: 280px;
}

.booking-summary__list--request {
    margin-top: 1.15rem;
}

.booking-summary__list--request dd {
    line-height: 1.45;
}

.booking-steps__heading {
    max-width: 680px;
    margin-inline: auto;
    text-align: center;
}

.booking-steps__grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 1rem;
}

.booking-step-card {
    padding: 1.3rem;
    border-radius: 24px;
    border: 1px solid rgba(200, 164, 93, 0.16);
    background: linear-gradient(180deg, rgba(255, 252, 247, 0.98), rgba(247, 242, 233, 0.98));
    box-shadow: var(--shadow);
}

.booking-step-card span {
    display: inline-flex;
    margin-bottom: 0.8rem;
    color: #c2352b;
    font-family: Impact, Haettenschweiler, "Arial Narrow Bold", sans-serif;
    font-size: 1.1rem;
    letter-spacing: 0.12em;
}

.booking-step-card h3 {
    margin: 0 0 0.55rem;
    color: #171412;
    font-size: 1.08rem;
}

.booking-step-card p {
    margin: 0;
    color: #5f5348;
}

@media (max-width: 979px) {
    .booking-builder__grid--request,
    .booking-steps__grid {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 719px) {
    .booking-panel--request,
    .booking-summary--request {
        padding: 1.15rem;
    }

    .booking-form-grid {
        grid-template-columns: 1fr;
        gap: 0.85rem;
    }

    .booking-request__actions {
        flex-direction: column;
    }

    .booking-request__cta {
        min-width: 0;
        width: 100%;
    }
}

/* Reservations premium refinement */
.reservas {
    background:
        radial-gradient(circle at top right, rgba(200, 164, 93, 0.1), transparent 24%),
        linear-gradient(180deg, #121114 0%, #171418 22%, #f4f0e8 22%, #f6f3ee 100%);
}

.booking-hero {
    padding-top: calc(3.2rem + var(--header-height));
    padding-bottom: 2rem;
    background:
        linear-gradient(180deg, rgba(10, 10, 12, 0.78), rgba(10, 10, 12, 0.68)),
        radial-gradient(circle at top right, rgba(200, 164, 93, 0.14), transparent 28%),
        url("../img/detailing-general-2.webp") center/cover no-repeat;
}

.booking-hero__copy {
    max-width: 760px;
}

.booking-hero__copy .eyebrow {
    color: #d8b15f;
}

.booking-hero__copy h1 {
    color: #fff8ef;
    max-width: 12ch;
    text-shadow: 0 18px 34px rgba(0, 0, 0, 0.28);
}

.booking-hero__copy p {
    color: rgba(245, 239, 229, 0.84);
    max-width: 52ch;
}

.booking-hero__meta {
    justify-content: flex-start;
}

.booking-hero__meta span {
    background: rgba(18, 18, 22, 0.78);
    color: #f1dfbc;
    border-color: rgba(216, 177, 95, 0.16);
    box-shadow: 0 18px 34px rgba(0, 0, 0, 0.2);
}

.booking-builder {
    padding-top: 0.4rem;
    padding-bottom: 3.5rem;
    background:
        radial-gradient(circle at top left, rgba(200, 164, 93, 0.12), transparent 22%),
        linear-gradient(180deg, #f4f0e8 0%, #f8f5f0 100%);
}

.booking-builder__grid--request {
    gap: 1.6rem;
}

.booking-panel--request,
.booking-summary--request {
    border: 1px solid rgba(200, 164, 93, 0.16);
    border-radius: 30px;
    box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, 0.72),
        0 26px 54px rgba(29, 22, 17, 0.14);
}

.booking-panel--request {
    background:
        radial-gradient(circle at top right, rgba(200, 164, 93, 0.12), transparent 22%),
        linear-gradient(180deg, rgba(255, 252, 247, 0.98), rgba(247, 242, 233, 0.98));
}

.booking-summary--request {
    background:
        linear-gradient(180deg, rgba(20, 18, 18, 0.95), rgba(33, 25, 24, 0.95)),
        linear-gradient(135deg, rgba(200, 164, 93, 0.08), rgba(200, 164, 93, 0));
    color: #fff8ef;
    position: sticky;
    top: calc(var(--header-height) + 1rem);
}

.booking-summary--request h2,
.booking-summary--request dd {
    color: #fff8ef;
}

.booking-summary--request .eyebrow,
.booking-summary--request dt {
    color: #d8b15f;
}

.booking-summary--request .booking-summary__note {
    color: rgba(245, 239, 229, 0.76);
}

.booking-step h2,
.booking-summary h2 {
    font-size: 1.35rem;
}

.booking-field span,
.booking-field legend {
    font-size: 0.92rem;
    letter-spacing: 0.01em;
}

.booking-field input,
.booking-field select,
.booking-field textarea {
    border-color: rgba(24, 21, 18, 0.1);
    border-radius: 18px;
    background: rgba(255, 255, 255, 0.94);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.82);
}

.booking-field input:focus,
.booking-field select:focus,
.booking-field textarea:focus {
    border-color: rgba(200, 164, 93, 0.56);
    box-shadow: 0 0 0 4px rgba(216, 177, 95, 0.12);
    outline: none;
}

.booking-chip-row--request .booking-chip {
    border-color: rgba(200, 164, 93, 0.18);
    background: rgba(255, 255, 255, 0.98);
    box-shadow: 0 10px 20px rgba(25, 19, 14, 0.06);
}

.booking-chip-row--request .booking-chip.is-selected {
    color: #7a201c;
    background: linear-gradient(135deg, rgba(216, 177, 95, 0.24), rgba(255, 255, 255, 0.98));
    box-shadow: 0 12px 24px rgba(185, 139, 56, 0.14);
}

.booking-request__notice {
    border-color: rgba(200, 164, 93, 0.28);
    background: linear-gradient(135deg, rgba(215, 38, 47, 0.06), rgba(216, 177, 95, 0.08));
    color: #7b2a24;
}

.booking-request__actions .button--ghost {
    border-color: rgba(24, 21, 18, 0.12);
    background: rgba(255, 255, 255, 0.72);
}

.booking-steps {
    background:
        radial-gradient(circle at top center, rgba(200, 164, 93, 0.08), transparent 22%),
        linear-gradient(180deg, #f8f5f0 0%, #f1ece3 100%);
}

.booking-step-card {
    border-radius: 26px;
    box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, 0.72),
        0 22px 42px rgba(22, 18, 14, 0.12);
}

@media (max-width: 979px) {
    .booking-summary--request {
        position: static;
    }
}

@media (max-width: 719px) {
    .booking-hero {
        padding-top: calc(2.6rem + var(--header-height));
        padding-bottom: 1.3rem;
        background-position: center;
    }

    .booking-hero__copy h1 {
        max-width: none;
    }

    .booking-hero__meta {
        gap: 0.6rem;
    }

    .booking-hero__meta span {
        font-size: 0.72rem;
    }

    .booking-builder {
        padding-bottom: 2.5rem;
    }
}

/* Reservations premium redesign */
.reservas {
    background:
        radial-gradient(circle at top right, rgba(216, 177, 95, 0.12), transparent 26%),
        linear-gradient(180deg, #120f10 0%, #171213 19%, #f3eee6 19%, #f7f3ed 100%);
}

.request-hero {
    padding-top: calc(var(--header-height) + 3.2rem);
    padding-bottom: 2.1rem;
    background:
        linear-gradient(180deg, rgba(10, 9, 10, 0.7), rgba(10, 9, 10, 0.78)),
        radial-gradient(circle at top right, rgba(216, 177, 95, 0.14), transparent 28%),
        url("../img/detailing-general-2.webp") center/cover no-repeat;
}

.request-hero__grid {
    display: grid;
    grid-template-columns: minmax(0, 1.15fr) minmax(280px, 0.85fr);
    align-items: end;
    gap: 1.6rem;
}

.request-hero__copy {
    max-width: 760px;
}

.request-hero__copy .eyebrow,
.request-intro .eyebrow,
.request-brief .eyebrow,
.request-cta-block .eyebrow {
    color: #d8b15f;
}

.request-hero__copy h1 {
    max-width: 10.5ch;
    margin-bottom: 1rem;
    color: #fff8ef;
    font-size: clamp(3.2rem, 7vw, 5.7rem);
    line-height: 0.92;
    text-shadow: 0 18px 34px rgba(0, 0, 0, 0.28);
}

.request-hero__lead {
    max-width: 53ch;
    margin: 0;
    color: rgba(248, 242, 233, 0.84);
    font-size: 1.08rem;
    line-height: 1.75;
}

.request-hero__tags {
    display: flex;
    flex-wrap: wrap;
    gap: 0.8rem;
    margin-top: 1.35rem;
}

.request-hero__tags span,
.request-hero__signal strong {
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.request-hero__tags span {
    padding: 0.9rem 1.1rem;
    border: 1px solid rgba(216, 177, 95, 0.18);
    border-radius: 999px;
    background: rgba(21, 18, 19, 0.72);
    color: #f1dfbc;
    font-size: 0.82rem;
    box-shadow: 0 20px 44px rgba(0, 0, 0, 0.16);
}

.request-hero__spotlight {
    padding: 1.55rem;
    border: 1px solid rgba(216, 177, 95, 0.14);
    border-radius: 30px;
    background:
        linear-gradient(180deg, rgba(29, 24, 23, 0.92), rgba(18, 16, 15, 0.94)),
        radial-gradient(circle at top right, rgba(216, 177, 95, 0.08), transparent 24%);
    color: #fff8ef;
    box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, 0.05),
        0 30px 60px rgba(0, 0, 0, 0.22);
}

.request-hero__spotlight-label {
    margin: 0 0 0.45rem;
    color: #d8b15f;
    font-size: 0.82rem;
    font-weight: 700;
    letter-spacing: 0.18em;
    text-transform: uppercase;
}

.request-hero__spotlight h2 {
    margin: 0;
    font-size: clamp(1.45rem, 2vw, 2.1rem);
    line-height: 1.1;
}

.request-hero__list {
    display: grid;
    gap: 0.9rem;
    margin: 1.15rem 0 1.3rem;
    padding: 0;
    list-style: none;
}

.request-hero__list li {
    position: relative;
    padding-left: 1.5rem;
    color: rgba(248, 242, 233, 0.8);
    line-height: 1.55;
}

.request-hero__list li::before {
    content: "";
    position: absolute;
    left: 0;
    top: 0.58rem;
    width: 0.55rem;
    height: 0.55rem;
    border-radius: 50%;
    background: linear-gradient(135deg, #d8b15f, #ff5a45);
    box-shadow: 0 0 0 0.24rem rgba(216, 177, 95, 0.12);
}

.request-hero__signal {
    padding-top: 1rem;
    border-top: 1px solid rgba(216, 177, 95, 0.12);
}

.request-hero__signal strong {
    display: block;
    margin-bottom: 0.45rem;
    color: #fff8ef;
    font-size: 0.8rem;
}

.request-hero__signal span {
    color: rgba(248, 242, 233, 0.74);
    line-height: 1.65;
}

.request-flow {
    padding-top: 0.25rem;
    padding-bottom: 3.8rem;
    background:
        radial-gradient(circle at top left, rgba(216, 177, 95, 0.08), transparent 22%),
        linear-gradient(180deg, #f3eee6 0%, #f7f3ed 100%);
}

.request-shell {
    display: grid;
    grid-template-columns: minmax(0, 1.1fr) minmax(320px, 0.78fr);
    gap: 1.5rem;
    align-items: start;
}

.request-main,
.request-brief__panel {
    border: 1px solid rgba(159, 129, 80, 0.16);
    border-radius: 32px;
    background: rgba(255, 252, 247, 0.9);
    box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, 0.72),
        0 28px 60px rgba(33, 25, 19, 0.11);
    backdrop-filter: blur(10px);
}

.request-main {
    padding: 1.8rem;
}

.request-intro {
    display: grid;
    gap: 0.55rem;
    margin-bottom: 1.35rem;
}

.request-intro h2 {
    margin: 0;
    color: #171412;
    font-size: clamp(1.9rem, 3vw, 3rem);
    line-height: 0.98;
}

.request-intro p:last-child {
    max-width: 60ch;
    margin: 0;
    color: #6e6153;
    line-height: 1.7;
}

.request-step + .request-step {
    margin-top: 1.4rem;
    padding-top: 1.4rem;
    border-top: 1px solid rgba(159, 129, 80, 0.12);
}

.request-step__header {
    display: grid;
    grid-template-columns: auto 1fr;
    gap: 1rem;
    align-items: start;
    margin-bottom: 1rem;
}

.request-step__number {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 3rem;
    height: 3rem;
    border-radius: 18px;
    background: linear-gradient(135deg, rgba(17, 15, 16, 0.95), rgba(42, 34, 29, 0.95));
    color: #fff8ef;
    font-family: Impact, Haettenschweiler, "Arial Narrow Bold", sans-serif;
    font-size: 1.1rem;
    letter-spacing: 0.08em;
    box-shadow: 0 16px 28px rgba(22, 18, 14, 0.16);
}

.request-step__eyebrow {
    margin: 0 0 0.2rem;
    color: #c53b30;
    font-size: 0.78rem;
    font-weight: 800;
    letter-spacing: 0.18em;
    text-transform: uppercase;
}

.request-step__header h3 {
    margin: 0;
    color: #171412;
    font-size: 1.5rem;
    line-height: 1.05;
}

.request-step__support {
    max-width: 58ch;
    margin: 0 0 1rem;
    color: #6b5f52;
    line-height: 1.7;
}

.request-size-grid,
.request-service-grid,
.request-form-grid {
    display: grid;
    gap: 0.95rem;
}

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

.request-size-card,
.request-service-card {
    position: relative;
    width: 100%;
    overflow: hidden;
    border: 1px solid rgba(159, 129, 80, 0.14);
    border-radius: 26px;
    background:
        linear-gradient(180deg, rgba(255, 255, 255, 0.92), rgba(249, 244, 236, 0.92));
    text-align: left;
    box-shadow: 0 18px 28px rgba(22, 18, 14, 0.06);
    transition:
        transform 220ms ease,
        box-shadow 220ms ease,
        border-color 220ms ease,
        background 220ms ease;
}

.request-size-card:hover,
.request-service-card:hover,
.request-size-card:focus-visible,
.request-service-card:focus-visible {
    transform: translateY(-3px);
    border-color: rgba(216, 177, 95, 0.34);
    box-shadow: 0 22px 38px rgba(22, 18, 14, 0.1);
    outline: none;
}

.request-size-card.is-selected,
.request-service-card.is-selected {
    border-color: rgba(215, 52, 44, 0.34);
    background:
        linear-gradient(180deg, rgba(255, 252, 246, 0.98), rgba(255, 244, 229, 0.98));
    box-shadow:
        0 22px 38px rgba(22, 18, 14, 0.1),
        0 0 0 0.24rem rgba(215, 52, 44, 0.08);
}

.request-size-card {
    padding: 1.1rem 1.05rem;
}

.request-size-card__tag {
    display: inline-flex;
    margin-bottom: 0.7rem;
    color: #8a765d;
    font-size: 0.72rem;
    font-weight: 800;
    letter-spacing: 0.16em;
    text-transform: uppercase;
}

.request-size-card strong,
.request-service-card strong {
    display: block;
    color: #171412;
}

.request-size-card strong {
    font-size: 1.25rem;
}

.request-size-card span:last-child,
.request-service-card span {
    display: block;
    color: #695d51;
    line-height: 1.55;
}

.request-service-groups {
    display: grid;
    gap: 1.15rem;
}

.request-service-group {
    padding: 1.15rem;
    border: 1px solid rgba(159, 129, 80, 0.12);
    border-radius: 28px;
    background: rgba(255, 255, 255, 0.34);
}

.request-service-group__header {
    display: grid;
    gap: 0.18rem;
    margin-bottom: 0.95rem;
}

.request-service-group__header p {
    margin: 0;
    color: #c53b30;
    font-size: 0.72rem;
    font-weight: 800;
    letter-spacing: 0.18em;
    text-transform: uppercase;
}

.request-service-group__header h4 {
    margin: 0;
    color: #171412;
    font-size: 1.2rem;
}

.request-service-group__header span {
    color: #706354;
    line-height: 1.55;
}

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

.request-service-card {
    padding: 1.05rem 1rem 0.95rem;
}

.request-service-card__check {
    display: inline-flex;
    width: 1.05rem;
    height: 1.05rem;
    margin-bottom: 0.8rem;
    border: 1px solid rgba(159, 129, 80, 0.22);
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.8);
    transition: background 220ms ease, border-color 220ms ease, box-shadow 220ms ease;
}

.request-service-card.is-selected .request-service-card__check {
    border-color: rgba(215, 52, 44, 0.5);
    background: linear-gradient(135deg, #ff5a45, #d8b15f);
    box-shadow: 0 0 0 0.25rem rgba(215, 52, 44, 0.08);
}

.request-service-card__price {
    display: inline-flex;
    margin-top: 0.75rem;
    color: #cf3a2e;
    font-style: normal;
    font-weight: 800;
    letter-spacing: 0.02em;
}

.request-selection-strip {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    margin-top: 1rem;
    padding: 1rem 1.05rem;
    border: 1px solid rgba(159, 129, 80, 0.14);
    border-radius: 24px;
    background: linear-gradient(135deg, rgba(255, 252, 247, 0.92), rgba(249, 243, 234, 0.92));
}

.request-selection-strip__label {
    margin: 0 0 0.2rem;
    color: #8a765d;
    font-size: 0.72rem;
    font-weight: 800;
    letter-spacing: 0.18em;
    text-transform: uppercase;
}

.request-selection-strip strong {
    color: #171412;
    font-size: 1rem;
}

.request-selection-strip__total {
    text-align: right;
}

.request-selection-strip__total span {
    display: block;
    color: #8a765d;
    font-size: 0.72rem;
    font-weight: 800;
    letter-spacing: 0.18em;
    text-transform: uppercase;
}

.request-selection-strip__total strong {
    color: #cf3a2e;
    font-size: 1.2rem;
}

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

.request-form-grid--availability {
    align-items: start;
    margin-bottom: 1rem;
}

.request-field {
    display: grid;
    gap: 0.52rem;
}

.request-field span,
.request-field legend {
    color: #171412;
    font-size: 0.86rem;
    font-weight: 800;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.request-field input,
.request-field textarea {
    width: 100%;
    padding: 1rem 1.05rem;
    border: 1px solid rgba(159, 129, 80, 0.14);
    border-radius: 20px;
    background: rgba(255, 255, 255, 0.84);
    color: #171412;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.8);
    transition: border-color 200ms ease, box-shadow 200ms ease, transform 200ms ease;
}

.request-field input:focus,
.request-field textarea:focus {
    border-color: rgba(216, 177, 95, 0.46);
    box-shadow: 0 0 0 0.26rem rgba(216, 177, 95, 0.12);
    outline: none;
}

.request-field textarea {
    min-height: 150px;
    resize: vertical;
}

.request-field--full {
    grid-column: 1 / -1;
}

.request-field--choice {
    margin: 0;
    padding: 0;
    border: 0;
}

.request-chip-row {
    display: flex;
    flex-wrap: wrap;
    gap: 0.72rem;
}

.request-chip {
    padding: 0.88rem 1.08rem;
    border: 1px solid rgba(159, 129, 80, 0.16);
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.88);
    color: #171412;
    box-shadow: 0 12px 22px rgba(22, 18, 14, 0.05);
    transition: transform 200ms ease, box-shadow 200ms ease, border-color 200ms ease;
}

.request-chip:hover,
.request-chip:focus-visible {
    transform: translateY(-2px);
    outline: none;
}

.request-chip.is-selected {
    border-color: rgba(215, 52, 44, 0.28);
    background: linear-gradient(135deg, rgba(255, 244, 225, 0.98), rgba(255, 255, 255, 0.98));
    color: #7a231d;
    box-shadow: 0 14px 26px rgba(215, 52, 44, 0.08);
}

.request-cta-block {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 1rem 1.4rem;
    align-items: center;
    margin-top: 1.45rem;
    padding: 1.25rem;
    border: 1px solid rgba(159, 129, 80, 0.14);
    border-radius: 28px;
    background:
        linear-gradient(135deg, rgba(18, 16, 17, 0.96), rgba(36, 28, 25, 0.96)),
        radial-gradient(circle at top right, rgba(216, 177, 95, 0.08), transparent 24%);
    box-shadow: 0 24px 48px rgba(22, 18, 14, 0.14);
}

.request-cta-block__copy h3 {
    margin: 0;
    color: #fff8ef;
    font-size: clamp(1.35rem, 2vw, 1.85rem);
    line-height: 1.08;
}

.request-cta-block__copy p:last-child {
    margin: 0.5rem 0 0;
    color: rgba(248, 242, 233, 0.74);
    line-height: 1.65;
}

.request-cta-block__actions {
    display: flex;
    flex-wrap: wrap;
    gap: 0.85rem;
    justify-content: flex-end;
}

.request-cta-block__button {
    min-width: 250px;
}

.request-brief {
    position: sticky;
    top: calc(var(--header-height) + 1rem);
}

.request-brief__panel {
    padding: 1.45rem;
}

.request-brief__lead {
    margin: 0.4rem 0 1.1rem;
    color: #685c4f;
    line-height: 1.7;
}

.request-brief__list {
    display: grid;
    gap: 0.88rem;
    margin: 0;
}

.request-brief__list div {
    padding-bottom: 0.82rem;
    border-bottom: 1px solid rgba(159, 129, 80, 0.1);
}

.request-brief__list dt {
    margin-bottom: 0.25rem;
    color: #8a765d;
    font-size: 0.74rem;
    font-weight: 800;
    letter-spacing: 0.16em;
    text-transform: uppercase;
}

.request-brief__list dd {
    margin: 0;
    color: #171412;
    font-weight: 700;
    line-height: 1.5;
}

.request-brief__services {
    margin-top: 1.15rem;
    padding: 1rem;
    border-radius: 24px;
    background: linear-gradient(180deg, rgba(20, 18, 18, 0.94), rgba(31, 24, 22, 0.94));
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.05);
}

.request-brief__services-head {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 1rem;
    margin-bottom: 0.9rem;
}

.request-brief__services-head span {
    color: rgba(248, 242, 233, 0.74);
    font-size: 0.78rem;
    font-weight: 800;
    letter-spacing: 0.16em;
    text-transform: uppercase;
}

.request-brief__services-head strong {
    color: #fff8ef;
    font-size: 1.35rem;
}

.request-brief__comments {
    margin-top: 1.1rem;
    padding-top: 1rem;
    border-top: 1px solid rgba(159, 129, 80, 0.12);
}

.request-brief__comments span {
    display: inline-flex;
    margin-bottom: 0.3rem;
    color: #8a765d;
    font-size: 0.74rem;
    font-weight: 800;
    letter-spacing: 0.16em;
    text-transform: uppercase;
}

.request-brief__comments p {
    margin: 0;
    color: #3f3730;
    line-height: 1.65;
}

.request-brief__timeline {
    display: grid;
    gap: 0.78rem;
    margin-top: 1.2rem;
    padding-top: 1.1rem;
    border-top: 1px solid rgba(159, 129, 80, 0.12);
}

.request-brief__timeline article {
    display: grid;
    grid-template-columns: auto 1fr;
    gap: 0.85rem;
    align-items: center;
}

.request-brief__timeline strong {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 2rem;
    height: 2rem;
    border-radius: 999px;
    background: linear-gradient(135deg, rgba(215, 52, 44, 0.9), rgba(216, 177, 95, 0.95));
    color: #fff8ef;
    font-family: Impact, Haettenschweiler, "Arial Narrow Bold", sans-serif;
}

.request-brief__timeline span {
    color: #3f3730;
    line-height: 1.5;
}

.request-shell .booking-summary__empty,
.request-shell .booking-summary__service-row span {
    color: rgba(248, 242, 233, 0.78);
}

.request-shell .booking-summary__service-list {
    display: grid;
    gap: 0.72rem;
}

.request-shell .booking-summary__service-row {
    display: flex;
    align-items: start;
    justify-content: space-between;
    gap: 1rem;
    font-size: 0.96rem;
}

.request-shell .booking-summary__service-row strong {
    color: #d8b15f;
    white-space: nowrap;
}

.request-shell .button--ghost {
    border-color: rgba(255, 255, 255, 0.12);
    background: rgba(255, 255, 255, 0.06);
    color: #fff8ef;
}

.request-shell .button--ghost:hover,
.request-shell .button--ghost:focus-visible {
    background: rgba(255, 255, 255, 0.12);
}

@media (max-width: 979px) {
    .request-hero__grid,
    .request-shell {
        grid-template-columns: 1fr;
    }

    .request-brief {
        position: static;
    }

    .request-hero__copy h1 {
        max-width: 12ch;
    }
}

@media (max-width: 719px) {
    .request-hero {
        padding-top: calc(var(--header-height) + 2.35rem);
        padding-bottom: 1.35rem;
    }

    .request-hero__copy h1 {
        max-width: none;
        font-size: clamp(2.6rem, 13vw, 4rem);
    }

    .request-main,
    .request-brief__panel {
        padding: 1.1rem;
        border-radius: 24px;
    }

    .request-size-grid,
    .request-service-grid,
    .request-form-grid,
    .request-cta-block {
        grid-template-columns: 1fr;
    }

    .request-step__header {
        gap: 0.8rem;
    }

    .request-step__number {
        width: 2.65rem;
        height: 2.65rem;
        border-radius: 16px;
    }

    .request-service-group {
        padding: 0.95rem;
    }

    .request-selection-strip {
        align-items: start;
    }

    .request-selection-strip__total {
        text-align: left;
    }

    .request-chip {
        flex: 1 1 calc(33.333% - 0.5rem);
        justify-content: center;
    }

    .request-cta-block__actions,
    .request-cta-block__button {
        width: 100%;
    }

    .request-shell .button--ghost {
        border-color: rgba(159, 129, 80, 0.14);
        background: rgba(255, 255, 255, 0.9);
        color: #171412;
    }
}

/* Reservations redesign override */
.request-hero .container,
.request-flow .container {
    width: min(calc(100% - 3rem), 1340px);
}

.request-hero {
    padding-bottom: 2.7rem;
}

.request-hero__grid {
    grid-template-columns: minmax(0, 1.35fr) minmax(360px, 0.72fr);
    gap: 2rem;
}

.request-hero__copy h1 {
    max-width: 11ch;
    font-size: clamp(3.8rem, 7vw, 6.4rem);
}

.request-flow {
    padding-top: 0.9rem;
}

.request-shell {
    width: 100%;
    grid-template-columns: minmax(0, 1.48fr) minmax(360px, 0.62fr);
    gap: 2rem;
}

.request-main {
    padding: 2.4rem;
}

.request-intro h2 {
    font-size: clamp(2.35rem, 3vw, 3.4rem);
}

.request-step + .request-step {
    margin-top: 1.8rem;
    padding-top: 1.8rem;
}

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

.request-size-card {
    min-height: 184px;
    padding: 1.25rem 1.2rem;
}

.request-service-group {
    padding: 1.35rem;
}

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

.request-service-card {
    display: flex;
    flex-direction: column;
    min-height: 190px;
    padding: 1.15rem 1.08rem 1rem;
}

.request-service-card__price {
    margin-top: auto;
}

.request-form-grid {
    gap: 1.1rem;
}

.request-field input,
.request-field textarea {
    padding: 1.08rem 1.1rem;
}

.request-selection-strip {
    margin-top: 1.15rem;
    padding: 1.1rem 1.2rem;
}

.request-cta-block {
    margin-top: 1.8rem;
    padding: 1.45rem;
}

.request-brief__panel {
    padding: 1.6rem;
}

.request-brief__services {
    padding: 1.1rem;
    background:
        linear-gradient(180deg, rgba(32, 27, 25, 0.96), rgba(25, 22, 20, 0.96)),
        radial-gradient(circle at top right, rgba(216, 177, 95, 0.08), transparent 24%);
    box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, 0.05),
        0 16px 32px rgba(18, 14, 12, 0.14);
}

.request-shell .booking-summary__service-row + .booking-summary__service-row {
    padding-top: 0.72rem;
    border-top: 1px solid rgba(216, 177, 95, 0.08);
}

@media (min-width: 1100px) {
    .request-service-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}

@media (max-width: 979px) {
    .request-hero__grid,
    .request-shell {
        grid-template-columns: 1fr;
    }

    .request-hero__copy h1 {
        max-width: 12ch;
    }
}

@media (max-width: 719px) {
    .request-hero .container,
    .request-flow .container {
        width: min(calc(100% - 1.25rem), 1340px);
    }

    .request-main,
    .request-brief__panel {
        padding: 1rem;
    }

    .request-size-grid,
    .request-service-grid,
    .request-form-grid,
    .request-cta-block {
        grid-template-columns: 1fr;
    }

    .request-service-group {
        padding: 0.9rem;
    }
}

/* Reservations CTA and brief cleanup */
.request-brief__list,
.request-brief__comments {
    display: none;
}

.request-cta-block__actions,
.request-brief {
    --request-button-dark: linear-gradient(135deg, #151211, #2a211d);
    --request-button-dark-hover: linear-gradient(135deg, #221b18, #382c26);
}

.request-cta-block__button,
.request-cta-block__mail {
    min-width: 250px;
}

.request-shell .button--primary {
    border: 1px solid rgba(216, 177, 95, 0.22);
    background: var(--request-button-dark);
    color: #fff8ef;
    box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, 0.08),
        0 18px 34px rgba(22, 18, 14, 0.16);
}

.request-shell .button--primary:hover,
.request-shell .button--primary:focus-visible {
    background: var(--request-button-dark-hover);
    color: #fff8ef;
    transform: translateY(-1px);
}

.request-shell .button--ghost {
    border-color: rgba(159, 129, 80, 0.18);
    background: rgba(255, 252, 247, 0.86);
    color: #171412;
}

.request-shell .button--ghost:hover,
.request-shell .button--ghost:focus-visible {
    background: rgba(255, 248, 239, 0.98);
    border-color: rgba(216, 177, 95, 0.34);
}

.request-brief__lead {
    margin-bottom: 0.8rem;
}

@media (max-width: 719px) {
    .request-cta-block__mail,
    .request-cta-block__button {
        width: 100%;
    }
}

.request-selection-strip__total strong,
.request-brief__services-head strong {
    display: inline-flex;
    align-items: baseline;
    justify-content: flex-end;
    gap: 0.18rem;
    white-space: nowrap;
    line-height: 1;
}

.request-cta-block__copy {
    max-width: 28rem;
}

.request-cta-block__copy h3 {
    max-width: 10ch;
}

.request-cta-block__actions {
    align-items: center;
}

.request-cta-block__button,
.request-cta-block__mail {
    min-height: 58px;
    font-size: 0.9rem;
    letter-spacing: 0.04em;
    white-space: nowrap;
}

.request-brief__timeline {
    margin-top: 1rem;
}

@media (max-width: 979px) {
    .request-cta-block__copy h3 {
        max-width: none;
    }
}

/* Footer premium rebuild */
.site-footer {
    padding: 3.2rem 0 2.1rem;
    border-top: 1px solid rgba(216, 177, 95, 0.1);
    background: linear-gradient(180deg, #11100d 0%, #16130f 100%);
}

.site-footer::before {
    display: none;
}

.footer-shell--editorial {
    display: grid;
}

.footer-editorial {
    display: grid;
    grid-template-columns: minmax(0, 1.6fr) minmax(180px, 0.75fr) minmax(220px, 1fr);
    gap: 2.25rem;
    padding: 1.8rem 0 1.4rem;
}

.footer-column {
    display: grid;
    align-content: start;
    gap: 1rem;
}

.footer-column h2 {
    margin: 0;
    color: #f4efe3;
    font-size: 2rem;
    font-weight: 800;
    letter-spacing: 0.1em;
    text-transform: uppercase;
}

.footer-column--sections h2,
.footer-column--legal h2 {
    font-size: 1.05rem;
    letter-spacing: normal;
    text-transform: none;
}

.footer-brand-lockup {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    align-items: center;
    gap: 1.05rem;
}

.footer-brand-lockup__logo {
    width: 84px;
    height: 84px;
    object-fit: contain;
    filter: drop-shadow(0 14px 24px rgba(0, 0, 0, 0.28));
}

.footer-brand-lockup__copy {
    display: grid;
    gap: 0.4rem;
}

.footer-brand-lockup__eyebrow {
    margin: 0;
    color: #d8b15f;
    letter-spacing: 0.2em;
    text-transform: uppercase;
    font-size: 0.72rem;
    font-weight: 800;
}

.footer-brand-lockup__copy h2 {
    color: #fff8ef;
    margin: 0;
    font-family: Impact, Haettenschweiler, "Arial Narrow Bold", sans-serif;
    font-size: clamp(2rem, 2.5vw, 3rem);
    letter-spacing: 0.04em;
    text-transform: uppercase;
}

.footer-brand-lockup__meta {
    margin: 0;
    color: rgba(245, 239, 228, 0.66);
    font-size: 0.88rem;
    line-height: 1.5;
    letter-spacing: 0.04em;
    text-transform: uppercase;
}

.footer-business {
    display: grid;
    gap: 0.9rem;
}

.footer-business p {
    margin: 0;
    color: rgba(245, 239, 228, 0.78);
    font-size: 0.95rem;
    line-height: 1.65;
}

.footer-business strong {
    color: #f4efe3;
}

.footer-business a {
    color: rgba(245, 239, 228, 0.9);
}

.footer-social-pills {
    display: flex;
    flex-wrap: wrap;
    gap: 0.75rem;
}

.footer-social-pill {
    display: inline-flex;
    align-items: center;
    gap: 0.58rem;
    min-height: 50px;
    padding: 0.7rem 1rem;
    border: 1px solid rgba(244, 239, 227, 0.12);
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.03);
    color: #f4efe3;
    font-weight: 600;
    font-size: 0.88rem;
    white-space: nowrap;
    transition: border-color 200ms ease, transform 200ms ease, background 200ms ease;
}

.footer-social-pill:hover,
.footer-social-pill:focus-visible {
    transform: translateY(-1px);
    border-color: rgba(216, 177, 95, 0.24);
    background: rgba(255, 255, 255, 0.05);
}

.footer-social-pill__icon {
    display: inline-grid;
    place-items: center;
    width: 2.3rem;
    height: 2.3rem;
    border-radius: 0.95rem;
    background: rgba(255, 255, 255, 0.06);
    color: currentColor;
}

.footer-social-pill__icon svg {
    width: 1.05rem;
    height: 1.05rem;
}

.footer-social-pill--instagram {
    color: #efe6d1;
}

.footer-social-pill--instagram .footer-social-pill__icon {
    background: linear-gradient(135deg, rgba(245, 133, 41, 0.24), rgba(221, 42, 123, 0.18) 55%, rgba(81, 91, 212, 0.18));
    color: #ffd5e6;
}

.footer-social-pill--tiktok {
    color: #efe6d1;
}

.footer-social-pill--tiktok .footer-social-pill__icon {
    background: rgba(27, 233, 232, 0.12);
    color: #cfffff;
}

.footer-social-pill--reviews {
    color: #f3e7cb;
}

.footer-social-pill__stars {
    color: #d8b15f;
    letter-spacing: 0.12em;
    font-size: 0.82rem;
}

.footer-nav {
    display: grid;
    gap: 1rem;
}

.footer-nav a,
.footer-column--legal p {
    color: rgba(245, 239, 228, 0.76);
}

.footer-nav a:hover,
.footer-nav a:focus-visible {
    color: #fff8ef;
}

.footer-column--legal p {
    margin: 0;
    line-height: 1.65;
}

.footer-legal-links {
    color: rgba(245, 239, 228, 0.56);
}

.footer-legal-links a {
    color: rgba(245, 239, 228, 0.72);
}

.footer-legal-links a:hover,
.footer-legal-links a:focus-visible {
    color: #fff8ef;
}

.legal-page {
    padding-top: 0;
}

.legal-layout {
    display: grid;
}

.legal-card {
    max-width: 920px;
    padding: 1.6rem;
    border: 1px solid rgba(216, 177, 95, 0.12);
    border-radius: 30px;
    background:
        linear-gradient(180deg, rgba(29, 23, 21, 0.92), rgba(20, 17, 16, 0.92));
    box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, 0.04),
        0 22px 44px rgba(0, 0, 0, 0.18);
}

.legal-block + .legal-block {
    margin-top: 1.5rem;
    padding-top: 1.5rem;
    border-top: 1px solid rgba(216, 177, 95, 0.1);
}

.legal-block h2 {
    margin: 0 0 0.7rem;
    color: #fff8ef;
    font-size: 1.18rem;
}

.legal-block p,
.legal-list li {
    color: rgba(245, 239, 228, 0.78);
    line-height: 1.75;
}

.legal-list {
    margin: 0.85rem 0 0;
    padding-left: 1.2rem;
}

.legal-list li + li {
    margin-top: 0.45rem;
}

.legal-block a {
    color: #fff8ef;
}

.legal-block a:hover,
.legal-block a:focus-visible {
    color: #d8b15f;
}

.footer-credit {
    margin-top: 1.6rem;
    color: rgba(245, 239, 228, 0.38) !important;
    font-size: 0.78rem;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.footer-credit a {
    color: inherit;
}

.footer-credit a:hover,
.footer-credit a:focus-visible {
    color: rgba(245, 239, 228, 0.62);
}

@media (max-width: 979px) {
    .footer-editorial {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 719px) {
    .site-footer {
        padding-bottom: 6.1rem;
    }

    .footer-brand-lockup {
        grid-template-columns: 1fr;
        text-align: left;
    }

    .footer-brand-lockup__logo {
        width: 74px;
        height: 74px;
    }

    .footer-column h2 {
        font-size: 1.6rem;
    }

    .legal-card {
        padding: 1.2rem;
    }

    .footer-social-pills {
        gap: 0.7rem;
    }
}

/* Cookie bar redesign */
.cookie-banner {
    position: fixed;
    left: 0;
    right: 0;
    bottom: 0;
    top: auto;
    transform: none;
    z-index: 70;
    width: 100%;
    padding: 0 0 1rem;
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
}

.cookie-banner__panel {
    width: min(calc(100% - 2rem), 1180px);
    margin: 0 auto;
    padding: 1rem 1.15rem;
    border: 1px solid rgba(216, 177, 95, 0.16);
    border-radius: 24px;
    border-top: 1px solid rgba(216, 177, 95, 0.16);
    background:
        linear-gradient(180deg, rgba(20, 17, 16, 0.98), rgba(28, 22, 20, 0.98)),
        radial-gradient(circle at top right, rgba(216, 177, 95, 0.08), transparent 24%);
    box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, 0.04),
        0 18px 38px rgba(0, 0, 0, 0.26);
    backdrop-filter: blur(14px);
}

.cookie-banner__header {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
    align-items: center;
    gap: 0.9rem;
}

.cookie-banner__badge {
    display: inline-grid;
    place-items: center;
    width: 42px;
    height: 42px;
    border-radius: 14px;
    background: linear-gradient(135deg, rgba(216, 177, 95, 0.16), rgba(215, 52, 44, 0.12));
    color: #d8b15f;
    font-size: 1rem;
    font-weight: 800;
}

.cookie-banner__intro strong {
    display: block;
    margin-bottom: 0.2rem;
    color: #fff8ef;
    font-family: Impact, Haettenschweiler, "Arial Narrow Bold", sans-serif;
    font-size: 1.05rem;
    font-weight: 700;
    letter-spacing: 0.04em;
    text-transform: uppercase;
}

.cookie-banner__intro p,
.cookie-banner__body p {
    margin: 0;
    color: rgba(245, 239, 228, 0.74);
    font-size: 0.94rem;
    line-height: 1.6;
}

.cookie-banner__close {
    width: 38px;
    height: 38px;
    border: 1px solid rgba(216, 177, 95, 0.12);
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.04);
    color: rgba(245, 239, 228, 0.78);
    font-size: 1.35rem;
    line-height: 1;
}

.cookie-banner__body {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 0.9rem 1.4rem;
    padding: 0.8rem 0 0;
}

.cookie-banner__body p {
    flex: 1 1 420px;
}

.cookie-banner__link {
    display: inline-flex;
    align-items: center;
    color: #d8b15f;
    font-weight: 700;
    text-decoration: none;
}

.cookie-banner__actions {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    margin-top: 0.9rem;
    justify-content: flex-end;
}

.cookie-banner__button {
    min-width: 150px;
    min-height: 48px;
    padding: 0.75rem 1rem;
    border-radius: 999px;
    font-size: 0.9rem;
    font-weight: 800;
    letter-spacing: 0.04em;
}

.cookie-banner__button--primary {
    border: 1px solid rgba(216, 177, 95, 0.22);
    background: linear-gradient(135deg, #161312, #2a211d);
    color: #fff8ef;
}

.cookie-banner__button--ghost {
    border: 1px solid rgba(216, 177, 95, 0.16);
    background: rgba(255, 255, 255, 0.04);
    color: #fff8ef;
}

.cookie-launcher {
    position: fixed;
    left: 1.1rem;
    bottom: 1.1rem;
    z-index: 69;
    display: inline-grid;
    place-items: center;
    width: 58px;
    height: 58px;
    padding: 0;
    border: 1px solid rgba(216, 177, 95, 0.22);
    border-radius: 50%;
    background:
        linear-gradient(180deg, rgba(20, 17, 16, 0.98), rgba(34, 26, 23, 0.98)),
        radial-gradient(circle at top right, rgba(216, 177, 95, 0.16), transparent 42%);
    box-shadow:
        0 16px 34px rgba(0, 0, 0, 0.28),
        inset 0 1px 0 rgba(255, 255, 255, 0.06);
    cursor: pointer;
    transition: transform 0.22s ease, box-shadow 0.22s ease, border-color 0.22s ease;
}

.cookie-launcher:hover,
.cookie-launcher:focus-visible {
    border-color: rgba(216, 177, 95, 0.42);
    box-shadow:
        0 20px 38px rgba(0, 0, 0, 0.32),
        0 0 0 4px rgba(216, 177, 95, 0.12);
    transform: translateY(-2px);
}

.cookie-launcher__icon {
    display: inline-grid;
    place-items: center;
    width: 36px;
    height: 36px;
}

.cookie-launcher__icon svg {
    width: 100%;
    height: 100%;
    display: block;
}

.cookie-launcher__icon path {
    fill: #f2dfba;
}

.cookie-launcher__icon circle {
    fill: #c88d47;
}

.cookie-launcher[hidden] {
    display: none;
}

@media (max-width: 719px) {
    .cookie-banner {
        padding: 0 0 0.75rem;
    }

    .cookie-banner__panel {
        width: calc(100% - 1rem);
        padding: 0.95rem;
        border-radius: 20px;
    }

    .cookie-banner__header {
        grid-template-columns: auto minmax(0, 1fr) auto;
        align-items: start;
    }

    .cookie-banner__badge {
        width: 38px;
        height: 38px;
        border-radius: 12px;
    }

    .cookie-banner__body {
        display: block;
        padding-top: 0.7rem;
    }

    .cookie-banner__link {
        margin-top: 0.7rem;
    }

    .cookie-banner__actions {
        flex-direction: column;
        align-items: stretch;
        margin-top: 0.85rem;
    }

    .cookie-banner__button {
        width: 100%;
    }

    .cookie-launcher {
        left: 0.85rem;
        bottom: 0.85rem;
        width: 54px;
        height: 54px;
    }
}

/* Reservations refresh */
.request-hero {
    padding-top: calc(var(--header-height) + 2.4rem);
    padding-bottom: 1.4rem;
    background:
        linear-gradient(180deg, rgba(11, 12, 14, 0.82), rgba(11, 12, 14, 0.72)),
        radial-gradient(circle at top right, rgba(216, 177, 95, 0.14), transparent 24%),
        url("../img/detailing-general-2.webp") center/cover no-repeat;
}

.request-hero__grid.request-hero__grid--compact {
    grid-template-columns: minmax(0, 1fr);
    align-items: end;
    gap: 1.2rem;
}

.request-hero__copy.request-hero__copy--compact h1 {
    max-width: none;
    font-size: clamp(2.8rem, 5vw, 4.9rem);
    line-height: 0.96;
}

.request-hero__copy.request-hero__copy--compact .request-hero__lead {
    max-width: 34ch;
    font-size: 1rem;
    line-height: 1.55;
}

.request-process-strip-wrap {
    position: relative;
    z-index: 2;
    margin-top: -0.8rem;
}

.request-process-strip {
    display: grid;
    grid-template-columns: minmax(220px, 0.46fr) minmax(0, 1fr);
    gap: 1rem;
    align-items: center;
    padding: 1rem 1.1rem;
    border: 1px solid rgba(216, 177, 95, 0.14);
    border-radius: 28px;
    background:
        linear-gradient(135deg, rgba(20, 17, 16, 0.96), rgba(31, 25, 22, 0.96)),
        radial-gradient(circle at top right, rgba(216, 177, 95, 0.08), transparent 28%);
    box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, 0.05),
        0 20px 40px rgba(18, 14, 12, 0.16);
}

.request-process-strip__intro {
    display: grid;
    gap: 0.3rem;
    padding-right: 0.8rem;
    border-right: 1px solid rgba(216, 177, 95, 0.12);
}

.request-process-strip__label {
    margin: 0;
    color: #d8b15f;
    font-size: 0.76rem;
    font-weight: 800;
    letter-spacing: 0.2em;
    text-transform: uppercase;
}

.request-process-strip__intro strong {
    color: #fff8ef;
    font-size: 1rem;
    line-height: 1.15;
}

.request-process-strip__steps {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 0.8rem;
}

.request-process-step {
    display: grid;
    grid-template-columns: auto 1fr;
    gap: 0.75rem;
    align-items: center;
    min-height: 78px;
    padding: 0.9rem 1rem;
    border: 1px solid rgba(255, 255, 255, 0.08);
    border-radius: 22px;
    background: rgba(11, 11, 12, 0.44);
}

.request-process-step span {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 2.45rem;
    height: 2.45rem;
    border-radius: 999px;
    background: linear-gradient(135deg, rgba(216, 177, 95, 0.2), rgba(215, 52, 44, 0.24));
    color: #f7e6bd;
    font-size: 0.9rem;
    font-weight: 800;
    letter-spacing: 0.06em;
}

.request-process-step p {
    margin: 0;
    color: rgba(248, 242, 233, 0.88);
    line-height: 1.35;
}

.request-hero__highlights {
    display: none;
}

.request-hero__highlights article,
.request-hero__summary {
    padding: 1rem 1.05rem;
    border: 1px solid rgba(255, 255, 255, 0.12);
    border-radius: 22px;
    background: rgba(13, 15, 18, 0.5);
    backdrop-filter: blur(10px);
}

.request-hero__highlights strong,
.request-hero__summary strong {
    display: block;
    margin-bottom: 0.3rem;
    color: #fff8ef;
    font-size: 0.98rem;
}

.request-hero__highlights span,
.request-hero__summary span {
    display: block;
    color: rgba(248, 242, 233, 0.78);
    line-height: 1.55;
}

.request-hero__spotlight.request-hero__spotlight--compact {
    display: grid;
    gap: 0.8rem;
    padding: 1.2rem;
    align-content: start;
    align-self: end;
    height: fit-content;
    min-height: 0;
}

.request-hero__summary {
    display: grid;
    grid-template-columns: auto 1fr;
    gap: 0.75rem;
    align-items: start;
}

.request-hero__summary strong {
    width: 2rem;
    height: 2rem;
    margin: 0;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 999px;
    background: linear-gradient(135deg, rgba(216, 177, 95, 0.2), rgba(215, 52, 44, 0.24));
    color: #f5e1b5;
}

.request-flow {
    padding-top: 0;
    background:
        linear-gradient(180deg, #f5f1ea 0%, #fcfaf7 100%);
}

.request-shell {
    gap: 1.35rem;
}

.request-main,
.request-brief__panel {
    border-color: rgba(121, 96, 63, 0.12);
    background: rgba(255, 255, 255, 0.9);
    box-shadow:
        0 24px 50px rgba(33, 25, 19, 0.08),
        inset 0 1px 0 rgba(255, 255, 255, 0.72);
}

.request-main {
    padding: 2rem;
}

.request-intro.request-intro--clean {
    margin-bottom: 1.6rem;
    padding-bottom: 1.2rem;
    border-bottom: 1px solid rgba(121, 96, 63, 0.1);
}

.request-intro.request-intro--clean h2 {
    line-height: 1.02;
}

.request-intro.request-intro--clean p:last-child {
    max-width: 52ch;
}

.request-step + .request-step {
    margin-top: 1.5rem;
    padding-top: 1.5rem;
}

.request-step__header {
    margin-bottom: 0.9rem;
}

.request-step__number {
    width: 2.75rem;
    height: 2.75rem;
    border-radius: 16px;
    font-size: 1rem;
}

.request-step__header h3 {
    font-size: 1.35rem;
}

.request-step__support,
.request-service-group__header span,
.request-size-card span:last-child,
.request-service-card span,
.request-brief__lead,
.request-brief__note span {
    color: #62584c;
}

.request-size-grid,
.request-service-grid,
.request-form-grid {
    gap: 0.85rem;
}

.request-size-card,
.request-service-card,
.request-service-group,
.request-selection-strip,
.request-brief__services,
.request-brief__note {
    border-radius: 22px;
}

.request-size-card,
.request-service-card {
    min-height: 0;
    padding: 1rem;
    border-color: rgba(121, 96, 63, 0.12);
    background: #fffdfa;
    box-shadow: 0 12px 24px rgba(33, 25, 19, 0.04);
}

.request-size-card strong {
    font-size: 1.15rem;
}

.request-service-group {
    padding: 1rem;
    background: linear-gradient(180deg, rgba(249, 246, 241, 0.96), rgba(255, 255, 255, 0.92));
}

.request-service-group__header {
    margin-bottom: 0.8rem;
}

.request-service-group__header h4 {
    font-size: 1.08rem;
}

.request-service-card {
    display: flex;
    flex-direction: column;
    gap: 0.35rem;
}

.request-service-card__check {
    width: 1rem;
    height: 1rem;
    margin-bottom: 0.45rem;
}

.request-service-card__price {
    margin-top: 0.45rem;
}

.request-selection-strip {
    padding: 0.95rem 1rem;
    background: linear-gradient(135deg, #fffdf9, #f8f1e8);
}

.request-form-grid {
    align-items: start;
}

.request-field span,
.request-field legend {
    color: #201b17;
    font-size: 0.8rem;
}

.request-field input,
.request-field textarea {
    padding: 0.95rem 1rem;
    border-radius: 18px;
    background: #fff;
}

.request-chip-row {
    gap: 0.55rem;
}

.request-chip {
    min-height: 46px;
    padding: 0.78rem 0.95rem;
}

.request-cta-block {
    grid-template-columns: minmax(0, 1fr);
    justify-items: start;
    gap: 1rem;
    margin-top: 1.6rem;
    padding: 1.3rem;
}

.request-cta-block__copy {
    max-width: 42rem;
}

.request-cta-block__copy h3 {
    max-width: none;
    font-size: clamp(1.2rem, 2vw, 1.6rem);
}

.request-cta-block__actions {
    justify-content: flex-start;
}

.request-brief__panel {
    padding: 1.35rem;
}

.request-brief__services {
    margin-top: 1rem;
    background: linear-gradient(180deg, #1d1816, #241d1a);
}

.request-brief__note {
    display: grid;
    gap: 0.3rem;
    margin-top: 1rem;
    padding: 1rem;
    border: 1px solid rgba(121, 96, 63, 0.12);
    background: #fbf7f1;
}

.request-brief__note strong {
    color: #201b17;
    font-size: 0.82rem;
    font-weight: 800;
    letter-spacing: 0.16em;
    text-transform: uppercase;
}

.request-shell .button--primary {
    border: 1px solid rgba(216, 177, 95, 0.44);
    background: linear-gradient(135deg, #d6b06d, #caa15d);
    color: #17120d;
    box-shadow:
        inset 0 1px 0 rgba(255, 248, 232, 0.42),
        0 14px 28px rgba(22, 18, 14, 0.16);
}

.request-shell .button--primary:hover,
.request-shell .button--primary:focus-visible {
    background: linear-gradient(135deg, #dfba78, #d1a861);
    color: #120f09;
}

.request-shell .button--ghost {
    border: 1px solid rgba(216, 177, 95, 0.32);
    background: linear-gradient(135deg, #d0aa68, #c39a58);
    color: #17120d;
    box-shadow:
        inset 0 1px 0 rgba(255, 248, 232, 0.34),
        0 12px 24px rgba(22, 18, 14, 0.12);
}

.request-shell .button--ghost:hover,
.request-shell .button--ghost:focus-visible {
    border-color: rgba(216, 177, 95, 0.48);
    background: linear-gradient(135deg, #dcba7d, #cfa45f);
    color: #120f09;
}

@media (max-width: 1100px) {
    .request-hero__highlights {
        grid-template-columns: 1fr;
    }

    .request-process-strip {
        grid-template-columns: 1fr;
    }

    .request-process-strip__intro {
        padding-right: 0;
        padding-bottom: 0.2rem;
        border-right: 0;
        border-bottom: 1px solid rgba(216, 177, 95, 0.12);
    }

    .request-process-strip__steps {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 979px) {
    .request-hero__grid.request-hero__grid--compact,
    .request-shell {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 719px) {
    .request-hero {
        padding-top: calc(var(--header-height) + 1.9rem);
    }

    .request-hero__grid.request-hero__grid--compact,
    .request-hero__highlights {
        grid-template-columns: 1fr;
    }

    .request-process-strip-wrap {
        margin-top: -0.35rem;
    }

    .request-process-strip {
        padding: 0.9rem;
        border-radius: 24px;
    }

    .request-process-step {
        min-height: 0;
        padding: 0.85rem 0.9rem;
    }

    .request-main,
    .request-brief__panel {
        padding: 1rem;
        border-radius: 24px;
    }

    .request-size-grid,
    .request-service-grid,
    .request-form-grid {
        grid-template-columns: 1fr;
    }

    .request-chip {
        flex: 1 1 100%;
    }
}

.service-group-panel__marks {
    display: flex;
    flex-wrap: wrap;
    gap: 0.65rem;
    margin-top: 1rem;
}

.service-group-panel__marks span,
.service-detail-card__eyebrow {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 32px;
    padding: 0.35rem 0.72rem;
    border-radius: 999px;
    border: 1px solid rgba(216, 177, 95, 0.22);
    background: rgba(255, 248, 232, 0.08);
    color: #f5e1b2;
    font-size: 0.72rem;
    font-weight: 700;
    letter-spacing: 0.12em;
    text-transform: uppercase;
}

.service-detail-card {
    overflow: hidden;
}

.service-detail-card::before {
    content: "";
    position: absolute;
    inset: 0 0 auto 0;
    height: 4px;
    background: linear-gradient(90deg, rgba(243, 47, 56, 0.92), rgba(216, 177, 95, 0.92));
    opacity: 0.95;
}

.service-detail-card__eyebrow {
    margin-bottom: 0.9rem;
}

.service-detail-card h3 {
    font-family: Impact, Haettenschweiler, "Arial Narrow Bold", sans-serif;
    font-size: clamp(1.5rem, 2.2vw, 1.95rem);
    line-height: 0.96;
    letter-spacing: 0.03em;
    text-transform: uppercase;
}

.service-detail-card--size {
    background:
        radial-gradient(circle at top right, rgba(243, 47, 56, 0.14), transparent 26%),
        linear-gradient(180deg, rgba(20, 20, 24, 0.96), rgba(14, 14, 18, 0.92));
}

.service-detail-card--special {
    background:
        radial-gradient(circle at top right, rgba(216, 177, 95, 0.16), transparent 28%),
        linear-gradient(180deg, rgba(18, 18, 22, 0.96), rgba(12, 12, 16, 0.92));
}

.service-detail-card--premium {
    background:
        radial-gradient(circle at top right, rgba(243, 47, 56, 0.18), transparent 22%),
        linear-gradient(180deg, rgba(22, 18, 20, 0.98), rgba(10, 10, 14, 0.95));
    box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, 0.06),
        0 22px 42px rgba(0, 0, 0, 0.26);
}

.service-detail-card--premium .service-detail-card__price {
    display: inline-flex;
    align-items: center;
    min-height: 42px;
    padding: 0.45rem 0.9rem;
    border-radius: 999px;
    background: rgba(255, 248, 232, 0.08);
    border: 1px solid rgba(216, 177, 95, 0.22);
}

.service-group-panel--premium .service-group-panel__grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.service-group-panel__footer {
    display: grid;
    justify-items: center;
    gap: 1rem;
    margin-top: 1.3rem;
    padding-top: 1.25rem;
    border-top: 1px solid rgba(255, 255, 255, 0.08);
    text-align: center;
}

.service-group-panel__footer p {
    max-width: 48rem;
    margin: 0;
    color: rgba(245, 239, 229, 0.72);
}

.service-group-panel__footer .hero__actions {
    justify-content: center;
    margin-top: 0;
}

.service-group-panel__footer .button {
    min-width: 220px;
}

.services-page .button--service-soft,
.services-page .button--primary {
    border: 1px solid rgba(216, 177, 95, 0.22);
    background: linear-gradient(135deg, #d9c29a, #b99662);
    color: #171412;
    box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, 0.18),
        0 10px 24px rgba(0, 0, 0, 0.14);
}

.services-page .button--service-soft:hover,
.services-page .button--service-soft:focus-visible,
.services-page .button--primary:hover,
.services-page .button--primary:focus-visible {
    background: linear-gradient(135deg, #e4cfaa, #c9a977);
    color: #120f0d;
    transform: translateY(-1px);
}

.services-page .button--service-outline,
.services-page .button--ghost {
    border: 1px solid rgba(216, 177, 95, 0.24);
    background: linear-gradient(180deg, rgba(245, 233, 208, 0.96), rgba(224, 202, 163, 0.92));
    color: #171412;
    box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, 0.24),
        0 8px 18px rgba(0, 0, 0, 0.12);
}

.services-page .button--service-outline:hover,
.services-page .button--service-outline:focus-visible,
.services-page .button--ghost:hover,
.services-page .button--ghost:focus-visible {
    background: linear-gradient(180deg, rgba(250, 240, 219, 1), rgba(232, 212, 177, 0.96));
    color: #120f0d;
    transform: translateY(-1px);
}

@media (max-width: 979px) {
    .service-group-panel__marks {
        gap: 0.55rem;
    }

    .service-group-panel--premium .service-group-panel__grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 719px) {
    .service-group-panel__marks {
        margin-top: 0.85rem;
    }

    .service-group-panel__marks span,
    .service-detail-card__eyebrow {
        min-height: 30px;
        padding-inline: 0.62rem;
        font-size: 0.66rem;
    }

    .service-group-panel--premium .service-group-panel__grid {
        grid-template-columns: 1fr;
    }

    .service-group-panel__footer .hero__actions,
    .service-group-panel__footer .button {
        width: 100%;
    }
}

.inner-hero--services {
    position: relative;
    overflow: hidden;
    min-height: 420px;
    background:
        linear-gradient(90deg, rgba(10, 10, 12, 0.88) 0%, rgba(10, 10, 12, 0.7) 42%, rgba(38, 16, 18, 0.64) 100%),
        url("../img/detailing-general-2.webp") center center / cover no-repeat;
}

.inner-hero--services::before {
    content: "";
    position: absolute;
    inset: 0;
    background:
        radial-gradient(circle at right center, rgba(243, 47, 56, 0.12), transparent 26%),
        linear-gradient(180deg, rgba(8, 8, 10, 0.08), rgba(8, 8, 10, 0.38));
    pointer-events: none;
}

.inner-hero--services .inner-hero__content {
    position: relative;
    z-index: 1;
    max-width: 660px;
    margin-inline: 0;
    padding: 3.6rem 1.4rem 2.6rem;
    border-radius: 24px;
    background: linear-gradient(180deg, rgba(10, 10, 12, 0.34), rgba(10, 10, 12, 0.16));
    backdrop-filter: blur(3px);
}

.inner-hero--services h1 {
    max-width: none;
    margin-bottom: 1.15rem;
    font-size: clamp(1.9rem, 3.2vw, 2.95rem);
    line-height: 0.96;
    letter-spacing: -0.045em;
    white-space: nowrap;
}

.inner-hero--services p:not(.eyebrow) {
    max-width: 26rem;
    font-size: clamp(0.98rem, 1.35vw, 1.14rem);
    line-height: 1.55;
    color: rgba(245, 239, 229, 0.86);
}

.services-hero__chips {
    display: flex;
    flex-wrap: wrap;
    gap: 0.75rem;
    margin-top: 1rem;
}

.services-hero__chips span {
    padding: 0.58rem 0.88rem;
    border-radius: 999px;
    border: 1px solid rgba(216, 177, 95, 0.18);
    background: rgba(255, 248, 232, 0.08);
    color: #f1e3c2;
    font-size: 0.74rem;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.services-strip-wrap {
    position: relative;
    z-index: 2;
    margin-top: -1.4rem;
}

.services-strip {
    display: grid;
    grid-template-columns: minmax(240px, 0.48fr) minmax(0, 1fr);
    gap: 1rem;
    align-items: center;
    padding: 1rem 1.1rem;
    border: 1px solid rgba(216, 177, 95, 0.14);
    border-radius: 28px;
    background:
        linear-gradient(135deg, rgba(19, 17, 17, 0.98), rgba(28, 23, 22, 0.96)),
        radial-gradient(circle at top right, rgba(216, 177, 95, 0.08), transparent 28%);
    box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, 0.05),
        0 20px 40px rgba(18, 14, 12, 0.16);
}

.services-strip__intro {
    display: grid;
    gap: 0.3rem;
    padding-right: 0.8rem;
    border-right: 1px solid rgba(216, 177, 95, 0.12);
}

.services-strip__label {
    margin: 0;
    color: #d8b15f;
    font-size: 0.76rem;
    font-weight: 800;
    letter-spacing: 0.2em;
    text-transform: uppercase;
}

.services-strip__intro strong {
    color: #fff8ef;
    font-size: 1rem;
    line-height: 1.2;
}

.services-strip__steps {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 0.8rem;
}

.services-strip__step {
    display: grid;
    gap: 0.35rem;
    padding: 0.9rem 1rem;
    border-radius: 22px;
    background: rgba(255, 255, 255, 0.03);
    border: 1px solid rgba(255, 255, 255, 0.05);
}

.services-strip__step span {
    color: #d8b15f;
    font-size: 0.76rem;
    font-weight: 800;
    letter-spacing: 0.16em;
    text-transform: uppercase;
}

.services-strip__step p {
    margin: 0;
    color: rgba(245, 239, 229, 0.82);
    line-height: 1.5;
}

@media (max-width: 719px) {
    .inner-hero--services {
        min-height: 340px;
        background-position: 58% center;
    }

    .inner-hero--services .inner-hero__content {
        max-width: none;
        padding: 2.4rem 0 1.5rem;
        background: transparent;
        backdrop-filter: none;
        border-radius: 0;
    }

    .inner-hero--services h1 {
        max-width: 9ch;
        font-size: clamp(1.9rem, 8.6vw, 2.8rem);
        white-space: normal;
    }

    .inner-hero--services p:not(.eyebrow) {
        max-width: 24rem;
        font-size: 1rem;
    }

    .services-hero__chips {
        gap: 0.55rem;
        margin-top: 1rem;
    }

    .services-hero__chips span {
        padding: 0.58rem 0.8rem;
        font-size: 0.7rem;
    }

    .services-strip-wrap {
        margin-top: -0.7rem;
    }

    .services-strip {
        grid-template-columns: 1fr;
        padding: 0.95rem;
        border-radius: 24px;
    }

    .services-strip__intro {
        padding-right: 0;
        padding-bottom: 0.8rem;
        border-right: 0;
        border-bottom: 1px solid rgba(216, 177, 95, 0.12);
    }

    .services-strip__steps {
        grid-template-columns: 1fr;
    }

    .services-strip__step {
        padding: 0.85rem 0.9rem;
    }
}

.eyebrow,
.service-detail-card__eyebrow,
.service-group-panel__marks span,
.premium-card__tag {
    font-family: "Arial Narrow", "Trebuchet MS", sans-serif;
}

.section-heading p,
.inner-hero p,
.cta-box p,
.service-detail-card p,
.service-detail-line span,
.service-detail-card li,
.contact-card p,
.faq-answer p {
    letter-spacing: 0.01em;
}

.contact-page .request-hero {
    padding-bottom: 8rem;
    background:
        linear-gradient(180deg, rgba(11, 12, 14, 0.82), rgba(11, 12, 14, 0.72)),
        radial-gradient(circle at top right, rgba(216, 177, 95, 0.16), transparent 24%),
        url("../img/limpieza-tapiceria.webp") center 38%/cover no-repeat;
}

.contact-page .request-hero__copy {
    max-width: 50rem;
}

.contact-page .request-hero__copy h1 {
    max-width: none;
    font-size: clamp(2.85rem, 4.7vw, 4.85rem);
    line-height: 0.94;
    letter-spacing: -0.05em;
    white-space: nowrap;
}

.contact-page .request-hero__lead {
    max-width: 40rem;
    font-size: 0.98rem;
    line-height: 1.65;
}

.contact-hero__signals {
    display: flex;
    flex-wrap: wrap;
    gap: 0.75rem;
    margin-top: 1.2rem;
}

.contact-hero__signals a,
.contact-hero__signals span {
    display: inline-flex;
    align-items: center;
    min-height: 44px;
    padding: 0.72rem 1rem;
    border-radius: 999px;
    border: 1px solid rgba(216, 177, 95, 0.16);
    background: rgba(255, 248, 232, 0.08);
    color: #f6ecda;
    font-size: 0.78rem;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    text-decoration: none;
    transition: border-color 200ms ease, background 200ms ease, transform 200ms ease;
}

.contact-hero__signals a:hover,
.contact-hero__signals a:focus-visible {
    border-color: rgba(216, 177, 95, 0.34);
    background: rgba(255, 248, 232, 0.14);
    transform: translateY(-1px);
}

.contact-page .request-flow {
    position: relative;
    z-index: 2;
    margin-top: -6.4rem;
    padding-top: 0;
}

.contact-shell {
    width: min(100%, 1100px);
    margin: 0 auto;
    grid-template-columns: minmax(300px, 0.82fr) minmax(0, 1.18fr);
    gap: 1.35rem;
    align-items: stretch;
}

.contact-brief {
    display: grid;
    align-content: start;
    gap: 1.2rem;
    padding: clamp(1.5rem, 3vw, 2.2rem);
    border: 1px solid rgba(216, 177, 95, 0.16);
    border-radius: 34px;
    background:
        linear-gradient(180deg, rgba(19, 17, 16, 0.96), rgba(28, 23, 21, 0.98)),
        radial-gradient(circle at top right, rgba(216, 177, 95, 0.08), transparent 30%);
    box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, 0.05),
        0 28px 64px rgba(20, 15, 12, 0.24);
}

.contact-brief h2 {
    margin: 0;
    color: #fff8ef;
    font-size: clamp(2rem, 3.4vw, 3.15rem);
    line-height: 0.96;
    letter-spacing: -0.04em;
}

.contact-brief__lead {
    margin: 0;
    color: rgba(245, 239, 229, 0.8);
    line-height: 1.7;
}

.contact-brief__grid {
    display: grid;
    gap: 0.9rem;
}

.contact-brief__grid article {
    display: grid;
    gap: 0.3rem;
    padding: 1rem 1.05rem;
    border: 1px solid rgba(255, 255, 255, 0.08);
    border-radius: 22px;
    background: rgba(255, 255, 255, 0.04);
}

.contact-brief__grid strong,
.contact-brief__link strong {
    color: #fff7eb;
    font-size: 0.92rem;
}

.contact-brief__grid span,
.contact-brief__link span {
    color: rgba(245, 239, 229, 0.74);
    line-height: 1.55;
}

.contact-brief__links {
    display: grid;
    gap: 0.85rem;
}

.contact-brief__link {
    display: grid;
    gap: 0.28rem;
    padding: 1rem 1.05rem;
    border: 1px solid rgba(216, 177, 95, 0.14);
    border-radius: 22px;
    background: linear-gradient(135deg, rgba(216, 177, 95, 0.09), rgba(255, 255, 255, 0.03));
    text-decoration: none;
    transition: transform 200ms ease, border-color 200ms ease, background 200ms ease;
}

.contact-brief__link:hover,
.contact-brief__link:focus-visible {
    transform: translateY(-2px);
    border-color: rgba(216, 177, 95, 0.3);
    background: linear-gradient(135deg, rgba(216, 177, 95, 0.15), rgba(255, 255, 255, 0.04));
}

.contact-main {
    padding: clamp(1.75rem, 3vw, 2.5rem);
    border-radius: 34px;
}

.contact-page .request-field input,
.contact-page .request-field textarea {
    border: 1px solid rgba(159, 129, 80, 0.22);
    background: #fffdfa;
    color: #16120e;
    box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, 0.96),
        0 1px 2px rgba(22, 18, 14, 0.04);
}

.contact-page .request-field input::placeholder,
.contact-page .request-field textarea::placeholder {
    color: #8f8171;
}

.contact-page .request-field input:focus,
.contact-page .request-field textarea:focus {
    border-color: rgba(216, 177, 95, 0.7);
    background: #ffffff;
    box-shadow:
        0 0 0 0.28rem rgba(216, 177, 95, 0.14),
        inset 0 1px 0 rgba(255, 255, 255, 0.98);
}

.contact-intro h2 {
    max-width: 10ch;
    font-size: clamp(2rem, 4vw, 3.15rem);
    line-height: 0.96;
}

.contact-intro p:last-child {
    max-width: 48ch;
}

.contact-form-grid {
    margin-top: 1.4rem;
}

.contact-main__footer {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: center;
    gap: 1rem;
    margin-top: 1.4rem;
    padding-top: 1.2rem;
    border-top: 1px solid rgba(121, 96, 63, 0.12);
}

.contact-form-note {
    margin: 0;
    max-width: 42rem;
    color: #4f4438;
    line-height: 1.6;
}

.contact-form-note a {
    color: #17120d;
    font-weight: 700;
}

.contact-main__footer .button {
    min-width: 220px;
}

.service-group-panel__intro h2 {
    font-size: clamp(1.55rem, 3.2vw, 2.3rem);
    line-height: 0.98;
}

@media (max-width: 719px) {
    .contact-brief {
        display: none;
    }

    .service-group-panel__grid {
        display: flex;
        gap: 0.85rem;
        overflow-x: auto;
        padding-bottom: 0.35rem;
        scroll-snap-type: x mandatory;
        -webkit-overflow-scrolling: touch;
        scrollbar-width: none;
    }

    .service-group-panel__grid::-webkit-scrollbar {
        display: none;
    }

    .service-group-panel__grid .service-detail-card {
        flex: 0 0 86%;
        min-width: 86%;
        scroll-snap-align: start;
    }

    .service-group-panel--premium .service-group-panel__footer {
        padding-bottom: 5.5rem;
    }

    .contact-page .request-hero {
        padding-bottom: 3rem;
        background-position: 58% center;
    }

    .contact-page .request-hero__copy h1 {
        max-width: 11ch;
        white-space: normal;
    }

    .contact-page .request-flow {
        margin-top: -1.4rem;
    }

    .contact-shell {
        grid-template-columns: 1fr;
    }

    .contact-hero__signals {
        gap: 0.55rem;
    }

    .contact-hero__signals a,
    .contact-hero__signals span,
    .contact-main__footer .button {
        width: 100%;
        justify-content: center;
    }

    .contact-main__footer {
        align-items: stretch;
    }

    .contact-brief h2,
    .contact-intro h2 {
        max-width: none;
    }
}
