
.asi-session-page{
  font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif;
  color:#102f4d;width:100%;overflow:hidden;
}
.asi-sp-wrap{max-width:1180px;margin:0 auto;padding:0 28px}

/* HERO — compact and integrated, not a separate poster */
.asi-sp-hero{
  background:linear-gradient(135deg,#fffdfa 0%,#f8fbff 58%,#edf6ff 100%);
  padding:34px 0 28px;
}
.asi-sp-hero-grid{
  display:grid;grid-template-columns:1.02fr .98fr;gap:38px;align-items:center;
}
.asi-sp-hero-copy{padding:12px 0 8px}
.asi-sp-hero-copy h1{
  margin:0;max-width:620px;
  font-family:Georgia,"Times New Roman",serif;
  font-size:clamp(38px,4.4vw,60px);
  line-height:1.07;font-weight:500;letter-spacing:-.035em;color:#0c2f58;
}
.asi-sp-accent-line{
  width:38px;height:3px;border-radius:99px;background:#1677ff;margin:22px 0 26px;
}
.asi-sp-proof-wrap{display:flex;flex-direction:column;align-items:flex-start;gap:7px}
.asi-sp-proof{display:flex;align-items:center;gap:13px;font-size:17px}
.asi-sp-proof strong{font-weight:650;color:#0d315b}
.asi-sp-rating{font-size:14px;font-weight:700;color:#e8a400;letter-spacing:.04em;margin-left:2px}
.asi-sp-mini-avatars{display:flex;padding-left:10px}
.asi-sp-mini-avatars span{
  width:34px;height:34px;border-radius:50%;background:#fff;border:2px solid #fff;
  margin-left:-10px;display:flex;align-items:center;justify-content:center;font-size:18px;
  box-shadow:0 2px 8px rgba(9,52,91,.08);
}

/* photo treatment */
.asi-sp-hero-photo{
  min-height:0;display:flex;align-items:center;justify-content:center;
  position:relative;padding:18px 20px 8px;
}
.asi-sp-hero-photo:before{
  content:"";position:absolute;inset:8% 2% 4% 12%;
  background:#dfefff;border-radius:34px;z-index:0;
}
.asi-sp-hero-photo img{
  position:relative;z-index:1;display:block;width:100%;max-width:480px;height:355px;
  object-fit:cover;object-position:center 38%;border-radius:24px;
  box-shadow:0 18px 42px rgba(14,52,84,.14);
}
.asi-sp-photo-placeholder{
  position:relative;z-index:1;width:100%;max-width:480px;height:355px;border-radius:24px;
  border:1px dashed #bfd4e8;background:#f3f8fd;display:flex;align-items:center;justify-content:center;
  text-align:center;color:#68849d;padding:30px;
}

/* SERVICES — primary focal area */
.asi-sp-services{
  background:linear-gradient(180deg,#edf6ff 0%,#eaf4fd 100%);
  padding:48px 0 54px;
}
.asi-sp-services h2{
  text-align:center;margin:0;font-family:Georgia,"Times New Roman",serif;
  font-size:clamp(34px,3.2vw,46px);font-weight:500;letter-spacing:-.03em;color:#0b2f58;
}
.asi-sp-title-line{width:46px;height:3px;border-radius:99px;background:#2a83ff;margin:13px auto 32px}
.asi-sp-cards{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.asi-sp-card{
  background:#fff;border:1px solid #e2ebf3;border-radius:20px;padding:25px 22px 20px;
  box-shadow:0 12px 30px rgba(13,55,89,.06);display:flex;flex-direction:column;min-height:388px;
}
.asi-sp-icon{
  width:72px;height:72px;border-radius:50%;display:flex;align-items:center;justify-content:center;margin:0 auto 18px;
}
.asi-sp-card-1 .asi-sp-icon{background:#e7f2ff}.asi-sp-card-2 .asi-sp-icon{background:#dcf8ef}
.asi-sp-card-3 .asi-sp-icon{background:#ffe8ea}.asi-sp-card-4 .asi-sp-icon{background:#eee8ff}
.asi-sp-icon svg{width:36px;height:36px;fill:none;stroke:#0b3467;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.asi-sp-card h3{
  margin:0;text-align:center;font-family:Georgia,"Times New Roman",serif;font-size:24px;
  line-height:1.1;font-weight:600;color:#0d315b;
}
.asi-sp-card p{margin:15px 0 18px;text-align:center;color:#49657b;font-size:14px;line-height:1.55;min-height:66px}
.asi-sp-meta{
  margin-top:auto;padding:16px 0;border-top:1px solid #e5edf4;display:flex;align-items:center;justify-content:space-between;
}
.asi-sp-meta strong{font-size:23px;color:#0a2d56}.asi-sp-time{color:#0d74ed;font-size:14px;font-weight:600}
.asi-sp-book{
  display:flex;align-items:center;justify-content:center;gap:11px;text-decoration:none;
  border:1.5px solid #1476f4;color:#0b67d3;background:#fff;border-radius:10px;padding:12px 14px;
  font-size:14px;font-weight:700;transition:.18s;
}
.asi-sp-book:hover{background:#0c65cf;color:#fff;border-color:#0c65cf}.asi-sp-disabled{opacity:.55;cursor:not-allowed}

/* testimonial location owned by sessions page */
.asi-sp-testimonials{background:#052d5d;padding:2px 0 26px}
.asi-sp-testimonials .asi-testimonials-section{padding:34px 0 10px;color:#fff}
.asi-sp-testimonials .asi-kicker,.asi-sp-testimonials .asi-testimonials-head p,.asi-sp-testimonials .asi-proof-row{display:none!important}
.asi-sp-testimonials .asi-testimonials-head{justify-content:center;text-align:center;margin-bottom:12px}
.asi-sp-testimonials .asi-testimonials-head>div:first-child{width:100%}
.asi-sp-testimonials .asi-testimonials-head h2{
  color:#fff;font-family:Georgia,"Times New Roman",serif;font-size:42px;font-weight:500;margin:0 0 12px
}
.asi-sp-testimonials .asi-proof-inline{color:#fff!important;font-size:14px;margin-top:4px}
.asi-sp-testimonials .asi-testimonial-card{background:#fff;border-color:#d8e4ee;min-height:300px;color:#173752}
.asi-sp-testimonials .asi-card-review{color:#173752}.asi-sp-testimonials .asi-card-footer strong{color:#0a2f58}
.asi-sp-testimonials .asi-carousel-btn{background:#fff;border-color:#fff;color:#0a2f58}
.asi-sp-testimonials .asi-carousel-btn:disabled{opacity:.3}
.asi-sp-testimonials .asi-empty-testimonials{background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.25);color:#fff}
.asi-sp-testimonials-missing{border:1px dashed rgba(255,255,255,.35);color:#fff;border-radius:18px;padding:30px;text-align:center}

@media(max-width:1000px){
  .asi-sp-cards{grid-template-columns:repeat(2,1fr)}
  .asi-sp-hero-grid{grid-template-columns:1fr 1fr;gap:24px}
  .asi-sp-hero-photo img,.asi-sp-photo-placeholder{height:330px}
}
@media(max-width:740px){
  .asi-sp-wrap{padding:0 18px}
  .asi-sp-hero{padding:28px 0 24px}
  .asi-sp-hero-grid{grid-template-columns:1fr;gap:18px}
  .asi-sp-hero-copy h1{font-size:41px}
  .asi-sp-accent-line{margin:18px 0 22px}
  .asi-sp-proof{font-size:15px}
  .asi-sp-hero-photo{padding:8px 10px 0}
  .asi-sp-hero-photo img,.asi-sp-photo-placeholder{height:330px;max-width:none}
  .asi-sp-services{padding:38px 0}
  .asi-sp-cards{grid-template-columns:1fr}
  .asi-sp-card{min-height:0}.asi-sp-card p{min-height:0}
  .asi-sp-testimonials .asi-testimonials-head h2{font-size:34px}
}

/* v1.2 Direct testimonial renderer */
.asi-sp-testimonials{
  background:#052d5d;
  padding:38px 0 44px;
}
.asi-sp-testimonial-head{
  text-align:center;
  color:#fff;
  margin-bottom:26px;
}
.asi-sp-testimonial-head h2{
  margin:0 0 12px;
  color:#fff;
  font-family:Georgia,"Times New Roman",serif;
  font-size:clamp(34px,3.5vw,48px);
  line-height:1.08;
  font-weight:500;
  letter-spacing:-.03em;
}
.asi-sp-review-proof{
  display:flex;
  justify-content:center;
  align-items:center;
  flex-wrap:wrap;
  gap:8px;
  color:#f3f7fb;
  font-size:13px;
  font-weight:600;
}
.asi-sp-proof-stars{color:#ffb400;letter-spacing:.06em}
.asi-sp-sep{opacity:.45;margin:0 4px}

.asi-sp-review-carousel{
  display:grid;
  grid-template-columns:44px minmax(0,1fr) 44px;
  gap:14px;
  align-items:center;
}
.asi-sp-review-viewport{overflow:hidden;padding:6px 2px 10px}
.asi-sp-review-track{
  display:flex;
  gap:16px;
  transition:transform .34s ease;
}
.asi-sp-review-card{
  flex:0 0 calc((100% - 48px)/4);
  box-sizing:border-box;
  min-height:300px;
  background:#fff;
  border:1px solid rgba(255,255,255,.75);
  border-radius:19px;
  padding:22px;
  display:flex;
  flex-direction:column;
  box-shadow:0 14px 28px rgba(0,18,48,.14);
}
.asi-sp-review-stars{
  color:#ffb400;
  font-size:14px;
  letter-spacing:.08em;
  margin-bottom:16px;
}
.asi-sp-review-text{
  color:#173a59;
  font-family:Georgia,"Times New Roman",serif;
  font-size:15px;
  line-height:1.55;
}
.asi-sp-review-text p{margin:0}
.asi-sp-review-footer{
  margin-top:auto;
  border-top:1px solid #e1eaf2;
  padding-top:14px;
  display:flex;
  flex-direction:column;
  gap:3px;
}
.asi-sp-review-footer strong{color:#0a315b;font-size:13px}
.asi-sp-review-footer span{color:#8294a5;font-size:11px}
.asi-sp-review-footer small{
  align-self:flex-start;
  margin-top:6px;
  background:#eef6ff;
  color:#47718a;
  border-radius:999px;
  padding:5px 8px;
  font-size:9px;
  font-weight:600;
}
.asi-sp-review-arrow{
  width:42px;
  height:42px;
  border:1px solid rgba(255,255,255,.75);
  border-radius:50%;
  background:#fff;
  color:#0a315b;
  font-size:18px;
  cursor:pointer;
  box-shadow:0 5px 16px rgba(0,17,45,.12);
}
.asi-sp-review-arrow:disabled{
  opacity:.22;
  cursor:default;
}
.asi-sp-testimonials-missing{
  border:1px dashed rgba(255,255,255,.35);
  color:#fff;
  border-radius:18px;
  padding:30px;
  text-align:center;
  background:rgba(255,255,255,.06);
}
@media(max-width:1100px){
  .asi-sp-review-card{flex-basis:calc((100% - 16px)/2)}
}
@media(max-width:680px){
  .asi-sp-testimonials{padding:32px 0 36px}
  .asi-sp-review-carousel{grid-template-columns:1fr;position:relative}
  .asi-sp-review-arrow{
    position:absolute;
    z-index:3;
    top:50%;
    transform:translateY(-50%);
  }
  .asi-sp-review-prev{left:5px}
  .asi-sp-review-next{right:5px}
  .asi-sp-review-card{flex-basis:100%;padding:22px 50px;min-height:310px}
  .asi-sp-review-proof{font-size:12px}
}

/* v1.2.1 hotfix: prevent theme typography from overriding testimonial heading */
.asi-session-page .asi-sp-testimonials .asi-sp-testimonial-head h2{
    color:#ffffff !important;
}
