/* =========================================================
   Luxury Theme Override
   Palette: white / black / soft grey + gold accent (#b28333)
   Loaded LAST so it overrides every earlier stylesheet
   ========================================================= */

:root {
    /* Brand accent — warm gold */
    --main-color: #b28333;
    --main-color-rgb: 178,131,51;

    /* Deep charcoal (replaces warm brown #1c0d00) */
    --color-two: #0d0d0d;
    --color-two-rgb: 13,13,13;

    /* Near-white canvas (replaces cream #fefaf3) */
    --color-three: #ffffff;
    --color-three-rgb: 255,255,255;

    /* Rich ink (replaces dark brown #3e2f22) */
    --color-four: #1a1a1a;
    --color-four-rgb: 26,26,26;

    /* Soft panel grey (#f2f2f2 — keep) */
    --color-five: #f5f5f5;
    --color-five-rgb: 245,245,245;

    /* Light neutral (replaces peach #ffddc2) */
    --color-six: #efefef;
    --color-six-rgb: 239,239,239;

    /* Muted text grey (replaces warm #7a736c) */
    --color-seven: #6a6a6a;
    --color-seven-rgb: 106,106,106;

    /* Warm divider → cool divider */
    --color-eight: #e6e6e6;
    --color-eight-rgb: 230,230,230;

    /* Black panels */
    --color-nine: #111111;
    --color-nine-rgb: 17,17,17;

    /* Soft accent → neutral */
    --color-ten: #f0f0f0;
    --color-ten-rgb: 240,240,240;

    /* Cream → off-white */
    --color-eleven: #fafafa;
    --color-eleven-rgb: 250,250,250;

    /* Warm beige → grey */
    --color-twelve: #d9d9d9;
    --color-twelve-rgb: 217,217,217;

    /* Deep black */
    --color-thirteen: #0a0a0a;
    --color-thirteen-rgb: 10,10,10;
    --color-fourteen: #111111;
    --color-fourteen-rgb: 17,17,17;

    /* Accent deep → darker gold */
    --color-fifteen: #c9892b;
    --color-fifteen-rgb: 201,137,43;

    /* Very dark panels */
    --color-sixteen: #1c1c1c;
    --color-sixteen-rgb: 28,28,28;
    --color-seventeen: #555555;
    --color-seventeen-rgb: 85,85,85;

    /* Accent light → pale gold */
    --color-eighteen: #fdd082;
    --color-eighteen-rgb: 253,208,130;

    --color-nineteen: #2a2a2a;
    --color-nineteen-rgb: 42,42,42;
    --color-twenty: #3a3a3a;
    --color-twenty-rgb: 58,58,58;

    /* Warm creams → cool greys */
    --color-twentyone: #f2f2f2;
    --color-twentyone-rgb: 242,242,242;
    --color-twentytwo: #c5c5c5;
    --color-twentytwo-rgb: 197,197,197;
    --color-twentythree: #ededed;
    --color-twentythree-rgb: 237,237,237;
    --color-twentyfour: #6e6e6e;
    --color-twentyfour-rgb: 110,110,110;
    --color-twentyfive: #4e4e4e;
    --color-twentyfive-rgb: 78,78,78;
    --color-twentysix: #5a5a5a;
    --color-twentysix-rgb: 90,90,90;

    /* Accent mid → gold mid */
    --color-twentyseven: #e5a433;
    --color-twentyseven-rgb: 229,164,51;

    --color-twentyeight: #f5f5f5;
    --color-twentyeight-rgb: 245,245,245;
    --color-twentynine: #fdd082;
    --color-twentynine-rgb: 253,208,130;
    --color-thirty: #ececec;
    --color-thirty-rgb: 236,236,236;
    --color-thirtyone: #8a8a8a;
    --color-thirtyone-rgb: 138,138,138;
    --color-thirtytwo: #f3f3f3;
    --color-thirtytwo-rgb: 243,243,243;
    --color-thirtythree: #1f1f1f;
    --color-thirtythree-rgb: 31,31,31;
    --color-thirtyfour: #fafafa;
    --color-thirtyfour-rgb: 250,250,250;
    --color-thirtyfive: #8e8e8e;
    --color-thirtyfive-rgb: 142,142,142;
    --color-thirtysix: #0a0a0a;
    --color-thirtysix-rgb: 10,10,10;
    --color-thirtyseven: #121212;
    --color-thirtyseven-rgb: 18,18,18;
    --color-thirtyeight: #858585;
    --color-thirtyeight-rgb: 133,133,133;
    --color-thirtynine: #0f0f0f;
    --color-thirtynine-rgb: 15,15,15;
    --color-fourty: #1e1e1e;
    --color-fourty-rgb: 30,30,30;
    --color-fourtyone: #555555;
    --color-fourtyone-rgb: 85,85,85;
    --color-fourtytwo: #bebebe;
    --color-fourtytwo-rgb: 190,190,190;
    --color-fourtythree: #070707;
    --color-fourtythree-rgb: 7,7,7;
    --color-fourtyfour: #f6f6f6;
    --color-fourtyfour-rgb: 246,246,246;
    --color-fourtyfive: #e0e0e0;
    --color-fourtyfive-rgb: 224,224,224;
    --color-fourtysix: #858585;
    --color-fourtysix-rgb: 133,133,133;
    --color-fourtyseven: #f7f7f7;
    --color-fourtyseven-rgb: 247,247,247;
    --color-fourtyeight: #eeeeee;
    --color-fourtyeight-rgb: 238,238,238;
    --color-fourtynine: #ececec;
    --color-fourtynine-rgb: 236,236,236;
    --color-fifty: #5d5d5d;
    --color-fifty-rgb: 93,93,93;
    --color-fiftyone: #eaeaea;
    --color-fiftyone-rgb: 234,234,234;
    --color-fiftytwo: #080808;
    --color-fiftytwo-rgb: 8,8,8;
    --color-fiftythree: #7a7a7a;
    --color-fiftythree-rgb: 122,122,122;
    --color-fiftyfour: #f5d9a8;  /* soft gold tint for accents */
    --color-fiftyfour-rgb: 245,217,168;
    --color-fiftyfive: #f4f4f4;
    --color-fiftyfive-rgb: 244,244,244;
    --color-fiftysix: #fbfbfb;
    --color-fiftysix-rgb: 251,251,251;
    --color-sixty: #f1f1f1;
    --color-sixty-rgb: 241,241,241;
    --color-sixtyone: #fafcff;
    --color-sixtyone-rgb: 250,252,255;
    --color-sixtytwo: #3d3d3d;
    --color-sixtytwo-rgb: 61,61,61;

    /* The dense brand gold (replaces #f18c3c) */
    --color-sixtythree: #b28333;
    --color-sixtythree-rgb: 178,131,51;

    --white-color: #ffffff;
    --white-color-rgb: 255,255,255;
    --black-color: #000000;
    --black-color-rgb: 0,0,0;
}

/* ----------------------------------------------------------
   Typography polish — tighten headings, soften body
   ---------------------------------------------------------- */
html, body { background-color: #ffffff !important; }
body { color: #333333; }
.page-wrapper, .boxed_wrapper { background-color: #ffffff; }
h1, h2, h3, h4, h5, h6 { color: #0d0d0d; letter-spacing: -0.01em; }
a { transition: color .25s ease; }

/* ----------------------------------------------------------
   Home Contact component (.hc) — dark luxury panel + gold
   ---------------------------------------------------------- */
.hc { background: #ffffff; }
.hc__wrap { background: #fff; box-shadow: 0 30px 80px rgba(0,0,0,.08); border: 1px solid #ececec; }
.hc__info { background: linear-gradient(135deg, #0d0d0d 0%, #1f1f1f 100%); }
.hc__info::before { opacity: .05; filter: brightness(2); }
.hc__eyebrow { color: #b28333; }
.hc__item-ico { background: rgba(178,131,51,.15); color: #b28333; }
.hc__item-value a:hover { color: #b28333; }
.hc__form-heading { color: #0d0d0d; }
.hc__form-sub { color: #6a6a6a; }
.hc__field label { color: #1a1a1a; }
.hc__field input, .hc__field textarea, .hc__field select {
    background: #ffffff; border-color: #e6e6e6; color: #0d0d0d;
}
.hc__field input:focus, .hc__field textarea:focus, .hc__field select:focus {
    border-color: #b28333; background: #fff; box-shadow: 0 0 0 3px rgba(178,131,51,.18);
}
.hc__submit { background: #0d0d0d; color: #fff; letter-spacing: 1.2px; }
.hc__submit:hover { background: #b28333; color: #0d0d0d; box-shadow: 0 12px 28px rgba(178,131,51,.35); }
.hc__note { color: #8a8a8a; }

/* ----------------------------------------------------------
   Empty State component
   ---------------------------------------------------------- */
.empty-state { background: #fff; border-color: #ececec; box-shadow: 0 18px 40px rgba(0,0,0,.05); }
.empty-state__icon { background: linear-gradient(135deg, #fff8ea 0%, #fdebc4 100%); color: #b28333; }
.empty-state__title { color: #0d0d0d; }
.empty-state__text { color: #6a6a6a; }
.empty-state__phone { color: #0d0d0d; }
.empty-state__phone i { color: #b28333; }
.empty-state__phone:hover { color: #b28333; }

/* ----------------------------------------------------------
   Clients — page + home preview
   ---------------------------------------------------------- */
.clients-page { background: #fff; }
.client-card {
    background: #fff; border: 1px solid #ececec; color: #0d0d0d;
}
.client-card:hover {
    border-color: #b28333;
    box-shadow: 0 20px 42px rgba(0,0,0,.08);
    color: #0d0d0d;
}
.client-card__name { color: #1a1a1a; }
a.client-card:hover .client-card__name { color: #b28333; }
.clients-home { background: #ffffff; }

/* ----------------------------------------------------------
   Buttons — unified luxury CTA treatment
   ---------------------------------------------------------- */
.theme-btn.btn-style-one,
.theme-btn.btn-style-two,
.theme-btn.btn-style-three,
.theme-btn.btn-style-four {
    background: #0d0d0d;
    color: #ffffff;
    border-color: #0d0d0d;
    letter-spacing: 1.2px;
    transition: background .3s ease, color .3s ease, border-color .3s ease, box-shadow .3s ease, transform .3s ease;
}
.theme-btn.btn-style-one:hover,
.theme-btn.btn-style-two:hover,
.theme-btn.btn-style-three:hover,
.theme-btn.btn-style-four:hover {
    background: #b28333;
    color: #0d0d0d;
    border-color: #b28333;
    box-shadow: 0 14px 30px rgba(178,131,51,.35);
}

/* Gold-accent buttons keep gold as primary */
.btn-wrap .text-one,
.btn-wrap .text-two { color: inherit; }

/* ----------------------------------------------------------
   Section titles — gold eyebrow, tight black heading
   ---------------------------------------------------------- */
.sec-title_title { color: #b28333 !important; letter-spacing: 2.5px; text-transform: uppercase; font-weight: 600; }
.sec-title_heading { color: #0d0d0d; letter-spacing: -0.01em; }

/* ----------------------------------------------------------
   Header Style Three — black tile pattern behind TOP BAR ONLY
   (socials + terms/Gallery/Blog + address/phone/email line).
   The logo/menu pill stays on white as before.
   ---------------------------------------------------------- */
.header-style-three_image.header-style-three_image--tiles { display: none !important; }

.header-style-three .header-top {
    position: relative;
    background: linear-gradient(135deg, #0d0d0d 0%, #1f1f1f 100%) !important;
    padding: 1px 0;
    overflow: hidden;
}
.header-style-three .header-top::before {
    content: "";
    position: absolute;
    inset: 0;
    background: url("../images/background/pattern-1.png") center/cover;
    opacity: 0.08;
    pointer-events: none;
    z-index: 0;
}
.header-style-three .header-top > .auto-container { position: relative; z-index: 1; }

/* Header top text/icons sit on black tiles — make them white/gold */
.header-style-three .header-top,
.header-style-three .header-top a,
.header-style-three .header-top_list a,
.header-style-three .header-top_info li,
.header-style-three .header-top_info a {
    color: #ffffff !important;
}
.header-style-three .header-top a:hover,
.header-style-three .header-top_info a:hover { color: #b28333 !important; }
.header-style-three .header-top_info li .icon { color: #b28333 !important; }
.header-style-three .header_socials a {
    background-color: rgba(255,255,255,0.08) !important;
    color: #ffffff !important;
    transition: background-color .25s ease, color .25s ease;
}
.header-style-three .header_socials a:hover {
    background-color: #b28333 !important;
    color: #0d0d0d !important;
}

/* Logo pill — soft shadow so it "floats" on the tiles */
.header-style-three .header-lower .inner-container {
    border-radius: 8px;
}

/* ----------------------------------------------------------
   Header / Navigation accent
   ---------------------------------------------------------- */
.main-menu .navigation > li > a:hover,
.main-menu .navigation > li.current > a,
.main-menu .navigation > li:hover > a {
    color: #b28333 !important;
}

/* ----------------------------------------------------------
   Footer — dark luxury gradient (matches .hc__info panel)
   ---------------------------------------------------------- */
.main-footer,
.footer-one,
.footer-two {
    position: relative;
    background: linear-gradient(135deg, #0d0d0d 0%, #1f1f1f 100%) !important;
    overflow: hidden;
}

/* Use the existing .main-footer_bg as the subtle pattern overlay */
.main-footer .main-footer_bg {
    position: absolute !important;
    inset: 0 !important;
    background: url("../images/background/pattern-1.png") center/cover !important;
    opacity: 0.08 !important;
    pointer-events: none;
    z-index: 0;
}

/* Keep footer content above the pattern overlay */
.main-footer > *:not(.main-footer_bg) { position: relative; z-index: 1; }

.main-footer,
.main-footer p,
.main-footer .footer-text,
.main-footer .footer-list li,
.main-footer .footer-list a,
.main-footer .footer-title,
.footer-one,
.footer-two { color: #d8d8d8; }

.main-footer a { color: #ffffff; }
.main-footer a:hover,
.footer-one a:hover,
.footer-two a:hover { color: #b28333 !important; }

.main-footer .footer-title { color: #ffffff; }
.main-footer .footer-bottom,
.main-footer .copyright-text,
.main-footer .footer-nav a { color: #b8b8b8; }

/* ----------------------------------------------------------
   Breadcrumb / Page Title band
   ---------------------------------------------------------- */
.page-title { background-color: #111111 !important; }
.page-title .title { color: #ffffff; }
.page-title .bread-crumb li a { color: #b28333; }

/* ----------------------------------------------------------
   Cards & service blocks — neutral shadows
   ---------------------------------------------------------- */
.service-block-one .inner-box,
.project-block-one .inner-box,
.news-block-one .inner-box {
    box-shadow: 0 14px 36px rgba(0,0,0,.06);
    background: #fff;
    border: 1px solid #ececec;
}

/* ----------------------------------------------------------
   Misc. warm backgrounds still baked into style.css
   Safety-net override for any lingering cream/peach hex
   ---------------------------------------------------------- */
[style*="background:#fbefe2"],
[style*="background:#f5e6d2"],
[style*="background: #fbefe2"],
[style*="background: #f5e6d2"] { background: #ffffff !important; }

/* Force white page base on main content sections that inherit warm tints */
section,
.about-one,
.services-one,
.projects-one,
.blog-one,
.news-one,
.testimonial-one,
.clients-page,
.clients-home,
.page-title + *,
main { background-color: #ffffff; }

/* ----------------------------------------------------------
   Scrollbar (optional luxury touch, Webkit)
   ---------------------------------------------------------- */
::-webkit-scrollbar { width: 10px; }
::-webkit-scrollbar-track { background: #f5f5f5; }
::-webkit-scrollbar-thumb { background: #0d0d0d; }
::-webkit-scrollbar-thumb:hover { background: #b28333; }

/* ----------------------------------------------------------
   Floating contact buttons (replaces scroll-to-top arrow)
   Always visible — phone, email, location
   ---------------------------------------------------------- */
.progress-wrap { display: none !important; } /* hide any cached instance */

.floating-contacts {
    position: fixed;
    right: 24px;
    bottom: 24px;
    z-index: 999;
    display: flex;
    flex-direction: column;
    gap: 12px;
    pointer-events: none;
}
.floating-contacts .fc__btn {
    pointer-events: auto;
    display: inline-flex;
    align-items: center;
    height: 52px;
    width: 52px;
    max-width: 52px;
    border-radius: 26px;
    background: #0d0d0d;
    color: #fff !important;
    text-decoration: none;
    box-shadow: 0 8px 22px rgba(0, 0, 0, 0.28);
    overflow: hidden;
    white-space: nowrap;
    transition: background .25s ease, color .25s ease, max-width .35s ease, box-shadow .25s ease, transform .2s ease;
}
.floating-contacts .fc__btn:hover,
.floating-contacts .fc__btn:focus-visible {
    background: #b28333;
    color: #0d0d0d !important;
    max-width: 340px;
    box-shadow: 0 10px 26px rgba(178, 131, 51, 0.4);
    outline: none;
}
.floating-contacts .fc__btn i {
    flex: 0 0 52px;
    width: 52px;
    height: 52px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 16px;
}
.floating-contacts .fc__label {
    display: inline-block;
    padding-right: 18px;
    padding-left: 4px;
    font-size: 13.5px;
    font-weight: 600;
    letter-spacing: .3px;
    opacity: 0;
    transform: translateX(-6px);
    transition: opacity .25s ease .05s, transform .25s ease .05s;
}
.floating-contacts .fc__btn:hover .fc__label,
.floating-contacts .fc__btn:focus-visible .fc__label {
    opacity: 1;
    transform: translateX(0);
}

@media (max-width: 576px) {
    .floating-contacts { right: 14px; bottom: 14px; gap: 10px; }
    .floating-contacts .fc__btn { height: 46px; width: 46px; max-width: 46px; border-radius: 23px; }
    .floating-contacts .fc__btn i { flex-basis: 46px; width: 46px; height: 46px; font-size: 15px; }
    .floating-contacts .fc__btn:hover,
    .floating-contacts .fc__btn:focus-visible { max-width: 86vw; }
}

/* ----------------------------------------------------------
   Legal pages (Privacy, Terms) — premium long-form layout
   ---------------------------------------------------------- */
.legal-page {
    padding: 90px 0 100px;
    background: #fafafa;
}
.legal-page .auto-container { max-width: 920px; }

.legal-card {
    position: relative;
    background: #ffffff;
    border: 1px solid #ececec;
    border-radius: 14px;
    overflow: hidden;
}
/* Gold accent rail */
.legal-card::before {
    content: "";
    position: absolute;
    left: 0; top: 0; bottom: 0;
    width: 4px;
    background: linear-gradient(180deg, #b28333 0%, #8f6829 100%);
}

.legal-card__head {
    padding: 44px 56px 28px;
    border-bottom: 1px solid #f0f0f0;
}
.legal-card__eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font-size: 12px;
    letter-spacing: 1.4px;
    text-transform: uppercase;
    color: #b28333;
    font-weight: 700;
    margin-bottom: 14px;
}
.legal-card__eyebrow i { font-size: 11px; }
.legal-card__title {
    font-size: 34px;
    font-weight: 700;
    color: #0d0d0d;
    margin: 0 0 10px;
    line-height: 1.2;
    letter-spacing: -0.3px;
}
.legal-card__meta {
    font-size: 13px;
    color: #7a7a7a;
    letter-spacing: .2px;
}
.legal-card__meta strong { color: #0d0d0d; font-weight: 600; }

.legal-card__body {
    padding: 36px 56px 40px;
    font-size: 15.5px;
    line-height: 1.85;
    color: #3a3a3a;
}
.legal-card__body > *:first-child { margin-top: 0; }
.legal-card__body > *:last-child  { margin-bottom: 0; }

.legal-card__body h2,
.legal-card__body h3,
.legal-card__body h4 {
    margin: 36px 0 12px;
    color: #0d0d0d;
    font-weight: 700;
    line-height: 1.3;
    position: relative;
    padding-left: 18px;
}
.legal-card__body h2 { font-size: 22px; }
.legal-card__body h3 { font-size: 19px; }
.legal-card__body h4 { font-size: 17px; }
.legal-card__body h2::before,
.legal-card__body h3::before,
.legal-card__body h4::before {
    content: "";
    position: absolute;
    left: 0; top: 50%;
    transform: translateY(-50%);
    width: 4px;
    height: 1em;
    background: #b28333;
    border-radius: 2px;
}

.legal-card__body p { margin: 0 0 14px; }
.legal-card__body ul,
.legal-card__body ol { margin: 10px 0 18px; padding-left: 22px; }
.legal-card__body ul li,
.legal-card__body ol li { margin-bottom: 8px; }
.legal-card__body ul li::marker { color: #b28333; }

.legal-card__body a {
    color: #0d0d0d;
    font-weight: 600;
    text-decoration: none;
    border-bottom: 1px solid #b28333;
    transition: color .18s ease, border-color .18s ease;
}
.legal-card__body a:hover {
    color: #8f6829;
    border-color: #8f6829;
}

.legal-card__body blockquote {
    margin: 20px 0;
    padding: 14px 18px;
    border-left: 3px solid #b28333;
    background: #fffaf0;
    color: #3a3a3a;
    font-style: italic;
    border-radius: 0 8px 8px 0;
}

.legal-card__body strong { color: #0d0d0d; font-weight: 700; }

.legal-card__foot {
    padding: 24px 56px 32px;
    border-top: 1px solid #f0f0f0;
    background: #fafafa;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    flex-wrap: wrap;
}
.legal-card__foot-text {
    font-size: 14px;
    color: #555;
}
.legal-card__foot-actions {
    display: flex;
    gap: 10px;
    flex-wrap: wrap;
}
.legal-card__foot-actions .theme-btn {
    padding: 10px 22px;
    font-size: 13px;
    overflow: hidden;
    transition: background .25s ease, color .25s ease, border-color .25s ease, box-shadow .25s ease !important;
}
/* Kill the legacy sliding ::before overlay so our hover colors actually show. */
.legal-card__foot-actions .theme-btn::before,
.legal-card__foot-actions .theme-btn::after {
    display: none !important;
    content: none !important;
}

/* Primary CTA: solid black at rest, gold on hover (contrasts with #fafafa footer) */
.legal-card__foot-actions .theme-btn.btn-style-one {
    background: #0d0d0d !important;
    color: #ffffff !important;
    border: 1px solid #0d0d0d !important;
}
.legal-card__foot-actions .theme-btn.btn-style-one:hover,
.legal-card__foot-actions .theme-btn.btn-style-one:focus-visible {
    background: #b28333 !important;
    color: #0d0d0d !important;
    border-color: #b28333 !important;
}
.legal-card__foot-actions .theme-btn.btn-style-one span,
.legal-card__foot-actions .theme-btn.btn-style-one:hover span {
    color: inherit !important;
}

/* Secondary CTA: outlined at rest, inverts to solid black on hover */
.legal-card__foot-actions .theme-btn.btn-style-three {
    background: transparent !important;
    color: #0d0d0d !important;
    border: 1px solid #0d0d0d !important;
    box-shadow: none !important;
}
.legal-card__foot-actions .theme-btn.btn-style-three:hover,
.legal-card__foot-actions .theme-btn.btn-style-three:focus-visible {
    background: #0d0d0d !important;
    color: #ffffff !important;
    border-color: #0d0d0d !important;
}
.legal-card__foot-actions .theme-btn.btn-style-three span,
.legal-card__foot-actions .theme-btn.btn-style-three:hover span {
    color: inherit !important;
}

/* Mobile */
@media (max-width: 768px) {
    .legal-page { padding: 60px 0 70px; }
    .legal-card__head { padding: 30px 22px 22px; }
    .legal-card__title { font-size: 26px; }
    .legal-card__body { padding: 26px 22px 30px; font-size: 14.5px; line-height: 1.75; }
    .legal-card__body h2 { font-size: 19px; }
    .legal-card__body h3 { font-size: 17px; }
    .legal-card__body h4 { font-size: 16px; }
    .legal-card__foot { padding: 20px 22px 24px; flex-direction: column; align-items: stretch; }
    .legal-card__foot-actions { justify-content: stretch; }
    .legal-card__foot-actions .theme-btn { flex: 1; text-align: center; }
}

/* =========================================================
   Home slider — make each slide's inline background-image
   actually fill the slide area instead of showing at its
   native size. Keeps the slide's existing padding/height.
   ========================================================= */
.slider-one .swiper-slide {
    background-color: #0d0d0d;
    background-size: cover;
    background-position: center center;
    background-repeat: no-repeat;
}

/* Admin Login link in lower header */
.header_admin-login {
    display: inline-block;
    font-size: 13px;
    font-weight: 600;
    letter-spacing: .4px;
    text-transform: uppercase;
    color: #0d0d0d;
    margin-inline-end: 18px;
    padding: 6px 4px;
    transition: color .2s ease;
    white-space: nowrap;
}
.header_admin-login:hover {
    color: #b28333;
}

/* ---------- Blog detail: tags chips + fixed contact card ---------- */
.post-tags-row {
    display: flex; align-items: center; flex-wrap: wrap;
    gap: 10px;
    margin: 26px 0 10px;
    padding-top: 18px;
    border-top: 1px solid #efe7d1;
}
.post-tags-row__label {
    font-size: 13px; font-weight: 700;
    color: #0d0d0d; letter-spacing: .5px;
    text-transform: uppercase;
    display: inline-flex; align-items: center; gap: 6px;
}
.post-tags-row__label i { color: #b28333; }
.post-tag-chip {
    display: inline-flex; align-items: center;
    padding: 6px 14px;
    font-size: 12.5px; font-weight: 600;
    color: #5b3f10;
    background: #fffaf0;
    border: 1px solid #f0dcb0;
    border-radius: 999px;
    text-decoration: none;
    transition: background .18s, color .18s, border-color .18s, transform .12s;
}
.post-tag-chip:hover {
    background: #b28333; color: #fff; border-color: #b28333;
    transform: translateY(-1px);
}

.post-contact-card {
    margin-top: 30px;
    padding: 28px 28px 22px;
    background: linear-gradient(135deg, #1a0f02 0%, #0d0d0d 70%);
    color: #fff;
    border-radius: 18px;
    box-shadow: 0 18px 40px rgba(27,15,0,.18);
    position: relative;
    overflow: hidden;
}
.post-contact-card::before {
    content: '';
    position: absolute;
    top: -40%; inset-inline-end: -20%;
    width: 360px; height: 360px;
    background: radial-gradient(circle, rgba(178,131,51,.35) 0%, transparent 70%);
    pointer-events: none;
}
.post-contact-card__title {
    position: relative; z-index: 1;
    display: inline-flex; align-items: center; gap: 10px;
    font-size: 18px; font-weight: 700;
    color: #fff;
}
.post-contact-card__title i {
    font-size: 14px;
    color: #b28333;
    width: 34px; height: 34px;
    display: inline-grid; place-items: center;
    background: rgba(178,131,51,.18);
    border-radius: 10px;
}
.post-contact-card__sub {
    position: relative; z-index: 1;
    font-size: 13.5px; color: rgba(255,255,255,.7);
    margin: 6px 0 18px;
}
.post-contact-card__list {
    position: relative; z-index: 1;
    list-style: none;
    padding: 0; margin: 0;
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
    gap: 12px;
}
.post-contact-card__list li {
    display: flex; align-items: center; gap: 12px;
    padding: 12px 14px;
    background: rgba(255,255,255,.04);
    border: 1px solid rgba(255,255,255,.08);
    border-radius: 12px;
    min-width: 0;
}
.post-contact-card__ico {
    width: 34px; height: 34px;
    background: rgba(178,131,51,.20);
    color: #b28333;
    border-radius: 10px;
    display: grid; place-items: center;
    flex-shrink: 0;
    font-size: 13px;
}
.post-contact-card__label {
    font-size: 10.5px;
    text-transform: uppercase;
    letter-spacing: 1.2px;
    color: rgba(255,255,255,.55);
    display: block;
}
.post-contact-card__value {
    font-size: 13.5px;
    font-weight: 600;
    color: #fff;
    text-decoration: none;
    display: block;
    word-break: break-word;
    overflow-wrap: anywhere;
    line-height: 1.35;
}
.post-contact-card__value:hover { color: #b28333 !important; }
.post-contact-card__list li > span:not(.post-contact-card__ico) {
    flex: 1; min-width: 0;
}

/* ---------- Mobile tweaks for the contact CTA card ---------- */
@media (max-width: 600px) {
    .post-contact-card {
        margin-top: 24px;
        padding: 22px 18px 18px;
        border-radius: 14px;
    }
    .post-contact-card::before {
        top: -30%;
        width: 220px;
        height: 220px;
    }
    .post-contact-card__title {
        font-size: 16.5px;
        gap: 8px;
        flex-wrap: wrap;
    }
    .post-contact-card__title i {
        width: 30px;
        height: 30px;
        font-size: 13px;
    }
    .post-contact-card__sub {
        font-size: 12.5px;
        margin: 8px 0 16px;
        line-height: 1.5;
    }
    .post-contact-card__list {
        grid-template-columns: 1fr;
        gap: 10px;
    }
    .post-contact-card__list li {
        padding: 11px 12px;
        gap: 10px;
        align-items: flex-start;
    }
    .post-contact-card__ico {
        width: 32px;
        height: 32px;
        font-size: 12px;
    }
    .post-contact-card__label {
        font-size: 10px;
        letter-spacing: 1px;
    }
    .post-contact-card__value {
        font-size: 13px;
    }
}

/* -------- Flooring Services grid: uniform 4:3 landscape cards -------- */
.service-block_three-image {
    aspect-ratio: 4 / 3;
    overflow: hidden;
    background: #f5f0e3;
    border-radius: 4px;
}
.service-block_three-image img {
    width: 100% !important;
    height: 100% !important;
    max-width: none !important;
    max-height: none !important;
    object-fit: cover !important;
    object-position: center center;
    display: block;
}
.service-block_three-inner:hover .service-block_three-image img {
    transform: scale(1.04);
}

/* -------- Home page service cards: uniform 4:3 landscape -------- */
.service-block_two-image {
    aspect-ratio: 4 / 3;
    overflow: hidden;
    background: #f5f0e3;
    border-radius: 4px;
}
.service-block_two-image img {
    width: 100% !important;
    height: 100% !important;
    max-width: none !important;
    max-height: none !important;
    object-fit: cover !important;
    object-position: center center;
    display: block;
}
.service-block_two-inner:hover .service-block_two-image img {
    transform: scale(1.04);
}

/* ================================================================
   Home services marquee — two rows scrolling in opposite directions
   Pure CSS infinite loop. Cards are duplicated in the markup so the
   track can translate -50% and wrap seamlessly.
   ================================================================ */
.services-marquee {
    position: relative;
    padding: 10px 0 4px;
}
/* Manual horizontal swipe — no auto animation. */
.services-marquee-row {
    display: block;
    margin-bottom: 24px;
    overflow-x: auto;
    overflow-y: hidden;
    scroll-snap-type: x mandatory;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;        /* Firefox */
    -ms-overflow-style: none;     /* IE/Edge */
}
.services-marquee-row::-webkit-scrollbar { display: none; }
.services-marquee-row:last-child { margin-bottom: 0; }

.services-marquee-track {
    display: flex;
    gap: 24px;
    width: max-content;
    padding: 4px 24px 4px 0;
}

.services-marquee-card {
    scroll-snap-align: start;
}

/* Pagination dots — show users the row is swipeable */
.services-marquee-dots {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 8px;
    margin: 14px 0 24px;
}
.services-marquee-row + .services-marquee-dots { margin-top: 14px; }
.services-marquee-dot {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    border: none;
    padding: 0;
    background: rgba(255, 255, 255, 0.35);
    cursor: pointer;
    transition: background 0.2s, transform 0.2s, width 0.2s;
}
.services-marquee-dot:hover { background: rgba(255, 255, 255, 0.6); }
.services-marquee-dot.is-active {
    background: #b28333;
    width: 26px;
    border-radius: 999px;
}
.services-marquee-dot:focus-visible {
    outline: none;
    box-shadow: 0 0 0 3px rgba(178, 131, 51, 0.3);
}

.services-marquee-card {
    flex: 0 0 320px;
    max-width: 320px;
    margin-bottom: 0 !important;
}
.services-marquee-card .service-block_two-image {
    aspect-ratio: 4 / 3;
}

@media (max-width: 768px) {
    .services-marquee-card { flex-basis: 260px; max-width: 260px; }
    .services-marquee-row  { margin-bottom: 18px; }
    .services-marquee-track { gap: 18px; padding-inline-end: 18px; animation-duration: 48s; }
}

/* -------- (Legacy swiper classes — kept so pages still render OK) -------- */
.services-two_carousel { position: relative; padding: 0 0 72px; }
.services-two_carousel .swiper-wrapper { align-items: stretch; }
.services-two_carousel .service-block_two { height: auto; margin-bottom: 0; }
.services-two_carousel .service-block_two-inner { height: 100%; }

/* Side arrows — vertically centered over the cards, outside the card area */
.services-two_prev,
.services-two_next {
    position: absolute;
    top: 45%;
    transform: translateY(-50%);
    width: 52px; height: 52px;
    border-radius: 50%;
    border: 1px solid rgba(255,255,255,.22);
    background: rgba(13,13,13,.55);
    backdrop-filter: blur(6px);
    -webkit-backdrop-filter: blur(6px);
    color: #fff;
    cursor: pointer;
    display: grid; place-items: center;
    font-size: 18px;
    z-index: 5;
    transition: background .2s ease, border-color .2s ease, color .2s ease,
                transform .15s ease, box-shadow .2s ease;
}
.services-two_prev { left: -10px; }
.services-two_next { right: -10px; }
.services-two_prev:hover,
.services-two_next:hover {
    background: #b28333;
    border-color: #b28333;
    color: #fff;
    box-shadow: 0 10px 26px rgba(178,131,51,.35);
    transform: translateY(-50%) scale(1.06);
}
.services-two_prev.swiper-button-disabled,
.services-two_next.swiper-button-disabled {
    opacity: .25; cursor: not-allowed;
}

/* Legacy wrapper — was the top-right container, now unused */
.services-two_carousel-nav { display: contents; }

/* Pagination dots — centered at the bottom of the carousel */
.services-two_carousel-pagination {
    position: absolute;
    bottom: 20px; left: 0; right: 0;
    text-align: center;
    z-index: 2;
}
.services-two_carousel-pagination .swiper-pagination-bullet {
    width: 9px; height: 9px;
    background: rgba(255,255,255,.35);
    opacity: 1;
    transition: background .2s, width .2s, transform .2s;
    margin: 0 4px;
}
.services-two_carousel-pagination .swiper-pagination-bullet-active {
    background: #b28333;
    width: 28px;
    border-radius: 6px;
}

@media (max-width: 768px) {
    /* On narrow screens tuck arrows inside a bit so they don't clip off */
    .services-two_prev { left: 4px; }
    .services-two_next { right: 4px; }
    .services-two_prev,
    .services-two_next { width: 42px; height: 42px; font-size: 15px; }
}
@media (max-width: 480px) {
    .services-two_carousel { padding-bottom: 56px; }
    .services-two_carousel-pagination { bottom: 16px; }
}

/* -------- Service detail sidebar: compact + scrollable list -------- */
.service-widget .widget-content {
    padding: 0;
    background: #fff;
    border: 1px solid #ece5d6;
    border-radius: 14px;
    overflow: hidden;
    box-shadow: 0 6px 18px rgba(27,15,0,.04);
}
.service-list-header {
    display: flex; align-items: center; justify-content: space-between;
    padding: 14px 18px;
    background: linear-gradient(180deg, #1a0f02 0%, #0d0d0d 100%);
    color: #fff;
    font-size: 13px;
    font-weight: 700;
    letter-spacing: .8px;
    text-transform: uppercase;
}
.service-list-count {
    display: inline-grid; place-items: center;
    min-width: 28px; height: 24px;
    background: #b28333;
    color: #fff;
    border-radius: 999px;
    font-size: 11px;
    padding: 0 8px;
}
.service-list--scroll {
    list-style: none;
    padding: 6px 0;
    margin: 0;
    max-height: 480px;
    overflow-y: auto;
    scrollbar-width: thin;
    scrollbar-color: #b28333 #fff5e3;
}
.service-list--scroll::-webkit-scrollbar { width: 6px; }
.service-list--scroll::-webkit-scrollbar-track { background: #fffdf9; }
.service-list--scroll::-webkit-scrollbar-thumb { background: #e3d8bf; border-radius: 6px; }
.service-list--scroll::-webkit-scrollbar-thumb:hover { background: #b28333; }

.service-list--scroll li {
    border: 0;
    padding: 0;
    margin: 0;
    position: static;
}
.service-list--scroll li a {
    display: flex !important;
    align-items: center; gap: 10px;
    padding: 11px 18px !important;
    font-size: 13.5px !important;
    font-weight: 500 !important;
    color: #3a3a3a !important;
    background: transparent !important;
    text-decoration: none;
    border-inline-start: 3px solid transparent;
    transition: background .15s, color .15s, border-color .15s;
    position: relative;
    line-height: 1.35;
}
.service-list--scroll li a::before {
    content: '';
    position: static !important;
    width: 6px !important; height: 6px !important;
    min-width: 6px;
    border-radius: 50% !important;
    background: #d3c8a8 !important;
    clip-path: none !important;
    right: auto !important; top: auto !important; bottom: auto !important;
    flex-shrink: 0;
    transition: background .15s, transform .15s;
}
.service-list--scroll li a::after {
    content: none !important;
    display: none !important;
}
.service-list--scroll li a:hover {
    background: #fffaf0 !important;
    color: #b28333 !important;
}
.service-list--scroll li a:hover::before {
    background: #b28333 !important;
    transform: scale(1.4);
}
.service-list--scroll li.is-active a {
    background: #fff5e3 !important;
    color: #8f6829 !important;
    font-weight: 700 !important;
    border-inline-start-color: #b28333 !important;
}
.service-list--scroll li.is-active a::before {
    background: #b28333 !important;
    transform: scale(1.5);
}

.service-list-all {
    display: block;
    padding: 12px 18px;
    text-align: center;
    background: #fffdf9;
    border-top: 1px solid #f0e5cc;
    font-size: 12.5px;
    font-weight: 700;
    letter-spacing: .5px;
    text-transform: uppercase;
    color: #b28333;
    text-decoration: none;
    transition: background .15s, color .15s;
}
.service-list-all:hover {
    background: #b28333;
    color: #fff;
}

/* ==================================================================
   Clients grid — polished, uniform logo frames
   ================================================================== */
.clients-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 26px;
    margin-top: 36px;
}
@media (max-width: 1200px) { .clients-grid { grid-template-columns: repeat(3, 1fr); gap: 22px; } }
@media (max-width: 768px)  { .clients-grid { grid-template-columns: repeat(2, 1fr); gap: 18px; } }
@media (max-width: 420px)  { .clients-grid { grid-template-columns: 1fr; } }

.client-card {
    position: relative;
    display: flex !important;
    flex-direction: column;
    gap: 0 !important;
    padding: 0 !important;
    min-height: 0 !important;
    background: #fff !important;
    border: 1px solid #ece5d6 !important;
    border-radius: 16px !important;
    overflow: hidden;
    text-decoration: none !important;
    color: #1a1a1a !important;
    box-shadow: 0 1px 2px rgba(27,15,0,.03);
    transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease;
}
.client-card:hover {
    transform: translateY(-4px);
    border-color: #b28333 !important;
    box-shadow: 0 18px 38px rgba(178,131,51,.18), 0 2px 6px rgba(27,15,0,.04);
    color: #1a1a1a !important;
}

/* Logo slot — uniform 160px tall, centered contain */
.client-card__logo {
    width: 100%;
    height: 160px !important;
    padding: 20px 24px !important;
    background:
        radial-gradient(circle at 50% 40%, #fffaf0 0%, #ffffff 80%);
    display: grid;
    place-items: center;
    border-bottom: 1px solid #f3ede0;
}
.client-card__logo img {
    max-width: 160px !important;
    max-height: 90px !important;
    width: auto !important;
    height: auto !important;
    object-fit: contain !important;
    filter: grayscale(30%);
    opacity: .9;
    transition: filter .3s ease, opacity .3s ease, transform .3s ease;
    display: block;
}
.client-card:hover .client-card__logo img {
    filter: grayscale(0);
    opacity: 1;
    transform: scale(1.04);
}

/* Name footer */
.client-card__name {
    display: flex !important;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    padding: 14px 18px !important;
    background: #fffdf9;
    font-size: 13.5px;
    font-weight: 700;
    letter-spacing: .2px;
    color: #1a1a1a !important;
    line-height: 1.35;
    text-align: start !important;
    min-height: 48px;
}
.client-card__name > span {
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
.client-card__ext {
    flex-shrink: 0;
    font-size: 11px;
    width: 26px; height: 26px;
    display: inline-grid; place-items: center;
    border-radius: 50%;
    background: #fff5e3;
    color: #b28333;
    opacity: 0;
    transform: translateY(2px);
    transition: opacity .2s ease, transform .2s ease, background .2s ease, color .2s ease;
}
.client-card:hover .client-card__ext {
    opacity: 1;
    transform: translateY(0);
}
.client-card--link:hover .client-card__ext {
    background: #b28333;
    color: #fff;
}
a.client-card:hover .client-card__name > span {
    color: #b28333;
}

/* Small "partner" ribbon on the top-right */
.client-card::after {
    content: '';
    position: absolute;
    top: 12px; inset-inline-end: 12px;
    width: 8px; height: 8px;
    border-radius: 50%;
    background: #b28333;
    opacity: 0;
    transition: opacity .2s ease;
}
.client-card:hover::after { opacity: .9; }

/* ==================================================================
   Footer NAP row — inherits .footer-widget / .footer-title / .footer-list
   so it looks identical to the other widgets above it.
   ================================================================== */
.footer-nap-row {
    position: relative;
    z-index: 1;
    padding: 30px 0 10px;
    border-top: 1px solid rgba(255,255,255,.08);
}
.footer-nap-row .footer_column { margin-bottom: 28px; }

/* Service Area: 3-column grid so 11 cities stay compact */
.footer-list--2col {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    column-gap: 12px;
    row-gap: 8px;
}
.footer-list--2col li { margin-bottom: 0 !important; }
@media (max-width: 767px) {
    .footer-list--2col { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 420px) {
    .footer-list--2col { grid-template-columns: 1fr; }
}

/* "Free Estimate" — accent CTA in Popular Services */
.footer-cta {
    color: #b28333 !important;
    font-weight: 700 !important;
}
.footer-cta:hover { color: #ffffff !important; }
.footer-list li a.footer-cta::after {
    content: ' →';
    color: inherit;
}

/* ==================================================================
   Typography upgrade — Fraunces serif display + Inter sans body
   ================================================================== */
body {
    font-family: "Inter", system-ui, -apple-system, "Segoe UI", sans-serif !important;
    font-feature-settings: "ss01", "cv11";
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

h1, h2, h3, h4, h5, h6,
.sec-title_heading,
.slider-one_heading,
.blog-detail_heading,
.news-block_three-heading,
.service-detail_title,
.auth-form__title,
.dash-greet__hi {
    font-family: "Fraunces", Georgia, "Times New Roman", serif !important;
    /* Pull the axes toward the warm, slightly-condensed "display" look */
    font-variation-settings: "opsz" 72, "SOFT" 0, "WONK" 0;
    letter-spacing: -0.015em;
    font-weight: 700;
}

/* Hero headings — a touch more dramatic */
.slider-one_heading,
h1.auth-pitch__title,
.fe-hero h1 {
    font-variation-settings: "opsz" 144, "SOFT" 30;
    letter-spacing: -0.02em;
    font-weight: 600;   /* Fraunces reads darker than Inter at 700 */
}

/* Decorative eyebrow labels stay sans — they're small & uppercase */
.sec-title_title,
.footer-title,
.hc__eyebrow,
.dash-greet__day {
    font-family: "Inter", system-ui, sans-serif !important;
    letter-spacing: 2px;
    font-weight: 600;
}

/* Buttons stay sans so they read decisively */
.theme-btn, .btn, button.btn, .btn-style-one, .btn-style-two, .btn-style-three,
.hc__submit, .auth-forgot-link {
    font-family: "Inter", system-ui, sans-serif !important;
}

/* Italics pick up Fraunces' beautiful cursive italics */
em, i.fr-italic {
    font-style: italic;
    font-variation-settings: "opsz" 72, "SOFT" 50;
}

/* ----------------------------------------------------------
   Service cards — kill hover effect on touch devices.
   On phones a tap would otherwise leave :hover "stuck" on
   the card (icon flipped, colours swapped) until another
   element is tapped. Hover-capable devices (desktop) keep
   the original animation.
   ---------------------------------------------------------- */
@media (hover: none), (pointer: coarse) {
    .service-block_one-inner:hover .service-block_one-icon,
    .service-block_one-inner:focus .service-block_one-icon {
        transform: none;
    }
    .service-block_one-inner,
    .service-block_one-inner:hover {
        transition: none;
    }
}


/* ----------------------------------------------------------
   Hero slider — kill the decorative horizontal line that
   extends from prev/next arrows. The bundle adds a white
   1px × 60-65px line via ::after, which visually cuts
   across the bottom of the hero image.
   ---------------------------------------------------------- */
.main-slider-prev::after,
.main-slider-next::after,
.main-slider-prev::before,
.main-slider-next::before,
.main-slider_two-prev::after,
.main-slider_two-next::after,
.main-slider_two-prev::before,
.main-slider_two-next::before {
    display: none !important;
}

/* ----------------------------------------------------------
   Home hero slider — kill the grey strip showing under the
   image on mobile. Bundle CSS sets .slider-one background to
   var(--color-seven) which we remapped to dark grey — that
   shows through wherever the image doesn't reach.
   ---------------------------------------------------------- */
.slider-one { background-color: #ffffff !important; }
.slider-one_pagination { display: none !important; }

/* ----------------------------------------------------------
   Home hero slider — mobile responsive sizing.
   The bundled CSS uses padding: 360px 0 180px on .main-slider
   .swiper-slide which makes the hero way too tall on phones
   and forces the bg image to crop poorly. Only the first
   slide's content area lines up with the visible image area
   on small screens — the other slides look empty.
   This block fixes ALL slides at every breakpoint.
   ---------------------------------------------------------- */
.main-slider .swiper-slide {
    background-size: cover !important;
    background-position: center center !important;
}

@media (max-width: 1199px) {
    .main-slider .swiper-slide { padding: 220px 0 140px !important; }
}
@media (max-width: 991px) {
    .main-slider .swiper-slide { padding: 180px 0 130px !important; }
    .slider-one_arrows { display: none !important; }
}
@media (max-width: 767px) {
    .main-slider .swiper-slide { padding: 130px 0 110px !important; }
    .slider-one_phone { display: none !important; }
}
@media (max-width: 480px) {
    .main-slider .swiper-slide { padding: 110px 16px 90px !important; }
    .slider-one_heading {
        font-size: 28px !important;
        line-height: 1.25 !important;
        margin-right: 0 !important;
    }
    .slider-one_title { font-size: 13px !important; letter-spacing: 1.5px; }
    .slider-one_button .theme-btn { font-size: 13px; }
}
