/* Brand typography: four reading/UI cuts + Niconne restricted to the syllable ia.
   All fonts are local WOFF2. See /fonts/*-OFL.txt for redistribution licenses. */
@font-face{font-family:Poppins;src:url('/fonts/poppins-semibold.woff2') format('woff2');font-style:normal;font-weight:600;font-display:swap}
@font-face{font-family:Poppins;src:url('/fonts/poppins-bold.woff2') format('woff2');font-style:normal;font-weight:700;font-display:swap}
@font-face{font-family:'Source Serif 4';src:url('/fonts/source-serif-4-regular.woff2') format('woff2');font-style:normal;font-weight:400;font-display:swap}
@font-face{font-family:'Source Serif 4';src:url('/fonts/source-serif-4-semibold.woff2') format('woff2');font-style:normal;font-weight:600;font-display:swap}
@font-face{font-family:Niconne;src:url('/fonts/niconne-ia.woff2') format('woff2');font-style:normal;font-weight:400;font-display:swap;unicode-range:U+0061,U+0069}
:root{--font-reading:'Source Serif 4',Georgia,serif;--font-heading:Poppins,Arial,sans-serif;--emphasis-weight:600}
html{font-size:16px;font-synthesis:none}
body{font-family:var(--font-reading);font-size:18px;font-weight:400;line-height:1.6}
p,li,blockquote,table,td,dd,pre{font-family:var(--font-reading)}
strong,b,th,dt{font-weight:600}
em,i{font-style:normal;font-weight:600}
p em,li em,blockquote em,td em{color:inherit}
button,input,select,textarea{font:inherit}
h1,h2,h3,h4,h5,h6,.premium-video strong,.premium-kit-cover strong,
.premium-cohort>strong,.premium-cohort strong small,.program-title,.program-stats strong,
.route-item>b,.resource-icon,.course-guide strong,.evidence-metrics strong{
  font-family:var(--font-heading);font-weight:600;letter-spacing:-.025em;--emphasis-weight:600;
}
h1{font-size:32px;line-height:1.15}
h2{font-size:26px;line-height:1.25}
h3,.premium-video strong{font-size:22px;line-height:1.3}
h4,h5,h6{font-size:18px;line-height:1.4}
h1 em,h2 em{font-family:inherit;font-weight:600;font-style:normal}
.display,.premium-kit-cover strong{font-family:var(--font-heading);font-size:48px;font-weight:600;line-height:1.05;letter-spacing:-.025em}
/* UI, navigation and wordmarks use only the available Poppins weights. */
nav,.brand,.brand-text,.premium-kit-cover>span:first-child,.brand-descriptor,.brand-descriptor strong,.brand-text strong,
.btn,.button,button,.text-link,.premium-profile b,.video-link,.download,.back,
.breadcrumb,.steps a,.tab,.enrollment-alt,.footer-grid a:not(.brand){
  font-family:var(--font-heading);font-size:16px;font-weight:700;line-height:1.5;--emphasis-weight:700;
}
.btn,.button,button{font-size:16px;font-weight:700;line-height:1.5;text-transform:none;letter-spacing:0}
.brand-descriptor,.brand-descriptor strong,.brand small{font-size:15px;line-height:1.5}
/* Category labels: real small caps when available, readable uppercase fallback. */
.eyebrow,.premium-profile>span,.outcome>span,.stage-title,.task-number,.resource-body .tag,
.author-tag,.doc-label,.record-heading>span:first-child,.record-dates>span,
.premium-product-art>span,.video-top,.premium-kit-cover small,.brand-process li>span,
.question>span,.compare span,.footer-grid h3{
  font-family:var(--font-heading);font-size:15px;font-weight:700;line-height:1.3;
  font-variant-caps:small-caps;text-transform:uppercase;letter-spacing:.9px;--emphasis-weight:700;
}
/* Body copy and tables retain 18px even on narrow screens. */
.lead,.intro,.premium-intro>p,.section-head>p,.premium-profile p,
.premium-product-copy>p,.premium-case p,.premium-source p,.premium-kit-grid>div>p,
.premium-closing p,.profile-examples p,.premium-resource-intro p,.course-hero h1+p,
.course-promises li,.outcome p,.fit-list p,.course-coach p,.resource-body p,.task-card p,
.demo-paper p,.chapter .detail,.long-story blockquote,.testimonial-card blockquote,
.page-hero p,.list-check li,.contact-list p,.premium-product-route li,.premium-kit-list,
.premium-principles span,.course-preview>p,.outcome li,.decision-sheet li,.doc-row,
.footer-grid p,.brand-process p,.brand-method-close,.benefits li,.benefits strong,
.card>section>p,.steps,.question p,.question details p,.compare p,.check,.check strong,
.prompt-box,pre,table,td,th{
  font-family:var(--font-reading);font-size:18px;line-height:1.6;
}
/* Sources, captions and secondary context remain at least 15px. */
small,.note,.premium-small,.sample-note,.premium-signature p,.premium-cohort-note,
.course-small,.course-preview>small,.record-note,.decision-sheet p,.portrait-caption,
.portrait-bottom,.premium-kit-cover>span:last-child,.footer-bottom,.person small,
.course-guide span,.record-heading>span:last-child,.record-dates p,.evidence-metrics span,
.fit-list article>span,.program-stats span,.route-item small,.form-note,.credential-number,
.help,.card .help,.format,.privacy p,.author p,.hero-note,.cohort-price span,
#copy-status,#check-status,footer p,.choice{
  font-family:var(--font-reading);font-size:15px;line-height:1.5;letter-spacing:0;
}
.field label,.card label:not(.choice),legend{font-weight:600}
.field input,.field select,.field textarea,input::placeholder{font-family:var(--font-reading);font-size:18px;line-height:1.6}
.avatar{font-family:var(--font-heading);font-size:15px;font-weight:700}
.premium-cohort>strong,.evidence-metrics strong{font-size:48px;line-height:1.05}
.course-guide strong,.program-stats strong{font-size:32px;line-height:1.15}
.resource-icon{font-size:48px;line-height:1.05}
.quote-mark{font-family:var(--font-reading);font-size:48px;line-height:1}
.cohort-price strong{font-size:26px;line-height:1.25}
.premium-signature strong,.brand-promise,.brand-method-close{font-weight:600}
.premium-intro h1{max-width:23ch}
/* Niconne is never inherited outside the exact brand syllable. */
.maestro-brand,.maestro{display:inline-block;white-space:nowrap;text-transform:none;letter-spacing:0;line-height:1.1;font-style:normal;font-family:var(--font-heading);font-weight:700}
.maestro-name{font-family:var(--font-heading);font-weight:700;letter-spacing:-.035em}
.maestro-brand>.maestro-ia,.maestro>span{font-family:Niconne,cursive;font-size:1.4em;font-weight:400;font-style:normal;letter-spacing:0;margin-left:.015em;line-height:.8;--emphasis-weight:400}
.premium-wordmark{font-family:var(--font-heading);font-size:48px;line-height:1.05;letter-spacing:0}
.premium-kit-grid>*{min-width:0}.premium-kit-cover{max-width:100%}
@media(max-width:600px){.premium-kit-cover strong{font-size:clamp(36px,10vw,48px)}.premium-kit-cover{overflow-wrap:normal}.brand-descriptor,.brand-descriptor strong{font-size:15px}.premium-wordmark{font-size:clamp(36px,10vw,48px)}}
