/* Custom CSS to override responsive styles */

/* ===== NEW HERO BANNER STYLES ===== */
.hero-banner-section {
    position: relative;
    min-height: 700px;
    background-image: url('../images/hbg.svg');
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    padding: 100px 20px;
}

/* Dark overlay to match old banner */
.hero-banner-section::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: rgba(0, 20, 60, 0.75);
    z-index: 1;
}

.hero-content-wrapper {
    position: relative;
    z-index: 10;
    text-align: center;
    max-width: 900px;
    margin: 0 auto;
}

/* Ensure bubbles are above overlay but below content */
.hero-banner-section .bubbleContainer {
    z-index: 5;
}

.hero-main-title {
    font-size: 56px;
    font-weight: 700;
    color: #ffffff;
    margin-bottom: 25px;
    line-height: 1.2;
    text-shadow: 2px 2px 8px rgba(0, 0, 0, 0.3);
}

.hero-subtitle-wrapper {
    margin-bottom: 30px;
}

.hero-subtitle-text {
    font-size: 32px;
    font-weight: 600;
    color: #ffd700;
    text-shadow: 1px 1px 4px rgba(0, 0, 0, 0.3);
}

.hero-description {
    font-size: 20px;
    color: #ffffff;
    margin-bottom: 40px;
    line-height: 1.6;
    text-shadow: 1px 1px 3px rgba(0, 0, 0, 0.3);
}

.hero-cta-buttons {
    display: flex;
    gap: 20px;
    justify-content: center;
    flex-wrap: wrap;
}

.hero-btn {
    display: inline-block;
    padding: 18px 40px;
    font-size: 18px;
    font-weight: 600;
    text-decoration: none;
    border-radius: 50px;
    transition: all 0.3s ease;
    text-align: center;
    min-width: 220px;
}

.hero-btn-primary {
    background-color: #ffd700;
    color: #333333;
    border: 2px solid #ffd700;
}

.hero-btn-primary:hover {
    background-color: #ffed4e;
    color: #333333;
    transform: translateY(-3px);
    box-shadow: 0 10px 25px rgba(255, 215, 0, 0.4);
}

.hero-btn-whatsapp {
    background-color: #25D366;
    color: #ffffff;
    border: 2px solid #25D366;
}

.hero-btn-whatsapp:hover {
    background-color: #20BA5A;
    color: #ffffff;
    transform: translateY(-3px);
    box-shadow: 0 10px 25px rgba(37, 211, 102, 0.4);
}

.hero-btn-whatsapp i {
    margin-right: 8px;
    font-size: 20px;
}

.hero-btn-secondary {
    background-color: transparent;
    color: #ffffff;
    border: 2px solid #ffffff;
}

.hero-btn-secondary:hover {
    background-color: #ffffff;
    color: #667eea;
    transform: translateY(-3px);
    box-shadow: 0 10px 25px rgba(255, 255, 255, 0.4);
}

/* Mobile Responsive */
@media (max-width: 768px) {
    .hero-banner-section {
        min-height: 600px;
        padding: 80px 15px;
    }
    
    .hero-main-title {
        font-size: 36px;
        margin-bottom: 20px;
    }
    
    .hero-subtitle-text {
        font-size: 22px;
    }
    
    .hero-description {
        font-size: 16px;
        margin-bottom: 30px;
    }
    
    .hero-cta-buttons {
        flex-direction: column;
        gap: 15px;
    }
    
    .hero-btn {
        padding: 15px 30px;
        font-size: 16px;
        min-width: 100%;
    }
}

@media (max-width: 480px) {
    .hero-banner-section {
        min-height: 550px;
        padding: 60px 15px;
    }
    
    .hero-main-title {
        font-size: 28px;
    }
    
    .hero-subtitle-text {
        font-size: 18px;
    }
    
    .hero-description {
        font-size: 14px;
    }
}

/* ===== CLEAN BUBBLE SYSTEM - REMAKE FROM SCRATCH ===== */

/* Bubble Container - Works on all devices */
.bubbleContainer {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    overflow: hidden;
    z-index: 1;
    pointer-events: none;
    /* Debug: Add background to see container */
    /* background: rgba(255,0,0,0.1); */
}

/* Base Bubble Styling - Works on all devices */
.bubble {
    position: absolute;
    border-radius: 50%;
    background: url('../images/buble.png') no-repeat center center;
    background-size: cover;
    pointer-events: none;
    opacity: 0.7;
    /* Hardware acceleration for smooth animation */
    will-change: transform, opacity;
    transform: translateZ(0);
    backface-visibility: hidden;
}

/* Desktop Bubble Animation */
@keyframes bubbleFloat {
    0% {
        transform: translateY(0) scale(0.3);
        opacity: 0.4;
    }
    50% {
        transform: translateY(-300px) scale(0.7);
        opacity: 0.8;
    }
    100% {
        transform: translateY(-600px) scale(1);
        opacity: 0;
    }
}

/* Desktop Bubbles */
@media (min-width: 768px) {
    .bubble {
        width: 60px;
        height: 60px;
        animation: bubbleFloat 8s infinite ease-out;
        animation-fill-mode: both;
    }
    
    .bubble-1 { left: 10%; bottom: 0; animation-delay: -1s; }
    .bubble-2 { left: 20%; bottom: 0; animation-delay: -2s; }
    .bubble-3 { left: 30%; bottom: 0; animation-delay: -3s; }
    .bubble-4 { left: 40%; bottom: 0; animation-delay: -4s; }
    .bubble-5 { left: 50%; bottom: 0; animation-delay: -5s; }
    .bubble-6 { left: 60%; bottom: 0; animation-delay: -6s; }
    .bubble-7 { left: 70%; bottom: 0; animation-delay: -7s; }
    .bubble-8 { left: 80%; bottom: 0; animation-delay: -1.5s; }
    .bubble-9 { left: 90%; bottom: 0; animation-delay: -2.5s; }
    .bubble-10 { left: 15%; bottom: 0; animation-delay: -3.5s; }
    .bubble-11 { left: 25%; bottom: 0; animation-delay: -4.5s; }
    .bubble-12 { left: 35%; bottom: 0; animation-delay: -5.5s; }
    .bubble-13 { left: 45%; bottom: 0; animation-delay: -6.5s; }
    .bubble-14 { left: 55%; bottom: 0; animation-delay: -7.5s; }
    .bubble-15 { left: 65%; bottom: 0; animation-delay: -0.5s; }
}

/* Mobile Bubbles */
@media (max-width: 767px) {
    .bubble {
        width: 40px;
        height: 40px;
        animation: bubbleFloat 6s infinite ease-out;
        animation-fill-mode: both;
        display: block !important;
    }
    
    .bubble-1 { left: 15%; bottom: 0; animation-delay: -1s; }
    .bubble-2 { left: 30%; bottom: 0; animation-delay: -2s; }
    .bubble-3 { left: 45%; bottom: 0; animation-delay: -3s; }
    .bubble-4 { left: 60%; bottom: 0; animation-delay: -4s; }
    .bubble-5 { left: 75%; bottom: 0; animation-delay: -5s; }
    .bubble-6 { left: 85%; bottom: 0; animation-delay: -1.5s; }
    .bubble-7 { left: 5%; bottom: 0; animation-delay: -2.5s; }
    .bubble-8 { left: 25%; bottom: 0; animation-delay: -3.5s; }
    
    /* Hide extra bubbles on mobile for performance */
    .bubble-9, .bubble-10, .bubble-11, .bubble-12, .bubble-13, .bubble-14, .bubble-15 {
        display: none !important;
    }
}

/* Force visibility for all bubble containers */
.banner .bubbleContainer,
.home-three-banner .bubbleContainer,
.banner-image .bubbleContainer,
.footer-bubbles {
    display: block !important;
    opacity: 1 !important;
    visibility: visible !important;
}

/* Ensure banner sections have proper positioning for bubbles */
.banner,
.home-three-banner,
.banner-image,
.home-three-banner-image {
    position: relative;
    overflow: hidden;
}

/* Fix banner background - set directly instead of relying on data-background JS */
.home-three-banner-image {
    background-image: url('../images/hbg.svg');
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    min-height: 779px;
}

/* Ensure banner is visible */
.home-three-banner {
    display: block;
    visibility: visible;
}

/* Force banner text and buttons to be visible */
.home-three-banner .banner-title,
.home-three-banner .banner-content-wrapper p,
.home-three-banner .common-btn-3,
.home-three-banner .white-btn,
.home-three-banner .banner-buttons,
.home-three-banner .banner-buttons a {
    opacity: 1 !important;
    transform: translateY(0) !important;
    visibility: visible !important;
    display: inline-block !important;
    color: #ffffff !important;
}

/* Specific styling for banner title */
.home-three-banner .banner-title {
    font-size: 48px !important;
    font-weight: 700 !important;
    color: #ffffff !important;
    display: block !important;
}

/* Banner buttons specific */
.home-three-banner .banner-buttons {
    display: flex !important;
}

/* Ensure banner content is visible */
.home-three-banner .banner-content,
.home-three-banner .banner-content-wrapper,
.home-three-banner .banner-content-wrapper-inner,
.home-three-banner .banner-slide {
    opacity: 1 !important;
    visibility: visible !important;
    display: block !important;
}

/* Ensure proper z-index for banner content */
.home-three-banner .banner-carousel,
.home-three-banner .banner-content-wrapper {
    position: relative;
    z-index: 10;
}

/* Make sure Owl Carousel shows the slides */
.home-three-banner .owl-stage-outer,
.home-three-banner .owl-stage,
.home-three-banner .owl-item {
    display: block !important;
    opacity: 1 !important;
}

/* Force ALL owl-item content to be visible, not just active ones */
.home-three-banner .owl-item .banner-title,
.home-three-banner .owl-item .banner-content-wrapper p,
.home-three-banner .owl-item .common-btn-3,
.home-three-banner .owl-item .white-btn,
.home-three-banner .owl-item .banner-buttons {
    opacity: 1 !important;
    visibility: visible !important;
    transform: none !important;
}

/* Force active slide content to be visible */
.home-three-banner .owl-item.active .banner-title,
.home-three-banner .owl-item.active p,
.home-three-banner .owl-item.active .banner-buttons,
.home-three-banner .owl-item.active .banner-buttons a {
    opacity: 1 !important;
    visibility: visible !important;
    display: block !important;
    transform: translateY(0) !important;
}

/* Ensure banner content wrapper has proper height and display */
.home-three-banner .banner-content-wrapper {
    min-height: 400px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
}

/* Footer bubble container */
.footer-bubbles {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 1;
    overflow: hidden;
    pointer-events: none;
}

/* ===== END BUBBLE SYSTEM ===== */

/* Common responsive fixes for all screen sizes */
.banner-buttons {
    display: flex;
    gap: 15px;
}

/* Responsive improvements for footer "Get your free quote today" box */
.footer-top {
    padding: 30px 20px;
    height: auto;
    min-height: 180px;
    margin-bottom: 40px;
}

.footer-top-content h3 {
    font-size: 28px;
    line-height: 1.3;
    margin-bottom: 20px;
    text-align: center;
}

.footer-form {
    width: 100%;
    height: auto;
    margin-top: 10px;
}

.footer-form input[type="email"] {
    width: 100%;
    padding: 12px 15px;
}

.footer-form-icon {
    right: 5px;
}

.footer-form-icon i {
    padding: 8px 15px 2px 15px;
    font-size: 20px;
}

/* Testimonial section fixes */
.testimonial-content {
    padding: 30px 15px;
}

/* Footer improvements */
.footer-content {
    margin-bottom: 30px;
}

.footer-bottom-wrapper {
    text-align: center;
}

/* ===== NAVIGATION RESPONSIVE FIXES ===== */

/* Desktop Navigation - Better sizing and spacing */
@media (min-width: 992px) {
    /* Main navigation links */
    .navbar-nav .nav-link {
        font-size: 14px !important;
        padding: 8px 12px !important;
        font-weight: 500 !important;
        white-space: nowrap;
    }
    
    /* Dropdown menu styling */
    .navbar-nav .dropdown-menu {
        font-size: 13px !important;
    }
    
    .navbar-nav .dropdown-item {
        font-size: 13px !important;
        padding: 8px 15px !important;
    }
    
    /* Main nav container */
    .main-nav {
        padding: 8px 0 !important;
    }
    
    .navbar-nav.main-menu {
        gap: 5px;
    }
}

/* Tablet Navigation - Medium screens */
@media (min-width: 768px) and (max-width: 991px) {
    .navbar-nav .nav-link {
        font-size: 13px !important;
        padding: 6px 10px !important;
    }
    
    .navbar-nav .dropdown-item {
        font-size: 12px !important;
        padding: 6px 12px !important;
    }
}

/* Large Desktop - Extra spacing */
@media (min-width: 1400px) {
    .navbar-nav .nav-link {
        font-size: 15px !important;
        padding: 10px 15px !important;
    }
    
    .navbar-nav .dropdown-item {
        font-size: 14px !important;
        padding: 10px 18px !important;
    }
}

/* Additional mobile navigation fixes */
@media (max-width: 991px) {
    .mobile-header .navbar-toggler {
        border: 2px solid #0039a6 !important;
        padding: 8px 12px !important;
        background-color: #0039a6 !important;
        border-radius: 5px !important;
    }
    
    .mobile-header .navbar-toggler:focus {
        box-shadow: none !important;
        outline: none !important;
    }
    
    .mobile-header .navbar-toggler i {
        color: white !important;
        font-size: 18px !important;
    }
    
    .mobile-header #navbarMobile {
        background-color: white !important;
        border: 2px solid #0039a6 !important;
        border-radius: 8px !important;
        margin-top: 15px !important;
        padding: 0 !important;
        box-shadow: 0 4px 6px rgba(0,0,0,0.1) !important;
    }
    
    .mobile-header .navbar-nav {
        padding: 0 !important;
        margin: 0 !important;
        list-style: none !important;
    }
    
    .mobile-header .navbar-nav .nav-item {
        border-bottom: 1px solid #e9ecef !important;
        margin: 0 !important;
        display: block !important;
        width: 100% !important;
    }
    
    .mobile-header .navbar-nav .nav-item:last-child {
        border-bottom: none !important;
    }
    
    .mobile-header .navbar-nav .nav-link {
        display: block !important;
        padding: 15px 20px !important;
        color: #333333 !important;
        font-size: 16px !important;
        font-weight: 500 !important;
        text-decoration: none !important;
        background-color: white !important;
        border: none !important;
        width: 100% !important;
        text-align: left !important;
        transition: all 0.3s ease !important;
    }
    
    .mobile-header .navbar-nav .nav-link:hover,
    .mobile-header .navbar-nav .nav-link.active {
        background-color: #0039a6 !important;
        color: white !important;
    }
    
    .mobile-header .navbar-nav .dropdown-menu {
        position: static !important;
        float: none !important;
        width: 100% !important;
        margin-top: 0 !important;
        background-color: #f8f9fa !important;
        border: none !important;
        border-radius: 0 !important;
        box-shadow: none !important;
        padding: 0 !important;
        transform: none !important;
    }
    
    .mobile-header .navbar-nav .dropdown-menu.show {
        display: block !important;
    }
    
    .mobile-header .navbar-nav .dropdown-item {
        display: block !important;
        width: 100% !important;
        padding: 12px 30px !important;
        color: #555555 !important;
        font-size: 14px !important;
        text-decoration: none !important;
        background-color: #f8f9fa !important;
        border-bottom: 1px solid #e9ecef !important;
        transition: all 0.3s ease !important;
    }
    
    .mobile-header .navbar-nav .dropdown-item:hover,
    .mobile-header .navbar-nav .dropdown-item:focus {
        background-color: #0039a6 !important;
        color: white !important;
    }
    
    .mobile-header .navbar-nav .dropdown-item:last-child {
        border-bottom: none !important;
    }
    
    .banner-buttons {
        flex-direction: column;
    }
} 

/* ===== HEADER TOP SECTION RESPONSIVE FIXES ===== */

/* Desktop - normal sizing */
@media (min-width: 992px) {
    .contact-item .text span {
        font-size: 11px !important;
    }
    
    .contact-item .text a,
    .contact-item .text p {
        font-size: 13px !important;
    }
    
    .contact-item .icon {
        font-size: 18px !important;
    }
    
    .quote-btn {
        font-size: 13px !important;
        padding: 10px 15px !important;
    }
    
    .header-logo {
        max-height: 70px !important;
    }
}

/* Large Desktop - slightly bigger */
@media (min-width: 1400px) {
    .contact-item .text span {
        font-size: 12px !important;
    }
    
    .contact-item .text a,
    .contact-item .text p {
        font-size: 14px !important;
    }
    
    .contact-item .icon {
        font-size: 20px !important;
    }
    
    .quote-btn {
        font-size: 14px !important;
        padding: 12px 18px !important;
    }
    
    .header-logo {
        max-height: 80px !important;
    }
}

/* Tablet and smaller - ensure proper sizing */
@media (max-width: 991px) {
    .top-info-bar {
        padding: 10px 0 !important;
    }
    
    .contact-info-right {
        flex-wrap: wrap;
        gap: 10px !important;
    }
    
    .contact-item .text span {
        font-size: 10px !important;
    }
    
    .contact-item .text a,
    .contact-item .text p {
        font-size: 12px !important;
    }
    
    .quote-btn {
        font-size: 12px !important;
        padding: 8px 12px !important;
    }
    
    .header-logo {
        max-height: 60px !important;
    }
}

/* ===== SOCIAL ICONS AND PHONE NUMBER FIX ===== */

/* Desktop - Fix social icons and phone number spacing */
@media (min-width: 992px) {
    .social-phone-wrapper {
        display: flex;
        flex-direction: column;
        align-items: flex-end;
        gap: 10px;
        padding: 10px 0;
    }
    
    .social-icons {
        display: flex;
        gap: 10px;
        align-items: center;
    }
    
    .social-icons a {
        font-size: 16px !important;
        color: #fff !important;
        transition: color 0.3s;
    }
    
    .social-icons a:hover {
        color: #0039a6 !important;
    }
    
    .phone-number {
        text-align: right;
    }
    
    .phone-number span {
        display: block;
        font-size: 11px !important;
        color: #999 !important;
        margin-bottom: 2px;
    }
    
    .phone-number a {
        font-size: 18px !important;
        font-weight: 700 !important;
        color: #fff !important;
        text-decoration: none !important;
    }
    
    /* Ensure main nav doesn't overlap */
    .main-nav .row {
        align-items: center;
    }
    
    .main-nav .col-md-9 {
        padding-right: 15px;
    }
    
    .main-nav .col-md-3 {
        padding-left: 15px;
    }
}

/* Large Desktop - More spacing */
@media (min-width: 1400px) {
    .social-icons a {
        font-size: 18px !important;
    }
    
    .phone-number span {
        font-size: 12px !important;
    }
    
    .phone-number a {
        font-size: 20px !important;
    }
}

/* Tablet - Hide or simplify social icons */
@media (min-width: 768px) and (max-width: 991px) {
    .social-phone-wrapper {
        display: flex;
        gap: 5px;
        align-items: center;
    }
    
    .social-icons a {
        font-size: 14px !important;
    }
    
    .phone-number span {
        font-size: 10px !important;
    }
    
    .phone-number a {
        font-size: 14px !important;
    }
}

/* ===== PHONE NUMBER WRAPPER STYLING (Social icons removed) ===== */

/* Desktop - Phone number styling without social icons */
@media (min-width: 992px) {
    .phone-number-wrapper {
        display: flex;
        flex-direction: column;
        align-items: flex-end;
        justify-content: center;
        padding: 10px 0;
        height: 100%;
    }
    
    .phone-number-wrapper .phone-number {
        text-align: right;
    }
    
    .phone-number-wrapper .phone-number span {
        display: block;
        font-size: 11px !important;
        color: #999 !important;
        margin-bottom: 5px;
        text-transform: uppercase;
        letter-spacing: 0.5px;
    }
    
    .phone-number-wrapper .phone-number a {
        font-size: 20px !important;
        font-weight: 700 !important;
        color: #fff !important;
        text-decoration: none !important;
        transition: color 0.3s;
    }
    
    .phone-number-wrapper .phone-number a:hover {
        color: #0039a6 !important;
    }
}

/* Large Desktop - Larger phone number */
@media (min-width: 1400px) {
    .phone-number-wrapper .phone-number span {
        font-size: 12px !important;
    }
    
    .phone-number-wrapper .phone-number a {
        font-size: 22px !important;
    }
}

/* Medium screens - Adjust sizing */
@media (min-width: 768px) and (max-width: 991px) {
    .phone-number-wrapper {
        display: flex;
        align-items: center;
        justify-content: flex-end;
    }
    
    .phone-number-wrapper .phone-number span {
        font-size: 10px !important;
    }
    
    .phone-number-wrapper .phone-number a {
        font-size: 16px !important;
    }
}

/* BLOG SIDEBAR GRID FIX */
.blog-sidebar .widget {
    background: #ffffff;
    border: 1px solid #e3e9f3;
    border-radius: 10px;
    padding: 20px;
    margin-bottom: 20px;
}

.blog-sidebar .widget .widget-title {
    font-size: 34px;
    margin-bottom: 16px;
    color: #17263c;
}

.blog-sidebar .sidebar-services {
    list-style: none !important;
    padding: 0 !important;
    margin: 0 !important;
    display: grid;
    grid-template-columns: 1fr;
    gap: 10px;
}

.blog-sidebar .sidebar-services li {
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
}

.blog-sidebar .sidebar-services li a {
    display: flex !important;
    align-items: center;
    gap: 10px;
    padding: 12px 14px;
    border-radius: 8px;
    border: 1px solid #dbe6f5;
    background: #f8fbff;
    color: #174078;
    font-weight: 700;
    text-decoration: none;
    transition: all .2s ease;
}

.blog-sidebar .sidebar-services li a:hover {
    background: #eaf2ff;
    border-color: #c8daf8;
}

.blog-sidebar .sidebar-services li a i {
    margin: 0 !important;
    font-size: 16px !important;
    color: #1a73e8 !important;
}

.blog-sidebar .sidebar-locations {
    background: #f7faff !important;
    border: 1px solid #dbe6f5;
    border-radius: 10px !important;
    padding: 16px !important;
}

.blog-sidebar .sidebar-locations ul {
    list-style: none !important;
    padding: 0 !important;
    margin: 0 !important;
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px;
}

.blog-sidebar .sidebar-locations li {
    margin: 0 !important;
}

.blog-sidebar .sidebar-locations li a {
    display: block;
    padding: 8px 10px;
    border-radius: 8px;
    border: 1px solid #d7e4f8;
    background: #ffffff;
    color: #1a4f98;
    font-weight: 700;
    text-decoration: none;
}

.blog-sidebar .sidebar-locations li a:hover {
    background: #edf4ff;
}

@media (max-width: 767px) {
    .blog-sidebar .sidebar-locations ul {
        grid-template-columns: 1fr;
    }
}

/* SITEWIDE REDESIGN SYSTEM */
.jk-page-shell{padding:56px 0;background:#f7f9fc}
.jk-surface{background:#fff;border:1px solid #e6edf5;border-radius:18px;box-shadow:0 12px 28px rgba(12,43,80,.06);padding:32px}
.jk-hero{display:flex;flex-wrap:wrap;gap:18px;align-items:center;justify-content:space-between;margin-bottom:26px}
.jk-hero h1{margin:0;font-size:2rem;line-height:1.2;color:#0e2e4d}
.jk-hero p{margin:10px 0 0;color:#35506c;max-width:860px}
.jk-badge-row{display:flex;flex-wrap:wrap;gap:10px;margin-top:12px}
.jk-badge{background:#eaf3ff;color:#124a86;border-radius:999px;padding:7px 13px;font-size:.85rem;font-weight:700}
.jk-grid{display:grid;gap:16px}
.jk-grid-3{grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}
.jk-card{border:1px solid #e3ebf4;border-radius:14px;padding:18px;background:#fff;height:100%}
.jk-card h3,.jk-card h4{margin:0 0 8px;color:#12395d}
.jk-card p,.jk-card li{color:#415d79}
.jk-card i{color:#1a73e8;margin-right:8px}
.jk-process{counter-reset:step;display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:14px}
.jk-step{background:#f8fbff;border:1px dashed #bfd8f7;border-radius:12px;padding:16px}
.jk-step strong{display:block;color:#0f3d67;margin-bottom:6px}
.jk-link-list{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:10px}
.jk-link-list a{display:block;background:#fff;border:1px solid #deebfb;border-radius:10px;padding:10px 12px;color:#17548f;text-decoration:none;font-weight:600}
.jk-link-list a:hover{background:#f0f7ff}
.jk-cta{margin-top:22px;border-left:4px solid #1a73e8;background:#f4f9ff;border-radius:10px;padding:16px 18px;color:#0e3e6c}
.jk-article-content h2{font-size:1.28rem;margin-top:24px;color:#123a5f}
.jk-article-content p,.jk-article-content li{color:#3f5872}
.jk-article-content ul,.jk-article-content ol{padding-left:20px}
@media (max-width: 768px){.jk-surface{padding:22px}.jk-hero h1{font-size:1.56rem}}
