        :root {
            --shell-bg: #fffaf5;
            --shell-soft: #fff2e7;
            --shell-glow: #ffe3ce;
            --text-strong: #24201b;
            --text-muted: #7f746a;
            --line: #f0d8c5;
            --brand: #dd6b20;
            --brand-strong: #bc5414;
            --card-bg: #ffffff;
            --card-shadow: 0 18px 44px rgba(93, 48, 16, 0.11);
        }

        html,
        body {
            min-height: 100%;
        }

        body {
            margin: 0;
            font-family: 'Plus Jakarta Sans', sans-serif;
            color: var(--text-strong);
            background: radial-gradient(circle at 8% 0%, #ffe8d6 0%, rgba(255, 232, 214, 0) 40%),
                        radial-gradient(circle at 92% 8%, #ffe6d3 0%, rgba(255, 230, 211, 0) 34%),
                        var(--shell-bg);
        }

        h1,
        h2,
        h3,
        h4,
        .display-title,
        .section-title {
            font-family: 'Fraunces', serif;
            letter-spacing: 0.01em;
        }

        .main-content {
            position: relative;
            z-index: 1;
            min-height: calc(100vh - 148px);
        }

        .customer-nav {
            backdrop-filter: blur(12px);
            background: rgba(255, 250, 245, 0.92);
            border-bottom: 1px solid var(--line);
        }

        .customer-nav .navbar-brand {
            font-weight: 700;
            font-size: 1.02rem;
            color: var(--text-strong);
            letter-spacing: 0.01em;
        }

        .brand-logo {
            width: 38px;
            height: 38px;
            object-fit: contain;
            margin-right: 0.55rem;
        }

        .customer-nav .nav-link {
            color: #433f3a;
            font-weight: 600;
            font-size: 0.93rem;
        }

        .customer-nav .nav-link:hover,
        .customer-nav .nav-link:focus {
            color: var(--brand-strong);
        }

        .navbar-toggler {
            border-color: #e8ccb7;
            padding: 0.25rem 0.5rem;
        }

        .navbar-toggler:focus {
            box-shadow: 0 0 0 0.15rem rgba(221, 107, 32, 0.24);
        }

        .navbar-toggler-icon {
            background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba(90, 63, 43, 0.85)' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e");
        }

        .btn-cta,
        .btn-cta-outline {
            border-radius: 0.8rem;
            font-weight: 700;
            padding: 0.56rem 1rem;
            border-width: 1px;
        }

        .btn-cta {
            color: #fff;
            background: linear-gradient(120deg, #e7782a 0%, #d95f11 100%);
            border-color: #d96b1f;
            box-shadow: 0 10px 20px rgba(210, 107, 32, 0.22);
        }

        .btn-cta:hover,
        .btn-cta:focus {
            color: #fff;
            background: linear-gradient(120deg, #dd6b20 0%, #bf4d09 100%);
            border-color: #bf4d09;
        }

        .btn-cta-outline {
            color: var(--brand-strong);
            background: #fff;
            border-color: #ebb892;
        }

        .btn-cta-outline:hover,
        .btn-cta-outline:focus {
            color: #fff;
            background: #d96b1f;
            border-color: #d96b1f;
        }

        .section-shell {
            padding: 4.3rem 0;
        }

        .section-shell-sm {
            padding: 3.2rem 0;
        }

        .section-title {
            font-size: clamp(1.6rem, 2.8vw, 2.45rem);
            margin-bottom: 0.7rem;
        }

        .section-subtitle {
            color: var(--text-muted);
            margin-bottom: 0;
            max-width: 640px;
        }

        .soft-card {
            background: var(--card-bg);
            border: 1px solid #f2dfd0;
            border-radius: 1.05rem;
            box-shadow: var(--card-shadow);
        }

        .chip {
            display: inline-flex;
            align-items: center;
            gap: 0.45rem;
            padding: 0.35rem 0.62rem;
            border-radius: 999px;
            font-size: 0.8rem;
            font-weight: 600;
            background: #fff5ec;
            color: #8b3f0f;
            border: 1px solid #f5c8a6;
        }

        .hero-shell {
            padding-top: 3.8rem;
            padding-bottom: 2.4rem;
        }

        .hero-tag {
            display: inline-flex;
            align-items: center;
            gap: 0.4rem;
            background: #fff2e5;
            color: #a24714;
            border: 1px solid #f3c9a9;
            border-radius: 999px;
            padding: 0.4rem 0.74rem;
            font-size: 0.79rem;
            font-weight: 700;
        }

        .hero-title {
            margin-top: 1rem;
            margin-bottom: 0.95rem;
            font-size: clamp(2rem, 6vw, 3.4rem);
            line-height: 1.06;
        }

        .hero-subtitle {
            color: var(--text-muted);
            font-size: clamp(0.97rem, 2vw, 1.08rem);
            max-width: 620px;
        }

        .hero-actions {
            display: flex;
            flex-wrap: wrap;
            gap: 0.72rem;
            margin-top: 1.45rem;
        }

        .hero-metric-grid {
            display: grid;
            grid-template-columns: repeat(2, minmax(0, 1fr));
            gap: 0.8rem;
        }

        .hero-metric {
            padding: 0.9rem;
        }

        .hero-metric b {
            display: block;
            font-size: 1.26rem;
            line-height: 1.1;
            font-weight: 800;
            color: #9a420f;
        }

        .hero-metric span {
            font-size: 0.83rem;
            color: var(--text-muted);
        }

        .service-card,
        .article-card,
        .branch-card {
            height: 100%;
            overflow: hidden;
        }

        .service-card .icon,
        .branch-card .icon {
            width: 42px;
            height: 42px;
            border-radius: 0.85rem;
            background: #fff4ea;
            color: #b84b0a;
            border: 1px solid #f5cdad;
            display: inline-flex;
            align-items: center;
            justify-content: center;
            font-size: 1.1rem;
        }

        .article-card .thumb,
        .gallery-tile img {
            width: 100%;
            object-fit: cover;
        }

        .article-card .thumb {
            height: 212px;
            border-radius: 0.9rem;
        }

        .gallery-tile {
            display: block;
            border-radius: 0.9rem;
            overflow: hidden;
            border: 1px solid #f2dfd0;
            box-shadow: 0 10px 22px rgba(93, 48, 16, 0.12);
        }

        .gallery-tile img {
            height: 230px;
            transition: transform 0.35s ease;
        }

        .gallery-tile:hover img {
            transform: scale(1.04);
        }

        .article-excerpt {
            color: var(--text-muted);
            font-size: 0.92rem;
            line-height: 1.56;
        }

        .text-muted-soft {
            color: var(--text-muted);
        }

        .footer-shell {
            background: #24180f;
            color: #f4dfcf;
            border-top: 1px solid #3b291c;
            padding: 1.5rem 0;
        }

        .footer-shell a {
            color: #ffdcbf;
            text-decoration: none;
        }

        .footer-shell a:hover {
            color: #fff0e0;
        }

        .inline-divider {
            width: 1px;
            height: 15px;
            background: rgba(255, 220, 191, 0.37);
        }

        .page-banner {
            padding: 2.8rem 0 1.1rem;
        }

        .page-banner .section-title {
            margin-bottom: 0.45rem;
        }

        .custom-pagination {
            display: flex;
            flex-wrap: wrap;
            gap: 0.48rem;
        }

        .custom-pagination .page-link {
            border-radius: 0.7rem;
            border: 1px solid #edd0b7;
            color: #7f3e12;
            min-width: 40px;
            text-align: center;
            font-weight: 700;
        }

        .custom-pagination .page-link.active,
        .custom-pagination .page-link:hover {
            background: #e7782a;
            border-color: #dd6b20;
            color: #fff;
        }

        .reveal-up {
            animation: revealUp 0.64s ease both;
        }

        .delay-1 {
            animation-delay: 0.08s;
        }

        .delay-2 {
            animation-delay: 0.16s;
        }

        .delay-3 {
            animation-delay: 0.24s;
        }

        @keyframes revealUp {
            from {
                opacity: 0;
                transform: translateY(12px);
            }
            to {
                opacity: 1;
                transform: translateY(0);
            }
        }

        @media (max-width: 991.98px) {
            .section-shell {
                padding: 3.4rem 0;
            }

            .hero-shell {
                padding-top: 2.3rem;
                padding-bottom: 1.1rem;
            }

            .hero-metric-grid {
                margin-top: 1.4rem;
            }

            .page-banner {
                padding-top: 2.15rem;
            }
        }

        @media (max-width: 575.98px) {
            .section-shell {
                padding: 2.65rem 0;
            }

            .hero-actions .btn {
                width: 100%;
            }

            .article-card .thumb,
            .gallery-tile img {
                height: 190px;
            }
        }
