/**
 * SHH OFFICIAL WEBSITE 2026
 * Main Stylesheet
 *
 * Common UI
 * Header / Footer
 * LIVE List
 * LIVE Detail
 */


/* =========================================================
   01. DESIGN TOKENS
   ========================================================= */

:root {
    --shh-bg: #050505;
    --shh-bg-black: #000;
    --shh-surface: #0d0d0d;
    --shh-surface-soft: #151515;

    --shh-text: #f5f5f5;
    --shh-text-muted: rgba(255, 255, 255, .58);
    --shh-text-dim: rgba(255, 255, 255, .42);

    --shh-accent: #ffd400;

    --shh-border: rgba(255, 255, 255, .18);
    --shh-border-soft: rgba(255, 255, 255, .10);

    --shh-header-height: 64px;

    --shh-content-width: 1200px;
    --shh-content-narrow: 960px;

    --shh-side-space: 20px;

    --shh-font:
        ui-sans-serif,
        system-ui,
        -apple-system,
        BlinkMacSystemFont,
        "Helvetica Neue",
        "Hiragino Sans",
        "Hiragino Kaku Gothic ProN",
        "Yu Gothic",
        Meiryo,
        sans-serif;

    --shh-transition: 180ms ease;
}


/* =========================================================
   02. GLOBAL
   ========================================================= */

html {
    margin: 0;
    background: var(--shh-bg);
}

body.shh-2026,
body.shh-v2 {
    width: 100%;
    min-height: 100%;
    margin: 0;
    padding: 0;

    overflow-x: hidden;

    background: var(--shh-bg);
    color: var(--shh-text);

    font-family: var(--shh-font);

    -webkit-font-smoothing: antialiased;
    text-rendering: optimizeLegibility;
}

body.shh-2026 *,
body.shh-2026 *::before,
body.shh-2026 *::after,
body.shh-v2 *,
body.shh-v2 *::before,
body.shh-v2 *::after {
    box-sizing: border-box;
}

body.shh-2026 a,
body.shh-v2 a {
    color: inherit;
}

body.shh-2026 img,
body.shh-v2 img {
    display: block;
    max-width: 100%;
    height: auto;
}


/* =========================================================
   03. WORDPRESS / ASTRA RESET
   ========================================================= */

body.shh-2026 .site,
body.shh-2026 .site-content,
body.shh-2026 .ast-container,
body.shh-2026 .content-area,
body.shh-2026 .site-main,
body.shh-v2 .site,
body.shh-v2 .site-content,
body.shh-v2 .ast-container,
body.shh-v2 .content-area,
body.shh-v2 .site-main {
    max-width: none;
    margin: 0;
    padding: 0;

    background: var(--shh-bg);
}

body.shh-2026 .shh-main,
body.shh-v2 .shh-main {
    width: 100%;
    margin: 0;
    padding: 0;
}


/* =========================================================
   04. COMMON LAYOUT
   ========================================================= */

.shh-container {
    width: min(
        calc(100% - (var(--shh-side-space) * 2)),
        var(--shh-content-width)
    );

    margin-inline: auto;
}

.shh-container--narrow {
    max-width: var(--shh-content-narrow);
}

.shh-section {
    padding: 72px 0;
}

.shh-section-title {
    margin: 0;

    color: var(--shh-text);

    font-size: clamp(1.65rem, 4vw, 2.5rem);
    font-weight: 700;
    line-height: 1.1;
    letter-spacing: .06em;
}

.shh-section-title::before {
    content: "";

    display: inline-block;

    width: 5px;
    height: .85em;

    margin-right: 12px;

    background: var(--shh-accent);
}


/* =========================================================
   05. HEADER
   ========================================================= */

.shh-header {
    position: sticky;
    top: 0;
    z-index: 1000;

    width: 100%;
    height: var(--shh-header-height);

    margin: 0;
    padding: 0;

    background: rgba(5, 5, 5, .94);

    border-bottom: 1px solid var(--shh-border-soft);

    backdrop-filter: blur(14px);
    -webkit-backdrop-filter: blur(14px);
}

.shh-header__inner {
    width: min(
        calc(100% - (var(--shh-side-space) * 2)),
        var(--shh-content-width)
    );

    height: 100%;

    margin-inline: auto;

    display: flex;
    align-items: center;
    justify-content: space-between;

    gap: 28px;
}


/* ---------- DESKTOP NAV ---------- */



.shh-header__nav {
    display: flex;
    align-items: center;

    gap: 24px;

    margin-left: auto;
}

.shh-header__nav a {
    position: relative;

    display: block;

    height: var(--shh-header-height);

    color: var(--shh-text);

    text-decoration: none;

    font-size: 11px;
    font-weight: 700;
    line-height: var(--shh-header-height);
    letter-spacing: .08em;

    white-space: nowrap;
}

.shh-header__nav a::after {
    content: "";

    position: absolute;
    right: 0;
    bottom: 12px;
    left: 0;

    height: 2px;

    background: var(--shh-accent);

    transform: scaleX(0);

    transition: transform var(--shh-transition);
}

@media (hover: hover) {

    .shh-header__nav a:hover {
        color: var(--shh-accent);
    }

    .shh-header__nav a:hover::after {
        transform: scaleX(1);
    }
}


/* ---------- WP ADMIN BAR ---------- */



body.admin-bar .shh-header {
    top: 32px;
}

@media (max-width: 782px) {

    body.admin-bar .shh-header {
        top: 46px;
    }
}


/* =========================================================
   06. FOOTER
   ========================================================= */

.shh-footer {
    padding: 48px 0 28px;

    background: #000;

    border-top: 1px solid var(--shh-border-soft);
}

.shh-footer__inner {
    display: flex;
    flex-direction: column;
    align-items: center;

    gap: 28px;
}

.shh-footer__brand {
    display: flex;
    flex-direction: column;
    align-items: center;
}

.shh-footer__brand-ja {
    color: var(--shh-text);

    font-weight: 800;
}

.shh-footer__brand-en {
    margin-top: 6px;

    color: var(--shh-text-muted);

    font-size: 8px;
    letter-spacing: .15em;
}

.shh-footer__nav {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;

    gap: 12px 24px;
}

.shh-footer__nav a {
    color: var(--shh-text);

    text-decoration: none;

    font-size: 10px;
    font-weight: 700;
    letter-spacing: .08em;
}

.shh-footer__copyright {
    margin: 8px 0 0;

    color: var(--shh-text-dim);

    font-size: 9px;
    letter-spacing: .04em;
}


/* =========================================================
   07. LIVE LIST — PAGE
   ========================================================= */

body.shh-v2 .shh-live-page,
body.shh-2026 .shh-live-page {
    width: 100%;
    min-height: 100vh;

    margin: 0;
    padding: 0;

    background: #000;
    color: #fff;
}

body.shh-v2 .shh-live-page .shh-container,
body.shh-2026 .shh-live-page .shh-container {
    width: min(calc(100% - 40px), 1100px);

    margin-inline: auto;
}


/* =========================================================
   08. LIVE LIST — HERO
   ========================================================= */

body.shh-v2 .shh-live-hero,
body.shh-2026 .shh-live-hero {
    padding: 64px 0 32px;

    background: #000;
}

body.shh-v2 .shh-live-hero .shh-eyebrow,
body.shh-2026 .shh-live-hero .shh-eyebrow {
    margin: 0 0 32px;

    color: #fff;

    font-size: 12px;
    font-weight: 500;
    line-height: 1;
    letter-spacing: .12em;
}

body.shh-v2 .shh-live-hero .shh-page-title,
body.shh-2026 .shh-live-hero .shh-page-title {
    margin: 0;

    color: #fff;

    font-size: clamp(48px, 12vw, 76px);
    font-weight: 700;
    line-height: .9;
    letter-spacing: -.04em;
}


/* =========================================================
   09. LIVE LIST — SCHEDULE
   ========================================================= */

body.shh-v2 .shh-live-schedule,
body.shh-2026 .shh-live-schedule {
    padding: 20px 0 96px;

    background: #000;
}

body.shh-v2 .shh-live-list,
body.shh-2026 .shh-live-list {
    width: 100%;

    border-top: 1px solid var(--shh-border);
}

body.shh-v2 .shh-live-item,
body.shh-2026 .shh-live-item {
    margin: 0;
    padding: 0;

    border-bottom: 1px solid var(--shh-border);
}


/* ---------- ROW ---------- */

body.shh-v2 .shh-live-link,
body.shh-2026 .shh-live-link {
    position: relative;

    display: grid;
    grid-template-columns: 82px minmax(0, 1fr) 24px;
    column-gap: 18px;
    align-items: center;

    width: 100%;
    min-height: 128px;

    padding: 22px 0;

    color: #fff;

    text-decoration: none;

    transition: opacity var(--shh-transition);
}


/* ---------- DATE ---------- */

body.shh-v2 .shh-live-date,
body.shh-2026 .shh-live-date {
    display: grid;
    grid-template-columns: 1fr auto;

    align-content: center;
}

body.shh-v2 .shh-live-year,
body.shh-2026 .shh-live-year {
    grid-column: 1 / -1;

    margin-bottom: 2px;

    color: var(--shh-text-muted);

    font-size: 11px;
    line-height: 1;
    letter-spacing: .08em;
}

body.shh-v2 .shh-live-md,
body.shh-2026 .shh-live-md {
    color: #fff;

    font-size: 20px;
    font-weight: 600;
    line-height: 1;
    letter-spacing: -.02em;
}

body.shh-v2 .shh-live-weekday,
body.shh-2026 .shh-live-weekday {
    align-self: end;

    margin-left: 7px;

    color: var(--shh-text-muted);

    font-size: 10px;
    line-height: 1.1;
    letter-spacing: .08em;
}


/* ---------- INFO ---------- */

body.shh-v2 .shh-live-info,
body.shh-2026 .shh-live-info {
    min-width: 0;
}

body.shh-v2 .shh-live-place,
body.shh-2026 .shh-live-place {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
}

body.shh-v2 .shh-live-area,
body.shh-2026 .shh-live-area {
    margin-bottom: 5px;

    color: var(--shh-accent);

    font-size: 10px;
    font-weight: 700;
    line-height: 1;
    letter-spacing: .12em;
}

body.shh-v2 .shh-live-venue,
body.shh-2026 .shh-live-venue {
    color: #fff;

    font-size: 15px;
    font-weight: 500;
    line-height: 1.35;

    overflow-wrap: anywhere;
}


/* ---------- TIME ---------- */

body.shh-v2 .shh-live-time,
body.shh-2026 .shh-live-time {
    display: flex;
    flex-wrap: wrap;

    gap: 5px 14px;

    margin-top: 8px;

    color: rgba(255, 255, 255, .68);

    font-size: 11px;
    line-height: 1.2;
}

body.shh-v2 .shh-live-time span,
body.shh-2026 .shh-live-time span {
    white-space: nowrap;
}

body.shh-v2 .shh-live-time small,
body.shh-2026 .shh-live-time small {
    margin-right: 4px;

    color: var(--shh-text-dim);

    font-size: 8px;
    letter-spacing: .10em;
}


/* ---------- ARROW ---------- */

body.shh-v2 .shh-live-arrow,
body.shh-2026 .shh-live-arrow {
    justify-self: end;

    color: var(--shh-accent);

    font-size: 16px;
    line-height: 1;

    transition: transform var(--shh-transition);
}


/* ---------- EMPTY ---------- */

body.shh-v2 .shh-live-empty,
body.shh-2026 .shh-live-empty {
    padding: 40px 0;

    color: var(--shh-text-muted);

    font-size: 13px;

    border-bottom: 1px solid var(--shh-border);
}


/* ---------- HOVER ---------- */

@media (hover: hover) {

    body.shh-v2 .shh-live-link:hover,
    body.shh-2026 .shh-live-link:hover {
        opacity: .68;
    }

    body.shh-v2 .shh-live-link:hover .shh-live-arrow,
    body.shh-2026 .shh-live-link:hover .shh-live-arrow {
        transform: translateX(5px);
    }
}


/* =========================================================
   10. LIVE DETAIL — PAGE
   ========================================================= */

body.shh-v2 .shh-live-detail-page,
body.shh-2026 .shh-live-detail-page {
    width: 100%;
    min-height: 100vh;

    margin: 0;
    padding: 0 0 64px;

    background: #000;
    color: #fff;
}

body.shh-v2 .shh-live-detail-page .shh-container,
body.shh-2026 .shh-live-detail-page .shh-container {
    width: min(calc(100% - 40px), 960px);

    margin-inline: auto;
}


/* =========================================================
   11. LIVE DETAIL — HEAD
   ========================================================= */

body.shh-v2 .shh-live-detail-head,
body.shh-2026 .shh-live-detail-head {
    padding: 52px 0 0;
}


/* ---------- LIVE ---------- */

body.shh-v2 .shh-live-detail-head .shh-eyebrow,
body.shh-2026 .shh-live-detail-head .shh-eyebrow {
    margin: 0 0 30px;

    color: var(--shh-accent) !important;

    font-size: 10px;
    font-weight: 700;
    line-height: 1;
    letter-spacing: .16em;
}


/* ---------- DATE ---------- */

body.shh-v2 .shh-live-detail-date,
body.shh-2026 .shh-live-detail-date {
    display: flex;
    align-items: baseline;

    gap: 8px;

    margin: 0;
}

body.shh-v2 .shh-live-detail-year,
body.shh-2026 .shh-live-detail-year {
    color: var(--shh-text-muted) !important;

    font-size: 10px;
    font-weight: 500;
    line-height: 1;
    letter-spacing: .08em;
}

body.shh-v2 .shh-live-detail-md,
body.shh-2026 .shh-live-detail-md {
    color: #fff !important;

    font-size: 24px;
    font-weight: 600;
    line-height: 1;
}

body.shh-v2 .shh-live-detail-weekday,
body.shh-2026 .shh-live-detail-weekday {
    color: var(--shh-text-muted) !important;

    font-size: 10px;
    font-weight: 600;
    line-height: 1;
    letter-spacing: .08em;
}


/* ---------- AREA ---------- */

body.shh-v2 .shh-live-detail-area,
body.shh-2026 .shh-live-detail-area {
    margin: 22px 0 0;

    color: var(--shh-accent) !important;

    font-size: 10px;
    font-weight: 700;
    line-height: 1;
    letter-spacing: .14em;
}


/* ---------- VENUE ---------- */

body.shh-v2 .shh-live-detail-venue,
body.shh-2026 .shh-live-detail-venue {
    margin: 7px 0 0;

    color: #fff !important;

    font-size: 16px;
    font-weight: 500;
    line-height: 1.4;
}


/* ---------- TITLE ---------- */

body.shh-v2 .shh-live-detail-title,
body.shh-2026 .shh-live-detail-title {
    margin: 36px 0 0;

    color: #fff !important;
    opacity: 1 !important;

    font-size: clamp(42px, 8vw, 72px);
    font-weight: 700;
    line-height: .95;
    letter-spacing: -.045em;

    overflow-wrap: anywhere;
}


/* =========================================================
   12. LIVE DETAIL — OPEN / START
   ========================================================= */

body.shh-v2 .shh-live-detail-times,
body.shh-2026 .shh-live-detail-times {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, max-content));

    gap: 0 34px;

    margin-top: 24px;

    color: #fff !important;
}

body.shh-v2 .shh-live-detail-times span,
body.shh-2026 .shh-live-detail-times span {
    display: grid;
    grid-template-rows: auto auto;

    gap: 7px;

    color: #fff !important;

    font-size: 18px;
    font-weight: 500;
    line-height: 1;
}

body.shh-v2 .shh-live-detail-times small,
body.shh-2026 .shh-live-detail-times small {
    margin: 0;

    color: var(--shh-accent) !important;

    font-size: 8px;
    font-weight: 700;
    line-height: 1;
    letter-spacing: .15em;
}


/* =========================================================
   13. LIVE DETAIL — TICKET
   ========================================================= */

body.shh-v2 .shh-live-detail-price,
body.shh-2026 .shh-live-detail-price {
    margin-top: 30px;
    padding: 24px 0;

    border-top: 1px solid var(--shh-border);
    border-bottom: 1px solid var(--shh-border);
}

body.shh-v2 .shh-live-detail-price p,
body.shh-2026 .shh-live-detail-price p {
    margin: 0;

    color: #fff !important;

    font-size: 22px;
    font-weight: 500;
    line-height: 1.2;
}


/* =========================================================
   14. LIVE DETAIL — LABELS
   ========================================================= */

/*
 * h2 is intentionally included here.
 * Astra gives headings its own font size / color.
 */

body.shh-v2 .shh-live-detail-label,
body.shh-v2 h2.shh-live-detail-label,
body.shh-2026 .shh-live-detail-label,
body.shh-2026 h2.shh-live-detail-label {
    display: block;

    margin: 0 0 14px;
    padding: 0;

    color: var(--shh-accent) !important;
    background: transparent !important;

    font-family: var(--shh-font) !important;
    font-size: 10px !important;
    font-weight: 700 !important;
    line-height: 1 !important;
    letter-spacing: .15em !important;

    text-transform: uppercase;
}


/* =========================================================
   15. LIVE DETAIL — COMMON SECTIONS
   ========================================================= */

body.shh-v2 .shh-live-detail-section,
body.shh-2026 .shh-live-detail-section {
    margin: 0;
    padding: 32px 0;

    background: #000;
    color: #fff;
}

body.shh-v2 .shh-live-detail-section + .shh-live-detail-section,
body.shh-2026 .shh-live-detail-section + .shh-live-detail-section {
    border-top: 1px solid var(--shh-border);
}


/* =========================================================
   16. LIVE DETAIL — RESERVATION
   ========================================================= */

body.shh-v2 .shh-live-detail-dm,
body.shh-2026 .shh-live-detail-dm {
    margin-top: 0;
    padding: 30px 0;

    border-bottom: 1px solid var(--shh-border);
}

body.shh-v2 .shh-live-detail-dm-text,
body.shh-2026 .shh-live-detail-dm-text {
    margin: 0;

    color: rgba(255, 255, 255, .84) !important;

    font-size: 14px;
    font-weight: 400;
    line-height: 1.65;
}

body.shh-v2 .shh-live-detail-dm-links,
body.shh-2026 .shh-live-detail-dm-links {
    display: flex;
    flex-wrap: wrap;

    gap: 12px 24px;

    margin-top: 18px;
}

body.shh-v2 .shh-live-detail-dm-links a,
body.shh-2026 .shh-live-detail-dm-links a {
    color: var(--shh-accent) !important;

    font-size: 11px;
    font-weight: 700;
    line-height: 1;
    letter-spacing: .05em;

    text-decoration: none;
}


/* =========================================================
   17. LIVE DETAIL — FLYER
   ========================================================= */

body.shh-v2 .shh-live-detail-flyer,
body.shh-2026 .shh-live-detail-flyer {
    padding: 32px 0;

    border-top: 0;
}

body.shh-v2 .shh-live-detail-flyer img,
body.shh-2026 .shh-live-detail-flyer img {
    display: block;

    width: auto;
    max-width: 100%;
    max-height: 760px;

    margin: 0 auto;

    object-fit: contain;
}


/* =========================================================
   18. LIVE DETAIL — ACT / DETAIL
   ========================================================= */

body.shh-v2 .shh-live-detail-text,
body.shh-2026 .shh-live-detail-text {
    margin: 0;
    padding: 0;

    color: rgba(255, 255, 255, .84) !important;

    font-family: var(--shh-font);
    font-size: 14px;
    font-weight: 400;
    line-height: 1.75;

    overflow-wrap: anywhere;
}


/* =========================================================
   19. LIVE DETAIL — VENUE / MAP
   ========================================================= */

body.shh-v2 .shh-live-detail-venue-link,
body.shh-2026 .shh-live-detail-venue-link {
    display: flex;
    flex-wrap: wrap;
    align-items: baseline;

    gap: 8px 18px;

    margin: 0;
    padding: 0;

    color: #fff !important;

    font-size: 15px;
    font-weight: 500;
    line-height: 1.5;
}

body.shh-v2 .shh-live-detail-venue-link a,
body.shh-2026 .shh-live-detail-venue-link a {
    color: var(--shh-accent) !important;

    font-size: 10px;
    font-weight: 700;
    line-height: 1;
    letter-spacing: .10em;

    text-decoration: none;
}


/* =========================================================
   20. LIVE DETAIL — BACK
   ========================================================= */

body.shh-v2 .shh-live-detail-back,
body.shh-2026 .shh-live-detail-back {
    padding: 28px 0 0;

    border-top: 1px solid var(--shh-border);
}

body.shh-v2 .shh-live-detail-back a,
body.shh-2026 .shh-live-detail-back a {
    display: inline-block;

    color: var(--shh-text-muted) !important;

    font-size: 10px;
    font-weight: 600;
    line-height: 1;
    letter-spacing: .1em;

    text-decoration: none;

    transition:
        color var(--shh-transition),
        transform var(--shh-transition);
}


/* =========================================================
   21. DETAIL HOVER
   ========================================================= */

@media (hover: hover) {

    body.shh-v2 .shh-live-detail-dm-links a:hover,
    body.shh-v2 .shh-live-detail-venue-link a:hover,
    body.shh-2026 .shh-live-detail-dm-links a:hover,
    body.shh-2026 .shh-live-detail-venue-link a:hover {
        opacity: .65;
    }

    body.shh-v2 .shh-live-detail-back a:hover,
    body.shh-2026 .shh-live-detail-back a:hover {
        color: var(--shh-accent) !important;

        transform: translateX(-4px);
    }
}


/* =========================================================
   22. TABLET / MOBILE HEADER
   ========================================================= */

@media (max-width: 979px) {

    .shh-header__nav {
        display: none;
    }

}


/* =========================================================
   23. MOBILE
   ========================================================= */

@media (max-width: 767px) {

    :root {
        --shh-side-space: 16px;
    }


    /* ---------- COMMON ---------- */

    .shh-section {
        padding: 48px 0;
    }


    /* =====================================================
       LIVE LIST
       ===================================================== */

    body.shh-v2 .shh-live-page .shh-container,
    body.shh-2026 .shh-live-page .shh-container {
        width: calc(100% - 40px);
    }

    body.shh-v2 .shh-live-hero,
    body.shh-2026 .shh-live-hero {
        padding: 58px 0 30px;
    }

    body.shh-v2 .shh-live-schedule,
    body.shh-2026 .shh-live-schedule {
        padding-top: 14px;
        padding-bottom: 72px;
    }

    body.shh-v2 .shh-live-link,
    body.shh-2026 .shh-live-link {
        grid-template-columns: 84px minmax(0, 1fr) 18px;

        column-gap: 14px;

        min-height: 124px;

        padding: 22px 0;
    }

    body.shh-v2 .shh-live-md,
    body.shh-2026 .shh-live-md {
        font-size: 18px;
    }

    body.shh-v2 .shh-live-venue,
    body.shh-2026 .shh-live-venue {
        font-size: 15px;
    }

    body.shh-v2 .shh-live-time,
    body.shh-2026 .shh-live-time {
        gap: 7px 14px;

        margin-top: 9px;

        font-size: 11px;
    }

    body.shh-v2 .shh-live-arrow,
    body.shh-2026 .shh-live-arrow {
        font-size: 15px;
    }


    /* =====================================================
       LIVE DETAIL
       ===================================================== */

    body.shh-v2 .shh-live-detail-page,
    body.shh-2026 .shh-live-detail-page {
        padding-bottom: 52px;

        background: #000 !important;
        color: #fff !important;
    }

    body.shh-v2 .shh-live-detail-page .shh-container,
    body.shh-2026 .shh-live-detail-page .shh-container {
        width: calc(100% - 40px);
    }


    /* ---------- HEAD ---------- */

    body.shh-v2 .shh-live-detail-head,
    body.shh-2026 .shh-live-detail-head {
        padding-top: 34px;
    }

    body.shh-v2 .shh-live-detail-head .shh-eyebrow,
    body.shh-2026 .shh-live-detail-head .shh-eyebrow {
        margin-bottom: 28px;

        color: var(--shh-accent) !important;
    }


    /* ---------- DATE ---------- */

    body.shh-v2 .shh-live-detail-date,
    body.shh-2026 .shh-live-detail-date {
        display: grid;

        grid-template-columns: auto auto;
        grid-template-areas:
            "year year"
            "md weekday";

        justify-content: start;
        align-items: end;

        column-gap: 9px;
        row-gap: 5px;
    }

    body.shh-v2 .shh-live-detail-year,
    body.shh-2026 .shh-live-detail-year {
        grid-area: year;

        color: rgba(255, 255, 255, .46) !important;

        font-size: 9px;
        letter-spacing: .12em;
    }

    body.shh-v2 .shh-live-detail-md,
    body.shh-2026 .shh-live-detail-md {
        grid-area: md;

        color: #fff !important;

        font-size: 28px;
        line-height: .95;
        letter-spacing: -.035em;
    }

    body.shh-v2 .shh-live-detail-weekday,
    body.shh-2026 .shh-live-detail-weekday {
        grid-area: weekday;

        margin-bottom: 2px;

        color: rgba(255, 255, 255, .52) !important;

        font-size: 9px;
        letter-spacing: .10em;
    }


    /* ---------- AREA / VENUE ---------- */

    body.shh-v2 .shh-live-detail-area,
    body.shh-2026 .shh-live-detail-area {
        margin-top: 24px;

        color: var(--shh-accent) !important;

        font-size: 9px;
    }

    body.shh-v2 .shh-live-detail-venue,
    body.shh-2026 .shh-live-detail-venue {
        margin-top: 7px;

        color: #fff !important;

        font-size: 16px;
    }


    /* ---------- TITLE ---------- */

    body.shh-v2 .shh-live-detail-title,
    body.shh-2026 .shh-live-detail-title {
        margin-top: 30px;

        color: #fff !important;
        opacity: 1 !important;

        font-size: clamp(38px, 12vw, 54px);
        line-height: .95;
    }


    /* ---------- OPEN / START ---------- */

    body.shh-v2 .shh-live-detail-times,
    body.shh-2026 .shh-live-detail-times {
        grid-template-columns: repeat(2, minmax(0, 1fr));

        gap: 0 14px;

        margin-top: 24px;
    }

    body.shh-v2 .shh-live-detail-times span,
    body.shh-2026 .shh-live-detail-times span {
        gap: 7px;

        padding: 0;

        color: #fff !important;

        font-size: 18px;
    }

    body.shh-v2 .shh-live-detail-times small,
    body.shh-2026 .shh-live-detail-times small {
        color: var(--shh-accent) !important;

        font-size: 8px;
    }


    /* ---------- TICKET ---------- */

    body.shh-v2 .shh-live-detail-price,
    body.shh-2026 .shh-live-detail-price {
        margin-top: 24px;
        padding: 22px 0;

        border-color: rgba(255, 255, 255, .18);
    }

    body.shh-v2 .shh-live-detail-price p,
    body.shh-2026 .shh-live-detail-price p {
        color: #fff !important;

        font-size: 21px;
    }


    /* ---------- LABELS ---------- */

    body.shh-v2 .shh-live-detail-label,
    body.shh-v2 h2.shh-live-detail-label,
    body.shh-2026 .shh-live-detail-label,
    body.shh-2026 h2.shh-live-detail-label {
        margin: 0 0 13px !important;
        padding: 0 !important;

        color: var(--shh-accent) !important;
        background: transparent !important;

        font-size: 9px !important;
        font-weight: 700 !important;
        line-height: 1 !important;
        letter-spacing: .16em !important;
    }


    /* ---------- SECTIONS ---------- */

    body.shh-v2 .shh-live-detail-section,
    body.shh-2026 .shh-live-detail-section {
        padding: 26px 0;

        background: #000;
        color: #fff;
    }

    body.shh-v2 .shh-live-detail-section + .shh-live-detail-section,
    body.shh-2026 .shh-live-detail-section + .shh-live-detail-section {
        border-top: 1px solid rgba(255, 255, 255, .18);
    }


    /* ---------- RESERVATION ---------- */

    body.shh-v2 .shh-live-detail-dm,
    body.shh-2026 .shh-live-detail-dm {
        margin-top: 0;
        padding: 26px 0;

        border-top: 0;
        border-bottom: 1px solid rgba(255, 255, 255, .18);
    }

    body.shh-v2 .shh-live-detail-dm-text,
    body.shh-2026 .shh-live-detail-dm-text {
        color: rgba(255, 255, 255, .84) !important;

        font-size: 14px;
        line-height: 1.6;
    }

    body.shh-v2 .shh-live-detail-dm-links,
    body.shh-2026 .shh-live-detail-dm-links {
        gap: 12px 24px;

        margin-top: 17px;
    }

    body.shh-v2 .shh-live-detail-dm-links a,
    body.shh-2026 .shh-live-detail-dm-links a {
        color: var(--shh-accent) !important;

        font-size: 11px;
        font-weight: 700;
    }


    /* ---------- FLYER ---------- */

    body.shh-v2 .shh-live-detail-flyer,
    body.shh-2026 .shh-live-detail-flyer {
        padding: 26px 0;
    }

    body.shh-v2 .shh-live-detail-flyer img,
    body.shh-2026 .shh-live-detail-flyer img {
        width: 100%;
        max-width: 100%;
        max-height: none;

        margin: 0 auto;
    }


    /* ---------- ACT / DETAIL ---------- */

    body.shh-v2 .shh-live-detail-text,
    body.shh-2026 .shh-live-detail-text {
        color: rgba(255, 255, 255, .84) !important;

        font-size: 14px;
        line-height: 1.7;
    }


    /* ---------- VENUE ---------- */

    body.shh-v2 .shh-live-detail-venue-link,
    body.shh-2026 .shh-live-detail-venue-link {
        color: #fff !important;

        font-size: 15px;
    }

    body.shh-v2 .shh-live-detail-venue-link a,
    body.shh-2026 .shh-live-detail-venue-link a {
        color: var(--shh-accent) !important;
    }


    /* ---------- BACK ---------- */

    body.shh-v2 .shh-live-detail-back,
    body.shh-2026 .shh-live-detail-back {
        padding-top: 24px;
    }

    body.shh-v2 .shh-live-detail-back a,
    body.shh-2026 .shh-live-detail-back a {
        color: rgba(255, 255, 255, .52) !important;
    }
}


/* =========================================================
   24. DESKTOP
   ========================================================= */

@media (min-width: 768px) {

    /* ---------- LIVE LIST ---------- */

    body.shh-v2 .shh-live-link,
    body.shh-2026 .shh-live-link {
        grid-template-columns: 120px minmax(0, 1fr) 30px;

        column-gap: 32px;

        min-height: 140px;

        padding: 26px 0;
    }

    body.shh-v2 .shh-live-md,
    body.shh-2026 .shh-live-md {
        font-size: 24px;
    }

    body.shh-v2 .shh-live-venue,
    body.shh-2026 .shh-live-venue {
        font-size: 17px;
    }


    /* ---------- LIVE DETAIL ---------- */

    body.shh-v2 .shh-live-detail-head,
    body.shh-2026 .shh-live-detail-head {
        padding-top: 68px;
    }

    body.shh-v2 .shh-live-detail-title,
    body.shh-2026 .shh-live-detail-title {
        margin-top: 40px;

        font-size: clamp(54px, 7vw, 76px);
    }

    body.shh-v2 .shh-live-detail-times,
    body.shh-2026 .shh-live-detail-times {
        margin-top: 26px;
    }

    body.shh-v2 .shh-live-detail-times span,
    body.shh-2026 .shh-live-detail-times span {
        font-size: 20px;
    }

    body.shh-v2 .shh-live-detail-section,
    body.shh-2026 .shh-live-detail-section {
        padding: 34px 0;
    }

    body.shh-v2 .shh-live-detail-dm,
    body.shh-2026 .shh-live-detail-dm {
        padding: 34px 0;
    }

    body.shh-v2 .shh-live-detail-flyer,
    body.shh-2026 .shh-live-detail-flyer {
        padding: 34px 0;
    }

    body.shh-v2 .shh-live-detail-flyer img,
    body.shh-2026 .shh-live-detail-flyer img {
        max-height: 760px;
    }
}

/* =========================================================
   25. SHH HEADER — CURRENT PHP COMPATIBILITY
   ========================================================= */

.shh-header {
    position: sticky;
    top: 0;
    z-index: 9999;

    width: 100%;
    height: 64px;

    background: rgba(0, 0, 0, .94);
    border-bottom: 1px solid rgba(255,255,255,.10);

    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);

    transition:
        transform .28s ease,
        background .2s ease;
}

.shh-header.is-hidden {
    transform: translateY(-100%);
}

.shh-header.is-scrolled {
    background: rgba(0,0,0,.98);
}

.shh-header__inner {
    width: min(calc(100% - 40px), 1200px);
    height: 64px;

    margin: 0 auto;

    display: flex;
    align-items: center;

    gap: 32px;
}


/* ---------- LOGO ---------- */

.shh-header__left {
    flex: 0 0 auto;

    display: flex;
    align-items: center;
}

.shh-header__logo {
    display: block;

    text-decoration: none;
}

.shh-header__logoImg {
    display: block;

    width: auto;
    height: 34px;

    max-width: 260px;

    object-fit: contain;
}


/* ---------- PC NAV ---------- */

.shh-header__nav {
    margin-left: auto;
}

.shh-headerNav {
    display: flex;
    align-items: center;

    gap: 25px;

    margin: 0 !important;
    padding: 0 !important;

    list-style: none !important;
}

.shh-headerNav li {
    margin: 0 !important;
    padding: 0 !important;

    list-style: none !important;
}

.shh-headerNav a {
    position: relative;

    display: flex;
    align-items: center;

    height: 64px;

    padding: 0 !important;

    color: #fff !important;

    font-size: 11px;
    font-weight: 700;
    line-height: 1;
    letter-spacing: .10em;

    text-decoration: none !important;

    white-space: nowrap;
}

.shh-headerNav a::after {
    content: "";

    position: absolute;

    left: 0;
    right: 0;
    bottom: 13px;

    height: 2px;

    background: var(--shh-accent);

    transform: scaleX(0);
    transform-origin: center;

    transition: transform .18s ease;
}


/* ---------- RIGHT ---------- */

.shh-header__right {
    flex: 0 0 auto;

    display: flex;
    align-items: center;

    gap: 20px;
}


/* ---------- PC SNS ---------- */

.shh-header__sns {
    display: flex;
    align-items: center;

    gap: 15px;
}

.shh-snsLink {
    display: flex;
    align-items: center;
    justify-content: center;

    width: 22px;
    height: 32px;

    color: #fff !important;

    font-size: 15px;

    text-decoration: none !important;

    transition:
        color .18s ease,
        opacity .18s ease;
}


/* ---------- HOVER ---------- */

@media (hover: hover) {

    .shh-headerNav a:hover {
        color: var(--shh-accent) !important;
    }

    .shh-headerNav a:hover::after {
        transform: scaleX(1);
    }

    .shh-snsLink:hover {
        color: var(--shh-accent) !important;
    }
}


/* =========================================================
   MOBILE DRAWER
   ========================================================= */

.shh-drawer {
    display: none;
}

.shh-drawer > summary {
    list-style: none;
}

.shh-drawer > summary::-webkit-details-marker {
    display: none;
}


/* ---------- WP ADMIN BAR ---------- */

body.admin-bar .shh-header {
    top: 32px;
}

@media (max-width: 782px) {

    body.admin-bar .shh-header {
        top: 46px;
    }
}


/* =========================================================
   TABLET / MOBILE HEADER
   ========================================================= */

@media (max-width: 979px) {

    .shh-header {
        height: 60px;
    }

    .shh-header__inner {
        width: calc(100% - 32px);
        height: 60px;

        gap: 16px;
    }


    /* ---------- LOGO ---------- */

    .shh-header__logoImg {
        height: 28px;
        max-width: 220px;
    }


    /* ---------- HIDE PC ---------- */

    .shh-header__nav,
    .shh-header__sns {
        display: none !important;
    }


    /* ---------- DRAWER ---------- */

    .shh-drawer {
        display: block;

        margin: 0;
        padding: 0;
    }

    .shh-burger {
        position: relative;
        z-index: 10002;

        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;

        width: 44px;
        height: 44px;

        margin: 0;
        padding: 0;

        cursor: pointer;
    }

    .shh-burger__line {
        display: block;

        width: 25px;
        height: 2px;

        margin: 3px 0;

        background: var(--shh-accent);

        transition:
            transform .22s ease,
            opacity .22s ease;
    }


    /* ---------- BURGER → X ---------- */

    .shh-drawer[open] .shh-burger__line:nth-child(1) {
        transform: translateY(8px) rotate(45deg);
    }

    .shh-drawer[open] .shh-burger__line:nth-child(2) {
        opacity: 0;
    }

    .shh-drawer[open] .shh-burger__line:nth-child(3) {
        transform: translateY(-8px) rotate(-45deg);
    }


    /* ---------- PANEL ---------- */

    .shh-drawer__panel {
        position: fixed;

        top: 60px;
        right: 0;
        bottom: 0;
        left: 0;

        z-index: 10000;

        display: flex;
        flex-direction: column;

        padding:
            42px
            24px
            max(32px, env(safe-area-inset-bottom));

        overflow-y: auto;

        background: rgba(0,0,0,.985);
    }

    body.admin-bar .shh-drawer__panel {
        top: 106px;
    }


    /* ---------- DRAWER NAV ---------- */

    .shh-drawerNav {
        width: 100%;

        margin: 0 !important;
        padding: 0 !important;

        list-style: none !important;
    }

    .shh-drawerNav li {
        margin: 0 !important;
        padding: 0 !important;

        list-style: none !important;

        border-bottom: 1px solid rgba(255,255,255,.14);
    }

    .shh-drawerNav a {
        display: flex;
        align-items: center;

        min-height: 62px;

        padding: 0 !important;

        color: #fff !important;

        font-size: clamp(24px, 7vw, 34px);
        font-weight: 700;
        line-height: 1;
        letter-spacing: .035em;

        text-decoration: none !important;
    }


    /* ---------- DRAWER SNS ---------- */

    .shh-drawer__sns {
        display: flex;
        align-items: center;

        gap: 22px;

        margin-top: auto;
        padding-top: 38px;
    }

    .shh-snsLink--drawer {
        width: 32px;
        height: 32px;

        color: var(--shh-accent) !important;

        font-size: 20px;
    }
}


/* =========================================================
   SMALL MOBILE
   ========================================================= */

@media (max-width: 480px) {

    .shh-header__logoImg {
        height: 24px;
        max-width: 190px;
    }

    .shh-drawer__panel {
        padding-right: 20px;
        padding-left: 20px;
    }
}
/* =========================================================
   MOBILE DRAWER FIX
   ========================================================= */

@media (max-width: 979px) {

    .shh-header {
        backdrop-filter: none;
        -webkit-backdrop-filter: none;
    }

    .shh-drawer__panel {
        position: fixed !important;

        top: 60px !important;
        right: 0 !important;
        bottom: 0 !important;
        left: 0 !important;

        width: 100vw !important;
        height: calc(100dvh - 60px) !important;

        z-index: 9998 !important;

        display: flex !important;
        flex-direction: column;

        padding: 40px 20px 32px !important;

        overflow-y: auto;

        background: #000 !important;
    }

    body.admin-bar .shh-drawer__panel {
        top: 106px !important;
        height: calc(100dvh - 106px) !important;
    }

    .shh-drawerNav {
        display: block !important;
    }

    .shh-drawerNav li {
        display: block !important;
    }

    .shh-drawerNav a {
        display: flex !important;
        color: #fff !important;
        opacity: 1 !important;
    }

    .shh-burger {
        position: relative;
        z-index: 10001;
    }
}

/* =========================================================
   25. NEWS LIST
   ========================================================= */

body.shh-v2 .shh-news-page,
body.shh-2026 .shh-news-page {
    width: 100%;
    min-height: 100vh;
    background: #000;
    color: #fff;
}

body.shh-v2 .shh-news-page .shh-container,
body.shh-2026 .shh-news-page .shh-container {
    width: min(calc(100% - 40px), 1100px);
    margin-inline: auto;
}


/* ---------- HERO ---------- */

body.shh-v2 .shh-news-hero,
body.shh-2026 .shh-news-hero {
    padding: 64px 0 32px;
}

body.shh-v2 .shh-news-hero .shh-eyebrow,
body.shh-2026 .shh-news-hero .shh-eyebrow {
    margin: 0 0 32px;

    color: #fff;

    font-size: 12px;
    font-weight: 500;
    line-height: 1;
    letter-spacing: .12em;
}

body.shh-v2 .shh-news-hero .shh-page-title,
body.shh-2026 .shh-news-hero .shh-page-title {
    margin: 0;

    color: #fff;

    font-size: clamp(48px, 12vw, 76px);
    font-weight: 700;
    line-height: .9;
    letter-spacing: -.04em;
}


/* ---------- LIST ---------- */

body.shh-v2 .shh-news-list-section,
body.shh-2026 .shh-news-list-section {
    padding: 20px 0 96px;
}

body.shh-v2 .shh-news-list,
body.shh-2026 .shh-news-list {
    border-top: 1px solid var(--shh-border);
}

body.shh-v2 .shh-news-item,
body.shh-2026 .shh-news-item {
    margin: 0;
    padding: 0;

    border-bottom: 1px solid var(--shh-border);
}

body.shh-v2 .shh-news-link,
body.shh-2026 .shh-news-link {
    display: grid;
    grid-template-columns: 110px minmax(0, 1fr) 24px;
    gap: 28px;
    align-items: center;

    min-height: 112px;
    padding: 24px 0;

    color: #fff !important;
    text-decoration: none !important;
}


/* ---------- DATE ---------- */

body.shh-v2 .shh-news-date,
body.shh-2026 .shh-news-date {
    color: var(--shh-text-muted);

    font-size: 11px;
    font-weight: 500;
    line-height: 1;
    letter-spacing: .08em;
}


/* ---------- TITLE ---------- */

body.shh-v2 .shh-news-title,
body.shh-2026 .shh-news-title {
    margin: 0 !important;
    padding: 0 !important;

    color: #fff !important;

    font-family: var(--shh-font) !important;
    font-size: 17px !important;
    font-weight: 500 !important;
    line-height: 1.5 !important;
    letter-spacing: .01em !important;

    overflow-wrap: anywhere;
}


/* ---------- ARROW ---------- */

body.shh-v2 .shh-news-arrow,
body.shh-2026 .shh-news-arrow {
    justify-self: end;

    color: var(--shh-accent);

    font-size: 16px;
    line-height: 1;

    transition: transform var(--shh-transition);
}


/* ---------- PAGINATION ---------- */

body.shh-v2 .shh-news-pagination,
body.shh-2026 .shh-news-pagination {
    display: grid;
    grid-template-columns: 1fr auto 1fr;
    align-items: center;

    gap: 20px;

    padding-top: 34px;
}

.shh-news-pagination-prev {
    justify-self: start;
}

.shh-news-pagination-next {
    justify-self: end;
}

body.shh-v2 .shh-news-pagination a,
body.shh-2026 .shh-news-pagination a {
    color: #fff !important;

    font-size: 10px;
    font-weight: 700;
    letter-spacing: .1em;

    text-decoration: none !important;
}

body.shh-v2 .shh-news-pagination-current,
body.shh-2026 .shh-news-pagination-current {
    color: var(--shh-text-dim);

    font-size: 10px;
    letter-spacing: .1em;
}


/* ---------- EMPTY ---------- */

body.shh-v2 .shh-news-empty,
body.shh-2026 .shh-news-empty {
    padding: 40px 0;

    color: var(--shh-text-muted);

    font-size: 13px;

    border-bottom: 1px solid var(--shh-border);
}


/* ---------- HOVER ---------- */

@media (hover: hover) {

    body.shh-v2 .shh-news-link:hover,
    body.shh-2026 .shh-news-link:hover {
        opacity: .68;
    }

    body.shh-v2 .shh-news-link:hover .shh-news-arrow,
    body.shh-2026 .shh-news-link:hover .shh-news-arrow {
        transform: translateX(5px);
    }
}


/* =========================================================
   26. NEWS DETAIL
   ========================================================= */

body.shh-v2 .shh-news-detail-page,
body.shh-2026 .shh-news-detail-page {
    width: 100%;
    min-height: 100vh;

    padding: 0 0 80px;

    background: #000;
    color: #fff;
}

body.shh-v2 .shh-news-detail-page .shh-container,
body.shh-2026 .shh-news-detail-page .shh-container {
    width: min(calc(100% - 40px), 960px);
    margin-inline: auto;
}


/* ---------- HEAD ---------- */

body.shh-v2 .shh-news-detail-head,
body.shh-2026 .shh-news-detail-head {
    padding: 64px 0 42px;

    border-bottom: 1px solid var(--shh-border);
}

body.shh-v2 .shh-news-detail-head .shh-eyebrow,
body.shh-2026 .shh-news-detail-head .shh-eyebrow {
    margin: 0 0 32px;

    color: var(--shh-accent) !important;

    font-size: 10px;
    font-weight: 700;
    line-height: 1;
    letter-spacing: .16em;
}

body.shh-v2 .shh-news-detail-date,
body.shh-2026 .shh-news-detail-date {
    display: block;

    margin-bottom: 18px;

    color: var(--shh-text-muted);

    font-size: 11px;
    line-height: 1;
    letter-spacing: .08em;
}

body.shh-v2 .shh-news-detail-title,
body.shh-2026 .shh-news-detail-title {
    margin: 0 !important;
    padding: 0 !important;

    color: #fff !important;

    font-family: var(--shh-font) !important;
    font-size: clamp(30px, 6vw, 52px) !important;
    font-weight: 600 !important;
    line-height: 1.25 !important;
    letter-spacing: -.025em !important;

    overflow-wrap: anywhere;
}


/* ---------- BODY ---------- */

body.shh-v2 .shh-news-detail-body,
body.shh-2026 .shh-news-detail-body {
    padding: 42px 0;

    color: rgba(255, 255, 255, .84);

    font-size: 15px;
    line-height: 1.9;
}

body.shh-v2 .shh-news-detail-body p,
body.shh-2026 .shh-news-detail-body p {
    margin: 0 0 1.5em;

    color: inherit;
}

body.shh-v2 .shh-news-detail-body h2,
body.shh-2026 .shh-news-detail-body h2 {
    margin: 2.2em 0 .8em;

    color: #fff;

    font-size: 24px;
    line-height: 1.4;
}

body.shh-v2 .shh-news-detail-body h3,
body.shh-2026 .shh-news-detail-body h3 {
    margin: 2em 0 .7em;

    color: #fff;

    font-size: 19px;
    line-height: 1.4;
}

body.shh-v2 .shh-news-detail-body a,
body.shh-2026 .shh-news-detail-body a {
    color: var(--shh-accent) !important;
}

body.shh-v2 .shh-news-detail-body img,
body.shh-2026 .shh-news-detail-body img {
    width: auto;
    max-width: 100%;
    height: auto;

    margin: 32px auto;
}

body.shh-v2 .shh-news-detail-body iframe,
body.shh-2026 .shh-news-detail-body iframe {
    max-width: 100%;
}


/* ---------- BACK ---------- */

body.shh-v2 .shh-news-detail-back,
body.shh-2026 .shh-news-detail-back {
    padding-top: 28px;

    border-top: 1px solid var(--shh-border);
}

body.shh-v2 .shh-news-detail-back a,
body.shh-2026 .shh-news-detail-back a {
    color: var(--shh-text-muted) !important;

    font-size: 10px;
    font-weight: 700;
    line-height: 1;
    letter-spacing: .1em;

    text-decoration: none !important;
}


/* =========================================================
   27. NEWS MOBILE
   ========================================================= */

@media (max-width: 767px) {

    body.shh-v2 .shh-news-page .shh-container,
    body.shh-2026 .shh-news-page .shh-container,
    body.shh-v2 .shh-news-detail-page .shh-container,
    body.shh-2026 .shh-news-detail-page .shh-container {
        width: calc(100% - 40px);
    }


    /* LIST */

    body.shh-v2 .shh-news-hero,
    body.shh-2026 .shh-news-hero {
        padding: 58px 0 30px;
    }

    body.shh-v2 .shh-news-list-section,
    body.shh-2026 .shh-news-list-section {
        padding-top: 14px;
        padding-bottom: 72px;
    }

    body.shh-v2 .shh-news-link,
    body.shh-2026 .shh-news-link {
        grid-template-columns: 1fr 18px;
        grid-template-areas:
            "date arrow"
            "title arrow";

        gap: 9px 14px;

        min-height: 118px;
        padding: 24px 0;
    }

    body.shh-v2 .shh-news-date,
    body.shh-2026 .shh-news-date {
        grid-area: date;

        font-size: 10px;
    }

    body.shh-v2 .shh-news-title,
    body.shh-2026 .shh-news-title {
        grid-area: title;

        font-size: 15px !important;
        line-height: 1.5 !important;
    }

    body.shh-v2 .shh-news-arrow,
    body.shh-2026 .shh-news-arrow {
        grid-area: arrow;
        align-self: center;
    }


    /* DETAIL */

    body.shh-v2 .shh-news-detail-head,
    body.shh-2026 .shh-news-detail-head {
        padding: 40px 0 30px;
    }

    body.shh-v2 .shh-news-detail-head .shh-eyebrow,
    body.shh-2026 .shh-news-detail-head .shh-eyebrow {
        margin-bottom: 28px;
    }

    body.shh-v2 .shh-news-detail-title,
    body.shh-2026 .shh-news-detail-title {
        font-size: clamp(28px, 8vw, 40px) !important;
        line-height: 1.3 !important;
    }

    body.shh-v2 .shh-news-detail-body,
    body.shh-2026 .shh-news-detail-body {
        padding: 30px 0;

        font-size: 14px;
        line-height: 1.85;
    }
}

/* =========================================================
   25. NEWS — LIST
   ========================================================= */

body.shh-v2 .shh-news-page {
    width: 100%;
    min-height: 100vh;

    margin: 0;
    padding: 0;

    background: #000;
    color: #fff;
}

body.shh-v2 .shh-news-page .shh-container {
    width: min(calc(100% - 40px), 1100px);
    margin-inline: auto;
}


/* ---------- HERO ---------- */

body.shh-v2 .shh-news-hero {
    padding: 64px 0 32px;
    background: #000;
}

body.shh-v2 .shh-news-hero .shh-eyebrow {
    margin: 0 0 32px;

    color: #fff;

    font-size: 12px;
    font-weight: 500;
    line-height: 1;
    letter-spacing: .12em;
}

body.shh-v2 .shh-news-hero .shh-page-title {
    margin: 0;

    color: #fff;

    font-size: clamp(48px, 12vw, 76px);
    font-weight: 700;
    line-height: .9;
    letter-spacing: -.04em;
}


/* ---------- LIST ---------- */

body.shh-v2 .shh-news-list-section {
    padding: 20px 0 96px;
    background: #000;
}

body.shh-v2 .shh-news-list {
    width: 100%;
    border-top: 1px solid var(--shh-border);
}

body.shh-v2 .shh-news-item {
    margin: 0;
    padding: 0;

    border-bottom: 1px solid var(--shh-border);
}

body.shh-v2 .shh-news-link {
    display: grid;

    grid-template-columns: 120px minmax(0, 1fr) 30px;
    column-gap: 32px;
    align-items: center;

    width: 100%;
    min-height: 118px;

    padding: 24px 0;

    color: #fff;
    text-decoration: none;

    transition: opacity var(--shh-transition);
}


/* ---------- DATE ---------- */

body.shh-v2 .shh-news-date {
    color: var(--shh-text-muted);

    font-size: 11px;
    font-weight: 500;
    line-height: 1;
    letter-spacing: .08em;

    white-space: nowrap;
}


/* ---------- TITLE ---------- */

body.shh-v2 .shh-news-title {
    margin: 0;
    padding: 0;

    color: #fff;

    font-family: var(--shh-font);
    font-size: 17px;
    font-weight: 500;
    line-height: 1.55;
    letter-spacing: 0;

    overflow-wrap: anywhere;
}


/* ---------- ARROW ---------- */

body.shh-v2 .shh-news-arrow {
    justify-self: end;

    color: var(--shh-accent);

    font-size: 16px;
    line-height: 1;

    transition: transform var(--shh-transition);
}


/* ---------- EMPTY ---------- */

body.shh-v2 .shh-news-empty {
    padding: 40px 0;

    color: var(--shh-text-muted);

    font-size: 13px;

    border-top: 1px solid var(--shh-border);
    border-bottom: 1px solid var(--shh-border);
}


/* ---------- PAGINATION ---------- */

body.shh-v2 .shh-news-pagination {
    display: grid;

    grid-template-columns: 1fr auto 1fr;
    align-items: center;

    margin-top: 38px;
}

body.shh-v2 .shh-news-pagination-prev {
    justify-self: start;
}

body.shh-v2 .shh-news-pagination-next {
    justify-self: end;
}

body.shh-v2 .shh-news-pagination a {
    color: #fff;

    font-size: 10px;
    font-weight: 700;
    line-height: 1;
    letter-spacing: .10em;

    text-decoration: none;
}

body.shh-v2 .shh-news-pagination-current {
    color: var(--shh-text-muted);

    font-size: 10px;
    font-weight: 500;
    letter-spacing: .10em;
}


/* ---------- HOVER ---------- */

@media (hover: hover) {

    body.shh-v2 .shh-news-link:hover {
        opacity: .68;
    }

    body.shh-v2 .shh-news-link:hover .shh-news-arrow {
        transform: translateX(5px);
    }

    body.shh-v2 .shh-news-pagination a:hover {
        color: var(--shh-accent);
    }
}


/* =========================================================
   26. NEWS — DETAIL
   ========================================================= */

body.shh-v2 .shh-news-detail-page {
    width: 100%;
    min-height: 100vh;

    margin: 0;
    padding: 0 0 72px;

    background: #000;
    color: #fff;
}

body.shh-v2 .shh-news-detail-page .shh-container--narrow {
    width: min(calc(100% - 40px), 880px);
    margin-inline: auto;
}


/* ---------- HEAD ---------- */

body.shh-v2 .shh-news-detail-head {
    padding: 68px 0 48px;
}

body.shh-v2 .shh-news-detail-head .shh-eyebrow {
    margin: 0 0 46px;

    color: var(--shh-accent);

    font-size: 10px;
    font-weight: 700;
    line-height: 1;
    letter-spacing: .16em;
}

body.shh-v2 .shh-news-detail-date {
    display: block;

    margin: 0 0 18px;

    color: var(--shh-text-muted);

    font-size: 11px;
    font-weight: 500;
    line-height: 1;
    letter-spacing: .08em;
}

body.shh-v2 .shh-news-detail-title {
    margin: 0;

    color: #fff;

    font-family: var(--shh-font);
    font-size: clamp(32px, 5vw, 54px);
    font-weight: 700;
    line-height: 1.25;
    letter-spacing: -.025em;

    overflow-wrap: anywhere;
}


/* ---------- BODY ---------- */

body.shh-v2 .shh-news-detail-body {
    padding: 46px 0 64px;

    border-top: 1px solid var(--shh-border);
}

body.shh-v2 .shh-news-detail-content {
    color: rgba(255, 255, 255, .86);

    font-size: 15px;
    font-weight: 400;
    line-height: 1.9;
}

body.shh-v2 .shh-news-detail-content > *:first-child {
    margin-top: 0;
}

body.shh-v2 .shh-news-detail-content > *:last-child {
    margin-bottom: 0;
}

body.shh-v2 .shh-news-detail-content p {
    margin: 0 0 1.6em;
}

body.shh-v2 .shh-news-detail-content h2 {
    margin: 2.2em 0 .8em;

    color: #fff;

    font-size: 24px;
    font-weight: 700;
    line-height: 1.4;
}

body.shh-v2 .shh-news-detail-content h3 {
    margin: 2em 0 .7em;

    color: #fff;

    font-size: 19px;
    font-weight: 700;
    line-height: 1.4;
}

body.shh-v2 .shh-news-detail-content a {
    color: var(--shh-accent);
    text-decoration: underline;
    text-underline-offset: 4px;
}

body.shh-v2 .shh-news-detail-content img {
    display: block;

    width: auto;
    max-width: 100%;
    height: auto;

    margin: 36px auto;
}

body.shh-v2 .shh-news-detail-content figure {
    margin: 36px 0;
}

body.shh-v2 .shh-news-detail-content figure img {
    margin: 0 auto;
}

body.shh-v2 .shh-news-detail-content figcaption {
    margin-top: 10px;

    color: var(--shh-text-muted);

    font-size: 11px;
    line-height: 1.6;
}

body.shh-v2 .shh-news-detail-content iframe {
    max-width: 100%;
}


/* WordPress ボタン */

body.shh-v2 .shh-news-detail-content .wp-block-button__link {
    display: inline-block;

    padding: 13px 20px;

    border: 1px solid var(--shh-accent);
    border-radius: 0;

    background: transparent;
    color: var(--shh-accent);

    font-size: 11px;
    font-weight: 700;
    letter-spacing: .08em;

    text-decoration: none;
}


/* ---------- BACK ---------- */

body.shh-v2 .shh-news-detail-footer {
    padding: 0 0 20px;
}

body.shh-v2 .shh-news-detail-back {
    display: inline-block;

    color: var(--shh-text-muted);

    font-size: 10px;
    font-weight: 600;
    line-height: 1;
    letter-spacing: .1em;

    text-decoration: none;

    transition:
        color var(--shh-transition),
        transform var(--shh-transition);
}

@media (hover: hover) {

    body.shh-v2 .shh-news-detail-back:hover {
        color: var(--shh-accent);
        transform: translateX(-4px);
    }
}


/* =========================================================
   27. NEWS — MOBILE
   ========================================================= */

@media (max-width: 767px) {

    body.shh-v2 .shh-news-page .shh-container {
        width: calc(100% - 40px);
    }


    /* ---------- LIST HERO ---------- */

    body.shh-v2 .shh-news-hero {
        padding: 58px 0 30px;
    }

    body.shh-v2 .shh-news-list-section {
        padding-top: 14px;
        padding-bottom: 72px;
    }


    /* ---------- LIST ROW ---------- */

    body.shh-v2 .shh-news-link {
        grid-template-columns: 1fr 18px;
        grid-template-areas:
            "date arrow"
            "title arrow";

        column-gap: 14px;
        row-gap: 10px;

        min-height: 116px;

        padding: 22px 0;
    }

    body.shh-v2 .shh-news-date {
        grid-area: date;

        font-size: 10px;
    }

    body.shh-v2 .shh-news-title {
        grid-area: title;

        font-size: 15px;
        line-height: 1.55;
    }

    body.shh-v2 .shh-news-arrow {
        grid-area: arrow;

        align-self: center;

        font-size: 15px;
    }


    /* ---------- PAGINATION ---------- */

    body.shh-v2 .shh-news-pagination {
        margin-top: 32px;
    }


    /* ---------- DETAIL ---------- */

    body.shh-v2 .shh-news-detail-page {
        padding-bottom: 52px;
    }

    body.shh-v2 .shh-news-detail-page .shh-container--narrow {
        width: calc(100% - 40px);
    }

    body.shh-v2 .shh-news-detail-head {
        padding: 42px 0 36px;
    }

    body.shh-v2 .shh-news-detail-head .shh-eyebrow {
        margin-bottom: 38px;

        font-size: 9px;
    }

    body.shh-v2 .shh-news-detail-date {
        margin-bottom: 15px;

        font-size: 10px;
    }

    body.shh-v2 .shh-news-detail-title {
        font-size: clamp(30px, 9vw, 42px);
        line-height: 1.25;
    }

    body.shh-v2 .shh-news-detail-body {
        padding: 34px 0 48px;
    }

    body.shh-v2 .shh-news-detail-content {
        font-size: 14px;
        line-height: 1.85;
    }

    body.shh-v2 .shh-news-detail-content h2 {
        font-size: 21px;
    }

    body.shh-v2 .shh-news-detail-content h3 {
        font-size: 18px;
    }

    body.shh-v2 .shh-news-detail-content img,
    body.shh-v2 .shh-news-detail-content figure {
        margin-top: 28px;
        margin-bottom: 28px;
    }
}
/* =====================================================
   SHH 2026 — HOME
===================================================== */


/* -----------------------------------------------------
   HOME BASE
----------------------------------------------------- */

body.shh-v2 .shh-home {
  --home-max: 1180px;
  --home-pad: clamp(18px, 4vw, 48px);
  --home-yellow: #f0d323;

  width: 100%;
  overflow: hidden;
  background: #000;
  color: #fff;
}

body.shh-v2 .shh-home .shh-container {
  width: min(
    calc(100% - (var(--home-pad) * 2)),
    var(--home-max)
  );
  margin-inline: auto;
}


/* -----------------------------------------------------
   HERO
----------------------------------------------------- */

body.shh-v2 .shh-home-hero {
  position: relative;
  width: 100%;
  background: #000;
  overflow: hidden;
}

body.shh-v2 .shh-home-hero__link {
  display: block;
  width: 100%;
}

body.shh-v2 .shh-home-hero__image {
  display: block;
  width: 100%;
  height: auto;
  object-fit: cover;
}


/* -----------------------------------------------------
   COMMON SECTION
----------------------------------------------------- */

body.shh-v2 .shh-home-section {
  position: relative;
  padding: clamp(68px, 9vw, 120px) 0;
  background: #000;
  color: #fff;
}

body.shh-v2 .shh-home-section__header {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 24px;
  margin-bottom: clamp(32px, 5vw, 58px);
}

body.shh-v2 .shh-home .shh-eyebrow {
  margin: 0 0 10px;
  color: var(--home-yellow);
  font-size: 11px;
  font-weight: 700;
  line-height: 1;
  letter-spacing: .16em;
  text-transform: uppercase;
}

body.shh-v2 .shh-home-section__title {
  margin: 0;
  color: #fff;
  font-size: clamp(42px, 6vw, 76px);
  font-weight: 700;
  line-height: .95;
  letter-spacing: -.04em;
}

body.shh-v2 .shh-home-section__more {
  flex: 0 0 auto;
  padding-bottom: 5px;
  color: rgba(255,255,255,.7);
  font-size: 11px;
  font-weight: 700;
  line-height: 1;
  letter-spacing: .12em;
  text-decoration: none;
  transition:
    color .2s ease,
    transform .2s ease;
}

body.shh-v2 .shh-home-section__more:hover {
  color: var(--home-yellow);
  transform: translateX(3px);
}


/* -----------------------------------------------------
   LIVE
----------------------------------------------------- */

body.shh-v2 .shh-home-live {
  border-bottom: 1px solid rgba(255,255,255,.12);
}

body.shh-v2 .shh-home-live__list .live-info-recent {
  gap: 0;
  color: #fff;
}

body.shh-v2 .shh-home-live__list .shh-liveSchedule {
  border: 0;
}

body.shh-v2 .shh-home-live__list a.shh-liveRow {
  position: relative;
  display: grid !important;
  grid-template-columns:
    minmax(105px, .8fr)
    minmax(170px, 1.25fr)
    minmax(0, 2fr)
    minmax(100px, auto);

  gap: 20px;
  align-items: center;

  min-height: 86px;
  padding: 20px 34px 20px 0 !important;
  margin: 0 !important;

  border: 0 !important;
  border-top: 1px solid rgba(255,255,255,.17) !important;

  background: transparent !important;
  color: #fff !important;
  text-decoration: none;

  transition:
    background .2s ease,
    padding .2s ease;
}

body.shh-v2 .shh-home-live__list a.shh-liveRow:last-child {
  border-bottom: 1px solid rgba(255,255,255,.17) !important;
}

body.shh-v2 .shh-home-live__list a.shh-liveRow::after {
  content: "→";
  position: absolute;
  right: 2px;
  top: 50%;
  transform: translateY(-50%);
  color: var(--home-yellow);
  font-size: 18px;
}

body.shh-v2 .shh-home-live__list a.shh-liveRow:hover {
  background: rgba(255,255,255,.045) !important;
  padding-left: 10px !important;
}

body.shh-v2 .shh-home-live__list .shh-liveRow__date {
  color: #fff;
  font-size: 14px;
  font-weight: 700;
  opacity: 1;
  font-variant-numeric: tabular-nums;
}

body.shh-v2 .shh-home-live__list .shh-liveRow__venue {
  color: #fff;
  font-size: 15px;
  font-weight: 700;
  opacity: 1;
}

body.shh-v2 .shh-home-live__list .shh-liveRow__title {
  color: rgba(255,255,255,.5);
  font-size: 12px;
  font-weight: 400;
  opacity: 1;
}

body.shh-v2 .shh-home-live__list .shh-liveRow__time {
  color: rgba(255,255,255,.55);
  font-size: 12px;
  opacity: 1;
}


/* -----------------------------------------------------
   LISTEN
----------------------------------------------------- */

body.shh-v2 .shh-home-listen {
  border-bottom: 1px solid rgba(255,255,255,.12);
}

body.shh-v2 .shh-home-listen__visual {
  width: 100%;
  margin: 0 0 28px;
  overflow: hidden;
  background: #111;
}

body.shh-v2 .shh-home-listen__visual img {
  display: block;
  width: 100%;
  height: auto;
}

body.shh-v2 .shh-home-listen__services {
  display: grid;
  grid-template-columns: repeat(3, minmax(0,1fr));
  border-top: 1px solid rgba(255,255,255,.18);
}

body.shh-v2 .shh-home-listen__services > a {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 15px;

  min-height: 78px;
  padding: 18px 22px;

  border-right: 1px solid rgba(255,255,255,.18);
  border-bottom: 1px solid rgba(255,255,255,.18);

  color: #fff;
  font-size: 14px;
  font-weight: 600;
  text-decoration: none;

  transition:
    color .2s ease,
    background .2s ease;
}

body.shh-v2 .shh-home-listen__services > a:first-child {
  border-left: 1px solid rgba(255,255,255,.18);
}

body.shh-v2 .shh-home-listen__services > a span:last-child {
  color: var(--home-yellow);
}

body.shh-v2 .shh-home-listen__services > a:hover {
  background: #fff;
  color: #000;
}

body.shh-v2 .shh-home-listen__more {
  margin-top: 24px;
  text-align: right;
}

body.shh-v2 .shh-home-listen__more a {
  color: rgba(255,255,255,.6);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .12em;
  text-decoration: none;
}

body.shh-v2 .shh-home-listen__more a:hover {
  color: var(--home-yellow);
}


/* -----------------------------------------------------
   YOUTUBE
----------------------------------------------------- */

body.shh-v2 .shh-home-youtube {
  border-bottom: 1px solid rgba(255,255,255,.12);
}

body.shh-v2 .shh-home-youtube__visual {
  position: relative;
  width: 100%;
  aspect-ratio: 16 / 9;
  overflow: hidden;
  background:
    radial-gradient(
      circle at center,
      #222 0%,
      #0c0c0c 45%,
      #000 100%
    );
}

body.shh-v2 .shh-home-youtube__placeholder {
  position: absolute;
  inset: 0;
  display: grid;
  place-items: center;
}

body.shh-v2 .shh-home-youtube__placeholder span {
  color: rgba(255,255,255,.12);
  font-size: clamp(72px, 16vw, 210px);
  font-weight: 900;
  letter-spacing: -.06em;
}

body.shh-v2 .shh-home-youtube__body {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 30px;
  margin-top: 26px;
}

body.shh-v2 .shh-home-youtube__body p {
  max-width: 620px;
  margin: 0;
  color: rgba(255,255,255,.7);
  font-size: 14px;
  line-height: 1.9;
}

body.shh-v2 .shh-home-youtube__link {
  flex: 0 0 auto;
  color: #fff;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: .08em;
  text-decoration: none;
}

body.shh-v2 .shh-home-youtube__link:hover {
  color: var(--home-yellow);
}


/* -----------------------------------------------------
   NEWS
----------------------------------------------------- */

body.shh-v2 .shh-home-news {
  border-bottom: 1px solid rgba(255,255,255,.12);
}

body.shh-v2 .shh-home-news__list .latest-news {
  display: block;
  gap: 0;
  color: #fff;
}

body.shh-v2 .shh-home-news__list .news-item {
  position: relative;
  display: grid;
  grid-template-columns: 150px minmax(0,1fr);
  align-items: center;
  gap: 28px;

  min-height: 84px;
  margin: 0;
  padding: 20px 38px 20px 0;

  border: 0;
  border-top: 1px solid rgba(255,255,255,.17);

  color: #fff;
  text-decoration: none;

  transition:
    background .2s ease,
    padding .2s ease;
}

body.shh-v2 .shh-home-news__list .news-item:last-child {
  border-bottom: 1px solid rgba(255,255,255,.17);
}

body.shh-v2 .shh-home-news__list .news-item::after {
  content: "→";
  position: absolute;
  right: 2px;
  top: 50%;
  transform: translateY(-50%);
  color: var(--home-yellow);
  font-size: 18px;
}

body.shh-v2 .shh-home-news__list .news-item:hover {
  padding-left: 10px;
  background: rgba(255,255,255,.045);
}

body.shh-v2 .shh-home-news__list .news-date {
  min-width: 0;
  color: rgba(255,255,255,.45);
  font-size: 11px;
  font-weight: 400;
  letter-spacing: .08em;
  font-variant-numeric: tabular-nums;
}

body.shh-v2 .shh-home-news__list .news-title {
  color: #fff;
  font-size: 15px;
  font-weight: 500;
  line-height: 1.55;
  text-decoration: none !important;
}


/* -----------------------------------------------------
   BIOGRAPHY TEASER
----------------------------------------------------- */

body.shh-v2 .shh-home-biography {
  position: relative;
  display: flex;
  align-items: flex-end;
  min-height: min(760px, 85vh);
  overflow: hidden;

  background:
    linear-gradient(
      180deg,
      rgba(0,0,0,.08) 0%,
      rgba(0,0,0,.35) 45%,
      rgba(0,0,0,.9) 100%
    ),
    #111;

  color: #fff;
}

body.shh-v2 .shh-home-biography__overlay {
  position: absolute;
  inset: 0;
  pointer-events: none;
}

body.shh-v2 .shh-home-biography__inner {
  position: relative;
  z-index: 2;
  padding-top: 120px;
  padding-bottom: 90px;
}

body.shh-v2 .shh-home-biography__title {
  margin: 0 0 28px;
  color: #fff;
  font-size: clamp(50px, 8vw, 100px);
  font-weight: 700;
  line-height: .92;
  letter-spacing: -.05em;
}

body.shh-v2 .shh-home-biography__name {
  margin: 0 0 18px;
  color: #fff;
  font-size: 18px;
  font-weight: 700;
}

body.shh-v2 .shh-home-biography__text {
  max-width: 520px;
  margin: 0 0 34px;
  color: rgba(255,255,255,.72);
  font-size: 14px;
  line-height: 1.9;
}

body.shh-v2 .shh-home-biography__link {
  display: inline-block;
  color: #fff;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .12em;
  text-decoration: none;
}

body.shh-v2 .shh-home-biography__link:hover {
  color: var(--home-yellow);
}


/* =====================================================
   HOME — MOBILE
===================================================== */

@media (max-width: 767px) {

  body.shh-v2 .shh-home {
    --home-pad: 18px;
  }


  /* common */

  body.shh-v2 .shh-home-section {
    padding: 62px 0;
  }

  body.shh-v2 .shh-home-section__header {
    align-items: flex-end;
    margin-bottom: 28px;
  }

  body.shh-v2 .shh-home .shh-eyebrow {
    margin-bottom: 8px;
    font-size: 9px;
  }

  body.shh-v2 .shh-home-section__title {
    font-size: 42px;
  }

  body.shh-v2 .shh-home-section__more {
    padding-bottom: 3px;
    font-size: 9px;
  }


  /* HERO */

  body.shh-v2 .shh-home-hero__image {
    width: 100%;
    height: auto;
  }


  /* LIVE */

  body.shh-v2 .shh-home-live__list a.shh-liveRow {
    display: grid !important;

    grid-template-columns:
      minmax(76px, .7fr)
      minmax(0, 1.8fr);

    grid-template-areas:
      "date venue"
      "date title";

    column-gap: 15px;
    row-gap: 4px;

    min-height: 76px;

    padding:
      16px
      30px
      16px
      0 !important;
  }

  body.shh-v2 .shh-home-live__list .shh-liveRow__date {
    grid-area: date;
    align-self: start;
    padding-top: 1px;
    font-size: 12px;
  }

  body.shh-v2 .shh-home-live__list .shh-liveRow__venue {
    grid-area: venue;
    font-size: 13px;
    line-height: 1.45;
    white-space: normal;
  }

  body.shh-v2 .shh-home-live__list .shh-liveRow__title {
    grid-area: title;
    font-size: 10px;
    line-height: 1.4;
    white-space: normal;
  }

  body.shh-v2 .shh-home-live__list .shh-liveRow__time {
    display: none;
  }

  body.shh-v2 .shh-home-live__list a.shh-liveRow::after {
    font-size: 15px;
  }


  /* LISTEN */

  body.shh-v2 .shh-home-listen__visual {
    margin-bottom: 20px;
  }

  body.shh-v2 .shh-home-listen__services {
    grid-template-columns: 1fr;
  }

  body.shh-v2 .shh-home-listen__services > a {
    min-height: 60px;
    padding: 15px 4px;

    border-right: 0;
    border-left: 0 !important;

    font-size: 13px;
  }

  body.shh-v2 .shh-home-listen__more {
    margin-top: 18px;
  }


  /* YOUTUBE */

  body.shh-v2 .shh-home-youtube__body {
    display: block;
    margin-top: 20px;
  }

  body.shh-v2 .shh-home-youtube__body p {
    font-size: 12px;
    line-height: 1.8;
  }

  body.shh-v2 .shh-home-youtube__link {
    display: inline-block;
    margin-top: 22px;
    font-size: 10px;
  }


  /* NEWS */

  body.shh-v2 .shh-home-news__list .news-item {
    grid-template-columns: 82px minmax(0,1fr);
    gap: 14px;

    min-height: 72px;

    padding:
      15px
      28px
      15px
      0;
  }

  body.shh-v2 .shh-home-news__list .news-date {
    font-size: 9px;
  }

  body.shh-v2 .shh-home-news__list .news-title {
    font-size: 12px;
    line-height: 1.5;
  }

  body.shh-v2 .shh-home-news__list .news-item::after {
    font-size: 14px;
  }


  /* BIOGRAPHY */

  body.shh-v2 .shh-home-biography {
    min-height: 560px;
  }

  body.shh-v2 .shh-home-biography__inner {
    padding-top: 100px;
    padding-bottom: 58px;
  }

  body.shh-v2 .shh-home-biography__title {
    margin-bottom: 24px;
    font-size: 48px;
  }

  body.shh-v2 .shh-home-biography__name {
    font-size: 15px;
  }

  body.shh-v2 .shh-home-biography__text {
    max-width: 320px;
    margin-bottom: 28px;
    font-size: 12px;
    line-height: 1.85;
  }

}
/* =====================================================
   SHH 2026 HOME — FINAL MOCKUP PASS 2026-09-25
   ===================================================== */
body.shh-v2 .shh-home{--home-yellow:var(--shh-accent,#ffd400);background:#050505}
body.shh-v2 .shh-home-section{padding:clamp(58px,7vw,96px) 0;background:#050505}
body.shh-v2 .shh-home-section__header{align-items:center;margin-bottom:34px}
body.shh-v2 .shh-home .shh-eyebrow{color:var(--home-yellow);font-size:10px;letter-spacing:.18em;margin-bottom:8px}
body.shh-v2 .shh-home-section__title{font-size:clamp(34px,4.4vw,58px);letter-spacing:-.035em}
body.shh-v2 .shh-home-section__title::before,
body.shh-v2 .shh-home-biography__title::before{content:"";display:inline-block;width:4px;height:.78em;background:var(--home-yellow);margin-right:14px;vertical-align:.05em}
body.shh-v2 .shh-home-section__more{color:rgba(255,255,255,.64)}

/* hero: keep supplied artwork intact */
body.shh-v2 .shh-home-hero{background:#000}
body.shh-v2 .shh-home-hero__image{width:100%;max-height:min(78vh,820px);object-fit:cover;object-position:center}

/* live: editorial rows */
body.shh-v2 .shh-home-live__list a.shh-liveRow{grid-template-columns:130px minmax(180px,1fr) minmax(0,1.5fr) 160px;min-height:92px;padding-right:36px!important}
body.shh-v2 .shh-home-live__list .shh-liveRow__date{font-size:16px;letter-spacing:.02em}
body.shh-v2 .shh-home-live__list .shh-liveRow__venue{font-size:16px}
body.shh-v2 .shh-home-live__list .shh-liveRow__title{font-size:12px;color:rgba(255,255,255,.56)}
body.shh-v2 .shh-home-live__list .shh-liveRow__time{font-size:11px;letter-spacing:.06em}

/* listen: exactly three covers */
body.shh-v2 .shh-home-listen__works{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(12px,2.2vw,28px);width:min(100%,980px);margin:0 auto 34px}
body.shh-v2 .shh-home-listen__work{display:block;aspect-ratio:1/1;overflow:hidden;background:#111;text-decoration:none;transition:transform .2s ease,opacity .2s ease}
body.shh-v2 .shh-home-listen__work img{width:100%;height:100%;object-fit:cover}
body.shh-v2 .shh-home-listen__work:hover{transform:translateY(-3px);opacity:.88}
body.shh-v2 .shh-home-listen__playon{margin:0 0 12px;text-align:center;color:rgba(255,255,255,.42);font-size:9px;font-weight:700;letter-spacing:.2em}
body.shh-v2 .shh-home-listen__services{width:min(100%,760px);margin-inline:auto}
body.shh-v2 .shh-home-listen__services>a{min-height:58px;padding:14px 18px;font-size:12px}
body.shh-v2 .shh-home-listen__more{text-align:center;margin-top:18px}

/* youtube: real supplied visual + overlay */
body.shh-v2 .shh-home-youtube__visual{display:block;position:relative;aspect-ratio:16/9;background:#000;color:#fff;text-decoration:none}
body.shh-v2 .shh-home-youtube__visual img{width:100%;height:100%;object-fit:cover;object-position:center}
body.shh-v2 .shh-home-youtube__visual::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.04),rgba(0,0,0,.54))}
body.shh-v2 .shh-home-youtube__visual-label{position:absolute;z-index:2;left:clamp(18px,4vw,48px);bottom:clamp(18px,4vw,42px);display:flex;flex-direction:column;gap:6px}
body.shh-v2 .shh-home-youtube__visual-label small{color:var(--home-yellow);font-size:10px;font-weight:800;letter-spacing:.18em}
body.shh-v2 .shh-home-youtube__visual-label strong{font-size:clamp(28px,5vw,64px);line-height:.95;letter-spacing:-.04em}

/* biography works now without a photo; photo can be added later as background-image */
body.shh-v2 .shh-home-biography{min-height:560px;background:radial-gradient(circle at 75% 30%,#191919 0,#0a0a0a 38%,#030303 72%);border-top:1px solid rgba(255,255,255,.1)}
body.shh-v2 .shh-home-biography::before{content:"SHH";position:absolute;right:-.03em;top:50%;transform:translateY(-52%);color:rgba(255,255,255,.025);font-size:min(34vw,520px);font-weight:900;line-height:.8;letter-spacing:-.08em;pointer-events:none}
body.shh-v2 .shh-home-biography__inner{padding-top:100px;padding-bottom:82px}
body.shh-v2 .shh-home-biography__title{font-size:clamp(44px,6.4vw,78px)}

@media(max-width:767px){
 body.shh-v2 .shh-home-section{padding:52px 0}
 body.shh-v2 .shh-home-section__header{margin-bottom:24px}
 body.shh-v2 .shh-home-section__title{font-size:34px}
 body.shh-v2 .shh-home-section__title::before,body.shh-v2 .shh-home-biography__title::before{width:3px;margin-right:10px}
 body.shh-v2 .shh-home-hero__image{max-height:none;aspect-ratio:16/9;object-fit:contain;background:#000}
 body.shh-v2 .shh-home-live__list a.shh-liveRow{grid-template-columns:82px minmax(0,1fr);grid-template-areas:"date venue" "date title";min-height:78px;padding:15px 28px 15px 0!important}
 body.shh-v2 .shh-home-live__list .shh-liveRow__date{font-size:12px}
 body.shh-v2 .shh-home-live__list .shh-liveRow__venue{font-size:13px}
 body.shh-v2 .shh-home-listen__works{gap:8px;margin-bottom:24px}
 body.shh-v2 .shh-home-listen__services{grid-template-columns:1fr}
 body.shh-v2 .shh-home-listen__services>a{min-height:52px;padding:13px 2px;border-left:0!important;border-right:0}
 body.shh-v2 .shh-home-youtube__visual-label strong{font-size:30px}
 body.shh-v2 .shh-home-youtube__visual-label small{font-size:8px}
 body.shh-v2 .shh-home-youtube__body{margin-top:16px}
 body.shh-v2 .shh-home-biography{min-height:500px}
 body.shh-v2 .shh-home-biography::before{font-size:48vw;right:-.1em}
 body.shh-v2 .shh-home-biography__inner{padding-top:78px;padding-bottom:56px}
 body.shh-v2 .shh-home-biography__title{font-size:40px}
}
