/* Pathfinder Publication: styles for the home page. Load after assets/theme.css. */
/* hero: text only, gold glow, with the search */
.hero{padding:56px 0 30px;background:radial-gradient(circle at 88% -20%,rgba(244,185,63,.4),transparent 55%),radial-gradient(circle at 0% 110%,rgba(216,16,42,.08),transparent 50%),var(--cream);text-align:center}
.hero .eyebrow{justify-content:center;
    
}
.ticks li::before {
    content: "✓";
}

a.tier.tier-link {
    font-weight: 800 !important;
}

.hero h1{font-size:clamp(34px,5.4vw,62px);max-width:860px;margin:6px auto 16px}
.hero .lede{font-size:18px;color:var(--ink-soft);max-width:680px;margin:0 auto 30px}
.search{max-width:640px;margin:0 auto;position:relative}
.search input{width:100%;height:58px;border-radius:12px;border:1.5px solid var(--line-2);background:var(--paper);padding:0 22px 0 52px;font-size:16px;outline:none;transition:border-color .2s,box-shadow .2s}
.search input:focus{border-color:var(--red);box-shadow:0 0 0 4px rgba(216,16,42,.12)}
.search svg{position:absolute;left:20px;top:19px}
.results-dd{position:absolute;left:0;right:0;top:66px;background:var(--paper);border:1px solid var(--line);border-radius:12px;box-shadow:var(--shadow);padding:6px;text-align:left;display:none;z-index:15;max-height:360px;overflow:auto}
.results-dd.on{display:block}
.rd{display:flex;align-items:center;gap:12px;padding:10px 12px;border-radius:8px;font-size:15px;width:100%}
.rd:hover,.rd.on{background:var(--cream)}
.rd small{color:var(--ink-mute);margin-left:auto;font-size:12.5px}
.doors{display:flex;gap:12px;justify-content:center;margin-top:22px;flex-wrap:wrap}
.marq{margin-top:48px;overflow:hidden;-webkit-mask-image:linear-gradient(90deg,transparent,#000 12%,#000 88%,transparent);mask-image:linear-gradient(90deg,transparent,#000 12%,#000 88%,transparent)}
.mtrack{display:flex;gap:46px;width:max-content;animation:slide 48s linear infinite;align-items:center}
.marq:hover .mtrack{animation-play-state:paused}
.mlogo{display:flex;align-items:center;gap:10px;height:56px;opacity:.8;filter:grayscale(1);transition:all .3s}
.mlogo:hover{opacity:1;filter:none}
.mlogo img{height:42px;width:auto;object-fit:contain}
.mlogo span{font-size:13px;font-weight:600;color:var(--ink-soft);white-space:nowrap}
@keyframes slide{to{transform:translateX(-50%)}}
.disc{font-size:12px;color:var(--ink-mute);margin-top:12px}

/* results: the dark ledger */
.rnums{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px;margin:10px 0 36px}
.rnum b{display:block;font-family:var(--head);font-size:46px;font-weight:700;letter-spacing:-.02em;line-height:1;color:var(--gold)}
.rnum span{display:block;font-size:14px;color:#d9cfc2;margin-top:10px}
.cumhead{display:flex;justify-content:space-between;align-items:flex-end;gap:16px;margin-bottom:6px}
.cumhead b{font-family:var(--head);font-size:40px;font-weight:700;line-height:1;color:#fff;font-variant-numeric:tabular-nums}
.cumhead span{font-size:13.5px;color:#d9cfc2}
#cum svg{width:100%;height:auto;display:block;overflow:visible}
#cum .ln{fill:none;stroke:url(#cg);stroke-width:3.5;stroke-linecap:round;stroke-linejoin:round}
#cum .ar{opacity:0;transition:opacity 1.2s .5s}
#cum.on .ar{opacity:1}
#cum .mk{opacity:0;transform-box:fill-box;transform-origin:center;transform:scale(.4);transition:opacity .4s,transform .4s}
#cum .mk.on{opacity:1;transform:none}
.timeline{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;margin-top:36px}
.tm{border-top:2px solid rgba(244,185,63,.5);padding-top:12px}
.tm b{display:block;font-family:var(--head);font-size:22px;font-weight:700;color:var(--gold)}.tm span{font-size:13px;color:#d9cfc2}
.ledger .note{color:#a8998a}

/* exams */
.ex-bar{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:22px}
.filters{display:flex;gap:8px;flex-wrap:wrap}
.chip{font-size:13.5px;font-weight:600;padding:8px 16px;border-radius:999px;background:var(--paper);border:1px solid var(--line);color:var(--ink-soft);transition:all .2s}
.chip:hover{border-color:var(--gold-deep)}
.chip.on{background:var(--ink);color:#fff;border-color:var(--ink)}
.vt{display:inline-flex;background:var(--cream-deep);border-radius:10px;padding:2px;gap:2px;margin-left:auto}
.vt button{display:inline-flex;align-items:center;gap:6px;font-size:13px;font-weight:600;padding:6px 12px;border-radius:8px;color:var(--ink-soft)}
.vt button.on{background:var(--paper);color:var(--ink);box-shadow:0 1px 3px rgba(0,0,0,.12)}
.tier{font-family:var(--mono);font-size:12.5px;font-weight:700;color:black;margin:26px 0 12px;letter-spacing:.06em;text-transform:uppercase}
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(268px,1fr));gap:14px}
.ex{background:var(--paper);border:1px solid var(--line);border-radius:var(--r);padding:20px;display:flex;flex-direction:column;gap:12px;transition:box-shadow .25s,transform .25s,border-color .25s;color:inherit;position:relative}
.ex:hover{box-shadow:var(--shadow);transform:translateY(-3px);text-decoration:none;border-color:var(--gold)}
.ex .top{display:flex;align-items:center;gap:14px;padding-right:30px}
.lg{width:54px;height:54px;border-radius:12px;background:var(--cream);border:1px solid var(--line);display:flex;align-items:center;justify-content:center;flex:none;overflow:hidden;padding:7px}
.lg img{max-width:100%;max-height:100%;object-fit:contain}
.lg.tx{font-size:13px;font-weight:800;color:#fff;padding:0;border:0}
.ex .nm{font-family:var(--head);font-size:18px;font-weight:600;line-height:1.2}
.ex .sb{font-size:13px;color:var(--ink-soft);margin-top:2px}
.rank{position:absolute;top:16px;right:18px;font-family:var(--mono);font-size:12px;font-weight:700;color:var(--gold-deep)}
.badge{display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:700;padding:4px 10px;border-radius:999px;width:fit-content;margin-top:8px}
.b-map{background:var(--green-soft);color:var(--green)}.b-set{background:var(--gold-soft);color:var(--ink);border:1px solid var(--gold)}.b-core{background:var(--cream-deep);color:var(--ink-soft)}
.ex .ft{margin-top:auto;padding-top:12px;border-top:1px dashed var(--line);display:flex;justify-content:space-between;align-items:baseline;gap:10px;font-size:13px;color:var(--ink-soft)}
.ex .ft b{font-size:17px;color:var(--red);font-weight:800}
.ex .fs{display:block}
.ex .go{color:var(--red);font-weight:700;white-space:nowrap}
.ex.hl{box-shadow:0 0 0 3px var(--gold),var(--shadow)}
.empty{display:none;padding:30px;text-align:center;color:var(--ink-soft);background:var(--paper);border:1px solid var(--line);border-radius:var(--r)}
#exgrid.compact .grid{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:12px}
#exgrid.compact .ex{padding:16px;gap:10px}
#exgrid.compact .ex .top{flex-direction:column;align-items:flex-start;gap:10px;padding-right:0}
#exgrid.compact .lg{width:40px;height:40px;border-radius:10px;padding:5px}
#exgrid.compact .lg.tx{font-size:11px}
#exgrid.compact .ex .nm{font-size:15.5px}
#exgrid.compact .ex .sb{font-size:12.5px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
#exgrid.compact .rank,#exgrid.compact .go,#exgrid.compact .fs:not(.fc),#exgrid.compact .cd{display:none}
#exgrid.compact .badge{font-size:11px;padding:3px 8px;margin-top:6px}
#exgrid.compact .ex .ft{padding-top:8px;font-size:12.5px}
#exgrid.compact .ex .ft b{font-size:15px}

/* roles */
.roles{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
.role{background:var(--paper);border:1px solid var(--line);border-radius:var(--r);padding:20px;transition:all .25s;text-align:left}
.role:hover{border-color:var(--gold);box-shadow:var(--shadow)}
.role.on{background:var(--ink);color:#fff;border-color:var(--ink)}
.role .ic{font-size:26px;line-height:1}
.role b{display:block;font-family:var(--head);font-size:16.5px;font-weight:600;margin-top:12px}
.role span{display:block;font-size:13px;color:var(--ink-soft);margin-top:4px}
.role.on span{color:#d9cfc2}
.rpath{margin-top:16px;background:var(--paper);border:1px solid var(--line);border-radius:var(--r2);padding:24px 26px;display:none}
.rpath.on{display:block;animation:rise .35s}
.rpath h3{margin:0 0 14px;font-size:19px}
.rx{display:flex;gap:10px;flex-wrap:wrap}
.rx a{display:flex;align-items:center;gap:10px;padding:8px 14px 8px 8px;border-radius:10px;background:var(--cream);border:1px solid var(--line);color:var(--ink);font-size:14px;font-weight:600}
.rx a:hover{border-color:var(--gold-deep);text-decoration:none}
.rx .lg{width:34px;height:34px;border-radius:8px;padding:4px}.rx .lg.tx{font-size:10px}
@keyframes rise{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}

/* proof: map teaser + why teaser */
.proof{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);gap:16px}
.pcard{background:var(--paper);border:1px solid var(--line);border-radius:var(--r2);padding:30px;overflow:hidden;color:inherit;display:block}
.pcard:hover{text-decoration:none;border-color:var(--gold);box-shadow:var(--shadow)}
.pcard h3{font-size:26px;margin:4px 0 8px}
.pcard p{font-size:14.5px;color:var(--ink-soft);margin:0 0 18px}
.pcard svg{width:100%;height:auto;display:block}
.why3{display:grid;grid-template-rows:auto auto auto;gap:14px}
.wt{background:var(--paper);border:1px solid var(--line);border-radius:var(--r);padding:20px;display:flex;gap:16px;align-items:center;color:inherit;transition:all .25s}
.wt:hover{border-color:var(--gold);box-shadow:var(--shadow);text-decoration:none}
.wt b{display:block;font-family:var(--head);font-size:17px;font-weight:600}.wt span{font-size:13.5px;color:var(--ink-soft)}
.wt .covs{display:flex;flex:none}.wt .covs img{width:30px;height:39px;object-fit:cover;border-radius:3px;margin-left:-8px;box-shadow:0 3px 8px rgba(0,0,0,.18)}
.wt .covs img:first-child{margin-left:0}
.wt .letter{width:56px;flex:none;border-radius:4px;box-shadow:0 6px 16px rgba(0,0,0,.16)}
.wt .big{font-family:var(--head);font-size:36px;font-weight:700;color:var(--red);flex:none}

/* our publication: cream-deep band */
.about-band{background:linear-gradient(135deg,var(--paper) 0%,var(--cream-deep) 100%);border-top:3px solid var(--gold);border-bottom:3px solid var(--gold);margin-top:64px;padding:56px 0}
.about{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);gap:56px;align-items:center}
.about .covs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.about .covs a{display:block;border-radius:4px 8px 8px 4px;overflow:hidden;aspect-ratio:400/520;box-shadow:0 10px 24px rgba(36,26,18,.18),0 2px 5px rgba(0,0,0,.06);transition:transform .3s,box-shadow .3s}
.about .covs a:hover{transform:translateY(-6px) rotate(-1.5deg);box-shadow:0 26px 50px rgba(36,26,18,.24)}
.about .covs img{width:100%;height:100%;object-fit:cover}
.about p{font-size:16px;color:var(--ink-soft);margin:0 0 14px;line-height:1.65}
.about p b{color:var(--ink);font-weight:700}
.about .facts{display:flex;gap:28px;margin:22px 0 28px;flex-wrap:wrap}
.about .facts b{display:block;font-family:var(--head);font-size:28px;font-weight:700;color:var(--red)}.about .facts span{font-size:16px;color:var(--ink-soft)}

/* library */
.lib{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:26px 18px}
.bk{color:inherit;text-align:left;display:flex;flex-direction:column;height:100%}
.bk:hover{text-decoration:none}
.bk .cv{border-radius:4px 8px 8px 4px;overflow:hidden;aspect-ratio:400/520;box-shadow:0 10px 24px rgba(36,26,18,.16),0 2px 5px rgba(0,0,0,.06);transition:transform .3s,box-shadow .3s;position:relative;background:#eee}
.bk .cv::after{content:"";position:absolute;inset:0 auto 0 0;width:6px;background:linear-gradient(90deg,rgba(0,0,0,.18),rgba(0,0,0,0))}
.bk:hover .cv{transform:translateY(-8px) rotate(-1deg);box-shadow:0 26px 50px rgba(36,26,18,.22)}
.bk .cv img{width:100%;height:100%;object-fit:cover;border: 0.3px solid black!important;}
.bk .t{font-size:13.5px;font-weight:400!important;margin-top:12px;line-height:1.3}
.bk .k{font-size:12px;color:var(--ink-mute);margin-top:3px;display: none;}
.bk .p{font-size:14px;font-weight:800;margin-top:4px;color:var(--red)}
.bk .new{font-size:11px;font-weight:700;color:var(--red)}

/* toppers: Academy results style */
.tops{display:flex;gap:16px;overflow-x:auto;padding:4px 4px 26px;scroll-snap-type:x mandatory}
.tp{flex:none;width:210px;scroll-snap-align:start;background:var(--paper);border:1px solid var(--line);border-radius:var(--r);padding:22px 16px 18px;text-align:center}
.tp .ph{width:120px;height:120px;border-radius:50%;margin:0 auto 14px;border:4px solid var(--red);overflow:visible;position:relative}
.tp .ph img{width:100%;height:100%;border-radius:50%;object-fit:cover;object-position:top}
.tp .rk{position:absolute;bottom:-10px;left:50%;transform:translateX(-50%);background:var(--red);color:#fff;font-size:11px;font-weight:800;padding:3px 10px;border-radius:999px;white-space:nowrap}
.tp b{display:block;font-family:var(--head);font-size:16px;font-weight:600;margin-top:6px}
.tp span{font-size:12.5px;color:var(--ink-soft)}

/* faq */
.faq{background:var(--paper);border:1px solid var(--line);border-radius:var(--r2);padding:4px 26px;margin-top:22px}
.fq{border-bottom:1px dashed var(--line)}.fq:last-child{border-bottom:0}
.fq button{display:flex;justify-content:space-between;gap:16px;width:100%;padding:20px 0;font-size:16px;font-weight:600}
.fq .a{display:none;font-size:15px;color:var(--ink-soft);padding:0 0 20px;max-width:780px}
.fq.open .a{display:block;animation:rise .25s}
.plus{color:var(--gold-deep);font-size:22px;transition:transform .3s}.fq.open .plus{transform:rotate(45deg)}

@media (max-width:900px){
  .hero{padding:40px 0 24px}.hero .lede{font-size:16px}
  .rnums{grid-template-columns:repeat(2,minmax(0,1fr))}.rnum b{font-size:36px}
  .timeline{grid-template-columns:1fr 1fr}.cumhead b{font-size:32px}
  .roles{grid-template-columns:repeat(2,minmax(0,1fr))}.proof{grid-template-columns:1fr}.pcard{padding:22px}
  .lib{grid-template-columns:repeat(2,minmax(0,1fr))}
  .about-band{padding:36px 0}.about{grid-template-columns:1fr;gap:40px}
  .about .covs{gap:14px 12px}
  .grid{gap:12px}
  .ex{padding:16px 16px 14px;gap:10px}
  .ex .top{gap:12px;padding-right:26px}
  .lg{width:42px;height:42px;border-radius:10px;padding:5px}
  .ex .nm{font-size:16px}.ex .sb{font-size:13px}
  .rank{top:14px;right:16px}
  .ex .ft{padding-top:10px;align-items:center}
  .ex .fs{display:inline;margin-right:8px}.ex .ft b{font-size:16px}
  .ex-bar .filters{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;margin:0 -16px;padding:2px 16px 6px;width:calc(100% + 32px)}
  .ex-bar .filters::-webkit-scrollbar{display:none}
  .chip{flex:none}
  .vt{margin-left:0}
}
@media (max-width:520px){
  .lib{grid-template-columns:repeat(3,minmax(0,1fr));gap:20px 12px}
  .bk .t{font-size:12.5px;margin-top:9px;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
  .bk .k{font-size:11px}.bk .p{font-size:13px}
  #exgrid.compact .grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}

/* header text, hero tagline */
.site .unit{font-size:13.5px;font-weight:600;color:var(--ink-soft)}
.site .unit:hover{color:var(--red);text-decoration:none}
@media (max-width:900px){.site .unit{display:block;font-size:11px;line-height:1.3;max-width:118px;text-align:right}}
.hero .tagline{font-family:var(--head);font-size:clamp(18px,2.2vw,24px);font-weight:600;color:var(--red-deep);margin:0 0 12px;letter-spacing:.01em}

/* exam cards: smaller, darker, rounded rectangles with a checklist */
.grid{grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:12px}
.ex{background:var(--cream-deep);border:1px solid var(--line-2);border-radius:12px;padding:16px 18px;gap:10px}
.ex:hover{background:#efe3c9;border-color:var(--gold-deep)}
.ex .top{padding-right:0;gap:12px}
.lg{width:44px;height:44px;border-radius:10px;background:var(--paper);padding:6px}
.ex .nm{font-size:16.5px}
.ticks{list-style:none;margin:0;padding:10px 0 0;border-top:1px dashed var(--line-2);display:flex;flex-direction:column;gap:5px;font-size:13.5px;font-weight:600;color:var(--ink)}
.ticks li::before{content:"✓";color:var(--green);font-weight:800;margin-right:8px}
.ticks li.go{color:var(--red);margin-top:2px}
.ticks li.go::before{color:var(--red)}
.tier-link{display:inline-block;color:black;font-family:var(--body);font-style:none;font-size:19px;font-weight:400;letter-spacing:.03em}
.tier-link:hover{
    text-decoration: none;
}

body .tier-link {
    font-weight: 400 !important;
    font-style: none !important;
}
#exgrid.compact .ticks{font-size:12px;gap:3px}

/* roles without the description line */
.role{padding:18px}
.role b{margin-top:10px}

/* proof: letter and the LS Parts 1 and 2 combo */
.letter-card h3{font-size:22px}
.letter-year{display:block;font-size:15px;font-style:normal;margin-bottom:4px;font-weight:500;}

/* columns in proportion to each image's aspect ratio, so both render at the same height */
.letter-pair{display:grid;grid-template-columns:.7732fr 1.5881fr;gap:16px;align-items:start;margin-top:10px}
.letter-pair img{width:100%;height:auto;display:block}
.letter-img{display:block;text-align:center;border:0.2px solid black!important}
.letter-img img{border-radius:6px;border:1px solid var(--line);box-shadow:0 12px 30px rgba(36,26,18,.18);cursor:zoom-in}
.combo{color:inherit}
.combo:hover{text-decoration:none}
.combo img{display:block}
.wt.rating{cursor:default}
.wt .big.q{color:var(--gold-deep);width:48px;text-align:center}
.lb{position:fixed;inset:0;background:rgba(36,26,18,.82);display:none;align-items:center;justify-content:center;z-index:60;padding:30px}
.lb.on{display:flex}
.lb img{max-height:92vh;width:auto;border-radius:8px}
.lb button{position:absolute;top:20px;right:24px;width:40px;height:40px;border-radius:50%;background:var(--paper);font-size:20px}

/* biophysics ranking */
.bp-card{display:grid;grid-template-columns:220px minmax(0,1fr);gap:40px;align-items:center;background:linear-gradient(135deg,var(--paper),var(--gold-soft));border:1px solid var(--gold);border-radius:var(--r2);padding:34px 38px}
.bp-cover{position:relative;display:block}
.bp-cover img{border-radius:4px 8px 8px 4px;box-shadow:0 24px 50px rgba(36,26,18,.25)}
.rank-badge{position:absolute;top:-14px;right:-14px;width:64px;height:64px;border-radius:50%;background:var(--red);color:#fff;font-family:var(--head);font-weight:700;font-size:24px;display:flex;align-items:center;justify-content:center;box-shadow:0 6px 16px rgba(216,16,42,.35);border:3px solid var(--gold)}
.bp-card .sec-sub{margin:10px 0 10px}
.bp-note{font-size:13px;color:var(--ink-mute);margin:0 0 20px}
.bp-acts{display:flex;gap:10px;flex-wrap:wrap}

/* library: text covers for set-only books, no prices */
.bk .cv.txt{display:flex;flex-direction:column;justify-content:space-between;padding:14px 12px 12px 16px;color:#fff}
.bk .cv.txt b{font-family:var(--head);font-size:17px;line-height:1.15}
.bk .cv.txt small{font-size:10.5px;opacity:.85}
.bk .cv.txt i{font-style:normal;font-size:10px;font-weight:700;letter-spacing:.06em;opacity:.9}
.bk .new{display:block;margin-top:auto;padding-top:8px;font-size:12.5px}

/* what toppers say */
.revs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;align-items:start}
.rv{margin:0;background:var(--paper);border:1px solid var(--line);border-radius:var(--r);padding:22px;display:flex;flex-direction:column}
.rv blockquote{margin:10px 0 0;font-size:15px;line-height:1.6;color:var(--ink);height:calc(1.6em * 8);overflow:hidden;display:-webkit-box;-webkit-line-clamp:8;-webkit-box-orient:vertical}
.rv.open blockquote{height:auto;display:block;-webkit-line-clamp:unset}
.rv .more{align-self:flex-start;margin:6px 0 16px;font-size:13.5px;font-weight:700;color:var(--red-deep);visibility:hidden}
.rv .more.on{visibility:visible}
.rv .more:hover{text-decoration:underline}
.rv blockquote::before{content:"“";font-family:var(--head);font-size:40px;line-height:0;color:var(--gold-deep);vertical-align:-14px;margin-right:4px}
.rv figcaption{margin-top:auto;display:flex;gap:12px;align-items:center;font-size:13px;color:var(--ink-soft)}
.rv figcaption b{color:var(--ink)}
.rv .av{width:40px;height:40px;border-radius:50%;background:var(--red);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:800;flex:none}
.rv.add{border-style:dashed;background:var(--cream)}
.rv.add blockquote{color:var(--ink-mute)}

/* video reviews */
.vids{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-top:6px}
.vid{background:rgba(255,255,255,.07);border:1px solid rgba(244,185,63,.35);border-radius:14px;padding:12px 12px 16px;transition:border-color .2s,background .2s}
.vid:hover{border-color:var(--gold);background:rgba(255,255,255,.1)}
.vid b{display:block;color:#fff;font-size:14px;line-height:1.35;margin-top:12px}
.vid span{font-size:12.5px;color:#c9b9a5}
.vthumb,.vframe{display:block;position:relative;width:100%;aspect-ratio:16/9;border-radius:10px;overflow:hidden;background:#000}
.vthumb img{width:100%;height:100%;object-fit:cover;opacity:.85;transition:opacity .2s}
.vthumb:hover img{opacity:1}
.vthumb .play{position:absolute;inset:0;margin:auto;width:56px;height:40px;border-radius:10px;background:var(--red);color:#fff;display:flex;align-items:center;justify-content:center;font-size:18px}
.vframe iframe{width:100%;height:100%;border:0}
/* NEET block: two vertical Shorts beside the NCERT combo */
.neet{margin-top:22px;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:28px;align-items:center;background:rgba(244,185,63,.1);border:1px solid rgba(244,185,63,.45);border-radius:16px;padding:24px 26px}
.neet-txt h3{color:#fff;font-size:24px;margin:12px 0 8px}
.neet-txt p{color:#d9cfc2;margin:0 0 18px;font-size:15px}
.neet-txt b{color:#fff}
.neet-acts{display:flex;gap:10px;flex-wrap:wrap}
.shorts{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.short .vthumb,.short .vframe{aspect-ratio:9/16}
.short .vthumb img{object-fit:cover}

/* faq list answer */
.faq-list{margin:0;padding-left:20px}
.faq-list li{margin:4px 0}

/* learn from the authors + classes */
.teachers{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-top:24px}
.tc{background:var(--paper);border:1px solid var(--line);border-radius:var(--r);padding:22px 16px;text-align:center}
.tc .ph{width:120px;height:120px;border-radius:50%;margin:0 auto 14px;border:4px solid var(--gold);overflow:hidden;background:var(--cream-deep);display:flex;align-items:center;justify-content:center;color:var(--ink-mute);font-size:12px}
.tc .ph img{width:100%;height:100%;object-fit:cover;object-position:50% 20%}
.tc .ph small{display:block;font-size:10px;font-weight:600;color:var(--ink-mute);margin-top:2px}
.tc .ph:not(:has(img)){flex-direction:column;font-family:var(--head);font-size:28px;font-weight:700;color:var(--ink-soft)}
.tc b{display:block;font-family:var(--head);font-size:16.5px;font-weight:600}
.tc span{display:block;font-size:13px;color:var(--ink-soft);margin-top:4px}
.tc.slot{border-style:dashed;background:var(--cream)}
.classes{margin-top:22px;background:var(--gold-band);border:2px solid var(--gold-deep);border-radius:var(--r2);padding:28px 30px;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:24px;align-items:center;box-shadow:0 14px 36px rgba(201,145,15,.25)}
.classes h3{font-size:22px;margin:10px 0 6px}
.classes p{margin:0;color:var(--ink-soft)}
.cl-acts{display:grid;grid-template-columns:1fr;gap:10px}
.cl-acts .btn{font-size:14px;padding:11px 16px}

@media (max-width:900px){
  .bp-card{grid-template-columns:1fr;padding:26px 20px;gap:26px}
  .bp-cover{max-width:170px;margin:0 auto}
  .revs{grid-template-columns:1fr}
  .vids{grid-template-columns:1fr 1fr}
  .neet{grid-template-columns:1fr;padding:18px 16px}
  .teachers{grid-template-columns:1fr 1fr}
  .tc .ph{width:96px;height:96px}
  .classes{grid-template-columns:1fr;padding:22px 18px}
  .cl-acts{grid-template-columns:1fr}
  .shorts{
    display: grid;
    grid-template-columns: 2fr;
    gap: 14px;
}
}
@media (max-width:520px){.vids{grid-template-columns:1fr}}

.auth{
    
    font-size: 18px;
}

.rv h4{font-family:var(--body);font-size:15px;font-weight:700;margin:8px 0 0;line-height:1.35}

#exgrid a.tier.tier-link,
#exgrid a.tier.tier-link:link,
#exgrid a.tier.tier-link:visited,
#exgrid a.tier.tier-link:hover,
#exgrid a.tier.tier-link:focus,
#exgrid a.tier.tier-link:active {
    color: #000000 !important;
    text-decoration: none !important;
}




/* HOMEPAGE AUTHORS ONLY */

#home-authors-sec {
    clear: both;
}

#home-authors-sec .authors {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 20px !important;
    margin-top: 24px;
}

#home-authors-sec .au {
    display: flex !important;
    align-items: flex-start;
    gap: 15px;
    min-width: 0;
    padding: 20px;
    background: #f3ead6;
    border: 1px solid #d5c8af;
    border-radius: 12px;
}

#home-authors-sec .au > div:last-child {
    flex: 1;
    min-width: 0;
}

#home-authors-sec .av {
    width: 70px;
    height: 70px;
    flex: 0 0 70px;
    overflow: hidden;
    border-radius: 10px;
}

#home-authors-sec .av img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

#home-authors-sec .au h3 {
    font-size: 18px;
    margin: 0 0 8px;
}

#home-authors-sec .au p {
    font-size: 13px;
    line-height: 1.5;
    margin: 0 0 14px;
}

#home-authors-sec .tl-lbl {
    font-size: 12px;
    font-weight: 700;
    margin-bottom: 8px;
}

#home-authors-sec .thumbs {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
}

#home-authors-sec .thumbs img {
    width: 35px;
    height: 48px;
    object-fit: cover;
    border-radius: 3px;
}

@media (max-width: 900px) {
    #home-authors-sec .authors {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }
}

@media (max-width: 600px) {
    #home-authors-sec .authors {
        grid-template-columns: 1fr !important;
    }
}



/* Mobile only - Equal hero button sizes */
@media (max-width: 767px) {
    .hero .doors {
        display: flex;
        flex-direction: column;
        align-items: center;
        gap: 10px;
    }

    .hero .doors .btn {
        width: 210px;
        min-height: 44px;
        box-sizing: border-box;
        display: flex;
        align-items: center;
        justify-content: center;
        text-align: center;
    }
}
