/* garret Entertainment の黒と金。CMSの標準の部品へ当てるサイト専用CSS（値は旧 style.min.css から）。 */
@import url('https://fonts.googleapis.com/css2?family=Cinzel:wght@400;600;700&family=Noto+Serif+JP:wght@400&display=swap');
.site-scope { --black: #080808; --dark: #111111; --card: #181818; --border: #2a2a2a; --gold: #c8a84b; --gold-lt: #e8c97a; --cream: #f0e6c8; --gray: #888888; --font-en: 'Cinzel', 'Cormorant Garamond', Georgia, serif; --font-jp: 'Noto Serif JP', 'Noto Sans JP', serif; --gutter: max(5%, calc((100% - 1200px) / 2)); background: var(--black); color: var(--cream); font-family: var(--font-jp); line-height: 1.8; font-synthesis: weight style; -webkit-font-smoothing: antialiased; }
.site-scope a { color: var(--gold); text-decoration: none; transition: color .3s ease; }
.site-scope a:hover { color: var(--gold-lt); }
.site-scope main { padding: 0; }

/* ヘッダー */
.site-scope .site-header { position: sticky; top: 0; z-index: 1000; display: flex; align-items: center; gap: 2rem; min-height: 0; padding: 1.2rem var(--gutter); background: rgba(8,8,8,.85); backdrop-filter: blur(12px); border-bottom: 1px solid rgba(200,168,75,.15); box-shadow: none; }
.site-scope .header-title, .site-scope .brand small { display: none; }
/* サイト名はトップへのリンク */
.site-scope .brand { order: 1; margin-right: auto; font-family: var(--font-en); font-size: 1.4rem; font-weight: 700; letter-spacing: .2em; text-transform: uppercase; white-space: nowrap; }
/* G と E だけ金色にする（本文を分けずに色を変える） */
.site-scope .brand span, .site-scope .footer-information p { background: linear-gradient(to right, var(--gold) 0 1.02em, #fff 1.02em 5.96em, var(--gold) 5.96em 6.79em, #fff 6.79em); -webkit-background-clip: text; background-clip: text; color: transparent; }
.site-scope .site-nav { order: 2; background: transparent; }
.site-scope .site-nav .nav-tree { gap: 2.5rem; }
.site-scope .site-nav .nav-item > a, .site-scope .site-nav a { padding: 0 0 2px; line-height: 1.6; min-height: 0; border-bottom: 1px solid transparent; background: transparent; color: var(--cream); font-family: var(--font-en); font-size: .78rem; font-weight: 600; letter-spacing: .15em; text-transform: uppercase; }
.site-scope .site-nav a:hover, .site-scope .site-nav a[aria-current="page"] { background: transparent; color: var(--gold); border-bottom-color: var(--gold); }
.site-scope .header-social { order: 3; display: flex; gap: 1rem; align-items: center; }
.site-scope .header-social img { display: block; width: 16px; height: 16px; }
.site-scope .nav-toggle { order: 4; border: 0; background: transparent; }
.site-scope .nav-toggle span { background: var(--cream); }

/* セクション共通 */
.site-scope .section { position: relative; padding: 6rem 0; background: var(--dark); border-top: 1px solid var(--border); color: var(--cream); }
.site-scope .section-inner { width: 90%; max-width: 1200px; margin: 0 auto; }
.site-scope .prose { max-width: 900px; }
.site-scope .section h1, .site-scope .section h2, .site-scope .section h3 { font-family: var(--font-en); font-weight: 700; letter-spacing: .1em; line-height: 1.3; color: #fff; }
.site-scope .section > .section-inner > h2, .site-scope .post-feed > h2 { display: flex; align-items: center; gap: 1.5rem; margin: 0 0 3rem; font-size: clamp(1.4rem, 3vw, 2rem); letter-spacing: .3em; text-transform: uppercase; color: var(--gold); }
.site-scope .section > .section-inner > h2::after, .site-scope .post-feed > h2::after { content: ""; flex: 1; height: 1px; background: linear-gradient(to right, var(--gold), transparent); }
.site-scope .section > .section-inner > h2:empty { display: none; }

/* ボタン */
.site-scope .button, .site-scope .post-feed-more a { display: inline-block; padding: .9rem 2.5rem; border: 1px solid var(--gold); border-radius: 0; background: var(--gold); box-shadow: none; color: var(--black); font-family: var(--font-en); font-size: .75rem; font-weight: 600; letter-spacing: .2em; text-transform: uppercase; }
.site-scope .button:hover { background: var(--gold-lt); border-color: var(--gold-lt); color: var(--black); }
.site-scope .button--secondary, .site-scope .post-feed-more a { background: transparent; border-color: var(--cream); color: var(--cream); }
.site-scope .button--secondary:hover, .site-scope .post-feed-more a:hover { background: rgba(240,230,200,.1); border-color: var(--cream); color: #fff; }

/* ページ上部の帯。画像なしは中央寄せの暗い帯、画像ありは下寄せ */
.site-scope .section--hero { padding: 0; background: var(--black); border-top: 0; border-bottom: 1px solid var(--border); }
.site-scope .section--hero .hero-inner { width: 90%; max-width: 1200px; margin: 0 auto; }
.site-scope .hero--cover .hero-inner { min-height: 50vh; align-items: end; padding: 5rem 0 4rem; }
.site-scope .hero--cover .hero-image { filter: none; opacity: .4; }
/* 編集画面が .section::before を選択の表示に使うので、中の要素へ当てる */
.site-scope .hero--cover .hero-inner::before { content: ""; position: absolute; inset: 0; z-index: 1; background: linear-gradient(to top, var(--black) 0%, rgba(8,8,8,.3) 60%, transparent 100%); pointer-events: none; }
.site-scope .hero--cover .eyebrow { margin: 0 0 1rem; font-family: var(--font-en); font-size: .7rem; font-weight: 400; letter-spacing: .4em; text-transform: uppercase; color: var(--gold); }
.site-scope .hero--cover h1 { max-width: 800px; margin: 0; font-size: clamp(2rem, 5vw, 3.5rem); letter-spacing: .2em; text-transform: uppercase; }
.site-scope .section--hero:not(:has(.hero-image)) { background: var(--dark); }
.site-scope .section--hero:not(:has(.hero-image)) .hero-inner { min-height: 0; padding: 4rem 0; text-align: center; }
.site-scope .section--hero:not(:has(.hero-image)) .hero-inner::before { display: none; }
.site-scope .section--hero:not(:has(.hero-image)) h1 { margin-inline: auto; }
/* 作品ページの題名は日本語の明朝 */
.site-scope main:has(> [id$="-info"]) .hero--cover h1 { font-family: var(--font-jp); font-weight: 400; font-size: clamp(1.8rem, 5vw, 3.5rem); letter-spacing: .08em; }
.site-scope main:has(> [id$="-info"]) .hero--cover .hero-inner { min-height: 60vh; }
.site-scope main:has(> [id$="-info"]) .eyebrow { display: inline-block; padding: .3rem .8rem; border: 1px solid var(--gold); font-size: .65rem; letter-spacing: .2em; }
.site-scope #about-hero .hero-inner { padding-inline: 5%; }
.site-scope #about-hero .hero-image { opacity: .2; }

/* トップ: ヒーロー */
.site-scope #home-hero .hero-inner { width: 100%; max-width: none; min-height: calc(100vh - 64px); align-items: center; justify-items: center; padding: 2rem; overflow: hidden; }
.site-scope #home-hero .hero-image { opacity: .35; animation: garret-zoom 20s ease infinite alternate; }
@keyframes garret-zoom { from { transform: scale(1.05); } to { transform: scale(1.12); } }
.site-scope #home-hero .hero-inner::before { background: linear-gradient(to bottom, rgba(8,8,8,.3) 0, rgba(8,8,8,.15) 40%, rgba(8,8,8,.7) 100%); }
.site-scope #home-hero .hero-inner::after { content: ""; position: absolute; left: 50%; bottom: 2.5rem; z-index: 2; width: 1px; height: 60px; background: linear-gradient(to bottom, transparent, var(--gold)); }
.site-scope #home-hero .hero-content { text-align: center; }
.site-scope #home-hero .eyebrow { display: inline-block; margin-bottom: 2rem; padding: .4rem 1.2rem; border: 1px solid var(--gold); font-size: .7rem; letter-spacing: .5em; }
.site-scope #home-hero h1 { max-width: 100%; font-size: clamp(3rem, 8vw, 7rem); letter-spacing: .15em; line-height: 1.1; }
.site-scope #home-hero h1::first-letter { color: var(--gold); }
.site-scope #home-hero .hero-copy { max-width: none; margin: 1.5rem auto 3rem; font-size: clamp(.85rem, 1.5vw, 1rem); letter-spacing: .25em; color: var(--cream); opacity: .8; }
.site-scope #home-hero .button { margin: 0 .75rem .75rem; }

/* トップ: About（左に写真、右に文章） */
.site-scope #home-about { background: var(--black); }
.site-scope #home-about .prose { display: grid; grid-template-columns: 1fr 1.2fr; column-gap: 6rem; align-items: start; max-width: 1200px; }
.site-scope #home-about .prose > h2 { display: block; max-width: 9em; grid-column: 2; order: 1; margin: 0 0 1.5rem; font-size: clamp(1.8rem, 4vw, 3rem); letter-spacing: .1em; line-height: 1.2; text-transform: none; color: #fff; }
.site-scope #home-about .prose > h2::after { display: none; }
.site-scope #home-about .prose > div { display: contents; }
.site-scope #home-about .prose p { grid-column: 2; order: 2; margin: 0 0 1.5rem; font-size: .95rem; color: rgba(240,230,200,.75); }
.site-scope #home-about .prose p:has(img) { grid-column: 1; grid-row: 1 / span 9; order: 0; margin: 0; }
.site-scope #home-about .prose img { width: 100%; aspect-ratio: 4 / 5; margin: 0; object-fit: cover; opacity: .85; border: 1px solid var(--border); border-radius: 0; }
.site-scope #home-about .prose p:nth-of-type(2) { order: 0; margin-bottom: 1rem; font-family: var(--font-en); font-size: .7rem; letter-spacing: .4em; text-transform: uppercase; color: var(--gold); }
.site-scope #home-about .prose table { grid-column: 2; order: 3; display: flex; gap: 3rem; margin: 1rem 0 2.5rem; padding: 2rem 0; border-top: 1px solid var(--border); border-bottom: 1px solid var(--border); }
.site-scope #home-about .prose tbody { display: contents; }
.site-scope #home-about .prose tr { display: block; }
.site-scope #home-about .prose td { display: block; padding: 0; border: 0; }
.site-scope #home-about .prose td:first-child { margin-bottom: .3rem; font-family: var(--font-en); font-size: 2.5rem; letter-spacing: 0; line-height: 1; color: var(--gold); white-space: nowrap; }
.site-scope #home-about .prose td:last-child { font-family: var(--font-jp); font-size: .75rem; letter-spacing: .1em; color: var(--gray); }
.site-scope #home-about .prose p:has(> a:only-child) { order: 4; }
.site-scope #home-about .prose p > a:only-child { display: inline-block; padding: .9rem 2.5rem; border: 1px solid var(--gold); background: var(--gold); color: var(--black); font-family: var(--font-en); font-size: .75rem; font-weight: 600; letter-spacing: .2em; text-transform: uppercase; }

/* トップ: 作品カード（写真の上に文字） */
.site-scope #home-artwork { padding-bottom: 3rem; }
.site-scope #home-artwork .feature-grid, .site-scope #home-artwork .section-inner > div { gap: 1.5rem; }
.site-scope #home-artwork .feature-card { position: relative; display: flex; flex-direction: column; justify-content: flex-end; aspect-ratio: 3 / 4; padding: 2rem; overflow: hidden; border: 1px solid var(--border); border-radius: 0; background: var(--card); }
.site-scope #home-artwork .feature-card::after { content: ""; position: absolute; inset: 0; background: linear-gradient(to top, rgba(8,8,8,.95) 0, transparent 50%); pointer-events: none; }
.site-scope #home-artwork .feature-icon { position: absolute; inset: 0; width: 100%; height: 100%; margin: 0; object-fit: cover; opacity: .7; transition: transform .8s ease, opacity .4s ease; }
.site-scope #home-artwork .feature-card:hover .feature-icon { transform: scale(1.08); opacity: .9; }
.site-scope #home-artwork h3, .site-scope #home-artwork .feature-card p { position: relative; z-index: 1; }
.site-scope #home-artwork h3 { order: 2; margin: 0; font-size: 1.3rem; }
.site-scope #home-artwork h3 a { color: #fff; }
.site-scope #home-artwork h3 a::before { content: ""; position: absolute; inset: -100vh; }
.site-scope #home-artwork .feature-card p { order: 1; margin: 0 0 .5rem; font-family: var(--font-en); font-size: .7rem; letter-spacing: .2em; color: var(--gold); }
.site-scope #home-artwork-more { padding: 0 0 6rem; border-top: 0; }
.site-scope #home-artwork-more .prose { max-width: 1200px; text-align: center; }
.site-scope #home-artwork-more p { margin: 0; }
.site-scope #home-artwork-more a { display: inline-block; padding: .9rem 2.5rem; border: 1px solid var(--cream); color: var(--cream); font-family: var(--font-en); font-size: .75rem; font-weight: 600; letter-spacing: .2em; text-transform: uppercase; }

/* 新着リスト */
.site-scope #home-news { background: var(--black); }
.site-scope .post-feed-links { max-width: 900px; margin: 0 auto; padding: 0; list-style: none; }
.site-scope .post-feed-links li { display: grid; grid-template-columns: 5.5rem 7rem 1fr; align-items: baseline; gap: 1.25rem; padding: 1.5rem 1.25rem; border-bottom: 1px solid var(--border); }
.site-scope .post-feed-links time { flex-shrink: 0; font-family: var(--font-en); font-size: .85rem; letter-spacing: .03em; color: var(--gray); }
.site-scope .post-feed-category { justify-self: start; padding: .2rem .6rem; border: 1px solid var(--gold); border-radius: 2px; font-family: var(--font-en); font-size: .65rem; font-weight: 600; letter-spacing: .1em; text-align: center; text-transform: uppercase; color: var(--gold); white-space: nowrap; }
.site-scope .post-feed-links a { font-size: 1.05rem; font-weight: 700; color: #fff; }
.site-scope .post-feed-links a:hover { color: var(--gold-lt); }
.site-scope .post-feed-more { margin: 3rem 0 0; text-align: center; }
.site-scope #home-contact { background: linear-gradient(135deg, #0f0a00, var(--dark)); text-align: center; }
.site-scope #home-contact .callout-inner { display: block; }
.site-scope #home-contact h2 { display: block; margin: 0 0 1rem; font-size: clamp(1.8rem, 4vw, 3rem); letter-spacing: .1em; text-transform: none; color: #fff; }
.site-scope #home-contact h2::after { display: none; }
.site-scope #home-contact p { white-space: pre-line; max-width: 500px; margin: 0 auto 3rem; color: rgba(240,230,200,.65); }

/* 本文 */
.site-scope .prose, .site-scope .post-body { color: rgba(240,230,200,.85); font-size: 1rem; line-height: 2; }
.site-scope .prose p, .site-scope .post-body p { margin: 0 0 1.5rem; font-size: inherit; line-height: 2; color: inherit; }
.site-scope .prose table, .site-scope .post-body table { width: 100%; margin: 0 0 1.5rem; border: 0; border-collapse: collapse; font-size: inherit; }
.site-scope .prose th, .site-scope .prose td, .site-scope .post-body th, .site-scope .post-body td { padding: .9rem 0; border: 0; border-bottom: 1px solid var(--border); background: transparent; color: var(--cream); font-size: .9rem; }
.site-scope .prose td:first-child { width: 40%; font-family: var(--font-en); font-size: .7rem; letter-spacing: .15em; text-transform: uppercase; color: var(--gold); }
.site-scope .post-body blockquote { margin: 2rem 0; padding: 1.5rem 2rem; border-left: 2px solid var(--gold); background: rgba(255,255,255,.03); color: rgba(240,230,200,.75); font-style: italic; }
.site-scope .post-body blockquote p { margin: 0; }
.site-scope .post-body iframe { width: 100%; margin-bottom: 1.5rem; border: 0; background: #fff; }
.site-scope .article-section article { max-width: 900px; }
.site-scope .article-section .post-body > h2 { display: flex; align-items: center; gap: 1.5rem; margin: 0 0 2rem; font-family: var(--font-en); font-size: clamp(1.4rem, 3vw, 2rem); letter-spacing: .3em; text-transform: uppercase; color: var(--gold); }
.site-scope .post-body p:has(+ iframe[src*="docs.google"]) { padding: 1.2rem; border: 1px solid var(--border); border-left: 3px solid var(--gold); background: var(--card); font-size: .85rem; line-height: 1.8; }
.site-scope .post-body p:has(+ iframe[src*="docs.google"]) strong { color: #fff; }

/* About */
.site-scope #about-intro .prose, .site-scope #about-divisions .section-inner, .site-scope #about-message article { max-width: 900px; }
.site-scope #about-intro .prose > h2 { display: block; max-width: 12em; order: 1; margin: 0 0 1.5rem; font-size: clamp(1.8rem, 3vw, 2.5rem); letter-spacing: .1em; text-transform: none; color: #fff; }
.site-scope #about-intro .prose > h2::after { display: none; }
.site-scope #about-intro .prose { display: flex; flex-direction: column; }
.site-scope #about-intro .prose > div { order: 2; }
.site-scope #about-intro .prose > div p:first-child { display: none; }
.site-scope #about-intro .prose::before { content: "Organization"; order: 0; margin-bottom: 1rem; font-family: var(--font-en); font-size: .7rem; letter-spacing: .4em; text-transform: uppercase; color: var(--gold); }
.site-scope #about-intro table { margin-top: 3rem; }
.site-scope #about-divisions { background: var(--black); }
.site-scope #about-divisions .section-inner > div { gap: 1.5rem; }
.site-scope #about-message .post-body > h2 { justify-content: center; letter-spacing: .3em; }
.site-scope #about-message article { max-width: 700px; }
.site-scope #about-message .post-body p:has(img) { float: left; margin: 0 2rem 0 0; }
.site-scope #about-message .post-body img { width: 120px; height: 120px; border: 2px solid var(--gold); border-radius: 50%; object-fit: cover; }
.site-scope #about-message .post-body p:last-child { margin: 0; font-family: var(--font-en); letter-spacing: .15em; color: var(--gold); }
.site-scope .feature-card { padding: 1.8rem; border: 1px solid var(--border); border-radius: 0; background: transparent; box-shadow: none; transition: border-color .3s; }
.site-scope .feature-card:hover { border-color: var(--gold); }
.site-scope .feature-card > span { display: none; }
.site-scope .feature-card h3 { margin: 0 0 .8rem; font-size: .75rem; letter-spacing: .2em; text-transform: uppercase; color: var(--gold); }
.site-scope .feature-card p { margin: 0; color: rgba(240,230,200,.7); font-size: .85rem; }

/* Artwork の一覧（表を行のリストとして見せる） */
.site-scope #artwork-list { padding: 5rem 0 6rem; border-top: 0; }
.site-scope #artwork-list .prose { max-width: 1200px; }
.site-scope #artwork-list table { border-top: 1px solid var(--border); }
.site-scope #artwork-list td { padding: 2.5rem 3rem; vertical-align: middle; line-height: 1.8; }
.site-scope #artwork-list td:first-child { width: 120px; padding: 2.5rem 2rem; border-right: 1px solid var(--border); font-size: .6rem; letter-spacing: .2em; color: var(--gray); white-space: nowrap; }
.site-scope #artwork-list td:first-child::first-line { font-size: 1.8rem; letter-spacing: 0; color: var(--gold); }
.site-scope #artwork-list td:last-child { color: rgba(240,230,200,.6); }
.site-scope #artwork-list strong { font-weight: 400; }
.site-scope #artwork-list strong a { font-size: clamp(1.1rem, 2vw, 1.4rem); letter-spacing: .05em; color: #fff; }
.site-scope #artwork-list td:last-child > a { font-family: var(--font-en); font-size: .7rem; letter-spacing: .2em; color: var(--gold); }

/* Record（1つの続いた画面に見せる） */
.site-scope [id^="record-"]:not(#record-hero) { padding: 0 0 4rem; border-top: 0; }
.site-scope [id^="record-"]#record-1:not(#record-hero) { padding-top: 5rem; }
.site-scope [id^="record-"] .prose { max-width: 900px; }
.site-scope [id^="record-"] .prose > h2 { margin-bottom: 1.5rem; font-size: .75rem; letter-spacing: .4em; gap: 1rem; }
.site-scope [id^="record-"] td { padding: 1.1rem 0; font-size: .9rem; }
.site-scope [id^="record-"] td:first-child { width: 90px; padding-right: 1.5rem; font-size: .85rem; letter-spacing: .05em; text-transform: none; color: var(--gray); }
.site-scope [id^="record-"] table, .site-scope [id^="record-"] tbody { display: block; }
.site-scope [id^="record-"] tr { display: grid; grid-template-columns: 90px 90px 1fr; gap: 1.5rem; align-items: center; padding: 1.1rem 0; border-bottom: 1px solid var(--border); }
.site-scope [id^="record-"] td { width: auto !important; padding: 0 !important; border: 0; }
/* 種別は文字の幅に合わせた枠 */
.site-scope [id^="record-"] td:nth-child(2) { width: fit-content !important; padding: .2rem .6rem !important; border: 1px solid var(--gold); border-radius: 2px; font-family: var(--font-en); font-size: .6rem; font-weight: 600; letter-spacing: .15em; text-transform: uppercase; color: var(--gold); }

/* Contact（左に案内、右にフォーム） */
.site-scope main:has(> #contact-details) { display: grid; grid-template-columns: minmax(5%, 1fr) minmax(0, 260px) minmax(0, 540px) minmax(5%, 1fr); column-gap: 0; background: var(--dark); }
.site-scope main:has(> #contact-details) > #contact-hero { grid-column: 1 / -1; }
.site-scope #contact-details { grid-column: 2; padding: 6rem 3rem 6rem 0; border: 0; }
.site-scope #contact-form { grid-column: 3; padding: 6rem 0; border: 0; }
.site-scope #contact-details .section-inner, .site-scope #contact-form .section-inner { width: 100%; padding: 0; }
.site-scope #contact-form article { margin: 0; padding: 0; }
.site-scope #contact-details .section-inner > h2, .site-scope #contact-form .post-body > h2 { display: block; margin: 0 0 2rem; font-size: 1rem; letter-spacing: .2em; color: var(--gold); }
.site-scope #contact-details .section-inner > h2::after { display: none; }
.site-scope #contact-details tr, .site-scope #contact-details td { display: block; width: auto; padding: 0; border: 0; }
.site-scope #contact-details tr { margin-bottom: 2rem; }
.site-scope #contact-details td:first-child { margin-bottom: .5rem; font-size: .65rem; letter-spacing: .2em; color: var(--gray); }
.site-scope #contact-details td:last-child { font-size: .85rem; word-break: break-all; }
.site-scope #contact-details td a { color: var(--cream); }

/* 作品ページ（左に本文、右に作品情報） */
.site-scope main:has(> [id$="-info"]) { display: grid; grid-template-columns: minmax(5%, 1fr) minmax(0, 660px) 340px minmax(5%, 1fr); background: var(--dark); }
.site-scope main:has(> [id$="-info"]) > .section--hero { grid-column: 1 / -1; }
.site-scope main:has(> [id$="-info"]) > .section:not(.section--hero) { grid-column: 2; padding: 0 5rem 4rem 0; border: 0; background: transparent; }
.site-scope main:has(> [id$="-info"]) > .section--hero + .section { padding-top: 5rem; }
.site-scope main:has(> [id$="-info"]) > [id$="-info"].section { grid-column: 3; grid-row: 2 / span 8; align-self: start; padding: 5rem 0 4rem; }
.site-scope main:has(> [id$="-info"]) > .section:not(.section--hero) .section-inner { width: 100%; max-width: none; }
.site-scope main:has(> [id$="-info"]) .article-section article { max-width: none; }
.site-scope main:has(> [id$="-info"]) .section > .section-inner > h2, .site-scope main:has(> [id$="-info"]) .post-body > h2 { margin-bottom: 1.5rem; font-size: .7rem; letter-spacing: .4em; gap: 1rem; }
.site-scope main:has(> [id$="-info"]) .post-body > h2::after { content: ""; flex: 1; height: 1px; background: linear-gradient(to right, var(--gold), transparent); }
.site-scope main:has(> [id$="-info"]) .post-body h3 { margin: 0 0 .6rem; font-family: var(--font-en); font-size: .7rem; letter-spacing: .15em; text-transform: uppercase; color: var(--gray); }
.site-scope [id$="-story"] .prose p { margin: 0; font-size: .98rem; line-height: 2.2; color: rgba(240,230,200,.82); }
.site-scope [id$="-gallery"] .prose > div { display: grid; grid-template-columns: repeat(3, 1fr); gap: .8rem; }
.site-scope [id$="-gallery"] img { width: 100%; aspect-ratio: 4 / 3; margin: 0; object-fit: cover; opacity: .85; border-radius: 0; transition: opacity .3s, transform .5s; }
.site-scope [id$="-gallery"] img:hover { opacity: 1; transform: scale(1.04); }
.site-scope :is([id$="-cast"], [id$="-staff"]) table, .site-scope :is([id$="-cast"], [id$="-staff"]) tbody { display: block; }
.site-scope :is([id$="-cast"], [id$="-staff"]) tr { display: grid; grid-template-columns: 200px 1fr auto; gap: 1.5rem; align-items: center; padding: .85rem 0; border-bottom: 1px solid var(--border); }
.site-scope :is([id$="-cast"], [id$="-staff"]) td { padding: 0; border: 0; font-size: .95rem; }
.site-scope :is([id$="-cast"], [id$="-staff"]) td:first-child:empty { display: none; }
.site-scope :is([id$="-cast"], [id$="-staff"]) td:first-child:empty + td { grid-column: 1 / 3; }
.site-scope [id$="-cast"] td:first-child, .site-scope [id$="-staff"] td:first-child { width: auto; font-size: .8rem; letter-spacing: .1em; text-transform: none; color: var(--gray); }
.site-scope [id$="-staff"] td:first-child { font-size: .75rem; color: var(--gold); }
.site-scope [id$="-cast"] td:last-child, .site-scope [id$="-staff"] td:last-child { text-align: right; }
.site-scope [id$="-cast"] td:last-child a, .site-scope [id$="-staff"] td:last-child a { padding: .1rem .5rem; border: 1px solid rgba(136,136,136,.35); font-family: var(--font-en); font-size: .6rem; letter-spacing: .15em; text-transform: uppercase; color: var(--gray); white-space: nowrap; }
.site-scope [id$="-info"] .prose { display: flex; flex-direction: column; max-width: none; }
.site-scope [id$="-info"] .prose > div { display: contents; }
.site-scope [id$="-info"] .prose p:has(img) { order: -2; margin: 0 0 2rem; }
.site-scope [id$="-info"] img { display: block; width: 100%; margin: 0; border: 1px solid var(--border); border-radius: 0; opacity: .9; }
.site-scope [id$="-info"] .prose > h2 { order: -1; margin: 0; padding: 1.8rem 1.8rem 1.5rem; border: 1px solid var(--border); border-bottom: 0; font-size: .65rem; letter-spacing: .3em; }
.site-scope [id$="-info"] .prose > h2::after { display: none; }
.site-scope [id$="-info"] table { display: block; margin: 0 0 1.5rem; padding: 0 1.8rem 1rem; border: 1px solid var(--border); border-top: 0; }
.site-scope [id$="-info"] tbody { display: block; }
.site-scope [id$="-info"] tr { display: flex; flex-direction: column; gap: .2rem; padding: .8rem 0; border-bottom: 1px solid var(--border); }
.site-scope [id$="-info"] td { display: block; width: auto; padding: 0; border: 0; font-size: .85rem; }
.site-scope [id$="-info"] td:first-child { font-size: .6rem; letter-spacing: .2em; color: var(--gray); }
.site-scope [id$="-info"] p:last-child { margin: 0; }
.site-scope [id$="-info"] p:last-child a { display: block; padding: .9rem; border: 1px solid var(--cream); color: var(--cream); font-family: var(--font-en); font-size: .75rem; font-weight: 600; letter-spacing: .2em; text-align: center; text-transform: uppercase; }

/* 募集ページなど本文のセクション */
.site-scope #recruit-body article { max-width: 900px; }
.site-scope #recruit-body .post-body > h2 { display: block; margin: 3rem 0 1rem; padding-left: 1rem; border-left: 2px solid var(--gold); font-family: var(--font-jp); font-size: 1.4rem; letter-spacing: .1em; text-transform: none; color: #fff; }
.site-scope #recruit-body { padding-top: 1rem; background: var(--black); border-top: 0; }
.site-scope #recruit-body td:first-child { width: 30%; padding-right: 1rem; color: var(--gold); }

/* 一覧の見出しの帯 */
.site-scope .news-page { width: 100%; max-width: none; padding: 0 0 6rem; }
.site-scope .news-heading { margin: 0 0 3rem; padding: 4rem 5%; background: var(--dark); border-bottom: 1px solid var(--border); text-align: center; }
.site-scope .news-heading p { margin: 0 0 1rem; font-family: var(--font-en); font-size: .7rem; letter-spacing: .4em; text-transform: uppercase; color: var(--gold); }
.site-scope .news-heading h1 { margin: 0; font-family: var(--font-en); font-size: clamp(2rem, 5vw, 3.5rem); font-weight: 700; letter-spacing: .2em; line-height: 1.3; text-transform: uppercase; color: #fff; }
.site-scope .news-categories { display: flex; flex-wrap: wrap; justify-content: center; gap: .5rem; width: 90%; max-width: 1200px; margin: 0 auto 4rem; padding-bottom: 1.5rem; border-bottom: 1px solid var(--border); }
.site-scope .news-categories a { padding: .5rem 1.5rem; border: 1px solid var(--border); border-radius: 0; background: transparent; font-family: var(--font-en); letter-spacing: .25em; text-transform: uppercase; color: var(--gray); }
.site-scope .news-categories a:hover { border-color: var(--gold); background: rgba(200,168,75,.07); color: var(--gold); }
.site-scope .news-empty { text-align: center; }
.site-scope .news-page:has(.news-categories) .news-heading p { font-size: 0; }
.site-scope .news-page:has(.news-categories) .news-heading p::after { content: "garret Entertainment"; font-size: .7rem; }
.site-scope .news-page:has(.news-categories) .news-heading h1 { font-size: 0; }
.site-scope .news-page:has(.news-categories) .news-heading h1::after { content: "News"; font-size: clamp(2rem, 5vw, 3.5rem); }
/* タブは主なカテゴリーだけ（News / Event / Diary / Works） */
.site-scope .news-categories a:not([href$="/category/news/"], [href$="/category/event/"], [href$="/category/diary/"], [href$="/category/artwork/"]) { display: none; }
.site-scope .news-categories a { font-size: 0; }
.site-scope .news-categories a::after { font-size: .7rem; }
.site-scope .news-categories a[href$="/category/news/"]::after { content: "News"; }
.site-scope .news-categories a[href$="/category/event/"]::after { content: "Event"; }
.site-scope .news-categories a[href$="/category/diary/"]::after { content: "Diary"; }
.site-scope .news-categories a[href$="/category/artwork/"]::after { content: "Works"; }

/* お知らせの一覧（1行のリスト） */
.site-scope .news-list { display: block; max-width: 900px; margin: 0 auto; padding-inline: 5%; }
.site-scope .news-card { display: block; padding: 0; border: 0; border-bottom: 1px solid var(--border); border-radius: 0; background: transparent; box-shadow: none; transition: background .3s; }
.site-scope .news-card:hover { background: rgba(200,168,75,.05); }
.site-scope .news-card > img { display: none; }
.site-scope .news-card > div { display: grid; grid-template-columns: 5.5rem 7rem 1fr; align-items: baseline; gap: 1.25rem; padding: 1.5rem 1.25rem; }
.site-scope .news-card time { flex-shrink: 0; font-family: var(--font-en); font-size: .85rem; font-weight: 400; letter-spacing: .03em; color: var(--gray); }
.site-scope .news-card .post-terms { flex-shrink: 0; min-width: 0; margin: 0; }
.site-scope .news-card .post-term { max-width: 100%; overflow: hidden; text-overflow: ellipsis; }
.site-scope .news-card .post-term:not(:first-child) { display: none; }
.site-scope .post-term { display: inline-block; padding: .2rem .6rem; border: 1px solid var(--gold); border-radius: 2px; background: transparent; font-family: var(--font-en); font-size: .65rem; font-weight: 600; letter-spacing: .1em; text-transform: uppercase; color: var(--gold); white-space: nowrap; }
.site-scope .post-term:hover { background: var(--gold); color: var(--black); }
.site-scope .news-card h2 { margin: 0; font-family: var(--font-jp); font-size: 1.05rem; font-weight: 700; letter-spacing: .1em; line-height: 1.6; }
.site-scope .news-card h2 a { color: #fff; }
.site-scope .news-card h2 a:hover { color: var(--gold-lt); }
.site-scope .news-card p:not(.post-terms) { display: none; }

/* カテゴリーの一覧（写真つきカード）。お知らせの一覧にはカテゴリー欄があるので、それで見分ける */
.site-scope .news-page:not(:has(.news-categories)) .news-list { display: grid; grid-template-columns: repeat(3, 1fr); gap: 2rem; max-width: 1200px; padding-inline: 5%; }
.site-scope .news-page:not(:has(.news-categories)) .news-card { display: flex; flex-direction: column; border: 1px solid var(--border); background: var(--card); overflow: hidden; transition: transform .3s, border-color .3s; }
.site-scope .news-page:not(:has(.news-categories)) .news-card:hover { transform: translateY(-4px); border-color: var(--gold); }
.site-scope .news-page:not(:has(.news-categories)) .news-card > img { display: block; width: 100%; max-width: none; height: auto; aspect-ratio: 16 / 9; margin: 0; border-radius: 0; object-fit: cover; opacity: .8; }
.site-scope .news-page:not(:has(.news-categories)) .news-card:not(:has(> img))::before { content: "G"; display: flex; align-items: center; justify-content: center; aspect-ratio: 16 / 9; background: linear-gradient(135deg, var(--dark), var(--card)); font-family: var(--font-en); font-size: 2rem; color: rgba(200,168,75,.4); }
.site-scope .news-page:not(:has(.news-categories)) .news-card > div { display: flex; flex-wrap: wrap; align-items: center; gap: .8rem; padding: 1.5rem; }
.site-scope .news-page:not(:has(.news-categories)) .news-card time { order: 2; font-size: .7rem; }
.site-scope .news-page:not(:has(.news-categories)) .post-terms { order: 1; }
.site-scope .news-page:not(:has(.news-categories)) .post-term { padding: 0; border: 0; letter-spacing: .15em; }
.site-scope .news-page:not(:has(.news-categories)) .news-card h2 { order: 3; width: 100%; margin: 0; font-size: .95rem; letter-spacing: .05em; color: var(--cream); }
.site-scope .news-page:not(:has(.news-categories)) .news-card h2 a { color: var(--cream); }
.site-scope .news-page:not(:has(.news-categories)) > p:last-of-type, .site-scope .news-page > .news-back { text-align: center; }

/* ページ送り */
.site-scope .pagination { display: flex; flex-wrap: wrap; justify-content: center; align-items: center; gap: .5rem; margin-top: 4rem; }
.site-scope .pagination ol { display: flex; gap: .5rem; margin: 0; padding: 0; list-style: none; }
.site-scope .pagination a, .site-scope .pagination ol span, .site-scope .pagination > span { display: flex; align-items: center; justify-content: center; min-width: 40px; height: 40px; padding: 0 .6rem; border: 1px solid var(--border); border-radius: 0; background: transparent; font-family: var(--font-en); font-size: .8rem; color: var(--gray); }
.site-scope .pagination > span { display: none; }
.site-scope .pagination [aria-current="page"], .site-scope .pagination a:hover { border-color: var(--gold); background: var(--gold); color: var(--black); }

/* 投稿ページ（題名の後ろに写真を薄く敷く） */
.site-scope .post-page { position: relative; width: 100%; max-width: none; padding: 0 0 4rem; overflow: hidden; }
.site-scope .post-page::before { content: ""; position: absolute; top: 0; left: 0; right: 0; height: 55vh; z-index: 1; background: linear-gradient(to top, var(--black) 0, rgba(8,8,8,.3) 100%), linear-gradient(transparent, transparent); pointer-events: none; }
.site-scope .post-page article { display: flex; flex-direction: column; max-width: none; margin: 0; padding: 0; }
.site-scope .post-page .post-image { position: absolute; top: 0; left: 0; width: 100%; max-width: none; height: 55vh; margin: 0; border-radius: 0; object-fit: cover; opacity: .4; }
.site-scope .post-page article > .post-terms, .site-scope .post-page article > h1, .site-scope .post-page article > time, .site-scope .post-page .post-body, .site-scope .post-page .field-list, .site-scope .post-nav { position: relative; z-index: 2; box-sizing: border-box; width: 90%; max-width: 800px; margin-inline: auto; }
.site-scope .post-page article > .post-terms { order: 1; display: flex; flex-wrap: wrap; gap: .5rem; margin-top: calc(55vh - 15rem); margin-bottom: 1rem; }
.site-scope .post-page article > h1 { order: 2; margin-top: 0; margin-bottom: 1rem; font-family: var(--font-jp); font-size: clamp(1.5rem, 4vw, 2.5rem); font-weight: 700; letter-spacing: .1em; line-height: 1.4; color: #fff; }
.site-scope .post-page article > time { order: 3; min-height: 3rem; font-family: var(--font-en); font-size: .75rem; font-weight: 400; letter-spacing: .1em; color: var(--gray); }
.site-scope .post-page .post-excerpt { display: none; }
.site-scope .post-page .post-body { order: 5; margin-top: 3rem; padding: 0 5%; }
.site-scope .post-page .post-body img { width: 100%; height: auto; border: 1px solid var(--border); border-radius: 0; }
.site-scope .post-page .post-body figure { margin: 2.5rem 0; }
.site-scope .post-page .post-body figcaption { margin-top: .75rem; font-size: .85rem; line-height: 1.6; font-style: italic; text-align: center; color: rgba(240,230,200,.7); }
.site-scope .post-page .post-body h2 { margin: 3rem 0 1rem; padding-bottom: .5rem; border-bottom: 1px solid var(--border); font-family: var(--font-en); font-size: 1.4rem; font-weight: 700; letter-spacing: .1em; color: #fff; }
.site-scope .post-page .post-body h3, .site-scope .post-page .post-body h4 { margin: 2rem 0 1rem; font-family: var(--font-en); letter-spacing: .1em; color: #fff; }
.site-scope .post-page .post-body td { padding: .7rem .8rem; }
/* 著者欄（区切り線のあとの画像と段落） */
.site-scope .post-page .post-body hr { clear: both; margin: 4rem 0 2rem; border: 0; border-top: 1px solid var(--border); }
.site-scope .post-page .post-body hr + figure { float: left; width: 72px !important; margin: 0 1.5rem 1rem 0; }
.site-scope .post-page .post-body hr + figure img { width: 72px; height: 72px; border: 0; border-radius: 50%; object-fit: cover; }
.site-scope .post-page .post-body hr ~ p { margin: 0 0 .5rem; font-size: .85rem; line-height: 1.7; color: rgba(240,230,200,.7); }
/* 前後の記事 */
.site-scope .post-nav { display: flex; justify-content: space-between; gap: 1rem; margin-top: 4rem; padding: 2rem 5% 0; border-top: 1px solid var(--border); }
.site-scope .post-nav a { padding: .9rem 1.5rem; border: 1px solid var(--cream); font-family: var(--font-en); font-size: .7rem; font-weight: 600; letter-spacing: .2em; line-height: 1.6; color: var(--cream); }
.site-scope .post-nav a:hover { background: rgba(240,230,200,.1); color: #fff; }
.site-scope .post-nav__newer { margin-left: auto; text-align: right; }

/* メンバーのページ（左に写真、右に情報、下にプロフィール） */
.site-scope .post-page:has([data-field^="member_"]) { padding-bottom: 0; }
.site-scope .post-page:has([data-field^="member_"])::before { display: none; }
.site-scope .post-page:has([data-field^="member_"]) .post-nav { display: none; }
.site-scope .post-page:has([data-field^="member_"]) article { position: relative; display: grid; grid-template-columns: 340px minmax(0, 1fr); column-gap: 5rem; width: 90%; max-width: 1200px; margin: 0 auto; padding: 5rem 0 0; }
.site-scope .post-page:has([data-field^="member_"]) article > * { position: static; width: auto; max-width: none; margin-inline: 0; }
.site-scope .post-page:has([data-field^="member_"]) article > time, .site-scope .post-page:has([data-field^="member_"]) article > .post-terms { display: none; }
.site-scope .post-page:has([data-field^="member_"]) .post-image { grid-column: 1; grid-row: 1 / span 2; width: 100%; height: auto; aspect-ratio: 3 / 4; object-fit: cover; object-position: top; border: 1px solid var(--border); opacity: 1; box-shadow: 1.2rem 1.2rem 0 -1px var(--black), 1.2rem 1.2rem 0 0 rgba(200,168,75,.4); align-self: center; }
.site-scope .post-page:has([data-field^="member_"]) article > h1 { grid-column: 2; order: 0; margin: 3.2rem 0 .5rem; font-size: clamp(2.5rem, 5vw, 4rem); letter-spacing: .15em; line-height: 1.2; }
.site-scope .post-page:has([data-field^="member_"]) .field-list { grid-column: 2; margin: 0 0 5rem; border: 0; }
.site-scope .post-page:has([data-field^="member_"]) .post-body { grid-column: 1 / -1; order: 5; width: auto; margin: 0 calc(-50vw + 50%); padding: 6rem max(5%, calc(50% - 400px)); background: var(--dark); border-top: 1px solid var(--border); }
.site-scope .post-page:has([data-field^="member_"]) .post-body::before { content: "Profile"; display: block; margin-bottom: 2.5rem; background: linear-gradient(to right, var(--gold), transparent) no-repeat 9em 50% / calc(100% - 9em) 1px; font-family: var(--font-en); font-size: .75rem; letter-spacing: .5em; text-transform: uppercase; color: var(--gold); }
.site-scope .post-page:has([data-field^="member_"]) .post-body h2 { display: flex; align-items: center; gap: 1.5rem; margin: 4rem 0 2.5rem; padding: 0; border: 0; font-size: .75rem; letter-spacing: .5em; text-transform: uppercase; color: var(--gold); }
.site-scope .post-page:has([data-field^="member_"]) .post-body h2::after { content: ""; flex: 1; height: 1px; background: linear-gradient(to right, var(--gold), transparent); }
.site-scope .post-page:has([data-field^="member_"]) .post-body table { border-top: 1px solid var(--border); }
.site-scope .post-page:has([data-field^="member_"]) .post-body td { padding: 1.2rem 0; vertical-align: middle; line-height: 1.7; }
.site-scope .post-page:has([data-field^="member_"]) .post-body td:first-child { width: 140px; padding-right: 2rem; font-family: var(--font-en); font-size: .65rem; letter-spacing: .2em; color: var(--gray); }
.site-scope .post-page:has([data-field^="member_"]) .post-body td:first-child::first-line { font-size: 1.1rem; letter-spacing: .05em; color: var(--gold); }
.site-scope .post-page:has([data-field^="member_"]) .post-body td:last-child { font-size: .8rem; color: var(--gray); }
.site-scope .post-page:has([data-field^="member_"]) .post-body td strong { font-size: 1rem; font-weight: 400; color: #fff; }
.site-scope .field-list { color: var(--cream); }
.site-scope .field-list__row { display: grid; grid-template-columns: 90px 1fr; gap: .5rem; padding: .4rem 0; border: 0; }
.site-scope .field-list dt { padding-top: .1rem; font-family: var(--font-en); font-size: .62rem; letter-spacing: .15em; text-transform: uppercase; color: var(--gold); }
.site-scope .field-list dd { margin: 0; font-size: .88rem; color: var(--cream); }
.site-scope .field-list { display: flex; flex-wrap: wrap; column-gap: .8rem; align-content: start; }
.site-scope .field-list__row { width: 100%; }
.site-scope .field-list [data-field="member_roles"] { position: absolute; top: 5rem; left: calc(340px + 5rem); display: block; width: auto; padding: 0; }
.site-scope .field-list [data-field="member_roles"] dt, .site-scope .field-list [data-field="member_kana"] dt, .site-scope .field-list [data-field="member_catchphrase"] dt { display: none; }
.site-scope .field-list [data-field="member_roles"] dd { display: inline-block; padding: .3rem .8rem; border: 1px solid var(--gold); font-family: var(--font-en); font-size: .65rem; letter-spacing: .2em; color: var(--gold); }
.site-scope .field-list [data-field="member_kana"] { order: -3; display: block; padding: 0 0 1.5rem; }
.site-scope .field-list [data-field="member_kana"] dd { font-size: .85rem; letter-spacing: .3em; color: var(--gray); }
.site-scope .field-list [data-field="member_catchphrase"] { order: -2; display: block; padding: 0 0 1.5rem; }
.site-scope .field-list [data-field="member_catchphrase"] dd { padding-left: 1.2rem; border-left: 2px solid var(--gold); font-size: 1.1rem; font-style: italic; line-height: 1.8; color: rgba(240,230,200,.6); }
.site-scope .field-list [data-field="member_affiliation"] { order: -1; display: flex; flex-direction: column; gap: .3rem; padding: 1.5rem 0; margin-bottom: 1rem; border-top: 1px solid var(--border); border-bottom: 1px solid var(--border); }
.site-scope .field-list [data-field="member_affiliation"] dd { font-size: .95rem; }
.site-scope .field-list :is([data-field="member_x"], [data-field="member_instagram"], [data-field="member_website"], [data-field="member_facebook"]) { display: block; order: 5; width: auto; margin-top: 1rem; padding: 0; }
.site-scope .field-list :is([data-field="member_x"], [data-field="member_instagram"], [data-field="member_website"], [data-field="member_facebook"]) dt { display: none; }
.site-scope .field-list :is([data-field="member_x"], [data-field="member_instagram"], [data-field="member_website"], [data-field="member_facebook"]) a { display: inline-block; padding: .5rem 1.1rem; border: 1px solid var(--border); font-family: var(--font-en); font-size: 0; letter-spacing: .15em; text-transform: uppercase; color: var(--gray); }
.site-scope .field-list :is([data-field="member_x"], [data-field="member_instagram"], [data-field="member_website"], [data-field="member_facebook"]) a:hover { border-color: var(--gold); color: var(--gold); }
.site-scope .field-list [data-field="member_x"] a::after { content: "X / Twitter"; font-size: .7rem; }
.site-scope .field-list [data-field="member_instagram"] a::after { content: "Instagram"; font-size: .7rem; }
.site-scope .field-list [data-field="member_website"] a::after { content: "Website"; font-size: .7rem; }
.site-scope .field-list [data-field="member_facebook"] a::after { content: "Facebook"; font-size: .7rem; }

/* フッター */
.site-scope .site-footer { padding: 3rem 5%; background: #050505; border-top: 1px solid var(--border); text-align: center; font-family: var(--font-en); font-size: .75rem; letter-spacing: .1em; color: var(--gray); }
.site-scope .footer-information { display: block; padding: 0; border: 0; background: transparent; }
.site-scope .footer-information p { display: inline-block; margin: 0 0 1.5rem; white-space: nowrap; font-family: var(--font-en); font-size: 1.5rem; font-weight: 700; letter-spacing: .2em; text-transform: uppercase; }
.site-scope .footer-nav { display: block; margin-bottom: 2rem; }
.site-scope .footer-nav .nav-tree { display: flex; flex-wrap: wrap; justify-content: center; gap: 1.5rem 2.5rem; padding: 0; list-style: none; }
.site-scope .site-footer .footer-nav a { font-family: var(--font-en); font-size: .7rem; font-weight: 400; letter-spacing: .2em; text-transform: uppercase; color: var(--gray); }
.site-scope .site-footer .footer-nav a:hover { color: var(--gold); }
/* 外部リンク（SNS）はアイコンで出す */
.site-scope .footer-nav .nav-tree > :nth-child(-n+5) { order: 1; }
.site-scope .footer-nav .nav-tree::after { content: ""; order: 2; flex-basis: 100%; height: 0; }
.site-scope .footer-nav .nav-tree > :nth-child(n+6) { order: 3; margin-inline: -.8rem; }
.site-scope .site-footer .footer-nav a[href^="https://"] { display: block; width: 44px; height: 38px; background-repeat: no-repeat; background-position: center; background-size: 18px; font-size: 0; transition: opacity .3s; }
.site-scope .site-footer .footer-nav a[href^="https://"]:hover { opacity: .6; }
.site-scope .footer-nav a[href*="x.com"] { background-image: url('/site-assets/x.svg'); }
.site-scope .footer-nav a[href*="instagram"] { background-image: url('/site-assets/instagram.svg'); }
.site-scope .footer-nav a[href*="youtube"] { background-image: url('/site-assets/youtube.svg'); }
.site-scope .footer-nav a[href*="facebook"] { background-image: url('/site-assets/facebook.svg'); }
.site-scope .footer-nav a[href*="stores"] { background-image: url('/site-assets/store.svg'); }

/* 管理画面のプレビューは狭いので、2カラムを解いて編集しやすくする */
.preview-frame main { display: block !important; }
.preview-frame #home-about .prose { display: block !important; }

@media (max-width: 1000px) {
  .site-scope .header-social { display: none; }
  .site-scope .site-nav { background: rgba(5,5,5,.97); }
  .site-scope .site-nav a { font-size: 1rem; }
  .site-scope .nav-toggle { margin-left: auto; }
  .site-scope .brand { margin-right: 0; }
}
@media (max-width: 768px) {
  .site-scope .site-header { padding: .9rem 1rem; }
  .site-scope .brand { font-size: 1rem; letter-spacing: .15em; }
  .site-scope .brand span { background-image: linear-gradient(to right, var(--gold) 0 .97em, #fff .97em 5.61em, var(--gold) 5.61em 6.39em, #fff 6.39em); }
  .site-scope .footer-information p { font-size: 1.1rem; }
  .site-scope :is([id$="-cast"], [id$="-staff"]) tr { grid-template-columns: 35% 1fr auto; gap: .8rem; }
  .site-scope .section { padding: 3.5rem 0; }
  .site-scope .section > .section-inner > h2, .site-scope .post-feed > h2 { margin-bottom: 2rem; font-size: clamp(1rem, 5vw, 1.4rem); letter-spacing: .2em; }
  .site-scope #home-hero h1 { font-size: clamp(2rem, 11vw, 3.2rem); letter-spacing: .08em; }
  .site-scope #home-hero .eyebrow { display: none; }
  .site-scope #home-hero .hero-copy { font-size: .8rem; letter-spacing: .15em; }
  .site-scope #home-hero .button { padding: .75rem 1.6rem; font-size: .7rem; }
  .site-scope #home-about .prose { display: flex; flex-direction: column; }
  .site-scope #home-about .prose p:has(img) { order: -2; }
  .site-scope #home-about .prose p:nth-of-type(2) { order: -1; }
  .site-scope #home-about .prose img { aspect-ratio: 16 / 9; margin-bottom: 2.5rem; }
  .site-scope #home-about .prose table { gap: 1.5rem; padding: 1.2rem 0; }
  .site-scope #home-about .prose td:first-child { font-size: 1.8rem; }
  .site-scope #home-artwork .section-inner > div { grid-template-columns: 1fr; }
  .site-scope #home-artwork .feature-card { aspect-ratio: 16 / 9; }
  .site-scope .post-feed-links li, .site-scope .news-card > div { grid-template-columns: auto 1fr; gap: .6rem 1rem; padding: 1.25rem 0; }
  .site-scope .post-feed-links a, .site-scope .news-card h2 { grid-column: 1 / -1; }
  .site-scope .news-page:not(:has(.news-categories)) .news-list { grid-template-columns: 1fr 1fr; gap: 1rem; }
  .site-scope .news-page:not(:has(.news-categories)) .news-card > div { padding: 1rem; }
  .site-scope .news-categories a { padding: .4rem .9rem; font-size: .62rem; }
  .site-scope #about-message .post-body p:has(img) { float: none; margin-bottom: 1rem; }
  .site-scope #artwork-list table, .site-scope #artwork-list tbody, .site-scope #artwork-list tr { display: block; }
  .site-scope #artwork-list td { display: block; width: auto; padding: 1rem 0 2rem; }
  .site-scope #artwork-list td:first-child { width: auto; padding: 1.5rem 0 .5rem; border: 0; font-size: .6rem; }
  .site-scope #artwork-list td:first-child::first-line { font-size: 1.4rem; }
  .site-scope main:has(> #contact-details), .site-scope main:has(> [id$="-info"]) { display: block; }
  .site-scope #contact-details, .site-scope #contact-form { padding: 3rem 5%; }
  .site-scope main:has(> [id$="-info"]) > .section:not(.section--hero), .site-scope main:has(> [id$="-info"]) > [id$="-info"].section { padding: 0 5% 2.5rem; }
  .site-scope main:has(> [id$="-info"]) > .section--hero + .section { padding-top: 3rem; }
  .site-scope [id$="-cast"] td:first-child, .site-scope [id$="-staff"] td:first-child { width: 35%; }
  .site-scope .post-page article > .post-terms { margin-top: calc(40vh - 12rem); }
  .site-scope .post-page::before, .site-scope .post-page .post-image { height: 40vh; }
  .site-scope .post-nav { flex-direction: column; }
  .site-scope .post-page:has([data-field^="member_"]) article { display: flex; flex-direction: column; padding-top: 3rem; }
  .site-scope .post-page:has([data-field^="member_"]) .post-image { order: -1; }
  .site-scope .post-page:has([data-field^="member_"]) article > h1 { order: 1; }
  .site-scope .post-page:has([data-field^="member_"]) .field-list { order: 2; }
  .site-scope .post-page:has([data-field^="member_"]) .post-body { order: 3; }
  .site-scope .field-list [data-field="member_roles"] { position: static; order: -4; padding-bottom: 1rem; }
  .site-scope .post-page:has([data-field^="member_"]) article > h1 { margin-top: 0; }
  .site-scope [id^="record-"] tr { grid-template-columns: 70px 1fr; gap: .5rem 1rem; }
  .site-scope [id^="record-"] td:last-child { grid-column: 1 / -1; }
  .site-scope .post-page:has([data-field^="member_"]) .post-image { display: block; max-width: 220px; margin: 0 auto 2rem; box-shadow: none; }
  .site-scope .post-page:has([data-field^="member_"]) article > h1 { font-size: clamp(1.8rem, 7vw, 2.8rem); }
  .site-scope .post-page:has([data-field^="member_"]) .field-list { margin-bottom: 3rem; }
  .site-scope .post-page:has([data-field^="member_"]) .post-body { padding: 3rem 5%; }
}
@media (max-width: 480px) {
  .site-scope #home-hero h1 { font-size: clamp(1.6rem, 11vw, 2.2rem); letter-spacing: .04em; }
  .site-scope [id$="-gallery"] .prose > div { grid-template-columns: repeat(2, 1fr); }
  .site-scope .news-page:not(:has(.news-categories)) .news-list { grid-template-columns: 1fr; }
  .site-scope #home-about .prose table { flex-wrap: wrap; }
}
