/*
 * IBA Pro — Service Experience Layer
 * Version 5.2.0
 * Additive, service-scoped visual layer. The preserved assets/css/iba.css is not modified.
 */

/* =========================================================
   1. SERVICE DETAIL — EDITORIAL HERO + CONTENT RHYTHM
========================================================= */
.iba-main--service{
  --iba-service-shadow:0 26px 80px rgba(13,36,54,.12);
  --iba-service-shadow-hover:0 34px 90px rgba(13,36,54,.18);
  --iba-service-border:color-mix(in srgb,var(--iba-blue) 14%,#dfe7ed);
  overflow:clip;
}

.iba-main--service .iba-detail-hero{
  isolation:isolate;
  padding-block:clamp(78px,9vw,138px);
  border-bottom:0;
  background:
    radial-gradient(circle at 9% 15%,rgba(237,130,35,.18),transparent 24rem),
    radial-gradient(circle at 90% 82%,rgba(29,138,68,.12),transparent 28rem),
    linear-gradient(135deg,#f8fbfe 0%,#fff 52%,#f4faf6 100%);
}
.iba-main--service .iba-detail-hero::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:-2;
  opacity:.48;
  background-image:
    linear-gradient(rgba(29,92,155,.055) 1px,transparent 1px),
    linear-gradient(90deg,rgba(29,92,155,.055) 1px,transparent 1px);
  background-size:52px 52px;
  mask-image:linear-gradient(to bottom,rgba(0,0,0,.75),transparent 88%);
}
.iba-main--service .iba-detail-hero::after{
  content:"";
  position:absolute;
  width:460px;
  aspect-ratio:1;
  right:-190px;
  top:-170px;
  z-index:-1;
  border:1px solid rgba(29,92,155,.14);
  border-radius:50%;
  box-shadow:
    0 0 0 58px rgba(29,92,155,.035),
    0 0 0 118px rgba(237,130,35,.025);
}
.iba-main--service .iba-detail-hero__grid{position:relative}
.iba-main--service .iba-detail-hero__content{position:relative;z-index:2}
.iba-main--service .iba-detail-hero__content .iba-eyebrow{
  display:inline-flex;
  align-items:center;
  gap:9px;
  width:max-content;
  margin-bottom:20px;
  padding:9px 13px;
  border:1px solid rgba(237,130,35,.22);
  border-radius:999px;
  background:rgba(255,255,255,.72);
  box-shadow:0 8px 28px rgba(13,36,54,.06);
  backdrop-filter:blur(12px);
  -webkit-backdrop-filter:blur(12px);
}
.iba-main--service .iba-detail-hero__content .iba-eyebrow::before{
  content:"";
  width:7px;
  height:7px;
  border-radius:50%;
  background:var(--iba-orange);
  box-shadow:0 0 0 5px rgba(237,130,35,.12);
}
.iba-main--service .iba-detail-hero__content h1{
  max-width:13ch;
  text-wrap:balance;
  letter-spacing:-.058em;
  line-height:.96;
}
.iba-main--service .iba-detail-hero__lead{
  max-width:62ch;
  color:color-mix(in srgb,var(--iba-ink) 72%,#fff);
  font-size:clamp(1.05rem,1.5vw,1.28rem);
  line-height:1.72;
}
.iba-main--service .iba-detail-hero__media{
  isolation:isolate;
  transform:rotate(1deg);
  transition:transform .65s var(--iba-ease);
}
.iba-main--service .iba-detail-hero__media::before{
  inset:8% -5% -7% 10%;
  background:linear-gradient(135deg,var(--iba-orange),var(--iba-green));
  opacity:.14;
  filter:saturate(1.1);
  transform:rotate(4deg);
}
.iba-main--service .iba-detail-hero__media::after{
  content:"";
  position:absolute;
  inset:18px;
  z-index:2;
  pointer-events:none;
  border:1px solid rgba(255,255,255,.48);
  border-radius:calc(var(--iba-radius-lg) - 8px);
}
.iba-main--service .iba-detail-hero__media img{
  aspect-ratio:5/4;
  box-shadow:0 35px 90px rgba(13,36,54,.2);
}
@media(hover:hover) and (pointer:fine){
  .iba-main--service .iba-detail-hero__media:hover{transform:rotate(0) translateY(-6px)}
}
.iba-main--service > .iba-service-single > .iba-entry-content{
  position:relative;
  padding-block:clamp(58px,7vw,100px);
  font-size:clamp(1rem,1.15vw,1.08rem);
  line-height:1.82;
}
.iba-main--service > .iba-service-single > .iba-entry-content::before{
  content:"";
  position:absolute;
  top:0;
  left:0;
  width:76px;
  height:4px;
  border-radius:999px;
  background:linear-gradient(90deg,var(--iba-orange),var(--iba-green));
}

/* CTA buttons — richer interaction while keeping existing button component */
.iba-main--service .iba-service-ctas{gap:14px;margin-top:30px}
.iba-main--service .iba-service-ctas .iba-btn{
  position:relative;
  isolation:isolate;
  overflow:hidden;
  min-height:54px;
  padding-inline:20px;
  border-radius:999px;
  box-shadow:0 12px 30px rgba(13,36,54,.09);
}
.iba-main--service .iba-service-ctas .iba-btn::before{
  content:"";
  position:absolute;
  inset:-2px;
  z-index:-1;
  transform:translateX(-115%) skewX(-18deg);
  background:linear-gradient(100deg,transparent,rgba(255,255,255,.34),transparent);
  transition:transform .72s var(--iba-ease);
}
.iba-main--service .iba-service-ctas .iba-btn:hover::before{transform:translateX(115%) skewX(-18deg)}
.iba-main--service .iba-service-ctas .iba-btn svg{transition:transform .28s var(--iba-ease)}
.iba-main--service .iba-service-ctas .iba-btn:hover svg{transform:translateX(4px)}

/* =========================================================
   2. SHARED SERVICE SECTION LANGUAGE
========================================================= */
.iba-service-section{
  position:relative;
  isolation:isolate;
  overflow:clip;
  padding-block:clamp(72px,8.8vw,132px);
}
.iba-service-section__title{
  position:relative;
  max-width:820px;
  margin-bottom:clamp(34px,4.4vw,58px);
  padding-top:18px;
  font-size:clamp(2rem,3.5vw,3.45rem);
  line-height:1.04;
  letter-spacing:-.052em;
  text-wrap:balance;
}
.iba-service-section__title::before{
  content:"";
  position:absolute;
  top:0;
  left:0;
  width:64px;
  height:4px;
  border-radius:999px;
  background:linear-gradient(90deg,var(--iba-orange),var(--iba-green));
}
.iba-service-section .iba-container{position:relative;z-index:2}

/* Shared premium card surface */
.iba-structured-card{
  --card-accent:var(--iba-orange);
  --spot-x:50%;
  --spot-y:50%;
  isolation:isolate;
  min-height:100%;
  overflow:hidden;
  padding:clamp(28px,3vw,40px);
  border:1px solid var(--iba-service-border);
  border-radius:clamp(20px,2vw,28px);
  background:rgba(255,255,255,.9);
  box-shadow:0 16px 46px rgba(13,36,54,.07);
  transition:
    transform .42s var(--iba-ease),
    border-color .34s ease,
    box-shadow .42s var(--iba-ease),
    background-color .34s ease;
}
.iba-structured-card::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:-2;
  opacity:0;
  background:radial-gradient(300px circle at var(--spot-x) var(--spot-y),color-mix(in srgb,var(--card-accent) 16%,transparent),transparent 66%);
  transition:opacity .35s ease;
}
.iba-structured-card::after{
  content:"";
  position:absolute;
  left:0;
  right:0;
  bottom:0;
  height:4px;
  z-index:2;
  transform:scaleX(.2);
  transform-origin:left;
  background:linear-gradient(90deg,var(--card-accent),color-mix(in srgb,var(--card-accent) 42%,var(--iba-green)));
  opacity:.45;
  transition:transform .42s var(--iba-ease),opacity .3s ease;
}
.iba-structured-card h3{
  position:relative;
  z-index:2;
  margin:0 0 12px;
  font-size:clamp(1.16rem,1.55vw,1.4rem);
  line-height:1.28;
  letter-spacing:-.025em;
}
.iba-structured-card p{position:relative;z-index:2;margin:0;color:var(--iba-muted);line-height:1.72}
.iba-structured-card__index{
  display:grid;
  place-items:center;
  width:48px;
  height:48px;
  margin-bottom:26px;
  border:1px solid color-mix(in srgb,var(--card-accent) 22%,var(--iba-line));
  border-radius:15px;
  background:color-mix(in srgb,var(--card-accent) 9%,#fff);
  color:var(--card-accent);
  font-size:.78rem;
  font-weight:900;
  letter-spacing:.08em;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.72);
}
@media(hover:hover) and (pointer:fine){
  .iba-structured-card:hover{
    transform:translateY(-10px);
    border-color:color-mix(in srgb,var(--card-accent) 34%,var(--iba-line));
    box-shadow:var(--iba-service-shadow-hover);
  }
  .iba-structured-card:hover::before{opacity:1}
  .iba-structured-card:hover::after{transform:scaleX(1);opacity:1}
}

/* =========================================================
   3. BENEFITS — LIGHT, TRUST-BUILDING CARDS
========================================================= */
.iba-service-section.iba-service-section--benefits{
  background:
    radial-gradient(circle at 92% 12%,rgba(237,130,35,.08),transparent 28rem),
    linear-gradient(180deg,#fff,#fbfcfd);
}
.iba-service-section--benefits::after{
  content:"";
  position:absolute;
  right:-130px;
  bottom:-210px;
  width:460px;
  aspect-ratio:1;
  border:1px solid rgba(237,130,35,.12);
  border-radius:50%;
  box-shadow:0 0 0 52px rgba(237,130,35,.026),0 0 0 104px rgba(29,138,68,.02);
}
.iba-service-section--benefits .iba-structured-card:nth-child(3n+2){--card-accent:var(--iba-blue)}
.iba-service-section--benefits .iba-structured-card:nth-child(3n+3){--card-accent:var(--iba-green)}
.iba-service-section--benefits .iba-structured-card__index::before{content:"✓";font-size:1.08rem;letter-spacing:0}
.iba-service-section--benefits .iba-structured-card__index{font-size:0}

/* =========================================================
   4. CAPABILITIES — DEEP-BLUE GLASS PANEL
========================================================= */
.iba-service-section.iba-service-section--capabilities{
  color:#fff;
  background:
    radial-gradient(circle at 12% 15%,rgba(237,130,35,.24),transparent 25rem),
    radial-gradient(circle at 88% 90%,rgba(29,138,68,.25),transparent 28rem),
    linear-gradient(135deg,#0b2843 0%,#123b62 52%,#0d3150 100%);
}
.iba-service-section--capabilities::before{
  content:"";
  position:absolute;
  inset:0;
  opacity:.18;
  background-image:linear-gradient(rgba(255,255,255,.12) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.12) 1px,transparent 1px);
  background-size:64px 64px;
  mask-image:radial-gradient(circle at 50% 50%,black,transparent 78%);
}
.iba-service-section--capabilities .iba-service-section__title{color:#fff}
.iba-service-section--capabilities .iba-service-section__title::before{background:linear-gradient(90deg,var(--iba-orange),#f6bc6e)}
.iba-service-section--capabilities .iba-structured-card{
  --card-accent:#f2a352;
  border-color:rgba(255,255,255,.13);
  background:linear-gradient(145deg,rgba(255,255,255,.115),rgba(255,255,255,.055));
  box-shadow:0 18px 55px rgba(0,0,0,.15);
  backdrop-filter:blur(14px);
  -webkit-backdrop-filter:blur(14px);
}
.iba-service-section--capabilities .iba-structured-card:nth-child(3n+2){--card-accent:#75b7f5}
.iba-service-section--capabilities .iba-structured-card:nth-child(3n+3){--card-accent:#65ca88}
.iba-service-section--capabilities .iba-structured-card h3{color:#fff}
.iba-service-section--capabilities .iba-structured-card p{color:rgba(255,255,255,.72)}
.iba-service-section--capabilities .iba-structured-card__index{
  border-color:rgba(255,255,255,.16);
  background:rgba(255,255,255,.09);
  color:#fff;
}
.iba-service-section--capabilities .iba-structured-card::before{background:radial-gradient(340px circle at var(--spot-x) var(--spot-y),rgba(255,255,255,.15),transparent 68%)}
@media(hover:hover) and (pointer:fine){
  .iba-service-section--capabilities .iba-structured-card:hover{border-color:rgba(255,255,255,.29);background:linear-gradient(145deg,rgba(255,255,255,.15),rgba(255,255,255,.075))}
}

/* =========================================================
   5. PROCESS — VISUAL JOURNEY / CONNECTED STEPS
========================================================= */
.iba-service-section.iba-service-section--process{
  background:
    linear-gradient(135deg,rgba(237,130,35,.055),transparent 45%),
    #fffaf5;
}
.iba-service-section--process .iba-service-structured-grid{position:relative;gap:clamp(18px,2.5vw,30px)}
.iba-service-section--process .iba-service-structured-grid::before{
  content:"";
  position:absolute;
  top:58px;
  left:8%;
  right:8%;
  height:2px;
  z-index:0;
  background:linear-gradient(90deg,rgba(237,130,35,.18),rgba(29,92,155,.24),rgba(29,138,68,.18));
}
.iba-service-section--process .iba-structured-card{
  --card-accent:var(--iba-orange);
  z-index:1;
  padding-top:34px;
  background:rgba(255,255,255,.93);
}
.iba-service-section--process .iba-structured-card:nth-child(3n+2){--card-accent:var(--iba-blue)}
.iba-service-section--process .iba-structured-card:nth-child(3n+3){--card-accent:var(--iba-green)}
.iba-service-section--process .iba-step-number{
  display:grid;
  place-items:center;
  width:54px;
  height:54px;
  margin:-7px 0 26px;
  border:6px solid #fffaf5;
  border-radius:50%;
  background:var(--card-accent);
  color:#fff;
  box-shadow:0 10px 24px color-mix(in srgb,var(--card-accent) 24%,transparent);
  font-size:.82rem;
  line-height:1;
}
.iba-service-section--process .iba-structured-card__index{display:none}

/* =========================================================
   6. STATS — BRAND GRADIENT PROOF BAND
========================================================= */
.iba-service-section.iba-service-section--stats{
  color:#fff;
  background:
    radial-gradient(circle at 18% 10%,rgba(237,130,35,.28),transparent 22rem),
    radial-gradient(circle at 85% 85%,rgba(29,138,68,.28),transparent 25rem),
    linear-gradient(120deg,#0b2944 0%,#164a76 57%,#103b5e 100%);
}
.iba-service-section--stats::after{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:linear-gradient(105deg,transparent 0 42%,rgba(255,255,255,.035) 42% 43%,transparent 43% 100%);
}
.iba-service-section--stats .iba-service-section__title{color:#fff}
.iba-service-stats{
  gap:14px;
  border:0;
  border-radius:0;
  background:transparent;
  overflow:visible;
}
.iba-service-stat{
  position:relative;
  overflow:hidden;
  min-height:180px;
  align-content:end;
  padding:clamp(26px,3vw,42px);
  border:1px solid rgba(255,255,255,.13)!important;
  border-radius:24px;
  background:rgba(255,255,255,.075);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.08),0 18px 48px rgba(0,0,0,.12);
  backdrop-filter:blur(12px);
  -webkit-backdrop-filter:blur(12px);
  transition:transform .4s var(--iba-ease),background-color .3s ease,border-color .3s ease;
}
.iba-service-stat::before{
  content:"";
  position:absolute;
  width:130px;
  aspect-ratio:1;
  top:-72px;
  right:-56px;
  border:1px solid rgba(255,255,255,.13);
  border-radius:50%;
  box-shadow:0 0 0 24px rgba(255,255,255,.025);
}
.iba-service-stat strong{
  position:relative;
  color:#fff;
  font-size:clamp(2.35rem,4.4vw,4.4rem);
  font-weight:900;
  letter-spacing:-.06em;
}
.iba-service-stat span{position:relative;color:rgba(255,255,255,.69);font-size:.88rem;font-weight:720;letter-spacing:.025em}
@media(hover:hover) and (pointer:fine){
  .iba-service-stat:hover{transform:translateY(-7px);border-color:rgba(255,255,255,.26)!important;background:rgba(255,255,255,.105)}
}

/* =========================================================
   7. GALLERY — BENTO + LIGHTBOX
========================================================= */
.iba-service-section.iba-service-section--gallery{
  background:
    radial-gradient(circle at 82% 15%,rgba(29,92,155,.08),transparent 24rem),
    #f8fafc;
}
.iba-service-gallery{gap:clamp(12px,1.5vw,20px)}
.iba-service-gallery__item{
  position:relative;
  display:block;
  grid-column:span 4;
  height:320px;
  overflow:hidden;
  border-radius:clamp(18px,2vw,28px);
  background:#dce5ec;
  box-shadow:0 14px 42px rgba(13,36,54,.09);
  cursor:zoom-in;
}
.iba-service-gallery__item:nth-child(5n+1){grid-column:span 8;height:430px}
.iba-service-gallery__item:nth-child(5n+2){height:430px}
.iba-service-gallery__item::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:2;
  background:linear-gradient(to top,rgba(7,25,41,.36),transparent 48%);
  opacity:.18;
  transition:opacity .35s ease;
}
.iba-service-gallery__item::after{
  content:"↗";
  position:absolute;
  right:18px;
  bottom:18px;
  z-index:3;
  display:grid;
  place-items:center;
  width:48px;
  height:48px;
  border:1px solid rgba(255,255,255,.34);
  border-radius:50%;
  background:rgba(12,37,57,.54);
  color:#fff;
  font-size:1.2rem;
  line-height:1;
  opacity:0;
  transform:translateY(8px) scale(.92);
  backdrop-filter:blur(10px);
  -webkit-backdrop-filter:blur(10px);
  transition:opacity .32s ease,transform .38s var(--iba-ease),background-color .25s ease;
}
.iba-service-gallery__item img{width:100%!important;height:100%!important;object-fit:cover;border-radius:0!important;transition:transform .75s var(--iba-ease),filter .45s ease}
@media(hover:hover) and (pointer:fine){
  .iba-service-gallery__item:hover::before{opacity:.72}
  .iba-service-gallery__item:hover::after{opacity:1;transform:none}
  .iba-service-gallery__item:hover img{transform:scale(1.055);filter:saturate(1.06) contrast(1.02)}
}

.iba-service-lightbox{
  width:min(94vw,1280px);
  max-width:none;
  padding:0;
  border:0;
  border-radius:26px;
  overflow:hidden;
  background:#081c2d;
  color:#fff;
  box-shadow:0 40px 120px rgba(0,0,0,.46);
}
.iba-service-lightbox::backdrop{background:rgba(5,17,28,.82);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}
.iba-service-lightbox__shell{position:relative;display:grid;min-height:min(82vh,820px);place-items:center;padding:clamp(18px,3vw,40px)}
.iba-service-lightbox__figure{display:grid;place-items:center;gap:14px;width:100%;height:100%;margin:0}
.iba-service-lightbox__image{display:block;max-width:100%;max-height:72vh;border-radius:18px;object-fit:contain;box-shadow:0 24px 80px rgba(0,0,0,.28)}
.iba-service-lightbox__caption{min-height:1.2em;color:rgba(255,255,255,.72);font-size:.9rem;text-align:center}
.iba-service-lightbox__close,.iba-service-lightbox__nav{
  position:absolute;
  z-index:5;
  display:grid;
  place-items:center;
  border:1px solid rgba(255,255,255,.16);
  background:rgba(255,255,255,.08);
  color:#fff;
  cursor:pointer;
  backdrop-filter:blur(12px);
  -webkit-backdrop-filter:blur(12px);
  transition:background-color .25s ease,transform .25s var(--iba-ease),border-color .25s ease;
}
.iba-service-lightbox__close{top:18px;right:18px;width:46px;height:46px;border-radius:50%;font-size:1.45rem}
.iba-service-lightbox__nav{top:50%;width:50px;height:64px;border-radius:16px;transform:translateY(-50%);font-size:1.35rem}
.iba-service-lightbox__prev{left:18px}.iba-service-lightbox__next{right:18px}
.iba-service-lightbox__close:hover,.iba-service-lightbox__nav:hover{border-color:rgba(255,255,255,.32);background:rgba(255,255,255,.16)}
.iba-service-lightbox__nav:hover{transform:translateY(-50%) scale(1.04)}

/* =========================================================
   8. DOWNLOADS — RESOURCE CARDS
========================================================= */
.iba-service-section.iba-service-section--downloads{background:#fff}
.iba-download-list{gap:18px}
.iba-download-card{
  position:relative;
  isolation:isolate;
  min-height:92px;
  overflow:hidden;
  padding:20px 22px 20px 20px;
  border-color:var(--iba-service-border);
  border-radius:20px;
  box-shadow:0 12px 34px rgba(13,36,54,.055);
  transition:transform .38s var(--iba-ease),box-shadow .38s var(--iba-ease),border-color .3s ease;
}
.iba-download-card::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:-1;
  transform:scaleX(0);
  transform-origin:left;
  background:linear-gradient(90deg,rgba(237,130,35,.075),rgba(29,138,68,.045));
  transition:transform .42s var(--iba-ease);
}
.iba-download-card__meta{display:flex;align-items:center;gap:15px;min-width:0}
.iba-download-card__type{
  display:grid;
  place-items:center;
  flex:0 0 52px;
  width:52px;
  height:52px;
  border-radius:15px;
  background:linear-gradient(145deg,var(--iba-orange),#f2a45e);
  color:#fff;
  font-size:.68rem;
  font-weight:900;
  letter-spacing:.08em;
  box-shadow:0 10px 24px rgba(237,130,35,.2);
}
.iba-download-card__label{min-width:0;line-height:1.35}
.iba-download-card>svg{flex:0 0 22px;width:22px;height:22px}
@media(hover:hover) and (pointer:fine){
  .iba-download-card:hover{transform:translateY(-6px);border-color:rgba(237,130,35,.38);box-shadow:0 22px 56px rgba(13,36,54,.11)}
  .iba-download-card:hover::before{transform:scaleX(1)}
}

/* =========================================================
   9. FAQ — CARD ACCORDION
========================================================= */
.iba-service-section.iba-service-section--faq{
  background:
    radial-gradient(circle at 12% 10%,rgba(29,92,155,.075),transparent 22rem),
    linear-gradient(180deg,#f7fafc,#f2f7fb);
}
.iba-service-section--faq .iba-content-narrow{max-width:960px}
.iba-service-accordion{display:grid;gap:13px;border-top:0}
.iba-service-accordion__item{
  overflow:hidden;
  border:1px solid var(--iba-service-border);
  border-radius:18px;
  background:rgba(255,255,255,.9);
  box-shadow:0 9px 28px rgba(13,36,54,.045);
  transition:border-color .28s ease,box-shadow .32s var(--iba-ease),transform .32s var(--iba-ease),background-color .28s ease;
}
.iba-service-accordion__item h3{margin:0}
.iba-service-accordion__button{
  gap:22px;
  padding:22px 24px;
  font-size:clamp(1rem,1.25vw,1.12rem);
  line-height:1.45;
}
.iba-service-accordion__button>span:last-child{
  display:grid;
  place-items:center;
  flex:0 0 38px;
  width:38px;
  height:38px;
  border-radius:50%;
  background:rgba(237,130,35,.09);
  color:var(--iba-orange);
  font-size:1.25rem;
  transition:transform .34s var(--iba-ease),background-color .25s ease,color .25s ease;
}
.iba-service-accordion__button[aria-expanded="true"]>span:last-child{transform:rotate(45deg);background:var(--iba-orange);color:#fff}
.iba-service-accordion__panel{padding:0 74px 24px 24px;color:var(--iba-text)}
.iba-service-accordion__panel p{line-height:1.72}
.iba-service-accordion__item:has(.iba-service-accordion__button[aria-expanded="true"]){border-color:rgba(237,130,35,.28);background:#fff;box-shadow:0 18px 52px rgba(13,36,54,.08)}
@media(hover:hover) and (pointer:fine){
  .iba-service-accordion__item:hover{transform:translateY(-2px);border-color:rgba(29,92,155,.22);box-shadow:0 14px 38px rgba(13,36,54,.075)}
}

/* =========================================================
   10. LEAD PANEL — CONVERSION MOMENT
========================================================= */
.iba-main--service .iba-service-lead-panel{
  position:relative;
  overflow:clip;
  padding-block:clamp(70px,8vw,120px);
  background:#fff;
}
.iba-main--service .iba-service-lead-panel .iba-lead-panel__inner{
  position:relative;
  isolation:isolate;
  overflow:hidden;
  padding:clamp(28px,4.5vw,58px);
  border:1px solid rgba(29,92,155,.16);
  border-radius:clamp(22px,2.4vw,34px);
  background:
    radial-gradient(circle at 100% 0,rgba(237,130,35,.16),transparent 21rem),
    linear-gradient(145deg,#f9fcff,#f5faf6);
  box-shadow:0 28px 85px rgba(13,36,54,.1);
}
.iba-main--service .iba-service-lead-panel .iba-lead-panel__inner::after{
  content:"";
  position:absolute;
  width:260px;
  aspect-ratio:1;
  right:-115px;
  bottom:-145px;
  z-index:-1;
  border:1px solid rgba(29,138,68,.15);
  border-radius:50%;
  box-shadow:0 0 0 42px rgba(29,138,68,.025);
}
.iba-main--service .iba-service-lead-panel h2{max-width:18ch;font-size:clamp(1.85rem,3vw,3rem);letter-spacing:-.045em;text-wrap:balance}

/* =========================================================
   11. RELATED / DIRECTORY SERVICE CARDS — PREMIUM INTERACTION
========================================================= */
.iba-service-section.iba-service-section--related{
  background:
    radial-gradient(circle at 90% 12%,rgba(237,130,35,.09),transparent 24rem),
    linear-gradient(180deg,#f6f9fc,#eef5fa);
}
.iba-service-card{
  --spot-x:50%;
  --spot-y:50%;
  position:relative;
  isolation:isolate;
  border-color:rgba(29,92,155,.12);
  border-radius:26px;
  background:#fff;
  box-shadow:0 16px 48px rgba(13,36,54,.075);
  transition:transform .44s var(--iba-ease),box-shadow .44s var(--iba-ease),border-color .32s ease;
}
.iba-service-card::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:1;
  pointer-events:none;
  opacity:0;
  background:radial-gradient(320px circle at var(--spot-x) var(--spot-y),rgba(237,130,35,.10),transparent 64%);
  transition:opacity .32s ease;
}
.iba-service-card::after{
  content:"";
  position:absolute;
  left:22px;
  right:22px;
  bottom:0;
  z-index:3;
  height:4px;
  border-radius:999px 999px 0 0;
  transform:scaleX(.22);
  transform-origin:left;
  background:linear-gradient(90deg,var(--iba-orange),var(--iba-green));
  opacity:.6;
  transition:transform .42s var(--iba-ease),opacity .3s ease;
}
.iba-service-card .iba-card__media{
  position:relative;
  z-index:0;
  aspect-ratio:16/9;
  margin:10px 10px 0;
  border-radius:19px;
}
.iba-service-card .iba-card__media::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:2;
  pointer-events:none;
  background:linear-gradient(to top,rgba(7,28,45,.30),transparent 55%);
  opacity:.42;
  transition:opacity .35s ease;
}
.iba-service-card .iba-card__media img{transition:transform .72s var(--iba-ease),filter .45s ease}
.iba-service-card .iba-card__body{position:relative;z-index:2;padding:clamp(22px,2.2vw,30px)}
.iba-service-card .iba-eyebrow{
  width:max-content;
  margin-bottom:12px;
  padding:6px 9px;
  border-radius:999px;
  background:rgba(237,130,35,.085);
  color:#c96513;
  font-size:.68rem;
  letter-spacing:.095em;
}
.iba-service-card .iba-card__title{margin-bottom:10px;font-size:clamp(1.28rem,1.7vw,1.58rem);line-height:1.2;letter-spacing:-.03em}
.iba-service-card .iba-card__text{line-height:1.66}
.iba-service-card .iba-text-link{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  margin-top:auto;
  padding-top:20px;
  border-top:1px solid rgba(29,92,155,.09);
  color:var(--iba-ink);
  font-weight:800;
  text-decoration:none;
}
.iba-service-card .iba-text-link svg{
  display:grid;
  place-items:center;
  width:36px;
  height:36px;
  padding:8px;
  border-radius:50%;
  background:var(--iba-orange);
  color:#fff;
  transition:transform .32s var(--iba-ease),background-color .25s ease;
}
@media(hover:hover) and (pointer:fine){
  .iba-service-card:hover{
    transform:translateY(-11px);
    border-color:rgba(237,130,35,.26);
    box-shadow:0 32px 86px rgba(13,36,54,.15);
  }
  .iba-service-card:hover::before{opacity:1}
  .iba-service-card:hover::after{transform:scaleX(1);opacity:1}
  .iba-service-card:hover .iba-card__media img{transform:scale(1.055);filter:saturate(1.05)}
  .iba-service-card:hover .iba-card__media::before{opacity:.7}
  .iba-service-card:hover .iba-text-link svg{transform:translateX(4px) rotate(-8deg);background:var(--iba-blue)}
}

/* =========================================================
   12. RESPONSIVE
========================================================= */
@media(max-width:1024px){
  .iba-service-section--process .iba-service-structured-grid::before{display:none}
  .iba-service-gallery__item,.iba-service-gallery__item:nth-child(5n+1){grid-column:span 6;height:320px}
  .iba-service-gallery__item:nth-child(5n+2){height:320px}
}
@media(max-width:760px){
  .iba-main--service .iba-detail-hero{padding-block:66px 78px}
  .iba-main--service .iba-detail-hero::after{width:300px;right:-160px;top:-125px}
  .iba-main--service .iba-detail-hero__content h1{max-width:none}
  .iba-service-section{padding-block:66px}
  .iba-service-section__title{margin-bottom:30px}
  .iba-structured-card{padding:26px}
  .iba-service-stat{min-height:150px}
  .iba-service-gallery{grid-template-columns:1fr}
  .iba-service-gallery__item,.iba-service-gallery__item:nth-child(5n+1),.iba-service-gallery__item:nth-child(5n+2){grid-column:auto;height:270px}
  .iba-service-lightbox{width:96vw;border-radius:20px}
  .iba-service-lightbox__shell{min-height:72vh;padding:64px 12px 18px}
  .iba-service-lightbox__nav{top:auto;bottom:16px;width:46px;height:46px;border-radius:50%;transform:none}
  .iba-service-lightbox__nav:hover{transform:scale(1.04)}
  .iba-service-lightbox__prev{left:calc(50% - 54px)}.iba-service-lightbox__next{right:calc(50% - 54px)}
  .iba-service-lightbox__image{max-height:58vh}
  .iba-service-accordion__button{padding:19px 18px}
  .iba-service-accordion__panel{padding:0 18px 20px}
  .iba-download-card{min-height:82px}
  .iba-service-card .iba-card__media{margin:8px 8px 0}
}

/* =========================================================
   13. REDUCED MOTION + ACCESSIBILITY
========================================================= */
@media(prefers-reduced-motion:reduce){
  .iba-main--service .iba-detail-hero__media,
  .iba-main--service .iba-service-ctas .iba-btn::before,
  .iba-structured-card,
  .iba-structured-card::after,
  .iba-service-stat,
  .iba-service-gallery__item img,
  .iba-service-gallery__item::after,
  .iba-download-card,
  .iba-download-card::before,
  .iba-service-accordion__item,
  .iba-service-accordion__button>span:last-child,
  .iba-service-card,
  .iba-service-card::after,
  .iba-service-card .iba-card__media img,
  .iba-service-card .iba-text-link svg{transition:none!important;transform:none!important}
}
.iba-service-gallery__item:focus-visible,
.iba-download-card:focus-visible,
.iba-service-accordion__button:focus-visible,
.iba-service-card a:focus-visible{
  outline:3px solid color-mix(in srgb,var(--iba-orange) 55%,#fff);
  outline-offset:4px;
}

/* =========================================================
   14. SERVICES HUB — DIRECTORY INTRO
========================================================= */
.iba-main--services-hub .iba-page-header{
  position:relative;
  isolation:isolate;
  overflow:hidden;
  min-height:clamp(330px,44vw,520px);
  border-bottom:0;
  background:
    radial-gradient(circle at 85% 15%,rgba(237,130,35,.16),transparent 24rem),
    radial-gradient(circle at 15% 90%,rgba(29,138,68,.11),transparent 26rem),
    linear-gradient(135deg,#f7fbff,#fff 56%,#f4faf6);
}
.iba-main--services-hub .iba-page-header::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:-1;
  opacity:.42;
  background-image:linear-gradient(rgba(29,92,155,.055) 1px,transparent 1px),linear-gradient(90deg,rgba(29,92,155,.055) 1px,transparent 1px);
  background-size:56px 56px;
  mask-image:linear-gradient(to bottom,black,transparent 92%);
}
.iba-main--services-hub .iba-page-header__inner{position:relative;z-index:2;padding-block:clamp(90px,10vw,140px)}
.iba-main--services-hub .iba-page-header h1{max-width:12ch;font-size:clamp(3rem,6vw,6rem);line-height:.94;letter-spacing:-.06em;text-wrap:balance}
.iba-main--services-hub .iba-page-header__lead{max-width:62ch;font-size:clamp(1.05rem,1.5vw,1.25rem);line-height:1.7}
.iba-main--services-hub .iba-section--directory{
  position:relative;
  padding-block:clamp(70px,8vw,120px);
}
.iba-main--services-hub .iba-section--directory::before{
  content:"";
  position:absolute;
  top:32px;
  left:50%;
  width:min(94vw,1240px);
  height:1px;
  transform:translateX(-50%);
  background:linear-gradient(90deg,transparent,rgba(29,92,155,.15),transparent);
}
