/* Shared portal design system. Legacy teaching content inherits these scoped refinements. */
:root{--portal-primary:#94070a;--portal-secondary:#64080c;--portal-bg:#faf8f5;--portal-surface:#fff;--portal-text:#302729;--portal-muted:#685b5b;--portal-border:#dfd3cf;--portal-hover:#f1e8e3;--portal-accent:#967044;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-6:24px;--space-8:32px;--space-12:48px;--space-16:64px;--space-24:96px;--radius:10px;--header:80px}
.portal-page{font-size:16px;line-height:1.8;background:var(--portal-bg)}
.portal-page .shell{width:min(1200px,calc(100% - 64px))}
.portal-page h1{font-size:clamp(32px,3.1vw,44px);line-height:1.35;letter-spacing:.01em}
.portal-page h2{font-size:clamp(25px,2.3vw,32px);line-height:1.45;margin-bottom:16px}
.portal-page h3{font-family:var(--sans);font-size:21px;line-height:1.5}
.portal-page .section{padding:64px 0}.portal-page .section-heading{margin-bottom:32px;gap:32px}.portal-page .section-heading h2{max-width:600px}
.portal-page .note,.portal-page .subheading>span{font-size:14px!important}
.portal-page .section-label{font-family:var(--sans);font-size:14px;margin-bottom:12px;letter-spacing:.03em}
.portal-page .button{min-height:46px;display:inline-flex;align-items:center;justify-content:center;padding:10px 20px;border-radius:6px;font-size:15px;font-weight:600;line-height:1.6;transition:background-color 180ms,color 180ms,box-shadow 180ms}
.portal-page .button.primary{background:var(--portal-primary);color:#fff;border:1px solid var(--portal-primary)}.portal-page .button.primary:hover{background:var(--portal-secondary)}
.portal-page .button.secondary{background:transparent;color:var(--portal-primary);border:1px solid #bca7a1}.portal-page .button.secondary:hover{background:var(--portal-hover)}
.portal-page .button:active{box-shadow:inset 0 0 0 2px currentColor}.portal-page .button:disabled{opacity:.55;cursor:not-allowed}
.portal-page :focus-visible{outline:3px solid var(--portal-primary);outline-offset:4px}.portal-page a.text-link{display:inline-block;padding:8px 0}
.portal-header{position:sticky;top:0;z-index:60;background:rgba(250,248,245,.97);border-bottom:1px solid var(--portal-border)}
.portal-nav{min-height:80px;display:flex;align-items:center;justify-content:space-between;gap:24px}
.portal-header .brand strong,.portal-footer .brand strong{font-family:var(--serif);font-size:23px;letter-spacing:2px}.portal-header .brand small,.portal-footer .brand small{font-size:10px;letter-spacing:.5px;margin-top:4px}
#site-navigation{display:flex;align-items:center;gap:18px}#site-navigation ul{list-style:none;margin:0;padding:0}#site-navigation>ul{display:flex;gap:4px}
.portal-nav-item{position:relative}.portal-nav-row{display:flex;align-items:center}.portal-nav-row>a{padding:12px 8px;font-size:14px;white-space:nowrap;position:relative}
.portal-nav-row>a[aria-current],.portal-nav-row>a.is-parent{color:var(--portal-primary);font-weight:700}.portal-nav-row>a[aria-current]:after,.portal-nav-row>a.is-parent:after{content:"";position:absolute;left:8px;right:8px;bottom:5px;height:2px;background:var(--portal-primary)}
.portal-nav-row>a:hover{color:var(--portal-primary);background:var(--portal-hover);border-radius:5px}.submenu-toggle{border:0;width:28px;min-height:44px;padding:0;border-radius:4px;color:var(--portal-primary)}.submenu-toggle:hover{background:var(--portal-hover)}
.submenu-toggle span{display:block;transition:transform 160ms}.submenu-toggle[aria-expanded="true"] span{transform:rotate(180deg)}
#site-navigation .portal-submenu{position:absolute;top:calc(100% + 4px);left:0;min-width:184px;padding:8px;background:var(--portal-surface);border:1px solid var(--portal-border);border-radius:10px;box-shadow:0 12px 30px #30272914;animation:portal-dropdown 160ms ease-out}
.portal-submenu a{display:block;padding:10px 12px;border-radius:5px;font-size:15px;white-space:nowrap}.portal-submenu a:hover,.portal-submenu a[aria-current]{background:var(--portal-hover);color:var(--portal-primary)}
.portal-page .nav-consult{min-height:40px;padding:8px 14px;font-size:14px;white-space:nowrap}.portal-toggle{display:none;border:1px solid var(--portal-border);border-radius:6px;min-height:44px;padding:8px 14px}
.portal-home>section{padding:48px 0;border-bottom:1px solid var(--portal-border)}.portal-home>section:last-child{border:0}
.portal-about{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:center}.portal-label{color:var(--portal-primary);font-size:14px;font-weight:700;letter-spacing:.04em;margin:0 0 12px}.portal-about h1{font-size:clamp(36px,3.6vw,50px);margin:0 0 24px}.portal-lead{max-width:34em;color:var(--portal-muted);font-size:17px}.portal-tags{font-size:14px;color:var(--portal-muted);margin:20px 0 24px}
.portal-about figure{position:relative}.portal-about figure img{width:100%;height:310px;object-fit:cover;border-radius:10px}.portal-about figcaption{margin:10px 0 0;font-size:13px;color:var(--portal-muted)}
.portal-section-title{display:flex;gap:24px;align-items:flex-end;justify-content:space-between;margin-bottom:24px}.portal-section-title h2{margin:0}.portal-section-title .text-link{font-size:14px;white-space:nowrap}
.portal-teacher-card{display:grid;grid-template-columns:108px minmax(0,1fr) auto;gap:32px;align-items:center;padding:24px;background:var(--portal-surface);border:1px solid var(--portal-border);border-radius:10px;box-shadow:0 2px 8px #30272904}.portal-teacher-card>img{width:108px;height:138px;object-fit:cover;object-position:center 35%;border-radius:6px}.portal-teacher-card h3{margin:0 0 4px}.portal-teacher-card p:last-child{color:var(--portal-muted);max-width:44em}.portal-teacher-card .portal-label{margin-bottom:8px}
.portal-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));margin:0;border:1px solid var(--portal-border);border-radius:10px;background:var(--portal-surface);overflow:hidden}.portal-stats>div{padding:24px;border-right:1px solid var(--portal-border)}.portal-stats>div:last-child{border:0}.portal-stats dt{font-size:15px;font-weight:600}.portal-stats dd{margin:8px 0 0;font-family:var(--serif);font-size:52px;line-height:1.2;color:var(--portal-primary);font-variant-numeric:tabular-nums}.portal-stats dd small{font-family:var(--sans);font-size:14px;margin-left:6px;color:var(--portal-muted)}.portal-stats dd.stat-detail{font-family:var(--sans);font-size:13px;line-height:1.75;color:var(--portal-muted);margin-top:12px}
.portal-note{font-size:13px;color:var(--portal-muted);margin:16px 0 0}.portal-contact{display:flex;justify-content:space-between;align-items:center;gap:32px}.portal-contact p:not(.portal-label){color:var(--portal-muted)}.portal-contact>div:last-child{display:flex;gap:12px;flex-wrap:wrap}.portal-phone{font-size:26px;letter-spacing:1px;color:var(--portal-primary);font-weight:600;font-variant-numeric:tabular-nums}
.portal-page-header{padding:32px 0 40px;border-bottom:1px solid var(--portal-border);background:#f4efea}.portal-breadcrumb{display:flex;gap:10px;flex-wrap:wrap;font-size:13px;margin-bottom:20px;color:var(--portal-muted)}.portal-breadcrumb a{text-decoration:underline;text-underline-offset:4px}.portal-page-header h1{margin:0 0 16px}.portal-page-header p{max-width:48em;color:var(--portal-muted);margin:0}
.portal-subnav{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;padding-block:24px;border-bottom:1px solid var(--portal-border)}.portal-subnav a{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:16px;background:var(--portal-surface);border:1px solid var(--portal-border);border-radius:6px;font-weight:600;font-size:15px}.portal-subnav a:hover{background:var(--portal-hover)}.portal-subnav a[aria-current]{border-color:var(--portal-primary);color:var(--portal-primary)}
.portal-next{padding:40px 0 56px;border-top:1px solid var(--portal-border)}.portal-next .button{margin:8px 12px 0 0}.portal-placeholder{padding-block:48px 64px;min-height:420px}.portal-status{display:inline-block;padding:6px 14px;border-radius:50px;background:var(--portal-hover);color:var(--portal-secondary);font-size:14px;font-weight:600}.portal-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin:24px 0 32px}.portal-grid article{padding:24px;border:1px solid var(--portal-border);border-radius:10px;background:var(--portal-surface)}.portal-grid h2{font-family:var(--sans);font-size:21px}.portal-grid p{color:var(--portal-muted)}
.portal-footer{background:#eee8e2;border-top:1px solid var(--portal-border);padding:40px 0 20px}.footer-grid{display:grid;grid-template-columns:1fr 1.5fr 1fr;gap:48px}.footer-grid>div>p{font-size:14px;color:var(--portal-muted);margin:18px 0 0}.footer-grid nav{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));align-content:start;gap:4px 16px}.footer-grid nav a{padding:8px 0;font-size:14px}.footer-grid>div:last-child{display:grid;align-content:start;gap:10px}.footer-grid>div:last-child>p{margin:0}.footer-phone{font-size:22px;font-weight:600;color:var(--portal-primary)}.footer-grid>div:last-child>a:last-child{font-size:14px;text-decoration:underline;text-underline-offset:4px}.footer-meta{border-top:1px solid var(--portal-border);margin-top:32px;padding-top:20px;display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;font-size:12px;color:var(--portal-muted)}
/* Adapt retained content to the portal's scale, without changing case or form behavior. */
.portal-page .hero{padding:48px 0;min-height:0}.portal-page .hero-grid{min-height:0;gap:48px}.portal-page .hero h1,.portal-page .course-hero h1{font-size:clamp(30px,3.2vw,44px)}.portal-page .hero-lead{font-size:17px}.portal-page .hero-emblem{transform:scale(.9)}
.portal-page .course-hero{padding:32px 0 48px}.portal-page .course-hero-grid{gap:48px}.portal-page .course-photo img{max-height:340px;object-fit:cover}.portal-page .brand-intro{padding:48px 0}.portal-page .brand-intro h2{font-size:30px}.portal-page .brand-intro .shell{gap:48px}
.portal-page .founder-copy h3{font-size:28px}.portal-page .founder-photo img{max-height:480px;object-fit:cover}.portal-page .cohort-results{padding:48px 0}.portal-page .cohort-number{font-size:52px}.portal-page .cohort-rate{font-size:28px}.portal-page .cohort-card{border-radius:10px;padding:24px}.portal-page .cohort-heading h2{font-size:30px}.portal-page .impact strong{font-size:40px}
.portal-page .editorial-cards article{border:1px solid var(--portal-border);border-top:2px solid var(--portal-primary);padding:24px;border-radius:10px;background:var(--portal-surface)}.portal-page .editorial-cards h3{font-size:21px}.portal-page .home-class-formats{margin-top:0}.portal-page .class-format-card{border-radius:10px}.portal-page .public-contact{margin-bottom:32px}.portal-page .public-contact img{width:210px;max-width:100%}.portal-page .consult-form-entry{margin-bottom:24px}
@keyframes portal-dropdown{from{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}
@media(min-width:1201px){.portal-page .portal-nav.shell{width:min(1320px,calc(100% - 48px))}}
@media(max-width:1200px){:root{--header:72px}.portal-nav{min-height:72px;flex-wrap:wrap;gap:0}.portal-toggle{display:block}#site-navigation{display:none}#site-navigation.is-open{display:flex}#site-navigation{flex:0 0 100%;flex-direction:column;align-items:stretch;gap:16px;padding:16px 0 24px;max-height:calc(100dvh - 72px);overflow-y:auto}#site-navigation>ul{display:block}.portal-nav-row{justify-content:space-between;border-bottom:1px solid var(--portal-border)}.portal-nav-row>a{flex:1;padding:12px;font-size:16px}.submenu-toggle{width:48px;min-height:48px}#site-navigation .portal-submenu{position:static;box-shadow:none;border:0;background:var(--portal-hover);margin:8px 0;padding:8px 16px}.portal-page .nav-consult{align-self:flex-start;min-height:44px}.portal-about{gap:40px}.portal-stats>div{padding:20px}.footer-grid{gap:32px;grid-template-columns:1fr 1.3fr 1fr}}
@media(max-width:900px){.portal-page .shell{width:calc(100% - 48px)}.portal-about{gap:32px}.portal-about figure img{height:280px}.portal-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.portal-stats>div:nth-child(2){border-right:0}.portal-stats>div:nth-child(-n+2){border-bottom:1px solid var(--portal-border)}.portal-teacher-card{gap:24px}.portal-teacher-card>.button{grid-column:2;justify-self:start}.portal-teacher-card>img{grid-row:1/3}.portal-contact{align-items:flex-start;flex-direction:column;gap:24px}.footer-grid{grid-template-columns:1fr 1fr}.footer-grid>div:last-child{grid-column:1/-1}.portal-grid{grid-template-columns:1fr}.portal-page .section{padding:48px 0}.portal-page .hero-grid{gap:32px}.portal-page .three-col{gap:16px}.portal-page .editorial-cards article{padding:20px}}
@media(max-width:600px){:root{--header:68px}.portal-nav{min-height:68px}.portal-header .brand strong{font-size:21px}.portal-page .shell{width:calc(100% - 40px)}#site-navigation{max-height:calc(100dvh - 68px)}.portal-header .brand img{width:38px;height:38px}.portal-home>section{padding:32px 0}.portal-about{grid-template-columns:1fr;gap:24px}.portal-about h1{font-size:36px;line-height:1.4;margin-bottom:16px}.portal-lead{font-size:16px}.portal-tags{margin:16px 0}.portal-about figure img{height:190px}.portal-about figcaption{font-size:12px}.portal-section-title{flex-direction:column;align-items:flex-start;gap:8px;margin-bottom:16px}.portal-page h2{font-size:25px}.portal-section-title .text-link{white-space:normal}.portal-teacher-card{grid-template-columns:76px minmax(0,1fr);padding:20px;gap:16px}.portal-teacher-card>img{width:76px;height:104px;grid-row:1;align-self:start}.portal-teacher-card h3{font-size:21px}.portal-teacher-card .portal-label{font-size:13px}.portal-teacher-card p:last-child{font-size:14px}.portal-teacher-card>.button{grid-column:1/-1}.portal-stats>div{padding:20px 14px}.portal-stats dd{font-size:44px}.portal-stats dd small{font-size:12px;margin-left:4px}.portal-stats dt{font-size:14px}.portal-stats dd.stat-detail{font-size:12px}.portal-note{font-size:12px}.portal-contact>div:last-child{width:100%}.portal-contact .button{flex:1;padding-inline:12px}.portal-phone{font-size:24px}
.portal-page-header{padding:24px 0 32px}.portal-breadcrumb{margin-bottom:16px}.portal-page-header h1{font-size:32px}.portal-page-header p{font-size:15px}.portal-subnav{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;padding-block:20px}.portal-subnav a{padding:12px;font-size:14px}.portal-placeholder{padding-block:32px 48px}.portal-next{padding-block:32px 40px}.footer-grid{grid-template-columns:1fr;gap:28px}.footer-grid>div:last-child{grid-column:auto}.footer-grid nav{gap:4px 12px}.footer-meta{display:grid;gap:8px;margin-top:24px}.portal-footer{padding-top:32px}
.portal-page .section-heading{gap:16px;display:block;margin-bottom:24px}.portal-page .section-heading>p{margin-top:16px}.portal-page .section{padding:40px 0}.portal-page .brand-intro .shell{gap:24px}.portal-page .brand-intro h2{font-size:26px}.portal-page .cohort-heading h2{font-size:26px}.portal-page .cohort-card{padding:20px 14px}.portal-page .cohort-number{font-size:44px}.portal-page .cohort-rate{font-size:26px}.portal-page .course-hero-grid{gap:24px}.portal-page .course-photo img{max-height:240px}.portal-page .hero{padding:32px 0}.portal-page .hero-emblem{display:none}.portal-page .founder-copy h3{font-size:25px}.portal-page .public-contact img{width:220px}.portal-page .three-col{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.portal-page *,.portal-page *:before,.portal-page *:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

.portal-page .stat-phrase{display:inline-block}.portal-page .stat-rate{font-size:16px;font-weight:700;color:var(--portal-primary)}

#site-navigation{overscroll-behavior:contain}.portal-page [id]{scroll-margin-top:calc(var(--header) + 16px)}

/* Desktop navigation opens naturally on hover; expansion controls belong to touch layouts. */
@media(min-width:1201px){.portal-header .submenu-toggle{display:none}}
.portal-status-section{padding-top:32px}
