@font-face {
  font-family: 'KF Masterclass Inter';
  src: url('../fonts/inter-latin.woff2') format('woff2');
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  unicode-range: U+0000-024F,U+2000-206F,U+20A0-20CF,U+2113,U+2190-21FF,U+2212,U+FEFF,U+FFFD;
}
@font-face {
  font-family: 'KF Masterclass Inter';
  src: url('../fonts/inter-cyrillic.woff2') format('woff2');
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  unicode-range: U+0400-052F,U+1C80-1C8F,U+2DE0-2DFF,U+A640-A69F;
}
.kf-masterclass-page {
  --mc-paper: #fffdf9;
  --mc-ink: #292720;
  --mc-taupe: #c2b9b0;
  --mc-font: 'KF Masterclass Inter', Arial, sans-serif;
  font-family: var(--mc-font);
  background: var(--mc-paper);
  color: var(--mc-ink);
  padding: clamp(32px, 6vw, 96px) clamp(20px, 5vw, 80px);
  overflow: clip;
}
.kf-masterclass-page *, .kf-masterclass-page *::before, .kf-masterclass-page *::after { box-sizing: border-box; }
.kf-masterclass-page > .wp-block-group { max-width: 1320px; margin-inline: auto; }
.kf-masterclass-page .wp-block-heading, .kf-masterclass-page p, .kf-masterclass-page a { font-family: var(--mc-font); }
.kf-masterclass-page .wp-block-heading { color: inherit; font-weight: 400; line-height: 1.12; text-wrap: balance; margin-top: 24px; margin-bottom: 24px; }
.kf-masterclass-page h1 { font-size: clamp(34px, 4.4vw, 64px); letter-spacing: -.035em; }
.kf-masterclass-page h2 { font-size: clamp(28px, 3vw, 42px); letter-spacing: -.025em; }
.kf-masterclass-page h3 { font-size: clamp(23px, 2.1vw, 30px); letter-spacing: -.02em; }
.kf-masterclass-page p { font-size: clamp(16px, 1.25vw, 18px); line-height: 1.7; overflow-wrap: anywhere; }
.kf-masterclass-page .kf-mc-eyebrow { font-size: 12px; letter-spacing: .16em; text-transform: uppercase; }
.kf-masterclass-page a { color: #626548; text-underline-offset: .2em; }
.kf-masterclass-page a:hover { text-decoration: underline; }
.kf-masterclass-page .wp-block-columns { gap: clamp(24px, 5vw, 80px); }
.kf-masterclass-page .wp-block-column { min-width: 0; }
.kf-masterclass-page .wp-block-image { margin: 0; position: relative; }
.kf-masterclass-page .wp-block-image img { display: block; width: 100%; height: auto; object-fit: cover; }
.kf-masterclass-page .kf-mc-section { margin-block: clamp(64px, 10vw, 144px); }
.kf-masterclass-page .kf-mc-hero { position: relative; }
.kf-masterclass-page .kf-mc-hero .wp-block-columns { align-items: flex-start !important; }
.kf-masterclass-page .kf-mc-hero .wp-block-column > :first-child { margin-top: 0; }
.kf-masterclass-page .kf-mc-image-large img { aspect-ratio: 4 / 5; object-fit: cover; }
.kf-masterclass-page .kf-mc-image-small { width: 64%; margin-top: -18%; margin-left: -10%; border: 12px solid var(--mc-paper); }
.kf-masterclass-page .kf-mc-image-small img { aspect-ratio: 1; object-fit: cover; }
.kf-masterclass-page .kf-mc-editorial-row .wp-block-column:nth-child(2) { padding-top: clamp(32px, 8vw, 112px); }
.kf-masterclass-page .kf-mc-editorial-row .wp-block-column:nth-child(3) { padding-top: clamp(20px, 4vw, 64px); }
.kf-masterclass-page .kf-mc-editorial-row .wp-block-image img { aspect-ratio: 3 / 4; }
.kf-masterclass-page .kf-mc-taupe { padding: clamp(16px, 2.5vw, 36px); }
.kf-masterclass-page .kf-mc-gallery .wp-block-image img { aspect-ratio: 4 / 5; }
.kf-masterclass-page .kf-mc-gallery .wp-block-column:nth-child(even) { padding-top: 56px; }
.kf-masterclass-page .kf-mc-contact { border-top: 1px solid var(--mc-taupe); padding-block: clamp(40px, 6vw, 80px); }
.kf-masterclass-page .kf-mc-contact a { color: inherit; text-underline-offset: .2em; }
@media (max-width: 781px) {
  .kf-masterclass-page .wp-block-columns { flex-direction: column; }
  .kf-masterclass-page .wp-block-column { flex-basis: auto !important; width: 100%; }
  .kf-masterclass-page .kf-mc-editorial-row .wp-block-column:nth-child(n),
  .kf-masterclass-page .kf-mc-gallery .wp-block-column:nth-child(n) { padding-top: 0; }
  .kf-masterclass-page .kf-mc-image-small { margin: 20px 0 0 auto; width: 74%; border: 0; }
}
@media (prefers-reduced-motion: reduce) {
  .kf-masterclass-page * { scroll-behavior: auto; }
}

/* A compact reading rhythm and photo composition for phones and small tablets. */
@media (max-width: 781px) {
  .kf-masterclass-page { padding: 28px 20px 40px; }
  .kf-masterclass-page .wp-block-heading { margin-block: 16px; }
  .kf-masterclass-page h1 { font-size: clamp(32px, 8.2vw, 42px); line-height: 1.16; }
  .kf-masterclass-page h2 { font-size: clamp(27px, 6.8vw, 34px); line-height: 1.2; }
  .kf-masterclass-page h3 { font-size: 24px; line-height: 1.25; }
  .kf-masterclass-page p { font-size: 16px; line-height: 1.65; margin-block: 0 16px; }
  .kf-masterclass-page .kf-mc-eyebrow { font-size: 11px; letter-spacing: .12em; margin-bottom: 12px; }
  .kf-masterclass-page .wp-block-column > :last-child { margin-bottom: 0; }
  .kf-masterclass-page .wp-block-columns { gap: 24px; margin-block: 0; }
  .kf-masterclass-page .kf-mc-section { margin-block: 52px; }
  .kf-masterclass-page .kf-mc-image-small { width: 52%; margin: -18% 0 0 auto; border: 6px solid var(--mc-paper); border-right: 0; }
  .kf-masterclass-page .kf-mc-hero + .kf-mc-section > .wp-block-columns { flex-direction: column-reverse; }
  .kf-masterclass-page .kf-mc-editorial-row .wp-block-columns { gap: 36px; }
  .kf-masterclass-page .kf-mc-taupe { padding: 0; }
  .kf-masterclass-page .kf-mc-editorial-row .wp-block-image img { aspect-ratio: 4 / 5; }
  .kf-masterclass-page .kf-mc-gallery .wp-block-columns { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
  .kf-masterclass-page .kf-mc-gallery .wp-block-column:last-child:nth-child(odd) { grid-column: 1 / -1; }
  .kf-masterclass-page .kf-mc-gallery .wp-block-column:last-child:nth-child(odd) img { aspect-ratio: 3 / 2; }
  .kf-masterclass-page .kf-mc-contact { padding-block: 32px 0; scroll-margin-top: 88px; }
  .kf-masterclass-page .kf-mc-contact .wp-block-columns { gap: 16px; }
  .kf-masterclass-page .kf-mc-contact h2 { margin-bottom: 0; }
  .kf-masterclass-page .kf-mc-contact a[href^="tel:"] { display: inline-flex; min-height: 48px; align-items: center; padding: 10px 18px; border: 1px solid var(--mc-taupe); border-radius: 4px; text-decoration: none; }
}
