/* Shared service-detail redesign. Loaded after custom.css so these rules only standardize service pages. */
:root { --service-wine:#8f2d35; --service-gold:#f4b72a; --service-ink:#4a3335; --service-muted:#634547; --service-canvas:#fdfbf7; }
.page-service-single.service-redesign,.page-service-single.numero1-service-layout { padding:90px 0 100px; background:var(--service-canvas); }
.service-redesign > .container > .row > .col-lg-4 { display:none; }
.service-redesign > .container > .row > .col-lg-8 { flex:0 0 100%; max-width:100%; }
.service-redesign .service-single-content { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:30px; align-items:stretch; }
.service-redesign .page-single-image,.numero1-image { overflow:hidden; border:1px solid rgba(143,45,53,.1); border-radius:24px; box-shadow:0 20px 45px rgba(143,45,53,.12); }
.service-redesign .page-single-image figure,.service-redesign .page-single-image img { width:100%; height:100%; min-height:100%; margin:0; object-fit:cover; }
.service-redesign .service-entry { position:relative; padding:42px 40px; border:1px solid rgba(143,45,53,.1); border-radius:24px; background:#fff; box-shadow:0 15px 40px rgba(143,45,53,.05); }
.service-redesign .service-entry::before { content:attr(data-service); display:block; margin:-4px 0 20px; color:var(--service-wine); font-size:38px; font-weight:700; line-height:1.2; }
.service-redesign .service-entry::after,.numero1-top-content::before,.numerology-points-box::before { position:absolute; top:0; left:0; width:100%; height:4px; content:''; background:linear-gradient(90deg,var(--service-wine),var(--service-gold),var(--service-wine)); }
.service-redesign .service-entry p { color:var(--service-muted); font-size:17px; line-height:1.75; }
.service-redesign .numerology-points-box { margin-top:30px; }
.numerology-points-box { position:relative; margin-top:45px; padding:42px; overflow:hidden; border:1px solid rgba(143,45,53,.1); border-radius:24px; background:#fff; box-shadow:0 15px 40px rgba(143,45,53,.05); }
.numerology-point-list h3 { position:relative; margin-bottom:28px; padding-bottom:12px; color:var(--service-wine); font-size:26px; font-weight:700; }
.numerology-point-list h3::after { position:absolute; bottom:0; left:0; width:56px; height:3px; content:''; border-radius:2px; background:linear-gradient(90deg,var(--service-wine),var(--service-gold)); }
.numerology-point-list ul { margin:0; padding:0; list-style:none; }
.numerology-point-list ul li { position:relative; margin-bottom:4px; padding:13px 16px 13px 42px; border-bottom:1px dashed rgba(143,45,53,.12); border-radius:10px; color:var(--service-ink); font-size:17px; font-weight:500; transition:background .25s ease,color .25s ease,padding .25s ease; }
.numerology-point-list ul li::before { position:absolute; top:14px; left:14px; content:'\f058'; color:var(--service-gold); font-family:'Font Awesome 6 Free'; font-size:16px; font-weight:900; }
.numerology-point-list ul li:hover { padding-left:46px; background:#fff5ec; color:var(--service-wine); }
@media (max-width:991px) { .page-service-single.service-redesign,.page-service-single.numero1-service-layout { padding:60px 0 80px; } .service-redesign .service-single-content { grid-template-columns:1fr; } .service-redesign .page-single-image img { min-height:360px; } }
@media (max-width:575px) { .service-redesign .service-entry,.numerology-points-box { padding:28px 22px; border-radius:18px; } .service-redesign .service-entry::before { font-size:30px; } .service-redesign .page-single-image img { min-height:280px; } .numerology-point-list h3 { font-size:23px; } .numerology-point-list ul li { font-size:16px; } }

/* Numerology service detail styles */
/* Section Background & Padding */
        .numero1-service-layout {
            padding: 90px 0 100px;
            background-color: #FDFBF7;
            position: relative;
        }

        /* Top Section - Equal Height Desktop Alignment */
        .numero1-top-row {
            row-gap: 30px;
        }

        @media (min-width: 992px) {
            .numero1-top-row {
                display: flex;
                align-items: stretch;
            }
            .numero1-top-row > [class*="col-"] {
                display: flex;
                flex-direction: column;
            }
            .numero1-image {
                height: 100%;
                min-height: 100%;
                position: relative;
            }
            .numero1-image figure.image-anime {
                height: 100%;
                width: 100%;
                position: relative;
                margin: 0;
            }
            .numero1-image figure.image-anime img {
                position: absolute;
                top: 0;
                left: 0;
                width: 100%;
                height: 100%;
                object-fit: cover;
            }
        }

        /* Image Card & Floating Trust Badge */
        .numero1-image {
            position: relative;
            border-radius: 24px;
            overflow: hidden;
            box-shadow: 0 20px 45px rgba(143, 45, 53, 0.12);
            border: 1px solid rgba(143, 45, 53, 0.08);
            transition: box-shadow 0.4s ease, transform 0.4s ease;
        }
        .numero1-image:hover {
            box-shadow: 0 25px 55px rgba(143, 45, 53, 0.18);
            transform: translateY(-3px);
        }
        .numero1-image figure.image-anime {
            margin: 0;
            width: 100%;
            height: 100%;
            display: block;
        }
        .numero1-image figure.image-anime img {
            width: 100%;
            height: 100%;
            display: block;
            border-radius: 24px;
        }

        .numero1-image-badge {
            position: absolute;
            bottom: 24px;
            left: 24px;
            right: 24px;
            background: rgba(255, 255, 255, 0.94);
            backdrop-filter: blur(16px);
            -webkit-backdrop-filter: blur(16px);
            padding: 16px 20px;
            border-radius: 16px;
            border: 1px solid rgba(244, 183, 42, 0.45);
            box-shadow: 0 12px 32px rgba(0, 0, 0, 0.12);
            display: flex;
            align-items: center;
            gap: 16px;
            z-index: 5;
            transition: all 0.3s ease;
            display: none;
        }
        .numero1-image-badge:hover {
            background: #FFFFFF;
            transform: translateY(-2px);
            box-shadow: 0 15px 36px rgba(143, 45, 53, 0.18);
            border-color: #F4B72A;
        }
        .numero1-image-badge .badge-icon {
            width: 48px;
            height: 48px;
            border-radius: 12px;
            background: linear-gradient(135deg, #F4B72A 0%, #D4A237 100%);
            display: flex;
            align-items: center;
            justify-content: center;
            color: #8F2D35;
            font-size: 22px;
            flex-shrink: 0;
            box-shadow: 0 6px 16px rgba(244, 183, 42, 0.35);
        }
        .numero1-image-badge .badge-info strong {
            display: block;
            font-size: 15px;
            font-weight: 700;
            color: #8F2D35;
            text-transform: uppercase;
            letter-spacing: 0.6px;
            line-height: 1.3;
        }
        .numero1-image-badge .badge-info span {
            display: block;
            font-size: 13px;
            color: #634547;
            font-weight: 500;
            line-height: 1.4;
        }

        /* Top Right Content Box */
        .numero1-top-content {
            background: #FFFFFF;
            border: 1px solid rgba(143, 45, 53, 0.1);
            border-radius: 24px;
            padding: 42px 40px;
            height: 100%;
            display: flex;
            flex-direction: column;
            justify-content: center;
            box-shadow: 0 15px 40px rgba(143, 45, 53, 0.05);
            position: relative;
            overflow: hidden;
        }
        .numero1-top-content::before {
            content: '';
            position: absolute;
            top: 0;
            left: 0;
            width: 100%;
            height: 4px;
            background: linear-gradient(90deg, #8F2D35 0%, #F4B72A 50%, #8F2D35 100%);
        }
        .numero1-badge {
            display: inline-flex;
            align-items: center;
            gap: 8px;
            background: #FFF4EA;
            color: #8F2D35;
            font-size: 13px;
            font-weight: 600;
            text-transform: uppercase;
            letter-spacing: 1px;
            padding: 6px 16px;
            border-radius: 30px;
            border: 1px solid rgba(244, 183, 42, 0.45);
            margin-bottom: 14px;
        }
        .numero1-badge i {
            color: #F4B72A;
            font-size: 13px;
            display: none;
        }
        .numero1-top-content .section-title {
            margin-bottom: 20px;
        }
        .numero1-top-content .section-title h2 {
            font-size: 38px;
            font-weight: 700;
            color: #8F2D35;
            margin-bottom: 8px;
            line-height: 1.2;
        }
        .numero1-tagline {
            font-size: 18px;
            color: #C58925;
            font-weight: 600;
            margin-bottom: 0;
            line-height: 1.4;
            display: none;
        }
        .numero1-lead-p {
            font-size: 18px;
            line-height: 1.8;
            color: #4A3335;
            margin-bottom: 16px;
            font-weight: 450;
        }
        .numero1-lead-p strong {
            color: #8F2D35;
            font-weight: 700;
        }
        .numero1-top-content p:not(.numero1-lead-p) {
            font-size: 18px;
            line-height: 1.75;
            color: #634547;
            margin-bottom: 24px;
        }
        .numero1-quick-pills {
            display: flex;
            flex-wrap: wrap;
            gap: 12px;
            margin-top: auto;
            padding-top: 8px;
        }
        .quick-pill {
            display: inline-flex;
            align-items: center;
            gap: 8px;
            background: #FFF4EA;
            border: 1px solid rgba(143, 45, 53, 0.12);
            border-radius: 30px;
            padding: 9px 18px;
            font-size: 13.5px;
            font-weight: 600;
            color: #8F2D35;
            transition: all 0.3s ease;
        }
        .quick-pill i {
            color: #F4B72A;
            font-size: 14px;
            transition: color 0.3s ease;
        }
        .quick-pill:hover {
            background: #8F2D35;
            color: #FFFFFF;
            border-color: #8F2D35;
            transform: translateY(-2px);
            box-shadow: 0 6px 16px rgba(143, 45, 53, 0.2);
        }
        .quick-pill:hover i {
            color: #F4B72A;
        }

        /* Full Width Pending Content Card */
        .numero1-full-content-card {
            margin-top: 45px;
            background: linear-gradient(145deg, #FFFFFF 0%, #FFF8F1 100%);
            border: 1px solid rgba(143, 45, 53, 0.12);
            border-radius: 24px;
            padding: 42px 42px 38px;
            box-shadow: 0 15px 40px rgba(143, 45, 53, 0.06);
            position: relative;
            overflow: hidden;
        }
        .numero1-full-content-card::before {
            content: '';
            position: absolute;
            top: 0;
            left: 0;
            width: 100%;
            height: 4px;
            background: linear-gradient(90deg, #F4B72A 0%, #8F2D35 50%, #F4B72A 100%);
        }
        .full-content-header {
            display: flex;
            align-items: center;
            gap: 22px;
            margin-bottom: 28px;
        }
        .full-content-header .header-icon-box {
            width: 60px;
            height: 60px;
            border-radius: 16px;
            background: linear-gradient(135deg, #8F2D35 0%, #681C23 100%);
            display: flex;
            align-items: center;
            justify-content: center;
            color: #F4B72A;
            font-size: 26px;
            flex-shrink: 0;
            box-shadow: 0 8px 22px rgba(143, 45, 53, 0.28);
        }
        .full-content-header .header-eyebrow {
            display: block;
            font-size: 13px;
            font-weight: 700;
            text-transform: uppercase;
            letter-spacing: 1.5px;
            color: #C58925;
            margin-bottom: 4px;
        }
        .full-content-header h3 {
            font-size: 25px;
            font-weight: 700;
            color: #8F2D35;
            margin: 0;
            line-height: 1.35;
        }
        .full-content-quote-box {
            background: #FFFFFF;
            border-left: 4px solid #F4B72A;
            border-radius: 0 16px 16px 0;
            padding: 22px 28px 22px 24px;
            margin-bottom: 32px;
            box-shadow: 0 6px 20px rgba(143, 45, 53, 0.05);
            display: flex;
            gap: 18px;
            align-items: flex-start;
        }
        .full-content-quote-box .quote-symbol {
            color: #F4B72A;
            font-size: 28px;
            line-height: 1;
            margin-top: 2px;
            flex-shrink: 0;
        }
        .full-content-quote-box p {
            font-size: 18px;
            line-height: 1.8;
            color: #4A3335;
            margin: 0;
        }
        .full-content-quote-box p strong {
            color: #8F2D35;
            font-weight: 700;
        }
        .full-content-pillars-row {
            row-gap: 24px;
        }
        .pillar-box {
            background: #FFFFFF;
            border: 1px solid rgba(143, 45, 53, 0.1);
            border-radius: 18px;
            padding: 26px 24px;
            height: 100%;
            display: flex;
            gap: 20px;
            align-items: flex-start;
            transition: all 0.35s ease;
            box-shadow: 0 4px 16px rgba(0, 0, 0, 0.03);
        }
        .pillar-box:hover {
            transform: translateY(-4px);
            box-shadow: 0 14px 30px rgba(143, 45, 53, 0.1);
            border-color: rgba(244, 183, 42, 0.6);
        }
        .pillar-icon {
            width: 50px;
            height: 50px;
            border-radius: 14px;
            background: #FFF4EA;
            display: flex;
            align-items: center;
            justify-content: center;
            color: #8F2D35;
            font-size: 22px;
            flex-shrink: 0;
            border: 1px solid rgba(244, 183, 42, 0.3);
            transition: all 0.3s ease;
        }
        .pillar-box:hover .pillar-icon {
            background: #8F2D35;
            color: #F4B72A;
            border-color: #8F2D35;
            transform: rotate(5deg);
        }
        .pillar-info h4 {
            font-size: 18px;
            font-weight: 700;
            color: #8F2D35;
            margin-bottom: 8px;
            line-height: 1.35;
        }
        .pillar-info p {
            font-size: 18px;
            line-height: 1.7;
            color: #634547;
            margin: 0;
        }

        /* How Numerology Helps Points Checklist */
        .numerology-points-box {
            margin-top: 45px;
            background: #FFFFFF;
            border: 1px solid rgba(143, 45, 53, 0.1);
            border-radius: 24px;
            padding: 42px 42px 38px;
            box-shadow: 0 15px 40px rgba(143, 45, 53, 0.05);
            position: relative;
            overflow: hidden;
        }
        .numerology-points-box::before {
            content: '';
            position: absolute;
            top: 0;
            left: 0;
            width: 100%;
            height: 4px;
            background: linear-gradient(90deg, #8F2D35 0%, #F4B72A 100%);
        }
        .numerology-point-list h3 {
            font-size: 26px;
            font-weight: 700;
            color: #8F2D35;
            margin-bottom: 28px;
            position: relative;
            padding-bottom: 12px;
        }
        .numerology-point-list h3::after {
            content: '';
            position: absolute;
            left: 0;
            bottom: 0;
            width: 56px;
            height: 3px;
            background: linear-gradient(90deg, #8F2D35, #F4B72A);
            border-radius: 2px;
        }
        .numerology-point-list ul {
            list-style: none;
            padding: 0;
            margin: 0;
        }
        .numerology-point-list ul li {
            position: relative;
            padding: 13px 16px 13px 42px;
            font-size: 18px;
            font-weight: 500;
            color: #4A3335;
            border-bottom: 1px dashed rgba(143, 45, 53, 0.12);
            transition: all 0.25s ease;
            border-radius: 10px;
            margin-bottom: 4px;
        }
        .numerology-point-list ul li::before {
            content: '\f058';
            font-family: 'Font Awesome 6 Free';
            font-weight: 900;
            position: absolute;
            left: 14px;
            top: 14px;
            color: #F4B72A;
            font-size: 16px;
            transition: all 0.25s ease;
        }
        .numerology-point-list ul li:hover {
            background: #FFF5EC;
            color: #8F2D35;
            padding-left: 46px;
        }
        .numerology-point-list ul li:hover::before {
            color: #8F2D35;
            transform: scale(1.15);
        }
        .numerology-point-list ul li:last-child {
            border-bottom: none;
        }

        /* Download Section & Cards */
        .numero1-download-section {
            margin-top: 45px;
            margin-bottom: 20px;
            background:#fff4ea;
            border-radius: 24px;
            padding: 40px 42px;
            color: #FFFFFF;
            box-shadow: 0 18px 45px rgba(143, 45, 53, 0.28);
            position: relative;
            overflow: hidden;
        }
        .numero1-download-section::after {
            content: '';
            position: absolute;
            right: -40px;
            top: -40px;
            width: 240px;
            height: 240px;
            background: radial-gradient(circle, rgba(244, 183, 42, 0.16) 0%, transparent 70%);
            border-radius: 50%;
            pointer-events: none;
        }
        .numero1-download-header {
            display: flex;
            justify-content: space-between;
            align-items: center;
            flex-wrap: wrap;
            gap: 20px;
            margin-bottom: 28px;
            padding-bottom: 22px;
            border-bottom: 1px solid rgba(255, 255, 255, 0.14);
            position: relative;
            z-index: 2;
        }
        .download-title-wrap h3 {
            font-size: 25px;
            color: #FFFFFF;
            font-weight: 700;
            margin-bottom: 6px;
            display: flex;
            align-items: center;
            gap: 12px;
        }
        .download-title-wrap h3 i {
            color: #F4B72A;
            font-size: 24px;
        }
        .download-title-wrap p {
            font-size: 18px;
            color: rgba(255, 255, 255, 0.82);
            margin: 0;
        }
        .download-cta-btn .btn-default {
            background: linear-gradient(135deg, #F4B72A 0%, #D4A237 100%);
            color: #8F2D35 !important;
            font-weight: 700;
            font-size: 14px;
            letter-spacing: 0.5px;
            border: none;
            padding: 13px 28px;
            border-radius: 30px;
            transition: all 0.3s ease;
            display: inline-flex;
            align-items: center;
            box-shadow: 0 6px 18px rgba(0, 0, 0, 0.18);
        }
        .download-cta-btn .btn-default:hover {
            background: #FFFFFF;
            color: #8F2D35 !important;
            transform: translateY(-3px);
            box-shadow: 0 10px 25px rgba(0, 0, 0, 0.25);
        }
        .numero1-download-grid {
            display: grid;
            grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
            gap: 22px;
            position: relative;
            z-index: 2;
        }
        .numero1-download-card {
            background: rgba(255, 255, 255, 0.08);
            border: 1px solid rgba(255, 255, 255, 0.16);
            backdrop-filter: blur(10px);
            -webkit-backdrop-filter: blur(10px);
            border-radius: 18px;
            padding: 20px 24px;
            display: flex;
            align-items: center;
            gap: 18px;
            text-decoration: none;
            transition: all 0.35s ease;
        }
        .numero1-download-card:hover {
            background: rgba(255, 255, 255, 0.16);
            border-color: #F4B72A;
            transform: translateY(-3px);
            box-shadow: 0 12px 28px rgba(0, 0, 0, 0.2);
        }
        .numero1-download-card .download-card-icon {
            width: 52px;
            height: 52px;
            border-radius: 14px;
            background: #FFFFFF;
            display: flex;
            align-items: center;
            justify-content: center;
            flex-shrink: 0;
            box-shadow: 0 6px 16px rgba(0, 0, 0, 0.15);
        }
        .numero1-download-card .download-card-icon img {
            width: 28px;
            height: 28px;
            object-fit: contain;
        }
        .numero1-download-card .download-card-info {
            flex: 1;
        }
        .numero1-download-card .download-card-info h4 {
            font-size: 16.5px;
            font-weight: 700;
            color: #FFFFFF;
            margin-bottom: 4px;
            line-height: 1.3;
        }
        .numero1-download-card .download-card-info span {
            font-size: 18px;
            color: rgba(255, 255, 255, 0.78);
            line-height: 1.4;
            display: block;
        }
        .numero1-download-card .download-card-btn {
            width: 42px;
            height: 42px;
            border-radius: 50%;
            background: rgba(244, 183, 42, 0.18);
            border: 1px solid rgba(244, 183, 42, 0.45);
            display: flex;
            align-items: center;
            justify-content: center;
            color: #F4B72A;
            font-size: 16px;
            transition: all 0.3s ease;
            flex-shrink: 0;
        }
        .numero1-download-card:hover .download-card-btn {
            background: #F4B72A;
            color: #8F2D35;
            transform: translateY(2px);
            border-color: #F4B72A;
        }

        /* Responsive Breakpoints */
        @media (max-width: 991px) {
            .numero1-service-layout {
                padding: 60px 0 80px;
            }
            .numero1-image {
                height: 400px;
                min-height: 400px;
                margin-bottom: 10px;
            }
            .numero1-top-content {
                padding: 32px 28px;
            }
            .numero1-full-content-card {
                padding: 32px 28px;
            }
            .numerology-points-box {
                padding: 32px 28px;
            }
            .numero1-download-section {
                padding: 32px 28px;
            }
        }

        @media (max-width: 767px) {
            .numero1-image {
                height: 320px;
                min-height: 320px;
            }
            .numero1-image-badge {
                left: 16px;
                right: 16px;
                bottom: 16px;
                padding: 12px 16px;
                gap: 12px;
            }
            .numero1-image-badge .badge-icon {
                width: 40px;
                height: 40px;
                font-size: 18px;
            }
            .numero1-image-badge .badge-info strong {
                font-size: 13.5px;
            }
            .numero1-image-badge .badge-info span {
                font-size: 12px;
            }
            .numero1-top-content {
                padding: 28px 20px;
            }
            .numero1-top-content .section-title h2 {
                font-size: 30px;
            }
            .numero1-tagline {
                font-size: 16px;
            }
            .numero1-full-content-card {
                padding: 28px 20px;
            }
            .full-content-header {
                flex-direction: column;
                align-items: flex-start;
                gap: 14px;
            }
            .full-content-header h3 {
                font-size: 21px;
            }
            .full-content-quote-box {
                padding: 18px 18px;
                gap: 12px;
            }
            .pillar-box {
                padding: 20px 18px;
            }
            .numerology-points-box {
                padding: 28px 20px;
            }
            .numerology-point-list h3 {
                font-size: 22px;
            }
            .numerology-point-list ul li {
                font-size: 14.5px;
                padding-right: 10px;
            }
            .numero1-download-section {
                padding: 28px 20px;
            }
            .download-title-wrap h3 {
                font-size: 21px;
            }
            .download-cta-btn {
                width: 100%;
            }
            .download-cta-btn .btn-default {
                width: 100%;
                justify-content: center;
            }
            .numero1-download-grid {
                grid-template-columns: 1fr;
            }
        }


/* Service badge and download CTA corrections */
.numero1-top-content .section-title > .numero1-badge {
    display: inline-flex;
    width: fit-content;
    max-width: 100%;
    vertical-align: top;
}

.numero1-download-header .download-cta-btn .btn-default {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 48px;
    padding: 13px 28px;
    overflow: visible;
    color: #8f2d35 !important;
    isolation: isolate;
}

.numero1-download-header .download-cta-btn .btn-default::before,
.numero1-download-header .download-cta-btn .btn-default::after {
    display: none;
}

.numero1-download-header .download-cta-btn .btn-default:hover,
.numero1-download-header .download-cta-btn .btn-default:focus-visible {
    background: #ffffff;
    color: #8f2d35 !important;
    transform: translateY(-3px);
    box-shadow: 0 10px 25px rgba(0, 0, 0, .25);
}

/* Gallery and testimonials section backgrounds */
.page-gallery,
.page-testimonials {
    position: relative;
    isolation: isolate;
    overflow: hidden;
    background-color: #fdfbf7;
}

.page-gallery {
  /* background:linear-gradient(135deg, rgb(253 251 247 / 30%), rgba(255, 244, 234, .90)), url(../images/gallerybg.png); */
    background-position: center;
    background-size: cover;
}

/* .page-testimonials {
    background-image: radial-gradient(circle at 8% 12%, rgba(244, 183, 42, .17), transparent 28%), radial-gradient(circle at 92% 86%, rgba(143, 45, 53, .10), transparent 30%), linear-gradient(180deg, #fffaf4 0%, #fdfbf7 100%);
} */

.page-gallery .container,
.page-testimonials .container {
    position: relative;
    z-index: 1;
}

.page-gallery .photo-gallery {
    overflow: hidden;
    border: 1px solid rgba(143, 45, 53, .12);
    border-radius: 16px;
    box-shadow: 0 12px 28px rgba(143, 45, 53, .10);
    transition: transform .3s ease, box-shadow .3s ease;
}

.page-gallery .photo-gallery:hover {
    transform: translateY(-5px);
    box-shadow: 0 18px 34px rgba(143, 45, 53, .17);
}

.page-gallery .photo-gallery a,
.page-gallery .photo-gallery img {
    display: block;
}

.page-gallery .photo-gallery img {
    width: 100%;
    transition: transform .45s ease;
}

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

@media (hover: none), (pointer: coarse) {
    .page-gallery .photo-gallery:hover {
        transform: none;
        box-shadow: 0 12px 28px rgba(143, 45, 53, .10);
    }

    .page-gallery .photo-gallery:hover img {
        transform: none;
    }
}

/* Keep gallery and testimonials backgrounds inside their content containers only. */
.page-gallery,
.page-testimonials {
    /* background: transparent; */
}

.page-gallery .container,
.page-testimonials .container {
    padding: 42px;
    border: 1px solid rgba(143, 45, 53, .10);
    border-radius: 24px;
    box-shadow: 0 16px 38px rgba(143, 45, 53, .08);
}

.page-gallery .container {
    background: linear-gradient(135deg, rgba(253, 251, 247, .97), rgba(255, 244, 234, .93)), url('../images/WHEEL-BG.png') center / cover;
}

.page-testimonials .container {
    background: radial-gradient(circle at 8% 12%, rgba(244, 183, 42, .17), transparent 28%), radial-gradient(circle at 92% 86%, rgba(143, 45, 53, .10), transparent 30%), linear-gradient(180deg, #fffaf4 0%, #fdfbf7 100%);
}

@media (max-width: 767px) {
    .page-gallery .container,
    .page-testimonials .container {
        padding: 24px 18px;
        border-radius: 18px;
    }
}

/* Center service highlight tags and insight-card header icons on responsive screens. */
@media (max-width: 991px){
    .numero1-service-layout .numero1-quick-pills {
        justify-content: center;
    }

    .numero1-service-layout .full-content-header {
        justify-content: center;
        text-align: center;
    }

    .numero1-service-layout .header-text-wrap,
    .numero1-service-layout .full-content-header .header-eyebrow,
    .numero1-service-layout .full-content-header h3 {
        text-align: center;
    }
}

@media (max-width: 767px){
    .numero1-service-layout .full-content-header {
        align-items: center;
    }
}

/* Compact service download cards and CTA for small screens. */
@media (max-width: 575px){
    .numero1-service-layout .numero1-download-section {
        padding: 28px 18px;
    }

    .numero1-service-layout .numero1-download-header {
        justify-content: center;
        text-align: center;
    }

    .numero1-service-layout .download-title-wrap h3 {
        justify-content: center;
        font-size: 22px;
    }

    .numero1-service-layout .download-title-wrap p {
        font-size: 15px;
        text-align: center;
    }

    .numero1-service-layout .download-cta-btn,
    .numero1-service-layout .download-cta-btn .btn-default {
        width: 100%;
    }

    .numero1-service-layout .download-cta-btn .btn-default {
        display: flex;
        justify-content: center;
        margin: 0;
    }

    .numero1-service-layout .numero1-download-card {
        display: grid;
        grid-template-columns: 52px minmax(0, 1fr) 42px;
        align-items: center;
        gap: 12px;
        padding: 16px;
    }

    .numero1-service-layout .numero1-download-card .download-card-info h4 {
        font-size: 15px;
        line-height: 1.35;
    }

    .numero1-service-layout .numero1-download-card .download-card-info span {
        font-size: 14px;
        line-height: 1.45;
    }

    .numero1-service-layout .numero1-download-card .download-card-btn {
        width: 40px;
        height: 40px;
    }
}

/* Balanced testimonial video captions. */
.page-testimonials .reference-video-content {
    display: flex;
    flex-direction: column;
    justify-content: center;
    min-height: 108px;
    padding: 20px 24px;
    text-align: center;
    background: rgba(255, 255, 255, .92);
}

.page-testimonials .reference-video-content h3 {
    margin: 0 0 8px;
    color: #8f2d35;
    font-size: 20px;
    line-height: 1.3;
    text-align: center;
}

.page-testimonials .reference-video-content p {
    margin: 0;
    color: #634547;
    font-size: 16px;
    line-height: 1.5;
    text-align: center!important;
}

.page-testimonials .reference-video-card.reference-short .reference-video-content {
    min-height: 76px;
}

@media (max-width: 575px){
    .page-testimonials .reference-video-content {
        min-height: 94px;
        padding: 16px 18px;
    }

    .page-testimonials .reference-video-content h3 {
        font-size: 18px;
    }
}

/* Match the Birth Date Analysis image height to the adjacent content on desktop. */
@media only screen and (min-width: 992px){
    .birth-analysis-page:not(.delivery-baby-page) .numero1-top-row{
        align-items: stretch !important;
    }
    .birth-analysis-page:not(.delivery-baby-page) .numero1-top-row > .col-lg-6{
        display: flex;
    }
    .birth-analysis-page:not(.delivery-baby-page) .numero1-image{
        flex: 1 1 auto;
        width: 100%;
        height: auto;
        min-height: 0;
    }
}
/* Direct, non-animated image rendering for Birth Date Analysis. */
.birth-analysis-page .numero1-image{
    background: #f7eee6 url('../images/birth%20date%20analysis.png') center center / cover no-repeat;
}
.birth-analysis-page .birth-analysis-image-frame{
    display: block;
    width: 100%;
    height: 100%;
    margin: 0;
}
.birth-analysis-page .birth-analysis-image{
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    width: 100% !important;
    height: 100% !important;
    min-height: 100%;
    object-fit: cover;
    position: relative;
    z-index: 2;
}
@media only screen and (min-width: 992px){
    .birth-analysis-page .birth-analysis-image{
        position: absolute;
        inset: 0;
    }
}
/* Direct, non-animated image rendering for Plan Delivery Date & Baby Name. */
.delivery-baby-page .delivery-baby-image-card{
    background: #f7eee6 url('../images/Plan%20Delivery%20Date%20and%20Baby%20Name.png') center center / cover no-repeat;
}
.delivery-baby-page .delivery-baby-image-frame{
    display: block;
    width: 100%;
    height: 100%;
    margin: 0;
}
.delivery-baby-page .delivery-baby-image{
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    width: 100% !important;
    height: 100% !important;
    min-height: 100%;
    object-fit: cover;
    position: relative;
    z-index: 2;
}
@media only screen and (min-width: 992px){
    .delivery-baby-page .numero1-top-row{
        align-items: stretch !important;
    }
    .delivery-baby-page .numero1-top-row > .col-lg-6{
        display: flex;
    }
    .delivery-baby-page .delivery-baby-image-card{
        flex: 1 1 auto;
        width: 100%;
        height: auto;
        min-height: 0;
    }
    .delivery-baby-page .delivery-baby-image{
        position: absolute;
        inset: 0;
    }
}
/* LuckyÃ¢â‚¬â€œUnlucky Numbers second-section details. */
.lucky-number-details{ margin-top: 26px; }
.lucky-number-details ul{ margin: 0 0 26px; padding-left: 22px; }
.lucky-number-details li{ margin-bottom: 9px; color: #634547; line-height: 1.65; }
.lucky-number-details h4{ margin: 28px 0 14px; color: #8f2d35; font-size: 23px; }
.lucky-number-details p{ margin-bottom: 14px; }
.lucky-number-important{ margin-top: 28px; padding: 20px 22px; border-left: 4px solid #f4b72a; border-radius: 0 12px 12px 0; background: #fff8e8; color: #4a3335; line-height: 1.65; }
/* Linked services in the How Numerology Helps section. */
.numerology-point-list .numerology-service-link{
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    padding: 10px 14px;
    margin: -10px -8px -10px -18px;
    border: 1px solid rgba(143, 45, 53, .22);
    border-radius: 10px;
    background: #fff9ef;
    color: #8f2d35;
    font-weight: 700;
    text-decoration: none;
    transition: background .2s ease, color .2s ease, transform .2s ease;
}
.numerology-point-list .numerology-service-link span{
    flex: 0 0 auto;
    color: #9a6514;
    font-size: 12px;
    font-weight: 700;
    text-transform: uppercase;
    white-space: nowrap;
}
.numerology-point-list .numerology-service-link:hover,
.numerology-point-list .numerology-service-link:focus-visible{
    background: #8f2d35;
    color: #fff;
    transform: translateX(3px);
}
.numerology-point-list .numerology-service-link:hover span,
.numerology-point-list .numerology-service-link:focus-visible span{
    color: #ffd56c;
}
@media only screen and (max-width: 767px){
    .numerology-point-list .numerology-service-link{
        align-items: flex-start;
        flex-direction: column;
        gap: 4px;
        margin-left: -10px;
    }
}
/* Hide the contact/social strip above the navbar on mobile screens. */
@media only screen and (max-width: 575px){
    .header-social-strip{
        display: none;
    }
}
/* Keep the mobile dropdown arrow visible after its submenu opens. */
@media only screen and (max-width: 991px){
    .slicknav_open > a .slicknav_arrow:after{
        display: block;
        visibility: visible;
        opacity: 1;
        color: #f4b72a;
    }
}
/* Explicit submenu indicator for the nested Numerology item in SlickNav. */
@media only screen and (max-width: 991px){
    .slicknav_nav li.slicknav_parent:has(a[href="numerology.html"]) > .slicknav_row{
        padding-right: 48px;
    }
    .slicknav_nav li.slicknav_parent:has(a[href="numerology.html"]) > .slicknav_row::after{
        content: '\f107';
        position: absolute;
        top: 50%;
        right: 18px;
        display: block;
        color: #f4b72a;
        font-family: 'Font Awesome 6 Free';
        font-size: 13px;
        font-weight: 900;
        line-height: 1;
        transform: translateY(-50%);
        transition: transform .2s ease;
    }
    .slicknav_nav li.slicknav_parent.slicknav_open:has(a[href="numerology.html"]) > .slicknav_row::after{
        transform: translateY(-50%) rotate(180deg);
    }
}
/* Use the newly supplied bracelet artwork in the existing collection cards. */
.bracelet-product-image{
    background-image: url('../images/numerology-bracelets.png');
}
/* Show Bracelet 1 as a complete image in its own collection card. */
.bracelet-single-product{
    display: flex;
    align-items: center;
    justify-content: center;
    background: #fff8ee;
}
.bracelet-single-product img{
    display: block;
    width: 100%;
    height: 100%;
    object-fit: contain;
}
.bracelet-card:hover .bracelet-single-product{
    transform: none;
}
/* Give bracelet artwork a larger, clearer card area. */
.bracelet-product-image{
    /* aspect-ratio: 1 / .90; */
}
/* Give the navbar appointment button clear space before its arrow icon. */
header.main-header .header-btn .btn-default{
    padding-right: 66px;
}
header.main-header .header-btn .btn-default::before{
    right: 22px;
}
@media only screen and (min-width: 992px) and (max-width: 1199px){
    header.main-header .header-btn .btn-default{
        padding-right: 58px;
    }
    header.main-header .header-btn .btn-default::before{
        right: 18px;
    }
}
/* Use a real arrow icon so appointment-button spacing is always consistent. */
header.main-header .header-btn .btn-default{
    display: inline-flex;
    align-items: center;
    gap: 12px;
    padding: 16px 24px;
}
header.main-header .header-btn .btn-default::before{
    display: none;
}
header.main-header .header-btn .btn-default i{
    display: inline-block;
    font-size: 14px;
    line-height: 1;
}
@media only screen and (min-width: 992px) and (max-width: 1199px){
    header.main-header .header-btn .btn-default{
        gap: 10px;
        padding: 14px 18px;
    }
}
/* Prevent duplicate arrows in the shared navbar appointment button. */
header.main-header .header-btn .btn-default::before{
    display: none !important;
    content: none !important;
}
/* Keep exactly one original CSS arrow in every navbar appointment button. */
header.main-header .header-btn .btn-default::before{
    display: block !important;
    content: '' !important;
}
header.main-header .header-btn .btn-default i{
    display: none !important;
}
/* Final shared appointment-button treatment for every page header. */
header.main-header.header-gold .header-btn .btn-default.btn-highlighted{
    display: inline-block !important;
    padding: 16px 66px 16px 24px !important;
}
header.main-header.header-gold .header-btn .btn-default.btn-highlighted::before{
    display: block !important;
    content: '' !important;
    right: 22px !important;
}
header.main-header.header-gold .header-btn .btn-default.btn-highlighted i{
    display: none !important;
}
@media only screen and (min-width: 992px) and (max-width: 1199px){
    header.main-header.header-gold .header-btn .btn-default.btn-highlighted{
        padding: 14px 58px 14px 18px !important;
    }
    header.main-header.header-gold .header-btn .btn-default.btn-highlighted::before{
        right: 18px !important;
    }
}

/* Bracelet product-title arrow */
.bracelet-card-content h3 {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
}

.bracelet-card-content h3 i {
    color: var(--accent-color);
    font-size: 14px;
    transition: transform 0.3s ease;
}

.bracelet-card:hover .bracelet-card-content h3 i {
    transform: translateX(4px);
}

.bracelet-card-content p:last-child {
    margin-bottom: 0;
}

/* Bracelet title contact link */
.bracelet-card-content h3 a {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    color: inherit;
}

.bracelet-card-content h3 a:hover {
    color: inherit;
}
