/* NEA – shared stylesheet (mobile-first) */
:root{
  /* palette from the NEA Harda logo: navy wordmark, purple "e", green "n/a" */
  --navy:#1e2163; --navy-2:#2b2f80; --green:#1d7a32; --green-soft:#e6f4e9;
  --orange:#7c1f86; --orange-d:#621769; --orange-soft:#f6ebf8; --paper:#f6f5fa; --white:#fff;
  --line:#dde1ec; --text:#1b2033; --muted:#596079;
  --head:"Anek Devanagari","Noto Sans Devanagari",system-ui,sans-serif;
  --body:"Noto Sans","Noto Sans Devanagari",system-ui,-apple-system,"Segoe UI",sans-serif;
  --wrap:1180px; --hdr:64px; --pad:18px;
}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:calc(var(--hdr) + 16px);-webkit-text-size-adjust:100%}
body{margin:0;font-family:var(--body);font-size:16px;line-height:1.6;color:var(--text);background:var(--white);overflow-x:hidden;
  padding-bottom:calc(64px + env(safe-area-inset-bottom,0px))}
body.nav-open{overflow:hidden}
img{max-width:100%;height:auto;display:block}
a{color:var(--navy);text-underline-offset:3px}
h1,h2,h3,h4{font-family:var(--head);font-stretch:88%;line-height:1.1;margin:0;color:var(--navy);overflow-wrap:anywhere}
p{margin:0 0 1em}
button,input,select,textarea{font:inherit}
.wrap{max-width:var(--wrap);margin:0 auto;padding:0 var(--pad)}
.vh{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.skip{position:absolute;left:-999px;top:8px;background:var(--orange);color:#fff;padding:10px 16px;border-radius:8px;z-index:200;font-weight:600}
.skip:focus{left:8px}
:focus-visible{outline:3px solid var(--orange);outline-offset:2px;border-radius:4px}
.band{height:5px;background:linear-gradient(90deg,var(--green) 0 50%,var(--orange) 50%)}

/* ---------- top bar (desktop only) ---------- */
.topbar{display:none;background:var(--navy);color:#e7eafb;font-size:14px}
.topbar .wrap{display:flex;gap:16px;align-items:center;justify-content:space-between;min-height:38px}
.topbar a{color:#fff;text-decoration:none}
.topbar a:hover{text-decoration:underline}
.topbar .tgrp{display:flex;gap:18px;align-items:center}

/* ---------- header ---------- */
header.site{position:sticky;top:0;z-index:60;background:#fff;box-shadow:0 1px 0 var(--line);padding-top:env(safe-area-inset-top,0px)}
header.site .wrap{display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:var(--hdr)}
.brand{display:flex;align-items:center;gap:10px;text-decoration:none;min-width:0}
.brand img{width:38px;height:46px;object-fit:contain;flex-shrink:0}
.brand b{display:block;font:700 15.5px/1.1 var(--head);font-stretch:85%;color:var(--navy)}
.brand small{display:none}
.hbtns{display:flex;align-items:center;gap:6px;flex-shrink:0}
.lang{border:1px solid var(--line);background:#fff;color:var(--navy);border-radius:999px;height:40px;padding:0 12px;font-size:14px;font-weight:600;cursor:pointer}
.topbar .lang{border-color:#6a73c4;background:transparent;color:#fff;height:28px}
.burger{width:44px;height:44px;border:1px solid var(--line);border-radius:12px;background:#fff;display:grid;place-items:center;cursor:pointer;padding:0}
.burger span,.burger span::before,.burger span::after{display:block;width:20px;height:2px;background:var(--navy);border-radius:2px;position:relative;transition:transform .2s,background .2s}
.burger span::before,.burger span::after{content:"";position:absolute;left:0}
.burger span::before{top:-6px}.burger span::after{top:6px}
.nav-open .burger span{background:transparent}
.nav-open .burger span::before{transform:translateY(6px) rotate(45deg)}
.nav-open .burger span::after{transform:translateY(-6px) rotate(-45deg)}

/* mobile nav panel */
nav.main{position:fixed;left:0;right:0;top:calc(var(--hdr) + env(safe-area-inset-top,0px));bottom:0;background:#fff;
  display:none;flex-direction:column;padding:8px var(--pad) calc(24px + env(safe-area-inset-bottom,0px));overflow-y:auto;overscroll-behavior:contain;border-top:1px solid var(--line)}
.nav-open nav.main{display:flex}
nav.main a,nav.main summary{display:flex;align-items:center;min-height:52px;padding:0 6px;border-bottom:1px solid var(--line);text-decoration:none;color:var(--text);font-weight:600;font-size:17px;cursor:pointer;list-style:none;white-space:nowrap}
nav.main a[aria-current=page]{color:var(--orange)}
nav.main summary::-webkit-details-marker{display:none}
nav.main summary::after{content:"";margin-left:auto;border:5px solid transparent;border-top-color:currentColor;transform:translateY(3px)}
nav.main details[open] summary::after{transform:translateY(-2px) rotate(180deg)}
nav.main details>div{padding:0 0 6px 14px}
nav.main details>div a{font-weight:500;font-size:16px;min-height:46px}
nav.main .btn{margin-top:16px;min-height:50px;border-bottom:0;justify-content:center}
nav.main .mcontact{margin-top:18px;font-size:15px;color:var(--muted)}
nav.main .mcontact a{display:inline;min-height:0;border:0;padding:0;font-weight:600;color:var(--navy)}

/* ---------- buttons ---------- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:46px;border:2px solid var(--orange);background:var(--orange);color:#fff;font-weight:600;font-size:15.5px;padding:8px 18px;border-radius:10px;text-decoration:none;cursor:pointer;text-align:center;line-height:1.2;transition:background .15s}
.btn:hover{background:var(--orange-d);border-color:var(--orange-d)}
.btn.ghost{background:transparent;border-color:var(--navy);color:var(--navy)}
.btn.ghost:hover{background:var(--navy);color:#fff}
.btn.small{min-height:40px;padding:6px 14px;font-size:14.5px;border-radius:8px}
.btn.light{background:#fff;border-color:#fff;color:var(--navy)}
.btn.block{width:100%}

/* ---------- mobile bottom action bar ---------- */
.mbar{position:fixed;left:0;right:0;bottom:0;z-index:55;background:#fff;border-top:1px solid var(--line);display:grid;grid-template-columns:1fr 1fr 1fr;
  padding:6px 8px calc(6px + env(safe-area-inset-bottom,0px));box-shadow:0 -6px 20px #1e216314}
.mbar a{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;min-height:50px;border-radius:10px;text-decoration:none;color:var(--navy);font-size:12.5px;font-weight:600}
.mbar a svg{width:22px;height:22px}
.mbar a.go{background:var(--orange);color:#fff}

/* ---------- page heads ---------- */
.hero{background:var(--paper);padding:28px 0 36px}
.hero .wrap{display:grid;gap:26px}
.iso{display:inline-flex;align-items:center;background:var(--green-soft);color:var(--green);font-weight:600;font-size:13px;padding:4px 12px;border-radius:999px;margin-bottom:14px}
.hero h1{font-size:clamp(38px,11vw,84px);font-weight:800;font-stretch:80%;letter-spacing:-.01em}
.hero h1 span{display:block}
.hero h1 span:last-child{color:var(--green)}
.hero .lead{font-size:17px;color:#2e3552;max-width:34em;margin:14px 0 20px}
.cta{display:grid;grid-template-columns:1fr;gap:10px}
.reg{display:grid;gap:4px;margin-top:22px;padding-top:14px;border-top:2px solid var(--navy);font-size:14px;color:var(--muted)}
.reg b{color:var(--navy)}
@media (prefers-reduced-motion:no-preference){
  .hero h1 span{opacity:0;transform:translateY(14px);animation:rise .6s cubic-bezier(.2,.7,.2,1) forwards}
  .hero h1 span:nth-child(2){animation-delay:.14s}
  .hero .lead,.hero .cta,.reg,.finder{opacity:0;animation:rise .6s .28s cubic-bezier(.2,.7,.2,1) forwards}
  @keyframes rise{to{opacity:1;transform:none}}
}
.phead{background:var(--paper);padding:26px 0 26px;border-bottom:1px solid var(--line)}
.phead h1{font-size:clamp(34px,9vw,64px);font-weight:800;font-stretch:80%}
.phead p{color:var(--muted);font-size:16.5px;max-width:40em;margin:8px 0 0}
.crumb{font-size:13.5px;color:var(--muted);margin-bottom:6px}
.crumb a{color:var(--muted)}

/* ---------- finder ---------- */
.finder{background:var(--navy);color:#fff;border-radius:18px 18px 18px 4px;padding:16px;box-shadow:0 22px 44px -26px #1e2163b0;min-width:0}
.tabs{display:grid;grid-template-columns:1fr 1fr;gap:4px;background:#ffffff17;padding:4px;border-radius:12px;margin-bottom:12px}
.tabs button{border:0;background:transparent;color:#d0d5f5;font-weight:600;font-size:14.5px;min-height:42px;border-radius:9px;cursor:pointer}
.tabs button[aria-selected=true]{background:#fff;color:var(--navy)}
.field{width:100%;min-height:48px;background:#fff;border:1.5px solid var(--line);border-radius:10px;padding:10px 12px;font-size:16px;color:var(--text);-webkit-appearance:none;appearance:none}
select.field{background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8'%3E%3Cpath d='M1 1l5 5 5-5' fill='none' stroke='%23161c74' stroke-width='2'/%3E%3C/svg%3E") no-repeat right 12px center;padding-right:36px}
textarea.field{min-height:96px;resize:vertical}
.field:focus{outline:none;border-color:var(--navy);box-shadow:0 0 0 3px #1e216322}
.finder .field{border-color:transparent}
.chips,.gchips,.cchips{display:flex;gap:7px;overflow-x:auto;scrollbar-width:none;-webkit-overflow-scrolling:touch;margin:10px calc(var(--pad) * -1) 6px;padding:2px var(--pad)}
.finder .chips{margin:10px -16px 6px;padding:2px 16px}
.chips::-webkit-scrollbar,.gchips::-webkit-scrollbar,.cchips::-webkit-scrollbar{display:none}
.chip{flex:0 0 auto;min-height:38px;border:1px solid #ffffff5c;background:transparent;color:#fff;border-radius:999px;padding:0 14px;font-weight:500;font-size:14px;cursor:pointer;white-space:nowrap}
.chip[aria-pressed=true]{background:var(--orange);border-color:var(--orange)}
.gchips .chip,.cchips .chip{border-color:var(--line);color:var(--navy);background:#fff}
.gchips .chip[aria-pressed=true],.cchips .chip[aria-pressed=true]{background:var(--navy);color:#fff;border-color:var(--navy)}
.finder ul{list-style:none;margin:0;padding:0}
.finder li{border-bottom:1px solid #ffffff26}
.finder li a{display:flex;justify-content:space-between;align-items:center;gap:12px;min-height:50px;padding:6px 2px;color:#fff;text-decoration:none;font-weight:500;font-size:15px;line-height:1.3}
.finder li a span{color:#bcc3ef;font-size:13px;white-space:nowrap;font-weight:400}
.finder li.empty{color:#bcc3ef;padding:12px 2px}
.finder .more{display:inline-flex;align-items:center;min-height:44px;margin-top:4px;color:#d9b8f0;font-weight:600}

/* ---------- ledger ---------- */
.ledger{border-bottom:1px solid var(--line)}
.ledger .wrap{display:grid;grid-template-columns:1fr 1fr}
.ledger .wrap>div{padding:16px 0 16px 14px;border-left:1px solid var(--line)}
.ledger .wrap>div:nth-child(odd){border-left:0;padding-left:0}
.ledger .wrap>div:nth-child(-n+2){border-bottom:1px solid var(--line)}
.ledger b{display:block;font:700 26px var(--head);font-stretch:85%;color:var(--navy)}
.ledger span{font-size:13.5px;color:var(--muted);line-height:1.35;display:block}

/* ---------- banner carousel ---------- */
.banners{padding:26px 0 0}
.slider{position:relative;border-radius:14px;overflow:hidden;background:#fff;border:1px solid var(--line);touch-action:pan-y}
.track{display:flex;align-items:center;transition:transform .5s cubic-bezier(.3,.7,.2,1)}
.track img{flex:0 0 100%;width:100%;height:auto;object-fit:contain}
.sbtn{display:none;position:absolute;top:50%;transform:translateY(-50%);width:44px;height:44px;border-radius:50%;border:0;background:#ffffffe6;color:var(--navy);font-size:24px;line-height:1;cursor:pointer;box-shadow:0 4px 14px #0002}
.sbtn.prev{left:12px}.sbtn.next{right:12px}
.dots{display:flex;justify-content:center;gap:4px;padding:6px 0}
.dots button{width:28px;height:28px;border:0;background:transparent;padding:0;cursor:pointer;display:grid;place-items:center}
.dots button::before{content:"";width:9px;height:9px;border-radius:50%;background:#c6cbe0}
.dots button[aria-current=true]::before{background:var(--orange);width:22px;border-radius:5px}

/* ---------- sections ---------- */
section{padding:46px 0}
section.alt{background:var(--paper)}
.head{max-width:700px;margin-bottom:22px}
.head h2{font-size:clamp(28px,7.4vw,50px);font-weight:700}
.head p{color:var(--muted);margin:8px 0 0;font-size:16.5px}
.two{display:grid;gap:30px;align-items:start}
.two>*{min-width:0}
.prose p{max-width:64ch}
.mission{margin-top:20px;padding:16px 18px;border-left:5px solid var(--orange);background:var(--orange-soft);border-radius:0 12px 12px 0;font-size:16.5px}
.card{background:#fff;border:1px solid var(--line);border-radius:16px;padding:20px}
.crest{display:flex;gap:14px;align-items:center;margin-bottom:16px;padding-bottom:16px;border-bottom:1px solid var(--line)}
.crest img{width:64px;height:78px;object-fit:contain}
.crest h3{font-size:22px}
.regcard dl{margin:0}
.regcard dt{font-size:13px;color:var(--muted);margin-top:12px}
.regcard dt:first-of-type{margin-top:0}
.regcard dd{margin:2px 0 0;font:600 18px/1.25 var(--head);font-stretch:90%;color:var(--navy)}
.why{display:grid;margin-top:34px;border-top:2px solid var(--navy)}
.why div{padding:14px 0;border-bottom:1px solid var(--line)}
.why h3{font-size:20px;margin-bottom:2px}
.why p{margin:0;color:var(--muted);font-size:15px}
.morelink{display:inline-block;padding:10px 0;margin-top:6px;font-weight:600}

/* groups */
.groups{display:grid;grid-template-columns:1fr 1fr;gap:10px}
a.grp{display:flex;flex-direction:column;justify-content:space-between;gap:10px;background:#fff;border:1px solid var(--line);border-radius:14px;padding:16px;text-decoration:none;color:var(--navy);min-height:104px}
a.grp:hover{border-color:var(--navy)}
a.grp b{font:700 21px/1.05 var(--head);font-stretch:85%}
a.grp span{color:var(--green);font-weight:600;font-size:13.5px}
a.grp span span{color:inherit}

/* courses */
.bar{display:grid;gap:10px;margin-bottom:6px}
.count{color:var(--muted);margin:8px 0 12px;font-size:14px}
.courses{display:grid;gap:10px}
.course{display:grid;gap:6px;background:#fff;border:1px solid var(--line);border-left:4px solid var(--green);border-radius:4px 12px 12px 4px;padding:14px 14px 14px 16px;min-width:0}
.course h3{font:600 18px/1.22 var(--head);font-stretch:90%}
.course .meta{display:flex;gap:6px 10px;flex-wrap:wrap;font-size:13px;color:var(--muted);align-items:center}
.code{font-weight:600;background:var(--paper);border:1px solid var(--line);border-radius:6px;padding:0 7px;color:var(--navy)}
.tag{background:var(--green-soft);color:var(--green);border-radius:6px;padding:0 7px}
.course p{margin:0;font-size:14.5px}
.course p.ask{color:var(--muted);font-style:italic}
.course .btn{justify-self:start;margin-top:4px}
.showmore{margin:18px auto 0;display:flex;width:100%}

/* centres */
.centres{display:grid;gap:12px;margin-top:14px}
.centre{background:#fff;border:1px solid var(--line);border-radius:14px;padding:16px;display:flex;flex-direction:column;gap:4px;min-width:0}
.centre.hq{border:2px solid var(--green)}
.centre h3{font:600 18px/1.22 var(--head);font-stretch:90%}
.centre address{font-style:normal;font-size:14.5px;color:var(--muted)}
.centre .row{display:grid;grid-template-columns:1fr auto;gap:8px;margin-top:auto;padding-top:10px}
.cid{font-weight:600;font-size:12.5px;color:var(--green)}

/* services */
.services{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.service{background:#fff;border:1px solid var(--line);border-radius:14px;overflow:hidden;display:flex;flex-direction:column;min-width:0}
.service img{width:100%;aspect-ratio:4/3;object-fit:cover;background:var(--paper)}
.service div{padding:12px;display:flex;flex-direction:column;gap:6px;flex:1}
.service h3{font-size:18px}
.service p{margin:0;color:var(--muted);font-size:14px;flex:1}
.service a{font-weight:600;font-size:14.5px;min-height:36px;display:flex;align-items:center}
.srow{display:grid;gap:14px;padding:22px 0;border-bottom:1px solid var(--line)}
.srow:first-child{border-top:2px solid var(--navy)}
.srow img{width:100%;aspect-ratio:16/10;object-fit:cover;border-radius:14px;background:var(--paper)}
.srow h2{font-size:28px;margin-bottom:6px}
.srow p{color:var(--muted);max-width:56ch}

/* director */
.director{display:grid;grid-template-columns:auto 1fr;gap:16px;align-items:center}
.avatar{width:84px;height:84px;border-radius:50%;object-fit:cover;background:var(--navy);color:#fff;display:grid;place-items:center;font:700 28px var(--head);border:3px solid var(--orange)}
blockquote{margin:0;font:600 clamp(19px,5vw,27px)/1.3 var(--head);font-stretch:90%;color:var(--navy)}
.director blockquote{grid-column:1/-1}
.who{margin:0;color:var(--muted);font-size:15px}
.who b{color:var(--navy)}
.news{border-top:5px solid var(--orange)}
.news h3{font-size:22px;margin-bottom:8px}

/* franchise / navy */
.navy{background:var(--navy);color:#e3e7fb}
.navy h2,.navy h3{color:#fff}
.navy .head p{color:#c3c9f0}
.steps{list-style:none;margin:4px 0 0;padding:0;display:grid;gap:16px;counter-reset:s}
.steps li{counter-increment:s;display:grid;grid-template-columns:40px 1fr;gap:12px;align-items:start}
.steps li::before{content:counter(s);width:40px;height:40px;border-radius:50%;background:var(--orange);color:#fff;display:grid;place-items:center;font:700 19px var(--head)}
.steps b{display:block;color:#fff;font:600 19px/1.2 var(--head);font-stretch:90%}
.steps span{color:#c3c9f0;font-size:15px}
section:not(.navy) .steps b{color:var(--navy)}
section:not(.navy) .steps span{color:var(--muted)}
.fimg{border-radius:16px;width:100%;aspect-ratio:4/3;object-fit:cover;background:#ffffff14}
.btnrow{display:grid;gap:10px;margin-top:22px}
.cta-band{background:var(--navy);color:#e3e7fb;border-radius:18px;padding:24px;display:grid;gap:18px}
.cta-band h2{color:#fff;font-size:clamp(26px,6.6vw,40px)}
.cta-band p{margin:8px 0 0;color:#c3c9f0}
.cta-band .btns{display:grid;gap:10px}

/* students */
.tiles{display:grid;gap:10px}
.tile{display:grid;grid-template-columns:56px 1fr;gap:12px;align-items:center;background:#fff;border:1px solid var(--line);border-radius:14px;padding:12px;text-decoration:none;color:var(--navy);min-height:80px}
.tile:hover{border-color:var(--navy)}
.tile img{width:56px;height:56px;border-radius:50%;object-fit:cover;background:var(--paper)}
.tile b{display:block;font:600 18px/1.2 var(--head);font-stretch:90%}
.tile span{color:var(--muted);font-size:14px;line-height:1.35;display:block}

/* affiliations + lightbox */
.aff{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
.aff button{background:#fff;border:1px solid var(--line);border-radius:12px;padding:6px;aspect-ratio:1;display:grid;place-items:center;cursor:zoom-in;min-width:0}
.aff img{max-height:100%;object-fit:contain}
.afftext{display:none;color:var(--muted)}
dialog{border:0;border-radius:16px;padding:10px;width:min(94vw,900px);max-width:none}
dialog::backdrop{background:#1e2163d9}
dialog img{max-height:76vh;margin:0 auto}
dialog .btn{margin-top:10px;width:100%}

/* contact + form */
.contact{display:grid;gap:30px;align-items:start}
.contact>*{min-width:0}
.contact address{font-style:normal;font-size:16.5px;line-height:1.55}
.contact ul{list-style:none;padding:0;margin:14px 0 0;display:grid;gap:6px;font-size:15.5px;overflow-wrap:anywhere}
.map{border:0;width:100%;height:220px;border-radius:14px;margin-top:18px;background:var(--paper)}
.form{background:#fff;border:1px solid var(--line);border-radius:16px;padding:18px;display:grid;gap:14px;box-shadow:0 20px 40px -30px #1e216366;min-width:0;color:var(--text)}
.form h2,.form h3{font-size:26px}
.form label{display:grid;gap:5px;font-weight:500;font-size:15px;color:var(--navy);min-width:0}
.form fieldset{border:0;margin:0;padding:0;display:grid;gap:14px;min-width:0}
.form fieldset[disabled]{display:none}
.seg{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));background:var(--paper);border-radius:12px;padding:4px;gap:4px}
.seg input{position:absolute;opacity:0;pointer-events:none}
.seg label{display:flex;align-items:center;justify-content:center;text-align:center;min-height:48px;padding:4px;border-radius:9px;cursor:pointer;font-weight:600;font-size:13.5px;line-height:1.2;color:var(--muted)}
.seg input:checked+label{background:var(--navy);color:#fff}
.seg input:focus-visible+label{outline:3px solid var(--orange);outline-offset:2px}
.grid2{display:grid;gap:14px}
.status{min-height:1.4em;font-weight:600;color:var(--green);margin:0}
.status.err{color:#b3261e}
.note{font-size:13.5px;color:var(--muted);margin:0;font-weight:400}

/* footer */
footer{background:var(--navy);color:#c8cdf0;padding:0 0 22px;font-size:15px}
footer .band{margin-bottom:32px}
footer .cols{display:grid;grid-template-columns:1fr 1fr;gap:26px 18px}
footer .cols>div:first-child{grid-column:1/-1}
footer .fbrand{display:flex;gap:12px;align-items:center;margin-bottom:12px}
footer .fbrand img{width:48px;height:58px;object-fit:contain;background:#fff;border-radius:10px;padding:4px}
footer h4{color:#fff;font-size:18px;margin-bottom:10px}
footer a{color:#e6e9fb;display:inline-block;padding:4px 0}
footer ul{list-style:none;margin:0;padding:0;display:grid;gap:2px}
footer .base{margin-top:28px;padding-top:16px;border-top:1px solid #ffffff2b;display:grid;gap:8px;font-size:13.5px}
footer .base span:last-child{display:flex;gap:16px}

/* ================= larger screens ================= */
@media (min-width:600px){
  :root{--pad:24px}
  .brand b{font-size:18px}
  .cta,.btnrow,.cta-band .btns{display:flex;flex-wrap:wrap}
  .reg{display:flex;flex-wrap:wrap;gap:6px 22px}
  .ledger .wrap{grid-template-columns:repeat(4,1fr)}
  .ledger .wrap>div,.ledger .wrap>div:nth-child(odd){border-left:1px solid var(--line);padding-left:16px;border-bottom:0}
  .ledger .wrap>div:first-child{border-left:0;padding-left:0}
  .ledger .wrap>div:nth-child(-n+2){border-bottom:0}
  .groups{grid-template-columns:repeat(3,1fr)}
  .centres,.tiles{grid-template-columns:1fr 1fr}
  .grid2{grid-template-columns:1fr 1fr}
  .bar{grid-template-columns:1fr 260px}
  .aff{grid-template-columns:repeat(4,1fr)}
  .services{grid-template-columns:repeat(3,1fr)}
  .seg label{font-size:14.5px}
  .avatar{width:120px;height:120px;font-size:36px}
  .director blockquote{grid-column:auto}
  .director{grid-template-columns:auto 1fr;gap:24px}
  .director>div{display:grid;gap:10px}
  .form{padding:24px}
  .sbtn{display:block}
  footer .base{display:flex;justify-content:space-between;flex-wrap:wrap}
  .chips,.gchips,.cchips{flex-wrap:wrap;overflow:visible;margin-left:0;margin-right:0;padding-left:0;padding-right:0}
  .finder .chips{margin-left:0;margin-right:0;padding:2px 0}
  .finder{padding:22px}
}
@media (min-width:900px){
  body{font-size:16.5px}
  section{padding:76px 0}
  .hero{padding:56px 0 64px}
  .hero .wrap{grid-template-columns:1.1fr .9fr;gap:52px;align-items:center}
  .phead{padding:46px 0 40px}
  .two{grid-template-columns:1.1fr .9fr;gap:56px}
  .contact{grid-template-columns:.85fr 1.15fr;gap:44px}
  .why{grid-template-columns:1fr 1fr;column-gap:48px}
  .courses{grid-template-columns:1fr 1fr;gap:12px}
  .course{grid-template-columns:1fr auto;column-gap:14px}
  .course h3,.course .meta{grid-column:1}
  .course p{grid-column:1/-1}
  .course .btn{grid-column:2;grid-row:1;margin-top:0}
  .showmore{width:auto}
  .centres{grid-template-columns:repeat(3,1fr)}
  .tiles{grid-template-columns:repeat(3,1fr)}
  .tile{grid-template-columns:68px 1fr}
  .tile img{width:68px;height:68px}
  .services{grid-template-columns:repeat(5,1fr)}
  .srow{grid-template-columns:320px 1fr;gap:28px;align-items:center}
  .aff{grid-template-columns:repeat(8,1fr)}
  .cta-band{grid-template-columns:1fr auto;align-items:center;padding:40px}
  .map{height:260px}
  footer .cols{grid-template-columns:1.4fr 1fr 1fr 1fr;gap:34px}
  footer .cols>div:first-child{grid-column:auto}
  a.grp{min-height:120px;padding:20px}
  a.grp b{font-size:26px}
}
@media (min-width:1140px){
  :root{--hdr:76px}
  body{padding-bottom:0}
  .mbar{display:none}
  .topbar{display:block}
  .hbtns .lang{display:none}
  .burger{display:none}
  .brand img{width:50px;height:60px}
  .brand b{font-size:21px;white-space:nowrap}
  .brand small{display:block;font-size:12.5px;color:var(--green);font-weight:600;margin-top:3px;white-space:nowrap}
  nav.main{position:static;display:flex;flex-direction:row;align-items:center;gap:2px;padding:0;border:0;overflow:visible;background:none}
  nav.main a,nav.main summary{min-height:0;padding:8px 10px;border:0;border-radius:8px;font-weight:500;font-size:15px}
  nav.main a:hover,nav.main summary:hover{background:var(--paper);color:var(--navy)}
  nav.main a[aria-current=page]{color:var(--navy);background:var(--paper);box-shadow:inset 0 -3px 0 var(--orange)}
  nav.main summary::after{margin-left:6px;border-width:4px;transform:translateY(2px)}
  nav.main details{position:relative}
  nav.main details>div{position:absolute;right:0;top:100%;margin-top:6px;background:#fff;border:1px solid var(--line);border-radius:12px;padding:6px;min-width:200px;box-shadow:0 14px 32px #1e216324}
  nav.main details>div a{display:block;min-height:0}
  nav.main .btn{margin:0 0 0 6px;min-height:40px;padding:6px 16px}
  nav.main .mcontact{display:none}
}
nav.main a.btn{color:#fff}
.phead+section{padding-top:24px}

/* ---------- NEA Harda components ---------- */
.brand img{width:auto;height:44px;max-width:72px;object-fit:contain}
.hero-photo{position:relative;border-radius:18px 18px 18px 4px;overflow:hidden;background:var(--navy);box-shadow:0 22px 44px -26px #1e2163b0}
.hero-photo img{width:100%;aspect-ratio:4/3;object-fit:cover}
.hero-photo figcaption{position:absolute;left:12px;bottom:12px;right:12px;display:flex;gap:8px;flex-wrap:wrap}
.pill{background:#fff;color:var(--navy);border-radius:999px;padding:4px 12px;font-weight:600;font-size:13.5px;box-shadow:0 4px 14px #0003}
.pill.g{background:var(--green);color:#fff}
.addr{display:flex;gap:8px;align-items:flex-start;font-size:15px;color:var(--muted);margin-top:16px}
.addr svg{width:18px;height:18px;flex-shrink:0;margin-top:3px;color:var(--orange)}
.clist{display:grid;gap:10px}
.citem{display:grid;grid-template-columns:1fr auto;gap:4px 12px;align-items:center;background:#fff;border:1px solid var(--line);border-left:4px solid var(--green);border-radius:4px 12px 12px 4px;padding:12px 14px}
.citem.d{border-left-color:var(--orange)}
.citem b{font:600 18px/1.2 var(--head);font-stretch:90%;color:var(--navy)}
.citem span{grid-column:1;font-size:13.5px;color:var(--muted)}
.citem .btn{grid-row:1/3;grid-column:2}
.ctitle{display:flex;align-items:baseline;justify-content:space-between;gap:10px;margin:0 0 12px}
.ctitle h2{font-size:clamp(24px,6vw,34px)}
.ctitle span{color:var(--muted);font-size:14px;white-space:nowrap}
.feat{display:grid;gap:0;border-top:2px solid var(--navy)}
.feat>div{display:grid;grid-template-columns:44px 1fr;gap:12px;padding:16px 0;border-bottom:1px solid var(--line);align-items:start}
.feat i{width:44px;height:44px;border-radius:12px;background:var(--green-soft);color:var(--green);display:grid;place-items:center;font-style:normal;font:700 18px var(--head)}
.feat h3{font-size:20px;margin-bottom:2px}
.feat p{margin:0;color:var(--muted);font-size:15px}
.gallery{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.gallery button{border:0;padding:0;background:var(--paper);border-radius:12px;overflow:hidden;cursor:zoom-in;aspect-ratio:4/3;min-width:0}
.gallery img{width:100%;height:100%;object-fit:cover}
.gallery.big button:first-child{grid-column:1/-1;aspect-ratio:16/10}
.quote{background:var(--navy);color:#fff;border-radius:18px;padding:26px 22px}
.quote small{display:block;color:#d9b8f0;font-weight:600;margin-bottom:8px}
.quote blockquote{color:#fff}
.notes{display:grid;gap:10px}
.note-card{display:grid;grid-template-columns:1fr auto;gap:2px 12px;align-items:center;background:#fff;border:1px solid var(--line);border-radius:12px;padding:14px;text-decoration:none;color:var(--navy);min-height:64px}
.note-card:hover{border-color:var(--navy)}
.note-card b{font:600 18px/1.2 var(--head);font-stretch:90%}
.note-card span{font-size:13px;color:var(--muted);grid-column:1;overflow-wrap:anywhere}
.note-card svg{grid-row:1/3;grid-column:2;width:20px;height:20px;color:var(--orange)}
.ngroup{margin-top:26px}
.ngroup h2{font-size:24px;margin-bottom:10px}
.people{display:grid;gap:10px;margin-top:16px}
.person{display:grid;grid-template-columns:1fr auto;gap:2px 12px;align-items:center;background:var(--paper);border-radius:12px;padding:12px 14px}
.person b{color:var(--navy);font:600 18px var(--head)}
.person span{font-size:14px;color:var(--muted)}
.person .btn{grid-row:1/3;grid-column:2}
@media (min-width:600px){
  .gallery{grid-template-columns:repeat(3,1fr);gap:12px}
  .gallery.big button:first-child{grid-column:span 2;grid-row:span 2;aspect-ratio:auto}
  .notes{grid-template-columns:1fr 1fr}
  .clist{grid-template-columns:1fr 1fr}
}
@media (min-width:900px){
  .phead+section{padding-top:48px}
  .feat{grid-template-columns:1fr 1fr;column-gap:48px}
  .clist.wide{grid-template-columns:repeat(3,1fr)}
  .gallery{grid-template-columns:repeat(4,1fr)}
  .notes{grid-template-columns:repeat(3,1fr)}
  .quote{padding:40px}
}
@media (min-width:1140px){.brand img{height:54px;max-width:84px}}

/* ---------- hero animation (replaces hero photo) ---------- */
.hero-anim{position:relative;max-width:520px;width:100%;margin:0 auto;padding:30px 14px 0}
.a-mon{background:var(--navy);border-radius:16px;padding:10px;box-shadow:0 26px 50px -26px #1e2163b0}
.a-scr{background:#fff;border-radius:8px;aspect-ratio:16/10;display:grid;grid-template-columns:1.3fr 1fr;grid-template-rows:auto 1fr auto;gap:10px;padding:0 12px 12px;overflow:hidden}
.a-bar{grid-column:1/-1;display:flex;align-items:center;gap:5px;margin:0 -12px;padding:7px 10px;background:var(--paper);border-bottom:1px solid var(--line);font-size:11px;color:var(--muted);min-width:0}
.a-bar i{width:8px;height:8px;border-radius:50%;background:#d5d2e3;flex-shrink:0}
.a-bar i:first-child{background:var(--orange)}
.a-bar i:nth-child(2){background:var(--green)}
.a-bar span{margin-left:6px;background:#fff;border:1px solid var(--line);border-radius:6px;padding:1px 10px;flex:1;max-width:70%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.a-code{display:grid;align-content:start;gap:9px;padding-top:6px;min-width:0}
.a-code p{margin:0;height:8px;border-radius:4px;background:var(--orange);opacity:.85;width:0;animation:typeLine 6s var(--d) infinite}
.a-code p:nth-child(even){background:var(--green)}
.a-code p.in{margin-left:14px}
.a-code p:last-child{position:relative}
.a-code p:last-child::after{content:"";position:absolute;right:-6px;top:-3px;width:2px;height:14px;background:var(--navy);animation:blink 1s steps(1) infinite}
.a-chart{display:flex;align-items:flex-end;gap:6px;border-left:2px solid var(--line);border-bottom:2px solid var(--line);padding:6px 6px 0;min-width:0}
.a-chart b{flex:1;height:8%;background:var(--green);border-radius:3px 3px 0 0;animation:growBar 6s var(--d) infinite}
.a-chart b:nth-child(odd){background:var(--navy)}
.a-prog{grid-column:1/-1;display:flex;align-items:center;gap:8px;font:600 11px var(--body);color:var(--navy)}
.a-prog div{flex:1;height:8px;background:var(--paper);border-radius:4px;overflow:hidden}
.a-prog i{display:block;height:100%;width:5%;background:linear-gradient(90deg,var(--green),var(--orange));border-radius:4px;animation:fillBar 6s infinite}
.a-stand{width:20%;height:24px;margin:0 auto;background:linear-gradient(#2b2f80,#1e2163);clip-path:polygon(22% 0,78% 0,100% 100%,0 100%)}
.a-foot{width:42%;height:8px;margin:0 auto;border-radius:6px;background:var(--navy)}
.a-tag{position:absolute;z-index:1;background:#fff;color:var(--navy);font-weight:600;font-size:12.5px;padding:5px 12px;border-radius:999px;border:1px solid var(--line);box-shadow:0 10px 22px -10px #1e216380;white-space:nowrap;animation:bob 4s ease-in-out infinite}
.t1{top:6px;left:0}
.t2{bottom:52px;right:4%;animation-delay:-1s}
.t3{bottom:52px;left:4%;background:var(--green);color:#fff;border-color:var(--green);animation-delay:-2s}
.t4{top:0;right:16%;background:var(--orange);color:#fff;border-color:var(--orange);animation-delay:-3s}
.anim-pills{display:flex;gap:8px;justify-content:center;flex-wrap:wrap;margin-top:16px}
@keyframes typeLine{0%,6%{width:0}38%,86%{width:var(--w)}100%{width:0}}
@keyframes growBar{0%,8%{height:8%}45%,86%{height:var(--h)}100%{height:8%}}
@keyframes fillBar{0%{width:5%}60%,88%{width:80%}100%{width:5%}}
@keyframes bob{50%{transform:translateY(-8px)}}
@keyframes blink{50%{opacity:0}}
@media (prefers-reduced-motion:reduce){
  .a-code p,.a-chart b,.a-prog i,.a-tag,.a-code p:last-child::after{animation:none}
  .a-code p{width:var(--w)}
  .a-chart b{height:var(--h)}
  .a-prog i{width:80%}
}
@media (min-width:900px){.hero-anim{padding-top:36px}.a-tag{font-size:14px}}

/* ---------- Vyūhanam demo notice ---------- */
.vdemo{background:linear-gradient(90deg,#0d0f2e,#2b2f80);color:#e9e8ff;font-size:13px;line-height:1.35;padding-top:env(safe-area-inset-top,0px)}
.vdemo .wrap{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:4px 10px;min-height:36px;padding-top:5px;padding-bottom:5px;text-align:center}
.vdemo b{color:#fff;font-weight:600}
.vdemo a{color:#d9b8f0;font-weight:600}
.vdemo .vd-long{display:none}
.vd-cta{flex-shrink:0;white-space:nowrap;background:#fff;color:var(--navy)!important;text-decoration:none;border-radius:999px;padding:3px 12px;font-size:12.5px}
.vdemo~header.site{padding-top:0}
.vcredit a{color:#fff}
@media (min-width:600px){.vdemo .vd-long{display:inline}}
footer .base span,footer .base span:last-child{display:inline;gap:0}
footer .base>span{display:block}
footer .base .vcredit{opacity:.9}
@media (min-width:600px){footer .base>span{display:inline}}

/* ---------- mobile polish ---------- */
@media (max-width:599px){
  .brand{gap:8px}
  .brand img{height:36px;max-width:54px}
  .brand b{font-size:14.5px;line-height:1.15}
  .hbtns .lang{height:38px;padding:0 10px}
  .burger{width:42px;height:42px}
  .vdemo{font-size:12.5px}
  .vdemo .wrap{flex-wrap:nowrap;gap:8px;min-height:38px}
  .vdemo .vd-wide{display:none}
  .vd-cta{padding:4px 10px;font-size:12px}
  .a-tag{font-size:11.5px;padding:4px 10px}
  .hero-anim{padding-left:6px;padding-right:6px}
}
.vd-cta svg{width:12px;height:12px;vertical-align:-1px;margin-right:4px}
.anim-pills{flex-wrap:nowrap}
.anim-pills .pill{white-space:nowrap}
@media (max-width:599px){
  .anim-pills{gap:6px}
  .anim-pills .pill{font-size:12px;padding:4px 10px}
  .t2,.t3{bottom:50px}
}

/* ---------- mobile menu: header pinned on top, panel below it, close button always visible ---------- */
@media (max-width:1139px){
  .nav-open header.site{position:fixed;left:0;right:0;top:0;z-index:100}
  .nav-open nav.main{top:calc(var(--hdr) + 5px + env(safe-area-inset-top,0px));bottom:0;height:auto;z-index:1}
  .hbtns{position:relative;z-index:2}
}
