:root{
    --black: #000;
    --fblack: #2B2F3A;
    --bgwhite: #E9EFF6;
    --white: #fff;
    --cardbg: #aaa;
    --green: #39FF14;
    --b_green: hsl(120, 61%, 42%);
    --blue: #0077FF;
    --purple: #8156b4;
    --dark_purple: #6C3BAA ;
    --bg_color: #1f1f1f;
    --footer_bg: #111111;
} 

.top_cover {
    margin-top: -30px;
    background: url(images/woman_1730325_1280.webp);
    text-align: center;
    background-repeat: no-repeat;
    background-size: cover;
    color: var(--white);
    height: 410px;
    width: 100%;
}
.top_cover h1{
    font-size: 45px;
    font-family: built tilting;
    padding-top: 200px;
}

.top_cover p{
    font-size: 20px;
    font-family: open_sans;
}

.bespoke_c{
    padding-top: 50px;
    color: var(--white);
    height: 200px;
    margin-bottom: 50px;
}
.bespoke_c h1{
    color: var(--purple);
    font-family: built tilting;
    font-size: 40px;
    padding-left: 10px;
    padding-right: 10px;
}
.bespoke_c p{
    font-family: open_sans;
    padding-left: 10px;
    padding-right: 10px;
    font-size: 18px;
}


/* carousel */
.who-its-for{
    background-color:#292430;
    padding:20px 0 100px;
}

.who-its-for h1{
    font-family: built tilting;
    text-align:center;
    color:var(--dark_purple);
    margin-bottom:30px;
    font-size:45px;
}
  
/* flex track */
.tabs {
    display: flex;
    gap: 20px;
    align-items: stretch;
    overflow: hidden;
    height: 500px;
    padding-left: 1vw;
    /* make it full-width */
    width: 98vw;
    margin-left: calc(50% - 50vw);   /* pulls it out of the page padding for true edge-to-edge */
}
  
.tab {
    position: relative;
    flex: 1 1 0;
    min-width: 0;
    height: 100%;
    cursor: pointer;
    border-radius: 25px;
    overflow: hidden;
    background: #3a3a3a;
    transition: flex-grow .25s ease, flex-basis .25s ease;
    will-change: flex-basis, flex-grow;
    contain: layout paint; 
    object-fit: cover; 
    width:100%; 
    height:100%;
}
  
.tab:hover {
    flex: 4 1 0;
}

.tab img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: opacity .25s ease;
}
  
.tab:hover img {
    opacity: 0.6;
}

/* mirror your hover state for touch via .active */
.tab.active { transform: scale(1.08); z-index: 3; }
.tab.active img { opacity: .6; }
.tab.active .front { opacity: 0; }
.tab.active .back  { opacity: 1; pointer-events: auto; }

/* disable hover effects on touch so they don't fight with .active */
@media (hover: none) {
  .tabs:hover .tab { transform: none; opacity: 1; }
  .tab:hover { transform: none; }
  .tab:hover img, .tab:hover .front, .tab:hover .back { opacity: initial; }
}


/* FRONT text dead center again */
.front {
    position: absolute;
    inset: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    color: white;
    font-family: built tilting;
    font-size: 1.6rem;
    text-align: center;
    z-index: 2;
    transition: opacity .25s ease;
}
  
.back {
    position: absolute;
    inset: 20px;
    color: white;
    font-size: 1rem;
    opacity: 0;
    pointer-events: none;
    z-index: 2;
    transition: opacity .25s ease;
    content-visibility: auto; 
    contain-intrinsic-size: 300px 200px;
}
  
.back h2 {
    font-size: 30px;
    font-family: built tilting;
    margin-top: 0;
}
  
.back p {
    font-family: open_sans;
    font-size: 20px;
}
  
.tab:hover .front {
    opacity: 0;
}
  
.tab:hover .back {
    opacity: 1;
    pointer-events: auto;
}
  
  
/* small screens: allow wrap instead of heavy expansion */
@media (max-width: 900px){
    .tabs{ flex-wrap:wrap; height:auto; }
    .tab{ flex:1 1 calc(50% - 20px); min-height:280px; }
    .tab:hover{ flex:1 1 calc(50% - 20px); } /* no aggressive expand on mobile */
}
@media (max-width: 560px){
    .tab{ flex:1 1 100%; min-height:260px; }
}
  



/* how it works */
.how-it-works {
    text-align: center;
    color: var(--white);
    background-color: #292430;
    padding-top: 35px;
    height: 500px;
    padding-bottom: 50px;
}
  
.how-it-works h2 {
    font-family: built tilting;
    font-size: 50px;
    margin-bottom: 50px;
    color: var(--dark_purple);
}
  
.steps-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
    gap: 30px;
    justify-items: center;
}
  
.step {
    box-shadow: 0 0 12px rgba(129, 86, 180, 0.15);
    background: var(--bg_color);
    padding: 30px 20px;
    border-radius: 15px;
    transition: all 0.3s ease;
    max-width: 300px;
}
  
.step:hover {
    background: var(--dark_purple);
}
  
.step i {
    font-size: 40px;
    color: var(--green);
    margin-bottom: 15px;
}
  
.step h3 {
    font-family: built tilting;
    margin-bottom: 10px;
    color: var(--green);
}
  
.step p {
    font-family: open_sans;
}


.cta-banner {
    background: linear-gradient(rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0.65)),
        url(images/cta_banner_img.webp);
    color: var(--white);
    text-align: center;
    background-attachment: fixed;
    background-repeat: no-repeat;
    background-size: cover;
    text-align: center;
    height: 400px;
    padding-top: 30px;
}

.cta-banner h2{
    padding-top: 80px;
    font-size: 33px;
    font-family: built tilting;
}

.cta-banner p{
    font-size: 20px;
    font-family: open_sans;
}

.cta-button {
    font-family: open_sans;
    margin-top: 20px;
    padding: 15px 40px;
    background: var(--dark_purple);
    color: var(--white);
    border: none;
    border-radius: 5px;
    font-size: 18px;
    cursor: pointer;
    transition: background 0.3s;
}

.cta-button:hover {
    background: var(--purple);
}

#faqs {
    color: var(--white);
    padding: 60px 20px;
    background: linear-gradient(180deg, #1e1e2f 0%, #151524 100%);
    border-radius: 16px;
    box-shadow: 0 10px 25px rgba(0, 0, 0, 0.3);
}

#faqs h1 {
    font-family: "built tilting", sans-serif;
    color: var(--dark_purple);
    text-align: center;
    font-size: 48px;
    margin-bottom: 30px;
    letter-spacing: 1px;
}

.faq-item {
    background-color: rgba(255, 255, 255, 0.05);
    padding: 20px 25px;
    border-left: 4px solid var(--purple);
    border-radius: 10px;
    margin-top: 30px;
    transition: background 0.3s ease, transform 0.2s ease;
}

.faq-item:hover {
    background-color: rgba(255, 255, 255, 0.08);
    transform: scale(1.01);
}

#faqs h3 {
    color: var(--purple);
    font-family: "open_sans", sans-serif;
    font-size: 20px;
    margin-bottom: 10px;
    display: flex;
    align-items: center;
    gap: 8px;
}

#faqs p {
    font-family: "open_sans", sans-serif;
    font-size: 16px;
    line-height: 1.6;
    color: var(--white);
}