        @font-face {
  font-family: 'Gilroy';
  src: url('../fonts/Gilroy-Medium.ttf') format('opentype');
  font-style: normal;
}
    
*{
    margin:0;
    padding:0;
    box-sizing:border-box;
}

html{
    scroll-behavior:smooth;
}

body{
    font-family: 'Gilroy';
    color:#222;
    overflow-x:hidden;
}

body.age-gate-open{
    overflow: hidden;
    height: 100vh;
}

/* ==========================
AGE GATE
========================== */

.age-overlay{
    position:fixed;
    inset:0;
    background:rgba(0,0,0,.65);
    display:flex;
    justify-content:center;
    align-items:center;
    z-index:999999;
    padding:1vw;
}

.age-modal{
width: auto;
    background:linear-gradient(
    90deg,
    #edf8f7 0%,
    #f6f8eb 100%);
    border-radius:2rem;
    padding:2.5rem 2vw;
    position:relative;
    text-align:center;
}

.close-btn{
    position:absolute;
    left:2rem;
    top:1.5rem;
    font-size:2.2rem;
    cursor:pointer;
    color:#111;
}

.logo{
    width:14vw;
    min-width:170px;
    max-width:220px;
    margin:0 auto 1.5rem;
}

.logo img{
    width:100%;
    display:block;
}

.age-modal h1{
    font-size:clamp(2rem,2.5vw,4rem);
    color:#333;
    margin-bottom:1rem;
    font-weight:800;
}

.subtitle{
    font-size:clamp(1rem,1.6vw,1.8rem);
    color:#444;
    margin-bottom:2rem;
}

.offer-buttons{
    display:flex;
    justify-content:center;
    gap:1rem;
    flex-wrap:wrap;
    margin-bottom:2rem;
}

.offer-buttons button{
    background:#10202b;
    color:#fff;
    border:none;
    border-radius:100px;
    padding:0.7rem 2rem;
    font-size:1rem;
    font-weight:700;
}

.form-wrap{
    width:30%;
    margin:auto;
    display: flex;
    gap: 1rem;
    flex-direction: column;
        align-items: center;
}

.form-wrap input{
    width:100%;
    height:2.2rem;
    border-radius:100px;
    border:1px solid #d8d8d8;
    background:#fff;
    text-align:center;
    margin-bottom:1rem;
    font-size:1.1rem;
    padding:0 1rem;
}

.claim-btn{
    width:75%;
    height:3.2rem;
    border:none;
    border-radius:100px;
    background:#05bb45;
    color:#fff;
    font-size:1rem;
    font-weight:700;
    cursor:pointer;
}

.terms{
    margin-top:1.5rem;
    font-size:.95rem;
    color:#444;
}

.terms a{
    color:#333;
    font-weight:700;
}

.bottom-icons{
    display:grid;
    grid-template-columns:repeat(5,1fr);
    gap:1rem;
    margin-top:3rem;
}

.icon-box{
    display:flex;
    flex-direction:column;
    align-items:center;
    text-align:center;
}

.icon-box img{
    width:3rem;
    height:3rem;
    object-fit:contain;
    margin-bottom: 0rem;
}

.icon-box span{
    font-size:.9rem;
    line-height:1.3;
    color:#000;
    font-weight:500;
}

/* ==========================
   OFFER STRIP
========================== */

.offer-strip{
    width:100%;
    background:#000;
    color:#fff;
    text-align:center;
    padding:1.5vh 2vw;
    font-size:0.95rem;
    font-weight:600;
    letter-spacing:.03em;
}

.coupon-code{
    display: inline;
}

/* ==========================
   HERO
========================== */

.hero{
    position:relative;
    width:100%;
    height:90vh;
    overflow:hidden;
}

.hero img{
    position:absolute;
    inset:0;
    width:100%;
    height:100%;
    object-fit:cover;
}

.mobile-hero{
    display:none;
}

.hero-overlay{
    position:absolute;
    inset:0;
    background:rgba(0,0,0,.45);
}

.hero-content{
    position:absolute;
    top:50%;
    left:50%;
    transform:translate(-50%,-50%);
    text-align:center;
      width: 95%;
    color:#fff;
    z-index:2;
}

.hero-content h1{
    font-size:clamp(2rem,3vw,4.5rem);
    line-height:1.2;
    margin-bottom:2vh;
    font-weight:800;
}

.hero-content p{
    font-size:clamp(1rem,1.4vw,1.3rem);
    line-height:1.7;
    margin-bottom:4vh;
}

.hero-btn{
    display: inline-block;
    padding: 0.7em 2em;
    background: #00b74f;
    color: #fff;
    text-decoration: none;
    border-radius: 100px;
    font-weight: 700;
    transition: .3s;
    font-size: 1.2rem;
     cursor:pointer;
}

.hero-btn:hover{
    transform:translateY(-2px);
    background:#009943;
}

/* ==========================
   TRUST BAR
========================== */

.trust-bar{
    display:grid;
    grid-template-columns:repeat(5,1fr);
    width:100%;
}

.trust-item{
    padding:2vh 1vw;
    color:#fff;
    text-align:center;
    font-size:1rem;
    font-weight:700;
    display:flex;
    justify-content:center;
    align-items:center;
    min-height:10vh;
}

.trust-item:nth-child(1){
    background:#7B68D8;
}

.trust-item:nth-child(2){
    background:#60C9A4;
}

.trust-item:nth-child(3){
    background:#59AED7;
}

.trust-item:nth-child(4){
    background:#EE7D84;
}

.trust-item:nth-child(5){
    background:#E6A06E;
}

/* ==========================
   WHY CHOOSE SECTION
========================== */

.why-choose{
    background:#f4f4f4;
    padding:8vh 6vw 4vh;
}

.section-tag{
    text-align:center;
    color:#00B14F;
    font-size:1rem;
    font-weight:700;
    letter-spacing:.08em;
    margin-bottom:1vh;
}

.section-title{
    text-align:center;
    font-size:clamp(2rem,3vw,3.5rem);
    margin-bottom:3vh;
    color:#222;
}

.section-desc{
    max-width:900px;
    margin:0 auto 3vh;
    text-align:center;
    line-height:1.8;
    font-size:1.1rem;
}

/* ==========================
   FEATURES
========================== */

.section-sub-title{
    text-align:center;
    font-size:clamp(2rem,2vw,3.5rem);
    margin-bottom:3vh;
    color:#222;
}

.features-grid{
    display:grid;
    grid-template-columns:repeat(5,1fr);
    gap:2vw;
}

.feature-card{
    background:#fff;
 padding: 3vh 0.85vw 1.5vh;
    border-radius:0.5rem;
    text-align:center;
    box-shadow:0 8px 30px rgba(0,0,0,.08);
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    align-items: center;
}

.feature-icon{
    width:5rem;
    height:5rem;
    margin:0 auto 2vh;
    border-radius:50%;
    background:#EAF9EF;
    color:#00B14F;
    display:flex;
    justify-content:center;
    align-items:center;
    font-size:2rem;
}

.feature-card h3{
    margin-bottom:1.5vh;
    font-size:1.1rem;
}

.feature-card p{
    font-size:.95rem;
    line-height:1.6;
}

/* ==========================
   QUALITY LIST
========================== */

.quality-list{
    margin-top:8vh;
    max-width:900px;
    margin-left:auto;
    margin-right:auto;
}

.quality-list h3{
    text-align:center;
    margin-bottom:3vh;
    font-size:1.7rem;
}

.quality-list ul{
    list-style:none;
}

.quality-list li{
    background:#fff;
    margin-bottom:1rem;
    padding:1rem 1.5rem;
    border-radius:.75rem;
    box-shadow:0 4px 15px rgba(0,0,0,.06);
    font-size:1rem;
    font-weight:500;
}

.quality-list li::before{
    content:"✓ ";
    color:#00B14F;
    font-weight:700;
}

/* =========================
OUR PROCESS
========================= */

.process-section{
    width:100%;
    padding:4vh 6vw 8vh;
    background:#f3f4f5;
    text-align:center;
}

.process-heading{
    font-size:1rem;
    letter-spacing:.2em;
    color:#0b7a4d;
    margin-bottom:1rem;
    font-weight:700;
}

.process-subheading{
    font-size:clamp(2rem,3vw,3rem);
    font-weight:700;
    color:#1f2937;
    margin-bottom:6vh;
}

.process-grid{
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:2vw;
}

.process-card{
    background:#fff;
    padding:4vh 2vw;
    border-radius:1rem;
    box-shadow:0 0.5rem 1.5rem rgba(0,0,0,.08);
    transition:.3s;
}

.process-card:hover{
    transform:translateY(-0.5rem);
}

.step-circle{
    width:4.5rem;
    height:4.5rem;
    margin:auto;
    border-radius:50%;
    background:#0b7a4d;
    color:#fff;
    display:flex;
    align-items:center;
    justify-content:center;
    font-size:1.4rem;
    font-weight:700;
    margin-bottom:2vh;
}

.process-card h3{
    font-size:1.3rem;
    margin-bottom:1rem;
    color:#222;
}

.process-card p{
    font-size:1rem;
    line-height:1.8;
    color:#555;
}



/* =========================
TRANSPARENCY
========================= */

.transparency-section{
    width:100%;
    min-height:auto;

    background:
    linear-gradient(
    rgba(0,0,0,.55),
    rgba(0,0,0,.55)),
    url("images/transparency-bg.jpg");

    background-size:cover;
    background-position:center;

    display:flex;
    justify-content:center;
    align-items:center;

    padding:8vh 6vw;
}

.transparency-content{
    text-align:center;
    color:#fff;
}

.transparency-tag{
    display:inline-block;
    color:#6ee7b7;
    font-size:1rem;
    font-weight:700;
    letter-spacing:.2em;
    margin-bottom:1rem;
}

.transparency-content h2{
    font-size:clamp(2rem,3vw,4rem);
    margin-bottom:1rem;
}

.transparency-text{
    font-size:1.7rem;
    line-height:1.8;
    margin-bottom:3vh;
}

.transparency-list{
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    /* font-size: 1.5rem; */
    width: fit-content;
    margin: 0 auto 4vh;
    text-align: left;
    padding-left: 1.5rem;
    gap: 0.7rem 3rem;
}

.transparency-list li{
    font-size: 1.5rem;
    line-height: 2;
    color: #fff;
}

.transparency-btn{
    display:inline-block;
    padding:1rem 2.5rem;
    background:#00b34d;
    color:#fff;
    text-decoration:none;
    border-radius:3rem;
    font-size:1rem;
    font-weight:bold;
    transition:.3s;
     cursor:pointer;
}

.transparency-btn:hover{
    transform:translateY(-3px);
}

/* =========================
   SECTION 6 - REVIEWS
========================= */

.reviews-section {
    padding: 8vh 5vw;
    background: #f8f8f8;
}

.container {
    width: 90%;
    margin: 0 auto;
}

.reviews-section h2,
.faq-section h2 {
    text-align: center;
    font-size: clamp(2rem, 3vw, 4rem);
    font-weight: 700;
    margin-bottom: 6vh;
    color: #222;
}

.review-grid {
    display: flex;
    justify-content: center;
    align-items: stretch;
    gap: 2vw;
    flex-wrap: wrap;
}

.review-card {
    width: 28%;
    min-width: 18rem;
    padding: 3rem 2rem;
    border-radius: 1.5rem;
    text-align: center;
    transition: 0.3s ease;
}

.review-card:hover {
    transform: translateY(-0.5rem);
}

.review-card-left {
    background: linear-gradient(
        135deg,
        #dff5ec,
        #edf8ef
    );
}

.review-card-center {
    background: linear-gradient(
       135deg,
        #dff5ec,
        #edf8ef
    );
}

.review-card-right {
    background: linear-gradient(
       135deg,
        #dff5ec,
        #edf8ef
    );
}

.stars {
    color: #f6b31a;
    font-size: 1.8rem;
    margin-bottom: 1rem;
    letter-spacing: 0.15rem;
}

.review-card h3 {
    font-size: 1.4rem;
    margin-bottom: 1rem;
    font-weight: 700;
}

.review-card p {
    font-size: 1rem;
    line-height: 1.7;
    color: #444;
}

/* =========================
   SECTION 7 - FAQ
========================= */

.faq-section {
    padding: 8vh 5vw;
    background: #fff;
}

.faq-wrapper {
    width: 100%;
}

.faq-item {
    border: 0.08rem solid #ddd;
    border-radius: 0.7rem;
    margin-bottom: 1rem;
    overflow: hidden;
    background: #fafafa;
}

.faq-item summary {
    list-style: none;
    cursor: pointer;
    padding: 1.5rem;
    font-size: 1.25rem;
    font-weight: 700;
    position: relative;
}

.faq-item summary::-webkit-details-marker {
    display: none;
}

.faq-item summary::after {
    content: "▶";
    position: absolute;
    right: 1.5rem;
    transition: 0.3s ease;
    font-size: 1rem;
}

.faq-item[open] summary::after {
    transform: rotate(90deg);
}

.faq-item p {
    padding: 0 1.5rem 1.5rem;
    font-size: 1rem;
    line-height: 1.8;
    color: #555;
}

.footer {
  background: #fff;
  padding: 60px 0 20px;
  color: #333;
  border-top: 1px solid #e5e5e5;
}

.footer-container {
  width: 90%;
  max-width: 1400px;
  margin: 0 auto;
}

.footer-top {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 50px;
  padding-bottom: 40px;
  border-bottom: 1px solid #ddd;
}

.footer-column h4 {
  font-size: 19px;
  font-weight: 600;
  margin-bottom: 18px;
  color: #624f50;
}

.footer-column p,
.footer-column li {
  font-size: 17px;
  line-height: 1.8;
  color: #864f50;
}

.footer-column ul {
  list-style: none;
  padding: 0;
  margin: 0;
}

.footer-column a {
  color: #555;
  text-decoration: none;
  transition: 0.3s;
}

.footer-column a:hover {
  color: #000;
}

.footer-bottom {
  text-align: center;
  padding-top: 20px;
}

.footer-bottom p {
  font-size: 13px;
  color: #777;
  margin: 0;
}

/* =========================
TABLET
========================= */

@media (max-width:991px){
    
    .features-grid{
    grid-template-columns:repeat(2,1fr);
}

.hero{
    height:75vh;
}

    .process-grid{
        grid-template-columns:repeat(2,1fr);
        gap:3vw;
    }

    .transparency-list{
        grid-template-columns:1fr;
    }
    
     .review-card {
        width: 45%;
    }

    .faq-item summary {
        font-size: 1.1rem;
    }
    
     .footer-top {
    grid-template-columns: repeat(2, 1fr);
  }
}


@media(max-width:767px){
    
    .coupon-code{
        display: block;
        margin-top: 0.2rem;
    }

.desktop-hero{
    display:none;
}

.mobile-hero{
    display:block;
}

.hero{
    height:80vh;
}

.hero-content{
    width:95%;
}

.hero-content h1{
    font-size:1.65rem;
}

.hero-content p{
    font-size: 1rem;
        line-height: 1.3;
}

.hero-btn{

    font-size: 1rem;
}

.trust-bar{
    grid-template-columns:1fr;
}

.trust-item{
    min-height:8vh;
}

/*.features-grid{
    grid-template-columns:1fr;
}*/

.features-grid{
        display:flex;
        overflow-x:auto;
        scroll-snap-type:x mandatory;
        scrollbar-width:none;
        -ms-overflow-style:none;
    }

    .features-grid::-webkit-scrollbar{
        display:none;
    }

    .feature-card{
        flex:0 0 100%;
        min-width:100%;
        scroll-snap-align:start;
    }


.why-choose{
    padding:6vh 5vw;
}

.section-desc{
    font-size:1rem;
}

   .process-section{
               padding: 3vh 5vw 6vh;
    }

    .process-grid{
        grid-template-columns:1fr;
        gap:2rem;
    }

    .process-card{
        padding:4vh 6vw;
    }

    .transparency-section{
        min-height:auto;
        padding:8vh 5vw;
    }

    .transparency-content h2{
        line-height:1.2;
    }

    .transparency-btn{
     width: auto;
        max-width:20rem;
    }
    
    .transparency-text {
    font-size: 1.5rem;
    line-height: 1.2;
}

.transparency-list li {
    font-size: 1.3rem;
    line-height: 1;
}

 .reviews-section,
    .faq-section {
        padding: 6vh 4vw;
    }
    
    .review-grid {
    display: flex;
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    scrollbar-width: none;
    -ms-overflow-style: none;
    flex-wrap: nowrap;
}

.review-grid::-webkit-scrollbar {
    display: none;
}

.review-card {
    flex: 0 0 100%;
    min-width: 100%;
    max-width: 100%;
    scroll-snap-align: start;
}

    .review-card h3 {
        font-size: 1.25rem;
    }

    .review-card p,
    .faq-item p {
        font-size: 0.95rem;
    }

    .faq-item summary {
        padding: 1.25rem;
        font-size: 1rem;
    }
    
    .footer-top {
    grid-template-columns: 1fr;
    gap: 30px;
  }

  .footer {
    padding: 40px 0 20px;
  }

}



/* MOBILE */

@media(max-width:767px){
    
        .claim-btn {
    width: 60%;
    height: 2.2rem;
    }
    
    .age-modal h1 {
    font-size: 1.6rem;
}

.form-wrap {
    width: auto;
    gap: 0.5rem;
}

.subtitle {
    margin-bottom: 1rem;
}

.terms {
    margin-top: 1rem;
}

.icon-box img {
    width: 2rem;
    height: 2rem;
}

.icon-box span
 {
    font-size: .7rem;
 }

    .age-modal{
        padding:2rem 5vw;
        max-height:95vh;
        overflow-y:auto;
                width: 90vw;
    }

    .logo{
        width:45vw;
    }

    .offer-buttons{
        flex-direction:column;
    }

    .offer-buttons button{
        width:100%;
    }

 .bottom-icons{
        display:grid;
        grid-template-columns:repeat(6,1fr);
        gap:.7rem;
            margin-top: 1.3rem;
    }

    .bottom-icons .icon-box:nth-child(1){grid-column:1 / span 2;}
    .bottom-icons .icon-box:nth-child(2){grid-column:3 / span 2;}
    .bottom-icons .icon-box:nth-child(3){grid-column:5 / span 2;}

    .bottom-icons .icon-box:nth-child(4){grid-column:2 / span 2;}
    .bottom-icons .icon-box:nth-child(5){grid-column:4 / span 2;}
}

    .close-btn{
        left:1rem;
        top:1rem;
    }
    

}