.section-steps {
  background-color: #F9F9F9;
}

.btn-brand{ background:var(--brand); border-color:var(--brand); color:#fff; }
.btn-brand:hover{ background:var(--brand-600); border-color:var(--brand-600); }

.hero-carousel .carousel-item{
  height: auto !important;
  min-height: clamp(420px, 55vw, 720px);
  position: relative;
}
.hero-carousel .hero-bg{
  position:absolute; inset:0; background-size:cover; background-position:center;
}
.hero-carousel .hero-overlay{
  position:absolute; inset:0;
  background: linear-gradient(90deg, rgba(0,0,0,.65) 0%, rgba(0,0,0,.25) 55%, rgba(0,0,0,0) 100%);
}
.carousel-indicators [data-bs-target]{ width:10px; height:10px; border-radius:999px; }
.carousel-indicators .active{ width:26px; }


:root{
  --brand: #FF6A00;
  --s1-w: 421px;   /* card width from Figma */
  --s1-h: 482px;   /* card height from Figma */
  --s1-r: 13px;    /* card border-radius from Figma */
  --corner-w: 192.14px;
  --corner-h: 78.72px;
}

.heading-steps{
  font-family: "Nuckle", system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
  font-weight: 700 !important;        /* if the font isn't variable, browsers will snap to 700 */
  font-style: normal;      /* "Bold" is weight, not style */
  font-size: 40px;
  line-height: 16px;       /* matches your spec, but very tight and may clip glyphs */
  letter-spacing: 0;
  text-align: center;
  /* make sure it's not forced uppercase anywhere */
  text-transform: none !important;
  font-variant-caps: normal !important;
  font-feature-settings: normal !important;
}
/* Section heading accent */
.heading-steps .text-brand{ color: var(--brand); }

/* circle base (outlined) */
.step-circle{
  width:66px; height:66px; border-radius:50%;
  display:grid; place-items:center;
  border:2px solid #D1D5DB;               /* light gray outline */
  background:#fff;
  color:#6B7280;                           /* number color for outlined */
  font-weight:700; font-size:22px; line-height:1;
  position:relative;
  transition:transform .2s ease, box-shadow .2s ease,
             background-color .2s ease, color .2s ease, border-color .2s ease;
}

/* first/active circle (filled) + outer ring */
.step-circle.is-active{
    width:56px;               /* было 66 */
  height:56px;
  background:#EF4C23;                      /* your orange */
  border-color:#EF4C23;
  color:#fff;
  
}
.step-circle.is-active::before{
  content:"";
  position:absolute;
  inset:-10px;                              /* makes the gray ring larger than 66x66 */
  border:2px solid #4A4A4A4F;
  border-radius:50%;
}

/* label */
.step-label{ font-size:1.25rem; color:#4B5563; }


/* ===== Card ===== */
.s1-card{
  position:relative;
  background:#fff;
  border-radius:var(--s1-r);
  border:1px solid rgba(0,0,0,.06);
  padding:12px 22px 20px;
  display:flex; flex-direction:column;
  overflow:visible; /* allow ribbon to overflow */
  box-shadow:
    0  2px  4px  rgba(0,0,0,.05),
    0  8px  8px  rgba(0,0,0,.04),
    0 16px 24px rgba(0,0,0,.04),
    0 32px 48px rgba(0,0,0,.03);
}

/* Fix desktop size; fluid on smaller screens */
.s1-card--fixed{ width:var(--s1-w); max-width:var(--s1-w); min-height:var(--s1-h); }
@media (max-width: 1199.98px){
  .s1-card--fixed{ width:100%; max-width:100%; min-height:auto; }
  .s1-head-img{ width: 26%; top: 18px; right: 10px; }
}

/* Small white “bridge” so the ribbon cleanly overlays the top edge */
.s1-card--rib-left::before{
  content:""; position:absolute; left:0; right:0; top:0;
  height:12px; background:#fff;
  border-top-left-radius:var(--s1-r); border-top-right-radius:var(--s1-r);
  z-index:5;
}

/* Ribbon (top-left, over the frame) */
.s1-ribbon{
  position:absolute;
  top:-54px; left:24px; transform:none;
  width:181.5px; height:121px; object-fit:contain;
  pointer-events:none; z-index:10;
  filter: drop-shadow(0 18px 22px rgba(0,0,0,.22));
}
.s1-ribbon-text{
  font-family: "Nuckle", system-ui, sans-serif;
  position: absolute;
  color:#fff;
  top:0%;                   /* move up/down as needed */
  left: 13%;
  right: 8%;
 
  z-index:10;
}
@media (max-width:575.98px){
  .s1-ribbon{ top:-20px; left:16px; width:160px; height:auto; }
  .s1-price-chip{ bottom: 10px; }
  .s1-price-chip__text{ font-size: 20px; }
  .s1-head-img{ width: 46%; top: 18px; right: 10px; }
}

/* Header area */
.s1-head{
  position: relative;
  display: grid;
  flex-direction: column;
  align-items: flex-start;
  gap: 10px;                     /* spacing between title and price */
  padding: 35px 0px 0 0;        /* right padding keeps text clear of corner */
  margin-bottom: 14px;           /* space before the features block */
  z-index: 2;
  background: none;
}
.s1-title{
  margin: 0;                     /* remove old top margin */
  font-weight: 700;
  font-size: 14px;
  line-height: 1.25;
  color: #222;
  font-family:"Nuckle", system-ui, sans-serif;
    text-transform: none !important;
}

.s1-title-strong{  font-weight:800 !important; }   /* STB BOX */
.s1-title-medium{  font-weight:491; }   /* 12 Months Service */

/* Price chip: static (no absolute) so it flows under the title */
.s1-price-chip{
  width: 94px;
  height: 38px;
  border-radius: 15px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: linear-gradient(90deg, #101010 0%, #616161 100%);
  color: #fff;
  box-shadow:
    0 12px 18px rgba(0,0,0,.25),
    inset 0 1px 0 rgba(255,255,255,.08),
    inset 0 -1px 0 rgba(0,0,0,.35);
  z-index: 3;                    /* above the corner background */
}

.s1-price-chip__text{
  font-family: "Poppins", sans-serif;
  font-weight: 800;     
  font-style: normal;   
  font-size: 28px;
  line-height: 16px;    
  letter-spacing: 0;    
  text-align: center;
}

/* Anchor to the card’s top-right; keep the outer radius crisp */
.s1-corner{
    position:absolute; top:0px; right:0;
    width:192.097px; height:78.721px;
    border-top-right-radius:13px; overflow:hidden; pointer-events:none; z-index:5;
    
}

.s1-corner-svg{
  display: block;
  width: 100%;
  height: 100%;
}

.s1-head-img{
  position: absolute;
  top: 20px;                 /* move down from the top edge */
  right: 6px;               /* tuck into the right side */
  width: 220px;              /* tune per asset */
  height: auto;
  z-index: 10;                /* below the corner, above header bg */
  filter: drop-shadow(0 16px 18px rgba(0,0,0,.25));
  pointer-events: none;      /* purely decorative */
}

/* Orange features area */
.s1-features{
  margin-top:50px;
  /* orange gradient like the comp */
  background: linear-gradient(105.42deg, #F6AC25 3.48%, #EF462D 101.52%);
  border-radius: 26px;
  padding: 12px;

  box-shadow:
    inset 0 0 0 1px rgba(255,255,255,.12),
    0 10px 20px rgba(0,0,0,.06);         /* soft lift */
  color:#fff;
}

/* title + highlighted “FREE BOX” tag */
.s1-feat-title{
  margin: 10px 0px 14px 15px;
  font-weight: 500;
  font-size: 16px;
  line-height: 1.15;
  color:#fff;
  font-family: "Poppins", sans-serif;
  text-transform:none;
}
.s1-feat-title .s1-feat-mark{
  display:inline-block;
  padding: 2px 2px;
  margin-left: 2px;
  border-radius: 6px;
}

/* one row (icon + pill) */
.s1-feature{
  height:30px;
  display:flex;
  align-items:center;
  gap: 12px;
  margin: 22px 1px;
  padding:5px 5px;
}

/* left icon */
.s1-feat-ico{
  width: 44px;           /* tune to match your export */
  height: auto;
  filter: drop-shadow(0 2px 3px rgba(0,0,0,.25));
  flex: 0 0 auto;
}

/* white rounded “pill” outline like Figma */
.s1-feature-pill{
    width:210px;
  flex: 1 1 auto;
  border: 1px solid rgba(255,255,255,.95);
  border-radius: 999px;
  padding: 6px 9px;
  font-weight: 700;
  font-size: clamp(14px, .98rem, 18px);
  line-height: 1.2;
  color:#fff;
}


/* Footer */
.s1-foot{padding:30px 0px 0px 0px; margin-top:auto; margin-bottom: 15px; display:flex; justify-content:space-between; align-items:center; background:none;}
.s1-learn{ color:var(--brand); font-weight:700; text-decoration:none; }
.s1-learn:hover{ text-decoration:underline; }
.s1-buy{
  display:inline-block; 
  background: linear-gradient(171.55deg, #616161 6.07%, #616161 59.99%, #343434 129.82%);
  color:#fff; font-weight:800;
  padding:10px 22px; border-radius:12px; text-decoration:none;
  box-shadow:0 10px 18px rgba(0,0,0,.22);
  transition:filter .15s ease, transform .06s ease;
font-weight: 717;
font-style: Bold;
font-size: 15px;
leading-trim: NONE;
line-height: 16px;
letter-spacing: 0%;
text-align: center;

}
.s1-buy:hover{ 
    color:var(--brand);
    filter:brightness(.96); }
.s1-buy:active{ transform:translateY(1px); }
/*================================================*/

/*VIDEO SECTION ================================*/
.hero-video{
  margin : 0;
  position:relative;
  width:100%;
  height:100vh;           /* fallback */
  height:100svh;          /* better on iOS Safari */
}
@supports (height: 100dvh) {
  .hero-video{ height:100dvh; }   /* best on modern browsers */
}
.hero-video__el{
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center;
  display:block;
}

//==============================================

//SECTION 3==============================================
/* full width/height section */
.section-3{
  
  background:#0b0c0e;

/* occupy the viewport without rounding issues */
  min-height:auto;
  display:flex;
  align-items:stretch;
  margin:0 !important;
  padding:0;
  position:relative;     /* stops margin collapse */
  overflow:hidden; 
}
/* @supports (min-height:100dvh){ .section-3{ min-height:100dvh; } } */

/* stretch inner to edges */
.section-3 > .container-fluid{
  flex:1 1 auto; display:flex; align-items:stretch; padding:0;
}

/* the panel spans full width/height; no rounded corners */
.panel-3{
  flex:1 1 auto; display:flex; flex-direction:column; justify-content:center;
  border-radius:0;
  background: radial-gradient(120% 120% at 10% 10%, #1b1c1f 0%, #0f1012 60%) no-repeat,
              linear-gradient(#121316, #0f1012);
  border:1px solid #ffffff14;
  box-shadow: 0 24px 48px rgba(0,0,0,.4) inset, 0 16px 40px rgba(0,0,0,.35);
  color:#e8eaed;
}
.panel-title{ color:#fff; margin-top:40px; }

/* steps */
.steps-3{ width:100%; }
.step-item{ display:flex; gap:14px; align-items:flex-start; padding:12px 8px; }
.step-item.featured{ background:linear-gradient(180deg,#1e2023,#16181a); border:1px solid #ffffff14; border-radius:14px; padding:14px; }
.num{ display:grid; place-items:center; width:44px; height:44px; border-radius:50%; color:#fff; font-weight:800; border:2px solid #FF6A00; background:radial-gradient(circle at 30% 30%, rgba(255,106,0,.25), rgba(255,106,0,.08)); flex:0 0 44px; }
.step-title{ font-weight:800; color:#fff; }
.step-text{ color:#c7cbd1; }
.step-link{ color:#ff7a36; font-weight:700; text-decoration:none; }
.step-link:hover{ text-decoration:underline; }
.divider{ height:1px; margin:10px 0 6px; background:linear-gradient(90deg,transparent,#ffffff1f 10%,#ffffff12 90%,transparent); }

/* headline accent colors */
.head-strap .muted-01{ color:#dfe1e5; opacity:.9; }
.head-strap .accent{ color:#FF6A00; }

/* TV block */
.tv-wrap{ max-width: 960px; }          /* wider since we're full-width */
.tv{ display:block; width:100%; height:auto; border-radius:.75rem; box-shadow:0 24px 48px rgba(0,0,0,.35); }
.cards{ left:6%; bottom:14%; width:74%; pointer-events:none; }

/* remove any sneaky gutters when using g-0 */
.section-3 .row{ --bs-gutter-x: 0; }

/* safety */
html, body{ margin:0; }
body{ overflow-x:hidden; }

@media (max-width: 991.98px){
  .tv-wrap{ max-width:640px; }
  .cards{ width:78%; bottom:12%; left:5%; }
  .head-strap{ text-align:center; }
  .s1-head-img{ width: 56%; top: 30px; right: 0px; }
}
@media (max-width: 575.98px){
  .num{ width:40px; height:40px; }
  .panel-title{ font-size:1.4rem; }
  .s1-head-img{ width: 35%; top: 18px; right: 10px; }
}

//======================================================

.product-container {
  position: relative;

}
.button-pair {
  position: absolute;
  bottom: 10%;       
  display: flex;
  gap: 3.5rem;
  z-index: 1000;
  transform: none;
  border: none;
}
.pair-1 { left: 7%; }
.pair-2 { left: 51.5%; transform: translateX(-50%); }
.pair-3 { left: 96%; transform: translateX(-100%); }

.button-pair .btn {
  padding: 0.5rem 1rem;
  border: 2px solid #333;
  background: transparent;
  border:none;
  color: #333;
  cursor: pointer;
  transition: transform 0.2s;
}

.button-pair .learn {
  border-color: gold;
  color: gold;
  height: 20px;
  min-width: 80px;
  margin-top:4px;
}

.button-pair .buy {
  min-width: 180px;
  border-color: #333;
  color: #333;
  margin-left: 33px;
  min-height: 40px;
  min-width: 180px;
}

.button-pair .btn:hover {
  transform: scale(1.1);
}
