/* v2.9.8 additions. Existing homepage and Rap master have no matching new classes. */
.drlp-section.dr98-compact-hero { min-height: 0; padding-block: 75px; }
.drlp-section.dr98-compact-hero h1 { font-size: clamp(2.5rem, 5vw, 4.4rem); max-width: 850px; }
.drlp-section .dr98-price { font-size: 1.4rem; font-weight: 700; color: #c7b3e8; }
.drlp-section .dr98-note { font-size: .9rem; color: #c7b3e8; }
.drlp-section .dr98-image { margin: 0 0 24px; }
.drlp-section .dr98-image img { width: 100%; height: auto; aspect-ratio: 4 / 3; object-fit: cover; }
.drlp-section .dr98-image.dr98-logo img { object-fit: contain; }
.drlp-section .dr98-image figcaption { font-size: .85rem; color: #b8b6c0; margin-top: 8px; }
.drlp-section .dr98-gallery { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 18px; margin-top: 35px; }
.drlp-section .dr98-gallery > * { min-width: 0; margin: 0; }
.drlp-section .dr98-profile .drlp-kicker { font-size: .75rem; letter-spacing: .08em; }
.drlp-section .dr98-product .wp-block-buttons,
.drlp-section .dr98-profile .wp-block-buttons { margin-top: 22px; }
.drlp-section .wp-block-audio audio { width: 100%; }
.dr98-query .dr98-post-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 18px; padding: 0; list-style: none; }
.dr98-query .dr98-post-grid > li { min-width: 0; padding: 26px; background: #24242b; border-top: 3px solid #8064a8; }
.dr98-query .wp-block-post-featured-image { margin: 0 0 20px; }
.dr98-query .wp-block-post-featured-image img { width: 100%; height: auto; aspect-ratio: 4/3; object-fit: cover; }
.dr98-query .wp-block-post-date,
.dr98-query .wp-block-post-terms { color: #c7b3e8; font-size: .85rem; margin-bottom: 10px; }
.dr98-query .wp-block-post-title { font-size: 1.4rem; }
.dr98-query a { text-decoration: underline; text-underline-offset: .2em; }
.dr98-query .wp-block-query-pagination { display: flex; flex-wrap: wrap; gap: 18px; margin-top: 35px; }
.dr98-query .wp-block-query-pagination-numbers { display: flex; gap: 15px; }
.drblog { color: #f5f5f5; font: 17px/1.75 Arial,Helvetica,sans-serif; overflow-wrap: anywhere; padding-bottom: 80px; }
.drblog *, .dr98-article * { box-sizing: border-box; }
.drblog:focus { outline: none; }
.drblog .drblog-heading { padding-block: 75px 40px; }
.drblog h1 { max-width: 1000px; font-size: clamp(2.4rem,5vw,4.4rem); }
.drblog h2 { font-size: clamp(1.8rem,3vw,2.5rem); }
.drblog h3 { font-size: 1.4rem; }
.drblog .drblog-kicker { color: #c7b3e8; font-size: .8rem; font-weight: 700; letter-spacing: .18em; }
.drblog .drblog-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 22px; }
.drblog .drblog-card { min-width: 0; margin: 0; background: #24242b; border-top: 3px solid #8064a8; }
.drblog .drblog-card h2 { font-size: 1.5rem; }
.drblog .drblog-card-content { padding: 28px; }
.drblog .drblog-image img { display: block; width: 100%; height: auto; aspect-ratio: 4/3; object-fit: cover; }
.drblog .drblog-meta { display: flex; flex-wrap: wrap; gap: 10px; margin-bottom: 18px; color: #c7b3e8; font-size: .85rem; }
.drblog .drblog-hero-image { max-width: 1000px; margin-bottom: 40px; }
.drblog .drblog-hero-image img { display: block; width: 100%; height: auto; }
.drblog .drblog-body { max-width: 800px; }
.drblog .drblog-body h2 { margin: 48px 0 20px; }
.drblog .drblog-body h3 { margin-top: 32px; }
.drblog .drblog-body p,
.dr98-article p { margin-bottom: 24px; }
.drblog a { color: #c7b3e8; text-decoration: underline; text-underline-offset: .2em; }
.drblog h1 a,.drblog h2 a { color: #f5f5f5; }
.drblog .drblog-body img { max-width: 100%; height: auto; }
.drblog .drblog-body iframe { max-width: 100%; }
.drblog blockquote { border-left: 3px solid #8064a8; padding-left: 24px; margin-inline: 0; color: #c7b3e8; }
.drblog .wp-block-details,.dr98-article .wp-block-details { border-bottom: 1px solid #42394b; padding-block: 18px; }
.drblog summary,.dr98-article summary { cursor: pointer; font-weight: 700; }
.drblog .navigation,.drblog .drblog-tags,.drblog .drblog-comments { margin-top: 40px; }
.drblog .nav-links { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 24px; }
.drblog .nav-links > * { min-width: 0; }
.drblog .wp-block-buttons,.dr98-article .wp-block-buttons { display: flex; flex-wrap: wrap; gap: 12px; margin-block: 30px; }
.drblog .wp-block-button__link,.dr98-article .wp-block-button__link { color: #fff; text-decoration: none; }
.drblog :is(a,button,summary,input,textarea,select):focus-visible,
.dr98-article :is(a,button,summary):focus-visible { outline: 2px solid #cbb4f0; outline-offset: 4px; }
.drblog .screen-reader-text { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }
.dr98-article { font: 17px/1.75 Arial,Helvetica,sans-serif; color: #f5f5f5; }
.dr98-article .dr98-article-lead { font-size: 1.15rem; color: #e2e0e8; }
.dr98-article h2 { font-size: clamp(1.8rem,3vw,2.5rem); margin-top: 44px; }
.dr98-article a { color: #c7b3e8; text-decoration: underline; }
.editor-styles-wrapper .dr98-gallery > .block-editor-inner-blocks:not([data-block]),
.editor-styles-wrapper .dr98-gallery > .block-editor-inner-blocks:not([data-block]) > .block-editor-block-list__layout:not([data-block]) { display: contents; }
@media(max-width:1000px) {
    .drblog .drblog-grid,.dr98-query .dr98-post-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
}
@media(max-width:760px) {
    .drlp-section .dr98-gallery { grid-template-columns: repeat(2,minmax(0,1fr)); }
    .drblog .drblog-grid,.dr98-query .dr98-post-grid { grid-template-columns: minmax(0,1fr); }
    .drblog .drblog-heading { padding-block: 50px 28px; }
    .drlp-section.dr98-compact-hero { padding-block: 55px; }
}
@media(max-width:420px) { .drlp-section .dr98-gallery { grid-template-columns: minmax(0,1fr); } }
@media(prefers-reduced-motion:reduce) { html:has(.drblog) { scroll-behavior: auto; } }

/* v2.9.10: reading rhythm for booking information only; no shared design changes. */
.drbooking-section .drlp-container > :is(p, ul, h3) { max-width: 900px; }
.drbooking-section .drlp-container > h3 { margin-top: 32px; }
.drbooking-section .drlp-container > .drlp-grid { margin-bottom: 30px; }
.drbooking-section .drlp-container > .drlp-card { margin-block: 28px; height: auto; }
.drbooking-section .drlp-card .dr25-icon { margin-bottom: 18px; }
.drbooking-section .wp-block-list { padding-inline-start: 24px; margin: 0 0 24px; }
.drbooking-section .wp-block-list li + li { margin-top: 8px; }
.drbooking-section .wp-block-details { max-width: 900px; }
