/* =========================================================
   BRAND SYSTEM — SINGLE SOURCE OF TRUTH
========================================================= */
:root {
  --primary: #ef5323;
  --dark: #292929;
   --dark-footer: #1f1f1f;
  --white: #ffffff;
  --muted: #6b6b6b;
  --muted-footer: #9a9a9a;
  --light-bg: #f9f9f9;
  --text-body: #555;
  --bg-light: #fdfdfd;
  --dark-lighter: #333333;
   --video-bg: #f2f3f5; /* The requested light gray */
  --text-box-bg: #ffffff;
  --dark-text: #1a3b5c; /* Deep Nordic Blue/Dark for the text */

  /* Matches your video section background */
    --section-bg: #f2f3f5; 
    /* A very pale tint of your primary orange (#ef5323) */
    --card-light-orange: #fff5f2; 
}



/* =========================================================
   BASE / RESET font-family: 'Inter', sans-serif;
========================================================= */

body {
  
  font-family: "Montserrat", sans-serif;
  color: var(--dark);
  background-color: var(--white);
  line-height: 1.7;
  font-size: clamp(0.9rem, 2vw, 1rem); /* Responsive base font size */
}

h1, h2, h3, h4 {
  font-family: 'Inter', sans-serif;
  color: var(--dark);
  line-height: 1.2;
}


a {
  text-decoration: none;
}

/* =========================================================
   GLOBAL CONTAINER & SPACING FIXES (Mobile/Tablet)
========================================================= */

/* 1. Fix for TABLETS & LARGE PHONES (576px to 991px) 
   This covers the gap you are seeing */
@media (min-width: 576px) and (max-width: 991px) {
    section .container {
        /* Force container to use 95% of screen width instead of fixed pixel widths */
        max-width: 95% !important; 
        width: 95% !important;
        
        /* FIX ASYMMETRY: Auto margins center the container perfectly */
        margin-left: auto !important;
        margin-right: auto !important;
        
        /* Ensure equal padding on both sides */
        padding-left: 20px !important;
        padding-right: 20px !important;
    }
    
    /* Ensure columns inside expand to fill the new wider container */
    section .col-lg-7, 
    section .col-lg-6, 
    section .col-lg-5 {
        flex: 0 0 100%;
        max-width: 100%;
    }
}

/* 2. Fix for SMALL MOBILE (Below 576px) */
@media (max-width: 575px) {
    section .container {
        max-width: 100% !important; /* Full width */
        padding-left: 15px !important; /* Standard small padding */
        padding-right: 15px !important;
        margin-left: auto !important;
        margin-right: auto !important;
    }
}


/* =========================================================
   2. NAVBAR (Transparent Overlay & Mobile Menu)
========================================================= */
.navbar {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    z-index: 1000;
    background-color: transparent !important;
    padding-top: 20px;
}

/* Desktop Grid Layout */
.nav-layout {
    display: grid;
    grid-template-columns: auto 1fr auto;
    align-items: center;
    gap: 20px;
}

/* Logo */
.navbar-brand img {
    height: clamp(40px, 8vw, 52px);
    width: auto;
    display: block;
}

/* Center Menu */
.nav-center {
    display: flex;
    justify-content: center;
}

.nav-main {
    display: flex;
    gap: clamp(1.5rem, 2vw, 3.5rem);
    align-items: center;
    margin: 0;
    padding: 0;
    list-style: none;
}

/* Right CTA Wrapper */
.nav-right {
    display: flex;
    justify-content: flex-end;
}

/* Link Styling */
.nav-link {
    color: var(--white) !important;
    font-weight: 500;
    position: relative;
    padding-bottom: 5px;
    transition: color 0.3s ease;
}

.nav-link::after {
    content: '';
    position: absolute;
    width: 0%;
    height: 2px;
    bottom: 0;
    left: 0;
    background-color: var(--primary);
    transition: width 0.3s ease-in-out;
}

.nav-link:hover::after,
.nav-link.active::after {
    width: 100%;
}

/* Trapezoid CTA Button */
.btn-trapezoid {
    position: relative;  
    border: 2px solid #ffffff;
    background: transparent;
    color: #ffffff;
    font-weight: 600;
    border-radius: 4px;
    padding: 8px 20px;
    transition: all 0.3s ease;
    white-space: nowrap;
}

.btn-trapezoid:hover {
    background: var(--primary);
    color: var(--white);
    border-color: var(--primary);
    transform: translateY(-1px);
}

/* =========================================================
   MOBILE NAVBAR RESPONSIVENESS (Max 991px)
========================================================= */
@media (max-width: 991px) {
    
    /* 1. LAYOUT FIX: Perfect Alignment */
    .nav-layout {
        display: flex; 
        align-items: center;
        width: 100%;
        gap: 0; /* Remove gap so we control spacing manually */
    }

    /* Keep Logo on Left */
    .navbar-brand {
        margin-right: auto; 
    }

    /* 2. TOGGLER ALIGNMENT FIX */
    .navbar-toggler {
        order: 2; 
        /* This pushes the toggler all the way to the right edge of the container */
        margin-left: auto; 
        margin-right: 0; 
        border: none;
        padding: 0;
        z-index: 1051; /* Ensures icon stays above the open menu */
    }

    /* If the Trapezoid button is visible (Tablet), add space between it and toggler */
    .nav-right {
        order: 3;
        margin-left: 20px; /* Space between button and toggler */
    }
    
    /* 3. SMOOTH FULL SCREEN MENU ANIMATION */
    .navbar-collapse {
        position: fixed;
        top: 0;
        left: 0;
        width: 100%;
        height: 100vh;
        background-color: var(--dark);
        z-index: 1050;
        
        /* Default state: allow Bootstrap to hide it (display:none) */
        /* We DO NOT set display:flex here, or it overrides Bootstrap's logic */
    }

    /* ONLY when open (Bootstrap adds the .show class) do we apply Flexbox and Animation */
    .navbar-collapse.show {
        display: flex !important; /* Force flex to center items */
        flex-direction: column;
        justify-content: center;
        align-items: center;
        
        /* The Smooth Entrance Animation */
        animation: menuFadeIn 0.4s ease-out forwards;
    }

    /* Animation Keyframes */
    @keyframes menuFadeIn {
        from {
            opacity: 0;
            transform: translateY(-20px);
        }
        to {
            opacity: 1;
            transform: translateY(0);
        }
    }

    /* Menu Items Styling */
    .nav-main {
        flex-direction: column;
        width: 100%;
        gap: 0;
        text-align: center;
        opacity: 0; /* Hidden initially */
        animation: contentFadeIn 0.5s ease-out 0.2s forwards; /* Delay content slightly */
    }

    @keyframes contentFadeIn {
        to { opacity: 1; }
    }

    .nav-item {
        width: 100%;
        border-bottom: 1px solid rgba(239, 83, 35, 0.2); 
    }
    
    .nav-item:first-child {
        border-top: 1px solid rgba(239, 83, 35, 0.2); 
    }

    .nav-link {
        font-size: 1.5rem;
        padding: 20px 0;
        display: block;
    }
    
    .nav-link::after {
        left: 50%;
        transform: translateX(-50%);
    }

    /* Hide the CTA button inside the mobile menu list if it exists there */
    .btn-trapezoid { 
        display: none; /* Visible on Tablet (768-991) next to toggler */
    }
}

/* =========================================================
   SMALL MOBILE (Max 576px)
========================================================= */
@media (max-width: 576px) {
    /* Hide the button on phone screens */
    .btn-trapezoid { 
        display: none !important; 
    }
    
    .nav-right {
        display: none;
    }

    /* Ensure Toggler stays pinned to right */
    .navbar-toggler {
        margin-right: 0; 
        margin-left: auto;
    }
}
/* =========================================================
   HERO — MERGED SECTION (Responsive Update)
========================================================= */
.hero-merged {
  position: relative;
  overflow: hidden;
  background-color: var(--dark-lighter);
  /* Ensures full height on all devices */
  min-height: 100vh; 
  margin-bottom: 50px;
}

/* Background Image Settings */
.hero-bg {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  background: url("img/hero-bg1.jpg") no-repeat center;
  background-size: cover;
  opacity: 0.5;
  transform: scale(1.1);
  z-index: 0;
}

/* Foreground content */
.hero-content {
  position: relative;
  z-index: 2;
}

/* --- TYPOGRAPHY (Desktop Defaults) --- */
.hero-merged h1 {
  font-size: 2.5rem; /* Large on desktop */
  margin: 15px 0;
  text-transform: uppercase;
  color: var(--white);
  line-height: 1.1;
}

.hero-merged .highlight {
  color: #000000;
  background-color: rgba(255,255,255,0.9); /* Added bg for readability */
  padding: 0 10px;
  letter-spacing: 1px;
  font-size: 2rem;
  font-weight: 700;
  display: inline-block; /* Helps with padding */
}

.hero-lead {
  font-size: 1.2rem;
  max-width: 550px;
  margin-bottom: 30px;
  line-height: 1.6;
}

/* Buttons */
.btn-primary-hero {
  background: var(--primary);
  color: var(--white);
  border-radius: 4px;
  padding: 12px 35px;
  font-weight: 600;
  border: 2px solid var(--primary);
  transition: 0.3s;
   margin-left: 0 !important;
    margin-right: 0 !important;
}




.btn-primary-hero:hover {
  background: transparent;
  color: var(--primary); /* Changed to primary for visibility */
  border-color: var(--primary);
}

/* =========================================================
   RESPONSIVENESS (The Changes)
========================================================= */

/* 1. TABLET (Max 991px) */
@media (max-width: 991px) {
    .hero-merged h1 {
        font-size: 2rem; /* Decrease font size */
    }
    
    .hero-merged .highlight {
        font-size: 1.2rem;
    }
    
    .hero-lead {
        font-size: 0.9rem;
    }
}

/* 2. MOBILE (Max 576px) - The "Lower & Smaller" Logic */
@media (max-width: 576px) {
    
    /* BACKGROUND: Switch image and position */
    .hero-bg {
        background: url("img/hero-bg.jpg") no-repeat center top; /* Anchor top */
        background-size: cover;
    }

    /* POSITIONING: Move content lower */
    /* This overrides the 'align-items-center' from Bootstrap class */
    .hero-merged .row {
        align-items: flex-end !important; /* Pushes content to bottom */
        padding-bottom: 40px; /* Adds space at bottom so text isn't on edge */
    }

    /* ALIGNMENT: Ensure Left Align */
    .hero-content .col-lg-7 {
        text-align: left !important;
        padding-top: 0 !important; /* Remove the pt-5 from HTML */
    }

    /* TYPOGRAPHY: Reduce Sizes */
    .hero-merged h1 {
        font-size: 1.8rem; /* Much smaller */
        margin-bottom: 10px; /* Reduce margin */
    }

    .hero-merged .highlight {
        font-size: 1.1rem; /* Smaller highlight */
        padding: 0 5px;
    }

    .hero-lead {
        font-size: 0.95rem; /* Readable but small */
        margin-bottom: 20px; /* Reduce margin */
        line-height: 1.4;
    }

    /* BUTTON: Compact size */
    .btn-primary-hero {
        padding: 10px 25px;
        font-size: 0.9rem;
    }
}

/* =========================================================
   HERO CONTENT WIDTH CONTROL
   (Makes content narrower as screen gets smaller)
========================================================= */
.hero-text-constraint {
    width: 100%;
    /* 1. Large Desktop (> 1200px) */
    max-width: 700px; 
}

/* --- FIX 1: BUTTON ALIGNMENT --- */
/* This forces the button wrapper to always align to the start (left) */
.hero-text-constraint .d-flex {
    justify-content: flex-start !important;
    text-align: left !important;
}


/* 2. Standard Laptops (992px - 1199px) */
@media (max-width: 1199px) {
    .hero-text-constraint {
        max-width: 600px;
    }
}

/* 3. Tablets (768px - 991px) */
@media (max-width: 991px) {
    .hero-text-constraint {
        max-width: 500px;
    }
}

/* 4. Large Phones (576px - 767px) */
@media (max-width: 767px) {
    .hero-text-constraint {
        max-width: 350px;
    }
}

/* 5. Small Mobile (< 576px) */
@media (max-width: 576px) {
    .hero-text-constraint {
        /* Allow full width of container minus padding */
        max-width: 100%; 
        /* Optional: Add right padding so text doesn't hit the screen edge */
        padding-right: 20px; 
    }
}


/* =========================================================
   PREMIUM ABOUT SECTION - Pro UI Implementation
========================================================= */

:root {
    --about-radius: 30px; 
    --line-color: rgba(0, 0, 0, 0.146);
    --black-btn: #1a1a1a;
}

/* --- SECTION & GRID --- */
.about-premium-section {
    padding: 40px 0;
    background-color: #fff;
}

.about-grid-row {
    display: flex;
    flex-wrap: wrap;
    background-color: #fff;
}

/* --- IMAGE COLUMN --- */
.about-col-left {
    position: relative;
    min-height: 320px;
}

.about-image-wrapper {
    width: 100%;
    height: 100%;
    overflow: hidden;
    position:relative;
    border: 1px solid var(--line-color);
    /* Mobile: Top rounded only */
    border-radius: var(--about-radius) var(--about-radius) 0 0;
}

.about-hero-image {

    /* 1. Set the initial state: Slightly zoomed in */
    transform: scale(1.15); 
    
    /* 2. Professional Transition: 
       0.8s for a slow, luxurious feel.
       cubic-bezier creates a "slow-fast-slow" motion signature */
    transition: transform 0.8s cubic-bezier(0.25, 0.46, 0.45, 0.94);
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

/* 3. The Hover State: Zoom out to original size */
/* We trigger this when the user hovers anywhere on the left column */
.about-col-left:hover .about-hero-image {
    transform: scale(1.0);
}

/* Optional: Slight overlay fade on hover for extra depth */
.about-image-wrapper::after {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0,0,0,0.05); /* Very subtle tint */
    opacity: 0;
    transition: opacity 0.8s ease;
    pointer-events: none;
}

.about-col-left:hover .about-image-wrapper::after {
    opacity: 1;
}

/* --- TEXT COLUMN (RIGHT BORDERS) --- */
.about-col-right {
    display: flex;
    align-items: center;
    padding: 40px 25px;
    background-color: #fff;
    /* Framed layout for mobile */
    border: 1px solid var(--line-color);
    border-top: none; 
    border-radius: 0 0 var(--about-radius) var(--about-radius);
}

.about-content-inner {
    max-width: 540px;
    margin: 0 auto;
}

/* --- TYPOGRAPHY --- */
.about-tag {
    font-size: 0.75rem;
    font-weight: 700;
    text-transform: uppercase;
    color: #999;
    letter-spacing: 2px;
    display: block;
    margin-bottom: 15px;
}

.about-mission-text {
    font-size: 1rem; /* Base Mobile Size */
    font-weight: 700;
    line-height: 1.2;
    color: #000;
    margin-bottom: 25px;
    text-transform: uppercase;
}

.about-mission-text .highlight {
    color: var(--primary); /* Or your preferred gold/primary color */
}

/* --- THE BUTTON (Mobile First) --- */
.btn-premium-expert {
    display: inline-block;
    background-color: var(--black-btn);
    color: #fff !important;
    padding: 14px 32px;
    font-size: 0.95rem;
    font-weight: 600;
    text-decoration: none;
    border-radius: 4px; /* Slightly rounded for modern look */
    border: 1px solid var(--black-btn); /* Border matches BG initially */
    transition: all 0.3s ease-in-out;
    margin-top: 10px;
}

.btn-premium-expert:hover {
    background-color: transparent;
    color: var(--black-btn) !important;
    border: 1px solid var(--black-btn);
}

/* --- DESKTOP UPGRADES (Min-Width 992px) --- */
@media (min-width: 992px) {
    .about-premium-section {
        padding: 60px 0;
    }

    /* Left Side: Radius Left-only */
    .about-image-wrapper {
        border-radius: var(--about-radius) 0 0 var(--about-radius);
        border-right: none;
    }

    .about-col-left {
        min-height: 480px;
    }

    /* Right Side: Radius Right-only & Right borders */
    .about-col-right {
        padding: 40px 60px;
        border-top: 1px solid var(--line-color);
        border-left: 1px solid var(--line-color); 
        border-radius: 0 var(--about-radius) var(--about-radius) 0;
    }

    .about-content-inner {
        margin-left: 0;
    }

    .about-mission-text {
        font-size: 1.2rem; /* Desktop Scale */
    }
}

/* --- SPECIAL ULTRA-WIDE BREAKPOINT --- */
@media (min-width: 5476px) {
    .about-mission-text {
        font-size: 1rem !important;
    }
}

/* =========================================================
   VIDEO SPLIT SECTION (Reference Style)
========================================================= */


.video-split-section {
    background-color: var(--video-bg);
    padding: 100px 0; /* Generous spacing top/bottom */
}

/* The Row: g-0 removes gaps so they touch */
.video-split-row {
    box-shadow: 0 30px 60px rgba(0,0,0,0.05); /* Subtle lift */
}

/* --- LEFT SIDE: TEXT BOX --- */
.video-text-panel {
    background-color: var(--text-box-bg);
    height: 100%; /* Forces it to match video height */
    display: flex;
    align-items: center; /* Vertically center text */
    padding: 60px;
    position: relative;
}

.video-text-panel h2 {
   
    font-size: 3.5rem; /* Large, bold text */
    font-weight: 700;
    line-height: 1.1;
    color: var(--dark); /* Using your root dark variable */
    margin: 0;
}

/* Optional: The blue strip decoration if desired, or just clean white */
.video-text-panel::before {
    content: '';
    position: absolute;
    left: 0;
    top: 20%;
    bottom: 20%;
    width: 6px; /* Accent line on the left */
    background-color: var(--primary);
    display: block;
}

/* --- RIGHT SIDE: VIDEO --- */
.video-embed-panel {
    position: relative;
    width: 100%;
    height: 100%;
    background: #000;
    min-height: 400px; /* Ensures minimum height on all screens */
}

/* This makes the iframe fill the container */
.video-embed-panel iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    border: none;
}

/* --- RESPONSIVE STYLES --- */
@media (max-width: 991px) {
    .video-text-panel {
        padding: 40px 30px;
        text-align: center;
        justify-content: center;
    }
    
    .video-text-panel h2 {
        font-size: 2rem;
    }

    /* On mobile, we need aspect ratio trick because 'height:100%' won't work in stack */
    .video-embed-panel {
        height: 0;
        padding-bottom: 56.25%; /* 16:9 Ratio */
        min-height: auto;
    }
    
    .video-text-panel::before {
        display: none; /* Hide accent line on mobile */
    }
}

/* =========================================================
   SERVICES
========================================================= */
.service-card {
  background: #f5f5f5;
  border-radius: 14px;
  padding: clamp(20px, 4vw, 30px);
  height: 100%;
  transition: transform 0.3s ease;
}

.service-card:hover {
  transform: translateY(-8px);
}

.icon-box {
  font-size: clamp(2rem, 4vw, 2.4rem);
  color: var(--primary);
  margin-bottom: 20px;
}

/* =========================================================
   ABOUT / STATS
========================================================= */
.stats-box {
  background: var(--dark);
  color: var(--white);
  padding: 20px;
  border-radius: 10px;
  margin-bottom: 15px;
}

.stats-box h4 {
  color: var(--white);
}

@media (max-width: 576px) {
.lead{
  font-size: 1rem;
}
}

/* =========================================================
   DYNAMIC TESTIMONIALS (Light Orange Theme)
========================================================= */
:root {
    /* Matches your video section background */
    --section-bg: #f2f3f5; 
    /* A very pale tint of your primary orange (#ef5323) */
    --card-light-orange: #fff5f2; 
  
}

.testimonials-section {
    background-color: var(--section-bg);
    padding: 100px 0;
}

/* --- THE DYNAMIC GRID --- */
.testimonials-grid {
    display: grid;
    /* 
       Logic: Creates columns that are at least 320px wide.
       If 3 fit, it shows 3. If only 2 fit, it shows 2.
       On mobile, it stacks to 1.
    */
    grid-template-columns: repeat(auto-fit, minmax(320px, 1fr));
    gap: 20px;
    align-items: stretch; /* Ensures cards are same height */
}

/* --- THE CARD --- */
.testimony-card {
    background-color: var(--card-light-orange);
    padding: 50px 40px;
    border-radius: 0; /* Keeping it sharp/corporate like your video section, or use 20px */
    border: none; /* No borders as requested */
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    transition: transform 0.3s ease;
}

.testimony-card:hover {
    transform: translateY(-5px); /* Subtle lift */
}

/* User Profile Area (Top) */
.testimony-header {
    display: flex;
    align-items: center;
    gap: 20px;
    margin-bottom: 25px;
}

.testimony-avatar {
    width: 70px;
    height: 70px;
    border-radius: 50%;
    object-fit: cover;
    /* Optional: Small border to make image pop */
    border: 3px solid #ffffff; 
}

.testimony-info h4 {
    font-family: 'Playfair Display', serif;
    font-size: 1.2rem;
    font-weight: 700;
    color: var(--dark);
    margin: 0;
    line-height: 1.2;
}

.testimony-from {
    font-family: 'Inter', sans-serif;
    font-size: 0.85rem;
    color: var(--primary); /* Orange to highlight origin */
    text-transform: uppercase;
    letter-spacing: 1px;
    font-weight: 600;
    margin-top: 5px;
    display: block;
}

/* The Quote (Middle) */
.testimony-text {
    font-family: 'Inter', sans-serif;
    font-size: 1rem;
    color: var(--text-body);
    line-height: 1.7;
    margin-bottom: 30px;
}

/* The Stars (Bottom) */
.testimony-stars {
    color: var(--primary);
    font-size: 1rem;
    margin-top: auto; /* Pushes stars to bottom if text lengths vary */
}

/* Mobile Tweak */
@media (max-width: 768px) {
    .testimonials-grid {
        gap: 20px;
    }
    .testimony-card {
        padding: 30px 25px;
    }
}

/* =========================================================
   REALITY SECTION - UNIQUE STYLE (.myths-list)
========================================================= */
.reality-section {
    background-color: #ea3e09; /* Orange Background */
    padding: clamp(60px, 12vw, 100px) 0;
    color: var(--white);
}

/* --- Left Side --- */
.reality-intro {
    position: sticky;
    top: 100px;
    padding-right: 30px;
}

.reality-intro h2 {
    color: var(--white);
    font-family: 'Montserrat', serif; /* Assuming you loaded this font */
    font-weight: 700;
    font-size: clamp(1.8rem, 5vw, 2.5rem);
}

.reality-intro p {
    color: rgba(255, 255, 255, 0.9);
    font-size: clamp(0.95rem, 2.2vw, 1.1rem);
    font-weight: 300;
}

/* --- Right Side (Targeting ONLY the .myths-list class) --- */
.myths-list {
    background-color: transparent;
    border-radius: 20px;
    overflow: hidden; 
    /*box-shadow: 0 20px 40px rgba(0, 0, 0, 0.15);*/
    padding: 10px 0;
    color: #ffffff;
}

/* Items inside Myths List */
.myths-list .accordion-item {
    background-color: transparent;
    border: none;
    border-bottom: 1px solid #f2f2f2; /* The thick light gray line */
    margin-bottom: 0;
    border-radius: 0;
}

/* Remove border from last item */
.myths-list .accordion-item:last-child {
    border-bottom: none;
}

/* The Question Button inside Myths List */
.myths-list .accordion-button {
    background-color: transparent;
    color: var(--white);
    font-weight: 700;
    padding: clamp(20px, 4vw, 25px) 0px;
    font-size: clamp(0.9rem, 2vw, 1.05rem);
    box-shadow: none; /* Removes bootstrap focus glow */
}

/* Active State (Open) inside Myths List */
.myths-list .accordion-button:not(.collapsed) {
    color: #ffffff; /* Highlight orange */
    background-color: rgba(234, 62, 9, 0.05); /* Subtle orange tint */
}

/* The Answer Text inside Myths List */
.myths-list .accordion-body {
    padding: 0 0px 25px 0px;
    color: var(--white);
    line-height: 1.7;
}

/* Custom Orange Arrow for Myths List */
.myths-list .accordion-button::after {
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23ea3e09'%3e%3cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e");
    transform: scale(0.9);
    transition: transform 0.3s ease;
    background-color: #ffffff; /* White background for visibility */
    border-radius: 50%; /* Makes it circular */
}

@media (max-width: 991px) {
    .reality-intro {
        position: static;
        margin-bottom: 40px;
        text-align: center;
        padding-right: 0;
    }
}

/* =========================================================
   CTA SECTION — FULL SPLIT STYLE
========================================================= */

/* Section Wrapper */
.cta-full-section {
    background-color: var(--dark-lighter);
    overflow: hidden;
    position: relative;
    width: 100%;
    padding-bottom: 35px;
}

/* 1. The Layout Grid (Removes gaps) */
.cta-row {
    min-height: 600px; /* Guarantees height on large screens */
    display: flex;
    flex-wrap: wrap;   /* Allows stacking on mobile */
}

/* 2. The Image Side (Full Half) */
.cta-image-col {
    position: relative;
    padding: 0; /* Important: removes Bootstrap padding */
    min-height: 400px; /* Height for mobile */
}

.cta-full-image {
    width: 100%;
    height: 100%;
    position: absolute; /* Locks image to container */
    top: 0;
    left: 0;
    
    /* THE MAGIC: Covers the area without stretching */
    object-fit: cover; 
    
    /* Focuses on the face (Top) so heads don't get cut off */
    object-position: top center; 
}

/* 3. The Content Side */
.cta-content-col {
    display: flex;
    align-items: center; /* Vertically Centers Text */
    padding: clamp(50px, 10vw, 80px) clamp(20px, 4vw, 80px); /* Generous padding for clean look */
    background-color: var(--dark-lighter);
}

/* Typography (Same as before) */
.cta-eyebrow {
    text-transform: uppercase;
    letter-spacing: 3px;
    font-size: 0.85rem;
    font-weight: 700;
    color: var(--primary);
    margin-bottom: 15px;
    display: block;
}

.cta-content h2 {
    font-size: clamp(2rem, 6vw, 3rem);
    font-weight: 800;
    color: var(--white);
    margin-bottom: 25px;
    line-height: 1.2;
}

.cta-content .highlight {
    color: var(--primary);
    font-size: clamp(1.5rem, 4vw, 2rem);
    font-weight: 700;
}

.cta-content p {
    font-size: clamp(1rem, 2.5vw, 1.15rem);
    color: rgba(255, 255, 255, 0.8);
    margin-bottom: 40px;
    line-height: 1.7;
    max-width: 550px;
}

/* Buttons */
.btn-cta-solid {
    background-color: var(--primary);
    color: white;
    padding: 14px 40px;
    border-radius: 4px;
    font-weight: 600;
    text-decoration: none;
    border: 2px solid var(--primary);
    transition: 0.3s;
}
.btn-cta-solid:hover {
    background-color: transparent;
    color: var(--primary);
}

.btn-cta-outline {
    background-color: transparent;
    color: var(--white);
    padding: 14px 40px;
    border-radius: 4px;
    font-weight: 600;
    text-decoration: none;
    border: 2px solid rgba(255,255,255,0.3);
    transition: 0.3s;
}
.btn-cta-outline:hover {
    border-color: var(--primary);
    color: var(--primary);
}
/* --- MOBILE RESPONSIVENESS (991px and below) --- */
/* --- MOBILE RESPONSIVENESS (991px and below) --- */
@media (max-width: 991px) {
    /* 1. Stack columns: Image top, Content bottom */
    .cta-row {
        flex-direction: column-reverse; 
        height: auto; /* Remove minimum height constraint */
    }

    /* 2. IMAGE FIX: Force Full Width */
    .cta-image-col {
        width: 100%;       /* Container takes full width */
        height: auto;      /* Height adjusts to content */
        min-height: auto;  /* Remove min-height */
        display: block;
        padding: 0;        /* Ensure no padding blocks the edges */
    }

    .cta-full-image {
        position: relative; /* Reset absolute positioning */
        width: 100%;        /* FORCE FULL WIDTH */
        height: auto;       /* Maintain aspect ratio */
        max-height: none;   /* Remove any height limits */
        object-fit: cover;  /* Ensures it fills the space cleanly */
        display: block;     /* Remove inline-block gaps */
    }

    /* 3. ALIGNMENT FIX: Center Everything */
    .cta-content-col {
        padding: 60px 20px; /* Standard padding */
        text-align: center;
        display: flex;
        flex-direction: column;
        align-items: center; 
    }
    
    .cta-content h2 {
        font-size: 2.2rem;
        text-align: center;
    }
    
    /* Center the paragraph */
    .cta-content p {
        margin-left: auto;
        margin-right: auto;
        text-align: center;
    }
    
    /* Center the buttons */
    .cta-content .d-flex.gap-3 {
        justify-content: center !important;
        width: 100%;
    }
    
    /* Center the Trust Stars */
    .cta-content .mt-4 .d-flex {
        justify-content: center !important;
    }
}
/* =========================================================
   HERO PAGES (Sub-pages)
========================================================= */
.hero-pages {
    position: relative;
    overflow: hidden;
    /* Shorter height for sub-pages */
    height: 60vh; 
    min-height: 400px;
    background-color: var(--dark-lighter);
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
}

/* Reusing your existing background logic but targeted */
.hero-pages .hero-bg {
    position: absolute;
    inset: 0;
    /* Use a specific image for subpages if desired */
    background: url("img/hero-bg.jpg") no-repeat center; 
    background-size: cover;
    opacity: 0.4; /* Darker overlay so white text pops */
    z-index: 0;
}

.hero-pages .container {
    position: relative;
    z-index: 2;
    padding-top: 60px; /* Offset for the fixed navbar */
}

.hero-pages h1 {
    font-family: 'Inter', serif;
    font-size: clamp(1.2rem, 3vw, 1.5rem);
    color: var(--white);
    text-transform: uppercase;
    margin-bottom: 0;
}

/* Optional Breadcrumb style */
.hero-breadcrumb {
    color: var(--primary);
    font-weight: 600;
    letter-spacing: 2px;
    text-transform: uppercase;
    margin-bottom: 10px;
    display: block;
}


/* =========================================================
   CONTACT INFO BOXES (Mobile Optimized)
========================================================= */

.section-title h4 {
    font-size: clamp(1.5rem, 3vw, 2rem);
    font-weight: 700;
    margin-bottom: clamp(1.5rem, 3vw, 2rem);
    color: #000;
    text-align: center;
}

.contact-info-box {
    background: var(--white);
    padding: clamp(20px, 4vw, 40px); /* Reduced min padding for smaller screens */
    text-align: center;
    transition: all 0.3s ease;
    height: 100%;
    border-bottom: 3px solid transparent;
    
    /* FIX: Ensures content stays inside box */
    width: 100%;
    overflow: hidden; 
}

.contact-info-box:hover {
    transform: translateY(-10px);
    box-shadow: 0 20px 40px rgba(0,0,0,0.1);
    border-bottom: 3px solid var(--primary);
}

.contact-icon {
    width: clamp(50px, 10vw, 70px);
    height: clamp(50px, 10vw, 70px);
    background: rgba(239, 83, 35, 0.1);
    color: var(--primary);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: clamp(1.5rem, 3vw, 1.8rem);
    margin: 0 auto clamp(20px, 4vw, 25px) auto;
    transition: all 0.3s ease;
}

.contact-info-box:hover .contact-icon {
    background: var(--primary);
    color: var(--white);
}

.contact-info-box h4 {
    font-family: 'Poppins', serif;
    margin-bottom: 15px;
    color: var(--dark);
}

.contact-info-box a, 
.contact-info-box p {
    color: var(--text-body);
    text-decoration: none;
    font-size: clamp(0.9rem, 2vw, 1.05rem);
    display: block;
    margin-bottom: 5px;
    transition: color 0.3s;
    
    /* FIX: Forces long emails to break to next line on tablet/mobile */
    word-break: break-word; 
    overflow-wrap: break-word;
    max-width: 100%;
}

.contact-info-box a:hover {
    color: var(--primary);
}

/* =========================================================
   FORM STYLING & MOBILE FIXES
========================================================= */

/* FIX: Control Select Input Width on Mobile */
.form-select, 
.form-control {
    max-width: 100%;
    text-overflow: ellipsis; /* Adds ... if text is too long */
    white-space: normal; /* Allows text wrapping if supported */
}

/* FIX: Prevent Option text from breaking mobile layout */
select option {
    max-width: 100vw;
    overflow: hidden;
    text-overflow: ellipsis;
}

/* =========================================================
   FORM BUTTON STYLING
========================================================= */

/* 1. The Container */
.submit-btn-wrapper {
    display: flex;
    justify-content: center; 
    width: 100%;
    margin-top: 20px;
}

/* 2. The Button */
.btn-custom {
    background-color: var(--primary); 
    color: var(--white);
    border: 2px solid var(--primary);
    width: 40%; 
    border-radius: 4px;
    padding: clamp(12px, 2.5vw, 15px) clamp(20px, 4vw, 30px);
    font-weight: 600;
    font-size: clamp(0.95rem, 2vw, 1.1rem);
    text-transform: uppercase;
    letter-spacing: 1px;
    transition: all 0.3s ease;
    cursor: pointer;
    min-height: 44px; 
}

.btn-custom:hover {
    background-color: transparent;
    color: var(--primary);
    border-color: var(--primary);
    transform: translateY(-3px);
    box-shadow: 0 10px 20px rgba(239, 83, 35, 0.2);
}

/* =========================================================
   RESPONSIVE ADJUSTMENTS (Mobile First Logic)
========================================================= */

@media (max-width: 768px) {
    /* Make button full width on mobile for easier tapping */
    .btn-custom {
        width: 100%; 
    }
}

/* FIX: Reduce padding on the Card Body for small screens 
   Currently p-5 adds 3rem (48px) which is too much for mobile */
@media (max-width: 576px) {
    #contact-form .card-body {
        padding: 1.5rem !important; /* Reduced from 3rem */
    }
    
    #contact-form h2 {
        font-size: 1.5rem; /* Smaller heading */
    }
}

/* =========================================================
   FIX FORM SELECT OVERFLOW
========================================================= */

/* 1. Force the select box to stay inside the container */
.form-select {
    width: 100%;          /* Fill container */
    max-width: 100%;      /* Never exceed container */
    min-width: 0;         /* Allows it to shrink smaller than text content */
    
    /* 2. Handle Text Overflow (Adds "..." if text is too long) */
    text-overflow: ellipsis;
    white-space: nowrap; 
    overflow: hidden;
    
    /* 3. Ensure padding doesn't break width */
    box-sizing: border-box;
}

/* 4. Fix for the options inside (Browser dependent, but helps) */
.form-select option {
    width: 100%;
    max-width: 100%;
    overflow: hidden; 
    white-space: normal; /* Tries to wrap text inside dropdown if supported */
    text-overflow: ellipsis;
}

/* 5. Reduce Card Padding on Mobile 
   (Crucial: Gives the inputs more room to fit) */
@media (max-width: 576px) {
    #contact-form .card-body {
        padding: 1.5rem !important; /* Reduced from 3rem (p-5) */
    }
    
    /* Ensure the column itself doesn't have extra padding causing scroll */
    #contact-form .col-lg-8 {
        padding-left: 15px;
        padding-right: 15px;
    }
}

/* =========================================================
  FAQ SECTION
========================================================= */
.faqs-section {
  background-color: var(--dark-lighter);
  
}

.faqs-section h2 {
  color: var(--white);
  font-family: 'Montserrat', serif; /* Matching your headings */
  font-size: clamp(1.5rem, 3.5vw, 2rem);
  font-weight: 700;
  margin-bottom: clamp(2rem, 4vw, 3rem);
  color: #fff;
  text-align: center;
}

/* 1. The Container (Remove default borders, add bottom line) */
.accordion-item {
  background-color: transparent; /* Allows section color to show through */
  border: none;
  border-bottom: 1px solid rgba(255, 255, 255, 0.1); /* The "Line Below" */
  border-radius: 0 !important; /* Removes rounded corners */
}

/* 2. The Question (Button) */
.accordion-button {
  background-color: transparent; /* Same background as body */
  color: var(--white);           /* Bright White Text */
  font-size: clamp(0.8rem, 1.8vw, 0.9rem);
  padding: clamp(15px, 3vw, 20px) 0;               /* Spacing */
  box-shadow: none !important;   /* Removes Blue Glow */
   /* Reduce vertical padding (Top=15px, Bottom=5px) */
    padding-top: 15px;
    padding-bottom: 5px; 
    
    /* Remove Left padding so text aligns with the edge */
    padding-left: 0; 
    
    /* Keep small Right padding for the orange arrow */
    padding-right: 15px; 
}

/* 3. The Active/Open State */
.accordion-button:not(.collapsed) {
  background-color: transparent; /* Keeps background same when open */
   color: #fff;        /* Highlights the active question in Orange (Optional) */
  box-shadow: none;
}

/* 4. The Answer (Body) */
.accordion-body {
  background-color: transparent; /* Seamless look */
   color: #f3f1f1;      /* Slightly different (Grayer) color */
  
  line-height: 1.7;
  /* Remove Top padding completely to close the gap */
    padding-top: 0;
    
    /* Remove Left padding to align with the Question */
    padding-left: 0;
    
    /* Reduce Bottom/Right padding */
    padding-right: 0; 
    padding-bottom: 20px;
    
}

/* Removes the bottom line from the last FAQ item only */
.accordion-item.last-child {
    border-bottom: none;
}
/* 5. THE ORANGE ARROW (SVG Replacement) */
/* This replaces the default black arrow with your Orange (#ef5323) one */
.accordion-button::after {
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23ef5323'%3e%3cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e");
  transform: scale(0.8); /* Optional: Makes arrow slightly smaller/sleeker */
  margin-left: auto; /* Keeps arrow pushed to the right */
    /* If the arrow feels too close to the edge, add a tiny margin right */
    margin-right: 10px 0;
    
}

/* Keep the orange arrow when opened */
.accordion-button:not(.collapsed)::after {
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23ef5323'%3e%3cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e");
}





/* =========================================================
   MODERN CORPORATE FOOTER
========================================================= */
footer {
    background-color: var(--dark);
    color: rgba(255, 255, 255, 0.7);
    padding: clamp(50px, 10vw, 80px) 0 clamp(20px, 4vw, 30px);
    position: relative;
    font-size: clamp(0.9rem, 1.8vw, 0.95rem);
    margin-top: auto; 
    margin-bottom: 0 !important; /
}

/* --- Footer Navigation --- */
.footer-nav {
    margin-bottom: 40px;
}

.footer-menu {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    gap: 15px 30px; /* Row gap, Column gap */
}

.footer-menu a {
    color: var(--white);
    text-decoration: none;
    font-weight: 500;
    text-transform: capitalize;
    font-size: 0.95rem;
    letter-spacing: 1px;
    transition: all 0.3s ease;
    position: relative;
}

/* Hover underline effect */
.footer-menu a::after {
    content: '';
    position: absolute;
    width: 0;
    height: 2px;
    bottom: -5px;
    left: 0;
    background-color: var(--primary);
    transition: width 0.3s ease;
}

.footer-menu a:hover {
    color: var(--primary);
}

.footer-menu a:hover::after {
    width: 100%;
}

/* --- Social Icons (Creative & Cool) --- */
.footer-socials {
    display: flex;
    justify-content: center;
    gap: 15px;
    margin-bottom: 50px;
}

.social-icon {
    width: clamp(35px, 7vw, 45px);
    height: clamp(35px, 7vw, 45px);
    background-color: rgba(255, 255, 255, 0.05); /* Glassy look */
    border: 1px solid rgba(255, 255, 255, 0.1);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--white);
    text-decoration: none;
    transition: all 0.3s cubic-bezier(0.175, 0.885, 0.32, 1.275); /* Bouncy effect */
    min-width: 44px; /* Touch-friendly */
    min-height: 44px;
}

.social-icon:hover {
    background-color: var(--primary);
    border-color: var(--primary);
    color: var(--white);
    transform: translateY(-5px) scale(1.1);
    box-shadow: 0 10px 20px rgba(239, 83, 35, 0.3);
}

/* --- Footer Bottom / Copyright --- */
.footer-bottom {
    border-top: 1px solid rgba(255, 255, 255, 0.1);
    padding-top: 30px;
    position: relative; /* For Back to top positioning */
}

.copyright-text {
    font-size: 0.85rem;
    color: rgba(255, 255, 255, 0.5);
}

.copyright-text a {
    color: var(--white);
    text-decoration: none;
    font-weight: 600;
    transition: 0.3s;
}

.copyright-text a:hover {
    color: var(--primary);
}
/* --- Back To Top Button Fixed --- */
.back-to-top-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: clamp(40px, 8vw, 50px);
    height: clamp(40px, 8vw, 50px);
    background-color: var(--primary);
    color: var(--white);
    border-radius: 50%;
    text-decoration: none;
    
    /* FIX: Use vertical centering instead of fixed pixels */
    position: absolute;
    right: 15px; /* Adds a little buffer from the edge */
    top: 50%;
    transform: translateY(-50%); /* Pulls it back up to be perfectly centered */
    
    transition: all 0.3s ease;
    box-shadow: 0 5px 15px rgba(0,0,0,0.3);
    z-index: 10;
    min-width: 44px;
    min-height: 44px;
}

/* FIX: Update Hover to keep centering */
.back-to-top-btn:hover {
    background-color: var(--white);
    color: var(--primary);
    /* Keeps it centered (-50%) and moves it up slightly (-5px) */
    transform: translateY(calc(-50% - 5px)); 
    box-shadow: 0 10px 20px rgba(255,255,255,0.2);
}

/* Optional: On Mobile, just let it sit nicely under the text */
@media (max-width: 768px) {
    .back-to-top-btn {
        position: relative;
        right: auto;
        top: auto;
        transform: none;
        margin-top: 15px; /* Small space between text and button */
    }
    
    .back-to-top-btn:hover {
        transform: translateY(-5px); /* Simple hover for mobile */
    }
}

/* Smooth Scroll for the whole page */
html {
    scroll-behavior: smooth;
}

/* Responsive Tweak */
@media (max-width: 768px) {
    .footer-menu {
        flex-direction: column;
        align-items: center;
        gap: 15px;
    }
    
    .back-to-top-btn {
        position: relative;
        right: auto;
        top: auto;
        margin-top: 20px;
    }
}

/* Additional mobile-first breakpoints */
@media (max-width: 576px) {
    body {
        font-size: 0.85rem;
    }
    
    .hero-merged h1 {
        font-size: 1.5rem;
    }
    
    .about-headline-big {
        font-size: 2rem;
    }
    
    .cta-content h2 {
        font-size: 1.8rem;
    }
    
    .service-card {
        padding: 20px;
    }
    
    .contact-info-box {
        padding: 25px 20px;
    }
}




