/* phone.css: GENERATED by tools/phone_build.py from phone/*.css. Edit the partials, not this file. */

/* ==== 00-base.css ==== */
/* phone.css: the phone-native layer (see DESIGN.md "Phones"). Loaded LAST on every page.
   Every rule lives inside @media (max-width:760px), so desktop never sees one.
   Grammar borrowed from /card/*: grouped rows on Arena paper, full-width pills, press states,
   short heroes, one clear action. Sizes are in CSS px at 390 wide. */
.ph-foot,.ph-bar{display:none}

@media (max-width:760px){
:root{
  --ph-ink:#0B1A4A; --ph-text:#1F2A44; --ph-soft:#4A5470; --ph-muted:#5C6378;
  --ph-blue:#22458A; --ph-blue2:#2F55A8;
  --ph-paper:#FCF3ED; --ph-sand:#F3E9DD; --ph-surface:#FBF6EF; --ph-line:rgba(11,26,74,.12);
  --ph-gut:20px; --ph-sec:48px; --ph-r:16px; --ph-row:56px;
  --ph-nav:56px; --ph-safe-b:env(safe-area-inset-bottom,0px);
}

/* ---------- 0. WebKit crash guard (iOS 26 / WeChat): no text-wrap:pretty on Chinese pages ---------- */
html[lang="zh-CN"] *{text-wrap-style:auto !important}
html[lang="zh-CN"] :is(h1,h2,h3,.h2,.display,.cs-h1,.hero-riso-h1){text-wrap-style:balance !important}

/* ---------- 1. Type ---------- */
body{-webkit-text-size-adjust:100%;text-rendering:optimizeLegibility}
main p,main li,main dd{font-size:16px;line-height:1.6}
html[lang="zh-CN"] main :is(p,li,dd){line-height:1.75;letter-spacing:0}
main .lede{font-size:17px !important;line-height:1.55 !important}
html[lang="zh-CN"] main .lede{font-size:16.5px !important;line-height:1.75 !important}
/* secondary copy inside rows and cards */
main :is(.pc-why-list p,.pc-intro,.prog-p,.pg-prog-body p,.pc-card-body p,.pg-pcard-body p,.faq p,.faq dd){font-size:15.5px !important;line-height:1.6 !important}
html[lang="zh-CN"] main :is(.pc-why-list p,.pc-intro,.prog-p,.pg-prog-body p,.pc-card-body p,.pg-pcard-body p,.faq p,.faq dd){line-height:1.75 !important}
/* headings: one clear scale, regular weight (no 300 at small sizes), never squeezed by a ch max-width */
main :is(h1.display,.cs-h1,.hero-riso-h1){font-size:34px !important;line-height:1.12 !important;letter-spacing:-.015em !important;max-width:none !important}
html[lang="zh-CN"] main :is(h1.display,.cs-h1,.hero-riso-h1){font-size:31px !important;line-height:1.3 !important;letter-spacing:.01em !important}
main :is(.h2,h2){font-size:26px !important;line-height:1.2 !important;font-weight:400 !important;letter-spacing:-.01em !important;max-width:none !important}
main .h2-md,main .sec-head .h2.h2-md{font-size:23px !important;line-height:1.3 !important}
html[lang="zh-CN"] main :is(.h2,h2){font-size:24px !important;line-height:1.4 !important;letter-spacing:.01em !important}
html[lang="zh-CN"] main .h2-md{font-size:21px !important;line-height:1.5 !important}
main h3{font-size:19px !important;line-height:1.3 !important}
/* Chinese never gets faux italic or wide tracking */
html[lang="zh-CN"] :is(em,i,.rh,cite){font-style:normal !important}
html[lang="zh-CN"] :is(.eyebrow,.pc-facts b,.cf-date,.prog-k,.gm-lab,.dlab,.hp-cf-k){letter-spacing:.04em !important}
/* labels: never below 12px (13px Chinese) */
main :is(.pc-facts b,.pp-glance b,.zl-spec-row b,.cf-date,.gm-lab,.hp-cf-k,.pc-sel-count){font-size:12px !important}
html[lang="zh-CN"] main :is(.pc-facts b,.pp-glance b,.zl-spec-row b,.cf-date,.gm-lab,.hp-cf-k,.pc-sel-count){font-size:13px !important}
/* phone-only no-break spans added by phone.js (orphans) */
.nb{white-space:nowrap}

/* ---------- 2. Eyebrows: a chip in the hero only; plain small caps label in sections ---------- */
.hero-eyebrow-row .eyebrow{font-size:12px !important;padding:6px 11px !important;letter-spacing:.12em !important}
html[lang="zh-CN"] .hero-eyebrow-row .eyebrow{font-size:13px !important;letter-spacing:.06em !important}
main section:not(.hero):not(.hero-riso) .sec-head .eyebrow,
main section:not(.hero):not(.hero-riso) > .container > .eyebrow{
  background:none !important;color:var(--ph-blue2) !important;box-shadow:none !important;padding:0 !important;
  font:600 12.5px/1.2 'Geist',system-ui,sans-serif !important;letter-spacing:.14em !important;text-transform:uppercase}
main section:not(.hero) .sec-head .eyebrow::before,main section:not(.hero) .sec-head .eyebrow::after{display:none !important}
html[lang="zh-CN"] main section:not(.hero) .sec-head .eyebrow{font-size:13.5px !important;letter-spacing:.06em !important}

/* ---------- 3. Spacing ---------- */
.container{padding-left:var(--ph-gut) !important;padding-right:var(--ph-gut) !important}
main section.zl-section,main section.zl-section-md,main section.pc-sec{padding-top:var(--ph-sec) !important;padding-bottom:var(--ph-sec) !important}
/* section heads read like iOS large titles: left-aligned */
main section:not(.hero):not(.hero-riso) .sec-head{text-align:left !important;margin-left:0 !important;margin-right:0 !important;max-width:none !important}
main section:not(.hero):not(.hero-riso) .sec-head :is(h2,.h2,p){text-align:left !important;margin-left:0 !important;margin-right:0 !important}
main section:not(.hero):not(.hero-riso) .sec-head{margin-bottom:24px !important}
main section:not(.hero):not(.hero-riso) .sec-head{justify-items:start !important;align-items:start !important}
main section:not(.hero):not(.hero-riso) .sec-head > .eyebrow{justify-self:start !important;align-self:start !important;margin-left:0 !important;margin-right:0 !important}
/* Chinese source text carries desktop-tuned no-break spans; on phones they force bad breaks (phone.js handles orphans) */
html[lang="zh-CN"] main span[style*="nowrap"]{white-space:normal !important}

/* ---------- 4. Press states + tap targets ---------- */
a,button,summary,[role=button],label{-webkit-tap-highlight-color:transparent}
.btn{transition:transform .12s ease,opacity .12s ease}
.btn:active{transform:scale(.98);opacity:.88}
:is(.ph-row,.faq summary,.nav-links a,.nav-dd-btn):active{background:rgba(34,69,138,.07)}
a:not(.btn):active{opacity:.7}

/* ---------- 5. Nav: 56px bar, compact language chip, hides on scroll down ---------- */
.nav{transition:transform .25s ease,background-color .2s}
html.ph-nav-hide:not(.nav-open) .nav{transform:translateY(-100%)}
.nav .nav-inner{min-height:var(--ph-nav) !important;height:var(--ph-nav) !important;padding:6px var(--ph-gut) !important;padding-top:max(6px,env(safe-area-inset-top)) !important}
.nav .nav-brand{display:flex;align-items:center;min-height:44px}
.nav .nav-lockup{height:20px !important;width:auto !important}
.nav .lang-switch{background:none !important;padding:0 !important;height:44px !important;width:auto !important;gap:0 !important;box-shadow:none !important;border:0 !important}
.nav .lang-switch a.lang-active{display:none !important}
.nav .lang-switch a:not(.lang-active){display:inline-flex !important;align-items:center;justify-content:center;min-width:44px;height:44px;padding:0 4px !important;background:none !important}
.nav .lang-switch a:not(.lang-active)::after{content:"";position:absolute}
.nav .lang-switch a:not(.lang-active){position:relative;font:600 13px/1 'Geist',system-ui,sans-serif !important;color:var(--ph-ink) !important;letter-spacing:.04em !important}
.nav .lang-switch a:not(.lang-active)::before{content:"";position:absolute;inset:8px -4px;border:1px solid rgba(11,26,74,.22);border-radius:999px}
.nav .nav-toggle{width:44px !important;height:44px !important}

/* ---------- 6. Heroes: short, one primary pill, facts as a grouped list ---------- */
main section.hero.hero-pad-md{min-height:0 !important;padding:calc(var(--ph-nav) + 36px) 0 40px !important}
main section.hero .hero-copy{text-align:center}
main section.hero .cs-h1,main section.hero h1.display{margin-bottom:16px !important}
main section.hero .lede{max-width:34em;margin-left:auto !important;margin-right:auto !important;color:var(--ph-soft) !important}
/* two hero buttons: primary = full-width pill; secondary = quiet text link */
main :is(.pc-cta,.pp-hero-cta,.hero-cta){display:flex !important;flex-direction:column !important;align-items:stretch !important;gap:4px !important;margin-top:28px !important}
main :is(.pc-cta,.pp-hero-cta,.hero-cta) .btn{width:100% !important;max-width:none !important;justify-content:center}
main :is(.pc-cta,.pp-hero-cta,.hero-cta) .btn-primary{min-height:56px !important;border-radius:999px !important;font-size:16.5px !important;font-weight:600 !important}
main :is(.pc-cta,.pp-hero-cta,.hero-cta) .btn-ghost{min-height:48px !important;border:0 !important;background:none !important;box-shadow:none !important;font-size:16px !important;font-weight:600 !important;color:var(--ph-blue) !important;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:4px}
main :is(.pc-cta,.pp-hero-cta,.hero-cta) .btn-ghost::before,main :is(.pc-cta,.pp-hero-cta,.hero-cta) .btn-ghost::after{display:none !important}
/* at-a-glance facts: grouped label/value rows (the zero-to-launch pattern) */
main :is(.pc-facts,.pp-glance){display:block !important;margin:24px 0 0 !important;padding:0 !important;background:var(--ph-surface) !important;border:1px solid var(--ph-line) !important;border-radius:var(--ph-r) !important;overflow:hidden;text-align:left !important}
main :is(.pc-facts,.pp-glance) > li,main .pp-glance > div{display:flex !important;flex-direction:row !important;text-align:left !important;align-items:center !important;justify-content:space-between !important;gap:16px !important;min-height:52px !important;padding:10px 16px !important;margin:0 !important;border:0 !important;width:auto !important}
main :is(.pc-facts,.pp-glance) > li + li,main .pp-glance > div + div{border-top:1px solid var(--ph-line) !important}
main :is(.pc-facts,.pp-glance) > li::before,main :is(.pc-facts,.pp-glance) > li::after{display:none !important}
main :is(.pc-facts,.pp-glance) b{flex:none;margin:0 !important;color:var(--ph-muted) !important;font-weight:600 !important;text-transform:uppercase;letter-spacing:.1em !important}
main :is(.pc-facts,.pp-glance) span{margin:0 !important;text-align:right;font-size:16px !important;line-height:1.35 !important;color:var(--ph-ink) !important}
html[lang="zh-CN"] main :is(.pc-facts,.pp-glance) b{text-transform:none}

/* homepage hero: crest, headline, one line, two actions, then straight into the photos.
   No eyebrow chip on phones (user: takes space, adds little). */
body.home section.hero-riso.hero-full{min-height:0 !important;height:auto !important;padding:calc(var(--ph-nav) + 18px) 0 28px !important}
body.home .hero-riso-grid{padding:0 var(--ph-gut) !important;gap:14px !important;row-gap:14px !important;min-height:0 !important}
body.home .hero-art{margin:0 auto !important;padding:0 !important}
body.home .seal-flip,body.home .seal-card{width:116px !important;height:116px !important}
body.home .seal-card img{width:100% !important;height:auto !important}
body.home .hero-riso-copy{margin:0 !important;padding:0 !important}
body.home .hero-riso .hero-eyebrow-row{display:none !important}
body.home .hero-riso-h1{margin:0 0 14px !important}
body.home .hero-riso .hero-cta{margin-top:22px !important}
body.home .hero-riso .hero-cta .btn-ghost{min-height:44px !important;padding-top:6px !important;padding-bottom:6px !important}
body.home .hero-more{display:none !important}

/* ---------- 7. Compact footer (phone-only markup from tools/phone_markup.py) ---------- */
footer.footer{display:none !important}
.ph-foot{display:block;background:#0E1729;color:#F6F0E5;padding:36px var(--ph-gut) calc(28px + var(--ph-safe-b) + var(--ph-barh,0px))}
.ph-foot-lock{display:block;height:24px;width:auto}
.ph-foot-tag{margin:14px 0 22px;font:400 17px/1.5 'Newsreader',Georgia,serif;color:rgba(246,240,229,.82);max-width:24em}
html[lang="zh-CN"] .ph-foot-tag{font-family:'Arena Serif SC','Noto Serif SC','Songti SC',serif;font-size:16px;line-height:1.75}
.ph-foot-c{margin:22px 0 0;font:400 13px/1 'Geist',system-ui,sans-serif;color:rgba(246,240,229,.55)}

/* ---------- 8. Grouped rows (shared component) ---------- */
.ph-list{list-style:none;margin:0;padding:0;background:var(--ph-surface);border:1px solid var(--ph-line);border-radius:var(--ph-r);overflow:hidden}
.ph-list > li{margin:0;padding:0}
.ph-list > li + li{border-top:1px solid var(--ph-line)}
.ph-row{display:flex;align-items:center;gap:12px;min-height:var(--ph-row);padding:10px 14px 10px 16px;color:var(--ph-ink);text-decoration:none;font:500 16px/1.3 'Geist',system-ui,sans-serif}
.ph-row-t{flex:1;min-width:0}
.ph-row-v{color:var(--ph-muted);font-weight:400;font-size:15px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:62%}
.ph-chev{flex:none;width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;opacity:.45}
.ph-list-dark{background:rgba(246,240,229,.06);border-color:rgba(246,240,229,.12)}
.ph-list-dark > li + li{border-top-color:rgba(246,240,229,.12)}
.ph-list-dark .ph-row{color:#F6F0E5}
.ph-list-dark .ph-row-v{color:rgba(246,240,229,.6)}
.ph-list-dark .ph-row:active{background:rgba(246,240,229,.08)}

/* ---------- 9. Bottom action bar (built by phone.js from the hero's primary button) ---------- */
.ph-bar{display:block;position:fixed;left:0;right:0;bottom:0;z-index:60;padding:10px var(--ph-gut) calc(10px + var(--ph-safe-b));
  background:rgba(252,243,237,.97);border-top:1px solid var(--ph-line);transform:translateY(110%);transition:transform .25s ease;pointer-events:none}
.ph-bar.on{transform:none;pointer-events:auto}
html.nav-open .ph-bar{transform:translateY(110%)}
.ph-bar-btn{display:flex;align-items:center;justify-content:center;gap:8px;min-height:52px;border-radius:999px;background:var(--ph-blue);color:#F7F1E7 !important;
  font:600 16.5px/1 'Geist',system-ui,sans-serif;text-decoration:none}
.ph-bar-btn:active{transform:scale(.98);opacity:.9}
}

/* ==== 20-home.css ==== */
/* 20-home.css: homepage body components on phones (EN /index and CN /index-cn).
   Gallery swipe strip, grade map, programs, pillars, upcoming events, contact block.
   Grammar: grouped rows on Arena paper (surface, hairlines, 16px radius), chevrons, press states.
   The hero, team block, FAQ, final CTA, nav, footer and bottom bar belong to other partials. */
@media (max-width:760px){

/* ---------- shared: section heads left (inline mobile CSS centered them), row links ---------- */
body.home :is(.programs,.pillars,.hp-next) .sec-head{display:block !important;text-align:left !important}
body.home :is(.programs,.pillars,.hp-next) .sec-head :is(.eyebrow,.h2,.lede){margin-left:0 !important;margin-right:0 !important;text-align:left !important}
body.home :is(.programs,.pillars,.hp-next) .sec-head .eyebrow{display:block !important;width:auto !important}
html[lang="zh-CN"] body.home .pillars .sec-head .h2.h2-md{font-size:20px !important;line-height:1.6 !important}
@media (max-width:370px){
  body.home .pillars .sec-head .h2.h2-md{font-size:20.5px !important}
  html[lang="zh-CN"] body.home .pillars .sec-head .h2.h2-md{font-size:19px !important}
}
body.home .ph-arr{display:none !important}
body.home .ph-lt{flex:1;min-width:0}
/* a quiet "see more" link that ends a section: left-aligned, chevron, 48px tall */
body.home :is(.pillars-more){text-align:left !important;margin:16px 0 0 !important}
body.home :is(.pillars-more) a.tlink{display:inline-flex !important;align-items:center;gap:4px;min-height:48px;font:600 16px/1.3 var(--font-body) !important;color:var(--ph-blue) !important}
body.home :is(.pillars-more) a.tlink::after{content:none !important;display:none !important}
body.home :is(.pillars-more) .ph-chev{width:16px;height:16px;opacity:.8}

/* ---------- 1. Gallery: a native swipe strip (scroll-snap, peek of the next photo) ---------- */
body.home section.gallery-strip.gm{overflow:visible !important;padding:8px 0 0 !important}
body.home .gm .gm-track{animation:none !important;transform:none !important;width:auto !important;height:auto !important;
  display:flex !important;gap:12px !important;overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x mandatory;
  padding:0 var(--ph-gut) 4px !important;scroll-padding-inline:var(--ph-gut);scrollbar-width:none;-webkit-overflow-scrolling:touch}
body.home .gm .gm-track::-webkit-scrollbar{display:none}
body.home .gm .gm-col{display:contents !important}
body.home .gm .gm-col[aria-hidden="true"]{display:none !important}
body.home .gm .gm-t{flex:none !important;width:min(72vw,280px) !important;margin:0 !important;scroll-snap-align:start;border-radius:var(--ph-r) !important;overflow:visible !important;background:none}
body.home .gm .gm-t img,body.home .gm .gm-t video{width:100% !important;height:auto !important;aspect-ratio:4/3;object-fit:cover;border-radius:var(--ph-r);transform:none !important;background:var(--ph-sand)}
body.home .gm .gm-t figcaption{position:static !important;background:none !important;padding:10px 2px 0 !important;color:var(--ph-ink) !important;
  font:500 15.5px/1.3 var(--font-display) !important;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
body.home .gm .gm-t figcaption span{display:block;margin:0 0 3px !important;font:600 12px/1.3 var(--font-body) !important;letter-spacing:.08em !important;text-transform:uppercase;color:var(--ph-soft) !important;opacity:1 !important}
html[lang="zh-CN"] body.home .gm .gm-t figcaption{font-family:var(--font-body) !important;font-size:15px !important;line-height:1.5 !important}
html[lang="zh-CN"] body.home .gm .gm-t figcaption span{font-size:13px !important;letter-spacing:.04em !important}

/* ---------- 2. Programs: one grouped card per audience; links are 56px rows with chevrons ---------- */
body.home #programs .prog-grid.prog-grid-4{display:flex !important;flex-direction:column;gap:16px !important}
body.home #programs .prog-grid .prog-card{display:grid !important;grid-template-columns:72px minmax(0,1fr);column-gap:12px !important;row-gap:0 !important;align-items:center;
  padding:0 !important;background:var(--ph-surface) !important;border:1px solid var(--ph-line) !important;border-radius:var(--ph-r) !important;box-shadow:none !important;transform:none !important;overflow:hidden}
body.home #programs .prog-grid .prog-card > *{margin:0 !important}
body.home #programs .prog-grid .prog-card .prog-ph{grid-column:1;grid-row:1 / span 2;width:56px !important;height:56px !important;margin:16px 0 0 16px !important;border:0 !important;border-radius:12px;overflow:hidden;align-self:start}
body.home #programs .prog-grid .prog-card .prog-ph img{transform:none !important}
body.home #programs .prog-grid .prog-card > .eyebrow{grid-column:2;grid-row:1;align-self:end;margin:16px 16px 0 0 !important;font:600 12px/1.3 var(--font-body) !important;letter-spacing:.1em !important;color:var(--coral-deep) !important}
html[lang="zh-CN"] body.home #programs .prog-grid .prog-card > .eyebrow{font-size:13px !important;letter-spacing:.04em !important}
body.home #programs .prog-grid .prog-card .prog-h{grid-column:2;grid-row:2;align-self:start;margin:4px 16px 0 0 !important;font-size:21px !important;line-height:1.25 !important;color:var(--ph-ink)}
body.home #programs .prog-grid .prog-card .prog-p{grid-column:1 / -1;margin:12px 16px 16px !important;font-size:15.5px !important;line-height:1.55 !important;color:var(--ph-soft) !important}
html[lang="zh-CN"] body.home #programs .prog-grid .prog-card .prog-p{line-height:1.75 !important}
body.home #programs .prog-grid .prog-card .prog-links{grid-column:1 / -1;display:block !important;margin:0 !important;padding:0 !important;border-top:1px solid var(--ph-line) !important;min-height:0 !important}
body.home #programs .prog-links a.tlink{display:flex !important;align-items:center;gap:12px;min-height:var(--ph-row);padding:10px 14px 10px 16px;margin:0 !important;
  font:500 16px/1.3 var(--font-body) !important;color:var(--ph-ink) !important;text-decoration:none !important;white-space:nowrap}
body.home #programs .prog-links a.tlink + a.tlink{border-top:1px solid var(--ph-line)}
body.home #programs .prog-links a.tlink::after{content:none !important;display:none !important}
body.home #programs .prog-links a.tlink:active{background:rgba(34,69,138,.07);opacity:1}
body.home #programs .prog-links a.tlink.on{text-decoration:none !important}

/* ---------- 3. Grade map: one grouped list; each program row carries its own bar on a shared scale ---------- */
body.home #programs .gmap{--cols:9;margin-top:40px !important;padding:0 !important;border:0 !important}
body.home #programs .gmap .gm-head{display:block !important;margin:0 0 14px !important}
body.home #programs .gmap .gm-k{display:block;font:600 12.5px/1.2 var(--font-body) !important;letter-spacing:.14em !important;text-transform:uppercase;color:var(--ph-blue2) !important}
html[lang="zh-CN"] body.home #programs .gmap .gm-k{font-size:13.5px !important;letter-spacing:.06em !important}
body.home #programs .gmap .gm-note{display:block;margin-top:8px;font-size:16px !important;line-height:1.5;color:var(--ph-soft) !important}
/* the box: axis on top, then the lanes as rows */
body.home #programs .gmap .gm-axis,body.home #programs .gmap .gm-lanes{background:var(--ph-surface) !important;border:1px solid var(--ph-line)}
body.home #programs .gmap .gm-axis{grid-template-columns:repeat(7,minmax(0,1fr)) minmax(0,1.7fr) 22px !important;row-gap:8px !important;
  padding:14px 14px 10px 16px;border-radius:var(--ph-r) var(--ph-r) 0 0;border-bottom:0}
body.home #programs .gmap .gm-stage{grid-row:1;padding-top:8px !important;margin-right:4px !important;border-top-width:2px !important;
  font:600 12px/1.2 var(--font-body) !important;letter-spacing:0 !important;text-transform:none !important;white-space:nowrap !important}
html[lang="zh-CN"] body.home #programs .gmap .gm-stage{font-size:13px !important}
/* "After high school" shares its column with "College": the phone axis keeps the one word that fits (see WORDING-home.md) */
html body.home #programs .gmap .gm-stage.gm-col{text-indent:300%;overflow:hidden;margin-right:0 !important}
body.home #programs .gmap .gm-axis > span:last-child{grid-row:1 !important;grid-column:8 !important;align-self:start;padding:10px 0 0 !important;
  font:600 12px/1.2 var(--font-body) !important;letter-spacing:0 !important;text-transform:none !important;color:var(--ph-soft) !important;white-space:nowrap}
html[lang="zh-CN"] body.home #programs .gmap .gm-axis > span:last-child{font-size:13px !important}
body.home #programs .gmap .gm-axis > span:not(.gm-stage):not(:last-child){grid-row:2;font:400 16px/1 var(--font-display) !important;color:var(--ph-ink);padding-left:2px !important}
body.home #programs .gmap .gm-lanes{display:block !important;margin:0 !important;border-radius:0 0 var(--ph-r) var(--ph-r);overflow:hidden;
  background-image:none !important;border-top:1px solid var(--ph-line)}
body.home #programs .gmap .gm-lane{display:grid !important;grid-template-columns:repeat(7,minmax(0,1fr)) minmax(0,1.7fr) 22px !important;grid-template-rows:auto 24px !important;
  row-gap:8px !important;align-items:center;min-height:0 !important;padding:12px 14px 14px 16px !important;border-radius:0 !important;color:var(--ph-ink) !important;transform:none !important;order:0 !important}
body.home #programs .gmap .gm-lane + .gm-lane{border-top:1px solid var(--ph-line) !important}
body.home #programs .gmap .gm-lane:active{background:rgba(34,69,138,.07)}
body.home #programs .gmap .gm-lab{display:contents !important}
body.home #programs .gmap .gm-lab b{grid-row:1;grid-column:1 / 9;font:500 16px/1.3 var(--font-body) !important;color:var(--ph-ink) !important;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;opacity:1 !important}
body.home #programs .gmap .gm-lab em{display:none !important}
body.home #programs .gmap .gm-chev{grid-row:1 / 3;grid-column:9;justify-self:end;color:var(--ph-ink)}
body.home #programs .gmap .gm-bar{grid-row:2 !important;grid-column:var(--s) / var(--e) !important;height:24px !important;margin-right:3px !important;border-radius:999px;box-shadow:none !important;filter:none !important}
body.home #programs .gmap .gm-lane[data-prog="bootcamp"] .gm-bar{margin-right:0 !important}
body.home #programs .gmap .gm-lane.is-short .gm-bar::after{display:none !important}
/* grade range: inside the bar when it fits, else in the empty columns left of the bar */
body.home #programs .gmap .gm-lab small{grid-row:2;grid-column:var(--s) / var(--e);z-index:1;justify-self:start;padding:0 0 0 10px !important;
  font:600 12.5px/1 var(--font-body) !important;letter-spacing:.02em !important;text-transform:none !important;color:#FCF3ED !important;opacity:1 !important;white-space:nowrap;transition:none !important}
html[lang="zh-CN"] body.home #programs .gmap .gm-lab small{font-size:13px !important;letter-spacing:.04em !important}
body.home #programs .gmap .gm-lane:is([data-prog="portfolio"],[data-prog="bootcamp"]) .gm-lab small{grid-column:1 / var(--s);justify-self:end;padding:0 10px 0 0 !important;color:var(--ph-soft) !important;order:0 !important}
body.home #programs .gmap .gm-lane:not([data-prog="portfolio"]):not([data-prog="bootcamp"]) .gm-lab small{justify-self:stretch;align-self:stretch;display:flex;align-items:center;margin-right:3px;border-radius:999px;
  background:linear-gradient(90deg,#26468F,#0B1A4A) !important}
/* no spotlight on phones: every lane stays full and in place */
body.home #programs .gmap.has-focus .gm-lane:not(.is-focus) .gm-bar{height:24px !important;background:linear-gradient(90deg,#26468F,#0B1A4A) !important}
body.home #programs .gmap.has-focus .gm-lane[data-prog="bootcamp"]:not(.is-focus) .gm-bar{background:linear-gradient(90deg,#E59375,#C4674A) !important}
body.home #programs .gmap.has-focus .gm-lane:not(.is-focus) .gm-lab,body.home #programs .gmap.has-focus .gm-lane:not(.is-focus) .gm-lab *{opacity:1 !important}
/* "Bringing Arena to your school?": one row under the map */
body.home #programs .gm-partner{position:relative;display:flex;flex-direction:column;justify-content:center;gap:2px;margin:16px 0 0 !important;padding:12px 44px 12px 16px;min-height:68px;
  background:var(--ph-surface);border:1px solid var(--ph-line);border-radius:var(--ph-r);text-align:left !important;font-size:15.5px !important;line-height:1.4 !important;color:var(--ph-soft) !important}
html[lang="zh-CN"] body.home #programs .gm-partner{line-height:1.7 !important}
body.home #programs .gm-partner a.tlink{position:static !important;display:block !important;min-height:0 !important;font:600 16px/1.35 var(--font-body) !important;color:var(--ph-blue) !important}
body.home #programs .gm-partner a.tlink::after{content:"" !important;display:block !important;position:absolute !important;inset:0 !important;transform:none !important;background:none !important;height:auto !important;width:auto !important;border-radius:var(--ph-r)}
body.home #programs .gm-partner a.tlink:active{opacity:1}
body.home #programs .gm-partner:active{background:#F3EBE1}
body.home #programs .gm-partner .ph-chev{position:absolute;right:14px;top:50%;margin-top:-9px;color:var(--ph-ink)}

/* ---------- 4. Pillars: three rows in one group; each links to its section of /approach (no expanding on phones) ---------- */
body.home .pillars .prog-grid.pillar-row{display:block !important;background:var(--ph-surface);border:1px solid var(--ph-line);border-radius:var(--ph-r);overflow:hidden}
body.home .pillars .pillar-row .pillar-card{color:var(--ph-ink) !important;text-decoration:none !important;display:grid !important;grid-template-columns:22px minmax(0,1fr) 20px;column-gap:8px;align-items:center;width:100%;min-height:72px;
  padding:14px 14px 14px 16px !important;margin:0 !important;background:none !important;border:0 !important;border-radius:0 !important;box-shadow:none !important;transform:none !important;opacity:1 !important;text-align:left}
body.home .pillars .prog-grid.pillar-row > .pillar-card + .pillar-card{border-top:1px solid var(--ph-line) !important}
body.home .pillars .pillar-row .pillar-card:active{background:rgba(34,69,138,.07) !important}
body.home .pillars .pl-num{grid-column:1;grid-row:1;align-self:center;margin:0 !important;font:600 13px/1 var(--font-display) !important;letter-spacing:.04em !important;color:var(--coral-deep)}
body.home .pillars .pillar-row .prog-h{grid-column:2;grid-row:1;margin:0 !important;font:500 21px/1.25 var(--font-display) !important}
body.home .pillars .pillar-row .pillar-tag{grid-column:1 / 3;grid-row:2;margin:2px 0 0 !important;padding:0 !important;font-size:15px !important;line-height:1.45 !important;color:var(--ph-soft);text-wrap:pretty !important}
html[lang="zh-CN"] body.home .pillars .pillar-row .pillar-tag{line-height:1.7 !important}
body.home .pillars .pillar-card .ph-chev{grid-column:3;grid-row:1 / 3;justify-self:end;color:var(--ph-ink)}
body.home .pillars .pillar-row .pillar-card .pl-sr{position:absolute !important}
/* no expanding panel on phones (user: long expansions take over the screen); the rows lead to /approach */
body.home .pillars .pl-panel{display:none !important}

/* ---------- 5. Upcoming events: each event is one tappable row in a group ---------- */
body.home .hp-next{padding-bottom:var(--ph-sec) !important}
body.home .hp-next .cf-evs{background:var(--ph-surface);border:1px solid var(--ph-line) !important;border-radius:var(--ph-r);overflow:hidden}
body.home .hp-next .cf-ev{position:relative;display:grid !important;grid-template-columns:minmax(0,1fr) 22px !important;gap:0 10px !important;align-items:center !important;
  padding:16px 14px 16px 16px !important;border:0 !important;margin:0 !important}
body.home .hp-next .cf-ev + .cf-ev{border-top:1px solid var(--ph-line) !important}
body.home .hp-next .cf-ev::before{content:none !important;display:none !important}
body.home .hp-next .cf-ev:active{background:rgba(34,69,138,.07)}
body.home .hp-next .cf-date{grid-column:1;grid-row:1;display:flex !important;flex-wrap:wrap;align-items:baseline;gap:2px 8px;padding:0 !important;margin:0 0 6px !important}
body.home .hp-next .cf-date::before{content:none !important;display:none !important}
body.home .hp-next .cf-date b{display:inline !important;font:600 15px/1.4 var(--font-body) !important;color:var(--ph-blue) !important;white-space:nowrap}
body.home .hp-next .cf-date span{display:inline !important;margin:0 !important;font:500 15px/1.4 var(--font-body) !important;letter-spacing:0 !important;text-transform:none !important;color:var(--ph-soft) !important;opacity:1 !important}
body.home .hp-next .cf-date span::before{content:"·";margin-right:8px;color:var(--ph-muted)}
html[lang="zh-CN"] body.home .hp-next .cf-date :is(b,span){font-size:15px !important;letter-spacing:0 !important}
body.home .hp-next .cf-ev > div:nth-child(2){grid-column:1;grid-row:2}
body.home .hp-next .cf-ev h3{margin:0 0 4px !important;font:500 19px/1.3 var(--font-display) !important;color:var(--ph-ink) !important}
body.home .hp-next .cf-ev p{margin:0 !important;font-size:15.5px !important;line-height:1.55 !important;color:var(--ph-soft) !important}
html[lang="zh-CN"] body.home .hp-next .cf-ev p{line-height:1.75 !important}
/* the inline "Program details" link repeats the row's destination: it stays for screen readers and stretches over the whole row */
body.home .hp-next .cf-ev p .tlink{position:static !important;display:inline !important;min-height:0 !important;margin:0 !important;font-size:0 !important;line-height:0 !important}
body.home .hp-next .cf-ev p .tlink .ph-chev{display:none}
body.home .hp-next .cf-ev p .tlink::after{content:"" !important;position:absolute !important;inset:0 !important;width:auto !important;height:auto !important;background:none !important;transform:none !important;border-radius:0 !important;z-index:1}
body.home .hp-next .cf-go{grid-column:2 !important;grid-row:1 / 3 !important;width:22px !important;height:22px !important;border:0 !important;background:none !important;color:var(--ph-ink) !important;transform:none !important}

/* ---------- 6. Contact block: left-aligned head, steps and direct contacts as grouped rows, paper form ---------- */
body.home .partners#contact{padding-top:var(--ph-sec) !important;padding-bottom:var(--ph-sec) !important}
body.home .partners-grid{display:block !important}
body.home .partners-lede{text-align:left !important}
body.home .partners-lede > .eyebrow{display:block !important;margin:0 !important;background:none !important;color:var(--ph-blue2) !important;box-shadow:none !important;padding:0 !important;
  font:600 12.5px/1.2 var(--font-body) !important;letter-spacing:.14em !important;text-transform:uppercase;width:auto !important}
body.home .partners-lede > .eyebrow::before,body.home .partners-lede > .eyebrow::after{display:none !important}
html[lang="zh-CN"] body.home .partners-lede > .eyebrow{font-size:13.5px !important;letter-spacing:.06em !important}
body.home .partners-lede > .h2{margin:12px 0 0 !important;text-align:left !important}
body.home .partners-lede > .partners-sub{margin:12px 0 0 !important;text-align:left !important;max-width:none !important}
body.home .partners .hc-next{margin:28px 0 0 !important;padding:0 !important;border:0 !important}
body.home .partners .hc-k{margin:0 0 10px !important;font:600 12px/1.3 var(--font-body) !important;letter-spacing:.1em !important;text-transform:uppercase;color:var(--ph-soft) !important}
html[lang="zh-CN"] body.home .partners .hc-k{font-size:13px !important;letter-spacing:.04em !important}
body.home .partners .hc-steps{margin:0 !important;padding:0 !important;background:var(--ph-surface);border:1px solid var(--ph-line);border-radius:var(--ph-r);overflow:hidden}
body.home .partners .hc-steps li{display:grid !important;grid-template-columns:30px minmax(0,1fr);gap:0 10px;align-items:baseline;min-height:64px;padding:12px 16px !important;margin:0 !important;border:0 !important}
body.home .partners .hc-steps li + li{border-top:1px solid var(--ph-line) !important}
body.home .partners .hc-n{font:500 15px/1.4 var(--font-display) !important;color:var(--ph-blue2) !important}
body.home .partners .hc-steps b{display:block;font:500 16px/1.4 var(--font-body) !important;color:var(--ph-ink) !important}
body.home .partners .hc-steps li span:not(.hc-n):not(.nb):not(.ph-w){display:block;margin-top:2px;font-size:15px !important;line-height:1.45 !important;color:var(--ph-soft) !important}
body.home .partners-lede .hc-direct{display:block !important;margin:16px 0 0 !important;background:var(--ph-surface);border:1px solid var(--ph-line);border-radius:var(--ph-r);overflow:hidden}
body.home .partners-lede .hc-direct a{display:flex !important;align-items:center;gap:12px;min-height:var(--ph-row) !important;padding:10px 14px 10px 16px !important;margin:0 !important;
  font:500 16px/1.3 var(--font-body) !important;color:var(--ph-ink) !important;text-decoration:none !important}
body.home .partners-lede .hc-direct a + a{border-top:1px solid var(--ph-line)}
body.home .partners-lede .hc-direct a:active{background:rgba(34,69,138,.07);opacity:1}
body.home .partners-lede .hc-direct a > svg:not(.ph-chev){display:none !important}
html body.home .partners-lede p.partners-fine{max-width:none !important;width:auto !important;text-wrap:wrap !important;margin:12px 0 0 !important;font-size:15px !important;line-height:1.5 !important;color:var(--ph-soft) !important}
/* the form: a paper card, 16px inputs, 52px fields, a full-width 56px pill */
body.home .partner-cta{margin-top:32px !important}
body.home .partners-form.cohort-form{background:var(--ph-surface) !important;border:1px solid var(--ph-line) !important;border-radius:var(--ph-r) !important;box-shadow:none !important;padding:20px 16px !important}
body.home .partners-form .big{font-size:23px !important;line-height:1.3 !important}
body.home .partners-form .seats{margin-top:4px !important;font-size:15px !important;color:var(--ph-soft) !important}
body.home .partners-form .form-row{margin-top:18px !important}
body.home .partners-form .form-row-split{display:block !important}
body.home .partners-form .form-row-split > div + div{margin-top:18px}
body.home .partners-form label{display:block;margin:0 0 8px !important;font:600 13px/1.3 var(--font-body) !important;letter-spacing:.08em !important;color:var(--ph-soft) !important}
html[lang="zh-CN"] body.home .partners-form label{font-size:14px !important;letter-spacing:.04em !important;text-transform:none}
body.home .partners-form :is(input:not([type=hidden]),select,textarea){width:100% !important;font-size:16px !important;min-height:52px !important;border-radius:12px !important;background-color:#FFFCF8 !important;border:1px solid rgba(11,26,74,.18) !important;padding:12px 14px !important}
body.home .partners-form textarea{min-height:120px !important;line-height:1.5 !important}
body.home .partners-form .cf-submit{width:100% !important;min-height:56px !important;border-radius:999px !important;margin-top:22px !important;font-size:16.5px !important;font-weight:600 !important;justify-content:center}
}
@media (max-width:760px){
/* ---------- Who are you? doors (2026-10-16): one grouped list, 56px+ rows with a chevron ---------- */
body.home .who-row{display:block !important;margin:4px 0 28px !important}
body.home .who-k{display:block;margin:0 0 10px;font:600 13px/1.3 var(--font-body) !important;letter-spacing:.08em;text-transform:uppercase;color:var(--ph-soft)}
html[lang="zh-CN"] body.home .who-k{font-size:14px !important;letter-spacing:.04em;text-transform:none}
body.home .who-doors{display:block !important;background:var(--ph-surface);border:1px solid var(--ph-line);border-radius:var(--ph-r);overflow:hidden}
body.home .who-door{display:flex !important;flex-direction:column;justify-content:center;gap:2px;min-height:var(--ph-row);padding:12px 44px 12px 16px !important;border:0 !important;border-radius:0 !important;background:none !important;box-shadow:none !important;transform:none !important}
body.home .who-door + .who-door{border-top:1px solid var(--ph-line) !important}
body.home .who-door:active{background:rgba(11,26,74,.05) !important}
body.home .who-door b{font:500 18px/1.25 var(--font-display) !important}
body.home .who-door span{font-size:15px !important;line-height:1.45 !important}
html[lang="zh-CN"] body.home .who-door span{line-height:1.6 !important}
body.home .who-door i{right:16px !important;top:50% !important;transform:translateY(-50%) !important;font-size:17px}
}

/* ==== 30-program.css ==== */
/* 30-program.css: program-page template (main.pc) + shared components on phones (pairs with 30-program.js).
   Why rows, step timeline, proof rows, team rows (every page), FAQ (every page), closing block + one-pager
   bottom sheet (every page). Tap-only; nothing here depends on hover. */
@media (max-width:760px){

/* ---------- shared: two-line rows + group labels ---------- */
.php-list > div{margin:0;padding:0}
.php-list > div + div{border-top:1px solid var(--ph-line)}
.php-list.ph-list-dark > div + div{border-top-color:rgba(246,240,229,.12)}
.php-row{width:100%;text-align:left;border:0;background:none;font:500 16px/1.35 'Geist',system-ui,sans-serif;cursor:pointer;-webkit-appearance:none;appearance:none;box-sizing:border-box}
button.php-row{color:inherit}
.php-row:active{background:rgba(34,69,138,.07)}
.php-static{cursor:default}
.php-static:active{background:none !important}
.php-t1{display:block;color:inherit}
.php-t2{display:block;margin-top:3px;font-weight:400;font-size:15px;line-height:1.4;color:#5B6378}
html[lang="zh-CN"] .php-row{line-height:1.55}
html[lang="zh-CN"] .php-t2{line-height:1.6}
.php-k{margin:28px 0 10px !important;font:600 12.5px/1.2 'Geist',system-ui,sans-serif !important;letter-spacing:.14em !important;text-transform:uppercase;color:var(--ph-soft) !important}
html[lang="zh-CN"] .php-k{font-size:13.5px !important;letter-spacing:.06em !important;text-transform:none}

/* ---------- 1. Why it matters: full-width tappable rows ---------- */
main.pc .pc-why-grid{gap:24px !important}
main.pc .pc-why-list{border-top:1px solid var(--ph-line) !important}
main.pc .pc-why-list > li{grid-template-columns:30px minmax(0,1fr) !important;column-gap:6px !important;padding:16px 0 17px !important;border-bottom:1px solid var(--ph-line) !important;position:relative}
main.pc .pc-why-list > li::before{font-size:12px !important;line-height:26px !important;color:var(--coral-deep,#B4532A)}
main.pc .pc-why-list h3{font-size:19px !important;line-height:1.3 !important;margin:0 0 4px !important}
html[lang="zh-CN"] main.pc .pc-why-list h3{font-size:18px !important;line-height:1.45 !important}
main.pc .pc-why-list.has-wr > li{padding-right:34px !important;cursor:pointer;-webkit-tap-highlight-color:transparent}
main.pc .pc-why-list.has-wr > li:active{background:rgba(34,69,138,.05)}
/* the cue: a chevron that turns, aligned to the title's first line (replaces the round +) */
main.pc .pc-why-list.has-wr > li::after,body main.pc .has-wr:not(.cf-ideas) > li::after{
  content:"" !important;position:absolute;top:19px !important;right:4px !important;left:auto;width:20px !important;height:20px !important;border:0 !important;border-radius:0 !important;background:var(--ph-ink) !important;opacity:.45;
  -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E") center/20px 20px no-repeat;
  mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E") center/20px 20px no-repeat;
  transition:transform .25s ease;font-size:0 !important}
main.pc .pc-why-list.has-wr > li.wr-open::after{transform:rotate(180deg)}
/* a reveal that repeats the next section is dropped: no cue, no tap */
main.pc .pc-why-list.has-wr > li.php-nowr{padding-right:0 !important;cursor:default}
main.pc .pc-why-list.has-wr > li.php-nowr::after,main.pc .pc-why-list > li.php-nowr > .wr{display:none !important}
main.pc .pc-why-list.has-wr > li.php-nowr:active{background:none}
main.pc .pc-why-list.has-wr > li > .wr{margin-right:-34px !important}
/* reveal visuals: static, whole, readable */
main.pc .pc-why-list > li > .wr{padding-top:0 !important}
main.pc .wr-in > *{margin-top:12px !important}
main.pc .wr-marq{-webkit-mask-image:none !important;mask-image:none !important;overflow:visible !important}
main.pc .wr-track{animation:none !important;width:auto !important;flex-wrap:wrap;gap:8px}
main.pc .wr-dup{display:none !important}
main.pc .wr-marq,main.pc .wr-track{padding:0 !important;margin-left:0 !important}
main.pc .wr-track{gap:6px !important}
main.pc .wr-tool{margin:0 !important;gap:6px !important;font-size:14px !important;line-height:1.2 !important;padding:5px 11px 5px 7px !important;background:var(--ph-surface) !important;border:1px solid var(--ph-line) !important}
main.pc .wr-tool img{width:16px !important;height:16px !important}
main.pc .wr-idx{padding-top:12px !important;row-gap:6px !important}
main.pc .wr-idx li{font-size:15px !important}
main.pc .wr-idx li + li::before{margin:0 10px !important}
main.pc .pc-why-extra{margin:14px 0 0 !important;font-size:15px !important;line-height:1.55 !important;color:var(--ph-soft) !important}
html[lang="zh-CN"] main.pc .pc-why-extra{line-height:1.75 !important}

/* ---------- 2. How it runs: a still vertical timeline, every step at full contrast ---------- */
main.pc .pc-sel-stage,main.pc .pc-sel-pp,main.pc .pc-sel-bar{display:none !important}
main.pc .pc-sel{display:block !important}
main.pc .pc-sel-list{display:flex !important;flex-direction:column !important;gap:0 !important;margin:0 !important;padding:0 !important;overflow:visible !important;border:0 !important}
main.pc .pc-sel-list > li{padding-left:28px !important;position:relative}
main.pc .pc-sel-list > li::before{left:5px !important;width:1.5px !important;background:rgba(34,69,138,.28) !important;top:0 !important;bottom:0 !important;height:auto !important}
main.pc .pc-sel-list > li:first-child::before{top:18px !important}
main.pc .pc-sel-list > li:last-child::before{bottom:auto !important;height:18px !important}
main.pc .pc-sel-list > li::after,main.pc .pc-sel-list > li:has(.is-on)::after{left:0 !important;top:12px !important;width:12px !important;height:12px !important;background:var(--ph-paper) !important;box-shadow:inset 0 0 0 2px var(--ph-blue2) !important}
main.pc .pc-sel-tab,main.pc .pc-sel-5 .pc-sel-tab,main.pc .pc-sel-3 .pc-sel-tab,main.pc .pc-sel-tab.is-on{
  pointer-events:none;display:flex !important;flex-direction:column;gap:3px !important;padding:6px 0 22px !important;margin:0 !important;border:0 !important;border-radius:0 !important;background:none !important;box-shadow:none !important;text-align:left;width:100%}
main.pc .pc-sel-list > li:last-child .pc-sel-tab{padding-bottom:0 !important}
main.pc .pc-sel-tab .pc-step-k,main.pc .pc-sel-tab .pc-step-k b{font-size:12px !important;white-space:nowrap;color:var(--ph-soft) !important;opacity:1 !important}
main.pc .pc-sel-tab .pc-step-k b{color:#9A3F1D !important}
html[lang="zh-CN"] main.pc .pc-sel-tab .pc-step-k,html[lang="zh-CN"] main.pc .pc-sel-tab .pc-step-k b{font-size:13px !important}
main.pc .pc-sel-h,main.pc .pc-sel-5 .pc-sel-h,main.pc .pc-sel-3 .pc-sel-h{font-size:19px !important;line-height:1.3 !important;color:var(--ph-ink) !important}
main.pc .pc-sel-p,main.pc .pc-sel-5 .pc-sel-p,main.pc .pc-sel-3 .pc-sel-p{font-size:15.5px !important;line-height:1.55 !important;color:var(--ph-soft) !important;max-width:none !important}
html[lang="zh-CN"] main.pc .pc-sel-h{font-size:18px !important;line-height:1.45 !important}
html[lang="zh-CN"] main.pc .pc-sel-p{line-height:1.75 !important}
main.pc .pc-how .pc-note{margin-top:20px !important;text-align:left !important;font-size:15.5px !important;color:var(--ph-soft) !important}

/* ---------- 3. Proof: one short grouped list ---------- */
main section.pc-proof.php-empty{display:none !important}
main section.pc-proof.php-proof{padding:var(--ph-sec) 0 !important}
main .pc-proof.php-proof .pc-proof-head{display:flex !important;justify-content:flex-start !important;text-align:left !important;margin:0 0 12px !important}
main .pc-proof.php-proof .pc-proof-head .eyebrow{background:none !important;color:var(--ph-blue2) !important;box-shadow:none !important;padding:0 !important;border:0 !important;
  font:600 13px/1.2 'Geist',system-ui,sans-serif !important;letter-spacing:.14em !important;text-transform:uppercase;margin:0 !important}
main .pc-proof.php-proof .pc-proof-head .eyebrow::before,main .pc-proof.php-proof .pc-proof-head .eyebrow::after{display:none !important}
html[lang="zh-CN"] main .pc-proof.php-proof .pc-proof-head .eyebrow{font-size:13.5px !important;letter-spacing:.06em !important}
main .pc-proof.php-proof :is(.pc-stats,.pc-proof-logos,.pc-proof-line,.pc-evs,.pc-notes-wrap){display:none !important}
.php-proof .php-row{min-height:60px}
.php-num{font:500 21px/1 'Newsreader',Georgia,serif;color:var(--ph-ink);margin-right:2px;letter-spacing:-.01em}
.php-proof .php-link,.php-final .php-link{color:var(--ph-blue)}
.php-proof .php-link .php-t1{font-weight:600}
.php-notes .php-k{margin-top:24px !important}

/* ---------- 4. Team: two founder rows + one static logo wrap ---------- */
main section.hp-cred.php-teamsec{padding:var(--ph-sec) 0 !important}
.php-teamsec .hp-cred-head{text-align:left !important;margin:0 0 20px !important;max-width:none !important}
.php-teamsec .hp-cred-head .eyebrow{display:block;width:auto;background:none !important;color:var(--ph-blue2) !important;box-shadow:none !important;padding:0 !important;border:0 !important;margin:0 0 12px !important;
  font:600 12.5px/1.2 'Geist',system-ui,sans-serif !important;letter-spacing:.14em !important;text-transform:uppercase}
.php-teamsec .hp-cred-head .eyebrow::before,.php-teamsec .hp-cred-head .eyebrow::after{display:none !important}
html[lang="zh-CN"] .php-teamsec .hp-cred-head .eyebrow{font-size:13.5px !important;letter-spacing:.06em !important}
.php-teamsec .hp-cred-head :is(h2,.h2){text-align:left !important;margin:0 !important}
.php-teamsec .hp-cred-head .lede,.php-teamsec .hp-cred-grid,.php-teamsec .hp-cf{display:none !important}
.php-person{min-height:64px;padding-top:12px;padding-bottom:12px}
.php-ava{flex:none;width:40px;height:40px;border-radius:50%;object-fit:cover;object-position:50% 20%;box-shadow:0 0 0 1px var(--ph-line)}
.php-person .php-t1{font:500 18px/1.2 'Newsreader',Georgia,serif;color:var(--ph-ink)}
html[lang="zh-CN"] .php-person .php-t1{font-family:'Arena Serif SC','Noto Serif SC','Songti SC',serif;font-size:17px}
.php-person .php-t2{margin-top:2px}
.php-logos{margin:24px calc(-1 * var(--ph-gut)) 0;overflow:hidden}
.php-logos-track{display:flex;width:max-content;animation:phpLogos 38s linear infinite}
.php-logos-set{display:flex;align-items:center;gap:34px;padding-right:34px;height:32px}
.php-logos-set img{display:block;flex:none;width:auto;max-width:none}
@keyframes phpLogos{to{transform:translateX(-50%)}}
@media (prefers-reduced-motion:reduce){.php-logos{overflow-x:auto;scrollbar-width:none}.php-logos-track{animation:none;padding:0 var(--ph-gut)}.php-logos-set[aria-hidden]{display:none}}

/* ---------- 5. FAQ (every page): one grouped container, the whole row toggles ---------- */
main :is(.pc-faq-wrap,.pp-faq-wrap){gap:0 !important;row-gap:0 !important}
main .faq{display:block !important;background:var(--ph-surface) !important;border:1px solid var(--ph-line) !important;border-radius:var(--ph-r) !important;overflow:hidden;gap:0 !important;max-width:none !important}
main .faq .faq-item{border:0 !important;border-radius:0 !important;padding:0 !important;margin:0 !important;background:none !important;box-shadow:none !important;transform:none !important}
main .faq .faq-item + .faq-item{border-top:1px solid var(--ph-line) !important}
main .faq .faq-item summary{display:flex !important;align-items:center !important;gap:12px !important;min-height:var(--ph-row) !important;padding:14px 14px 14px 16px !important;margin:0 !important;box-sizing:border-box}
main .faq .faq-item summary:active{background:rgba(34,69,138,.07)}
main .faq .faq-q{flex:1;min-width:0;font:500 16px/1.4 'Geist',system-ui,sans-serif !important;color:var(--ph-ink) !important;text-align:left}
html[lang="zh-CN"] main .faq .faq-q{line-height:1.6 !important;letter-spacing:0 !important}
main .faq .faq-toggle{flex:none;width:20px !important;height:20px !important;font-size:0 !important;color:transparent !important;background:var(--ph-ink) !important;opacity:.45;border:0 !important;border-radius:0 !important;
  -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E") center/20px 20px no-repeat;
  mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E") center/20px 20px no-repeat;
  transform:none !important;transition:transform .25s ease !important}
main .faq .faq-toggle::before,main .faq .faq-toggle::after{display:none !important}
main .faq .faq-item[open] .faq-toggle{transform:rotate(180deg) !important}
main .faq .faq-a{margin:0 !important;padding:0 16px 18px !important;border:0 !important;font-size:15.5px !important;line-height:1.6 !important;color:var(--ph-soft) !important;max-width:none !important}
html[lang="zh-CN"] main .faq .faq-a{line-height:1.75 !important}
main .faq .faq-item[open] summary{padding-bottom:8px !important}

/* ---------- 6. Closing (every page): heading, one line, one pill, grouped rows ---------- */
main section.pp-final{padding:var(--ph-sec) 0 calc(var(--ph-sec) + 4px) !important}
main .pp-final :is(.pp-final-top,.pc-final-pair){display:block !important;margin:0 !important;gap:0 !important;padding:0 !important;border:0 !important}
main .pp-final :is(.pp-final-top,.pc-final-pair) > div:first-child{text-align:left !important}
main .pp-final :is(.pp-final-top,.pc-final-pair) .eyebrow{display:block;width:auto;margin:0 0 12px !important;background:none !important;box-shadow:none !important;padding:0 !important;border:0 !important;color:rgba(246,240,229,.72) !important;
  font:600 12.5px/1.2 'Geist',system-ui,sans-serif !important;letter-spacing:.14em !important;text-transform:uppercase}
main .pp-final :is(.pp-final-top,.pc-final-pair) .eyebrow::before,main .pp-final :is(.pp-final-top,.pc-final-pair) .eyebrow::after{display:none !important}
html[lang="zh-CN"] main .pp-final :is(.pp-final-top,.pc-final-pair) .eyebrow{font-size:13.5px !important;letter-spacing:.06em !important}
main .pp-final :is(h2,.h2){text-align:left !important;margin:0 0 10px !important}
main .pp-final .pp-close-sub{text-align:left !important;margin:0 !important;max-width:none !important;font-size:16px !important;line-height:1.55 !important;color:rgba(246,240,229,.78) !important}
html[lang="zh-CN"] main .pp-final .pp-close-sub{line-height:1.75 !important}
main .pp-final .pp-close-cta{display:flex !important;flex-direction:column !important;align-items:stretch !important;gap:0 !important;margin:24px 0 0 !important}
main .pp-final .pp-close-cta .btn-primary{width:100% !important;min-height:56px !important;border-radius:999px !important;justify-content:center;margin:0 !important;font-size:16.5px !important;font-weight:600 !important;white-space:nowrap}
main .pp-final .pp-close-cta .btn-primary .arr{display:none}
/* secondary buttons, parent line, formats, one-pager, all programs: now rows (JS) */
main .pp-final.php-closing .pp-close-cta .btn:not(.btn-primary),
main .pp-final.php-closing :is(.pp-close-parent,.pp-final-grid:not(.pc-final-pair),.pp-final-all){display:none !important}
main .pp-final:not(.php-closing) .pp-close-cta .btn:not(.btn-primary){min-height:48px;background:none !important;border:0 !important;box-shadow:none !important}
/* the closing photo is decorative: hidden on phones everywhere */
main .pp-final .pp-close-photo{display:none !important}
.php-final{margin-top:24px}
.php-final .ph-list + .php-k{margin-top:26px !important}
.php-final .php-k{color:rgba(246,240,229,.6) !important}
.php-final .php-t2{color:rgba(246,240,229,.62)}
.php-final .php-row{color:#F6F0E5}
.php-final .php-static .php-t1{font-weight:500}

/* ---------- 7. One-pager bottom sheet (the page's own form, moved in) ---------- */
html.php-lock,html.php-lock body{overflow:hidden !important}
.php-sheet{position:fixed;inset:0;z-index:1000}
.php-sheet[hidden]{display:none}
.php-sheet-bg{position:absolute;inset:0;background:rgba(11,26,74,.42);opacity:0;transition:opacity .28s ease}
.php-sheet.on .php-sheet-bg{opacity:1}
.php-sheet-panel{position:absolute;left:0;right:0;bottom:0;max-height:calc(100% - 44px);overflow-y:auto;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;
  background:var(--ph-paper);border-radius:20px 20px 0 0;padding:0 var(--ph-gut) calc(20px + var(--ph-safe-b));box-shadow:0 -10px 40px rgba(11,26,74,.22);
  transform:translateY(100%);transition:transform .3s cubic-bezier(.2,.8,.2,1);outline:none;color:var(--ph-ink)}
.php-sheet.on .php-sheet-panel{transform:none}
.php-sheet-top{position:sticky;top:0;z-index:2;display:flex;justify-content:center;align-items:center;height:36px;margin:0 calc(-1 * var(--ph-gut));background:var(--ph-paper);touch-action:none}
.php-sheet-grab{width:38px;height:5px;border-radius:3px;background:rgba(11,26,74,.2)}
.php-sheet-x{position:absolute;right:8px;top:2px;width:44px;height:44px;display:grid;place-items:center;border:0;background:none;color:var(--ph-ink);padding:0;cursor:pointer}
.php-sheet-x svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;opacity:.6}
.php-sheet .pp-lead{display:block !important;margin:0 !important;padding:4px 0 0 !important;border:0 !important;border-radius:0 !important;background:none !important;box-shadow:none !important;opacity:1 !important;transform:none !important;filter:none !important;color:var(--ph-ink)}
.php-sheet .pp-lead-top{display:grid !important;grid-template-columns:56px 1fr !important;gap:14px !important;align-items:center;margin:0 44px 18px 0 !important}
.php-sheet .pp-lead-thumb{width:56px !important;transform:none !important;box-shadow:0 2px 8px rgba(11,26,74,.15) !important}
.php-sheet .pp-lead-top h3{font-size:21px !important;line-height:1.25 !important;margin:0 0 4px !important}
.php-sheet .pp-lead-top p{font-size:15px !important;line-height:1.45 !important;color:var(--ph-soft) !important;margin:0 !important}
.php-sheet .form-row-split{display:block !important}
.php-sheet .form-row,.php-sheet .form-row-split > div{margin:0 0 12px !important}
.php-sheet .form-row label{font-size:13px !important;letter-spacing:.06em;color:var(--ph-soft) !important;margin-bottom:6px}
.php-sheet .form-row :is(input,select){min-height:50px;font-size:16px !important;border-radius:12px !important;background-color:#fff !important;border:1px solid rgba(11,26,74,.18) !important;color:var(--ph-ink)}
.php-sheet .cf-submit{width:100% !important;min-height:56px !important;border-radius:999px !important;justify-content:center;font-size:16.5px !important;font-weight:600 !important;margin-top:6px;white-space:nowrap}
.php-sheet .cf-submit .arr{display:none}
.php-sheet .cf-status:empty{display:none}
.php-sheet .pp-lead-done b{font-size:22px !important}
.php-sheet .pp-dl-row{display:flex !important;flex-direction:column !important;gap:4px !important}
.php-sheet .pp-dl-row .btn{width:100% !important;min-height:52px;justify-content:center;border-radius:999px !important;white-space:nowrap}
.php-sheet .pp-lead-note{font-size:15px !important;color:var(--ph-soft) !important}
}

/* ==== 40-special.css ==== */
/* 40-special.css: phone treatments for the three special pages' own diagrams, plus the shared
   sequence/ladder (.pg-seq) on /zero-to-launch and /mentorship. Owner: special-pages builder.
   Pages: /zero-to-launch(-cn), /mentorship(-cn) (.pg-seq only), /programs/conferences(-cn),
   /programs/website-portfolio-workshop(-cn). Phone-only: everything sits inside the media query.
   Rule from the user: nothing opens into a big panel on phones. Short lines show inline; long
   reveals are summarized in one line. */
@media (max-width:760px){

/* ======================================================================
   A. Grouped-row index (bootcamp "Why it matters" + "Outcomes")
   One paper surface, hairline rows, a small blue number, title, one line of body.
   The "Why it matters" reveal (+) is dropped on phones: its chips and logo marquee
   repeat what the week schedule and the tools list say right below.
   ====================================================================== */
body.pg-bootcamp .pg-outs{display:block !important;margin:0 !important;padding:0 !important;overflow:hidden !important;
  background:var(--ph-surface) !important;border:1px solid var(--ph-line) !important;border-radius:var(--ph-r) !important}
body.pg-bootcamp .pg-outs > li{display:grid !important;grid-template-columns:32px minmax(0,1fr);column-gap:10px;row-gap:0 !important;align-items:baseline;
  margin:0 !important;padding:16px 16px 17px !important;background:none !important;border:0 !important;border-radius:0 !important;box-shadow:none !important;cursor:auto !important}
body.pg-bootcamp .pg-outs > li + li{border-top:1px solid var(--ph-line) !important}
body.pg-bootcamp .pg-outs > li::after{display:none !important}
body.pg-bootcamp .pg-outs small{grid-row:1 / span 2;padding:0 !important;border:0 !important;font:600 15px/1.3 'Geist',system-ui,sans-serif !important;
  letter-spacing:.02em !important;color:var(--ph-blue2) !important;font-variant-numeric:tabular-nums}
body.pg-bootcamp .pg-outs b{margin:0 !important;font-size:19px !important;line-height:1.3 !important;color:var(--ph-ink) !important}
body.pg-bootcamp .pg-outs .card-p{margin:5px 0 0 !important;font-size:15.5px !important;line-height:1.55 !important;color:var(--ph-soft) !important}
html[lang="zh-CN"] body.pg-bootcamp .pg-outs .card-p{line-height:1.75 !important}
html[lang="zh-CN"] body.pg-bootcamp .pg-outs b{font-size:18px !important;line-height:1.45 !important}
body.pg-bootcamp .pg-outs > li > .wr{display:none !important}

/* ======================================================================
   B. Sequence / ladder (.pg-seq): one column, rail on the left.
   Bootcamp week = dots + "Day 1" label (CN: 第1天, set by 40-special.js).
   Mentorship milestones = numbered rungs, filled first rung.
   ====================================================================== */
main .pg-seq{display:block !important;margin:4px 0 0 !important;padding:0 !important;border:0 !important;list-style:none}
main .pg-seq > li,main .pg-seq > li + li{position:relative !important;display:block !important;margin:0 !important;
  padding:0 0 24px 40px !important;border:0 !important;min-height:0 !important}
main .pg-seq > li:last-child{padding-bottom:0 !important}
main .pg-seq > li::before{content:"" !important;display:block !important;position:absolute !important;left:7px !important;top:18px !important;bottom:-2px !important;
  width:2px !important;border-radius:1px;background:rgba(34,69,138,.2) !important}
main .pg-seq > li:last-child::before{display:none !important}
main .pg-seq b{display:block !important;margin:4px 0 0 !important;font-size:20px !important;line-height:1.28 !important;color:var(--ph-ink) !important;text-wrap:balance}
main .pg-seq p{margin:6px 0 0 !important;font-size:15.5px !important;line-height:1.55 !important;color:var(--ph-soft) !important;max-width:none !important}
html[lang="zh-CN"] main .pg-seq b{font-size:18.5px !important;line-height:1.45 !important}
html[lang="zh-CN"] main .pg-seq p{line-height:1.75 !important}
/* week: small dot + label */
body.pg-bootcamp #week .pg-seq > li::after{content:"" !important;position:absolute !important;left:0 !important;top:3px !important;width:16px !important;height:16px !important;
  border-radius:50% !important;background:transparent !important;box-shadow:inset 0 0 0 2px var(--ph-blue2) !important}
body.pg-bootcamp #week .pg-seq > li:first-child::after,body.pg-bootcamp #week .pg-seq > li:last-child::after{box-shadow:inset 0 0 0 8px var(--ph-blue2) !important}
body.pg-bootcamp #week .pg-seq small{display:block !important;padding:0 !important;font:600 15px/22px 'Geist',system-ui,sans-serif !important;letter-spacing:.01em !important;
  text-transform:none !important;color:var(--ph-blue2) !important;white-space:nowrap}
html[lang="zh-CN"] body.pg-bootcamp #week .pg-seq small{letter-spacing:.02em !important}
body.pg-bootcamp #week .pg-seq b{margin-top:2px !important}
/* milestones: numbered rungs */
#milestones .pg-seq > li,#milestones .pg-seq > li + li{padding-left:50px !important;padding-bottom:26px !important;min-height:34px !important}
#milestones .pg-seq > li:last-child{padding-bottom:0 !important}
#milestones .pg-seq > li::before{left:16px !important;top:36px !important;bottom:2px !important}
#milestones .pg-seq small{position:absolute !important;left:0 !important;top:0 !important;width:34px !important;height:34px !important;margin:0 !important;padding:0 !important;
  display:grid !important;place-items:center;border-radius:50% !important;background:var(--ph-paper) !important;box-shadow:inset 0 0 0 2px var(--ph-blue2) !important;
  font:600 15px/1 'Geist',system-ui,sans-serif !important;letter-spacing:0 !important;color:var(--ph-ink) !important;font-variant-numeric:tabular-nums}
#milestones .pg-seq > li:first-child small{background:var(--ph-blue2) !important;color:#FCF3ED !important}
#milestones .pg-seq b{margin-top:3px !important}

/* ======================================================================
   C. Bootcamp tools: one grouped surface, a section per category, tools two-up.
   ====================================================================== */
body.pg-bootcamp #week .pg-tools-k{margin:40px 0 12px !important;text-align:left !important;font:500 16px/1.5 'Geist',system-ui,sans-serif !important;
  letter-spacing:0 !important;text-transform:none !important;color:var(--ph-ink) !important;text-wrap:pretty}
html[lang="zh-CN"] body.pg-bootcamp #week .pg-tools-k{line-height:1.7 !important}
body.pg-bootcamp .zt-strip{display:block !important;overflow:hidden !important;padding:0 !important;margin:0 !important;
  background:var(--ph-surface) !important;border:1px solid var(--ph-line) !important;border-radius:var(--ph-r) !important}
body.pg-bootcamp .zt-strip .zt-col,body.pg-bootcamp .zt-strip .zt-col:last-child:nth-child(odd){display:grid !important;grid-template-columns:1fr 1fr;column-gap:12px;
  padding:13px 16px 9px !important;margin:0 !important;background:none !important;border:0 !important;border-radius:0 !important;box-shadow:none !important;min-width:0}
body.pg-bootcamp .zt-strip .zt-col + .zt-col,body.pg-bootcamp .zt-strip .zt-col + .zt-col:last-child:nth-child(odd){border-top:1px solid var(--ph-line) !important}
body.pg-bootcamp .zt-strip .zt-cat{grid-column:1 / -1 !important;margin:0 0 4px !important;padding:0 !important;border:0 !important;
  font:600 12px/1.4 'Geist',system-ui,sans-serif !important;letter-spacing:.1em !important;text-transform:uppercase;color:var(--ph-muted) !important}
html[lang="zh-CN"] body.pg-bootcamp .zt-strip .zt-cat{font-size:13px !important;letter-spacing:.04em !important}
body.pg-bootcamp .zt-strip .zt-tool{display:flex !important;align-items:center;gap:10px !important;min-height:38px;padding:0 !important;border:0 !important;min-width:0}
body.pg-bootcamp .zt-strip .zt-tool img{flex:none;width:24px !important;height:24px !important;border-radius:6px !important}
body.pg-bootcamp .zt-strip .zt-tool b{font:500 15.5px/1.2 'Geist',system-ui,sans-serif !important;color:var(--ph-ink) !important;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}

/* ======================================================================
   D. Bootcamp program facts: grouped label/value rows on paper
   ====================================================================== */
body.pg-bootcamp .pg-spec{margin-top:24px !important;overflow:hidden;background:var(--ph-surface) !important;border:1px solid var(--ph-line) !important;border-radius:var(--ph-r) !important}
body.pg-bootcamp .pg-spec .zl-spec-row{display:block !important;padding:13px 16px 14px !important;border:0 !important;background:none !important}
body.pg-bootcamp .pg-spec .zl-spec-row + .zl-spec-row{border-top:1px solid var(--ph-line) !important}
body.pg-bootcamp .pg-spec .zl-spec-label{display:block !important;padding:0 !important;margin:0 0 3px !important;background:none !important;border:0 !important;
  font:600 12px/1.4 'Geist',system-ui,sans-serif !important;letter-spacing:.1em !important;text-transform:uppercase;color:var(--ph-muted) !important}
html[lang="zh-CN"] body.pg-bootcamp .pg-spec .zl-spec-label{font-size:13px !important;letter-spacing:.04em !important}
body.pg-bootcamp .pg-spec .zl-spec-value{display:block !important;padding:0 !important;font-size:16px !important;line-height:1.5 !important;color:var(--ph-ink) !important}
html[lang="zh-CN"] body.pg-bootcamp .pg-spec .zl-spec-value{line-height:1.75 !important}

/* ======================================================================
   E. Conferences "Four formats": grouped rows with a square photo
   ====================================================================== */
main.pc-conf .pc-cards-4{display:block !important;overflow:hidden !important;margin:0 !important;padding:0 !important;
  background:var(--ph-surface) !important;border:1px solid var(--ph-line) !important;border-radius:var(--ph-r) !important}
main.pc-conf .pc-cards-4 .pc-card.pc-card-img{display:grid !important;grid-template-columns:76px minmax(0,1fr);column-gap:14px;align-items:start;
  margin:0 !important;padding:14px 16px 16px 14px !important;background:none !important;border:0 !important;border-radius:0 !important;box-shadow:none !important;min-height:0 !important}
main.pc-conf .pc-cards-4 .pc-card + .pc-card{border-top:1px solid var(--ph-line) !important}
main.pc-conf .pc-cards-4 .pc-step-img{width:76px !important;height:76px !important;min-height:0 !important;aspect-ratio:1 !important;border-radius:12px !important;margin:2px 0 0 !important}
main.pc-conf .pc-cards-4 .pc-step-img figcaption{display:none !important}
main.pc-conf .pc-cards-4 .pc-card-body{padding:0 !important}
main.pc-conf .pc-cards-4 .pc-num{display:block;font:600 12px/1.4 'Geist',system-ui,sans-serif !important;letter-spacing:.1em !important;color:var(--ph-soft) !important}
html[lang="zh-CN"] main.pc-conf .pc-cards-4 .pc-num{font-size:13px !important;letter-spacing:.04em !important}
main.pc-conf .pc-cards-4 .pc-card h3{margin:3px 0 4px !important;font-size:19px !important;line-height:1.3 !important}
main.pc-conf .pc-cards-4 .card-p{margin:0 !important;font-size:15px !important;line-height:1.5 !important;color:var(--ph-soft) !important}
html[lang="zh-CN"] main.pc-conf .pc-cards-4 .card-p{line-height:1.7 !important}

/* ======================================================================
   F. Conferences "three tracks": segmented control (built by 40-special.js) + one track at a time.
   Every idea shows its one-line description inline; no expanding rows.
   ====================================================================== */
main.pc-conf .ph-seg{display:grid;grid-auto-flow:column;grid-auto-columns:1fr;gap:2px;margin:0 0 14px;padding:3px;border-radius:14px;background:rgba(11,26,74,.07)}
main.pc-conf .ph-seg button{all:unset;box-sizing:border-box;display:flex;align-items:center;justify-content:center;min-height:44px;padding:0 6px;border-radius:11px;
  font:600 14.5px/1.1 'Geist',system-ui,sans-serif;color:var(--ph-soft);text-align:center;white-space:nowrap;cursor:pointer;-webkit-tap-highlight-color:transparent;transition:background .18s,color .18s}
main.pc-conf .ph-seg button[aria-selected="true"]{background:var(--ph-surface);color:var(--ph-ink);box-shadow:0 1px 3px rgba(11,26,74,.14),0 0 0 .5px rgba(11,26,74,.08)}
main.pc-conf .ph-seg button:active{opacity:.7}
html[lang="zh-CN"] main.pc-conf .ph-seg button{font-size:15px;letter-spacing:.02em}
main.pc-conf .cf-cols.ph-segd{display:block !important;overflow:visible !important;margin:0 !important;padding:0 !important}
main.pc-conf .cf-cols.ph-segd > .cf-col{display:none !important;padding:4px 16px 2px !important;background:var(--ph-surface) !important;margin:0 !important;
  border:1px solid var(--ph-line) !important;border-radius:var(--ph-r) !important}
main.pc-conf .cf-cols.ph-segd > .cf-col.ph-on{display:block !important}
main.pc-conf .cf-cols.ph-segd > .cf-col{width:auto !important}
main.pc-conf .cf-cols.ph-segd .cf-col h3{display:none !important}
main.pc-conf .cf-cols.ph-segd .cf-col > p{margin:12px 0 4px !important;font-size:15px !important;line-height:1.5 !important;color:var(--ph-muted) !important}
main.pc-conf .cf-ideas > li{padding:14px 0 15px !important;border-top:1px solid var(--ph-line) !important;cursor:auto !important}
main.pc-conf .cf-ideas > li b{display:block !important;font:500 16.5px/1.35 'Geist',system-ui,sans-serif !important;color:var(--ph-ink) !important}
main.pc-conf .cf-ideas > li b::after{display:none !important;content:none !important}
main.pc-conf .cf-ideas > li b .cfm-br{display:none}
main.pc-conf .cf-ideas > li > .wr{display:block !important;opacity:1 !important;padding-top:4px !important}
main.pc-conf .cf-ideas > li > .wr .wr-in{overflow:visible}
main.pc-conf .cf-ideas > li > .wr .wr-in > *{margin-top:0 !important}
main.pc-conf .cf-ideas > li .wr span{display:block;font-size:15px !important;line-height:1.5 !important;color:var(--ph-soft) !important}
html[lang="zh-CN"] main.pc-conf .cf-ideas > li .wr span{line-height:1.7 !important}
html[lang="zh-CN"] main.pc-conf .cf-ideas > li b{line-height:1.5 !important}

/* ======================================================================
   G. Portfolio sample site: a phone-sized screen in a device frame.
   Same sample site and the same tabs, chart, and video, at phone type sizes.
   Pins and region highlights go (the notes sit below, not beside, on phones).
   ====================================================================== */
.sf-sample .sf-wrap{display:block !important}
.sf-sample .sf-mock{margin:6px 6px 0 !important;padding:0 !important;max-width:none !important}
.sf-sample .sf-browser{border-radius:30px !important;overflow:hidden !important;background:#fff !important;border:0 !important;
  box-shadow:0 0 0 7px #0E1729,0 26px 44px -26px rgba(11,26,74,.55) !important}
.sf-sample .sf-pin,.sf-sample .sf-dots,.sf-sample .sf-chrome-fill{display:none !important}
.sf-sample .is-hl{outline:0 !important;box-shadow:none !important}
.sf-sample [data-hl]{outline:0 !important}
.sf-sample [data-hl]::before,.sf-sample [data-hl]::after{display:none !important}
/* address bar, Safari-style */
.sf-sample .sf-chrome{display:flex !important;justify-content:center;padding:12px 16px 8px !important;background:#F6F2EC !important;border:0 !important}
.sf-sample .sf-addr{display:flex !important;align-items:center;justify-content:center;gap:6px;width:100%;max-width:none !important;height:34px;padding:0 12px !important;
  border-radius:10px !important;background:rgba(11,26,74,.06) !important;border:0 !important;box-shadow:none !important}
.sf-sample .sf-addr-url{font:500 14px/1 'Geist',system-ui,sans-serif !important;color:var(--ph-ink) !important}
.sf-sample .sf-addr svg{width:12px;height:12px}
/* site header + tabs as a segmented control */
.sf-sample .sf-site{padding:0 !important}
.sf-sample .sf-head{display:flex !important;flex-wrap:wrap;align-items:center;gap:10px !important;padding:14px 16px 12px !important;border-bottom:1px solid #EEE7DE !important;margin:0 !important}
.sf-sample .sf-avatar{width:36px !important;height:36px !important;font-size:13px !important}
.sf-sample .sf-name{font-size:18px !important}
.sf-sample .sf-tabs{order:3;flex:1 0 100%;display:grid !important;grid-template-columns:repeat(4,1fr);gap:2px;margin:4px 0 0 !important;padding:3px !important;border-radius:12px;background:rgba(11,26,74,.07);border:0 !important}
.sf-sample .sf-tabs button{min-height:44px !important;padding:0 4px !important;margin:0 !important;border:0 !important;border-radius:9px !important;background:none !important;box-shadow:none !important;
  font:600 14px/1 'Geist',system-ui,sans-serif !important;font-style:normal !important;color:var(--ph-soft) !important;white-space:nowrap}
.sf-sample .sf-tabs button::after,.sf-sample .sf-tabs button::before{display:none !important}
.sf-sample .sf-tabs button[aria-selected="true"]{background:#fff !important;color:var(--ph-ink) !important;box-shadow:0 1px 2px rgba(11,26,74,.14) !important}
html[lang="zh-CN"] .sf-sample .sf-tabs button{font-size:15px !important}
.sf-sample .pp-panel{padding:14px 16px 16px !important;margin:0 !important}
.sf-sample .ms-kicker{display:block !important;font:600 13px/1.45 'Geist',system-ui,sans-serif !important;letter-spacing:.08em !important}
html[lang="zh-CN"] .sf-sample .ms-kicker{font-size:13.5px !important;letter-spacing:.04em !important}
/* projects: cover */
.sf-sample .sf-cover{margin:0 0 12px !important;padding:0 !important}
.sf-sample .sf-cover-frame{border-radius:14px !important;min-height:0 !important}
.sf-sample .sf-cover-copy{padding:16px !important}
.sf-sample .sf-hero-h{font-size:21px !important;line-height:1.25 !important}
html[lang="zh-CN"] .sf-sample .sf-hero-h{font-size:19px !important;line-height:1.5 !important}
/* projects: work items as rows */
.sf-sample .sf-grid{display:block !important;margin:0 0 12px !important;padding:0 !important;border:1px solid #EEE7DE !important;border-radius:14px !important;overflow:hidden}
.sf-sample .sf-grid .ms-card{display:grid !important;grid-template-columns:60px 1fr 14px;align-items:center;column-gap:12px;width:100%;min-height:76px;padding:8px 14px 8px 8px !important;margin:0 !important;
  border:0 !important;border-radius:0 !important;background:#fff !important;box-shadow:none !important;text-align:left;transform:none !important}
.sf-sample .sf-grid .ms-card + .ms-card{border-top:1px solid #EEE7DE !important}
.sf-sample .sf-grid .ms-card::after,.sf-sample .sf-grid .ms-card[data-hl]::after{content:"" !important;display:block !important;position:static !important;inset:auto !important;width:8px !important;height:8px !important;margin:0 !important;background:none !important;border:0 !important;border-radius:0 !important;box-shadow:none !important;outline:0 !important;opacity:1 !important;border-top:1.8px solid #A9A398 !important;border-right:1.8px solid #A9A398 !important;transform:rotate(45deg) !important}
.sf-sample .sf-grid .ms-card:active{background:#F7F2EC !important}
.sf-sample .sf-grid .ms-img{width:60px !important;height:60px !important;aspect-ratio:1 !important;margin:0 !important;border-radius:10px !important;overflow:hidden}
.sf-sample .sf-grid .ms-img img{width:100%;height:100%;object-fit:cover}
.sf-sample .sf-grid .ms-chip,.sf-sample .sf-grid .ms-dur{display:none !important}
.sf-sample .sf-grid .ms-play{width:26px !important;height:26px !important;font-size:11px !important}
.sf-sample .sf-grid .sf-seal-tile svg{width:44px !important;height:44px !important}
.sf-sample .sf-grid .ms-card p{margin:0 !important;padding:0 !important;font:500 16px/1.4 'Geist',system-ui,sans-serif !important;color:var(--ph-ink) !important}
html[lang="zh-CN"] .sf-sample .sf-grid .ms-card p{line-height:1.6 !important}
.sf-sample .sf-grid .ms-card p small{display:block !important;margin-top:3px !important;font:400 14px/1.4 'Geist',system-ui,sans-serif !important;letter-spacing:0 !important;text-transform:none !important;color:var(--ph-muted) !important}
/* projects: depth chart, uniform scale so labels stay readable */
.sf-sample .sf-dx{margin:0 !important;padding:14px 14px 10px !important;border-radius:14px !important}
.sf-sample .sf-dx-label{font:600 13px/1.4 'Geist',system-ui,sans-serif !important;letter-spacing:.03em !important;white-space:nowrap;margin-bottom:8px !important}
html[lang="zh-CN"] .sf-sample .sf-dx-label{font-size:13.5px !important}
.sf-sample .sf-dx-chart{position:relative;height:auto !important;padding:0 !important}
.sf-sample .sf-dx-chart .dx-chart{display:block;width:100% !important;height:auto !important;aspect-ratio:342 / 174}
.sf-sample .sf-dx-chart .dx-chart text{font-size:15px;font-family:'Geist',system-ui,sans-serif}
.sf-sample .sf-dx-read{position:static !important;display:block !important;margin:8px 0 0 !important;padding:0 !important;background:none !important;font:500 14px/1.3 'Geist',system-ui,sans-serif !important}
.sf-sample .sf-dx-read b,.sf-sample .sf-dx-read span{font-size:14px !important}
.sf-sample .pp-dx-ctl{display:grid !important;grid-template-columns:auto 1fr auto;align-items:center;gap:12px;margin:6px 0 0 !important;min-height:44px}
.sf-sample .pp-dx-ctl > b{display:none !important}
.sf-sample .pp-dx-ctl span,.sf-sample .pp-dx-ctl output{font:500 14.5px/1 'Geist',system-ui,sans-serif !important;white-space:nowrap}
.sf-sample .pp-dx-ctl input{width:100% !important;height:44px;margin:0}
/* footer of the mock */
.sf-sample .sf-foot{margin:0 !important;padding:12px 16px 16px !important;font:400 13px/1.5 'Geist',system-ui,sans-serif !important}
/* research */
.sf-sample .sf-paper-h{font-size:21px !important;line-height:1.3 !important;margin-top:6px !important}
html[lang="zh-CN"] .sf-sample .sf-paper-h{font-size:19px !important;line-height:1.5 !important}
.sf-sample .pp-facts{display:grid !important;grid-template-columns:repeat(4,1fr);gap:6px !important;margin:12px 0 !important;padding:0 !important}
.sf-sample .pp-facts li{display:flex !important;flex-direction:column;align-items:center;margin:0 !important;padding:9px 2px !important;border-radius:10px !important;font-size:12.5px !important;line-height:1.2 !important;text-align:center;white-space:nowrap}
.sf-sample .pp-facts li b{font-size:19px !important;line-height:1.2 !important}
html[lang="zh-CN"] .sf-sample .pp-facts li{font-size:13px !important}
.sf-sample .pp-paper{display:block !important}
.sf-sample .pp-abs{font-size:15.5px !important;line-height:1.55 !important;margin:0 0 10px !important}
.sf-sample .pp-finding{font-size:15px !important;line-height:1.5 !important;margin:0 0 12px !important}
.sf-sample .pp-finding span{font-size:12px !important}
.sf-sample .pp-fig{margin:0 0 12px !important}
.sf-sample .pp-fig figcaption{font-size:13px !important}
.sf-sample .pp-fig svg{display:block;width:100%;height:auto;max-height:170px}
.sf-sample .pp-fig svg text{font-size:7.2px}
.sf-sample :is(.pp-finding,.pp-now) span.nb{display:inline !important;margin:0 !important;padding:0 !important;background:none !important;border:0 !important;font:inherit !important;letter-spacing:inherit !important;text-transform:none !important;color:inherit !important}
.sf-sample .pp-fieldpics,.sf-sample .pp-fakebtn-soft{display:none !important}
.sf-sample .pp-btnrow{margin:0 0 12px !important}
.sf-sample .pp-fakebtn{font-size:14.5px !important;padding:11px 16px !important}
/* awards */
.sf-sample .sf-award-hero{display:grid !important;grid-template-columns:56px 1fr;gap:14px;align-items:start;padding:16px !important;margin:0 0 10px !important}
.sf-sample .sf-seal-lg{width:56px !important;height:56px !important}
.sf-sample .sf-seal-lg svg{width:56px !important;height:56px !important}
.sf-sample .sf-award-title{font-size:19px !important;line-height:1.3 !important}
.sf-sample .sf-award-quote{font-size:15px !important;line-height:1.5 !important}
html[lang="zh-CN"] .sf-sample .sf-award-quote,html[lang="zh-CN"] .sf-sample .sf-award-quote *{font-style:normal !important;line-height:1.7 !important}
.sf-sample .sf-award-quote small{font-size:12.5px !important}
.sf-sample .sf-award-list{margin:0 !important;padding:0 !important}
.sf-sample .sf-award-list li{display:grid !important;grid-template-columns:36px minmax(0,1fr) auto;gap:12px;align-items:center;padding:12px 14px !important;margin:0 0 8px !important;transform:none !important}
.sf-sample .sf-award-list li > span:first-child,.sf-sample .sf-award-list li > span:first-child svg{width:36px !important;height:36px !important}
.sf-sample .sf-award-list li small{display:block;line-height:1.35 !important;margin-top:2px}
.sf-sample .sf-award-list li b{font-size:15.5px !important}
.sf-sample .sf-award-list li small{font-size:13px !important}
.sf-sample .pp-award-tag{font-size:12px !important;white-space:nowrap}
/* about */
.sf-sample .pp-about2{display:block !important}
.sf-sample .pp-about2 figure{margin:0 0 12px !important}
.sf-sample .pp-about2 figure img{width:100%;height:180px !important;object-fit:cover;border-radius:12px}
.sf-sample .pp-about2 figcaption{font-size:13px !important}
.sf-sample .pp-about-lead{font-size:17px !important;line-height:1.45 !important}
.sf-sample .pp-now{font-size:15px !important;line-height:1.5 !important}
.sf-sample .pp-now span{font-size:12px !important}
/* video overlay: covers the top of the screen at a video's proportions, not the whole tall frame */
.sf-sample .pp-video{bottom:auto !important;border-radius:0 !important}
.sf-sample .pp-video-frame{flex:none !important;aspect-ratio:4 / 3}
.sf-sample .pp-video-bar{min-height:52px;padding:4px 12px 4px 4px !important}
.sf-sample .pp-video-cap{font-size:13px !important}
.sf-sample .pp-video-t{font-size:13px !important}
.sf-sample .pp-video-pp,.sf-sample .pp-video-x{min-width:44px;min-height:44px}

/* notes: "What a list can't show" as four one-line rows (no accordion panels on phones) */
.sf-sample .sf-notes{margin-top:36px !important;padding:0 !important;position:static !important;width:auto !important}
.sf-sample .sf-notes > .pc-k{display:block;margin:0 0 12px !important;font:600 12.5px/1.4 'Geist',system-ui,sans-serif !important;letter-spacing:.12em !important;color:var(--ph-blue2) !important}
html[lang="zh-CN"] .sf-sample .sf-notes > .pc-k{font-size:13.5px !important;letter-spacing:.04em !important}
.sf-sample .sf-note-list{margin:0 !important;padding:0 !important;overflow:hidden;background:var(--ph-surface) !important;border:1px solid var(--ph-line) !important;border-radius:var(--ph-r) !important}
.sf-sample .sf-note{margin:0 !important;padding:14px 16px 15px !important;border:0 !important;display:grid;grid-template-columns:30px minmax(0,1fr);column-gap:10px}
.sf-sample .sf-note + .sf-note{border-top:1px solid var(--ph-line) !important}
.sf-sample .sf-note-h{display:contents !important;pointer-events:none}
.sf-sample .sf-note-num{grid-column:1;width:auto !important;height:auto !important;background:none !important;border:0 !important;box-shadow:none !important;place-items:start !important;
  display:block !important;padding-top:1px;font:600 15px/1.3 'Geist',system-ui,sans-serif !important;color:var(--ph-blue2) !important}
.sf-sample .sf-note-title{grid-column:2;font-size:18px !important;line-height:1.3 !important;color:var(--ph-ink) !important}
html[lang="zh-CN"] .sf-sample .sf-note-title{font-size:17px !important;line-height:1.5 !important}
.sf-sample .sf-note-plus{display:none !important}
.sf-sample .sf-note-panel{grid-column:2;display:block !important;grid-template-rows:none !important;margin:0 !important;opacity:1 !important}
.sf-sample .sf-note-clip{overflow:visible !important;padding:0 !important}
.sf-sample .sf-note-in{padding:0 !important;margin:0 !important;opacity:1 !important;transform:none !important;transition:none !important;animation:none !important}
.sf-sample .sf-note-cmp{display:block !important;margin:0 !important;padding:0 !important;border:0 !important;background:none !important}
.sf-sample .sf-note-row{padding:0 !important;margin:0 !important;border:0 !important;background:none !important;box-shadow:none !important}
.sf-sample .sf-note-row-list,.sf-sample .sf-note-row-k,.sf-sample .sf-note-preview,.sf-sample .sf-note-why{display:none !important}
.sf-sample .sf-note-row-site .sf-note-row-v{display:block !important;margin:4px 0 0 !important;font:400 15.5px/1.5 'Geist',system-ui,sans-serif !important;color:var(--ph-soft) !important}
html[lang="zh-CN"] .sf-sample .sf-note-row-site .sf-note-row-v{line-height:1.75 !important}

/* more sample sites: a swipe strip of photo cards with a visible peek */
.sf-sample .pp-range{margin-top:36px !important}
.sf-sample .pp-range-head{display:block !important;margin:0 0 12px !important}
.pc .sf-sample .pp-hover-hint{display:block !important;font:600 13px/1.4 'Geist',system-ui,sans-serif !important;letter-spacing:.1em !important;text-transform:uppercase;color:var(--ph-blue2) !important}
.pc .sf-sample .pp-hover-hint::after{content:none !important;display:none !important}
html[lang="zh-CN"] .pc .sf-sample .pp-hover-hint{font-size:13.5px !important;letter-spacing:.04em !important;text-transform:none}
.sf-sample .pp-sites{display:flex !important;gap:12px !important;overflow-x:auto !important;scroll-snap-type:x mandatory;margin:0 calc(-1 * var(--ph-gut)) !important;
  padding:2px var(--ph-gut) 6px !important;scroll-padding-inline:var(--ph-gut);scrollbar-width:none;-webkit-overflow-scrolling:touch}
.sf-sample .pp-sites::-webkit-scrollbar{display:none}
.sf-sample .pp-sites > li{flex:0 0 78% !important;scroll-snap-align:start;border-radius:var(--ph-r) !important;overflow:hidden;background:var(--ph-surface) !important;
  border:1px solid var(--ph-line) !important;box-shadow:none !important;transform:none !important}
.sf-sample .pp-site-card .pp-bar{display:none !important}
.sf-sample .pp-site-frame{position:relative !important;height:auto !important;aspect-ratio:16 / 10;background:#E6DACB}
.sf-sample .pp-site-scroll{position:absolute !important;inset:0;height:100%;transform:none !important;transition:none !important}
.sf-sample .pp-site-scroll > *{display:none !important}
.sf-sample .pp-site-scroll > :is(.tm-hero,.td-fig,.tb-polaroid){display:block !important;position:absolute !important;inset:0;width:auto !important;height:auto !important;margin:0 !important;padding:0 !important;border:0 !important;transform:none !important;box-shadow:none !important;background:none !important}
.sf-sample .pp-site-scroll > :is(.tm-hero,.td-fig,.tb-polaroid) > :not(img){display:none !important}
.sf-sample .pp-site-scroll > :is(.tm-hero,.td-fig,.tb-polaroid) img{display:block;width:100% !important;height:100% !important;object-fit:cover;border-radius:0 !important;filter:none !important;opacity:1 !important;position:static !important}
.sf-sample .pp-site-meta{padding:12px 16px 16px !important;border:0 !important}
.sf-sample .pp-site-meta::before{content:attr(data-url);display:block;margin:0 0 4px;font:600 16px/1.3 'Geist',system-ui,sans-serif;color:var(--ph-ink)}
.sf-sample .pp-site-meta small{font:600 13px/1.4 'Geist',system-ui,sans-serif !important;letter-spacing:.1em !important;margin:0 0 6px !important}
html[lang="zh-CN"] .sf-sample .pp-site-meta small{font-size:13px !important;letter-spacing:.04em !important}
.sf-sample .pp-site-meta span{display:block;font-size:15px !important;line-height:1.5 !important;color:var(--ph-soft) !important}
html[lang="zh-CN"] .sf-sample .pp-site-meta span{line-height:1.7 !important}
}
@media (max-width:374px){
.sf-sample .sf-tabs button{font-size:13.5px !important;padding:0 2px !important}
main.pc-conf .ph-seg button{font-size:14px;padding:0 4px}
}

/* ==== 50-pages.css ==== */
/* 50-pages.css: the general pages' own components on phones (about, approach, schools,
   partnerships, results, contact, enroll, pay-mentorship; EN + CN). Pairs with 50-pages.js.
   Grammar: grouped rows on Arena paper, hairlines, chevrons, no hover, logos never in cards.
   Owns .pg-proof and .pg-steps on every page they appear. */
@media (max-width:760px){
:root{
  --ph-chev-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M9 5l7 7-7 7'/%3E%3C/svg%3E");
  --pg-mut:#585F74;
  --ph-check-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5.5 12.5l4.2 4.2 8.8-9.4'/%3E%3C/svg%3E");
}
/* shared bits */
body:is(.pg-about,.pg-approach,.pg-schools,.pg-partnerships,.pg-results,.pg-contact-page,.pg-enroll-page) .ph-cv::after,
body:is(.pg-about,.pg-approach,.pg-schools,.pg-partnerships,.pg-results,.pg-contact-page,.pg-enroll-page) :is(.pg-pillar,.pg-prog,.pg-adult,.pg-route,.pg-gl > a,.pg-proof-go,.ph-xrow)::after{
  content:"";flex:none;width:18px;height:18px;background:currentColor;opacity:.4;
  -webkit-mask:var(--ph-chev-mask) center/18px 18px no-repeat;mask:var(--ph-chev-mask) center/18px 18px no-repeat}
body:is(.pg-about,.pg-approach,.pg-schools,.pg-partnerships,.pg-results,.pg-contact-page,.pg-enroll-page) .pg-k{display:block;margin-bottom:10px !important;font:600 12.5px/1.3 'Geist',system-ui,sans-serif !important;letter-spacing:.12em !important;color:var(--pg-mut) !important;padding-left:2px}
html[lang="zh-CN"] body:is(.pg-about,.pg-approach,.pg-schools,.pg-partnerships,.pg-results,.pg-contact-page,.pg-enroll-page) .pg-k{font-size:13.5px !important;letter-spacing:.04em !important}
body:is(.pg-about,.pg-approach,.pg-schools,.pg-partnerships,.pg-results,.pg-contact-page,.pg-enroll-page) .pg-note{font-size:15px !important;line-height:1.55 !important;color:var(--ph-soft) !important;margin:12px 2px 0 !important}
/* an inline link that became a row below its paragraph: read as plain text, tap the row instead */
body:is(.pg-about,.pg-approach,.pg-schools,.pg-partnerships,.pg-results,.pg-contact-page,.pg-enroll-page) .ph-inlined{color:inherit !important;text-decoration:none !important;pointer-events:none;font-weight:inherit !important}
body:is(.pg-about,.pg-approach,.pg-schools,.pg-partnerships,.pg-results,.pg-contact-page,.pg-enroll-page) .ph-xlist{margin:16px 0 0 !important}
body:is(.pg-about,.pg-approach,.pg-schools,.pg-partnerships,.pg-results,.pg-contact-page,.pg-enroll-page) .ph-xrow{display:flex;align-items:center;gap:12px;min-height:52px;padding:8px 14px 8px 16px;color:var(--ph-blue) !important;text-decoration:none !important;font:500 16px/1.3 'Geist',system-ui,sans-serif}
body:is(.pg-about,.pg-approach,.pg-schools,.pg-partnerships,.pg-results,.pg-contact-page,.pg-enroll-page) .ph-xrow .ph-row-t{flex:1;min-width:0}
body:is(.pg-about,.pg-approach,.pg-schools,.pg-partnerships,.pg-results,.pg-contact-page,.pg-enroll-page) .ph-xrow:active{background:rgba(34,69,138,.07)}

/* =====================================================================
   PROOF ROW (.pg-proof): plain hairline list on paper; logos never boxed
   ===================================================================== */
body:is(.pg-about,.pg-approach,.pg-schools,.pg-partnerships,.pg-results,.pg-contact-page,.pg-enroll-page) .pg-proof{display:block !important;margin-top:32px !important;border:0 !important;border-top:1px solid var(--ph-line) !important;text-align:left !important}
body:is(.pg-about,.pg-approach,.pg-schools,.pg-partnerships,.pg-results,.pg-contact-page,.pg-enroll-page) .pg-proof > *{display:flex !important;padding:16px 2px !important;border:0 !important;border-bottom:1px solid var(--ph-line) !important;text-align:left !important;align-items:flex-start !important}
body:is(.pg-about,.pg-approach,.pg-schools,.pg-partnerships,.pg-results,.pg-contact-page,.pg-enroll-page) .pg-proof-judges{flex-direction:column !important;gap:12px}
body:is(.pg-about,.pg-approach,.pg-schools,.pg-partnerships,.pg-results,.pg-contact-page,.pg-enroll-page) .pg-proof-k{margin:0 !important;font-size:15px !important;line-height:1.45 !important;color:var(--ph-soft) !important;text-align:left !important}
body:is(.pg-about,.pg-approach,.pg-schools,.pg-partnerships,.pg-results,.pg-contact-page,.pg-enroll-page) .pg-proof-logos{display:flex !important;flex-wrap:wrap !important;align-items:center !important;justify-content:flex-start !important;gap:10px 16px !important}
body:is(.pg-about,.pg-approach,.pg-schools,.pg-partnerships,.pg-results,.pg-contact-page,.pg-enroll-page) .pg-proof-logos img{height:26px !important;width:auto !important}
body:is(.pg-about,.pg-approach,.pg-schools,.pg-partnerships,.pg-results,.pg-contact-page,.pg-enroll-page) .pg-proof-logos img.is-stanford{height:18px !important}
body:is(.pg-about,.pg-approach,.pg-schools,.pg-partnerships,.pg-results,.pg-contact-page,.pg-enroll-page) .pg-proof-logos img.is-yc{height:23px !important}
body:is(.pg-about,.pg-approach,.pg-schools,.pg-partnerships,.pg-results,.pg-contact-page,.pg-enroll-page) .pg-proof-logos span{font:400 17px/1 var(--font-display) !important;color:var(--ph-ink) !important;white-space:nowrap}
/* staff training: logos, then the line */
body:is(.pg-about,.pg-approach,.pg-schools,.pg-partnerships,.pg-results,.pg-contact-page,.pg-enroll-page) .pg-proof-stat:not(:has(> b:not(.pg-proof-logos2))){flex-direction:column !important;gap:10px}
body:is(.pg-about,.pg-approach,.pg-schools,.pg-partnerships,.pg-results,.pg-contact-page,.pg-enroll-page) .pg-proof-logos2,body:is(.pg-about,.pg-approach,.pg-schools,.pg-partnerships,.pg-results,.pg-contact-page,.pg-enroll-page) .ap-cred-logos{display:flex !important;align-items:center !important;justify-content:flex-start !important;gap:16px !important;min-height:0 !important;margin:0 !important}
body:is(.pg-about,.pg-approach,.pg-schools,.pg-partnerships,.pg-results,.pg-contact-page,.pg-enroll-page) .pg-proof-logos2 img[alt="Tsinghua University"],body:is(.pg-about,.pg-approach,.pg-schools,.pg-partnerships,.pg-results,.pg-contact-page,.pg-enroll-page) .ap-cred-tsinghua{height:26px !important}
body:is(.pg-about,.pg-approach,.pg-schools,.pg-partnerships,.pg-results,.pg-contact-page,.pg-enroll-page) .pg-proof-logos2 img[alt="Schwarzman College"],body:is(.pg-about,.pg-approach,.pg-schools,.pg-partnerships,.pg-results,.pg-contact-page,.pg-enroll-page) .ap-cred-schwarzman{height:22px !important}
body:is(.pg-about,.pg-approach,.pg-schools,.pg-partnerships,.pg-results,.pg-contact-page,.pg-enroll-page) .pg-proof-stat > span span{font-size:inherit !important;color:inherit !important}
body:is(.pg-about,.pg-approach,.pg-schools,.pg-partnerships,.pg-results,.pg-contact-page,.pg-enroll-page) .pg-proof-stat > span{margin:0 !important;font-size:15px !important;line-height:1.45 !important;color:var(--ph-soft) !important;text-align:left !important}
/* the score: number left, caption right, one row */
body:is(.pg-about,.pg-approach,.pg-schools,.pg-partnerships,.pg-results,.pg-contact-page,.pg-enroll-page) .pg-proof-stat:has(> b:not(.pg-proof-logos2)){flex-direction:row !important;align-items:center !important;gap:16px}
body:is(.pg-about,.pg-approach,.pg-schools,.pg-partnerships,.pg-results,.pg-contact-page,.pg-enroll-page) .pg-proof-stat > b:not(.pg-proof-logos2){flex:none;margin:0 !important;padding:0 !important;font:400 30px/1 var(--font-display) !important;color:var(--ph-ink) !important;white-space:nowrap}
body:is(.pg-about,.pg-approach,.pg-schools,.pg-partnerships,.pg-results,.pg-contact-page,.pg-enroll-page) .pg-proof-stat > b small{font-size:16px !important}
/* see results: a row with a chevron */
body:is(.pg-about,.pg-approach,.pg-schools,.pg-partnerships,.pg-results,.pg-contact-page,.pg-enroll-page) .pg-proof-go{flex-direction:row !important;align-items:center !important;justify-content:space-between !important;min-height:56px;padding:0 4px 0 2px !important;font:500 16px/1 'Geist',system-ui,sans-serif !important;color:var(--ph-blue) !important;text-decoration:none !important}
body:is(.pg-about,.pg-approach,.pg-schools,.pg-partnerships,.pg-results,.pg-contact-page,.pg-enroll-page) .pg-proof-go > span{display:none !important}
body:is(.pg-about,.pg-approach,.pg-schools,.pg-partnerships,.pg-results,.pg-contact-page,.pg-enroll-page) .pg-proof-go:active{background:rgba(34,69,138,.07)}

/* =====================================================================
   STEPS (.pg-steps): numbered vertical timeline; plain (.is-3) = grouped list
   ===================================================================== */
body:is(.pg-about,.pg-approach,.pg-schools,.pg-partnerships,.pg-results,.pg-contact-page,.pg-enroll-page) .pg-steps:not(.is-3){display:block !important;position:relative;overflow:visible !important;margin:0 !important;padding:0 !important}
body:is(.pg-about,.pg-approach,.pg-schools,.pg-partnerships,.pg-results,.pg-contact-page,.pg-enroll-page) .pg-steps:not(.is-3) > .pg-step{position:relative;display:block !important;margin:0 !important;padding:0 0 26px 52px !important;border:0 !important;background:none !important;border-radius:0 !important;box-shadow:none !important;min-height:0 !important}
body:is(.pg-about,.pg-approach,.pg-schools,.pg-partnerships,.pg-results,.pg-contact-page,.pg-enroll-page) .pg-steps:not(.is-3) > .pg-step:last-child{padding-bottom:0 !important}
body:is(.pg-about,.pg-approach,.pg-schools,.pg-partnerships,.pg-results,.pg-contact-page,.pg-enroll-page) .pg-steps:not(.is-3) > .pg-step:not(:last-child)::before{content:"";position:absolute;left:17px;top:38px;bottom:4px;width:2px;background:rgba(34,69,138,.22);border-radius:1px}
body:is(.pg-about,.pg-approach,.pg-schools,.pg-partnerships,.pg-results,.pg-contact-page,.pg-enroll-page) .pg-steps .pg-step-n{position:absolute;left:0;top:0;display:grid !important;place-items:center;width:36px;height:36px;margin:0 !important;padding:0 !important;border:1.5px solid var(--ph-blue) !important;border-radius:50%;background:var(--ph-surface);font:500 15px/1 'Geist',system-ui,sans-serif !important;color:var(--ph-blue) !important;letter-spacing:0}
body:is(.pg-about,.pg-approach,.pg-schools,.pg-partnerships,.pg-results,.pg-contact-page,.pg-enroll-page) .pg-steps .pg-step small{display:block;margin:0 0 2px;padding-top:1px;font:600 15px/1.35 'Geist',system-ui,sans-serif !important;letter-spacing:0 !important;text-transform:none !important;color:var(--ph-blue2) !important}
html[lang="zh-CN"] body:is(.pg-about,.pg-approach,.pg-schools,.pg-partnerships,.pg-results,.pg-contact-page,.pg-enroll-page) .pg-steps .pg-step small{font-size:15px !important;letter-spacing:.02em !important}
body:is(.pg-about,.pg-approach,.pg-schools,.pg-partnerships,.pg-results,.pg-contact-page,.pg-enroll-page) .pg-steps .pg-step h3{margin:0 0 6px !important;padding:0 !important;border:0 !important;font:400 20px/1.25 var(--font-display) !important;color:var(--ph-ink) !important}
body:is(.pg-about,.pg-approach,.pg-schools,.pg-partnerships,.pg-results,.pg-contact-page,.pg-enroll-page) .pg-steps .pg-step p{margin:0 !important;font-size:16px !important;line-height:1.55 !important;color:var(--ph-soft) !important}
html[lang="zh-CN"] body:is(.pg-about,.pg-approach,.pg-schools,.pg-partnerships,.pg-results,.pg-contact-page,.pg-enroll-page) .pg-steps .pg-step p{line-height:1.75 !important}
/* plain steps (partnerships, the track): one grouped container */
body:is(.pg-about,.pg-approach,.pg-schools,.pg-partnerships,.pg-results,.pg-contact-page,.pg-enroll-page) .pg-steps.is-3{display:block !important;overflow:hidden !important;margin:0 !important;padding:0 !important;background:var(--ph-surface);border:1px solid var(--ph-line);border-radius:var(--ph-r)}
body:is(.pg-about,.pg-approach,.pg-schools,.pg-partnerships,.pg-results,.pg-contact-page,.pg-enroll-page) .pg-steps.is-3 > .pg-step{display:block !important;margin:0 !important;padding:16px 18px 18px !important;border:0 !important;border-radius:0 !important;background:none !important;box-shadow:none !important}
body:is(.pg-about,.pg-approach,.pg-schools,.pg-partnerships,.pg-results,.pg-contact-page,.pg-enroll-page) .pg-steps.is-3 > .pg-step + .pg-step{border-top:1px solid var(--ph-line) !important}
body:is(.pg-about,.pg-approach,.pg-schools,.pg-partnerships,.pg-results,.pg-contact-page,.pg-enroll-page) .pg-steps.is-3 .pg-step h3{margin-bottom:4px !important}

/* =====================================================================
   ABOUT
   ===================================================================== */
/* team logos: whole, static, left-aligned rows on paper (marquee clones hidden) */
body.pg-about .pg-cred{margin:0 !important;border-top:1px solid var(--ph-line) !important}
body.pg-about .pg-cred .hp-cred-row{display:block !important;padding:18px 0 20px !important;border-bottom:1px solid var(--ph-line) !important}
body.pg-about .pg-cred .hp-cred-lab{display:block;margin:0 0 14px;font:600 12.5px/1.2 'Geist',system-ui,sans-serif !important;letter-spacing:.12em !important;text-transform:uppercase;color:var(--pg-mut) !important;text-align:left !important}
html[lang="zh-CN"] body.pg-about .pg-cred .hp-cred-lab{font-size:13.5px !important;letter-spacing:.04em !important}
body.pg-about .pg-cred .hp-marq{overflow:visible !important;-webkit-mask-image:none !important;mask-image:none !important}
body.pg-about .pg-cred ul,body.pg-about .pg-cred ul.is-marq{display:flex !important;flex-wrap:wrap !important;width:auto !important;animation:none !important;transform:none !important;justify-content:flex-start !important;align-items:center !important;gap:18px 26px !important;margin:0 !important;padding:0 !important}
body.pg-about .pg-cred li[aria-hidden="true"]{display:none !important}
body.pg-about .pg-cred li{padding:0 !important;min-height:34px !important;opacity:.9 !important;transform:none !important}
body.pg-about .pg-cred img{max-height:28px !important;width:auto !important}
/* area rule: similar ink per logo, height from aspect ratio */
body.pg-about .pg-cred img[src*="/caltech"]{height:18px !important}
body.pg-about .pg-cred img[src*="/harvard"]{height:24px !important}
body.pg-about .pg-cred img[src*="/brown"]{height:28px !important}
body.pg-about .pg-cred img[src*="/tsinghua"]{height:27px !important}
body.pg-about .pg-cred img[src*="/isb"]{height:27px !important}
body.pg-about .pg-cred img[src*="/mckinsey"]{height:16px !important}
body.pg-about .pg-cred img[src*="/goldman"]{height:26px !important}
body.pg-about .pg-cred img[src*="/yc"]{height:26px !important}
body.pg-about .pg-cred img[src*="/apple"]{height:28px !important}
body.pg-about .pg-cred img[src*="/microsoft"]{height:20px !important}
body.pg-about .pg-cred img[src*="/deloitte"]{height:15px !important}
body.pg-about .pg-cred img[src*="/kimi"]{height:17px !important}

/* the lede's "Read our approach" link: the pillar rows below already go there */
body.pg-about #future .sec-head .lede a.tlink{display:none !important}
/* founders: profile header (photo, name, role), a logo scroll, then the bio; no card */
body.pg-about .pg-founders{display:block !important}
body.pg-about .pg-founder{display:block !important;padding:0 !important;border:0 !important;background:none !important;border-radius:0 !important;box-shadow:none !important}
body.pg-about .pg-founder + .pg-founder{margin-top:44px !important;padding-top:36px !important;border-top:1px solid var(--ph-line) !important}
body.pg-about .pg-founder-top{display:flex !important;align-items:center !important;gap:16px !important;margin:0 !important;padding:0 !important;border:0 !important}
body.pg-about .pg-founder-top img{flex:none;width:76px !important;height:76px !important;border-radius:50% !important;border:1px solid var(--ph-line) !important;object-fit:cover}
body.pg-about .pg-founder-top > div{min-width:0}
body.pg-about .pg-founder h3{margin:0 !important;font:400 25px/1.15 var(--font-display) !important;color:var(--ph-ink) !important;white-space:nowrap}
body.pg-about .pg-founder h3 .pg-founder-en{display:block;margin-top:4px !important;font:400 15px/1.3 'Geist',system-ui,sans-serif !important;color:var(--ph-soft) !important}
body.pg-about .pg-founder-role{margin:6px 0 0 !important;font:600 12.5px/1.2 'Geist',system-ui,sans-serif !important;letter-spacing:.12em !important;text-transform:uppercase;color:var(--pg-mut) !important;white-space:nowrap}
html[lang="zh-CN"] body.pg-about .pg-founder-role{font-size:13.5px !important;letter-spacing:.06em !important}
body.pg-about.ph-fl .pg-founder-creds{display:none !important}
/* the logo scroll (built by 50-pages.js) */
body.pg-about .ph-flogos{position:relative;margin:20px calc(-1 * var(--ph-gut)) 20px;overflow:hidden;
  -webkit-mask-image:linear-gradient(90deg,transparent,#000 9%,#000 91%,transparent);mask-image:linear-gradient(90deg,transparent,#000 9%,#000 91%,transparent)}
body.pg-about .ph-flogos ul{display:flex;align-items:center;width:max-content;list-style:none;margin:0;padding:6px 0;animation:phFl var(--fl-dur,40s) linear infinite}
body.pg-about .ph-flogos li{flex:none;display:flex;align-items:center;height:36px;padding:0 18px;margin:0}
body.pg-about .ph-flogos img{display:block;width:auto;opacity:.9}
body.pg-about .ph-flogos.is-paused ul{animation-play-state:paused}
@keyframes phFl{from{transform:translateX(0)}to{transform:translateX(-50%)}}
@media (prefers-reduced-motion:reduce){
  body.pg-about .ph-flogos{overflow-x:auto;-webkit-mask-image:none;mask-image:none;scrollbar-width:none;padding:0 var(--ph-gut)}
  body.pg-about .ph-flogos ul{animation:none}
  body.pg-about .ph-flogos li[aria-hidden="true"]{display:none}
}
body.pg-about .pg-founder-bio{margin:0 0 14px !important;font-size:16px !important;line-height:1.65 !important;color:var(--ph-text) !important}
html[lang="zh-CN"] body.pg-about .pg-founder-bio{line-height:1.8 !important}
/* LinkedIn + email as grouped rows */
body.pg-about .pg-founder-links{display:block !important;margin:18px 0 0 !important;padding:0 !important;border:1px solid var(--ph-line) !important;border-radius:var(--ph-r);background:var(--ph-surface);overflow:hidden}
body.pg-about .pg-founder-links a{display:flex !important;align-items:center;gap:12px;min-height:52px;padding:8px 14px 8px 16px;font:500 16px/1.3 'Geist',system-ui,sans-serif !important;color:var(--ph-blue) !important;text-decoration:none !important;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}
body.pg-about .pg-founder-links a + a{border-top:1px solid var(--ph-line)}
body.pg-about .pg-founder-links a svg{flex:none;width:18px !important;height:18px !important}
body.pg-about .pg-founder-links a::after{content:"";margin-left:auto;flex:none;width:18px;height:18px;background:currentColor;opacity:.4;-webkit-mask:var(--ph-chev-mask) center/18px no-repeat;mask:var(--ph-chev-mask) center/18px no-repeat}
body.pg-about .pg-founder-links a:active{background:rgba(34,69,138,.07)}
/* pillars: one grouped list, name + line + chevron */
body.pg-about .pg-pillars{display:block !important;margin:0 !important;padding:0 !important;background:var(--ph-surface);border:1px solid var(--ph-line);border-radius:var(--ph-r);overflow:hidden}
body.pg-about .pg-pillars > li{margin:0 !important}
body.pg-about .pg-pillars > li + li{border-top:1px solid var(--ph-line)}
body.pg-about .pg-pillar{display:grid !important;grid-template-columns:1fr auto;grid-template-areas:"b a" "s a";align-items:center;column-gap:12px;row-gap:3px;min-height:68px;padding:12px 14px 12px 16px !important;border:0 !important;border-radius:0 !important;background:none !important;color:var(--ph-ink) !important}
body.pg-about .pg-pillar::after{grid-area:a}
body.pg-about .pg-pillar small,body.pg-about .pg-pillar i{display:none !important}
body.pg-about .pg-pillar b{grid-area:b;font:italic 400 23px/1.1 var(--font-display) !important;color:var(--ph-blue) !important}
html[lang="zh-CN"] body.pg-about .pg-pillar b{font-style:normal !important;font-size:21px !important}
body.pg-about .pg-pillar span{grid-area:s;font-size:15.5px !important;line-height:1.4 !important;color:var(--ph-soft) !important}
body.pg-about .pg-pillar:active{background:rgba(34,69,138,.07) !important}

/* =====================================================================
   APPROACH
   ===================================================================== */
/* segmented control (built by 50-pages.js) */
body.pg-approach .ph-seg{position:relative;display:grid;grid-template-columns:repeat(3,1fr);gap:2px;margin:0 0 14px;padding:3px;border-radius:14px;background:rgba(11,26,74,.07)}
body.pg-approach .ph-seg button{appearance:none;-webkit-appearance:none;border:0;margin:0;min-height:44px;padding:0 6px;border-radius:11px;background:none;color:var(--ph-soft);font:600 14.5px/1.1 'Geist',system-ui,sans-serif;white-space:nowrap;cursor:pointer;transition:background-color .2s,color .2s,box-shadow .2s}
html[lang="zh-CN"] body.pg-approach .ph-seg button{font-size:15px;letter-spacing:.02em}
body.pg-approach .ph-seg button:active{opacity:.7}
body.pg-approach .ph-seg button[aria-selected="true"]{background:var(--ph-surface);color:var(--ph-ink);font-weight:600;box-shadow:0 1px 3px rgba(11,26,74,.14),0 0 0 .5px rgba(11,26,74,.08)}
body.pg-approach .ap-pcards.ph-segd > .ap-pcard:not(.ph-on){display:none !important}
body.pg-approach .ap-pcards.ph-segd > .ap-pcard{opacity:1 !important;transform:none !important;scroll-margin-top:72px}
body.pg-approach .ap-pcard,body.pg-approach .ap-pcard:focus-within{border-radius:var(--ph-r) !important;border:1px solid var(--ph-line) !important;background:var(--ph-surface) !important;box-shadow:none !important;transform:none !important}
body.pg-approach .ap-pcard figure{aspect-ratio:16/8.5 !important}
body.pg-approach .ap-pcard .pg-pcard-body{padding:18px 18px 6px !important;gap:0 !important}
body.pg-approach .ap-pcard-align{min-height:0 !important;gap:0 !important}
body.pg-approach .ap-pcard h3{display:none !important}
body.pg-approach .ap-pcard .pg-tag{margin:0 0 8px !important;font:400 21px/1.3 var(--font-display) !important;color:var(--ph-ink) !important}
body.pg-approach .ap-pcard .card-p{margin:0 !important;font-size:16px !important;line-height:1.6 !important;color:var(--ph-text) !important}
html[lang="zh-CN"] body.pg-approach .ap-pcard .card-p{line-height:1.75 !important}
body.pg-approach .ap-pcard .gc-do{margin:16px 0 0 !important;padding:14px 0 0 !important;border-top:1px solid var(--ph-line) !important;gap:10px !important}
body.pg-approach .ap-pcard .gc-do li{padding-left:22px !important;font-size:15.5px !important;line-height:1.5 !important;color:var(--ph-ink) !important}
body.pg-approach .ap-pcard .gc-do li::before{content:"" !important;top:.62em !important;left:4px !important;width:6px;height:6px;border-radius:50%;background:var(--ph-blue2)}
body.pg-approach .ap-impact{margin:16px 0 0 !important;padding:14px 0 0 !important;border-top:1px solid var(--ph-line) !important}
body.pg-approach .ap-impact-lab{margin:0 0 10px !important;font:600 12.5px/1.3 'Geist',system-ui,sans-serif !important;letter-spacing:.12em !important;color:var(--pg-mut) !important}
html[lang="zh-CN"] body.pg-approach .ap-impact-lab{font-size:13.5px !important;letter-spacing:.04em !important}
body.pg-approach .ap-impact ol{gap:12px !important}
body.pg-approach .ap-impact li{display:block !important;font-size:15.5px !important;line-height:1.5 !important;color:var(--ph-text) !important}
html[lang="zh-CN"] body.pg-approach .ap-impact li{line-height:1.7 !important}
body.pg-approach .ap-where{display:block;margin:0 0 2px;font:600 12.5px/1.3 'Geist',system-ui,sans-serif !important;letter-spacing:.1em !important;text-transform:uppercase;color:var(--ph-blue2) !important}
html[lang="zh-CN"] body.pg-approach .ap-where{font-size:13px !important;letter-spacing:.04em !important}
/* the principles: a short disclosure row (3 lines when open) */
body.pg-approach .ap-pcard .gc-more{margin:16px -18px 0 !important;padding:0 !important;border-top:1px solid var(--ph-line)}
body.pg-approach .ap-pcard .gc-more summary{display:flex !important;align-items:center;justify-content:space-between;min-height:52px;padding:0 16px 0 18px;font:500 15.5px/1.2 'Geist',system-ui,sans-serif !important;letter-spacing:0 !important;text-transform:none !important;color:var(--ph-blue) !important}
body.pg-approach .ap-pcard .gc-more summary::after{content:"" !important;width:18px;height:18px;background:currentColor;opacity:.5;-webkit-mask:var(--ph-chev-mask) center/18px no-repeat;mask:var(--ph-chev-mask) center/18px no-repeat;transform:rotate(90deg);transition:transform .2s}
body.pg-approach .ap-pcard .gc-more[open] summary::after{transform:rotate(-90deg)}
body.pg-approach .ap-pcard .gc-more summary:active{background:rgba(34,69,138,.07)}
body.pg-approach .ap-pcard .gc-more ol{margin:0 !important;padding:0 18px 16px !important;gap:10px !important}
body.pg-approach .ap-pcard .gc-more li{font-size:15.5px !important;line-height:1.5 !important;color:var(--ph-soft) !important}
body.pg-approach .ap-pcard .gc-more li b{display:none}
body.pg-approach .ap-pcard .gc-more li strong{display:block;color:var(--ph-ink);font-weight:600}

/* day timeline: time column | rail | step */
body.pg-approach .ap-timeline{--tc:114px;display:block !important;padding:0 !important}
body.pg-approach .ap-timeline::before,body.pg-approach .ap-timeline::after{left:calc(var(--tc) + 21px) !important;top:10px !important;width:2px !important}
body.pg-approach .ap-timeline::before{bottom:10px !important;height:auto !important;background:rgba(34,69,138,.18) !important}
body.pg-approach .ap-timeline-wrap.in .ap-timeline::after{height:calc(100% - 20px) !important}
body.pg-approach .ap-tl-item{display:grid !important;grid-template-columns:var(--tc) 20px 1fr !important;grid-template-areas:"time node title" "time node desc" !important;column-gap:12px !important;padding:0 0 22px !important;opacity:1 !important}
body.pg-approach .ap-tl-time{grid-area:time;margin:3px 0 0 !important;text-align:right;font:600 12.5px/1.35 'Geist',system-ui,sans-serif !important;letter-spacing:.06em !important;color:var(--pg-mut) !important;white-space:normal}
html[lang="zh-CN"] body.pg-approach .ap-tl-time{font-size:13px !important;letter-spacing:.02em !important}
body.pg-approach .ap-tl-node{grid-area:node;margin:5px 0 0 !important;width:12px !important;height:12px !important;justify-self:center}
body.pg-approach .ap-tl-title{grid-area:title;margin:0 0 3px !important;font:400 19px/1.3 var(--font-display) !important;color:var(--ph-ink) !important}
body.pg-approach .ap-tl-desc{grid-area:desc;margin:0 !important;font-size:15.5px !important;line-height:1.5 !important;color:var(--ph-soft) !important;opacity:1 !important}
html[lang="zh-CN"] body.pg-approach .ap-tl-desc{line-height:1.7 !important}
/* formats + take-home */
body.pg-approach .ap-foot{margin-top:32px !important;border:0 !important}
body.pg-approach .ap-foot-row{display:block !important;padding:0 !important;border:0 !important}
body.pg-approach .ap-foot-row + .ap-foot-row{margin-top:24px}
body.pg-approach .ap-foot-lab{display:block;margin:0 0 10px 2px;font:600 12.5px/1.3 'Geist',system-ui,sans-serif !important;letter-spacing:.12em !important;color:var(--pg-mut) !important}
html[lang="zh-CN"] body.pg-approach .ap-foot-lab{font-size:13.5px !important;letter-spacing:.04em !important}
body.pg-approach .ap-foot-list{display:block !important;background:var(--ph-surface);border:1px solid var(--ph-line);border-radius:var(--ph-r);overflow:hidden}
body.pg-approach .ap-foot-list li{display:flex;align-items:center;min-height:52px;padding:8px 16px !important;font-size:16px !important;line-height:1.35;color:var(--ph-ink) !important}
body.pg-approach .ap-foot-list li + li{border-top:1px solid var(--ph-line)}
body.pg-approach .ap-foot-list li::before{display:none !important}
body.pg-approach .ap-foot-text{font-size:16px !important;line-height:1.6 !important;color:var(--ph-text) !important;padding:0 2px}

/* =====================================================================
   SCHOOLS: program rows (thumbnail, title, meta, chevron)
   ===================================================================== */
body:is(.pg-about,.pg-approach,.pg-schools,.pg-partnerships,.pg-results,.pg-contact-page,.pg-enroll-page) :is(.pg-progs,.pg-adults){display:block !important;overflow:hidden !important;margin:0 !important;padding:0 !important;list-style:none;background:var(--ph-surface);border:1px solid var(--ph-line);border-radius:var(--ph-r);scroll-snap-type:none !important}
body:is(.pg-about,.pg-approach,.pg-schools,.pg-partnerships,.pg-results,.pg-contact-page,.pg-enroll-page) .pg-progs > li{margin:0 !important}
body:is(.pg-about,.pg-approach,.pg-schools,.pg-partnerships,.pg-results,.pg-contact-page,.pg-enroll-page) .pg-progs > li + li,body:is(.pg-about,.pg-approach,.pg-schools,.pg-partnerships,.pg-results,.pg-contact-page,.pg-enroll-page) .pg-adults > .pg-adult + .pg-adult{border-top:1px solid var(--ph-line) !important}
body:is(.pg-about,.pg-approach,.pg-schools,.pg-partnerships,.pg-results,.pg-contact-page,.pg-enroll-page) :is(.pg-prog,.pg-adult){display:flex !important;flex-direction:row !important;align-items:center !important;gap:14px;min-height:84px;height:auto !important;padding:12px 14px 12px 12px !important;border:0 !important;border-radius:0 !important;background:none !important;color:var(--ph-ink) !important;text-decoration:none !important;box-shadow:none !important;opacity:1}
body:is(.pg-about,.pg-approach,.pg-schools,.pg-partnerships,.pg-results,.pg-contact-page,.pg-enroll-page) :is(.pg-prog,.pg-adult):active{background:rgba(34,69,138,.07) !important}
body:is(.pg-about,.pg-approach,.pg-schools,.pg-partnerships,.pg-results,.pg-contact-page,.pg-enroll-page) :is(.pg-prog,.pg-adult) figure{flex:none;width:60px !important;height:60px !important;aspect-ratio:auto !important;margin:0 !important;border:0 !important;border-radius:12px !important;overflow:hidden}
body:is(.pg-about,.pg-approach,.pg-schools,.pg-partnerships,.pg-results,.pg-contact-page,.pg-enroll-page) :is(.pg-prog,.pg-adult) figure img{width:100%;height:100%;object-fit:cover}
body:is(.pg-about,.pg-approach,.pg-schools,.pg-partnerships,.pg-results,.pg-contact-page,.pg-enroll-page) :is(.pg-prog-body,.pg-adult > div){flex:1;min-width:0;display:flex !important;flex-direction:column !important;gap:3px !important;padding:0 !important}
body:is(.pg-about,.pg-approach,.pg-schools,.pg-partnerships,.pg-results,.pg-contact-page,.pg-enroll-page) :is(.pg-prog,.pg-adult) b{order:1;font:400 18.5px/1.25 var(--font-display) !important;color:var(--ph-ink) !important}
body:is(.pg-about,.pg-approach,.pg-schools,.pg-partnerships,.pg-results,.pg-contact-page,.pg-enroll-page) :is(.pg-prog,.pg-adult) small{order:2;font:400 15px/1.35 'Geist',system-ui,sans-serif !important;letter-spacing:0 !important;text-transform:none !important;color:var(--pg-mut) !important}
body:is(.pg-about,.pg-approach,.pg-schools,.pg-partnerships,.pg-results,.pg-contact-page,.pg-enroll-page) :is(.pg-prog,.pg-adult) :is(.card-p,.pg-go){display:none !important}
body:is(.pg-about,.pg-approach,.pg-schools,.pg-partnerships,.pg-results,.pg-contact-page,.pg-enroll-page) .pg-adults{margin-top:0 !important}

/* =====================================================================
   PARTNERSHIPS: your side / our side / commercials as grouped lists
   ===================================================================== */
body:is(.pg-about,.pg-approach,.pg-schools,.pg-partnerships,.pg-results,.pg-contact-page,.pg-enroll-page) .pg-sides{display:block !important}
body:is(.pg-about,.pg-approach,.pg-schools,.pg-partnerships,.pg-results,.pg-contact-page,.pg-enroll-page) .pg-side{display:block !important;padding:0 !important;border:0 !important;background:none !important;border-radius:0 !important;box-shadow:none !important}
body:is(.pg-about,.pg-approach,.pg-schools,.pg-partnerships,.pg-results,.pg-contact-page,.pg-enroll-page) .pg-side + .pg-side{margin-top:28px}
body:is(.pg-about,.pg-approach,.pg-schools,.pg-partnerships,.pg-results,.pg-contact-page,.pg-enroll-page) .pg-side small{display:block;margin:0 0 2px 2px;font:600 12.5px/1.3 'Geist',system-ui,sans-serif !important;letter-spacing:.12em !important;text-transform:uppercase;color:var(--pg-mut) !important}
html[lang="zh-CN"] body:is(.pg-about,.pg-approach,.pg-schools,.pg-partnerships,.pg-results,.pg-contact-page,.pg-enroll-page) .pg-side small{font-size:13.5px !important;letter-spacing:.04em !important}
body:is(.pg-about,.pg-approach,.pg-schools,.pg-partnerships,.pg-results,.pg-contact-page,.pg-enroll-page) .pg-side h3{margin:0 0 10px 2px !important;font:400 20px/1.3 var(--font-display) !important;color:var(--ph-ink) !important}
body:is(.pg-about,.pg-approach,.pg-schools,.pg-partnerships,.pg-results,.pg-contact-page,.pg-enroll-page) .pg-side ul{display:block !important;margin:0 !important;padding:0 !important;border:1px solid var(--ph-line) !important;border-radius:var(--ph-r);background:var(--ph-surface);overflow:hidden}
body:is(.pg-about,.pg-approach,.pg-schools,.pg-partnerships,.pg-results,.pg-contact-page,.pg-enroll-page) .pg-side li{display:flex;align-items:center;min-height:52px;padding:8px 16px !important;font-size:16px !important;line-height:1.35 !important;color:var(--ph-ink) !important}
body:is(.pg-about,.pg-approach,.pg-schools,.pg-partnerships,.pg-results,.pg-contact-page,.pg-enroll-page) .pg-side li + li{border-top:1px solid var(--ph-line)}
body:is(.pg-about,.pg-approach,.pg-schools,.pg-partnerships,.pg-results,.pg-contact-page,.pg-enroll-page) .pg-side li::before{display:none !important}

/* =====================================================================
   RESULTS
   ===================================================================== */
/* jump index in the hero: label over title, chevron */
body.pg-results .pp-glance li.pg-gl{display:block !important;padding:0 !important;min-height:0 !important}
body.pg-results .pg-gl > a{display:flex !important;flex-direction:row !important;align-items:center !important;justify-content:flex-start !important;text-align:left !important;gap:12px;min-height:68px;padding:10px 14px 10px 16px;color:var(--ph-ink) !important;text-decoration:none !important}
body.pg-results .pg-gl > a:active{background:rgba(34,69,138,.07)}
body.pg-results .pg-gl > a > b{display:none !important}
body.pg-results .pg-gl .ph-gl-t{flex:1;min-width:0;display:flex;flex-direction:column;align-items:flex-start;gap:3px;text-align:left}
body.pg-results .pg-gl .ph-gl-t > *{text-align:left !important}
body.pg-results .pg-gl .ph-gl-t b{display:block;font-size:12.5px !important;letter-spacing:.12em !important}
html[lang="zh-CN"] body.pg-results .pg-gl .ph-gl-t b{font-size:13px !important;letter-spacing:.04em !important}
body.pg-results .pg-gl .ph-gl-t span{text-align:left !important;font:400 18px/1.25 var(--font-display) !important}
/* case chapters */
body.pg-results .pg-case-grid{display:flex !important;flex-direction:column;align-items:stretch !important;gap:22px !important}
body.pg-results .pg-case-copy .eyebrow{display:block !important;background:none !important;color:var(--ph-blue2) !important;box-shadow:none !important;padding:0 !important;font:600 13px/1.3 'Geist',system-ui,sans-serif !important;letter-spacing:.14em !important;text-transform:uppercase}
body.pg-results .pg-case-copy .eyebrow::before,body.pg-results .pg-case-copy .eyebrow::after{display:none !important}
html[lang="zh-CN"] body.pg-results .pg-case-copy .eyebrow{font-size:13.5px !important;letter-spacing:.06em !important}
body.pg-results .pg-case-copy .h2{margin-top:10px !important}
body.pg-results .pg-case-media{order:1 !important;border-radius:var(--ph-r) !important;aspect-ratio:4/3 !important}
body.pg-results .pg-case-media figcaption{font-size:13.5px !important}
body.pg-results .pg-stats{margin-top:24px !important;border-top:1px solid var(--ph-line) !important;border-bottom:0 !important}
body.pg-results .pg-stats > div:not(.pg-sj){display:grid !important;grid-template-columns:108px 1fr !important;column-gap:14px;align-items:baseline;padding:16px 2px !important;border:0 !important;border-bottom:1px solid var(--ph-line) !important}
body.pg-results .pg-stats > div:not(.pg-sj) b{font-size:26px !important;line-height:1.1 !important;white-space:normal !important}
body.pg-results .pg-stats p{margin:0 !important;font-size:15.5px !important;line-height:1.5 !important;color:var(--ph-soft) !important;max-width:none !important}
html[lang="zh-CN"] body.pg-results .pg-stats p{line-height:1.7 !important}
body.pg-results .pg-sj{display:block !important;padding:16px 2px !important;border-bottom:1px solid var(--ph-line) !important}
body.pg-results .pg-sj-logos{display:flex !important;flex-wrap:wrap !important;gap:10px 16px !important;min-height:0 !important}
body.pg-results .pg-sj-logos img{height:26px !important}
body.pg-results .pg-sj-logos img.is-stanford{height:18px !important}
body.pg-results .pg-sj-logos img.is-yc{height:23px !important}
body.pg-results .pg-sj-logos em{font-size:17px !important;white-space:nowrap}
body.pg-results .pg-sj p{margin-top:12px !important}
/* photo strip: a swipe strip with a peek, edge to edge */
body.pg-results .pg-strip{display:grid !important;grid-template-columns:none !important;grid-auto-flow:column !important;grid-auto-columns:76% !important;gap:10px !important;overflow-x:auto !important;scroll-snap-type:x mandatory !important;margin:20px calc(-1 * var(--ph-gut)) 0 !important;padding:0 var(--ph-gut) 2px !important;scroll-padding-inline:var(--ph-gut);scrollbar-width:none;overscroll-behavior-x:contain}
body.pg-results .pg-strip::-webkit-scrollbar{display:none}
body.pg-results .pg-strip > li{scroll-snap-align:start}
body.pg-results .pg-strip figure{border-radius:14px !important;aspect-ratio:4/3 !important}
body.pg-results .pg-strip figcaption{font-size:13.5px !important;padding:28px 12px 10px !important}
/* Tsinghua: logo on paper, facts as grouped label/value rows (no logo in a card) */
body.pg-results .pg-inst{display:block !important}
body.pg-results .pg-inst h2{margin-top:10px !important}
body.pg-results .pg-inst .eyebrow{display:block !important;background:none !important;color:var(--ph-blue2) !important;box-shadow:none !important;padding:0 !important;font:600 13px/1.3 'Geist',system-ui,sans-serif !important;letter-spacing:.14em !important;text-transform:uppercase}
body.pg-results .pg-inst .eyebrow::before,body.pg-results .pg-inst .eyebrow::after{display:none !important}
html[lang="zh-CN"] body.pg-results .pg-inst .eyebrow{font-size:13.5px !important;letter-spacing:.06em !important}
body.pg-results .pg-inst-card{display:block !important;margin-top:24px;padding:0 !important;border:0 !important;background:none !important;border-radius:0 !important}
body.pg-results .pg-inst-card > img{display:block;height:40px !important;width:auto;margin:0 0 16px 2px}
body.pg-results .pg-inst-card dl{display:block !important;margin:0;background:var(--ph-surface);border:1px solid var(--ph-line);border-radius:var(--ph-r);overflow:hidden}
body.pg-results .pg-inst-card .ph-dlrow{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:52px;padding:8px 16px}
body.pg-results .pg-inst-card .ph-dlrow + .ph-dlrow{border-top:1px solid var(--ph-line)}
body.pg-results .pg-inst-card dt{flex:none;font:600 12.5px/1.2 'Geist',system-ui,sans-serif !important;letter-spacing:.12em !important;text-transform:uppercase;color:var(--pg-mut) !important}
html[lang="zh-CN"] body.pg-results .pg-inst-card dt{font-size:13.5px !important;letter-spacing:.04em !important}
body.pg-results .pg-inst-card dd{margin:0;text-align:right;font-size:16px !important;line-height:1.35 !important;color:var(--ph-ink) !important}

/* =====================================================================
   CONTACT: one grouped list of routes + the email row
   ===================================================================== */
body.pg-contact-page .pg-routes{display:block !important;margin:28px 0 0 !important;padding:0 !important;background:var(--ph-surface);border:1px solid var(--ph-line);border-radius:var(--ph-r);overflow:hidden;text-align:left}
body.pg-contact-page .pg-routes > li{margin:0 !important}
body.pg-contact-page .pg-routes > li + li{border-top:1px solid var(--ph-line)}
body.pg-contact-page .pg-route{display:grid !important;grid-template-columns:1fr auto;grid-template-areas:"k a" "b a" "s a";align-items:center;column-gap:12px;row-gap:2px;min-height:68px;padding:12px 14px 12px 16px !important;border:0 !important;border-radius:0 !important;background:none !important;box-shadow:none !important}
body.pg-contact-page .pg-route::after{grid-area:a}
body.pg-contact-page .pg-route .pg-route-go{display:none !important}
body.pg-contact-page .pg-route small{grid-area:k;font:600 12.5px/1.3 'Geist',system-ui,sans-serif !important;letter-spacing:.12em !important;color:var(--pg-mut) !important}
html[lang="zh-CN"] body.pg-contact-page .pg-route small{font-size:13px !important;letter-spacing:.04em !important}
body.pg-contact-page .pg-route b{grid-area:b;margin:0 !important;font:400 19px/1.25 var(--font-display) !important;color:var(--ph-ink) !important}
body.pg-contact-page .pg-route span{grid-area:s;margin:0 !important;font-size:15px !important;line-height:1.45 !important;color:var(--ph-soft) !important}
body.pg-contact-page .pg-route:active{background:rgba(34,69,138,.07) !important}
body.pg-contact-page .pg-route.is-on{box-shadow:inset 3px 0 0 var(--ph-blue) !important}
body.pg-contact-page .pg-routes .ph-mailrow{display:flex;align-items:center;gap:12px;min-height:56px;padding:8px 14px 8px 16px;color:var(--ph-ink) !important;text-decoration:none !important}
body.pg-contact-page .pg-routes .ph-mailrow:active{background:rgba(34,69,138,.07)}
body.pg-contact-page .ph-mailrow .ph-row-t{flex:none;font:600 12.5px/1.3 'Geist',system-ui,sans-serif;letter-spacing:.12em;text-transform:uppercase;color:var(--pg-mut)}
html[lang="zh-CN"] body.pg-contact-page .ph-mailrow .ph-row-t{font-size:13px;letter-spacing:.04em}
body.pg-contact-page .ph-mailrow .ph-row-v{flex:1;min-width:0;text-align:right;max-width:none;font-size:16px;color:var(--ph-blue)}
/* what happens next: a label, not a giant heading */
body.pg-contact-page .pg-next-h{margin:0 0 10px 2px !important;font:600 12.5px/1.3 'Geist',system-ui,sans-serif !important;letter-spacing:.12em !important;text-transform:uppercase;color:var(--pg-mut) !important}
html[lang="zh-CN"] body.pg-contact-page .pg-next-h{font-size:13.5px !important;letter-spacing:.04em !important}
body.pg-contact-page .pg-next ol{background:var(--ph-surface);border:1px solid var(--ph-line) !important;border-radius:var(--ph-r);overflow:hidden}
body.pg-contact-page .pg-next li{grid-template-columns:30px 1fr !important;padding:14px 16px !important;font-size:15.5px !important;border-bottom:0 !important}
body.pg-contact-page .pg-next li + li{border-top:1px solid var(--ph-line)}
html[lang="zh-CN"] body.pg-contact-page .pg-next li{line-height:1.7 !important}
body.pg-contact-page .pg-contact-fine{font-size:15px !important;border-top:0 !important;padding:0 2px !important}
body.pg-contact-page .pg-form-card .cohort-form{border-radius:var(--ph-r) !important;padding:22px 18px !important}
body.pg-contact-page .pg-form-card .form-row label{font-size:12.5px !important}
html[lang="zh-CN"] body.pg-contact-page .pg-form-card .form-row label{font-size:13.5px !important}

/* =====================================================================
   ENROLL: sections on paper, one grouped container per question,
   a trailing check on the selected row
   ===================================================================== */
body.pg-enroll-page .pg-ef-steps li{font-size:12.5px !important}
html[lang="zh-CN"] body.pg-enroll-page .pg-ef-steps li{font-size:13.5px !important;letter-spacing:.04em !important}
body.pg-enroll-page .en-form .ef-sec{margin:0 0 32px !important;padding:0 !important;border:0 !important;background:none !important;border-radius:0 !important}
body.pg-enroll-page .en-form legend{margin:0 0 14px !important;font-size:22px !important;gap:10px !important}
body.pg-enroll-page .en-form legend small{font:500 14px/1 'Geist',system-ui,sans-serif !important;letter-spacing:0 !important;color:var(--ph-blue2) !important}
body.pg-enroll-page .en-form label.f,body.pg-enroll-page .en-form p.f{margin:0 0 8px 2px !important;font:600 12.5px/1.3 'Geist',system-ui,sans-serif !important;letter-spacing:.1em !important;color:var(--pg-mut) !important}
html[lang="zh-CN"] body.pg-enroll-page .en-form :is(label.f,p.f){font-size:13.5px !important;letter-spacing:.04em !important}
body.pg-enroll-page .en-form .ef-grid2{gap:16px !important}
body.pg-enroll-page .en-form input[type=text],body.pg-enroll-page .en-form input[type=email],body.pg-enroll-page .en-form textarea{min-height:52px;padding:13px 16px !important;font-size:16px !important;border:1px solid var(--ph-line) !important;border-radius:12px !important;background:var(--ph-surface) !important}
body.pg-enroll-page .en-form .hint{margin:-6px 0 12px 2px !important;font-size:15px !important;line-height:1.5 !important;color:var(--ph-soft) !important}
html[lang="zh-CN"] body.pg-enroll-page .en-form .hint{line-height:1.7 !important}
body.pg-enroll-page .en-form :is(.opts2,.opts3){display:block !important;background:var(--ph-surface);border:1px solid var(--ph-line);border-radius:var(--ph-r);overflow:hidden}
body.pg-enroll-page .en-form :is(.opts2,.opts3) + .fld{margin-top:20px !important}
body.pg-enroll-page .en-form .chk{position:relative;display:flex !important;align-items:center !important;gap:12px !important;min-height:52px;margin:0 !important;padding:10px 16px !important;border:0 !important;border-radius:0 !important;background:none !important;font-size:16px !important;line-height:1.4 !important;color:var(--ph-ink)}
body.pg-enroll-page .en-form :is(.opts2,.opts3) .chk + .chk{border-top:1px solid var(--ph-line) !important}
body.pg-enroll-page .en-form .chk:active{background:rgba(34,69,138,.07) !important}
/* the native control stays in place for validation and focus, but invisible */
body.pg-enroll-page .en-form .chk input{position:absolute !important;right:16px;top:50%;width:24px !important;height:24px !important;margin:-12px 0 0 !important;opacity:0 !important}
body.pg-enroll-page .en-form .chk > span{flex:1;min-width:0}
body.pg-enroll-page .en-form .chk::after{content:"";flex:none;width:22px;height:22px;border-radius:50%;box-sizing:border-box;border:1.5px solid rgba(11,26,74,.28);background:transparent;transition:background-color .15s,border-color .15s}
body.pg-enroll-page .en-form .chk:has(input:checked){background:rgba(34,69,138,.05) !important}
body.pg-enroll-page .en-form .chk:has(input:checked)::after{border-color:var(--ph-blue);background:var(--ph-blue)}
body.pg-enroll-page .en-form .chk .ph-tick{display:none}
body.pg-enroll-page .en-form .chk:has(input:checked) .ph-tick{display:block;position:absolute;right:16px;top:50%;width:22px;height:22px;margin-top:-11px;background:#FCF3ED;-webkit-mask:var(--ph-check-mask) center/14px 14px no-repeat;mask:var(--ph-check-mask) center/14px 14px no-repeat;pointer-events:none}
body.pg-enroll-page .en-form .chk:has(input:focus-visible){box-shadow:inset 0 0 0 2px rgba(47,85,168,.45)}
/* confirmation: same row grammar in its own container */
body.pg-enroll-page .en-form .ef-confirm .chk{align-items:flex-start !important;padding:14px 16px !important;background:var(--ph-surface) !important;border:1px solid var(--ph-line) !important;border-radius:var(--ph-r) !important}
body.pg-enroll-page .en-form .ef-confirm .chk::after{margin-top:1px}
body.pg-enroll-page .en-form .ef-confirm .chk:has(input:checked){background:#F4EFEA !important}
body.pg-enroll-page .en-form .ef-confirm .chk .ph-tick{top:15px;margin-top:0}
body.pg-enroll-page .en-form .ef-confirm .chk input{top:15px;margin-top:0 !important}
body.pg-enroll-page .en-form .en-btn{min-height:56px;border-radius:999px !important;font-size:16.5px !important;font-weight:600 !important;white-space:nowrap}
body.pg-enroll-page .en-form .ef-help{font-size:15px !important;line-height:1.55 !important}

/* =====================================================================
   PAY (EN, bilingual inline): steps as one grouped list
   ===================================================================== */
body:has(.pay-sec) .pay-sec .reveal[style*="display:grid"]{gap:0 !important;margin-top:28px !important;background:var(--ph-surface);border:1px solid var(--ph-line);border-radius:var(--ph-r);overflow:hidden}
body:has(.pay-sec) .pay-sec .reveal[style*="display:grid"] > .zl-card{border:0 !important;border-radius:0 !important;background:none !important;box-shadow:none !important;padding:16px 16px !important}
body:has(.pay-sec) .pay-sec .reveal[style*="display:grid"] > .zl-card + .zl-card{border-top:1px solid var(--ph-line) !important}
body:has(.pay-sec) .pay-step{font-size:15.5px !important;line-height:1.55 !important}
body:has(.pay-sec) .pay-hint{font-size:15px !important;line-height:1.55 !important}
body:has(.pay-sec) .pay-note{font-size:15px !important;line-height:1.6 !important;color:var(--ph-soft) !important}
body:has(.pay-sec) .pay-sec > .container > .reveal:first-child{font-size:12.5px !important}
}
@media (max-width:760px){
/* list lines wrap naturally (no balanced, half-width lines) */
html[lang="en"] body:is(.pg-about,.pg-approach,.pg-schools,.pg-partnerships,.pg-results,.pg-contact-page,.pg-enroll-page) :is(.gc-do li,.ap-impact li,.ap-tl-desc,.pg-steps p,.pg-prog small,.pg-adult small,.pg-route span,.pg-stats p,.pg-proof-k,.pg-proof-stat > span){text-wrap:pretty !important;max-width:none !important}
}
@media (max-width:760px){
html[lang="zh-CN"] body:is(.pg-about,.pg-approach,.pg-schools,.pg-partnerships,.pg-results,.pg-contact-page,.pg-enroll-page) :is(.gc-do li,.gc-more li,.pg-side li,.ap-foot-list li,.pg-next li,.pg-route span){line-height:1.7 !important}
}
@media (max-width:760px){
/* labels that live inside long list items read as small sentence-case lines (15px), not tiny caps */
body.pg-approach .ap-where{font:600 15px/1.35 'Geist',system-ui,sans-serif !important;letter-spacing:0 !important;text-transform:none !important;margin-bottom:1px}
html[lang="zh-CN"] body.pg-approach .ap-where{font-size:15px !important}
body.pg-approach .ap-tl-time{font:500 15px/1.3 'Geist',system-ui,sans-serif !important;letter-spacing:0 !important;text-transform:none !important}
html[lang="zh-CN"] body.pg-approach .ap-tl-time{font-size:15px !important}
body.pg-approach .ap-tl-node{margin-top:4px !important}
body.pg-contact-page .pg-route small{font:600 15px/1.3 'Geist',system-ui,sans-serif !important;letter-spacing:0 !important;text-transform:none !important;color:var(--ph-blue2) !important}
html[lang="zh-CN"] body.pg-contact-page .pg-route small{font-size:15px !important}
body.pg-contact-page .pg-form-card .form-row label{font-size:13px !important}
html[lang="zh-CN"] body:is(.pg-schools,.pg-enroll-page) :is(.pg-note,.ef-help){line-height:1.75 !important}
}

/* lead: Results jump rows scroll within the page, so their chevron points down */
@media (max-width:760px){
body.pg-results .pg-gl > a .ph-chev,body.pg-results .pg-gl > a svg:last-child{transform:rotate(90deg)}
}
@media (max-width:760px){
/* Audience pages (2026-10-16): promise cards stack as rows, links and the programs line stay tappable */
body.pg-schools .aud-outs{display:grid !important;grid-template-columns:1fr !important;grid-auto-flow:row !important;grid-auto-columns:auto !important;overflow:visible !important;scroll-snap-type:none !important;gap:12px !important;padding:0 !important;margin:0 !important}
body.pg-schools .aud-outs > li{padding:18px 18px 20px !important;gap:8px !important}
body.pg-schools .aud-outs small{padding-bottom:10px !important;font-size:20px !important}
body.pg-schools .aud-outs b{font-size:19px !important}
body.pg-schools .aud-outs .card-p{font-size:15.5px !important;line-height:1.55 !important}
html[lang="zh-CN"] body.pg-schools .aud-outs .card-p{line-height:1.75 !important}
body.pg-schools .aud-links{gap:0 20px !important}
body.pg-schools .aud-links a{display:inline-flex;align-items:center;min-height:44px;font-size:15.5px}
body.pg-schools .aud-plist{display:block !important}
body.pg-schools .aud-plist-k{display:block;margin-bottom:6px;font-size:12px !important}
html[lang="zh-CN"] body.pg-schools .aud-plist-k{font-size:13px !important}
body.pg-schools .aud-plist-row{display:block !important}
body.pg-schools .aud-plist-row a{display:flex;align-items:center;min-height:44px;font-size:16px;border-bottom:1px solid var(--ph-line)}
body.pg-schools .pg-proof.aud-proof{grid-template-columns:1fr !important}
}

/* ==== 90-lead.css ==== */
/* Lead fixes from the final EN/CN review (2026-10-10). Loaded last among the partials. */
@media (max-width:760px){
/* the compact footer: styles.css has [hidden]{display:none !important}, so beat it explicitly */
.ph-foot[hidden]{display:block !important}
/* Chinese word segments built by phone.js: a word never splits across lines */
ph-w{white-space:nowrap}
/* long quote-like Chinese section headings: 3 lines max at 390 */
html[lang="zh-CN"] main .h2-md,html[lang="zh-CN"] main .sec-head .h2.h2-md{font-size:20px !important;line-height:1.5 !important}
/* "why it matters": text uses the full row width (the chevron sits on the title line), 16px */
main.pc .pc-why-list.has-wr > li{padding-right:0 !important}
main.pc .pc-why-list.has-wr > li > h3{padding-right:34px !important}
main.pc .pc-why-list.has-wr > li > p{font-size:16px !important}
/* mentorship: the "swipe to see all four phases" hint is wrong once the phases stack vertically */
main.pc .pc-how .pc-sel::after{content:none !important;display:none !important}
/* enroll: multi-select groups get rounded-square checkboxes, single-choice keep circles */
body.pg-enroll-page .en-form .chk:has(input[type=checkbox])::after{border-radius:6px}
/* bootcamp hero co-host label */
.zl-hero-hosted-label{font-size:12px !important}
html[lang="zh-CN"] .zl-hero-hosted-label{font-size:13px !important;letter-spacing:.04em !important}
}

/* round 2 of the review */
@media (max-width:760px){
/* no-break tails are inline, whatever the component styles spans as */
ph-nb,.nb{display:inline !important;white-space:nowrap;margin:0 !important;padding:0 !important;font:inherit;letter-spacing:inherit;text-transform:inherit;color:inherit}
/* "why it matters": every row reads the same; the small extra lists stay on desktop */
main.pc .pc-why-list:not(.cf-ideas) > li > .wr{display:none !important}
main.pc .pc-why-list.has-wr:not(.cf-ideas) > li::after{display:none !important}
main.pc .pc-why-list.has-wr:not(.cf-ideas) > li{cursor:default;padding-right:0 !important}
main.pc .pc-why-list.has-wr:not(.cf-ideas) > li:active{background:none !important}
main.pc .pc-why-list.has-wr > li > h3{padding-right:0 !important}
/* community dialogues badge: one line */
.eyebrow.cd-eb .cd-eb-sep,.eyebrow.cd-eb .cd-eb-2{display:none !important}
/* compact hero facts */
main :is(.pc-facts,.pp-glance) > li{min-height:44px !important;padding-top:7px !important;padding-bottom:7px !important}
main :is(.pc-facts,.pp-glance){margin-top:20px !important}
main section.hero .cs-h1,main section.hero h1.display{margin-bottom:12px !important}
/* long English section headings: 3 lines max */
html:not([lang="zh-CN"]) main .h2-md,html:not([lang="zh-CN"]) main .sec-head .h2.h2-md{font-size:22px !important;line-height:1.3 !important}
/* dark "Next step" block above the dark footer: a hairline seam */
.ph-foot{border-top:1px solid rgba(246,240,229,.10)}
/* captions and source lines at a readable size */
main figcaption,main .pc-why-src{font-size:14.5px !important}
html[lang="zh-CN"] main figcaption{font-size:14px !important}
}

@media (max-width:760px){
.cf-date.ph-wrap span::before{content:none !important;display:none !important;margin:0 !important}
}

@media (max-width:760px){
html:not([data-x]) body main h2.ph-long.ph-long.ph-long.ph-long.ph-long{font-size:20px !important;line-height:1.32 !important}
html[lang="zh-CN"]:not([data-x]) body main h2.ph-long.ph-long.ph-long.ph-long.ph-long{font-size:19px !important;line-height:1.55 !important}
}

/* homepage photo strip: its own band (user 2026-10-13), header row with a swipe cue */
@media (max-width:760px){
body.home section.gallery-strip.gm{background:#F1E6D8 !important;border-top:1px solid var(--ph-line) !important;border-bottom:1px solid var(--ph-line) !important;padding:18px 0 22px !important}
.ph-gal-h{display:flex;align-items:baseline;justify-content:space-between;gap:12px;padding:0 var(--ph-gut) 12px}
.ph-gal-h b{font:600 12.5px/1.2 'Geist',system-ui,sans-serif;letter-spacing:.14em;text-transform:uppercase;color:var(--ph-blue2)}
html[lang="zh-CN"] .ph-gal-h b{font-size:13.5px;letter-spacing:.06em;text-transform:none}
.ph-swipe{display:inline-flex;align-items:center;gap:6px;font:500 14px/1 'Geist',system-ui,sans-serif;color:var(--ph-soft);transition:opacity .4s}
.ph-swipe svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;animation:phNudge 1.6s ease-in-out infinite}
.ph-swipe.gone{opacity:0}
@keyframes phNudge{0%,100%{transform:translateX(0)}50%{transform:translateX(5px)}}
@media (prefers-reduced-motion:reduce){.ph-swipe svg{animation:none}}
}

/* user feedback 2026-10-13 */
@media (max-width:760px){
/* grade map: no axis header on phones (the bars already carry the grade ranges) */
body.home .gmap .gm-axis{display:none !important}
/* "Read our approach": no dead space under it */
body.home section.pillars{padding-bottom:20px !important}
body.home .pillars-more{margin-bottom:0 !important;padding-bottom:0 !important}
/* contact: a divider so the form card reads as its own step */
body.home .partners .partner-cta{margin-top:8px !important;padding-top:28px !important;border-top:1px solid var(--ph-line) !important}
}
