/* Service details page */
.ax .ax-sv{display:grid;grid-template-columns:minmax(0,1.12fr) minmax(0,1fr);gap:40px;align-items:start;background:#fff;border-radius:28px;padding:30px;box-shadow:0 24px 60px rgba(20,23,31,.08),0 0 0 1px rgba(20,23,31,.05);margin-bottom:34px;position:relative;overflow:hidden}
.ax .ax-sv::before{content:"";position:absolute;right:-120px;top:-120px;width:340px;height:340px;border-radius:50%;background:radial-gradient(circle,rgba(227,27,35,.16),transparent 68%);pointer-events:none}
.ax .ax-sv__gal{min-width:0;position:relative}
.ax .ax-sv__stage{position:relative;aspect-ratio:4/3;border-radius:22px;overflow:hidden;background:#0B0D12;cursor:zoom-in;box-shadow:0 18px 44px rgba(20,23,31,.22)}
.ax .ax-sv__stage img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .8s cubic-bezier(.2,.7,.2,1),opacity .2s ease;transform-origin:50% 50%}
.ax .ax-sv__stage img.is-swap{opacity:0}
@media(hover:hover){.ax .ax-sv__stage:hover img{transform:scale(1.22)}}
.ax .ax-sv__stage::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(11,13,18,.0) 55%,rgba(11,13,18,.35));pointer-events:none}
.ax .ax-sv__tag{position:absolute;left:16px;top:16px;z-index:2;padding:8px 14px;border-radius:999px;background:linear-gradient(135deg,#E31B23,#EA4335);color:#fff;font-size:12.5px;font-weight:800;letter-spacing:.04em;box-shadow:0 8px 18px rgba(227,27,35,.4)}
.ax .ax-sv__zoom{position:absolute;right:16px;bottom:16px;z-index:2;width:44px;height:44px;border-radius:50%;border:0;background:rgba(255,255,255,.92);color:#14171F;display:grid;place-items:center;cursor:pointer;box-shadow:0 8px 20px rgba(0,0,0,.25);transition:transform .25s,background .25s}
.ax .ax-sv__zoom:hover{transform:scale(1.1);background:#E31B23}
.ax .ax-sv__thumbs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-top:14px}
.ax .ax-sv__th{padding:0;border:2px solid transparent;border-radius:14px;overflow:hidden;background:#0B0D12;aspect-ratio:4/3;cursor:pointer;opacity:.7;transition:opacity .25s,transform .25s,border-color .25s,box-shadow .25s}
.ax .ax-sv__th img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .5s ease}
.ax .ax-sv__th:hover{opacity:1;transform:translateY(-3px)}
.ax .ax-sv__th:hover img{transform:scale(1.12)}
.ax .ax-sv__th.is-on{opacity:1;border-color:#E31B23;box-shadow:0 8px 20px rgba(227,27,35,.35)}
.ax .ax-sv__info{min-width:0;position:relative}
.ax .ax-sv__chips{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:14px}
.ax .ax-sv__chip{padding:6px 13px;border-radius:999px;background:#F1F3F8;color:#3A4150;font-size:12.5px;font-weight:700}
.ax .ax-sv__chip--hot{background:#FFF1E6;color:#E31B23}
.ax .ax-sv h1{font-family:Inter,sans-serif;font-size:36px;font-weight:800;letter-spacing:-.03em;line-height:1.14;margin:0 0 12px;color:#14171F;text-transform:none}
.ax .ax-sv__lead{font-size:16.5px;line-height:1.65;color:#4A5261;margin:0 0 20px}
.ax .ax-sv__facts{list-style:none;margin:0 0 20px;padding:0;display:grid;gap:10px}
.ax .ax-sv__facts li{display:flex;align-items:center;gap:14px;padding:12px 14px;border-radius:16px;background:#F7F8FB;border:1px solid #EDEFF4;transition:transform .25s,box-shadow .25s}
.ax .ax-sv__facts li:hover{transform:translateX(4px);box-shadow:0 8px 20px rgba(20,23,31,.08)}
.ax .ax-sv__facts small{display:block;font-size:12px;color:#6B7585;font-weight:600}
.ax .ax-sv__facts strong{font-size:15.5px;color:#14171F}
.ax .ax-sv__ic{flex:0 0 42px;height:42px;border-radius:13px;display:grid;place-items:center;color:#fff}
.ax .ax-sv__ic .ax-i{width:21px;height:21px}
.ax .ax-sv__ic--a{background:linear-gradient(135deg,#E31B23,#F2564A)}
.ax .ax-sv__ic--b{background:linear-gradient(135deg,#E31B23,#14B8A6)}
.ax .ax-sv__ic--c{background:linear-gradient(135deg,#4F46E5,#7C3AED)}
.ax .ax-sv__feat{list-style:none;margin:0 0 24px;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:10px 18px}
.ax .ax-sv__feat li{display:flex;align-items:flex-start;gap:10px;font-size:14.5px;font-weight:600;color:#2A303C;line-height:1.4}
.ax .ax-sv__feat i{flex:0 0 20px;height:20px;border-radius:50%;background:#E31B23 url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='3.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m5 12.5 4.5 4.5L19 7.5'/%3E%3C/svg%3E") center/12px no-repeat;margin-top:1px}
.ax .ax-sv__cta{position:relative;overflow:hidden;display:inline-flex;align-items:center;justify-content:center;gap:12px;width:100%;height:62px;border:0;border-radius:18px;background:linear-gradient(120deg,#E31B23 0%,#F2564A 55%,#D9308C 100%);background-size:180% 100%;color:#fff;font-family:Inter,sans-serif;font-size:18px;font-weight:800;letter-spacing:-.01em;cursor:pointer;box-shadow:0 16px 36px rgba(227,27,35,.42);transition:transform .25s,box-shadow .3s,background-position .6s;animation:ax-cta-glow 2.8s ease-in-out infinite}
.ax .ax-sv__cta .ax-i{width:24px;height:24px}
.ax .ax-sv__cta::before{content:"";position:absolute;inset:0;background:linear-gradient(105deg,transparent 30%,rgba(255,255,255,.45) 50%,transparent 70%);transform:translateX(-130%);animation:ax-cta-shine 3.6s ease-in-out infinite}
.ax .ax-sv__cta:hover{transform:translateY(-3px) scale(1.01);background-position:100% 0;box-shadow:0 22px 44px rgba(227,27,35,.55)}
.ax .ax-sv__cta:active{transform:translateY(0) scale(.99)}
.ax .ax-sv__cta.is-off{background:#C9CFDA;box-shadow:none;animation:none;cursor:not-allowed}
.ax .ax-sv__cta.is-off::before{display:none}
@keyframes ax-cta-glow{0%,100%{box-shadow:0 16px 36px rgba(227,27,35,.38)}50%{box-shadow:0 20px 48px rgba(242,86,74,.58)}}
@keyframes ax-cta-shine{0%,55%{transform:translateX(-130%)}85%,100%{transform:translateX(130%)}}
.ax .ax-sv__note{margin:12px 2px 0;font-size:13px;line-height:1.5;color:#6B7585;text-align:center}
/* steps */
.ax .ax-sv__steps{margin:6px 0 40px}
.ax .ax-sv__steps h2{font-family:Inter,sans-serif;font-size:26px;font-weight:800;letter-spacing:-.025em;margin:0 0 16px}
.ax .ax-sv__steps ol{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.ax .ax-sv__steps li{display:flex;gap:14px;align-items:flex-start;padding:20px;border-radius:20px;background:#fff;border:1px solid #E6E9EF;transition:transform .3s,box-shadow .3s}
.ax .ax-sv__steps li:hover{transform:translateY(-4px);box-shadow:0 16px 34px rgba(20,23,31,.1)}
.ax .ax-sv__steps b{flex:0 0 40px;height:40px;border-radius:12px;display:grid;place-items:center;background:linear-gradient(135deg,#E31B23,#F2564A);color:#fff;font-size:18px}
.ax .ax-sv__steps strong{display:block;font-size:16px;margin-bottom:4px}
.ax .ax-sv__steps p{margin:0;font-size:14px;line-height:1.5;color:#5B6575}
/* lightbox */
.ax .ax-lb{position:fixed;inset:0;z-index:300;background:rgba(8,10,14,.92);display:flex;align-items:center;justify-content:center;padding:24px;animation:ax-fade .2s ease}
.ax .ax-lb[hidden]{display:none}
.ax .ax-lb img{max-width:min(92vw,1400px);max-height:88vh;border-radius:14px;box-shadow:0 30px 80px rgba(0,0,0,.6);transition:opacity .2s;object-fit:contain}
.ax .ax-lb img.is-swap{opacity:0}
.ax .ax-lb__x,.ax .ax-lb__n{position:absolute;border:0;background:rgba(255,255,255,.14);color:#fff;width:52px;height:52px;border-radius:50%;font-size:30px;line-height:1;cursor:pointer;display:grid;place-items:center;transition:background .2s,transform .2s}
.ax .ax-lb__x:hover,.ax .ax-lb__n:hover{background:#E31B23;color:#14171F;transform:scale(1.08)}
.ax .ax-lb__x{right:20px;top:20px}.ax .ax-lb__n--p{left:20px}.ax .ax-lb__n--n{right:20px}
/* booking form extras */
.ax .ax-bf__svc{grid-column:1/-1;margin:0;padding:10px 14px;border-radius:12px;background:#FFF1E6;color:#7A3410;font-size:14px}
.ax .ax-bf textarea{width:100%;min-height:84px;padding:12px 14px;border:1px solid #CBD0D8;border-radius:12px;font:inherit;resize:vertical}
.ax .ax-bf__row{display:grid;grid-template-columns:1fr 1fr;gap:12px}
@media(max-width:980px){.ax .ax-sv{grid-template-columns:1fr;gap:26px;padding:22px}.ax .ax-sv h1{font-size:30px}.ax .ax-sv__steps ol{grid-template-columns:1fr}}
@media(max-width:640px){.ax .ax-sv{padding:14px;border-radius:20px;gap:20px}.ax .ax-sv__stage{border-radius:16px}.ax .ax-sv__thumbs{gap:8px}.ax .ax-sv h1{font-size:25px}.ax .ax-sv__lead{font-size:15px}.ax .ax-sv__feat{grid-template-columns:1fr}.ax .ax-sv__cta{height:56px;font-size:16.5px}.ax .ax-lb__n{width:42px;height:42px}.ax .ax-bf__row{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){.ax .ax-sv__cta,.ax .ax-sv__cta::before{animation:none}.ax .ax-sv__stage img{transition:none}}
