/* ==========================================================
   HERO
========================================================== */

.skin-hero{
    position: relative;
      /* Full screen */
    min-height: 600px;  /* Keeps it tall on large screens */
    display: flex;
    align-items: center;
    overflow: hidden;
}

.skin-hero-image{
    position:absolute;
    inset:0;
    width:100%;
    height:100%;
    object-fit:cover;
}

.skin-overlay{
    position:absolute;
    inset:0;
    background:linear-gradient(
        90deg,
        rgba(5,31,62,.90) 0%,
        rgba(5,31,62,.60) 45%,
        rgba(5,31,62,.35) 100%
    );
}

.skin-hero-content{

    position:relative;
    z-index:2;

    max-width:700px;

    margin-bottom:0;

    transform:translate(-177px,-89px);


}

.skin-hero h1{
    font-family:var(--font-serif);
    font-size:clamp(3.5rem,7vw,2.3rem);
    line-height:1;
    color:#fff;
    margin:20px 0;
    white-space: nowrap;
}

.skin-hero p{
    color:rgba(255,255,255,.92);
    font-size:1.05rem;
    line-height:1.9;
    max-width:620px;
    margin-bottom:28px;
}

/*====================================
    HERO BUTTONS
====================================*/

.hero-buttons{

    display:flex;
    gap:18px;
    margin-top:35px;

    flex-wrap:wrap;

    align-items:center;

}
.hero-buttons .btn{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    padding:16px 34px;
    border-radius:50px;
    font-size:1rem;
    font-weight:600;
    text-decoration:none;
    transition:all .35s ease;
}

/* Primary */

.hero-buttons .btn--primary{
    background:#00A9B5;
    color:#fff;
    box-shadow:0 10px 30px rgba(0,169,181,.35);
}

.hero-buttons .btn--primary:hover{
    background:#008f99;
    transform:translateY(-3px);
}

/* Secondary */

.hero-buttons .btn--secondary{
    border:2px solid rgba(255,255,255,.6);
    color:#fff;
    background:transparent;
}

.hero-buttons .btn--secondary:hover{
    background:#fff;
    color:#051F3E;
    border-color:#fff;
}
/* ==========================================================
   ABOUT
========================================================== */
/*=====================================================
        ABOUT HEADING
======================================================*/

.about-heading{

    text-align:center;

    margin-bottom:0px;

}

.about-heading .section-tag{

    display:inline-block;

}

/*=====================================================
        ABOUT
======================================================*/


/*====================================
        ABOUT SECTION
====================================*/

/*==================================================
                ABOUT SECTION
==================================================*/

.skin-about{

    padding:66px 0;

    background:
    radial-gradient(circle at top right,rgba(0,169,181,.08),transparent 35%),
    radial-gradient(circle at bottom left,rgba(11,45,92,.05),transparent 40%),
    linear-gradient(135deg,#eef8fb 0%,#f8fcfd 100%);
}

/*-------------------------
    Heading
-------------------------*/

.about-section-header{

    max-width:900px;

    margin:0 auto 70px;

    text-align:center;
}

.about-section-header .section-tag{

    display:inline-flex;

    margin-bottom:22px;
}

.about-main-title{

    font-size:clamp(2.8rem,4vw,4.5rem);

    line-height:1.15;

    color:#07244d;

    font-weight:700;

    margin:0;
}

/*-------------------------
    Grid
-------------------------*/

.skin-about-grid{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:70px;
    align-items:stretch;
}

/*-------------------------
    Image
-------------------------*/

.about-image{
    height:555px;          /* adjust 680-720px */
    border-radius:28px;
    overflow:hidden;
    display:flex;
}

.about-image img{
    width:100%;
    height:100%;
    display:block;
    object-fit:cover;
    object-position:center;
}
.about-content{
    display:flex;
    flex-direction:column;
    justify-content:space-between;
    min-height:555px;
}
/*-------------------------
    Content
-------------------------*/

.about-content p{

    font-size:1.08rem;

    line-height:2;

    color:#4c607d;

    margin-bottom:28px;
}

/*-------------------------
    Features
-------------------------*/

.feature-grid{
    display:grid;
    grid-template-columns:repeat(2,1fr);
    gap:22px;
    margin-top:auto;
}

.feature-card{
    background:#fff;
    padding:2px 19px;      /* Less vertical, more horizontal */
    border-radius:24px;
    box-shadow:0 15px 40px rgba(0,0,0,.07);
    transition:.35s ease;

    min-height:140px;        /* Reduce height */
    display:flex;
    flex-direction:column;
    justify-content:center;
}
.feature-card:hover{

    transform:translateY(-8px);

    box-shadow:0 20px 45px rgba(0,0,0,.12);
}

.feature-card h4{
    font-size:larger;
    color:#07244d;
    margin-bottom:12px;
    line-height:1.3;
}

.feature-card p{
    margin:0;
    font-size:1rem;
    line-height:1.7;
    color:#66758b;
}

/*==================================================
                Responsive
==================================================*/

@media (max-width:991px){

    .skin-about{

        padding:90px 0;
    }

    .skin-about-grid{

        grid-template-columns:1fr;

        gap:50px;
    }

    .about-section-header{

        margin-bottom:50px;
    }

    .about-main-title{

        font-size:2.6rem;
    }

    .feature-grid{

        grid-template-columns:1fr;
    }

}

@media (max-width:768px){

    .about-main-title{

        font-size:2.1rem;

        line-height:1.25;
    }

    .about-content{

        text-align:center;
    }

    .feature-card{

        text-align:center;
    }

}
/* ==========================================================
   TREATMENT CARDS
========================================================== */

.skin-services{
    padding:60px 0;
    background:#F8FBFC;
}
.section-heading{
    text-align:center;
    max-width:760px;
    margin:0 auto 40px;
}

.section-heading h2{
    margin:8px 0 15px;
    line-height:1.1;
    color:#051F3E;
    font-size:clamp(2.5rem,5vw,3.8rem);
}

.section-heading p{
    color:#64748B;
    line-height:1.9;
}

.services-grid{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:32px;
}

/*==================================================
CARD
==================================================*/

.service-card{
    position:relative;
    overflow:hidden;
    border-radius:28px;
    text-decoration:none;
    box-shadow:0 15px 45px rgba(5,31,62,.08);
    transition:.45s;
}

.service-card:hover{
    transform:translateY(-10px);
    box-shadow:0 25px 60px rgba(5,31,62,.15);
}

/*==================================================
IMAGE
==================================================*/

.service-image{
    position:relative;
    height:420px;
    overflow:hidden;
}

.service-image img{
    width:100%;
    height:100%;
    object-fit:cover;
    transition:1s cubic-bezier(.22,1,.36,1);
}

.service-card:hover img{
    transform:scale(1.08);
}

/*==================================================
OVERLAY
==================================================*/

.service-overlay{

    position:absolute;
    inset:0;

    display:flex;
    flex-direction:column;
    justify-content:flex-end;

    padding:30px;

      background: linear-gradient(to top, rgba(0, 169, 181, 0.50), rgba(0, 169, 181, 0));


}

/*==================================================
BADGE
==================================================*/

.service-badge{

    display:inline-block;

    width:max-content;

    background:#00A9B5;

    color:#fff;

    padding:8px 18px;

    border-radius:40px;

    font-size:.75rem;

    font-weight:700;

    letter-spacing:.08em;

    margin-bottom:18px;

}

/*==================================================
TITLE
==================================================*/

.service-overlay h3{

    color:#fff;

    font-size:2rem;

    margin-bottom:0;

    transition:.45s;

}

/*==================================================
HIDDEN CONTENT
==================================================*/

.service-hover{

    max-height:0;

    opacity:0;

    overflow:hidden;

    transition:.45s ease;

}

.service-hover p{

    color:rgba(255,255,255,.88);

    line-height:1.8;

    margin:18px 0;

}





/*==================================================
HOVER
==================================================*/

.service-card:hover .service-hover{

    max-height:180px;

    opacity:1;

}

.service-card:hover .service-link::after{

    transform:translateX(5px);

}
/* ===============================
   BADGE
================================ */



/* ===============================
   CONTENT
================================ */

.service-content{

    padding:32px;

}

.service-content h3{

    color:#051F3E;

    font-family:var(--font-serif);

    font-size:1.8rem;

    margin-bottom:16px;

}

.service-content p{

    color:#64748B;

    line-height:1.8;

    margin-bottom:26px;

}

/* ===============================
   LINK
================================ */

.service-link{

    display:inline-flex;

    align-items:center;

    gap:10px;

    color:#00A9B5;

    font-weight:600;

    transition:.35s;

}

.service-link::after{

    content:"→";

    transition:.35s;

}

.service-card:hover .service-link{

    gap:18px;

}

.service-card:hover .service-link::after{

    transform:translateX(6px);

}

/* ===============================
   TOP BORDER EFFECT
================================ */

.service-card::before{

    content:"";

    position:absolute;

    top:0;

    left:0;

    width:100%;

    height:4px;

    background:linear-gradient(

        90deg,

        #00A9B5,

        #00D5E5

    );

    transform:scaleX(0);

    transform-origin:left;

    transition:.45s;

}

.service-card:hover::before{

    transform:scaleX(1);

}

/* ==========================================================
   CTA
========================================================== */

.skin-cta h2{

    font-size:clamp(2.5rem,5vw,4rem);

    color:#fff;

    margin-bottom:20px;

}

.skin-cta p{

    max-width:700px;

    margin:0 auto 40px;

    line-height:1.9;

    color:rgba(255,255,255,.92);

}

/* ==========================================================
   RESPONSIVE
========================================================== */

@media(max-width:1100px){

.services-grid{

grid-template-columns:repeat(2,1fr);

}

}

@media(max-width:768px){

.skin-hero{

    min-height:auto;

    padding:130px 0 80px;

}

.skin-about-grid{

grid-template-columns:1fr;

gap:50px;

}

.feature-grid{

grid-template-columns:1fr;

}

.services-grid{

grid-template-columns:1fr;

}

.hero-buttons{

flex-direction:column;

}

.hero-buttons .btn{

width:100%;

justify-content:center;

}

.section-heading{

margin-bottom:50px;

}

}
/*=====================================================
        FEATURED TREATMENTS
======================================================*/

.featured-treatments{
    padding:120px 0;
    background:#fff;
}

.featured-grid{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:35px;
    margin-top:60px;
}

.featured-card{
    display:block;
    text-decoration:none;
    background:#fff;
    border-radius:28px;
    overflow:hidden;
    color:inherit;
    box-shadow:0 18px 45px rgba(5,31,62,.08);
    transition:.45s cubic-bezier(.22,1,.36,1);
}

.featured-card:hover{
    transform:translateY(-12px);
    box-shadow:0 30px 65px rgba(5,31,62,.18);
}

.featured-image{
    position:relative;
    height:300px;
    overflow:hidden;
}

.featured-image img{
    width:100%;
    height:100%;
    object-fit:cover;
    transition:.8s;
}

.featured-card:hover img{
    transform:scale(1.08);
}

.featured-image::after{
    content:"";
    position:absolute;
    inset:0;
    background:linear-gradient(to top,
    rgba(5,31,62,.65),
    rgba(5,31,62,.05));
}

.featured-badge{
    position:absolute;
    top:20px;
    left:20px;
    background:#00A9B5;
    color:#fff;
    padding:8px 18px;
    border-radius:40px;
    font-size:.72rem;
    z-index:5;
}

.featured-content{
    padding:35px;
}

.featured-content span{
    color:#00A9B5;
    font-weight:600;
    font-size:.82rem;
    text-transform:uppercase;
}

.featured-content h3{
    margin:16px 0;
    color:#051F3E;
    font-size:2rem;
}

.featured-content p{
    color:#64748B;
    line-height:1.8;
}

.learn-more{
    margin-top:25px;
    color:#00A9B5;
    font-weight:600;
}
/*=====================================================
WHY CHOOSE
======================================================*/

.why-skinpase{
    padding:120px 0;
    background:#F8FBFC;
}

.why-grid{
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:30px;
    margin-top:60px;
}

.why-card{
    background:#fff;
    border-radius:24px;
    padding:40px;
    text-align:center;
    transition:.4s;
    box-shadow:0 15px 40px rgba(5,31,62,.08);
}

.why-card:hover{
    transform:translateY(-10px);
}

.why-icon{
    font-size:42px;
    margin-bottom:25px;
}

.why-card h3{
    color:#051F3E;
    margin-bottom:15px;
}

.why-card p{
    color:#64748B;
}
/*=====================================================
PROCESS
======================================================*/

.treatment-process{
    padding:120px 0;
    background:rgba(0, 169, 181, 0.08);
}

.process-grid{
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:30px;
    margin-top:60px;
}

.process-card{
    background:#F8FBFC;
    padding:40px;
    border-radius:24px;
    text-align:center;
}

.process-number{
    width:70px;
    height:70px;
    border-radius:50%;
    background:#00A9B5;
    color:#fff;
    display:flex;
    align-items:center;
    justify-content:center;
    margin:auto;
    font-weight:700;
    font-size:22px;
    margin-bottom:25px;
}

.process-card h3{
    margin-bottom:15px;
    color:#051F3E;
}

.process-card p{
    color:#64748B;
}
/*=====================================================
FAQ
======================================================*/

.skin-faq{

    padding:10px 0;

    background:rgba(0, 169, 181, 0.08);

}

.faq-container{

    max-width:950px;

    margin:20px auto 0;

}

/*==================================
FAQ ITEM
===================================*/

.faq-container details{

    background:#fff;

    margin-bottom:22px;

    border-radius:22px;

    overflow:hidden;

    box-shadow:0 12px 35px rgba(5,31,62,.06);

    transition:.35s ease;

}

.faq-container details:hover{

    transform:translateY(-3px);

    box-shadow:0 20px 45px rgba(5,31,62,.10);

}

/*==================================
QUESTION
===================================*/

.faq-container summary{

    list-style:none;

    cursor:pointer;

    display:flex;

    justify-content:space-between;

    align-items:center;

    padding:28px 35px;

    font-size:1.15rem;

    font-weight:600;

    color:#051F3E;

    transition:.3s;

}

/* Hide Default Arrow */

.faq-container summary::-webkit-details-marker{

    display:none;

}

.faq-container summary::marker{

    display:none;

}

/*==================================
PLUS ICON
===================================*/

.faq-container summary::after{

    content:"+";

    font-size:42px;

    font-weight:300;

    color:#00A9B5;

    line-height:1;

    transition:.35s ease;

}

/* Rotate to X */

.faq-container details[open] summary::after{

    transform:rotate(45deg);

    color:#051F3E;

}

/*==================================
OPEN ITEM
===================================*/

.faq-container details[open]{

    box-shadow:0 25px 50px rgba(5,31,62,.12);

}

/*==================================
ANSWER
===================================*/

.faq-container p{

    padding:0 35px 30px;

    color:#64748B;

    line-height:1.9;

    font-size:1rem;

    animation:faqFade .35s ease;

}

/*==================================
ANIMATION
===================================*/

@keyframes faqFade{

    from{

        opacity:0;

        transform:translateY(-8px);

    }

    to{

        opacity:1;

        transform:translateY(0);

    }

}

/*==================================
RESPONSIVE
===================================*/

@media(max-width:768px){

    .faq-container{

        margin-top:40px;

    }

    .faq-container summary{

        padding:22px 24px;

        font-size:1rem;

    }

    .faq-container summary::after{

        font-size:34px;

    }

    .faq-container p{

        padding:0 24px 24px;

    }

}
/*=====================================================
CTA
======================================================*/

/*=====================================================
CTA
======================================================*/

.skin-cta{

    padding:120px 0;

    text-align:center;

    background:linear-gradient(
        135deg,
        #051F3E 0%,
        #00A9B5 100%
    );

    color:#fff;

}

.skin-cta .section-tag{

    display:inline-block;

    padding:10px 26px;

    border:1px solid rgba(255,255,255,.35);

    border-radius:40px;

    color:#fff;

    letter-spacing:.12em;

    text-transform:uppercase;

    font-size:.8rem;

    margin-bottom:25px;

}

.skin-cta h2{

    font-size:clamp(2.8rem,5vw,4.8rem);

    line-height:1.2;

    color:#fff;

    margin-bottom:25px;

}

.skin-cta p{

    max-width:720px;

    margin:0 auto 45px;

    font-size:1.1rem;

    line-height:1.9;

    color:rgba(255,255,255,.9);

}

/*=========================
BUTTON
=========================*/

.cta-btn{

    display:inline-flex;

    align-items:center;

    justify-content:center;

    padding:18px 45px;

    border-radius:999px;

    background:#ffffff;

    color:#051F3E;

    font-size:1rem;

    font-weight:700;

    text-decoration:none;

    transition:all .35s ease;

    box-shadow:0 15px 35px rgba(0,0,0,.18);

}

.cta-btn:hover{

    background:#051F3E;

    color:#ffffff;

    transform:translateY(-5px);

    box-shadow:0 20px 40px rgba(5,31,62,.35);

}
/*======================================================
CARD GLOW
======================================================*/

.featured-card,
.service-card{

position:relative;

overflow:hidden;

}

.featured-card::after,
.service-card::after{

content:"";

position:absolute;

left:var(--x);

top:var(--y);

width:220px;

height:220px;

transform:translate(-50%,-50%);

background:

radial-gradient(

rgba(0,169,181,.16),

transparent 70%

);

opacity:0;

transition:.3s;

pointer-events:none;

}

.featured-card:hover::after,
.service-card:hover::after{

opacity:1;

}
/*=====================================================
TABLET (1024px)
======================================================*/

@media (max-width:1024px){

.skin-hero{

    min-height:80vh;

}

.skin-hero-content{

    transform:none;

    max-width:700px;

}

.skin-hero h1{

    white-space:normal;

    font-size:clamp(3rem,6vw,4.5rem);

}

.about-image{

    height : 500px;

}

.skin-about-grid{

    grid-template-columns:1fr;

    gap:60px;

}

.about-content{

    text-align:center;

}

.feature-grid{

    grid-template-columns:repeat(2,1fr);

}

.services-grid{

    grid-template-columns:repeat(2,1fr);

}

}
/*=====================================================
MOBILE (768px)
======================================================*/

@media (max-width:768px){

.container{

    width:92%;

}

.skin-hero{

    min-height:70vh;

}

.skin-hero-content{

    transform:none;

    margin:0 auto;

    max-width:100%;

    text-align:center;

}

.breadcrumb{

    justify-content:center;

}

.skin-hero h1{

    white-space:normal;

    font-size:2.5rem;

    line-height:1.15;

}

.skin-hero p{

    font-size:1rem;

    margin:25px auto;

}

.hero-buttons{

    display:flex;

    flex-direction:column;

    align-items:center;

    width:100%;

    gap:18px;

}

.hero-buttons .btn{

    width:100%;

    max-width:380px;

}

.skin-about{

    padding:80px 0;

}

.skin-about-grid{

    grid-template-columns:1fr;

}

.about-image{

    height:auto;

}

.about-content h2{

    font-size:2rem;

}

.feature-grid{

    grid-template-columns:1fr;

}

.services-grid{

    grid-template-columns:1fr;

}

.service-image{

    height:320px;

}

.service-overlay{

    padding:22px;

}

.service-overlay h3{

    font-size:1.5rem;

}

.skin-cta{

    padding:80px 0;

}

.skin-cta h2{

    font-size:2.2rem;

}

.cta-btn{

    width:100%;

    max-width:320px;

}

}