@import url('https://fonts.googleapis.com/css2?family=Manrope:wght@400;500;600;700&family=Playfair+Display:wght@600;700&display=swap');

:root {
    --premium-wine: #76001e;
    --premium-wine-dark: #3a0714;
    --premium-ink: #171214;
    --premium-ivory: #fbf8f2;
    --premium-gold: #c5a15a;
    --premium-gold-soft: rgba(197, 161, 90, .25);
    --premium-line: rgba(118, 0, 30, .12);
    --premium-shadow: 0 22px 55px rgba(38, 10, 19, .12);
    --premium-shadow-hover: 0 30px 68px rgba(52, 7, 20, .18);
    --premium-radius: 20px;
}

::selection {
    color: #fff;
    background: var(--premium-wine);
}

html {
    background: var(--premium-ivory);
}

body {
    color: #625b5e;
    background:
        radial-gradient(circle at 8% 8%, rgba(197, 161, 90, .08), transparent 24rem),
        radial-gradient(circle at 92% 36%, rgba(118, 0, 30, .05), transparent 30rem),
        linear-gradient(180deg, #fff 0%, var(--premium-ivory) 100%);
    font-family: "Manrope", "Open Sans", sans-serif;
    -webkit-font-smoothing: antialiased;
    text-rendering: optimizeLegibility;
    background-attachment: scroll;
}

h1,
h2,
h3,
.display-1,
.display-2,
.display-3,
.display-4,
.display-5,
.display-6 {
    color: var(--premium-ink);
    font-family: "Playfair Display", Georgia, serif;
    letter-spacing: -.025em;
}

h4,
h5,
h6,
.navbar .nav-link,
.btn {
    font-family: "Manrope", "Open Sans", sans-serif;
}

a:focus-visible,
button:focus-visible {
    outline: 3px solid rgba(197, 161, 90, .5);
    outline-offset: 3px;
}

body::-webkit-scrollbar {
    width: 11px;
}

body::-webkit-scrollbar-track {
    background: #f2ebe5;
}

body::-webkit-scrollbar-thumb {
    border: 3px solid #f2ebe5;
    border-radius: 99px;
    background: linear-gradient(var(--premium-gold), var(--premium-wine));
}

.container-fluid.bg-light.px-0 {
    color: #e9dfe1;
    background: linear-gradient(100deg, #160e11, #3b0b18 62%, #210d13) !important;
    border-bottom: 1px solid rgba(197, 161, 90, .28);
}

.container-fluid.bg-light.px-0 .text-secondary,
.container-fluid.bg-light.px-0 a {
    color: #e9dfe1 !important;
}

.container-fluid.bg-light.px-0 .breadcrumb-item + .breadcrumb-item::before {
    color: rgba(233, 223, 225, .45);
}

.navbar {
    background: rgba(255, 253, 249, .985) !important;
    border-bottom: 1px solid var(--premium-gold-soft) !important;
    box-shadow: 0 14px 36px rgba(38, 10, 19, .1) !important;
    -webkit-backdrop-filter: none;
    backdrop-filter: none;
}

.navbar-logo {
    transition: transform .3s ease;
}

.navbar-brand:hover .navbar-logo {
    transform: translateY(-1px);
}

.navbar .navbar-nav .nav-link {
    color: #2b2527;
    font-weight: 600;
    letter-spacing: .015em;
}

.navbar .navbar-nav .nav-link:hover,
.navbar .navbar-nav .nav-link.active {
    color: var(--premium-wine);
}

@media (min-width: 992px) {
    .navbar .navbar-nav .nav-link::after {
        height: 3px;
        border-radius: 99px;
        background: linear-gradient(90deg, var(--premium-wine), var(--premium-gold));
    }
}

.navbar-toggler {
    border-color: rgba(118, 0, 30, .24);
    background: linear-gradient(145deg, #fff, #f2e7e9);
    box-shadow: 0 8px 20px rgba(38, 10, 19, .1), inset 0 1px 0 #fff;
}

.btn-primary,
.back-to-top,
.mobile-menu-actions a {
    color: #fff !important;
    border-color: rgba(197, 161, 90, .5) !important;
    background: linear-gradient(130deg, #a20e36, var(--premium-wine) 50%, var(--premium-wine-dark)) !important;
    box-shadow: 0 12px 28px rgba(118, 0, 30, .25), inset 0 1px 0 rgba(255, 255, 255, .28) !important;
}

.btn {
    letter-spacing: .015em;
}

.btn-primary:hover,
.back-to-top:hover {
    transform: translateY(-3px);
    box-shadow: 0 17px 34px rgba(118, 0, 30, .34), inset 0 1px 0 rgba(255, 255, 255, .32) !important;
}

#header-carousel .carousel-caption {
    background:
        radial-gradient(circle at 50% 45%, rgba(118, 0, 30, .2), transparent 32rem),
        linear-gradient(100deg, rgba(12, 8, 10, .82), rgba(34, 8, 16, .54));
}

#header-carousel .carousel-caption > div {
    position: relative;
    padding: clamp(1.4rem, 3vw, 2.5rem) !important;
}

#header-carousel .carousel-caption > div::before,
#header-carousel .carousel-caption > div::after {
    position: absolute;
    content: "";
    left: 50%;
    width: min(420px, 70%);
    height: 1px;
    transform: translateX(-50%);
    background: linear-gradient(90deg, transparent, var(--premium-gold), transparent);
}

#header-carousel .carousel-caption > div::before {
    top: 0;
}

#header-carousel .carousel-caption > div::after {
    bottom: 0;
}

#header-carousel .carousel-caption h4 {
    color: #e4c98e !important;
    letter-spacing: .2em;
}

#header-carousel .hero-title {
    color: #fff !important;
    font-weight: 700;
    text-shadow: 0 8px 34px rgba(0, 0, 0, .48);
}

#header-carousel .carousel-control-prev-icon,
#header-carousel .carousel-control-next-icon {
    border: 1px solid rgba(197, 161, 90, .5);
    border-radius: 50%;
    background-color: rgba(23, 10, 14, .48);
    background-size: 48%;
}

.section-title {
    padding: .38rem .95rem !important;
    color: var(--premium-wine) !important;
    border: 1px solid var(--premium-gold-soft);
    border-radius: 99px;
    background: rgba(255, 253, 249, .9) !important;
    box-shadow: 0 8px 20px rgba(38, 10, 19, .07), inset 0 1px 0 #fff;
    letter-spacing: .16em;
}

.section-title::before,
.section-title::after {
    background: linear-gradient(90deg, var(--premium-wine), var(--premium-gold)) !important;
}

.text-center > .section-title + h1::after,
.text-center > .section-title + .display-6::after {
    display: block;
    content: "";
    width: 76px;
    height: 2px;
    margin: .9rem auto 0;
    border-radius: 99px;
    background: linear-gradient(90deg, transparent, var(--premium-gold), var(--premium-wine), var(--premium-gold), transparent);
}

.fact-item,
.service-item,
.project-item,
#industries .row > div > div,
.testimonial-item,
.profile-card,
.service-detail,
.sector-card,
.process-card,
.contact-card,
.quote-strip {
    border: 1px solid var(--premium-line) !important;
    border-top-color: rgba(197, 161, 90, .65) !important;
    background: linear-gradient(145deg, rgba(255, 255, 255, .98), rgba(249, 242, 237, .92)) !important;
    box-shadow: var(--premium-shadow), inset 0 1px 0 #fff !important;
    border-radius: var(--premium-radius) !important;
    transition: transform .4s cubic-bezier(.2, .8, .2, 1), border-color .4s ease, box-shadow .4s ease;
}

.fact-item:hover,
.service-item:hover,
.project-item:hover,
#industries .row > div > div:hover,
.profile-card:hover,
.service-detail:hover,
.sector-card:hover,
.process-card:hover,
.contact-card:hover {
    border-color: rgba(197, 161, 90, .52) !important;
    box-shadow: var(--premium-shadow-hover), inset 0 1px 0 #fff !important;
}

.fact-icon,
.profile-icon,
.service-icon,
.sector-icon,
.process-number,
.contact-icon {
    color: var(--premium-wine);
    border: 1px solid var(--premium-gold-soft);
    background: linear-gradient(145deg, #fff, #efe1df);
    box-shadow: 0 10px 23px rgba(118, 0, 30, .13), inset 0 1px 0 #fff;
}

.fact-value,
.project-item h6 {
    color: var(--premium-wine);
}

.service-item img,
.project-item img,
.img-border img {
    border: 1px solid rgba(197, 161, 90, .35);
    box-shadow: 0 14px 30px rgba(38, 10, 19, .14);
    transition: transform .5s cubic-bezier(.2, .8, .2, 1), box-shadow .4s ease;
}

.service-item:hover img,
.project-item:hover img,
.img-border:hover img {
    transform: scale(1.018);
    box-shadow: 0 18px 34px rgba(38, 10, 19, .17);
}

.img-border::before {
    border-color: var(--premium-gold) !important;
    opacity: .72;
}

.portfolio-section,
.industries-section {
    border: 1px solid rgba(197, 161, 90, .18);
    background:
        radial-gradient(circle at 92% 8%, rgba(197, 161, 90, .1), transparent 19rem),
        linear-gradient(145deg, rgba(255, 253, 249, .96), rgba(246, 236, 234, .9));
    box-shadow: 0 20px 46px rgba(38, 10, 19, .08), inset 0 1px 0 #fff;
}

/* Portfolio commitment carousel */
.commitment-section {
    position: relative;
    overflow: hidden;
    margin-top: 2.5rem;
    margin-bottom: 2.5rem;
    border: 1px solid rgba(197, 161, 90, .2);
    background:
        radial-gradient(circle at 8% 12%, rgba(197, 161, 90, .13), transparent 20rem),
        radial-gradient(circle at 92% 88%, rgba(118, 0, 30, .08), transparent 22rem),
        linear-gradient(145deg, #fffdf9, #f8f1ed);
    box-shadow: 0 22px 52px rgba(48, 10, 21, .09), inset 0 1px 0 #fff;
}

.commitment-section::before,
.commitment-section::after {
    position: absolute;
    content: "";
    width: 190px;
    height: 190px;
    border: 1px solid rgba(197, 161, 90, .16);
    border-radius: 50%;
    pointer-events: none;
}

.commitment-section::before {
    top: -115px;
    left: -80px;
    box-shadow: 0 0 0 32px rgba(197, 161, 90, .035);
}

.commitment-section::after {
    right: -95px;
    bottom: -125px;
    box-shadow: 0 0 0 38px rgba(118, 0, 30, .025);
}

.commitment-section > .container {
    position: relative;
    z-index: 1;
}

.commitment-section .testimonial-carousel .owl-stage-outer {
    padding: 18px 0 24px;
}

.commitment-section .testimonial-carousel .owl-stage {
    display: flex;
}

.commitment-section .testimonial-carousel .owl-item {
    display: flex;
}

.commitment-section .testimonial-item {
    width: 100%;
    min-height: 245px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: 1.75rem !important;
    border: 1px solid rgba(118, 0, 30, .11) !important;
    border-top: 3px solid rgba(197, 161, 90, .62) !important;
    border-radius: 20px !important;
    background:
        radial-gradient(circle at 100% 0, rgba(197, 161, 90, .11), transparent 10rem),
        linear-gradient(145deg, #fff, #fbf6f2) !important;
    box-shadow: 0 18px 42px rgba(48, 10, 21, .1), inset 0 1px 0 #fff !important;
}

.commitment-section .testimonial-item::before {
    left: auto;
    right: -25px;
    top: -50px;
    width: 135px;
    height: 135px;
    border: 1px solid rgba(197, 161, 90, .16);
    border-radius: 50%;
    background: transparent;
}

.commitment-section .testimonial-item::after {
    position: absolute;
    content: "\201C";
    right: 1.15rem;
    bottom: -.6rem;
    color: rgba(118, 0, 30, .055);
    font-family: Georgia, serif;
    font-size: 7rem;
    line-height: 1;
    pointer-events: none;
}

.commitment-section .testimonial-item .profile-icon {
    width: 58px;
    height: 58px;
    flex: 0 0 58px;
    border: 1px solid rgba(197, 161, 90, .42);
    border-radius: 18px;
    background: linear-gradient(145deg, #fff, #f0e3df);
    box-shadow: 0 12px 24px rgba(118, 0, 30, .13), inset 0 1px 0 #fff;
}

.commitment-section .testimonial-item h5 {
    color: var(--premium-ink);
    font-family: "Manrope", "Open Sans", sans-serif;
    font-size: 1.08rem;
    font-weight: 800;
}

.commitment-section .testimonial-item span {
    color: #8b7d80;
    font-size: .82rem;
    font-weight: 600;
}

.commitment-section .testimonial-item p {
    color: #6d6265;
    line-height: 1.72;
}

.commitment-section .testimonial-carousel .owl-item.center .testimonial-item {
    border-color: rgba(197, 161, 90, .72) !important;
    border-top-color: var(--premium-gold) !important;
    background:
        radial-gradient(circle at 85% 5%, rgba(197, 161, 90, .28), transparent 13rem),
        linear-gradient(140deg, #8e092d, #650019 65%, #330812) !important;
    box-shadow: 0 26px 55px rgba(74, 0, 20, .28), inset 0 1px 0 rgba(255, 255, 255, .18) !important;
    transform: translateY(-8px);
}

.commitment-section .testimonial-carousel .owl-item.center .testimonial-item::before {
    border-color: rgba(255, 255, 255, .13);
}

.commitment-section .testimonial-carousel .owl-item.center .testimonial-item::after {
    color: rgba(255, 255, 255, .07);
}

.commitment-section .testimonial-carousel .owl-item.center .profile-icon {
    color: var(--premium-wine) !important;
    border-color: rgba(255, 255, 255, .45);
    background: linear-gradient(145deg, #fff, #f0ded9);
}

.commitment-section .testimonial-carousel .owl-nav {
    margin-top: 8px;
}

.commitment-section .testimonial-carousel .owl-nav .owl-prev,
.commitment-section .testimonial-carousel .owl-nav .owl-next {
    width: 48px;
    height: 48px;
    margin: 0 7px;
    color: var(--premium-wine);
    border: 1px solid rgba(197, 161, 90, .5);
    background: rgba(255, 255, 255, .86);
    box-shadow: 0 10px 24px rgba(48, 10, 21, .09);
}

.commitment-section .testimonial-carousel .owl-nav .owl-prev:hover,
.commitment-section .testimonial-carousel .owl-nav .owl-next:hover {
    color: #fff;
    border-color: var(--premium-gold);
    background: linear-gradient(135deg, var(--premium-wine), var(--premium-wine-dark));
    transform: translateY(-3px);
}

.cta-panel,
.brand-panel {
    border: 1px solid rgba(197, 161, 90, .38);
    background:
        radial-gradient(circle at 90% 10%, rgba(197, 161, 90, .18), transparent 18rem),
        linear-gradient(125deg, #98102f, var(--premium-wine) 48%, #240a12) !important;
    box-shadow: 0 28px 58px rgba(74, 0, 20, .3), inset 0 1px 0 rgba(255, 255, 255, .18);
}

.page-header {
    position: relative;
    isolation: isolate;
    overflow: hidden;
    background:
        linear-gradient(105deg, rgba(15, 9, 11, .82), rgba(83, 0, 23, .62)),
        url(../img/carousel-1.jpg) center center / cover no-repeat;
    min-height: clamp(440px, 60vh, 540px);
    display: flex;
    align-items: center;
    border-bottom: 1px solid rgba(197, 161, 90, .4);
    box-shadow: inset 0 -1px 0 rgba(255, 255, 255, .14);
}

.page-header::before {
    position: absolute;
    content: "";
    inset: 18px;
    z-index: -1;
    border: 1px solid rgba(197, 161, 90, .24);
    pointer-events: none;
}

.page-header::after {
    position: absolute;
    content: "";
    left: 50%;
    bottom: 0;
    width: min(680px, 75%);
    height: 2px;
    transform: translateX(-50%);
    background: linear-gradient(90deg, transparent, var(--premium-gold), transparent);
    pointer-events: none;
}

.page-header > .container {
    position: relative;
    z-index: 1;
    width: 100%;
}

.page-header h1 {
    color: #fff;
    text-shadow: 0 8px 30px rgba(0, 0, 0, .42);
}

.page-header-subtitle {
    max-width: 720px;
    margin: 0 auto 1.35rem;
    color: rgba(255, 255, 255, .82);
    font-size: clamp(.9rem, 1.25vw, 1.05rem);
    line-height: 1.75;
    text-shadow: 0 3px 15px rgba(0, 0, 0, .35);
}

.page-header .breadcrumb {
    width: fit-content;
    margin-right: auto;
    margin-left: auto;
    padding: .65rem 1.15rem;
    border: 1px solid rgba(255, 255, 255, .18);
    border-radius: 50rem;
    background: rgba(20, 8, 12, .28);
    box-shadow: 0 12px 28px rgba(0, 0, 0, .15), inset 0 1px 0 rgba(255, 255, 255, .08);
}

.page-header .breadcrumb-item a {
    transition: color .25s ease;
}

.page-header .breadcrumb-item a:hover {
    color: #e5c98f !important;
}

/* Premium contact page */
.contact-section {
    position: relative;
}

.contact-section::before {
    position: absolute;
    content: "";
    inset: 8% 0 auto auto;
    width: 320px;
    height: 320px;
    border-radius: 50%;
    background: radial-gradient(circle, rgba(197, 161, 90, .13), transparent 70%);
    pointer-events: none;
}

.contact-lead {
    max-width: 760px;
    color: #655b5e;
    font-size: 1.06rem;
    line-height: 1.85;
}

.contact-response-badge {
    display: inline-flex;
    align-items: center;
    gap: .65rem;
    padding: .75rem 1.1rem;
    color: var(--premium-wine);
    border: 1px solid var(--premium-gold-soft);
    border-radius: 50rem;
    background: rgba(255, 255, 255, .78);
    box-shadow: 0 10px 28px rgba(48, 10, 21, .08);
    font-size: .86rem;
    font-weight: 700;
}

.contact-shell {
    position: relative;
    overflow: hidden;
    border: 1px solid rgba(118, 0, 30, .1);
    border-radius: 24px;
    background: #fff;
    box-shadow: 0 22px 52px rgba(48, 10, 21, .13), inset 0 1px 0 #fff;
}

.contact-details-panel {
    position: relative;
    overflow: hidden;
    padding: clamp(1.5rem, 3vw, 2.25rem);
    color: rgba(255, 255, 255, .76);
    background:
        radial-gradient(circle at 90% 8%, rgba(197, 161, 90, .34), transparent 15rem),
        linear-gradient(145deg, #2a0a13, #76001e 62%, #3a0714);
}

.contact-details-panel::after {
    position: absolute;
    content: "";
    right: -110px;
    bottom: -120px;
    width: 280px;
    height: 280px;
    border: 1px solid rgba(255, 255, 255, .16);
    border-radius: 50%;
    box-shadow: 0 0 0 38px rgba(255, 255, 255, .035), 0 0 0 76px rgba(255, 255, 255, .025);
}

.contact-details-panel > * {
    position: relative;
    z-index: 1;
}

.contact-eyebrow,
.contact-form-kicker {
    display: inline-block;
    margin-bottom: .75rem;
    color: var(--premium-gold);
    font-size: .72rem;
    font-weight: 800;
    letter-spacing: .18em;
    text-transform: uppercase;
}

.contact-detail-item {
    display: flex;
    align-items: flex-start;
    gap: .8rem;
    margin-top: .55rem;
    padding: .65rem 0;
    color: #fff;
    border-bottom: 1px solid rgba(255, 255, 255, .13);
}

a.contact-detail-item:hover {
    color: #fff;
    transform: translateX(4px);
}

.contact-detail-icon {
    flex: 0 0 38px;
    width: 38px;
    height: 38px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: var(--premium-gold);
    border: 1px solid rgba(197, 161, 90, .4);
    border-radius: 50%;
    background: rgba(255, 255, 255, .08);
}

.contact-detail-item small,
.contact-detail-item strong {
    display: block;
}

.contact-detail-item small {
    margin-bottom: .2rem;
    color: rgba(255, 255, 255, .58);
    font-size: .72rem;
    font-weight: 700;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.contact-detail-item strong {
    color: #fff;
    font-size: .82rem;
    line-height: 1.45;
    overflow-wrap: anywhere;
}

.contact-panel-map {
    position: relative;
    overflow: hidden;
    height: 150px;
    padding: 5px;
    border: 1px solid rgba(197, 161, 90, .35);
    border-radius: 14px;
    background: rgba(255, 255, 255, .1);
    box-shadow: 0 12px 26px rgba(22, 0, 6, .22);
}

.contact-panel-map iframe {
    width: 100%;
    height: 100%;
    display: block;
    border: 0;
    border-radius: 9px;
}

.contact-panel-map > span {
    position: absolute;
    left: 14px;
    bottom: 12px;
    padding: .42rem .7rem;
    color: #fff;
    border: 1px solid rgba(255, 255, 255, .24);
    border-radius: 50rem;
    background: rgba(58, 7, 20, .88);
    box-shadow: 0 8px 18px rgba(0, 0, 0, .22);
    font-size: .7rem;
    font-weight: 700;
    pointer-events: none;
}

.contact-panel-map > span i {
    margin-right: .35rem;
    color: var(--premium-gold);
}

.contact-panel-note {
    display: flex;
    align-items: flex-start;
    gap: .85rem;
    margin-top: 2rem;
    padding: 1rem 1.1rem;
    color: rgba(255, 255, 255, .72);
    border: 1px solid rgba(197, 161, 90, .24);
    border-radius: 14px;
    background: rgba(255, 255, 255, .07);
    font-size: .82rem;
    line-height: 1.65;
}

.contact-panel-note i {
    margin-top: .25rem;
    color: var(--premium-gold);
}

.contact-form-panel {
    height: 100%;
    padding: clamp(1.5rem, 3vw, 2.25rem);
    background:
        radial-gradient(circle at 100% 0, rgba(197, 161, 90, .12), transparent 19rem),
        #fff;
}

.contact-form-panel h2,
.contact-map-heading h2 {
    font-size: clamp(1.5rem, 2.4vw, 2rem);
}

.contact-form .form-label {
    margin-bottom: .3rem;
    color: #33292c;
    font-size: .82rem;
    font-weight: 700;
}

.contact-form .form-label span {
    color: var(--premium-wine);
}

.contact-form .form-control,
.contact-form .form-select {
    min-height: 46px;
    padding: .62rem .85rem;
    color: #33292c;
    border: 1px solid #e3dadd;
    border-radius: 12px;
    background-color: #fcfaf8;
    box-shadow: inset 0 1px 2px rgba(48, 10, 21, .025);
}

.contact-form textarea.form-control {
    min-height: 90px;
    resize: vertical;
}

.contact-form .form-control:focus,
.contact-form .form-select:focus {
    border-color: rgba(118, 0, 30, .55);
    background-color: #fff;
    box-shadow: 0 0 0 .22rem rgba(118, 0, 30, .09);
}

.contact-form-privacy {
    color: #756a6d;
}

.contact-form-status {
    min-height: 1.5rem;
    font-size: .85rem;
    font-weight: 700;
}

.contact-form-status.is-error {
    color: #a12626;
}

.contact-form-status.is-success {
    color: #287243;
}

.contact-form-status:empty {
    display: none;
}

.contact-form-status[hidden] {
    display: none !important;
}

.field-error {
    display: block;
    margin-top: .25rem;
    color: #a12626;
    font-size: .72rem;
    font-weight: 600;
    line-height: 1.35;
}

.field-error:empty {
    display: none;
}

.contact-form .is-invalid {
    border-color: #b62a36 !important;
    box-shadow: 0 0 0 .18rem rgba(182, 42, 54, .09) !important;
}

.contact-loading-spinner {
    width: 1rem;
    height: 1rem;
    display: inline-block;
    margin-right: .45rem;
    vertical-align: -.18rem;
    border: 2px solid rgba(118, 0, 30, .2);
    border-top-color: var(--premium-wine);
    border-radius: 50%;
    animation: contactSpinner .7s linear infinite;
}

@keyframes contactSpinner {
    to { transform: rotate(360deg); }
}

.contact-submit:disabled {
    cursor: wait;
    opacity: .68;
    transform: none !important;
}

.contact-action-card {
    height: 100%;
    display: flex;
    align-items: center;
    gap: 1rem;
    padding: 1.1rem 1.2rem;
    color: #33292c;
    border: 1px solid var(--premium-line);
    border-radius: 18px;
    background: rgba(255, 255, 255, .9);
    box-shadow: 0 15px 36px rgba(48, 10, 21, .08);
}

.contact-action-card .contact-icon {
    flex: 0 0 50px;
    width: 50px;
    height: 50px;
    margin: 0;
    border-radius: 14px;
    font-size: 1.1rem;
}

.contact-action-card > span:nth-child(2) {
    flex: 1;
}

.contact-action-card strong,
.contact-action-card small {
    display: block;
}

.contact-action-card small {
    margin-top: .15rem;
    color: #7b7073;
    font-size: .76rem;
}

.contact-action-card > i {
    color: var(--premium-wine);
}

.contact-action-card:hover {
    color: var(--premium-wine);
    border-color: rgba(197, 161, 90, .52);
    transform: translateY(-5px);
    box-shadow: 0 22px 45px rgba(48, 10, 21, .13);
}

.contact-map-heading p {
    color: #756a6d;
}

.contact-map-frame {
    overflow: hidden;
    padding: 7px;
    border: 1px solid rgba(197, 161, 90, .38);
    border-radius: 24px;
    background: #fff;
    box-shadow: 0 24px 55px rgba(48, 10, 21, .13);
}

.contact-map-frame iframe {
    height: 430px;
    display: block;
    border: 0;
    border-radius: 18px;
}

.footer-brand,
.footer.bg-dark {
    position: relative;
    color: #d7cdd0 !important;
    border-top: 1px solid rgba(197, 161, 90, .42) !important;
    background:
        radial-gradient(circle at 14% 0, rgba(118, 0, 30, .38), transparent 30rem),
        linear-gradient(135deg, #1d1115, #0f0c0d 64%, #2c0712) !important;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, .08);
}

.footer-brand::before,
.footer.bg-dark::before {
    position: absolute;
    content: "";
    top: -1px;
    left: 50%;
    width: min(820px, 82%);
    height: 2px;
    transform: translateX(-50%);
    background: linear-gradient(90deg, transparent, var(--premium-gold), transparent);
}

.footer-brand .footer-logo {
    padding: .75rem;
    border: 1px solid rgba(197, 161, 90, .3);
    border-radius: 14px;
    background: rgba(255, 255, 255, .96);
    box-shadow: 0 14px 32px rgba(0, 0, 0, .2);
}

.footer-brand h4,
.footer-brand h5,
.footer-brand strong {
    color: #fff !important;
}

.footer-brand h4::after,
.footer-brand h5::after {
    display: block;
    content: "";
    width: 42px;
    height: 2px;
    margin-top: .7rem;
    border-radius: 99px;
    background: linear-gradient(90deg, var(--premium-gold), rgba(197, 161, 90, .12));
}

.footer-brand p,
.footer-brand .btn.btn-link,
.footer-brand a.text-dark {
    color: #d7cdd0 !important;
}

.footer-brand .btn.btn-link::before {
    color: var(--premium-gold);
}

.footer-brand .btn.btn-link:hover,
.footer-brand a:hover {
    color: #fff !important;
}

.footer-brand .copyright {
    color: #cfc3c6;
    border-top-color: rgba(197, 161, 90, .26);
}

.footer-brand .copyright a {
    color: #e5c47d !important;
}

.mobile-menu-close:hover {
    background: var(--premium-wine);
}

@media (max-width: 991.98px) {
    .navbar .navbar-collapse,
    .navbar .navbar-collapse.collapsing {
        border-left-color: rgba(197, 161, 90, .35);
        background:
            radial-gradient(circle at 100% 0, rgba(197, 161, 90, .12), transparent 18rem),
            linear-gradient(160deg, #fffdf9, #f7eeeb) !important;
    }

    .mobile-menu-head {
        border-bottom-color: rgba(197, 161, 90, .28);
    }

    .mobile-menu-head span {
        color: var(--premium-wine);
    }

    .navbar .navbar-nav .nav-link:hover,
    .navbar .navbar-nav .nav-link.active {
        border-left-color: var(--premium-gold);
        color: var(--premium-wine);
    }

    .mobile-menu-contact {
        border-top-color: rgba(197, 161, 90, .28);
    }
}

@media (min-width: 992px) {
    .contact-section .contact-shell .contact-details-panel,
    .contact-section .contact-shell .contact-form-panel {
        padding: 1.1rem 2rem;
    }

    .contact-section .contact-details-panel h2,
    .contact-section .contact-form-panel h2 {
        margin-bottom: .4rem !important;
        font-size: 1.72rem;
    }

    .contact-section .contact-details-panel > p,
    .contact-section .contact-form-panel > div > p {
        margin-bottom: .5rem !important;
        font-size: .88rem;
        line-height: 1.5;
    }

    .contact-section .contact-eyebrow,
    .contact-section .contact-form-kicker {
        margin-bottom: .35rem;
        font-size: .66rem;
    }

    .contact-section .contact-detail-item {
        margin-top: .2rem;
        padding: .42rem 0;
    }

    .contact-section .contact-detail-icon {
        flex-basis: 34px;
        width: 34px;
        height: 34px;
        font-size: .82rem;
    }

    .contact-section .contact-detail-item small {
        margin-bottom: 0;
        font-size: .62rem;
    }

    .contact-section .contact-detail-item strong {
        font-size: .76rem;
        line-height: 1.3;
    }

    .contact-section .contact-panel-map {
        height: 210px;
        margin-top: .65rem !important;
    }

    .contact-section .contact-form-panel > .mb-3 {
        margin-bottom: .65rem !important;
    }

    .contact-section .contact-form .form-label {
        margin-bottom: .18rem;
        font-size: .72rem;
    }

    .contact-section .contact-form .form-control,
    .contact-section .contact-form .form-select {
        min-height: 40px;
        padding: .48rem .75rem;
        border-radius: 10px;
        font-size: .88rem;
    }

    .contact-section .contact-form textarea.form-control {
        min-height: 72px;
        height: 72px;
    }

    .contact-section .contact-form .btn {
        min-height: 40px;
        font-size: .82rem;
    }

    .contact-section .contact-form-privacy {
        font-size: .72rem;
    }
}

@media (max-width: 767.98px) {
    .page-header {
        min-height: 380px;
    }

    .page-header::before {
        inset: 10px;
    }

    .page-header .breadcrumb {
        padding: .55rem .85rem;
        font-size: .78rem;
    }

    .contact-shell {
        border-radius: 20px;
    }

    .contact-details-panel,
    .contact-form-panel {
        padding: 1.5rem 1.15rem;
    }

    .contact-map-frame iframe {
        height: 330px;
    }
}

@media (prefers-reduced-motion: reduce) {
    *,
    *::before,
    *::after {
        scroll-behavior: auto !important;
    }
}
