/* A+UD inner pages — shared skin, reuses main.css tokens */
.subpage{background:var(--paper)}
.page{padding-top:0}
.subpage .nav{background:rgba(255,255,255,.96)}

/* generic reveal for subpages */
.reveal{opacity:0;transform:translateY(26px)}
.no-js .reveal{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){.reveal{opacity:1!important;transform:none!important}}

/* page hero with background image + overlay card */
.pg-hero{position:relative;min-height:82svh;display:flex;align-items:center;padding:8rem clamp(1.25rem,5vw,4.5rem) 4rem;overflow:hidden}
.pg-hero__media{position:absolute;inset:0}
.pg-hero__media img{width:100%;height:100%;object-fit:cover;filter:brightness(.55)}
.pg-hero__overlay{position:relative;z-index:2;color:#fff;max-width:60rem}
.pg-hero__overlay h1{font-weight:600;font-size:clamp(2.4rem,6vw,4.5rem);margin-bottom:2rem}
.office__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:2rem;margin-bottom:2.5rem}
.office__grid h3{font-weight:600;font-size:1.1rem;margin-bottom:.6rem;color:var(--saffron)}
.office__grid p{line-height:1.8}
.office__grid a{color:#fff}
.office__grid a:hover{color:var(--saffron)}

/* schedule intro band */
.sched{text-align:center;padding:clamp(4rem,10vh,7rem) clamp(1.25rem,5vw,4.5rem);border-bottom:1px solid var(--line,#e4e2dc)}
.sched h2{font-weight:600;font-size:clamp(1.7rem,3.6vw,2.6rem);max-width:40rem;margin:0 auto 1rem}
.sched p{max-width:44rem;margin:0 auto;color:#555}

/* get in touch */
.getintouch{display:grid;grid-template-columns:1fr 1fr;gap:0;align-items:stretch;min-height:70svh}
.git__fig{overflow:hidden}
.git__fig img{width:100%;height:100%;object-fit:cover}
.git__form{background:#f4f6f7;padding:clamp(2.5rem,6vw,5rem);display:flex;flex-direction:column;justify-content:center}
.git__form h2{font-weight:600;font-size:clamp(1.8rem,4vw,2.6rem);margin-bottom:2rem}
.git__form form{display:grid;gap:1.1rem;max-width:32rem}
.git__form label{display:grid;gap:.4rem;font-weight:500}
.git__form input,.git__form textarea{font-family:var(--font);padding:.8rem .9rem;border:1px solid #d8d6d0;font-size:.95rem;background:#fff}
.git__form .btn{justify-self:start;margin-top:.5rem}

@media (max-width:900px){
  .office__grid{grid-template-columns:1fr;gap:1.5rem}
  .getintouch{grid-template-columns:1fr}
  .git__fig{min-height:40svh}
}

/* FAQ page */
.faq{padding:9rem clamp(1.25rem,5vw,4.5rem) 5rem;max-width:60rem;margin:0 auto}
.faq__head{text-align:center;margin-bottom:3.5rem}
.faq__head h1{font-weight:600;font-size:clamp(2rem,5vw,3.2rem);margin-bottom:1.2rem}
.faq__head p{color:#555;max-width:40rem;margin:0 auto}
.faq__head a{color:var(--saffron)}
.faq__item{border-bottom:1px solid var(--line,#e4e2dc)}
.faq__item summary{list-style:none;cursor:pointer;padding:1.4rem 2.5rem 1.4rem 0;font-weight:500;font-size:1.1rem;position:relative;transition:color .2s}
.faq__item summary::-webkit-details-marker{display:none}
.faq__item summary:hover{color:var(--saffron)}
.faq__item summary:after{content:"+";position:absolute;right:0;top:50%;transform:translateY(-50%);font-size:1.6rem;color:var(--saffron);transition:transform .3s}
.faq__item[open] summary:after{transform:translateY(-50%) rotate(45deg)}
.faq__a{padding:0 0 1.5rem;color:#444;line-height:1.8}

/* service pages */
.svc-hero{position:relative;min-height:80svh;display:flex;align-items:center;padding:9rem clamp(1.25rem,5vw,4.5rem) 5rem;overflow:hidden}
.svc-hero__media{position:absolute;inset:0}
.svc-hero__media img{width:100%;height:100%;object-fit:cover;filter:brightness(.5)}
.svc-hero__inner{position:relative;z-index:2;color:#fff;max-width:56rem}
.svc-hero__inner h1{font-weight:600;font-size:clamp(2.4rem,6vw,4.2rem);margin-bottom:1.5rem}
.svc-hero__inner p{line-height:1.9;color:rgba(255,255,255,.92)}
.svc-hero__tag{margin-top:1.5rem;font-size:clamp(1.2rem,2.6vw,1.7rem);font-weight:500;color:var(--saffron)}
.svc-list{padding:clamp(4rem,10vh,7rem) clamp(1.25rem,5vw,4.5rem);max-width:64rem;margin:0 auto}
.svc-list__intro{font-size:1.1rem;color:#444;margin-bottom:3rem;line-height:1.9}
.svc-items{display:grid;gap:1.5rem}
.svc-item{display:grid;grid-template-columns:auto 1fr;gap:1.5rem;align-items:start;padding:1.5rem 0;border-top:1px solid var(--line,#e4e2dc)}
.svc-item__n{font-size:1.4rem;font-weight:700;color:var(--saffron);line-height:1}
.svc-item h3{font-weight:600;font-size:1.2rem;margin-bottom:.5rem}
.svc-item p{color:#555;line-height:1.8}
.svc-cta{text-align:center;padding:clamp(4rem,10vh,7rem) clamp(1.25rem,5vw,4.5rem);background:var(--ink);color:#fff}
.svc-cta p{max-width:40rem;margin:0 auto 2rem;font-size:1.15rem}

/* projects gallery */
.pj-head{padding:9rem clamp(1.25rem,5vw,4.5rem) 2.5rem;text-align:center;max-width:56rem;margin:0 auto}
.pj-head h1{font-weight:600;font-size:clamp(2.2rem,5.5vw,3.6rem);margin-bottom:1rem}
.pj-head p{color:#555}
.pj-grid{columns:5 220px;column-gap:8px;padding:0 8px 5rem}
.pj{break-inside:avoid;margin:0 0 8px;overflow:hidden}
.pj img{width:100%;height:auto;display:block;filter:grayscale(1);transition:filter .45s ease,transform .6s ease}
.pj:hover img{filter:grayscale(0);transform:scale(1.03)}
@media (max-width:900px){.pj-grid{columns:2 140px}}

/* about page */
.about-vision{padding:9rem clamp(1.25rem,5vw,4.5rem) 4rem;max-width:56rem;margin:0 auto;text-align:center}
.about-vision h1{font-weight:600;font-size:clamp(2.4rem,6vw,3.8rem);margin-bottom:2rem}
.about-vision p{line-height:1.9;color:#444;font-size:1.08rem}
.about-vision__tag{margin-top:1.5rem;color:var(--saffron);font-weight:600;letter-spacing:.05em}
.ideologies{padding:clamp(4rem,10vh,7rem) clamp(1.25rem,5vw,4.5rem);background:var(--ink)}
.ideologies>h2{text-align:center;color:#fff;font-weight:600;font-size:clamp(1.8rem,4.5vw,2.8rem);margin-bottom:3rem}
.ideo-grid{display:flex;gap:1rem;max-width:76rem;margin:0 auto;align-items:stretch}
.ideo{flex:1 1 0;cursor:pointer;position:relative;background-size:cover;background-position:center;padding:2rem 1.25rem;border-radius:10px;color:#fff;min-height:26rem;overflow:hidden;transition:flex .5s ease}
.ideo h3{font-weight:600;font-size:1.15rem;margin-bottom:1rem;color:var(--saffron);position:relative;z-index:2}
.ideo p{line-height:1.7;font-size:.9rem;color:rgba(255,255,255,.94);position:relative;z-index:2;opacity:0;max-height:0;overflow:hidden;transition:opacity .45s ease .1s,max-height .5s ease}


/* about team — alternating equal rows, matching live */
.team{padding:3rem clamp(1.25rem,5vw,4.5rem) 5rem;max-width:72rem;margin:0 auto}
.team__title{text-align:center;font-weight:600;font-size:clamp(1.9rem,4.5vw,2.8rem);margin:0 0 3.5rem;text-decoration:underline;text-underline-offset:6px}
.team-row{display:grid;grid-template-columns:1fr 1.3fr;gap:3rem;align-items:center;margin-bottom:3.5rem}
.team-row--flip .team-row__photo{order:2}
.team-row__photo{overflow:hidden;border-radius:6px;aspect-ratio:1/1}
.team-row__photo img{width:100%;height:100%;object-fit:cover;filter:grayscale(1);transition:filter .5s,transform .6s}
.team-row__photo:hover img{filter:grayscale(0);transform:scale(1.03)}
.team-row__text h3{font-weight:600;font-size:1.5rem;color:var(--saffron);margin-bottom:.6rem}
.team-row__role{color:#666;line-height:1.7;font-size:.95rem;margin-bottom:1rem}
.team-row__text>p:last-child{line-height:1.9;color:#444}
@media (max-width:820px){.team-row,.team-row--flip{grid-template-columns:1fr;gap:1.2rem}.team-row--flip .team-row__photo{order:0}.team-row__photo{max-width:22rem}}

.ideo-grid:hover .ideo{flex:0.6 1 0}
.ideo-grid .ideo:hover{flex:2.4 1 0}
.ideo:hover p{opacity:1;max-height:30rem}
@media (max-width:900px){.ideo-grid{flex-direction:column}.ideo,.ideo-grid:hover .ideo,.ideo-grid .ideo:hover{flex:1 1 auto;min-height:0}.ideo p{opacity:1;max-height:none}}

/* subpage section-stacking — mirrors home page grammar */
.subpage main.page > section{position:sticky;top:0;min-height:100svh;display:flex;flex-direction:column;justify-content:center;isolation:isolate;background:var(--paper,#fff)}
.subpage main.page{isolation:isolate}
.subpage .foot{position:relative;z-index:5;background:#fff}
/* per-section backgrounds so stacking reads clearly */
.subpage .svc-list,.subpage .sched,.subpage .faq,.subpage .team,.subpage .pj-head,.subpage .about-vision{background:#fff}
.subpage .svc-cta,.subpage .ideologies{background:var(--ink)}
.subpage .getintouch{background:#f4f6f7}
.subpage .pj-grid{background:#fff}
/* tall content sections must scroll internally, not clip */
.subpage main.page > section{min-height:auto}
.subpage .faq,.subpage .pj-grid,.subpage .team,.subpage .ideologies,.subpage .getintouch{justify-content:flex-start;min-height:auto;padding-top:6rem;padding-bottom:4rem}
@media (max-width:820px){
  .subpage main.page > section{position:static;min-height:0;display:block;padding-top:5rem;padding-bottom:3rem}
}
/* subpage-stack marker */

/* about team — 3 photos in a row, description reveals below on hover */
.team{padding:3rem clamp(1.25rem,5vw,4.5rem) 5rem;max-width:74rem;margin:0 auto}
.team__title{text-align:center;font-weight:600;font-size:clamp(1.9rem,4.5vw,2.8rem);margin:0 0 3.5rem;text-decoration:underline;text-underline-offset:6px}
.tm-row{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem;align-items:start}
.tm-card{cursor:pointer}
.tm-card__photo{overflow:hidden;border-radius:8px;aspect-ratio:3/4}
.tm-card__photo img{width:100%;height:100%;object-fit:cover;filter:grayscale(1);transition:filter .5s,transform .6s}
.tm-card:hover .tm-card__photo img{filter:grayscale(0);transform:scale(1.03)}
.tm-card__info{padding-top:1rem}
.tm-card__info h3{font-weight:600;font-size:1.25rem;color:var(--saffron)}
.tm-card__role{color:#666;line-height:1.6;font-size:.9rem;margin-top:.4rem}
.tm-card__bio{line-height:1.8;color:#444;font-size:.92rem;margin-top:.9rem;opacity:0;max-height:0;overflow:hidden;transition:opacity .45s ease,max-height .55s ease}
.tm-card:hover .tm-card__bio{opacity:1;max-height:32rem}
@media (max-width:820px){.tm-row{grid-template-columns:1fr;gap:2.5rem;max-width:24rem;margin:0 auto}.tm-card__bio{opacity:1;max-height:none}}

/* about team — hover slides photo, dims others, description panel appears beside it */
.team{padding:3rem clamp(1.25rem,5vw,4.5rem) 6rem;max-width:74rem;margin:0 auto}
.team__title{text-align:center;font-weight:600;font-size:clamp(1.9rem,4.5vw,2.8rem);margin:0 0 3.5rem;text-decoration:underline;text-underline-offset:6px}
.tm-row{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem;align-items:start;position:relative}
.tm-card{cursor:pointer;position:relative;transition:opacity .4s ease}
.tm-row:hover .tm-card{opacity:.06}
.tm-row .tm-card:hover{opacity:1;z-index:5}
.tm-card__photo{position:relative;overflow:hidden;border-radius:8px;aspect-ratio:3/4;transition:transform .5s ease}
.tm-card__photo img{width:100%;height:100%;object-fit:cover;filter:grayscale(1);transition:filter .5s}
.tm-card:hover .tm-card__photo img{filter:grayscale(0)}
.tm-card__photo:after{content:"";position:absolute;inset:0;background:#fff;opacity:0;transition:opacity .4s ease;pointer-events:none}
.tm-row:hover .tm-card .tm-card__photo:after{opacity:.75}
.tm-row .tm-card:hover .tm-card__photo:after{opacity:0}
.tm-card__info{position:absolute;top:0;width:100%;padding:1.2rem 1.4rem;background:rgba(20,22,26,.92);color:#fff;border-radius:8px;opacity:0;pointer-events:none;transition:opacity .45s ease .1s;min-height:100%}
.tm-card:hover .tm-card__info{opacity:1}
.tm-card__info h3{font-weight:600;font-size:1.15rem;color:var(--saffron)}
.tm-card__role{color:rgba(255,255,255,.8);line-height:1.6;font-size:.82rem;margin-top:.4rem}
.tm-card__bio{line-height:1.65;color:rgba(255,255,255,.95);font-size:.82rem;margin-top:.8rem}

/* slide direction + panel side per position */
/* card 1 (Shikhar, left): photo slides RIGHT, description on LEFT */
.tm-card:nth-child(1):hover .tm-card__photo{transform:translateX(100%)}
.tm-card:nth-child(1) .tm-card__info{left:0}
/* card 2 (Binita, middle): photo slides RIGHT, description on LEFT */
.tm-card:nth-child(2):hover .tm-card__photo{transform:translateX(100%)}
.tm-card:nth-child(2) .tm-card__info{left:0}
/* card 3 (Rajkamal, right): photo slides LEFT, description on RIGHT */
.tm-card:nth-child(3):hover .tm-card__photo{transform:translateX(-100%)}
.tm-card:nth-child(3) .tm-card__info{right:0}

@media (max-width:820px){
  .tm-row{grid-template-columns:1fr;gap:2.5rem;max-width:24rem;margin:0 auto}
  .tm-row:hover .tm-card{opacity:1}
  .tm-card__photo,.tm-card:hover .tm-card__photo{transform:none!important}
  .tm-card__info{position:static;opacity:1;pointer-events:auto;background:transparent;color:inherit;padding:1rem 0;min-height:0}
  .tm-card__info h3{color:var(--saffron)}
  .tm-card__role{color:#666}
  .tm-card__bio{color:#444}
}

/* blog listing */
.blog-head{padding:9rem clamp(1.25rem,5vw,4.5rem) 2rem;text-align:center;max-width:52rem;margin:0 auto}
.blog-head h1{font-weight:600;font-size:clamp(2.2rem,5.5vw,3.6rem);margin-bottom:1rem}
.blog-head p{color:#555;line-height:1.8}
.blog-list{padding:2rem clamp(1.25rem,5vw,4.5rem) 6rem;max-width:60rem;margin:0 auto;display:grid;gap:2.5rem}
.blogcard{display:grid;grid-template-columns:1fr 1.3fr;gap:2rem;background:#fff;border:1px solid var(--line,#e4e2dc);border-radius:10px;overflow:hidden;transition:box-shadow .3s,transform .3s;text-decoration:none;color:inherit}
.blogcard:hover{box-shadow:0 12px 40px rgba(0,0,0,.1);transform:translateY(-3px)}
.blogcard__img{overflow:hidden;aspect-ratio:4/3}
.blogcard__img img{width:100%;height:100%;object-fit:cover;filter:grayscale(1);transition:filter .5s,transform .6s}
.blogcard:hover .blogcard__img img{filter:grayscale(0);transform:scale(1.04)}
.blogcard__body{padding:1.8rem 1.8rem 1.8rem 0;display:flex;flex-direction:column;justify-content:center}
.blogcard__body h2{font-weight:600;font-size:1.35rem;line-height:1.3;margin-bottom:.6rem}
.blogcard__meta{color:var(--saffron);font-size:.85rem;margin-bottom:.8rem}
.blogcard__excerpt{color:#555;line-height:1.7;font-size:.95rem;margin-bottom:1rem}
.blogcard__more{color:var(--ink);font-weight:600;font-size:.9rem}

/* blog post */
.post{max-width:44rem;margin:0 auto}
.post__hero{position:relative;min-height:60svh;display:flex;align-items:flex-end;padding:8rem clamp(1.25rem,5vw,3rem) 2.5rem;overflow:hidden;margin:0 -100vw;padding-left:max(clamp(1.25rem,5vw,3rem),calc(50vw - 22rem));padding-right:max(clamp(1.25rem,5vw,3rem),calc(50vw - 22rem))}
.post__hero-media{position:absolute;inset:0}
.post__hero-media img{width:100%;height:100%;object-fit:cover;filter:brightness(.5)}
.post__hero-inner{position:relative;z-index:2;color:#fff;max-width:44rem;width:100%}
.post__back{color:var(--saffron);font-size:.9rem;text-decoration:none;display:inline-block;margin-bottom:1rem}
.post__hero-inner h1{font-weight:600;font-size:clamp(1.8rem,4.5vw,2.8rem);line-height:1.2}
.post__meta{margin-top:1rem;color:rgba(255,255,255,.85);font-size:.9rem}
.post__body{padding:3.5rem clamp(1.25rem,5vw,0) 5rem}
.post__body p{line-height:1.9;color:#333;margin-bottom:1.4rem;font-size:1.05rem}
.post__body h2{font-weight:600;font-size:1.3rem;color:var(--ink);margin:2.5rem 0 1rem;letter-spacing:.01em}
.post__list{margin:0 0 1.6rem;padding-left:1.4rem;display:grid;gap:1rem}
.post__list li{line-height:1.8;color:#333;padding-left:.4rem}
.post__aside{font-style:italic;color:#666;border-left:3px solid var(--saffron);padding-left:1.2rem;margin:1.8rem 0}
.post__ref{font-size:.82rem;color:#888;line-height:1.7;margin-top:1rem}
@media (max-width:820px){
  .blogcard{grid-template-columns:1fr}
  .blogcard__img{aspect-ratio:16/9}
  .blogcard__body{padding:1.5rem}
  .post__hero{margin:0;padding-left:clamp(1.25rem,5vw,3rem);padding-right:clamp(1.25rem,5vw,3rem)}
}

/* blog-post-exempt: long-form pages flow normally, no sticky stacking */
.subpage article.post, .subpage .post__hero, .subpage .post__body,
.subpage .blog-head, .subpage .blog-list{position:static;min-height:0;display:block}
.subpage .post__hero{display:flex}
.subpage .blog-list{display:grid}

/* blog series boxes */
.series-grid{padding:2rem clamp(1.25rem,5vw,4.5rem) 6rem;max-width:64rem;margin:0 auto;display:grid;gap:2.5rem}
.series{position:relative;border-radius:12px;overflow:hidden;isolation:isolate}
.series__cover{display:block;min-height:22rem;background-size:cover;background-position:center;padding:2.5rem;display:flex;align-items:flex-end;text-decoration:none;transition:transform .5s ease}
.series:hover .series__cover{transform:scale(1.03)}
.series__kicker{display:inline-block;color:var(--saffron);font-size:.75rem;letter-spacing:.18em;margin-bottom:.6rem}
.series__label h2{color:#fff;font-weight:600;font-size:clamp(1.6rem,4vw,2.4rem);margin-bottom:.6rem}
.series__label p{color:rgba(255,255,255,.9);max-width:34rem;line-height:1.7;font-size:.95rem}
.series__count{display:block;margin-top:1rem;color:rgba(255,255,255,.7);font-size:.82rem}
.series__posts{position:absolute;inset:0;background:rgba(18,20,24,.96);padding:2.5rem;display:flex;flex-direction:column;justify-content:center;gap:.5rem;opacity:0;pointer-events:none;transition:opacity .4s ease;z-index:3}
.series:hover .series__posts{opacity:1;pointer-events:auto}
.series__posts-head{color:var(--saffron);font-size:.78rem;letter-spacing:.16em;margin-bottom:1rem}
.series__post{display:flex;flex-direction:column;padding:.9rem 1rem;border-radius:8px;text-decoration:none;color:#fff;transition:background .25s}
.series__post:hover{background:rgba(255,255,255,.08)}
.series__post-title{font-weight:500;line-height:1.35}
.series__post-meta{color:rgba(255,255,255,.6);font-size:.8rem;margin-top:.3rem}
.series__all{margin-top:1rem;color:var(--saffron);font-weight:600;font-size:.9rem;text-decoration:none}

/* series page hero */
.series-hero{background-size:cover;background-position:center;min-height:52svh;display:flex;align-items:flex-end;padding:8rem clamp(1.25rem,5vw,4.5rem) 3rem}
.series-hero__inner{max-width:48rem}
.series-hero__inner h1{color:#fff;font-weight:600;font-size:clamp(2.2rem,5.5vw,3.4rem);margin:.4rem 0 1rem}
.series-hero__inner p{color:rgba(255,255,255,.9);line-height:1.8;max-width:40rem}
.series-hero .post__back{color:var(--saffron)}
.series-hero .series__kicker{display:inline-block}

@media (max-width:820px){
  .series__posts{position:static;opacity:1;pointer-events:auto;background:#15171b}
  .series__cover{min-height:16rem}
}

/* v-fix: restore approved layouts broken by section-stacking */
.subpage .getintouch{display:grid!important;grid-template-columns:1fr 1fr;gap:0;align-items:stretch;min-height:auto;padding:0}
.subpage .pj-grid{display:block!important;columns:5 220px;column-gap:8px;padding:1rem 8px 5rem}
.subpage .pj{break-inside:avoid;margin:0 0 8px;display:inline-block;width:100%}
@media (max-width:900px){
  .subpage .getintouch{grid-template-columns:1fr}
  .subpage .pj-grid{columns:2 140px}
}

/* blog post hero: contained to blog width, image above text (not overlapping), smaller */
.subpage article.post{max-width:44rem;margin:0 auto;padding:0 clamp(1.25rem,5vw,1.5rem)}
.subpage .post__hero{position:relative;min-height:auto;display:block;margin:0;padding:7rem 0 0;overflow:visible}
.post__hero-media{position:relative;inset:auto;width:100%;aspect-ratio:16/9;border-radius:10px;overflow:hidden;margin-bottom:1.5rem}
.post__hero-media img{width:100%;height:100%;object-fit:cover;filter:none}
.post__hero-inner{position:relative;z-index:2;color:var(--ink);max-width:100%;width:100%}
.post__back{color:var(--saffron)}
.post__hero-inner h1{color:var(--ink);font-weight:600;font-size:clamp(1.8rem,4.5vw,2.6rem);line-height:1.25;margin-top:.5rem}
.post__meta{color:#888;margin-top:.8rem}
.post__body{padding:2.5rem 0 5rem}
