/*
Theme Name: Election Banter
Theme URI: https://djfemix.com/
Author: DJ Femix
Description: Election Banter: community comparisons, debate, reviewed receipts and a playful Online Republic. Banter. Debate. Bring receipts.
Version: 2.0.1
Requires at least: 6.3
Requires PHP: 7.4
License: GPL-2.0-or-later (theme code; see readme.txt for media)
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: femix-online-republic
*/

/* Republic 1.2: an editorial identity, without remote fonts or libraries. */
:root {
  --ink:#091b16; --emerald:#07503f; --emerald-deep:#0a3026;
  --ivory:#f6f3e9; --paper:#ecebe1; --white:#fffef9;
  --gold:#d8b978; --gold-ink:#77562c; --violet:#8057e8; --lavender:#c5adff;
  --muted:#bdc9bf; --muted-ink:#53665a;
  --line:rgba(216,185,120,.24); --line-light:#cbd1c2; --radius:20px;
  --display:Georgia,'Times New Roman',serif; --body:'Segoe UI',Arial,sans-serif;
  color-scheme:dark; font-family:var(--body); color:var(--ivory); background:var(--ink); font-synthesis:none;
}
* { box-sizing:border-box; }
html { scroll-behavior:smooth; scroll-padding-top:112px; }
body { margin:0; background:var(--ink); }
body:has(dialog[open]) { overflow:hidden; }
[hidden] { display:none !important; }
button,input,textarea,select { font:inherit; }
button,a { -webkit-tap-highlight-color:transparent; }
button { cursor:pointer; color:inherit; }
button:disabled { cursor:default; }
a { color:inherit; text-decoration:none; }
img { display:block; max-width:100%; height:auto; }
button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible { outline:3px solid var(--violet); outline-offset:5px; }
.site-header :focus-visible,.hero :focus-visible,.music-section :focus-visible,.site-footer :focus-visible { outline-color:var(--lavender); }
.assembly-section :focus-visible { outline-color:var(--ink); }
button:focus:not(:focus-visible) { outline:none; }
p { line-height:1.75; }
h1,h2,h3,p { margin-top:0; }
h1,h2,h3 { font-family:var(--display); font-weight:400; letter-spacing:-.045em; text-wrap:balance; }
h2 { font-size:clamp(44px,5.3vw,78px); line-height:1.03; margin-bottom:28px; }
h3 { font-size:34px; line-height:1.12; margin-bottom:18px; }
.shell { width:min(1320px,calc(100% - 112px)); margin-inline:auto; }
.eyebrow { display:flex; align-items:center; gap:12px; font-size:10px; line-height:1.7; font-weight:700; letter-spacing:.16em; text-transform:uppercase; margin-bottom:26px; }
.republic-icon { width:24px; height:24px; flex:0 0 auto; vertical-align:middle; }
.chapter-icon { display:inline-grid; place-items:center; width:38px; height:38px; flex:0 0 38px; color:var(--gold-ink); border:1px solid #b9a374; border-radius:50%; }
.chapter-icon .republic-icon { width:19px; height:19px; }
.skip-link { position:fixed; top:10px; left:10px; z-index:1000; background:var(--ivory); color:var(--ink); padding:15px 20px; border-radius:8px; transform:translateY(-180%); }
.skip-link:focus { transform:translateY(0); }

/* A glass masthead, with the navigation.js breakpoint shared at 1000px. */
.site-header { position:sticky; top:0; z-index:40; background:rgba(9,27,22,.94); -webkit-backdrop-filter:blur(18px); backdrop-filter:blur(18px); border-bottom:1px solid var(--line); transition:background .25s,box-shadow .25s; }
.header-inner { display:flex; align-items:center; justify-content:space-between; min-height:94px; gap:30px; transition:min-height .25s; }
.site-header.is-scrolled { background:rgba(9,27,22,.98); box-shadow:0 8px 30px #00000020; }
.site-header.is-scrolled .header-inner { min-height:78px; }
.brand { display:inline-flex; align-items:center; gap:13px; flex-shrink:0; font-size:16px; font-weight:700; letter-spacing:.08em; }
.brand-mark { display:grid; place-items:center; width:47px; height:47px; padding:8px; background:var(--ivory); border:1px solid var(--gold); border-radius:50%; }
.brand small { display:block; margin-top:6px; color:var(--gold); font-size:8px; font-weight:500; letter-spacing:.17em; }
.site-header nav { display:flex; align-items:center; gap:24px; font-size:12px; font-weight:500; }
.site-header nav>a { min-height:44px; display:inline-flex; align-items:center; gap:8px; padding-block:12px; position:relative; }
.site-header nav>a::after { content:''; position:absolute; left:0; right:100%; bottom:6px; height:1px; background:var(--gold); transition:right .2s; }
.site-header nav>a:hover::after { right:0; }
.nav-action { display:inline-flex; align-items:center; justify-content:space-between; gap:14px; min-height:44px; background:transparent; border:1px solid #718476; border-radius:5px; padding:12px 16px; font-size:12px; font-weight:600; }
.nav-action span { color:var(--gold); font-size:18px; }
.nav-action:hover { border-color:var(--gold); background:#d8b9780d; }
.site-header nav>.nav-follow { justify-content:center; padding:12px 18px; color:var(--ink); background:linear-gradient(115deg,#e9d49f,var(--gold)); border:1px solid var(--gold); border-radius:5px; font-weight:700; box-shadow:inset 0 1px #ffffff60; }
.site-header nav>.nav-follow::after { display:none; }
.nav-follow .republic-icon { width:17px; height:17px; }
.menu-toggle { display:none; }

/* Opening statement: monumental serif type and an arched creative portrait. */
.hero { display:grid; grid-template-columns:1.05fr 1fr; gap:85px; align-items:center; padding-block:78px 90px; position:relative; isolation:isolate; }
.hero::before { content:''; position:absolute; inset:0; z-index:-1; pointer-events:none; background:radial-gradient(ellipse at 85% 42%,#0f59402b,transparent 64%); }
.hero-glow { position:absolute; inset:0; z-index:-1; pointer-events:none; background:radial-gradient(ellipse at 68% 44%,#d8b97810,transparent 43%),radial-gradient(ellipse at 80% 74%,#8057e815,transparent 40%); }
.hero-copy { min-width:0; padding-block:10px; }
.hero .eyebrow { color:var(--gold); margin-bottom:26px; font-size:10px; gap:10px; }
.live-dot { width:6px; height:6px; flex:0 0 6px; border-radius:50%; background:var(--gold); box-shadow:0 0 0 5px #d8b97814; }
.hero h1 { font-size:clamp(90px,8.7vw,136px); line-height:.91; letter-spacing:-.055em; margin-bottom:32px; }
.hero h1 span { display:block; }
.violet { color:var(--lavender); }
.hero h1 .violet { font-style:italic; }
.hero-intro { font-size:21px; font-weight:400; line-height:1.5; letter-spacing:-.015em; margin-bottom:15px; max-width:480px; }
.hero-description { font-size:15px; line-height:1.8; color:var(--muted); max-width:390px; margin-bottom:28px; }
.hero-actions { display:flex; align-items:center; gap:22px; flex-wrap:wrap; }
.button { display:inline-flex; align-items:center; justify-content:space-between; gap:25px; min-height:52px; padding:16px 23px; border:1px solid transparent; border-radius:5px; font-size:13px; font-weight:700; line-height:1.4; transition:transform .25s,background .25s,border-color .25s,box-shadow .25s; }
.button:hover { transform:translateY(-3px); }
.button span { font-size:19px; font-weight:400; }
.button .republic-icon { width:19px; height:19px; }
.button-cream { color:var(--ink); background:var(--ivory); }
.button-cream:hover { background:white; box-shadow:0 8px 30px #00000018; }
.button-green { color:var(--ivory); background:var(--emerald); }
.button-green:hover { background:#063f32; }
.button-gold,.hero-follow { color:var(--ink); background:linear-gradient(115deg,#ebd7a7,var(--gold)); border-color:var(--gold); box-shadow:inset 0 1px #ffffff60,0 9px 30px #00000015; }
.button-gold:hover,.hero-follow:hover { background:#ecd8a9; box-shadow:0 10px 30px #d8b97814; }
.light-section .button-gold,.assembly-section .button-gold { border-color:var(--emerald); }
.hero-secondary-links { display:flex; align-items:center; flex-wrap:wrap; gap:22px; margin-top:12px; }
.text-button { display:inline-flex; align-items:center; gap:10px; min-height:44px; border:0; background:none; padding:10px 0; font-size:12px; font-weight:600; }
.text-button small { font-size:10px; color:var(--muted); margin-left:1px; }
.play-small { display:grid; place-items:center; font-size:8px; width:29px; height:29px; border:1px solid #d8b97880; border-radius:50%; padding-left:2px; }
.play-small .republic-icon { width:13px; height:13px; }
.hero-secondary-links a { display:inline-flex; align-items:center; gap:9px; min-height:44px; color:var(--muted); font-size:12px; border-bottom:1px solid #d8b97840; }
.hero-secondary-links a:hover { color:var(--ivory); border-color:var(--gold); }
.republic-disciplines { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); max-width:440px; gap:16px; margin-top:30px; padding-top:25px; border-top:1px solid var(--line); }
.republic-disciplines>* { display:flex; flex-direction:column; align-items:flex-start; gap:10px; min-width:0; border-left:1px solid var(--line); padding-left:18px; font-size:11px; font-weight:600; line-height:1.5; letter-spacing:.035em; }
.republic-disciplines>:first-child { border:0; padding-left:0; }
.republic-disciplines .republic-icon { width:22px; height:22px; color:var(--gold); }
.fiction-note,.hero-bottom-note { margin:24px 0 0; color:#a9b9ac; font-size:11px; line-height:1.6; }
.hero-visual { position:relative; min-width:0; width:100%; padding-right:12px; }
.hero-edition { display:flex; justify-content:space-between; gap:20px; margin-bottom:17px; padding-bottom:13px; border-bottom:1px solid var(--line); color:var(--gold); font-size:9px; line-height:1.6; letter-spacing:.12em; text-transform:uppercase; }
.portrait-frame { position:relative; aspect-ratio:.79; max-height:690px; overflow:hidden; background:var(--emerald); border:1px solid #d8b97880; border-radius:260px 260px 16px 16px; box-shadow:0 30px 80px #00000036,inset 0 0 0 8px #d8b9780b; }
.hero-portrait { width:100%; height:100%; object-fit:cover; object-position:50% 13%; }
.portrait-frame::after { content:''; position:absolute; inset:0; pointer-events:none; background:linear-gradient(transparent 58%,#041e17de); }
.portrait-label { position:absolute; top:43px; left:22%; right:22%; z-index:1; text-align:center; font-size:8px; line-height:1.6; letter-spacing:.13em; font-weight:600; color:#e1d5b7; }
.portrait-caption { display:flex; align-items:center; gap:15px; position:absolute; left:28px; right:24px; bottom:29px; z-index:1; font-size:13px; line-height:1.5; color:var(--ivory); }
.tiny-grid { color:var(--gold); font-size:38px; line-height:1; }
.hero-insignia { position:absolute; top:13px; right:-13px; z-index:3; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:8px; width:118px; height:118px; color:var(--gold); background:var(--ink); border:1px solid var(--gold); border-radius:50%; outline:1px solid #d8b97855; outline-offset:7px; box-shadow:0 12px 35px #00000035; text-align:center; }
.hero-insignia::after { content:''; position:absolute; inset:7px; border:1px dashed #d8b97888; border-radius:50%; pointer-events:none; }
.hero-insignia img { width:35px; height:35px; }
.hero-insignia>span { display:block; max-width:87px; font-size:7px; font-weight:700; line-height:1.4; letter-spacing:.1em; }
.hero-insignia>small { max-width:85px; font-size:6px; line-height:1.4; letter-spacing:.05em; }
.orbit-note { position:absolute; right:-20px; bottom:75px; z-index:2; transform:rotate(-8deg); width:108px; height:108px; border:1px solid #e6d7af; border-radius:50%; background:var(--gold); color:var(--ink); display:flex; flex-direction:column; align-items:center; justify-content:center; font-size:9px; line-height:1.5; font-weight:700; letter-spacing:.035em; text-align:center; box-shadow:0 10px 25px #00000025; }
.orbit-note>span { font-size:27px; margin-bottom:4px; font-weight:400; }
.orbit-note>.republic-icon { width:27px; height:27px; margin-bottom:5px; }

/* Work and story form an ivory editorial chapter. */
.signature-strip { border-block:1px solid var(--line); padding:26px 0; background:#10261d; }
.signature-strip .shell { display:flex; align-items:center; justify-content:space-between; gap:24px; font-size:10px; font-weight:600; letter-spacing:.16em; line-height:1.6; }
.signature-strip span:nth-child(even) { color:var(--gold); font-size:17px; line-height:1; }
.light-section { background:var(--ivory); color:var(--ink); color-scheme:light; }
.work-section { padding:110px 0 100px; }
.section-heading { display:flex; justify-content:space-between; align-items:flex-end; gap:48px; margin-bottom:43px; }
.section-heading .eyebrow,.story-section .eyebrow { color:var(--emerald); margin-bottom:22px; }
.section-heading h2 { margin-bottom:0; }
.section-intro { max-width:330px; margin-bottom:4px; font-size:15px; line-height:1.8; color:var(--muted-ink); }
.board-toolbar { display:flex; justify-content:space-between; align-items:center; gap:22px; margin-bottom:30px; }
.filters { display:flex; gap:8px; flex-wrap:wrap; }
.filter-button { min-height:44px; padding:11px 20px; border:1px solid #738976; border-radius:4px; color:#465c4d; background:transparent; font-size:12px; font-weight:600; transition:background .2s,color .2s,border-color .2s; }
.filter-button:hover { border-color:var(--emerald); color:var(--emerald); background:#07503f08; }
.filter-button.is-active { background:var(--emerald); color:var(--ivory); border-color:var(--emerald); }
.project-count { margin:0; font-size:11px; line-height:1.6; white-space:nowrap; color:var(--muted-ink); }
.project-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; }
.project-card { min-width:0; display:flex; flex-direction:column; overflow:hidden; border:1px solid #c4cbbd; border-radius:var(--radius); background:var(--white); box-shadow:0 4px 12px #09271b03; transition:transform .3s,border-color .3s,box-shadow .3s; }
.project-card:hover { transform:translateY(-5px); border-color:#b69a60; box-shadow:0 16px 40px #09271b0b; }
.project-feature { grid-column:span 2; display:grid; grid-template-columns:1.02fr 1fr; }
.film-art { position:relative; min-height:465px; overflow:hidden; background:var(--emerald); }
.film-art>img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:50% 8%; transition:transform .65s; }
.film-art:hover>img { transform:scale(1.045); }
.round-play { position:absolute; inset:0; display:grid; place-items:center; margin:auto; width:72px; height:72px; padding-left:6px; color:var(--ink); background:#f6f3e9ec; border:1px solid var(--gold); border-radius:50%; font-size:21px; box-shadow:0 10px 35px #00000030; transition:transform .2s,background .2s; }
.round-play:hover { background:white; transform:scale(1.05); }
.media-duration { position:absolute; bottom:20px; left:22px; padding:7px 12px; border:1px solid #d8b97860; border-radius:4px; background:#091b16e6; color:var(--ivory); font-size:11px; font-variant-numeric:tabular-nums; }
.project-copy { display:flex; flex-direction:column; flex:1; min-width:0; padding:30px; }
.project-feature .project-copy { padding:34px 32px; }
.card-meta { display:flex; justify-content:space-between; gap:12px; align-items:center; margin-bottom:33px; font-size:9px; font-weight:700; line-height:1.6; letter-spacing:.09em; }
.status { white-space:nowrap; padding:6px 9px; border-radius:3px; font-size:10px; font-weight:600; letter-spacing:.01em; }
.status-shared { color:#185637; background:#e0eadf; }
.status-concept { color:#4e397b; background:#eae2f7; }
.status-planned { color:#5b4b2c; background:#eee7d6; }
.project-copy h3 { font-size:34px; }
.project-copy p { margin-bottom:28px; font-size:14px; line-height:1.8; color:var(--muted-ink); }
.project-link { display:flex; justify-content:space-between; align-items:center; gap:14px; margin-top:auto; min-height:48px; padding:14px 0 0; border:0; border-top:1px solid var(--line-light); background:none; color:var(--emerald); font-size:12px; font-weight:700; text-align:left; }
.project-link span { color:var(--gold-ink); font-size:22px; transition:transform .2s; }
.project-link:hover span { transform:translate(3px,-3px); }
.identity-art { min-height:220px; display:flex; flex-direction:column; align-items:center; justify-content:center; padding:30px; background:linear-gradient(125deg,#e7e6d6,#f0ecdb); }
.identity-art img { width:76px; margin-bottom:17px; }
.identity-art>span { font-family:var(--display); font-size:25px; font-weight:400; line-height:.98; text-align:center; color:var(--emerald); letter-spacing:-.045em; }
.identity-art small { margin-top:14px; font-size:8px; letter-spacing:.15em; color:var(--muted-ink); }
.concept-art { position:relative; height:245px; overflow:hidden; background:radial-gradient(ellipse at 50% 40%,#e7ece0,#c9d8ce); }
.concept-tag { position:absolute; top:20px; left:20px; z-index:1; font-size:8px; font-weight:700; letter-spacing:.09em; color:var(--emerald); }
.art-caption { position:absolute; bottom:20px; left:20px; font-size:8px; letter-spacing:.04em; color:#335441; }
.mini-model { position:absolute; left:50%; top:50%; width:180px; height:120px; transform:translate(-50%,-35%) rotateX(55deg) rotateZ(-35deg); transform-style:preserve-3d; }
.model-base { position:absolute; inset:0; background:#9cb8a7; border:1px solid #eef4ed; }
.model-block { --block-height:26px; position:absolute; background:#f1f0df; border:1px solid #dce7d9; transform-style:preserve-3d; transform:translateZ(var(--block-height)); }
.model-block::before { content:''; position:absolute; top:100%; left:0; width:100%; height:var(--block-height); background:#7b9e8e; transform:rotateX(-90deg); transform-origin:top; }
.model-block::after { content:''; position:absolute; top:0; left:100%; width:var(--block-height); height:100%; background:#aac6b5; transform:rotateY(90deg); transform-origin:left; }
.block-one { width:100px; height:35px; left:12px; top:10px; }
.block-two { width:35px; height:65px; left:12px; top:45px; }
.block-three { --block-height:15px; width:50px; height:35px; right:12px; bottom:10px; }
.hub-card { grid-column:span 2; display:grid; grid-template-columns:1.02fr 1fr; }
.hub-art { display:flex; flex-direction:column; justify-content:center; min-height:390px; padding:30px 23px; background:linear-gradient(145deg,#e8e0ef,#ded1ef); }
.browser-top { display:flex; gap:4px; align-items:center; padding:13px 14px; background:var(--emerald); border-radius:9px 9px 0 0; }
.browser-top i { width:4px; height:4px; background:#d8b978c9; border-radius:50%; }
.browser-top>span { margin-left:8px; font-size:7px; font-weight:600; letter-spacing:.07em; color:#e2e9df; }
.hub-preview { padding:30px 20px; background:#fbf8ef; border:1px solid #c2b9a7; border-top:0; border-radius:0 0 9px 9px; box-shadow:10px 12px 0 #8057e812; }
.hub-mini-label { font-size:8px; color:var(--emerald); letter-spacing:.1em; font-weight:700; }
.hub-preview strong { display:block; margin:17px 0 30px; font-family:var(--display); font-size:28px; font-weight:400; line-height:1.12; letter-spacing:-.04em; }
.hub-steps { display:flex; align-items:center; gap:8px; font-size:8px; }
.hub-steps span { padding:7px; border-radius:3px; background:#e4e8dc; }
.hub-steps span:last-child { background:#cddfcf; color:var(--emerald); }
.hub-steps b { font-weight:400; }
.project-grid.is-filtered { grid-template-columns:repeat(2,minmax(0,1fr)); }
.project-grid.is-filtered .project-feature,.project-grid.is-filtered .hub-card { grid-column:span 2; }
.story-section { padding:0 0 110px; }
.story-grid { display:grid; grid-template-columns:1fr 1fr; gap:100px; border-top:1px solid #b8c2b0; padding-top:83px; }
.story-title h2 { font-size:clamp(42px,4.2vw,61px); margin-bottom:38px; }
.journey-line { display:flex; flex-wrap:wrap; align-items:center; gap:13px; margin-bottom:28px; font-size:9px; font-weight:700; letter-spacing:.08em; line-height:1.6; }
.journey-line>span { font-size:20px; color:var(--gold-ink); }
.story-copy p { font-size:16px; line-height:1.9; color:var(--muted-ink); }
.story-copy .large-copy { color:var(--ink); font-family:var(--display); font-size:30px; line-height:1.45; letter-spacing:-.02em; }
.inline-link { display:inline-flex; align-items:center; gap:25px; min-height:44px; padding:10px 0; border-bottom:1px solid #738976; color:var(--emerald); font-size:13px; font-weight:700; }
.inline-link span { font-size:21px; font-weight:400; transition:transform .2s; }
.inline-link:hover span { transform:translate(3px,-3px); }

/* Listening room: native controls, no autoplay soundtrack. */
.music-section { position:relative; isolation:isolate; padding:110px 0; background:#0b3027; border-block:1px solid var(--line); }
.music-section::before { content:''; position:absolute; inset:0; z-index:-1; pointer-events:none; background:radial-gradient(ellipse at 25% 20%,#d8b9780c,transparent 55%); }
.music-grid { display:grid; grid-template-columns:1fr 1fr; gap:100px; align-items:center; }
.music-section .eyebrow { color:var(--gold); }
.music-section .chapter-icon { color:var(--gold); border-color:#d8b97870; }
.music-section h2 { font-size:clamp(44px,5vw,72px); }
.music-intro { font-size:16px; line-height:1.8; color:var(--muted); margin-bottom:28px; }
.light-link { color:var(--ivory); border-color:#d8b97870; }
.record-panel { overflow:hidden; border:1px solid #d8b97866; border-radius:var(--radius); background:#0b3a2d; box-shadow:0 24px 60px #00000018; }
.record-art { position:relative; display:flex; align-items:center; justify-content:flex-start; height:245px; padding-left:30px; overflow:hidden; background:linear-gradient(130deg,#0b4e3c,#123329); }
.record-disc { position:relative; width:275px; height:275px; flex:0 0 275px; background:repeating-radial-gradient(circle,#101c16 0,#101c16 2px,#25342a 3px,#101c16 4px); border:1px solid #55634b; border-radius:50%; transform:rotate(-15deg); box-shadow:8px 10px 30px #00150c70; }
.record-centre { position:absolute; inset:0; display:grid; place-items:center; margin:auto; width:91px; height:91px; background:var(--gold); border-radius:50%; }
.record-centre img { width:51px; }
.record-centre::after { content:''; position:absolute; inset:0; width:5px; height:5px; margin:auto; border-radius:50%; background:var(--ink); }
.record-stamp { position:absolute; right:29px; bottom:28px; color:var(--gold); font-family:var(--display); font-size:36px; font-weight:400; letter-spacing:-.05em; line-height:.98; transform:rotate(-7deg); text-shadow:0 2px 12px #091b1680; }
.music-toggle { position:absolute; top:19px; right:19px; z-index:2; display:grid; place-items:center; width:49px; height:49px; background:var(--ivory); color:var(--emerald); border:1px solid var(--gold); border-radius:50%; font-size:16px; box-shadow:0 5px 20px #00251b40; }
.music-toggle:hover { background:white; }
.record-info { padding:31px; }
.record-info>.eyebrow { font-size:9px; color:var(--gold); display:block; margin-bottom:15px; }
.record-info h3 { font-size:29px; line-height:1.2; margin-bottom:10px; }
.record-info p { color:#c6d0c8; font-size:13px; margin-bottom:22px; }
.record-info audio { display:block; width:100%; height:44px; max-width:100%; color-scheme:light; }
.record-info #music-status { font-size:12px; margin:12px 0 0; }
.record-info #music-status:empty { display:none; }
.record-bottom { display:flex; justify-content:space-between; align-items:center; gap:14px; border-top:1px solid var(--line); margin-top:24px; padding-top:13px; font-size:9px; line-height:1.6; letter-spacing:.065em; }
.record-bottom a { display:inline-flex; align-items:center; gap:8px; min-height:44px; color:var(--gold); font-size:12px; letter-spacing:0; }
.record-panel.is-playing .record-disc { animation:record-spin 18s linear infinite; }

/* Briefings and the invitation to follow. */
.briefings-section { padding:110px 0; }
.briefing-list { border-top:1px solid #aaba9f; }
.briefing-row { display:grid; grid-template-columns:95px 1fr 48px; align-items:center; gap:35px; width:100%; padding:36px 0; text-align:left; background:none; border:0; border-bottom:1px solid #bdc9b6; color:var(--ink); }
.briefing-date { font-size:10px; line-height:1.6; letter-spacing:.06em; color:var(--muted-ink); }
.briefing-date b { display:block; color:var(--emerald); font-family:var(--display); font-size:55px; font-weight:400; line-height:1.1; letter-spacing:-.05em; }
.briefing-content { display:flex; flex-direction:column; gap:11px; min-width:0; }
.briefing-content small { color:var(--gold-ink); font-size:9px; font-weight:700; letter-spacing:.13em; line-height:1.6; }
.briefing-content strong { font-family:var(--display); font-size:31px; font-weight:400; letter-spacing:-.035em; line-height:1.22; }
.briefing-content>span { color:var(--muted-ink); font-size:14px; line-height:1.7; }
.briefing-arrow { display:grid; place-items:center; width:46px; height:46px; border:1px solid #738976; border-radius:50%; font-size:21px; transition:background .2s,color .2s,transform .2s; }
.briefing-row:hover .briefing-arrow { background:var(--emerald); border-color:var(--emerald); color:var(--ivory); transform:rotate(-12deg); }
.briefing-actions { display:block; margin-top:35px; overflow:hidden; border:1px solid #c4b486; border-radius:12px; background:var(--white); }
.briefing-follow { display:grid; grid-template-columns:44px minmax(0,1fr); align-items:start; gap:21px; padding:32px; color:var(--ink); background:#eeedde; }
.briefing-follow>.chapter-icon { width:44px; height:44px; }
.briefing-follow>.button { grid-column:2; justify-self:start; }
.briefing-follow .eyebrow { display:block; font-size:9px; margin-bottom:12px; color:var(--gold-ink); }
.briefing-follow h2 { font-size:38px; line-height:1.12; margin-bottom:15px; }
.briefing-follow p:not(.eyebrow) { margin:0; font-size:15px; line-height:1.8; color:var(--muted-ink); }
.briefing-share { padding:32px; border-top:1px solid #c4cbb9; background:var(--white); color:var(--ink); }
.share-heading { display:flex; align-items:center; gap:17px; margin-bottom:23px; }
.share-heading .eyebrow { display:block; margin-bottom:8px; color:var(--gold-ink); font-size:9px; }
.share-heading h3 { font-size:31px; margin:0; }
.share-links { display:flex; flex-wrap:wrap; gap:10px; }
.share-link { display:inline-flex; align-items:center; justify-content:center; gap:8px; min-height:46px; padding:11px 15px; border:1px solid #738976; border-radius:5px; color:var(--emerald); background:transparent; font-size:13px; line-height:1.5; font-weight:600; text-align:center; }
.share-link:hover { border-color:var(--gold-ink); background:#d8b97823; }
.briefing-actions .republic-icon { width:18px; height:18px; }
.share-status { min-height:1.5em; margin:17px 0 0; color:var(--muted-ink); font-size:13px; line-height:1.6; overflow-wrap:anywhere; }
.share-fallback { display:block; margin-top:17px; color:var(--muted-ink); font-size:13px; font-weight:600; line-height:1.7; }
.share-fallback input { display:block; width:100%; min-width:0; min-height:50px; margin-top:10px; padding:13px 15px; border:1px solid #738976; border-radius:5px; color:var(--ink); background:var(--ivory); font-size:16px; line-height:1.5; }
.assembly-section { padding:86px 0; background:linear-gradient(110deg,#b9a0e7,#d0c0e7); color:var(--ink); border-top:1px solid #e0d5ec; }
.assembly-inner { display:flex; justify-content:space-between; gap:60px; align-items:center; }
.assembly-inner .eyebrow { color:#273b30; font-size:10px; margin-bottom:23px; }
.assembly-inner h2 { margin-bottom:23px; }
.assembly-inner p:last-child { margin:0; font-size:16px; line-height:1.8; }
.assembly-inner .button { min-width:187px; }

/* Companion Follow plugin: presentation only; no field or submission changes. */
.femix-follow { font-family:var(--body); color:var(--ivory); background:radial-gradient(ellipse at 12% 30%,#184e3526,transparent 55%),var(--ink); border-block:1px solid var(--line); padding:108px 0; scroll-margin-top:110px; }
.femix-follow::before { border-color:#d8b9781f; box-shadow:0 0 0 70px #d8b97808,0 0 0 140px #d8b97805; }
.femix-follow__inner { width:min(1320px,calc(100% - 112px)); gap:90px; grid-template-columns:1.05fr 1fr; }
.femix-follow__eyebrow { color:var(--gold); font-size:10px; letter-spacing:.16em; margin-bottom:25px; }
.femix-follow__spark { color:var(--gold); }
.femix-follow__title { font-family:var(--display); font-size:clamp(45px,5.2vw,74px); font-weight:400; line-height:1.03; letter-spacing:-.045em; margin-bottom:28px; }
.femix-follow__title span { color:var(--lavender); font-style:italic; }
.femix-follow__intro { max-width:420px; color:var(--muted); font-size:16px; line-height:1.8; margin-bottom:33px; }
.femix-follow__signature { font-size:10px; color:var(--gold); }
.femix-follow__signature span:nth-child(even) { color:var(--lavender); }
.femix-follow__card { min-width:0; border:1px solid #dcc58e; border-radius:16px; background:var(--ivory); padding:36px; box-shadow:0 18px 50px #00000025; }
.femix-follow__card-label { color:#4c6051; font-size:9px; line-height:1.7; letter-spacing:.1em; margin-bottom:25px; }
.femix-follow__email-label { color:var(--ink); font-size:14px; margin-bottom:9px; }
.femix-follow input.femix-follow__email { color:var(--ink); background:var(--white); border-color:#738976; border-radius:5px; padding:15px 16px; margin-bottom:21px; font:400 16px/1.5 var(--body); }
.femix-follow input.femix-follow__email::placeholder { color:#5c6f61; }
.femix-follow__consent { color:#465b4d; font-size:13px; line-height:1.75; min-height:44px; margin-bottom:22px; }
.femix-follow .femix-follow__consent input[type=checkbox] { margin-top:4px; accent-color:var(--emerald); }
.femix-follow .femix-follow__submit { min-height:53px; padding:15px 20px; border-radius:5px; background:var(--emerald); color:var(--ivory); font:700 14px/1.5 var(--body); }
.femix-follow .femix-follow__submit:disabled { background:#4c6555; color:#fff; }
.femix-follow__privacy { color:#506453; font-size:12px; line-height:1.8; }
.femix-follow__status { color:#344e3b; font-size:14px; line-height:1.7; }
.femix-follow__status[data-kind=error] { color:#8b2e25; border-color:#8b2e25; }
.femix-follow__status[data-kind=success] { color:var(--emerald); border-color:var(--emerald); }
.femix-follow__secure,.femix-follow .femix-follow__reset { min-height:44px; padding-top:12px; font-size:13px; color:var(--emerald); }
.femix-follow input:focus-visible,.femix-follow button:focus-visible,.femix-follow a:focus-visible { outline-color:var(--violet); }

/* Closing furniture. */
.site-footer { padding:52px 0 25px; background:#071810; border-top:1px solid var(--line); }
.footer-top { display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:25px; padding-bottom:33px; border-bottom:1px solid var(--line); }
.footer-top>a:not(.brand) { display:inline-flex; align-items:center; gap:9px; min-height:44px; color:#c3cfc3; font-size:12px; }
.footer-top>a:hover { color:var(--ivory); }
.footer-top>a.footer-follow { color:var(--gold); font-weight:700; }
.footer-follow .republic-icon { width:18px; height:18px; }
.footer-bottom { display:flex; align-items:center; justify-content:space-between; gap:25px; padding-top:22px; color:#adbeae; font-size:10px; line-height:1.7; }
.footer-bottom p { margin:0; }
.motion-toggle { display:inline-flex; align-items:center; justify-content:center; gap:8px; min-height:44px; padding:10px 14px; border:1px solid #6a816c; border-radius:5px; color:var(--muted); background:transparent; font-size:12px; line-height:1.5; }
.motion-toggle .republic-icon { width:17px; height:17px; }
.motion-toggle:hover:not(:disabled) { color:var(--gold); border-color:var(--gold); }
.motion-toggle:disabled { color:#bcc9bd; border-color:#6a816c; }

/* Modal materials, native players and generous form controls. */
dialog { padding:0; width:auto; max-width:min(840px,calc(100% - 40px)); max-height:calc(100dvh - 48px); border:1px solid #c6b480; border-radius:20px; background:var(--ivory); color:var(--ink); color-scheme:light; box-shadow:0 30px 100px #00000080; }
dialog::backdrop { background:#04150fe8; -webkit-backdrop-filter:blur(8px); backdrop-filter:blur(8px); }
.modal-panel { padding:35px; }
.modal-heading { display:flex; align-items:flex-start; justify-content:space-between; gap:25px; margin-bottom:27px; }
.modal-heading .eyebrow { display:block; margin-bottom:12px; color:var(--gold-ink); font-size:9px; }
.modal-heading h2 { font-size:39px; letter-spacing:-.035em; line-height:1.1; margin-bottom:0; }
.close-dialog { flex:0 0 44px; display:grid; place-items:center; width:44px; height:44px; border:1px solid #738976; border-radius:50%; color:var(--ink); background:transparent; font-size:27px; line-height:1; }
.close-dialog:hover { background:#e4e7dc; }
.film-dialog { width:min(760px,calc(100% - 40px)); }
.film-dialog .modal-panel { padding:27px; }
.film-player { display:flex; justify-content:center; overflow:hidden; border:1px solid #34523d; border-radius:12px; background:var(--ink); }
.film-player video { display:block; width:auto; max-width:100%; max-height:65dvh; aspect-ratio:9/16; object-fit:contain; color-scheme:dark; }
.film-note { display:flex; justify-content:space-between; flex-wrap:wrap; gap:15px; margin-top:17px; font-size:11px; line-height:1.7; color:var(--muted-ink); }
.film-note a { display:inline-flex; align-items:center; min-height:44px; color:var(--emerald); font-weight:700; }
.detail-dialog { width:740px; }
.detail-dialog p,.detail-dialog ul { color:var(--muted-ink); font-size:16px; line-height:1.85; }
.detail-dialog h3 { font-size:29px; margin-top:28px; }
.detail-dialog ul { padding-left:22px; }
.detail-dialog li+li { margin-top:8px; }
.detail-poster { width:230px; border:1px solid #bba574; border-radius:8px; margin:0 auto 28px; }
.detail-facts { display:flex; gap:15px 22px; flex-wrap:wrap; padding-block:16px; margin-bottom:24px; border-block:1px solid #bec9b4; color:var(--emerald); font-size:12px; line-height:1.6; }
.detail-action { margin-top:15px; }
.detail-model-stage { position:relative; height:260px; margin-bottom:23px; overflow:hidden; border:1px solid #b5c4ae; border-radius:12px; background:#d4e0d3; }
.detail-model-stage .mini-model { width:220px; height:150px; transform:translate(-50%,-35%) rotateX(55deg) rotateZ(var(--model-angle,-35deg)); }
.model-control { display:flex; align-items:center; gap:20px; min-height:44px; font-size:13px; color:var(--emerald); }
.model-control input { flex:1; min-width:0; height:44px; accent-color:var(--emerald); }
.idea-dialog { width:720px; }
.idea-form-notice { color:#465c4d; font-size:14px; line-height:1.85; margin-bottom:24px; }
.idea-form-notice .inline-link { font-size:inherit; }
.draft-notice { padding:15px 18px; border:1px solid #c4cdb9; border-left:3px solid #b29860; border-radius:5px; color:#435d46; background:#e8ebde; font-size:13px; line-height:1.75; margin-bottom:27px; }
.form-row { display:grid; grid-template-columns:1fr 1fr; gap:20px; }
.idea-dialog form label { display:block; margin-bottom:23px; font-size:14px; font-weight:600; color:var(--ink); }
.idea-dialog form label>span { color:#596e5c; font-size:12px; font-weight:400; }
.idea-dialog input,.idea-dialog select,.idea-dialog textarea { display:block; width:100%; min-width:0; min-height:52px; margin-top:10px; padding:14px 15px; border:1px solid #738976; border-radius:5px; color:var(--ink); background:var(--white); font-size:16px; line-height:1.5; resize:vertical; }
.idea-dialog textarea { min-height:160px; }
.idea-dialog input::placeholder,.idea-dialog textarea::placeholder { color:#5c6f61; opacity:1; }
.idea-dialog .email-field small { color:#596e5c; font-size:12px; font-weight:400; line-height:1.8; }
.idea-dialog [aria-invalid=true] { border:2px solid #a43b31; }
.idea-dialog .submission-success { color:#145830; }
.idea-dialog .submission-error { color:#922e24; }
.idea-dialog button[disabled] { opacity:.6; }
.idea-honeypot { position:absolute; left:-10000px; top:auto; width:1px; height:1px; overflow:hidden; }
.draft-actions { display:flex; align-items:center; flex-wrap:wrap; gap:13px 20px; }
.draft-actions>.button { margin-right:auto; }
.small-action { min-height:44px; padding:10px 0; border:0; border-bottom:1px solid #738976; color:var(--emerald); background:none; font-size:13px; font-weight:600; white-space:nowrap; }
.small-action.subtle { color:#53665a; }
.draft-status { min-height:22px; margin:20px 0 0; color:var(--emerald); font-size:14px; line-height:1.7; }

/* WordPress posts, archives, pages, search and 404 share the editorial system. */
.wp-content-shell { max-width:920px; min-height:58vh; margin-inline:auto; padding-block:86px 100px; overflow-wrap:anywhere; }
.wp-content-shell h1 { font-size:clamp(46px,5.6vw,82px); line-height:1.07; margin-bottom:27px; }
.wp-content-shell h2 { font-size:clamp(32px,3.9vw,51px); line-height:1.15; }
.wp-content-shell h3 { font-size:32px; line-height:1.2; }
.wp-page-header { margin-bottom:50px; }
.wp-page-header .eyebrow { color:var(--gold-ink); }
.wp-post-list { display:grid; gap:48px; }
.wp-post-list .wp-post { border-bottom:1px solid #b8c5ae; padding-bottom:40px; }
.wp-post-list .entry-title { max-width:780px; }
.wp-post-meta { color:#526b56; font-size:13px; line-height:1.9; margin-bottom:32px; }
.wp-content-shell .entry-summary { color:var(--muted-ink); font-size:18px; line-height:1.85; }
.entry-content { max-width:74ch; color:#314a39; font-size:18px; line-height:1.9; }
.entry-content p,.entry-content ul,.entry-content ol,.entry-content blockquote { margin-bottom:1.5em; }
.entry-content h2,.entry-content h3,.entry-content h4 { color:var(--ink); margin-top:1.5em; }
.entry-content a,.entry-summary a,.wp-post-meta a,.entry-footer a { color:var(--emerald); text-decoration:underline; text-underline-offset:.2em; }
.entry-content a:hover,.entry-summary a:hover,.entry-title a:hover { color:#795727; }
.entry-content ul,.entry-content ol { padding-left:1.5em; }
.entry-content li+li { margin-top:.45em; }
.entry-content blockquote { border-left:2px solid #b89a61; padding-left:28px; margin-inline:0; color:var(--emerald); font-family:var(--display); font-size:28px; line-height:1.5; }
.entry-content pre,.entry-content code { border-radius:5px; background:#e1e7d9; color:#233f2c; padding:.12em .35em; font-size:.9em; }
.entry-content pre { max-width:100%; padding:22px; overflow:auto; }
.entry-content figure,.wp-featured-image { margin:32px 0; }
.wp-featured-image img { width:100%; height:auto; border:1px solid #b5c3ac; border-radius:12px; }
.entry-content img,.entry-content video,.entry-content iframe { max-width:100%; }
.entry-content figcaption,.wp-caption-text { margin-top:12px; color:#526b56; font-size:13px; line-height:1.7; }
.entry-content table { width:100%; border-collapse:collapse; font-size:16px; }
.entry-content td,.entry-content th { padding:13px; border:1px solid #adbda1; text-align:left; }
.entry-content .aligncenter { margin-inline:auto; }
.entry-content .alignleft { float:left; margin:0 26px 22px 0; }
.entry-content .alignright { float:right; margin:0 0 22px 26px; }
.entry-content::after { content:''; display:block; clear:both; }
.entry-content .wp-block-button__link { min-height:48px; padding:14px 22px; border-radius:5px; background:var(--emerald); color:var(--ivory); text-decoration:none; font:600 15px/1.5 var(--body); }
.entry-footer { border-top:1px solid #b6c3ac; margin-top:40px; padding-top:24px; color:var(--muted-ink); font-size:14px; line-height:1.8; }
.wp-content-shell .briefing-actions { margin-block:35px; }
.wp-content-shell .briefing-actions .republic-icon { width:18px; height:18px; }
.navigation.pagination,.post-navigation,.page-links { margin-top:44px; }
.nav-links { display:flex; flex-wrap:wrap; gap:15px 28px; justify-content:space-between; line-height:1.7; color:var(--emerald); font-size:14px; }
.nav-links a { display:inline-block; min-height:44px; padding-block:10px; }
.page-numbers { display:inline-grid; place-items:center; min-width:44px; min-height:44px; padding:9px 13px; border:1px solid #738976; border-radius:5px; }
.page-numbers.current { background:var(--emerald); color:var(--ivory); border-color:var(--emerald); }
.wp-content-shell .search-form { display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:end; gap:13px; max-width:720px; margin-block:30px; }
.wp-content-shell .search-form label { min-width:0; }
.wp-content-shell input[type=search],.wp-block-search__input { width:100%; min-width:0; min-height:53px; border:1px solid #738976; border-radius:5px; padding:14px 16px; color:var(--ink); background:var(--white); font-size:16px; }
.wp-content-shell input[type=submit],.wp-content-shell button[type=submit],.wp-block-search__button { min-height:53px; padding:15px 24px; border:1px solid var(--emerald); border-radius:5px; color:var(--ivory); background:var(--emerald); cursor:pointer; font-size:15px; font-weight:600; }
.screen-reader-text { position:absolute; width:1px; height:1px; margin:-1px; padding:0; overflow:hidden; clip:rect(1px,1px,1px,1px); clip-path:inset(50%); border:0; white-space:nowrap; }
.screen-reader-text:focus { z-index:10000; width:auto; height:auto; margin:0; padding:15px; clip:auto; clip-path:none; background:var(--ivory); color:var(--ink); }

/* Content is visible unless the active script explicitly marks it pending. */
[data-reveal] { transition:opacity .7s ease,transform .7s cubic-bezier(.2,.65,.3,1); }
html.republic-motion-enabled:not(.republic-motion-paused) .reveal-pending:not(.is-visible) { opacity:0; transform:translateY(22px); }
html.republic-motion-paused .reveal-pending,html.republic-motion-paused [data-reveal] { opacity:1 !important; transform:none !important; transition:none !important; }
html.republic-motion-enabled .hero-glow { animation:republic-glow 18s ease-in-out infinite alternate; }
html.republic-motion-enabled .hero-insignia::after { animation:republic-seal 90s linear infinite; }
html.republic-motion-enabled .orbit-note { animation:republic-note 9s ease-in-out infinite alternate; }
html.republic-motion-paused *,html.republic-motion-paused *::before,html.republic-motion-paused *::after { animation-play-state:paused !important; }
@keyframes record-spin { to { transform:rotate(345deg); } }
@keyframes republic-glow { to { opacity:.65; transform:translateY(-12px); } }
@keyframes republic-seal { to { transform:rotate(360deg); } }
@keyframes republic-note { to { transform:translateY(-7px) rotate(-5deg); } }

/* Mid-size composition, then full-width touch navigation. */
@media (max-width:1200px) {
  .shell,.femix-follow__inner { width:calc(100% - 72px); }
  .site-header nav { gap:17px; }
  .hero { gap:48px; padding-block:65px 75px; }
  .hero h1 { font-size:clamp(88px,9vw,116px); }
  .hero-intro { font-size:19px; }
  .hero-insignia { width:102px; height:102px; right:-10px; gap:6px; }
  .hero-insignia img { width:30px; height:30px; }
  .hero-insignia>span { font-size:6px; }
  .hero-insignia>small { max-width:75px; font-size:5px; }
  .project-copy,.project-feature .project-copy { padding:26px; }
  .project-copy h3 { font-size:30px; }
  .card-meta { gap:8px; font-size:8px; }
  .film-art { min-height:440px; }
  .hub-art { padding:25px 17px; }
  .hub-preview { padding:26px 17px; }
  .hub-preview strong { font-size:25px; }
  .story-grid,.music-grid,.femix-follow__inner { gap:65px; }
  .record-art { padding-left:20px; }
  .record-stamp { right:23px; font-size:32px; }
  .record-disc { width:250px; height:250px; flex-basis:250px; }
  .record-info { padding:26px; }
}
@media (max-width:1000px) {
  .header-inner,.site-header.is-scrolled .header-inner { min-height:82px; }
  .menu-toggle { display:flex; flex-direction:column; justify-content:center; align-items:center; gap:6px; width:46px; height:46px; flex:0 0 46px; padding:0; border:1px solid #8a9c83; border-radius:5px; background:transparent; }
  .menu-toggle span { width:19px; height:1px; background:var(--ivory); transition:transform .2s; }
  .menu-toggle[aria-expanded=true] span:first-child { transform:translateY(3.5px) rotate(45deg); }
  .menu-toggle[aria-expanded=true] span:last-child { transform:translateY(-3.5px) rotate(-45deg); }
  .site-header nav { display:none; position:absolute; top:100%; left:0; right:0; max-height:calc(100dvh - 82px); overflow:auto; padding:24px 36px 30px; border-bottom:1px solid var(--gold); background:#091b16fc; box-shadow:0 24px 40px #00000040; }
  .site-header nav.is-open { display:flex; flex-direction:column; align-items:stretch; gap:4px; }
  .site-header nav>a { min-height:48px; font-size:17px; padding:12px 0; }
  .site-header nav>a::after { display:none; }
  .site-header .nav-action { display:flex; justify-content:space-between; margin-top:12px; padding:14px 20px; min-height:49px; font-size:14px; }
  .site-header nav>.nav-follow { margin-top:12px; min-height:49px; padding:14px 20px; font-size:14px; justify-content:space-between; }
  .hero { gap:35px; }
  .hero h1 { font-size:clamp(78px,10vw,99px); }
  .hero-intro { font-size:18px; }
  .hero-description { font-size:14px; }
  .hero .eyebrow { font-size:8px; letter-spacing:.13em; }
  .hero-actions { gap:15px; }
  .hero-actions .button { font-size:12px; padding:15px 19px; gap:18px; }
  .hero-secondary-links { gap:17px; }
  .hero-secondary-links a,.hero-secondary-links .text-button { font-size:11px; }
  .portrait-frame { aspect-ratio:.69; }
  .hero-edition { font-size:8px; }
  .portrait-label { font-size:7px; top:40px; }
  .portrait-caption { font-size:11px; left:23px; bottom:24px; }
  .hero-insignia { width:88px; height:88px; top:18px; gap:4px; }
  .hero-insignia img { width:26px; height:26px; }
  .hero-insignia>span { font-size:5px; max-width:65px; }
  .hero-insignia>small { font-size:5px; max-width:65px; letter-spacing:0; }
  .orbit-note { width:89px; height:89px; right:-10px; font-size:8px; }
  .republic-disciplines { gap:10px; }
  .republic-disciplines>* { font-size:10px; padding-left:12px; }
  .signature-strip .shell { gap:18px; font-size:8px; letter-spacing:.13em; }
  .section-heading { gap:35px; }
  .section-intro { max-width:290px; font-size:14px; }
  .section-heading h2 { font-size:56px; }
  .project-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .project-feature { grid-column:span 2; }
  .hub-card { grid-column:span 1; display:flex; }
  .hub-art { min-height:245px; padding:26px; }
  .identity-art { min-height:235px; }
  .concept-art { height:245px; }
  .project-grid.is-filtered .hub-card { grid-column:span 1; }
  .story-grid { gap:50px; }
  .story-title h2 { font-size:43px; }
  .story-copy .large-copy { font-size:26px; }
  .story-copy p { font-size:15px; }
  .music-grid { gap:40px; }
  .music-section h2 { font-size:54px; }
  .record-disc { width:235px; height:235px; flex-basis:235px; }
  .record-stamp { font-size:29px; right:17px; }
  .record-info h3 { font-size:27px; }
  .femix-follow__inner { gap:45px; }
  .femix-follow__title { font-size:52px; }
  .femix-follow__card { padding:28px; }
}
@media (max-width:780px) {
  .hero { grid-template-columns:1fr; gap:49px; padding-block:52px 68px; }
  .hero-copy { max-width:600px; padding:0; }
  .hero .eyebrow { font-size:10px; margin-bottom:28px; }
  .hero h1 { font-size:clamp(88px,16vw,115px); line-height:.9; margin-bottom:28px; }
  .hero-intro { font-size:21px; }
  .hero-description { font-size:15px; max-width:440px; }
  .hero-secondary-links a,.hero-secondary-links .text-button { font-size:12px; }
  .hero-actions .button { min-height:54px; padding:16px 22px; font-size:13px; }
  .republic-disciplines { max-width:460px; gap:20px; }
  .republic-disciplines>* { font-size:11px; padding-left:20px; }
  .hero-visual { max-width:560px; margin-inline:auto; padding-right:14px; }
  .portrait-frame { aspect-ratio:.95; border-radius:280px 280px 14px 14px; }
  .hero-portrait { object-position:50% 10%; }
  .hero-edition { font-size:9px; }
  .hero-insignia { width:105px; height:105px; top:10px; right:-4px; gap:6px; }
  .hero-insignia img { width:31px; height:31px; }
  .hero-insignia>span { font-size:6px; max-width:80px; }
  .hero-insignia>small { font-size:5px; max-width:77px; }
  .portrait-caption { font-size:13px; left:28px; bottom:29px; }
  .portrait-label { font-size:8px; top:36px; }
  .orbit-note { width:98px; height:98px; right:-4px; bottom:44px; font-size:8px; }
  .signature-strip .shell { font-size:8px; gap:12px; letter-spacing:.1em; }
  .section-heading { display:block; margin-bottom:31px; }
  .section-heading h2 { font-size:53px; margin-bottom:23px; }
  .section-intro { max-width:420px; }
  .work-section,.briefings-section { padding:80px 0; }
  .story-section { padding-bottom:80px; }
  .story-grid { grid-template-columns:1fr; gap:30px; padding-top:64px; }
  .story-title h2 { font-size:51px; margin-bottom:27px; }
  .journey-line { margin-bottom:5px; }
  .story-copy .large-copy { font-size:28px; max-width:650px; }
  .music-section { padding:80px 0; }
  .music-grid { grid-template-columns:1fr; gap:38px; }
  .music-grid>.record-panel { max-width:590px; width:100%; }
  .record-art { height:250px; padding-left:34px; }
  .record-disc { width:285px; height:285px; flex-basis:285px; }
  .record-stamp { font-size:39px; right:35px; }
  .record-info { padding:30px; }
  .briefing-row { grid-template-columns:72px 1fr 46px; gap:23px; }
  .briefing-content strong { font-size:28px; }
  .assembly-inner { display:block; }
  .assembly-inner .button { margin-top:30px; }
  .femix-follow { padding-block:80px; }
  .femix-follow__inner { grid-template-columns:1fr; max-width:650px; gap:38px; }
  .femix-follow__title { font-size:60px; }
  .femix-follow__intro { max-width:480px; }
  .femix-follow__card { padding:34px; }
  .footer-top { justify-content:flex-start; gap:20px 34px; }
  .footer-top .brand { flex-basis:100%; margin-bottom:10px; }
  .footer-bottom { flex-wrap:wrap; gap:14px 25px; }
  .wp-content-shell { padding-block:65px 80px; }
}
@media (max-width:540px) {
  html { scroll-padding-top:95px; }
  .shell,.femix-follow__inner { width:calc(100% - 40px); }
  .header-inner,.site-header.is-scrolled .header-inner { min-height:76px; gap:16px; }
  .brand { font-size:14px; gap:11px; }
  .brand-mark { width:42px; height:42px; padding:7px; }
  .brand small { font-size:7px; letter-spacing:.13em; }
  .site-header nav { max-height:calc(100dvh - 76px); padding:22px 20px 26px; }
  .hero { padding-block:41px 58px; gap:40px; }
  .hero .eyebrow { font-size:8px; letter-spacing:.12em; margin-bottom:25px; }
  .hero h1 { font-size:clamp(81px,22vw,112px); letter-spacing:-.055em; margin-bottom:27px; }
  .hero-intro { font-size:20px; line-height:1.5; margin-bottom:15px; }
  .hero-description { font-size:14px; max-width:360px; margin-bottom:24px; }
  .hero-actions { gap:17px; }
  .hero-actions .button { font-size:13px; min-height:54px; padding:16px 21px; }
  .hero-secondary-links { gap:20px; margin-top:10px; }
  .hero-secondary-links a,.hero-secondary-links .text-button { font-size:11px; }
  .republic-disciplines { gap:12px; padding-top:23px; margin-top:24px; }
  .republic-disciplines>* { font-size:10px; gap:8px; padding-left:12px; }
  .republic-disciplines .republic-icon { width:21px; height:21px; }
  .fiction-note,.hero-bottom-note { font-size:10px; margin-top:22px; }
  .hero-visual { padding-right:9px; }
  .hero-edition { font-size:8px; letter-spacing:.1em; margin-bottom:14px; gap:10px; }
  .hero-insignia { width:88px; height:88px; top:13px; right:-2px; outline-offset:5px; gap:4px; }
  .hero-insignia img { width:26px; height:26px; }
  .hero-insignia>span,.hero-insignia>small { font-size:5px; max-width:66px; }
  .portrait-frame { aspect-ratio:.92; border-radius:190px 190px 12px 12px; }
  .portrait-label { font-size:6px; top:29px; left:21%; right:21%; }
  .portrait-caption { left:21px; right:17px; bottom:23px; gap:11px; font-size:11px; }
  .tiny-grid { font-size:31px; }
  .orbit-note { width:80px; height:80px; bottom:39px; right:-3px; font-size:7px; }
  .orbit-note>span { font-size:23px; }
  .orbit-note>.republic-icon { width:22px; height:22px; }
  .signature-strip { padding:24px 0; }
  .signature-strip .shell { display:grid; grid-template-columns:auto 12px auto; gap:16px 15px; justify-content:space-between; max-width:440px; font-size:9px; letter-spacing:.09em; }
  .signature-strip span:nth-child(4) { display:none; }
  .signature-strip span:nth-child(5) { grid-column:1; grid-row:2; }
  .signature-strip span:nth-child(6) { grid-column:2; grid-row:2; }
  .signature-strip span:nth-child(7) { grid-column:3; grid-row:2; }
  .signature-strip span:nth-child(even) { font-size:13px; }
  .work-section,.briefings-section { padding:64px 0; }
  .section-heading h2 { font-size:46px; margin-bottom:23px; }
  .eyebrow { font-size:9px; letter-spacing:.12em; gap:11px; }
  .section-heading .eyebrow,.story-section .eyebrow { margin-bottom:23px; }
  .chapter-icon { width:34px; height:34px; flex-basis:34px; }
  .chapter-icon .republic-icon { width:17px; height:17px; }
  .section-intro { font-size:14px; line-height:1.8; }
  .board-toolbar { flex-direction:column; align-items:flex-start; gap:15px; margin-bottom:24px; }
  .filters { gap:7px; }
  .filter-button { font-size:11px; padding:10px 14px; min-height:44px; }
  .project-count { font-size:10px; }
  .project-grid,.project-grid.is-filtered { display:flex; flex-direction:column; gap:22px; }
  .project-feature,.hub-card { display:flex; flex-direction:column; }
  .film-art { height:340px; min-height:340px; }
  .film-art>img { object-position:50% 25%; }
  .project-copy,.project-feature .project-copy { padding:27px; }
  .project-copy h3 { font-size:34px; }
  .project-feature h3 br { display:none; }
  .project-copy p { font-size:14px; margin-bottom:23px; }
  .project-link { font-size:12px; }
  .card-meta { margin-bottom:25px; font-size:9px; }
  .status { font-size:10px; }
  .identity-art { min-height:250px; }
  .identity-art img { width:85px; }
  .identity-art>span { font-size:29px; }
  .identity-art small { font-size:8px; }
  .concept-art { height:270px; }
  .concept-tag,.art-caption { font-size:8px; }
  .hub-art { min-height:285px; padding:30px; }
  .hub-preview { padding:26px 20px; }
  .hub-preview strong { font-size:29px; }
  .hub-steps { gap:10px; font-size:8px; }
  .story-section { padding-bottom:65px; }
  .story-grid { padding-top:54px; gap:25px; }
  .story-title h2 { font-size:44px; }
  .journey-line { gap:10px; font-size:8px; letter-spacing:.07em; }
  .story-copy .large-copy { font-size:27px; line-height:1.45; }
  .story-copy p { font-size:15px; line-height:1.9; }
  .music-section { padding:65px 0; }
  .music-section h2 { font-size:49px; }
  .music-intro { font-size:14px; }
  .music-grid { gap:32px; }
  .record-art { height:230px; padding-left:23px; }
  .record-disc { width:260px; height:260px; flex-basis:260px; }
  .record-stamp { font-size:32px; right:23px; bottom:25px; }
  .record-info { padding:27px 23px; }
  .record-info h3 { font-size:28px; }
  .record-info p { font-size:13px; }
  .record-bottom { font-size:8px; gap:12px; }
  .record-bottom a { font-size:11px; }
  .briefing-row { grid-template-columns:43px minmax(0,1fr) 36px; gap:15px; padding:29px 0; }
  .briefing-date { font-size:8px; }
  .briefing-date b { font-size:39px; }
  .briefing-content { gap:10px; }
  .briefing-content small { font-size:8px; line-height:1.8; letter-spacing:.1em; }
  .briefing-content strong { font-size:25px; line-height:1.2; }
  .briefing-content>span { font-size:12px; line-height:1.8; }
  .briefing-arrow { width:36px; height:36px; font-size:19px; }
  .briefing-follow { grid-template-columns:1fr; gap:18px; padding:25px; }
  .briefing-follow>.button { grid-column:1; }
  .briefing-follow h2 { font-size:34px; }
  .briefing-follow p:not(.eyebrow) { font-size:14px; }
  .briefing-share { padding:25px; }
  .share-heading { gap:13px; }
  .share-heading h3 { font-size:29px; }
  .share-link { min-height:46px; padding:11px 13px; font-size:12px; }
  .share-status { font-size:12px; }
  .femix-follow { padding:66px 0; scroll-margin-top:95px; }
  .femix-follow__inner { gap:33px; max-width:520px; }
  .femix-follow__title { font-size:50px; margin-bottom:25px; }
  .femix-follow__eyebrow { font-size:9px; }
  .femix-follow__intro { font-size:14px; margin-bottom:27px; }
  .femix-follow__signature { font-size:9px; gap:13px; }
  .femix-follow__card { padding:27px 23px; border-radius:12px; }
  .femix-follow__card-label { font-size:8px; }
  .femix-follow__consent { font-size:12px; }
  .femix-follow__privacy { font-size:11px; }
  .femix-follow__status { font-size:13px; }
  .assembly-section { padding:65px 0; }
  .assembly-inner .eyebrow { font-size:9px; }
  .assembly-inner h2 { font-size:52px; }
  .assembly-inner p:last-child { font-size:14px; line-height:1.8; }
  .assembly-inner .button { margin-top:28px; }
  .site-footer { padding:38px 0 25px; }
  .footer-top { gap:16px 27px; padding-bottom:27px; }
  .footer-top .brand { margin-bottom:6px; }
  .footer-top>a:not(.brand) { font-size:12px; }
  .footer-bottom { display:grid; grid-template-columns:1fr; gap:9px; font-size:10px; padding-top:23px; }
  .motion-toggle { width:fit-content; }
  dialog { max-width:calc(100% - 24px); max-height:calc(100dvh - 24px); border-radius:14px; }
  .modal-panel { padding:24px; }
  .modal-heading { gap:14px; margin-bottom:23px; }
  .modal-heading h2 { font-size:33px; }
  .modal-heading .eyebrow { font-size:8px; }
  .close-dialog { width:44px; height:44px; flex-basis:44px; }
  .film-dialog { width:calc(100% - 24px); }
  .film-dialog .modal-panel { padding:20px; }
  .film-dialog .modal-heading h2 { font-size:29px; }
  .film-note { font-size:10px; gap:10px; align-items:center; }
  .detail-dialog p,.detail-dialog ul { font-size:15px; line-height:1.8; }
  .detail-dialog h3 { font-size:27px; }
  .detail-facts { font-size:11px; gap:12px; }
  .detail-poster { width:200px; }
  .detail-model-stage { height:245px; }
  .model-control { flex-direction:column; align-items:stretch; gap:5px; font-size:13px; }
  .form-row { grid-template-columns:1fr; gap:0; }
  .draft-notice { padding:14px; font-size:12px; }
  .idea-form-notice { font-size:13px; }
  .idea-dialog form label { font-size:13px; }
  .idea-dialog .email-field small { font-size:11px; }
  .draft-actions { gap:10px 18px; }
  .draft-actions>.button { flex-basis:100%; }
  .draft-status { font-size:13px; }
  .wp-content-shell { padding-block:53px 70px; }
  .wp-content-shell h1 { font-size:44px; }
  .wp-content-shell h2 { font-size:35px; }
  .wp-content-shell h3 { font-size:29px; }
  .wp-page-header { margin-bottom:35px; }
  .wp-post-meta { font-size:12px; }
  .entry-content,.wp-content-shell .entry-summary { font-size:16px; line-height:1.9; }
  .entry-content blockquote { font-size:24px; padding-left:21px; }
  .entry-content .alignleft,.entry-content .alignright { float:none; margin:24px 0; }
  .entry-content table { display:block; max-width:100%; overflow-x:auto; }
  .wp-content-shell .search-form { grid-template-columns:minmax(0,1fr); }
  .wp-content-shell input[type=submit],.wp-content-shell button[type=submit] { width:100%; }
}
body.admin-bar .site-header { top:32px; }
@media (max-width:782px) { body.admin-bar .site-header { top:46px; } }
@media (max-width:600px) { body.admin-bar .site-header { top:0; } }

/* Device preferences and the visible pause control always win. */
@media (prefers-reduced-motion:reduce) {
  html { scroll-behavior:auto; }
  *,*::before,*::after { animation:none !important; transition:none !important; }
  [data-reveal],.reveal-pending { opacity:1 !important; transform:none !important; }
  .button:hover,.project-card:hover,.film-art:hover>img,.briefing-arrow,.project-link span,.inline-link span { transform:none !important; }
  .record-disc { transform:rotate(-15deg) !important; }
}
