:root{--ink:#161716;--charcoal:#111312;--cream:#f6f4ee;--white:#fff;--gold:#d5a54c;--gold-deep:#9c7028;--stone:#eae6dc;--muted:#63645f;--rule:#d9d5ca;--max:1170px;--header:72px}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:calc(var(--header) + 10px)}
body{margin:0;background:var(--cream);color:var(--ink);font:400 16px/1.6 'DM Sans',Inter,Arial,sans-serif;overflow-x:clip}
img{max-width:100%;display:block}a{color:inherit}::selection{background:var(--gold);color:var(--charcoal)}
.skip-link{position:absolute;left:12px;top:-100px;padding:10px 16px;background:var(--charcoal);color:#fff;z-index:9999}.skip-link:focus{top:12px}
.container{width:min(calc(100% - 64px),var(--max));margin-inline:auto}
.section{padding:clamp(72px,8vw,110px) 0}
h1,h2,h3,p{margin-top:0}h1,h2,h3{line-height:1.07;letter-spacing:-.055em}h2{font-size:clamp(2.8rem,5.25vw,5.25rem);font-weight:800}h3{font-weight:800}
.site-header{position:sticky;top:0;height:var(--header);z-index:1000;background:var(--cream);border-bottom:1px solid rgba(25,25,25,.1);transition:box-shadow .2s}
.site-header.scrolled{box-shadow:0 8px 24px rgba(0,0,0,.055)}
.header-inner{height:100%;width:min(calc(100% - 64px),1310px);margin-inline:auto;display:grid;grid-template-columns:1fr 1fr 1fr;align-items:center;gap:12px}
.brand{text-decoration:none;display:inline-flex;flex-direction:column;align-items:flex-start;width:fit-content;line-height:1}
.brand-name{font-weight:900;font-size:1.25rem;letter-spacing:-.075em}.brand-dot{color:var(--gold-deep)}.brand-sub{padding-top:4px;font-size:.53rem;font-weight:800;letter-spacing:.15em;color:#76736b}
.site-nav{display:flex;align-items:center;justify-content:center;gap:38px}.site-nav a{text-decoration:none;text-transform:uppercase;font-size:.67rem;letter-spacing:.09em;font-weight:800}.site-nav a:hover{color:var(--gold-deep)}
.header-cta{justify-self:end;padding:10px 17px;background:var(--charcoal);border:1px solid var(--charcoal);text-decoration:none;color:#fff;text-transform:uppercase;font-size:.69rem;font-weight:800;letter-spacing:.04em;display:flex;gap:17px;align-items:center;transition:background .2s,color .2s}
.header-cta:hover{color:var(--charcoal);background:var(--gold)}
.button{display:inline-flex;align-items:center;justify-content:center;gap:24px;min-height:58px;padding:0 28px;text-decoration:none;font-size:.78rem;font-weight:900;letter-spacing:.015em;transition:background .2s,color .2s,transform .2s;border:1px solid var(--charcoal);border-radius:0}
.button:hover{transform:translateY(-2px)}.button-gold{background:var(--gold);color:#171715;border-color:var(--gold)}.button-gold:hover{background:#e6bb65;border-color:#e6bb65}.button-outline{background:transparent;color:var(--charcoal)}.button-outline:hover{background:var(--charcoal);color:#fff}.button-dark{background:var(--charcoal);color:#fff}.button-dark:hover{background:var(--gold);color:var(--charcoal);border-color:var(--gold)}
/* The entire opening is editorial type, centered, without a distracting hero photo. */
.hero{padding:clamp(76px,7.8vw,123px) 0 clamp(82px,8vw,120px);background:var(--cream);overflow:hidden}
.hero-inner{text-align:center}
.hero h1{font-family:'DM Sans',Arial,sans-serif;font-size:clamp(3.25rem,7.25vw,7.2rem);font-weight:900;letter-spacing:-.088em;line-height:.94;max-width:1170px;margin:0 auto 34px;text-wrap:balance}
.highlight-word{position:relative;white-space:nowrap;z-index:0}.highlight-word::after{content:"";position:absolute;left:0;right:0;bottom:.03em;height:.12em;background:var(--gold);z-index:-1;transform:skewX(-7deg)}
.gold-period{color:var(--gold-deep)}
.hero-subhead{max-width:1000px;margin:0 auto 19px;font-size:clamp(1.35rem,2.25vw,2.05rem);font-weight:650;letter-spacing:-.037em;line-height:1.28;text-wrap:balance}
.hero-subhead strong{font-weight:900;white-space:nowrap}.hero-subhead span{font-weight:800}
.hero-description{max-width:810px;margin:0 auto 26px;color:var(--muted);font-size:clamp(.98rem,1.23vw,1.1rem);line-height:1.7;text-wrap:pretty}.hero-description strong{font-weight:800;color:var(--charcoal)}
.hero-actions{display:flex;justify-content:center;flex-wrap:wrap;gap:11px;margin:0 auto}.hero-assurance{margin:15px auto 0;font-size:.75rem;color:#716b5d;letter-spacing:.008em}
.vsl-wrap{width:min(100%,965px);margin:62px auto 0;text-align:left}
.vsl-screen{width:100%;aspect-ratio:16/9;background:var(--charcoal);border:1px solid #2e3230;position:relative;isolation:isolate;overflow:hidden;display:grid;place-items:center;color:#fff}
.vsl-screen::before,.vsl-screen::after{content:"";position:absolute;z-index:0;border:1px solid rgba(221,181,106,.18);border-radius:50%;width:900px;height:900px;left:50%;top:50%;transform:translate(-50%,-50%)}.vsl-screen::after{width:580px;height:580px;border-color:rgba(221,181,106,.15)}
.vsl-art{position:absolute;inset:0;pointer-events:none;background:radial-gradient(ellipse at center,rgba(52,51,42,.12),transparent 55%)}.vsl-art span{position:absolute;display:block;background:#d5a54c;opacity:.15;height:1px;transform:rotate(-24deg);width:140%;left:-18%;top:50%}.vsl-art span:nth-child(2){top:63%;opacity:.09}.vsl-art span:nth-child(3){top:35%;opacity:.1}
.vsl-content{position:relative;z-index:1;text-align:center;padding:28px;max-width:600px}.vsl-eyebrow{display:block;color:var(--gold);font-size:.65rem;letter-spacing:.22em;font-weight:800;margin-bottom:17px}.vsl-content strong{display:block;font-size:clamp(2.2rem,4.5vw,4.1rem);font-weight:900;letter-spacing:-.075em;line-height:1.08}.vsl-content p{margin:14px 0 0;color:#c3c2bc;font-size:.9rem}.vsl-corner{position:absolute;left:30px;bottom:24px;font-size:.7rem;font-weight:800;letter-spacing:.08em;color:#aaa69c}.vsl-corner span{color:var(--gold);margin-left:6px}
.eyebrow{margin:0 0 16px;font-size:.69rem;letter-spacing:.21em;font-weight:900;color:var(--gold-deep)}
/* Vertical spacing stays disciplined. The user-requested curving motion is SVG animateMotion, like the ARI reference site. */
.process{background:#fff;border-top:1px solid var(--rule)}
.section-heading-centered{max-width:1010px;margin:0 auto;text-align:center}
.section-heading-centered h2{font-size:clamp(2.65rem,5.35vw,5.3rem);margin:0 0 26px;letter-spacing:-.07em;line-height:1.05}.section-heading-centered h2 span{color:var(--gold-deep)}
.section-heading-centered>p:not(.eyebrow){max-width:840px;margin:0 auto;color:var(--muted);line-height:1.78;font-size:clamp(.98rem,1.18vw,1.1rem)}.section-heading-centered strong{color:var(--ink);font-weight:800}
.journey{margin-top:69px;position:relative}
.journey-track{position:relative}
.journey-path{width:100%;height:184px;display:block;overflow:visible}
.journey-path-mobile{display:none}
.journey-stations>circle{fill:#fff;stroke:#bb8b40;stroke-width:2}.journey-stations>.station-final{fill:var(--gold);stroke:var(--charcoal);stroke-width:3}.journey-stations>.station-core{fill:#b78a41;stroke:none}.journey-stations .station-check{stroke:var(--charcoal)}
.moving-light{filter:drop-shadow(0 0 5px rgba(213,165,76,.8))}
.journey-steps{position:relative;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:22px;margin-top:-9px}
.journey-step{padding:0 12px 0 0}.journey-number{font-size:.68rem;font-weight:900;letter-spacing:.14em;color:#a07838;display:block;margin:0 0 13px}
.journey-step h3{font-size:clamp(1.38rem,2vw,2rem);margin:0 0 12px;letter-spacing:-.052em;line-height:1.09}
.journey-step p{margin:0;color:var(--muted);font-size:.87rem;line-height:1.65}
.journey-approved{position:relative;padding:21px 20px 22px;background:var(--charcoal);margin-top:-21px;border-top:5px solid var(--gold);color:#fff}
.journey-approved .journey-number{color:var(--gold)}.journey-approved h3{font-size:clamp(1.9rem,2.65vw,2.7rem);letter-spacing:-.075em;line-height:.99}.journey-approved h3 span{color:var(--gold)}.journey-approved p{color:#d2d0ca;font-size:.83rem;line-height:1.58}
.process-actions{text-align:center;margin:48px auto 0}.process-actions p{margin:14px auto 0;max-width:600px;color:#878279;font-size:.74rem}
.website-feature{display:grid;grid-template-columns:1fr 1fr;min-height:348px;background:var(--charcoal);color:#fff}
.website-media{height:348px;overflow:hidden}.website-media img{width:100%;height:100%;object-fit:cover;object-position:center 35%;filter:saturate(.65)}
.website-copy{min-height:348px;padding:52px clamp(42px,5vw,92px);display:flex;flex-direction:column;align-items:flex-start;justify-content:center}
.website-copy .eyebrow{color:var(--gold);margin-bottom:9px}.website-copy h2{font-size:clamp(2.7rem,4.3vw,4.3rem);margin:0 0 14px;font-weight:800;letter-spacing:-.068em}
.website-copy>p:not(.eyebrow){max-width:495px;color:#d1cfca;margin-bottom:14px;font-size:.96rem;line-height:1.65}
.text-link{font-size:.75rem;font-weight:800;letter-spacing:.025em;text-decoration:none;color:var(--gold);border-bottom:1px solid rgba(213,165,76,.6);padding-bottom:3px}.text-link:hover{color:#fff}
.after-approval{background:#eeeae1;text-align:center;padding:80px 0}.after-approval-inner{max-width:960px}.after-approval h2{margin:0 auto 16px;font-size:clamp(2.4rem,4.6vw,4.5rem)}.after-approval h2 span{color:#95805d}.after-approval-inner>p:not(.eyebrow){max-width:660px;margin:0 auto;color:#68645d;line-height:1.75}
.faq{background:#fff}.faq-layout{display:grid;grid-template-columns:.8fr 1.2fr;gap:clamp(50px,8vw,128px)}.faq-heading h2{margin:0 0 23px;font-size:clamp(2.5rem,4.2vw,4.2rem)}.faq-heading>p:not(.eyebrow){color:var(--muted);max-width:340px}.faq-list{border-top:1px solid var(--rule)}
details{border-bottom:1px solid var(--rule)}summary{position:relative;list-style:none;padding:20px 36px 20px 0;cursor:pointer;font-weight:800;font-size:.96rem;line-height:1.4}summary::-webkit-details-marker{display:none}summary::after{content:'+';font-size:1.5rem;font-weight:400;color:var(--gold-deep);position:absolute;right:4px;top:50%;transform:translateY(-50%)}details[open] summary::after{content:'−'}details p{padding:0 35px 20px 0;margin:0;color:var(--muted);line-height:1.72;font-size:.93rem}details p a{color:#98691f;text-decoration-thickness:1px;text-underline-offset:3px}
.closing{background:var(--charcoal);color:#fff;padding:76px 0;text-align:center}.closing-inner>p{font-size:.66rem;letter-spacing:.21em;font-weight:900;color:var(--gold);margin-bottom:10px}.closing h2{font-size:clamp(2.9rem,5.1vw,5rem);margin:0 0 29px}.closing .button{min-width:245px}
.site-footer{background:#0a0b0a;color:#fff;padding:40px 0 30px}.footer-inner{display:grid;grid-template-columns:1fr 1fr;gap:22px}.footer-brand{display:inline-block;color:#fff;font-size:1.45rem;letter-spacing:-.07em;text-decoration:none;font-weight:900}.footer-brand span{color:var(--gold)}.footer-inner>div p{margin:2px 0 0;color:#b9b5ad;font-size:.83rem}.footer-inner nav{display:flex;flex-wrap:wrap;gap:20px;justify-content:flex-end;align-items:center}.footer-inner nav a{color:#e5e2d9;text-decoration:none;font-weight:700;font-size:.77rem}.footer-inner nav a:hover{color:var(--gold)}.footer-disclaimer{margin:22px 0 0;grid-column:1/-1;padding-top:17px;border-top:1px solid #363733;color:#9c9b94;font-size:.72rem;line-height:1.6}
.mobile-sticky{display:none}
/* Booking page retains the separate GHL embed slot and matches the new visual design. */
.booking-page{background:var(--charcoal);color:#fff}.booking-page .site-header{background:var(--charcoal);border-bottom:1px solid #303230}.booking-page .brand,.booking-page .site-nav a{color:#fff}.booking-page .brand-sub{color:#9f9e98}.booking-page .header-cta{border-color:#ada99d;background:transparent}.booking-page .header-cta:hover{background:var(--gold);color:#111}
.booking-main{padding-top:48px}.booking-top{padding:30px 0 37px}.booking-top .eyebrow{color:var(--gold)}.booking-top h1{font-size:clamp(3.3rem,8vw,7rem);letter-spacing:-.075em;font-weight:900;line-height:1.01;margin:0 0 18px}.booking-top h1 span{color:var(--gold)}.booking-top>p:not(.eyebrow){max-width:650px;color:#c5c5be}
.booking-content{display:grid;grid-template-columns:.77fr 1.23fr;gap:55px;align-items:start;padding-bottom:80px}
.booking-side{padding-top:20px}.booking-side h2{font-size:clamp(2rem,3vw,3rem);line-height:1.15;font-weight:800;letter-spacing:-.065em;margin:0 0 20px}.booking-side>p{color:#d3d0c8;line-height:1.8;font-size:.97rem;max-width:500px}.booking-note{border-top:1px solid #484a46;padding:20px 0;margin-top:35px;display:flex;gap:17px}.booking-note>span{color:var(--gold);font-size:1.6rem}.booking-note p{margin:0;color:#aaa9a1;font-size:.86rem}
.calendar-panel{min-height:520px;border:1px solid #58554b;background:#f4f1eb;padding:18px;color:var(--ink)}.ghl-calendar-placeholder{min-height:480px;border:1px dashed #b7b0a4;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:36px;text-align:center}.placeholder-label{font-size:.7rem;letter-spacing:.17em;color:var(--gold-deep);font-weight:900}.ghl-calendar-placeholder strong{font-size:2rem;letter-spacing:-.05em}.ghl-calendar-placeholder p:last-child{max-width:350px;color:var(--muted);font-size:.88rem}.booking-footer{background:#090a09;border-top:1px solid #323330;padding:24px 0;color:#aaa8a0;font-size:.78rem}.booking-footer .container{display:flex;justify-content:space-between;gap:15px;flex-wrap:wrap}.booking-footer a{color:#e7e5db;text-decoration:none}
/* Approval is the single visually emphasized milestone, not another pricing card. */
.journey-approved{background:var(--gold);color:var(--charcoal);border-top-color:var(--charcoal)}
.journey-approved .journey-number{color:#584221}
.journey-approved h3 span{color:#fff}
.journey-approved p{color:#23211d}
/* Optional entrance motion; no dependency on JS for primary visibility. */
.reveal{opacity:1;transform:none}
@media(max-width:1020px){.header-inner{grid-template-columns:1fr auto}.site-nav{display:none}.faq-layout{grid-template-columns:1fr;gap:28px}.faq-heading h2 br{display:none}.faq-heading>p:not(.eyebrow){max-width:600px}.booking-content{grid-template-columns:1fr}.booking-side{padding-top:0}.calendar-panel{max-width:840px;width:100%}}
@media(max-width:760px){:root{--header:66px}.container{width:min(calc(100% - 36px),var(--max))}.header-inner{width:calc(100% - 32px)}.brand-name{font-size:1.02rem}.brand-sub{font-size:.45rem}.header-cta{padding:9px 11px;font-size:.64rem;gap:7px}.header-cta span{display:none}.hero{padding:64px 0 74px}.hero h1{font-size:clamp(2.7rem,10.8vw,4.4rem);margin-bottom:28px;letter-spacing:-.075em;line-height:1.01}.hero h1 br{display:none}.highlight-word{white-space:normal}.hero-subhead{font-size:clamp(1.28rem,5.2vw,1.68rem);margin-bottom:18px;line-height:1.32}.hero-description{font-size:.99rem;line-height:1.63;margin-bottom:25px}.hero-actions{flex-direction:column;align-items:stretch;gap:10px}.hero-actions .button{width:100%;min-height:53px}.hero-assurance{font-size:.72rem;margin-top:14px}.vsl-wrap{margin-top:36px}.vsl-screen{aspect-ratio:16/10}.vsl-screen::before{width:400px;height:400px}.vsl-screen::after{width:250px;height:250px}.vsl-eyebrow{font-size:.48rem;letter-spacing:.12em}.vsl-content strong{font-size:1.75rem}.vsl-content p{font-size:.75rem}.vsl-corner{left:13px;bottom:10px;font-size:.5rem}.section{padding:72px 0}.section-heading-centered h2{font-size:clamp(2.5rem,9.5vw,3.7rem);margin-bottom:22px}.section-heading-centered>p:not(.eyebrow){font-size:.95rem;line-height:1.68}.journey{margin-top:38px}.journey-track{position:relative;min-height:680px}.journey-path-desktop{display:none}.journey-path-mobile{display:block;position:absolute;top:0;left:0;height:680px;width:84px}.journey-steps{position:absolute;top:0;left:0;right:0;display:grid;grid-template-columns:1fr;gap:0;margin:0 0 0 87px}.journey-step{padding:42px 0 12px;height:167px}.journey-number{font-size:.62rem;margin-bottom:10px}.journey-step h3{font-size:clamp(1.4rem,6vw,1.8rem);margin:0 0 8px}.journey-step h3 br{display:none}.journey-step p{font-size:.83rem;line-height:1.49}.journey-approved{height:166px;margin:0;padding:21px 14px;border-top-width:4px}.journey-approved h3{font-size:clamp(1.63rem,7.4vw,2.1rem);margin-bottom:9px}.journey-approved p{font-size:.74rem;line-height:1.38}.process-actions{margin-top:23px}.process-actions .button{width:100%;padding:0 13px}.process-actions p{font-size:.69rem;line-height:1.6}.website-feature{grid-template-columns:1fr}.website-media{height:240px}.website-copy{min-height:auto;padding:48px 24px 54px}.website-copy h2{font-size:3rem}.website-copy>p:not(.eyebrow){font-size:.94rem}.after-approval{padding:64px 0}.after-approval h2{font-size:clamp(2.35rem,9vw,3.4rem)}.faq-heading h2{font-size:3.05rem}.faq-heading h2 br{display:none}.faq-layout{gap:20px}summary{font-size:.94rem;padding:20px 34px 20px 0}.closing{padding:67px 0}.closing h2{font-size:clamp(2.8rem,9vw,4.3rem)}.closing .button{width:100%}.footer-inner{grid-template-columns:1fr;gap:22px}.footer-inner nav{justify-content:flex-start;gap:16px 24px}.footer-disclaimer{margin:0}.mobile-sticky{display:flex;opacity:0;transform:translateY(140%);pointer-events:none;transition:opacity .2s,transform .2s;align-items:center;justify-content:center;gap:10px;position:fixed;bottom:11px;left:12px;right:12px;z-index:900;background:var(--gold);color:#111;min-height:52px;font-weight:900;font-size:.8rem;text-decoration:none;box-shadow:0 9px 25px #0003}.mobile-sticky.is-visible{opacity:1;transform:translateY(0);pointer-events:auto}body:not(.booking-page){padding-bottom:64px}.booking-main{padding-top:10px}.booking-top{padding:25px 0}.booking-top h1{font-size:clamp(2.8rem,12vw,4.5rem)}.booking-content{gap:19px;padding-bottom:48px}.booking-side h2{font-size:2.2rem}.calendar-panel{padding:11px;min-height:440px}.ghl-calendar-placeholder{min-height:415px;padding:25px}.booking-footer .container{flex-direction:column;gap:7px}}
@media(min-width:761px) and (max-width:950px){
.journey{margin-top:40px}.journey-track{min-height:680px}.journey-path-desktop{display:none}.journey-path-mobile{display:block;position:absolute;top:0;left:0;width:100px;height:680px}.journey-steps{position:absolute;top:0;left:0;right:0;display:grid;grid-template-columns:1fr;gap:0;margin:0 0 0 116px}.journey-step{height:167px;padding:32px 0 10px}.journey-step h3 br{display:none}.journey-step h3{font-size:2rem}.journey-step p{max-width:540px}.journey-approved{height:172px;margin:0;padding:21px 30px}.journey-approved h3{font-size:2.4rem}
}
@media(max-width:420px){.hero h1{font-size:clamp(2.64rem,10.1vw,3.25rem)}.hero-subhead{font-size:1.26rem}.journey-track{min-height:748px}.journey-path-mobile{height:748px}.journey-step{height:185px}.journey-approved{height:192px}.journey-approved p{font-size:.7rem}.journey-steps{margin-left:82px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.button{transition:none}.moving-light{display:none}}
/* Cleaner standalone booking experience: put the calendar directly below the intro. */
.booking-main{padding-top:24px}
.booking-top{text-align:center;padding:34px 0 34px}
.booking-top .eyebrow{margin-bottom:13px}
.booking-top h1{font-size:clamp(3.4rem,6vw,5.9rem);margin-bottom:14px;letter-spacing:-.07em}
.booking-top>p:not(.eyebrow){margin-left:auto;margin-right:auto;max-width:670px}
.booking-content{display:flex;flex-direction:column;align-items:center;gap:20px;max-width:850px;padding-bottom:58px}
.booking-content .calendar-panel{width:100%;min-height:440px}
.booking-content .ghl-calendar-placeholder{min-height:400px}
.booking-proof{color:#aaa9a1;font-size:.78rem;text-align:center;line-height:1.65;max-width:640px;margin:0}
@media(max-width:760px){.booking-main{padding-top:4px}.booking-top{padding:32px 0 24px}.booking-top h1{font-size:clamp(2.7rem,10vw,3.4rem)}.booking-content{padding-bottom:46px;gap:14px}.booking-content .calendar-panel{min-height:405px}.booking-content .ghl-calendar-placeholder{min-height:380px}}
/* Drop-in integrations: the wrapper stays responsive once real embeds are pasted. */
.vsl-screen>iframe{position:absolute;inset:0;width:100%;height:100%;border:0;z-index:2}
#ghl-calendar iframe{display:block;width:100%;min-height:520px;border:0}
.booking-page .header-cta{color:#fff}
.booking-page .header-cta:hover{color:var(--charcoal)}

/* Official ARI Digital mark. Styled typography adapts the brand to the pale page and dark booking page. */
.brand{flex-direction:row;align-items:center;gap:9px;min-width:0}
.brand-icon{display:block;height:54px;width:auto;max-width:55px;object-fit:contain;flex:none}
.brand-text{display:flex;flex-direction:column;align-items:flex-start;gap:4px;min-width:0}
.brand-name{font-size:1.28rem;line-height:1;font-weight:900;letter-spacing:-.072em;white-space:nowrap}
.brand-sub{padding-top:0;line-height:1.1;white-space:nowrap;font-size:.52rem;letter-spacing:.14em}
.footer-brand img{display:block;width:190px;height:auto;max-width:100%}
@media(max-width:760px){
  .brand{gap:5px}
  .brand-icon{height:46px;max-width:46px}
  .brand-name{font-size:1.07rem}
  .brand-sub{font-size:.42rem;letter-spacing:.1em}
}
@media(max-width:365px){
  .brand-icon{height:38px;max-width:38px}
  .brand-name{font-size:.98rem}
  .brand-sub{font-size:.38rem}
  .header-cta{font-size:.6rem;padding:9px 9px}
}

/* The final approval checkmark lights up as each traveling dot arrives. */
.journey-stations .station-final.approval-flash{
  transform-box:fill-box;
  transform-origin:center;
  animation:grant-approval-pulse .86s ease-out;
}
.journey-stations .station-check.approval-flash{
  animation:grant-check-glow .86s ease-out;
}
@keyframes grant-approval-pulse{
  0%,100%{transform:scale(1);fill:var(--gold);filter:none}
  20%{transform:scale(1.2);fill:#ffe7a3;filter:drop-shadow(0 0 10px rgba(218,158,47,.95))}
  48%{transform:scale(1.07);fill:#efbd63;filter:drop-shadow(0 0 4px rgba(218,158,47,.55))}
  70%{transform:scale(1.14);fill:#ffe7a3;filter:drop-shadow(0 0 7px rgba(218,158,47,.75))}
}
@keyframes grant-check-glow{
  0%,100%{stroke:var(--charcoal);filter:none}
  20%,70%{stroke:#fff;filter:drop-shadow(0 0 3px rgba(255,255,255,.9))}
}
@media(prefers-reduced-motion:reduce){
  .journey-stations .approval-flash{animation:none}
}
