/* =========================================================
   Multipliers — About page v3 polish layer (UX + motion)
   Loaded after mx-about-v2.css.
   ========================================================= */
@property --ab-angle{syntax:'<angle>';inherits:false;initial-value:0deg;}
@property --ab-p{syntax:'<number>';inherits:false;initial-value:0;}

/* ---------- sticky section menu ---------- */
html{scroll-padding-top:140px;}
.ab-nav{position:sticky;top:70px;z-index:900;background:rgba(14,12,11,.92);backdrop-filter:blur(12px) saturate(1.3);-webkit-backdrop-filter:blur(12px) saturate(1.3);border-bottom:1px solid rgba(201,162,75,.25);box-shadow:0 14px 30px -20px rgba(0,0,0,.8);}
.ab-nav__track{display:flex;gap:6px;overflow-x:auto;scrollbar-width:none;padding:10px 0;mask-image:linear-gradient(90deg,transparent,#000 18px,#000 calc(100% - 18px),transparent);-webkit-mask-image:linear-gradient(90deg,transparent,#000 18px,#000 calc(100% - 18px),transparent);}
.ab-nav__track::-webkit-scrollbar{display:none;}
.ab-nav a{flex-shrink:0;padding:8px 16px;border-radius:999px;color:#cfc6bb;text-decoration:none;font-size:.82rem;font-weight:500;letter-spacing:.06em;border:1px solid transparent;transition:all .3s var(--mx-ease);white-space:nowrap;}
.ab-nav a:hover{color:#fff;border-color:rgba(201,162,75,.35);}
.ab-nav a.is-active{color:#1a130b;background:linear-gradient(135deg,var(--ab-gold-2),var(--ab-gold));box-shadow:0 6px 18px -6px rgba(201,162,75,.8);}
@media(max-width:991px){.ab-nav{top:72px;}}

/* ---------- hero: particles, shimmer, scroll cue ---------- */
.ab-particles{position:absolute;inset:0;z-index:1;pointer-events:none;overflow:hidden;}
.ab-particles span{position:absolute;bottom:-10px;width:4px;height:4px;border-radius:50%;background:var(--ab-gold-2);box-shadow:0 0 10px 2px rgba(232,201,135,.7);opacity:0;animation:ab-rise linear infinite;}
@keyframes ab-rise{0%{transform:translateY(0) scale(.6);opacity:0;}12%{opacity:.9;}80%{opacity:.5;}100%{transform:translateY(-95vh) scale(1.1);opacity:0;}}
.ab-hero h1 em,.ab-h--gold{background:linear-gradient(100deg,#b8893a 0%,#f6dfa6 25%,#c9a24b 45%,#fff3d1 55%,#c9a24b 70%,#e8c987 100%);background-size:250% 100%;-webkit-background-clip:text;background-clip:text;color:transparent;animation:ab-shine 7s linear infinite;}
@keyframes ab-shine{to{background-position:-250% 0;}}
.ab-h:not(.ab-h--gold){position:relative;}
.ab-scrollcue{position:absolute;left:50%;bottom:26px;z-index:3;width:28px;height:46px;margin-left:-14px;border:2px solid rgba(232,201,135,.7);border-radius:16px;}
.ab-scrollcue span{position:absolute;left:50%;top:8px;width:4px;height:8px;margin-left:-2px;border-radius:2px;background:var(--ab-gold-2);animation:ab-cue 1.8s ease-in-out infinite;}
@keyframes ab-cue{0%{transform:translateY(0);opacity:1;}70%{transform:translateY(16px);opacity:0;}100%{opacity:0;}}
@media(max-width:991px){.ab-scrollcue{display:none;}}

/* ---------- cursor spotlight on dark sections ---------- */
.ab-dark,.ab-dark2,.ab-mission{--ab-x:50%;--ab-y:-30%;}
.ab-dark::before,.ab-dark2::before,.ab-mission::before{content:"";position:absolute;inset:0;pointer-events:none;z-index:0;background:radial-gradient(520px circle at var(--ab-x) var(--ab-y),rgba(232,201,135,.10),transparent 60%);transition:background .2s;}
.ab-sec > .container{position:relative;z-index:1;}

/* ---------- animated gold border on cards ---------- */
.ab-city,.ab-ach__card,.ab-value,.ab-dev{isolation:isolate;}
.ab-city::after,.ab-ach__card::after,.ab-value::after,.ab-dev::after{content:"";position:absolute;inset:0;z-index:3;pointer-events:none;padding:1.5px;border-radius:inherit;background:conic-gradient(from var(--ab-angle),transparent 0deg,var(--ab-gold-2) 40deg,#fff6dc 60deg,var(--ab-gold) 80deg,transparent 140deg,transparent 360deg);-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask:linear-gradient(#000 0 0) content-box exclude,linear-gradient(#000 0 0);opacity:0;transition:opacity .4s;}
.ab-city:hover::after,.ab-ach__card:hover::after,.ab-value:hover::after,.ab-dev:hover::after{opacity:1;animation:ab-spin-border 2.6s linear infinite;}
@keyframes ab-spin-border{to{--ab-angle:360deg;}}
.ab-ach__card,.ab-dev,.ab-value{transition:background .4s,box-shadow .4s;}
.ab-ach__card:hover,.ab-dev:hover{background:linear-gradient(180deg,rgba(232,201,135,.08),rgba(232,201,135,0));}
.ab-dev{position:relative;}
.ab-ach__card{position:relative;}

/* ---------- achievement icon progress ring ---------- */
.ab-ach__icon{position:relative;}
.ab-ach__icon::after{content:"";position:absolute;inset:-7px;border-radius:50%;background:conic-gradient(var(--ab-gold-2) calc(var(--ab-p) * 1%),rgba(201,162,75,.12) 0);-webkit-mask:radial-gradient(farthest-side,transparent calc(100% - 3px),#000 calc(100% - 2px));mask:radial-gradient(farthest-side,transparent calc(100% - 3px),#000 calc(100% - 2px));transition:--ab-p 1.8s var(--mx-ease);}
.is-in .ab-ach__icon::after,html:not(.mx-js) .ab-ach__icon::after{--ab-p:100;}

/* ---------- photo wipe reveal on arches / collage / awards ---------- */
html.mx-js [data-aos] .ab-arch__body,html.mx-js [data-aos] .ab-collage,html.mx-js [data-aos] .ab-award img{clip-path:inset(100% 0 0 0);transition:clip-path 1.3s cubic-bezier(.7,0,.2,1) .15s;}
html.mx-js [data-aos].is-in .ab-arch__body,html.mx-js [data-aos].is-in .ab-collage,html.mx-js [data-aos].is-in .ab-award img{clip-path:inset(0 0 0 0);}
.ab-arch__body img,.ab-collage img{transition:transform 1.2s var(--mx-ease);}
.ab-arch:hover .ab-arch__body img,.ab-collage:hover img{transform:scale(1.04);}

/* ---------- mid-page call to action ---------- */
.ab-cta{position:relative;overflow:hidden;background:linear-gradient(110deg,#b8893a 0%,#e8c987 35%,#c9a24b 60%,#a77a2e 100%);color:#1a130b;padding:56px 0;}
.ab-cta::before{content:"";position:absolute;inset:-50%;background:linear-gradient(115deg,transparent 40%,rgba(255,255,255,.45) 50%,transparent 60%);animation:ab-sweep 6s ease-in-out infinite;}
@keyframes ab-sweep{0%,30%{transform:translateX(-60%);}70%,100%{transform:translateX(60%);}}
.ab-cta .container{position:relative;display:flex;align-items:center;justify-content:space-between;gap:24px;flex-wrap:wrap;}
.ab-cta h2{font-family:'Playfair Display',serif;font-size:clamp(1.6rem,3vw,2.3rem);margin:0 0 4px;color:#120d08;}
.ab-cta p{margin:0;color:#3b2c18;font-weight:500;}
.ab-cta__btns{display:flex;gap:12px;flex-wrap:wrap;}
.ab-cta .mx-btn--dark{background:#120d08;}
.ab-cta .ab-btn-wa{background:#fff;color:#128c4a;}
.ab-cta .ab-btn-wa:hover{background:#f3fff7;color:#0c6d39;transform:translateY(-2px);}
@media(max-width:575px){.ab-cta__btns{width:100%;}.ab-cta__btns .mx-btn{flex:1;}}

/* ---------- richer testimonials ---------- */
.ab-quote{padding-left:92px;}
.ab-quote::before{content:"\201C";position:absolute;left:26px;top:6px;font-family:'Playfair Display',serif;font-size:5.5rem;line-height:1;color:var(--ab-gold);opacity:.55;}
.ab-quote footer{display:flex;align-items:center;gap:10px;}
.ab-quote footer i{display:none;}
.ab-quote footer::after{content:"★★★★★";font-style:normal;letter-spacing:2px;color:var(--ab-gold);font-size:.85rem;}
@media(max-width:767px){.ab-quote{padding-left:24px;padding-top:54px;}.ab-quote::before{left:18px;top:0;font-size:4.2rem;}}

/* ---------- services & offer: numbered + shine ---------- */
.ab-svc{counter-reset:ab-svc;}
.ab-svc__item{position:relative;overflow:hidden;}
.ab-svc__item::after{counter-increment:ab-svc;content:"0" counter(ab-svc);position:absolute;right:18px;top:50%;transform:translateY(-50%);font-family:'Playfair Display',serif;font-size:2.6rem;color:rgba(201,162,75,.16);font-variant-numeric:lining-nums;transition:color .4s;}
.ab-svc__item:hover::after{color:rgba(201,162,75,.4);}
.ab-svc__item > div{padding-right:54px;}
.ab-offer li{transition:background .3s,padding .3s;border-radius:12px;}
.ab-offer li:hover{background:rgba(201,162,75,.08);padding-left:10px;padding-right:10px;}

/* ---------- mobile: swipe rows instead of long stacks ---------- */
.ab-swipe-hint{display:none;justify-content:center;align-items:center;gap:8px;margin-top:6px;font-size:.75rem;letter-spacing:.2em;text-transform:uppercase;color:var(--ab-gold-2);}
@media(max-width:767px){
  .ab-values,.ab-devs,.ab-cities{display:flex!important;gap:14px;overflow-x:auto;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;padding:6px 16px 18px;margin:0 -16px;max-width:none!important;scrollbar-width:none;}
  .ab-values::-webkit-scrollbar,.ab-devs::-webkit-scrollbar,.ab-cities::-webkit-scrollbar{display:none;}
  .ab-values > div,.ab-devs > div,.ab-cities > div{flex:0 0 78%;max-width:78%!important;scroll-snap-align:center;grid-column:auto!important;}
  .ab-values > div{flex-basis:62%;max-width:62%!important;}
  .ab-dev{min-height:210px;}
  .ab-swipe-hint{display:flex;}
  html.mx-js .ab-values > [data-aos],html.mx-js .ab-devs > [data-aos],html.mx-js .ab-cities > [data-aos]{opacity:1;transform:none;}
  .ab-ppp{display:none;}
}
.ab-swipe-hint i{animation:ab-nudge 1.4s ease-in-out infinite;}
@keyframes ab-nudge{0%,100%{transform:translateX(0);}50%{transform:translateX(6px);}}

@media (prefers-reduced-motion: reduce){
  .ab-particles,.ab-scrollcue,.ab-cta::before{display:none;}
  .ab-hero h1 em,.ab-h--gold{animation:none;}
  .ab-city:hover::after,.ab-ach__card:hover::after,.ab-value:hover::after,.ab-dev:hover::after{animation:none;}
  html.mx-js [data-aos] .ab-arch__body,html.mx-js [data-aos] .ab-collage,html.mx-js [data-aos] .ab-award img{clip-path:none;transition:none;}
}