/* Shared page hierarchy. PDF identity: Jost headings, Minion editorial copy.
   Keep the homepage cover treatment and product/card hierarchies independent. */
:root{
 --ttt-page-title-size:clamp(36px,4vw,50px);
 --ttt-section-title-size:clamp(28px,3vw,36px);
 --ttt-heading-leading:1.15;
 --ttt-page-top:48px;
 --ttt-heading-bottom:32px;
 --ttt-heading-gap:40px;
}
#content :is(.ttt-page-heading,.ttt-shop-opening,.ttt-commerce-heading){
 padding-bottom:var(--ttt-heading-bottom);margin-bottom:var(--ttt-heading-gap);
 border-bottom:1px solid var(--ttt-rule);
}
#content :is(.ttt-page-heading,.ttt-shop-opening,.ttt-commerce-heading) h1,
#content .ttt-page-main:not(:has(.ttt-home)) .entry-content>h1,
#content .ttt-page-main .entry-header h1{
 font-size:var(--ttt-page-title-size);line-height:var(--ttt-heading-leading);
 letter-spacing:-.02em;color:var(--ttt-ink);text-transform:none;
 text-decoration:none;margin:0 0 24px;
}
#content :is(.ttt-page-heading,.ttt-shop-opening,.ttt-commerce-heading) p:not(.ttt-page-kicker):not(.ttt-note-date){
 font:400 21px/1.5 var(--ttt-serif);letter-spacing:normal;
 max-width:740px;margin:0 0 24px;color:var(--ttt-ink);
}
#content :is(.ttt-page-heading,.ttt-shop-opening,.ttt-commerce-heading) .ttt-page-kicker{
 font:600 16px/1.4 var(--ttt-sans);letter-spacing:.1em;
 text-transform:uppercase;text-decoration:none;margin:0 0 16px;
 color:var(--ttt-ink);max-width:740px;
}
#content :is(.ttt-editorial-page,.ttt-commerce-main) h2,
#content .ttt-shop-section h2,
#content .ttt-page-main:not(:has(.ttt-home)) .entry-content>h2{
 font-size:var(--ttt-section-title-size);line-height:var(--ttt-heading-leading);
 letter-spacing:-.02em;text-decoration:none;
}
#content :is(.ttt-page-heading,.ttt-shop-opening,.ttt-commerce-heading) :is(.ttt-shop-nav,.ttt-discography-jumps){
 display:flex;flex-wrap:wrap;gap:8px 30px;margin-top:24px;padding:0;
 border:0;font:400 17px/1.5 var(--ttt-sans);
}
#content :is(.ttt-page-heading,.ttt-shop-opening,.ttt-commerce-heading) :is(.ttt-shop-nav,.ttt-discography-jumps) a{
 display:inline-flex;align-items:center;min-height:44px;padding:8px 0;
 font:400 17px/1.5 var(--ttt-sans);border:0;
 color:var(--ttt-ink);text-decoration:underline;text-decoration-color:currentColor;
 text-decoration-thickness:1px;text-underline-offset:5px;
}
#content :is(.ttt-page-heading,.ttt-shop-opening,.ttt-commerce-heading) nav a:is(:hover,[aria-current=page]){
 text-decoration-thickness:2px;
}
#content :is(.ttt-page-heading,.ttt-shop-opening,.ttt-commerce-heading) nav a[aria-current=page]{font-weight:600}
#content :is(.ttt-page-heading,.ttt-shop-opening,.ttt-commerce-heading) nav a:focus-visible{
 outline:2px solid var(--ttt-ink);outline-offset:4px;
}
#content .ttt-editorial-page{max-width:1320px;padding-top:var(--ttt-page-top)}
.ttt-compact-shop #content #primary.ttt-shop-main{padding-top:var(--ttt-page-top)!important}
.page-id-4575 #content .ttt-page-main article>.entry-content{padding-top:var(--ttt-page-top)}
.page-id-4575 #content .entry-content>h1{padding-bottom:var(--ttt-heading-bottom);margin-bottom:var(--ttt-heading-gap)}
/* The opening now owns the separator; avoid a second rule above its first section. */
#content .ttt-shop-main>.ttt-shop-opening~.ttt-shop-section:first-of-type{
 border-top:0;margin-top:0;padding-top:0;
}
@media(max-width:767px){
 :root{--ttt-page-top:36px;--ttt-heading-bottom:24px;--ttt-heading-gap:32px}
}

#content .ttt-catalogue-main>.ttt-shop-opening~#ttt-catalogue-content>.ttt-catalogue-form{border-top:0;padding-top:0}

/* Two TTT covers and an original Philips LP sleeve, placed like objects on a table. */
#content .ttt-shop-tabletop-heading{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:36px;align-items:center}
.ttt-shop-opening-copy{min-width:0}
.ttt-shop-tabletop{position:relative;width:80%;max-width:408px;aspect-ratio:1.5;justify-self:end;isolation:isolate;pointer-events:none}
.ttt-tabletop-cover{position:absolute;width:36%;box-shadow:2px 5px 9px #0002,0 1px 2px #0003;background:#fff}
.ttt-tabletop-cover img{display:block;width:100%;height:auto;aspect-ratio:1;object-fit:contain}
.ttt-tabletop-cover-0{left:4%;top:12%;transform:rotate(-13deg);z-index:2}
.ttt-tabletop-cover-1{left:29%;top:3%;transform:rotate(7deg);z-index:3}
.ttt-tabletop-cover-2{left:22%;top:40%;transform:rotate(-5deg);z-index:4}
.ttt-tabletop-shellac{position:absolute;right:0;top:0;width:53%;z-index:1;transform:rotate(18deg);box-shadow:3px 6px 10px #0003}
.ttt-tabletop-shellac img{display:block;width:100%;height:auto}
@media(max-width:767px){
 #content .ttt-shop-tabletop-heading{grid-template-columns:1fr;gap:24px}
 .ttt-shop-tabletop{max-width:312px;width:73.6%;justify-self:center}
}

/* Original Sondor portrait and discography, fanned at the Shop artwork position. */
#content .ttt-discography-fan-heading{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:36px;align-items:center}
.ttt-discography-heading-copy{min-width:0}
.ttt-discography-fan{position:relative;width:80%;max-width:408px;aspect-ratio:1.5;justify-self:end;isolation:isolate;pointer-events:none}
.ttt-discography-fan img{position:absolute;display:block;width:43%;height:auto;box-shadow:2px 5px 9px #0002,0 1px 2px #0003}
.ttt-discography-fan-back{left:46%;top:2%;transform:rotate(12deg);z-index:1}
.ttt-discography-fan-front{left:15%;top:3%;transform:rotate(-12deg);z-index:2}
@media(max-width:767px){
 #content .ttt-discography-fan-heading{grid-template-columns:1fr;gap:24px}
 .ttt-discography-fan{max-width:312px;width:73.6%;justify-self:center}
}

/* FAQ: full archival photograph, including its embedded credits. */
#content .ttt-faq-page .ttt-page-heading{position:relative;min-height:304px;padding-right:44%;display:flex;flex-direction:column;justify-content:center}
#content .ttt-faq-page .ttt-page-heading::after{content:"";position:absolute;right:0;top:27.2px;width:217.6px;max-width:27.2%;aspect-ratio:1;background:url("captainslog-512.jpg") center/contain no-repeat;background-image:image-set(url("captainslog-512.avif") type("image/avif"),url("captainslog-512.webp") type("image/webp"),url("captainslog-512.jpg") type("image/jpeg"));box-shadow:2px 5px 9px #0002}
@media(max-width:767px){
 #content .ttt-faq-page .ttt-page-heading{min-height:0;padding-right:0}
 #content .ttt-faq-page .ttt-page-heading::after{position:relative;top:0;align-self:center;width:52%;max-width:217.6px;margin-top:8px}
}

.ttt-tagging-page #performers{display:flow-root}
.ttt-tagging-example{float:right;width:44%;margin:0 0 24px 28px;position:relative;z-index:2}
.ttt-tagging-example img{display:block;width:100%;height:auto;aspect-ratio:.95;object-fit:cover;object-position:right top;background:#fff;box-shadow:0 3px 12px #0002;transition:transform .2s ease;transform-origin:right center}
.ttt-tagging-example figcaption{font:400 14px/1.4 var(--ttt-sans);margin-top:12px}
.ttt-tagging-example a:focus-visible img{transform:scale(1.8)}
@media(hover:hover) and (min-width:768px){.ttt-tagging-example a:hover img{transform:scale(1.8)}}
@media(max-width:767px){.ttt-tagging-example{float:none;width:100%;margin:0 0 28px}.ttt-tagging-example a:focus-visible img{transform:none}}
@media(prefers-reduced-motion:reduce){.ttt-tagging-example img{transition:none}}

/* A single spacing owner prevents flex headers from adding two margins. */
:root{--ttt-kicker-title-gap:16px;--ttt-title-subtitle-gap:24px}
#content :is(.ttt-page-heading,.ttt-shop-opening,.ttt-commerce-heading) h1{margin-top:0;margin-bottom:0}
#content :is(.ttt-page-heading,.ttt-shop-opening,.ttt-commerce-heading) .ttt-page-kicker{margin-top:0;margin-bottom:var(--ttt-kicker-title-gap)}
#content :is(.ttt-page-heading,.ttt-shop-opening,.ttt-commerce-heading) p:not(.ttt-page-kicker):not(.ttt-note-date){margin-top:0;margin-bottom:0}
#content :is(.ttt-page-heading,.ttt-shop-opening,.ttt-commerce-heading) :is(.ttt-shop-nav,.ttt-discography-jumps){margin-top:0;margin-bottom:0}
#content #primary :is(.ttt-page-heading,.ttt-shop-opening,.ttt-commerce-heading) h1 + :is(p,nav),
#content #primary :is(.ttt-page-heading,.ttt-shop-opening,.ttt-commerce-heading) p + :is(.ttt-shop-nav,.ttt-discography-jumps){margin-top:var(--ttt-title-subtitle-gap)}

#content .ttt-about-page .ttt-page-heading{min-height:240px;padding-right:40%;display:flex;flex-direction:column;justify-content:center}
.ttt-about-header-photo{position:absolute;right:0;top:12px;width:272px;max-width:34%;margin:0;box-shadow:2px 5px 9px #0002}
.ttt-about-header-photo img{display:block;width:100%;height:auto;aspect-ratio:1.5;object-fit:cover;object-position:center}
@media(max-width:767px){#content .ttt-about-page .ttt-page-heading{min-height:0;padding-right:0}.ttt-about-header-photo{position:relative;top:auto;align-self:center;width:65%;max-width:272px;margin-top:24px}}
