/* =====================================================================
   Ab Initio India – Theme B "Aurora Brand Glass"
   0. Fonts  1. Tokens  2. Base  3. Glass system  4. Backdrop  5. Buttons & chips
   6. Header & menus  7. Hero  8. Home sections  9. Inner pages
   10. Long-form & forms  11. Footer  12. Responsive & motion
   ===================================================================== */

/* 0. Fonts ------------------------------------------------------------ */
/* Plus Jakarta Sans (SIL OFL 1.1, see ../fonts/OFL.txt), self-hosted variable font. Declared 400-800 like the
   Google Fonts CSS the design was approved with, so lighter weights (Bootstrap .lead is 300) render at 400.
   latin-ext is only downloaded by pages that use its characters (e.g. the rupee sign). */
@font-face{font-family:"Plus Jakarta Sans";src:url("../fonts/plus-jakarta-sans-latin.7660bd9909fb.woff2") format("woff2");font-weight:400 800;font-style:normal;font-display:swap;unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Plus Jakarta Sans";src:url("../fonts/plus-jakarta-sans-latin-ext.341687eeeb6a.woff2") format("woff2");font-weight:400 800;font-style:normal;font-display:swap;unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
/* Fallback shown until the font arrives: Arial / Arial Bold scaled per weight band so text sets to the same
   width and line box as Plus Jakarta Sans (widths measured in Chrome on the site's article text), so the
   swap does not move text. */
@font-face{font-family:"Plus Jakarta Sans fallback";src:local("Arial"),local("ArialMT");font-weight:100 450;size-adjust:105.4%;ascent-override:98.5%;descent-override:21.1%;line-gap-override:0%}
@font-face{font-family:"Plus Jakarta Sans fallback";src:local("Arial"),local("ArialMT");font-weight:451 550;size-adjust:106.6%;ascent-override:97.4%;descent-override:20.8%;line-gap-override:0%}
@font-face{font-family:"Plus Jakarta Sans fallback";src:local("Arial Bold"),local("Arial-BoldMT");font-weight:551 750;size-adjust:100.1%;ascent-override:103.7%;descent-override:22.2%;line-gap-override:0%}
@font-face{font-family:"Plus Jakarta Sans fallback";src:local("Arial Bold"),local("Arial-BoldMT");font-weight:751 900;size-adjust:101.7%;ascent-override:102.1%;descent-override:21.8%;line-gap-override:0%}

/* 1. Tokens ----------------------------------------------------------- */
:root{
  --blue:#1552a1; --blue-d:#0b3570; --navy:#0a2140; --sun:#facf00; --sun-d:#e5bc00;
  --sky:#eaf2fb; --bg:#ffffff; --text:#24324a; --muted:#4a5a73; --line:rgba(10,33,64,.12);
  --r-lg:32px; --r-md:24px; --r-sm:14px;
  --shadow:0 28px 60px -26px rgba(10,33,64,.42);
  --glass-bg:rgba(255,255,255,.66); --glass-strong:rgba(255,255,255,.84);
  --glass-border:rgba(255,255,255,.95); --blur:blur(18px) saturate(160%);
  --fb:"Plus Jakarta Sans","Plus Jakarta Sans fallback",system-ui,"Segoe UI",sans-serif;
}

/* 2. Base ------------------------------------------------------------- */
html{scroll-padding-top:110px}
.container-xl{--bs-gutter-x:3rem}
body{overflow-x:clip;font-family:var(--fb);color:var(--text);background:var(--bg);line-height:1.7;font-size:16px;-webkit-font-smoothing:antialiased}
h1,h2,h3,h4{color:var(--navy);font-weight:800;letter-spacing:-.025em;line-height:1.12}
h2{font-size:clamp(1.9rem,3.6vw,2.9rem)}
a{color:var(--blue);text-decoration:none}a:hover{color:var(--blue-d)}
[hidden]{display:none!important}
:focus-visible{outline:3px solid var(--blue);outline-offset:3px;border-radius:6px}
.skip-link{position:absolute;left:-999px;top:10px;background:var(--navy);color:#fff;padding:10px 16px;border-radius:10px;z-index:2000}.skip-link:focus{left:10px;color:#fff}
.sec{padding:clamp(64px,8vw,112px) 0}
.kicker{display:inline-block;font-size:.78rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--blue);margin-bottom:.8rem}
.kicker-sun{color:var(--sun)}
.lead-sm{font-size:1.08rem}
.sec-head{max-width:760px;margin-bottom:2.6rem}.sec-head p{font-size:1.06rem;color:var(--muted);margin:0}
.split-head{display:flex;justify-content:space-between;align-items:flex-end;gap:20px 48px;flex-wrap:wrap;margin-bottom:2.4rem}
.split-head h2{margin:0;max-width:16em}.split-head>p{max-width:30em;margin:0;color:var(--muted)}
.link-arrow{font-weight:700;white-space:nowrap}

/* 3. Glass system ------------------------------------------------------ */
.glass,.glass-strong,.glass-sun,.glass-dark{border:1px solid var(--glass-border);box-shadow:var(--shadow),0 0 0 1px rgba(10,33,64,.06),inset 0 1px 0 #fff;-webkit-backdrop-filter:var(--blur);backdrop-filter:var(--blur)}
.glass{background:var(--glass-bg)}
.glass-strong{background:var(--glass-strong)}
.glass-sun{background:rgba(250,207,0,.82);border-color:rgba(255,255,255,.55);color:var(--navy)}
.glass-dark{background:rgba(10,33,64,.62);border-color:rgba(255,255,255,.22);color:#fff;box-shadow:var(--shadow),inset 0 1px 0 rgba(255,255,255,.18)}
@supports not ((-webkit-backdrop-filter:blur(1px)) or (backdrop-filter:blur(1px))){
  .glass{background:rgba(255,255,255,.92)}.glass-strong{background:#fff}.glass-sun{background:var(--sun)}.glass-dark{background:var(--navy)}
  .site-header .nav-bar,.mobile-menu{background:rgba(255,255,255,.97)!important}
}

/* 4. Aurora backdrop -------------------------------------------------- */
/* White page: the brand tint sits only behind the top of the page (hero / banner) and fades out to white */
.aurora{position:absolute;top:0;left:0;right:0;height:100vh;min-height:640px;z-index:-1;overflow:hidden;pointer-events:none;background:#fff;-webkit-mask-image:linear-gradient(180deg,#000 55%,transparent);mask-image:linear-gradient(180deg,#000 55%,transparent)}
.orb{position:absolute;width:62vmax;height:62vmax;border-radius:50%;opacity:.22;will-change:transform}
.o3,.o4{display:none}
.o1{background:radial-gradient(circle,rgba(21,82,161,.7) 0,rgba(21,82,161,0) 62%);top:-28vmax;left:-18vmax;animation:drift1 34s ease-in-out infinite alternate}
.o2{background:radial-gradient(circle,rgba(250,207,0,.75) 0,rgba(250,207,0,0) 60%);top:-12vmax;right:-26vmax;animation:drift2 40s ease-in-out infinite alternate}
.o3{background:radial-gradient(circle,rgba(64,140,240,.7) 0,rgba(64,140,240,0) 60%);bottom:-34vmax;left:20vmax;animation:drift3 46s ease-in-out infinite alternate}
.o4{background:radial-gradient(circle,rgba(250,207,0,.32) 0,rgba(250,207,0,0) 60%);bottom:-20vmax;left:-30vmax;width:48vmax;height:48vmax;animation:drift2 52s ease-in-out infinite alternate-reverse}
@keyframes drift1{to{transform:translate3d(10vmax,8vmax,0) scale(1.08)}}
@keyframes drift2{to{transform:translate3d(-12vmax,10vmax,0) scale(.94)}}
@keyframes drift3{to{transform:translate3d(-8vmax,-10vmax,0) scale(1.1)}}

/* 5. Buttons & chips --------------------------------------------------- */
.btn{border-radius:999px;font-weight:700;padding:.78rem 1.5rem;display:inline-flex;align-items:center;gap:.5rem;justify-content:center;border:0;transition:transform .25s,background-color .25s,box-shadow .25s}
.btn:hover{transform:translateY(-2px)}
.btn-lg{padding:1rem 1.8rem;font-size:1.02rem}
.btn-blue{background:var(--blue);color:#fff;box-shadow:0 12px 26px -12px rgba(21,82,161,.8)}.btn-blue:hover{background:var(--blue-d);color:#fff}
.btn-sun{background:var(--sun);color:var(--navy);box-shadow:0 12px 26px -14px rgba(180,140,0,.9)}.btn-sun:hover{background:var(--sun-d);color:var(--navy)}
.btn-glass{background:rgba(255,255,255,.62);color:var(--navy);border:1px solid rgba(255,255,255,.8);-webkit-backdrop-filter:var(--blur);backdrop-filter:var(--blur)}.btn-glass:hover{background:#fff;color:var(--navy)}
.chip{display:inline-flex;align-items:center;gap:8px;padding:.5rem 1rem;border-radius:999px;font-weight:700;font-size:.88rem;color:var(--blue)}
.tag{display:inline-block;background:var(--sky);color:var(--blue);font-weight:700;font-size:.76rem;padding:.25rem .7rem;border-radius:999px}
.role-chip{display:inline-block;background:var(--sky);color:var(--blue-d);font-weight:700;font-size:.78rem;padding:.3rem .8rem;border-radius:999px}
.round-btn{width:48px;height:48px;border-radius:50%;border:1px solid rgba(255,255,255,.8);background:rgba(255,255,255,.7);color:var(--navy);display:inline-flex;align-items:center;justify-content:center;font-size:1.1rem;transition:background-color .2s}
.round-btn:hover:not(:disabled){background:#fff}.round-btn:disabled{opacity:.4}

/* 6. Header & menus ---------------------------------------------------- */
.site-header{position:sticky;top:0;z-index:1030;padding:12px 0 0}
.nav-bar{display:flex;align-items:center;gap:12px;padding:8px 10px 8px 18px;border-radius:999px;background:rgba(255,255,255,.55);border:1px solid rgba(255,255,255,.75);box-shadow:0 14px 40px -24px rgba(10,33,64,.45),inset 0 1px 0 rgba(255,255,255,.9);-webkit-backdrop-filter:var(--blur);backdrop-filter:var(--blur);transition:background-color .3s,box-shadow .3s}
.is-scrolled .nav-bar{background:rgba(255,255,255,.86);box-shadow:0 18px 44px -22px rgba(10,33,64,.5),inset 0 1px 0 #fff}
.brand img{height:46px;width:auto;display:block}
.nav-links{display:flex;align-items:center;gap:4px;list-style:none;margin:0 0 0 auto;padding:0}
.nav-link{font-weight:600;font-size:.95rem;color:var(--navy);padding:.55rem 1rem!important;border-radius:999px}
.nav-link:hover,.nav-link:focus-visible{color:var(--blue);background:rgba(21,82,161,.08)}
.nav-link.active{color:var(--blue);background:rgba(21,82,161,.1)}
.ext-ico{font-size:.68em;margin-left:.4em;opacity:.65}  /* "opens in a new tab" arrow on links to other sites */
.nav-cta{padding:.65rem 1.2rem}
.glass-menu{border-radius:18px;padding:.5rem;margin-top:10px!important;background:rgba(255,255,255,.8);border:1px solid rgba(255,255,255,.85);box-shadow:var(--shadow);-webkit-backdrop-filter:var(--blur);backdrop-filter:var(--blur)}
.glass-menu .dropdown-item{border-radius:10px;font-weight:600;color:var(--navy);padding:.55rem .9rem}
.glass-menu .dropdown-item:hover,.glass-menu .dropdown-item.active{background:var(--sky);color:var(--blue)}
.menu-btn{display:none;margin-left:auto;width:46px;height:46px;border-radius:50%;border:0;background:var(--navy);color:#fff;font-size:1.5rem;align-items:center;justify-content:center}
.mobile-menu{position:fixed;inset:0;z-index:1100;display:flex;flex-direction:column;padding:18px 22px 28px;background:rgba(239,245,253,.78);-webkit-backdrop-filter:blur(22px) saturate(150%);backdrop-filter:blur(22px) saturate(150%);opacity:0;transition:opacity .25s;overflow-y:auto}
.mobile-menu.is-open{opacity:1}
.mobile-menu-top{display:flex;justify-content:space-between;align-items:center}
.menu-close{width:46px;height:46px;border-radius:50%;border:1px solid rgba(255,255,255,.9);background:rgba(255,255,255,.75);color:var(--navy);font-size:1.2rem}
.mobile-links{list-style:none;padding:0;margin:2rem 0;display:grid;gap:4px}
.mobile-links a{display:block;padding:.7rem 0;font-size:1.6rem;font-weight:800;color:var(--navy);letter-spacing:-.02em;border-bottom:1px solid var(--line)}
.mobile-links a[aria-current]{color:var(--blue)}
.mobile-menu-foot{margin-top:auto;display:grid;gap:12px}.mobile-menu-foot a:not(.btn){color:var(--navy);font-weight:600}
body.menu-open{overflow:hidden}

/* 7. Hero -------------------------------------------------------------- */
.hero{padding:clamp(40px,6vw,80px) 0 clamp(48px,6vw,80px)}
.hero h1{font-size:clamp(3rem,7.2vw,6.2rem);margin:1.2rem 0 1.4rem;letter-spacing:-.04em;line-height:1.02}
.grad{background:linear-gradient(90deg,var(--blue),#2f6fd1);-webkit-background-clip:text;background-clip:text;color:transparent}
.hero .lead{font-size:1.18rem;max-width:31em;color:var(--muted);margin-bottom:2rem}
.hero-ctas{display:flex;flex-wrap:wrap;gap:12px}
.hero-trust{display:flex;flex-wrap:wrap;gap:10px;list-style:none;padding:0;margin:2.4rem 0 0}
.hero-trust li{background:#fff;border-radius:12px;padding:6px 12px;box-shadow:0 6px 18px -10px rgba(10,33,64,.35)}
.hero-trust img{height:30px;width:auto;object-fit:contain;display:block}
.hero-visual{position:relative;padding:0 0 56px 48px}
.hv-photo{margin:0;padding:10px;border-radius:var(--r-lg)}
.hv-photo img{width:100%;height:auto;aspect-ratio:5/4;object-fit:cover;border-radius:24px;display:block}
.hv-quote{position:absolute;left:0;bottom:0;max-width:320px;margin:0;padding:1.4rem 1.5rem;border-radius:var(--r-md)}
.hv-quote i{font-size:1.8rem;color:var(--blue);line-height:1}
.hv-quote blockquote{font-weight:700;color:var(--navy);margin:.3rem 0 .8rem;line-height:1.45;font-size:1.05rem}
.hv-quote figcaption{font-size:.86rem;color:var(--muted)}.hv-quote figcaption strong{display:block;color:var(--blue)}

/* 8. Home sections ----------------------------------------------------- */
.clients{padding-bottom:clamp(24px,4vw,48px)}
.clients-band{border-radius:var(--r-lg);padding:1.6rem 2rem;display:flex;align-items:center;gap:20px 32px;flex-wrap:wrap}
.clients-band p{margin:0;font-weight:800;color:var(--navy);max-width:12em;line-height:1.35}
.logo-row{list-style:none;padding:0;margin:0;display:flex;flex-wrap:wrap;gap:10px;flex:1;justify-content:flex-end}
.logo-chip{background:#fff;border-radius:12px;padding:6px 12px;display:flex;align-items:center}
.logo-chip img{height:34px;width:auto;max-width:110px;object-fit:contain}
.bento{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.bento-card{position:relative;overflow:hidden;border-radius:var(--r-md);padding:1.5rem;min-height:230px;display:flex;flex-direction:column;justify-content:space-between;color:var(--text);transition:transform .35s ease,box-shadow .35s;isolation:isolate}
.bento-card:hover{color:var(--text);box-shadow:0 30px 60px -28px rgba(10,33,64,.55)}
.b-wide{grid-column:span 2}
.bento-ico{width:52px;height:52px;border-radius:16px;background:var(--sky);color:var(--blue);display:flex;align-items:center;justify-content:center;font-size:1.4rem}
.bento-txt strong{display:block;font-size:1.25rem;color:var(--navy);letter-spacing:-.02em;margin-bottom:.35rem;line-height:1.25}
.bento-txt span{font-size:.94rem;color:var(--muted);display:block}
.bento-go{position:absolute;top:1.3rem;right:1.3rem;width:40px;height:40px;border-radius:50%;background:rgba(255,255,255,.8);color:var(--navy);display:flex;align-items:center;justify-content:center;transition:background-color .25s,color .25s}
.bento-card:hover .bento-go{background:var(--sun)}
.b-img{color:#fff;border-color:rgba(255,255,255,.35)}
.bento-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2}
.b-img::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(10,33,64,.15) 0%,rgba(10,33,64,.88) 78%)}
.b-img .bento-txt strong{color:#fff;font-size:1.5rem}.b-img .bento-txt span{color:#dfe8f6}
.b-img .bento-ico{background:rgba(255,255,255,.18);color:#fff;border:1px solid rgba(255,255,255,.35)}
.process{padding-top:0}
.process-head{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;flex-wrap:wrap;margin-bottom:2rem}
.process-head>div:first-child{max-width:720px}.process-head p{color:var(--muted);margin:0}
.carousel-btns{display:flex;gap:10px}
.timeline{list-style:none;margin:0;padding:34px 4px 24px;display:flex;gap:18px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:thin;position:relative}
.timeline::before{content:"";position:absolute;left:24px;right:24px;top:58px;height:2px;background:linear-gradient(90deg,var(--blue),var(--sun));opacity:.5}
.step{flex:0 0 290px;scroll-snap-align:start;border-radius:var(--r-md);padding:1.4rem 1.4rem 1.6rem;position:relative}
.step-no{display:inline-flex;width:48px;height:48px;border-radius:50%;background:var(--navy);color:var(--sun);font-weight:800;align-items:center;justify-content:center;margin:-2.9rem 0 1rem;box-shadow:0 0 0 6px rgba(244,247,252,.9)}
.step h3{font-size:1.15rem;margin-bottom:.4rem}.step p{font-size:.93rem;margin:0;color:var(--muted)}
.blue-panel{position:relative;overflow:hidden;border-radius:var(--r-lg);padding:clamp(32px,5vw,72px);background:linear-gradient(135deg,var(--blue) 0%,var(--blue-d) 100%);color:#dbe6f7;isolation:isolate}
.blue-panel::after{content:"";position:absolute;width:520px;height:520px;right:-180px;top:-220px;border-radius:50%;background:radial-gradient(circle,rgba(250,207,0,.45),rgba(250,207,0,0) 65%);z-index:-1}
.blue-panel h2,.blue-panel h3{color:#fff}
.blue-panel p{color:#dbe6f7}
.blue-panel :focus-visible{outline-color:var(--sun)}
.pillar{border-radius:20px;padding:1.4rem;height:100%}
.glass-on-blue{background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.22);box-shadow:inset 0 1px 0 rgba(255,255,255,.18)}
.pillar i{font-size:1.4rem;color:var(--sun)}.pillar h3{font-size:1.15rem;margin:.6rem 0 .3rem}.pillar p{margin:0;font-size:.93rem}
.stat-chips{list-style:none;padding:0;margin:1.6rem 0;display:flex;flex-wrap:wrap;gap:10px}
.stat-chips li,.stat-row li{background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.22);border-radius:16px;padding:.7rem 1rem;max-width:200px;line-height:1.3}
.stat-chips strong,.stat-row strong{display:block;color:var(--sun);font-size:1.6rem;font-weight:800}
.stat-chips span,.stat-row span{font-size:.82rem;color:#dbe6f7}
.ins-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.ins-card{background:rgba(255,255,255,.94);border:1px solid rgba(255,255,255,.9);border-radius:var(--r-md);overflow:hidden;box-shadow:0 18px 40px -30px rgba(10,33,64,.5);transition:transform .3s,box-shadow .3s;display:flex;flex-direction:column}
.ins-card:hover{transform:translateY(-4px);box-shadow:0 28px 50px -28px rgba(10,33,64,.55)}
.ins-media{display:block;aspect-ratio:3/2;overflow:hidden;background:var(--sky)}
.ins-media img{width:100%;height:100%;object-fit:cover;object-position:top;display:block}
.ins-body{padding:1.3rem 1.4rem 1.5rem}
.ins-meta{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px;font-size:.82rem;color:var(--muted);margin-bottom:.6rem}
.ins-card h2,.ins-card h3{font-size:1.1rem;line-height:1.4;margin:0;letter-spacing:-.01em}
.ins-card h2 a,.ins-card h3 a{color:var(--navy)}.ins-card h2 a:hover,.ins-card h3 a:hover{color:var(--blue)}

/* 9. Inner pages ------------------------------------------------------- */
.banner{padding:22px 0 8px}
.banner-panel{border-radius:var(--r-lg);padding:clamp(28px,5vw,64px)}
.banner-panel h1{font-size:clamp(2.2rem,5vw,3.9rem);margin:0 0 .9rem;max-width:18em}
.banner-panel.is-small h1{font-size:clamp(1.7rem,3.4vw,2.7rem);max-width:28em;line-height:1.2}
.banner-panel .lead{font-size:1.1rem;max-width:46em;margin:0;color:var(--muted)}
.banner-row{display:flex;gap:22px;align-items:flex-start}
.banner-icon{flex:none;width:72px;height:72px;border-radius:22px;background:var(--blue);color:var(--sun);display:flex;align-items:center;justify-content:center;font-size:2rem;box-shadow:0 16px 30px -14px rgba(21,82,161,.8)}
.banner-meta{display:flex;flex-wrap:wrap;gap:8px 12px;align-items:center;font-weight:600;color:var(--muted);margin-bottom:1rem;font-size:.92rem}
.crumbs ol{display:flex;flex-wrap:wrap;gap:6px;list-style:none;padding:0;margin:0 0 1.6rem;font-size:.85rem;font-weight:600}
.crumbs li{background:rgba(255,255,255,.7);border-radius:999px;padding:.25rem .8rem;min-width:0;max-width:100%}
.crumbs a{color:var(--blue)}
.crumbs [aria-current]{color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:min(62vw,440px)}
.frame{border-radius:var(--r-lg);padding:10px;margin:0}
.frame img{width:100%;height:auto;aspect-ratio:5/4;object-fit:cover;border-radius:24px;display:block}
.quote-card{border-radius:var(--r-md);padding:1.6rem;margin:0}
.quote-card i{font-size:2rem;color:var(--blue);line-height:1}
.quote-card blockquote{font-weight:600;color:var(--navy);margin:.4rem 0 1rem}
.quote-card figcaption{font-size:.9rem;color:var(--muted)}.quote-card figcaption strong{display:block;color:var(--blue)}
.quote-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.h-statement{font-size:clamp(1.6rem,2.6vw,2.2rem);line-height:1.22}
.pull{border-left:4px solid var(--sun);background:rgba(255,255,255,.08);padding:1rem 1.3rem;border-radius:0 16px 16px 0;font-weight:700;color:#fff;margin:0 0 1.6rem}
.stat-row{list-style:none;padding:0;margin:2.4rem 0 0;display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.stat-row li{max-width:none;padding:1.2rem 1.4rem}.stat-row strong{font-size:2.4rem}.stat-row span{font-size:.92rem}
.mv{border-radius:var(--r-md);padding:1.8rem;height:100%}
.mv i{display:inline-flex;width:50px;height:50px;border-radius:16px;background:var(--sun);color:var(--navy);align-items:center;justify-content:center;font-size:1.3rem;margin-bottom:1rem}
.mv h3{font-size:1.3rem}.mv p{margin:0}
.tag-row{list-style:none;padding:0;margin:0;display:flex;flex-wrap:wrap;gap:8px}
.tag-row li{background:#fff;color:var(--blue);font-weight:700;font-size:.85rem;padding:.4rem .9rem;border-radius:999px}
.deals{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.deal{background:rgba(255,255,255,.92);border-radius:var(--r-md);padding:1.5rem;border:1px solid #fff;box-shadow:0 18px 40px -32px rgba(10,33,64,.5)}
.deal-no{font-weight:800;color:var(--sun-d);background:var(--navy);border-radius:10px;padding:.15rem .55rem;font-size:.8rem}
.deal h3{font-size:1.1rem;margin:.9rem 0 .4rem}.deal p{margin:0;font-size:.93rem;color:var(--muted)}
.founder{display:grid;grid-template-columns:minmax(260px,400px) 1fr;gap:clamp(24px,4vw,48px);align-items:center;border-radius:var(--r-lg);padding:14px clamp(14px,3vw,40px) 14px 14px;margin-bottom:28px}
.founder-photo img{width:100%;height:auto;aspect-ratio:6/5;object-fit:cover;object-position:top;border-radius:24px;display:block;background:#fff}
.founder-body h3{font-size:clamp(1.6rem,2.6vw,2.2rem);margin:.8rem 0 .9rem}
.people{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.person{background:rgba(255,255,255,.94);border-radius:var(--r-md);overflow:hidden;border:1px solid #fff;box-shadow:0 18px 40px -32px rgba(10,33,64,.5)}
.person-photo{position:relative;background:#fff}
.person-photo img{width:100%;height:auto;aspect-ratio:6/5;object-fit:cover;object-position:top;display:block}
.person-photo .role-chip{position:absolute;left:14px;bottom:14px;background:rgba(255,255,255,.92);box-shadow:0 8px 20px -10px rgba(10,33,64,.4)}
.person-body{padding:1.4rem 1.5rem 1.6rem}.person-body h3{font-size:1.25rem;margin-bottom:.6rem}.person-body p{font-size:.94rem}.person-body p:last-child{margin:0}
.team-tag{font-weight:700;color:var(--navy)}
.mentors{display:grid;gap:24px}
.mentor{display:grid;grid-template-columns:260px 1fr;gap:clamp(24px,4vw,44px);border-radius:var(--r-lg);padding:clamp(18px,3vw,32px)}
.mentor.is-flip{grid-template-columns:1fr 260px}.mentor.is-flip .mentor-photo{order:2}
.mentor-photo img{width:100%;height:auto;aspect-ratio:1;object-fit:cover;object-position:top;border-radius:22px;display:block}
.mentor-body h3{font-size:1.6rem;margin:.7rem 0 .9rem}.mentor-body ul{padding-left:1.2rem;margin:0}.mentor-body li{margin-bottom:.4rem}
.values{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.values li{background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.22);border-radius:20px;padding:1.3rem;color:#dbe6f7}
.values strong{display:block;color:var(--sun);font-size:1.2rem;margin-bottom:.3rem}
.side{position:sticky;top:110px;display:grid;gap:20px}
.side-card{border-radius:var(--r-md);padding:1.5rem}
.side-card h2,.side-cta h2{font-size:1.2rem;margin-bottom:1rem;letter-spacing:-.01em}
.side-nav{list-style:none;padding:0;margin:0;display:grid;gap:4px}
.side-nav a{display:flex;gap:10px;align-items:center;padding:.6rem .8rem;border-radius:12px;font-weight:600;color:var(--navy);font-size:.95rem}
.side-nav a i{color:var(--blue)}
.side-nav a:hover{background:rgba(21,82,161,.08)}
.side-nav a[aria-current]{background:var(--blue);color:#fff}.side-nav a[aria-current] i{color:var(--sun)}
.side-cta{border-radius:var(--r-md);padding:1.6rem}
.side-cta .btn{margin-right:10px}.side-tel{display:inline-block;margin-top:.8rem;font-weight:700;color:var(--navy)}.side-tel:hover{color:var(--blue-d)}
.reading-card{background:rgba(255,255,255,.95);border-radius:var(--r-lg);padding:clamp(22px,4.5vw,60px);border:1px solid #fff;box-shadow:0 24px 60px -40px rgba(10,33,64,.5)}
.reading-figure{margin:0 0 2rem}.reading-figure img{width:100%;height:auto;aspect-ratio:16/8;object-fit:cover;border-radius:22px;display:block}
.h-intro{font-size:clamp(1.5rem,2.6vw,2rem);margin-bottom:1rem}
.article{max-width:880px;margin:0 auto}
.article .prose{max-width:51.24em;margin:0 auto} /* = 70ch in Plus Jakarta Sans; em keeps the measure when the fallback font shows */
.art-figure{margin:0 0 2rem;text-align:center}.art-figure img{max-width:100%;width:auto;height:auto;max-height:860px;border-radius:20px;border:1px solid var(--line)}
.filter-bar{display:flex;flex-wrap:wrap;gap:8px;border-radius:24px;padding:10px;margin-bottom:1rem}
.filter-btn{border:0;background:transparent;color:var(--navy);font-weight:700;font-size:.9rem;border-radius:999px;padding:.55rem 1rem;transition:background-color .2s,color .2s}
.filter-btn span{font-weight:600;color:var(--muted);margin-left:2px}
.filter-btn:hover{background:rgba(21,82,161,.08)}
.filter-btn[aria-pressed="true"]{background:var(--blue);color:#fff}.filter-btn[aria-pressed="true"] span{color:#cfe0f7}
.filter-status{font-weight:600;color:var(--muted);margin:0 0 1.4rem}
.center-sec{min-height:68vh;display:flex;align-items:center;padding:48px 0}
.center-panel{max-width:760px;margin:0 auto;border-radius:var(--r-lg);padding:clamp(32px,6vw,72px);text-align:center}
.center-panel h1{font-size:clamp(2.6rem,6vw,4.4rem);margin:1.2rem 0 1rem}.center-panel .lead{color:var(--muted);margin-bottom:2rem}

/* 10. Long-form & forms ------------------------------------------------ */
.prose{font-size:1.05rem;overflow-wrap:anywhere}
.prose>:first-child{margin-top:0}.prose>:last-child{margin-bottom:0}
.prose h2{font-size:clamp(1.45rem,2.4vw,1.85rem);margin:2.2rem 0 .9rem}
.prose h3{font-size:1.28rem;margin:1.8rem 0 .7rem}
.prose h4,.prose h5,.prose h6{font-size:1.08rem;margin:1.6rem 0 .6rem}
.prose ul,.prose ol{padding-left:1.3rem}.prose li{margin-bottom:.45rem}.prose li::marker{color:var(--blue)}
.prose img{max-width:100%;height:auto;border-radius:16px;display:block;margin:1.4rem auto}
.prose blockquote{border-left:4px solid var(--sun);background:var(--sky);padding:1rem 1.3rem;border-radius:0 16px 16px 0}
.prose table{display:block;max-width:100%;overflow-x:auto;border-collapse:collapse;margin:1.4rem 0;font-size:.95rem}
.prose td,.prose th{border:1px solid var(--line);padding:.6rem .8rem;vertical-align:top;min-width:120px}
.prose tr:first-child td{background:var(--sky);font-weight:700;color:var(--navy)}
.prose a{text-decoration:underline;text-underline-offset:3px}
.post-nav{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:3rem;padding-top:2rem;border-top:1px solid var(--line)}
.post-nav a{border:1px solid var(--line);border-radius:18px;padding:1rem 1.2rem;font-weight:700;color:var(--navy);line-height:1.4;background:#fff}
.post-nav a:hover{border-color:var(--blue)}
.post-nav span{display:block;font-size:.8rem;color:var(--blue);margin-bottom:.3rem}
.pn-next{grid-column:2;text-align:right}
.info-panel,.form-panel{border-radius:var(--r-lg);padding:clamp(24px,4vw,44px);height:100%}
.info-panel h2,.form-panel h2{font-size:clamp(1.5rem,2.6vw,2rem)}
.info-list{list-style:none;padding:0;margin:1.4rem 0 0;display:grid;gap:14px}
.info-list li{display:flex;gap:14px;align-items:flex-start}
.info-list i{flex:none;width:42px;height:42px;border-radius:12px;background:var(--sky);color:var(--blue);display:flex;align-items:center;justify-content:center}
.info-list strong{display:block;color:var(--navy)}
.enquiry-form .form-label{font-weight:700;color:var(--navy);font-size:.9rem}
.enquiry-form .form-control{border:1px solid rgba(10,33,64,.18);border-radius:14px;padding:.8rem 1rem;background:rgba(255,255,255,.9)}
.enquiry-form .form-control:focus{border-color:var(--blue);box-shadow:0 0 0 4px rgba(21,82,161,.18);background:#fff}
.form-actions{display:flex;flex-wrap:wrap;align-items:center;gap:14px}.form-note{font-size:.88rem;color:var(--muted)}
.map-frame{border-radius:var(--r-lg);padding:8px;margin-top:clamp(32px,5vw,56px)}
.map-frame iframe{display:block;width:100%;height:clamp(300px,38vw,440px);border:0;border-radius:24px}
.faq .accordion-item{background:rgba(255,255,255,.92);border:1px solid #fff;border-radius:20px!important;overflow:hidden;margin-bottom:12px;box-shadow:0 16px 36px -30px rgba(10,33,64,.5)}
.faq .accordion-header{margin:0}
.faq .accordion-button{font-weight:700;color:var(--navy);font-size:1.04rem;line-height:1.45;padding:1.2rem 1.4rem;background:transparent;box-shadow:none}
.faq .accordion-button:not(.collapsed){color:var(--blue);background:rgba(234,242,251,.8)}
.faq .accordion-button:focus{box-shadow:none}.faq .accordion-button:focus-visible{outline:3px solid var(--blue);outline-offset:-3px}
.faq .accordion-body{padding:1.1rem 1.4rem 1.3rem}

/* 11. Footer ----------------------------------------------------------- */
.site-footer{margin-top:clamp(40px,6vw,80px);color:#b8c7dc}
.footer-main{background:var(--navy);margin-top:clamp(40px,5vw,64px)}
.footer-cta{border-radius:var(--r-lg);padding:clamp(26px,4vw,48px);display:flex;justify-content:space-between;align-items:center;gap:24px;flex-wrap:wrap;position:relative}
.footer-cta::before{content:"";position:absolute;left:clamp(26px,4vw,48px);top:0;width:96px;height:4px;border-radius:0 0 4px 4px;background:var(--sun)}
.footer-cta h2{margin:0;font-size:clamp(1.8rem,3.6vw,2.8rem);max-width:13em}
.footer-cta-kicker{font-weight:800;font-size:.8rem;letter-spacing:.12em;text-transform:uppercase;color:var(--blue);margin-bottom:.4rem}
.footer-cta-actions{display:flex;align-items:center;gap:18px;flex-wrap:wrap}.footer-cta-tel{font-weight:700;color:var(--navy)}
.footer-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:32px;padding:64px 0 40px}
.footer-brand .brand{display:inline-block;background:#fff;border-radius:16px;padding:10px 14px;margin-bottom:1rem}
.footer-brand p{margin:0}
.footer-h{font-size:1rem;color:#fff;letter-spacing:0;margin-bottom:1rem}
.site-footer ul{list-style:none;padding:0;margin:0}.site-footer li{margin-bottom:.55rem}
.site-footer a{color:#b8c7dc}.site-footer a:hover{color:var(--sun)}
.site-footer a.btn-blue,.site-footer a.btn-blue:hover{color:#fff}
.site-footer .footer-cta a.footer-cta-tel{color:var(--navy)}
.site-footer :focus-visible{outline-color:var(--sun)}
.footer-bottom{display:flex;justify-content:space-between;flex-wrap:wrap;gap:16px;padding:22px 0 30px;border-top:1px solid rgba(255,255,255,.12);font-size:.9rem}
.social a{margin-left:14px;font-size:1.15rem}
.wa-float{position:fixed;right:18px;bottom:18px;width:54px;height:54px;border-radius:50%;background:#1f9e55;color:#fff;display:flex;align-items:center;justify-content:center;font-size:1.6rem;z-index:1040;box-shadow:0 10px 24px -8px rgba(0,0,0,.35)}.wa-float:hover{color:#fff}

/* 12. Motion (only when <html class="motion">, i.e. JS on and no reduced-motion) */
.motion .anim{animation:rise .9s cubic-bezier(.2,.7,.2,1) both}
.motion .anim:nth-child(2){animation-delay:.08s}.motion .anim:nth-child(3){animation-delay:.16s}.motion .anim:nth-child(4){animation-delay:.24s}.motion .anim:nth-child(5){animation-delay:.32s}.motion .anim:nth-child(6){animation-delay:.4s}
@keyframes rise{from{opacity:0;transform:translateY(26px)}to{opacity:1;transform:none}}
.motion [data-reveal]{opacity:0;transform:translateY(28px);transition:opacity .8s ease,transform .8s cubic-bezier(.2,.7,.2,1)}
.motion [data-reveal].is-in,.reveal-done [data-reveal]{opacity:1;transform:none}

/* 13. Responsive ------------------------------------------------------- */
@media (max-width:1199px){.nav-cta{display:none}}
@media (max-width:991px){
  .nav-links{display:none}.menu-btn{display:inline-flex}
  .bento,.ins-grid,.people,.deals,.quote-grid{grid-template-columns:repeat(2,1fr)}
  .values{grid-template-columns:repeat(2,1fr)}
  .side{position:static}
  .footer-grid{grid-template-columns:1fr 1fr}
  .founder{grid-template-columns:1fr;padding:14px}
  .logo-row{justify-content:flex-start}
}
@media (max-width:767px){
  .stat-row{grid-template-columns:1fr}
  .mentor,.mentor.is-flip{grid-template-columns:1fr}.mentor.is-flip .mentor-photo{order:0}.mentor-photo img{max-width:240px}
  .post-nav{grid-template-columns:1fr}.pn-next{grid-column:auto;text-align:left}
  .banner-row{flex-direction:column;gap:16px}.banner-icon{width:58px;height:58px;font-size:1.6rem}
}
@media (max-width:575px){
  .brand img{height:40px}
  .hero-visual{padding:0}.hv-quote{position:relative;max-width:300px;margin:-56px 0 0 16px}
  .bento-card{min-height:170px}
  .bento,.ins-grid,.people,.deals,.quote-grid,.values{grid-template-columns:1fr}
  .b-wide{grid-column:auto}
  .footer-grid{grid-template-columns:1fr}
  .clients-band{padding:1.3rem}
  .step{flex-basis:84%}
}
@media (prefers-reduced-motion:reduce){
  .orb{animation:none}
  .btn,.bento-card,.ins-card,.mobile-menu{transition:none}
  .btn:hover,.ins-card:hover{transform:none}
  html{scroll-behavior:auto}
}

/* 13. Person profile pages ------------------------------------------- */
/* One profile per team member and mentor, linked from the team and
   mentors grids and from the old root-level /<name>/ URLs. */
.profile-card{position:sticky;top:96px;border-radius:var(--r-md);overflow:hidden;border:1px solid #fff;box-shadow:0 18px 40px -32px rgba(10,33,64,.5)}
.profile-photo{margin:0;background:#fff}
.profile-photo img{width:100%;height:auto;aspect-ratio:6/5;object-fit:cover;object-position:top;display:block}
.profile-meta{padding:22px}
.profile-name{font-size:1.35rem;margin:0 0 .15rem}
.profile-role{color:var(--muted);font-weight:600;margin:0 0 1rem}
.profile-links{list-style:none;padding:0;margin:0 0 1.25rem;display:grid;gap:.55rem}
.profile-links a{display:inline-flex;align-items:center;gap:.55rem;color:var(--blue);font-weight:600;text-decoration:none;word-break:break-word}
.profile-links a:hover,.profile-links a:focus-visible{text-decoration:underline}
.profile-links i{flex:none}
.profile-meta .btn{width:100%;text-align:center}
/* The colleague grid reuses .person, but its photo is now a link. */
.person-photo:is(a){display:block}
.person-body h3 a{color:inherit;text-decoration:none}
.person-body h3 a:hover,.person-body h3 a:focus-visible{color:var(--blue);text-decoration:underline}
@media (max-width:991px){
  .profile-card{position:static}
}
.founder-photo:is(a),.mentor-photo:is(a){display:block}
.founder-body h3 a,.mentor-body h3 a{color:inherit;text-decoration:none}
.founder-body h3 a:hover,.mentor-body h3 a:hover,.founder-body h3 a:focus-visible,.mentor-body h3 a:focus-visible{color:var(--blue);text-decoration:underline}
