@font-face {
    font-display: swap;
    font-family: 'Poppins';
    font-style: normal;
    font-weight: 300;
    src: url('../fonts/poppins-v20-latin-300.woff2') format('woff2')
}

@font-face {
    font-display: swap;
    font-family: 'Poppins';
    font-style: normal;
    font-weight: 400;
    src: url('../fonts/poppins-v20-latin-regular.woff2') format('woff2')
}

@font-face {
    font-display: swap;
    font-family: 'Poppins';
    font-style: normal;
    font-weight: 500;
    src: url('../fonts/poppins-v20-latin-500.woff2') format('woff2')
}

@font-face {
    font-display: swap;
    font-family: 'Poppins';
    font-style: normal;
    font-weight: 600;
    src: url('../fonts/poppins-v20-latin-600.woff2') format('woff2')
}

@font-face {
    font-display: swap;
    font-family: 'Poppins';
    font-style: normal;
    font-weight: 700;
    src: url('../fonts/poppins-v20-latin-700.woff2') format('woff2')
}

@font-face {
    font-display: swap;
    font-family: 'Poppins';
    font-style: normal;
    font-weight: 800;
    src: url('../fonts/poppins-v20-latin-800.woff2') format('woff2')
}

/* =========================================================
   FALLBROOK GARAGE DOOR CA
   HERO SECTION
========================================================= */
:root {
    --fgd-burgundy: #721d2b;
    --fgd-burgundy-dark: #43121b;
    --fgd-burgundy-light: #983b4b;
    --fgd-gunmetal: #16181c;
    --fgd-gunmetal-light: #24272c;
    --fgd-warm: #f3eee5;
    --fgd-cream: #ddd4c6;
    --fgd-gold: #c6a15b;
    --fgd-gold-light: #e1c486;
    --fgd-white: #ffffff;
    --fgd-muted: #bdb6ad;
    --fgd-shadow: rgba(0, 0, 0, 0.48);
}

/* =========================================================
   HERO
========================================================= */
.fgd-hero {
    position: relative;
    width: 100%;
    min-height: 100vh;
    overflow: hidden;
    background: #16181c;
    color: #ffffff;
    isolation: isolate;
}

/* =========================================================
   REAL HTML BACKGROUND
========================================================= */
.fgd-background {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    z-index: -10;
    overflow: hidden;
}

.fgd-background img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
    object-position: center center;
    max-width: none;
    animation: fgdBackgroundZoom 12s ease-out forwards;
}

/* Main image zoom */
@keyframes fgdBackgroundZoom {
    from {
        transform: scale(1.10);
    }

    to {
        transform: scale(1.03);
    }
}

/* =========================================================
   IMAGE OVERLAY
========================================================= */
.fgd-image-overlay {
    position: absolute;
    inset: 0;
    background:
        linear-gradient(90deg,
            rgba(16, 17, 19, 0.94) 0%,
            rgba(16, 17, 19, 0.76) 32%,
            rgba(16, 17, 19, 0.43) 62%,
            rgba(16, 17, 19, 0.72) 100%);
}

/* =========================================================
   SECOND IMAGE SHADE
========================================================= */
.fgd-image-shade {
    position: absolute;
    inset: 0;
    background:
        linear-gradient(180deg,
            rgba(10, 11, 13, 0.55) 0%,
            transparent 28%,
            transparent 68%,
            rgba(10, 11, 13, 0.85) 100%);
}

/* =========================================================
   TEXTURE
========================================================= */
.fgd-noise {
    position: absolute;
    inset: 0;
    z-index: -7;
    pointer-events: none;
    opacity: 0.16;
    background-image:
        repeating-linear-gradient(0deg,
            rgba(255, 255, 255, 0.025) 0px,
            rgba(255, 255, 255, 0.025) 1px,
            transparent 1px,
            transparent 4px),
        repeating-linear-gradient(90deg,
            rgba(255, 255, 255, 0.018) 0px,
            rgba(255, 255, 255, 0.018) 1px,
            transparent 1px,
            transparent 5px);
}

/* =========================================================
   GARAGE DOOR OPENING EFFECT
========================================================= */
.fgd-door-shutter {
    position: absolute;
    inset: 0;
    z-index: -3;
    overflow: hidden;
    pointer-events: none;
}

.fgd-door-shutter span {
    position: relative;
    display: block;
    width: 100%;
    height: 16.66%;
    background:
        linear-gradient(180deg,
            rgba(18, 19, 22, 0.96),
            rgba(32, 34, 38, 0.91));
    border-bottom: 1px solid rgba(198, 161, 91, 0.15);
    transform: translateY(0);
    animation:
        fgdDoorOpen 1.4s cubic-bezier(.77, 0, .18, 1) forwards;
}

.fgd-door-shutter span:nth-child(1) {
    animation-delay: 0.05s;
}

.fgd-door-shutter span:nth-child(2) {
    animation-delay: 0.10s;
}

.fgd-door-shutter span:nth-child(3) {
    animation-delay: 0.15s;
}

.fgd-door-shutter span:nth-child(4) {
    animation-delay: 0.20s;
}

.fgd-door-shutter span:nth-child(5) {
    animation-delay: 0.25s;
}

.fgd-door-shutter span:nth-child(6) {
    animation-delay: 0.30s;
}

@keyframes fgdDoorOpen {
    0% {
        transform: translateY(0);
        opacity: 1;
    }

    70% {
        opacity: 1;
    }

    100% {
        transform: translateY(-110%);
        opacity: 0;
    }
}

/* =========================================================
   TRACKS
========================================================= */
.fgd-track {
    position: absolute;
    top: 145px;
    bottom: 120px;
    width: 2px;
    z-index: 3;
    background:
        linear-gradient(180deg,
            transparent,
            rgba(198, 161, 91, 0.45) 15%,
            rgba(198, 161, 91, 0.45) 85%,
            transparent);
    opacity: 0.8;
}

.fgd-track-left {
    left: 4.5%;
}

.fgd-track-right {
    right: 4.5%;
}

.fgd-track-top,
.fgd-track-bottom {
    position: absolute;
    left: 50%;
    width: 9px;
    height: 9px;
    border: 1px solid var(--fgd-gold);
    background: var(--fgd-gunmetal);
    transform: translateX(-50%) rotate(45deg);
}

.fgd-track-top {
    top: 0;
}

.fgd-track-bottom {
    bottom: 0;
}

.fgd-roller {
    position: absolute;
    left: 50%;
    top: 30%;
    width: 7px;
    height: 55px;
    background: var(--fgd-burgundy);
    transform: translateX(-50%);
    animation:
        fgdRoller 4s ease-in-out infinite;
}

@keyframes fgdRoller {

    0%,
    100% {
        top: 20%;
    }

    50% {
        top: 70%;
    }
}

/* =========================================================
   NAVBAR
========================================================= */
.fgd-navbar {
    position: relative;
    z-index: 20;
    width: calc(100% - 40px);
    max-width: 1420px;
    margin: 20px auto 0;
    padding: 0;
    background: rgba(17, 18, 21, 0.82);
    border: 1px solid rgba(255, 255, 255, 0.12);
    backdrop-filter: blur(14px);
    -webkit-backdrop-filter: blur(14px);
    box-shadow:
        0 15px 45px rgba(0, 0, 0, 0.25);
}

/* =========================================================
   LOGO
========================================================= */
.fgd-logo {
    display: flex;
    align-items: center;
    gap: 12px;
    min-height: 76px;
    padding-left: 24px;
    color: var(--fgd-white);
    text-decoration: none;
}

.fgd-logo:hover {
    color: var(--fgd-white);
}

.fgd-logo-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 44px;
    height: 44px;
    color: var(--fgd-gold);
    border: 1px solid rgba(198, 161, 91, 0.55);
    background: rgba(114, 29, 43, 0.28);
    transition: 0.35s ease;
}

.fgd-logo:hover .fgd-logo-icon {
    background: var(--fgd-burgundy);
    transform: rotate(-5deg);
}

.fgd-logo-text {
    display: flex;
    flex-direction: column;
    line-height: 1;
}

.fgd-logo-text strong {
    font-size: 15px;
    font-weight: 800;
    letter-spacing: 2px;
}

.fgd-logo-text small {
    margin-top: 6px;
    color: var(--fgd-gold);
    font-size: 9px;
    letter-spacing: 2.5px;
}

/* =========================================================
   NAVIGATION
========================================================= */
.fgd-nav-list {
    gap: 3px;
}

.fgd-nav-list .nav-link {
    position: relative;
    padding:
        28px 17px !important;
    color: rgba(255, 255, 255, 0.76);
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 1.2px;
    text-transform: uppercase;
    transition: 0.3s ease;
}

.fgd-nav-list .nav-link::after {
    position: absolute;
    content: "";
    left: 17px;
    right: 17px;
    bottom: 19px;
    height: 2px;
    background: var(--fgd-gold);
    transform: scaleX(0);
    transform-origin: right;
    transition: 0.3s ease;
}

.fgd-nav-list .nav-link:hover,
.fgd-nav-list .nav-link.active {
    color: var(--fgd-white);
}

.fgd-nav-list .nav-link:hover::after,
.fgd-nav-list .nav-link.active::after {
    transform: scaleX(1);
    transform-origin: left;
}

/* =========================================================
   DROPDOWN
========================================================= */
.fgd-dropdown {
    min-width: 245px;
    margin-top: 0 !important;
    padding: 10px;
    border: 1px solid rgba(198, 161, 91, 0.25);
    border-radius: 0;
    background: rgba(22, 24, 28, 0.98);
    box-shadow:
        0 20px 50px rgba(0, 0, 0, 0.35);
}

.fgd-dropdown .dropdown-item {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 12px 13px;
    color: #d9d3ca;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.4px;
    transition: 0.3s ease;
}

.fgd-dropdown .dropdown-item i {
    width: 20px;
    color: var(--fgd-gold);
    text-align: center;
}

.fgd-dropdown .dropdown-item:hover {
    color: var(--fgd-white);
    background: var(--fgd-burgundy);
}

/* =========================================================
   NAV CTA
========================================================= */
.fgd-nav-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
    min-height: 76px;
    padding: 0 25px;
    color: var(--fgd-white);
    background: var(--fgd-burgundy);
    font-size: 10px;
    font-weight: 800;
    letter-spacing: 1.2px;
    text-decoration: none;
    transition: 0.35s ease;
}

.fgd-nav-button:hover {
    color: var(--fgd-white);
    background: var(--fgd-burgundy-light);
}

.fgd-nav-button i {
    color: var(--fgd-gold-light);
    transition: transform 0.3s ease;
}

.fgd-nav-button:hover i {
    transform: translateX(5px);
}

/* =========================================================
   MOBILE TOGGLER
========================================================= */
.fgd-toggler {
    width: 48px;
    height: 48px;
    margin-right: 14px;
    padding: 10px;
    border: 1px solid rgba(255, 255, 255, 0.2);
    border-radius: 0;
}

.fgd-toggler span {
    display: block;
    width: 100%;
    height: 2px;
    margin: 5px 0;
    background: var(--fgd-white);
}

/* =========================================================
   HERO CONTAINER
========================================================= */
.fgd-hero-container {
    position: relative;
    z-index: 10;
    min-height: calc(100vh - 100px);
    display: flex;
    align-items: center;
    padding-top: 70px;
    padding-bottom: 80px;
}

/* =========================================================
   CENTER STAGE
========================================================= */
.fgd-center-stage {
    position: relative;
    width: 100%;
    padding-top: 25px;
}

/* =========================================================
   KICKER
========================================================= */
.fgd-kicker {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 15px;
    margin-bottom: 17px;
    color: var(--fgd-gold-light);
    font-size: 9px;
    font-weight: 800;
    letter-spacing: 3px;
    animation:
        fgdFadeDown 0.9s 0.9s both;
}

.fgd-line {
    width: 55px;
    height: 1px;
    background: var(--fgd-gold);
}

@keyframes fgdFadeDown {
    from {
        opacity: 0;
        transform: translateY(-15px);
    }

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

/* =========================================================
   MAIN PANEL
========================================================= */
.fgd-main-panel {
    position: relative;
    min-height: 430px;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 70px 80px;
    background:
        linear-gradient(135deg,
            rgba(24, 25, 29, 0.96),
            rgba(30, 30, 34, 0.83));
    border: 1px solid rgba(255, 255, 255, 0.17);
    box-shadow:
        0 35px 80px rgba(0, 0, 0, 0.40),
        inset 0 1px 0 rgba(255, 255, 255, 0.08);
    overflow: hidden;
    animation:
        fgdPanelIn 1s 0.55s both;
}

@keyframes fgdPanelIn {
    from {
        opacity: 0;
        transform:
            translateY(40px) scale(0.97);
    }

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

/* Burgundy strip */
.fgd-main-panel::before {
    content: "";
    position: absolute;
    left: 0;
    top: 0;
    bottom: 0;
    width: 7px;
    background:
        linear-gradient(180deg,
            var(--fgd-gold),
            var(--fgd-burgundy),
            var(--fgd-gold));
}

/* Gold corner */
.fgd-main-panel::after {
    content: "";
    position: absolute;
    right: 0;
    top: 0;
    width: 130px;
    height: 130px;
    border-top: 1px solid var(--fgd-gold);
    border-right: 1px solid var(--fgd-gold);
    opacity: 0.6;
}

/* =========================================================
   NUMBER
========================================================= */
.fgd-panel-number {
    position: absolute;
    left: 25px;
    top: 25px;
    color: rgba(198, 161, 91, 0.30);
    font-size: 72px;
    font-weight: 900;
    line-height: 0.8;
}

/* =========================================================
   LOCATION
========================================================= */
.fgd-panel-location {
    position: absolute;
    right: 30px;
    top: 28px;
    color: var(--fgd-muted);
    font-size: 9px;
    font-weight: 700;
    letter-spacing: 2.5px;
    writing-mode: vertical-rl;
}

/* =========================================================
   PANEL CONTENT
========================================================= */
.fgd-panel-content {
    position: relative;
    z-index: 4;
    max-width: 790px;
    text-align: center;
}

.fgd-mini-label {
    display: inline-flex;
    align-items: center;
    gap: 9px;
    margin-bottom: 18px;
    color: var(--fgd-gold-light);
    font-size: 10px;
    font-weight: 800;
    letter-spacing: 2px;
}

.fgd-mini-label i {
    color: var(--fgd-burgundy-light);
}

.fgd-panel-content h1 {
    margin: 0;
    color: var(--fgd-warm);
    font-size: clamp(42px, 6vw, 82px);
    font-weight: 900;
    line-height: 0.98;
    letter-spacing: -2.5px;
    text-transform: uppercase;
    text-shadow:
        0 10px 30px rgba(0, 0, 0, 0.28);
}

.fgd-panel-content p {
    max-width: 710px;
    margin: 27px auto 0;
    color: rgba(243, 238, 229, 0.70);
    font-size: 14px;
    line-height: 1.9;
}

/* =========================================================
   MAIN BUTTONS
========================================================= */
.fgd-main-actions {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-wrap: wrap;
    gap: 28px;
    margin-top: 31px;
}

.fgd-primary-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 14px;
    min-height: 54px;
    padding: 0 24px;
    color: var(--fgd-white);
    background: var(--fgd-burgundy);
    border: 1px solid var(--fgd-burgundy);
    font-size: 24px;
    font-weight: 800;
    letter-spacing: 1.5px;
    text-decoration: none;
    transition: 0.35s ease;
}

.fgd-primary-button:hover {
    color: var(--fgd-white);
    background: transparent;
    border-color: var(--fgd-gold);
}

.fgd-primary-button i {
    color: var(--fgd-gold-light);
    transition: 0.3s ease;
}

.fgd-primary-button:hover i {
    transform:
        translate(4px, -4px);
}

.fgd-text-link {
    display: inline-flex;
    align-items: center;
    gap: 12px;
    color: var(--fgd-warm);
    font-size: 10px;
    font-weight: 800;
    letter-spacing: 1.5px;
    text-decoration: none;
    transition: 0.3s ease;
}

.fgd-text-link:hover {
    color: var(--fgd-gold-light);
}

.fgd-text-link span {
    width: 38px;
    height: 1px;
    background: var(--fgd-gold);
    transition: 0.3s ease;
}

.fgd-text-link:hover span {
    width: 55px;
}

/* =========================================================
   DECORATIVE DOOR LINES
========================================================= */
.fgd-panel-door-lines {
    position: absolute;
    right: 0;
    bottom: 0;
    width: 43%;
    height: 100%;
    opacity: 0.045;
    pointer-events: none;
}

.fgd-panel-door-lines span {
    display: block;
    width: 100%;
    height: 25%;
    border-bottom:
        1px solid var(--fgd-white);
}

/* =========================================================
   SERVICE CARDS
========================================================= */
.fgd-service-row {
    position: relative;
    margin-top: -1px;
    animation:
        fgdCardsIn 1s 1.15s both;
}

@keyframes fgdCardsIn {
    from {
        opacity: 0;
        transform:
            translateY(35px);
    }

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

.fgd-service-card {
    position: relative;
    min-height: 115px;
    display: flex;
    align-items: center;
    padding: 20px 24px;
    color: var(--fgd-white);
    background: rgba(20, 21, 24, 0.95);
    border:
        1px solid rgba(255, 255, 255, 0.10);
    text-decoration: none;
    overflow: hidden;
    transition:
        transform 0.4s ease,
        background 0.4s ease,
        border-color 0.4s ease;
}

.fgd-service-card::before {
    content: "";
    position: absolute;
    inset: 0;
    background:
        linear-gradient(90deg,
            transparent,
            rgba(114, 29, 43, 0.30));
    opacity: 0;
    transition: 0.4s ease;
}

.fgd-service-card:hover {
    z-index: 5;
    color: var(--fgd-white);
    background: rgba(30, 31, 35, 0.98);
    border-color:
        rgba(198, 161, 91, 0.45);
    transform:
        translateY(-9px);
}

.fgd-service-card:hover::before {
    opacity: 1;
}

.fgd-service-card-center {
    border-left-color:
        rgba(198, 161, 91, 0.25);
    border-right-color:
        rgba(198, 161, 91, 0.25);
}

/* =========================================================
   SERVICE INDEX
========================================================= */
.fgd-service-index {
    position: absolute;
    top: 13px;
    left: 17px;
    color:
        rgba(198, 161, 91, 0.48);
    font-size: 9px;
    font-weight: 800;
    letter-spacing: 1px;
}

/* =========================================================
   SERVICE ICON
========================================================= */
.fgd-service-icon {
    position: relative;
    z-index: 2;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 53px;
    height: 53px;
    margin-right: 17px;
    color: var(--fgd-gold);
    border:
        1px solid rgba(198, 161, 91, 0.35);
    background:
        rgba(114, 29, 43, 0.22);
    transition: 0.4s ease;
}

.fgd-service-card:hover .fgd-service-icon {
    color: var(--fgd-white);
    background: var(--fgd-burgundy);
    border-color: var(--fgd-burgundy);
    transform:
        rotate(-4deg);
}

/* =========================================================
   SERVICE CONTENT
========================================================= */
.fgd-service-content {
    position: relative;
    z-index: 2;
    display: flex;
    flex-direction: column;
}

.fgd-service-content strong {
    color: var(--fgd-warm);
    font-size: 11px;
    font-weight: 900;
    letter-spacing: 1.3px;
}

.fgd-service-content small {
    margin-top: 5px;
    color: var(--fgd-muted);
    font-size: 10px;
}

/* =========================================================
   SERVICE ARROW
========================================================= */
.fgd-card-arrow {
    position: relative;
    z-index: 2;
    margin-left: auto;
    color: var(--fgd-gold);
    transition: 0.35s ease;
}

.fgd-service-card:hover .fgd-card-arrow {
    transform:
        translateX(7px);
}

/* =========================================================
   SIDE LABELS
========================================================= */
.fgd-side-label {
    position: absolute;
    top: 50%;
    display: flex;
    flex-direction: column;
    gap: 5px;
    color:
        rgba(243, 238, 229, 0.32);
    font-size: 8px;
    font-weight: 800;
    letter-spacing: 2px;
    transform:
        translateY(-50%);
}

.fgd-side-left {
    left: 18px;
    writing-mode: vertical-rl;
}

.fgd-side-right {
    right: 18px;
    writing-mode: vertical-rl;
}

/* =========================================================
   SCROLL
========================================================= */
.fgd-scroll {
    position: absolute;
    bottom: 22px;
    left: 50%;
    display: flex;
    align-items: center;
    gap: 12px;
    color:
        rgba(255, 255, 255, 0.55);
    font-size: 8px;
    font-weight: 800;
    letter-spacing: 2px;
    transform:
        translateX(-50%);
    z-index: 15;
}

.fgd-scroll i {
    color: var(--fgd-gold);
    animation:
        fgdScroll 1.5s ease-in-out infinite;
}

@keyframes fgdScroll {

    0%,
    100% {
        transform:
            translateY(0);
    }

    50% {
        transform:
            translateY(5px);
    }
}

/* =========================================================
   LARGE DESKTOP
========================================================= */
@media (min-width: 1500px) {
    .fgd-track-left {
        left: 8%;
    }

    .fgd-track-right {
        right: 8%;
    }

    .fgd-side-left {
        left: 40px;
    }

    .fgd-side-right {
        right: 40px;
    }
}

/* =========================================================
   TABLET
========================================================= */
@media (max-width: 1199.98px) {
    .fgd-navbar {
        width:
            calc(100% - 28px);
    }

    .fgd-nav-list .nav-link {
        padding-left: 11px !important;
        padding-right: 11px !important;
    }

    .fgd-nav-button {
        padding: 0 17px;
    }

    .fgd-main-panel {
        padding-left: 60px;
        padding-right: 60px;
    }

    .fgd-track {
        display: none;
    }

    .fgd-side-label {
        display: none;
    }
}

/* =========================================================
   MOBILE NAV
========================================================= */
@media (max-width: 991.98px) {
    .fgd-navbar {
        background:
            rgba(17, 18, 21, 0.94);
    }

    .fgd-navbar .container {
        max-width: 100%;
    }

    .fgd-logo {
        min-height: 68px;
    }

    .fgd-nav-list {
        align-items:
            stretch !important;
        padding:
            12px 15px 5px;
    }

    .fgd-nav-list .nav-link {
        padding:
            13px 8px !important;
    }

    .fgd-nav-list .nav-link::after {
        display: none;
    }

    .fgd-dropdown {
        margin-left: 8px !important;
        box-shadow: none;
    }

    .fgd-nav-button {
        width:
            calc(100% - 30px);
        min-height: 52px;
        margin:
            8px 15px 18px;
    }

    .fgd-hero-container {
        min-height: auto;
        padding-top: 55px;
        padding-bottom: 90px;
    }
}

/* =========================================================
   MOBILE
========================================================= */
@media (max-width: 767.98px) {
    .fgd-hero {
        min-height: 100vh;
    }

    .fgd-background img {
        object-position:
            58% center;
    }

    .fgd-kicker {
        gap: 9px;
        font-size: 7px;
        letter-spacing: 1.7px;
    }

    .fgd-line {
        width: 25px;
    }

    .fgd-main-panel {
        min-height: auto;
        padding:
            58px 22px 42px;
        text-align: center;
    }

    .fgd-panel-number {
        left: 16px;
        top: 17px;
        font-size: 48px;
    }

    .fgd-panel-location {
        right: 14px;
        top: 18px;
        font-size: 7px;
    }

    .fgd-mini-label {
        font-size: 8px;
        letter-spacing: 1.4px;
    }

    .fgd-panel-content h1 {
        font-size:
            clamp(36px,
                11vw,
                58px);
        letter-spacing: -1.5px;
    }

    .fgd-panel-content p {
        margin-top: 20px;
        font-size: 12px;
        line-height: 1.75;
    }

    .fgd-main-actions {
        gap: 20px;
        margin-top: 25px;
    }

    .fgd-primary-button {
        min-height: 50px;
        padding:
            0 18px;
    }

    .fgd-service-card {
        min-height: 92px;
        padding:
            18px 17px;
    }

    .fgd-service-card-center {
        border-left-color:
            rgba(255, 255, 255, 0.10);
        border-right-color:
            rgba(255, 255, 255, 0.10);
    }

    .fgd-service-icon {
        width: 43px;
        height: 43px;
        margin-right: 12px;
    }

    .fgd-service-content strong {
        font-size: 9px;
    }

    .fgd-service-content small {
        font-size: 9px;
    }

    .fgd-scroll {
        bottom: 14px;
        font-size: 7px;
    }
}

/* =========================================================
   SMALL MOBILE
========================================================= */
@media (max-width: 420px) {
    .fgd-navbar {
        width:
            calc(100% - 16px);
        margin-top: 8px;
    }

    .fgd-logo {
        padding-left: 12px;
    }

    .fgd-logo-icon {
        width: 38px;
        height: 38px;
    }

    .fgd-logo-text strong {
        font-size: 12px;
    }

    .fgd-logo-text small {
        font-size: 7px;
        letter-spacing: 1.6px;
    }

    .fgd-main-panel {
        padding-left: 17px;
        padding-right: 17px;
    }

    .fgd-panel-content h1 {
        font-size: 35px;
    }

    .fgd-panel-content p {
        font-size: 11px;
    }

    .fgd-main-actions {
        flex-direction: column;
        gap: 17px;
    }

    .fgd-primary-button {
        width: 100%;
        justify-content: center;
    }

    .fgd-service-card {
        padding-left: 14px;
        padding-right: 14px;
    }
}

/* =========================================================
   REDUCED MOTION
========================================================= */
@media (prefers-reduced-motion: reduce) {

    .fgd-background img,
    .fgd-door-shutter span,
    .fgd-roller,
    .fgd-scroll i,
    .fgd-main-panel,
    .fgd-kicker,
    .fgd-service-row {
        animation: none !important;
    }
}

/* ==========================================
   FALLBROOK GARAGE DOOR CA
   WHY CHOOSE US - EDITORIAL DESIGN V3
========================================== */
.fall-why-v3 {
    --fw3-wine: #721d2b;
    --fw3-wine-dark: #4d131e;
    --fw3-gold: #b18a43;
    --fw3-gold-light: #d7bd81;
    --fw3-cream: #fbf8f2;
    --fw3-white: #ffffff;
    --fw3-ink: #282529;
    --fw3-muted: #716c6b;
    --fw3-border: #e8e0d6;
    position: relative;
    isolation: isolate;
    overflow: hidden;
    padding: 100px 0 85px;
    color: var(--fw3-ink);
    background: var(--fw3-cream);
}

.fall-why-v3 *,
.fall-why-v3 *::before,
.fall-why-v3 *::after {
    box-sizing: border-box;
}

.fall-why-v3-topline {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 5px;
    background: linear-gradient(90deg,
            var(--fw3-wine) 0%,
            var(--fw3-wine) 32%,
            var(--fw3-gold-light) 32%,
            var(--fw3-gold-light) 66%,
            var(--fw3-wine) 66%,
            var(--fw3-wine) 100%);
}

/* Intro layout */
.fall-why-v3-intro {
    display: grid;
    grid-template-columns: 1.3fr 0.7fr;
    gap: 65px;
    align-items: end;
    margin-bottom: 48px;
}

.fall-why-v3-kicker {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-bottom: 23px;
    color: var(--fw3-wine);
    font-size: 0.7rem;
    font-weight: 850;
    letter-spacing: 2.5px;
}

.fall-why-v3-kicker-mark {
    display: inline-block;
    width: 30px;
    height: 3px;
    background: var(--fw3-gold);
}

.fall-why-v3-heading h2 {
    margin: 0;
    color: var(--fw3-ink);
    font-size: clamp(2.3rem, 4.5vw, 4.1rem);
    font-weight: 850;
    line-height: 1.1;
    letter-spacing: -2px;
}

.fall-why-v3-heading h2 span {
    color: var(--fw3-wine);
}

.fall-why-v3-intro-side {
    position: relative;
    padding: 0 0 5px 25px;
    border-left: 1px solid var(--fw3-gold);
}

.fall-why-v3-big-number {
    position: absolute;
    top: -45px;
    right: 0;
    color: rgba(114, 29, 43, 0.055);
    font-size: 5.5rem;
    font-weight: 900;
    line-height: 1;
    pointer-events: none;
}

.fall-why-v3-intro-side p {
    position: relative;
    margin: 0 0 22px;
    color: var(--fw3-muted);
    font-size: 0.93rem;
    line-height: 1.95;
}

.fall-why-v3-inline-link {
    display: inline-flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 12px;
    color: var(--fw3-wine);
    font-size: 0.68rem;
    font-weight: 850;
    letter-spacing: 1px;
    text-decoration: none;
}

.fall-why-v3-inline-link i {
    transition: transform 0.3s ease;
}

.fall-why-v3-inline-link:hover {
    color: var(--fw3-wine-dark);
}

.fall-why-v3-inline-link:hover i {
    transform: translateX(5px);
}

/* Wide image banner */
.fall-why-v3-photo {
    position: relative;
    height: 410px;
    overflow: hidden;
    background: #e8e0d6;
}

.fall-why-v3-photo::after {
    position: absolute;
    inset: 0;
    content: "";
    pointer-events: none;
    background: linear-gradient(90deg,
            rgba(30, 20, 22, 0.5) 0%,
            rgba(30, 20, 22, 0.05) 60%,
            transparent 100%);
}

.fall-why-v3-photo>img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center 55%;
    transition: transform 0.8s ease;
}

.fall-why-v3-photo:hover>img {
    transform: scale(1.035);
}

.fall-why-v3-photo-tag {
    position: absolute;
    z-index: 2;
    top: 28px;
    left: 28px;
    display: flex;
    align-items: center;
    gap: 13px;
    padding: 13px 18px 13px 13px;
    border: 1px solid rgba(255, 255, 255, 0.45);
    background: rgba(255, 253, 248, 0.96);
    box-shadow: 0 8px 25px rgba(0, 0, 0, 0.08);
}

.fall-why-v3-photo-tag>span {
    display: grid;
    width: 43px;
    height: 43px;
    place-items: center;
    color: var(--fw3-white);
    background: var(--fw3-wine);
    font-size: 0.85rem;
    font-weight: 900;
    letter-spacing: 1px;
}

.fall-why-v3-photo-tag small,
.fall-why-v3-photo-tag strong {
    display: block;
}

.fall-why-v3-photo-tag small {
    margin-bottom: 4px;
    color: var(--fw3-gold);
    font-size: 0.59rem;
    font-weight: 850;
    letter-spacing: 1.2px;
}

.fall-why-v3-photo-tag strong {
    color: var(--fw3-ink);
    font-size: 0.96rem;
}

.fall-why-v3-photo-caption {
    position: absolute;
    z-index: 2;
    right: 28px;
    bottom: 26px;
    display: flex;
    align-items: center;
    gap: 12px;
    color: #fff;
    font-size: 0.66rem;
    font-weight: 850;
    letter-spacing: 1.5px;
    text-shadow: 0 2px 8px rgba(0, 0, 0, 0.4);
}

.fall-why-v3-photo-caption i {
    display: inline-block;
    width: 5px;
    height: 5px;
    border-radius: 50%;
    background: var(--fw3-gold-light);
}

/* Benefit heading */
.fall-why-v3-benefits {
    margin-top: 65px;
}

.fall-why-v3-benefits-heading {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    margin-bottom: 23px;
}

.fall-why-v3-benefits-heading>span {
    color: var(--fw3-wine);
    font-size: 0.72rem;
    font-weight: 850;
    letter-spacing: 2px;
}

.fall-why-v3-benefits-heading p {
    margin: 0;
    color: var(--fw3-muted);
    font-size: 0.82rem;
    line-height: 1.7;
}

/* Four-column editorial grid */
.fall-why-v3-grid {
    border-top: 1px solid var(--fw3-border);
    border-bottom: 1px solid var(--fw3-border);
}

.fall-why-v3-grid>div+div .fall-why-v3-item {
    border-left: 1px solid var(--fw3-border);
}

.fall-why-v3-item {
    position: relative;
    display: flex;
    flex-direction: column;
    min-height: 290px;
    height: 100%;
    padding: 27px 23px 32px;
    overflow: hidden;
    background: transparent;
    transition: background 0.35s ease;
}

.fall-why-v3-item::before {
    position: absolute;
    right: 0;
    bottom: 0;
    left: 0;
    height: 3px;
    content: "";
    background: var(--fw3-wine);
    transform: scaleX(0);
    transform-origin: left;
    transition: transform 0.4s ease;
}

.fall-why-v3-item:hover {
    background: var(--fw3-white);
}

.fall-why-v3-item:hover::before {
    transform: scaleX(1);
}

.fall-why-v3-item-top {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    margin-bottom: 31px;
}

.fall-why-v3-index {
    color: var(--fw3-gold);
    font-size: 0.8rem;
    font-weight: 900;
    letter-spacing: 1px;
}

.fall-why-v3-item-top i {
    display: grid;
    width: 52px;
    height: 52px;
    place-items: center;
    color: var(--fw3-wine);
    border: 1px solid #e8d8d0;
    background: #fffdf9;
    font-size: 1.25rem;
    transition:
        color 0.35s ease,
        background 0.35s ease,
        transform 0.35s ease;
}

.fall-why-v3-item:hover .fall-why-v3-item-top i {
    color: var(--fw3-white);
    background: var(--fw3-wine);
    transform: rotate(-6deg);
}

.fall-why-v3-item h2 {
    margin: 0 0 13px;
    color: var(--fw3-ink);
    font-size: 1.13rem;
    font-weight: 850;
    line-height: 1.4;
    transition: color 0.3s ease;
}

.fall-why-v3-item:hover h2 {
    color: var(--fw3-wine);
}

.fall-why-v3-item p {
    margin: 0 0 20px;
    color: var(--fw3-muted);
    font-size: 0.84rem;
    line-height: 1.85;
}

.fall-why-v3-bottom-line {
    width: 36px;
    height: 2px;
    margin-top: auto;
    background: var(--fw3-gold);
    transition: width 0.35s ease;
}

.fall-why-v3-item:hover .fall-why-v3-bottom-line {
    width: 75px;
}

/* Closing banner */
.fall-why-v3-footer {
    display: flex;
    align-items: center;
    gap: 18px;
    margin-top: 38px;
    padding: 24px 26px;
    border: 1px solid var(--fw3-border);
    background: var(--fw3-white);
}

.fall-why-v3-footer-mark {
    display: grid;
    flex: 0 0 54px;
    width: 54px;
    height: 54px;
    place-items: center;
    color: var(--fw3-gold-light);
    background: var(--fw3-wine);
    font-size: 1.3rem;
}

.fall-why-v3-footer-text {
    display: flex;
    flex: 1;
    flex-direction: column;
    gap: 5px;
}

.fall-why-v3-footer-text span {
    color: var(--fw3-gold);
    font-size: 0.64rem;
    font-weight: 850;
    letter-spacing: 1.5px;
}

.fall-why-v3-footer-text strong {
    color: var(--fw3-ink);
    font-size: 1.05rem;
    line-height: 1.5;
}

.fall-why-v3-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 15px;
    min-height: 52px;
    padding: 0 22px;
    color: var(--fw3-white);
    border: 1px solid var(--fw3-wine);
    background: var(--fw3-wine);
    font-size: 0.7rem;
    font-weight: 850;
    letter-spacing: 1px;
    text-decoration: none;
    transition:
        color 0.3s ease,
        background 0.3s ease,
        transform 0.3s ease;
}

.fall-why-v3-button i {
    transition: transform 0.3s ease;
}

.fall-why-v3-button:hover {
    color: var(--fw3-wine);
    background: var(--fw3-white);
    transform: translateY(-3px);
}

.fall-why-v3-button:hover i {
    transform: translate(3px, -3px);
}

/* Responsive */
@media (max-width: 1199.98px) {
    .fall-why-v3-intro {
        gap: 35px;
    }

    .fall-why-v3-item {
        padding-right: 17px;
        padding-left: 17px;
    }

    .fall-why-v3-item h2 {
        font-size: 1.03rem;
    }
}

@media (max-width: 991.98px) {
    .fall-why-v3 {
        padding: 80px 0 70px;
    }

    .fall-why-v3-intro {
        grid-template-columns: 1fr;
        gap: 25px;
    }

    .fall-why-v3-intro-side {
        max-width: 650px;
    }

    .fall-why-v3-photo {
        height: 360px;
    }

    .fall-why-v3-benefits {
        margin-top: 45px;
    }

    .fall-why-v3-grid>div:nth-child(3) .fall-why-v3-item {
        border-left: 0;
    }

    .fall-why-v3-grid>div:nth-child(n+3) .fall-why-v3-item {
        border-top: 1px solid var(--fw3-border);
    }

    .fall-why-v3-item {
        min-height: 255px;
        padding: 23px;
    }
}

@media (max-width: 767.98px) {
    .fall-why-v3 {
        padding: 65px 0 55px;
    }

    .fall-why-v3-heading h2 {
        font-size: clamp(2.15rem, 8vw, 3rem);
        letter-spacing: -1px;
    }

    .fall-why-v3-kicker {
        font-size: 0.65rem;
        letter-spacing: 1.8px;
    }

    .fall-why-v3-intro-side {
        padding-left: 18px;
    }

    .fall-why-v3-photo {
        height: 320px;
    }

    .fall-why-v3-photo-tag {
        top: 15px;
        left: 15px;
        padding: 10px;
    }

    .fall-why-v3-photo-caption {
        right: 12px;
        bottom: 15px;
        left: 12px;
        flex-wrap: wrap;
        gap: 8px;
        font-size: 0.57rem;
        letter-spacing: 1px;
    }

    .fall-why-v3-benefits {
        margin-top: 38px;
    }

    .fall-why-v3-benefits-heading {
        align-items: flex-start;
        flex-direction: column;
        gap: 8px;
    }

    .fall-why-v3-grid>div:nth-child(odd) .fall-why-v3-item {
        border-left: 0;
    }

    .fall-why-v3-grid>div:nth-child(even) .fall-why-v3-item {
        border-left: 1px solid var(--fw3-border);
    }

    .fall-why-v3-grid>div:nth-child(n+3) .fall-why-v3-item {
        border-top: 1px solid var(--fw3-border);
    }

    .fall-why-v3-item {
        min-height: 265px;
        padding: 20px 14px 25px;
    }

    .fall-why-v3-item-top {
        margin-bottom: 23px;
    }

    .fall-why-v3-item-top i {
        width: 43px;
        height: 43px;
        font-size: 1.1rem;
    }

    .fall-why-v3-item h2 {
        font-size: 0.98rem;
    }

    .fall-why-v3-item p {
        font-size: 0.8rem;
    }

    .fall-why-v3-footer {
        align-items: flex-start;
        flex-wrap: wrap;
        gap: 14px;
        padding: 19px;
    }

    .fall-why-v3-footer-text {
        flex-basis: calc(100% - 75px);
    }

    .fall-why-v3-footer-text strong {
        font-size: 0.94rem;
    }

    .fall-why-v3-button {
        width: 100%;
    }
}

@media (max-width: 420px) {
    .fall-why-v3-grid>div {
        width: 100%;
    }

    .fall-why-v3-grid>div .fall-why-v3-item {
        min-height: auto;
        padding: 22px 18px;
        border-left: 0;
    }

    .fall-why-v3-grid>div+div .fall-why-v3-item {
        border-top: 1px solid var(--fw3-border);
    }

    .fall-why-v3-item-top {
        margin-bottom: 16px;
    }

    .fall-why-v3-item p {
        margin-bottom: 16px;
    }

    .fall-why-v3-photo {
        height: 280px;
    }
}

@media (prefers-reduced-motion: reduce) {

    .fall-why-v3 *,
    .fall-why-v3 *::before,
    .fall-why-v3 *::after {
        animation: none !important;
        transition: none !important;
    }
}

/* =========================================
   FALLBROOK GARAGE DOOR CA
   ARCHITECTURAL REPAIR BASICS
========================================= */
.fall-architectural {
    --fgd-burgundy: #721d2b;
    --fgd-burgundy-dark: #4d131e;
    --fgd-burgundy-light: #963b4b;
    --fgd-gunmetal: #202328;
    --fgd-gunmetal-light: #34383d;
    --fgd-warm: #fffdf8;
    --fgd-cream: #f4efe6;
    --fgd-gold: #b18a43;
    --fgd-gold-light: #d2b46e;
    position: relative;
    isolation: isolate;
    overflow: hidden;
    padding: 105px 0 85px;
    background:
        radial-gradient(circle at 8% 12%,
            rgba(114, 29, 43, 0.19),
            transparent 30%),
        var(--fgd-gunmetal);
    color: var(--fgd-warm);
}

.fall-architectural::before {
    content: "";
    position: absolute;
    top: 0;
    right: 7%;
    width: 1px;
    height: 100%;
    background: rgba(255, 253, 248, 0.055);
    pointer-events: none;
}

.fall-architectural .container {
    position: relative;
    z-index: 1;
}

/* Main Architectural Composition */
.fall-arch-hero {
    position: relative;
    display: grid;
    grid-template-columns: 0.88fr 1.12fr;
    align-items: center;
    min-height: 490px;
}

/* Burgundy Title Panel */
.fall-arch-heading {
    position: relative;
    z-index: 2;
    padding: 54px 34px 35px 42px;
    margin-right: -48px;
    background:
        linear-gradient(135deg,
            var(--fgd-burgundy-light),
            var(--fgd-burgundy) 53%,
            var(--fgd-burgundy-dark));
    box-shadow: 18px 20px 45px rgba(0, 0, 0, 0.23);
    clip-path: polygon(0 0,
            100% 0,
            100% 87%,
            88% 100%,
            0 100%);
}

.fall-arch-eyebrow {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-bottom: 28px;
    color: var(--fgd-gold-light);
    font-size: 11px;
    font-weight: 800;
    letter-spacing: 3px;
}

.fall-arch-line {
    display: inline-block;
    width: 34px;
    height: 2px;
    background: var(--fgd-gold-light);
}

.fall-arch-heading h2 {
    max-width: 470px;
    margin: 0;
    color: var(--fgd-warm);
    font-size: clamp(34px, 4vw, 57px);
    font-weight: 850;
    line-height: 1.12;
    letter-spacing: -1.8px;
    text-wrap: balance;
}

.fall-arch-heading h2 span {
    display: block;
    color: var(--fgd-gold-light);
}

.fall-arch-heading-bottom {
    display: flex;
    align-items: center;
    gap: 15px;
    margin-top: 38px;
    padding-top: 20px;
    border-top: 1px solid rgba(255, 253, 248, 0.24);
}

.fall-arch-number {
    color: var(--fgd-gold-light);
    font-size: 27px;
    font-weight: 800;
    letter-spacing: -1px;
}

.fall-arch-heading-caption {
    max-width: 190px;
    color: rgba(255, 253, 248, 0.83);
    font-size: 11px;
    font-weight: 700;
    line-height: 1.6;
    letter-spacing: 1.2px;
    text-transform: uppercase;
}

/* Angular Photo */
.fall-arch-image {
    position: relative;
    z-index: 1;
    align-self: stretch;
    min-height: 490px;
    overflow: hidden;
    background: #151719;
    clip-path: polygon(13% 0,
            100% 0,
            100% 100%,
            0 100%,
            0 15%);
}

.fall-arch-image img {
    display: block;
    width: 100%;
    height: 100%;
    min-height: 490px;
    object-fit: cover;
    object-position: center;
    filter: brightness(0.83) saturate(0.78);
    transition:
        transform 0.8s ease,
        filter 0.8s ease;
}

.fall-arch-image:hover img {
    transform: scale(1.055);
    filter: brightness(0.98) saturate(0.95);
}

.fall-arch-image-shade {
    position: absolute;
    inset: 0;
    pointer-events: none;
    background: linear-gradient(180deg,
            rgba(7, 8, 10, 0.05) 35%,
            rgba(7, 8, 10, 0.58) 100%);
}

.fall-arch-image-label {
    position: absolute;
    right: 30px;
    bottom: 28px;
    padding: 11px 15px;
    border-left: 3px solid var(--fgd-gold-light);
    background: rgba(32, 35, 40, 0.9);
    color: var(--fgd-warm);
    font-size: 10px;
    font-weight: 800;
    letter-spacing: 2.5px;
}

.fall-arch-image-corner {
    position: absolute;
    top: 24px;
    right: 24px;
    width: 48px;
    height: 48px;
    border-top: 2px solid var(--fgd-gold-light);
    border-right: 2px solid var(--fgd-gold-light);
}

/* Vertical Architectural Label */
.fall-arch-vertical-text {
    position: absolute;
    top: 20px;
    right: -35px;
    z-index: 3;
    color: rgba(255, 253, 248, 0.48);
    font-size: 9px;
    font-weight: 800;
    letter-spacing: 3px;
    writing-mode: vertical-rl;
}

/* Geometric Divider */
.fall-arch-divider {
    display: flex;
    align-items: center;
    gap: 7px;
    margin: 58px 0 35px;
}

.fall-arch-divider span:nth-child(1) {
    width: 72px;
    height: 4px;
    background: var(--fgd-burgundy-light);
}

.fall-arch-divider span:nth-child(2) {
    width: 22px;
    height: 4px;
    background: var(--fgd-gold);
    transform: skewX(-35deg);
}

.fall-arch-divider span:nth-child(3) {
    flex: 1;
    height: 1px;
    background: rgba(255, 253, 248, 0.19);
}

/* Single-Column Article */
.fall-arch-article {
    display: grid;
    grid-template-columns: 95px minmax(0, 1fr);
    gap: 32px;
    max-width: 1030px;
    margin: 0 auto;
}

.fall-arch-article-mark {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 18px;
    padding-top: 5px;
}

.fall-arch-article-mark>span:first-child {
    color: var(--fgd-gold-light);
    font-size: 33px;
    font-weight: 850;
    letter-spacing: -2px;
}

.fall-arch-mark-line {
    width: 45px;
    height: 3px;
    background: var(--fgd-burgundy-light);
}

.fall-arch-copy {
    padding-left: 30px;
    border-left: 1px solid rgba(210, 180, 110, 0.48);
}

.fall-arch-copy p {
    margin: 0 0 22px;
    color: #e0dfdc;
    font-size: 16px;
    font-weight: 400;
    line-height: 1.95;
    letter-spacing: 0.05px;
}

.fall-arch-copy p:last-child {
    margin-bottom: 0;
}

.fall-arch-copy p::selection {
    background: var(--fgd-burgundy);
    color: var(--fgd-warm);
}

/* Footer Detail */
.fall-arch-footer {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 18px;
    margin-top: 65px;
    color: var(--fgd-gold-light);
    font-size: 9px;
    font-weight: 800;
    letter-spacing: 3px;
    text-align: center;
}

.fall-arch-footer-line {
    width: 50px;
    height: 1px;
    background: rgba(210, 180, 110, 0.5);
}

/* Tablet */
@media (max-width: 991.98px) {
    .fall-architectural {
        padding: 75px 0 65px;
    }

    .fall-arch-hero {
        grid-template-columns: 1fr 1fr;
        min-height: 410px;
    }

    .fall-arch-heading {
        padding: 40px 25px 30px;
        margin-right: -30px;
    }

    .fall-arch-heading h2 {
        font-size: clamp(30px, 4.5vw, 43px);
        letter-spacing: -1px;
    }

    .fall-arch-image,
    .fall-arch-image img {
        min-height: 410px;
    }

    .fall-arch-vertical-text {
        right: -23px;
    }

    .fall-arch-article {
        grid-template-columns: 65px minmax(0, 1fr);
        gap: 22px;
    }

    .fall-arch-copy {
        padding-left: 24px;
    }
}

/* Mobile */
@media (max-width: 575.98px) {
    .fall-architectural {
        padding: 52px 0 45px;
    }

    .fall-arch-hero {
        display: flex;
        flex-direction: column;
        align-items: stretch;
        min-height: 0;
        padding-right: 8px;
    }

    .fall-arch-heading {
        order: 1;
        margin: 0 0 -20px 0;
        padding: 30px 23px 35px;
        clip-path: polygon(0 0,
                100% 0,
                100% 94%,
                92% 100%,
                0 100%);
    }

    .fall-arch-eyebrow {
        margin-bottom: 20px;
        font-size: 9px;
        letter-spacing: 2px;
    }

    .fall-arch-heading h2 {
        max-width: 100%;
        font-size: clamp(32px, 9vw, 43px);
        line-height: 1.12;
    }

    .fall-arch-heading-bottom {
        margin-top: 25px;
        padding-top: 15px;
    }

    .fall-arch-number {
        font-size: 23px;
    }

    .fall-arch-image {
        order: 2;
        min-height: 290px;
        margin-left: 18px;
        clip-path: polygon(10% 0,
                100% 0,
                100% 100%,
                0 100%,
                0 12%);
    }

    .fall-arch-image img {
        height: 290px;
        min-height: 290px;
    }

    .fall-arch-image-label {
        right: 15px;
        bottom: 15px;
        padding: 9px 11px;
        font-size: 8px;
    }

    .fall-arch-image-corner {
        top: 15px;
        right: 15px;
        width: 32px;
        height: 32px;
    }

    .fall-arch-vertical-text {
        display: none;
    }

    .fall-arch-divider {
        margin: 38px 0 27px;
    }

    .fall-arch-article {
        display: block;
    }

    .fall-arch-article-mark {
        flex-direction: row;
        align-items: center;
        gap: 13px;
        margin-bottom: 20px;
    }

    .fall-arch-article-mark>span:first-child {
        font-size: 27px;
    }

    .fall-arch-mark-line {
        width: 50px;
    }

    .fall-arch-copy {
        padding-left: 18px;
    }

    .fall-arch-copy p {
        margin-bottom: 19px;
        font-size: 15px;
        line-height: 1.85;
    }

    .fall-arch-footer {
        gap: 10px;
        margin-top: 40px;
        font-size: 8px;
        letter-spacing: 1.7px;
    }

    .fall-arch-footer-line {
        width: 25px;
    }
}

/* Reduced Motion Accessibility */
@media (prefers-reduced-motion: reduce) {
    .fall-arch-image img {
        transition: none;
    }
}

/* =========================================
   FALLBROOK GARAGE DOOR CA
   SPECIAL OFFERS — LIGHT TICKET DESIGN
========================================= */
.fg-offers {
    --wine: #721d2b;
    --wine-dark: #4d131e;
    --wine-light: #963b4b;
    --charcoal: #202328;
    --ivory: #faf7f0;
    --white: #fffefa;
    --gold: #b18a43;
    --gold-light: #d2b46e;
    --text: #292d31;
    --muted: #77736e;
    position: relative;
    isolation: isolate;
    overflow: hidden;
    padding: 95px 0 85px;
    background:
        radial-gradient(ellipse at 50% 0%,
            rgba(177, 138, 67, 0.12),
            transparent 45%),
        var(--ivory);
    color: var(--text);
}

.fg-offers::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 7px;
    background: linear-gradient(90deg,
            var(--wine-dark),
            var(--wine),
            var(--gold),
            var(--wine));
}

.fg-offers::after {
    content: "%";
    position: absolute;
    z-index: -1;
    right: -20px;
    top: 80px;
    color: rgba(114, 29, 43, 0.035);
    font-size: clamp(180px, 28vw, 380px);
    font-weight: 900;
    line-height: 1;
    pointer-events: none;
}

/* Heading */
.fg-offers-heading {
    max-width: 780px;
    margin: 0 auto 54px;
    text-align: center;
}

.fg-offers-eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 18px;
    color: var(--wine);
    font-size: 10px;
    font-weight: 850;
    letter-spacing: 3px;
}

.fg-offers-eyebrow i {
    color: var(--gold);
}

.fg-offers-heading h2 {
    margin: 0;
    color: var(--charcoal);
    font-size: clamp(46px, 7vw, 78px);
    font-weight: 950;
    line-height: 0.98;
    letter-spacing: -3px;
}

.fg-offers-heading h2 span {
    color: var(--wine);
}

.fg-offers-heading>p {
    max-width: 580px;
    margin: 22px auto 0;
    color: var(--muted);
    font-size: 15px;
    line-height: 1.85;
}

.fg-heading-decoration {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 13px;
    margin-top: 25px;
    color: var(--gold);
}

.fg-heading-decoration span {
    width: 55px;
    height: 1px;
    background: var(--gold);
}

.fg-heading-decoration i {
    font-size: 14px;
}

/* Ticket Cards */
.fg-offer-row {
    align-items: stretch;
}

.fg-ticket-link {
    display: block;
    height: 100%;
    color: inherit;
    text-decoration: none;
}

.fg-ticket-link:focus-visible {
    outline: 3px solid var(--gold);
    outline-offset: 4px;
}

.fg-ticket {
    position: relative;
    display: flex;
    flex-direction: column;
    height: 100%;
    min-height: 440px;
    overflow: hidden;
    border: 1px solid #e8dfd0;
    background: var(--white);
    box-shadow: 0 13px 32px rgba(32, 35, 40, 0.06);
    transition:
        transform 0.35s ease,
        box-shadow 0.35s ease,
        border-color 0.35s ease;
}

.fg-ticket:hover {
    transform: translateY(-8px);
    border-color: var(--gold);
    box-shadow: 0 22px 45px rgba(32, 35, 40, 0.12);
}

.fg-ticket-top {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 19px 24px;
    background: var(--wine);
    color: var(--white);
}

.fg-ticket-top i {
    color: var(--gold-light);
    font-size: 21px;
}

.fg-ticket-small {
    font-size: 9px;
    font-weight: 850;
    letter-spacing: 2px;
}

.fg-ticket-main {
    position: relative;
    flex: 1;
    padding: 28px 24px 22px;
    text-align: center;
}

.fg-save-label {
    display: block;
    margin-bottom: -2px;
    color: var(--wine);
    font-size: 12px;
    font-weight: 900;
    letter-spacing: 6px;
}

.fg-discount {
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--wine);
    line-height: 1;
}

.fg-dollar {
    align-self: flex-start;
    margin-top: 17px;
    font-size: 28px;
    font-weight: 900;
}

.fg-amount {
    font-size: clamp(76px, 7vw, 100px);
    font-weight: 950;
    letter-spacing: -7px;
}

.fg-off {
    align-self: flex-end;
    margin: 0 0 12px 8px;
    padding: 8px 9px;
    background: var(--gold-light);
    color: var(--wine-dark);
    font-size: 15px;
    font-weight: 950;
    letter-spacing: 1px;
}

.fg-ticket-rule {
    display: flex;
    align-items: center;
    gap: 11px;
    margin: 22px 0;
}

.fg-ticket-rule span {
    flex: 1;
    border-top: 1px dashed #cfc2ac;
}

.fg-ticket-rule i {
    color: var(--gold);
    font-size: 15px;
}

.fg-ticket-main h3 {
    margin: 0 0 12px;
    color: var(--charcoal);
    font-size: 23px;
    font-weight: 900;
    letter-spacing: -0.6px;
}

.fg-ticket-main p {
    max-width: 310px;
    margin: 0 auto;
    color: var(--muted);
    font-size: 13px;
    line-height: 1.8;
}

.fg-ticket-footer {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    min-height: 65px;
    padding: 12px 23px;
    border-top: 1px dashed #d8cbb8;
    background: #fbf7ef;
}

.fg-ticket-footer>span {
    color: var(--wine);
    font-size: 9px;
    font-weight: 850;
    letter-spacing: 1.2px;
}

.fg-ticket-arrow {
    display: flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 37px;
    width: 37px;
    height: 37px;
    border: 1px solid #ddcba9;
    color: var(--wine);
    text-decoration: none;
    transition:
        background 0.3s ease,
        color 0.3s ease;
}

.fg-ticket-link:hover .fg-ticket-arrow,
.fg-ticket-link:focus-visible .fg-ticket-arrow {
    background: var(--wine);
    color: var(--white);
}

/* Featured Ticket */
.fg-ticket-featured {
    border: 2px solid var(--wine);
    box-shadow: 0 17px 40px rgba(114, 29, 43, 0.11);
}

.fg-ticket-featured .fg-ticket-top {
    padding-top: 30px;
    background: var(--wine-dark);
}

.fg-ticket-ribbon {
    position: absolute;
    top: 0;
    right: 0;
    z-index: 2;
    padding: 7px 12px;
    background: var(--gold-light);
    color: var(--wine-dark);
    font-size: 8px;
    font-weight: 950;
    letter-spacing: 1.2px;
}

/* Bottom Banner */
.fg-offers-bottom {
    display: flex;
    align-items: center;
    gap: 22px;
    margin-top: 43px;
    padding: 28px 30px;
    background: var(--charcoal);
    border-left: 5px solid var(--gold);
}

.fg-bottom-icon {
    display: flex;
    flex: 0 0 58px;
    align-items: center;
    justify-content: center;
    width: 58px;
    height: 58px;
    background: var(--wine);
    color: var(--gold-light);
    font-size: 24px;
}

.fg-bottom-text {
    flex: 1;
}

.fg-bottom-text>span {
    display: block;
    margin-bottom: 7px;
    color: var(--gold-light);
    font-size: 9px;
    font-weight: 850;
    letter-spacing: 2px;
}

.fg-bottom-text h3 {
    margin: 0 0 7px;
    color: var(--white);
    font-size: 21px;
    font-weight: 850;
}

.fg-bottom-text p {
    margin: 0;
    color: #d5d2ce;
    font-size: 12px;
    line-height: 1.7;
}

.fg-bottom-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 13px;
    min-height: 49px;
    padding: 0 19px;
    background: var(--wine);
    color: var(--white);
    font-size: 10px;
    font-weight: 900;
    letter-spacing: 1.1px;
    text-decoration: none;
    white-space: nowrap;
    transition:
        background 0.3s ease,
        color 0.3s ease;
}

.fg-bottom-button:hover {
    background: var(--gold-light);
    color: var(--wine-dark);
}

/* Tablet */
@media (max-width: 991.98px) {
    .fg-offers {
        padding: 75px 0 65px;
    }

    .fg-offers-heading {
        margin-bottom: 40px;
    }

    .fg-ticket {
        min-height: 420px;
    }

    .fg-amount {
        font-size: 85px;
    }

    .fg-offers-bottom {
        flex-wrap: wrap;
    }

    .fg-bottom-button {
        margin-left: 80px;
    }
}

/* Mobile */
@media (max-width: 575.98px) {
    .fg-offers {
        padding: 60px 0 50px;
    }

    .fg-offers-heading {
        margin-bottom: 32px;
    }

    .fg-offers-eyebrow {
        font-size: 9px;
        letter-spacing: 1.8px;
    }

    .fg-offers-heading h2 {
        font-size: clamp(43px, 12vw, 61px);
        letter-spacing: -2px;
    }

    .fg-offers-heading>p {
        font-size: 13px;
    }

    .fg-ticket {
        min-height: 0;
    }

    .fg-ticket-top {
        padding: 17px 20px;
    }

    .fg-ticket-main {
        padding: 26px 20px 25px;
    }

    .fg-amount {
        font-size: 90px;
    }

    .fg-ticket-main h3 {
        font-size: 22px;
    }

    .fg-offers-bottom {
        gap: 14px;
        padding: 22px 18px;
    }

    .fg-bottom-icon {
        flex-basis: 43px;
        width: 43px;
        height: 43px;
        font-size: 19px;
    }

    .fg-bottom-text {
        min-width: 0;
    }

    .fg-bottom-text h3 {
        font-size: 17px;
    }

    .fg-bottom-text p {
        font-size: 11px;
    }

    .fg-bottom-button {
        width: 100%;
        margin: 5px 0 0;
    }
}

/* Reduced Motion */
@media (prefers-reduced-motion: reduce) {

    .fg-offers *,
    .fg-offers *::before,
    .fg-offers *::after {
        transition: none !important;
    }
}

/* =========================================
   FALLBROOK GARAGE DOOR CA
   DARK EDITORIAL ARTICLE
========================================= */
.fg-dark-editorial {
    --fgde-bg: #17191d;
    --fgde-bg-light: #202328;
    --fgde-wine: #721d2b;
    --fgde-wine-light: #963b4b;
    --fgde-gold: #b18a43;
    --fgde-gold-light: #d2b46e;
    --fgde-white: #fffdf8;
    --fgde-text: #c5c5c3;
    --fgde-muted: #999995;
    position: relative;
    isolation: isolate;
    overflow: hidden;
    padding: 75px 0 0;
    background: var(--fgde-bg);
    color: var(--fgde-white);
}

/* HTML image layer */
.fg-dark-editorial .fgde-background {
    position: absolute;
    z-index: -2;
    inset: 0;
    overflow: hidden;
    pointer-events: none;
}

.fg-dark-editorial .fgde-background img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    opacity: .17;
    filter: grayscale(100%);
}

/* Dark layer over image */
.fg-dark-editorial .fgde-overlay {
    position: absolute;
    z-index: -1;
    inset: 0;
    background:
        linear-gradient(90deg, rgba(23, 25, 29, 0.82) 0%, rgba(23, 25, 29, 0.21) 55%, rgba(23, 25, 29, .78) 100%), linear-gradient(0deg, rgba(23, 25, 29, 0.43) 0%, rgba(23, 25, 29, .38) 100%);
    pointer-events: none;
}

.fg-dark-editorial *,
.fg-dark-editorial *::before,
.fg-dark-editorial *::after {
    box-sizing: border-box;
}

/* Topbar */
.fgde-topbar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    padding-bottom: 23px;
    border-bottom: 1px solid rgba(255, 255, 255, .15);
}

.fgde-brand {
    display: inline-flex;
    align-items: center;
    gap: 12px;
    color: var(--fgde-white);
    text-decoration: none;
    font-size: 10px;
    font-weight: 900;
    letter-spacing: 1.8px;
}

.fgde-brand:hover {
    color: var(--fgde-gold-light);
}

.fgde-brand-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 38px;
    height: 38px;
    border: 1px solid rgba(210, 180, 110, .65);
    color: var(--fgde-gold-light);
    font-size: 16px;
    transition: background .3s ease, color .3s ease;
}

.fgde-brand:hover .fgde-brand-icon {
    background: var(--fgde-gold);
    color: var(--fgde-bg);
}

.fgde-top-label {
    color: #b0aaa2;
    font-size: 9px;
    font-weight: 800;
    letter-spacing: 2px;
}

/* Heading area */
.fgde-heading {
    position: relative;
    display: flex;
    align-items: center;
    min-height: 350px;
    padding: 65px 0 55px;
    border-bottom: 1px solid rgba(255, 255, 255, .15);
}

.fgde-heading-content {
    position: relative;
    z-index: 2;
    max-width: 850px;
    padding-left: 30px;
    border-left: 3px solid var(--fgde-gold);
}

.fgde-eyebrow {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-bottom: 23px;
    color: var(--fgde-gold-light);
    font-size: 9px;
    font-weight: 900;
    letter-spacing: 2px;
}

.fgde-eyebrow-line {
    width: 30px;
    height: 2px;
    background: var(--fgde-gold);
}

.fgde-heading h2 {
    max-width: 800px;
    margin: 0;
    color: var(--fgde-white);
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(38px, 5vw, 65px);
    font-weight: 700;
    line-height: 1.12;
    letter-spacing: -1.8px;
}

.fgde-heading h2 span {
    display: block;
    color: var(--fgde-gold-light);
    font-style: italic;
}

.fgde-heading-bottom {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 11px;
    margin-top: 28px;
    color: #c3beb5;
    font-size: 8px;
    font-weight: 800;
    letter-spacing: 1.8px;
}

.fgde-heading-square {
    width: 8px;
    height: 8px;
    margin-right: 4px;
    background: var(--fgde-wine-light);
    transform: rotate(45deg);
}

.fgde-separator {
    color: var(--fgde-gold);
}

.fgde-heading-decoration {
    position: absolute;
    right: 4%;
    bottom: 42px;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 125px;
    height: 125px;
    border: 1px solid rgba(210, 180, 110, .25);
    border-radius: 50%;
    color: rgba(210, 180, 110, .3);
    font-size: 47px;
    transition: transform .5s ease, color .5s ease;
}

.fg-dark-editorial:hover .fgde-heading-decoration {
    color: rgba(210, 180, 110, .65);
    transform: rotate(20deg);
}

/* Intro separator */
.fgde-intro {
    display: flex;
    align-items: center;
    gap: 15px;
    padding: 32px 0 28px;
}

.fgde-quote-mark {
    height: 39px;
    color: var(--fgde-gold-light);
    font-family: Georgia, "Times New Roman", serif;
    font-size: 58px;
    line-height: 1;
}

.fgde-intro-label {
    flex-shrink: 0;
    color: var(--fgde-white);
    font-size: 9px;
    font-weight: 900;
    letter-spacing: 2px;
}

.fgde-intro-line {
    flex: 1;
    height: 1px;
    background: rgba(255, 255, 255, .18);
}

/* Article columns */
.fgde-article {
    padding-bottom: 45px;
}

.fgde-text {
    height: 100%;
    padding: 0 35px 25px 0;
}

.fgde-text-right {
    padding: 0 0 25px 35px;
    border-left: 1px solid rgba(255, 255, 255, .17);
}

.fgde-text-label {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 20px;
    color: var(--fgde-gold-light);
    font-size: 9px;
    font-weight: 900;
    letter-spacing: 1.6px;
}

.fgde-label-dash {
    display: inline-block;
    width: 22px;
    height: 2px;
    background: var(--fgde-wine-light);
}

.fgde-text p {
    margin: 0;
    color: var(--fgde-text);
    font-size: 15px;
    line-height: 2;
}

.fgde-text-line {
    width: 40px;
    height: 3px;
    margin-top: 25px;
    background: var(--fgde-gold);
    transition: width .35s ease, background .35s ease;
}

.fgde-text:hover .fgde-text-line {
    width: 80px;
    background: var(--fgde-gold-light);
}

/* Bottom signature */
.fgde-footer {
    display: flex;
    align-items: center;
    gap: 18px;
    padding: 25px 30px;
    border-top: 1px solid rgba(210, 180, 110, .4);
    background: rgba(77, 19, 30, .94);
    transition: background .3s ease;
}

.fgde-footer:hover {
    background: rgba(114, 29, 43, .98);
}

.fgde-footer-icon {
    display: flex;
    flex: 0 0 45px;
    align-items: center;
    justify-content: center;
    width: 45px;
    height: 45px;
    border: 1px solid rgba(210, 180, 110, .55);
    color: var(--fgde-gold-light);
    font-size: 18px;
}

.fgde-footer-content {
    display: flex;
    flex-direction: column;
    gap: 6px;
}

.fgde-footer-content strong {
    color: var(--fgde-white);
    font-size: 10px;
    font-weight: 900;
    letter-spacing: 1.4px;
}

.fgde-footer-content span {
    color: #d4c7c7;
    font-size: 12px;
}

.fgde-footer-decoration {
    display: flex;
    align-items: center;
    gap: 6px;
    margin-left: auto;
}

.fgde-footer-decoration span {
    display: block;
    width: 5px;
    height: 5px;
    background: var(--fgde-gold-light);
    transform: rotate(45deg);
}

.fgde-footer-decoration span:nth-child(2) {
    opacity: .6;
}

.fgde-footer-decoration span:nth-child(3) {
    opacity: .3;
}

/* Tablet */
@media (max-width: 991.98px) {
    .fg-dark-editorial {
        padding-top: 60px;
    }

    .fgde-heading {
        min-height: 320px;
    }

    .fgde-heading-content {
        max-width: 690px;
    }

    .fgde-heading h2 {
        font-size: clamp(38px, 5.5vw, 54px);
    }

    .fgde-heading-decoration {
        right: 1%;
        width: 90px;
        height: 90px;
        font-size: 35px;
        opacity: .6;
    }

    .fgde-text {
        padding-right: 22px;
    }

    .fgde-text-right {
        padding-left: 22px;
        padding-right: 0;
    }
}

/* Mobile */
@media (max-width: 767.98px) {
    .fg-dark-editorial {
        padding-top: 45px;
    }

    .fg-dark-editorial .fgde-background img {
        object-position: 65% center;
        opacity: .12;
    }

    .fg-dark-editorial .fgde-overlay {
        background: rgba(23, 25, 29, .88);
    }

    .fgde-topbar {
        align-items: flex-start;
        flex-direction: column;
        gap: 12px;
        padding-bottom: 18px;
    }

    .fgde-brand {
        font-size: 9px;
        letter-spacing: 1px;
    }

    .fgde-top-label {
        font-size: 8px;
    }

    .fgde-heading {
        min-height: auto;
        padding: 48px 0 40px;
    }

    .fgde-heading-content {
        padding-left: 18px;
        padding-right: 2px;
    }

    .fgde-eyebrow {
        align-items: flex-start;
        font-size: 8px;
        line-height: 1.8;
        letter-spacing: 1px;
    }

    .fgde-eyebrow-line {
        flex: 0 0 20px;
        margin-top: 6px;
    }

    .fgde-heading h2 {
        font-size: clamp(34px, 8vw, 47px);
        line-height: 1.15;
        letter-spacing: -1px;
    }

    .fgde-heading-bottom {
        gap: 8px;
        margin-top: 22px;
        font-size: 7px;
        letter-spacing: 1px;
    }

    .fgde-heading-decoration {
        right: 5px;
        bottom: 35px;
        width: 65px;
        height: 65px;
        font-size: 25px;
        opacity: .35;
    }

    .fgde-intro {
        gap: 10px;
        padding: 25px 0;
    }

    .fgde-intro-label {
        font-size: 8px;
        letter-spacing: 1px;
    }

    .fgde-article {
        padding-bottom: 28px;
    }

    .fgde-text,
    .fgde-text-right {
        padding: 0 0 28px;
        border-left: 0;
    }

    .fgde-text-right {
        padding-top: 25px;
        border-top: 1px solid rgba(255, 255, 255, .17);
    }

    .fgde-text p {
        font-size: 14px;
        line-height: 1.9;
    }

    .fgde-text-label {
        font-size: 8px;
        letter-spacing: 1.2px;
    }

    .fgde-footer {
        gap: 12px;
        padding: 20px 15px;
    }

    .fgde-footer-icon {
        flex-basis: 38px;
        width: 38px;
        height: 38px;
        font-size: 15px;
    }

    .fgde-footer-content strong {
        font-size: 8px;
        letter-spacing: .6px;
        line-height: 1.7;
    }

    .fgde-footer-content span {
        font-size: 10px;
        line-height: 1.6;
    }

    .fgde-footer-decoration {
        display: none;
    }
}

@media (prefers-reduced-motion: reduce) {

    .fg-dark-editorial *,
    .fg-dark-editorial *::before,
    .fg-dark-editorial *::after {
        transition: none !important;
    }
}


/* ==========================================
   LUXURY LIGHT BRANDS SECTION
   Fallbrook Garage Door CA
========================================== */

.fg-luxury-brands {
    --fglb-burgundy: #721d2b;
    --fglb-deep: #4d131e;
    --fglb-gold: #b18a43;
    --fglb-gold-light: #d2b46e;
    --fglb-ink: #292a2d;
    --fglb-muted: #77736f;
    --fglb-cream: #f8f5ef;
    --fglb-border: #e8e1d7;

    position: relative;
    overflow: hidden;
    padding: 100px 0 75px;
    background: #fffdf9;
    color: var(--fglb-ink);
}

/* Soft decorative side detail */

.fg-luxury-brands::before {
    content: "";
    position: absolute;
    top: 0;
    right: 0;
    width: 7px;
    height: 100%;
    background: linear-gradient(to bottom,
            var(--fglb-burgundy),
            var(--fglb-gold),
            var(--fglb-burgundy));
    opacity: 0.8;
}

.fg-luxury-brands .container {
    position: relative;
    z-index: 1;
}

/* Header */

.fglb-top {
    display: grid;
    grid-template-columns: 1.15fr 0.85fr;
    align-items: end;
    gap: 55px;
    margin-bottom: 38px;
}

.fglb-label {
    display: inline-block;
    margin-bottom: 17px;
    color: var(--fglb-burgundy);
    font-size: 11px;
    font-weight: 800;
    letter-spacing: 3px;
}

.fglb-heading h2 {
    max-width: 630px;
    margin: 0;
    color: var(--fglb-ink);
    font-size: clamp(34px, 4vw, 52px);
    font-weight: 800;
    line-height: 1.16;
    letter-spacing: -1.5px;
}

.fglb-heading h2 span {
    display: block;
    margin-top: 5px;
    color: var(--fglb-burgundy);
}

.fglb-intro {
    max-width: 430px;
    margin: 0 0 5px auto;
    padding-left: 22px;
    border-left: 2px solid var(--fglb-gold);
    color: var(--fglb-muted);
    font-size: 15px;
    line-height: 1.95;
}

/* Center ornament */

.fglb-divider {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 17px;
    margin-bottom: 30px;
    color: var(--fglb-gold);
}

.fglb-divider span {
    width: 65px;
    height: 1px;
    background: var(--fglb-border);
}

.fglb-divider i {
    font-size: 15px;
}

/* Brand list */

.fglb-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    border-top: 1px solid var(--fglb-border);
    border-left: 1px solid var(--fglb-border);
}

.fglb-item {
    position: relative;
    display: flex;
    align-items: center;
    gap: 15px;
    min-width: 0;
    min-height: 91px;
    padding: 20px 17px;
    border-right: 1px solid var(--fglb-border);
    border-bottom: 1px solid var(--fglb-border);
    background: #fffdf9;
    transition:
        background 0.3s ease,
        box-shadow 0.3s ease;
}

.fglb-index {
    flex: 0 0 auto;
    color: #b9a991;
    font-family: Georgia, serif;
    font-size: 12px;
    font-style: italic;
    transition: color 0.3s ease;
}

.fglb-name {
    min-width: 0;
    color: var(--fglb-ink);
    font-size: 15px;
    font-weight: 750;
    line-height: 1.45;
    overflow-wrap: anywhere;
    transition:
        color 0.3s ease,
        transform 0.3s ease;
}

.fglb-item::after {
    content: "";
    position: absolute;
    right: 0;
    bottom: -1px;
    left: 0;
    height: 2px;
    background: var(--fglb-burgundy);
    transform: scaleX(0);
    transform-origin: left;
    transition: transform 0.3s ease;
}

.fglb-item:hover {
    z-index: 1;
    background: var(--fglb-cream);
    box-shadow: 0 7px 20px rgba(77, 19, 30, 0.06);
}

.fglb-item:hover::after {
    transform: scaleX(1);
}

.fglb-item:hover .fglb-index {
    color: var(--fglb-gold);
}

.fglb-item:hover .fglb-name {
    color: var(--fglb-burgundy);
    transform: translateX(3px);
}

/* Bottom signature strip */

.fglb-bottom {
    display: flex;
    align-items: center;
    gap: 20px;
    margin-top: 35px;
    padding: 25px 28px;
    background: var(--fglb-cream);
}

.fglb-bottom-accent {
    flex: 0 0 3px;
    align-self: stretch;
    min-height: 45px;
    background: var(--fglb-gold);
}

.fglb-bottom-small {
    display: block;
    margin-bottom: 7px;
    color: var(--fglb-burgundy);
    font-size: 10px;
    font-weight: 800;
    letter-spacing: 2px;
}

.fglb-bottom p {
    margin: 0;
    color: var(--fglb-muted);
    font-size: 14px;
    line-height: 1.7;
}

.fglb-bottom>i {
    margin-left: auto;
    color: var(--fglb-gold);
    font-size: 30px;
}

/* Tablet */

@media (max-width: 991.98px) {
    .fg-luxury-brands {
        padding: 75px 0 60px;
    }

    .fglb-top {
        grid-template-columns: 1fr;
        gap: 22px;
    }

    .fglb-intro {
        max-width: 600px;
        margin: 0;
    }

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

/* Mobile */

@media (max-width: 575.98px) {
    .fg-luxury-brands {
        padding: 60px 0 45px;
    }

    .fg-luxury-brands::before {
        width: 4px;
    }

    .fglb-top {
        gap: 20px;
        margin-bottom: 28px;
    }

    .fglb-label {
        font-size: 10px;
        letter-spacing: 2px;
    }

    .fglb-heading h2 {
        font-size: 35px;
        letter-spacing: -0.8px;
    }

    .fglb-intro {
        padding-left: 15px;
        font-size: 14px;
        line-height: 1.8;
    }

    .fglb-divider {
        margin-bottom: 22px;
    }

    .fglb-grid {
        gap: 0;
    }

    .fglb-item {
        gap: 9px;
        min-height: 76px;
        padding: 13px 10px;
    }

    .fglb-index {
        font-size: 10px;
    }

    .fglb-name {
        font-size: 13px;
    }

    .fglb-bottom {
        gap: 12px;
        margin-top: 25px;
        padding: 20px 14px;
    }

    .fglb-bottom-small {
        font-size: 9px;
        letter-spacing: 1.1px;
    }

    .fglb-bottom p {
        font-size: 12px;
    }

    .fglb-bottom>i {
        font-size: 23px;
    }
}

/* Reduced motion */

@media (prefers-reduced-motion: reduce) {

    .fglb-item,
    .fglb-item::after,
    .fglb-index,
    .fglb-name {
        transition: none;
    }
}


/* FALLBROOK GARAGE DOOR — SIDE-BY-SIDE GALLERY */

.fg-side-by-side {
    --burgundy: #721d2b;
    --burgundy-dark: #4d131e;
    --burgundy-light: #963b4b;
    --gunmetal: #202328;
    --gunmetal-light: #34383d;
    --white: #fffdf8;
    --cream: #f4efe6;
    --gold: #b18a43;
    --gold-light: #d2b46e;

    position: relative;
    overflow: hidden;
    padding: 90px 0 75px;
    color: var(--white);
    background:
        radial-gradient(circle at 0 0,
            rgba(114, 29, 43, .22),
            transparent 38%),
        var(--gunmetal);
}

.fg-side-header {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 30px;
    margin-bottom: 38px;
}

.fg-side-eyebrow {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 17px;
    color: var(--gold-light);
    font-size: 11px;
    font-weight: 800;
    letter-spacing: 2.5px;
}

.fg-side-eyebrow span {
    width: 30px;
    height: 2px;
    background: var(--burgundy-light);
}

.fg-side-header h2 {
    margin: 0;
    color: var(--white);
    font-size: clamp(36px, 4.5vw, 58px);
    font-weight: 850;
    line-height: 1.08;
    letter-spacing: -1.5px;
}

.fg-side-header h2 span {
    color: var(--gold-light);
}

.fg-side-header>p {
    max-width: 330px;
    margin: 0 0 5px;
    padding-left: 18px;
    color: #c7c4c1;
    border-left: 2px solid var(--burgundy-light);
    font-size: 14px;
    line-height: 1.9;
}

/* KEEP BOTH PHOTOS SIDE BY SIDE */

.fg-side-row {
    align-items: stretch;
}

.fg-side-row>div {
    min-width: 0;
}

.fg-side-card {
    height: 100%;
    background: #191b1f;
    border: 1px solid rgba(210, 180, 110, .28);
    transition: border-color .35s ease,
        transform .35s ease;
}

.fg-side-card:hover {
    border-color: var(--gold-light);
    transform: translateY(-5px);
}

/* LARGE IMAGE */

.fg-side-image {
    position: relative;
    height: clamp(390px, 43vw, 590px);
    overflow: hidden;
    background: #151619;
}

.fg-side-image::after {
    content: "";
    position: absolute;
    inset: 45% 0 0;
    background: linear-gradient(to bottom,
            transparent,
            rgba(12, 12, 14, .65));
    pointer-events: none;
}

.fg-side-image img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    transition: transform .7s ease;
}

.fg-side-card:hover .fg-side-image img {
    transform: scale(1.045);
}

.fg-side-before img {
    filter: saturate(.78);
}

/* PHOTO LABELS */

.fg-side-label {
    position: absolute;
    z-index: 2;
    top: 20px;
    left: 20px;
    padding: 12px 18px;
    color: var(--white);
    background: var(--gunmetal);
    border-left: 4px solid var(--gold-light);
    font-size: 11px;
    font-weight: 800;
    letter-spacing: 2px;
}

.fg-side-after .fg-side-label {
    background: var(--burgundy);
}

.fg-side-index {
    position: absolute;
    z-index: 2;
    right: 20px;
    bottom: 13px;
    color: rgba(255, 253, 248, .78);
    font-size: 66px;
    font-weight: 900;
    line-height: 1;
    letter-spacing: -4px;
    pointer-events: none;
}

/* CAPTION BELOW EACH PHOTO */

.fg-side-info {
    display: flex;
    align-items: center;
    gap: 16px;
    min-height: 115px;
    padding: 22px;
    border-top: 3px solid var(--burgundy);
}

.fg-side-card:last-child .fg-side-info {
    border-top-color: var(--gold);
}

.fg-side-line {
    width: 3px;
    height: 44px;
    flex: 0 0 3px;
    background: var(--gold-light);
}

.fg-side-subtitle {
    display: block;
    margin-bottom: 7px;
    color: var(--gold-light);
    font-size: 9px;
    font-weight: 800;
    letter-spacing: 1.7px;
}

.fg-side-info h3 {
    margin: 0;
    color: var(--white);
    font-size: clamp(17px, 1.7vw, 22px);
    font-weight: 750;
    line-height: 1.35;
}

/* BOTTOM STRIP */

.fg-side-footer {
    display: flex;
    align-items: center;
    gap: 20px;
    margin-top: 25px;
    padding: 25px 28px;
    background: var(--burgundy-dark);
    border: 1px solid rgba(210, 180, 110, .25);
}

.fg-side-footer>i {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 54px;
    height: 54px;
    flex: 0 0 54px;
    color: var(--gold-light);
    border: 1px solid rgba(210, 180, 110, .5);
    font-size: 22px;
}

.fg-side-footer p {
    display: flex;
    flex-direction: column;
    gap: 5px;
    margin: 0;
}

.fg-side-footer strong {
    color: var(--white);
    font-size: 17px;
}

.fg-side-footer p span {
    color: #d4c9c7;
    font-size: 13px;
    line-height: 1.7;
}

.fg-side-location {
    margin-left: auto;
    color: rgba(255, 253, 248, .65);
    font-size: 11px;
    font-weight: 800;
    letter-spacing: 2px;
    white-space: nowrap;
}

.fg-side-location b {
    color: var(--gold-light);
}

/* TABLET */

@media (max-width: 991.98px) {
    .fg-side-by-side {
        padding: 70px 0 60px;
    }

    .fg-side-header {
        align-items: flex-start;
        flex-direction: column;
        gap: 20px;
    }

    .fg-side-header>p {
        max-width: 540px;
    }

    .fg-side-image {
        height: 420px;
    }

    .fg-side-info {
        padding: 18px 15px;
    }

    .fg-side-footer {
        flex-wrap: wrap;
    }

    .fg-side-location {
        display: none;
    }
}

/* MOBILE: STACK ONLY ON SMALL SCREENS */

@media (max-width: 575.98px) {
    .fg-side-by-side {
        padding: 55px 0 45px;
    }

    .fg-side-header h2 {
        font-size: 39px;
    }

    .fg-side-eyebrow {
        font-size: 9px;
        letter-spacing: 1.7px;
    }

    .fg-side-image {
        height: 390px;
    }

    .fg-side-label {
        top: 14px;
        left: 14px;
        padding: 10px 13px;
    }

    .fg-side-info {
        min-height: 100px;
    }

    .fg-side-info h3 {
        font-size: 18px;
    }

    .fg-side-footer {
        align-items: flex-start;
        gap: 14px;
        padding: 20px 16px;
    }

    .fg-side-footer>i {
        width: 44px;
        height: 44px;
        flex-basis: 44px;
        font-size: 18px;
    }

    .fg-side-footer strong {
        font-size: 15px;
    }

    .fg-side-footer p span {
        font-size: 12px;
    }
}

@media (prefers-reduced-motion: reduce) {

    .fg-side-card,
    .fg-side-image img {
        transition: none;
    }
}


/* ==========================================
   FALLBROOK GARAGE DOOR CA
   Alternative Components Section
========================================== */

.fg-components-alt {
    --fg-burgundy: #721d2b;
    --fg-burgundy-dark: #4d131e;
    --fg-burgundy-light: #963b4b;
    --fg-gunmetal: #202328;
    --fg-gold: #b18a43;
    --fg-gold-light: #d2b46e;
    --fg-cream: #f4efe6;
    --fg-white: #fffdf8;

    position: relative;
    overflow: hidden;
    padding: 100px 0 110px;
    background: var(--fg-white);
    color: var(--fg-gunmetal);
    isolation: isolate;
}

.fg-components-alt::before {
    content: "";
    position: absolute;
    top: 0;
    right: 0;
    width: 32%;
    height: 100%;
    background: linear-gradient(180deg,
            rgba(244, 239, 230, 0.65),
            rgba(244, 239, 230, 0.08));
    z-index: -1;
}

.fg-components-alt .container {
    position: relative;
    z-index: 1;
}

/* Top line */

.fg-components-alt__top {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    padding-bottom: 22px;
    margin-bottom: 58px;
    border-bottom: 1px solid rgba(32, 35, 40, 0.14);
}

.fg-components-alt__eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 12px;
    color: var(--fg-burgundy);
    font-size: 11px;
    font-weight: 800;
    letter-spacing: 2.5px;
    text-transform: uppercase;
}

.fg-components-alt__eyebrow-line {
    display: inline-block;
    width: 32px;
    height: 2px;
    background: var(--fg-gold);
}

.fg-components-alt__index {
    color: #858078;
    font-size: 10px;
    font-weight: 700;
    letter-spacing: 2px;
}

/* Heading column */

.fg-components-alt__heading-wrap {
    position: relative;
    padding: 20px 10px 35px 0;
}

.fg-components-alt__watermark {
    position: absolute;
    top: -55px;
    left: -12px;
    z-index: -1;
    color: rgba(114, 29, 43, 0.055);
    font-size: clamp(130px, 17vw, 220px);
    font-weight: 900;
    line-height: 1;
    letter-spacing: -12px;
    pointer-events: none;
    user-select: none;
}

.fg-components-alt__heading-wrap h2 {
    max-width: 530px;
    margin: 0;
    color: var(--fg-gunmetal);
    font-size: clamp(35px, 4.2vw, 57px);
    font-weight: 800;
    line-height: 1.12;
    letter-spacing: -1.8px;
}

.fg-components-alt__heading-wrap h2 span {
    display: block;
    margin-top: 10px;
    color: var(--fg-burgundy);
}

.fg-components-alt__rule {
    display: flex;
    align-items: center;
    width: 150px;
    height: 3px;
    margin-top: 32px;
    background: rgba(177, 138, 67, 0.2);
}

.fg-components-alt__rule span {
    display: block;
    width: 58px;
    height: 3px;
    background: var(--fg-gold);
    transition: width 0.35s ease;
}

.fg-components-alt__heading-wrap:hover .fg-components-alt__rule span {
    width: 100%;
}

/* Text column */

.fg-components-alt__content {
    position: relative;
    padding: 7px 0 0 30px;
    border-left: 2px solid rgba(177, 138, 67, 0.55);
}

.fg-components-alt__content p {
    margin: 0 0 23px;
    color: #55565a;
    font-size: 16px;
    font-weight: 400;
    line-height: 1.95;
}

.fg-components-alt__content p:first-child {
    color: #34363b;
    font-size: 17px;
}

.fg-components-alt__content p:last-of-type {
    margin-bottom: 32px;
}

/* Minimal decorative footer */

.fg-components-alt__footer {
    display: flex;
    align-items: center;
    gap: 18px;
    padding-top: 20px;
    border-top: 1px solid rgba(32, 35, 40, 0.12);
}

.fg-components-alt__footer-mark {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 44px;
    width: 44px;
    height: 44px;
    border: 1px solid rgba(114, 29, 43, 0.25);
    color: var(--fg-burgundy);
    font-size: 17px;
    transition:
        color 0.3s ease,
        background 0.3s ease,
        transform 0.3s ease;
}

.fg-components-alt__footer:hover .fg-components-alt__footer-mark {
    transform: rotate(-8deg);
    background: var(--fg-burgundy);
    color: var(--fg-white);
}

.fg-components-alt__footer-line {
    width: 100%;
    height: 1px;
    background: linear-gradient(90deg,
            var(--fg-gold),
            rgba(177, 138, 67, 0.05));
}

/* Tablet */

@media (max-width: 991.98px) {
    .fg-components-alt {
        padding: 80px 0;
    }

    .fg-components-alt__top {
        margin-bottom: 42px;
    }

    .fg-components-alt__heading-wrap {
        padding-bottom: 15px;
    }

    .fg-components-alt__watermark {
        top: -35px;
        font-size: 165px;
    }

    .fg-components-alt__content {
        padding-left: 24px;
    }
}

/* Mobile */

@media (max-width: 575.98px) {
    .fg-components-alt {
        padding: 58px 0 65px;
    }

    .fg-components-alt::before {
        width: 55%;
        opacity: 0.6;
    }

    .fg-components-alt__top {
        align-items: flex-start;
        flex-direction: column;
        gap: 12px;
        margin-bottom: 35px;
        padding-bottom: 17px;
    }

    .fg-components-alt__eyebrow {
        font-size: 9px;
        letter-spacing: 1.6px;
    }

    .fg-components-alt__index {
        font-size: 9px;
    }

    .fg-components-alt__heading-wrap {
        padding: 15px 0 25px;
    }

    .fg-components-alt__heading-wrap h2 {
        font-size: clamp(32px, 9vw, 43px);
        line-height: 1.15;
        letter-spacing: -1px;
    }

    .fg-components-alt__watermark {
        top: -25px;
        left: -5px;
        font-size: 125px;
        letter-spacing: -7px;
    }

    .fg-components-alt__rule {
        margin-top: 24px;
    }

    .fg-components-alt__content {
        padding: 5px 0 0 18px;
    }

    .fg-components-alt__content p,
    .fg-components-alt__content p:first-child {
        font-size: 15px;
        line-height: 1.85;
    }

    .fg-components-alt__content p {
        margin-bottom: 19px;
    }

    .fg-components-alt__content p:last-of-type {
        margin-bottom: 25px;
    }

    .fg-components-alt__footer {
        padding-top: 16px;
    }
}

@media (prefers-reduced-motion: reduce) {

    .fg-components-alt *,
    .fg-components-alt *::before,
    .fg-components-alt *::after {
        transition: none !important;
        animation: none !important;
        scroll-behavior: auto !important;
    }
}


/* ==========================================
   FALLBROOK GARAGE DOOR CA
   MAINTENANCE SECTION - STYLE 2
========================================== */

.fg-maintenance-v2 {
    --fm2-burgundy: #721d2b;
    --fm2-deep: #4d131e;
    --fm2-red-light: #963b4b;
    --fm2-gunmetal: #202328;
    --fm2-gray: #55565a;
    --fm2-gold: #b18a43;
    --fm2-gold-light: #d2b46e;
    --fm2-cream: #f4efe6;
    --fm2-ivory: #faf7f0;
    --fm2-white: #fffdf8;

    padding: 90px 0;
    overflow: hidden;
    background: var(--fm2-ivory);
    color: var(--fm2-gunmetal);
}

.fg-maintenance-v2 .container {
    position: relative;
}

/* Top line */

.fg-maintenance-v2__topline {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    margin-bottom: 25px;
    padding-bottom: 17px;
    border-bottom: 1px solid rgba(32, 35, 40, 0.18);
    color: var(--fm2-burgundy);
    font-size: 10px;
    font-weight: 800;
    letter-spacing: 2.2px;
}

.fg-maintenance-v2__topline-right {
    color: #827b70;
    font-size: 9px;
    letter-spacing: 1.7px;
}

/* Burgundy title panel */

.fg-maintenance-v2__title-panel {
    position: relative;
    display: flex;
    flex-direction: column;
    height: 100%;
    min-height: 650px;
    padding: 42px 32px;
    overflow: hidden;
    background: var(--fm2-burgundy);
    color: var(--fm2-white);
    isolation: isolate;
}

.fg-maintenance-v2__title-panel::before {
    content: "";
    position: absolute;
    z-index: -1;
    right: -80px;
    bottom: 50px;
    width: 240px;
    height: 240px;
    border: 1px solid rgba(210, 180, 110, 0.25);
    transform: rotate(45deg);
}

.fg-maintenance-v2__title-panel::after {
    content: "";
    position: absolute;
    z-index: -1;
    right: -35px;
    bottom: 95px;
    width: 150px;
    height: 150px;
    border: 1px solid rgba(255, 253, 248, 0.15);
    transform: rotate(45deg);
}

.fg-maintenance-v2__kicker {
    display: inline-block;
    margin-bottom: 34px;
    color: var(--fm2-gold-light);
    font-size: 10px;
    font-weight: 800;
    letter-spacing: 2.5px;
}

.fg-maintenance-v2__title-panel h2 {
    position: relative;
    z-index: 1;
    margin: 0;
    color: var(--fm2-white);
    font-size: clamp(31px, 3.2vw, 43px);
    font-weight: 800;
    line-height: 1.2;
    letter-spacing: -1.2px;
    overflow-wrap: anywhere;
}

.fg-maintenance-v2__title-panel h2 span {
    display: block;
    margin-top: 13px;
    color: var(--fm2-gold-light);
}

.fg-maintenance-v2__accent {
    width: 65px;
    height: 3px;
    margin: 29px 0 23px;
    background: var(--fm2-gold-light);
    transition: width 0.3s ease;
}

.fg-maintenance-v2__title-panel:hover .fg-maintenance-v2__accent {
    width: 115px;
}

.fg-maintenance-v2__side-note {
    position: relative;
    z-index: 1;
    max-width: 270px;
    margin: 0;
    color: rgba(255, 253, 248, 0.82);
    font-size: 14px;
    line-height: 1.9;
}

.fg-maintenance-v2__large-number {
    position: absolute;
    right: 22px;
    bottom: 10px;
    color: rgba(255, 253, 248, 0.07);
    font-size: 145px;
    font-weight: 900;
    line-height: 1;
    letter-spacing: -10px;
    pointer-events: none;
}

/* Main content */

.fg-maintenance-v2__main {
    height: 100%;
    padding: 35px 0 0 45px;
}

.fg-maintenance-v2__intro {
    display: flex;
    align-items: flex-start;
    gap: 20px;
    margin-bottom: 30px;
    padding-bottom: 27px;
    border-bottom: 1px solid rgba(32, 35, 40, 0.14);
}

.fg-maintenance-v2__intro-mark {
    display: flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 48px;
    width: 48px;
    height: 48px;
    background: var(--fm2-cream);
    color: var(--fm2-burgundy);
    font-size: 20px;
}

.fg-maintenance-v2__intro p {
    margin: 0;
    color: var(--fm2-gunmetal);
    font-size: 15px;
    font-weight: 500;
    line-height: 1.95;
}

/* Numbered content rows */

.fg-maintenance-v2__step {
    display: grid;
    grid-template-columns: 52px minmax(0, 1fr);
    gap: 19px;
    padding: 25px 0;
    border-bottom: 1px solid rgba(32, 35, 40, 0.13);
    transition: padding-left 0.3s ease;
}

.fg-maintenance-v2__step:hover {
    padding-left: 6px;
}

.fg-maintenance-v2__step-number {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 46px;
    height: 46px;
    border: 1px solid rgba(177, 138, 67, 0.7);
    color: var(--fm2-burgundy);
    font-size: 13px;
    font-weight: 800;
    transition:
        background 0.3s ease,
        color 0.3s ease;
}

.fg-maintenance-v2__step:hover .fg-maintenance-v2__step-number {
    background: var(--fm2-burgundy);
    color: var(--fm2-white);
}

.fg-maintenance-v2__step-label {
    display: block;
    margin: 1px 0 11px;
    color: var(--fm2-burgundy);
    font-size: 10px;
    font-weight: 800;
    letter-spacing: 1.8px;
}

.fg-maintenance-v2__step p {
    margin: 0;
    color: var(--fm2-gray);
    font-size: 14px;
    line-height: 1.9;
}

/* Availability strip */

.fg-maintenance-v2__availability {
    display: flex;
    align-items: center;
    gap: 17px;
    margin-top: 30px;
    padding: 21px;
    background: var(--fm2-cream);
    border-left: 3px solid var(--fm2-gold);
    transition: border-color 0.3s ease;
}

.fg-maintenance-v2__availability:hover {
    border-left-color: var(--fm2-burgundy);
}

.fg-maintenance-v2__availability-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 42px;
    width: 42px;
    height: 42px;
    background: var(--fm2-white);
    color: var(--fm2-burgundy);
    font-size: 17px;
}

.fg-maintenance-v2__availability>div:nth-child(2) {
    flex: 1;
    min-width: 0;
}

.fg-maintenance-v2__availability strong {
    display: block;
    margin-bottom: 5px;
    color: var(--fm2-burgundy);
    font-size: 10px;
    font-weight: 800;
    letter-spacing: 1.4px;
}

.fg-maintenance-v2__availability p {
    margin: 0;
    color: var(--fm2-gunmetal);
    font-size: 12px;
    line-height: 1.7;
}

.fg-maintenance-v2__availability-arrow {
    color: var(--fm2-gold);
    font-size: 17px;
    transition:
        color 0.3s ease,
        transform 0.3s ease;
}

.fg-maintenance-v2__availability:hover .fg-maintenance-v2__availability-arrow {
    color: var(--fm2-burgundy);
    transform: translateX(4px);
}

/* Tablet */

@media (max-width: 991.98px) {
    .fg-maintenance-v2 {
        padding: 70px 0;
    }

    .fg-maintenance-v2__title-panel {
        min-height: 400px;
    }

    .fg-maintenance-v2__main {
        padding: 35px 0 0;
    }

    .fg-maintenance-v2__title-panel h2 {
        max-width: 520px;
    }

    .fg-maintenance-v2__large-number {
        font-size: 120px;
    }
}

/* Mobile */

@media (max-width: 575.98px) {
    .fg-maintenance-v2 {
        padding: 50px 0;
    }

    .fg-maintenance-v2__topline {
        align-items: flex-start;
        flex-direction: column;
        gap: 9px;
        font-size: 9px;
        letter-spacing: 1.5px;
    }

    .fg-maintenance-v2__title-panel {
        min-height: 440px;
        padding: 30px 25px;
    }

    .fg-maintenance-v2__kicker {
        margin-bottom: 27px;
        font-size: 9px;
    }

    .fg-maintenance-v2__title-panel h2 {
        font-size: clamp(31px, 8.5vw, 40px);
        letter-spacing: -0.8px;
    }

    .fg-maintenance-v2__side-note {
        font-size: 13px;
    }

    .fg-maintenance-v2__large-number {
        right: 17px;
        bottom: 5px;
        font-size: 105px;
    }

    .fg-maintenance-v2__main {
        padding-top: 28px;
    }

    .fg-maintenance-v2__intro {
        gap: 13px;
        margin-bottom: 20px;
        padding-bottom: 22px;
    }

    .fg-maintenance-v2__intro-mark {
        flex-basis: 40px;
        width: 40px;
        height: 40px;
        font-size: 17px;
    }

    .fg-maintenance-v2__intro p {
        font-size: 14px;
        line-height: 1.85;
    }

    .fg-maintenance-v2__step {
        grid-template-columns: 39px minmax(0, 1fr);
        gap: 13px;
        padding: 22px 0;
    }

    .fg-maintenance-v2__step-number {
        width: 36px;
        height: 36px;
        font-size: 11px;
    }

    .fg-maintenance-v2__step-label {
        font-size: 9px;
        letter-spacing: 1.2px;
    }

    .fg-maintenance-v2__step p {
        font-size: 13px;
        line-height: 1.85;
    }

    .fg-maintenance-v2__availability {
        gap: 12px;
        margin-top: 24px;
        padding: 16px 13px;
    }

    .fg-maintenance-v2__availability-icon {
        flex-basis: 35px;
        width: 35px;
        height: 35px;
        font-size: 14px;
    }

    .fg-maintenance-v2__availability strong {
        font-size: 9px;
        letter-spacing: 0.8px;
    }

    .fg-maintenance-v2__availability p {
        font-size: 11px;
    }

    .fg-maintenance-v2__availability-arrow {
        display: none;
    }
}

@media (prefers-reduced-motion: reduce) {

    .fg-maintenance-v2 *,
    .fg-maintenance-v2 *::before,
    .fg-maintenance-v2 *::after {
        transition: none !important;
        animation: none !important;
    }
}


/* ==========================================
   FALLBROOK GARAGE DOOR CA - PROJECT GALLERY
========================================== */

.fg-projects-section {
    --fg-burgundy: #721d2b;
    --fg-burgundy-dark: #4d131e;
    --fg-burgundy-light: #963b4b;
    --fg-gunmetal: #202328;
    --fg-gunmetal-light: #34383d;
    --fg-cream: #f4efe6;
    --fg-white: #fffdf8;
    --fg-gold: #b18a43;
    --fg-gold-light: #d2b46e;

    position: relative;
    overflow: hidden;
    padding: 105px 0 80px;
    background:
        radial-gradient(ellipse at 0% 0%,
            rgba(114, 29, 43, 0.22),
            transparent 40%),
        var(--fg-gunmetal);
    color: var(--fg-white);
}

.fg-projects-section::before {
    content: "";
    position: absolute;
    top: 0;
    right: 8%;
    width: 1px;
    height: 100%;
    background: rgba(255, 255, 255, 0.045);
    pointer-events: none;
}

.fg-projects-heading {
    position: relative;
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 35px;
    margin-bottom: 48px;
}

.fg-projects-heading-content {
    max-width: 760px;
}

.fg-projects-eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 12px;
    margin-bottom: 19px;
    color: var(--fg-gold-light);
    font-size: 12px;
    font-weight: 800;
    letter-spacing: 3px;
}

.fg-projects-line {
    display: inline-block;
    width: 38px;
    height: 2px;
    background: var(--fg-gold);
}

.fg-projects-heading h2 {
    max-width: 720px;
    margin: 0 0 17px;
    color: var(--fg-white);
    font-size: clamp(32px, 4vw, 53px);
    font-weight: 800;
    line-height: 1.13;
    letter-spacing: -1.4px;
}

.fg-projects-heading-content>p {
    max-width: 650px;
    margin: 0;
    color: #c5c2bd;
    font-size: 16px;
    line-height: 1.9;
}

.fg-projects-heading-mark {
    display: grid;
    flex: 0 0 100px;
    width: 100px;
    height: 100px;
    place-items: center;
    margin-bottom: 5px;
    border: 1px solid rgba(210, 180, 110, 0.45);
    color: var(--fg-gold-light);
    font-size: 37px;
    transform: rotate(45deg);
    transition:
        background 0.35s ease,
        color 0.35s ease,
        border-color 0.35s ease;
}

.fg-projects-heading-mark i {
    transform: rotate(-45deg);
}

.fg-projects-heading-mark:hover {
    border-color: var(--fg-gold-light);
    background: var(--fg-burgundy);
    color: var(--fg-white);
}

.fg-projects-grid {
    position: relative;
}

.fg-project-card {
    position: relative;
    height: 100%;
    overflow: hidden;
    border: 1px solid rgba(255, 255, 255, 0.1);
    background: #292c31;
    transition:
        border-color 0.35s ease,
        transform 0.35s ease,
        box-shadow 0.35s ease;
}

.fg-project-card:hover {
    z-index: 2;
    border-color: rgba(210, 180, 110, 0.7);
    transform: translateY(-5px);
    box-shadow: 0 20px 45px rgba(0, 0, 0, 0.24);
}

.fg-project-image {
    position: relative;
    overflow: hidden;
    background: var(--fg-gunmetal-light);
}

.fg-project-image::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg,
            rgba(15, 16, 18, 0.04) 40%,
            rgba(15, 16, 18, 0.35) 100%);
    pointer-events: none;
}

.fg-project-image img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.7s cubic-bezier(0.2, 0.7, 0.2, 1);
}

.fg-project-card:hover .fg-project-image img {
    transform: scale(1.055);
}

.fg-project-featured .fg-project-image {
    height: 430px;
}

.fg-project-number {
    position: absolute;
    z-index: 1;
    top: 18px;
    left: 18px;
    display: grid;
    width: 44px;
    height: 44px;
    place-items: center;
    border: 1px solid rgba(255, 255, 255, 0.65);
    background: rgba(32, 35, 40, 0.78);
    color: var(--fg-white);
    font-size: 12px;
    font-weight: 800;
    letter-spacing: 1px;
    backdrop-filter: blur(8px);
}

.fg-project-info {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    padding: 23px 25px;
}

.fg-project-category {
    display: block;
    margin-bottom: 8px;
    color: var(--fg-gold-light);
    font-size: 10px;
    font-weight: 800;
    letter-spacing: 2px;
}

.fg-project-info h3 {
    margin: 0;
    color: var(--fg-white);
    font-size: 21px;
    font-weight: 700;
    line-height: 1.35;
}

.fg-project-icon {
    display: grid;
    flex: 0 0 42px;
    width: 42px;
    height: 42px;
    place-items: center;
    border: 1px solid rgba(210, 180, 110, 0.5);
    color: var(--fg-gold-light);
    transition:
        color 0.3s ease,
        background 0.3s ease,
        border-color 0.3s ease;
}

.fg-project-card:hover .fg-project-icon {
    border-color: var(--fg-burgundy);
    background: var(--fg-burgundy);
    color: var(--fg-white);
}

.fg-projects-side {
    display: flex;
    height: 100%;
    flex-direction: column;
    gap: 24px;
}

.fg-project-horizontal {
    display: flex;
    flex: 1;
    flex-direction: column;
}

.fg-project-horizontal .fg-project-image {
    flex: 1;
    min-height: 175px;
}

.fg-project-horizontal .fg-project-info {
    padding: 19px 21px;
}

.fg-project-horizontal .fg-project-info h3 {
    font-size: 18px;
}

.fg-projects-bottom {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 22px;
    margin-top: 48px;
    text-align: center;
}

.fg-projects-bottom p {
    margin: 0;
    color: var(--fg-cream);
    font-size: 13px;
    font-weight: 600;
    letter-spacing: 1px;
}

.fg-projects-bottom-mark {
    display: block;
    width: 35px;
    height: 1px;
    background: var(--fg-gold);
}

/* LARGE TABLETS */
@media (max-width: 991.98px) {
    .fg-projects-section {
        padding: 80px 0 65px;
    }

    .fg-projects-heading-mark {
        flex-basis: 75px;
        width: 75px;
        height: 75px;
        font-size: 29px;
    }

    .fg-project-featured .fg-project-image {
        height: 360px;
    }

    .fg-projects-side {
        flex-direction: row;
    }

    .fg-project-horizontal {
        min-width: 0;
    }

    .fg-project-horizontal .fg-project-image {
        flex: initial;
        height: 230px;
    }

    .fg-project-horizontal .fg-project-info {
        align-items: flex-start;
        padding: 17px;
    }

    .fg-project-horizontal .fg-project-info h3 {
        font-size: 17px;
    }

    .fg-project-horizontal .fg-project-icon {
        flex-basis: 35px;
        width: 35px;
        height: 35px;
    }
}

/* MOBILE */
@media (max-width: 575.98px) {
    .fg-projects-section {
        padding: 65px 0 50px;
    }

    .fg-projects-heading {
        align-items: flex-start;
        margin-bottom: 32px;
    }

    .fg-projects-heading h2 {
        font-size: 33px;
        letter-spacing: -0.8px;
    }

    .fg-projects-heading-content>p {
        font-size: 14px;
        line-height: 1.8;
    }

    .fg-projects-heading-mark {
        display: none;
    }

    .fg-projects-eyebrow {
        font-size: 10px;
        letter-spacing: 2px;
    }

    .fg-project-featured .fg-project-image {
        height: 280px;
    }

    .fg-project-info {
        padding: 19px 17px;
    }

    .fg-project-info h3 {
        font-size: 18px;
    }

    .fg-projects-side {
        flex-direction: column;
        gap: 20px;
    }

    .fg-project-horizontal .fg-project-image {
        height: 230px;
        flex: initial;
    }

    .fg-project-horizontal .fg-project-info {
        align-items: center;
        padding: 19px 17px;
    }

    .fg-project-horizontal .fg-project-info h3 {
        font-size: 18px;
    }

    .fg-projects-bottom {
        gap: 10px;
        margin-top: 32px;
    }

    .fg-projects-bottom p {
        font-size: 11px;
        line-height: 1.7;
        letter-spacing: 0.3px;
    }

    .fg-projects-bottom-mark {
        flex: 0 0 18px;
        width: 18px;
    }
}

@media (prefers-reduced-motion: reduce) {

    .fg-projects-section *,
    .fg-projects-section *::before,
    .fg-projects-section *::after {
        animation: none !important;
        transition: none !important;
        scroll-behavior: auto !important;
    }
}

/* ==========================================
   FALLBROOK GARAGE DOOR CA
   REFINED ARCHITECTURAL GALLERY
========================================== */

.fg-atelier-gallery {
    --fa-burgundy: #721d2b;
    --fa-burgundy-dark: #4d131e;
    --fa-burgundy-light: #963b4b;
    --fa-gunmetal: #202328;
    --fa-gunmetal-light: #34383d;
    --fa-cream: #f4efe6;
    --fa-white: #fffdf8;
    --fa-gold: #b18a43;
    --fa-gold-light: #d2b46e;

    position: relative;
    isolation: isolate;
    overflow: hidden;
    padding: 92px 0 32px;
    background: var(--fa-cream);
    color: var(--fa-gunmetal);
}

.fg-atelier-gallery::before {
    content: "";
    position: absolute;
    z-index: -1;
    top: 0;
    right: 0;
    width: 31%;
    height: 465px;
    background: var(--fa-gunmetal);
}

.fg-atelier-gallery::after {
    content: "";
    position: absolute;
    z-index: -1;
    top: 0;
    right: 31%;
    width: 1px;
    height: 465px;
    background: rgba(210, 180, 110, 0.25);
}

.fg-atelier-gallery .container {
    position: relative;
    z-index: 1;
}

/* ---------- HEADER ---------- */

.fg-atelier-top {
    display: grid;
    grid-template-columns: minmax(0, 1.35fr) minmax(240px, 0.65fr);
    align-items: end;
    gap: 55px;
    margin-bottom: 42px;
}

.fg-atelier-title {
    max-width: 690px;
}

.fg-atelier-kicker {
    display: inline-flex;
    align-items: center;
    gap: 11px;
    margin-bottom: 19px;
    color: var(--fa-burgundy);
    font-size: 10px;
    font-weight: 800;
    letter-spacing: 2.6px;
}

.fg-atelier-kicker span {
    display: block;
    width: 31px;
    height: 2px;
    background: var(--fa-gold);
}

.fg-atelier-title h2 {
    margin: 0;
    color: var(--fa-gunmetal);
    font-size: clamp(39px, 4.8vw, 63px);
    font-weight: 800;
    line-height: 1.06;
    letter-spacing: -1.9px;
}

.fg-atelier-title h2 em {
    color: var(--fa-burgundy);
    font-family: Georgia, "Times New Roman", serif;
    font-weight: 400;
    letter-spacing: -1.7px;
}

.fg-atelier-intro {
max-width: 350px;
  padding: 11px 0 5px 21px;
  border-left: 2px solid var(--fa-gold);
  background-color: #f4efe6;
}

.fg-atelier-index {
    display: block;
    margin-bottom: 12px;
    color: var(--fa-burgundy);
    font-size: 9px;
    font-weight: 800;
    letter-spacing: 2px;
}

.fg-atelier-intro p {
    margin: 0;
    color: #625e59;
    font-size: 13px;
    line-height: 1.85;
}

/* ---------- GALLERY GRID ---------- */

.fg-atelier-layout {
    display: grid;
    grid-template-columns: minmax(0, 1.08fr) minmax(0, 0.92fr);
    align-items: start;
    gap: 29px;
}

/* ---------- FEATURED PROJECT ---------- */

.fg-atelier-feature {
    position: relative;
    min-width: 0;
    padding: 12px 0 0 12px;
}

.fg-atelier-feature::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 76%;
    height: 73%;
    border-top: 1px solid var(--fa-gold);
    border-left: 1px solid var(--fa-gold);
    pointer-events: none;
}

.fg-atelier-photo {
    position: relative;
    height: 455px;
    overflow: hidden;
    background: var(--fa-gunmetal-light);
}

.fg-atelier-photo img,
.fg-atelier-small-photo img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.65s cubic-bezier(0.2, 0.65, 0.2, 1);
}

.fg-atelier-photo img {
    object-position: center;
}

.fg-atelier-feature:hover .fg-atelier-photo img,
.fg-atelier-small:hover .fg-atelier-small-photo img {
    transform: scale(1.045);
}

.fg-atelier-photo::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg,
            rgba(15, 17, 19, 0.08) 0%,
            transparent 45%,
            rgba(15, 17, 19, 0.3) 100%);
    pointer-events: none;
}

.fg-atelier-photo-tag {
    position: absolute;
    z-index: 1;
    top: 17px;
    left: 17px;
    padding: 10px 13px;
    background: var(--fa-burgundy);
    color: var(--fa-white);
    font-size: 8px;
    font-weight: 800;
    letter-spacing: 1.7px;
}

.fg-atelier-photo-number {
    position: absolute;
    z-index: 1;
    right: 19px;
    bottom: 17px;
    color: var(--fa-white);
    font-family: Georgia, "Times New Roman", serif;
    font-size: 46px;
    line-height: 1;
}

/* FEATURED CAPTION */

.fg-atelier-feature-caption {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 17px;
    padding: 21px 4px 19px;
    border-bottom: 1px solid #d9d0c3;
}

.fg-atelier-feature-caption>div,
.fg-atelier-small-caption>div {
    min-width: 0;
}

.fg-atelier-category {
    display: block;
    margin-bottom: 7px;
    color: var(--fa-burgundy);
    font-size: 9px;
    font-weight: 800;
    letter-spacing: 1.8px;
}

.fg-atelier-feature-caption h3 {
    margin: 0;
    color: var(--fa-gunmetal);
    font-size: clamp(19px, 2vw, 25px);
    font-weight: 750;
    line-height: 1.3;
}

.fg-atelier-arrow {
    display: grid;
    flex: 0 0 43px;
    width: 43px;
    height: 43px;
    place-items: center;
    border: 1px solid #c8b17f;
    color: var(--fa-burgundy);
    transition:
        background 0.3s ease,
        color 0.3s ease,
        border-color 0.3s ease,
        transform 0.3s ease;
}

.fg-atelier-feature:hover .fg-atelier-arrow {
    transform: translate(2px, -2px);
    border-color: var(--fa-burgundy);
    background: var(--fa-burgundy);
    color: var(--fa-white);
}

/* ---------- RIGHT COLUMN ---------- */

.fg-atelier-side {
    display: flex;
    min-width: 0;
    flex-direction: column;
    gap: 21px;
    padding-top: 20px;
}

/* STATEMENT PANEL */

.fg-atelier-statement {
    position: relative;
    display: flex;
    align-items: center;
    gap: 16px;
    min-height: 100px;
    padding: 19px 21px;
    overflow: hidden;
    background: var(--fa-burgundy);
    color: var(--fa-white);
}

.fg-atelier-statement::after {
    content: "";
    position: absolute;
    right: -24px;
    bottom: -38px;
    width: 115px;
    height: 115px;
    border: 1px solid rgba(210, 180, 110, 0.22);
    border-radius: 50%;
    pointer-events: none;
}

.fg-atelier-statement-icon {
    display: grid;
    flex: 0 0 43px;
    width: 43px;
    height: 43px;
    place-items: center;
    border: 1px solid rgba(210, 180, 110, 0.75);
    color: var(--fa-gold-light);
    font-size: 18px;
}

.fg-atelier-statement p {
    position: relative;
    z-index: 1;
    max-width: 260px;
    margin: 0;
    font-family: Georgia, "Times New Roman", serif;
    font-size: 17px;
    font-style: italic;
    line-height: 1.5;
}

.fg-atelier-statement-line {
    position: absolute;
    right: 0;
    bottom: 0;
    width: 54px;
    height: 3px;
    background: var(--fa-gold-light);
}

/* ---------- SMALL PROJECT CARDS ---------- */

.fg-atelier-small {
    display: grid;
    grid-template-columns: minmax(0, 0.96fr) minmax(0, 1.04fr);
    align-items: stretch;
    min-width: 0;
    overflow: hidden;
    background: var(--fa-white);
    border: 1px solid rgba(32, 35, 40, 0.07);
    transition:
        border-color 0.3s ease,
        box-shadow 0.3s ease,
        transform 0.3s ease;
}

.fg-atelier-small:hover {
    transform: translateY(-3px);
    border-color: rgba(177, 138, 67, 0.55);
    box-shadow: 0 12px 26px rgba(32, 35, 40, 0.09);
}

.fg-atelier-small-two {
    margin-left: 19px;
}

.fg-atelier-small-photo {
    position: relative;
    min-width: 0;
    height: 174px;
    overflow: hidden;
    background: var(--fa-gunmetal-light);
}

.fg-atelier-small-number {
    position: absolute;
    top: 10px;
    left: 10px;
    display: grid;
    width: 29px;
    height: 29px;
    place-items: center;
    background: rgba(32, 35, 40, 0.92);
    color: var(--fa-white);
    font-size: 9px;
    font-weight: 800;
}

.fg-atelier-small-caption {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: center;
    gap: 14px;
    padding: 15px 16px;
}

.fg-atelier-small-caption .fg-atelier-category {
    font-size: 8px;
    letter-spacing: 1.5px;
}

.fg-atelier-small-caption h3 {
    margin: 0;
    color: var(--fa-gunmetal);
    font-size: clamp(15px, 1.5vw, 18px);
    font-weight: 750;
    line-height: 1.4;
}

.fg-atelier-small-caption>i {
    color: var(--fa-burgundy);
    font-size: 14px;
    transition:
        color 0.3s ease,
        transform 0.3s ease;
}

.fg-atelier-small:hover .fg-atelier-small-caption>i {
    transform: translateX(5px);
    color: var(--fa-gold);
}

/* ---------- BOTTOM SIGNATURE ---------- */

.fg-atelier-footer {
    display: flex;
    align-items: center;
    gap: 19px;
    padding-top: 22px;
    margin-top: 32px;
    border-top: 1px solid #d9d0c3;
}

.fg-atelier-footer-label,
.fg-atelier-footer-text {
    color: #55514c;
    font-size: 8px;
    font-weight: 800;
    letter-spacing: 1.5px;
}

.fg-atelier-footer-rule {
    flex: 1;
    height: 1px;
    background: #c7ad78;
}

/* ---------- TABLET ---------- */

@media (max-width: 991.98px) {
    .fg-atelier-gallery {
        padding-top: 76px;
    }

    .fg-atelier-gallery::before {
        width: 24%;
        height: 390px;
    }

    .fg-atelier-gallery::after {
        right: 24%;
        height: 390px;
    }

    .fg-atelier-top {
        grid-template-columns: minmax(0, 1fr) minmax(210px, 0.7fr);
        gap: 28px;
        margin-bottom: 35px;
    }

    .fg-atelier-title h2 {
        font-size: clamp(39px, 5.5vw, 53px);
    }

    .fg-atelier-layout {
        grid-template-columns: minmax(0, 1fr);
        gap: 30px;
    }

    .fg-atelier-photo {
        height: 430px;
    }

    .fg-atelier-side {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        align-items: stretch;
        gap: 18px;
        padding-top: 0;
    }

    .fg-atelier-statement {
        grid-column: 1 / -1;
        min-height: 85px;
    }

    .fg-atelier-small,
    .fg-atelier-small-two {
        grid-template-columns: minmax(0, 1fr);
        margin-left: 0;
    }

    .fg-atelier-small-photo {
        height: 230px;
    }

    .fg-atelier-small-caption {
        min-height: 115px;
        padding: 17px;
    }

    .fg-atelier-small-caption h3 {
        font-size: 18px;
    }
}

/* ---------- MOBILE ---------- */

@media (max-width: 575.98px) {
    .fg-atelier-gallery {
        padding: 57px 0 24px;
    }

    .fg-atelier-gallery::before {
        width: 19%;
        height: 320px;
    }

    .fg-atelier-gallery::after {
        right: 19%;
        height: 320px;
    }

    .fg-atelier-top {
        grid-template-columns: minmax(0, 1fr);
        gap: 22px;
        margin-bottom: 28px;
    }

    .fg-atelier-kicker {
        gap: 9px;
        margin-bottom: 16px;
        font-size: 9px;
        letter-spacing: 1.8px;
    }

    .fg-atelier-title h2 {
        font-size: clamp(36px, 9.4vw, 47px);
        line-height: 1.08;
        letter-spacing: -1.5px;
    }

    .fg-atelier-title h2 em {
        letter-spacing: -1px;
    }

    .fg-atelier-intro {
        max-width: 100%;
        padding-left: 15px;
    }

    .fg-atelier-intro p {
        font-size: 13px;
        line-height: 1.8;
    }

    .fg-atelier-layout {
        gap: 26px;
    }

    .fg-atelier-feature {
        padding: 9px 0 0 9px;
    }

    .fg-atelier-feature::before {
        width: 78%;
        height: 65%;
    }

    .fg-atelier-photo {
        height: 300px;
    }

    .fg-atelier-photo-tag {
        top: 12px;
        left: 12px;
        padding: 9px 10px;
        font-size: 7px;
        letter-spacing: 1.2px;
    }

    .fg-atelier-photo-number {
        right: 13px;
        bottom: 13px;
        font-size: 39px;
    }

    .fg-atelier-feature-caption {
        gap: 10px;
        padding: 17px 2px;
    }

    .fg-atelier-feature-caption h3 {
        font-size: 19px;
    }

    .fg-atelier-arrow {
        flex-basis: 37px;
        width: 37px;
        height: 37px;
    }

    .fg-atelier-side {
        display: flex;
        flex-direction: column;
        gap: 16px;
    }

    .fg-atelier-statement {
        min-height: 90px;
        padding: 16px;
    }

    .fg-atelier-statement p {
        font-size: 16px;
    }

    .fg-atelier-small,
    .fg-atelier-small-two {
        grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.1fr);
        margin-left: 0;
    }

    .fg-atelier-small-photo {
        height: 160px;
    }

    .fg-atelier-small-caption {
        min-height: 160px;
        gap: 12px;
        padding: 12px;
    }

    .fg-atelier-small-caption .fg-atelier-category {
        font-size: 7px;
        letter-spacing: 1px;
    }

    .fg-atelier-small-caption h3 {
        font-size: 15px;
    }

    .fg-atelier-footer {
        flex-wrap: wrap;
        gap: 10px;
        margin-top: 26px;
        padding-top: 18px;
    }

    .fg-atelier-footer-label,
    .fg-atelier-footer-text {
        font-size: 7px;
        letter-spacing: 0.8px;
    }

    .fg-atelier-footer-rule {
        min-width: 20px;
    }
}

/* EXTRA SMALL SCREENS */

@media (max-width: 380px) {

    .fg-atelier-small,
    .fg-atelier-small-two {
        grid-template-columns: minmax(0, 1fr);
    }

    .fg-atelier-small-photo {
        height: 205px;
    }

    .fg-atelier-small-caption {
        min-height: auto;
        flex-direction: row;
        align-items: center;
        justify-content: space-between;
        gap: 10px;
        padding: 15px;
    }

    .fg-atelier-small-caption h3 {
        font-size: 17px;
    }

    .fg-atelier-footer-label,
    .fg-atelier-footer-text {
        font-size: 7px;
        letter-spacing: 0.4px;
    }
}

/* ACCESSIBILITY */

@media (prefers-reduced-motion: reduce) {

    .fg-atelier-gallery *,
    .fg-atelier-gallery *::before,
    .fg-atelier-gallery *::after {
        animation: none !important;
        transition: none !important;
    }
}


/* =========================================
   FALLBROOK GARAGE DOOR CA
   DARK EDITORIAL EMERGENCY SECTION
========================================= */

.fg-emergency-editorial {
    --fe-burgundy: #721d2b;
    --fe-burgundy-dark: #4d131e;
    --fe-burgundy-light: #963b4b;
    --fe-gunmetal: #202328;
    --fe-gunmetal-light: #34383d;
    --fe-white: #fffdf8;
    --fe-cream: #f4efe6;
    --fe-gold: #b18a43;
    --fe-gold-light: #d2b46e;

    position: relative;
    isolation: isolate;
    overflow: hidden;
    padding: 34px 0 25px;
    background:
        radial-gradient(ellipse at 0% 60%,
            rgba(114, 29, 43, 0.17),
            transparent 40%),
        var(--fe-gunmetal);
    color: var(--fe-white);
}

.fg-emergency-editorial::before {
    content: "";
    position: absolute;
    z-index: -1;
    top: 0;
    right: 13%;
    width: 1px;
    height: 100%;
    background: rgba(255, 255, 255, 0.055);
}

.fg-emergency-editorial::after {
    content: "";
    position: absolute;
    z-index: -1;
    top: 0;
    right: 0;
    width: 22%;
    height: 300px;
    background: linear-gradient(135deg,
            rgba(114, 29, 43, 0.17),
            transparent 75%);
    pointer-events: none;
}

.fg-emergency-editorial .container {
    position: relative;
    z-index: 1;
}

/* TOP BAR */

.fg-emergency-topline {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    padding-bottom: 21px;
    border-bottom: 1px solid rgba(255, 255, 255, 0.13);
}

.fg-emergency-brand {
    color: var(--fe-white);
    font-size: 10px;
    font-weight: 700;
    letter-spacing: 2px;
}

.fg-emergency-brand b {
    color: var(--fe-gold-light);
    font-weight: 800;
}

.fg-emergency-status {
    display: inline-flex;
    align-items: center;
    gap: 9px;
    color: #c7c2bb;
    font-size: 9px;
    font-weight: 800;
    letter-spacing: 1.8px;
}

.fg-emergency-status>span {
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background: var(--fe-gold-light);
    box-shadow: 0 0 0 4px rgba(210, 180, 110, 0.1);
}

/* MAIN GRID */

.fg-emergency-main {
    padding-top: 65px;
    padding-bottom: 56px;
}

/* LEFT INTRO */

.fg-emergency-intro {
    position: relative;
    height: 100%;
    padding: 10px 30px 0 0;
}

.fg-emergency-intro::before {
    content: "";
    position: absolute;
    top: 0;
    right: 0;
    width: 3px;
    height: 72%;
    background: linear-gradient(180deg,
            var(--fe-gold),
            var(--fe-burgundy),
            transparent);
}

.fg-emergency-overline {
    display: inline-flex;
    align-items: center;
    gap: 11px;
    margin-bottom: 25px;
    color: var(--fe-gold-light);
    font-size: 9px;
    font-weight: 800;
    letter-spacing: 2px;
}

.fg-emergency-overline-line {
    display: block;
    width: 28px;
    height: 2px;
    background: var(--fe-burgundy-light);
}

.fg-emergency-intro h2 {
    margin: 0;
    color: var(--fe-white);
    font-size: clamp(38px, 4.1vw, 56px);
    font-weight: 800;
    line-height: 1.08;
    letter-spacing: -1.7px;
}

.fg-emergency-intro h2 span {
    display: block;
    color: var(--fe-gold-light);
    font-family: Georgia, "Times New Roman", serif;
    font-weight: 400;
    font-style: italic;
}

.fg-emergency-intro h2 em {
    display: block;
    margin-top: 3px;
    color: var(--fe-white);
    font-family: Georgia, "Times New Roman", serif;
    font-size: 0.75em;
    font-weight: 400;
    letter-spacing: -0.5px;
}

.fg-emergency-index {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-top: 31px;
    color: #b7b2aa;
    font-size: 8px;
    font-weight: 800;
    letter-spacing: 1.8px;
}

.fg-emergency-index>span:first-child {
    color: var(--fe-gold-light);
    font-family: Georgia, "Times New Roman", serif;
    font-size: 24px;
    font-weight: 400;
    letter-spacing: 0;
}

.fg-emergency-index-line {
    width: 37px;
    height: 1px;
    background: var(--fe-gold);
}

/* LEFT ACCENT PANEL */

.fg-emergency-accent-block {
    display: flex;
    align-items: flex-start;
    gap: 14px;
    max-width: 365px;
    margin-top: 36px;
    padding: 18px;
    border-left: 2px solid var(--fe-burgundy-light);
    background: rgba(255, 255, 255, 0.035);
}

.fg-emergency-accent-block>i {
    margin-top: 3px;
    color: var(--fe-gold-light);
    font-size: 19px;
}

.fg-emergency-accent-block p {
    margin: 0;
    color: #c8c3bc;
    font-size: 12px;
    line-height: 1.85;
}

/* RIGHT CONTENT */

.fg-emergency-details {
    min-width: 0;
    padding: 4px 0 0;
}

.fg-emergency-details-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    padding-bottom: 15px;
    margin-bottom: 17px;
    border-bottom: 1px solid rgba(255, 255, 255, 0.12);
}

.fg-emergency-small-label {
    color: var(--fe-gold-light);
    font-size: 9px;
    font-weight: 800;
    letter-spacing: 1.7px;
}

.fg-emergency-decorative-number {
    color: rgba(210, 180, 110, 0.65);
    font-family: Georgia, "Times New Roman", serif;
    font-size: 14px;
    letter-spacing: 1px;
}

.fg-emergency-copy {
    margin: 0;
    color: #c7c5c1;
    font-size: 13px;
    line-height: 1.95;
}

/* PROCESS ROWS */

.fg-emergency-process {
    margin-top: 26px;
    border-top: 1px solid rgba(255, 255, 255, 0.12);
}

.fg-emergency-process-item {
    display: grid;
    grid-template-columns: 37px minmax(0, 1fr) 27px;
    align-items: center;
    gap: 15px;
    padding: 17px 12px;
    border-bottom: 1px solid rgba(255, 255, 255, 0.12);
    transition:
        background 0.3s ease,
        padding 0.3s ease;
}

.fg-emergency-process-item:hover {
    padding-right: 17px;
    padding-left: 17px;
    background: rgba(114, 29, 43, 0.19);
}

.fg-emergency-process-number {
    display: grid;
    width: 34px;
    height: 34px;
    place-items: center;
    border: 1px solid rgba(210, 180, 110, 0.45);
    color: var(--fe-gold-light);
    font-family: Georgia, "Times New Roman", serif;
    font-size: 14px;
}

.fg-emergency-process-item h3 {
    margin: 0 0 5px;
    color: var(--fe-white);
    font-size: 14px;
    font-weight: 700;
}

.fg-emergency-process-item p {
    margin: 0;
    color: #aaa7a1;
    font-size: 11px;
    line-height: 1.7;
}

.fg-emergency-process-item>i {
    justify-self: end;
    color: var(--fe-gold-light);
    font-size: 15px;
    transition:
        color 0.3s ease,
        transform 0.3s ease;
}

.fg-emergency-process-item:hover>i {
    transform: translateX(3px);
    color: var(--fe-white);
}

/* FOOTER */

.fg-emergency-footer {
    display: flex;
    align-items: center;
    gap: 19px;
    padding-top: 21px;
    border-top: 1px solid rgba(255, 255, 255, 0.13);
}

.fg-emergency-footer>span:not(.fg-emergency-footer-rule) {
    color: #b9b4ad;
    font-size: 8px;
    font-weight: 800;
    letter-spacing: 1.4px;
}

.fg-emergency-footer-rule {
    flex: 1;
    height: 1px;
    background: rgba(210, 180, 110, 0.4);
}

/* TABLET */

@media (max-width: 991.98px) {
    .fg-emergency-main {
        padding-top: 48px;
        padding-bottom: 40px;
    }

    .fg-emergency-intro h2 {
        font-size: clamp(34px, 4.6vw, 45px);
    }

    .fg-emergency-intro {
        padding-right: 20px;
    }

    .fg-emergency-copy {
        font-size: 12px;
        line-height: 1.9;
    }

    .fg-emergency-process-item {
        grid-template-columns: 33px minmax(0, 1fr) 20px;
        gap: 11px;
        padding: 15px 8px;
    }

    .fg-emergency-process-item h3 {
        font-size: 13px;
    }
}

/* MOBILE */

@media (max-width: 767.98px) {
    .fg-emergency-editorial {
        padding-top: 25px;
    }

    .fg-emergency-topline {
        align-items: flex-start;
        flex-direction: column;
        gap: 12px;
        padding-bottom: 18px;
    }

    .fg-emergency-main {
        padding-top: 38px;
        padding-bottom: 32px;
    }

    .fg-emergency-intro {
        padding: 0 0 0 17px;
    }

    .fg-emergency-intro::before {
        right: auto;
        left: 0;
        width: 2px;
        height: 90%;
    }

    .fg-emergency-intro h2 {
        font-size: clamp(37px, 8.8vw, 51px);
        letter-spacing: -1px;
    }

    .fg-emergency-overline {
        margin-bottom: 20px;
        font-size: 8px;
        letter-spacing: 1.5px;
    }

    .fg-emergency-index {
        margin-top: 24px;
    }

    .fg-emergency-accent-block {
        max-width: none;
        margin-top: 26px;
    }

    .fg-emergency-details {
        padding-top: 0;
    }

    .fg-emergency-copy {
        font-size: 13px;
        line-height: 1.9;
    }

    .fg-emergency-process {
        margin-top: 22px;
    }

    .fg-emergency-footer {
        flex-wrap: wrap;
        gap: 10px;
    }

    .fg-emergency-footer>span:not(.fg-emergency-footer-rule) {
        font-size: 7px;
        letter-spacing: 0.8px;
    }

    .fg-emergency-footer-rule {
        min-width: 18px;
    }
}

/* EXTRA SMALL */

@media (max-width: 380px) {
    .fg-emergency-intro h2 {
        font-size: 34px;
    }

    .fg-emergency-process-item {
        grid-template-columns: 30px minmax(0, 1fr) 17px;
        gap: 9px;
        padding: 14px 5px;
    }

    .fg-emergency-process-number {
        width: 29px;
        height: 29px;
        font-size: 12px;
    }

    .fg-emergency-process-item h3 {
        font-size: 12px;
    }

    .fg-emergency-process-item p {
        font-size: 10px;
    }
}

/* ACCESSIBILITY */

@media (prefers-reduced-motion: reduce) {

    .fg-emergency-editorial *,
    .fg-emergency-editorial *::before,
    .fg-emergency-editorial *::after {
        animation: none !important;
        transition: none !important;
    }
}



/* ==========================================
   FALLBROOK GARAGE DOOR CA
   Light Practical Points Section
========================================== */

.fg-practical-section {
    --fp-burgundy: #721d2b;
    --fp-deep: #4d131e;
    --fp-light-burgundy: #963b4b;
    --fp-metal: #202328;
    --fp-metal-light: #34383d;
    --fp-white: #fffdf8;
    --fp-cream: #f4efe6;
    --fp-ivory: #faf7f0;
    --fp-gold: #b18a43;
    --fp-gold-light: #d2b46e;

    position: relative;
    overflow: hidden;
    padding: 95px 0 55px;
    color: var(--fp-metal);
    background:
        radial-gradient(ellipse at 100% 0%,
            rgba(177, 138, 67, 0.09),
            transparent 32%),
        var(--fp-ivory);
}

.fg-practical-section::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 5px;
    background: linear-gradient(90deg,
            var(--fp-burgundy) 0%,
            var(--fp-burgundy) 35%,
            var(--fp-gold) 35%,
            var(--fp-gold) 57%,
            transparent 57%);
}

.fg-practical-section .container {
    position: relative;
    z-index: 1;
}

/* HEADER */

.fg-practical-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 35px;
    margin-bottom: 55px;
}

.fg-practical-heading {
    max-width: 720px;
}

.fg-practical-eyebrow {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-bottom: 22px;
    color: var(--fp-burgundy);
    font-size: 10px;
    font-weight: 800;
    letter-spacing: 2.5px;
}

.fg-practical-eyebrow-line {
    display: inline-block;
    width: 34px;
    height: 2px;
    background: var(--fp-gold);
}

.fg-practical-heading h2 {
    margin: 0;
    color: var(--fp-metal);
    font-size: clamp(34px, 4.2vw, 53px);
    font-weight: 850;
    line-height: 1.13;
    letter-spacing: -1.8px;
}

.fg-practical-heading h2 span {
    color: var(--fp-burgundy);
}

.fg-practical-intro {
    max-width: 560px;
    margin: 20px 0 0;
    color: #65646a;
    font-size: 15px;
    line-height: 1.9;
}

/* DECORATIVE HEADER MARK */

.fg-practical-header-mark {
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    flex: 0 0 145px;
    width: 145px;
    height: 145px;
    color: var(--fp-burgundy);
    border: 1px solid rgba(114, 29, 43, 0.23);
    outline: 1px solid rgba(177, 138, 67, 0.28);
    outline-offset: 7px;
    transition: background 0.35s ease, color 0.35s ease;
}

.fg-practical-header-mark::before,
.fg-practical-header-mark::after {
    content: "";
    position: absolute;
    width: 14px;
    height: 14px;
    border-color: var(--fp-gold);
    border-style: solid;
}

.fg-practical-header-mark::before {
    top: -1px;
    left: -1px;
    border-width: 2px 0 0 2px;
}

.fg-practical-header-mark::after {
    right: -1px;
    bottom: -1px;
    border-width: 0 2px 2px 0;
}

.fg-practical-header-mark i {
    margin-bottom: 12px;
    font-size: 29px;
}

.fg-practical-header-mark span {
    margin-bottom: 5px;
    font-size: 8px;
    font-weight: 800;
    letter-spacing: 2px;
}

.fg-practical-header-mark strong {
    color: var(--fp-gold);
    font-size: 21px;
    letter-spacing: 1px;
}

.fg-practical-header-mark:hover {
    color: var(--fp-white);
    background: var(--fp-burgundy);
}

/* PRACTICAL POINTS GRID */

.fg-practical-grid {
    border-top: 1px solid rgba(32, 35, 40, 0.2);
    border-left: 1px solid rgba(32, 35, 40, 0.2);
    background: rgba(255, 253, 248, 0.68);
}

.fg-practical-grid>div {
    display: flex;
}

.fg-practical-item {
    position: relative;
    display: flex;
    align-items: flex-start;
    gap: 20px;
    width: 100%;
    min-height: 190px;
    padding: 29px 26px;
    border-right: 1px solid rgba(32, 35, 40, 0.2);
    border-bottom: 1px solid rgba(32, 35, 40, 0.2);
    background: rgba(255, 253, 248, 0.62);
    transition:
        background 0.3s ease,
        box-shadow 0.3s ease,
        transform 0.3s ease;
}

.fg-practical-item:hover {
    z-index: 2;
    background: var(--fp-white);
    box-shadow: 0 12px 32px rgba(32, 35, 40, 0.09);
    transform: translateY(-3px);
}

/* NUMBER BLOCK */

.fg-practical-number {
    display: flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 49px;
    width: 49px;
    height: 49px;
    color: var(--fp-burgundy);
    border: 1px solid rgba(114, 29, 43, 0.26);
    background: var(--fp-cream);
    font-size: 13px;
    font-weight: 800;
    letter-spacing: -0.3px;
    transition:
        color 0.3s ease,
        background 0.3s ease,
        border-color 0.3s ease;
}

.fg-practical-item:hover .fg-practical-number {
    color: var(--fp-white);
    border-color: var(--fp-burgundy);
    background: var(--fp-burgundy);
}

/* ITEM CONTENT */

.fg-practical-item-content {
    flex: 1;
    min-width: 0;
}

.fg-practical-item-top {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 8px;
    margin-bottom: 13px;
}

.fg-practical-item-top i {
    color: var(--fp-gold);
    font-size: 13px;
}

.fg-practical-item-top span {
    color: #77747a;
    font-size: 8px;
    font-weight: 800;
    letter-spacing: 1.5px;
}

.fg-practical-item h3 {
    margin: 0 0 9px;
    color: var(--fp-metal);
    font-size: 20px;
    font-weight: 800;
    line-height: 1.3;
    letter-spacing: -0.4px;
    transition: color 0.3s ease;
}

.fg-practical-item:hover h3 {
    color: var(--fp-burgundy);
}

.fg-practical-item p {
    margin: 0;
    color: #65646a;
    font-size: 13px;
    line-height: 1.85;
}

/* CORNER ARROW */

.fg-practical-item-arrow {
    position: absolute;
    top: 18px;
    right: 18px;
    color: rgba(114, 29, 43, 0.45);
    font-size: 11px;
    opacity: 0;
    transform: translate(-3px, 3px);
    transition:
        opacity 0.3s ease,
        transform 0.3s ease;
}

.fg-practical-item:hover .fg-practical-item-arrow {
    opacity: 1;
    transform: translate(0, 0);
}

/* FEATURED TIMING POINT */

.fg-practical-item-featured {
    background:
        linear-gradient(110deg,
            rgba(114, 29, 43, 0.045),
            transparent 75%),
        #f4efe6;
    border-bottom-color: rgba(114, 29, 43, 0.3);
}

.fg-practical-item-featured::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 3px;
    height: 100%;
    background: var(--fp-gold);
}

.fg-practical-item-featured .fg-practical-number {
    color: var(--fp-white);
    border-color: var(--fp-burgundy);
    background: var(--fp-burgundy);
}

.fg-practical-item-featured .fg-practical-item-top i {
    color: var(--fp-burgundy);
}

/* FOOTER */

.fg-practical-footer {
    display: flex;
    align-items: center;
    gap: 17px;
    margin-top: 30px;
    padding: 24px 27px;
    border: 1px solid rgba(32, 35, 40, 0.13);
    background: rgba(255, 253, 248, 0.78);
}

.fg-practical-footer-symbol {
    display: flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 42px;
    width: 42px;
    height: 42px;
    color: var(--fp-white);
    background: var(--fp-burgundy);
    font-size: 16px;
}

.fg-practical-footer-text {
    display: flex;
    flex-direction: column;
    gap: 5px;
}

.fg-practical-footer-text strong {
    color: var(--fp-metal);
    font-size: 13px;
    font-weight: 800;
}

.fg-practical-footer-text span {
    color: #77747a;
    font-size: 11px;
    line-height: 1.6;
}

.fg-practical-footer-end {
    display: flex;
    align-items: center;
    gap: 7px;
    margin-left: auto;
    padding-left: 20px;
    border-left: 1px solid rgba(32, 35, 40, 0.16);
}

.fg-practical-footer-end span {
    color: #77747a;
    font-size: 9px;
    font-weight: 800;
    letter-spacing: 1px;
}

.fg-practical-footer-end strong {
    color: var(--fp-burgundy);
    font-size: 19px;
    font-weight: 900;
}

/* TABLET */

@media (max-width: 991.98px) {
    .fg-practical-section {
        padding: 75px 0 40px;
    }

    .fg-practical-header {
        margin-bottom: 40px;
    }

    .fg-practical-heading h2 {
        font-size: clamp(34px, 5vw, 46px);
    }

    .fg-practical-header-mark {
        flex-basis: 115px;
        width: 115px;
        height: 115px;
    }

    .fg-practical-item {
        min-height: 180px;
        padding: 25px 20px;
        gap: 15px;
    }

    .fg-practical-number {
        flex-basis: 43px;
        width: 43px;
        height: 43px;
    }

    .fg-practical-item h3 {
        font-size: 18px;
    }
}

/* MOBILE */

@media (max-width: 575.98px) {
    .fg-practical-section {
        padding: 55px 0 30px;
    }

    .fg-practical-header {
        align-items: flex-start;
        gap: 30px;
        margin-bottom: 30px;
    }

    .fg-practical-heading {
        min-width: 0;
    }

    .fg-practical-eyebrow {
        gap: 8px;
        margin-bottom: 16px;
        font-size: 8px;
        letter-spacing: 1.3px;
    }

    .fg-practical-eyebrow-line {
        width: 22px;
        flex-shrink: 0;
    }

    .fg-practical-heading h2 {
        font-size: 34px;
        line-height: 1.17;
        letter-spacing: -1px;
    }

    .fg-practical-intro {
        margin-top: 14px;
        font-size: 13px;
        line-height: 1.8;
    }

    .fg-practical-header-mark {
        display: none;
    }

    .fg-practical-grid {
        border-left: 0;
    }

    .fg-practical-item {
        min-height: 0;
        gap: 14px;
        padding: 23px 16px;
        border-left: 1px solid rgba(32, 35, 40, 0.2);
    }

    .fg-practical-number {
        flex-basis: 38px;
        width: 38px;
        height: 38px;
        font-size: 11px;
    }

    .fg-practical-item-top {
        gap: 7px;
        margin-bottom: 10px;
    }

    .fg-practical-item-top span {
        font-size: 7px;
        letter-spacing: 1px;
    }

    .fg-practical-item h3 {
        margin-bottom: 7px;
        font-size: 17px;
    }

    .fg-practical-item p {
        font-size: 12px;
        line-height: 1.8;
    }

    .fg-practical-item-arrow {
        display: none;
    }

    .fg-practical-footer {
        align-items: flex-start;
        gap: 12px;
        margin-top: 20px;
        padding: 18px 14px;
    }

    .fg-practical-footer-symbol {
        flex-basis: 35px;
        width: 35px;
        height: 35px;
        font-size: 14px;
    }

    .fg-practical-footer-text strong {
        font-size: 12px;
        line-height: 1.5;
    }

    .fg-practical-footer-text span {
        font-size: 10px;
    }

    .fg-practical-footer-end {
        display: none;
    }
}

/* REDUCED MOTION ACCESSIBILITY */

@media (prefers-reduced-motion: reduce) {

    .fg-practical-header-mark,
    .fg-practical-item,
    .fg-practical-number,
    .fg-practical-item h3,
    .fg-practical-item-arrow {
        transition: none;
    }
}



/* FALLBROOK GARAGE DOOR CA — EDITORIAL FAQ */

.fg-faq-editorial {
    --fg-burgundy: #721d2b;
    --fg-burgundy-dark: #4d131e;
    --fg-burgundy-light: #963b4b;
    --fg-gunmetal: #202328;
    --fg-gunmetal-light: #34383d;
    --fg-white: #fffdf8;
    --fg-cream: #f4efe6;
    --fg-gold: #b18a43;
    --fg-gold-light: #d2b46e;

    position: relative;
    overflow: hidden;
    padding: 105px 0;
    color: var(--fg-white);
    background:
        radial-gradient(ellipse at 8% 12%,
            rgba(114, 29, 43, 0.24),
            transparent 38%),
        linear-gradient(135deg,
            #202328 0%,
            #191b1f 60%,
            #24262b 100%);
}

/* LEFT INTRO */

.fg-faq-editorial .fg-faq-intro {
    position: sticky;
    top: 35px;
    padding: 35px 28px 30px 0;
}

.fg-faq-editorial .fg-faq-eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 11px;
    margin-bottom: 27px;
    color: var(--fg-gold-light);
    font-size: 11px;
    font-weight: 800;
    letter-spacing: 2.5px;
}

.fg-faq-editorial .fg-faq-dot {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: var(--fg-gold-light);
    box-shadow: 0 0 0 5px rgba(210, 180, 110, 0.12);
}

.fg-faq-editorial .fg-faq-intro h2 {
    margin: 0 0 24px;
    max-width: 390px;
    color: var(--fg-white);
    font-size: clamp(34px, 3.5vw, 49px);
    font-weight: 800;
    line-height: 1.12;
    letter-spacing: -1.6px;
}

.fg-faq-editorial .fg-faq-intro h2::after {
    content: "";
    display: block;
    width: 75px;
    height: 4px;
    margin-top: 25px;
    background: var(--fg-gold);
}

.fg-faq-editorial .fg-faq-intro>p {
    max-width: 350px;
    margin: 0;
    color: #c4c5c6;
    font-size: 15px;
    line-height: 1.95;
}

.fg-faq-editorial .fg-faq-side-note {
    display: flex;
    align-items: center;
    gap: 17px;
    margin-top: 38px;
    padding-top: 25px;
    border-top: 1px solid rgba(255, 253, 248, 0.16);
    color: #d6d1c8;
    font-size: 10px;
    font-weight: 700;
    line-height: 1.8;
    letter-spacing: 1.5px;
}

.fg-faq-editorial .fg-faq-side-number {
    color: var(--fg-gold-light);
    font-size: 45px;
    font-weight: 300;
    line-height: 1;
    letter-spacing: -2px;
}

.fg-faq-editorial .fg-faq-decoration {
    display: flex;
    gap: 7px;
    margin-top: 35px;
}

.fg-faq-editorial .fg-faq-decoration span {
    display: block;
    width: 32px;
    height: 4px;
    background: var(--fg-burgundy-light);
}

.fg-faq-editorial .fg-faq-decoration span:nth-child(2) {
    width: 17px;
    background: var(--fg-gold);
}

.fg-faq-editorial .fg-faq-decoration span:nth-child(3) {
    width: 8px;
    background: #77777a;
}

/* RIGHT FAQ LIST */

.fg-faq-editorial .fg-faq-list {
    border-top: 1px solid rgba(210, 180, 110, 0.45);
}

.fg-faq-editorial .fg-faq-item {
    position: relative;
    display: grid;
    grid-template-columns: 42px minmax(0, 1fr) 42px;
    align-items: start;
    gap: 19px;
    padding: 31px 22px 32px 12px;
    border-bottom: 1px solid rgba(255, 253, 248, 0.15);
    transition:
        background 0.3s ease,
        padding 0.3s ease,
        border-color 0.3s ease;
}

.fg-faq-editorial .fg-faq-item:hover {
    padding-right: 17px;
    padding-left: 19px;
    border-bottom-color: rgba(210, 180, 110, 0.65);
    background: linear-gradient(90deg,
            rgba(114, 29, 43, 0.28),
            rgba(114, 29, 43, 0.04));
}

.fg-faq-editorial .fg-faq-index {
    padding-top: 3px;
    color: var(--fg-gold-light);
    font-size: 13px;
    font-weight: 800;
    letter-spacing: 1px;
}

.fg-faq-editorial .fg-faq-content h3 {
    margin: 0 0 13px;
    color: var(--fg-white);
    font-size: clamp(17px, 1.7vw, 21px);
    font-weight: 750;
    line-height: 1.45;
    transition: color 0.3s ease;
}

.fg-faq-editorial .fg-faq-item:hover .fg-faq-content h3 {
    color: var(--fg-gold-light);
}

.fg-faq-editorial .fg-faq-content p {
    margin: 0;
    color: #c2c3c5;
    font-size: 14px;
    line-height: 1.95;
}

.fg-faq-editorial .fg-faq-mark {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    border: 1px solid rgba(210, 180, 110, 0.38);
    color: var(--fg-gold-light);
    font-size: 15px;
    transition:
        color 0.3s ease,
        background 0.3s ease,
        border-color 0.3s ease,
        transform 0.3s ease;
}

.fg-faq-editorial .fg-faq-item:hover .fg-faq-mark {
    transform: translateY(-3px);
    border-color: var(--fg-burgundy-light);
    background: var(--fg-burgundy);
    color: var(--fg-white);
}

/* TABLET */

@media (max-width: 991.98px) {
    .fg-faq-editorial {
        padding: 75px 0;
    }

    .fg-faq-editorial .fg-faq-intro {
        position: relative;
        top: auto;
        padding: 0 0 15px;
    }

    .fg-faq-editorial .fg-faq-intro h2 {
        max-width: 600px;
        font-size: clamp(34px, 5vw, 46px);
    }

    .fg-faq-editorial .fg-faq-intro>p {
        max-width: 600px;
    }

    .fg-faq-editorial .fg-faq-side-note {
        max-width: 300px;
        margin-top: 25px;
    }

    .fg-faq-editorial .fg-faq-decoration {
        display: none;
    }
}

/* MOBILE */

@media (max-width: 575.98px) {
    .fg-faq-editorial {
        padding: 58px 0;
    }

    .fg-faq-editorial .fg-faq-eyebrow {
        margin-bottom: 20px;
        font-size: 10px;
        letter-spacing: 1.8px;
    }

    .fg-faq-editorial .fg-faq-intro h2 {
        font-size: 34px;
        letter-spacing: -1px;
    }

    .fg-faq-editorial .fg-faq-intro>p {
        font-size: 14px;
        line-height: 1.85;
    }

    .fg-faq-editorial .fg-faq-side-note {
        margin-top: 25px;
        padding-top: 20px;
    }

    .fg-faq-editorial .fg-faq-item {
        grid-template-columns: 30px minmax(0, 1fr);
        gap: 12px;
        padding: 24px 5px;
    }

    .fg-faq-editorial .fg-faq-item:hover {
        padding-right: 5px;
        padding-left: 8px;
    }

    .fg-faq-editorial .fg-faq-content h3 {
        font-size: 17px;
        line-height: 1.5;
    }

    .fg-faq-editorial .fg-faq-content p {
        font-size: 13px;
        line-height: 1.85;
    }

    .fg-faq-editorial .fg-faq-mark {
        display: none;
    }
}

@media (prefers-reduced-motion: reduce) {

    .fg-faq-editorial *,
    .fg-faq-editorial *::before,
    .fg-faq-editorial *::after {
        transition: none !important;
        animation: none !important;
        scroll-behavior: auto !important;
    }
}


/* ==========================================
   FALLBROOK GARAGE DOOR CA
   CENTERED LIGHT SERVICE FORM
========================================== */

:root {
    --fgd-burgundy: #721d2b;
    --fgd-burgundy-dark: #43121b;
    --fgd-burgundy-light: #983b4b;

    --fgd-gunmetal: #16181c;
    --fgd-gunmetal-light: #24272c;

    --fgd-warm: #f3eee5;
    --fgd-cream: #ddd4c6;

    --fgd-gold: #c6a15b;
    --fgd-gold-light: #e1c486;

    --fgd-white: #ffffff;
    --fgd-muted: #bdb6ad;
    --fgd-shadow: rgba(0, 0, 0, 0.48);
}

.fgd-light-booking,
.fgd-light-booking * {
    box-sizing: border-box;
}

.fgd-light-booking {
    position: relative;
    overflow: hidden;
    padding: 90px 0 80px;
    background:
        radial-gradient(ellipse at 5% 5%,
            rgba(198, 161, 91, 0.12),
            transparent 35%),
        var(--fgd-warm);
    color: var(--fgd-gunmetal);
}

.fgd-light-booking .container {
    max-width: 1140px;
}

/* CENTERED HEADING */

.fgd-booking-heading {
    max-width: 760px;
    margin: 0 auto 38px;
    text-align: center;
}

.fgd-heading-label {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
    margin-bottom: 18px;
    color: var(--fgd-burgundy);
    font-size: 11px;
    font-weight: 800;
    letter-spacing: 2.2px;
}

.fgd-heading-label span {
    width: 30px;
    height: 2px;
    background: var(--fgd-gold);
}

.fgd-booking-heading h2 {
    margin: 0 0 15px;
    color: var(--fgd-gunmetal);
    font-size: clamp(32px, 4vw, 46px);
    font-weight: 800;
    line-height: 1.2;
    letter-spacing: -1px;
}

.fgd-booking-heading p {
    max-width: 620px;
    margin: 0 auto;
    color: #6d675f;
    font-size: 16px;
    line-height: 1.8;
}

/* CENTERED FORM CARD */

.fgd-form-card {
    position: relative;
    max-width: 850px;
    margin: 0 auto;
    padding: 42px 46px;
    border: 1px solid #e0d5c6;
    border-radius: 14px;
    background: var(--fgd-white);
    box-shadow: 0 20px 55px rgba(22, 24, 28, 0.09);
    animation: fgdFormAppear 0.7s ease both;
}

.fgd-form-card::before {
    position: absolute;
    top: -1px;
    left: 12%;
    width: 76%;
    height: 4px;
    border-radius: 0 0 5px 5px;
    background: linear-gradient(90deg,
            var(--fgd-burgundy-dark),
            var(--fgd-burgundy),
            var(--fgd-gold),
            var(--fgd-gold-light));
    content: "";
}

/* FORM HEADER */

.fgd-form-card-top {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    margin-bottom: 30px;
    padding-bottom: 25px;
    border-bottom: 1px solid #eee6dc;
}

.fgd-form-kicker {
    display: block;
    margin-bottom: 8px;
    color: var(--fgd-burgundy);
    font-size: 11px;
    font-weight: 800;
    letter-spacing: 1.8px;
}

.fgd-form-card-top h3 {
    margin: 0 0 8px;
    color: var(--fgd-gunmetal);
    font-size: 27px;
    font-weight: 800;
    line-height: 1.3;
}

.fgd-form-card-top p {
    margin: 0;
    color: #777168;
    font-size: 14px;
    line-height: 1.7;
}

.fgd-form-symbol {
    display: flex;
    flex: 0 0 58px;
    align-items: center;
    justify-content: center;
    width: 58px;
    height: 58px;
    border: 1px solid rgba(198, 161, 91, 0.45);
    border-radius: 10px;
    background: #f7f0e5;
    color: var(--fgd-burgundy);
    font-size: 23px;
}

/* FORM FIELDS */

.fgd-service-form fieldset {
    min-width: 0;
    margin: 0;
    padding: 0;
    border: 0;
}

.fgd-field {
    min-width: 0;
}

.fgd-field label {
    display: block;
    margin-bottom: 9px;
    color: #29272a;
    font-size: 13px;
    font-weight: 700;
}

.fgd-input-wrap {
    position: relative;
}

.fgd-input-wrap>i {
    position: absolute;
    top: 50%;
    left: 15px;
    color: var(--fgd-burgundy);
    font-size: 14px;
    pointer-events: none;
    transform: translateY(-50%);
}

.fgd-input-wrap input,
.fgd-input-wrap select {
    display: block;
    width: 100%;
    min-width: 0;
    height: 53px;
    margin: 0;
    padding: 0 14px 0 42px;
    border: 1px solid #ded7ce;
    border-radius: 6px;
    outline: none;
    background: #fdfbf8;
    color: var(--fgd-gunmetal);
    font-family: inherit;
    font-size: 14px;
    transition:
        border-color 0.25s ease,
        box-shadow 0.25s ease,
        background 0.25s ease;
}

.fgd-input-wrap input::placeholder,
.fgd-field textarea::placeholder {
    color: #999188;
    opacity: 1;
}

.fgd-input-wrap input:focus,
.fgd-input-wrap select:focus,
.fgd-field textarea:focus {
    border-color: var(--fgd-burgundy);
    outline: none;
    background: var(--fgd-white);
    box-shadow: 0 0 0 3px rgba(114, 29, 43, 0.1);
}

.fgd-input-wrap select {
    cursor: pointer;
}

.fgd-field textarea {
    display: block;
    width: 100%;
    min-height: 135px;
    margin: 0;
    padding: 15px;
    border: 1px solid #ded7ce;
    border-radius: 6px;
    outline: none;
    background: #fdfbf8;
    color: var(--fgd-gunmetal);
    font-family: inherit;
    font-size: 14px;
    line-height: 1.7;
    resize: vertical;
    transition:
        border-color 0.25s ease,
        box-shadow 0.25s ease,
        background 0.25s ease;
}

/* SUBMIT AREA */

.fgd-form-bottom {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    margin-top: 27px;
    padding-top: 23px;
    border-top: 1px solid #eee6dc;
}

.fgd-form-bottom p {
    margin: 0;
    color: #777168;
    font-size: 12px;
}

.fgd-form-bottom p span {
    color: var(--fgd-burgundy);
    font-weight: 800;
}

.fgd-submit-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 18px;
    min-height: 54px;
    padding: 0 25px;
    border: 1px solid var(--fgd-burgundy);
    border-radius: 6px;
    background: var(--fgd-burgundy);
    color: var(--fgd-white);
    font-family: inherit;
    font-size: 14px;
    font-weight: 700;
    cursor: pointer;
    transition:
        background 0.25s ease,
        border-color 0.25s ease,
        transform 0.25s ease,
        box-shadow 0.25s ease;
}

.fgd-submit-btn i {
    color: var(--fgd-gold-light);
    transition: transform 0.25s ease;
}

.fgd-submit-btn:hover {
    transform: translateY(-2px);
    border-color: var(--fgd-burgundy-dark);
    background: var(--fgd-burgundy-dark);
    color: var(--fgd-white);
    box-shadow: 0 8px 20px rgba(67, 18, 27, 0.18);
}

.fgd-submit-btn:hover i {
    transform: translateX(4px);
}

.fgd-submit-btn:focus-visible {
    outline: 3px solid var(--fgd-gold);
    outline-offset: 4px;
}

/* PRIVACY / ASSURANCE TEXT */

.fgd-form-assurance {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 9px;
    max-width: 850px;
    margin: 22px auto 0;
    color: #777168;
    font-size: 12px;
    line-height: 1.7;
    text-align: center;
}

.fgd-form-assurance i {
    color: var(--fgd-burgundy);
}

/* HONEYPOT */

.fgd-honeypot {
    position: absolute !important;
    left: -10000px !important;
    width: 1px !important;
    height: 1px !important;
    overflow: hidden !important;
}

/* ANIMATION */

@keyframes fgdFormAppear {
    from {
        opacity: 0;
        transform: translateY(18px);
    }

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

/* TABLET */

@media (max-width: 767.98px) {
    .fgd-light-booking {
        padding: 65px 0;
    }

    .fgd-booking-heading {
        margin-bottom: 30px;
    }

    .fgd-form-card {
        padding: 32px 25px;
    }

    .fgd-form-card-top h3 {
        font-size: 24px;
    }
}

/* MOBILE */

@media (max-width: 575.98px) {
    .fgd-light-booking {
        padding: 50px 0;
    }

    .fgd-heading-label {
        gap: 7px;
        font-size: 9px;
        letter-spacing: 1.3px;
    }

    .fgd-heading-label span {
        width: 18px;
    }

    .fgd-booking-heading h2 {
        font-size: 31px;
        letter-spacing: -0.5px;
    }

    .fgd-booking-heading p {
        font-size: 14px;
    }

    .fgd-form-card {
        padding: 27px 17px;
        border-radius: 10px;
    }

    .fgd-form-card-top {
        align-items: flex-start;
        gap: 12px;
        margin-bottom: 24px;
        padding-bottom: 20px;
    }

    .fgd-form-card-top h3 {
        font-size: 21px;
    }

    .fgd-form-card-top p {
        font-size: 13px;
    }

    .fgd-form-symbol {
        flex-basis: 43px;
        width: 43px;
        height: 43px;
        font-size: 18px;
    }

    .fgd-input-wrap input,
    .fgd-input-wrap select {
        height: 50px;
        font-size: 14px;
    }

    .fgd-form-bottom {
        align-items: stretch;
        flex-direction: column;
        gap: 16px;
    }

    .fgd-submit-btn {
        width: 100%;
        min-height: 52px;
    }

    .fgd-form-assurance {
        align-items: flex-start;
        padding: 0 8px;
        font-size: 11px;
        text-align: left;
    }
}

/* ACCESSIBILITY */

@media (prefers-reduced-motion: reduce) {

    .fgd-light-booking *,
    .fgd-light-booking *::before,
    .fgd-light-booking *::after {
        animation: none !important;
        transition: none !important;
    }
}

/* ========================================= FALLBROOK GARAGE DOOR CA MAP + CONTACT INFORMATION ========================================= */
.fgd-contact-section,
.fgd-contact-section * {
    box-sizing: border-box;
}

.fgd-contact-section {
    position: relative;
    overflow: hidden;
    padding: 90px 0;
    background: radial-gradient(circle at 100% 0, rgba(198, 161, 91, 0.13), transparent 30%), #f3eee5;
    color: #16181c;
}

.fgd-contact-section .container {
    max-width: 1200px;
}

/* HEADING */
.fgd-contact-heading {
    max-width: 780px;
    margin: 0 auto 45px;
    text-align: center;
}

.fgd-contact-eyebrow {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
    margin-bottom: 17px;
    color: #721d2b;
    font-size: 11px;
    font-weight: 800;
    letter-spacing: 2.2px;
}

.fgd-contact-eyebrow span {
    width: 30px;
    height: 2px;
    background: #c6a15b;
}

.fgd-contact-heading h2 {
    margin: 0 0 15px;
    color: #16181c;
    font-size: clamp(31px, 4vw, 45px);
    font-weight: 800;
    line-height: 1.2;
    letter-spacing: -1px;
}

.fgd-contact-heading h2 span {
    color: #721d2b;
}

.fgd-contact-heading>p {
    max-width: 650px;
    margin: 0 auto;
    color: #6c665e;
    font-size: 15px;
    line-height: 1.85;
}

/* MAP CARD */
.fgd-map-card {
    height: 100%;
    min-height: 500px;
    overflow: hidden;
    border: 1px solid #e1d7ca;
    border-radius: 12px;
    background: #fff;
    box-shadow: 0 15px 40px rgba(22, 24, 28, 0.07);
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.fgd-map-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 20px 45px rgba(22, 24, 28, 0.11);
}

.fgd-map-header {
    display: flex;
    align-items: center;
    gap: 15px;
    min-height: 98px;
    padding: 22px 25px;
    border-bottom: 1px solid #eee6dc;
}

.fgd-map-heading-icon {
    display: flex;
    flex: 0 0 48px;
    align-items: center;
    justify-content: center;
    width: 48px;
    height: 48px;
    border-radius: 9px;
    background: #721d2b;
    color: #e1c486;
    font-size: 20px;
}

.fgd-map-header span {
    display: block;
    margin-bottom: 5px;
    color: #8b7a62;
    font-size: 10px;
    font-weight: 800;
    letter-spacing: 1.7px;
}

.fgd-map-header h3 {
    margin: 0;
    color: #16181c;
    font-size: 20px;
    font-weight: 800;
    line-height: 1.4;
}

.fgd-map-frame {
    position: relative;
    height: 390px;
    background: #e8e2d8;
}

.fgd-map-frame iframe {
    display: block;
    width: 100%;
    height: 100%;
    border: 0;
}

.fgd-map-directions {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 15px;
    min-height: 62px;
    padding: 17px 24px;
    background: #fff;
    color: #721d2b;
    font-size: 13px;
    font-weight: 700;
    text-decoration: none;
    transition: background 0.25s ease, color 0.25s ease;
}

.fgd-map-directions span {
    display: inline-flex;
    align-items: center;
    gap: 10px;
}

.fgd-map-directions span i {
    color: #c6a15b;
}

.fgd-map-directions:hover {
    background: #721d2b;
    color: #fff;
}

.fgd-map-directions:hover span i {
    color: #e1c486;
}

/* CONTACT DETAILS PANEL */
.fgd-contact-details {
    height: 100%;
    padding: 30px;
    border: 1px solid #e1d7ca;
    border-radius: 12px;
    background: #fff;
    box-shadow: 0 15px 40px rgba(22, 24, 28, 0.07);
}

.fgd-details-intro {
    margin-bottom: 24px;
}

.fgd-details-label {
    display: block;
    margin-bottom: 9px;
    color: #721d2b;
    font-size: 10px;
    font-weight: 800;
    letter-spacing: 1.8px;
}

.fgd-details-intro h3 {
    margin: 0 0 10px;
    color: #16181c;
    font-size: 26px;
    font-weight: 800;
    line-height: 1.25;
}

.fgd-details-intro p {
    margin: 0;
    color: #756e65;
    font-size: 13px;
    line-height: 1.8;
}

/* INDIVIDUAL CONTACT ROWS */
.fgd-contact-item {
    position: relative;
    display: flex;
    align-items: flex-start;
    gap: 15px;
    padding: 20px 0;
    border-top: 1px solid #eee6dc;
    transition: padding-left 0.25s ease;
}

.fgd-contact-item:hover {
    padding-left: 4px;
}

.fgd-contact-icon {
    display: flex;
    flex: 0 0 45px;
    align-items: center;
    justify-content: center;
    width: 45px;
    height: 45px;
    border: 1px solid #eadbc0;
    border-radius: 9px;
    background: #f8f2e8;
    color: #721d2b;
    font-size: 17px;
    transition: background 0.25s ease, color 0.25s ease;
}

.fgd-contact-item:hover .fgd-contact-icon {
    background: #721d2b;
    color: #e1c486;
}

.fgd-contact-text {
    flex: 1;
    min-width: 0;
}

.fgd-contact-text>span {
    display: block;
    margin-bottom: 5px;
    color: #8b7a62;
    font-size: 9px;
    font-weight: 800;
    letter-spacing: 1.2px;
}

.fgd-contact-text h4 {
    margin: 0 0 7px;
    color: #16181c;
    font-size: 16px;
    font-weight: 800;
}

.fgd-contact-text p,
.fgd-contact-text a {
    overflow-wrap: anywhere;
    margin: 0;
    color: #686158;
    font-size: 13px;
    line-height: 1.75;
}

.fgd-contact-text a {
    color: #721d2b;
    font-weight: 700;
    text-decoration: none;
    transition: color 0.2s ease;
}

.fgd-contact-text a:hover {
    color: #43121b;
    text-decoration: underline;
}

.fgd-contact-arrow {
    margin-top: 26px;
    color: #c6a15b;
    font-size: 12px;
}

.fgd-contact-text .fgd-small-link {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    margin-top: 7px;
    font-size: 12px;
}

/* BOTTOM NOTE */
.fgd-contact-note {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    margin-top: 12px;
    padding: 17px;
    border-left: 3px solid #c6a15b;
    background: #f7f2e9;
}

.fgd-note-mark {
    padding-top: 2px;
    color: #721d2b;
}

.fgd-contact-note p {
    margin: 0;
    color: #655d54;
    font-size: 12px;
    line-height: 1.8;
}

/* TABLET */
@media (max-width: 991.98px) {
    .fgd-contact-section {
        padding: 70px 0;
    }

    .fgd-map-card {
        min-height: auto;
    }

    .fgd-map-frame {
        height: 350px;
    }

    .fgd-contact-details {
        padding: 27px;
    }
}

/* MOBILE */
@media (max-width: 575.98px) {
    .fgd-contact-section {
        padding: 52px 0;
    }

    .fgd-contact-heading {
        margin-bottom: 30px;
    }

    .fgd-contact-eyebrow {
        gap: 7px;
        font-size: 9px;
        letter-spacing: 1.4px;
    }

    .fgd-contact-eyebrow span {
        width: 18px;
    }

    .fgd-contact-heading h2 {
        font-size: 30px;
        letter-spacing: -0.5px;
    }

    .fgd-contact-heading>p {
        font-size: 14px;
    }

    .fgd-map-header {
        min-height: 85px;
        gap: 12px;
        padding: 17px;
    }

    .fgd-map-heading-icon {
        flex-basis: 42px;
        width: 42px;
        height: 42px;
        font-size: 17px;
    }

    .fgd-map-header h3 {
        font-size: 17px;
    }

    .fgd-map-frame {
        height: 290px;
    }

    .fgd-map-directions {
        padding: 16px;
        font-size: 12px;
    }

    .fgd-contact-details {
        padding: 22px 18px;
    }

    .fgd-details-intro h3 {
        font-size: 24px;
    }

    .fgd-contact-item {
        gap: 12px;
    }

    .fgd-contact-icon {
        flex-basis: 40px;
        width: 40px;
        height: 40px;
        font-size: 15px;
    }

    .fgd-contact-arrow {
        display: none;
    }

    .fgd-contact-text h4 {
        font-size: 15px;
    }

    .fgd-contact-text p,
    .fgd-contact-text a {
        font-size: 12px;
    }
}

/* REDUCED MOTION */
@media (prefers-reduced-motion: reduce) {

    .fgd-contact-section *,
    .fgd-contact-section *::before,
    .fgd-contact-section *::after {
        animation: none !important;
        transition: none !important;
    }
}

/* ========================================= FALLBROOK GARAGE DOOR CA CONTACT SECTION — STYLE 02 ========================================= */
.fgd-contact-v2,
.fgd-contact-v2 * {
    box-sizing: border-box;
}

.fgd-contact-v2 {
    position: relative;
    overflow: hidden;
    padding: 95px 0;
    background: #f3eee5;
    color: #16181c;
}

.fgd-contact-v2 .container {
    max-width: 1200px;
}

/* HEADING */
.fgd-v2-heading {
    display: grid;
    grid-template-columns: 1.1fr 0.7fr;
    align-items: end;
    gap: 55px;
    margin-bottom: 42px;
}

.fgd-v2-overline {
    display: inline-block;
    margin-bottom: 15px;
    color: #721d2b;
    font-size: 11px;
    font-weight: 800;
    letter-spacing: 2.5px;
}

.fgd-v2-heading h2 {
    max-width: 650px;
    margin: 0;
    color: #16181c;
    font-size: clamp(34px, 4.3vw, 51px);
    font-weight: 800;
    line-height: 1.12;
    letter-spacing: -1.6px;
}

.fgd-v2-heading h2 span {
    color: #721d2b;
}

.fgd-v2-heading>p {
    margin: 0 0 5px;
    padding-left: 23px;
    border-left: 2px solid #c6a15b;
    color: #706960;
    font-size: 15px;
    line-height: 1.9;
}

/* MAIN LAYOUT */
.fgd-v2-layout {
    display: grid;
    grid-template-columns: minmax(0, 1.35fr) minmax(340px, 0.8fr);
    align-items: stretch;
    gap: 25px;
}

/* MAP AREA */
.fgd-v2-map-area {
    display: flex;
    flex-direction: column;
    min-width: 0;
    padding: 15px;
    border: 1px solid #e0d5c5;
    background: #fff;
    box-shadow: 0 16px 45px rgba(22, 24, 28, 0.06);
}

.fgd-v2-map-label {
    display: flex;
    align-items: center;
    gap: 10px;
    min-height: 46px;
    padding: 0 8px 12px;
    color: #6d655c;
    font-size: 10px;
    font-weight: 800;
    letter-spacing: 1.8px;
}

.fgd-v2-map-dot {
    width: 9px;
    height: 9px;
    flex: 0 0 9px;
    border-radius: 50%;
    background: #721d2b;
    box-shadow: 0 0 0 4px rgba(114, 29, 43, 0.1);
}

.fgd-v2-map {
    position: relative;
    flex: 1;
    min-height: 490px;
    overflow: hidden;
    background: #e8e1d7;
}

.fgd-v2-map iframe {
    display: block;
    width: 100%;
    height: 100%;
    min-height: 490px;
    border: 0;
    filter: saturate(0.78);
    transition: filter 0.35s ease;
}

.fgd-v2-map-area:hover .fgd-v2-map iframe {
    filter: saturate(1);
}

.fgd-v2-map-link {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 15px;
    margin-top: 12px;
    padding: 15px 10px 4px;
    color: #721d2b;
    font-size: 13px;
    font-weight: 700;
    text-decoration: none;
    transition: color 0.25s ease;
}

.fgd-v2-map-link i {
    color: #c6a15b;
    transition: transform 0.25s ease;
}

.fgd-v2-map-link:hover {
    color: #43121b;
}

.fgd-v2-map-link:hover i {
    transform: translate(3px, -3px);
}

/* BURGUNDY CONTACT PANEL */
.fgd-v2-contact-panel {
    display: flex;
    flex-direction: column;
    min-width: 0;
    padding: 35px 30px 25px;
    background: linear-gradient(150deg, rgba(152, 59, 75, 0.24), transparent 45%), #43121b;
    color: #f3eee5;
    box-shadow: 0 18px 45px rgba(67, 18, 27, 0.16);
}

.fgd-v2-panel-top {
    padding-bottom: 25px;
    border-bottom: 1px solid rgba(243, 238, 229, 0.17);
}

.fgd-v2-panel-eyebrow {
    display: block;
    margin-bottom: 12px;
    color: #e1c486;
    font-size: 10px;
    font-weight: 800;
    letter-spacing: 2px;
}

.fgd-v2-panel-top h3 {
    margin: 0 0 12px;
    color: #fff;
    font-size: 31px;
    font-weight: 800;
    letter-spacing: -0.5px;
}

.fgd-v2-panel-top>p {
    margin: 0;
    color: #d6c7c0;
    font-size: 13px;
    line-height: 1.85;
}

/* CONTACT ROWS */
.fgd-v2-contact-list {
    flex: 1;
}

.fgd-v2-contact-row {
    display: flex;
    align-items: flex-start;
    gap: 15px;
    padding: 22px 0;
    border-bottom: 1px solid rgba(243, 238, 229, 0.14);
    transition: padding-left 0.25s ease;
}

.fgd-v2-contact-row:hover {
    padding-left: 5px;
}

.fgd-v2-icon {
    display: flex;
    flex: 0 0 43px;
    align-items: center;
    justify-content: center;
    width: 43px;
    height: 43px;
    border: 1px solid rgba(225, 196, 134, 0.42);
    background: rgba(225, 196, 134, 0.08);
    color: #e1c486;
    font-size: 16px;
    transition: background 0.25s ease, color 0.25s ease;
}

.fgd-v2-contact-row:hover .fgd-v2-icon {
    background: #c6a15b;
    color: #43121b;
}

.fgd-v2-contact-copy {
    flex: 1;
    min-width: 0;
}

.fgd-v2-contact-copy>span {
    display: block;
    margin-bottom: 6px;
    color: #e1c486;
    font-size: 9px;
    font-weight: 800;
    letter-spacing: 1.25px;
}

.fgd-v2-contact-copy h4 {
    margin: 0 0 7px;
    color: #fff;
    font-size: 16px;
    font-weight: 700;
}

.fgd-v2-contact-copy p,
.fgd-v2-contact-copy a {
    overflow-wrap: anywhere;
    margin: 0;
    color: #d6c7c0;
    font-size: 12px;
    line-height: 1.8;
}

.fgd-v2-contact-copy a {
    color: #fff;
    font-weight: 600;
    text-decoration: none;
    transition: color 0.25s ease;
}

.fgd-v2-contact-copy a:hover {
    color: #e1c486;
    text-decoration: underline;
}

/* BOTTOM STRIP */
.fgd-v2-panel-bottom {
    display: flex;
    align-items: center;
    gap: 13px;
    margin-top: 23px;
    padding: 17px;
    border: 1px solid rgba(225, 196, 134, 0.3);
    background: rgba(22, 24, 28, 0.2);
}

.fgd-v2-bottom-icon {
    color: #e1c486;
    font-size: 18px;
}

.fgd-v2-panel-bottom p {
    margin: 0;
    color: #e9ddd2;
    font-size: 12px;
    line-height: 1.7;
}

/* TABLET */
@media (max-width: 991.98px) {
    .fgd-contact-v2 {
        padding: 70px 0;
    }

    .fgd-v2-heading {
        grid-template-columns: 1fr;
        gap: 20px;
    }

    .fgd-v2-heading>p {
        max-width: 620px;
    }

    .fgd-v2-layout {
        grid-template-columns: 1fr;
    }

    .fgd-v2-map {
        min-height: 380px;
    }

    .fgd-v2-map iframe {
        min-height: 380px;
    }

    .fgd-v2-contact-panel {
        padding: 30px;
    }

    .fgd-v2-contact-list {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        column-gap: 25px;
    }

    .fgd-v2-contact-row:nth-child(2) {
        border-bottom: 1px solid rgba(243, 238, 229, 0.14);
    }
}

/* MOBILE */
@media (max-width: 575.98px) {
    .fgd-contact-v2 {
        padding: 52px 0;
    }

    .fgd-v2-heading {
        gap: 17px;
        margin-bottom: 28px;
    }

    .fgd-v2-overline {
        margin-bottom: 12px;
        font-size: 10px;
        letter-spacing: 1.8px;
    }

    .fgd-v2-heading h2 {
        font-size: 34px;
        letter-spacing: -0.8px;
    }

    .fgd-v2-heading>p {
        padding-left: 15px;
        font-size: 14px;
    }

    .fgd-v2-layout {
        gap: 20px;
    }

    .fgd-v2-map-area {
        padding: 10px;
    }

    .fgd-v2-map {
        min-height: 300px;
    }

    .fgd-v2-map iframe {
        min-height: 300px;
    }

    .fgd-v2-map-label {
        font-size: 9px;
    }

    .fgd-v2-contact-panel {
        padding: 25px 19px 20px;
    }

    .fgd-v2-panel-top h3 {
        font-size: 27px;
    }

    .fgd-v2-contact-list {
        display: block;
    }

    .fgd-v2-contact-row {
        padding: 19px 0;
    }

    .fgd-v2-panel-bottom {
        padding: 14px;
    }
}

/* REDUCED MOTION */
@media (prefers-reduced-motion: reduce) {

    .fgd-contact-v2 *,
    .fgd-contact-v2 *::before,
    .fgd-contact-v2 *::after {
        animation: none !important;
        transition: none !important;
    }
}


/* ========================================
   FALLBROOK GARAGE DOOR CA - FOOTER
======================================== */

.fgd-footer {
    --fgd-burgundy: #721d2b;
    --fgd-burgundy-dark: #43121b;
    --fgd-burgundy-light: #983b4b;
    --fgd-gunmetal: #16181c;
    --fgd-gunmetal-light: #24272c;
    --fgd-warm: #f3eee5;
    --fgd-cream: #ddd4c6;
    --fgd-gold: #c6a15b;
    --fgd-gold-light: #e1c486;
    --fgd-white: #ffffff;
    --fgd-muted: #bdb6ad;

    position: relative;
    overflow: hidden;
    color: var(--fgd-warm);
    background:
        radial-gradient(
            ellipse at 5% 100%,
            rgba(114, 29, 43, 0.24),
            transparent 38%
        ),
        linear-gradient(
            135deg,
            var(--fgd-gunmetal),
            #101114 70%,
            var(--fgd-burgundy-dark)
        );
    border-top: 4px solid var(--fgd-gold);
}

/* Decorative background detail */
.fgd-footer::before {
    content: "";
    position: absolute;
    top: -110px;
    right: -100px;
    width: 310px;
    height: 310px;
    border: 1px solid rgba(198, 161, 91, 0.13);
    transform: rotate(45deg);
    pointer-events: none;
}

.fgd-footer::after {
    content: "";
    position: absolute;
    top: -70px;
    right: -60px;
    width: 230px;
    height: 230px;
    border: 1px solid rgba(198, 161, 91, 0.10);
    transform: rotate(45deg);
    pointer-events: none;
}

.fgd-footer-main {
    position: relative;
    z-index: 1;
    padding: 76px 0 58px;
}

.fgd-footer-brand {
    display: inline-flex;
    align-items: center;
    gap: 13px;
    margin-bottom: 23px;
    color: var(--fgd-white);
    text-decoration: none;
}

.fgd-footer-brand:hover {
    color: var(--fgd-white);
}

.fgd-footer-brand-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 58px;
    height: 58px;
    flex: 0 0 58px;
    color: var(--fgd-gold-light);
    background: rgba(114, 29, 43, 0.48);
    border: 1px solid rgba(225, 196, 134, 0.6);
    border-radius: 4px;
    font-size: 27px;
    transition: background 0.3s ease, transform 0.3s ease;
}

.fgd-footer-brand:hover .fgd-footer-brand-icon {
    background: var(--fgd-burgundy);
    transform: translateY(-3px);
}

.fgd-footer-brand-text {
    display: flex;
    flex-direction: column;
    line-height: 1.2;
}

.fgd-footer-brand-text strong {
    font-size: 24px;
    font-weight: 800;
    letter-spacing: 1.5px;
}

.fgd-footer-brand-text small {
    margin-top: 6px;
    color: var(--fgd-gold-light);
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 3px;
}

.fgd-footer-about {
    max-width: 360px;
    margin-bottom: 24px;
    color: var(--fgd-muted);
    font-size: 14px;
    line-height: 1.95;
}

.fgd-footer-badge {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    padding: 10px 14px;
    color: var(--fgd-cream);
    background: rgba(255, 255, 255, 0.035);
    border-left: 3px solid var(--fgd-gold);
    font-size: 12px;
    font-weight: 600;
    letter-spacing: 0.3px;
}

.fgd-footer-badge i {
    color: var(--fgd-gold-light);
    font-size: 17px;
}

/* Column headings */
.fgd-footer-title {
    margin: 7px 0 15px;
    color: var(--fgd-white);
    font-size: 16px;
    font-weight: 800;
    letter-spacing: 0.6px;
}

.fgd-footer-line {
    display: block;
    width: 43px;
    height: 3px;
    margin-bottom: 25px;
    background: var(--fgd-gold);
    border-radius: 2px;
}

/* Footer links */
.fgd-footer-links,
.fgd-footer-contact {
    margin: 0;
    padding: 0;
    list-style: none;
}

.fgd-footer-links li {
    margin-bottom: 13px;
}

.fgd-footer-links a {
    position: relative;
    display: inline-block;
    color: var(--fgd-muted);
    font-size: 13px;
    line-height: 1.6;
    text-decoration: none;
    transition: color 0.25s ease, padding-left 0.25s ease;
}

.fgd-footer-links a::before {
    content: "";
    display: inline-block;
    width: 6px;
    height: 6px;
    margin: 0 10px 2px 0;
    background: var(--fgd-burgundy-light);
    transform: rotate(45deg);
    transition: background 0.25s ease;
}

.fgd-footer-links a:hover {
    padding-left: 5px;
    color: var(--fgd-gold-light);
}

.fgd-footer-links a:hover::before {
    background: var(--fgd-gold);
}

/* Contact information */
.fgd-footer-contact {
    display: flex;
    flex-direction: column;
    gap: 20px;
}

.fgd-footer-contact li {
    display: flex;
    align-items: flex-start;
    gap: 13px;
    min-width: 0;
}

.fgd-contact-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 38px;
    height: 38px;
    flex: 0 0 38px;
    color: var(--fgd-gold-light);
    background: rgba(114, 29, 43, 0.48);
    border: 1px solid rgba(198, 161, 91, 0.2);
    border-radius: 3px;
    font-size: 14px;
    transition: color 0.25s ease, background 0.25s ease;
}

.fgd-footer-contact li:hover .fgd-contact-icon {
    color: var(--fgd-white);
    background: var(--fgd-burgundy);
}

.fgd-footer-contact li > div {
    display: flex;
    flex-direction: column;
    gap: 5px;
    min-width: 0;
}

.fgd-footer-contact strong {
    color: var(--fgd-white);
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 0.3px;
}

.fgd-footer-contact span:not(.fgd-contact-icon),
.fgd-footer-contact a {
    overflow-wrap: anywhere;
    color: var(--fgd-muted);
    font-size: 12px;
    line-height: 1.7;
    text-decoration: none;
    transition: color 0.25s ease;
}

.fgd-footer-contact a:hover {
    color: var(--fgd-gold-light);
}

/* Bottom bar */
.fgd-footer-bottom {
    position: relative;
    z-index: 1;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
    min-height: 78px;
    padding: 20px 0;
    border-top: 1px solid rgba(243, 238, 229, 0.12);
}

.fgd-footer-bottom p {
    margin: 0;
    color: var(--fgd-muted);
    font-size: 12px;
    line-height: 1.8;
}

.fgd-footer-bottom-links {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 10px;
}

.fgd-footer-bottom-links a {
    color: var(--fgd-muted);
    font-size: 12px;
    text-decoration: none;
    transition: color 0.25s ease;
}

.fgd-footer-bottom-links a:hover {
    color: var(--fgd-gold-light);
}

.fgd-footer-separator {
    color: var(--fgd-burgundy-light);
    font-size: 12px;
}

.fgd-back-top {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 39px;
    height: 39px;
    flex: 0 0 39px;
    color: var(--fgd-gunmetal);
    background: var(--fgd-gold);
    border: 1px solid var(--fgd-gold-light);
    border-radius: 3px;
    text-decoration: none;
    transition: background 0.25s ease, transform 0.25s ease;
}

.fgd-back-top:hover {
    color: var(--fgd-gunmetal);
    background: var(--fgd-gold-light);
    transform: translateY(-4px);
}

/* Responsive */
@media (max-width: 991.98px) {
    .fgd-footer-main {
        padding: 60px 0 42px;
    }

    .fgd-footer-about {
        max-width: 450px;
    }
}

@media (max-width: 767.98px) {
    .fgd-footer-main {
        padding: 48px 0 35px;
    }

    .fgd-footer-title {
        margin-top: 0;
    }

    .fgd-footer-bottom {
        flex-direction: column;
        align-items: flex-start;
        padding: 23px 0;
    }

    .fgd-back-top {
        position: absolute;
        right: 0;
        bottom: 22px;
    }

    .fgd-footer-bottom p {
        max-width: calc(100% - 48px);
    }
}

@media (max-width: 400px) {
    .fgd-footer-brand-text strong {
        font-size: 20px;
    }

    .fgd-footer-brand-text small {
        font-size: 10px;
        letter-spacing: 2px;
    }

    .fgd-footer-brand-icon {
        width: 50px;
        height: 50px;
        flex-basis: 50px;
        font-size: 23px;
    }
}