/* ==========================================================================
   Sundar Marriage Services (Sundar Events) — About Us page
   Loads after style.css and reuses its tokens, buttons, heading kit,
   testimonials slider and CTA band; everything here is prefixed .ab-
   ========================================================================== */

/* doubled class so it outranks style.css's centred ".eyebrow--gold.eyebrow" */
.eyebrow.ab-eyebrow{justify-content:flex-start;}
.ab-eyebrow .dash{margin-left:11px;}

/* shamiana-style scalloped edge, reused where a dark band meets a light one */
.ab-hero::after,
.ab-journey::before{
  content:"";position:absolute;left:0;right:0;height:18px;z-index:3;pointer-events:none;
  background-size:36px 18px;background-repeat:repeat-x;
}

/* ==========================================================================
   HERO
   ========================================================================== */
.ab-hero{
  position:relative;overflow:hidden;isolation:isolate;
  min-height:clamp(400px,36vw,560px);
  display:flex;align-items:center;justify-content:center;text-align:center;
  background:#2A0C16;
}
.ab-hero::after{
  bottom:-1px;
  background-image:radial-gradient(circle at 18px 18px,var(--cream-2) 17px,transparent 18px);
}
.ab-hero__bg{position:absolute;inset:0;z-index:-3;overflow:hidden;}
.ab-hero__bg img{
  width:100%;height:100%;object-fit:cover;object-position:center 42%;
  transform-origin:50% 40%;will-change:transform;
}
.ab-hero__shade{
  position:absolute;inset:0;z-index:-2;
  background:
    radial-gradient(ellipse 62% 70% at 50% 52%,rgba(46,10,22,.62) 0%,rgba(40,8,20,.82) 55%,rgba(28,5,13,.94) 100%),
    linear-gradient(180deg,rgba(28,5,13,.35) 0%,rgba(28,5,13,0) 40%,rgba(28,5,13,.5) 100%);
}

/* slowly turning mandala behind the title */
.ab-hero__mandala{
  position:absolute;left:50%;top:50%;z-index:-1;
  width:clamp(340px,40vw,600px);height:auto;
  translate:-50% -50%;
  fill:none;stroke:var(--gold-300);stroke-width:1;opacity:.2;
  animation:ab-spin 90s linear infinite;
}
@keyframes ab-spin{to{rotate:360deg;}}

/* rising golden sparks */
.ab-sparks{position:absolute;inset:0;z-index:-1;pointer-events:none;overflow:hidden;}
.ab-sparks i{
  position:absolute;bottom:-12px;left:var(--x);
  width:var(--z);height:var(--z);border-radius:50%;
  background:var(--gold-200);box-shadow:0 0 10px 2px rgba(240,206,126,.65);
  opacity:0;animation:ab-rise var(--t) ease-in var(--d) infinite;
}
@keyframes ab-rise{
  0%{transform:translate(0,0);opacity:0;}
  12%{opacity:.9;}
  70%{opacity:.55;}
  100%{transform:translate(24px,-460px);opacity:0;}
}

.ab-hero__inner{position:relative;padding-block:56px 64px;display:flex;flex-direction:column;align-items:center;}

.ab-crumbs{
  display:inline-flex;align-items:center;gap:10px;
  padding:7px 18px;border-radius:999px;margin-bottom:20px;
  font-size:13px;color:#F1DDE3;
  background:rgba(255,255,255,.08);border:1px solid rgba(247,224,166,.28);
  backdrop-filter:blur(6px);
}
.ab-crumbs i{font-size:8px;opacity:.6;}
.ab-crumbs a{transition:color .3s var(--ease);}
.ab-crumbs a:hover{color:var(--gold-300);}
.ab-crumbs span{color:var(--gold-300);}

.ab-hero__mantra{
  font-family:var(--ff-deva);font-weight:600;letter-spacing:2px;
  font-size:clamp(16px,1.6vw,21px);color:var(--gold-300);
  text-shadow:0 3px 14px rgba(0,0,0,.5);
}
.ab-hero__title{
  margin-top:6px;
  font-size:clamp(46px,6.4vw,92px);font-weight:900;line-height:1.02;letter-spacing:-1px;
  background:linear-gradient(180deg,#fff 30%,var(--gold-200) 100%);
  -webkit-background-clip:text;background-clip:text;color:transparent;
  filter:drop-shadow(0 8px 26px rgba(0,0,0,.45));
}
.ab-hero__script{
  margin-top:4px;
  font-family:var(--ff-script);font-weight:700;
  font-size:clamp(24px,2.6vw,38px);color:var(--gold-300);
  text-shadow:0 4px 18px rgba(0,0,0,.5);
}
.ab-hero__rule{
  display:flex;align-items:center;gap:10px;margin-top:14px;color:var(--gold-400);
  transform-origin:center;
}
.ab-hero__rule::before,.ab-hero__rule::after{
  content:"";height:1px;width:clamp(60px,9vw,120px);
  background:linear-gradient(90deg,transparent,var(--gold-400),transparent);
}
.ab-hero__rule i{font-size:10px;}

/* ==========================================================================
   WHO WE ARE
   ========================================================================== */
.ab-intro{
  position:relative;overflow:hidden;
  background:linear-gradient(180deg,var(--cream-2) 0%,#FBF3EC 100%);
  padding-block:84px 76px;
}
.ab-intro .deco--leaf-r{opacity:.7;}
.ab-intro__grid{
  position:relative;z-index:2;
  display:grid;grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);
  gap:clamp(40px,6vw,96px);align-items:center;
}

/* photo collage: arched main photo, offset gold frame, round inset, seal */
.ab-collage{position:relative;max-width:560px;width:100%;padding:0 0 64px 22px;}
.ab-collage__frame{
  position:absolute;left:0;top:22px;width:calc((100% - 22px) * .76);aspect-ratio:4/5;
  border:1.5px solid var(--gold-400);border-radius:999px 999px 26px 26px;
}
.ab-collage__main{
  position:relative;margin:0;width:76%;aspect-ratio:4/5;overflow:hidden;
  border-radius:999px 999px 26px 26px;box-shadow:var(--shadow-lg);
}
.ab-collage__main img{width:100%;height:100%;object-fit:cover;object-position:center 30%;}
.ab-collage__mini{
  position:absolute;right:0;bottom:0;margin:0;
  width:46%;aspect-ratio:1;border-radius:50%;overflow:hidden;
  border:8px solid #fff;box-shadow:0 18px 40px rgba(92,10,40,.22);
}
.ab-collage__mini img{width:100%;height:100%;object-fit:cover;transition:transform .9s var(--ease);}
.ab-collage__mini:hover img{transform:scale(1.1);}
.ab-collage__dots{
  position:absolute;left:-6px;bottom:18px;width:110px;height:110px;z-index:-1;
  background-image:radial-gradient(var(--gold-400) 1.6px,transparent 1.8px);
  background-size:14px 14px;opacity:.6;
}

.ab-seal{position:absolute;right:4%;top:6%;width:132px;height:132px;}
.ab-seal__ring{
  position:absolute;inset:0;width:100%;height:100%;
  fill:var(--maroon);font-family:var(--ff-sans);font-size:13.5px;font-weight:600;text-transform:uppercase;
  animation:ab-spin 24s linear infinite;
}
.ab-seal::before{
  content:"";position:absolute;inset:0;border-radius:50%;
  background:#fff;box-shadow:0 14px 34px rgba(92,10,40,.2);
}
.ab-seal__core{
  position:absolute;inset:27%;border-radius:50%;
  display:flex;flex-direction:column;align-items:center;justify-content:center;
  background:linear-gradient(145deg,var(--maroon-600),var(--maroon-900));
  color:var(--gold-200);line-height:1;
  box-shadow:inset 0 0 0 2px rgba(247,224,166,.5);
}
.ab-seal__core b{font-family:var(--ff-serif);font-size:22px;font-weight:800;}
.ab-seal__core small{font-size:9.5px;letter-spacing:1.5px;text-transform:uppercase;margin-top:3px;color:#F6DCE6;}
.ab-seal__core i{font-size:20px;animation:beat 2.6s ease-in-out infinite;}

.ab-intro__title{
  font-size:clamp(30px,3.4vw,50px);font-weight:800;line-height:1.14;letter-spacing:-.4px;
  margin:4px 0 18px;
}
.ab-intro__title em{font-style:normal;color:var(--gold-600);}
.ab-intro__title b{
  font-weight:800;
  background:linear-gradient(92deg,var(--maroon),var(--pink));
  -webkit-background-clip:text;background-clip:text;color:transparent;
}
.ab-intro__lead{font-size:16px;line-height:1.9;color:#57545C;max-width:600px;}

.ab-intro__actions{display:flex;align-items:center;flex-wrap:wrap;gap:18px 26px;margin-top:30px;}
.ab-call{display:inline-flex;align-items:center;gap:12px;color:var(--ink);}
.ab-call__ic{
  position:relative;width:48px;height:48px;border-radius:50%;
  display:grid;place-items:center;font-size:17px;
  background:linear-gradient(145deg,var(--gold-200),var(--gold-400));color:var(--maroon-900);
  transition:transform .4s var(--ease);
}
.ab-call__ic::after{
  content:"";position:absolute;inset:-5px;border-radius:50%;
  border:1.5px solid var(--gold-400);animation:ripple 2.4s ease-out infinite;
}
.ab-call:hover .ab-call__ic{transform:rotate(-12deg) scale(1.06);}
.ab-call__text{display:flex;flex-direction:column;font-weight:700;font-size:16px;line-height:1.25;}
.ab-call__text small{font-size:12px;font-weight:500;color:#8A8690;}

.ab-sign{
  margin-top:28px;font-size:14px;color:#8A8690;
  display:flex;align-items:baseline;gap:10px;flex-wrap:wrap;
}
.ab-sign span{font-family:var(--ff-script);font-weight:700;font-size:clamp(26px,2.4vw,34px);color:var(--maroon);}

/* ==========================================================================
   STATS
   ========================================================================== */
.ab-stats{
  position:relative;
  background:linear-gradient(180deg,#FBF3EC 0 50%,var(--cream-2) 50% 100%);
}
.ab-stats__grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;}
.ab-stat{
  position:relative;overflow:hidden;
  display:flex;flex-direction:column;align-items:center;text-align:center;
  padding:28px 16px 24px;border-radius:20px;background:#fff;
  box-shadow:var(--shadow-md);border:1px solid #F3E6DA;
  transition:transform .45s var(--ease), box-shadow .45s var(--ease), border-color .45s var(--ease);
}
.ab-stat::before{
  content:"";position:absolute;left:0;right:0;top:0;height:3px;
  background:linear-gradient(90deg,var(--gold-300),var(--maroon),var(--pink));
  transform:scaleX(.25);transition:transform .6s var(--ease);
}
.ab-stat:hover{transform:translateY(-8px);box-shadow:var(--shadow-lg);border-color:rgba(201,135,60,.4);}
.ab-stat:hover::before{transform:scaleX(1);}
.ab-stat__ic{
  width:58px;height:58px;border-radius:50%;margin-bottom:12px;
  display:grid;place-items:center;font-size:22px;color:var(--maroon);
  background:radial-gradient(circle at 30% 30%,#FFF8EE,#F8E4C8);
  box-shadow:inset 0 0 0 1.5px rgba(201,135,60,.45);
  transition:transform .5s var(--ease), background .5s var(--ease), color .5s var(--ease);
}
.ab-stat:hover .ab-stat__ic{
  transform:rotate(-10deg) scale(1.08);color:#fff;
  background:linear-gradient(145deg,var(--maroon-600),var(--maroon-900));
}
.ab-stat .stat__num{
  font-family:var(--ff-serif);font-size:clamp(30px,3vw,42px);font-weight:800;
  color:var(--maroon-900);line-height:1.1;
}
.ab-stat__label{margin-top:4px;font-size:13.5px;font-weight:500;color:#7A7680;}

/* ==========================================================================
   OUR STORY (admin content, split into chapters)
   ========================================================================== */
.ab-story{position:relative;background:var(--cream-2);padding-block:80px 90px;}
.ab-story__grid{
  display:grid;grid-template-columns:minmax(0,.78fr) minmax(0,1.22fr);
  gap:clamp(36px,5vw,84px);align-items:start;
}
.ab-story__aside{position:sticky;top:118px;}
.ab-story__title{
  font-size:clamp(28px,2.9vw,42px);font-weight:800;line-height:1.16;margin:4px 0 24px;
}
.ab-story__title em{font-style:normal;color:var(--maroon);}

.ab-story__photo{
  position:relative;margin:0;overflow:hidden;aspect-ratio:4/4.4;
  border-radius:26px 120px 26px 26px;box-shadow:var(--shadow-lg);
}
.ab-story__photo img{width:100%;height:100%;object-fit:cover;object-position:center 60%;transition:transform 1.2s var(--ease);}
.ab-story__photo:hover img{transform:scale(1.06);}
.ab-story__photo figcaption{
  position:absolute;left:14px;right:14px;bottom:14px;
  display:flex;align-items:center;justify-content:center;gap:10px;flex-wrap:wrap;
  padding:12px 16px;border-radius:14px;
  background:rgba(60,10,28,.55);backdrop-filter:blur(8px);
  border:1px solid rgba(247,224,166,.3);
  font-family:var(--ff-script);font-weight:700;font-size:clamp(20px,1.8vw,25px);color:var(--gold-200);
}
.ab-story__photo figcaption i{font-size:10px;color:var(--pink-2);}

.ab-chapters{position:relative;}
.ab-chapters::before{
  content:"";position:absolute;left:27px;top:30px;bottom:30px;width:0;
  border-left:2px dashed rgba(201,135,60,.45);
}
.ab-chapter{position:relative;padding-left:84px;}
.ab-chapter + .ab-chapter{margin-top:24px;}

.ab-chapter__no{
  position:absolute;left:0;top:18px;z-index:2;
  width:56px;height:56px;border-radius:50%;
  display:grid;place-items:center;
  font-family:var(--ff-serif);font-size:18px;font-weight:800;color:var(--gold-200);
  background:linear-gradient(145deg,var(--maroon-600),var(--maroon-900));
  border:3px solid var(--cream-2);box-shadow:0 0 0 1.5px var(--gold-400),0 10px 22px rgba(92,10,40,.3);
  transition:transform .5s var(--ease);
}
.ab-chapter:hover .ab-chapter__no{transform:rotate(-12deg) scale(1.08);}

.ab-chapter__card{
  position:relative;overflow:hidden;
  padding:28px clamp(22px,2.6vw,36px);border-radius:20px;
  background:#fff;border:1px solid #F1E4D8;box-shadow:var(--shadow-sm);
  transition:transform .45s var(--ease), box-shadow .45s var(--ease), border-color .45s var(--ease);
}
.ab-chapter__card::after{
  content:"";position:absolute;right:-6px;top:-6px;width:92px;height:92px;pointer-events:none;
  background:url("../images/leaf-corner.png") center/contain no-repeat;opacity:.16;
}
.ab-chapter:hover .ab-chapter__card{transform:translateY(-5px);box-shadow:var(--shadow-md);border-color:rgba(201,135,60,.45);}

.ab-chapter__title{
  position:relative;font-size:clamp(21px,2vw,27px);font-weight:800;line-height:1.25;
  padding-bottom:14px;margin-bottom:16px;padding-right:40px;
}
.ab-chapter__title::after{
  content:"";position:absolute;left:0;bottom:0;width:56px;height:2px;border-radius:2px;
  background:linear-gradient(90deg,var(--gold-400),var(--maroon));
  transition:width .5s var(--ease);
}
.ab-chapter:hover .ab-chapter__title::after{width:96px;}

/* typography for the rich-text (Quill) HTML coming from the admin */
.ab-prose{font-size:15.5px;line-height:1.88;color:#57545C;}
.ab-prose > *:last-child{margin-bottom:0;}
.ab-prose p{margin:0 0 14px;}
.ab-prose h3{font-size:19px;margin:22px 0 10px;}
.ab-prose strong{color:var(--ink);}
.ab-prose a{color:var(--maroon);text-decoration:underline;text-underline-offset:3px;}
.ab-prose img{max-width:100%;border-radius:14px;margin:16px 0;}
.ab-prose ol{margin:0 0 14px;padding-left:22px;}
.ab-prose ol li{margin-bottom:8px;}
.ab-prose blockquote{
  margin:18px 0;padding:14px 20px;border-left:3px solid var(--gold);
  background:var(--cream);border-radius:0 12px 12px 0;font-style:italic;
}
.ab-chapter:first-child .ab-prose > p:first-child::first-letter{
  float:left;margin:8px 12px 0 0;
  font-family:var(--ff-serif);font-size:62px;font-weight:800;line-height:.8;color:var(--maroon);
}

/* bullet lists become a grid of tick cards */
.ab-prose ul{
  list-style:none;margin:4px 0 14px;padding:0;
  display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;
}
.ab-prose ul li{
  position:relative;padding:13px 14px 13px 48px;border-radius:14px;
  background:linear-gradient(135deg,#FFF9F2,#FBEEE2);
  font-size:14.5px;line-height:1.55;color:#3E3B44;
  transition:transform .35s var(--ease), box-shadow .35s var(--ease);
}
.ab-prose ul li::before{
  content:"\f00c";position:absolute;left:13px;top:12px;
  width:24px;height:24px;border-radius:50%;
  display:grid;place-items:center;
  font-family:"Font Awesome 6 Free";font-weight:900;font-size:10.5px;color:#fff;
  background:linear-gradient(145deg,var(--maroon-600),var(--maroon-900));
}
.ab-prose ul li:hover{transform:translateY(-3px);box-shadow:var(--shadow-sm);}

/* the last chapter ("Our Promise") closes the story on a rich maroon card */
.ab-chapter--finale .ab-chapter__card{
  background:
    radial-gradient(circle at 100% 0%,rgba(228,37,127,.35),transparent 55%),
    linear-gradient(140deg,var(--maroon-800),var(--maroon-900));
  border-color:transparent;box-shadow:var(--shadow-lg);
}
.ab-chapter--finale .ab-chapter__card::after{opacity:.22;filter:brightness(2.2);}
.ab-chapter--finale .ab-chapter__no{
  color:var(--maroon-900);background:linear-gradient(145deg,var(--gold-200),var(--gold-400));
}
.ab-chapter--finale .ab-chapter__title{color:#fff;}
.ab-chapter--finale .ab-chapter__title::after{background:linear-gradient(90deg,var(--gold-200),var(--gold-400));}
.ab-chapter--finale .ab-prose{color:#F1DFE5;font-size:16px;}
.ab-chapter--finale .ab-prose strong{color:#fff;}
.ab-chapter--finale .ab-prose a{color:var(--gold-300);}
.ab-chapter--finale .ab-prose ul li{background:rgba(255,255,255,.08);color:#F6E8EC;}
.ab-chapter__cta{margin-top:22px;}

/* ==========================================================================
   JOURNEY TIMELINE (process steps)
   ========================================================================== */
.ab-journey{position:relative;overflow:hidden;isolation:isolate;background:#3E0B1D;}
.ab-journey::before{
  top:-1px;
  background-image:radial-gradient(circle at 18px 0,var(--cream-2) 17px,transparent 18px);
}
.ab-journey__bg{position:absolute;inset:0;z-index:-2;}
.ab-journey__bg img{width:100%;height:100%;object-fit:cover;opacity:.45;}
.ab-journey__shade{
  position:absolute;inset:0;z-index:-1;
  background:
    radial-gradient(circle at 15% 20%,rgba(210,28,114,.22),transparent 45%),
    linear-gradient(180deg,rgba(70,12,32,.94) 0%,rgba(56,10,26,.88) 50%,rgba(44,8,20,.96) 100%);
}
.ab-journey__inner{padding-block:92px 80px;}
.ab-journey__head .sec-title{color:#fff;}
.ab-journey__head .sec-title em{color:var(--gold-300);}
.ab-journey__head .sec-sub{color:#E6D2D8;}

.ab-tl{position:relative;max-width:1060px;margin:44px auto 0;--fill:1;}
.ab-tl__line{
  position:absolute;left:50%;top:10px;bottom:10px;width:2px;translate:-50% 0;
  background:rgba(247,224,166,.16);border-radius:2px;overflow:hidden;
}
.ab-tl__fill{
  position:absolute;inset:0;transform-origin:top center;transform:scaleY(var(--fill));
  background:linear-gradient(180deg,var(--gold-200),var(--gold-400) 55%,var(--pink-2));
}
.ab-tl__items{list-style:none;margin:0;padding:0;}
.ab-tl__item{
  position:relative;display:grid;grid-template-columns:minmax(0,1fr) 110px minmax(0,1fr);align-items:center;
}
.ab-tl__item + .ab-tl__item{margin-top:26px;}

.ab-tl__dot{
  grid-column:2;grid-row:1;justify-self:center;position:relative;z-index:2;
  width:68px;height:68px;border-radius:50%;
  display:grid;place-items:center;font-size:23px;color:var(--gold-200);
  background:#4B0E24;border:1.5px solid rgba(247,224,166,.55);
  box-shadow:0 0 0 8px #3E0B1D;
  transition:background .6s var(--ease), color .6s var(--ease), transform .6s var(--ease), box-shadow .6s var(--ease);
}
.ab-tl__item.is-lit .ab-tl__dot{
  background:linear-gradient(145deg,var(--gold-200),var(--gold-400));color:var(--maroon-900);
  transform:scale(1.08);box-shadow:0 0 0 8px #3E0B1D,0 0 30px 6px rgba(240,206,126,.35);
}

.ab-tl__card{
  grid-row:1;position:relative;
  padding:22px 26px;border-radius:18px;
  background:rgba(255,255,255,.05);border:1px solid rgba(247,224,166,.2);
  backdrop-filter:blur(4px);
  transition:background .45s var(--ease), border-color .45s var(--ease), transform .45s var(--ease);
}
.ab-tl__card:hover{background:rgba(255,255,255,.09);border-color:rgba(247,224,166,.5);transform:translateY(-4px);}
.ab-tl__item:nth-child(odd) .ab-tl__card{grid-column:1;text-align:right;}
.ab-tl__item:nth-child(even) .ab-tl__card{grid-column:3;}

.ab-tl__step{font-family:var(--ff-script);font-weight:700;font-size:22px;color:var(--gold-300);line-height:1;}
.ab-tl__card h3{margin:6px 0 6px;font-size:clamp(19px,1.7vw,23px);font-weight:700;color:#fff;}
.ab-tl__card p{font-size:14px;line-height:1.7;color:#E6D2D8;}

/* ==========================================================================
   EVERYTHING UNDER ONE ROOF (service marquee)
   ========================================================================== */
.ab-roof{
  position:relative;overflow:hidden;
  background:linear-gradient(180deg,#FDF6EE 0%,#F9E9D8 100%);
  padding-block:70px 72px;
}
.ab-roof__rows{display:flex;flex-direction:column;gap:14px;margin-top:30px;}

.ab-marquee{
  display:flex;overflow:hidden;
  -webkit-mask-image:linear-gradient(90deg,transparent,#000 7%,#000 93%,transparent);
  mask-image:linear-gradient(90deg,transparent,#000 7%,#000 93%,transparent);
}
.ab-marquee__track{
  flex-shrink:0;min-width:100%;
  display:flex;justify-content:space-around;gap:14px;
  list-style:none;margin:0;padding:6px 14px 6px 0;
  animation:ab-marquee 55s linear infinite;
}
.ab-marquee--rev .ab-marquee__track{animation-direction:reverse;}
.ab-marquee:hover .ab-marquee__track,
.ab-marquee:focus-within .ab-marquee__track{animation-play-state:paused;}
@keyframes ab-marquee{to{transform:translateX(-100%);}}

.ab-pill{
  display:inline-flex;align-items:center;gap:11px;white-space:nowrap;
  padding:8px 22px 8px 8px;border-radius:999px;
  background:#fff;box-shadow:0 6px 16px rgba(92,10,40,.08);border:1px solid #F1E2D2;
  font-size:14.5px;font-weight:600;color:#2A272E;
  transition:background .4s var(--ease), color .4s var(--ease), transform .4s var(--ease), box-shadow .4s var(--ease);
}
.ab-pill__ic{
  width:38px;height:38px;border-radius:50%;display:grid;place-items:center;font-size:14px;
  background:linear-gradient(145deg,var(--gold-200),var(--gold-400));color:var(--maroon-900);
  transition:background .4s var(--ease), color .4s var(--ease), transform .5s var(--ease);
}
.ab-pill:hover,.ab-pill:focus-visible{
  background:linear-gradient(100deg,var(--maroon-800),var(--maroon-600) 60%,var(--pink));
  color:#fff;transform:translateY(-3px);box-shadow:0 12px 24px rgba(142,16,67,.3);
}
.ab-pill:hover .ab-pill__ic,.ab-pill:focus-visible .ab-pill__ic{background:#fff;color:var(--maroon);transform:rotate(-14deg);}
.ab-roof__more{display:flex;justify-content:center;margin-top:34px;}

/* the testimonials band reuses .testi from style.css — just give it room here */
.ab-roof + .testi{padding-block:56px 50px;}

/* ==========================================================================
   RESPONSIVE
   ========================================================================== */
@media (max-width:1080px){
  .ab-intro__grid{grid-template-columns:1fr;}
  .ab-collage{margin-inline:auto;max-width:520px;}
  .ab-story__grid{grid-template-columns:1fr;}
  .ab-story__aside{position:static;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:0 36px;align-items:end;}
  .ab-story__aside .ab-eyebrow,.ab-story__title{grid-column:1;}
  .ab-story__photo{grid-column:2;grid-row:1 / span 2;aspect-ratio:16/11;}
}
@media (max-width:860px){
  .ab-stats__grid{grid-template-columns:repeat(2,minmax(0,1fr));}
  .ab-prose ul{grid-template-columns:1fr;}
  .ab-story__aside{display:block;}
  .ab-story__photo{aspect-ratio:16/10;border-radius:22px 80px 22px 22px;}
}
@media (max-width:760px){
  .ab-tl__line{left:34px;translate:-50% 0;}
  .ab-tl__item{grid-template-columns:68px minmax(0,1fr);column-gap:18px;align-items:start;}
  .ab-tl__dot{grid-column:1;}
  .ab-tl__item:nth-child(odd) .ab-tl__card,
  .ab-tl__item:nth-child(even) .ab-tl__card{grid-column:2;text-align:left;}
  .ab-journey__inner{padding-block:72px 60px;}
}
@media (max-width:680px){
  .ab-hero__inner{padding-block:44px 52px;}
  .ab-intro{padding-block:60px 56px;}
  .ab-story{padding-block:60px 64px;}
  .ab-roof{padding-block:52px 56px;}
  .ab-seal{width:108px;height:108px;right:0;}
  .ab-seal__core b{font-size:18px;}
  .ab-pill{font-size:13.5px;padding:6px 18px 6px 6px;}
  .ab-pill__ic{width:32px;height:32px;font-size:12.5px;}
}
@media (max-width:560px){
  .ab-chapters::before{display:none;}
  .ab-chapter{padding-left:0;}
  .ab-chapter__no{position:relative;top:auto;left:auto;margin:0 0 -28px 20px;width:52px;height:52px;font-size:16px;}
  .ab-chapter__card{padding-top:40px;}
  .ab-stats__grid{gap:12px;}
  .ab-stat{padding:22px 10px 18px;}
  .ab-stat__ic{width:48px;height:48px;font-size:18px;}
  .ab-intro__actions .btn{width:100%;justify-content:center;}
}

/* ---------- reduced motion: keep the page still and the service list static ---------- */
@media (prefers-reduced-motion:reduce){
  .ab-sparks{display:none;}
  .ab-marquee{-webkit-mask-image:none;mask-image:none;}
  .ab-marquee__track{animation:none;flex-wrap:wrap;justify-content:center;flex-shrink:1;min-width:0;width:100%;padding:6px var(--gutter);}
  .ab-marquee__track[aria-hidden="true"]{display:none;}
}
