/* Secondary-page rules are enqueued only outside the approved homepage. */
.subhero h1 { max-width: 1000px; margin-inline: auto; }
.subhero p { font-family: Georgia, serif; }
.journal-categories { display: flex; flex-wrap: wrap; justify-content: center; gap: 12px; margin-bottom: 30px; }
.journal-categories a { padding: 7px 22px; border: 1px solid var(--taupe); font-size: 13px; }
.journal-categories a:hover, .journal-categories [aria-current] { color: #fff; background: #75623c; border-color: #75623c; }
.journal-search { max-width: 480px; margin: 0 auto 50px; text-align: left; }
.journal-search label { display: block; font-size: 12px; margin-bottom: 9px; }
.journal-search > div { display: flex; }
.journal-search input { min-width: 0; flex: 1; padding: 12px 16px; background: #fff; border: 1px solid var(--taupe); border-radius: 0; font-size: 16px; }
.journal-search button { border: 1px solid #75623c; background: #75623c; color: #fff; padding: 12px 25px; }
.blog-list { row-gap: 55px; }
.blog-list img, .post-noimage { width: 100%; aspect-ratio: 3 / 2; object-fit: contain; background: var(--paper); }
.post-noimage { display: grid; place-items: center; font: 24px Georgia,serif; color: #81724f; }
.blog-list time { display: block; margin-top: 18px; font-size: 12px; }
.blog-list h2 { font-size: 20px; line-height: 1.8; margin-top: 8px; }
.blog-list a:hover h2 { text-decoration: underline; text-underline-offset: 5px; }
.pagination { display: flex; flex-wrap: wrap; justify-content: center; gap: 8px; }
.pagination .page-numbers { min-width: 42px; border: 1px solid var(--line); padding: 5px 12px; }
.pagination .current { background: #75623c; color: #fff; }
.legacy-content { max-width: 820px; }
.article-detail { padding-top: 65px; }
.article-header { margin-bottom: 50px; padding-bottom: 35px; border-bottom: 1px solid var(--line); }
.article-header h1 { font-size: clamp(26px, 3vw, 38px); line-height: 1.6; }
.article-meta { display: flex; flex-wrap: wrap; gap: 8px 20px; font-size: 12px; color: #746748; }
.article-meta a { text-decoration: underline; text-underline-offset: 4px; }
.article-cover { width: 100%; max-height: 550px; object-fit: contain; margin-top: 35px; background: var(--paper); }
.entry-content { font-size: 16px; line-height: 2.05; }
.entry-content > :first-child { margin-top: 0; }
.entry-content p { margin-bottom: 1.5em; }
.entry-content h2 { font-size: 28px; line-height: 1.65; padding: 16px 0; border-bottom: 1px solid var(--gold); margin: 2.3em 0 1em; }
.entry-content h3 { font-size: 23px; margin: 1.8em 0 .8em; }
.entry-content h4 { font-size: 19px; margin: 1.8em 0 .8em; }
.entry-content figure { margin: 28px 0; }
.entry-content img { max-width: 100%; height: auto; margin-inline: auto; }
.entry-content a:not(.wp-block-button__link) { text-decoration: underline; text-underline-offset: .2em; }
.entry-content ul, .entry-content ol { padding-left: 1.5em; }
.entry-content blockquote { margin-inline: 0; padding: 20px 25px; border-left: 3px solid var(--gold); background: var(--paper); }
.entry-content .wp-block-spacer { max-height: 48px; }
.entry-content .wp-block-table { overflow-x: auto; }
.entry-content table { width: 100%; border-collapse: collapse; }
.entry-content td, .entry-content th { padding: 12px; border: 1px solid var(--line); }
.entry-content iframe, .entry-content video { max-width: 100%; }
.entry-content .wp-block-embed-youtube iframe { width: 100%; height: auto; aspect-ratio: 16 / 9; }
.entry-content .meatup-block-fullWide__inner { max-width: 100%; }
.article-footer { margin-top: 60px; padding-top: 35px; border-top: 1px solid var(--line); display: flex; gap: 18px; flex-wrap: wrap; }
.empty-state { text-align: center; padding: 40px 0; }
.video-guide { max-width: 840px; margin: 45px auto 0; }
.video-guide iframe { width: 100%; aspect-ratio: 16 / 9; height: auto; border: 0; display: block; }
.qualification-photo { width: 100%; max-width: 460px; height: auto; margin: 30px auto; }
.faq-existing-plans { background: var(--paper); padding: 35px; margin: 55px 0 10px; }
.faq-existing-plans h2 { font-size: 24px; }
.faq-existing-plans table { width: 100%; border-collapse: collapse; margin: 25px 0; font-size: 13px; }
.faq-existing-plans th, .faq-existing-plans td { border-bottom: 1px solid var(--line); padding: 12px 8px; text-align: left; }
.faq-existing-plans p { font-size: 13px; }
.faq-plan-links { display: grid; grid-template-columns: repeat(3,1fr); gap: 16px; margin-top: 35px; }
.faq-plan-links a { display: flex; flex-direction: column; border: 1px solid var(--taupe); padding: 22px; font-size: 13px; }
.faq-plan-links strong { color: #75623c; font-size: 21px; margin-top: auto; }
.wpcf7 label { color: var(--ink); }
.wpcf7 form .wpcf7-response-output { margin-inline: 0; padding: 16px; line-height: 1.8; }
.wpcf7 .wpcf7-not-valid-tip { font-size: 13px; }
.wpcf7 input[type=submit] { cursor: pointer; min-height: 52px; }
.wpcf7 .wpcf7-spinner { display: block; margin-inline: auto; }
@media (max-width: 650px) {
  .article-detail { padding-top: 40px; }
  .article-header { margin-bottom: 30px; padding-bottom: 25px; }
  .article-header h1 { font-size: 25px; }
  .article-cover { margin-top: 25px; }
  .entry-content { font-size: 15px; }
  .entry-content h2 { font-size: 23px; }
  .entry-content h3 { font-size: 20px; }
  .entry-content .wp-block-spacer { max-height: 32px; }
  .journal-categories { gap: 8px; }
  .journal-categories a { padding: 6px 14px; font-size: 12px; }
  .journal-search button { padding-inline: 18px; }
  .article-footer .button { width: 100%; }
  .faq-existing-plans { padding: 24px 16px; }
  .faq-existing-plans th, .faq-existing-plans td { padding: 10px 4px; font-size: 11px; }
  .faq-plan-links { grid-template-columns: 1fr; }
}

/* Price-page introduction: exactly two readable lines. */
.price-intro > span { display: block; white-space: nowrap; }
@media (max-width: 650px) { .price-intro { font-size: clamp(14px, 4.6vw, 20px); } }

/* Hide the visual breadcrumb consistently on fixed pages and article archives. */
.breadcrumb { display: none; }
.trainer-subhero { padding-block: 52px 42px; }
.trainer-subhero p { font-size: 42px; margin-bottom: 12px; }
.trainer-subhero h1 { font-size: 23px; }
.contact-lead h2 { font-size: 34px; white-space: nowrap; }
.contact-lead { margin-bottom: 24px; }
.contact-subhero { padding: 42px 20px 32px; }
.contact-subhero p { font-size: 42px; margin-bottom: 12px; }
.contact-subhero h1 { font-size: 23px; }
.contact-flow-accordion { max-width: 850px; margin: 0 auto; }
.contact-introduction { padding-block: 40px 32px; }
.contact-flow-accordion .packing { margin: 12px auto 24px; }
.contact-video { width: 100%; padding: 0; margin: 0 auto; }
.contact-video h3 { font-size: 24px; margin-bottom: 20px; }
.contact-reservation { padding-block: 48px; }
.contact-reservation .section-title { margin-bottom: 24px; }
.contact-reservation .section-title > span { font-size: 42px; }
.contact-reservation .section-title:after { margin-top: 18px; }
.contact-reservation .wpcf7, .contact-reservation .preview-form { margin-top: 24px; }
@media (max-width: 650px) {
  .trainer-subhero { padding-block: 34px 28px; }
  .trainer-subhero p { font-size: 32px; }
  .trainer-subhero h1 { font-size: 19px; }
  .contact-lead h2 { font-size: clamp(22px, 5.7vw, 27px); }
  .contact-lead .trial-summary { gap: 12px; margin: 24px 0; }
  .contact-lead .trial-summary > strong { font-size: 38px; }
  .contact-lead .trial-summary small { font-size: 13px; }
  .contact-lead .trial-summary > span { font-size: 11px; padding: 5px 12px; }
  .contact-subhero { padding: 28px 15px 24px; }
  .contact-subhero p { font-size: 32px; margin-bottom: 10px; }
  .contact-subhero h1 { font-size: 18px; }
  .contact-introduction { padding-block: 28px 24px; }
  .contact-video h3 { font-size: clamp(18px, 4.8vw, 24px); }
  .contact-reservation { padding-block: 32px; }
  .contact-reservation .section-title > span { font-size: 30px; }
  .contact-reservation .section-title { margin-bottom: 18px; }
}

/* Compact reservation fields; keep controls at least 44px for touch input. */
.contact-reservation .wpcf7 { padding:24px 28px; }
.wpcf7 .compact-request-form { margin:0; }
.wpcf7 .compact-request-form .form__item { padding:10px 0; gap:16px; align-items:center; }
.wpcf7 .compact-request-form .form__term { line-height:1.5; }
.wpcf7 .compact-request-form .form__term label { display:inline; }
.wpcf7 .compact-request-form .is-required:after { margin-left:6px; white-space:nowrap; }
.wpcf7 .compact-request-form input:not([type=submit]):not([type=hidden]),
.wpcf7 .compact-request-form select { height:44px; min-height:44px; padding:7px 10px; font-size:16px; line-height:1.4; }
.wpcf7 .compact-request-form textarea { height:84px; min-height:84px; padding:8px 10px; font-size:16px; line-height:1.5; resize:vertical; }
.wpcf7 .compact-request-form + .form__btn-wrapper input[type=submit] { margin-top:24px; }
@media(max-width:650px) {
  .contact-reservation .wpcf7 { padding:16px; }
  .wpcf7 .compact-request-form .form__item { grid-template-columns:104px minmax(0,1fr); gap:10px; padding:9px 0; }
  .wpcf7 .compact-request-form .form__term { font-size:12px; }
  .wpcf7 .compact-request-form .form__term label { display:block; }
  .wpcf7 .compact-request-form .is-required:after { margin-left:0; font-size:9px; padding:1px 5px; }
  .wpcf7 .compact-request-form .form__item-message { grid-template-columns:1fr; gap:6px; }
  .wpcf7 .compact-request-form textarea { height:76px; min-height:76px; }
  .wpcf7 .compact-request-form input[type=date] { min-width:0; width:100%; }
}
