:root {
    --asphalt: #fbf6ee;
    --asphalt-soft: #f2e7d7;
    --panel: #fffdf9;
    --panel-border: #dcccb4;
    --amber: #d8892f;
    --amber-soft: #f0b460;
    --red: #d4694d;
    --ink: #233243;
    --muted: #667485;
    --line: #d7c5ad;
    --navy: #27425d;
    --sky: #dcebf7;
    --sun: #fff0cf;
    --shadow-soft: 0 18px 44px -30px rgba(35, 50, 67, .26);
    --shadow-card: 0 28px 60px -34px rgba(35, 50, 67, .24);
}

html {
    background: #fbf6ee;
}

body {
    background: linear-gradient(180deg, #fffaf3 0%, #f5ecde 100%);
    color: var(--ink);
}

a {
    color: var(--navy);
}

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

::selection {
    background: var(--amber-soft);
    color: #1f2832;
}

::-webkit-scrollbar-track {
    background: #efe4d2;
}

::-webkit-scrollbar-thumb {
    background: #cdb89c;
}

.rl-ticker {
    background: linear-gradient(90deg, #fff8ef 0%, #f5e9d7 100%);
    border-bottom: 1px solid rgba(39, 66, 93, .08);
}

.rl-nav,
.rl-nav.scrolled,
.rl-jumpbar {
    background: rgba(255, 250, 243, .9);
    border-bottom-color: rgba(39, 66, 93, .08);
    box-shadow: 0 12px 28px -28px rgba(35, 50, 67, .6);
}

.rl-nav .nav-link {
    color: var(--navy);
}

.rl-nav .nav-link:hover {
    color: var(--ink);
}

.rl-nav .nav-link.active {
    color: var(--amber);
}

.rl-menu-toggle {
    width: 48px;
    height: 48px;
    padding: 0;
    border: 1px solid var(--panel-border);
    border-radius: 14px;
    background: rgba(255, 255, 255, .84);
    display: inline-flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 5px;
    box-shadow: 0 16px 36px -28px rgba(35, 50, 67, .45);
    transition: transform .25s ease, border-color .25s ease, background .25s ease, box-shadow .25s ease;
}

.rl-menu-toggle span {
    width: 20px;
    height: 2px;
    border-radius: 999px;
    background: var(--navy);
    display: block;
}

.rl-menu-toggle:hover {
    transform: translateY(-1px);
    background: #fff8ee;
    border-color: rgba(216, 137, 47, .34);
    box-shadow: 0 18px 38px -26px rgba(35, 50, 67, .52);
}

.rl-menu-toggle:focus-visible {
    outline: none;
    box-shadow: 0 0 0 4px rgba(216, 137, 47, .14);
}

.rl-mobile-menu {
    width: min(86vw, 360px) !important;
    background: linear-gradient(180deg, #fffaf3 0%, #f5ebdc 100%);
    color: var(--ink);
    border-left: 1px solid rgba(39, 66, 93, .08);
}

.rl-mobile-menu .offcanvas-header {
    padding: 20px 20px 14px;
    border-bottom: 1px solid rgba(39, 66, 93, .08);
}

.rl-mobile-menu .offcanvas-body {
    padding: 16px 20px calc(24px + env(safe-area-inset-bottom));
}

.rl-mobile-menu .btn-close {
    margin: 0;
    opacity: .7;
}

.rl-mobile-menu-body {
    min-height: 100%;
    display: flex;
    flex-direction: column;
    gap: 20px;
}

.rl-mobile-nav {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.rl-mobile-link {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 15px 16px;
    border-radius: 14px;
    border: 1px solid var(--panel-border);
    background: rgba(255, 255, 255, .78);
    color: var(--navy);
    font-family: 'Oswald', sans-serif;
    font-size: .92rem;
    letter-spacing: .04em;
    text-transform: uppercase;
    line-height: 1.2;
    transition: transform .25s ease, background .25s ease, border-color .25s ease, color .25s ease;
}

.rl-mobile-link::after {
    content: "\F285";
    font-family: "bootstrap-icons";
    font-size: .85rem;
    color: var(--amber);
}

.rl-mobile-link:hover {
    transform: translateX(4px);
    border-color: rgba(216, 137, 47, .34);
    background: #fff8ee;
    color: var(--ink);
}

.rl-mobile-link.active {
    background: linear-gradient(135deg, var(--amber), var(--red));
    border-color: transparent;
    color: #fffaf3;
    box-shadow: 0 18px 36px -24px rgba(216, 137, 47, .5);
}

.rl-mobile-link.active::after {
    color: #fffaf3;
}

.rl-mobile-meta {
    margin-top: auto;
    padding: 18px;
    border-radius: 16px;
    border: 1px solid var(--panel-border);
    background: rgba(255, 255, 255, .74);
    box-shadow: var(--shadow-soft);
}

.rl-mobile-meta-title {
    font-family: 'Oswald', sans-serif;
    font-size: .92rem;
    letter-spacing: .08em;
    text-transform: uppercase;
    color: var(--ink);
    margin-bottom: 6px;
}

.rl-mobile-meta p {
    margin: 0 0 16px;
    color: var(--muted);
    font-size: .9rem;
    line-height: 1.55;
}

.rl-mobile-call {
    width: 100%;
    justify-content: center;
    padding-top: 12px;
    padding-bottom: 12px;
}

.offcanvas-backdrop.show {
    background: rgba(35, 50, 67, .2);
    backdrop-filter: blur(4px);
    opacity: 1;
}

.rl-btn-amber {
    background: linear-gradient(135deg, var(--amber), var(--red));
    border-color: transparent;
    color: #fffaf3;
    box-shadow: 0 14px 30px -18px rgba(216, 137, 47, .55);
}

.rl-btn-amber:hover {
    background: linear-gradient(135deg, #e19a46, #d67358);
    color: #fffdf9;
    box-shadow: 0 20px 34px -18px rgba(216, 137, 47, .42);
}

.rl-btn-outline {
    background: rgba(255, 255, 255, .8);
    border-color: var(--panel-border);
    color: var(--navy);
}

.rl-btn-outline:hover {
    background: #fff8ee;
    border-color: rgba(216, 137, 47, .4);
    color: var(--amber);
}

.rl-hero,
.rl-pagehead,
.rl-dhero {
    background:
        radial-gradient(ellipse 60% 50% at 80% 20%, rgba(216, 137, 47, .16), transparent 60%),
        radial-gradient(ellipse 48% 40% at 12% 88%, rgba(220, 235, 247, .9), transparent 60%),
        linear-gradient(180deg, #fffaf3 0%, #f7ecdc 62%, #f1e3d0 100%);
    border-bottom: 1px solid rgba(39, 66, 93, .08);
}

.rl-cta {
    background:
        radial-gradient(circle at 18% 0%, rgba(216, 137, 47, .16), transparent 34%),
        linear-gradient(135deg, #fff7ea 0%, #f5e4cc 52%, #f1dcc7 100%);
    border-top: 1px solid rgba(39, 66, 93, .08);
    border-bottom: 1px solid rgba(39, 66, 93, .08);
}

.rl-hero::before,
.rl-pagehead::before,
.rl-dhero::before {
    background-image:
        linear-gradient(rgba(39, 66, 93, .05) 1px, transparent 1px),
        linear-gradient(90deg, rgba(39, 66, 93, .05) 1px, transparent 1px);
}

.rl-headlight {
    background: radial-gradient(circle, rgba(255, 208, 120, .34), transparent 65%);
}

.rl-road {
    background: rgba(255, 255, 255, .56);
    border-top: 1px solid rgba(39, 66, 93, .1);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, .85);
}

.rl-road::before {
    background-image: repeating-linear-gradient(90deg, var(--amber) 0 34px, rgba(212, 105, 77, .1) 34px 64px);
}

.rl-section-alt {
    background: linear-gradient(180deg, rgba(242, 231, 215, .86) 0%, rgba(247, 240, 230, .94) 100%);
}

.rl-stat-board,
.rl-card,
.rl-fleet-card,
.rl-team-card,
.rl-review,
.rl-related-card,
.rl-contact-card,
.rl-quote-card,
.rl-blog-widget,
.rl-table-wrap,
.accordion-item,
.rl-blog-card {
    background: var(--panel);
    box-shadow: var(--shadow-soft);
}

.rl-card:hover,
.rl-fleet-card:hover,
.rl-team-card:hover,
.rl-review:hover,
.rl-related-card:hover,
.rl-blog-card:hover {
    box-shadow: var(--shadow-card);
}

.rl-card-imgwrap::after {
    background: linear-gradient(180deg, rgba(255, 255, 255, 0) 45%, var(--panel) 100%);
}

.rl-banner-img,
.rl-svc-imgwrap,
.rl-gallery img,
.rl-dhero-img,
.rl-hero-img,
.rl-review .media,
.rl-blog-detail-img,
.rl-blog-body-content img,
.rl-footer-map iframe {
    border: 1px solid var(--panel-border);
    box-shadow: var(--shadow-soft);
    background: #fffaf3;
}

.rl-eyebrow,
.rl-dhero-cat,
.rl-svc-price {
    background: rgba(216, 137, 47, .1);
    border-color: rgba(216, 137, 47, .24);
    color: var(--navy);
}

.rl-jumpchip,
.rl-blog-chip,
.rl-blog-tag,
.rl-area-chip,
.rl-pagination a,
.rl-pagination span,
.rl-swiper-btn {
    background: rgba(255, 255, 255, .82);
    border-color: var(--panel-border);
    color: var(--navy);
}

.rl-blog-chip:hover,
.rl-blog-chip.is-active,
.rl-pagination a:hover,
.rl-pagination .is-active,
.rl-jumpchip:hover,
.rl-jumpchip.is-active {
    color: #fffaf3;
    background: linear-gradient(135deg, var(--amber), var(--red));
    border-color: transparent;
}

.rl-area-chip:hover,
.rl-swiper-btn:hover,
.rl-related-card:hover .rl-icon {
    background: rgba(216, 137, 47, .1);
}

.rl-card .rl-icon,
.rl-related-card .rl-icon,
.rl-card:hover .rl-icon {
    background: rgba(216, 137, 47, .1);
    border-color: rgba(216, 137, 47, .22);
    color: var(--amber);
}

.rl-fleet-tag,
.rl-team-tag {
    color: var(--navy);
    border-color: rgba(39, 66, 93, .12);
    background: rgba(255, 255, 255, .76);
}

.rl-blog-cat {
    background: rgba(255, 248, 239, .94);
    color: var(--navy);
    border: 1px solid rgba(216, 137, 47, .22);
}

.rl-table thead th {
    background: rgba(216, 137, 47, .08);
    color: var(--navy);
}

.rl-table tbody tr:hover {
    background: rgba(216, 137, 47, .07);
}

.accordion-button {
    background: var(--panel);
    color: var(--ink);
}

.accordion-button:not(.collapsed) {
    background: rgba(216, 137, 47, .1);
    color: var(--navy);
}

.accordion-button::after {
    filter: sepia(1) saturate(5) hue-rotate(336deg) brightness(.84);
}

.rl-form-control {
    background: #fffdf9;
    border-color: var(--panel-border);
    color: var(--ink);
}

.rl-form-control:focus {
    border-color: var(--amber);
    box-shadow: 0 0 0 4px rgba(216, 137, 47, .12);
}

.rl-form-control::placeholder {
    color: #93a0ad;
}

.rl-label {
    color: var(--navy);
    opacity: .82;
}

.rl-process-track,
.rl-timeline::before {
    background: var(--line);
}

.rl-step .dot,
.rl-mini-step .dot {
    background: #fffaf3;
}

.rl-blog-quote,
.rl-note-card {
    background: linear-gradient(180deg, #fffaf2 0%, #fff2df 100%);
    border-color: rgba(216, 137, 47, .24);
    color: var(--ink);
}

.rl-sub,
.rl-pagehead p.lead,
.rl-dhero p.lead,
.rl-hero p.lead,
.rl-card p,
.rl-fleet-card p,
.rl-team-card p,
.rl-contact-line p,
.rl-review p,
.rl-review .who span,
.rl-blog-card p,
.rl-blog-meta,
.rl-blog-detail-meta,
.rl-blog-body-content,
.rl-blog-widget .cat-link,
.rl-blog-widget .cat-link .count,
.rl-recent-post span,
.rl-svc-list li,
.rl-quote-list li,
.rl-check-grid li,
.rl-note-card p,
.rl-detail-body p,
.rl-mini-step p,
.rl-copy {
    color: var(--muted);
}

.rl-card .rl-link,
.rl-related-card h5,
.rl-blog-card,
.rl-blog-card:hover,
.rl-recent-post,
.rl-recent-post h6,
.rl-table td.svc-name,
.rl-note-card strong,
.rl-blog-body-content h2,
.rl-blog-body-content h3,
.rl-blog-body-content h4 {
    color: var(--ink);
}

.rl-review .avatar {
    color: #fffaf3;
}

.rl-table i.bi-dash-circle {
    color: #9eabb6;
}

footer {
    background: linear-gradient(180deg, #fff9f0 0%, #f5ebdc 100%);
    border-top: 1px solid rgba(39, 66, 93, .08);
}

footer .d-flex.gap-2 .f-link {
    width: 38px;
    height: 38px;
    margin-bottom: 0;
    border-radius: 50%;
    border: 1px solid var(--panel-border);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: rgba(255, 255, 255, .82);
}

footer .d-flex.gap-2 .f-link:hover {
    padding-left: 0;
    background: rgba(216, 137, 47, .1);
}

.rl-social {
    background: rgba(255, 255, 255, .82);
    border-color: var(--panel-border);
    color: var(--navy);
}

.rl-footer-map {
    border: 1px solid var(--panel-border);
    border-radius: 12px;
    overflow: hidden;
    box-shadow: var(--shadow-soft);
}

.rl-cta-bg {
    opacity: .16;
}

@media (max-width: 575px) {
    .rl-menu-toggle {
        width: 44px;
        height: 44px;
        border-radius: 12px;
    }

    .rl-logo img {
        max-width: 160px;
        height: auto;
    }

    .rl-mobile-menu .offcanvas-header,
    .rl-mobile-menu .offcanvas-body {
        padding-left: 18px;
        padding-right: 18px;
    }

    .rl-mobile-menu .offcanvas-header {
        padding-top: 18px;
        padding-bottom: 12px;
    }

    .rl-mobile-link {
        padding: 14px 15px;
        font-size: .88rem;
    }

    .rl-mobile-meta {
        padding: 16px;
    }
}
