:root{
    --trtk-midnight:var(--wp--preset--color--midnight,#142338);
    --trtk-deep-slate:var(--wp--preset--color--deep-slate,#1b2f45);
    --trtk-slate:var(--wp--preset--color--slate,#29435c);
    --trtk-paper:var(--wp--preset--color--paper,#f3ecdf);
    --trtk-ink:var(--wp--preset--color--ink,#111923);
    --trtk-gold:var(--wp--preset--color--gold,#ffb000);
    --trtk-white:#fff;
    --trtk-muted:#c0c9d3;
}
.trtk-editor-block{border:1px dashed rgba(128,128,128,.45);padding:12px;border-radius:8px}
.trtk-editor-message,.trtk-editor-placeholder{padding:18px;border:1px dashed #999;border-radius:8px;background:rgba(128,128,128,.08)}
.trtk-video-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--trtk-video-gap,22px);margin-top:30px}
.trtk-video-grid.trtk-video-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}
.trtk-video-grid.trtk-video-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}
.trtk-video-grid.trtk-video-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}
.trtk-video-card{appearance:none;border:1px solid rgba(255,255,255,.14);background:#172a3e;color:#fff!important;border-radius:20px;padding:0;overflow:hidden;text-align:left;text-decoration:none!important;cursor:pointer;min-width:0;min-height:100%;transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease}
.trtk-video-card:hover,.trtk-video-card:focus-visible{transform:translateY(-3px);border-color:rgba(255,176,0,.65);box-shadow:0 18px 34px rgba(0,0,0,.24);outline:none}
.trtk-video-thumb{display:block;position:relative;aspect-ratio:16/9;overflow:hidden;background:#09111b}
.trtk-video-ratio-4-3 .trtk-video-thumb{aspect-ratio:4/3}
.trtk-video-ratio-1-1 .trtk-video-thumb{aspect-ratio:1/1}
.trtk-video-thumb img{width:100%;height:100%;object-fit:cover;display:block}
.trtk-play{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:62px;height:62px;border-radius:50%;background:rgba(255,176,0,.95);color:#101820;display:flex;align-items:center;justify-content:center;padding-left:4px;font-size:24px;box-shadow:0 8px 24px rgba(0,0,0,.26)}
.trtk-video-copy{display:block;padding:18px 20px 22px}
.trtk-video-copy strong{display:block;font-size:18px;line-height:1.25}
.trtk-small-label{display:block;color:var(--trtk-gold);font-size:12px;font-weight:900;letter-spacing:.1em;text-transform:uppercase;margin-bottom:6px}

.trtk-channel-card{background:linear-gradient(145deg,#b92720,#e33b31);border-color:rgba(255,255,255,.2)}
.trtk-channel-card .trtk-channel-mark{font-size:15px;font-weight:900}
.trtk-channel-card strong{font-family:Impact,Haettenschweiler,"Arial Narrow Bold",sans-serif;line-height:1}
.trtk-channel-arrow{font-size:32px}

/* Standard = behaves like one ordinary card. */
.trtk-channel-standard{padding:30px;min-height:260px;display:flex;flex-direction:column;justify-content:flex-end}
.trtk-channel-standard .trtk-channel-mark{margin-bottom:auto}
.trtk-channel-standard strong{font-size:34px}
.trtk-channel-standard .trtk-channel-arrow{margin-top:12px}

/* Wide = two-column, low horizontal card. This is the default. */
.trtk-channel-wide{
    grid-column:span 2;
    min-height:170px;
    padding:28px 34px;
    display:grid;
    grid-template-columns:minmax(110px,.55fr) minmax(0,1.8fr) auto;
    align-items:center;
    gap:26px;
}
.trtk-channel-wide .trtk-channel-mark{align-self:start}
.trtk-channel-wide strong{font-size:clamp(30px,3.1vw,46px);max-width:620px}
.trtk-channel-wide .trtk-channel-arrow{font-size:42px;margin-left:auto}

/* Compact = one-column, low strip. */
.trtk-channel-compact{
    min-height:150px;
    padding:24px 26px;
    display:flex;
    flex-direction:column;
    justify-content:center;
}
.trtk-channel-compact .trtk-channel-mark{margin-bottom:18px}
.trtk-channel-compact strong{font-size:28px}
.trtk-channel-compact .trtk-channel-arrow{margin-top:12px}
.trtk-carousel-wrap{
    position:relative;
    left:50%;
    width:100vw!important;
    max-width:100vw!important;
    margin-top:24px;
    margin-left:-50vw!important;
    margin-right:-50vw!important;
    overflow:hidden;
}
/* WordPress constrained-layout rules use !important auto margins on direct
   children. This more-specific rule deliberately breaks the poster strip out
   to the actual browser edges on the live homepage. */
.tr-poster-home .tr-section-shell > .trtk-carousel-wrap,
.tr-poster-home .trtk-carousel-wrap{
    left:50%!important;
    width:100vw!important;
    max-width:100vw!important;
    margin-left:-50vw!important;
    margin-right:-50vw!important;
}
.trtk-carousel-controls{
    position:absolute;
    z-index:5;
    right:18px;
    top:-42px;
}
.trtk-carousel-toggle{
    appearance:none;
    border:1px solid rgba(17,25,35,.20);
    background:rgba(243,236,223,.90);
    color:#172231;
    border-radius:999px;
    padding:8px 12px;
    font-size:12px;
    font-weight:800;
    cursor:pointer;
}
.trtk-carousel-toggle:hover,.trtk-carousel-toggle:focus-visible{
    background:#fff;
    outline:none;
}
.trtk-carousel-viewport{
    width:100%;
    max-width:none;
    overflow-x:auto;
    overflow-y:hidden;
    scrollbar-width:none;
    -ms-overflow-style:none;
    padding:4px 0 8px;
    cursor:grab;
    touch-action:pan-x pan-y pinch-zoom;
}
.trtk-carousel-viewport.trtk-is-dragging{
    cursor:grabbing;
    user-select:none;
}
.trtk-carousel-viewport::-webkit-scrollbar{display:none}
.trtk-carousel-track{
    --trtk-carousel-duration:120s;
    display:flex;
    width:max-content;
    will-change:transform;
    animation:trtk-poster-marquee var(--trtk-carousel-duration) linear infinite;
}
.trtk-carousel-set{
    display:flex;
    flex:0 0 auto;
    align-items:center;
    gap:22px;
    padding-right:22px;
}
.trtk-carousel-paused .trtk-carousel-track,
.trtk-carousel-interacting .trtk-carousel-track{
    animation-play-state:paused;
}
@keyframes trtk-poster-marquee{
    from{transform:translate3d(0,0,0)}
    to{transform:translate3d(-33.333333%,0,0)}
}
/* Once front-end JS is attached, it owns movement via native scrollLeft.
   The CSS marquee remains for Gutenberg's visual preview and as a no-JS fallback. */
.trtk-js-carousel .trtk-carousel-track{
    animation:none!important;
    transform:none!important;
}
.trtk-poster-card{
    appearance:none;
    border:0;
    padding:0;
    margin:0;
    background:transparent;
    cursor:pointer;
    flex:0 0 auto;
    line-height:0;
}
.trtk-poster-card img{
    display:block;
    height:300px;
    width:auto;
    max-width:none;
    object-fit:initial;
    border-radius:8px;
    box-shadow:0 10px 22px rgba(17,25,35,.18);
    transition:transform .18s ease,box-shadow .18s ease;
    pointer-events:none;
    user-select:none;
    -webkit-user-select:none;
    -webkit-user-drag:none;
}
.trtk-poster-card:hover img,.trtk-poster-card:focus-visible img{
    transform:translateY(-3px);
    box-shadow:0 14px 26px rgba(17,25,35,.26);
}
.trtk-poster-card:focus-visible{
    outline:3px solid var(--trtk-gold);
    outline-offset:4px;
}
.trtk-merch-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:22px;margin-top:30px}.trtk-merch-card{appearance:none;border:1px solid rgba(255,255,255,.13);background:#f7f4ed;color:var(--trtk-ink);border-radius:20px;padding:18px;cursor:pointer;text-align:center;transition:transform .18s ease,box-shadow .18s ease}.trtk-merch-card:hover,.trtk-merch-card:focus-visible{transform:translateY(-4px);box-shadow:0 18px 34px rgba(0,0,0,.24);outline:none}.trtk-merch-image{display:flex;align-items:center;justify-content:center;height:260px}.trtk-merch-image img{max-width:100%;max-height:245px;object-fit:contain}.trtk-merch-card strong{display:block;font-size:16px;margin-top:10px}
.trtk-action-button,.trtk-modal-action{display:inline-block;border:0;border-radius:999px;background:var(--trtk-gold);color:var(--trtk-ink)!important;padding:14px 22px 13px;font-weight:900;letter-spacing:.04em;text-decoration:none!important;cursor:pointer}.trtk-action-button:disabled{opacity:.6;cursor:wait}.trtk-random-result{margin-top:26px;padding:28px 30px;border:1px solid rgba(255,255,255,.13);background:rgba(255,255,255,.07);border-radius:20px;min-height:110px}.trtk-random-placeholder{color:var(--trtk-muted);margin:0}.trtk-random-date{color:var(--trtk-gold);font-size:13px;font-weight:900;letter-spacing:.08em;text-transform:uppercase;margin-bottom:12px}.trtk-story-text{font-size:clamp(22px,2.2vw,30px);line-height:1.4;max-width:900px}.trtk-question,.trtk-answer{font-size:clamp(20px,2vw,27px);line-height:1.4}.trtk-answer{margin-top:14px}.trtk-empty{opacity:.75}
body.trtk-modal-open{overflow:hidden}.trtk-modal{display:none;position:fixed;inset:0;z-index:999999}.trtk-modal[aria-hidden="false"]{display:block}.trtk-modal-backdrop{position:absolute;inset:0;background:rgba(4,8,13,.88);backdrop-filter:blur(4px)}.trtk-modal-panel{position:relative;width:98vw;height:96vh;margin:2vh auto;background:#122135;color:#fff;border:1px solid rgba(255,255,255,.15);border-radius:22px;box-shadow:0 34px 100px rgba(0,0,0,.55);overflow:hidden}.trtk-modal-content{width:100%;height:100%;overflow:auto}.trtk-modal-close{position:absolute;z-index:5;right:16px;top:14px;width:46px;height:46px;border:0;border-radius:50%;background:rgba(0,0,0,.55);color:#fff;font-size:31px;line-height:1;cursor:pointer}.trtk-modal-nav{position:absolute;z-index:5;top:50%;transform:translateY(-50%);width:48px;height:60px;border:0;border-radius:12px;background:rgba(0,0,0,.48);color:#fff;font-size:38px;cursor:pointer}.trtk-modal-prev{left:14px}.trtk-modal-next{right:14px}
.trtk-video-modal{height:100%;display:flex;flex-direction:column;justify-content:center;padding:52px}.trtk-video-frame{width:100%;aspect-ratio:16/9;background:#000}.trtk-video-frame iframe{width:100%;height:100%;border:0;display:block}.trtk-video-modal h3{margin:18px 0 0;font-size:22px}.trtk-poster-modal{min-height:100%;display:block;background:#07101a}.trtk-poster-modal-image{width:100%;height:100%;min-height:100%;display:flex;align-items:center;justify-content:center;padding:18px 22px;background:#07101a}.trtk-poster-modal-image img{display:block;max-width:calc(98vw - 44px);max-height:calc(96vh - 36px);width:auto;height:auto;object-fit:contain;box-shadow:0 18px 48px rgba(0,0,0,.48)}.trtk-poster-modal-copy{display:none!important}.trtk-poster-modal-copy h3,.trtk-merch-modal-copy h3{font-family:Impact,Haettenschweiler,"Arial Narrow Bold",sans-serif;font-size:clamp(38px,4vw,62px);line-height:.96;text-transform:uppercase;margin:0 0 14px}.trtk-modal-meta{color:var(--trtk-gold);font-weight:900;margin-bottom:18px}.trtk-merch-modal{height:100%;display:grid;grid-template-columns:minmax(0,1.2fr) minmax(320px,1fr)}.trtk-merch-modal-image{display:flex;align-items:center;justify-content:center;padding:54px;background:#f5f0e6}.trtk-merch-modal-image img{max-width:100%;max-height:calc(92vh - 108px);object-fit:contain}.trtk-merch-modal-copy{padding:64px 48px;display:flex;flex-direction:column;justify-content:center}.trtk-merch-modal-copy p{font-size:18px;line-height:1.55}.trtk-merch-modal-copy .trtk-modal-action{align-self:flex-start;margin-top:18px}
@media(max-width:1100px){
    .trtk-video-grid.trtk-video-cols-4{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media(max-width:980px){
    .trtk-video-grid,
    .trtk-video-grid.trtk-video-cols-2,
    .trtk-video-grid.trtk-video-cols-3,
    .trtk-video-grid.trtk-video-cols-4{grid-template-columns:repeat(2,minmax(0,1fr))}
    .trtk-merch-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:760px){
    .trtk-video-grid,
    .trtk-video-grid.trtk-video-cols-2,
    .trtk-video-grid.trtk-video-cols-3,
    .trtk-video-grid.trtk-video-cols-4{grid-template-columns:1fr}
    .trtk-channel-wide{grid-column:span 1;grid-template-columns:1fr auto;min-height:150px}
    .trtk-channel-wide .trtk-channel-mark{grid-column:1/-1}
    .trtk-channel-wide strong{font-size:32px}
    .trtk-merch-grid{grid-template-columns:1fr 1fr}
    .trtk-poster-card img{height:220px;max-width:none}
    
    .trtk-poster-modal,.trtk-merch-modal{grid-template-columns:1fr;height:auto;min-height:100%}
    .trtk-poster-modal-image{padding:54px 28px 24px}
    .trtk-poster-modal-copy{padding:26px 30px 42px}
    .trtk-merch-modal-image{padding:54px 30px 18px}
    .trtk-merch-modal-copy{padding:28px 30px 42px}
    .trtk-modal-panel{width:96vw;height:94vh;margin:3vh auto}
    .trtk-video-modal{padding:62px 20px 30px}
}
@media(max-width:520px){.trtk-merch-grid{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;transition-duration:.001ms!important}}


/* v2.0.12 — artwork-first poster lightbox */
.trtk-poster-modal ~ .trtk-modal-prev,
.trtk-poster-modal ~ .trtk-modal-next{
    position:absolute;
    top:50%;
    transform:translateY(-50%);
    z-index:8;
}
.trtk-modal-prev{left:18px}
.trtk-modal-next{right:18px}

@media(max-width:760px){
    .trtk-poster-modal-image{
        padding:14px 10px!important;
    }
    .trtk-poster-modal-image img{
        max-width:calc(98vw - 20px)!important;
        max-height:calc(96vh - 28px)!important;
    }
}


/* v2.0.13 — ATTIC OF SORROWS */
.tr-attic-columns{
    gap:clamp(34px,5vw,76px);
    margin-top:42px;
    align-items:stretch;
}
.tr-attic-column{
    min-width:0;
}
.tr-attic-subtitle{
    margin:0 0 18px!important;
    color:#fff;
    font-family:Impact,Haettenschweiler,"Arial Narrow Bold",sans-serif;
    font-size:clamp(38px,4vw,58px);
    line-height:.95;
    letter-spacing:.01em;
    text-transform:uppercase;
}
.tr-attic-home .trtk-random-widget{
    display:grid;
    grid-template-columns:max-content max-content minmax(0,1fr);
    grid-template-rows:auto 1fr;
    column-gap:0;
    align-items:center;
    height:100%;
}
.tr-attic-home .trtk-action-button{
    grid-column:1;
    grid-row:1;
    align-self:center;
}
.tr-attic-home .trtk-random-result{
    grid-column:1 / -1;
    grid-row:2;
    min-width:0;
    min-height:210px;
    margin-top:24px;
}
.tr-attic-home .trtk-random-result:empty{
    display:block;
}
@media(max-width:781px){
    .tr-attic-columns{
        gap:38px;
    }
    .tr-attic-home .trtk-random-result{
        min-height:170px;
    }
}


/* v2.0.14 — Mailbag answer reveal + brisk typewriter */
.trtk-answer-reveal{
    appearance:none;
    display:block;
    width:max-content;
    margin:22px 0 0;
    border:1px solid rgba(255,176,0,.78);
    border-radius:999px;
    background:transparent;
    color:var(--trtk-gold);
    padding:10px 18px 9px;
    font-size:14px;
    font-weight:900;
    letter-spacing:.06em;
    cursor:pointer;
}
.trtk-answer-reveal:hover,
.trtk-answer-reveal:focus-visible{
    background:var(--trtk-gold);
    color:#07101c;
    outline:none;
}
.trtk-answer{
    margin-top:22px;
}
.trtk-sr-only{
    position:absolute!important;
    width:1px!important;
    height:1px!important;
    padding:0!important;
    margin:-1px!important;
    overflow:hidden!important;
    clip:rect(0,0,0,0)!important;
    white-space:nowrap!important;
    border:0!important;
}


/* v2.0.15 — ANSWER appears only when question typing is complete */
.trtk-answer-reveal{
    opacity:0;
    transform:translateY(5px);
    transition:opacity .28s ease,transform .28s ease,background .15s ease,color .15s ease;
}
.trtk-answer-reveal.trtk-answer-visible{
    opacity:1;
    transform:translateY(0);
}
@media(prefers-reduced-motion:reduce){
    .trtk-answer-reveal{
        transition:none;
        transform:none;
    }
}


/* v2.0.17 — booking/contact popup */
body.trtk-contact-open{
    overflow:hidden;
}
.trtk-contact-modal[hidden]{
    display:none!important;
}
.trtk-contact-modal{
    position:fixed;
    inset:0;
    z-index:100000;
    display:flex;
    align-items:center;
    justify-content:center;
    padding:clamp(12px,2.2vw,34px);
}
.trtk-contact-backdrop{
    position:absolute;
    inset:0;
    background:rgba(3,8,15,.82);
    backdrop-filter:blur(6px);
}
.trtk-contact-panel{
    position:relative;
    z-index:1;
    width:min(1180px,96vw);
    max-height:94vh;
    overflow:auto;
    border:1px solid rgba(255,255,255,.16);
    border-radius:26px;
    background:#142338;
    color:#fff;
    box-shadow:0 30px 80px rgba(0,0,0,.46);
}
.trtk-contact-close{
    position:absolute;
    z-index:3;
    top:20px;
    right:20px;
    width:48px;
    height:48px;
    border:1px solid rgba(255,255,255,.20);
    border-radius:50%;
    background:#263850;
    color:#fff;
    font-size:32px;
    line-height:1;
    cursor:pointer;
}
.trtk-contact-close:hover,
.trtk-contact-close:focus-visible{
    border-color:var(--trtk-gold);
    outline:none;
}
.trtk-contact-header{
    padding:48px clamp(28px,5vw,64px) 32px;
    border-bottom:1px solid rgba(255,255,255,.12);
}
.trtk-contact-kicker{
    margin-bottom:10px;
    color:var(--trtk-gold);
    font-size:13px;
    font-weight:900;
    letter-spacing:.14em;
}
.trtk-contact-header h2{
    max-width:900px;
    margin:0 60px 14px 0;
    color:#fff;
    font-family:Impact,Haettenschweiler,"Arial Narrow Bold",sans-serif;
    font-size:clamp(48px,7vw,88px);
    line-height:.9;
    text-transform:uppercase;
}
.trtk-contact-header p{
    margin:0;
    color:#d9e0e8;
    font-size:18px;
    line-height:1.45;
}
.trtk-contact-grid{
    display:grid;
    grid-template-columns:minmax(0,1.35fr) minmax(280px,.65fr);
}
.trtk-contact-form{
    padding:38px clamp(28px,5vw,64px) 46px;
}
.trtk-contact-fields{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:20px;
}
.trtk-contact-fields label{
    display:block;
}
.trtk-contact-fields label > span{
    display:block;
    margin:0 0 7px;
    color:#c9d2dd;
    font-size:13px;
    font-weight:800;
    letter-spacing:.05em;
    text-transform:uppercase;
}
.trtk-contact-fields input,
.trtk-contact-fields textarea{
    box-sizing:border-box;
    width:100%;
    border:1px solid rgba(255,255,255,.20);
    border-radius:11px;
    background:#0f1c2d;
    color:#fff;
    padding:13px 14px;
    font:inherit;
    line-height:1.4;
}
.trtk-contact-fields input:focus,
.trtk-contact-fields textarea:focus{
    border-color:var(--trtk-gold);
    outline:2px solid rgba(255,176,0,.22);
    outline-offset:1px;
}
.trtk-contact-fields textarea{
    min-height:170px;
    resize:vertical;
}
.trtk-contact-full{
    grid-column:1/-1;
}
.trtk-contact-honeypot{
    position:absolute!important;
    left:-10000px!important;
    width:1px!important;
    height:1px!important;
    overflow:hidden!important;
}
.trtk-contact-submit-row{
    display:flex;
    align-items:center;
    gap:18px;
    margin-top:24px;
    min-height:50px;
}
.trtk-contact-submit{
    appearance:none;
    border:0;
    border-radius:999px;
    background:var(--trtk-gold);
    color:#07101c;
    padding:14px 25px 13px;
    font-size:14px;
    font-weight:900;
    letter-spacing:.06em;
    cursor:pointer;
}
.trtk-contact-submit:hover,
.trtk-contact-submit:focus-visible{
    filter:brightness(1.08);
    outline:3px solid rgba(255,255,255,.22);
    outline-offset:2px;
}
.trtk-contact-submit:disabled{
    opacity:.58;
    cursor:wait;
}
.trtk-contact-status{
    color:#d7dee8;
    font-size:14px;
    line-height:1.35;
}
.trtk-contact-success{
    color:#fff;
}
.trtk-contact-error{
    color:#ffb3aa;
}
.trtk-contact-people{
    padding:38px clamp(28px,4vw,46px) 46px;
    border-left:1px solid rgba(255,255,255,.12);
    background:#101d2e;
}
.trtk-contact-people h3{
    margin:0 0 24px;
    color:#fff;
    font-family:Impact,Haettenschweiler,"Arial Narrow Bold",sans-serif;
    font-size:34px;
    letter-spacing:.02em;
}
.trtk-contact-person{
    padding:0 0 25px;
    margin:0 0 25px;
    border-bottom:1px solid rgba(255,255,255,.10);
}
.trtk-contact-person:last-child{
    margin-bottom:0;
    padding-bottom:0;
    border-bottom:0;
}
.trtk-contact-role{
    color:var(--trtk-gold);
    font-size:12px;
    font-weight:900;
    letter-spacing:.08em;
    line-height:1.35;
    text-transform:uppercase;
}
.trtk-contact-name{
    margin:7px 0 5px;
    color:#fff;
    font-size:20px;
    font-weight:800;
}
.trtk-contact-person a{
    color:#dbe4ef!important;
    text-decoration:none!important;
}
.trtk-contact-person a:hover,
.trtk-contact-person a:focus-visible{
    color:var(--trtk-gold)!important;
    text-decoration:underline!important;
}

@media(max-width:760px){
    .trtk-contact-modal{
        padding:8px;
    }
    .trtk-contact-panel{
        width:100%;
        max-height:98vh;
        border-radius:18px;
    }
    .trtk-contact-header{
        padding:40px 22px 24px;
    }
    .trtk-contact-header h2{
        margin-right:44px;
        font-size:clamp(44px,15vw,68px);
    }
    .trtk-contact-grid{
        grid-template-columns:1fr;
    }
    .trtk-contact-form{
        padding:28px 22px 34px;
    }
    .trtk-contact-fields{
        grid-template-columns:1fr;
    }
    .trtk-contact-full{
        grid-column:auto;
    }
    .trtk-contact-people{
        border-left:0;
        border-top:1px solid rgba(255,255,255,.12);
        padding:30px 22px 36px;
    }
}


/* v2.0.18 — mobile Attic of Sorrows flow fix */
@media(max-width:781px){
    .tr-attic-columns{
        display:block!important;
    }
    .tr-attic-column{
        width:100%!important;
        margin:0!important;
    }
    .tr-attic-column + .tr-attic-column{
        margin-top:42px!important;
    }
    .tr-attic-home .trtk-random-widget{
        display:block!important;
        height:auto!important;
    }
    .tr-attic-home .trtk-random-result{
        min-height:0!important;
        height:auto!important;
        margin-top:22px!important;
        padding-bottom:26px;
    }
    .tr-attic-home .trtk-random-result:empty{
        min-height:120px!important;
    }
    .tr-attic-subtitle{
        margin-top:0!important;
        clear:both;
    }
}


/* v2.0.19 — hero headline fit / face-preservation fix
   The Gutenberg fluid type scale was growing with viewport width, which made
   the desktop headline larger after DevTools closed and forced an extra line.
   Override that behavior for the homepage hero only. */
.tr-hero .tr-kicker,
.tr-home-hero .tr-kicker,
.wp-block-cover .tr-kicker{
    font-size:clamp(56px,7.1vw,118px)!important;
    line-height:.78!important;
    letter-spacing:-.025em!important;
    white-space:nowrap!important;
    text-wrap:nowrap!important;
    max-width:none!important;
}
.tr-hero .tr-weight,
.tr-home-hero .tr-weight,
.wp-block-cover .tr-weight{
    font-size:clamp(31px,3.55vw,58px)!important;
    line-height:.92!important;
    white-space:nowrap!important;
    text-wrap:nowrap!important;
}

/* Keep the complete hero copy cluster higher on desktop so it doesn't bury
   the center row of faces. */
@media(min-width:900px){
    .tr-hero .wp-block-cover__inner-container,
    .tr-home-hero .wp-block-cover__inner-container,
    .wp-block-cover:has(.tr-kicker) .wp-block-cover__inner-container{
        transform:translateY(-6vh);
    }
}

/* At narrower widths, wrapping the giant heading is intentional; otherwise
   forcing a single line would make the type unreadably small. */
@media(max-width:899px){
    .tr-hero .tr-kicker,
    .tr-home-hero .tr-kicker,
    .wp-block-cover .tr-kicker{
        font-size:clamp(48px,13vw,88px)!important;
        line-height:.82!important;
        white-space:normal!important;
        text-wrap:balance!important;
    }
    .tr-hero .tr-weight,
    .tr-home-hero .tr-weight,
    .wp-block-cover .tr-weight{
        font-size:clamp(28px,7.6vw,48px)!important;
        white-space:normal!important;
        text-wrap:balance!important;
    }
}


/* v2.0.20 — hero optical spacing + explicit alignment
   Normal kerning remains enabled; the previous negative tracking was the source
   of much of the "crunched" appearance. */
.tr-hero .tr-kicker,
.tr-home-hero .tr-kicker,
.wp-block-cover .tr-kicker{
    letter-spacing:.006em!important;
    font-kerning:normal!important;
    font-feature-settings:"kern" 1!important;
}
.tr-hero .tr-weight,
.tr-home-hero .tr-weight,
.wp-block-cover .tr-weight{
    letter-spacing:.004em!important;
    font-kerning:normal!important;
    font-feature-settings:"kern" 1!important;
}

@media(min-width:900px){
    /* v2.0.19 shifted the entire content cluster. Stop doing that: the four
       hero elements now have independent, intentional positions. */
    .tr-hero .wp-block-cover__inner-container,
    .tr-home-hero .wp-block-cover__inner-container,
    .wp-block-cover:has(.tr-kicker) .wp-block-cover__inner-container{
        transform:none!important;
    }

    .trtk-hero-layout{
        position:relative!important;
    }

    /* Give absolute-positioned hero elements the Cover itself as their
       positioning reference rather than Gutenberg's inner content width. */
    .trtk-hero-layout > .wp-block-cover__inner-container{
        position:static!important;
    }

    .trtk-hero-layout .tr-kicker{
        position:absolute!important;
        z-index:4;
        top:2%!important;
        left:50%!important;
        width:max-content!important;
        max-width:94vw!important;
        margin:0!important;
        transform:translateX(-50%)!important;
        text-align:center!important;
    }

    .trtk-hero-layout .tr-weight{
        position:absolute!important;
        z-index:4;
        top:18%!important;
        left:50%!important;
        width:max-content!important;
        max-width:94vw!important;
        margin:0!important;
        transform:translateX(-50%)!important;
        text-align:center!important;
    }

    .trtk-hero-layout .trtk-hero-music{
        position:absolute!important;
        z-index:4;
        left:50%!important;
        bottom:104px!important;
        width:max-content!important;
        max-width:90vw!important;
        margin:0!important;
        transform:translateX(-50%)!important;
        text-align:center!important;
    }

    .trtk-hero-layout .trtk-hero-book{
        position:absolute!important;
        z-index:4;
        left:50%!important;
        bottom:26px!important;
        width:max-content!important;
        max-width:90vw!important;
        margin:0!important;
        transform:translateX(-50%)!important;
        justify-content:center!important;
    }

    .trtk-hero-layout .trtk-hero-book.wp-block-buttons{
        display:flex!important;
    }
}

/* On smaller screens keep Gutenberg's normal vertical flow; only retain the
   improved letter spacing. */
@media(max-width:899px){
    .trtk-hero-layout .trtk-hero-music,
    .trtk-hero-layout .trtk-hero-book{
        position:static!important;
        transform:none!important;
        margin-left:auto!important;
        margin-right:auto!important;
        text-align:center!important;
    }

    .trtk-hero-layout .trtk-hero-book.wp-block-buttons{
        justify-content:center!important;
    }
}


/* v2.0.21 — definitive hero geometry
   The four visible hero elements are moved by JS into TWO containers that are
   direct children of .tr-hero. Therefore top/bottom/left are now calculated
   from the full photograph, not from a nested Gutenberg content wrapper. */

.trtk-hero-layout{
    position:relative!important;
}

/* Neutralize all v2.0.19/v2.0.20 absolute positioning on the individual blocks. */
.trtk-hero-layout .trtk-hero-top-cluster .tr-kicker,
.trtk-hero-layout .trtk-hero-top-cluster .tr-weight,
.trtk-hero-layout .trtk-hero-bottom-cluster .trtk-hero-music,
.trtk-hero-layout .trtk-hero-bottom-cluster .trtk-hero-book{
    position:static!important;
    top:auto!important;
    right:auto!important;
    bottom:auto!important;
    left:auto!important;
    transform:none!important;
    margin:0!important;
}

/* Both clusters use the exact same horizontal axis. */
.trtk-hero-top-cluster,
.trtk-hero-bottom-cluster{
    position:absolute!important;
    z-index:6;
    left:50%!important;
    transform:translateX(-50%)!important;
    display:flex!important;
    flex-direction:column!important;
    align-items:center!important;
    justify-content:center!important;
    width:min(96%,1600px)!important;
    text-align:center!important;
}

/* Headline cluster: top of the photograph. */
.trtk-hero-top-cluster{
    top:clamp(14px,2.1vw,32px)!important;
    gap:clamp(5px,.65vw,11px)!important;
}

/* CTA cluster: ACTUALLY anchored to the bottom of the photograph. */
.trtk-hero-bottom-cluster{
    bottom:clamp(22px,2vw,32px)!important;
    gap:clamp(12px,1.15vw,20px)!important;
}

/* Desktop display type. Deliberately modest growth so widening the browser
   does not make the headline balloon until it wraps. */
.trtk-hero-top-cluster .tr-kicker{
    width:max-content!important;
    max-width:96vw!important;
    white-space:nowrap!important;
    text-wrap:nowrap!important;
    font-size:clamp(58px,6.15vw,102px)!important;
    line-height:.86!important;
    letter-spacing:.012em!important;
    font-kerning:normal!important;
    font-feature-settings:"kern" 1!important;
    text-align:center!important;
}

.trtk-hero-top-cluster .tr-weight{
    width:max-content!important;
    max-width:94vw!important;
    white-space:nowrap!important;
    text-wrap:nowrap!important;
    font-size:clamp(32px,3.15vw,52px)!important;
    line-height:.94!important;
    letter-spacing:.006em!important;
    font-kerning:normal!important;
    font-feature-settings:"kern" 1!important;
    text-align:center!important;
}

.trtk-hero-bottom-cluster .trtk-hero-music{
    width:max-content!important;
    max-width:92vw!important;
    text-align:center!important;
}

.trtk-hero-bottom-cluster .trtk-hero-book{
    width:max-content!important;
    max-width:92vw!important;
    justify-content:center!important;
    text-align:center!important;
}

.trtk-hero-bottom-cluster .trtk-hero-book.wp-block-buttons{
    display:flex!important;
}

/* Narrow/tablet: keep the same two real anchors; only let the headline wrap. */
@media(max-width:899px){
    .trtk-hero-top-cluster{
        top:clamp(18px,4vw,34px)!important;
        width:94%!important;
    }

    .trtk-hero-bottom-cluster{
        bottom:clamp(20px,4vw,34px)!important;
        width:94%!important;
        gap:14px!important;
    }

    .trtk-hero-top-cluster .tr-kicker{
        width:100%!important;
        max-width:100%!important;
        white-space:normal!important;
        text-wrap:balance!important;
        font-size:clamp(52px,14.8vw,82px)!important;
        line-height:.82!important;
        letter-spacing:.008em!important;
    }

    .trtk-hero-top-cluster .tr-weight{
        width:100%!important;
        max-width:100%!important;
        white-space:normal!important;
        text-wrap:balance!important;
        font-size:clamp(30px,8.3vw,46px)!important;
        line-height:.91!important;
    }
}


/* v2.0.22 — friendlier Shows proportions
   Tone Rangers Shows owns the base card CSS; these site-level rules deliberately
   tune it to the same narrower visual rhythm as Watch + Listen. */
.tr-shows-section .tr-shows-inner{
    width:min(1020px,calc(100% - 64px))!important;
}
.tr-shows-section{
    padding-top:64px!important;
    padding-bottom:70px!important;
}
.tr-shows-section h2{
    font-size:clamp(46px,5.5vw,72px)!important;
    margin-bottom:30px!important;
}
.tr-shows-list{
    gap:18px!important;
}
.tr-show-card{
    grid-template-columns:150px 126px 1fr!important;
    min-height:166px!important;
    border-radius:18px!important;
}
.tr-show-art{
    min-height:166px!important;
    padding:18px 14px 18px 18px!important;
}
.tr-show-art-frame{
    max-width:108px!important;
    max-height:108px!important;
    border-radius:12px!important;
}
.tr-show-date{
    padding:18px 12px!important;
}
.tr-show-weekday{
    font-size:11px!important;
    margin-bottom:6px!important;
}
.tr-show-month{
    font-size:18px!important;
}
.tr-show-day{
    font-size:52px!important;
}
.tr-show-year{
    font-size:12px!important;
}
.tr-show-time{
    font-size:14px!important;
    margin-top:9px!important;
}
.tr-show-copy{
    padding:22px 30px 22px 28px!important;
}
.tr-show-copy h3{
    font-size:clamp(27px,2.65vw,39px)!important;
    margin-bottom:6px!important;
}
.tr-show-title{
    font-size:clamp(17px,1.6vw,22px)!important;
}
.tr-show-city{
    font-size:12px!important;
}
.tr-show-copy p{
    font-size:15px!important;
    line-height:1.4!important;
    margin-top:5px!important;
}
.tr-past-link-wrap{
    margin-top:24px!important;
}

/* v2.0.22 — How About a Song: artwork is an image, not a dimmed backdrop. */
.tr-song-home{
    padding:clamp(64px,7vw,100px) 0!important;
}
.tr-song-shell{
    width:min(1120px,calc(100% - 64px))!important;
    max-width:1120px!important;
    margin-left:auto!important;
    margin-right:auto!important;
}
.tr-song-columns{
    gap:clamp(42px,6vw,82px)!important;
    align-items:center!important;
    margin:0!important;
}
.tr-song-picture-column{
    flex-basis:46%!important;
}
.tr-song-copy-column{
    flex-basis:54%!important;
}
.tr-song-image{
    margin:0!important;
}
.tr-song-image img{
    display:block!important;
    width:100%!important;
    height:auto!important;
    max-height:650px!important;
    object-fit:contain!important;
    border-radius:22px!important;
    opacity:1!important;
    filter:none!important;
    box-shadow:0 24px 50px rgba(0,0,0,.28)!important;
}
.tr-song-title{
    margin:0 0 24px!important;
    color:#fff!important;
    font-family:Impact,Haettenschweiler,"Arial Narrow Bold",sans-serif!important;
    font-size:clamp(62px,6.4vw,100px)!important;
    line-height:.86!important;
    letter-spacing:.008em!important;
    text-transform:uppercase!important;
}
.tr-song-deck{
    margin:0 0 24px!important;
    color:#fff!important;
    font-size:clamp(19px,1.65vw,25px)!important;
    line-height:1.4!important;
}
.tr-song-actions{
    margin:0!important;
}
.tr-song-book-button .wp-block-button__link{
    border-radius:999px!important;
    background:var(--trtk-gold)!important;
    color:var(--trtk-ink)!important;
    padding:14px 24px 13px!important;
    font-weight:900!important;
    letter-spacing:.04em!important;
}
.tr-song-footnote{
    margin:12px 0 0!important;
    color:#dce3eb!important;
    font-size:14px!important;
    font-weight:700!important;
}

.trtk-sound-toggle {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    width: auto !important;
    min-width: 0 !important;
    margin: 0 0 0 12px !important;
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
    font-size: 24px;
    line-height: 1;
    cursor: pointer;
    vertical-align: middle;
}

.trtk-action-button {
    display: inline-flex;
    vertical-align: middle;
}

.trtk-sound-toggle:hover {
    transform: scale(1.08);
}

@media(max-width:781px){
    .tr-shows-section .tr-shows-inner{
        width:min(100% - 32px,680px)!important;
    }
    .tr-shows-section{
        padding-top:48px!important;
        padding-bottom:54px!important;
    }
    .tr-show-card{
        grid-template-columns:104px 96px 1fr!important;
        min-height:142px!important;
    }
    .tr-show-art{
        min-height:142px!important;
        padding:14px 10px 14px 12px!important;
    }
    .tr-show-art-frame{
        max-width:78px!important;
        max-height:78px!important;
    }
    .tr-show-day{
        font-size:43px!important;
    }
    .tr-show-copy{
        padding:18px 18px 18px 20px!important;
    }

    .tr-song-shell{
        width:min(100% - 32px,680px)!important;
    }
    .tr-song-columns{
        gap:34px!important;
    }
    .tr-song-title{
        font-size:clamp(54px,14vw,78px)!important;
    }
}

@media(max-width:560px){
    .tr-show-card{
        grid-template-columns:92px 88px 1fr!important;
    }
    .tr-show-copy h3{
        font-size:25px!important;
    }
    .tr-show-copy p{
        font-size:14px!important;
    }

    .tr-song-columns{
        display:flex!important;
        flex-direction:column!important;
    }
    .tr-song-picture-column,
    .tr-song-copy-column{
        flex-basis:auto!important;
        width:100%!important;
    }
    .tr-song-image img{
        max-height:none!important;
    }
    .tr-song-copy-column{
        text-align:left!important;
    }
}
