/* The artwork keeps its full composition at every screen size. */
.hero h1 { font-size: clamp(62px, 6.7vw, 104px); line-height: .96; }
.hero-art img { height: auto; }
.woodland-edition { grid-template-columns: 1fr 1fr; gap: 48px 7%; }
.woodland-edition .edition-art { width: 100%; max-width: 500px; justify-self: center; }
.woodland-edition .edition-overview { grid-column: 1 / -1; }
.woodland-edition .gallery-image, .woodland-gallery .gallery-image { background: #faf8f3; }
.woodland-edition figcaption, .woodland-panorama figcaption, .community-product figcaption, .community-art-detail figcaption {
  font-size: 12px; line-height: 1.6; color: var(--muted); margin-top: 14px;
}
.edition-overview figcaption { text-align: center; }
.woodland-panorama { margin-bottom: 52px; }
.woodland-scenes { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 42px; }
.woodland-scenes .gallery-image { aspect-ratio: 1; }
.woodland-scenes .gallery-image img { display: block; width: 100%; height: 100%; object-fit: contain; }
.woodland-scenes figure:last-child { grid-column: 1 / -1; width: min(100%, 660px); justify-self: center; }
.woodland-scenes figcaption { margin-top: 14px; }
.community-product { margin-bottom: 28px; }
.community-product .gallery-image { background: #fff; }
.community-product img { max-height: 480px; object-fit: contain; }
.community-product figcaption { font-size: 11px; }
.community-art-detail { margin-bottom: 35px; }
.community-art-detail img { max-height: 560px; object-fit: contain; }
.community-art-detail .gallery-image { background: transparent; }
.gallery-image:focus-visible { outline: 3px solid #a46920; outline-offset: 5px; }
@media (max-width: 760px) {
  .hero h1 { font-size: clamp(55px, 12vw, 88px); }
  .woodland-edition { grid-template-columns: 1fr; gap: 32px; }
  .woodland-edition .edition-copy { order: 0; }
  .woodland-edition .edition-art { order: 1; max-width: 410px; }
  .woodland-edition .edition-overview { order: 2; }
  .woodland-scenes { grid-template-columns: 1fr; gap: 32px; }
  .woodland-scenes figure:last-child { grid-column: auto; width: 100%; }
  .woodland-panorama { margin-bottom: 32px; }
  .community-product img { max-height: 440px; }
  .community-art-detail img { max-height: 450px; }
}

.edition-ticket { grid-column: 1 / -1; width: min(100%, 780px); justify-self: center; }
.edition-ticket figcaption { text-align: center; }
@media(max-width:760px) { .woodland-edition .edition-ticket { order: 3; } }

/* The concert leads into the complete edition and its reservation. */
.purchase-visuals { margin-bottom: 42px; }
.purchase-visuals .woodland-panorama { margin-bottom: 32px; }
.purchase-visuals .gallery-image { background: transparent; }
.purchase-visuals figcaption, .edition-print-detail figcaption { color: var(--muted); font-size: 12px; line-height: 1.6; margin-top: 14px; }
.purchase-visuals img { display: block; width: 100%; height: auto; object-fit: contain; }
.edition-print-detail { width: 100%; max-width: 420px; justify-self: center; }
.edition-print-detail img { max-height: 480px; object-fit: contain; }
.woodland-edition .edition-ticket { grid-column: auto; }
#support { scroll-margin-top: 20px; }
@media(max-width:760px) { .purchase-visuals{margin-bottom:28px} .woodland-edition .edition-print-detail{order:4} }

.ticket-invitation { max-width: 480px; margin: 24px auto 0; }
.ticket-invitation h3 { font-size: clamp(28px,3vw,40px); line-height: 1.1; margin: 14px 0; }
.ticket-invitation p { margin: 12px 0; }
.ticket-invitation > p:not(.eyebrow) { font-size: 15px; }
.ticket-invitation .ticket-edition-note { font-size: 12px; }
.ticket-invitation .text-link { display: inline-block; margin-top: 8px; font-size: 14px; }

.morning-feature { border-top: 1px solid var(--line,#ded9ce); }
.morning-feature h3 { font-family: Cormorant,Georgia,serif; font-size: clamp(28px,3vw,40px); font-weight:400; line-height:1.15; margin:0 0 22px; }
.morning-feature .morning-video-note { color:var(--ink,#24251f); font-size:14px; letter-spacing:.06em; text-transform:uppercase; padding:16px 0; border-top:1px solid var(--line,#ded9ce); border-bottom:1px solid var(--line,#ded9ce); }
.morning-feature .morning-release { font-size:14px; }
.morning-release a { text-decoration:underline; text-underline-offset:4px; }
.morning-spotify { width:fit-content; max-width:100%; }
#good-morning-kai-story, #a-new-beginning { scroll-margin-top:24px; }

/* Spotify artwork card in the dedicated single section. */
.morning-spotify-player { display:block; width:100%; max-width:100%; margin-top:22px; }

.morning-family-art { margin:32px 0 0; max-width:430px; }
.morning-family-art img { display:block; width:100%; height:auto; }
.morning-feature { align-items:center; }
@media(max-width:700px) { .morning-family-art { max-width:100%; margin-top:24px; } }

/* Balanced single feature: full illustration beside a compact story and player. */
.morning-feature.origin { grid-template-columns:minmax(0,.88fr) minmax(0,1.12fr); gap:clamp(36px,6vw,88px); max-width:1160px; margin-inline:auto; padding-block:80px; align-items:center; }
.morning-feature .morning-family-art { width:100%; max-width:430px; margin:0; justify-self:center; }
.morning-feature .morning-family-art img { height:auto; width:100%; object-fit:contain; }
.morning-feature .morning-story { min-width:0; }
.morning-feature .eyebrow { margin:0 0 20px; font-size:12px; line-height:1.5; }
.morning-feature h2 { font-size:clamp(48px,4.8vw,70px); line-height:.98; margin:0 0 24px; }
.morning-feature h2 br { display:none; }
.morning-feature h2 em::before { content:' '; }
.morning-feature h3 { font-size:clamp(27px,2.5vw,34px); margin:0 0 18px; line-height:1.15; }
.morning-feature .origin-copy > p { font-size:16px; line-height:1.65; margin:0 0 16px; }
.morning-feature .origin-copy > .eyebrow { font-size:12px; margin-bottom:20px; }
.morning-feature .origin-copy > .morning-video-note { font-size:11px; padding:12px 0; margin:22px 0 16px; }
.morning-feature .origin-copy > .morning-release { font-size:13px; margin-bottom:14px; }
.morning-feature .morning-spotify-player { margin-top:0; }
@media(max-width:760px) {
 .morning-feature.origin { grid-template-columns:1fr; gap:30px; padding-block:48px; }
 .morning-feature .morning-family-art { max-width:360px; }
 .morning-feature h2 { font-size:48px; }
}
