/*==================================================
  TALKBOX CHILDREN'S CLINIC
  STYLE.CSS
  --------------------------------------------------
  1. Theme Variables
  2. Reset
  3. Base Styles
==================================================*/


/*==================================================
  1. THEME VARIABLES
==================================================*/

:root{

    /* Brand Colors */
    --primary: #16A6A0;
    --primary-dark: #0D6F6B;

    --primary-rgb: 22,166,160;
    --primary-dark-rgb: 13,111,107;

    /* Secondary */
    --secondary: #D9F2F0;
    --secondary-rgb: 217,242,240;

    /* Accent */
    --accent: #D9C26A;

    /* Text */
    --heading: #4F5D73;
    --text: #667085;
    --text-light: #7A8699;

    /* Backgrounds */
    --body-bg: #FCFDFD;
    --section-bg: #F2FAF9;
    --white: #FFFFFF;

    /* Cards */
    --card-bg: #FFFFFF;
    --card-border: #DCEEEB;

    /* Footer */
    --footer-bg: #0D6F6B;
    --footer-text: #FFFFFF;

    /* Borders */
    --border-color: #E8ECEF;

    /* Shadows */
    --shadow-sm: 0 8px 20px rgba(0,0,0,.05);
    --shadow-md: 0 15px 35px rgba(0,0,0,.08);
    --shadow-lg: 0 25px 60px rgba(0,0,0,.12);

    /* Border Radius */
    --radius-sm: 10px;
    --radius-md: 18px;
    --radius-lg: 30px;
    --radius-pill: 50px;

    /* Glass */
    --glass-white: rgba(255,255,255,.92);
    --glass-light: rgba(255,255,255,.75);

    /* Transitions */
    --transition: .35s ease;

    /* Gradients */
    --page-title-gradient:
        linear-gradient(
            135deg,
            #0B5F5A,
            #138B83
        );

    --service-overlay:
        linear-gradient(
            to top,
            rgba(10,104,108,.90) 0%,
            rgba(10,104,108,.55) 35%,
            rgba(10,104,108,.15) 65%,
            rgba(10,104,108,0) 100%
        );

}


/*==================================================
  2. RESET
==================================================*/

*,
*::before,
*::after{
    margin:0;
    padding:0;
    box-sizing:border-box;
}

html{
    scroll-behavior:smooth;
}

body{
    font-family:"Outfit",sans-serif;
    font-size:16px;
    line-height:1.7;
    color:var(--text);
    background:var(--body-bg);
    overflow-x:hidden;
    text-rendering:optimizeLegibility;
    -webkit-font-smoothing:antialiased;
}

img{
    display:block;
    max-width:100%;
    height:auto;
}

picture{
    display:block;
}

svg{
    display:block;
}

a{
    color:inherit;
    text-decoration:none;
    transition:var(--transition);
}

ul,
ol{
    list-style:none;
}

button,
input,
textarea,
select{
    font:inherit;
}

button{
    cursor:pointer;
    border:none;
    background:none;
}

textarea{
    resize:vertical;
}

iframe{
    border:0;
}

::selection{
    background:var(--primary);
    color:#fff;
}


/*==================================================
  3. BASE LAYOUT
==================================================*/

.container{
    max-width:1200px;
}

section{
    position:relative;
    padding:60px 0;
}

.bg-section{
    background:var(--section-bg);
}

.bg-white{
    background:#fff;
}

.text-primary{
    color:var(--primary)!important;
}

.bg-primary{
    background:var(--primary)!important;
}

.border-primary{
    border-color:var(--primary)!important;
}

.shadow-sm{
    box-shadow:var(--shadow-sm);
}

.shadow-md{
    box-shadow:var(--shadow-md);
}

.shadow-lg{
    box-shadow:var(--shadow-lg);
}

.home-section + .home-section{
    margin-top:10px;
}

/*==================================================
  4. TYPOGRAPHY
==================================================*/

h1,
h2,
h3,
h4,
h5,
h6{
    margin:0 0 20px;
    font-weight:800;
    line-height:1.15;
    color:var(--heading);
}

h1{
    font-size:56px;
}

h2,
.section-title{
    font-size:48px;
}

h3{
    font-size:32px;
}

h4{
    font-size:24px;
}

h5{
    font-size:20px;
}

h6{
    font-size:18px;
}

p{
    margin:0 0 18px;
    color:var(--text);
    font-size:18px;
    line-height:1.8;
}

p:last-child{
    margin-bottom:0;
}

strong{
    font-weight:700;
}

small{
    font-size:14px;
}

.section-title{
    font-weight:800;
    color:var(--heading);
    margin-bottom:20px;
    line-height:1.1;
}

.section-subtitle{
    max-width:760px;
    margin:0 auto;
    font-size:18px;
    color:var(--text-light);
    line-height:1.8;
}

.section-tag{
    display:inline-block;
    margin-bottom:12px;
    color:var(--primary);
    font-size:14px;
    font-weight:700;
    letter-spacing:1px;
    text-transform:uppercase;
    text-align:center;
}

.text-light{
    color:var(--text-light)!important;
}

.text-white{
    color:#fff!important;
}


/*==================================================
  5. COMMON COMPONENTS
==================================================*/

.rounded{
    border-radius:var(--radius-md)!important;
}

.rounded-lg{
    border-radius:var(--radius-lg)!important;
}

.bg-cover{
    background-repeat:no-repeat;
    background-position:center;
    background-size:cover;
}

.object-cover{
    width:100%;
    height:100%;
    object-fit:cover;
}

.img-shadow{
    box-shadow:var(--shadow-lg);
}

.card-shadow{
    box-shadow:var(--shadow-md);
}

.glass{
    background:var(--glass-white);
    backdrop-filter:blur(18px);
    -webkit-backdrop-filter:blur(18px);
}

.transition{
    transition:var(--transition);
}


/*==================================================
  6. BUTTONS
==================================================*/

.btn-main,
.btn-primary,
.cta-btn,
.about-btn{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:10px;
    padding:10px 26px;
    border:none;
    border-radius:var(--radius-pill);
    font-size:17px;
    font-weight:600;
    text-decoration:none;
    transition:var(--transition);
    cursor:pointer;
}

.btn-main,
.btn-primary{
    background:var(--primary);
    color:#fff;
}

.btn-main:hover,
.btn-primary:hover{

    background:var(--primary-dark);
    color:#fff;

    transform:translateY(-3px);

}

.btn-outline{

    display:inline-flex;
    align-items:center;
    justify-content:center;

    padding:15px 34px;

    border:2px solid var(--primary);

    border-radius:var(--radius-pill);

    color:var(--primary);
    background:transparent;

    font-size:17px;
    font-weight:600;

    transition:var(--transition);

}

.btn-outline:hover{

    background:var(--primary);
    color:#fff;

}

.btn-white{

    display:inline-flex;
    align-items:center;
    justify-content:center;

    padding:15px 34px;

    border-radius:var(--radius-pill);

    background:#fff;
    color:var(--primary);

    font-weight:600;

    transition:var(--transition);

}

.btn-white:hover{

    transform:translateY(-3px);

}

.btn-primary,
.btn-primary:hover,
.btn-primary:focus,
.btn-primary:active{

    border-color:var(--primary)!important;

}

.btn-primary:hover{

    background:var(--primary-dark)!important;
    border-color:var(--primary-dark)!important;

}

/*==================================================
  7. HEADER
==================================================*/

.main-header{

    position:fixed;
    top:0;
    left:0;
    width:100%;

    z-index:9999;

    background:#fff;

    border-bottom:1px solid var(--border-color);

    padding:18px 0;

    transition:var(--transition);

}

.main-header.scrolled{

    padding:12px 0;

    box-shadow:var(--shadow-md);

}


/*==================================================
  LOGO
==================================================*/

.navbar-brand{
    display:flex;
    align-items:center;
    margin-right:40px;
    padding:0;
}

.navbar-brand img{
    height:90px;
    width:auto;
    display:block;
}


/*==================================================
  NAVBAR
==================================================*/

.navbar{
    padding:0;
    display:flex;
    align-items:center;
}

.navbar-collapse{
    justify-content:flex-end;
}

.navbar-nav{
    display:flex;
    align-items:center;
    gap:28px;
}


/*==================================================
  NAVIGATION LINKS
==================================================*/

.nav-item{

    position:relative;

}

.nav-link{
    position:relative;
    display:flex;
    align-items:center;
    gap:6px;
    padding:0 !important;
    font-size:14px;
    font-weight:600;
    letter-spacing:.5px;
    text-transform:uppercase;
    color:#6F9C8C !important;
    transition:var(--transition);
}

.nav-link:hover,
.nav-link.active{
    color:#8CAB3C !important;
}

.nav-link::after{
    content:"";
    position:absolute;
    left:0;
    bottom:-14px;
    width:0;
    height:3px;
    background:#B5C84F;
    transition:var(--transition);
}

.nav-link:hover::after,
.nav-link.active::after{
    width:100%;
}


/*==================================================
  DROPDOWN
==================================================*/

.dropdown{
    position:relative;
}

.dropdown-link{
    display:flex;
    align-items:center;
    gap:6px;
}

.dropdown-link i{
    font-size:10px;
}


/* Mobile Toggle Button */

.dropdown-toggle-btn{
    display:none;
    align-items:center;
    justify-content:center;
    width:40px;
    height:40px;
    padding:0;
    border:none;
    background:none;
    color:#6F9C8C;
    cursor:pointer;
}

.dropdown-toggle-btn i{
    transition:transform .3s ease;
}

.dropdown.active .dropdown-toggle-btn i{
    transform:rotate(180deg);
}


/*==================================================
  DESKTOP DROPDOWN
==================================================*/

@media (min-width:992px){

.navbar .dropdown-menu{
    display:block;
    position:absolute;
    top:48px;
    left:0;
    min-width:240px;
    padding:18px 0;
    background:#fff;
    border:none;
    border-radius:18px;
    box-shadow:var(--shadow-md);
    opacity:0;
    visibility:hidden;
    transform:translateY(10px);
    transition:all .25s ease;
}

.navbar .dropdown:hover > .dropdown-menu{
    opacity:1;
    visibility:visible;
    transform:translateY(0);
}

.about-dropdown{
    min-width:210px;
}

.dropdown-item{
    display:block;
    padding:14px 28px;
    font-size:14px;
    font-weight:600;
    color:#6F9C8C;
    text-transform:uppercase;
    letter-spacing:.3px;
    transition:var(--transition);
}

.dropdown-item:hover{
    background:#F8FBFA;
    color:#8CAB3C;
}

}


/*==================================================
  NAVBAR TOGGLER
==================================================*/

.navbar-toggler{
    padding:0;
    border:none;
    box-shadow:none !important;
}

.navbar-toggler:focus{
    box-shadow:none;
}

.navbar-toggler i{
    font-size:26px;
    color:var(--heading);
}

/*==================================================
  8. HERO SECTION
==================================================*/

.hero{

    position:relative;

    margin-top:126px;
    padding:0;

    overflow:hidden;

}

.heroSwiper{

    position:relative;

}

.hero-slide{

    position:relative;

}


/*==================================================
  HERO IMAGE
==================================================*/

.hero-image{

    width:100%;
    height:85vh;

    object-fit:cover;

}


/*==================================================
  HERO OVERLAY
==================================================*/

.overlay1{

    position:absolute;
    inset:0;

    background:linear-gradient(
        to right,
        rgba(var(--primary-rgb),.78),
        rgba(var(--primary-rgb),.35)
    );

    z-index:1;

}


/*==================================================
  HERO CONTENT
==================================================*/

.hero-content{
    position:absolute;
    left:60px;
    bottom:60px;
    z-index:2;
    max-width:650px;
    padding:40px;
    background:var(--glass-light);
    backdrop-filter:blur(18px);
    -webkit-backdrop-filter:blur(18px);
    border-radius:28px;
    box-shadow:var(--shadow-lg);
}

.hero-content h1{

    margin-bottom:20px;

    font-size:52px;
    line-height:1.08;

    color:var(--heading);

}

.hero-content p{

    margin-bottom:28px;

    font-size:18px;
    line-height:1.8;

    color:var(--text);

}

.hero-buttons{

    display:flex;
    align-items:center;
    gap:16px;

    flex-wrap:wrap;

}


/*==================================================
  SWIPER PAGINATION
==================================================*/

.heroSwiper .swiper-pagination{

    bottom:25px !important;

}

.heroSwiper .swiper-pagination-bullet{

    width:12px;
    height:12px;

    background:var(--primary);

    opacity:.35;

    transition:var(--transition);

}

.heroSwiper .swiper-pagination-bullet-active{

    opacity:1;

    transform:scale(1.15);

}


/*==================================================
  SWIPER NAVIGATION
==================================================*/

.heroSwiper .swiper-button-next,
.heroSwiper .swiper-button-prev{

    width:56px;
    height:56px;

    border-radius:50%;

    background:rgba(255,255,255,.18);

    backdrop-filter:blur(10px);

    color:#fff;

    transition:var(--transition);

}

.heroSwiper .swiper-button-next::after,
.heroSwiper .swiper-button-prev::after{

    font-size:18px;
    font-weight:700;

}

.heroSwiper .swiper-button-next:hover,
.heroSwiper .swiper-button-prev:hover{

    background:var(--primary);

}


/*==================================================
  HERO ANIMATION
==================================================*/

.hero-content{

    animation:heroFade .8s ease;

}

@keyframes heroFade{

    from{

        opacity:0;
        transform:translateY(30px);

    }

    to{

        opacity:1;
        transform:translateY(0);

    }

}

/*==================================================
  9. ABOUT SECTION
==================================================*/
.about-image-wrapper{
    position:relative;
    max-width:460px;
    border-radius:35px;
    margin:auto;
        background:linear-gradient(
        to top,
        rgba(var(--primary-rgb),.92) 0%,
        rgba(var(--primary-rgb),.45) 45%,
        rgba(var(--primary-rgb),0) 90%
    );
}

.about-section{
    position:relative;
    overflow:hidden;
    background:
        radial-gradient(circle at left top,#ECFAF9 0%,transparent 20%),
        radial-gradient(circle at right bottom,#F5FBFF 0%,transparent 25%),
        #FFFFFF;
}

.about-section .row{
    align-items:center;
}


/*==================================================
  ABOUT IMAGE
==================================================*/

.about-image-wrapper::before{
    content:"";
    position:absolute;
    top:-40px;
    left:-40px;
    width:180px;
    height:180px;
    border-radius:50%;
    background:var(--primary);
    opacity:.08;
}

/*.about-image-wrapper::after{
    content:"";
    position:absolute;
    right:-28px;
    bottom:-28px;
    width:220px;
    height:220px;
    border:2px dashed rgba(var(--primary-rgb),.20);
    border-radius:30px;
}*/

.about-img{
    position:relative;
    padding:14px;
    z-index:2;
    width:100%;
    height:780px;
    object-fit:cover;
    border-radius:30px;
    box-shadow:var(--shadow-lg);
    margin:auto;
    background:linear-gradient(
        to top,
        rgba(var(--primary-rgb),.92) 0%,
        rgba(var(--primary-rgb),.45) 45%,
        rgba(var(--primary-rgb),0) 70%
    );

}


/*==================================================
  EXPERIENCE BADGE
==================================================*/

.experience-badge{
    position:absolute;
    right:24px;
    bottom:24px;
    z-index:5;
    min-width:150px;
    padding:20px 24px;
    text-align:center;
    background:rgba(255,255,255,.98);
    backdrop-filter:blur(18px);
    -webkit-backdrop-filter:blur(18px);
    border-radius:22px;
    box-shadow:var(--shadow-md);
}

.experience-badge span{
    display:block;
    margin-bottom:6px;
    font-size:42px;
    font-weight:800;
    line-height:1;
    color:var(--primary);
}

.experience-badge p{
    margin:0;
    font-size:15px;
    color:var(--text-light);
}


/*==================================================
  ABOUT CONTENT
==================================================*/

.about-content{
    padding-left:35px;
}

.about-content h2{
    margin-bottom:18px;
    font-size:54px;
    color:var(--heading);
    text-align:center;
}

.about-content h3{
    margin-bottom:24px;
    font-size:28px;
    font-weight:700;
    color:var(--primary);
    text-align:center;
}

.about-content p{
    justify-content:center;
    column-count:2;
    column-gap:36px;
    font-size:17px;
    line-height:1.5;
    color:var(--text);
}


/*==================================================
  FEATURE GRID
==================================================*/

.about-features{
    display:grid;
    grid-template-columns:repeat(2,1fr);
    gap:15px;
    margin:30px 0;
}

.feature-card{
    display:flex;
    align-items:center;
    gap:10px;
    padding:15px;
    background:#fff;
    border:1px solid var(--card-border);
    border-radius:18px;
    box-shadow:var(--shadow-sm);
    transition:var(--transition);
}

.feature-card:hover{
    transform:translateY(-6px);
    box-shadow:var(--shadow-md);
}

.feature-card i{
    flex-shrink:0;
    font-size:22px;
    color:var(--primary);
}

.feature-card h4{
    margin:0 0 4px;
    font-size:18px;
    color:var(--heading);
}

.feature-card p{
    margin:0;
    font-size:15px;
    line-height:1.5;
    color:var(--text-light);
}


/*==================================================
  ABOUT BUTTON
==================================================*/

.about-btn{
    background:var(--primary);
    color:#fff;
    box-shadow:0 18px 40px rgba(var(--primary-rgb),.25);
}

.about-btn:hover{
    background:var(--primary-dark);
    color:#fff;
    transform:translateY(-4px);
}

/*==================================================
  10. WHY CHOOSE US
==================================================*/

.why-section{
    position:relative;
    overflow:hidden;
    background:var(--section-bg);
}

.why-section::before{
    content:"";
    position:absolute;
    top:-120px;
    right:-120px;
    width:320px;
    height:320px;
    border-radius:50%;
    background:rgba(var(--primary-rgb),.05);
}

.why-section::after{
    content:"";
    position:absolute;
    left:-100px;
    bottom:-100px;
    width:260px;
    height:260px;
    border-radius:50%;
    background:rgba(var(--primary-rgb),.04);
}


/*==================================================
  SECTION HEADER
==================================================*/

.why-header{
    position:relative;
    z-index:2;
    max-width:850px;
    margin:0 auto 60px;
    text-align:center;
}

.why-header .section-tag{
    margin-bottom:15px;
}

.why-header h2{
    margin-bottom:20px;
}

.why-header p{
    color:var(--text-light);
}


/*==================================================
  STATISTICS
==================================================*/

.why-stats{
   /* margin-bottom:55px;*/
}

.stat-box{

    text-align:center;

}

.stat-box h3{

    margin-bottom:8px;

    font-size:52px;
    font-weight:800;

    color:var(--primary);

}

.stat-box span{

    display:block;

    font-size:15px;

    color:var(--text-light);

    letter-spacing:.3px;

}


/*==================================================
  WHY CARD
==================================================*/

.why-card{

    position:relative;

    height:100%;

    padding:35px 30px;

    background:#fff;

    border:1px solid var(--card-border);

    border-radius:24px;

    text-align:center;

    box-shadow:var(--shadow-sm);

    transition:var(--transition);

}

.why-card:hover{

    transform:translateY(-10px);

    box-shadow:var(--shadow-lg);

}


/*==================================================
  NUMBER
==================================================*/

.card-number{

    display:flex;
    align-items:center;
    justify-content:center;

    width:68px;
    height:68px;

    margin:0 auto 25px;

    border-radius:50%;

    background:rgba(var(--primary-rgb),.12);

    color:var(--primary);

    font-size:22px;
    font-weight:700;

}


/*==================================================
  CARD CONTENT
==================================================*/

.why-card h4{

    margin-bottom:18px;

    font-size:24px;

    color:var(--heading);

}

.why-card p{

    font-size:17px;

    line-height:1.8;

    color:var(--text-light);

}


/*==================================================
  SIMPLE CONTENT BLOCK
==================================================*/

.why-choose-us{

    /*margin-top:35px;*/

}

.why-choose-us h3{

    /*margin-bottom:18px;*/

    font-size:28px;

    color:var(--primary);

}

.why-choose-us ul{

    margin:0;
    padding:0;

}

.why-choose-us li{

    position:relative;

    padding-left:34px;

    margin-bottom:16px;

    font-size:17px;

    line-height:1.8;

    color:var(--text);

}

.why-choose-us li::before{

    content:"✓";

    position:absolute;

    left:0;
    top:0;

    font-size:18px;
    font-weight:700;

    color:var(--primary);

}

/*==================================================
  11. SERVICES
==================================================*/

.services-section{
    position:relative;
    overflow:hidden;
    background:#fff;
}

.services-section .text-center{
    /*margin-bottom:70px !important;*/
}

.services-section h2{

    margin-bottom:18px;

    color:var(--heading);

}

.services-section p{

    max-width:700px;

    margin:0 auto;

    color:var(--text-light);

}


/*==================================================
  SERVICES SECTION
==================================================*/

.services-section{
    padding:50px 0;
    background:#f8fbfc;
}

.section-heading{
    max-width:760px;
    margin:0 auto 70px;
}

.section-subtitle{
    display:inline-flex;
    align-items:center;
    gap:10px;
    padding:10px 22px;
    border-radius:50px;
    background:#eaf8f8;
    color:var(--primary);
    font-size:14px;
    font-weight:700;
    letter-spacing:.08em;
}

.section-heading h2{
    margin:22px 0 18px;
    font-size:54px;
    font-weight:800;
    color:#183153;
}

.section-heading h2 span{
    color:var(--primary);
}

.section-heading p{
    max-width:620px;
    margin:auto;
    font-size:18px;
    line-height:1.8;
    color:#6f7d95;
}


/*==================================================
  GRID
==================================================*/

.services-grid{

    display:grid;

    grid-template-columns:repeat(3,1fr);

    gap:35px;

    align-items:start;

}


/*==================================================
  CARD
==================================================*/

.service-card{
    position:relative;

    display:flex;
    flex-direction:column;

    overflow:hidden;

    height:100%;

    border-radius:30px;

    background:#fff;

    text-decoration:none;

    box-shadow:0 20px 45px rgba(15,55,75,.08);

    transition:.45s;
}

.service-card:hover{

    transform:translateY(-12px);

    box-shadow:0 35px 70px rgba(0,0,0,.14);

}


/*==================================================
  IMAGE
==================================================*/

.service-image-wrapper{

    position:relative;

    overflow:hidden;

    height:280px;

    border-bottom-left-radius:90px;

}

.service-image{

    width:100%;
    height:100%;

    object-fit:cover;

    transition:.8s;

}

.service-card:hover .service-image{

    transform:scale(1.08);

}


/*==================================================
  ICON
==================================================*/

.service-icon{

    position:absolute;

    left:50%;

    top:280px;

    transform:translate(-50%,-50%);

    width:88px;
    height:88px;

    border-radius:50%;

    background:linear-gradient(135deg,#16A6A0,#0f7d79);

    display:flex;
    align-items:center;
    justify-content:center;

    color:#fff;

    font-size:32px;

    border:6px solid #fff;

    box-shadow:0 15px 35px rgba(22,166,160,.30);

    z-index:5;

}


/*==================================================
  BODY
==================================================*/

.service-body{

    display:flex;
    flex-direction:column;
    flex:1;

    padding:50px 38px 35px;

    text-align:center;
}

.service-body h3{

    margin-bottom:20px;

    font-size:36px;

    line-height:1.25;

    color:#183153;

}

.service-line{

    width:70px;

    height:3px;

    margin:0 auto 24px;

    border-radius:20px;

    background:var(--primary);

}

.service-body p{
    display:-webkit-box;
    -webkit-line-clamp:3;
    -webkit-box-orient:vertical;
    overflow:hidden;

    margin-bottom:35px;

    color:#6f7d95;

    line-height:1.9;
}


/*==================================================
  FOOTER
==================================================*/

.service-footer{
    display:flex;
    justify-content:space-between;
    align-items:center;
    margin-top:auto;
}

.service-footer span{
    color:var(--primary);
    font-weight:700;
    font-size:17px;
}

.service-arrow{
    width:56px;
    height:56px;
    border-radius:50%;
    background:var(--primary);
    color:#fff;
    display:flex;
    align-items:center;
    justify-content:center;
    transition:.35s;
}

.service-card:hover .service-arrow{
    transform:translateX(6px);
    background:#183153;
}


/*==================================================
  WIDE CARD
==================================================*/

.service-card-wide{
    grid-column:span 2;
    display:grid;
    grid-template-columns:45% 55%;
    align-items:center;
}

.service-card-wide .service-image-wrapper{
    height:100%;
    min-height:380px;
    border-bottom-left-radius:0;
    border-top-right-radius:90px;
}

.service-card-wide .service-icon{

    left:45%;

}

.service-card-wide .service-body{

    padding:60px;

    text-align:left;

}

.service-card-wide .service-line{

    margin:0 0 25px;

}

.service-card-wide .service-footer{

    margin-top:40px;

}


/*==================================================
  OVERLAY
==================================================*/

.service-overlay{

    position:absolute;

    inset:0;

    z-index:1;

    pointer-events:none;

    background:var(--service-overlay);

    transition:var(--transition);

}

.service-card:hover .service-overlay{

    background:linear-gradient(
        to top,
        rgba(10,104,108,.94) 0%,
        rgba(10,104,108,.60) 32%,
        rgba(10,104,108,.18) 60%,
        rgba(10,104,108,0) 100%
    );

}


/*==================================================
  CONTENT
==================================================*/

.service-content{

    position:absolute;

    inset:0;

    z-index:2;

    display:flex;

    flex-direction:column;

    justify-content:flex-end;

    padding:32px;

    background:none !important;

}

.service-content h3{

    max-width:85%;

    margin-bottom:22px;

    color:#fff;

    font-size:34px;

    line-height:1.2;

    font-weight:800;

    transition:var(--transition);

}

.service-card:hover .service-content h3{

    transform:translateY(-4px);

}


/*==================================================
  FOOTER
==================================================*/

.service-footer{

    display:flex;

    align-items:center;

    justify-content:space-between;

    gap:20px;

}

.service-footer span{

    color:#fff;

    font-size:16px;

    font-weight:600;

    letter-spacing:.3px;

}

.service-footer i{

    display:flex;

    align-items:center;

    justify-content:center;

    width:48px;
    height:48px;

    border-radius:50%;

    background:rgba(255,255,255,.20);

    color:#fff;

    transition:var(--transition);

}

.service-card:hover .service-footer i{

    background:var(--primary);

    transform:translateX(6px);

}


/*==================================================
  OPTIONAL SERVICE INTRO
==================================================*/

.service-intro{

    display:grid;

    grid-template-columns:repeat(2,1fr);

    gap:50px;

    align-items:center;

    margin-bottom:50px;

}

.service-intro-content p{

    color:var(--text-light);

}

.service-intro-image img{

    width:100%;

    border-radius:28px;

    object-fit:cover;

    box-shadow:var(--shadow-lg);

}

/*==================================================
  12. TESTIMONIALS
==================================================*/

.testimonial-section{

    position:relative;

    overflow:hidden;

    background:var(--section-bg);

}

.testimonial-section .text-center{

    /*margin-bottom:65px !important;*/

}


/*==================================================
  SWIPER
==================================================*/

.testimonialSwiper .swiper-wrapper{

    align-items:stretch;

}

.testimonialSwiper .swiper-slide{

    height:auto;

    display:flex;

}


/*==================================================
  TESTIMONIAL CARD
==================================================*/

.testimonial-card{

    position:relative;

    width:100%;
    height:100%;

    display:flex;

    flex-direction:column;

    justify-content:space-between;

    padding:35px 30px;

    background:#fff;

    border-top:4px solid var(--primary);

    border-radius:24px;

    box-shadow:var(--shadow-sm);

    transition:var(--transition);

}

.testimonial-card:hover{

    transform:translateY(-8px);

    box-shadow:var(--shadow-lg);

}


/*==================================================
  QUOTE ICON
==================================================*/

.testimonial-card::before{

    content:"❝";

    position:absolute;

    top:12px;
    left:20px;

    font-size:64px;

    line-height:1;

    color:var(--primary);

    opacity:.12;

}


/*==================================================
  CLIENT IMAGE
==================================================*/

.testimonial-image{

    width:82px;
    height:82px;

    margin:0 auto 18px;

    border-radius:50%;

    object-fit:cover;

    border:3px solid var(--secondary);

    box-shadow:var(--shadow-sm);

}


/*==================================================
  RATING
==================================================*/

.stars{

    margin-bottom:20px;

    text-align:center;

    color:var(--accent);

    font-size:22px;

    letter-spacing:2px;

}


/*==================================================
  CONTENT
==================================================*/

.testimonial-text{

    margin-bottom:25px;

    color:var(--text);

    font-size:17px;

    line-height:1.8;

    display:-webkit-box;

    -webkit-line-clamp:5;

    -webkit-box-orient:vertical;

    overflow:hidden;

}

.testimonial-card h4{

    margin-bottom:6px;

    text-align:center;

    font-size:24px;

    color:var(--heading);

}

.role{

    display:block;

    text-align:center;

    font-size:15px;

    font-weight:600;

    color:var(--primary);

}


/*==================================================
  PAGINATION
==================================================*/

.testimonialSwiper .swiper-pagination{

    position:relative;

    margin-top:45px;

}

.testimonialSwiper .swiper-pagination-bullet{

    width:12px;
    height:12px;

    background:var(--primary);

    opacity:.30;

    transition:var(--transition);

}

.testimonialSwiper .swiper-pagination-bullet-active{

    opacity:1;

    transform:scale(1.15);

}


/*==================================================
  TESTIMONIAL PAGE
==================================================*/

.testimonials-page{

    background:#F8FAF9;

}

.testimonial-list{

    max-width:900px;

    margin:auto;

}

.testimonial-item{

    margin-bottom:35px;

    padding:40px;

    background:#fff;

    border-left:5px solid var(--primary);

    border-radius:20px;

    box-shadow:var(--shadow-sm);

}

.testimonial-header h3{

    margin-bottom:5px;

    font-size:24px;

}

.testimonial-header span{

    color:var(--text-light);

    font-size:15px;

}

.testimonial-rating{

    margin:18px 0 25px;

    color:var(--accent);

}

.testimonial-content{

    color:var(--text);

    line-height:1.9;

}

.read-more{

    display:inline-flex;

    margin-top:18px;

    font-weight:600;

    color:var(--primary);

    transition:var(--transition);

}

.read-more:hover{

    color:var(--primary-dark);

}

/*==================================================
  13. WHAT WE OFFER
==================================================*/

.what-offer-section{
    position:relative;
    overflow:hidden;
    background:var(--body-bg);
}

.what-offer-section .row{
    align-items:center;
}

.offer-title{
    margin-bottom:18px;
    font-size:54px;
    font-weight:700;
    color:var(--heading);
    text-align:center;
    line-height:1.15;
}

.offer-subtitle{
    margin-bottom:26px;
    font-size:18px;
    font-weight:500;
    color:var(--text);
    text-align:center;
    line-height:1.4;
}

.offer-subtitle2{
    margin-bottom:20px;
    font-size:30px;
    font-weight:600;
    color:var(--text);
    text-align:center;
    line-height:1.4;
}

/*==================================================
  CONTENT
==================================================*/

.offer-content{
    position:relative;
}

.offer-content .section-title{
    margin-bottom:15px;
}

.offer-intro{
    margin-bottom:28px;
    font-size:19px;
    line-height:1.5;
    color:var(--text);
}

.offer-heading{
    margin:35px 0 22px;
    font-size:30px;
    font-weight:700;
    color:var(--heading);
}


/*==================================================
  OFFER LIST
==================================================*/

.offer-list{
    margin:0;
    padding:0;
}

.offer-list li{
    position:relative;
    padding-left:34px;
    margin-bottom:18px;
    font-size:17px;
    line-height:1.2;
    color:var(--text);
}

.offer-list li::before{
    content:"✓";
    position:absolute;
    left:0;
    top:0;
    color:var(--primary);
    font-size:17px;
    font-weight:700;
}


/*==================================================
  DESCRIPTION
==================================================*/

.offer-description{
    margin-top:30px;
    white-space:pre-line;
    font-size:17px;
    line-height:1.4;
    color:var(--text-light);
}


/*==================================================
  IMAGE
==================================================*/

.offer-image-wrapper{
    position:relative;
    overflow:hidden;
    height:100%;
    border-radius:30px;
    box-shadow:var(--shadow-lg);
}

.offer-image{
    position: relative;
    padding: 14px;
    z-index: 2;
    width: 100%;
    height: 520px;
    object-fit: cover;
    border-radius: 30px;
    box-shadow: var(--shadow-lg);
    transition:1s ease;
}

.offer-image-wrapper:hover .offer-image{
    transform:scale(1.06);
}


/*==================================================
  IMAGE OVERLAY
==================================================*/

.offer-overlay{
    position:absolute;
    left:0;
    right:0;
    bottom:0;
    padding:35px;
    background:linear-gradient(
        to top,
        rgba(var(--primary-rgb),.92) 0%,
        rgba(var(--primary-rgb),.45) 45%,
        rgba(var(--primary-rgb),0) 100%
    );

}

.offer-overlay h3{
    margin-bottom:12px;
    color:#fff;
    font-size:28px;
    font-weight:700;
}

.offer-overlay p{
    margin-bottom:16px;
    color:rgba(255,255,255,.95);
    font-size:16px;
    line-height:1.7;
}

.offer-overlay a{
    display:inline-flex;
    align-items:center;
    gap:8px;
    color:#fff;
    font-weight:600;
    transition:var(--transition);
}

.offer-overlay a:hover{
    opacity:.85;
}

/*==================================================
  14. CALL TO ACTION
==================================================*/

.cta-section{
    position:relative;
    overflow:hidden;
    background:var(--section-bg);
}

.cta-wrapper{
    display:flex;
    align-items:center;
    justify-content:space-between;
    /*gap:60px;*/
}


/*==================================================
  CTA IMAGE
==================================================*/

.cta-image{
    flex:0 0 380px;
}

.cta-image img{
    width:380px;
    height:380px;
    object-fit:cover;
    border-radius:50%;
    border:8px solid rgba(255,255,255,.75);
    box-shadow:var(--shadow-lg);
}


/*==================================================
  CTA CONTENT
==================================================*/

.cta-content{
    flex:1;
    text-align:center;
}

.cta-content h2{
    position:relative;
    margin-bottom:30px;
    font-size:42px;
    color:var(--heading);
}

.cta-content h2::before,
.cta-content h2::after{
    content:"";
    position:absolute;
    top:50%;
    width:120px;
    height:1px;
    background:rgba(var(--primary-rgb),.20);
}

.cta-content h2::before{
    left:-140px;
}

.cta-content h2::after{
    right:-140px;
}

.cta-content p{
    max-width:700px;
    margin:0 auto 35px;
    font-size:18px;
    line-height:1.8;
    color:var(--text-light);
}


/*==================================================
  CTA BUTTON
==================================================*/

.cta-btn{
    background:var(--primary);

    color:#fff;

    font-size:17px;

    font-weight:700;

    letter-spacing:.5px;

    text-transform:uppercase;

    box-shadow:0 18px 35px rgba(var(--primary-rgb),.25);

}

.cta-btn:hover{

    background:var(--primary-dark);

    color:#fff;

    transform:translateY(-4px);

}


/*==================================================
  SPEECH CTA
==================================================*/

.cta-speech{

    position:relative;

    overflow:hidden;

    text-align:center;

    background:var(--page-title-gradient);

    color:#fff;

}

.cta-speech::before{

    content:"";

    position:absolute;

    top:-30px;
    left:0;

    width:100%;
    height:60px;

    background:#F8FBFB;

    border-radius:0 0 50% 50%;

}

.cta-speech h2{

    margin-bottom:22px;

    color:#fff;

    font-size:50px;

}

.cta-speech p{

    max-width:760px;

    margin:0 auto 38px;

    color:rgba(255,255,255,.92);

    font-size:18px;

    line-height:1.9;

}

.cta-speech .cta-btn{

    background:#fff;

    color:var(--primary);

    box-shadow:none;

}

.cta-speech .cta-btn:hover{

    background:#F5F5F5;

    color:var(--primary-dark);

}


/*==================================================
  SUPPORT BANNER
==================================================*/

.support-banner{

    display:flex;

    align-items:center;

    justify-content:space-between;

    gap:30px;

    margin-top:40px;

    padding:30px 35px;

    border-radius:22px;

    background:var(--page-title-gradient);

    box-shadow:var(--shadow-md);

}

.support-banner h4{

    margin-bottom:8px;

    color:#fff;

    font-size:24px;

}

.support-banner p{

    color:rgba(255,255,255,.92);

    font-size:16px;

    margin:0;

}

.banner-btn{

    display:inline-flex;

    align-items:center;

    justify-content:center;

    padding:15px 34px;

    border-radius:50px;

    background:#fff;

    color:var(--primary);

    font-weight:700;

    white-space:nowrap;

    transition:var(--transition);

}

.banner-btn:hover{

    transform:translateY(-3px);

    color:var(--primary-dark);

}

/*==================================================
  15. CONTACT PAGE
==================================================*/

.contact-page{
    background:#F8FAFC;
}

.contact-grid{
    display:grid;
    grid-template-columns:2fr 1fr;
    gap:40px;
    align-items:start;
}


/*==================================================
  CONTACT FORM
==================================================*/

.contact-form-area{
    padding:45px;
    background:#fff;
    border-radius:24px;
    box-shadow:var(--shadow-md);
}

.contact-form-area h2{
    margin-bottom:15px;
    font-size:38px;
}

.contact-form-area p{
    color:var(--text-light);
    line-height:1.5;
}

.contact-form-area h3{
    margin:40px 0 20px;
    padding-left:16px;
    border-left:5px solid var(--primary);
    font-size:24px;
    color:var(--primary);
}


/*==================================================
  FORM LAYOUT
==================================================*/

.form-row{

    display:grid;

    grid-template-columns:repeat(2,1fr);

    gap:20px;

    margin-bottom:20px;

}

.form-group{

    margin-bottom:22px;

}

.full-width{

    grid-column:1/-1;

}


/*==================================================
  LABELS
==================================================*/

.form-group label{

    display:block;

    margin-bottom:8px;

    font-size:15px;

    font-weight:600;

    color:var(--heading);

}

.form-group label span{

    color:#DC2626;

}


/*==================================================
  INPUTS
==================================================*/

.form-control{

    width:100%;
    height:54px;

    padding:0 18px;

    border:1px solid var(--border-color);

    border-radius:14px;

    background:#fff;

    transition:var(--transition);

}

textarea.form-control{

    height:160px;

    padding:16px 18px;

    resize:vertical;

}

.form-control:focus{

    outline:none;

    border-color:var(--primary);

    box-shadow:0 0 0 4px rgba(var(--primary-rgb),.12);

}


/*==================================================
  ADDRESS & INTEREST
==================================================*/

.address-interest-row{

    display:grid;

    grid-template-columns:1.4fr 1fr;

    gap:30px;

    margin-bottom:25px;

}

.checkbox-section{

    padding:22px;

    border:1px solid var(--border-color);

    border-radius:18px;

    background:#F8FBFC;

}

.checkbox-title{

    display:block;

    margin-bottom:16px;

    font-weight:700;

    color:var(--heading);

}

.checkbox-list label{

    display:flex;

    align-items:flex-start;

    gap:10px;

    margin-bottom:14px;

    line-height:1.7;

    cursor:pointer;

}

.checkbox-list input{

    margin-top:4px;

}


/*==================================================
  PRIVACY
==================================================*/

.privacy-section{

    display:grid;

    grid-template-columns:repeat(2,1fr);

    gap:20px;

    margin-top:35px;

}

.privacy-box{

    padding:22px;

    border-left:5px solid var(--primary);

    border-radius:18px;

    background:#EEF8F7;

}

.privacy-box h4{

    margin-bottom:10px;

    font-size:20px;

    color:var(--primary);

}

.privacy-box p{

    color:var(--text);

}


/*==================================================
  CONSENT
==================================================*/

.consent-box{

    margin:35px 0;

    padding:22px;

    border:1px solid #FFE08A;

    border-radius:18px;

    background:#FFF8E6;

}

.consent-box label{

    display:flex;

    align-items:flex-start;

    gap:12px;

    line-height:1.8;

}

.consent-box input{

    margin-top:5px;

}


/*==================================================
  SUBMIT BUTTON
==================================================*/

.submit-btn{

    display:inline-flex;

    align-items:center;

    justify-content:center;

    padding:16px 40px;

    border:none;

    border-radius:50px;

    background:var(--primary);

    color:#fff;

    font-size:16px;

    font-weight:600;

    transition:var(--transition);

}

.submit-btn:hover{

    background:var(--primary-dark);

    transform:translateY(-3px);

}


/*==================================================
  SIDEBAR
==================================================*/

.contact-sidebar{
    position:sticky;
    top:120px;
}

.contact-sidebar img{
    width:100%;
    border-radius:24px;
    box-shadow:var(--shadow-md);
    margin-top:12px;
}

.sidebar-card{
    padding:20px;
    background:#fff;
    border-radius:24px;
    box-shadow:var(--shadow-md);
}

.sidebar-card h3{
    margin-bottom:12px;
    font-size:24px;
}

.sidebar-card p{
    line-height:1.4;
    color:var(--text-light);
}

.sidebar-contact{
    margin:20px 0;
}

.sidebar-contact h5{
    margin-bottom:0px;
    color:var(--primary);

}

.sidebar-contact a{
    color:var(--heading);
    word-break:break-word;
}

.call-btn{
    display:flex;
    align-items:center;
    justify-content:center;
    padding:10px;
    border-radius:50px;
    background:var(--primary);
    color:#fff;
    font-weight:600;
    transition:var(--transition);
}

.call-btn:hover{
    background:var(--primary-dark);
    color:#fff;
}


/*==================================================
  SUCCESS MESSAGE
==================================================*/

.success-message{

    margin-bottom:35px;

    padding:25px;

    text-align:center;

    border:1px solid #10B981;

    border-radius:18px;

    background:#ECFDF5;

    color:#065F46;

}

.success-message i{

    display:block;

    margin-bottom:15px;

    font-size:50px;

    color:#10B981;

}

.success-message h3{

    margin-bottom:10px;

    color:#065F46;

}

/*==================================================
  17. EXPERTS AT HAND
==================================================*/

.eh-page{

    background:#F3FBF9;

}

.eh-page section{

    padding:0;

}


/*==================================================
  HERO
==================================================*/

.eh-hero{

    position:relative;

    overflow:hidden;

    padding:180px 0 140px;

    text-align:center;

    background:linear-gradient(
        135deg,
        var(--primary-dark),
        var(--primary)
    );

}

.eh-hero-content{

    max-width:920px;

    margin:0 auto;

}

.eh-badge{

    display:inline-flex;

    align-items:center;

    justify-content:center;

    padding:10px 24px;

    border-radius:50px;

    background:rgba(255,255,255,.16);

    color:#fff;

    font-size:13px;

    font-weight:700;

    letter-spacing:1px;

    text-transform:uppercase;

}

.eh-hero h1{

    margin:22px 0;

    color:#fff;

    font-size:58px;

}

.eh-hero p{

    max-width:700px;

    margin:auto;

    color:rgba(255,255,255,.92);

    font-size:19px;

    line-height:1.9;

}


/*==================================================
  HERO WAVE
==================================================*/

.eh-wave{

    position:absolute;

    left:-10%;

    bottom:-55px;

    width:120%;
    height:120px;

    background:#F3FBF9;

    border-radius:50%;

}


/*==================================================
  INTRO
==================================================*/

.eh-intro{

    position:relative;

    z-index:2;

    display:grid;

    grid-template-columns:1.15fr .85fr;

    /*gap:70px;*/

    align-items:center;

    margin-top:-110px;

}

.eh-small-title{

    display:inline-block;

    margin-bottom:16px;

    color:var(--primary);

    font-size:14px;

    font-weight:700;

    letter-spacing:1px;

    text-transform:uppercase;

}

.eh-left h2{
    margin-bottom:25px;
    font-size:44px;
    line-height:1.15;
    max-width:620px;

}

.eh-left p{

    margin-bottom:18px;

    color:var(--text-light);

}


/*==================================================
  IMAGE
==================================================*/

.eh-image-wrap{
    padding:14px;
    border-radius:28px;
    background:#fff;
    box-shadow:
        0 18px 50px rgba(20,50,60,.10);
}

.eh-image-wrap img{
    width:100%;
    border-radius:22px;
}


/*==================================================
  GRID
==================================================*/

.eh-grid{

    display:grid;

    grid-template-columns:repeat(2,1fr);

    gap:35px;

    margin-top:80px;

}


/*==================================================
  CARD
==================================================*/

.eh-card{

    height:100%;
    padding:45px;
    background:#fff;
    border:1px solid rgba(15,95,90,.08);
    border-radius:26px;
    box-shadow:var(--shadow-md);
    transition:var(--transition);
}

.eh-card:hover{
    transform:translateY(-8px);
    border-color:rgba(15,95,90,.18);
    box-shadow:var(--shadow-lg);
}


/*==================================================
  ICON
==================================================*/

.eh-icon{
    width:68px;
    height:68px;
    font-size:25px;
    display:flex;
    align-items:center;
    justify-content:center;
    margin-bottom:25px;
    border-radius:18px;
    background:linear-gradient(
        135deg,
        var(--primary-dark),
        var(--primary)
    );
    color:#fff;
}

.eh-card h3{
       font-size:26px;
       margin-bottom:20px;
}


/*==================================================
  LIST
==================================================*/

.eh-card ul{

    margin:0;

    padding:0;

}

.eh-card li{
    margin-bottom:13px;
    line-height:1.7;
    position:relative;
    padding-left:30px;
    color:var(--text);
}

.eh-card li::before{

    content:"✓";

    position:absolute;

    left:0;
    top:0;

    color:var(--primary);

    font-weight:700;

}

/*==================================================
  OUR APPROACH
==================================================*/

.eh-approach{
    display:grid;
    grid-template-columns:1fr 500px;
    /*gap:70px;*/
    align-items:center;
    margin:100px 0;
    padding:70px;
    background:#fff;
    border-radius:30px;
    box-shadow:0 18px 45px rgba(15,40,45,.08);
}

.eh-approach-content{
    max-width:700px;
}

.eh-section-tag{
    display:inline-flex;
    align-items:center;
    padding:10px 20px;
    border-radius:40px;
    background:#E8F8F7;
    color:var(--primary);
    font-size:13px;
    font-weight:700;
    text-transform:uppercase;
    letter-spacing:1px;
    margin-bottom:20px;
}

.eh-approach h2{
    font-size:48px;
    margin-bottom:28px;
    color:var(--heading);
}

.eh-approach p{
    color:var(--text-light);
    line-height:1.9;
    margin-bottom:20px;
}

.eh-approach p:last-child{
    margin-bottom:0;
}

.eh-approach-image{
    height:420px;
    overflow:hidden;
    border-radius:24px;
    box-shadow:0 18px 40px rgba(0,0,0,.10);
}

.eh-approach-image img{
    width:100%;
    height:100%;
    object-fit:cover;
    display:block;
    transition:.4s;
}

.eh-approach:hover img{
    transform:scale(1.05);
}


/*==================================================
  Expert - CTA
==================================================*/

.eh-cta{
    position:relative;
    overflow:hidden;
    margin:90px 0;
    padding:90px 60px;
    text-align:center;
    border-radius:30px;
    background:linear-gradient(135deg,#157C79,#18A8A2);
    box-shadow:0 25px 60px rgba(15,40,45,.18);
}

.eh-cta>*{
    position:relative;
    z-index:2;
}

.eh-cta::before{
    content:"";
    position:absolute;
    width:280px;
    height:280px;
    top:-120px;
    right:-120px;
    border-radius:50%;
    background:rgba(255,255,255,.08);
}

.eh-cta::after{
    content:"";
    position:absolute;
    width:180px;
    height:180px;
    left:-80px;
    bottom:-80px;
    border-radius:50%;
    background:rgba(255,255,255,.06);
}

.eh-cta h2{
    color:#fff;
    font-size:50px;
    margin-bottom:20px;
}

.eh-cta p{
    max-width:700px;
    margin:0 auto 40px;
    color:rgba(255,255,255,.92);
    line-height:1.9;
    font-size:18px;
}

.eh-cta-btn{
    display:inline-flex;
    justify-content:center;
    align-items:center;
    min-width:280px;
    height:64px;
    border-radius:60px;
    background: var(--primary);
    color: #fff;
    font-weight:700;
    text-decoration:none;
    transition:.35s;
}

.eh-cta-btn:hover{
    transform:translateY(-5px);
    background:var(--primary-dark);
    box-shadow:0 18px 35px rgba(0,0,0,.15);
}

/*==================================================
  Meet the Team - CTA
==================================================*/

.mtt-cta{
    position:relative;
    overflow:hidden;
    margin:20px 0;
    padding:50px 40px;
    text-align:center;
    border-radius:32px;
    background:linear-gradient(135deg,#0F8D88 0%, #18A8A2 100%);
    box-shadow:
        0 20px 50px rgba(0,0,0,.12),
        inset 0 1px 0 rgba(255,255,255,.15);
}

.mtt-cta>*{
    position:relative;
    z-index:2;
}

.mtt-cta::before{
    content:"";
    position:absolute;
    width:340px;
    height:340px;
    top:-170px;
    right:-120px;
    border-radius:50%;
    background:rgba(255,255,255,.08);
}

.mtt-cta::after{
    content:"";
    position:absolute;
    width:220px;
    height:220px;
    left:-90px;
    bottom:-90px;
    border-radius:50%;
    background:rgba(255,255,255,.05);
}

.mtt-cta h2{
    margin:0 0 22px;
    color: rgba(255, 255, 255, .92);
    font-size:clamp(34px,4vw,52px);
    font-weight:800;
    line-height:1.2;
    letter-spacing:-.02em;
}

.mtt-cta p{
    max-width:760px;
    margin:0 auto;
    color: rgba(255, 255, 255, .92);
    font-size:19px;
    line-height:1.9;
    font-weight:400;
}

.mtt-cta-btn{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-width:270px;
    height:62px;
    margin-top:38px;
    border-radius:999px;
    background:#fff;
    color:var(--primary-dark);
    font-size:16px;
    font-weight:700;
    text-decoration:none;
    transition:all .35s ease;
}

.mtt-cta-btn:hover{
    transform:translateY(-4px);
    background:#f7f7f7;
    box-shadow:0 18px 35px rgba(0,0,0,.18);
}

@media(max-width:991px){

    .mtt-cta{
        margin:70px 0;
        padding:60px 35px;
        border-radius:24px;
    }

    .mtt-cta h2{
        font-size:38px;
    }

    .mtt-cta p{
        font-size:17px;
        line-height:1.8;
    }
}

@media(max-width:767px){

    .mtt-cta{
        margin:60px 0;
        padding:50px 25px;
        border-radius:20px;
    }

    .mtt-cta h2{
        font-size:30px;
    }

    .mtt-cta p{
        font-size:16px;
        line-height:1.8;
    }

    .mtt-cta-btn{
        width:100%;
        min-width:unset;
    }
}

/*==================================================
  18. RESOURCE HUB
==================================================*/

.resource-hero{

    position:relative;

    overflow:hidden;

    text-align:center;

    background:var(--page-title-gradient);

    color:#fff;

    padding:140px 0;

}

.resource-hero h1{

    margin-bottom:20px;

    color:#fff;

    font-size:56px;

}

.resource-hero p{

    max-width:760px;

    margin:0 auto;

    color:rgba(255,255,255,.92);

}


/*==================================================
  RESOURCE LISTING
==================================================*/

.resource-section{

    background:var(--body-bg);

}

.resource-card{

    height:100%;

    overflow:hidden;

    border-radius:24px;

    background:#fff;

    box-shadow:var(--shadow-md);

    transition:var(--transition);

}

.resource-card:hover{

    transform:translateY(-8px);

    box-shadow:var(--shadow-lg);

}

.resource-link{

    display:block;

    color:inherit;

}


/*==================================================
  IMAGE
==================================================*/

.resource-image{

    overflow:hidden;

}

.resource-image img{

    width:100%;
    height:260px;

    object-fit:cover;

    transition:.8s ease;

}

.resource-card:hover .resource-image img{

    transform:scale(1.08);

}


/*==================================================
  CONTENT
==================================================*/

.resource-content{

    padding:28px;

}

.resource-category{

    display:inline-flex;

    align-items:center;

    justify-content:center;

    padding:7px 16px;

    margin-bottom:18px;

    border-radius:50px;

    background:rgba(var(--primary-rgb),.10);

    color:var(--primary);

    font-size:13px;

    font-weight:700;

    letter-spacing:.5px;

    text-transform:uppercase;

}

.resource-content h3{

    margin-bottom:16px;

    font-size:26px;

    line-height:1.3;

}

.resource-content p{

    color:var(--text-light);

}

.resource-btn{

    display:inline-flex;

    align-items:center;

    gap:8px;

    margin-top:18px;

    font-weight:700;

    color:var(--primary);

    transition:var(--transition);

}

.resource-btn:hover{

    color:var(--primary-dark);

}


/*==================================================
  SINGLE ARTICLE
==================================================*/

.resource-single{

    background:#fff;

}

.resource-banner{

    margin-bottom:45px;

}

.resource-banner img{

    width:100%;

    border-radius:30px;

    box-shadow:var(--shadow-lg);

}

.resource-body{

    max-width:900px;

    margin:auto;

}

.resource-body h1{

    margin-bottom:25px;

    font-size:48px;

}

.resource-body h2{

    margin-top:45px;

    margin-bottom:18px;

    font-size:34px;

}

.resource-body h3{

    margin-top:35px;

    margin-bottom:16px;

    font-size:28px;

}

.resource-body p{

    margin-bottom:22px;

    color:var(--text);

    line-height:1.9;

}

.resource-body ul,
.resource-body ol{

    margin:20px 0 30px 22px;

}

.resource-body ul{

    list-style:disc;

}

.resource-body ol{

    list-style:decimal;

}

.resource-body li{

    margin-bottom:12px;

    color:var(--text);

    line-height:1.8;

}

.resource-body img{

    margin:40px auto;

    border-radius:24px;

    box-shadow:var(--shadow-lg);

}

.resource-body blockquote{

    margin:35px 0;

    padding:25px 30px;

    border-left:5px solid var(--primary);

    background:#F8FBFB;

    border-radius:18px;

    font-size:20px;

    color:var(--heading);

}


/*==================================================
  19. INNER PAGES
  - Page Banner
  - Speech & Language
  - Assessment
==================================================*/


/*==================================================
  PAGE TITLE BANNER
==================================================*/

.page-title-banner{
    position:relative;
    overflow:hidden;
    text-align:center;
    background:var(--page-title-gradient);
    padding:165px 0 75px;
}

.page-title-banner::after{

    content:"";

    position:absolute;

    left:0;
    bottom:-30px;

    width:100%;
    height:60px;

    background:#F8FBFB;

    border-radius:50% 50% 0 0;

}

.page-title-banner h1{

    position:relative;

    z-index:2;

    margin:0;

    color:#fff;

    font-size:54px;

    font-weight:800;

    letter-spacing:.5px;

}


/*==================================================
  PAGE CONTENT
==================================================*/

.page-content{

    background:#F8FBFB;

}

.slc-section{

    background:#F8FBFB;

}

.assessment-section{

    background:#F8FBFB;

}


/*==================================================
  CONTENT CARD
==================================================*/

.slc-card{

    height:100%;

    padding:40px;

    background:#fff;

    border:1px solid var(--card-border);

    border-radius:24px;

    box-shadow:var(--shadow-md);

    transition:var(--transition);

}

.slc-card:hover{

    transform:translateY(-6px);

    box-shadow:var(--shadow-lg);

}

.slc-card h2{

    margin-bottom:25px;

    color:var(--primary);

    font-size:34px;

}

.slc-card p{

    margin-bottom:18px;

    color:var(--text);

    line-height:1.9;

}


/*==================================================
  SUPPORT LIST
==================================================*/

.support-list{

    margin:0;
    padding:0;

}

.support-list li{

    position:relative;

    padding-left:32px;

    margin-bottom:16px;

    color:var(--text);

    line-height:1.8;

}

.support-list li::before{

    content:"✓";

    position:absolute;

    left:0;
    top:0;

    color:var(--primary);

    font-weight:700;

}


/*==================================================
  NOTE LIST
==================================================*/

.note-card .note-item{

    position:relative;

    padding:18px 0 18px 32px;

    border-bottom:1px solid var(--border-color);

    color:var(--text);

    line-height:1.8;

}

.note-card .note-item:last-child{

    border-bottom:none;

}

.note-card .note-item::before{

    content:"➜";

    position:absolute;

    left:0;
    top:18px;

    color:var(--primary);

    font-weight:700;

}


/*==================================================
  REVIEW SUMMARY
==================================================*/

.review-summary{

    margin-bottom:70px;

    text-align:center;

}

.review-summary h2{

    margin-bottom:12px;

    font-size:48px;

}

.summary-stars{

    margin-bottom:16px;

    color:var(--primary);

    font-size:34px;

    letter-spacing:4px;

}

.verified-badge{

    font-weight:600;

    color:var(--text);

}

.verified-badge i{

    color:var(--primary);

}


/*==================================================
  REVIEW SLIDER
==================================================*/

.top-review-slider{

    display:flex;

    align-items:center;

    justify-content:center;

    gap:24px;

}

.review-arrow{

    display:flex;

    align-items:center;

    justify-content:center;

    width:52px;
    height:52px;

    border-radius:50%;

    background:#fff;

    box-shadow:var(--shadow-sm);

    color:var(--primary);

    transition:var(--transition);

}

.review-arrow:hover{

    background:var(--primary);

    color:#fff;

}

.review-wrapper{
    position:relative;
    width:520px;
    min-height:280px;
}

.review-slide{

    position:absolute;

    inset:0;

    opacity:0;

    visibility:hidden;

    padding:30px;

    border-radius:20px;

    background:#fff;

    box-shadow:var(--shadow-md);

    transition:.45s ease;

}

.review-slide.active{

    opacity:1;

    visibility:visible;

}

.review-stars{

    margin-bottom:18px;

    color:var(--accent);

}

.review-text{

    margin-bottom:20px;

    color:var(--text);

    line-height:1.8;

}

.review-author{

    font-weight:700;

    color:var(--heading);

}

/*==================================================
  20. GLOBAL REUSABLE COMPONENTS
  Utilities
  Cards
  Animations
  Helpers
==================================================*/


/*==================================================
  CARD SYSTEM
==================================================*/

.card{

    background:#fff;

    border:1px solid var(--card-border);

    border-radius:24px;

    box-shadow:var(--shadow-sm);

    transition:var(--transition);

}

.card:hover{

    transform:translateY(-6px);

    box-shadow:var(--shadow-lg);

}


/*==================================================
  IMAGE STYLES
==================================================*/

.image-rounded{

    overflow:hidden;

    border-radius:24px;

}

.image-rounded img{

    width:100%;

    transition:.8s ease;

}

.image-rounded:hover img{

    transform:scale(1.06);

}

.image-shadow{

    box-shadow:var(--shadow-lg);

}


/*==================================================
  BADGES
==================================================*/

.badge-primary{

    display:inline-flex;

    align-items:center;

    justify-content:center;

    padding:8px 18px;

    border-radius:50px;

    background:rgba(var(--primary-rgb),.10);

    color:var(--primary);

    font-size:13px;

    font-weight:700;

    letter-spacing:.5px;

    text-transform:uppercase;

}

.badge-light{

    display:inline-flex;

    align-items:center;

    justify-content:center;

    padding:8px 18px;

    border-radius:50px;

    background:#fff;

    color:var(--primary);

    font-size:13px;

    font-weight:700;

}


/*==================================================
  ICON BOX
==================================================*/

.icon-box{

    display:flex;

    align-items:center;

    justify-content:center;

    width:68px;
    height:68px;

    border-radius:18px;

    background:rgba(var(--primary-rgb),.10);

    color:var(--primary);

    font-size:26px;

}


/*==================================================
  DIVIDERS
==================================================*/

.divider{

    width:90px;
    height:4px;

    margin:20px auto;

    border-radius:50px;

    background:var(--primary);

}

.divider-left{

    margin-left:0;

}


/*==================================================
  SPACING HELPERS
==================================================*/

.mt-0{margin-top:0!important;}
.mt-1{margin-top:10px!important;}
.mt-2{margin-top:20px!important;}
.mt-3{margin-top:30px!important;}
.mt-4{margin-top:40px!important;}
.mt-5{margin-top:50px!important;}

.mb-0{margin-bottom:0!important;}
.mb-1{margin-bottom:10px!important;}
.mb-2{margin-bottom:20px!important;}
.mb-3{margin-bottom:30px!important;}
.mb-4{margin-bottom:40px!important;}
.mb-5{margin-bottom:50px!important;}

.pt-0{padding-top:0!important;}
.pb-0{padding-bottom:0!important;}


/*==================================================
  FLEX HELPERS
==================================================*/

.d-flex-center{

    display:flex;

    align-items:center;

    justify-content:center;

}

.flex-between{

    display:flex;

    align-items:center;

    justify-content:space-between;

}

.flex-column{

    display:flex;

    flex-direction:column;

}


/*==================================================
  TEXT HELPERS
==================================================*/

.text-center{

    text-align:center;

}

.text-start{

    text-align:left;

}

.text-end{

    text-align:right;

}

.fw-500{

    font-weight:500;

}

.fw-600{

    font-weight:600;

}

.fw-700{

    font-weight:700;

}

.fw-800{

    font-weight:800;

}


/*==================================================
  ANIMATIONS
==================================================*/

.fade-up{

    animation:fadeUp .7s ease both;

}

.fade-in{

    animation:fadeIn .7s ease both;

}

@keyframes fadeUp{

    from{

        opacity:0;

        transform:translateY(30px);

    }

    to{

        opacity:1;

        transform:translateY(0);

    }

}

@keyframes fadeIn{

    from{

        opacity:0;

    }

    to{

        opacity:1;

    }

}


/*==================================================
  ACCESSIBILITY
==================================================*/

a:focus,
button:focus,
input:focus,
textarea:focus,
select:focus{

    outline:none;

}

html{

    scroll-padding-top:130px;

}


/*==================================================
  END OF STYLE.CSS
==================================================*/