        @font-face {
  font-family: 'Figtree';
  src: url('../fonts/Figtree[wght].ttf') format('opentype');
  font-style: normal;
}

        @font-face {
  font-family: 'Gellix';
  src: url('../fonts/Gellix-Medium.ttf') format('opentype');
  font-style: normal;
}
    
  *{
    margin:0;
    padding:0;
    box-sizing:border-box;
}

html{
    scroll-behavior:smooth;
}

body{
    font-family: 'Figtree';
    background:#fff;
}

/* ==========================
   OFFER STRIP
========================== */

.dealbanner{
    width:100%;
    overflow:hidden;
    background:#313131;
    padding:1.5vh 0;
}

.dealtrack{
    display:flex;
    width:max-content;
    animation:scrollOffer 25s linear infinite;
}

.dealbanner:hover .dealtrack{
    animation-play-state:paused;
}

.dealchip{
    display:flex;
    align-items:center;
    gap:.6rem;
    white-space:nowrap;
    margin:0 3vw;
    color:#fff;
    font-size:0.85rem;
    font-weight:400;
    font-family: 'Figtree';
}

.dealchip img{
    width:1.25rem;
    height:1.25rem;
    object-fit:contain;
    flex-shrink:0;
}

@keyframes scrollOffer{
    from{
        transform:translateX(0);
    }
    to{
        transform:translateX(-50%);
    }
}

/* ==========================
   HEADER
========================== */

.masthead{
    width:100%;
    display:flex;
    justify-content:center;
    align-items:center;
    padding:2.5vh 0;
    background:#000000;
}

.masthead img{
    width:12vw;
    min-width:8rem;
}

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

.spotlightarea{
    position: relative;
    min-height: 80vh;
    background: #010101;
    overflow: hidden;
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 4rem 0;
}

.spotlightarea::before{
    content:"";
    position:absolute;

    width:50vw;
    height:80vh;

    top:50%;
    left:50%;

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

    background:url("../images/spotlightarea-visual.avif")
               center center / contain no-repeat;

    opacity:.95;
}

.tint{
    position:absolute;
    inset:0;
    background:linear-gradient(
        rgba(0,0,0,.6),
        rgba(0,0,0,.7)
    );
}

.stagearea{
    position:relative;
    z-index:2;
    width:min(1200px, 90%);
    margin:0 auto;
    min-height:auto;
    display:flex;
    align-items:center;
    justify-content:center;
    gap:5%;
}

/* LEFT */

.introblock{
    width:50%;
    color:#fff;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
}

.introblock h1{
    font-size:clamp(2rem,4vw,5rem);
    line-height:1.05;
    margin-bottom:2vh;
    text-align: center;
    font-family: 'Gellix';
}

.introblock p{
    font-size:clamp(1rem,1.5vw,1.45rem);
    line-height:1.2;
    margin-bottom:4vh;
    max-width:90%;
    text-align: center;
      font-family: 'Figtree';
}

.jumplink{
    display:inline-flex;
    align-items:center;
    justify-content:center;

    text-decoration:none;

    background:#31ef9b;
    color:#000;

    padding:1rem 2rem;

    border-radius:.6rem;

    font-weight:700;

    transition:.3s;
}

.jumplink:hover{
    transform:translateY(-.2rem);
}

/* RIGHT */

.inputpanel{
    width:40%;
    background: #fff;

    border-radius:1rem;

    padding:3rem;

    box-shadow:
    0 0 2rem rgba(0,0,0,.25);
}

.inputpanel h2{
    margin-bottom:2rem;
    text-align:center;
        /*color: #fff;*/
}

.inputpanel form{
    display:flex;
    flex-direction:column;
    gap:1rem;
}

.inputpanel input{
    width:100%;
    padding:1rem;

    border:1px solid #ddd;
    border-radius:.5rem;

    font-size:1rem;
}

.inputpanel button{
    width:100%;
    border:none;

    background:#31ef9b;
    color:#000;

    padding:1rem;

    border-radius:.5rem;

    font-size:1rem;
    font-weight:700;

    cursor:pointer;
}

.inputpanel button:hover{
    opacity:.9;
}


.statrow{
    width:100%;
    background:#000;
    position:relative;
    min-height:180px;
    display:flex;
    justify-content:center;
    align-items:flex-end;
    padding:40px 0;
}

.statcapsule{
    width:1100px;
    max-width:95%;
    height:86px;
    background:#eed7d71f;
    border:1px solid rgba(255,255,255,.08);
    border-radius:999px;
    display:flex;
    align-items:center;
    justify-content:space-around;
    position:relative;
    overflow:hidden;
}

/* Green glow */
.statcapsule::before{
    content:"";
    position:absolute;
    bottom:-90px;
    left:50%;
    transform:translateX(-50%);
    width:350px;
    height:180px;
    background:radial-gradient(
        ellipse at center,
        rgba(0,255,170,.45) 0%,
        rgba(0,255,170,.2) 45%,
        transparent 75%
    );
    pointer-events:none;
}

.statentry{
    display:flex;
    align-items:center;
    gap:14px;
    position:relative;
    z-index:2;
}

.statentry span{
    color:#fff;
    font-size:18px;
    font-weight:700;
    line-height:1;
}

.peoplerow{
    display:flex;
    align-items:center;
}

.peoplerow img,
.glyphmark,
.sealmark{
    width:42px;
    height:42px;
}

.peoplerow img{
    border-radius:50%;
    object-fit:cover;
    border:2px solid #1fffb8;
}

.glyphmark{
    object-fit:cover;
    border-radius:50%;
}

.sealmark{
    object-fit:contain;
    border-radius:50%;
}

@media (max-width:768px){
    .statrow{
        min-height:auto;
        padding:30px 0;
    }

    .statcapsule{
        height:auto;
        border-radius:24px;
        flex-direction:column;
        gap:20px;
        padding:24px 20px;
    }

    .statentry span{
        font-size:16px;
    }
}

.mediabanner{
    width:100%;
    min-height:18vh;
    background:#f5f5f5;
    display:flex;
    align-items:center;
    padding:0 6vw;
    overflow:hidden;
}

.bannertitle{
    flex:0 0 auto;
    font-size:clamp(1.2rem,1.8vw,2rem);
    font-weight:700;
    color:#000;
    margin-right:4vw;
    white-space:nowrap;
}

.slidelane{
    flex:1;
    overflow:hidden;
    position:relative;
}

.slidetrack{
    display:flex;
    align-items:center;
    width:max-content;
    animation:scroll 25s linear infinite;
}

.slidetrack img{
    height:4.5vh;
    width:auto;
    margin:0 1vw;
    object-fit:contain;
    opacity:0.8;
    transition:0.3s ease;
}

.slidetrack img:hover{
    opacity:1;
    transform:scale(1.05);
}

@keyframes scroll{
    from{
        transform:translateX(0);
    }
    to{
        transform:translateX(-50%);
    }
}

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

.highlightsgrid{
    width:100%;
    padding:6vh 5vw;
    background:#f7f7f7;
}

.bounding{
    max-width:1400px;
    margin:auto;
}

.blocklabel{
    width:fit-content;
    margin:0 auto 2rem;
    padding:.6rem 1.2rem;
    background:#dffced;
    color:#14a86c;
    border-radius:999px;
    font-size:.85rem;
}

.blockheading{
    text-align:center;
    max-width:900px;
    margin:auto;
}

.blockheading h1{
    font-size:clamp(2rem,3vw,4rem);
    font-weight:800;
    line-height:1.1;
    margin-bottom:1.5rem;
      font-family: 'Gellix';
}

.blockheading p{
    line-height:1.8;
      font-family: 'Figtree';
}

.duallayout{
    margin-top:5rem;
    display:flex;
    align-items:center;
    justify-content:center;
    gap:5vw;
}

.visualcol{
    flex:0 0 40%;
}

.visualcol img{
    width:100%;
    display:block;
    border-radius:24px;
    transition:opacity .4s ease;
}

.stacklist{
    flex:0 0 45%;
    display:flex;
    flex-direction:column;
    gap:1.5rem;
}

.infotile{
    position:relative;
    overflow:hidden;
    background:#e8e8e8;
    border-radius:24px;
    padding:2rem;
    cursor:pointer;
    transition:.3s ease;
}

.spotlighted{
    background:#ffffff;
}

.loadmeter{
    position:absolute;
    top:0;
    left:0;
    width:0%;
    height:4px;
    background:#39f5a3;
}

.infotile h3{
    font-size:1.6rem;
    margin-bottom:1.5rem;
    font-weight:700;
          font-family: 'Gellix';
}

.infotile p{
    font-size:1rem;
    line-height:1.8;
}

.blockfootnote{
    text-align:center;
    margin-top:5rem;
}

.blockfootnote strong{
    display:block;
    margin-top:.5rem;
}

.actionzone{
    text-align:center;
    margin-top:3rem;
}

.actionlink{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    width:180px;
    height:56px;
    background:#39f5a3;
    color:#000;
    text-decoration:none;
    border-radius:10px;
    font-weight:700;
        cursor: pointer;
}

@keyframes fillBar{
    from{
        width:0%;
    }
    to{
        width:100%;
    }
}

.basement{
    width:100%;
    padding:5vw;
    color:#fff;
    background: #000000;
}

.upperrow{
    display:flex;
    justify-content:space-between;
    gap:4rem;
    margin-bottom:3rem;
}

.bigtitle h1{
    font-size:clamp(2rem,3.5vw,4rem);
    line-height:1.1;
}

.blurb{
    max-width:40rem;
    display:flex;
    align-items:center;
}

.blurb p{
    font-size:1rem;
    color:#d3d3d3;
}

.panelgrid{
    width:100%;
    background:linear-gradient(to right,#151515,#1d1d1d);
    border-radius:2rem;
    padding:3rem;
}

.identity img{
    width:12rem;
}

.sitemap{
    display:grid;
    grid-template-columns:
    repeat(4,1fr);
    gap:3rem;
    margin-top:3rem;
}

.sitemap h4{
    margin-bottom:1.4rem;
}

.sitemap a{
    display:block;
    color:#fff;
    text-decoration:none;
    margin-bottom:1rem;
    font-size:.95rem;
}

.accentword{
    color:#24d167 !important;
}

.baseline{
    margin-top:4rem;
    padding-top:2rem;
    border-top:1px solid rgba(255,255,255,.12);

    display:flex;
    justify-content: end;
    align-items:center;
    gap:2rem;
}

.socialtiles,
.paytiles{
    display:flex;
    gap:1rem;
    flex-wrap:wrap;
}

.socialtiles a,
.paytiles span{
    width:2.5rem;
    height:2.5rem;

    display:flex;
    align-items:center;
    justify-content:center;

    border:1px solid #333;
    border-radius:.6rem;

    color:#fff;
    text-decoration:none;

    font-size:.8rem;
}

.paymethods{
    display:flex;
    align-items:center;
    gap:0.75rem;
    flex-wrap:wrap;
}

.paymethods img{
    height:2rem;
    width:auto;
    display:block;
    object-fit:contain;
}

@media (max-width:1024px){

.sitemap{
grid-template-columns:repeat(2,1fr);
}

.upperrow{
flex-direction:column;
}

}

.disclosurebar{
    width:100%;
    background:#000000;
      padding: 1rem 5vw;
    border-top:1px solid rgba(255,255,255,.1);
}

.disclosureinner{
    max-width:1400px;
    margin:0 auto;
    display:flex;
    justify-content:center;
    align-items:center;
    gap:2rem;
    flex-wrap:wrap;
}

.disclosuremark h3{
    font-size:1.1rem;
    color:#fff;
    margin-bottom:.5rem;
    font-family:'Gellix';
}

.disclosuremark p{
    color:#cfcfcf;
    font-size:.95rem;
    line-height:1.6;
    max-width:34rem;
}

.policylinks{
    display:flex;
    gap:1rem;
    flex-wrap:wrap;
}

.policylinks a{
    color:#39f5a3;
    text-decoration:none;
    font-weight:600;
    padding:.65rem 1rem;
    border:1px solid rgba(57,245,163,.25);
    border-radius:999px;
    transition:.3s ease;
}

.policylinks a:hover{
    background:rgba(57,245,163,.1);
}

@media (max-width:768px){
    .disclosureinner{
        flex-direction:column;
        align-items:flex-start;
    }

    .policylinks{
        width:100%;
    }

    .policylinks a{
        flex:1 1 calc(50% - .5rem);
        text-align:center;
    }
}

/* =========================
   TABLET
========================= */

@media (max-width:991px){

    .duallayout{
        gap:4vw;
    }

    .photoframe{
        flex:0 0 35%;
    }

    .copycol{
        flex:1;
    }

}


 


/* ==========================
   TABLET
========================== */

@media(max-width:992px){

.stagearea{
    flex-direction:column;
    justify-content:center;
    padding:5vh 0;
}

.introblock{
    width:100%;
    text-align:center;
}

.introblock p{
    max-width:100%;
}

.inputpanel{
    width:100%;
    max-width:40rem;
}

}

/* ==========================
   MOBILE
========================== */

@media(max-width:768px){

.dealchip{
    font-size:.9rem;
    margin:0 6vw;
}

.masthead img{
    width:35vw;
}

.spotlightarea{
                  min-height: 65vh;
                  padding: 0px 0px;
}

.spotlightarea::before{
        width:90vw;
        height:60vh;

        top:55%;
        left:50%;

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


.introblock h1{
    font-size:clamp(2rem,9vw,3rem);
}

.introblock p{
    font-size:1rem;
}

.inputpanel{
    padding:2rem;
}

.jumplink{
    width:100%;
}

.mediabanner{
        padding:0 4vw;
        min-height:14vh;
    }

    .bannertitle{
        font-size:1.1rem;
        margin-right:5vw;
    }

    .slidetrack img{
        margin:0 2vw;
        height:3vh;
    }
    
 .duallayout{
        flex-direction:column;
        margin-top:3rem;
    }

    .visualcol,
    .stacklist{
        width:100%;
        flex:none;
    }

    .infotile{
        padding:1.5rem;
    }

    .infotile h3{
        font-size:1.2rem;
    }

    .infotile p{
        font-size:.95rem;
    }

.basement{
padding:6vw;
}

.panelgrid{
padding:2rem;
border-radius:1.5rem;
}

.sitemap{
grid-template-columns:1fr;
gap:2rem;
}

.baseline{
flex-direction:column;
align-items:flex-start;
}

.bigtitle h1{
font-size:2.2rem;
}

.socialtiles a,
.paytiles span{
width:2.2rem;
height:2.2rem;
}


.statcapsule
 {
           height: auto;
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        gap: 10px;
 }

    .spotlightarea::before {
                top: 46%;
    }
    
    .highlightsgrid {
    padding: 3vh 5vw;
}

}


