/* ==========================================================================
   ABOUT.CSS — About page only (loaded from about.aspx <head>).
   Depends on master.css: tokens (--gold --gold2 --saf --maroon --deep --bg --bg2 --card --line --head --muted
   --ease --ease-io --shadow --dev --cin), .wrap, .sh, .lotus-div, .alt, .btn*, .ph, .arch, .bd-draw, .mandala,
   .dv-wave and the data-reveal system. Everything new is prefixed .ab-  ·  motion = transform / opacity.
   JS adds: html.ab-on (own reveals armed) · .in (revealed) · .ab-go (hero starts after the loader)
   ========================================================================== */

/* ---------- own scroll-reveal (data-ab="up|down|left|right|zoom|line") ---------- */
.ab-on [data-ab]{opacity:0;transition:opacity 1s ease calc(var(--abd,0) * 1ms),transform 1.25s var(--ease,cubic-bezier(.22,1,.36,1)) calc(var(--abd,0) * 1ms),filter 1s ease calc(var(--abd,0) * 1ms)}
.ab-on [data-ab="up"]{transform:translate3d(0,38px,0)}
.ab-on [data-ab="down"]{transform:translate3d(0,-30px,0)}
.ab-on [data-ab="left"]{transform:translate3d(-48px,0,0)}
.ab-on [data-ab="right"]{transform:translate3d(48px,0,0)}
.ab-on [data-ab="zoom"]{transform:scale(.82);filter:blur(6px)}
.ab-on [data-ab].in{opacity:1;transform:none;filter:none}
.ab-on [data-ab="line"]{opacity:1;transform:none;transition:width 1.7s var(--ease-io,ease) calc(var(--abd,0) * 1ms)}
.ab-on [data-ab="line"]:not(.in){width:0}

/* ---------- shared bits ---------- */
.ab-label{font-family:var(--cin,serif);font-size:13px;letter-spacing:.28em;text-transform:uppercase;color:var(--saf,#E8801C);margin-bottom:10px;font-weight:600}
.ab-div{display:flex;align-items:center;gap:14px;margin:6px 0 22px;max-width:340px}
.ab-div svg{width:34px;height:34px;flex:none;filter:drop-shadow(0 0 8px rgba(232,200,119,.6))}
.ab-rule{display:block;flex:1;height:2px;width:100%;border-radius:2px;background:linear-gradient(90deg,transparent,var(--gold),var(--gold2))}
.ab-rule.r{background:linear-gradient(90deg,var(--gold2),var(--gold),transparent)}
.ab-ic{display:grid;place-items:center;width:64px;height:64px;border-radius:50%;border:1.5px solid var(--gold);background:radial-gradient(circle at 35% 30%,rgba(232,200,119,.35),rgba(201,150,47,.08));margin-bottom:16px;position:relative;transition:transform .6s var(--ease),box-shadow .5s,rotate .6s var(--ease)}
.ab-ic svg{width:38px;height:38px}
.ab-ic::after{content:"";position:absolute;inset:-6px;border-radius:50%;border:1px solid var(--gold);opacity:0;transform:scale(.85);transition:opacity .5s,transform .7s var(--ease)}
section h3{font-family:var(--dev)}

/* ==========================================================================
   1. HERO
   ========================================================================== */
.ab-hero{position:relative;min-height:max(540px,74svh);display:grid;place-items:center;overflow:hidden;background:#2a0710;color:#fff;isolation:isolate;padding:0}
.ab-hero>div:not(.wrap):not(.dv-wave){position:absolute;inset:0;pointer-events:none}
.ab-sky{z-index:-5;transform-origin:50% 70%}
.ab-sky svg,.ab-temple svg{width:100%;height:100%;display:block}
.ab-photo{position:absolute;inset:0;background:center/cover no-repeat;opacity:0;transition:opacity 1.6s ease;z-index:1}
.ab-photo.ok{opacity:.55}
.ab-hero .ab-photo{z-index:-4}
.ab-light{z-index:-3;background:radial-gradient(circle at 50% 46%,rgba(255,196,102,.42),rgba(255,160,70,.12) 32%,transparent 58%);transform-origin:50% 46%;animation:abBreathe 9s ease-in-out infinite}
.ab-mand{z-index:-3;display:grid;place-items:center}
.ab-mand .mandala{position:relative;width:min(120vh,980px);height:min(120vh,980px);opacity:.15;color:var(--gold2);animation:abSpin 170s linear infinite}
.ab-temple{z-index:-2;transform:translate3d(0,var(--py,0px),0);will-change:transform}
.ab-hero::after{content:"";position:absolute;inset:0;background:radial-gradient(ellipse at 50% 55%,rgba(26,5,9,.18),rgba(26,5,9,.8) 88%);z-index:-1;pointer-events:none}
.ab-orbs{z-index:-1}
.ab-orbs i{position:absolute;bottom:-20px;width:var(--s);height:var(--s);border-radius:50%;background:radial-gradient(circle,#fff3c8,rgba(232,200,119,.2) 70%);box-shadow:0 0 14px rgba(232,200,119,.9);opacity:0;animation:abRise var(--t) linear var(--d) infinite}
.ab-fl{z-index:-1}
.ab-fl svg{position:absolute;width:62px;opacity:.5;animation:abFloat 7s ease-in-out calc(var(--fd,0) * -1.4s) infinite;filter:drop-shadow(0 0 10px rgba(232,200,119,.55))}
.ab-hero-in{position:relative;text-align:center;max-width:940px;padding:clamp(140px,19vh,200px) 20px clamp(110px,14vh,140px)}
.ab-eyebrow{font-family:var(--dev);font-size:clamp(15px,2vw,19px);letter-spacing:.12em;color:var(--gold2);margin-bottom:6px;text-shadow:0 0 18px rgba(232,200,119,.5)}
.ab-om{display:inline-block;font-family:var(--dev);font-size:clamp(36px,5vw,54px);line-height:1;color:var(--gold2);margin-bottom:8px;text-shadow:0 0 26px rgba(232,200,119,.75)}
.ab-orn{display:block;width:min(320px,70%);height:14px;margin:0 auto 20px;overflow:visible}
.ab-orn path{stroke:var(--gold2);stroke-width:1.2;fill:none}
.ab-hero h1{font-family:var(--dev);font-size:clamp(32px,6vw,62px);line-height:1.25;color:#fff7e6;margin:0 0 12px;text-shadow:0 4px 30px rgba(0,0,0,.55),0 0 40px rgba(232,200,119,.25);font-weight:700}
.ab-lead{font-family:var(--dev);font-size:clamp(16px,2.2vw,22px);color:var(--gold2);margin:0 auto;max-width:640px}
.ab-crumb{display:inline-flex;gap:10px;align-items:center;margin-top:26px;font-family:var(--dev);font-size:14px;color:#ecd9b4}
.ab-crumb a{color:#ecd9b4;border-bottom:1px solid rgba(232,200,119,.5);transition:color .3s}
.ab-crumb a:hover{color:var(--gold2)}
.ab-crumb b{font-weight:500;color:var(--gold2)}
.ab-scroll{position:absolute;bottom:46px;left:0;right:0;margin-inline:auto;width:24px;height:40px;border:1.5px solid var(--gold2);border-radius:14px;z-index:3}
.ab-scroll i{position:absolute;left:50%;top:7px;width:4px;height:8px;margin-left:-2px;border-radius:3px;background:var(--gold2);animation:abWheel 1.8s infinite}

/* hero entrance (cinematic): sky slowly reveals, then eyebrow → om → line → title → subtitle */
.ab-on .ab-hero:not(.ab-go) [data-h]{opacity:0}
.ab-on .ab-hero:not(.ab-go) .ab-sky{opacity:0;transform:scale(1.18)}
.ab-on .ab-hero:not(.ab-go) .ab-temple{opacity:0}
.ab-sky{transition:opacity 2.2s ease,transform 3.6s var(--ease)}
.ab-hero .ab-temple{transition:opacity 2.4s ease .5s}
.ab-hero.ab-go [data-h]{animation:abIn 1.2s var(--ease) both;animation-delay:calc(var(--hd,0) * 1s + .25s)}
.ab-hero.ab-go .ab-om[data-h]{animation:abIn 1.4s var(--ease) both,abOm 7s ease-in-out 2.6s infinite;animation-delay:calc(var(--hd,0) * 1s + .25s),2.6s}
.ab-hero.ab-go .ab-orn path{stroke-dasharray:1;stroke-dashoffset:1;animation:abDraw 1.6s var(--ease-io,ease) forwards;animation-delay:.9s}
.ab-hero.ab-go .ab-orn .ctr{stroke-dasharray:none;stroke-dashoffset:0;animation:none}
.ab-hero.ab-go h1{animation:abTitle 1.5s var(--ease) both;animation-delay:.85s}
@keyframes abIn{from{opacity:0;transform:translate3d(0,24px,0) scale(.96);filter:blur(6px)}to{opacity:1;transform:none;filter:none}}
@keyframes abTitle{from{opacity:0;transform:translate3d(0,34px,0) scale(.94);filter:blur(12px)}to{opacity:1;transform:none;filter:none}}
@keyframes abDraw{to{stroke-dashoffset:0}}
@keyframes abOm{50%{transform:scale(1.05);text-shadow:0 0 40px rgba(232,200,119,.95)}}
@keyframes abBreathe{50%{opacity:.7;transform:scale(1.1)}}
@keyframes abSpin{to{rotate:360deg}}
@keyframes abFloat{50%{transform:translate3d(0,-16px,0) rotate(4deg)}}
@keyframes abRise{0%{opacity:0;transform:translate3d(0,0,0)}12%{opacity:.9}80%{opacity:.5}100%{opacity:0;transform:translate3d(18px,-78vh,0)}}
@keyframes abWheel{0%{opacity:1;transform:none}100%{opacity:0;transform:translateY(16px)}}

/* ==========================================================================
   2. INTRO
   ========================================================================== */
.ab-intro{position:relative;overflow:hidden}
.ab-g{display:grid;grid-template-columns:1fr 1.1fr;gap:clamp(36px,6vw,90px);align-items:center;position:relative}
.ab-imgcol{position:relative;padding:20px 0 40px 20px}
.ab-imgcol .arch{aspect-ratio:3/4;max-width:460px}
.ab-badge{position:absolute;left:-6px;bottom:6px;width:112px;height:112px;border-radius:50%;background:var(--maroon);color:var(--gold2);display:grid;place-items:center;text-align:center;font-family:var(--dev);font-size:13px;line-height:1.35;border:3px solid var(--gold);box-shadow:0 0 28px rgba(201,150,47,.55);z-index:3}
.ab-badge svg{position:absolute;top:-22px;left:50%;width:40px;height:40px;margin-left:-20px;filter:drop-shadow(0 0 8px rgba(232,200,119,.8))}
.ab-badge span{padding-top:12px}
.ab-txt h2{font-size:clamp(28px,3.8vw,48px)}
.ab-txt p{font-family:var(--dev);font-size:17px;line-height:1.95}
.ab-quote{margin:26px 0 0;padding:20px 24px 20px 28px;background:linear-gradient(120deg,rgba(201,150,47,.15),rgba(201,150,47,.04));border-left:4px solid var(--gold);border-radius:0 16px 16px 0;font-family:var(--dev);font-size:19px;color:var(--head);font-weight:500}

/* ==========================================================================
   3. ABOUT BHAGWAN — three blocks
   ========================================================================== */
.ab-bh{position:relative;overflow:hidden}
.ab-3{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.ab-b{position:relative;overflow:hidden;background:var(--card);border:1px solid var(--line);border-radius:24px;padding:38px 28px 32px;transition:transform .6s var(--ease),box-shadow .6s,border-color .4s}
.ab-b::before{content:"";position:absolute;left:0;top:0;height:4px;width:100%;background:linear-gradient(90deg,var(--gold),var(--saf),var(--gold2));transform-origin:left;transform:scaleX(.25);transition:transform .9s var(--ease)}
.ab-b::after{content:"";position:absolute;right:-60px;bottom:-60px;width:180px;height:180px;border-radius:50%;background:radial-gradient(circle,rgba(232,200,119,.28),transparent 70%);opacity:0;transition:opacity .6s}
.ab-num{position:absolute;right:20px;top:8px;font-family:var(--dev);font-size:76px;line-height:1;color:var(--gold);opacity:.16;font-weight:700;transition:opacity .5s,transform .7s var(--ease)}
.ab-b h3{font-size:21px;margin:0 0 10px;color:var(--head)}
.ab-b p{font-family:var(--dev);font-size:15.5px;line-height:1.9;color:var(--muted);margin:0}
.ab-b:hover{transform:translate3d(0,-10px,0);border-color:var(--gold);box-shadow:var(--shadow)}
.ab-b:hover::before{transform:scaleX(1)}
.ab-b:hover::after{opacity:1}
.ab-b:hover .ab-num{opacity:.3;transform:translate3d(0,4px,0) scale(1.08)}
.ab-b:hover .ab-ic,.ab-h:hover .ab-ic,.ab-c:hover .ab-ic{rotate:-6deg;transform:scale(1.1);box-shadow:0 0 26px rgba(232,200,119,.7)}
.ab-b:hover .ab-ic::after,.ab-h:hover .ab-ic::after,.ab-c:hover .ab-ic::after{opacity:.7;transform:scale(1)}

/* ==========================================================================
   4. SPIRITUAL SIGNIFICANCE (dark)
   ========================================================================== */
.ab-sig{position:relative;overflow:hidden;background:linear-gradient(160deg,var(--deep),var(--maroon));color:#fff;isolation:isolate}
.ab-sig h2{color:var(--gold2)}.ab-sig .sh .sub{color:var(--saf)}
.ab-4{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}
.ab-c{position:relative;background:rgba(255,247,230,.06);border:1px solid rgba(232,200,119,.3);border-radius:22px;padding:32px 22px 28px;text-align:center;backdrop-filter:blur(2px);transition:transform .6s var(--ease),border-color .4s,box-shadow .6s,background .5s}
.ab-c .ab-ic{margin:0 auto 16px}
.ab-c h3{color:var(--gold2);font-size:20px;margin:0 0 8px}
.ab-c p{font-family:var(--dev);font-size:15px;line-height:1.85;color:#ecd9b4;margin:0}
.ab-c:hover{transform:translate3d(0,-10px,0);border-color:var(--gold2);background:rgba(255,247,230,.1);box-shadow:0 26px 50px -24px #000,0 0 36px -6px rgba(232,200,119,.4)}
.ab-chips{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;margin-top:38px}
.ab-chips span{font-family:var(--dev);font-size:14px;padding:7px 18px;border-radius:99px;border:1px solid rgba(232,200,119,.45);color:var(--gold2);background:rgba(232,200,119,.07);transition:background .35s,color .35s,transform .45s var(--ease)}
.ab-chips span:hover{background:var(--gold2);color:var(--deep);transform:translate3d(0,-3px,0)}
.ab-dots{position:absolute;inset:0;pointer-events:none;z-index:-1}
.ab-dots i{position:absolute;width:var(--s);height:var(--s);border-radius:50%;background:radial-gradient(circle,#fff3c8,rgba(232,200,119,.2) 70%);box-shadow:0 0 14px rgba(232,200,119,.8);opacity:.7;animation:abDrift 8s ease-in-out calc(var(--d) * -1) infinite}
@keyframes abDrift{0%,100%{transform:translate3d(0,0,0);opacity:.25}50%{transform:translate3d(14px,-26px,0);opacity:.9}}

/* ==========================================================================
   5. EXPERIENCE (large visual, slow zoom + parallax)
   ========================================================================== */
.ab-exp{position:relative;overflow:hidden;color:#fff;isolation:isolate;padding:clamp(90px,12vw,150px) 0;background:#1d0509}
.ab-bgwrap{position:absolute;inset:-10% 0;z-index:-3;transform:translate3d(0,var(--py,0px),0);will-change:transform}
.ab-bgzoom{position:absolute;inset:0;transform-origin:50% 60%;animation:abKen 32s ease-in-out infinite alternate}
.ab-bgart{position:absolute;inset:0;width:100%;height:100%}
.ab-exp .ab-photo{z-index:1}.ab-exp .ab-photo.ok{opacity:1}
.ab-veil{position:absolute;inset:0;z-index:-2;background:linear-gradient(180deg,rgba(26,5,9,.78),rgba(26,5,9,.55) 45%,rgba(26,5,9,.82))}
@keyframes abKen{from{transform:scale(1)}to{transform:scale(1.12)}}
.ab-exp h2{color:#fff7e6}.ab-exp .sh .sub{color:var(--gold2)}
.ab-pts{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;margin-top:10px}
.ab-pt{position:relative;padding:28px 22px 26px;border-radius:20px;border:1px solid rgba(232,200,119,.35);background:rgba(26,5,9,.42);backdrop-filter:blur(3px);transition:transform .6s var(--ease),border-color .4s,background .5s}
.ab-pt b{display:block;font-family:var(--dev);font-size:30px;color:var(--gold2);line-height:1;margin-bottom:10px;opacity:.9}
.ab-pt h3{color:#fff7e6;font-size:20px;margin:0 0 8px}
.ab-pt p{font-family:var(--dev);font-size:15px;line-height:1.85;color:#ecd9b4;margin:0}
.ab-pt::after{content:"";position:absolute;left:22px;right:22px;bottom:-1px;height:2px;background:linear-gradient(90deg,var(--gold),var(--gold2),transparent);transform:scaleX(0);transform-origin:left;transition:transform .8s var(--ease)}
.ab-pt:hover{transform:translate3d(0,-8px,0);border-color:var(--gold2);background:rgba(26,5,9,.6)}
.ab-pt:hover::after{transform:scaleX(1)}

/* ==========================================================================
   6. HIGHLIGHTS
   ========================================================================== */
.ab-6{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.ab-h{position:relative;overflow:hidden;background:var(--card);border:1px solid var(--line);border-radius:22px;padding:30px 26px 28px;border-top:4px solid var(--gold);transition:transform .6s var(--ease),box-shadow .6s,border-color .4s}
.ab-h::before{content:"";position:absolute;inset:0;background:linear-gradient(115deg,transparent 35%,rgba(232,200,119,.22) 50%,transparent 65%);transform:translate3d(-120%,0,0);transition:transform 1s var(--ease);pointer-events:none}
.ab-h h3{font-size:19px;margin:0 0 8px;color:var(--head)}
.ab-h p{font-family:var(--dev);font-size:15px;line-height:1.85;color:var(--muted);margin:0}
.ab-h:hover{transform:translate3d(0,-9px,0);border-color:var(--gold);box-shadow:var(--shadow)}
.ab-h:hover::before{transform:translate3d(120%,0,0)}

/* ==========================================================================
   7. INFO  (#info / #infGrid — cards are rendered by about.js)
   ========================================================================== */
#info{position:relative}
.inf-g{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.inf{position:relative;overflow:hidden;background:var(--card);border:1px solid var(--line);border-radius:20px;padding:26px;border-top:4px solid var(--gold);transition:transform .5s var(--ease),box-shadow .5s,border-color .4s}
.inf::after{content:"";position:absolute;left:0;right:0;bottom:0;height:3px;background:linear-gradient(90deg,var(--gold),var(--saf),var(--gold2));transform:scaleX(0);transform-origin:left;transition:transform .7s var(--ease)}
.inf:hover{transform:translate3d(0,-8px,0);box-shadow:var(--shadow);border-color:var(--gold)}
.inf:hover::after{transform:scaleX(1)}
.inf .ab-ic{width:56px;height:56px;margin-bottom:12px}
.inf .ab-ic svg{width:32px;height:32px}
.inf:hover .ab-ic{rotate:-6deg;transform:scale(1.1);box-shadow:0 0 24px rgba(232,200,119,.65)}
.inf:hover .ab-ic::after{opacity:.7;transform:scale(1)}
.inf h3{font-size:20px;margin:0 0 6px;color:var(--head)}
.inf p{font-family:var(--dev);font-size:15px;color:var(--muted);margin:0;line-height:1.9}
.inf-more{display:inline-flex;gap:8px;align-items:center;margin-top:12px;font-family:var(--dev);font-weight:600;color:var(--head);border-bottom:1.5px solid var(--gold);padding-bottom:2px}
.inf-more span{transition:transform .45s var(--ease)}
.inf-more:hover span{transform:translate3d(6px,0,0)}

/* ==========================================================================
   8. LOCATION
   ========================================================================== */
.ab-lg{display:grid;grid-template-columns:1fr 1.35fr;gap:30px;align-items:stretch}
.ab-addr{position:relative;background:var(--card);border:1px solid var(--line);border-radius:24px;padding:34px 30px;box-shadow:var(--shadow)}
.ab-pin{display:grid;place-items:center;width:62px;height:62px;border-radius:50%;border:1.5px solid var(--gold);background:radial-gradient(circle at 35% 30%,rgba(232,200,119,.4),rgba(201,150,47,.08));margin-bottom:14px;position:relative}
.ab-pin svg{width:34px;height:34px}
.ab-pin::before,.ab-pin::after{content:"";position:absolute;inset:0;border-radius:50%;border:2px solid var(--gold);opacity:0;animation:abRing 3.4s ease-out infinite}
.ab-pin::after{animation-delay:1.7s}
@keyframes abRing{0%{transform:scale(1);opacity:.6}100%{transform:scale(2);opacity:0}}
.ab-addr h3{font-size:22px;margin:0 0 8px;color:var(--head)}
.ab-addr address{font-style:normal;font-family:var(--dev);font-size:17px;line-height:1.9;color:var(--head)}
.ab-code{display:inline-flex;align-items:baseline;gap:10px;margin:14px 0 20px;padding:8px 16px;border-radius:99px;border:1px dashed var(--gold);background:rgba(201,150,47,.1)}
.ab-code small{font-family:var(--cin,serif);letter-spacing:.14em;font-size:11px;text-transform:uppercase;color:var(--muted)}
.ab-code b{font-family:var(--cin,serif);letter-spacing:.08em;color:var(--head)}
.ab-map{position:relative;border-radius:24px;overflow:hidden;min-height:420px;background:#efe0bd;box-shadow:var(--shadow);isolation:isolate}
.ab-map iframe{position:absolute;inset:0;width:100%;height:100%;border:0;z-index:1}
.ab-map>.bd{inset:0!important;z-index:2;pointer-events:none}
.ab-dir{display:inline-flex;align-items:center;gap:10px}
.ab-dir .arr{display:inline-block;transition:transform .45s var(--ease)}
.ab-dir:hover .arr{transform:translate3d(7px,0,0)}

/* ==========================================================================
   9. CALL TO ACTION
   ========================================================================== */
.ab-cta{position:relative;overflow:hidden;text-align:center;color:#fff;isolation:isolate;padding:clamp(90px,12vw,150px) 0;background:linear-gradient(160deg,#2a0710,var(--maroon) 55%,#3a0a12)}
.ab-ctaglow{position:absolute;left:50%;top:50%;width:min(900px,120vw);height:min(900px,120vw);margin:calc(min(900px,120vw) / -2) 0 0 calc(min(900px,120vw) / -2);border-radius:50%;background:radial-gradient(circle,rgba(255,196,102,.3),transparent 62%);z-index:-1;pointer-events:none;animation:abBreathe 8s ease-in-out infinite}
.ab-mantra{font-family:var(--dev);color:var(--gold2);font-size:clamp(18px,2.6vw,26px);margin-bottom:8px}
.ab-cta h2{color:#fff7e6;font-size:clamp(26px,4.2vw,48px);max-width:860px;margin:0 auto 14px}
.ab-cta p{font-family:var(--dev);color:#ecd9b4;font-size:clamp(16px,2vw,19px);max-width:620px;margin:0 auto 32px}
.ab-ctabtns{justify-content:center}
.ab-glow{position:relative}
.ab-glow::after{content:"";position:absolute;inset:-4px;border-radius:inherit;box-shadow:0 0 0 0 rgba(232,200,119,.55);opacity:.8;animation:abPulse 3.2s ease-out infinite;pointer-events:none}
@keyframes abPulse{0%{box-shadow:0 0 0 0 rgba(232,200,119,.5)}70%,100%{box-shadow:0 0 0 18px rgba(232,200,119,0)}}

/* ==========================================================================
   RESPONSIVE
   ========================================================================== */
@media (max-width:1100px){
  .ab-4,.ab-pts{grid-template-columns:repeat(2,1fr)}
  .inf-g,.ab-6,.ab-3{grid-template-columns:repeat(2,1fr)}
}
@media (max-width:900px){
  .ab-g,.ab-lg{grid-template-columns:1fr}
  .ab-imgcol{max-width:480px;margin:auto}
  .ab-map{min-height:360px}
}
@media (max-width:640px){
  .ab-4,.ab-pts,.inf-g,.ab-6,.ab-3{grid-template-columns:1fr}
  .ab-hero{min-height:max(500px,70svh)}
  .ab-hero-in{padding-top:130px}
  .ab-fl svg:nth-child(n+3){display:none}
  .ab-txt p{font-size:16px}
  .ab-addr{padding:28px 22px}
  .ab-ctabtns .btn{width:100%;justify-content:center;min-height:48px}
  .ab-on [data-ab="left"],.ab-on [data-ab="right"]{transform:translate3d(0,30px,0)}   /* never push content sideways on phones */
  .ab-on [data-ab="zoom"]{filter:none}
}
@media (hover:none){.ab-b:hover,.ab-c:hover,.ab-h:hover,.inf:hover,.ab-pt:hover{transform:none}}

/* ---------- reduced motion ---------- */
@media (prefers-reduced-motion:reduce){
  .ab-hero *,.ab-sig *,.ab-exp *,.ab-cta *,.ab-addr *{animation:none!important}
  .ab-on [data-ab]{opacity:1!important;transform:none!important;filter:none!important;transition:none!important}
  .ab-on .ab-hero:not(.ab-go) [data-h],.ab-on .ab-hero:not(.ab-go) .ab-sky,.ab-on .ab-hero:not(.ab-go) .ab-temple{opacity:1!important;transform:none!important}
}

/* ==========================================================================
   INTRO PHOTO — fills the whole arch frame (same fix as the homepage)
   ========================================================================== */
.ab-imgcol .arch{position:relative!important;display:block!important;width:100%!important;max-width:460px!important;height:auto!important;aspect-ratio:3/4!important;padding:0!important}
.ab-imgcol .arch .about-main-image{
  position:absolute!important;left:0!important;top:0!important;right:0!important;bottom:0!important;
  width:100%!important;height:100%!important;margin:0!important;padding:0!important;
  overflow:hidden!important;
  border-radius:50% 50% 24px 24px / 38% 38% 24px 24px!important;   /* arch top, matches the gold outline */
  clip-path:none!important;transform:none!important;opacity:1!important;
  background:var(--card,#2a0710);
}
.ab-imgcol .arch .about-main-image img{
  position:absolute!important;left:0!important;top:0!important;display:block!important;
  width:100%!important;height:100%!important;min-width:100%!important;min-height:100%!important;
  max-width:none!important;max-height:none!important;
  object-fit:cover!important;object-position:center center!important;
  transition:transform 1.4s var(--ease,ease);
  animation:abImgIn 1.6s var(--ease,ease) both;
}
.ab-imgcol .arch:hover .about-main-image img{transform:scale(1.06)}
@keyframes abImgIn{from{opacity:0;transform:scale(1.12)}to{opacity:1;transform:scale(1)}}
@media (prefers-reduced-motion:reduce){.ab-imgcol .arch .about-main-image img{animation:none}}
