/* =====================================================
   Journey Embraced Counseling — styles.css
   Palette matched to logo:
     Mint-teal  #00d4a8  (JOURNEY EMBRACED text)
     Purple     #b44fd4  (COUNSELING text)
     Coral      #e8623a  (starburst)
     Near-black #0a0a10  (logo background / dark sections)
   ===================================================== */
:root {
  --ink:          #0a0a10;
  --mint:         #00d4a8;
  --mint-light:   #00f0c0;
  --mint-dim:     #009e80;
  --purple:       #b44fd4;
  --purple-light: #cc72ee;
  --coral:        #e8623a;
  --cream:        #f2fdfb;
  --warm:         #f7f2fd;
  --blush:        #fdf2fb;
  --stone:        #c8e6e0;
  --stone-purple: #ddd0ea;
  --mist:         #4a6a64;
  --white:        #ffffff;
  --nav-height:   100px;
  --pad:          5rem;
}

*,*::before,*::after{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{font-family:'Jost',sans-serif;background:var(--cream);color:var(--ink);overflow-x:hidden}

/* Reveal */
.reveal{opacity:0;transform:translateY(24px);transition:opacity .65s ease,transform .65s ease}
.reveal.visible{opacity:1;transform:none}

/* Labels */
.section-label{font-size:.68rem;font-weight:600;letter-spacing:.25em;text-transform:uppercase;color:var(--mint);margin-bottom:.75rem;display:flex;align-items:center;gap:.75rem}
.section-label::before{content:'';display:block;width:28px;height:1px;background:var(--mint)}
.section-label--center{justify-content:center}

.section-title{font-family:'Playfair Display',serif;font-size:clamp(2rem,3.5vw,3rem);font-weight:600;line-height:1.2;color:var(--ink)}
.section-title em{font-style:italic;color:var(--purple)}

/* ── Buttons ── */
.btn-gold{
  font-family:'Jost',sans-serif;font-size:.82rem;font-weight:600;letter-spacing:.1em;
  text-transform:uppercase;color:var(--ink);background:var(--mint);
  border:none;padding:1rem 2.5rem;cursor:pointer;text-decoration:none;
  display:inline-block;transition:background .2s,transform .2s,box-shadow .2s;
}
.btn-gold:hover{background:var(--mint-light);transform:translateY(-2px);box-shadow:0 8px 24px rgba(0,212,168,.4)}

.btn-outline-white{
  font-family:'Jost',sans-serif;font-size:.82rem;font-weight:500;letter-spacing:.1em;
  text-transform:uppercase;color:#fff;background:transparent;
  border:1px solid rgba(255,255,255,.4);padding:1rem 2.5rem;cursor:pointer;
  text-decoration:none;display:inline-block;transition:border-color .2s,background .2s;
}
.btn-outline-white:hover{border-color:#fff;background:rgba(255,255,255,.08)}

.btn-teal{
  font-family:'Jost',sans-serif;font-size:.75rem;font-weight:600;letter-spacing:.1em;
  text-transform:uppercase;color:var(--ink);background:var(--mint);
  border:none;padding:.8rem 2rem;cursor:pointer;text-decoration:none;
  display:inline-block;transition:background .2s,transform .2s;
  -webkit-appearance:none;appearance:none;line-height:normal;vertical-align:middle;
}
.btn-teal:hover{background:var(--mint-light);transform:translateY(-1px)}
button.btn-teal{font-size:.75rem;font-weight:600;letter-spacing:.1em;}

.btn-white-solid{
  font-family:'Jost',sans-serif;font-size:.72rem;font-weight:600;letter-spacing:.16em;
  text-transform:uppercase;color:var(--ink);background:#fff;
  border:none;padding:.7rem 1.9rem;cursor:pointer;text-decoration:none;
  white-space:nowrap;display:inline-block;transition:background .2s,transform .2s,box-shadow .2s;
  box-shadow:0 2px 10px rgba(0,0,0,.15);
}
.btn-white-solid:hover{background:var(--cream);transform:translateY(-1px);box-shadow:0 4px 16px rgba(0,0,0,.2)}

/* ── Nav ── */
nav{
  position:fixed;top:0;left:0;right:0;z-index:1000;
  background:rgba(10,10,16,.97);backdrop-filter:blur(16px);
  display:flex;align-items:center;justify-content:space-between;
  padding:0 3rem;height:var(--nav-height);
  border-bottom:1px solid rgba(0,212,168,.2);
}
.nav-logo img{height:88px;width:auto;display:block}
.nav-center{display:flex;align-items:center}
.nav-item{position:relative}
.nav-link{
  display:flex;align-items:center;gap:.4rem;
  font-family:'Jost',sans-serif;font-size:.8rem;font-weight:500;
  letter-spacing:.1em;text-transform:uppercase;
  color:rgba(255,255,255,.75);text-decoration:none;
  padding:0 1.4rem;height:var(--nav-height);
  transition:color .2s;cursor:pointer;border:none;background:none;
}
.nav-link:hover,.nav-link.active{color:var(--mint)}
.nav-link svg{width:10px;height:10px;fill:currentColor;transition:transform .2s}
.nav-item.open .nav-link svg{transform:rotate(180deg)}

.mega-drop{
  position:absolute;top:var(--nav-height);left:50%;
  transform:translateX(-50%) translateY(-8px);
  background:var(--ink);border:1px solid rgba(0,212,168,.18);
  border-top:2px solid var(--mint);
  padding:1.5rem;display:grid;grid-template-columns:repeat(3,1fr);
  gap:.75rem;width:640px;opacity:0;pointer-events:none;
  transition:opacity .22s ease,transform .22s ease;
  box-shadow:0 20px 60px rgba(0,0,0,.6);
}
.nav-item.open .mega-drop{opacity:1;pointer-events:all;transform:translateX(-50%) translateY(0)}

.drop-card{display:flex;align-items:center;gap:.75rem;padding:.65rem .85rem;text-decoration:none;border-radius:4px;transition:background .15s;cursor:pointer;border:none;background:none;width:100%;text-align:left}
.drop-card:hover{background:rgba(0,212,168,.08)}
.drop-thumb{width:44px;height:44px;border-radius:50%;object-fit:cover;object-position:top;border:2px solid rgba(0,212,168,.45);flex-shrink:0}
.drop-name{font-size:.78rem;font-weight:500;color:#fff;line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.drop-role{font-size:.67rem;color:rgba(0,212,168,.85);letter-spacing:.03em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}

.nav-right{display:flex;align-items:center;gap:.75rem}
.btn-nav-ghost{
  font-family:'Jost',sans-serif;font-size:.75rem;font-weight:500;letter-spacing:.08em;
  text-transform:uppercase;color:rgba(255,255,255,.75);background:none;
  border:1px solid rgba(255,255,255,.25);padding:.5rem 1.2rem;
  cursor:pointer;text-decoration:none;transition:border-color .2s,color .2s;
}
.btn-nav-ghost:hover{border-color:var(--mint);color:var(--mint)}
.btn-nav-cta{
  font-family:'Jost',sans-serif;font-size:.75rem;font-weight:600;letter-spacing:.08em;
  text-transform:uppercase;color:var(--ink);background:var(--mint);
  border:none;padding:.5rem 1.4rem;cursor:pointer;text-decoration:none;
  transition:background .2s,transform .2s;
}
.btn-nav-cta:hover{background:var(--mint-light);transform:translateY(-1px)}

.mob-toggle{display:none;background:none;border:none;cursor:pointer;flex-direction:column;gap:5px;padding:4px}
.mob-toggle span{display:block;width:22px;height:1.5px;background:rgba(255,255,255,.7);transition:transform .3s,opacity .3s;transform-origin:center}
.mob-toggle.open span:nth-child(1){transform:translateY(6.5px) rotate(45deg)}
.mob-toggle.open span:nth-child(2){opacity:0;transform:scaleX(0)}
.mob-toggle.open span:nth-child(3){transform:translateY(-6.5px) rotate(-45deg)}

/* Mobile menu */
.mob-menu{position:fixed;inset:0;z-index:999;background:var(--ink);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1.5rem;transform:translateX(100%);transition:transform .35s ease}
.mob-menu.open{transform:translateX(0)}
.mob-menu a{font-family:'Playfair Display',serif;font-size:2rem;font-weight:400;font-style:italic;color:rgba(255,255,255,.8);text-decoration:none;transition:color .2s}
.mob-menu a:hover{color:var(--mint)}
.mob-book-link{color:var(--mint) !important}
.mob-close{position:absolute;top:1.5rem;right:2rem;background:none;border:none;cursor:pointer;font-size:1.3rem;color:rgba(255,255,255,.5);transition:color .2s}
.mob-close:hover{color:#fff}

/* ── Hero ── */
.hero{
  min-height:100vh;background:var(--ink);
  display:flex;flex-direction:column;align-items:center;justify-content:center;
  padding-top:var(--nav-height);position:relative;overflow:hidden;text-align:center;
}
.hero-bg{
  position:absolute;inset:0;
  background:
    radial-gradient(ellipse 90% 70% at 50% -5%, rgba(0,212,168,.2) 0%,transparent 60%),
    radial-gradient(ellipse 50% 45% at 10% 88%, rgba(180,79,212,.14) 0%,transparent 55%),
    radial-gradient(ellipse 45% 40% at 92% 72%, rgba(232,98,58,.1) 0%,transparent 55%);
}
.hero-grid-bg{
  position:absolute;inset:0;
  background-image:radial-gradient(circle,rgba(0,212,168,.055) 1px,transparent 1px);
  background-size:44px 44px;
}
.hero-content{position:relative;z-index:2;max-width:820px;padding:2rem}
.hero-tag{
  display:inline-flex;align-items:center;gap:.6rem;
  font-size:.7rem;font-weight:500;letter-spacing:.2em;text-transform:uppercase;
  color:var(--mint);margin-bottom:2rem;
  border:1px solid rgba(0,212,168,.35);padding:.4rem 1.2rem;border-radius:30px;
}
.hero h1{font-family:'Playfair Display',serif;font-size:clamp(3.5rem,7vw,6.5rem);font-weight:700;line-height:1;color:#fff;margin-bottom:1.5rem}
.hero h1 em{font-style:italic;color:var(--mint)}
.hero-sub{font-size:1rem;line-height:1.8;color:rgba(255,255,255,.55);max-width:580px;margin:0 auto 3rem}
.hero-btns{display:flex;gap:1rem;justify-content:center;flex-wrap:wrap}
.hero-scroll{
  position:absolute;bottom:2.5rem;left:50%;transform:translateX(-50%);
  display:flex;flex-direction:column;align-items:center;gap:.5rem;
  color:rgba(255,255,255,.3);font-size:.68rem;letter-spacing:.15em;text-transform:uppercase;
  animation:bounce 2s infinite;
}
.hero-scroll-line{width:1px;height:40px;background:linear-gradient(to bottom,rgba(0,212,168,.6),transparent)}
@keyframes bounce{0%,100%{transform:translateX(-50%) translateY(0)}50%{transform:translateX(-50%) translateY(6px)}}

/* Ticker — purple bg, mint dots */
.ticker{background:var(--purple);padding:.8rem 0;overflow:hidden;white-space:nowrap}
.ticker-track{display:inline-flex;animation:tick 35s linear infinite}
.tick-item{font-size:.7rem;font-weight:500;letter-spacing:.18em;text-transform:uppercase;color:rgba(255,255,255,.9);padding:0 2.5rem;display:inline-flex;align-items:center;gap:2.5rem}
.tick-sep{width:3px;height:3px;background:var(--mint);border-radius:50%}
@keyframes tick{from{transform:translateX(0)}to{transform:translateX(-50%)}}

/* ── Welcome ── */
.welcome{padding:7rem var(--pad);display:grid;grid-template-columns:1fr 1.6fr;gap:7rem;align-items:center;background:var(--cream)}
.welcome-left{position:relative}
.welcome-stat-block{margin-top:3rem;display:grid;grid-template-columns:1fr 1fr;gap:1.5rem}
.stat-item{padding:1.5rem;border:1px solid var(--stone);background:#fff}
.stat-num{font-family:'Playfair Display',serif;font-size:2.2rem;font-weight:700;color:var(--purple);line-height:1;margin-bottom:.3rem}
.stat-label{font-size:.75rem;font-weight:500;color:var(--mist);letter-spacing:.05em}
.welcome-right p{font-size:.95rem;line-height:1.9;color:var(--mist);margin-bottom:1rem}
.welcome-right p strong{color:var(--ink);font-weight:600}
.welcome-right .cta-wrap{margin-top:2rem}

/* Awards — very light mint tint */
.awards-band{
  background:#edfaf7;
  padding:2.5rem var(--pad);display:flex;align-items:center;gap:4rem;flex-wrap:wrap;
  border-top:2px solid rgba(0,212,168,.25);border-bottom:2px solid rgba(0,212,168,.25);
}
.award-label{font-size:.65rem;font-weight:600;letter-spacing:.2em;text-transform:uppercase;color:var(--mist);white-space:nowrap}
.award-pill{display:flex;align-items:center;gap:.75rem}
.award-icon{font-size:1.5rem}
.award-text{font-family:'Playfair Display',serif;font-size:.95rem;font-weight:600;color:var(--ink)}
.award-year{font-size:.72rem;color:var(--mist)}

/* Services — dark section, ink bg */
.services{padding:7rem var(--pad);background:var(--ink)}
.services .section-label{color:var(--mint)}
.services .section-label::before{background:var(--mint)}
.services-title{color:#fff}
.services-title em{color:var(--mint)}
.services-grid{margin-top:3.5rem;display:grid;grid-template-columns:repeat(3,1fr);border:1px solid rgba(255,255,255,.07)}
.svc-card{padding:2.5rem 2rem;border-right:1px solid rgba(255,255,255,.07);border-bottom:1px solid rgba(255,255,255,.07);transition:background .25s;cursor:default}
.svc-card:hover{background:rgba(0,212,168,.07)}
.svc-num{font-family:'Playfair Display',serif;font-size:2rem;font-weight:700;color:rgba(0,212,168,.18);line-height:1;margin-bottom:1rem;transition:color .25s}
.svc-card:hover .svc-num{color:rgba(0,212,168,.45)}
.svc-title{font-family:'Playfair Display',serif;font-size:1.15rem;font-weight:600;color:#fff;margin-bottom:.6rem}
.svc-desc{font-size:.82rem;line-height:1.7;color:rgba(255,255,255,.45)}

/* Counselors — soft lavender-blush bg */
.counselors{padding:7rem var(--pad);background:var(--warm)}
.counselors-intro{display:grid;grid-template-columns:1fr 1fr;gap:5rem;align-items:end;margin-bottom:5rem}
.counselors-intro-text{font-size:.9rem;line-height:1.8;color:var(--mist);margin-bottom:1.5rem}
.counselor-section{padding:4rem 0;border-top:1px solid var(--stone-purple);display:grid;grid-template-columns:280px 1fr;gap:4rem;align-items:start}
.counselor-section:last-child{border-bottom:1px solid var(--stone-purple)}
.counselor-photo-col{position:relative}
.counselor-photo-wrap{overflow:hidden;position:relative}
.counselor-photo-wrap::after{content:'';position:absolute;inset:0;background:linear-gradient(to bottom,transparent 65%,rgba(180,79,212,.07));pointer-events:none}
.counselor-photo{width:100%;aspect-ratio:4/5;object-fit:cover;object-position:top;display:block;transition:transform .4s ease}
.counselor-section:hover .counselor-photo{transform:scale(1.02)}
.counselor-badge{position:absolute;top:1rem;left:1rem;background:var(--purple);padding:.3rem .75rem;font-size:.65rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:#fff;z-index:1}
.counselor-info{padding-top:.5rem}
.counselor-name{font-family:'Playfair Display',serif;font-size:1.9rem;font-weight:700;color:var(--ink);line-height:1.1;margin-bottom:.3rem}
.counselor-cred{font-size:.75rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--mint-dim);margin-bottom:1.25rem}
.counselor-specialties{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:1.5rem}
.spec-tag{font-size:.68rem;font-weight:500;letter-spacing:.04em;background:#fff;color:var(--purple);border:1px solid rgba(180,79,212,.22);padding:.3rem .8rem;border-radius:20px}
.counselor-bio{font-size:.88rem;line-height:1.85;color:var(--mist);margin-bottom:1.75rem}
.counselor-bio p{margin-bottom:.75rem}
.counselor-bio p:last-child{margin-bottom:0}
.counselor-bio em{font-style:italic;color:var(--purple)}

/* Booking banner — deep dark gradient, mint + purple */
.booking-banner{
  background:linear-gradient(135deg,#0a0a10 0%,#16082a 55%,#081a14 100%);
  border-top:1px solid rgba(0,212,168,.18);
  padding:6rem var(--pad);display:grid;grid-template-columns:1fr auto;gap:4rem;align-items:center;
}
.booking-banner h2{font-family:'Playfair Display',serif;font-size:clamp(1.8rem,3vw,3rem);font-weight:600;line-height:1.2;color:#fff}
.booking-banner h2 em{font-style:italic;color:var(--mint)}
.booking-banner p{font-size:.9rem;line-height:1.7;color:rgba(255,255,255,.6);margin-top:.75rem}

/* Testimonial — soft blush */
.testimonial{padding:7rem var(--pad);background:var(--blush);text-align:center;position:relative;overflow:hidden}
.testimonial::before{content:'JEC';position:absolute;top:-2rem;left:50%;transform:translateX(-50%);font-family:'Playfair Display',serif;font-size:12rem;color:rgba(180,79,212,.06);line-height:1;pointer-events:none;white-space:nowrap;letter-spacing:.1em}
.test-quote{font-family:'Playfair Display',serif;font-size:clamp(1.6rem,3vw,2.5rem);font-style:italic;font-weight:400;line-height:1.5;color:var(--ink);max-width:750px;margin:2rem auto 1.5rem;position:relative}
.test-author{font-size:.72rem;font-weight:600;letter-spacing:.2em;text-transform:uppercase;color:var(--purple)}

/* Footer */
footer{background:var(--ink);padding:5rem var(--pad) 2.5rem}
.footer-top{display:grid;grid-template-columns:1.8fr 1fr 1fr 1fr;gap:4rem;padding-bottom:4rem;border-bottom:1px solid rgba(255,255,255,.07)}
.footer-logo{height:100px;margin-bottom:1.2rem;display:block}
.footer-about{font-size:.83rem;line-height:1.75;color:rgba(255,255,255,.45);margin-bottom:1.5rem}
.footer-social{display:flex;gap:.6rem}
.footer-social a{width:34px;height:34px;border:1px solid rgba(255,255,255,.15);display:flex;align-items:center;justify-content:center;color:rgba(255,255,255,.45);text-decoration:none;font-size:.8rem;transition:background .2s,border-color .2s,color .2s}
.footer-social a:hover{background:var(--mint);border-color:var(--mint);color:var(--ink)}
.footer-col h5{font-size:.65rem;font-weight:600;letter-spacing:.2em;text-transform:uppercase;color:var(--mint);margin-bottom:1.2rem}
.footer-col ul{list-style:none}
.footer-col ul li{margin-bottom:.6rem}
.footer-col ul li a{font-size:.82rem;color:rgba(255,255,255,.45);text-decoration:none;transition:color .2s}
.footer-col ul li a:hover{color:#fff}
.footer-contact-info p{font-size:.82rem;line-height:2;color:rgba(255,255,255,.45)}
.footer-contact-info a{color:rgba(255,255,255,.45);text-decoration:none;transition:color .2s}
.footer-contact-info a:hover{color:#fff}
.footer-pt-badge{padding:1.5rem 0;border-top:1px solid rgba(255,255,255,.07);display:flex;align-items:center;justify-content:center}
.footer-pt-badge a{display:inline-block;opacity:.9;transition:opacity .2s}
.footer-pt-badge a:hover{opacity:1}
.footer-bottom{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:1rem;border-top:1px solid rgba(255,255,255,.07);padding-top:1.5rem}
.footer-bottom p{font-size:.75rem;color:rgba(255,255,255,.25)}
.footer-bottom a{font-size:.75rem;color:rgba(255,255,255,.25);text-decoration:none;margin-left:1.5rem;transition:color .2s}
.footer-bottom a:hover{color:rgba(255,255,255,.6)}

/* Modals */
.modal-overlay{position:fixed;inset:0;z-index:2000;background:rgba(10,10,16,.9);backdrop-filter:blur(10px);display:flex;align-items:center;justify-content:center;opacity:0;pointer-events:none;transition:opacity .3s}
.modal-overlay.open{opacity:1;pointer-events:all}
.modal{background:var(--cream);width:100%;max-width:460px;padding:2.5rem;position:relative;transform:translateY(16px);transition:transform .3s;border-top:3px solid var(--mint);max-height:90vh;overflow-y:auto}
.modal-overlay.open .modal{transform:translateY(0)}
.modal-x{position:absolute;top:1.25rem;right:1.25rem;background:none;border:none;cursor:pointer;font-size:1rem;color:var(--mist);width:28px;height:28px;display:flex;align-items:center;justify-content:center;transition:color .2s}
.modal-x:hover{color:var(--ink)}
.modal-h{font-family:'Playfair Display',serif;font-size:1.8rem;font-weight:600;margin-bottom:.2rem;color:var(--ink)}
.modal-sub{font-size:.82rem;color:var(--mist);margin-bottom:1.75rem}
.fg{margin-bottom:1.1rem}
.fg label{display:block;font-size:.68rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--ink);margin-bottom:.35rem}
.fg input,.fg select,.fg textarea{width:100%;font-family:'Jost',sans-serif;font-size:.88rem;padding:.7rem .9rem;border:1px solid var(--stone);background:#fff;color:var(--ink);outline:none;transition:border-color .2s;appearance:none}
.fg input:focus,.fg select:focus,.fg textarea:focus{border-color:var(--mint)}
.fg textarea{min-height:80px;resize:vertical}
.fg-row{display:grid;grid-template-columns:1fr 1fr;gap:.75rem}
.btn-modal{width:100%;font-family:'Jost',sans-serif;font-size:.82rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--ink);background:var(--mint);border:none;padding:.9rem;cursor:pointer;margin-top:.5rem;transition:background .2s}
.btn-modal:hover{background:var(--mint-light)}
.modal-foot{font-size:.78rem;color:var(--mist);text-align:center;margin-top:1rem}
.modal-foot a{color:var(--purple);text-decoration:none;font-weight:500}

/* Chat */
.chat-btn{position:fixed;bottom:2rem;right:2rem;z-index:500;width:54px;height:54px;border-radius:50%;background:var(--purple);border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 20px rgba(180,79,212,.5);transition:transform .2s,box-shadow .2s}
.chat-btn:hover{transform:scale(1.08);box-shadow:0 6px 28px rgba(180,79,212,.65)}
.chat-btn svg{width:22px;height:22px;fill:#fff}
.chat-win{position:fixed;bottom:5.5rem;right:2rem;z-index:500;width:320px;background:#fff;border-top:3px solid var(--purple);box-shadow:0 12px 50px rgba(10,10,16,.2);display:flex;flex-direction:column;opacity:0;pointer-events:none;transform:scale(.85) translateY(16px);transform-origin:bottom right;transition:opacity .25s,transform .25s}
.chat-win.open{opacity:1;pointer-events:all;transform:scale(1) translateY(0)}
.chat-head{background:var(--purple);padding:1rem 1.25rem;display:flex;align-items:center;gap:.75rem}
.chat-av{width:36px;height:36px;border-radius:50%;background:var(--purple-light);display:flex;align-items:center;justify-content:center;font-size:1rem}
.chat-head h4{font-size:.82rem;font-weight:600;color:#fff}
.chat-status-row{font-size:.68rem;color:rgba(255,255,255,.65);display:flex;align-items:center;gap:.35rem}
.online-dot{width:6px;height:6px;background:#7aeaaa;border-radius:50%}
.chat-msgs{padding:1rem;display:flex;flex-direction:column;gap:.75rem;max-height:260px;overflow-y:auto}
.msg{font-size:.82rem;line-height:1.5}
.msg.in{background:var(--warm);padding:.65rem .9rem;border-radius:0 10px 10px 10px;align-self:flex-start;max-width:87%;color:var(--ink)}
.msg.out{background:var(--purple);padding:.65rem .9rem;border-radius:10px 10px 0 10px;align-self:flex-end;max-width:87%;color:#fff}
.chat-input-row{padding:.85rem 1rem;border-top:1px solid var(--stone);display:flex;gap:.6rem}
.chat-input{flex:1;font-family:'Jost',sans-serif;font-size:.83rem;border:1px solid var(--stone);padding:.55rem .8rem;outline:none;color:var(--ink);transition:border-color .2s}
.chat-input:focus{border-color:var(--purple)}
.chat-send{background:var(--purple);border:none;padding:.55rem .9rem;cursor:pointer;color:#fff;font-size:.9rem;transition:background .2s}
.chat-send:hover{background:var(--purple-light)}

/* Responsive */
@media(max-width:1100px){
  .welcome,.booking-banner{grid-template-columns:1fr;gap:3rem}
  .counselors-intro{grid-template-columns:1fr;gap:2rem}
  .counselor-section{grid-template-columns:220px 1fr;gap:2.5rem}
  .footer-top{grid-template-columns:1fr 1fr;gap:2.5rem}
  nav .nav-center,.nav-right .btn-nav-ghost{display:none}
  nav{padding:0 1.5rem}
  .mob-toggle{display:flex}
  .welcome,.services,.counselors,.testimonial,.awards-band,.booking-banner{padding-left:2rem;padding-right:2rem}
  footer{padding:4rem 2rem 2rem}
}
@media(max-width:700px){
  .services-grid{grid-template-columns:1fr}
  .counselor-section{grid-template-columns:1fr}
  .counselor-photo-col{max-width:260px}
  .footer-top{grid-template-columns:1fr}
  .welcome-stat-block{grid-template-columns:1fr 1fr}
  .hero h1{font-size:3rem}
  .counselor-badge{position:static;display:inline-block;margin-bottom:12px;}
  .awards-band{padding:2rem;gap:2rem}
}

/* Testimonial carousel */
.test-slide{display:none;}
.test-slide.active{display:block;}
.test-dot{width:8px;height:8px;border-radius:50%;background:#ddd;border:none;cursor:pointer;padding:0;transition:background .2s,transform .2s;}
.test-dot.active{background:#6b4c8a;transform:scale(1.3);}
.test-carousel-wrap{min-height:0 !important;}

/* ── Contact Us Dropdown ── */
.contact-drop {
  position: absolute;
  top: calc(var(--nav-height) + 2px);
  right: 0;
  background: rgba(10, 10, 16, 0.98);
  border: 1px solid rgba(0, 212, 168, 0.2);
  border-top: 2px solid var(--mint);
  padding: 1.25rem 1.5rem;
  min-width: 280px;
  opacity: 0;
  pointer-events: none;
  transform: translateY(-6px);
  transition: opacity 0.2s ease, transform 0.2s ease;
  box-shadow: 0 12px 40px rgba(0, 0, 0, 0.4);
  z-index: 200;
}
.contact-drop--open {
  opacity: 1;
  pointer-events: all;
  transform: translateY(0);
}
.contact-drop-row {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  padding: 0.5rem 0;
}
.contact-drop-row + .contact-drop-row {
  border-top: 1px solid rgba(255, 255, 255, 0.07);
  margin-top: 0.25rem;
}
.contact-drop-icon {
  font-size: 1rem;
  flex-shrink: 0;
}
.contact-drop-row a {
  font-size: 0.82rem;
  color: rgba(255, 255, 255, 0.75);
  text-decoration: none;
  font-weight: 500;
  transition: color 0.2s;
}
.contact-drop-row a:hover {
  color: var(--mint);
}
/* Email pill */
.contact-drop-row--email a {
  display: inline-block;
  background: rgba(180, 79, 212, 0.15);
  color: var(--purple-light);
  border: 1px solid rgba(180, 79, 212, 0.35);
  border-radius: 20px;
  padding: 0.3rem 0.9rem;
  font-size: 0.78rem;
  font-weight: 600;
  transition: background 0.2s, color 0.2s;
}
.contact-drop-row--email a:hover {
  background: var(--purple);
  color: white;
  border-color: var(--purple);
}

/* ── Booking Success Message ── */
.modal-success {
  text-align: center;
  padding: 2rem 1rem;
}
.success-icon {
  width: 56px;
  height: 56px;
  background: var(--mint);
  color: var(--ink);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.5rem;
  font-weight: 700;
  margin: 0 auto 1.25rem;
}
.modal-success p {
  font-size: 0.95rem;
  line-height: 1.7;
  color: var(--ink);
}
