/* FRANCHISE MODELS PAGE — page-specific styles only. Shared tokens live in style.css */

/* ============ HERO ============ */
.fr-hero{
  position:relative;
  min-height:52vh;
  display:flex;
  align-items:center;
  padding:140px 8vw 80px;
  background:
    linear-gradient(120deg, rgba(11,31,58,0.90), rgba(37,99,235,0.75)),
    url('https://images.unsplash.com/photo-1521791136064-7986c2920216?q=80&w=1600&auto=format&fit=crop')
    center/cover no-repeat;
  overflow:hidden;
}
.fr-hero-overlay{
  position:absolute; inset:0;
  background:linear-gradient(180deg, rgba(11,31,58,0.15), rgba(11,31,58,0.55));
}
.fr-hero-content{position:relative; z-index:2; max-width:780px;}
.fr-hero-content h1{
  font-family:var(--font-display);
  font-size:clamp(32px,4.5vw,52px);
  color:var(--white);
  line-height:1.15;
  margin:14px 0 18px;
}
.fr-hero-content p{
  color:rgba(255,255,255,0.85);
  font-size:17px;
  max-width:640px;
}

/* ==========================
   FRANCHISE SHOWCASE BANNER
=========================== */


.franchise-showcase{

    background:var(--white);

    padding:40px 8vw 80px;

}



.franchise-banner{

    width:80%;              /* decreased width */

    max-width:1000px;       /* keeps premium size */

    height: 700px;

    margin:30px auto 70px;

    border-radius:28px;

    overflow:hidden;

    position:relative;

    box-shadow:
    0 25px 60px rgba(0,0,0,.15);

}



.franchise-banner img{

    width:100%;

    height:100%;

    object-fit:cover;

    display:block;

    transition:.5s ease;

}



.franchise-banner:hover img{

    transform:scale(1.03);

}

@media(max-width:900px){

.franchise-banner{

    height:350px;

}

}


@media(max-width:600px){

.franchise-showcase{

    padding:30px 5vw 50px;

}


.franchise-banner{

    height:240px;

    border-radius:18px;

}

}

/* ============ TIER SELECTOR (3 clickable cards) ============ */
.fr-tiers{
  background:var(--white);
  padding:90px 8vw;
  text-align:center;
}
.fr-tiers .eyebrow{ display:flex; justify-content:center; margin-bottom:14px; }
.fr-tiers h2{
  font-family:var(--font-display);
  font-size:clamp(30px,4vw,42px);
  color:var(--primary);
  margin-bottom:12px;
}
.fr-tiers .ab-lead{ margin:0 auto 55px; text-align:center; }

.tier-grid{
  display:grid;
  grid-template-columns:1fr;
  gap:28px;
}
@media(min-width:900px){ .tier-grid{ grid-template-columns:repeat(3,1fr); } }

.tier-card{
  background:var(--white);
  border:1px solid var(--line);
  border-radius:20px;
  padding:44px 32px;
  text-align:left;
  text-decoration:none;
  display:block;
  position:relative;
  overflow:hidden;
  transition:.35s;
}
.tier-card::before{
  content:"";
  position:absolute; top:0; left:0;
  width:100%; height:5px;
  background:linear-gradient(90deg,var(--secondary),var(--accent));
}
.tier-card:hover{
  transform:translateY(-10px);
  border-color:var(--accent);
  box-shadow:0 20px 45px rgba(11,31,58,.13);
}
.tier-card.gold{ border:2px solid var(--accent); }
.tier-medal{
  width:60px; height:60px; border-radius:50%;
  display:flex; align-items:center; justify-content:center;
  font-size:26px; margin-bottom:20px;
}
.tier-card.silver .tier-medal{ background:#E2E8F0; color:#64748B; }
.tier-card.gold .tier-medal{ background:#FEF3C7; color:#F59E0B; }
.tier-card.platinum .tier-medal{ background:#E0F2FE; color:#0EA5E9; }
.tier-card.bronze .tier-medal{ background:#FDE8D8; color:#B45309; }
.tier-card.diamond .tier-medal{ background:#DBEAFE; color:#2563EB; }
.tier-card.black-diamond .tier-medal{ background:#0B1F3A; color:#FBBF24; }
.tier-card.black-diamond{ border:2px solid #0B1F3A; }
.tier-card h3{ font-size:24px; color:var(--primary); margin-bottom:4px; }
.tier-card .tier-subtitle{ font-size:13.5px; color:var(--gray); font-weight:600; margin-bottom:20px; display:block; }
.tier-facts{ margin-bottom:22px; }
.tier-facts li{
  display:flex; align-items:center; gap:10px;
  font-size:14px; color:var(--ink);
  padding:8px 0; border-bottom:1px dashed var(--line);
}
.tier-facts li:last-child{ border-bottom:none; }
.tier-facts li i{ color:var(--accent); width:16px; }
.tier-customers{
  background:#FFF7ED; border:1px dashed var(--accent);
  border-radius:10px; padding:12px 14px;
  font-size:13px; color:var(--primary); margin-bottom:22px;
}
.tier-customers strong{ color:#DC2626; }
.tier-arrow{
  display:inline-flex; align-items:center; gap:8px;
  font-size:13.5px; font-weight:700; color:var(--secondary);
}
.tier-arrow i{ font-size:11px; transition:.25s; }
.tier-card:hover .tier-arrow i{ transform:translateX(5px); }

/* ============ WHY PARTNER ============ */
.fr-why-partner{ background:#F8FAFC; padding:100px 8vw; }
.fr-why-partner h2{
  font-family:var(--font-display);
  font-size:clamp(30px,4vw,42px);
  color:var(--primary); margin-bottom:14px; max-width:640px;
}
.fr-why-grid{
  display:grid; grid-template-columns:1fr; gap:20px; margin-top:45px;
}
@media(min-width:700px){ .fr-why-grid{ grid-template-columns:repeat(2,1fr); } }
@media(min-width:1100px){ .fr-why-grid{ grid-template-columns:repeat(4,1fr); } }
.fr-why-box{
  background:var(--white); border:1px solid var(--line); border-radius:16px;
  padding:30px 24px; transition:.3s;
}
.fr-why-box:hover{ transform:translateY(-8px); border-color:var(--accent); box-shadow:0 18px 36px rgba(11,31,58,.1); }
.fr-why-box .icon-circle{
  width:52px; height:52px; border-radius:50%;
  background:rgba(251,191,36,.15); color:var(--secondary);
  display:flex; align-items:center; justify-content:center;
  font-size:20px; margin-bottom:16px;
}
.fr-why-box h4{ font-size:16px; color:var(--primary); margin-bottom:8px; }
.fr-why-box p{ font-size:13.5px; color:var(--gray); line-height:1.6; }

/* Vertical strip inside Why Partner */
/* ==========================
   BUSINESS VERTICAL CARDS
=========================== */


.fr-vert-strip{

    display:grid;

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

    gap:20px;

    margin-top:45px;

}



@media(max-width:1000px){

    .fr-vert-strip{

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

    }

}


@media(max-width:600px){

    .fr-vert-strip{

        grid-template-columns:1fr;

    }

}



.fr-vert-item{

    background:white;

    border-radius:20px;

    overflow:hidden;

    border:1px solid var(--line);

    transition:.35s ease;

    box-shadow:
    0 10px 25px rgba(11,31,58,.06);

}



.fr-vert-item:hover{

    transform:translateY(-10px);

    box-shadow:
    0 25px 50px rgba(11,31,58,.15);

    border-color:var(--accent);

}




/* IMAGE */

.fr-thumb{

    height:160px;

    overflow:hidden;

}



.fr-thumb img{

    width:100%;

    height:100%;

    object-fit:cover;

    transition:.5s ease;

}



.fr-vert-item:hover img{

    transform:scale(1.08);

}



/* CONTENT */

.fr-item-content{

    padding:22px 18px;

    text-align:center;

}



.fr-vert-item .emoji{

    font-size:28px;

    display:block;

    margin-bottom:8px;

}



.fr-vert-item h5{

    font-size:17px;

    color:var(--primary);

    margin-bottom:8px;

}



.fr-vert-item p{

    font-size:13px;

    color:var(--gray);

    line-height:1.6;

}

/* ============ TIER DETAIL SECTIONS ============ */
.fr-tier-section{
  padding:100px 8vw;
  scroll-margin-top:90px;
}
.fr-tier-section.alt{ background:#F8FAFC; }

.tier-header{
  display:flex; flex-wrap:wrap; align-items:center; gap:16px;
  margin-bottom:16px;
}
.tier-badge{
  display:inline-flex; align-items:center; gap:8px;
  border:1px solid var(--line); border-radius:50px;
  padding:6px 16px; font-size:12.5px; font-weight:700; color:var(--gray);
}
.fr-tier-section h2{
  font-family:var(--font-display);
  font-size:clamp(28px,3.8vw,40px);
  color:var(--primary);
}
.fr-tier-section h2 span{ color:var(--secondary); }
.tier-lead{ color:var(--gray); font-size:15.5px; max-width:680px; margin-bottom:40px; }

.tier-info-row{
  display:grid; grid-template-columns:1fr; gap:16px; margin-bottom:45px;
}
@media(min-width:700px){ .tier-info-row{ grid-template-columns:repeat(3,1fr); } }
.tier-info-card{
  background:var(--white); border:1px solid var(--line); border-radius:14px;
  padding:20px 22px; display:flex; align-items:center; gap:14px;
}
.tier-info-card .icon{
  width:44px; height:44px; border-radius:50%;
  background:rgba(251,191,36,.15); color:var(--secondary);
  display:flex; align-items:center; justify-content:center; font-size:18px;
  flex-shrink:0;
}
.tier-info-card span{ display:block; font-size:11.5px; color:var(--gray); text-transform:uppercase; margin-bottom:3px; }
.tier-info-card strong{ font-size:15px; color:var(--primary); }

/* Margin breakdown table-style rows */
.margin-list{
  background:var(--white); border:1px solid var(--line); border-radius:16px;
  padding:8px; margin-bottom:30px;
}
.margin-row{
  display:flex; align-items:center; justify-content:space-between;
  padding:18px 20px;
  border-bottom:1px dashed var(--line);
}
.margin-row:last-child{ border-bottom:none; }
.margin-left{ display:flex; align-items:center; gap:14px; }
.margin-left .icon-sq{
  width:42px; height:42px; border-radius:10px;
  background:rgba(251,191,36,.15); color:var(--secondary);
  display:flex; align-items:center; justify-content:center; font-size:17px;
}
.margin-left strong{ font-size:15px; color:var(--primary); }
.margin-pct{
  font-family:var(--font-display);
  font-size:20px; font-weight:700; color:#16A34A;
}

.tier-customer-banner{
  background:var(--primary);
  border-radius:16px;
  padding:26px 30px;
  display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between;
  gap:16px; margin-bottom:30px;
}
.tier-customer-banner p{ color:rgba(255,255,255,0.8); font-size:14px; }
.tier-customer-banner strong{ color:var(--accent); font-size:22px; font-family:var(--font-display); display:block; }

.tier-advantage{
  display:flex; align-items:flex-start; gap:14px;
  background:#FFFBEB; border:1px dashed var(--accent); border-radius:14px;
  padding:20px 22px; margin-bottom:34px;
}
.tier-advantage i{ color:var(--accent); font-size:20px; margin-top:2px; }
.tier-advantage strong{ color:var(--primary); }
.tier-advantage span{ color:var(--gray); font-size:14px; }

.tier-cta{ display:flex; gap:14px; flex-wrap:wrap; }
.tier-cta a{
  padding:14px 30px; border-radius:8px; font-weight:700; font-size:14.5px;
  text-decoration:none;
}

/* ============ HIGH-GROWTH INDUSTRIES ============ */
.fr-market{ background:var(--white); padding:100px 8vw; }
.fr-market h2{
  font-family:var(--font-display);
  font-size:clamp(30px,4vw,42px); color:var(--primary); margin-bottom:14px; max-width:700px;
}
.market-grid{
  display:grid; grid-template-columns:1fr; gap:22px; margin-top:45px;
}
@media(min-width:700px){ .market-grid{ grid-template-columns:repeat(2,1fr); } }
@media(min-width:1100px){ .market-grid{ grid-template-columns:repeat(4,1fr); } }
.market-card{
  border:1px solid var(--line); border-radius:16px; overflow:hidden;
  transition:.3s;
}
.market-card:hover{ transform:translateY(-8px); box-shadow:0 18px 36px rgba(11,31,58,.1); }
.market-img{ height:130px; background-size:cover; background-position:center; }
.market-body{ padding:20px; text-align:center; }
.market-icon{
  width:46px; height:46px; border-radius:50%;
  background:rgba(251,191,36,.15); color:var(--secondary);
  display:flex; align-items:center; justify-content:center;
  font-size:18px; margin:-42px auto 14px; border:3px solid var(--white);
}
.market-body h4{ font-size:15.5px; color:var(--primary); margin-bottom:8px; }
.market-body p{ font-size:13px; color:var(--gray); line-height:1.6; }

/* ============ ONBOARDING SUPPORT ============ */
.fr-onboard{ background:#F8FAFC; padding:100px 8vw; }
.fr-onboard h2{
  font-family:var(--font-display);
  font-size:clamp(30px,4vw,42px); color:var(--primary); margin-bottom:14px; max-width:640px;
}
.onboard-grid{
  display:grid; grid-template-columns:1fr; gap:20px; margin-top:45px;
}
@media(min-width:700px){ .onboard-grid{ grid-template-columns:repeat(2,1fr); } }
.onboard-card{
  background:var(--white); border:1px solid var(--line); border-radius:16px;
  padding:28px 26px; display:flex; gap:18px;
}
.onboard-card .icon-circle{
  width:52px; height:52px; border-radius:50%; flex-shrink:0;
  background:rgba(251,191,36,.15); color:var(--secondary);
  display:flex; align-items:center; justify-content:center; font-size:20px;
}
.onboard-card h4{ font-size:16px; color:var(--primary); margin-bottom:6px; }
.onboard-card p{ font-size:13.5px; color:var(--gray); line-height:1.6; }

/* ==========================================================
   PREMIUM UPGRADE LAYER — Franchise Models Page
   Scope: Hero, Tier Selector, Why Partner, Tier Details
   (Silver/Gold/Platinum), Market, Onboarding.
   Excluded: "Why Franchise With Us" (.why), "Your Journey to
   Launch" (.process), and the footer — left untouched.
========================================================== */

/* ---------- HERO ---------- */
.fr-hero{
  min-height:58vh;
  background:
    radial-gradient(circle at 85% 20%, rgba(251,191,36,0.18), transparent 45%),
    linear-gradient(120deg, rgba(11,31,58,0.92), rgba(37,99,235,0.78)),
    url('https://images.unsplash.com/photo-1521791136064-7986c2920216?q=80&w=1600&auto=format&fit=crop')
    center/cover no-repeat;
}
.fr-hero-overlay{
  background:linear-gradient(180deg, rgba(11,31,58,0.1), rgba(11,31,58,0.6));
}
.fr-hero-content .eyebrow{
  color:var(--accent);
  background:rgba(251,191,36,0.12);
  border:1px solid rgba(251,191,36,0.35);
  padding:8px 18px 8px 14px;
  border-radius:50px;
  display:inline-flex;
  width:fit-content;
}
.fr-hero-content .eyebrow::before{ display:none; }
.fr-hero-content h1{
  position:relative;
  text-shadow:0 4px 24px rgba(0,0,0,.25);
}
.fr-hero-content p{
  border-left:3px solid var(--accent);
  padding-left:18px;
}

/* ---------- TIER SELECTOR ---------- */
.fr-tiers{ background:linear-gradient(180deg, var(--white), #FAFBFF); }

.tier-card{
  box-shadow:0 4px 18px rgba(11,31,58,.05);
}
.tier-card::after{
  content:"";
  position:absolute; inset:0;
  background:radial-gradient(circle at 100% 0%, rgba(251,191,36,0.08), transparent 55%);
  opacity:0; transition:.35s;
  pointer-events:none;
}
.tier-card:hover::after{ opacity:1; }
.tier-card:hover{ transform:translateY(-14px) scale(1.01); }

.tier-medal{
  box-shadow:0 8px 18px rgba(11,31,58,.08);
  transition:.35s;
}
.tier-card:hover .tier-medal{ transform:rotate(-8deg) scale(1.08); }
.tier-card.gold{
  box-shadow:0 20px 50px rgba(251,191,36,.18);
  background:linear-gradient(180deg, #FFFDF6, var(--white));
}
.tier-card.gold::before{ height:6px; }
.tier-card.gold::after{
  content:"Most Popular";
  position:absolute; top:0; right:0; bottom:auto; left:auto;
  width:fit-content; height:fit-content;
  background:linear-gradient(90deg,#F59E0B,var(--accent)); color:var(--primary);
  font-size:11px; font-weight:700; letter-spacing:.04em; text-transform:uppercase;
  padding:7px 16px; border-radius:0 0 0 14px; opacity:1; z-index:2;
}

.tier-customers{
  background:linear-gradient(90deg, #FFF7ED, #FFFBEB);
  border:1px dashed var(--accent);
  position:relative;
}
.tier-facts li i{
  background:rgba(251,191,36,.15);
  width:26px; height:26px; border-radius:50%;
  display:inline-flex; align-items:center; justify-content:center;
  font-size:11px;
}

/* ---------- WHY PARTNER ---------- */
.fr-why-partner{
  background:
    radial-gradient(circle at 10% 10%, rgba(37,99,235,0.04), transparent 40%),
    #F8FAFC;
}
.fr-why-partner h2{ position:relative; padding-bottom:14px; }
.fr-why-partner h2::after{
  content:""; position:absolute; left:0; bottom:0;
  width:60px; height:4px; border-radius:4px;
  background:linear-gradient(90deg,var(--secondary),var(--accent));
}

.fr-why-box{ box-shadow:0 4px 14px rgba(11,31,58,.04); }
.fr-why-box .icon-circle{
  background:linear-gradient(135deg, var(--secondary), var(--accent));
  transition:.3s;
}
.fr-why-box .icon-circle i{ color:var(--white); }
.fr-why-box:hover .icon-circle{ transform:scale(1.1) rotate(-6deg); }
.fr-why-box:hover{ border-color:transparent; box-shadow:0 22px 44px rgba(11,31,58,.13); }

.fr-vert-strip{ margin-top:55px; }
.fr-vert-item{
  background:var(--primary);
  border:none;
  position:relative;
  overflow:hidden;
  transition:.3s;
}
.fr-vert-item::before{
  content:""; position:absolute; inset:0;
  background:linear-gradient(160deg, rgba(251,191,36,0.14), transparent 60%);
}
.fr-vert-item .emoji{ font-size:32px; }
.fr-vert-item h5{ color:var(--accent); position:relative; }
.fr-vert-item p{ color:rgba(255,255,255,0.75); position:relative; }
.fr-vert-item:hover{ transform:translateY(-6px); }

/* ---------- TIER DETAIL SECTIONS (Silver / Gold / Platinum) ---------- */
.fr-tier-section{ position:relative; overflow:hidden; }
.fr-tier-section::before{
  content:"";
  position:absolute; top:-120px; right:-120px;
  width:340px; height:340px; border-radius:50%;
  background:radial-gradient(circle, rgba(251,191,36,0.10), transparent 70%);
  pointer-events:none;
}

.tier-badge{
  background:linear-gradient(90deg, var(--primary), #14304F);
  color:var(--accent);
  border:none;
  box-shadow:0 6px 16px rgba(11,31,58,.15);
}
.tier-badge i{ color:var(--accent); }

.fr-tier-section h2{ position:relative; z-index:1; }
.fr-tier-section h2 span{
  background:linear-gradient(90deg,var(--secondary),var(--accent));
  -webkit-background-clip:text;
  background-clip:text;
  color:transparent;
}

.tier-info-card{
  box-shadow:0 4px 14px rgba(11,31,58,.04);
  transition:.3s;
}
.tier-info-card:hover{ transform:translateY(-6px); border-color:var(--accent); box-shadow:0 16px 32px rgba(11,31,58,.1); }
.tier-info-card .icon{
  background:linear-gradient(135deg, var(--secondary), var(--accent));
  color:var(--white);
}

.margin-list{ box-shadow:0 6px 20px rgba(11,31,58,.05); }
.margin-row{ transition:.25s; border-radius:10px; }
.margin-row:hover{ background:#F8FAFC; }
.margin-left .icon-sq{
  background:linear-gradient(135deg, var(--secondary), var(--accent));
  color:var(--white);
}
.margin-pct{
  background:rgba(22,163,74,.1);
  padding:4px 12px;
  border-radius:50px;
}

.tier-customer-banner{
  background:linear-gradient(120deg, var(--primary), #14304F);
  position:relative;
  overflow:hidden;
}
.tier-customer-banner::before{
  content:"\f0c0";
  font-family:"Font Awesome 6 Free"; font-weight:900;
  position:absolute; right:20px; top:50%; transform:translateY(-50%);
  font-size:64px; color:rgba(255,255,255,0.06);
}

.tier-advantage{ box-shadow:0 6px 18px rgba(251,191,36,.08); }

.tier-cta a{ transition:.3s; }
.tier-cta a.btn-quote:hover{ transform:translateY(-3px); box-shadow:0 12px 26px rgba(251,191,36,.35); }
.tier-cta a.btn-whatsapp:hover{ transform:translateY(-3px); box-shadow:0 12px 26px rgba(34,197,94,.35); }

/* ---------- HIGH-GROWTH INDUSTRIES (fr-market) ---------- */
.fr-market{ background:linear-gradient(180deg, var(--white), #FAFBFF); }
.fr-market h2{ position:relative; padding-bottom:14px; }
.fr-market h2::after{
  content:""; position:absolute; left:0; bottom:0;
  width:60px; height:4px; border-radius:4px;
  background:linear-gradient(90deg,var(--secondary),var(--accent));
}
.market-card{ box-shadow:0 6px 20px rgba(11,31,58,.05); }
.market-img{ transition:.4s; }
.market-card:hover .market-img{ transform:scale(1.08); }
.market-card{ overflow:hidden; }
.market-img{ overflow:hidden; }
.market-icon{
  background:linear-gradient(135deg, var(--secondary), var(--accent));
  color:var(--white);
  box-shadow:0 6px 16px rgba(11,31,58,.15);
}

/* ---------- ONBOARDING SUPPORT ---------- */
.fr-onboard{
  background:
    radial-gradient(circle at 90% 10%, rgba(37,99,235,0.05), transparent 45%),
    #F8FAFC;
}
.fr-onboard h2{ position:relative; padding-bottom:14px; }
.fr-onboard h2::after{
  content:""; position:absolute; left:0; bottom:0;
  width:60px; height:4px; border-radius:4px;
  background:linear-gradient(90deg,var(--secondary),var(--accent));
}
.onboard-card{ box-shadow:0 4px 14px rgba(11,31,58,.04); transition:.3s; }
.onboard-card:hover{ transform:translateY(-8px); border-color:var(--accent); box-shadow:0 20px 40px rgba(11,31,58,.1); }
.onboard-card .icon-circle{
  background:linear-gradient(135deg, var(--secondary), var(--accent));
  color:var(--white);
}

@media(max-width:600px){
  .tier-card.gold::after{ font-size:10px; padding:6px 12px; }
  .tier-card{ padding:32px 24px; }
  .fr-tier-section{ padding:56px 6vw; }
  .margin-row{ padding:14px 16px; }
  .fr-company{ padding:50px 6vw; }
}

/* ==========================================
   FRANCHISE JOURNEY TO LAUNCH
========================================== */


.fr-process{

    background:#0B1F3A;
    color:white;
    padding:100px 8vw;
    overflow:hidden;
    position:relative;

}


.fr-process .eyebrow{

    color:#FBBF24;
}


.fr-process h2{

    font-family:var(--font-display);
    font-size:clamp(32px,4vw,48px);
    max-width:750px;
    line-height:1.3;
    margin-bottom:20px;

}


.fr-process .process-desc{

    max-width:650px;
    color:rgba(255,255,255,.75);
    font-size:17px;
    line-height:1.8;
    margin-bottom:55px;

}



/* TWO COLUMN LAYOUT */

.fr-process-wrapper{

    display:grid;
    grid-template-columns:55% 45%;
    align-items:center;
    position:relative;

}



/* LEFT STEPS */

.fr-process-list{

    position:relative;
    z-index:2;

}



.fr-process-item{

    display:grid;
    grid-template-columns:70px 1fr;
    gap:24px;

    padding:28px 0;

    border-top:1px solid rgba(255,255,255,.15);

}


.fr-process-item:last-child{

    border-bottom:1px solid rgba(255,255,255,.15);

}



.fr-step-icon{

    width:60px;
    height:60px;

    border-radius:50%;

    background:rgba(251,191,36,.12);

    border:2px solid #FBBF24;

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

    position:relative;

}


.fr-step-icon i{

    color:#FBBF24;
    font-size:24px;

}



.fr-step-icon span{

    position:absolute;

    top:-8px;
    right:-8px;

    width:22px;
    height:22px;

    border-radius:50%;

    background:#FBBF24;
    color:#0B1F3A;

    font-size:11px;
    font-weight:700;

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

}



.fr-process-item h3{

    font-size:19px;
    margin-bottom:8px;

}



.fr-process-item p{

    color:rgba(255,255,255,.7);
    line-height:1.7;
    font-size:14px;

}



/* RIGHT IMAGE */


.fr-process-image{

    position:absolute;

    right:-8vw;

    top:0;

    width:55vw;

    height:100%;

    display:flex;

    justify-content:flex-end;

    align-items:center;

    z-index:1;

    pointer-events:none;

}

/* background glow */

.fr-process-image::before{

    content:"";

    position:absolute;

    width:700px;
    height:700px;

    right:50px;

    background:

    radial-gradient(
        circle,
        rgba(251,191,36,.18),
        transparent 65%
    );


    filter:blur(70px);

}


.fr-process-image img{


    width:800px;

    max-width:none;


    object-fit:contain;


    position:relative;


    filter:

    drop-shadow(
        0 35px 70px rgba(0,0,0,.45)
    );


    /* blend left side with background */

    mask-image:

    linear-gradient(
        90deg,
        transparent 0%,
        rgba(0,0,0,.7) 20%,
        black 45%,
        black 100%
    );


    animation:processFloat 8s ease-in-out infinite;


}



@keyframes frFloat{


0%{
transform:translateY(0);
}


50%{
transform:translateY(-12px);
}


100%{
transform:translateY(0);
}


}



/* TABLET */

@media(max-width:1000px){


.fr-process-wrapper{

    grid-template-columns:1fr;

}


.fr-process-image{

    position:relative;

    right:auto;

    top:auto;

    transform:none;

    width:100%;

    justify-content:center;

    margin-top:50px;

}


.fr-process-image img{

    width:100%;

    max-width:600px;

}


}



/* MOBILE */

@media(max-width:600px){


.fr-process{

    padding:70px 6vw;

}


.fr-process-item{

    grid-template-columns:55px 1fr;

    gap:18px;

}


.fr-step-icon{

    width:50px;
    height:50px;

}


.fr-process h2{

    font-size:32px;

}


.fr-process-image img{

    width:100%;

}


}
/* ==========================================================
   PRODUCT CATEGORY ACCESS — how many categories each tier unlocks
========================================================== */
.category-access{
  background:linear-gradient(150deg, #FFFBEB, #FFF7ED);
  border:1px solid var(--accent);
  border-radius:18px;
  padding:26px 28px;
  margin-bottom:30px;
  position:relative;
  overflow:hidden;
}
.category-access::before{
  content:"";
  position:absolute; top:0; left:0;
  width:100%; height:4px;
  background:linear-gradient(90deg, var(--secondary), var(--accent));
}
.cat-access-top{
  display:flex;
  align-items:center;
  gap:16px;
  margin-bottom:20px;
}
.cat-access-icon{
  width:48px; height:48px; flex-shrink:0;
  border-radius:14px;
  background:var(--primary);
  color:var(--accent);
  display:flex; align-items:center; justify-content:center;
  font-size:19px;
}
.cat-access-top h4{
  font-family:var(--font-display);
  font-size:16.5px;
  color:var(--primary);
  margin-bottom:4px;
}
.cat-access-top p{
  font-size:13px;
  color:var(--gray);
  line-height:1.55;
}
.cat-access-count{
  margin-left:auto;
  flex-shrink:0;
  text-align:center;
  background:var(--primary);
  color:var(--white);
  border-radius:12px;
  padding:8px 16px;
  font-family:var(--font-display);
  font-size:20px;
  font-weight:700;
  line-height:1;
}
.cat-access-count span{
  display:block;
  font-family:var(--font-body);
  font-size:9.5px;
  font-weight:600;
  text-transform:uppercase;
  letter-spacing:.04em;
  color:rgba(255,255,255,.65);
  margin-top:3px;
}

.cat-access-grid{
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:10px;
}
@media(min-width:520px){ .cat-access-grid{ grid-template-columns:repeat(4,1fr); } }

.cat-chip{
  display:flex; flex-direction:column; align-items:center; gap:8px;
  text-align:center;
  background:var(--white);
  border:1.5px dashed var(--line);
  border-radius:14px;
  padding:14px 10px;
  font-size:12px;
  font-weight:600;
  color:var(--gray);
  transition:.25s;
}
.cat-chip i{ font-size:18px; color:var(--gray); transition:.25s; }

/* Lower tiers: chips are "pick any" options, styled neutral-selectable */
.category-access.choose .cat-chip{
  border-style:dashed;
  border-color:#F5D89B;
}

/* Higher tiers: all categories included, styled as confirmed/active */
.category-access.full .cat-chip{
  background:var(--primary);
  border:1.5px solid var(--primary);
  color:var(--white);
}
.category-access.full .cat-chip i{ color:var(--accent); }
.category-access.full .cat-access-count{
  background:linear-gradient(90deg,#F59E0B,var(--accent));
  color:var(--primary);
}
.category-access.full .cat-access-count span{ color:rgba(11,31,58,.65); }

@media(max-width:600px){
  .cat-access-top{ flex-wrap:wrap; }
  .cat-access-count{ margin-left:0; }
}
