/* Public components: the single owner for marketing hierarchy and reusable cards.
   Page styles may position components, but must not redefine these type sizes. */
.public-design-system main h1{font-size:var(--jv-type-page);line-height:1.3;font-weight:750;letter-spacing:-.045em}
.public-design-system main h2{margin-block:0 24px;font-size:var(--jv-type-section);line-height:1.4;font-weight:750;letter-spacing:-.035em}
.public-design-system main h3{font-size:var(--jv-type-card);line-height:1.5;font-weight:700;letter-spacing:-.025em}
.public-design-system main h4{font-size:var(--jv-type-detail);line-height:1.5;font-weight:700}
.public-design-system main :is(h1,h2,h3,h4){word-break:keep-all;overflow-wrap:anywhere}
.public-design-system main .section{padding-block:var(--jv-section-space)}
.public-design-system .home-proof-summary{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:48px;align-items:start}
.home-proof-summary p{max-width:60ch;color:var(--jv-muted);line-height:1.8}
.home-proof-links{display:grid;gap:8px;border-top:1px solid var(--jv-line);padding-top:16px}
.home-proof-links a{display:flex;align-items:center;min-height:44px;color:var(--jv-accent);font-weight:700;text-underline-offset:4px}
.home-page .ventures-services article>figure,.public-design-system .ventures-services article>figure{margin:0}
.home-page .ventures-services article>figure img,.public-design-system .ventures-services article>figure img{width:100%;height:auto;aspect-ratio:16/9;object-fit:cover;background:var(--jv-surface)}
.public-design-system .home-hero-panel .hero-actions{margin-bottom:0}
.public-design-system .home-hero-panel{padding:40px}
@media(max-width:760px){
 .public-design-system{--jv-type-page:34px;--jv-type-section:28px;--jv-type-card:22px;--jv-type-detail:18px}
 .public-design-system main .section{padding-block:var(--jv-section-space)}
 .public-design-system .home-proof-summary{grid-template-columns:1fr;gap:24px}
 .public-design-system .home-hero-panel{padding:24px}
}

/* Education catalogue: one concise package, full-width individual course covers. */
#jobsclass .course-complete{grid-template-columns:minmax(0,1.35fr) minmax(230px,.65fr);align-items:start;gap:24px 36px;padding:28px 32px}
#jobsclass .course-complete-copy>h3{margin:8px 0 12px}
#jobsclass .course-complete-copy>p:not(.eyebrow){margin:0}
#jobsclass .course-complete-copy>.small-note{margin-top:14px;max-width:60ch}
#jobsclass .course-complete-purchase{border-left:1px solid var(--line);padding-left:28px;min-width:0}
#jobsclass .course-complete-purchase .offer-price{margin:0 0 10px}
#jobsclass .course-complete-purchase .offer-price strong{font-size:32px}
#jobsclass .course-complete-purchase .course-saving{margin:0 0 16px;font-size:15px;line-height:1.6;color:var(--muted)}
#jobsclass .course-choice-heading{margin:40px 0 4px}
#jobsclass .course-choice-note{margin:0;color:var(--muted)}
#jobsclass .offer-cards{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin:20px 0 32px}
#jobsclass .course-offer{display:flex;flex-direction:column;align-items:stretch;min-width:0;padding:20px}
#jobsclass .course-offer img{display:block;width:calc(100% + 40px);height:auto;aspect-ratio:16/9;object-fit:contain;max-width:none;margin:-20px -20px 20px;border-radius:9px 9px 0 0;background:#fff}
#jobsclass .course-offer .eyebrow,#jobsclass .course-offer h3,#jobsclass .course-offer>p:not(.eyebrow),#jobsclass .course-offer>a{grid-column:2;min-width:0}
#jobsclass .course-offer .eyebrow{margin:0 0 4px;letter-spacing:0}
.public-design-system #jobsclass .course-offer h3{margin:0 0 6px}
.public-design-system #jobsclass .course-offer>p:not(.eyebrow):not(.offer-price){font-size:16px;line-height:1.65;margin:0}
#jobsclass .course-offer .offer-price{margin:10px 0 2px;display:block}
#jobsclass .course-offer .offer-price strong{font-size:23px;line-height:1.3}
#jobsclass .course-offer>a{align-self:flex-start;display:inline-flex;align-items:center;min-height:44px;margin-top:auto;padding-top:8px}
@media(max-width:760px){#jobsclass .course-complete{grid-template-columns:1fr;gap:20px;padding:24px}#jobsclass .course-complete-purchase{border-left:0;border-top:1px solid var(--line);padding:16px 0 0}#jobsclass .course-complete .button{display:inline-flex;justify-content:center}#jobsclass .offer-cards{grid-template-columns:1fr}}

/* One service template: page name, contents, named sections, details, next action. */
.service-page-hero{padding-block:40px 40px}
.service-page-hero h1{margin:24px 0 20px;max-width:none;text-wrap:balance}
.service-page-hero .section-intro{max-width:800px;margin:0 0 24px}
.page-breadcrumb{display:flex;align-items:center;flex-wrap:wrap;gap:8px;font-size:14px;color:var(--jv-muted)}
.page-breadcrumb a{display:inline-flex;align-items:center;min-height:44px;text-underline-offset:4px}
.page-breadcrumb [aria-current]{color:var(--jv-ink)}
.page-section-nav{position:sticky;top:var(--public-header-height,0px);z-index:30;border-block:1px solid var(--jv-line);background:var(--jv-paper)}
.page-section-nav>.container{display:flex;flex-wrap:wrap;gap:0 24px;padding-block:8px}
.page-section-nav a{display:inline-flex;align-items:center;min-height:48px;min-width:44px;color:var(--jv-ink);font-weight:650;text-decoration:none;text-underline-offset:6px}
.page-section-nav a:hover,.page-section-nav a[aria-current]{color:var(--jv-accent);text-decoration:underline}
.service-detail-page main>.section{border-bottom:1px solid var(--jv-line)}
.service-detail-page .service-section-heading{display:block;max-width:none;margin:0 0 32px;padding-bottom:24px;border-bottom:1px solid var(--jv-line)}
.service-detail-page .service-section-heading h2{max-width:none;margin:0 0 12px;color:var(--jv-ink)}
.service-detail-page .service-section-heading>p{max-width:800px;margin:0;line-height:1.8}
.service-detail-page .service-section-heading .eyebrow{margin:0 0 12px}
html:has(body.public-design-system){scroll-padding-top:24px}
.public-design-system main [id]{scroll-margin-top:calc(var(--public-header-height,0px) + var(--public-contents-height,0px))}
.service-detail-page main :is(article,figure,section,div){min-width:0}
.service-targets{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 40px;margin:0}
.service-targets>div{padding:24px 0;border-bottom:1px solid var(--jv-line)}
.service-targets dt{font-weight:700;margin-bottom:8px;color:var(--jv-ink)}
.service-targets dd{margin:0;color:var(--jv-muted);line-height:1.8}
.service-choice-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--jv-grid-gap)}
.service-choice-grid>a{display:flex;flex-direction:column;padding:24px;gap:12px;border:1px solid var(--jv-line);border-radius:var(--jv-radius-panel);text-decoration:none;color:var(--jv-ink)}
.service-choice-grid>a:hover{border-color:var(--jv-accent);background:var(--jv-surface)}
.service-choice-grid strong{font-size:var(--jv-type-card)}
.service-choice-grid span{color:var(--jv-muted);line-height:1.8}
.service-choice-grid small{font-size:14px;color:var(--jv-accent);margin-top:auto}
.service-explainer-video{max-width:720px;margin:32px auto 0}
.service-document-example{max-width:800px;margin:40px auto 0}
.service-document-example img{display:block;width:100%;height:auto}
.service-document-example figcaption{font-size:14px;color:var(--jv-muted);margin-top:12px}
.service-detail-page #jobsclass .course-complete{margin-top:40px;border-color:var(--jv-accent)}
@media(max-width:760px){
 .service-page-hero{padding-block:20px 28px}
 .service-page-hero h1{margin-top:16px}
 .page-section-nav>.container{gap:0 20px;padding-block:6px}
 .page-section-nav a{font-size:15px}
 .service-detail-page .service-section-heading{margin-bottom:24px;padding-bottom:20px}
 .service-targets,.service-choice-grid{grid-template-columns:1fr;gap:0}
 .service-choice-grid{gap:16px}
 .service-targets>div{padding-block:20px}
 .service-detail-page #jobsclass .course-complete{margin-top:28px}
}

/* The same content-card role shares dimensions across service and education pages. */
.public-design-system .jv-card{padding:var(--jv-card-padding);border:1px solid var(--jv-line);border-radius:var(--jv-radius-panel);background:var(--jv-paper);min-width:0}
.public-design-system .jv-card>h3{margin:0 0 16px}
.public-design-system .jv-card>.eyebrow{margin:0 0 12px}
.public-design-system :is(.about-offers,.company-roles,.offer-cards,.catalog,.service-choice-grid){gap:var(--jv-grid-gap)}
#jobsclass .offer-cards{gap:var(--jv-grid-gap)}
#jobsclass :is(.course-complete,.course-offer){padding:var(--jv-card-padding);border-radius:var(--jv-radius-panel)}
#jobsclass .course-offer img{width:calc(100% + var(--jv-card-padding) * 2);margin:calc(var(--jv-card-padding) * -1) calc(var(--jv-card-padding) * -1) 24px;border-radius:calc(var(--jv-radius-panel) - 1px) calc(var(--jv-radius-panel) - 1px) 0 0}
.public-design-system .page-breadcrumb a{min-width:44px}
.public-design-system .about-intro{align-items:start}
.public-design-system .about-portrait{margin:0}
.public-design-system .about-person .founder-heading{margin:0 0 16px}
.public-design-system main>.service-page-hero{border-bottom:0}
.public-design-system main>.contact-band{border-top:1px solid var(--jv-line);padding-block:var(--jv-section-space)}
.site-nav>a,.site-nav summary,.header-account{min-width:44px}


.public-design-system .project-terms-grid{gap:var(--jv-grid-gap);margin-block:var(--jv-card-padding)}

/* Programme offers use the same price scale as the shared section typography. */
.sj-site .program-consultation-price strong{font-size:var(--jv-type-section);line-height:1.4}

/* Blue-brand marketing roles: one section-heading and card rhythm across pages. */
.sj-site :is(.service-section-heading,.sj-section-heading){display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:end;gap:20px 64px;max-width:none;margin:0 0 32px}
.sj-site :is(.service-section-heading,.sj-section-heading)>h2{margin:0}
.sj-site :is(.service-section-heading,.sj-section-heading)>h2:last-child{grid-column:1/-1}
.sj-site :is(.service-section-heading,.sj-section-heading)>p{margin:0;max-width:62ch;color:var(--jv-muted);font-size:var(--jv-type-body);line-height:var(--jv-leading-body)}
.sj-site :is(.service-section-heading,.sj-section-heading)>.eyebrow{grid-column:1/-1;color:var(--jv-accent);font-size:var(--jv-type-note)}
.sj-site .sj-card p{line-height:var(--jv-leading-body)}
.sj-site .sj-text-link{min-height:44px;display:inline-flex;align-items:center}
@media(max-width:760px){.sj-site :is(.service-section-heading,.sj-section-heading){grid-template-columns:1fr;gap:16px;margin-bottom:24px}}

.sj-grid + .program-flow{margin-top:var(--jv-card-padding)}
.sj-site main>.sj-section+.sj-section{border-top:1px solid var(--jv-line)}
