/*
Theme Name: ADHD Hub
Theme URI: https://adhdhub.ae
Author: Digitance Pro
Author URI: https://digitancepro.com
Description: Custom theme for ADHD Hub — a specialist ADHD clinic in Abu Dhabi, operated under license of Luxury Healthcare Medical Center L.L.C. (License No. MF1915). Bilingual (English/Arabic) with full RTL support. Fully editable via ACF Pro (see companion adhd-hub-cpts.php plugin) — no page builder required. Contact form via WPForms; SEO via Yoast SEO.
Version: 1.2.0
Requires at least: 6.0
Requires PHP: 7.4
Tested up to: 6.6
License: GNU General Public License v2 or later
License URI: LICENSE
Text Domain: adhd-hub
Tags: custom-colors, custom-menu, custom-logo, translation-ready, rtl-language-support, threaded-comments, block-styles

This theme, like WordPress, is licensed under the GPL.
Use it to make something cool, have fun, and share what you've learned with others.
*/

*,*::before,*::after{margin:0;padding:0;box-sizing:border-box}

html{scroll-behavior:smooth}

:root{
  --teal:#199B8E;
  --teal-dark:#0F7568;
  --teal-bg:#EAF7F5;
  --navy:#153A52;
  --ink:#20303B;
  --gray:#5B6B75;
  --light:#F7FAF9;
  --line:#E3EBE9;
  --white:#fff;
  --gold:#E8A33D;
}

body{font-family:'Manrope',sans-serif;color:var(--ink);background:var(--white);-webkit-font-smoothing:antialiased}

img{display:block}

a{text-decoration:none;color:inherit}

button{font-family:inherit;cursor:pointer}

/* ── TOPBAR + NAV ── */
.topbar{background:var(--navy);color:rgba(255,255,255,.85);font-size:.76rem;padding:8px 0}

.topbar .in{max-width:1240px;margin:0 auto;padding:0 32px;display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap}

.topbar b{color:#fff;font-weight:600}

.topbar .tb-right{display:flex;gap:22px;align-items:center}

.topbar a:hover{color:#fff}

header{background:#fff;border-bottom:1px solid var(--line)}

.nav{max-width:1240px;margin:0 auto;padding:0 32px;height:112px;display:flex;align-items:center;justify-content:space-between;gap:24px}

.logo img{width:96px;height:96px;object-fit:contain}

.nav-links{display:flex;gap:30px}

.nav-links a{font-size:.9rem;font-weight:600;color:var(--ink);transition:color .2s}

.nav-links a:hover{color:var(--teal)}

.nav-actions{display:flex;align-items:center;gap:14px}

.nav-call{display:flex;align-items:center;gap:9px;font-size:.88rem;font-weight:700;color:var(--navy)}

.nav-call svg{color:var(--teal)}

.btn{display:inline-flex;align-items:center;justify-content:center;gap:9px;background:var(--teal);color:#fff;font-weight:700;font-size:.9rem;padding:14px 28px;border-radius:10px;transition:background .25s,transform .25s,box-shadow .25s;box-shadow:0 4px 14px rgba(25,155,142,.25)}

.btn:hover{background:var(--teal-dark);transform:translateY(-1px)}

.btn-outline{display:inline-flex;align-items:center;justify-content:center;gap:9px;border:2px solid var(--line);color:var(--navy);font-weight:700;font-size:.9rem;padding:12px 26px;border-radius:10px;transition:all .25s;background:#fff}

.btn-outline:hover{border-color:var(--teal);color:var(--teal)}

.btn-navy{display:inline-flex;align-items:center;justify-content:center;gap:9px;background:var(--navy);color:#fff;font-weight:700;font-size:.9rem;padding:14px 28px;border-radius:10px;transition:background .25s}

.btn-navy:hover{background:var(--teal-dark)}

/* ── HERO ── */
.hero{background:linear-gradient(180deg,var(--teal-bg) 0%,#fff 100%)}

.hero .in{max-width:1240px;margin:0 auto;padding:72px 32px 64px;display:grid;grid-template-columns:1.05fr .95fr;gap:64px;align-items:center}

.hero-badge{display:inline-flex;align-items:center;gap:8px;background:#fff;border:1px solid var(--line);border-radius:100px;padding:8px 16px;font-size:.78rem;font-weight:700;color:var(--teal-dark);margin-bottom:22px;box-shadow:0 2px 10px rgba(21,58,82,.05)}

.hero-badge svg{color:var(--gold)}

h1{font-family:'Lora',serif;font-weight:600;font-size:clamp(2.4rem,4.4vw,3.6rem);line-height:1.13;color:var(--navy);letter-spacing:-.01em;margin-bottom:22px}

h1 .hl{color:var(--teal)}

.hero-sub{font-size:1.08rem;line-height:1.72;color:var(--gray);max-width:500px;margin-bottom:34px}

.hero-ctas{display:flex;gap:14px;flex-wrap:wrap;margin-bottom:38px}

.hero-checks{display:flex;gap:26px;flex-wrap:wrap}

.hc{display:flex;align-items:center;gap:9px;font-size:.86rem;font-weight:600;color:var(--ink)}

.hc svg{color:var(--teal);flex-shrink:0}

.hero-visual{position:relative}

.hero-img{width:100%;aspect-ratio:1.04;object-fit:cover;border-radius:20px;box-shadow:0 30px 70px -24px rgba(21,58,82,.28)}

.hero-review{position:absolute;bottom:22px;left:-26px;background:#fff;border-radius:14px;padding:16px 20px;box-shadow:0 14px 40px rgba(21,58,82,.14);display:flex;align-items:center;gap:14px;border:1px solid var(--line)}

.stars{color:var(--gold);font-size:.9rem;letter-spacing:2px}

.hero-review b{font-size:.86rem;color:var(--navy);display:block}

.hero-review span{font-size:.74rem;color:var(--gray)}

.hero-live{position:absolute;top:20px;right:-14px;background:var(--navy);color:#fff;border-radius:12px;padding:12px 18px;font-size:.78rem;font-weight:600;box-shadow:0 12px 32px rgba(21,58,82,.25);display:flex;align-items:center;gap:9px}

.hero-live i{width:8px;height:8px;border-radius:50%;background:#FF5A47;animation:pl 1.6s infinite}

@keyframes pl{0%,100%{opacity:1}50%{opacity:.3}}

/* ── TRUST STRIP ── */
.trust{border-bottom:1px solid var(--line);background:#fff}

.trust .in{max-width:1240px;margin:0 auto;padding:22px 32px;display:flex;justify-content:space-between;align-items:center;gap:18px;flex-wrap:wrap}

.trust-item{display:flex;align-items:center;gap:11px;font-size:.83rem;font-weight:700;color:var(--navy)}

.trust-item svg{color:var(--teal)}

.trust-item span{color:var(--gray);font-weight:500;display:block;font-size:.74rem}

/* ── SECTION SYSTEM ── */
.sec{max-width:1240px;margin:0 auto;padding:96px 32px}

.sec-head{text-align:center;max-width:640px;margin:0 auto 60px}

.eyebrow{display:inline-block;font-size:.74rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:var(--teal);margin-bottom:14px}

h2{font-family:'Lora',serif;font-weight:600;font-size:clamp(1.9rem,3.2vw,2.6rem);line-height:1.2;color:var(--navy);letter-spacing:-.01em}

.sec-head p{margin-top:16px;font-size:1rem;line-height:1.7;color:var(--gray)}

/* ── WHY US ── */
.why{background:var(--light);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}

.why-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:22px}

.why-card{background:#fff;border:1px solid var(--line);border-radius:16px;padding:30px 26px;transition:all .3s}

.why-card:hover{transform:translateY(-4px);box-shadow:0 18px 44px rgba(21,58,82,.08);border-color:#C8E5E0}

.why-ic{width:52px;height:52px;border-radius:13px;background:var(--teal-bg);display:flex;align-items:center;justify-content:center;margin-bottom:20px;color:var(--teal)}

.why-card h3{font-size:1.02rem;font-weight:800;color:var(--navy);margin-bottom:8px}

.why-card p{font-size:.86rem;line-height:1.65;color:var(--gray)}

/* ── DOCTOR CARD (credential format) ── */
.team-wrap{display:grid;grid-template-columns:420px 1fr;gap:56px;align-items:start}

.doc-card{background:#fff;border:1px solid var(--line);border-radius:20px;overflow:hidden;box-shadow:0 20px 50px -18px rgba(21,58,82,.12)}

.doc-photo{position:relative;background:var(--teal-bg)}

.doc-photo img{width:100%;aspect-ratio:.95;object-fit:cover;object-position:center 10%}

.doc-flag{position:absolute;top:16px;left:16px;background:var(--teal);color:#fff;font-size:.7rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;padding:7px 14px;border-radius:8px}

.doc-body{padding:28px}

.doc-body h3{font-family:'Lora',serif;font-size:1.5rem;font-weight:600;color:var(--navy);margin-bottom:4px}

.doc-lic{font-size:.76rem;color:var(--gray);margin-bottom:6px}

.doc-role{font-size:.9rem;font-weight:700;color:var(--teal-dark);margin-bottom:18px}

.doc-creds{list-style:none;border-top:1px solid var(--line)}

.doc-btns{display:flex;flex-direction:column;gap:10px;margin-top:20px}

.doc-btns a{width:100%}

.doc-creds li{display:flex;gap:11px;padding:12px 0;border-bottom:1px solid var(--line);font-size:.86rem;line-height:1.55;color:var(--ink)}

.doc-creds svg{color:var(--teal);flex-shrink:0;margin-top:2px}

.team-copy h2{margin-bottom:20px}

.team-copy>p{font-size:1rem;line-height:1.8;color:var(--gray);margin-bottom:18px}

.team-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:30px}

.ts{background:#fff;border:1px solid var(--line);border-radius:14px;padding:20px;text-align:center}

.ts b{font-family:'Lora',serif;font-size:1.7rem;font-weight:600;color:var(--teal);display:block;line-height:1.1}

.ts span{font-size:.76rem;color:var(--gray);font-weight:600}

/* ── SERVICES / AUDIENCE ── */
.aud{background:var(--light);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}

.aud-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}

.aud-card{background:#fff;border:1px solid var(--line);border-radius:18px;overflow:hidden;transition:all .3s;display:flex;flex-direction:column}

.aud-card:hover{transform:translateY(-5px);box-shadow:0 22px 52px rgba(21,58,82,.1)}

.aud-img{height:200px;overflow:hidden}

.aud-img img{width:100%;height:100%;object-fit:cover;transition:transform .5s}

.aud-card:hover .aud-img img{transform:scale(1.05)}

.aud-body{padding:26px;flex:1;display:flex;flex-direction:column}

.aud-body h3{font-family:'Lora',serif;font-size:1.3rem;font-weight:600;color:var(--navy);margin-bottom:10px}

.aud-body p{font-size:.88rem;line-height:1.65;color:var(--gray);margin-bottom:20px;flex:1}

.aud-link{font-size:.86rem;font-weight:800;color:var(--teal);display:flex;align-items:center;gap:8px;transition:gap .2s}

.aud-card:hover .aud-link{gap:14px}

/* ── PRICING ── */
.price-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;max-width:1080px;margin:0 auto}

.price-card{background:#fff;border:1.5px solid var(--line);border-radius:20px;padding:36px 30px;position:relative;transition:all .3s;display:flex;flex-direction:column}

.price-card:hover{transform:translateY(-5px);box-shadow:0 24px 54px rgba(21,58,82,.1)}

.price-card.pop{border-color:var(--teal);box-shadow:0 24px 54px rgba(25,155,142,.15)}

.pop-tag{position:absolute;top:-14px;left:50%;transform:translateX(-50%);background:var(--teal);color:#fff;font-size:.7rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase;padding:7px 18px;border-radius:100px}

.pc-ic{width:54px;height:54px;border-radius:14px;background:var(--teal-bg);color:var(--teal);display:flex;align-items:center;justify-content:center;margin-bottom:18px}

.pc-name{font-size:.95rem;font-weight:800;color:var(--navy);margin-bottom:6px}

.pc-desc{font-size:.8rem;color:var(--gray);margin-bottom:20px}

.pc-list{list-style:none;border-top:1px solid var(--line);margin-bottom:26px;flex:1}

.pc-list li{display:flex;gap:10px;padding:11px 0;border-bottom:1px solid var(--line);font-size:.84rem;color:var(--ink);line-height:1.5}

.pc-list svg{color:var(--teal);flex-shrink:0;margin-top:2px}

/* ── PROCESS ── */
.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:22px}

.step{background:#fff;border:1px solid var(--line);border-radius:16px;padding:30px 26px;position:relative;transition:all .3s}

.step:hover{border-color:#C8E5E0;box-shadow:0 16px 40px rgba(21,58,82,.07)}

.step-n{width:44px;height:44px;border-radius:50%;background:var(--navy);color:#fff;font-weight:800;font-size:1.05rem;display:flex;align-items:center;justify-content:center;margin-bottom:20px}

.step:nth-child(2) .step-n{background:var(--teal)}

.step:nth-child(4) .step-n{background:var(--gold)}

.step h3{font-size:1rem;font-weight:800;color:var(--navy);margin-bottom:8px}

.step p{font-size:.85rem;line-height:1.65;color:var(--gray)}

/* ── SESSIONS BAND ── */
.sess{background:var(--navy);color:#fff}

.sess .in{max-width:1240px;margin:0 auto;padding:96px 32px}

.sess .eyebrow{color:#6FD1C4}

.sess h2{color:#fff}

.sess-head{text-align:center;max-width:620px;margin:0 auto 56px}

.sess-head p{margin-top:16px;font-size:1rem;line-height:1.75;color:rgba(255,255,255,.65)}

.sess-body{display:grid;grid-template-columns:1fr 1fr;gap:44px;align-items:stretch}

.sess-feats{display:flex;flex-direction:column;gap:14px}

.sf{display:flex;gap:16px;align-items:center;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.09);border-radius:14px;padding:20px 22px}

.sf-ic{width:46px;height:46px;min-width:46px;border-radius:12px;background:rgba(111,209,196,.14);color:#6FD1C4;display:flex;align-items:center;justify-content:center}

.sf b{font-size:.94rem;display:block;margin-bottom:3px}

.sf p{font-size:.83rem;color:rgba(255,255,255,.55);line-height:1.55}

.sess-cta{margin-top:6px;justify-content:center}

.zoomc{height:100%;display:flex;flex-direction:column}

.zc-stage{flex:1}

.zoomc{background:#fff;border-radius:18px;overflow:hidden;box-shadow:0 40px 90px rgba(0,0,0,.35);color:var(--ink)}

.zc-top{padding:16px 22px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between}

.zc-top b{font-size:.84rem;color:var(--navy)}

.zc-live{display:flex;align-items:center;gap:7px;font-size:.68rem;font-weight:800;letter-spacing:.08em;color:#E23E2B;text-transform:uppercase}

.zc-live i{width:8px;height:8px;border-radius:50%;background:#E23E2B;animation:pl 1.6s infinite}

.zc-stage{background:linear-gradient(150deg,#153A52,#1E5273);height:270px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px}

.zc-av{width:100px;height:100px;border-radius:50%;overflow:hidden;border:3px solid rgba(111,209,196,.6)}

.zc-av img{width:100%;height:100%;object-fit:cover;object-position:center 12%}

.zc-stage b{color:#fff;font-size:1.05rem}

.zc-stage span{color:rgba(255,255,255,.55);font-size:.78rem}

.zc-foot{padding:14px 22px;background:var(--teal-bg);display:flex;align-items:center;gap:10px;font-size:.8rem;color:var(--teal-dark);font-weight:600}

/* ── TESTIMONIALS ── */
.testi-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}

.t-card{background:#fff;border:1px solid var(--line);border-radius:18px;padding:30px;transition:all .3s}

.t-card:hover{box-shadow:0 18px 44px rgba(21,58,82,.08)}

.t-card .stars{margin-bottom:16px}

.t-card p{font-size:.92rem;line-height:1.75;color:var(--ink);margin-bottom:22px}

.t-who{display:flex;align-items:center;gap:12px}

.t-av{width:44px;height:44px;border-radius:50%;background:var(--teal-bg);color:var(--teal-dark);display:flex;align-items:center;justify-content:center;font-weight:800;font-size:.9rem}

.t-who b{font-size:.88rem;color:var(--navy);display:block}

.t-who span{font-size:.76rem;color:var(--gray)}

/* ── FAQ ── */
.faq-wrap{max-width:820px;margin:0 auto}

.f-item{background:#fff;border:1px solid var(--line);border-radius:14px;margin-bottom:12px;overflow:hidden;transition:border-color .25s}

.f-item.open{border-color:var(--teal)}

.f-q{width:100%;background:none;border:none;text-align:left;padding:22px 26px;display:flex;justify-content:space-between;align-items:center;gap:20px;font-size:1rem;font-weight:700;color:var(--navy)}

.f-x{min-width:30px;height:30px;border-radius:50%;background:var(--teal-bg);color:var(--teal-dark);display:flex;align-items:center;justify-content:center;font-size:1.2rem;font-weight:500;transition:transform .3s}

.f-item.open .f-x{transform:rotate(45deg);background:var(--teal);color:#fff}

.f-a{max-height:0;overflow:hidden;transition:max-height .35s ease}

.f-a p{padding:0 26px 22px;font-size:.92rem;line-height:1.75;color:var(--gray)}

/* ── BLOG ── */
.blog-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}

.b-card{background:#fff;border:1px solid var(--line);border-radius:18px;overflow:hidden;transition:all .3s}

.b-card:hover{transform:translateY(-5px);box-shadow:0 20px 48px rgba(21,58,82,.1)}

.b-img{height:180px;overflow:hidden;position:relative}

.b-img img{width:100%;height:100%;object-fit:cover;transition:transform .5s}

.b-card:hover .b-img img{transform:scale(1.05)}

.b-cat{position:absolute;top:14px;left:14px;background:#fff;color:var(--teal-dark);font-size:.68rem;font-weight:800;letter-spacing:.05em;text-transform:uppercase;padding:6px 13px;border-radius:100px}

.b-body{padding:24px}

.b-body h3{font-size:1.05rem;font-weight:800;color:var(--navy);line-height:1.4;margin-bottom:10px}

.b-body p{font-size:.85rem;line-height:1.6;color:var(--gray);margin-bottom:14px}

.b-meta{font-size:.76rem;color:var(--gray)}

/* ── CTA ── */
.cta{background:linear-gradient(135deg,var(--teal) 0%,#127F74 100%);color:#fff}

.cta .in{max-width:1240px;margin:0 auto;padding:80px 32px;display:flex;align-items:center;justify-content:space-between;gap:40px;flex-wrap:wrap}

.cta h2{color:#fff;margin-bottom:10px}

.cta p{font-size:1rem;color:rgba(255,255,255,.85)}

.cta .btn-navy{background:#fff;color:var(--teal-dark)}
/* Secondary CTA ("Call the Clinic") on the teal band.
   Previously an inline background:rgba(255,255,255,.15), which sat at
   roughly 1.2:1 contrast against the teal gradient — effectively
   invisible. This is a proper ghost button: solid white 2px border and
   white text (~4.9:1 on the darker end of the gradient), so it reads as a
   real button while staying visually secondary to the solid white one. */
.cta .btn-ghost{display:inline-flex;align-items:center;justify-content:center;gap:9px;background:transparent;border:2px solid #fff;color:#fff;font-weight:700;font-size:.9rem;padding:12px 26px;border-radius:10px;transition:background .25s,color .25s}
.cta .btn-ghost:hover{background:#fff;color:var(--teal-dark)}

.cta .btn-navy:hover{background:var(--navy);color:#fff}

/* ── FOOTER ── */
footer{background:var(--navy);color:rgba(255,255,255,.55)}

.foot{max-width:1240px;margin:0 auto;padding:76px 32px 0;display:grid;grid-template-columns:1.7fr 1fr 1fr 1.3fr;gap:52px}

.f-logo{background:#fff;border-radius:16px;padding:12px;display:inline-flex;width:fit-content;margin-bottom:20px}

.f-logo img{width:84px;height:84px}

.f-brand p{font-size:.86rem;line-height:1.75;max-width:280px;margin-bottom:18px}

.f-cred{font-size:.7rem;letter-spacing:.1em;text-transform:uppercase;color:#6FD1C4;font-weight:800}

footer h5{font-size:.72rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:#fff;margin-bottom:20px}

footer a.fl{display:block;font-size:.88rem;margin-bottom:12px;transition:color .2s}

footer a.fl:hover{color:#6FD1C4}

.f-contact p{font-size:.88rem;line-height:1.7;margin-bottom:12px}

.f-bot{max-width:1240px;margin:56px auto 0;padding:24px 32px;border-top:1px solid rgba(255,255,255,.1);display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;font-size:.78rem;color:rgba(255,255,255,.35)}

.f-bot a{color:#6FD1C4}

/* reveal */
.rv{opacity:0;transform:translateY(24px);transition:opacity .7s ease,transform .7s ease}

.rv.in{opacity:1;transform:none}

.nav-hamburger{display:none;flex-direction:column;justify-content:center;gap:5px;width:40px;height:40px;background:none;border:none;cursor:pointer;padding:0;flex-shrink:0}

.nav-hamburger span{display:block;width:24px;height:2px;background:var(--navy);transition:.25s;margin:0 auto}

.nav-hamburger.active span:nth-child(1){transform:translateY(7px) rotate(45deg)}

.nav-hamburger.active span:nth-child(2){opacity:0}

.nav-hamburger.active span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}

header{position:relative}

@media(max-width:1060px){
  .nav-links{display:none;position:absolute;top:100%;left:0;right:0;background:#fff;flex-direction:column;gap:0;padding:8px 24px 16px;box-shadow:0 16px 32px rgba(21,58,82,.12);border-top:1px solid var(--line);z-index:150}
  .nav-links.open{display:flex}
  .nav-links a{padding:14px 4px;border-bottom:1px solid var(--line);font-size:1rem;width:100%}
  .nav-hamburger{display:flex}
  .hero .in,.team-wrap{grid-template-columns:1fr;gap:44px}
  .sess-body{grid-template-columns:1fr}
  .why-grid,.steps{grid-template-columns:1fr 1fr}
  .aud-grid,.price-grid,.testi-grid,.blog-grid{grid-template-columns:1fr}
  .foot{grid-template-columns:1fr 1fr}
  .doc-card{max-width:460px}
}

@media(max-width:1060px){
  .hero .in>div:first-child{display:contents}
  .hero-badge{order:1}
  .hero h1{order:2}
  .hero-sub{order:3}
  .hero-ctas{order:4}
  .hero-visual{order:5}
  .hero-checks{order:6;margin-top:8px}
  .hero-review{display:none}
}

@media(max-width:620px){
  .why-grid,.steps,.foot{grid-template-columns:1fr}


@media(max-width:430px){
  .nav{padding:0 14px;gap:8px}
  .logo img{width:52px;height:52px}
  .nav-actions{gap:6px}
  .nav-actions .btn{padding:12px;font-size:.74rem;white-space:nowrap;min-height:42px;box-sizing:border-box}
  .nav-hamburger{width:40px;height:40px}
}
  .sec{padding:70px 22px}
  .hero .in{padding:52px 22px}
  .topbar .in{justify-content:center}
  .nav-call{display:none}
  .hero-review{left:10px}
  .hero-live{right:10px}
}

/* page banner */
.banner{background:linear-gradient(180deg,var(--teal-bg) 0%,#fff 100%);border-bottom:1px solid var(--line)}

.banner .in{max-width:1240px;margin:0 auto;padding:64px 32px 56px}

.crumbs{font-size:.8rem;color:var(--gray);margin-bottom:16px}

.crumbs a{color:var(--teal-dark);font-weight:700}

.banner h1{margin-bottom:14px}

.banner p{font-size:1.05rem;line-height:1.7;color:var(--gray);max-width:620px}

/* profile page */
.profile-grid{display:grid;grid-template-columns:400px 1fr;gap:56px;align-items:start}

.prose p{font-size:1rem;line-height:1.85;color:var(--gray);margin-bottom:18px}

.prose h3{font-family:'Lora',serif;font-size:1.4rem;font-weight:600;color:var(--navy);margin:32px 0 14px}

.cred-rows{border-top:1px solid var(--line);margin-top:8px}

.cred-row{display:grid;grid-template-columns:150px 1fr;gap:24px;padding:20px 0;border-bottom:1px solid var(--line)}

.cred-row .k{font-size:.78rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--teal-dark)}

.cred-row h4{font-size:.95rem;font-weight:700;color:var(--navy);margin-bottom:4px}

.cred-row p{font-size:.87rem;line-height:1.6;color:var(--gray)}

/* service page */
.svc-grid{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center}

.svc-img{width:100%;aspect-ratio:1.1;object-fit:cover;border-radius:18px;box-shadow:0 24px 56px -20px rgba(21,58,82,.2)}

.check-list{list-style:none;margin-top:20px}

.check-list li{display:flex;gap:12px;padding:11px 0;font-size:.94rem;color:var(--ink);line-height:1.6;align-items:flex-start}

.check-list svg{color:var(--teal);flex-shrink:0;margin-top:3px}

.sign-box{background:var(--teal-bg);border-radius:16px;padding:26px 28px;margin-top:28px}

.sign-box h4{font-size:1rem;font-weight:800;color:var(--navy);margin-bottom:8px}

.sign-box p{font-size:.9rem;line-height:1.7;color:var(--gray)}

/* sessions page */
.up-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}

.up-card{background:#fff;border:1px solid var(--line);border-radius:16px;padding:26px;transition:all .3s}

.up-card:hover{border-color:#C8E5E0;box-shadow:0 16px 40px rgba(21,58,82,.08)}

.up-tag{display:inline-block;background:var(--teal-bg);color:var(--teal-dark);font-size:.7rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase;padding:6px 13px;border-radius:100px;margin-bottom:16px}

.up-card h3{font-size:1.05rem;font-weight:800;color:var(--navy);margin-bottom:8px}

.up-card p{font-size:.86rem;line-height:1.6;color:var(--gray)}

/* blog */
.feat-post{display:grid;grid-template-columns:1.05fr .95fr;background:#fff;border:1px solid var(--line);border-radius:20px;overflow:hidden;margin-bottom:44px;transition:all .3s}

.feat-post:hover{box-shadow:0 24px 56px rgba(21,58,82,.1)}

.fp-img{min-height:320px;position:relative;overflow:hidden}

.fp-img img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}

.fp-body{padding:40px}

.feat-tag{display:inline-block;background:var(--gold);color:#fff;font-size:.68rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase;padding:6px 14px;border-radius:100px;margin-bottom:16px}

.fp-body h2{margin-bottom:12px;font-size:1.7rem}

.fp-body p{font-size:.94rem;line-height:1.7;color:var(--gray);margin-bottom:18px}

/* article */
.article{max-width:760px;margin:0 auto}

.art-img{width:100%;height:400px;object-fit:cover;border-radius:18px;margin-bottom:36px}

.art-meta{display:flex;align-items:center;gap:14px;padding:18px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin-bottom:34px}

.art-meta .av{width:48px;height:48px;border-radius:50%;overflow:hidden}

.art-meta .av img{width:100%;height:100%;object-fit:cover;object-position:center 12%}

.art-meta b{font-size:.92rem;color:var(--navy);display:block}

.art-meta span{font-size:.78rem;color:var(--gray)}

.art-body p{font-size:1.03rem;line-height:1.9;color:#3A4A52;margin-bottom:20px}

.art-body h2{font-size:1.55rem;margin:36px 0 14px}

.art-body ul{margin:0 0 20px 6px;padding-left:20px}

.art-body ul li{font-size:1rem;line-height:1.8;color:#3A4A52;margin-bottom:9px}

.art-body blockquote{border-left:3px solid var(--teal);background:var(--teal-bg);padding:22px 26px;border-radius:0 12px 12px 0;margin:26px 0;font-family:'Lora',serif;font-size:1.15rem;font-style:italic;color:var(--navy);line-height:1.5}

.author-box{display:flex;gap:20px;align-items:center;background:var(--light);border:1px solid var(--line);border-radius:18px;padding:26px;margin:40px 0}

.author-box .ab{width:76px;height:76px;border-radius:50%;overflow:hidden;flex-shrink:0}

.author-box .ab img{width:100%;height:100%;object-fit:cover;object-position:center 12%}

.author-box h4{font-size:1.05rem;font-weight:800;color:var(--navy)}

.author-box .r{font-size:.8rem;font-weight:700;color:var(--teal-dark);margin-bottom:6px}

.author-box p{font-size:.85rem;line-height:1.6;color:var(--gray)}

/* contact */
.contact-grid{display:grid;grid-template-columns:1fr 1.1fr;gap:52px;align-items:start}

.ci{display:flex;gap:16px;align-items:center;background:#fff;border:1px solid var(--line);border-radius:16px;padding:22px 24px;margin-bottom:14px;transition:all .3s}

.ci:hover{border-color:#C8E5E0;box-shadow:0 14px 36px rgba(21,58,82,.07)}

.ci .ic{width:50px;height:50px;min-width:50px;border-radius:13px;background:var(--teal-bg);color:var(--teal);display:flex;align-items:center;justify-content:center}

.ci b{display:block;font-size:.95rem;color:var(--navy)}

.ci span{font-size:.84rem;color:var(--gray)}

.form-card{background:#fff;border:1px solid var(--line);border-radius:20px;padding:36px;box-shadow:0 20px 50px rgba(21,58,82,.07)}

.form-card h3{font-family:'Lora',serif;font-size:1.4rem;font-weight:600;color:var(--navy);margin-bottom:6px}

.form-card>p{font-size:.88rem;color:var(--gray);margin-bottom:24px}

.frow{display:grid;grid-template-columns:1fr 1fr;gap:14px}

.fg{margin-bottom:15px}

.fg label{display:block;font-size:.78rem;font-weight:800;color:var(--navy);margin-bottom:7px}

.fg input,.fg select,.fg textarea{width:100%;padding:13px 15px;border:1.5px solid var(--line);border-radius:11px;font-family:inherit;font-size:.9rem;color:var(--ink);background:var(--light)}

.fg input:focus,.fg select:focus,.fg textarea:focus{outline:none;border-color:var(--teal)}

.fg textarea{resize:vertical;min-height:110px}

.form-card button{width:100%;background:var(--teal);color:#fff;border:none;padding:15px;border-radius:11px;font-size:.92rem;font-weight:800;transition:background .2s}

.form-card button:hover{background:var(--teal-dark)}

.map-box{margin-top:52px;height:280px;border-radius:18px;background:var(--teal-bg);border:1px solid var(--line);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;color:var(--teal-dark)}

.map-box b{font-size:1rem}

.map-box span{font-size:.82rem;color:var(--gray)}

@media(max-width:1060px){
  .profile-grid,.svc-grid,.feat-post,.contact-grid{grid-template-columns:1fr}
  .up-grid{grid-template-columns:1fr}
  .fp-img{min-height:240px}
}

@media(max-width:620px){.frow{grid-template-columns:1fr}.art-img{height:230px}}

.f-license{display:flex;align-items:center;gap:10px;margin-top:6px;padding-top:16px;border-top:1px solid rgba(255,255,255,.08)}

.f-license img{height:44px;width:auto;opacity:.95;filter:brightness(0) invert(1);}

.f-license span{font-size:.74rem;color:rgba(255,255,255,.4);line-height:1.5}

.f-license a{color:rgba(111,209,196,.8)}

.license-band{background:#0F2235;border-top:1px solid var(--line)}

.license-in{max-width:1240px;margin:0 auto;padding:80px 32px;display:grid;grid-template-columns:.6fr 1fr;gap:56px;align-items:center}

.license-logo-card{background:#fff;border-radius:20px;padding:36px;display:flex;align-items:center;justify-content:center}

.license-logo-card img{max-width:100%;height:auto}

.license-copy .eyebrow{color:#6FD1C4}

.license-copy h2{color:#fff}

.license-copy p{color:rgba(255,255,255,.65);font-size:.98rem;line-height:1.8;margin-top:18px}

.license-facts{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:28px}

.lf{background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.1);border-radius:14px;padding:18px 20px}

.lf b{display:block;color:#fff;font-size:.85rem;margin-bottom:4px}

.lf span{font-size:.82rem;color:rgba(255,255,255,.55)}

.lf a{color:#6FD1C4}

@media(max-width:900px){.license-in{grid-template-columns:1fr}}

.doc-grid-2{display:grid;grid-template-columns:1fr 1fr;gap:28px;max-width:920px;margin:0 auto}

.doc-photo-ph{aspect-ratio:.95;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,var(--teal-bg) 0%,#d3ede9 100%);position:relative}

.doc-initials{font-family:'Lora',serif;font-weight:600;font-size:3.6rem;color:var(--teal-dark);opacity:.6;letter-spacing:.02em}

@media(max-width:760px){.doc-grid-2{grid-template-columns:1fr;max-width:460px}}

@media(max-width:480px){.team-stats{grid-template-columns:1fr;gap:10px}}

.ts{background:#fff;border:1px solid var(--line);border-radius:14px;padding:20px;text-align:center;min-width:0;overflow-wrap:break-word}

.sess-cta{margin-top:6px;justify-content:center;width:100%}

/* STATS BAND */
.stats-band{background:var(--navy);padding:52px clamp(20px,4vw,52px)}

.stats-in{max-width:1240px;margin:0 auto;display:grid;grid-template-columns:repeat(4,1fr);gap:24px;text-align:center}

.stat-item{display:flex;flex-direction:column;gap:8px}

.stat-num{font-family:'Lora',serif;font-size:2.6rem;font-weight:600;color:#6FD1C4;line-height:1}

.stat-label{font-size:.85rem;color:rgba(255,255,255,.7);line-height:1.5;max-width:180px;margin:0 auto}

@media(max-width:760px){.stats-in{grid-template-columns:1fr 1fr;gap:32px 20px}}

/* VISIT US */
.visit-grid{display:grid;grid-template-columns:1.15fr 1fr;gap:44px;align-items:stretch}

.visit-map{border-radius:18px;background:var(--teal-bg);border:1px solid var(--line);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;min-height:320px;color:var(--teal-dark)}

.visit-map b{font-size:1.05rem}

.visit-map span{font-size:.82rem;color:var(--gray)}

.visit-info{display:flex;flex-direction:column;gap:14px}

.vi-item{display:flex;gap:16px;align-items:center;background:#fff;border:1px solid var(--line);border-radius:16px;padding:20px 22px;transition:all .3s}

.vi-item:hover{border-color:#C8E5E0;box-shadow:0 14px 36px rgba(21,58,82,.07)}

.vi-ic{width:46px;height:46px;min-width:46px;border-radius:12px;background:var(--teal-bg);color:var(--teal);display:flex;align-items:center;justify-content:center}

.vi-item b{display:block;font-size:.92rem;color:var(--navy)}

.vi-item span{font-size:.83rem;color:var(--gray)}

.visit-info .btn{margin-top:6px;text-align:center;justify-content:center}

@media(max-width:900px){.visit-grid{grid-template-columns:1fr}.visit-map{min-height:220px}}
/* ── CONTACT FORM ──────────────────────────────────────────────
   The static design left the submit button with no class, so it rendered
   as a default browser button. These rules give the form the same visual
   language as the rest of the site, and pair the short fields two-up on
   desktop so the form reads as one block rather than a long column. */
.contact-form{margin-top:22px}
.contact-form .fg-row{display:grid;grid-template-columns:1fr 1fr;gap:0 16px}
.contact-form .fg label{display:flex;align-items:center;gap:5px}
.contact-form .fg label .req{color:var(--teal-dark);font-size:.9em;line-height:1}
.contact-form .fg input,
.contact-form .fg select,
.contact-form .fg textarea{transition:border-color .2s,box-shadow .2s,background .2s}
.contact-form .fg input:focus,
.contact-form .fg select:focus,
.contact-form .fg textarea:focus{background:#fff;border-color:var(--teal);box-shadow:0 0 0 3px rgba(25,155,142,.15)}
.contact-form .fg input:invalid:not(:placeholder-shown),
.contact-form .fg input[aria-invalid="true"]{border-color:#D9534F}
.contact-form .fg select{appearance:none;-webkit-appearance:none;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%235B6B76' stroke-width='2.4'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 15px center;padding-right:40px}
.contact-form button[type="submit"]{display:inline-flex;align-items:center;justify-content:center;gap:9px;width:100%;margin-top:8px;background:var(--teal);color:#fff;font-family:inherit;font-weight:700;font-size:.95rem;padding:15px 28px;border:none;border-radius:11px;cursor:pointer;transition:background .25s,transform .2s,box-shadow .25s;box-shadow:0 4px 14px rgba(25,155,142,.25)}
.contact-form button[type="submit"]:hover{background:var(--teal-dark);transform:translateY(-2px);box-shadow:0 8px 22px rgba(25,155,142,.32)}
.contact-form button[type="submit"]:active{transform:translateY(0)}
.contact-form button[type="submit"]:focus-visible{outline:3px solid rgba(25,155,142,.45);outline-offset:2px}
.form-privacy{margin-top:12px;font-size:.76rem;line-height:1.6;color:var(--gray)}

/* RTL: flip the select chevron to the left edge */
[dir="rtl"] .contact-form .fg select{background-position:left 15px center;padding-right:15px;padding-left:40px}

@media(max-width:620px){
  .contact-form .fg-row{grid-template-columns:1fr;gap:0}
}
