/* Homepage portfolio: one width and a controlled photographic rhythm. */
body.home-page main#main{width:calc(100% - 64px);max-width:1280px;padding:0 0 64px;margin:24px auto 0}
body.home-page main#main>section{width:100%;max-width:none;margin-left:0;margin-right:0}
body.home-page main#main>.artist-opening{height:560px;min-height:0;max-height:none;margin:0;overflow:hidden}
.home-page .opening-portrait img{object-position:50% 38%;animation:none;transform:none}
.home-page .opening-type{left:48px;right:auto;bottom:48px;max-width:450px}
.home-page .opening-type h1{font-size:clamp(64px,6.4vw,92px);line-height:.97;max-width:400px;letter-spacing:-.05em}
.home-page .opening-intro{margin-top:24px;max-width:none}
.home-page .opening-intro p{font-size:21px;line-height:1.45}
.home-page .opening-intro .text-link{font-size:13px}
.home-page .recordings-feature{padding:52px 0 56px}
.home-page .section-heading{margin-bottom:28px;gap:20px}
.home-page .section-heading h2{font-size:40px;letter-spacing:-.04em}
.home-page .recordings-feature .recordings-strip{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px 22px}
.home-page .recordings-feature .release-card h3{font-size:17px;line-height:1.3;letter-spacing:-.02em}
.home-page .release-card img{margin-bottom:16px}
body.home-page main#main>.tour-feature{max-width:1280px!important;border-radius:0;grid-template-columns:300px minmax(0,1fr);grid-template-rows:auto 1fr;gap:20px 64px;background:#eae5dc;padding:40px 48px;margin:0 0 52px}
.home-page .tour-feature>.tour-feature-poster{grid-column:1;grid-row:1/3;width:100%;max-width:300px;transform:none;box-shadow:none;justify-self:center}
.home-page .tour-feature>h2{grid-column:2;grid-row:1;align-self:end;max-width:none;font-size:48px;line-height:1.06;text-wrap:initial}
.home-page .tour-feature>.tour-feature-copy{grid-column:2;grid-row:2;align-self:start;max-width:none}
.home-page .tour-feature-copy p.tour-ad-invitation{font-size:27px;line-height:1.25;margin:4px 0 20px;max-width:none}
.home-page .tour-ad-invitation br{display:none}
.home-page .tour-feature-copy p.tour-ad-description{font-size:17px;line-height:1.65;max-width:none;margin-bottom:24px}
.home-page .tour-ad-button{border-radius:3px;font-size:14px;padding:13px 20px}
.home-page .live-section{padding:0 0 56px}
.home-page .live-dates{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.home-page .live-date{grid-template-columns:58px minmax(0,1fr) 18px;gap:14px;align-items:start;padding:24px 0;border-bottom:0}
.home-page .live-date:last-child{border-bottom:0}
.home-page .live-date h3{font-size:23px}.home-page .live-date .live-status{display:none}
body.home-page main#main>.book-feature{border-radius:0;background:#e8ebe4;padding:48px 64px;margin:0 0 56px;grid-template-columns:minmax(0,1.2fr) minmax(180px,.8fr);gap:48px}
.home-page .book-copy{max-width:none}.home-page .book-copy h2{font-size:48px;color:#344c40}.home-page .book-copy h2 span{font-family:Georgia,serif;font-style:italic;font-size:34px;color:#344c40}.home-page .book-image{transform:none;max-width:200px;width:100%}
.home-page .discovery{margin-bottom:56px}.home-page .discovery-flow{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:22px;border:0}
.home-page .discovery-item{border:0;min-width:0}.home-page .discovery-item>a,.home-page .discovery-item:not(:has(>a)){display:block;padding:0}
.home-page .discovery-item img{width:100%;height:auto;aspect-ratio:5/4;object-fit:cover;border-radius:0;display:block}
.home-page .discovery-item>a>div,.home-page .discovery-item>div{display:block;padding:18px 0 0}
.home-page .discovery-item h3{font-size:25px;letter-spacing:-.035em;white-space:normal}.home-page .discovery-item h3 span{font-size:18px;margin-left:8px}.home-page .discovery-item p{font-size:14px;line-height:1.5;max-width:none;margin-top:10px}
.home-page .programs-feature{background:#202b25;color:#fff;padding:40px 48px;gap:48px;margin-bottom:56px}.home-page .programs-feature h2{font-size:42px}.home-page .programs-feature>div p{font-size:17px;color:#e0e4df;line-height:1.65}.home-page .programs-feature a{color:#fff}
body.home-page main#main>.press-quotes{border-radius:0;margin:0;background:#f0ece4;padding:40px}
.home-page .quote-carousel>h2{display:block;width:fit-content;max-width:100%;font-size:28px}
@media(min-width:1280px){.home-page .recordings-feature .recordings-strip{grid-template-columns:repeat(6,minmax(0,1fr))}}
@media(max-width:1000px){.home-page .live-dates{grid-template-columns:1fr}.home-page .live-date{grid-template-columns:70px 1fr 24px}.home-page .discovery-flow{grid-template-columns:repeat(2,minmax(0,1fr))}body.home-page main#main>.tour-feature{grid-template-columns:230px minmax(0,1fr);gap:20px 32px;padding:32px}.home-page .tour-feature>h2{font-size:36px}.home-page .tour-feature-copy p.tour-ad-invitation{font-size:23px}.home-page .opening-type{left:32px}.home-page .opening-type h1{font-size:72px;max-width:320px}}
@media(max-width:700px){body.home-page main#main{width:calc(100% - 32px);margin-top:16px}.home-page main#main>.artist-opening{height:500px}.home-page .opening-type{left:24px;right:24px;bottom:30px;max-width:none}.home-page .opening-type h1{font-size:56px;max-width:300px}.home-page .opening-portrait img{object-position:58% 35%}.home-page .opening-intro p{font-size:17px}.home-page .opening-intro .text-link{font-size:12px}.home-page .section-heading h2{font-size:32px}.home-page .recordings-feature{padding:36px 0}.home-page .recordings-feature .recordings-strip{grid-template-columns:repeat(2,minmax(0,1fr));gap:26px 16px}body.home-page main#main>.tour-feature{grid-template-columns:1fr;grid-template-rows:auto;gap:24px;padding:28px 24px;margin-bottom:40px}.home-page .tour-feature>h2,.home-page .tour-feature>.tour-feature-copy,.home-page .tour-feature>.tour-feature-poster{grid-column:1;grid-row:auto}.home-page .tour-feature>h2{font-size:36px}.home-page .tour-feature>.tour-feature-poster{max-width:230px}.home-page .tour-feature-copy p.tour-ad-invitation{font-size:25px}body.home-page main#main>.book-feature{grid-template-columns:1fr;padding:32px 24px;gap:30px;margin-bottom:40px}.home-page .book-image{grid-row:1;max-width:160px}.home-page .book-copy h2{font-size:40px}.home-page .book-copy h2 span{font-size:29px}.home-page .discovery-item h3{font-size:22px}.home-page .discovery-flow{gap:28px 16px}.home-page .programs-feature{grid-template-columns:1fr;padding:32px 24px;gap:22px}.home-page .programs-feature h2{font-size:36px}body.home-page main#main>.press-quotes{padding:28px 24px}.home-page .quote-carousel>h2{font-size:24px}.home-page .live-section{padding-bottom:40px}}
.home-page .discovery-item img{object-position:center top}
/* Give the tour advert a fuller poster-and-copy balance on large screens. */
@media(min-width:1100px){
 body.home-page main#main>.tour-feature{grid-template-columns:350px minmax(0,1fr);column-gap:48px;row-gap:20px;padding:40px 48px}
 .home-page .tour-feature>.tour-feature-poster{max-width:350px}
 .home-page .tour-feature>h2{font-size:52px;line-height:1.06;align-self:end;text-wrap:balance}
 .home-page .tour-feature-copy p.tour-ad-invitation{font-size:27px;line-height:1.3;margin-bottom:20px}
 .home-page .tour-feature-copy p.tour-ad-description{font-size:18px;line-height:1.65;margin-bottom:20px}
}
/* Phone tour advert: pair the title with the poster rather than stacking three tall blocks. */
@media(max-width:700px){
 body.home-page main#main>.tour-feature{grid-template-columns:minmax(95px,.8fr) minmax(0,1.2fr);grid-template-rows:auto auto;padding:24px 20px;gap:24px 20px}
 .home-page .tour-feature>.tour-feature-poster{grid-column:1;grid-row:1;width:100%;max-width:170px;align-self:center}
 .home-page .tour-feature>h2{grid-column:2;grid-row:1;font-size:clamp(25px,6.8vw,36px);line-height:1.08;letter-spacing:-.035em;align-self:center;text-wrap:balance}
 .home-page .tour-feature>.tour-feature-copy{grid-column:1/-1;grid-row:2}
 .home-page .tour-feature-copy p.tour-ad-invitation{font-size:23px;line-height:1.25;margin:0 0 16px}
 .home-page .tour-feature-copy p.tour-ad-description{font-size:15px;line-height:1.6;margin-bottom:16px}
 .home-page .tour-ad-button{width:100%;margin-top:4px}
}
/* Songman follows the tour's cover-and-heading composition. */
body.home-page main#main>.book-feature{grid-template-columns:260px minmax(0,1fr);grid-template-rows:auto 1fr;gap:22px 64px;padding:44px 64px}
.home-page .book-feature>h2{grid-column:2;grid-row:1;font-size:48px;line-height:1.08;letter-spacing:-.04em;color:#344c40;align-self:end;margin:0}
.home-page .book-feature>h2 span{display:block;font-family:Georgia,serif;font-style:italic;font-weight:400;font-size:34px;line-height:1.2;letter-spacing:-.02em;margin-top:14px}
.home-page .book-feature>.book-image{grid-column:1;grid-row:1/3;max-width:220px;width:100%;align-self:center;justify-self:center}
.home-page .book-feature>.book-copy{grid-column:2;grid-row:2;align-self:start}
.home-page .book-feature>.book-copy p{font-size:18px;line-height:1.7;margin:0 0 24px;color:#404b42}
.home-page .book-feature>.book-copy .text-link{display:inline-flex;align-items:center;background:#344c40;color:#fff;text-decoration:none;padding:13px 20px;border-radius:3px;font-size:14px}
@media(min-width:701px) and (max-width:1000px){body.home-page main#main>.book-feature{grid-template-columns:190px minmax(0,1fr);gap:20px 36px;padding:36px}.home-page .book-feature>h2{font-size:40px}}
@media(max-width:700px){body.home-page main#main>.book-feature{grid-template-columns:minmax(95px,.8fr) minmax(0,1.2fr);grid-template-rows:auto auto;gap:24px 20px;padding:24px 20px}.home-page .book-feature>.book-image{grid-column:1;grid-row:1;max-width:150px}.home-page .book-feature>h2{grid-column:2;grid-row:1;font-size:clamp(27px,7vw,36px);align-self:center}.home-page .book-feature>h2 span{font-size:23px;line-height:1.2;margin-top:12px}.home-page .book-feature>.book-copy{grid-column:1/-1;grid-row:2}.home-page .book-feature>.book-copy p{font-size:16px;line-height:1.65;margin-bottom:20px}.home-page .book-feature>.book-copy .text-link{width:100%;justify-content:space-between}}

/* Welcome and recordings share a restrained, aligned composition. */
.home-page .home-welcome{display:block;padding:34px 0 0}
.home-page .home-welcome h2{font-family:Georgia,serif;font-weight:400;font-style:italic;font-size:30px;line-height:1.25;margin:0 0 12px;color:#344c40}
.home-page .home-welcome p{font-size:18px;line-height:1.65;margin:0;color:#50554e;max-width:none}
.home-page .recordings-feature{padding:34px 0 48px}
.home-page .recordings-feature .section-heading{justify-content:space-between;align-items:baseline;gap:28px;margin-bottom:26px}
.home-page .recordings-feature .recordings-strip{grid-template-columns:repeat(6,minmax(0,1fr));gap:24px}
.home-page .recordings-feature .release-card>a{display:block}
.home-page .recordings-feature .release-card img{width:120px;height:120px;object-fit:cover;margin:0 0 14px}
.home-page .recordings-feature .release-card h3{margin:0 0 8px;font-size:17px;line-height:1.35;max-width:19ch}
.home-page .recordings-feature .release-card p{font-size:13px;margin:0;color:#666a63}
@media(min-width:701px) and (max-width:1279px){.home-page .recordings-feature .recordings-strip{grid-template-columns:repeat(3,minmax(0,1fr));gap:28px}}
@media(max-width:700px){.home-page .home-welcome{padding:26px 0 0}.home-page .home-welcome h2{font-size:26px}.home-page .home-welcome p{font-size:16px;line-height:1.65}.home-page .recordings-feature .section-heading{gap:20px;justify-content:space-between}.home-page .recordings-feature .recordings-strip{grid-template-columns:repeat(2,minmax(0,1fr));gap:26px 18px}.home-page .recordings-feature .release-card h3{font-size:16px}}
