body{background:var(--bg);color:var(--text);font-family:var(--font);min-height:100vh}
.wrap{max-width:var(--maxw,1200px);margin:0 auto;padding:0 1.2rem}
a{color:var(--primary)}
em{font-style:normal}

/* ---------- header (editable: layout settings + nav_items) ---------- */
.top{width:100%;z-index:50;transition:background .25s,color .25s,box-shadow .25s;color:var(--text)}
.top .wrap{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:1rem;min-height:76px}
.top.sd{background:color-mix(in srgb,var(--bg) 90%,transparent);backdrop-filter:blur(14px);border-bottom:1px solid var(--line)}
.top.sd.stk{position:sticky;top:0}
.top.ov{position:absolute;top:0;left:0;right:0;color:#fff}
.top.ov.stk{position:fixed}
.top.ov.scrolled{background:color-mix(in srgb,var(--bg) 88%,transparent);backdrop-filter:blur(14px);color:var(--text);box-shadow:0 1px 0 var(--line)}
.brand{display:flex;align-items:center;gap:.7rem;color:inherit;justify-self:start;font-family:var(--font-head)}
.brand img{width:46px;height:46px;border-radius:50%;object-fit:cover;background:#fff}
.brand small{display:block;font-family:var(--font);font-size:.75rem;opacity:.75}
.links{justify-self:center;display:flex;gap:.1rem;padding:.3rem;border-radius:99px;background:color-mix(in srgb,currentColor 10%,transparent);backdrop-filter:blur(10px);max-width:100%;overflow-x:auto;scrollbar-width:none}
.links a{color:inherit;opacity:.85;padding:.45rem 1rem;border-radius:99px;white-space:nowrap;font-size:.95rem}
.links a.on,.links a:hover{opacity:1;background:color-mix(in srgb,currentColor 16%,transparent)}
.tools{justify-self:end;display:flex;gap:.5rem;align-items:center}
.ghost-pill{border:1px solid color-mix(in srgb,currentColor 35%,transparent);background:none;color:inherit;border-radius:99px;padding:.4rem .9rem;font:inherit;cursor:pointer}
.login-pill{display:inline-flex;align-items:center;gap:.6rem;color:inherit;font-size:.9rem;padding:.25rem .3rem .25rem 1rem;border-radius:99px;border:1px solid color-mix(in srgb,currentColor 35%,transparent)}
[dir=rtl] .login-pill{padding:.25rem 1rem .25rem .3rem}
.login-pill .arr{width:30px;height:30px;border-radius:50%;display:grid;place-items:center;background:currentColor}
.login-pill .arr::before{content:"↗";color:var(--bg);font-size:.95rem}
.top.ov:not(.scrolled) .login-pill .arr::before{color:#111}

main{min-height:70vh}
main.page{padding:2.2rem 0 3rem}

/* ---------- hero ---------- */
.hero{position:relative;min-height:clamp(540px,86vh,820px);display:grid;place-items:center;text-align:center;color:#fff;background:var(--hero-img) center/cover no-repeat}
.hero::before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(8,10,30,.45) 0%,rgba(8,10,30,.18) 40%,rgba(8,10,30,.6) 100%)}
.hero-in{position:relative;max-width:860px;padding:8rem 1.2rem 5.5rem}
.hero .eyebrow{display:inline-block;margin-bottom:1rem;padding:.3rem 1rem;border-radius:99px;background:rgba(255,255,255,.16);backdrop-filter:blur(8px);font-size:.85rem}
.hero h1{font-size:clamp(2.5rem,7.5vw,5rem);line-height:1.15;color:#fff;margin:0}
.hero h1 em{color:var(--accent)}
.hero .lead{max-width:560px;margin:1.2rem auto 2rem;font-size:1.1rem;opacity:.92}
.btn-white{display:inline-block;background:#fff;color:#111;border-radius:99px;padding:.95rem 2.8rem;font-size:1.05rem;font-family:var(--font);border:0;cursor:pointer}
.btn-white:hover{filter:brightness(.94)}
.hero .btn-ghost{display:inline-block;margin-inline-start:.6rem;color:#fff;border:1px solid rgba(255,255,255,.5);border-radius:99px;padding:.9rem 1.8rem}

/* ---------- sections ---------- */
.sec{padding:4.5rem 0}
.sec.tight{padding:2rem 0}
.sh{text-align:center;margin-bottom:2.4rem}
.pill{display:inline-block;padding:.35rem 1.2rem;border-radius:99px;background:var(--surface);color:var(--muted);font-size:.8rem;border:1px solid var(--line)}
.sh h2{font-size:clamp(2rem,5vw,3.4rem);line-height:1.2;margin:.9rem 0 0}
.sh h2 em,.b-dark em{color:var(--primary)}
.b-dark em{color:var(--accent)}

/* services carousel */
.car{position:relative;margin-inline:calc(50% - 50vw);overflow:hidden}
.track{display:flex;gap:1.1rem;overflow-x:auto;scroll-snap-type:x mandatory;padding:2.2rem calc(50% - 130px);scrollbar-width:none;align-items:center}
.track::-webkit-scrollbar{display:none}
.svc{flex:0 0 260px;height:390px;border-radius:var(--radius);position:relative;overflow:hidden;scroll-snap-align:center;color:#fff;display:flex;flex-direction:column;justify-content:flex-end;padding:1rem;transition:transform .2s,opacity .2s;background:linear-gradient(160deg,var(--c),color-mix(in srgb,var(--c) 35%,#000));box-shadow:0 18px 40px rgba(10,12,30,.22)}
.svc .bg{position:absolute;inset:0;background-size:cover;background-position:center}
.svc::after{content:"";position:absolute;inset:0;background:linear-gradient(to top,rgba(0,0,0,.78),rgba(0,0,0,0) 62%)}
.svc>*{position:relative;z-index:1}
.svc .big-ic{position:absolute;top:1.1rem;inset-inline-start:1.1rem;font-size:2.8rem;line-height:1}
.svc h3{color:#fff;font-size:1.55rem;margin:0 0 .3rem}
.svc p{font-size:.86rem;opacity:.9;margin:0 0 .9rem;line-height:1.6}
.svc .go{background:#fff;color:#111;border-radius:99px;text-align:center;padding:.6rem;font-size:.95rem}
.car-ctl{display:flex;justify-content:center;align-items:center;gap:1.4rem;margin-top:.4rem}
.round{width:48px;height:48px;border-radius:50%;border:1px solid var(--line);background:none;color:var(--text);font-size:1.2rem;cursor:pointer}
.round:hover{background:var(--surface)}
.car-ctl a{color:var(--text)}

/* about / bento */
.about-top{display:grid;grid-template-columns:1fr 1fr;gap:2rem;align-items:start;margin-bottom:2.2rem}
.about-top p{margin:0;font-size:1.15rem;line-height:1.9;color:var(--text)}
.bento{display:grid;grid-template-columns:1.1fr 1fr 1fr;gap:1.2rem}
.b{border-radius:var(--radius);min-height:360px;padding:1.6rem;position:relative;overflow:hidden}
.b-dark{background:#0f1220;color:#fff;display:flex;flex-direction:column;justify-content:space-between;gap:1.5rem}
.b-dark .lg{width:44px;height:44px;border-radius:50%;background:#fff;object-fit:cover}
.b-dark p{font-family:var(--font-head);font-size:1.6rem;line-height:1.5;margin:0}
.btn-dark{display:block;text-align:center;background:rgba(255,255,255,.12);color:#fff;border-radius:99px;padding:.95rem}
.btn-dark:hover{background:rgba(255,255,255,.2)}
.b-img{background:linear-gradient(150deg,var(--primary),#1c1f4d) center/cover;display:flex;align-items:flex-start;justify-content:center}
.b-img img.lg{position:absolute;inset:0;margin:auto;width:46%;aspect-ratio:1;border-radius:50%;object-fit:cover;background:#fff}
.pill-glass{position:relative;padding:.5rem 1.6rem;border-radius:99px;background:rgba(255,255,255,.28);backdrop-filter:blur(10px);color:#fff;font-size:.9rem;z-index:1}
.b-stats{background:var(--surface);border:1px solid var(--line)}
.b-stats .big{font-family:var(--font-head);font-size:3.4rem;line-height:1}
.b-stats small{display:block;color:var(--muted);margin:.4rem 0 1.4rem}
.meter{display:grid;grid-template-columns:5.5rem 1fr auto;gap:.6rem;align-items:center;margin:.7rem 0;font-size:.82rem}
.dots{display:flex;gap:3px}.dots i{width:7px;height:7px;border-radius:50%;background:color-mix(in srgb,var(--text) 15%,transparent)}.dots i.on{background:var(--primary)}

/* stats row */
.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:1.2rem;text-align:center}
.stat b{display:block;font-family:var(--font-head);font-weight:400;font-size:clamp(2.2rem,5vw,3.4rem);line-height:1.1}
.stat small{color:var(--muted)}

/* generic blocks used by sections and inner pages */
.cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:1.1rem}
.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:1.3rem;display:flex;flex-direction:column;gap:.4rem}
.card h3{margin:0;font-size:1.2rem}
.card.link{color:var(--text);transition:.2s}.card.link:hover{border-color:var(--primary);transform:translateY(-3px)}
.pinned{border-color:var(--accent)}
.circles{display:flex;gap:1.4rem;flex-wrap:wrap;justify-content:center}
.circle{width:116px;text-align:center;color:var(--text);font-size:.9rem}
.circle .av{width:104px;height:104px;border-radius:50%;margin:0 auto .5rem;display:grid;place-items:center;font-family:var(--font-head);font-size:2rem;color:rgba(0,0,0,.5);background-size:cover;background-position:center;border:4px solid var(--surface)}
.more{text-align:center;margin-top:1.6rem}
.login-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:1.4rem;max-width:520px;margin:0 auto}
.login-card h3{margin-bottom:.8rem;font-size:1.3rem}
.chips{display:flex;gap:.5rem;flex-wrap:wrap;margin-bottom:1.2rem}
.chip{padding:.4rem 1rem;border-radius:99px;border:1px solid var(--line);color:var(--muted);cursor:pointer;background:none;font:inherit}
.chip.on{background:var(--text);color:var(--bg);border-color:var(--text)}
.day{margin-bottom:1.2rem}.day h3{color:var(--primary)}
.slot{display:flex;gap:1rem;padding:.8rem 1rem;background:var(--surface);border-radius:calc(var(--radius) * .6);margin-bottom:.5rem;border-inline-start:4px solid var(--primary)}
.slot time{min-width:110px;color:var(--muted)}
.viewer video,.viewer audio,.viewer iframe{width:100%;border-radius:12px;border:0}.viewer iframe{height:70vh}
footer.foot{background:#0f1220;color:#c9cbe0;padding:2.5rem 0 5.5rem;text-align:center}
footer.foot a{color:#fff}
.maint{min-height:80vh;display:grid;place-items:center;text-align:center;padding:2rem}.maint img{width:120px;border-radius:50%}
.bnav{display:none}
.hide-d{display:block}.hide-m{display:block}
@media(min-width:861px){.hide-d{display:none}}
@media(max-width:860px){
  .hide-m{display:none}
  .top .wrap{grid-template-columns:1fr auto}.links{display:none}
  .about-top,.bento{grid-template-columns:1fr}
  .stats{grid-template-columns:1fr 1fr}
  .sec{padding:3rem 0}
  .bnav{display:flex;position:fixed;bottom:0;inset-inline:0;z-index:60;background:var(--bg);border-top:1px solid var(--line);justify-content:space-around;padding:.3rem 0 .5rem}
  .bnav.off{display:none}
  .bnav a{display:flex;flex-direction:column;align-items:center;font-size:.7rem;color:var(--muted);padding:.2rem .4rem}
  .bnav a span{font-size:1.3rem}.bnav a.on{color:var(--primary)}
  .brand small{display:none}
}
