@font-face{font-family:'Cormorant Infant';src:url('../fonts/heading-cormorant-infant.woff2') format('woff2');font-style:normal;font-weight:100 900;font-display:swap}
@font-face{font-family:'Plus Jakarta Sans';src:url('../fonts/body-plus-jakarta-sans.woff2') format('woff2');font-style:normal;font-weight:100 900;font-display:swap}
/* ATLAS ACADEMY — tutoring & test prep · inspired by framer.com/education
   ARCHITECTURE: minimal top nav, full-viewport scroll-snap panels, pinned numbered step sequence,
   huge centered type, bold accent panels. (No card-grid/sidebar/editorial repeat.) */
:root{
  --bg:#0e0c1a; --panel:#15122a; --paper:#f6f5ff; --ink:#14112a; --gray:#8b88a8;
  --violet:#6c4dff; --violet-l:#a48bff; --lime:#c6ff4a; --pink:#ff7ad9; --line:#262248;
  --r:18px; --rl:30px; --sans:var(--catalog-font-body);
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{font-family:var(--sans);background:var(--bg);color:var(--paper);line-height:1.6;-webkit-font-smoothing:antialiased}
img{max-width:100%;display:block}a{color:inherit;text-decoration:none}
h1,h2,h3,h4{font-weight:700;line-height:1.02;letter-spacing:-.03em}
.wrap{width:min(1140px,92%);margin-inline:auto}
.tag{display:inline-flex;align-items:center;gap:8px;border:1px solid var(--line);background:rgba(108,77,255,.12);color:var(--violet-l);font-weight:600;font-size:.78rem;padding:7px 15px;border-radius:100px}
.lead{color:var(--gray);font-size:clamp(1.02rem,1.3vw,1.2rem);max-width:60ch}
.center{text-align:center;margin-inline:auto}

/* Nav minimal */
.nav{position:fixed;inset:0 0 auto;z-index:60;display:flex;align-items:center;justify-content:space-between;padding:20px clamp(20px,4vw,46px);transition:.3s}
.nav.scr{background:rgba(14,12,26,.8);backdrop-filter:blur(14px);border-bottom:1px solid var(--line)}
.brand{font-weight:700;font-size:1.35rem;letter-spacing:-.04em;display:flex;align-items:center;gap:9px}
.brand .d{width:26px;height:26px;border-radius:9px;background:var(--violet);display:grid;place-items:center;font-size:.9rem}
.menu{display:flex;align-items:center;gap:28px}
.menu a{font-size:.92rem;font-weight:500;color:var(--gray);transition:.2s}.menu a:hover{color:var(--paper)}
.btn{display:inline-flex;align-items:center;gap:9px;font-weight:600;font-size:.92rem;padding:13px 24px;border-radius:100px;cursor:pointer;transition:.25s;border:1.5px solid transparent}
.btn-solid{background:var(--violet);color:#fff}.btn-solid:hover{background:var(--violet-l);transform:translateY(-2px)}
.btn-lime{background:var(--lime);color:#14112a}.btn-lime:hover{transform:translateY(-2px)}
.btn-ghost{border-color:var(--line);color:var(--paper)}.btn-ghost:hover{border-color:var(--violet-l)}
.toggle{display:none;flex-direction:column;gap:5px;background:none;border:0;cursor:pointer;padding:8px}
.toggle span{width:24px;height:2.5px;background:var(--paper);border-radius:2px;transition:.3s}
.toggle.x span:nth-child(1){transform:translateY(7.5px) rotate(45deg)}.toggle.x span:nth-child(2){opacity:0}.toggle.x span:nth-child(3){transform:translateY(-7.5px) rotate(-45deg)}

/* Scroll-snap panels */
.snap{scroll-snap-type:y proximity}
.panel{min-height:100vh;display:flex;flex-direction:column;justify-content:center;padding:120px 0 80px;scroll-snap-align:start;position:relative}

/* Hero panel */
.hero{text-align:center}
.hero h1{font-size:clamp(3rem,9vw,7.5rem);margin:22px auto;max-width:16ch}
.hero h1 .g{background:linear-gradient(100deg,var(--violet-l),var(--pink));-webkit-background-clip:text;background-clip:text;color:transparent}
.hero .lead{margin:0 auto}
.hero-cta{display:flex;gap:14px;justify-content:center;flex-wrap:wrap;margin-top:34px}
.orbits{position:absolute;inset:0;z-index:-1;overflow:hidden;pointer-events:none}
.orbits i{position:absolute;border-radius:50%;filter:blur(60px);opacity:.5}
.orbits i:nth-child(1){width:340px;height:340px;background:var(--violet);top:6%;left:-6%}
.orbits i:nth-child(2){width:300px;height:300px;background:var(--pink);bottom:8%;right:-4%}
.orbits i:nth-child(3){width:220px;height:220px;background:var(--lime);top:40%;right:24%;opacity:.25}

/* Stat strip */
.stripn{display:flex;justify-content:center;gap:clamp(24px,6vw,80px);flex-wrap:wrap;margin-top:60px}
.stripn div{text-align:center}.stripn b{font-size:clamp(2rem,4vw,3rem);display:block;color:var(--lime)}.stripn span{color:var(--gray);font-size:.84rem}

/* Pinned step sequence */
.steps-panel{background:var(--panel);border-radius:var(--rl);padding:clamp(40px,6vw,80px);margin:40px 0;border:1px solid var(--line)}
.steps-head{text-align:center;margin-bottom:54px}
.steps-head h2{font-size:clamp(2.2rem,5vw,3.8rem)}
.steps{display:grid;gap:18px}
.stepi{display:grid;grid-template-columns:90px 1fr auto;gap:24px;align-items:center;padding:30px;border:1px solid var(--line);border-radius:var(--r);background:var(--bg);transition:.3s}
.stepi:hover{border-color:var(--violet);transform:translateX(8px)}
.stepi .no{font-size:2.6rem;font-weight:700;color:var(--violet-l);opacity:.5}
.stepi h3{font-size:1.5rem;margin-bottom:6px}.stepi p{color:var(--gray);font-size:.95rem;max-width:48ch}
.stepi .ic{width:54px;height:54px;border-radius:14px;background:rgba(108,77,255,.15);display:grid;place-items:center;font-size:1.5rem}

/* Subject big list */
.subjects{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}
.subj{display:flex;justify-content:space-between;align-items:center;padding:30px;border:1px solid var(--line);border-radius:var(--r);transition:.3s;background:var(--panel)}
.subj:hover{background:var(--violet);border-color:var(--violet)}
.subj h3{font-size:1.6rem}.subj:hover p{color:rgba(255,255,255,.8)}
.subj p{color:var(--gray);font-size:.88rem;margin-top:4px}.subj .pr{font-weight:700;font-size:1.2rem;color:var(--lime)}.subj:hover .pr{color:#fff}

/* Head */
.head{text-align:center;max-width:680px;margin:0 auto 50px}.head h2{font-size:clamp(2.2rem,5vw,3.6rem);margin:14px 0}

/* Rich roster */
.roster{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}
.rmem{display:grid;grid-template-columns:140px 1fr;background:var(--panel);border:1px solid var(--line);border-radius:var(--r);overflow:hidden}
.rmem .pic img{width:100%;height:100%;object-fit:cover}
.rmem .info{padding:22px;position:relative}.rmem .yr{position:absolute;top:18px;right:18px;background:var(--lime);color:#14112a;font-weight:700;font-size:.7rem;padding:3px 9px;border-radius:100px}
.rmem h3{font-size:1.2rem}.rmem .role{color:var(--violet-l);font-weight:600;font-size:.78rem;margin:3px 0 9px}
.rmem .bio{color:var(--gray);font-size:.86rem;margin-bottom:11px}
.rmem .spec{display:flex;flex-wrap:wrap;gap:6px}.rmem .spec span{border:1px solid var(--line);color:var(--gray);padding:3px 9px;border-radius:100px;font-size:.68rem;font-weight:600}

/* Reviews */
.revs{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.rev{background:var(--panel);border:1px solid var(--line);border-radius:var(--r);padding:28px}
.rev .st{color:var(--lime);margin-bottom:12px}.rev p{margin-bottom:18px}
.who{display:flex;gap:11px;align-items:center}.who img{width:42px;height:42px;border-radius:50%}.who b{font-size:.9rem}.who small{color:var(--gray)}

/* Plans */
.plans{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;align-items:start}
.plan{background:var(--panel);border:1.5px solid var(--line);border-radius:var(--rl);padding:34px;text-align:center}
.plan.hot{border-color:var(--violet);background:linear-gradient(180deg,rgba(108,77,255,.18),var(--panel))}
.plan h3{font-size:1.3rem}.plan .amt{font-size:2.8rem;font-weight:700;margin:8px 0}.plan .amt small{font-size:.95rem;color:var(--gray)}
.plan ul{list-style:none;text-align:left;display:grid;gap:10px;margin:18px 0 24px}.plan li{display:flex;gap:9px;color:var(--gray);font-size:.92rem}.plan li::before{content:"✓";color:var(--lime)}

/* Gift */
.gift-amts{display:flex;gap:10px;flex-wrap:wrap;margin:16px 0}
.gift-amt{border:1.5px solid var(--line);border-radius:12px;padding:16px 26px;cursor:pointer;font-weight:700;font-size:1.4rem;transition:.2s;background:var(--panel)}
.gift-amt:hover{border-color:var(--violet)}.gift-amt.on{background:var(--violet);color:#fff;border-color:var(--violet)}

/* Booking */
.bk{display:grid;grid-template-columns:1.3fr .7fr;gap:26px;align-items:start}
.bpanel{background:var(--panel);border:1px solid var(--line);border-radius:var(--rl);padding:clamp(24px,3vw,38px)}
.step{margin-bottom:28px}.step .lab{font-weight:700;margin-bottom:13px;display:flex;align-items:center;gap:9px}
.step .lab i{width:28px;height:28px;border-radius:50%;background:var(--violet);color:#fff;display:grid;place-items:center;font-style:normal;font-size:.82rem;flex:none}
.opts{display:flex;flex-wrap:wrap;gap:9px}.opt{border:1.5px solid var(--line);border-radius:11px;padding:11px 17px;cursor:pointer;transition:.2s;background:var(--bg);font-weight:500;font-size:.88rem}
.opt:hover{border-color:var(--violet)}.opt.on{background:var(--violet);color:#fff;border-color:var(--violet)}
.slots{display:grid;grid-template-columns:repeat(auto-fill,minmax(86px,1fr));gap:9px}
.slot{border:1.5px solid var(--line);border-radius:10px;padding:11px;text-align:center;cursor:pointer;background:var(--bg);font-weight:600;font-size:.85rem;transition:.2s}
.slot:hover{border-color:var(--violet)}.slot.on{background:var(--violet);color:#fff;border-color:var(--violet)}
.fld{margin-bottom:14px}.fld label{display:block;font-size:.78rem;font-weight:600;color:var(--gray);margin-bottom:6px}
.fld input,.fld select,.fld textarea{width:100%;padding:12px 14px;border:1.5px solid var(--line);border-radius:10px;font-family:inherit;font-size:.94rem;background:var(--bg);color:var(--paper)}
.fld input:focus,.fld select:focus,.fld textarea:focus{outline:none;border-color:var(--violet)}
.side{background:linear-gradient(180deg,var(--violet),#4a2fd1);border-radius:var(--rl);padding:30px;position:sticky;top:90px}
.srow{display:flex;justify-content:space-between;padding:11px 0;border-bottom:1px solid rgba(255,255,255,.18);font-size:.9rem}.srow b{font-weight:700}
.agree{display:flex;gap:9px;font-size:.82rem;color:var(--gray);margin:15px 0}

/* Gallery */
.gal{columns:3;column-gap:16px}.gal img{border-radius:var(--r);margin-bottom:16px;width:100%}

/* FAQ */
.faq{border:1px solid var(--line);border-radius:var(--r);margin-bottom:12px;padding:0 24px;background:var(--panel)}
.faq summary{cursor:pointer;list-style:none;padding:20px 0;font-weight:600;font-size:1.05rem;display:flex;justify-content:space-between;align-items:center}
.faq summary::-webkit-details-marker{display:none}.faq summary::after{content:"+";color:var(--violet-l)}.faq[open] summary::after{content:"–"}
.faq p{padding-bottom:20px;color:var(--gray)}

/* Page hero */
.phead{padding:150px 0 50px;text-align:center}
.phead h1{font-size:clamp(2.6rem,7vw,5rem)}.phead p{color:var(--gray);max-width:56ch;margin:14px auto 0}

/* Footer */
.foot{border-top:1px solid var(--line);padding:64px 0 36px;margin-top:40px}
.fgrid{display:grid;grid-template-columns:1.7fr 1fr 1fr 1fr;gap:30px;margin-bottom:38px}
.foot .fb{font-weight:700;font-size:1.4rem;margin-bottom:10px}
.foot h4{font-size:.76rem;text-transform:uppercase;letter-spacing:.08em;color:var(--violet-l);margin-bottom:12px}
.foot a{display:block;color:var(--gray);margin-bottom:8px;font-size:.88rem;transition:.2s}.foot a:hover{color:var(--paper)}
.fbot{border-top:1px solid var(--line);padding-top:20px;display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;font-size:.82rem;color:var(--gray)}

.rv{opacity:0;transform:translateY(24px);transition:.7s cubic-bezier(.2,.7,.2,1)}.rv.in{opacity:1;transform:none}

@media(max-width:920px){
  .subjects,.roster,.revs,.plans,.bk{grid-template-columns:1fr}
  .stepi{grid-template-columns:60px 1fr;gap:16px}.stepi .ic{display:none}
  .fgrid{grid-template-columns:1fr 1fr}.gal{columns:2}.side{position:static}
  .panel{min-height:auto;padding:90px 0 50px}
}
@media(max-width:600px){
  .menu{position:fixed;inset:60px 3% auto;flex-direction:column;align-items:stretch;gap:8px;background:var(--panel);border:1px solid var(--line);border-radius:var(--r);padding:16px;display:none}
  .menu.open{display:flex}.toggle{display:flex}.fgrid{grid-template-columns:1fr}.gal{columns:1}
}


/* ===== v3 accent + enhancement layer ===== */
:root{--violet:#ff6a2f;--violet-l:#ffa580;--lime:#ffd14a}
/* ===== v3 restyle: scale & outline (auto-appended) ===== */
a,button,.btn,input,select,textarea{transition:all .22s ease}
[class*="card"],[class*="tile"],[class*="block"],[class*="plan"],.rmem,.panel,.gcard,.bt,.rev{transition:transform .26s ease,box-shadow .26s ease,outline-color .26s ease}
[class*="card"]:hover,[class*="tile"]:hover,[class*="block"]:hover,[class*="plan"]:hover,.rmem:hover,.gcard:hover,.bt:hover,.rev:hover{transform:scale(1.025);box-shadow:0 16px 32px -20px color-mix(in srgb, currentColor 28%, transparent);outline:1.5px solid color-mix(in srgb, currentColor 18%, transparent);outline-offset:3px}
.card-img:hover img,.im:hover img,.pic:hover img,[class*="im"]:hover>img{transform:scale(1.07)}
img{transition:transform .5s ease}
.btn{transition:all .2s ease}.btn:hover{transform:translateY(-2px) scale(1.02)}

/* ── Side nav — floating bottom-right FAB cluster (added alongside top nav) ── */
.snav{position:fixed;right:22px;bottom:22px;z-index:60;display:flex;flex-direction:column-reverse;align-items:flex-end;gap:9px}
.snav .fab{width:54px;height:54px;border-radius:50%;background:var(--violet);color:#fff;display:grid;place-items:center;font-size:1.5rem;box-shadow:0 12px 30px -8px rgba(108,77,255,.75);cursor:pointer;transition:transform .35s cubic-bezier(.2,.7,.2,1);z-index:2}
.snav:hover .fab{transform:rotate(135deg)}
.snav a{display:flex;align-items:center;gap:9px;padding:9px 16px;border-radius:100px;background:var(--panel);border:1px solid var(--line);color:var(--paper);font-size:.82rem;font-weight:600;text-decoration:none;opacity:0;transform:translateY(14px) scale(.92);pointer-events:none;transition:.3s cubic-bezier(.2,.7,.2,1);white-space:nowrap}
.snav:hover a{opacity:1;transform:none;pointer-events:auto}
.snav a:hover{border-color:var(--violet-l);color:var(--violet-l)}
.snav a.on{background:var(--violet);border-color:var(--violet);color:#fff}
@media(max-width:720px){.snav{display:none}}

/* ── Team — neon-border glass cards ── */
.t7{display:grid;grid-template-columns:1fr 1fr;gap:24px}
.tm7{background:var(--panel);border:1px solid var(--line);border-radius:var(--rl);overflow:hidden;transition:.4s cubic-bezier(.2,.7,.2,1);position:relative}
.tm7::before{content:"";position:absolute;inset:0;border-radius:var(--rl);padding:1.5px;background:linear-gradient(135deg,var(--violet),var(--pink),var(--lime));-webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);-webkit-mask-composite:xor;mask-composite:exclude;opacity:0;transition:.4s;pointer-events:none}
.tm7:hover{transform:translateY(-6px)}
.tm7:hover::before{opacity:1}
.tm7 .pic{position:relative}
.tm7 .pic img{width:100%;height:232px;object-fit:cover;display:block}
.tm7 .pic .yr{position:absolute;top:12px;right:12px;background:var(--violet);color:#fff;font-size:.68rem;font-weight:700;padding:4px 10px;border-radius:100px}
.tm7 .info{padding:20px 22px 24px}
.tm7 .info h3{color:var(--paper);font-size:1.3rem;margin-bottom:2px}
.tm7 .info .role{color:var(--lime);font-weight:600;font-size:.82rem;margin-bottom:10px}
.tm7 .info .bio{color:var(--gray);font-size:.86rem;margin-bottom:12px}
.tm7 .info .spec{display:flex;flex-wrap:wrap;gap:6px}
.tm7 .info .spec span{font-size:.7rem;font-weight:600;color:var(--violet-l);background:rgba(108,77,255,.14);border:1px solid var(--line);padding:4px 10px;border-radius:100px}
@media(max-width:760px){.t7{grid-template-columns:1fr}}
/* Catalogue typography identity — headings and reading text. */
:root{--catalog-font-heading:'Cormorant Infant', Georgia, 'Times New Roman', serif;--catalog-font-body:'Plus Jakarta Sans', system-ui, -apple-system, 'Segoe UI', Arial, sans-serif;--sans:var(--catalog-font-body)}
html body,input,select,textarea,button{font-family:var(--catalog-font-body)}
h1,h2,h3,h4,h5,h6,.display,.disp,.brand,.logo{font-family:var(--catalog-font-heading)}

/* aajwebz-mailto-nowrap — an address is one token, never split across lines */
a[href^="mailto:"] {
  overflow-wrap: normal;
  word-break: normal;
  white-space: nowrap;
  display: inline-block;
  max-width: 100%;
}
@media (max-width: 380px) {
  a[href^="mailto:"] { font-size: 0.88em; }
}
