.elementor-280 .elementor-element.elementor-element-29df216{--display:flex;}.elementor-280 .elementor-element.elementor-element-8f15ff7{--display:flex;}/* Start custom CSS *//* ---------- Breadcrumb ---------- */
.breadcrumb{
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:7px;
  font-family:'Montserrat',sans-serif;
  font-size:var(--fs-2xs);
  font-weight:600;
  color:var(--text-faint);
}
.breadcrumb a{ color:var(--text-muted); transition:color .3s var(--ease); }
.breadcrumb a:hover{ color:var(--gold-dark); }
.breadcrumb .sep{ color:var(--border); }
.breadcrumb .current{ color:var(--black); }

/* ---------- Service hero ---------- */
.service-hero{ position:relative; padding:var(--sp-sm) 0 var(--sp-xl); overflow:visible; }
.service-hero-grid{
  display:flex;
  gap:var(--sp-lg);
  align-items:center;
  flex-wrap:wrap;
  padding-top:var(--sp-md);
}
.service-hero-content{
  flex:1 1 480px;
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:var(--sp-xs);
  text-align:left;
}
.service-hero-content h1{ font-size:var(--fs-3xl); line-height:1.08; text-align:left; max-width:640px; }
.service-hero-content .lead{ text-align:left; max-width:560px; line-height:1.5; }
.service-hero-ctas{ display:flex; flex-wrap:wrap; gap:var(--sp-xs); }
.final-cta .wrap{ display:flex; flex-direction:column; align-items:center; text-align:center; gap:var(--sp-sm); }
.service-facts{ display:flex; flex-wrap:wrap; gap:var(--sp-2xs); }

.service-hero-visual{
  flex:0 0 auto;
  margin-left:auto;
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:var(--sp-xs);
}
.service-icon-lg{
  width:clamp(140px, 10vw + 90px, 240px);
  height:clamp(140px, 10vw + 90px, 240px);
  border-radius:var(--radius-lg);
  background:linear-gradient(160deg,var(--cream-alt),var(--paper));
  border:1px solid var(--border-soft);
  box-shadow:var(--shadow-lg);
  display:flex;
  align-items:center;
  justify-content:center;
  overflow:hidden;
}
.service-icon-lg img{ width:68%; height:68%; object-fit:contain; }
.service-hero-visual .chip{ background:var(--black); color:var(--gold-light); border-color:var(--black); }

/* ---------- Sticky quick-nav (table of contents) ---------- */
.service-toc-shell{ position:sticky; top:calc(var(--sp-xs) + 62px); z-index:40; }

/* Scroll hint for service TOC pill nav (swipe indicator) */
.service-toc-shell .wrap{
  position: relative;
}
.service-toc-shell .wrap::after{
  content: "";
  position: absolute;
  top: 6px; right: 0; bottom: 6px;
  width: 40px;
  border-radius: 0 var(--radius-pill) var(--radius-pill) 0;
  background: linear-gradient(to right, rgba(255,255,255,0), rgba(255,255,255,0.96) 60%);
  pointer-events: none;
}
.service-toc-shell .wrap::before{
  content: "\2192";
  position: absolute;
  right: 14px; top: 50%;
  transform: translateY(-50%);
  font-size: 15px;
  font-weight: 700;
  color: var(--gold);
  pointer-events: none;
  z-index: 2;
}

.service-toc{
  display:flex;
  gap:2px;
  overflow-x:auto;
  background:rgba(255,255,255,0.92);
  backdrop-filter:blur(12px);
  -webkit-backdrop-filter:blur(12px);
  border:1px solid var(--border);
  box-shadow:var(--shadow-md);
  border-radius:var(--radius-pill);
  padding:6px;
  scrollbar-width:none;
}
.service-toc::-webkit-scrollbar{ display:none; }
.service-toc a{
  flex:none;
  padding:9px 18px;
  border-radius:var(--radius-pill);
  font-family:'Montserrat',sans-serif;
  font-size:var(--fs-xs);
  font-weight:600;
  color:var(--text-muted);
  white-space:nowrap;
  transition:background .3s var(--ease), color .3s var(--ease);
}
.service-toc a:hover{ background:var(--cream-alt); color:var(--black); }

/* ---------- Two-column layout: content + sticky sidebar ---------- */
.service-layout{ display:flex; gap:var(--sp-lg); align-items:flex-start; }
.service-main{ flex:1 1 620px; min-width:0; display:flex; flex-direction:column; gap:var(--sp-xl); }
.service-sidebar{
  flex:0 0 300px;
  position:sticky;
  top:calc(var(--sp-md) + 118px);
  display:flex;
  flex-direction:column;
  gap:var(--sp-sm);
}

.content-block{ display:flex; flex-direction:column; gap:var(--sp-xs); scroll-margin-top:150px; }
#faqs, #related{ scroll-margin-top:150px; }
.content-block-head{ display:flex; align-items:center; gap:14px; }
.content-block-head .icon-badge{ width:46px; height:46px; flex:none; }
.content-block-head .icon-badge svg{ width:100%; height:100%; padding:11px; color:var(--gold-dark); }
.content-block-head h2{ font-size:var(--fs-lg); }
.content-block-body p{ color:var(--text-muted); font-weight:300; line-height:1.75; }
.content-block-body p + p{ margin-top:var(--sp-xs) !important; }

.content-block-body ul{
  list-style:none;
  margin:0 !important;
  padding:0;
  display:flex;
  flex-wrap:wrap;
  gap:var(--sp-2xs);
}
.content-block-body ul li{
  flex:1 1 250px;
  display:flex;
  align-items:flex-start;
  gap:10px;
  background:var(--paper);
  border:1px solid var(--border);
  border-radius:var(--radius-sm);
  padding:var(--sp-xs);
  font-size:var(--fs-sm);
  color:var(--text-muted);
  line-height:1.5;
}
.content-block-body ul li::before{
  content:"✓";
  flex:none;
  color:var(--gold);
  font-weight:700;
}

.content-block-body ol{
  list-style:none;
  margin:0 !important;
  padding:0;
  counter-reset:step;
  display:flex;
  flex-direction:column;
}
.content-block-body ol li{
  counter-increment:step;
  position:relative;
  display:flex;
  align-items:flex-start;
  gap:var(--sp-sm);
  padding-bottom:var(--sp-md);
  color:var(--text-muted);
  font-weight:300;
  line-height:1.6;
}
.content-block-body ol li:last-child{ padding-bottom:0; }
.content-block-body ol li::before{
  content:counter(step);
  flex:none;
  width:40px; height:40px;
  border-radius:50%;
  background:linear-gradient(135deg,var(--gold-light),var(--gold));
  color:#ffffff;
  display:flex; align-items:center; justify-content:center;
  font-family:'Montserrat',sans-serif;
  font-weight:700;
  font-size:var(--fs-sm);
  box-shadow:var(--shadow-gold);
  position:relative;
  z-index:1;
}
.content-block-body ol li:not(:last-child)::after{
  content:"";
  position:absolute; left:19px; top:42px; bottom:2px;
  width:2px;
  background:linear-gradient(var(--border) 60%, transparent);
}
.content-block-body ol li > *:first-child{ padding-top:7px; }

/* ---------- Documents checklist ---------- */
.doc-grid{ display:flex; flex-wrap:wrap; gap:var(--sp-2xs); }
.doc-item{
  flex:1 1 250px;
  display:flex;
  align-items:flex-start;
  gap:10px;
  background:var(--paper);
  border:1px solid var(--border);
  border-radius:var(--radius-sm);
  padding:var(--sp-xs);
}
.doc-item svg{ flex:none; color:var(--gold); margin-top:1px; }
.doc-item span{ font-size:var(--fs-sm); color:var(--text-muted); line-height:1.5; }

/* ---------- Process & timeline stepper ---------- */
.process-steps{ display:flex; flex-direction:column; }
.process-step{ display:flex; gap:var(--sp-sm); position:relative; padding-bottom:var(--sp-md); }
.process-step:last-child{ padding-bottom:0; }
.process-step::before{
  content:"";
  position:absolute; left:19px; top:42px; bottom:2px;
  width:2px;
  background:linear-gradient(var(--border) 60%, transparent);
}
.process-step:last-child::before{ display:none; }
.step-num{
  flex:none;
  width:40px; height:40px;
  border-radius:50%;
  background:linear-gradient(135deg,var(--gold-light),var(--gold));
  color:#ffffff;
  display:flex; align-items:center; justify-content:center;
  font-family:'Montserrat',sans-serif;
  font-weight:700;
  font-size:var(--fs-sm);
  box-shadow:var(--shadow-gold);
  position:relative;
  z-index:1;
}
.step-body{ padding-top:6px; }
.step-body p{ color:var(--text-muted); font-weight:300; }

/* ---------- Info callout (fees / common uses / eligibility) ---------- */
.info-callout{
  display:flex;
  gap:var(--sp-sm);
  align-items:flex-start;
  background:linear-gradient(160deg,var(--cream-alt),var(--paper));
  border:1px solid var(--border);
  border-radius:var(--radius-md);
  padding:var(--sp-md);
}
.info-callout .icon-badge{ flex:none; width:46px; height:46px; }
.info-callout .icon-badge svg{ width:100%; height:100%; padding:11px; color:var(--gold-dark); }
.info-callout p{ color:var(--text-muted); font-weight:300; }

/* ---------- Why Justsetu callout (dark) ---------- */
.why-callout{
  display:flex;
  gap:var(--sp-sm);
  align-items:flex-start;
  background:linear-gradient(155deg,var(--black-deep),var(--black) 60%);
  border-radius:var(--radius-md);
  padding:var(--sp-md);
}
.why-callout .icon-badge{
  flex:none; width:46px; height:46px;
  background:rgba(249,109,3,0.14);
  border-color:rgba(249,109,3,0.32);
}
.why-callout .icon-badge svg{ width:100%; height:100%; padding:11px; color:var(--gold-light); }
.why-callout h2{ color:#ffffff; font-size:var(--fs-lg); }
.why-callout p{ color:rgba(255,255,255,0.78); font-weight:300; }

/* ---------- Sidebar cards ---------- */
.sidebar-card{
  background:var(--paper);
  border:1px solid var(--border);
  border-radius:var(--radius-md);
  padding:var(--sp-sm);
  box-shadow:var(--shadow-sm);
  display:flex;
  flex-direction:column;
  gap:2px;
}
.sidebar-card h3{
  font-size:var(--fs-2xs);
  font-weight:700;
  letter-spacing:.08em;
  text-transform:uppercase;
  color:var(--text-faint);
  padding-bottom:var(--sp-2xs);
}
.fact-row{
  display:flex;
  justify-content:space-between;
  gap:10px;
  padding:10px 0;
  border-top:1px solid var(--border-soft);
  font-size:var(--fs-sm);
}
.fact-row:first-of-type{ border-top:none; }
.fact-row .label{ color:var(--text-faint); }
.fact-row .value{ color:var(--black); font-weight:600; text-align:right; }

.sidebar-cta{
  background:linear-gradient(155deg,var(--black-deep),var(--black));
  border-radius:var(--radius-md);
  padding:var(--sp-sm);
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:var(--sp-2xs);
  color:#ffffff;
  box-shadow:var(--shadow-lg);
}
.sidebar-cta h3{ font-size:var(--fs-base); color:#ffffff; font-weight:600; }
.sidebar-cta p{ color:rgba(255,255,255,0.72); font-size:var(--fs-xs); font-weight:300; }
.sidebar-cta .btn{ width:100%; margin-top:4px; }
.sidebar-cta .btn-ghost{ background:rgba(255,255,255,0.08); color:#ffffff; border-color:rgba(255,255,255,0.2); }
.sidebar-cta .btn-ghost:hover{ border-color:var(--gold); }

/* ---------- Related services ---------- */
.related-grid{ display:flex; flex-wrap:wrap; gap:var(--sp-xs); }
.related-card{
  flex:0 1 260px;
  display:flex;
  align-items:center;
  gap:12px;
  padding:var(--sp-xs) var(--sp-sm);
}
.related-card .icon-badge-sm{ flex:none; }
.related-card h3{ font-size:var(--fs-sm); }

@media (max-width: 980px){
  .service-hero-visual{ margin-left:0; }
  .service-layout{ flex-direction:column; }
  .service-sidebar{ position:static; width:100%; flex-direction:row; flex-wrap:wrap; }
  .sidebar-card, .sidebar-cta{ flex:1 1 260px; }
}
@media (max-width: 720px){
  .service-hero-grid{ flex-direction:column; align-items:flex-start; }
  .service-hero-visual{ align-self:flex-start; flex-direction:row; }
  .process-step{ gap:var(--sp-xs); }
  .service-sidebar{ flex-direction:column; }
}/* End custom CSS */