/* Homepage-only editorial layer. Other pages and the admin theme remain independent. */
.home-editorial { --muted: #52665d; }
.home-editorial .site-header-inner { min-height: 80px; }
.home-editorial .block-hero { padding: 46px 0 36px; background: radial-gradient(ellipse at 12% 28%,#e8efdc 0,transparent 52%); }
.home-editorial .hero-grid { grid-template-columns: 1.1fr .9fr; gap: clamp(32px,5vw,76px); }
.home-editorial .hero-visual { max-width: 470px; width: 100%; justify-self: end; }
.home-editorial .hero-photo-wrap { border-radius: 120px 24px 24px 24px; box-shadow: 0 24px 64px #173f3512; }
.home-editorial .block-hero h1 { font-size: clamp(2.5rem,4vw,4.1rem); line-height: 1.5; max-width: 620px; text-wrap: balance; }
.home-editorial .hero-copy > p { font-size: 1rem; max-width: 510px; }
.home-editorial .hero-training-card { right: -14px; }
.home-editorial .block-stats { padding: 0 0 28px; }
.home-editorial .stat-shell { padding-block: 22px; }
.home-editorial .stat-grid strong { font-size: clamp(1.5rem,2.8vw,2.15rem); }
.home-editorial .premium-section { padding-block: 58px; }
.home-editorial .section-heading { margin-bottom: 26px; }
.home-editorial .section-heading h2 { font-size: clamp(1.6rem,2.7vw,2.3rem); text-wrap: balance; }
.home-editorial .section-heading > a, .home-editorial .profile-about-link { min-height: 44px; display: inline-flex; align-items: center; }
.home-editorial .block-features { padding: 24px 0 38px; }
.home-editorial .feature-grid article { padding: 24px; border-radius: 20px; }
.home-editorial .feature-card-top { margin-bottom: 18px; }
.home-editorial .feature-grid h3 { font-size: 1.1rem; }
.home-editorial .cta-panel { grid-template-columns: minmax(0,1fr) auto; padding: 24px 34px; gap: 24px; border-radius: 22px; }
.home-editorial .cta-panel h2 { font-size: clamp(1.25rem,2vw,1.65rem); margin: 6px 0; max-width: none; }
.home-editorial .cta-copy > span { letter-spacing: .08em; }
.home-editorial .cta-side { display: flex; gap: 24px; }
.home-editorial .ring-graphic { width: 84px; height: 64px; }
.home-editorial .home-video-section { padding-block: 32px; }
.home-editorial .home-video-card { padding: 26px; gap: 32px; background: #e9efdf; border-radius: 26px; }
.home-editorial .home-video-copy h2 { font-size: clamp(1.35rem,2.4vw,2rem); }
.home-editorial .home-video-copy p { font-size: .9rem; }
.home-editorial .home-video-copy .video-playback-note { font-size: .75rem; }
.home-editorial .home-announcements { padding-block: 16px; border-block: 1px solid #dce5d0; background: #eff3e8; }
.home-editorial .home-announcements article { align-items: center; }
.home-editorial .home-announcements h2 { min-width: 195px; font-size: .92rem; }
.home-editorial .home-announcements p { font-size: .81rem; margin: 4px 0; }
.home-editorial .coach-featured .coach-card { grid-template-columns: minmax(220px,.7fr) minmax(0,1.3fr); background: #193f35; color: white; border: 0; }
.home-editorial .coach-featured .coach-card > img { height: 100%; max-height: 440px; aspect-ratio: 4/5; object-position: 50% 18%; }
.home-editorial .coach-featured .coach-card > div:last-child { align-self: center; padding: clamp(24px,4vw,50px); }
.home-editorial .coach-card .coach-label { color: #d9ee8c; font-size: .8rem; }
.home-editorial .coach-card h3 { margin-block: 12px; font-size: clamp(1.75rem,3vw,2.6rem); }
.home-editorial .coach-card .coach-introduction { color: #f1f5ed; font-size: 1rem; line-height: 2; }
.home-editorial .coach-card .coach-credentials { color: #cfddcf; line-height: 2; padding-top: 15px; border-top: 1px solid #49665b; }
.home-editorial .coach-card .site-button { background: var(--lime); color: var(--accent); border-color: var(--lime); margin-top: 10px; font-size: .88rem; }
.home-editorial .coach-bento:not(.coach-featured) .coach-card { background: var(--accent); color: white; }
.home-editorial .classes-section { padding-bottom: 26px; background: #eef2e9; }
.home-editorial .class-grid article { display: flex; flex-direction: column; }
.home-editorial .class-grid img { aspect-ratio: 16/10; }
.home-editorial .class-grid article > div { display: flex; flex-direction: column; flex: 1; padding: 22px; }
.home-editorial .class-grid h3 { font-size: 1.18rem; }
.home-editorial .class-grid p { margin-block: 8px 18px; }
.home-editorial .class-grid a { display: flex; align-items: center; min-height: 44px; margin-top: auto; padding-top: 12px; border-top: 1px solid var(--line); color: var(--accent); font-size: .84rem; font-weight: 700; }
.home-editorial .home-schedule-section { padding-block: 22px 40px; background: #eef2e9; }
.home-editorial .home-schedule-section .section-heading h2 { font-size: 1.45rem; }
.home-editorial .home-journey { background: #f8f9f5; }
.home-journey .section-heading p { max-width: 640px; margin-bottom: 0; color: var(--muted); font-size: .9rem; }
.journey-steps { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 32px; list-style: none; margin: 0; padding: 0; }
.journey-steps li { position: relative; padding: 24px 0 0; border-top: 1px solid #c4d2ba; }
.journey-number { display: grid; place-items: center; width: 48px; height: 48px; border-radius: 16px; background: #e9efdc; color: #355b38; font-size: 1.1rem; font-weight: 800; }
.journey-steps h3 { font-size: 1.1rem; margin: 18px 0 10px; }
.journey-steps p { font-size: .9rem; color: var(--muted); margin: 0; }
.home-editorial .home-gallery-section { background: #edf2e7; }
.home-editorial .home-gallery-grid { gap: 16px; }
.home-editorial .home-gallery-grid figure { padding: 8px; background: white; border: 1px solid #dfe6d8; border-radius: 20px; }
.home-editorial .home-gallery-grid a { border-radius: 14px; }
.home-editorial .home-gallery-grid figcaption { font-size: .79rem; padding: 10px 6px 6px; }
.home-editorial .home-gallery-grid figcaption small { font-size: .68rem; }
.home-editorial .academy-updates .updates-columns { gap: 30px; }
.home-editorial .academy-updates .update-news-card { grid-template-columns: 120px minmax(0,1fr); padding-block: 16px; gap: 20px; }
.home-editorial .academy-updates .update-news-card > img, .home-editorial .academy-updates .update-art { height: 140px; }
.home-editorial .academy-updates h4 { font-size: 1rem; line-height: 1.8; }
.home-editorial .academy-updates .update-event-card { padding: 18px; margin-bottom: 12px; gap: 15px; }
.home-editorial .home-faq { padding-block: 44px; background: #eef2e9; }
.faq-split { display: grid; grid-template-columns: .8fr 1.2fr; gap: 64px; align-items: start; }
.home-faq .section-heading { margin-bottom: 0; }
.home-faq .section-heading p { font-size: .9rem; color: var(--muted); max-width: 340px; margin: 16px 0 24px; }
.home-faq-list { min-width: 0; }
.home-faq-list details { border-bottom: 1px solid #cbd6c5; }
.home-faq-list details:first-child { border-top: 1px solid #cbd6c5; }
.home-faq-list summary { display: flex; align-items: center; justify-content: space-between; gap: 18px; padding: 20px 0; font-weight: 650; font-size: .95rem; cursor: pointer; list-style: none; }
.home-faq-list summary::-webkit-details-marker { display: none; }
.faq-indicator { width: 30px; height: 30px; flex-shrink: 0; display: grid; place-items: center; border: 1px solid #c5d2bc; border-radius: 50%; }
.faq-indicator::before { content: '+'; font-size: 1.25rem; line-height: 1; }
details[open] .faq-indicator::before { content: '−'; }
.home-faq-list .prose { padding: 0 0 20px; color: var(--muted); font-size: .9rem; line-height: 2; }
.home-faq-list .prose > :first-child { margin-top: 0; }
.home-faq-list .prose > :last-child { margin-bottom: 0; }
.home-editorial .home-contact { padding-block: 56px; }
.home-editorial .contact-split { gap: 64px; padding: 38px; border: 1px solid #dfe6d8; border-radius: 28px; background: radial-gradient(ellipse at 100% 0%,#e9efdc,transparent 65%); }
.home-direct-call { display: grid; gap: 4px; margin-top: 24px; }
.home-direct-call > span { font-size: .8rem; color: var(--muted); }
.home-direct-call > a { display: flex; align-items: center; gap: 20px; width: fit-content; min-height: 44px; font-size: 1.35rem; font-weight: 750; letter-spacing: .03em; }
.home-editorial .registration-note { border-top: 1px solid var(--line); padding-top: 12px; font-size: .7rem; }
@media (hover:hover) and (prefers-reduced-motion:no-preference) {
    .journey-steps li:hover .journey-number { background: var(--accent); color: var(--lime); transform: translateY(-3px); }
    .journey-number { transition: transform .2s,background .2s,color .2s; }
    .home-editorial .coach-card:hover { transform: none; }
}
@media (max-width:1000px) {
    .home-editorial .hero-grid { gap: 32px; }
    .home-editorial .ring-graphic { display: none; }
    .home-editorial .coach-featured .coach-card { grid-template-columns: .8fr 1.2fr; }
    .faq-split { gap: 32px; }
    .home-editorial .contact-split { padding: 28px; gap: 32px; }
}
@media (max-width:760px) {
    .home-editorial .hero-grid { grid-template-columns: minmax(0,1fr); gap: 20px; }
    .home-editorial .block-hero { padding-top: 26px; }
    .home-editorial .hero-visual { width: min(400px,calc(100% - 20px)); justify-self: center; }
    .home-editorial .hero-copy > p { font-size: .9rem; }
    .home-editorial .block-hero h1 { font-size: clamp(2rem,7vw,3rem); }
    .home-editorial .hero-photo-wrap { aspect-ratio: 1/1.08; object-position: top; }
    .home-editorial .premium-section { padding-block: 40px; }
    .home-editorial .cta-panel { grid-template-columns: minmax(0,1fr); padding: 24px; gap: 16px; }
    .home-editorial .cta-side { justify-content: start; }
    .home-editorial .home-video-card { gap: 20px; padding: 20px; }
    .home-editorial .coach-featured .coach-card { grid-template-columns: minmax(0,1fr); }
    .home-editorial .coach-featured .coach-card > img { height: 330px; max-height: none; object-position: 50% 20%; }
    .home-editorial .home-schedule-section { padding-block: 16px 30px; }
    .journey-steps { grid-template-columns: minmax(0,1fr); gap: 20px; }
    .journey-steps li { padding: 20px 64px 0 0; min-height: 80px; }
    .journey-number { position: absolute; right: 0; top: 22px; }
    .journey-steps h3 { margin-top: 0; }
    .faq-split { grid-template-columns: minmax(0,1fr); gap: 24px; }
    .home-faq .section-heading p { max-width: none; margin-bottom: 12px; }
    .home-editorial .contact-split { grid-template-columns: minmax(0,1fr); padding: 22px; }
    .home-editorial .contact-split form { padding: 20px; }
}
@media (max-width:420px) {
    .home-editorial .hero-training-card { padding: 12px; right: 0; }
    .home-editorial .home-gallery-grid { gap: 10px; }
    .home-editorial .home-gallery-grid figure { padding: 5px; }
    .home-editorial .academy-updates .update-news-card { grid-template-columns: 85px minmax(0,1fr); gap: 12px; }
    .home-editorial .academy-updates .update-news-card > img, .home-editorial .academy-updates .update-art { height: 110px; }
    .home-editorial .academy-updates .update-event-card { grid-template-columns: 60px minmax(0,1fr); padding: 14px; gap: 12px; }
    .home-editorial .contact-split { width: calc(100% - 24px); padding: 18px; }
    .home-editorial .form-heading { flex-wrap: wrap; gap: 6px 12px; }
    .home-editorial .form-heading strong { font-size: 1rem; }
}
@media print {
    .home-editorial .site-header { position: static; }
    .home-faq-list details .prose { display: block; }
}
