/* C only: preserve the mock's 512-unit composition; extend backgrounds only. */
.design-c .site-shell { max-width: none; width: 100%; overflow: visible; }
.design-c .site-header { max-width: 1600px; margin-inline: auto; }
.design-c .pop-inner { width: 100%; max-width: 1600px; margin-inline: auto; position: relative; min-width: 0; }
.design-c #main > section { padding-inline: 0; border-radius: 0; }
.design-c #main > section + section { margin-top: 0; }
.design-c #main > .hero + .about, .design-c #main > .faq + .access { margin-block-start: 0; }
.design-c #main + .site-footer { margin-top: 0; }
.design-c #main .hero { display: block; }
.design-c #main .hero > .pop-inner { min-height: calc(var(--u) * 279); }
.design-c #main .hero-copy { min-height: calc(var(--u) * 279); }
.design-c #main .hero-photo { top: 0; height: 100%; }
@media (min-width: 768px) { .design-c #main .hero-flower { right: 0; bottom: 0; transform: none; } }
.design-c #main .about > .pop-inner { padding-inline: calc(var(--u) * 23); }
.design-c #main .courses > .pop-inner { padding-inline: calc(var(--u) * 8); }
.design-c #main .teacher { display: block; }
.design-c #main .teacher > .pop-inner { display: grid; grid-template-columns: 29% 34% 37%; align-items: center; padding-inline: calc(var(--u) * 24); }
.design-c #main .teacher .pop-inner > .photo { height: calc(var(--u) * 153); border-radius: 50%; object-position: center 35%; }
.design-c #main .faq > .pop-inner { padding-inline: calc(var(--u) * 25); }
.design-c #main .access > .pop-inner { padding-inline: calc(var(--u) * 14); }
.design-c #main .access-row { grid-template-columns: minmax(0,62fr) minmax(0,38fr); }
.design-c #main .course-copy { margin-left: 0; }
.design-c #main .course-grid article:nth-child(2) .course-copy { margin-right: 0; }
.design-c #main .teacher-title .ornament { right: 0; }
.design-c #main .faq-flower { right: calc(var(--u) * 2); bottom: 12px; }
/* Distinct edges from the reference, independent of section height. */
.design-c #main .pop-band { position: relative; background: #ffe164; }
.design-c #main .about.pop-band { --wave-top: calc(var(--u) * 40); --wave-bottom: calc(var(--u) * 24); padding-top: calc(var(--section-inset) + var(--wave-top)); padding-bottom: calc(var(--section-inset) + var(--wave-bottom)); }
.design-c #main .faq.pop-band { --wave-top: calc(var(--u) * 14); --wave-bottom: calc(var(--u) * 22); padding-top: calc(var(--section-inset) + var(--wave-top)); padding-bottom: calc(var(--section-inset) + var(--wave-bottom)); }
.design-c .pop-background { position: absolute; inset: 0; pointer-events: none; }
.design-c .pop-wave { position: absolute; display: block; left: 0; width: 100%; fill: var(--paper); }
.design-c .pop-wave.top { top: -1px; height: calc(var(--wave-top) + 1px); }
.design-c .pop-wave.bottom { bottom: -1px; height: calc(var(--wave-bottom) + 1px); }
.design-c #main .about h2 { white-space: normal; }
/* Red panel: original centered copy and corner artwork inside the bounded inner. */
.design-c #main .closing { display: block; overflow: visible; }
.design-c #main .closing-flower { left: calc(var(--u) * 7); bottom: 12px; }
.design-c #main .closing-tools { right: calc(var(--u) * 12); bottom: 36px; }
.design-c .site-footer { display: block; height: auto; min-height: calc(var(--u) * 85); padding: 0; }
.design-c .footer-inner { display: flex; align-items: center; justify-content: space-between; gap: calc(var(--u) * 12); width: 100%; max-width: 1600px; min-height: calc(var(--u) * 59); margin-inline: auto; padding-inline: calc(var(--u) * 16); }
.design-c .site-footer:after { content: none; }
.design-c .footer-strokes { display: block; width: 100%; max-width: 1600px; height: auto; margin-inline: auto; }
@media (max-width: 767px) {
 .design-c #main .hero > .pop-inner { display: flex; flex-direction: column; min-height: 0; }
 .design-c #main .hero-copy { width: 100%; left: auto; min-height: 0; }
 .design-c #main .hero h1 { font-size: clamp(33px, 10vw, 39px); }
 .design-c #main .hero-photo { top: auto; height: 335px; }
 .design-c #main .about > .pop-inner { padding-inline: 24px; }
 .design-c #main .courses > .pop-inner { padding-inline: 20px; }
 .design-c #main .teacher > .pop-inner { grid-template-columns: minmax(0,1fr) minmax(0,1fr); gap: 22px; padding-inline: 24px; }
 .design-c #main .teacher .pop-inner > .photo { height: 200px; }
 .design-c #main .teacher-title .ornament { right: 0; }
 .design-c #main .teacher-title h2 { font-size: clamp(23px, 6.9vw, 27px); }
 .design-c #main .faq > .pop-inner, .design-c #main .access > .pop-inner { padding-inline: 24px; }
 .design-c #main .features article { grid-template-columns: 90px minmax(0,1fr); gap: 14px; }
 .design-c #main .features p br { display: none; }
 .design-c #main .access-row { grid-template-columns: minmax(0,1fr); }
 .design-c #main .course-copy h3 { white-space: normal; font-size: clamp(20px, 5.9vw, 23px); }
 .design-c #main .closing > .pop-inner { display: flex; flex-wrap: wrap; justify-content: center; align-items: center; column-gap: 60px; padding-inline: 24px; }
 .design-c #main .closing-flower, .design-c #main .closing-tools { position: relative; inset: auto; }
 .design-c .site-footer { min-height: 190px; padding-top: 27px; }
 .design-c .footer-inner { display: block; min-height: 0; padding-inline: 20px; }
 .design-c .site-footer nav { max-width: 100%; }
 .design-c .footer-strokes { margin-top: 20px; }
}
@media (prefers-reduced-motion: no-preference) {
 .design-c h1.reveal-ready, .design-c h2.reveal-ready, .design-c h3.reveal-ready, .design-c .photo.reveal-ready { transform: translateY(22px); }
 .design-c .is-visible.reveal-ready { transform: none; }
}
