/* Responsive Media Queries */

/* Laptop & Desktop (below 1200px) */
@media (max-width: 1200px) {
    .hero-title {
        font-size: 3.5rem;
    }

    .hero-subtitle {
        font-size: 1rem;
    }

    .hero-bottom-container {
        padding: 1rem;
    }

    .search-box-large {
        width: 250px;
    }

    .slider-card {
        width: 120px;
    }

    .slider-card.active {
        width: 200px;
    }

    .why-title {
        font-size: 2rem;
    }
}

/* Tablet & Small Laptop (below 992px) */
@media (max-width: 992px) {
    #hero-body {
        padding: 0px;
    }

    .btn-custom {
        border-radius: 8px;
    }

    .navbar-collapse {
        background: rgba(28, 58, 47, 0.95);
        padding: 1rem;
        border-radius: 12px;
        margin-top: 10px;
    }

    .hero-section {
        height: auto;

        padding-bottom: 5rem;
        border-radius: 0;
    }

    .hero-content {
        text-align: center;
        flex-direction: column;
        align-items: center;
        padding-bottom: 250px;
        /* Space for bottom panel */
    }

    .hero-girl-img {
        right: 50%;
        transform: translateX(50%);
        height: 500px;
        bottom: 120px;
        /* Above panel */
    }

    .hero-bottom-panel-wrapper {
        bottom: 20px;
    }

    .hero-bottom-container {
        flex-direction: column;
        gap: 20px;
    }

    .search-box-large {
        width: 100%;
    }

    .hero-slider-row {
        justify-content: center;
        width: 100%;
        padding-right: 0;
    }

    /* Problem Section */
    .section-problem {
        padding: 3rem 0;
    }

    .title-deco-line {
        width: 75px;
    }

    .section-title {
        font-size: 15px;
        margin-bottom: 1.5rem;
    }

    .problem-desc {
        font-size: 0.95rem;
        margin-bottom: 2rem;
        padding: 0 1rem;
    }

    .comparison-container {
        padding: 0;
    }

    .comparison-container .col-lg-5,
    .comparison-container .col-lg-7 {
        width: 100%;
        padding: 0 10px;
        /* Slight padding */
    }

    .landscape-card {
        height: 220px;
        margin-top: 20px;
        border-radius: 16px;
    }

    .portrait-card {
        height: 220px;
        border-radius: 16px;
    }

    /* Refined Labels for Mobile */
    .comparison-label-bottom {
        bottom: -22px;
        left: 50%;
        transform: translateX(-50%);
        width: auto;
        border-radius: 12px;
        background: linear-gradient(180deg, rgba(255, 255, 255, 0.7) 0%, rgba(255, 255, 255, 0.9) 100%);
        backdrop-filter: blur(15px);
        -webkit-backdrop-filter: blur(15px);
        padding: 10px 25px;
        box-shadow: 0 10px 25px rgba(0, 0, 0, 0.15);
        font-size: 1rem;
        font-weight: 700;
        min-width: 140px;
        z-index: 10;
    }

    /* Mobile Earth Graphic Section */
    .mobile-earth-wrapper {
        margin-top: 2rem;
        margin-bottom: -3rem;
        /* Adjust footer overlap */
    }

    .mobile-earth-img {
        width: 100%;
        /* Zoom in effectively */
        position: absolute;
        top: 40px;
        /* Push down to show top curve */
        left: 50%;
        transform: translateX(-50%);
        pointer-events: none;
        max-width: none;
    }

    .mobile-earth-leaf {
        position: absolute;
        top: -35px;
        right: -40px;
        width: 180px;
        z-index: 5;
        transform: rotate(269deg);
        pointer-events: none;
    }


    /* Product Overview Vertical Stack (Mobile) */
    .overview-stack-container {
        display: block;
        position: relative;
        height: 380px;
        /* Fixed height for the stack area */
        margin-top: 2rem;
        margin-bottom: 2rem;
        cursor: pointer;
        /* Indicate clickable */
    }

    .ov-stack-card {
        position: absolute;
        /* Absolute for stacking */
        left: 50%;
        transform: translateX(-50%);
        width: 100%;
        height: 250px;
        transition: all 0.4s ease-in-out;
        /* Smooth transition for class swap */
        box-shadow: 0 10px 20px rgba(0, 0, 0, 0.2) !important;
        margin: 0;
    }

    /* Interactive Stack States */
    /* Card 1: Top Front */
    .ov-stack-card.card-1 {
        z-index: 4;
        top: 0;
        width: 100%;
        opacity: 1;
        transform: translateX(-50%) scale(1);
    }

    /* Card 2: Second */
    .ov-stack-card.card-2 {
        z-index: 3;
        top: 35px;
        width: 95%;
        /* Simple scaling */
        opacity: 1;
        transform: translateX(-50%) scale(0.95);
    }

    /* Card 3: Third */
    .ov-stack-card.card-3 {
        z-index: 2;
        top: 70px;
        width: 90%;
        opacity: 1;
        transform: translateX(-50%) scale(0.90);
    }

    /* Card 4: Bottom/Back */
    .ov-stack-card.card-4 {
        z-index: 1;
        top: 105px;
        width: 85%;
        opacity: 1;
        /* Or fade out if unwanted */
        transform: translateX(-50%) scale(0.85);
    }

    /* Ensure images cover */
    .ov-stack-card img {
        width: 100%;
        height: 100%;
        object-fit: cover;
        border-radius: 20px;
    }


    .style-red {
        color: #FF4D4D;
    }

    .style-green-text {
        color: #4CAF50;
    }

    .comparison-label-floating {
        bottom: -22px;
        left: 50%;
        transform: translateX(-50%);
        width: auto;
        padding: 12px 50px;
        font-size: 1rem;
        border-radius: 12px;
        box-shadow: 0 10px 25px rgba(0, 0, 0, 0.2);
        z-index: 10;
    }

    /* Banner */
    .banner-section {
        padding: 0;
    }

    .promo-banner {
        flex-direction: column;
        text-align: center;
        padding: 4rem 1.5rem 0rem 1.5rem;
        /* Top padding, no bottom padding to let image sit at bottom */
        height: auto;
        border-radius: 25px;
        /* Full width look if container allows, but container has padding. */
        /* User image looks like a card but VERY TALL and headset is LARGE */
        min-height: 500px;
        justify-content: flex-start;
        align-items: center;
        background: linear-gradient(90deg, #37A777 0%, #15412E 100%);

    }

    .promo-text {
        z-index: 2;
        margin-bottom: 2rem;
    }

    .promo-text h3 {
        font-size: 24px;
        line-height: 1.3;
        margin-bottom: 2rem;
    }

    .vr-headset-img {
        display: block;
        width: 100%;
        /* Make it wider than container to pop out if overflow allowed, or just 100% */
        max-width: 400px;
        height: auto;
        margin-bottom: -40px;
        /* Pull it down */
        margin-top: 1rem;
        margin-right: 0;
        filter: drop-shadow(0 10px 20px rgba(0, 0, 0, 0.5));
    }

    /* Solution */
    .section-solution {
        padding: 4rem 1rem;
    }

    .solution-header-wrapper {
        justify-content: center;
        margin-bottom: 2rem;
        position: relative;
        display: flex;
        align-items: center;
    }

    .section-title-left {
        font-size: 2rem;
        text-align: center;
        margin: 0;
        /* Remove left margin or specific align */
    }

    .hotels-title {
        font-size: 23px;
    }

    .features-banner-section {
        padding: 2rem 0 0rem;
        margin-bottom: -2rem;
    }

    .contact-hero-title {
        margin-top: 4rem;
    }

    /* Add deco lines on both sides for mobile solution header to match reference */
    .solution-header-wrapper::before {
        content: "";
        width: 40px;
        height: 2px;
        background: black;
        margin-right: 15px;
        position: relative;
    }

    .solution-header-wrapper::after {
        content: "";
        width: 40px;
        height: 2px;
        background: black;
        margin-left: 15px;
        position: relative;
    }

    /* Add diamond tips to lines */
    .solution-header-wrapper::before {
        /* We need a pseudo element on the pseudo element? No. Use span in HTML? Or simpler approach. */
        /* Currently HTML has .solution-deco-line then h2. We need to hide .solution-deco-line or repurpose. */
    }

    /* Let's just target the existing HTML structure and modify via CSS */
    .solution-deco-line {
        display: block !important;
        width: 40px !important;
        margin-right: 10px;
    }

    /* We need a second line on the right. We can add it via ::after on the H2 or wrap. */
    .section-title-left::after {
        content: "";
        display: inline-block;
        width: 40px;
        height: 1px;
        background: black;
        vertical-align: middle;
        margin-left: 15px;
        position: relative;
    }

    .section-title-left::before {
        /* Decoration line is already there as a span in HTML */
        display: none;
        /* Hide if we want symmetry via CSS only, or use it. */
    }

    /* Re-do header strategy: Hide span, use before/after on H2 */
    .solution-deco-line {
        display: none !important;
    }

    .section-title-left {
        display: flex;
        align-items: center;
        justify-content: center;
        gap: 15px;
    }

    .section-title-left::before,
    .section-title-left::after {
        content: "";
        display: block;
        width: 40px;
        height: 2px;
        background: black;
        position: relative;
    }

    .section-title-left::before {
        /* Left line arrow pointing left <--- */
    }

    .section-title-left::after {
        /* Right line arrow pointing right ---> */
    }

    /* Decoration Diamonds */
    .section-title-left::before {
        /* Left diamond logic */
        /* Actually reference shows line with diamond on outer end? Image 1: Line then Diamond. Text. Diamond then Line. */
        /* Wait, image 1: Diamond-Line Text Line-Diamond. */
        /* Let's keep it simple line for now or exact match later. User wants "birebir". */
    }

    .solution-desc {
        text-align: center;
        font-size: 0.9rem;
        margin-bottom: 0;


    }

    /* Feature Cards Grid 2x2 */
    .section-solution .row.g-4.mt-4 {
        display: flex;
        flex-wrap: wrap;
        margin-top: 0rem !important;
    }

    .section-solution .col-md-6 {
        width: 50%;
        /* Force 2 columns */
        padding: 5px;
        /* Tighter padding */
    }

    .sol-feature-card {
        background: #F2F4F6;
        /* padding: 1rem 0.5rem; */
        border-radius: 10px;
        text-align: center;
        height: 100%;
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        margin-top: 0px;
        position: relative;
    }

    .sol-icon-box {
        position: absolute;
        top: -15px;
        left: 10px;
        /* Top left align */
        width: 30px;
        height: 30px;
        background-color: #37A777;
        /* Green */
        border-radius: 6px;
        display: flex;
        align-items: center;
        justify-content: center;
        color: white;
        font-size: 0.8rem;
    }

    .sol-card-text {
        font-size: 0.8rem;
        font-weight: 500;
        margin-top: 10px;
        line-height: 1.3;
    }

    /* Image Cards */
    .sol-img-card {
        height: 200px;
        width: 200px;
        /* Square-ish */
        border: 4px solid #F2F4F6;
        /* Frame border */
        border-radius: 16px;
        overflow: hidden;
        position: relative;
        box-shadow: 0 4px 10px rgba(0, 0, 0, 0.1);
        display: inline-block;
        /* For horizontal scroll if parent allows */
    }

    /* Make the right col scrollable horizontal? */
    .section-solution .col-lg-7 .row {
        display: flex;
        flex-wrap: nowrap;
        overflow-x: auto;

    }

    .section-solution .col-lg-7 .col-6 {
        width: auto;
        /* Allow auto formatting */
        flex: 0 0 auto;
        padding: 0;
    }

    .sol-img-card img {
        height: 100%;
        width: 100%;
        object-fit: cover;
    }

    /* 360 icon centered */
    .home-indicator {
        top: 50%;
        left: 50%;
        transform: translate(-50%, -50%);
        bottom: auto;
        width: 10rem;
    }

    .home-indicator img {
        width: auto;
        height: auto;
        box-shadow: none;
        background: transparent;
    }

    /* Why Visotel */
    .why-card {
        height: auto;
    }

    .why-content-side {
        padding: 2rem;
    }

    .why-header-wrapper {
        justify-content: center;
    }

    .why-description-area {
        text-align: center;
    }

    .why-floating-icon {
        position: relative;
        left: 0;
        top: 0;
        transform: none;
        display: block;
        margin: 0 auto 1rem auto;
        width: 80px;
    }

    /* Footer */
    .footer-brand,
    .footer-nav-list,
    .footer-actions {
        align-items: center !important;
        text-align: center !important;
    }

    .footer-actions {
        flex-direction: row;
        justify-content: center;
        flex-wrap: wrap;
    }
}

/* Mobile (below 768px) */
@media (max-width: 768px) {
    /* ... existing mobile styles ... */

    /* Why Visotel Section */
    .why-card {
        background: rgba(12, 38, 16, 1);

        /* Dark Green */
        border-radius: 40px;
        /* Rounded top */
        overflow: hidden;
        padding-top: 3rem;
    }

    .why-card .row {
        flex-direction: column-reverse;
        /* Flip image and content */
    }

    .why-content-side {
        padding: 0 1.5rem 2rem 1.5rem;

    }

    .why-image-side {
        height: 300px;
        /* Limit height of image area */
        overflow: hidden;
    }

    .why-image-side img {
        object-position: top center;
        border-radius: 40px;
        /* Show the man sitting */
    }

    .why-header-wrapper {
        justify-content: flex-start;
        /* Align left */
        margin-bottom: 2rem;
    }

    .why-deco-line {
        display: block;
        width: 40px;
        height: 2px;
        background: white;
        margin-right: 15px;
        position: relative;
    }

    /* Diamond on line */
    .why-deco-line::after {
        content: "";
        position: absolute;
        right: -3px;
        top: -2px;
        width: 6px;
        height: 6px;
        background: white;
        transform: rotate(45deg);
    }

    .why-title {
        font-size: 1.8rem;
        color: #37A777;
        /* Mint color for VISOTEL? Header usually entire text. Use span for color split. */
        /* Currently HTML: <h2 class="why-title">WHY VISOTEL ?</h2> */
        /* JS or HTML change needed for color split if not already span. */
        /* Assuming I need to edit HTML for color split or use CSS gradient text if possible, but specific word diff is hard css-only without span. */
        /* I will execute HTML change for color split in next step. For now, style general. */
        color: white;
        /* Default white */
        text-transform: uppercase;
        font-weight: 800;
        margin: 0;
    }

    .why-description-area {
        text-align: center;
        color: #B0B0B0;
        /* Light grey text */
        font-size: 0.95rem;
        margin-bottom: 0rem;
        line-height: 1.5;
    }

    .why-floating-icon {
        display: none;
        /* Hide floating VR icon */
    }

    /* Buttons Stack */
    .why-content-side .row.g-3.mt-4 {
        display: flex;
        flex-direction: column;
        gap: 15px;
    }

    .why-content-side .col-6 {
        width: 100%;
    }

    .why-btn {

        /* Semi transparent dark */
        border: 1px solid #1C523C;
        /* Greenish border */
        color: white;
        padding: 1rem;
        border-radius: 12px;
        display: flex;
        justify-content: space-between;
        align-items: center;
        font-size: 1rem;
        text-align: left;
        /* Text left, icon right */
    }

    .why-btn i {
        color: white;
        /* Icon white */
        /* Icon is typically lightning bolt */
    }
}

@media (max-width: 768px) {
    .navbar {
        width: calc(100% - 30px);
        margin: 15px auto;
        border-radius: 8px;
        top: 0;
        left: 0;
        right: 0;
        background: rgba(219, 219, 219, 0.3);
        width: 90% !important;
        /* Slightly lighter semi-transparent dark green/grey */
        backdrop-filter: blur(10px);
        /* Glass effect */
        padding: 0.5rem 1rem;
        position: absolute;
        /* Or fixed if it sticks, but reference implies static or absolute at top */
    }

    .hero-section {
        height: 20vh;
        /* Full viewport height */
        padding-top: 100px;
        background-position: center bottom;
        /* Adjust alignment */
    }

    .product-hero-title {
        margin-top: 4rem;
    }

    .slider-hero {
        min-height: 820px;
    }

    .prod-leaf-top-left {
        position: absolute;
        top: 12%;
        left: -50px;
        width: 165px;
        transform: rotate(78deg);
        z-index: 2;
        opacity: 0.7;
    }

    .mobile-hidden {
        display: none;
    }

    .prod-leaf-top-right {
        position: absolute;
        top: 12%;
        right: -50px;
        width: 165px;
        transform: rotate(-78deg);
        z-index: 2;
        opacity: 0.7;
    }

    .contact-hero {

        min-height: 173px;
    }

    .hero-title {
        font-size: 1.8rem;
        margin-bottom: 1rem;
    }

    .hero-subtitle {
        font-size: 1rem;
        margin-bottom: 2rem;
        color: #fff;
        opacity: 10;
    }

    .hero-content {
        padding-bottom: 0;
        justify-content: flex-start;
        /* Align content to the top area */
        z-index: 5;
    }

    .hero-girl-img {
        display: block !important;
        /* Force show */
        height: 45vh;
        /* Adjust height proportionally */
        bottom: 0px !important;
        right: 50% !important;
        transform: translateX(50%) !important;
        z-index: 1;
        max-width: 90%;
    }

    .leaf-decoration {
        display: none;
        /* Hide on mobile to prevent overflow */
    }

    .navbar-toggler {
        border: none;
        padding: 0;
    }

    .navbar-toggler:focus {
        box-shadow: none;
    }

    .navbar-toggler-icon {
        filter: invert(1);
        width: 1.5em;
        /* Adjust size if needed */
        height: 1.5em;
    }

    .container-fluid-fluid {
        padding: 0;
    }

    .hero-bottom-container {
        display: flex;
        flex-direction: column;
        background: #1f332ef0;
        margin-top: -2rem;
        /* Pull up slightly */
        width: 100%;

        gap: 2rem;
    }

    .hero-bottom-inner {
        flex-direction: column;
    }

    .search-box-large {
        width: 100%;
    }

    /* Stack buttons */
    .hero-content .d-flex {
        flex-direction: column;
        width: 100%;
        align-items: center;
        margin-bottom: 1rem !important;
    }

    .btn-custom,
    .btn-green-solid {
        width: 80%;
        text-align: center;
        justify-content: center;
    }

    /* Mobile Slider Stack */
    .hero-slider-row {
        flex-direction: column;
        align-items: center;
        width: 100%;
        margin-top: 20px;

    }

    .slider-card {
        height: 140px;
        width: 240px;
        margin-left: 0;
        margin-top: -90px;
        /* Strong vertical overlap */
        box-shadow: 0 -5px 20px rgba(0, 0, 0, 0.3);
        /* Shadow to separate */
    }

    .slider-card:first-child {
        margin-top: 0;
        z-index: 10 !important;
    }

    .slider-card:nth-child(2) {
        z-index: 9 !important;
        transform: scale(0.95);
        opacity: 0.9;
    }

    .slider-card:nth-child(3) {
        z-index: 8 !important;
        transform: scale(0.9);
        opacity: 0.8;
    }

    .slider-card:nth-child(4) {
        z-index: 7 !important;
        transform: scale(0.85);
        opacity: 0.7;
    }

    .slider-card.active {
        width: 270px;
        /* Same width */
        height: 150px;
        /* Same height */
    }

    .info-card {
        font-size: 15px;
    }

    .section-title-left {
        font-size: 1.8rem;
    }

    .why-title {
        font-size: 1.8rem;
    }

    /* Footer Mobile - Match Reference */
    .footer {
        padding: 4rem 2rem;
        background: radial-gradient(circle at 50% 0%, #084830 0%, #022c21 100%) !important;
        text-align: center;
    }

    .footer .row {
        flex-direction: column;
        align-items: center;
        gap: 2.5rem;
    }

    .footer-brand {
        display: flex;
        align-items: center;
        justify-content: center;
        font-size: 1.8rem;
        font-weight: 800;
        margin-bottom: 0.5rem;
        letter-spacing: 1px;
    }

    .footer-brand i {
        font-size: 1.4rem;
        margin-right: 10px;
    }

    /* Contact Info */
    .footer-contact-info {
        display: flex;
        flex-direction: column;
        gap: 0.8rem;
        align-items: center;
        font-size: 1rem;
        margin-bottom: 0;

    }

    .footer-info-item {
        display: flex;
        align-items: center;
        gap: 10px;
        margin-bottom: 0;
    }

    /* Nav Links */
    .footer-nav-list {
        display: flex;
        flex-direction: column;
        gap: 1.2rem;
        align-items: flex-start !important;
        margin: 0;
    }

    .footer-nav-link {
        color: white;
        text-decoration: none;
        text-transform: uppercase;
        font-weight: 500;
        letter-spacing: 0.5px;
        font-size: 1rem;
    }

    /* Buttons */
    .footer-actions {
        display: flex;
        flex-direction: column;
        gap: 1rem;
        width: 100%;
        max-width: 225px;
        margin: 0 auto;
    }

    .footer-actions .btn {
        width: 100%;
        padding: 0.9rem;
        border-radius: 5px;
        font-size: 1rem;
        justify-content: flex-start;

    }

    .btn-footer-outline {
        border: 1px solid rgba(255, 255, 255, 0.7);
        color: white;
        background: transparent;
    }

    .btn-footer-solid {
        background: #37A777;
        /* Minty Green */
        color: white;
        border: none;
    }

    /* Ensure only mobile gets these specific overrides where needed */
    .col-lg-4.col-md-6,
    .col-lg-4.col-md-12 {
        display: flex;
        flex-direction: column;
        align-items: center;
        width: 100%;
    }

    /* Locations Section - Match Reference (Clean Map + Tree) */
    .section-locations {
        padding: 1rem 0;

        /* Ensure background is clean */
        height: auto;
        min-height: 350px;
        overflow: hidden;
    }

    .offer-body {
        background-color: #f8f9fa;
        padding: 2rem 1.5rem 1rem;
    }

    .what-we-offer {
        padding: 0rem 0;
        position: relative;
    }

    .feature-bg-img img {
        object-fit: revert;
    }

    .section-locations .section-title,
    .section-locations .section-desc-centered {
        display: none;
        /* Hide header and description as per reference */
    }

    .loc-deco-top {
        display: none;
        /* Hide top leaf overlay */
    }

    .loc-deco-bottom {
        width: 150px;
        /* Adjust tree size */
        bottom: -20px;
        left: -30px;
        /* Align to corner like reference */
        z-index: 10;
        opacity: 1;
    }

    .map-wrapper {
        margin-top: 50px;
        /* Give some space top */
        transform: scale(1.2);
        /* Zoom in slightly for mobile visibility */
        width: 100%;
        overflow: visible;
        /* Let pins show */
        position: relative;

        /* Center visual weight */
    }

    .map-img-bg {
        opacity: 1 !important;
        /* Make map fully visible */
        width: 100%;
        /* Make map wider than screen to show relevant parts */
        height: auto;
        margin-left: 0%;
        /* Center the overflow */
    }

    /* Adjust pins for mobile */
    /* Pin Vertical Spacing for Mobile Fanning */
    /* Alternating High-Low pattern to prevent overlap */

    /* Europe cluster */
    #pin-spain .pin-line-vertical {
        height: 20px !important;
    }

    #pin-france .pin-line-vertical {
        height: 75px !important;
    }

    /* Way up */
    #pin-italy .pin-line-vertical {
        height: 25px !important;
    }

    /* Low */
    #pin-greece .pin-line-vertical {
        height: 60px !important;
    }

    /* High */
    #pin-turkiye .pin-line-vertical {
        height: 35px !important;
    }

    /* Medium */

    /* Asia cluster */
    #pin-maldives .pin-line-vertical {
        height: 45px !important;
    }

    #pin-thailand .pin-line-vertical {
        height: 70px !important;
    }

    /* High */
    #pin-indonesia .pin-line-vertical {
        height: 30px !important;
    }

    #pin-singapore .pin-line-vertical {
        height: 10px !important;
    }

    /* Low */

    #pin-indonesia .pin-line-vertical {
        height: 25px !important;
    }

    #pin-singapore .pin-line-vertical {
        height: 10px !important;
    }

    /* Adjust labels for better fit */
    .pin-label {
        font-size: 9px;
        padding: 2px 3px;
    }

    .pin-line-vertical {
        width: 1px;
        background: black;
        opacity: 0.8;
    }

    .pin-dot {
        width: 5px;
        height: 5px;
        background: #37A777;
        /* Green dot */
        border: 1px solid white;
        box-shadow: 0 0 0 2px rgba(55, 167, 119, 0.3);
    }

    /* Feature Banner Mobile */
    .features-banner-section .row {
        flex-direction: column;
        gap: 1.5rem;
        /* Add spacing between items */
    }

    .feature-col {
        border-right: none !important;
        /* Remove desktop separator */
        border-bottom: 1px solid rgba(255, 255, 255, 0.3);
        /* Add horizontal separator */
        padding-bottom: 1.5rem;
        width: 100%;
    }

    .feature-col:last-child {
        border-bottom: none;
    }

    .features-stripe {
        height: auto;
        /* Allow auto height for content */
        padding: 2rem 1rem;
    }

    .earth-big-graphic {
        width: 100%;
        /* max-width: 932px; */
        margin-bottom: 0px;
        pointer-events: none;
        position: relative;
        top: -0px;
    }

    .earth-graphic-section {
        padding-top: 0;
        margin-top: 0
    }

    .contact-indicator {
        bottom: 50% !important;
    }

    /* What We Offer Title Mobile */
    .section-title-offer {
        font-size: 1.5rem;
        /* Match reference scale */
        gap: 10px;
    }

    .offer-line-left,
    .offer-line-right {
        width: 35px;
        /* Adjust for mobile width */
    }

    .product-overview {
        padding: 5rem 0 0rem;
    }

    .matter-card {
        font-size: 14px
    }

    /* Mobile Leaf Position */
    .offer-leaf-left-mobile {
        position: absolute;
        left: -80px;
        top: 180px;
        width: 280px;
        z-index: 0;
        pointer-events: none;
        transform: rotate(74deg);
        opacity: 0.3;
    }

    .what-we-offer {
        position: relative;
        overflow: hidden;
        /* Ensure leaf doesn't break layout width */
    }
}

@media (min-width: 1400px) {

    .container,
    .container-lg,
    .container-md,
    .container-sm,
    .container-xl,
    .container-xxl {
        max-width: 1640px;
    }
}