:root{
  --ic-brand:#FF7A00;
  --ic-brand-rgb:255,122,0;
  --ic-brand-dark:#C24D00;

  --ic-text:#181818;
  --ic-muted:#6F625B;
  --ic-line:rgba(0,0,0,.08);
  --ic-card:#ffffff;
  --ic-soft:#FFF7EF;
  --ic-warm:rgba(var(--ic-brand-rgb),.06);

  --ic-shadow:0 .25rem .75rem rgba(0,0,0,.06);
  --ic-shadow-soft:0 14px 45px rgba(0,0,0,.07);

  --ic-radius:24px;
  --ic-radius-sm:18px;
  --ic-max:1140px;

  --bs-primary:var(--ic-brand);
  --bs-primary-rgb:var(--ic-brand-rgb);
  --bs-link-color:var(--ic-brand-dark);
  --bs-link-hover-color:#A84200;
  --bs-focus-ring-color:rgba(var(--ic-brand-rgb),.28);
}

html{
  scroll-behavior:smooth;
}

.ic-page{
  margin:0;
  font-family:Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Arial, sans-serif;
  color:var(--ic-text);
  background:#fff;
  line-height:1.6;
  text-rendering:optimizeLegibility;
  -webkit-font-smoothing:antialiased;
}

.ic-page *{
  box-sizing:border-box;
}

.ic-page .container{
  max-width:var(--ic-max);
}

.ic-accent{
  color:var(--ic-brand-dark)!important;
}

/* Primary button theme */
.btn-primary{
  --bs-btn-color:#111;
  --bs-btn-bg:var(--ic-brand);
  --bs-btn-border-color:var(--ic-brand);
  --bs-btn-hover-color:#111;
  --bs-btn-hover-bg:#E56600;
  --bs-btn-hover-border-color:#E56600;
  --bs-btn-active-color:#111;
  --bs-btn-active-bg:#D85A00;
  --bs-btn-active-border-color:#D85A00;
  --bs-btn-focus-shadow-rgb:255,122,0;
}

.ic-page .btn{
  min-height:50px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border-radius:999px;
  font-weight:850!important;
  letter-spacing:-.01em;
}

.ic-page .btn.px-3{
  padding-left:18px!important;
  padding-right:18px!important;
}

.ic-page .btn.px-4{
  padding-left:24px!important;
  padding-right:24px!important;
}

.btn:focus-visible{
  box-shadow:0 0 0 .25rem rgba(var(--ic-brand-rgb),.28)!important;
}

/* Hero */
.ic-hero{
  border-bottom:1px solid rgba(255,255,255,.12);
}

.ic-hero .container{
  padding-top:76px!important;
  padding-bottom:58px!important;
}

.ic-hero .badge{
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:8px 12px!important;
  border-radius:999px;
  font-size:14px;
  font-weight:880!important;
  line-height:1.2;
}

.ic-hero h1{
  margin:18px 0 16px;
  max-width:760px;
  font-size:clamp(42px, 6vw, 70px)!important;
  line-height:.98;
  letter-spacing:-.065em;
  font-weight:950!important;
}

.ic-hero .fs-5{
  max-width:660px;
  font-size:clamp(17px, 2vw, 21px)!important;
  line-height:1.6;
}

.ic-hero .small{
  font-size:14px;
  line-height:1.45;
}

/* Brand mark */
.ic-mark{
  display:inline-block;
  width:10px;
  height:10px;
  background:var(--ic-brand);
  border-radius:3px;
  margin-right:.5rem;
  vertical-align:-1px;
}

/* Simple nav links */
.ic-navlink{
  color:#111;
  text-decoration:none;
  font-weight:760;
  display:inline-flex;
  align-items:center;
  gap:.45rem;
  padding:.25rem .25rem;
  border-radius:.5rem;
  opacity:.9;
}

.ic-navlink:hover{
  text-decoration:underline;
  opacity:1;
}

/* Section bands */
.ic-band{
  padding:64px 0;
}

.ic-band-alt{
  background:rgba(13,110,253,.04);
}

.ic-band-warm{
  background:var(--ic-warm);
}

.ic-band-dark{
  background:#0f1115;
  color:#fff;
}

.ic-band-dark .text-body-secondary{
  color:rgba(255,255,255,.72)!important;
}

.ic-band .h2{
  margin:8px 0 12px;
  font-size:clamp(30px, 4vw, 48px)!important;
  line-height:1.04;
  letter-spacing:-.055em;
  font-weight:950!important;
}

.ic-band .h3{
  margin:0 0 10px;
  font-size:clamp(24px, 3vw, 34px)!important;
  line-height:1.08;
  letter-spacing:-.04em;
  font-weight:900!important;
}

.ic-band .text-body-secondary{
  color:var(--ic-muted)!important;
  font-size:17px;
  line-height:1.6;
}

.ic-band .fw-bold{
  letter-spacing:-.015em;
}

/* Cards */
.ic-page .card,
.ic-why-card,
.ic-shot{
  border:1px solid var(--ic-line)!important;
  border-radius:var(--ic-radius)!important;
  background:var(--ic-card);
  box-shadow:var(--ic-shadow)!important;
}

.ic-page .card-body{
  padding:26px!important;
}

.ic-page .rounded-4{
  border-radius:var(--ic-radius)!important;
}

.ic-shot{
  overflow:hidden;
}

.ic-shot img{
  width:100%;
  height:auto;
  display:block;
}

.ic-shot-ph{
  min-height:260px;
  display:flex;
  align-items:center;
  justify-content:center;
  background:linear-gradient(135deg, rgba(13,110,253,.06), rgba(var(--ic-brand-rgb),.08));
}

.ic-shot-ph .ic-iconball{
  width:56px;
  height:56px;
  flex:0 0 56px;
}

/* Icon background */
.ic-iconball{
  width:44px;
  height:44px;
  border-radius:999px;
  flex:0 0 44px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  font-size:18px;
}

.ic-why-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:18px;
}

.ic-why-card{
  height:100%;
}

.ic-why-card .card-body{
  padding:26px!important;
}

.ic-why-title{
  margin:0 0 8px;
  font-size:20px;
  line-height:1.18;
  letter-spacing:-.025em;
  font-weight:900;
  color:#111;
}

.ic-why-desc{
  color:var(--ic-muted);
  font-size:16px;
  line-height:1.6;
  margin-bottom:0;
}

.ic-why-icon{
  width:48px;
  height:48px;
  border-radius:16px;
  flex:0 0 48px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  background:rgba(var(--ic-brand-rgb),.12);
  color:var(--ic-brand-dark);
  font-size:20px;
}

/* Claim link */
.ic-claim{
  border:1px solid rgba(255,255,255,.22);
  background:rgba(255,255,255,.08);
  border-radius:999px;
  padding:.35rem;
  backdrop-filter:blur(12px);
}

.ic-claim .form-control{
  border:0!important;
  box-shadow:none!important;
  background:transparent!important;
  color:#fff!important;
}

.ic-claim .form-control::placeholder{
  color:rgba(255,255,255,.65);
}

.ic-claim .input-group-text{
  border:0!important;
  background:transparent!important;
  color:rgba(255,255,255,.85);
  font-weight:800;
}

.ic-claim .btn{
  border-radius:999px;
}

.ic-claim-group{
  flex-wrap:nowrap;
}

.ic-claim-group > .input-group-text{
  flex:0 0 auto;
  white-space:nowrap;
}

.ic-claim-group > .form-control{
  flex:1 1 180px;
  width:1%;
  min-width:120px;
}

.ic-claim-group > .btn{
  flex:0 0 auto;
  white-space:nowrap;
}

.ic-claim-group.input-group-lg > .input-group-text,
.ic-claim-group.input-group-lg > .form-control{
  min-height:52px;
  font-size:16px;
}

.ic-claim-group.input-group-lg > .btn{
  min-height:52px;
  font-size:16px;
}

/* FAQ */
.accordion-item{
  border:1px solid var(--ic-line)!important;
  border-radius:20px!important;
  box-shadow:var(--ic-shadow)!important;
}

.accordion-button{
  font-size:17px;
  line-height:1.35;
  font-weight:850!important;
  padding:20px 22px;
}

.accordion-body{
  padding:0 22px 22px;
  font-size:16px;
  line-height:1.6;
}

.accordion-button:focus{
  box-shadow:0 0 0 .25rem rgba(var(--ic-brand-rgb),.18);
}

@media (max-width:991.98px){
  .ic-hero .container{
    padding-top:56px!important;
    padding-bottom:46px!important;
  }

  .ic-why-grid{
    grid-template-columns:1fr;
  }

  .ic-band .h2{
    max-width:760px;
  }
}

@media (max-width:575.98px){
  .ic-page .container{
    width:min(100% - 22px, var(--ic-max));
  }

  .ic-hero .container{
    padding-top:42px!important;
    padding-bottom:42px!important;
  }

  .ic-hero h1{
    font-size:clamp(38px, 12vw, 52px)!important;
    letter-spacing:-.06em;
  }

  .ic-hero .fs-5{
    font-size:17px!important;
  }

  .ic-band{
    padding:48px 0;
  }

  .ic-page .card-body,
  .ic-why-card .card-body{
    padding:22px!important;
  }

  .ic-why-icon{
    width:44px;
    height:44px;
    flex-basis:44px;
    border-radius:14px;
  }

  .ic-why-title{
    font-size:18px;
  }

  .ic-band .text-body-secondary{
    font-size:16px;
  }

  .ic-page .btn{
    width:100%;
    min-height:50px;
  }

  .ic-claim{
    border-radius:24px;
    padding:.5rem;
  }

  .ic-claim-group{
    flex-wrap:wrap!important;
  }

  .ic-claim-group > .btn{
    flex:0 0 100%;
    width:100%;
    margin-top:.5rem;
    border-radius:999px!important;
  }

  .ic-claim-group > .input-group-text{
    border-top-left-radius:999px!important;
    border-bottom-left-radius:999px!important;
    border-top-right-radius:0!important;
    border-bottom-right-radius:0!important;
  }

  .ic-claim-group > .form-control{
    border-top-right-radius:999px!important;
    border-bottom-right-radius:999px!important;
    border-top-left-radius:0!important;
    border-bottom-left-radius:0!important;
    min-width:0!important;
  }

  .ic-claim-group.input-group-lg > .input-group-text,
  .ic-claim-group.input-group-lg > .form-control{
    padding-top:.65rem;
    padding-bottom:.65rem;
    font-size:1rem;
  }

  .ic-claim-group.input-group-lg > .btn{
    padding-top:.75rem;
    padding-bottom:.75rem;
    font-size:1rem;
  }
}

/* Plan landing CTA override */
.ic-page .ic-plan-cta-card{
  position:relative;
  overflow:hidden;
  background:#111827!important;
  color:#fff!important;
  border:0!important;
  box-shadow:var(--ic-shadow-soft)!important;
}

.ic-page .ic-plan-cta-card::before{
  content:"";
  position:absolute;
  width:180px;
  height:180px;
  right:-48px;
  top:-48px;
  border-radius:999px;
  background:rgba(var(--ic-brand-rgb),.18);
  pointer-events:none;
}

.ic-page .ic-plan-cta-card::after{
  content:"";
  position:absolute;
  width:120px;
  height:120px;
  left:-36px;
  bottom:-42px;
  border-radius:999px;
  background:rgba(255,255,255,.06);
  pointer-events:none;
}

.ic-page .ic-plan-cta-card .card-body{
  position:relative;
  z-index:2;
}

.ic-page .ic-plan-cta-card .h2,
.ic-page .ic-plan-cta-card .text-white{
  color:#fff!important;
}

.ic-page .ic-plan-cta-card .text-body-secondary{
  color:rgba(255,255,255,.74)!important;
}

.ic-page .ic-plan-cta-card .btn-outline-light{
  color:#fff!important;
  border-color:rgba(255,255,255,.36)!important;
  background:transparent!important;
}

.ic-page .ic-plan-cta-card .btn-outline-light:hover{
  color:#111!important;
  background:#fff!important;
  border-color:#fff!important;
}