/* Scruff Baggins: one stylesheet for the whole site */
:root{
  --black:#000; --cream:#EFE7D3; --ink:#FBF5E6; --green:#4B5320; --deep:#2C3112; --pale:#c8d27a;
  --text-cream:#15150f; --muted-cream:#4a4636; --muted-dark:#c9c2ad; --line-dark:rgba(251,245,230,.22); --line-cream:rgba(21,21,15,.2);
  --display:"Big Shoulders Display","Arial Narrow","Helvetica Neue",Impact,sans-serif;
  --body:"Archivo","Helvetica Neue",Arial,sans-serif;
  --bar:84px; --gutter:clamp(1rem,4vw,1.5rem);
  color-scheme:dark;
}
@media (prefers-color-scheme: dark){ :root:not([data-theme="light"]){ --black:#000; } }
:root[data-theme="dark"]{ --black:#000; }
*,*::before,*::after{ box-sizing:border-box }
html{ -webkit-text-size-adjust:100%; scroll-behavior:smooth; }
@media (prefers-reduced-motion: reduce){ html{ scroll-behavior:auto } }
body{ margin:0; background:var(--black); color:var(--ink); font-family:var(--body); font-size:1.0625rem; line-height:1.6; -webkit-font-smoothing:antialiased; overflow-x:hidden; }
img,video,iframe,canvas{ display:block; max-width:100%; }
img{ height:auto; }
a{ color:inherit; text-underline-offset:4px; }
[hidden]{ display:none !important; }
:focus-visible{ outline:3px solid var(--pale); outline-offset:3px; }
.vh{ position:absolute !important; width:1px; height:1px; overflow:hidden; clip:rect(0 0 0 0); white-space:nowrap; }
.skip{ position:absolute; left:-999px; top:0; background:var(--ink); color:#000; padding:.6rem 1rem; z-index:100; }
.skip:focus{ left:1rem; top:1rem; }
.wrap{ width:100%; max-width:76rem; margin:0 auto; padding:0 var(--gutter); }
.wrap.narrow{ max-width:46rem; }

/* Section colour rhythm */
section{ position:relative; padding:clamp(3.5rem,9vw,6.5rem) 0; }
.s-black{ background:var(--black); color:var(--ink); }
.s-cream{ background:var(--cream); color:var(--text-cream); }
.s-deep{ background:var(--deep); color:var(--ink); }
.s-green{ background:var(--green); color:var(--ink); }
.grain::before{ content:""; position:absolute; inset:0; pointer-events:none; opacity:.07;
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='220' height='220'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/></filter><rect width='100%' height='100%' filter='url(%23n)'/></svg>"); }
.grain > *{ position:relative; }

/* Type */
h1,h2,h3{ font-family:var(--display); font-weight:900; line-height:.88; letter-spacing:-.005em; margin:0; }
.h-page{ font-size:clamp(3.4rem,13vw,9.5rem); }
h2,.h2{ font-size:clamp(2.8rem,9vw,6.25rem); margin-bottom:clamp(1.5rem,4vw,2.5rem); }
h3,.h3{ font-size:clamp(1.7rem,4vw,2.4rem); line-height:.95; font-weight:700; }
.kicker{ font-family:var(--display); font-weight:700; font-size:1.2rem; letter-spacing:.14em; text-transform:uppercase; margin:0 0 .75rem; opacity:.8; }
.lede{ font-size:clamp(1.15rem,2.2vw,1.35rem); line-height:1.5; max-width:38rem; margin:0 0 1.5rem; }
.s-cream .muted{ color:var(--muted-cream); } .muted{ color:var(--muted-dark); }
p{ margin:0 0 1rem; }

/* Buttons */
.btn{ display:inline-flex; align-items:center; justify-content:center; gap:.5rem; min-height:48px; padding:.65rem 1.35rem; font-family:var(--display); font-weight:700; font-size:1.3rem; letter-spacing:.03em; line-height:1; text-decoration:none; border:2px solid currentColor; background:transparent; color:inherit; cursor:pointer; transition:background .15s,color .15s; }
.btn:hover{ background:var(--ink); color:#000; border-color:var(--ink); }
.s-cream .btn:hover{ background:#000; color:var(--cream); border-color:#000; }
.btn.solid{ background:var(--ink); color:#000; border-color:var(--ink); }
.btn.solid:hover{ background:transparent; color:var(--ink); }
.s-cream .btn.solid{ background:#000; color:var(--cream); border-color:#000; }
.s-cream .btn.solid:hover{ background:transparent; color:#000; }
.btn.big{ font-size:clamp(1.5rem,3vw,2rem); min-height:60px; padding:.8rem 1.8rem; }
.btn.sm{ min-height:44px; font-size:1.1rem; padding:.45rem .95rem; }
.btns{ display:flex; flex-wrap:wrap; gap:.6rem; }
.textlink{ font-weight:600; }
.arrow::after{ content:" →"; }

/* Header */
.site-header{ position:sticky; top:0; z-index:40; background:var(--black); padding-top:env(safe-area-inset-top,0px); border-bottom:1px solid rgba(251,245,230,.08); }
.bar{ height:var(--bar); max-width:84rem; margin:0 auto; padding:0 var(--gutter); display:grid; grid-template-columns:1fr auto 1fr; align-items:center; }
.icon-btn,.icon-link{ width:44px; height:44px; display:grid; place-items:center; border-radius:50%; color:inherit; background:transparent; border:0; padding:0; cursor:pointer; flex:none; }
.icon-btn:hover,.icon-link:hover{ background:rgba(251,245,230,.12); }
.s-cream .icon-link:hover{ background:rgba(0,0,0,.08); }
.icon-btn svg{ width:28px; height:28px } .icon-link svg{ width:22px; height:22px }
.menu-open{ justify-self:start; display:flex; align-items:center; gap:.6rem; width:auto; padding:0 .6rem 0 .3rem; border-radius:22px; font-family:var(--display); font-weight:700; font-size:1.2rem; letter-spacing:.08em; }
.brand{ justify-self:center; display:block; width:112px; }
.brand img{ width:100%; height:auto; }
.socials{ display:flex; gap:.15rem; align-items:center; }
.bar .socials{ justify-self:end; }
@media (max-width:640px){ :root{ --bar:70px } .brand{ width:92px } .menu-open .lbl{ display:none } .bar .socials .icon-link:nth-child(n+2){ display:none } }

/* Menu panel */
.menu-panel{ position:fixed; inset:0; z-index:60; background:var(--black); overflow-y:auto; display:none; padding:calc(env(safe-area-inset-top,0px) + 1rem) var(--gutter) 3rem; }
.menu-panel.open{ display:block; }
.menu-top{ max-width:84rem; margin:0 auto; display:flex; justify-content:space-between; align-items:center; height:calc(var(--bar) - 1rem); }
.menu-panel nav ul{ list-style:none; margin:1.5rem auto 0; padding:0; max-width:84rem; }
.menu-panel nav a{ font-family:var(--display); font-weight:900; font-size:clamp(2.6rem,9vw,5.5rem); line-height:1; text-decoration:none; display:inline-block; padding:.15rem 0; }
.menu-panel nav a:hover,.menu-panel nav a[aria-current="page"]{ color:var(--pale); }
.menu-foot{ max-width:84rem; margin:2.5rem auto 0; display:flex; flex-wrap:wrap; gap:1rem 2rem; align-items:center; color:var(--muted-dark); }

/* Page head (non-hero pages) */
.page-head{ padding:clamp(3rem,9vw,6rem) 0 clamp(2.5rem,6vw,4rem); }
.page-head .lede{ margin-top:1.5rem; }

/* Header floating over full-screen heroes (Home, Label), solid once you scroll */
.site-header.overlay{ position:fixed; left:0; right:0; background:transparent; border-bottom:0; box-shadow:none; transition:background-color .25s; }
.site-header.overlay:not(.scrolled) .bar{ filter:drop-shadow(0 1px 6px rgba(0,0,0,.55)); }
.site-header.overlay.scrolled{ background:var(--black); }

/* Home hero video */
.vhero{ position:relative; height:100vh; height:100svh; min-height:420px; overflow:hidden; background:#0d0d0a; padding:0; }
.vhero video,.vhero .poster{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
.vhero::after{ content:""; position:absolute; left:0; right:0; bottom:0; height:14%; background:linear-gradient(to bottom,rgba(0,0,0,0),#000); pointer-events:none; }
.hero-cta{ position:absolute; z-index:3; left:0; right:0; bottom:clamp(1rem,4vh,2.5rem); display:flex; justify-content:center; gap:.6rem; flex-wrap:wrap; padding:0 var(--gutter); }
.hero-cta .btn{ background:rgba(0,0,0,.55); backdrop-filter:blur(4px); -webkit-backdrop-filter:blur(4px); }
.hero-cta .btn.solid{ background:var(--ink); }
.play-toggle{ position:absolute; right:1rem; bottom:calc(1rem + env(safe-area-inset-bottom,0px)); z-index:5; width:44px; height:44px; border-radius:50%; border:2px solid rgba(251,245,230,.6); background:rgba(0,0,0,.5); color:var(--ink); display:grid; place-items:center; cursor:pointer; padding:0; }
.play-toggle svg{ width:18px; height:18px; }


/* Glitch hero (Label) */
.ghero{ position:relative; height:100vh; height:100svh; min-height:460px; background:#000; overflow:hidden; padding:0; }
.ghero canvas,.ghero .still{ position:absolute; inset:0; width:100%; height:100%; }
.ghero .still{ object-fit:contain; padding:12vmin; }
.ghero .word{ position:absolute; left:0; right:0; bottom:clamp(1.25rem,4vh,3rem); text-align:center; font-family:var(--display); font-weight:900; letter-spacing:.32em; padding-left:.32em; font-size:clamp(1.1rem,2.4vw,1.6rem); color:var(--muted-dark); margin:0; }



/* Release feature */
.feature{ display:grid; grid-template-columns:minmax(0,1.05fr) minmax(0,1fr); gap:clamp(1.5rem,5vw,4.5rem); align-items:center; }
.feature .cover{ box-shadow:0 30px 60px -20px rgba(0,0,0,.55); }
.feature .meta{ font-family:var(--display); font-weight:700; font-size:1.25rem; letter-spacing:.06em; margin:1rem 0 1.5rem; }
.feature h3{ font-size:clamp(3rem,8vw,6rem); line-height:.85; font-weight:900; }
.feature .artist{ font-family:var(--display); font-weight:700; font-size:clamp(1.5rem,3vw,2rem); margin:0 0 .4rem; }
@media (max-width:760px){ .feature{ grid-template-columns:1fr; } }
.stamp-date{ display:inline-block; border:2px solid currentColor; padding:.35rem .8rem; font-family:var(--display); font-weight:900; font-size:1.4rem; letter-spacing:.05em; transform:rotate(-3deg); margin-bottom:1.25rem; }

/* Cover tiles and grids */
.grid{ display:grid; gap:clamp(1rem,2.5vw,1.75rem); grid-template-columns:repeat(auto-fill,minmax(min(100%,210px),1fr)); }
.grid.lg{ grid-template-columns:repeat(auto-fill,minmax(min(100%,300px),1fr)); }
.tile{ display:flex; flex-direction:column; text-decoration:none; }
.tile .art{ position:relative; aspect-ratio:1; overflow:hidden; background:#111; }
.tile .art img{ width:100%; height:100%; object-fit:cover; transition:transform .35s; }
.tile:hover .art img{ transform:scale(1.03); }
.tile .t{ font-family:var(--display); font-weight:700; font-size:1.45rem; line-height:1; margin-top:.8rem; }
.tile .a{ font-size:.95rem; margin-top:.3rem; opacity:.8; }
.tile .d{ font-size:.9rem; opacity:.65; font-variant-numeric:tabular-nums; }
/* Typographic stand-in when artwork isn't supplied yet */
.nocover{ position:absolute; inset:0; overflow:hidden; display:flex; flex-direction:column; justify-content:space-between; padding:1rem; background:#0b0b09; color:var(--ink); }
.nocover .nu{ position:absolute; right:-18%; bottom:-18%; width:78%; height:auto; opacity:.14; }
.nocover .cat{ font-family:var(--display); font-weight:900; font-size:clamp(1.6rem,3.6vw,2.4rem); letter-spacing:.04em; color:var(--pale); position:relative; z-index:1; }
.nocover .nt{ font-family:var(--display); font-weight:700; font-size:clamp(1rem,2vw,1.3rem); line-height:1.05; position:relative; z-index:1; max-width:70%; opacity:.75; }
.nocover .na{ font-size:.8rem; letter-spacing:.12em; text-transform:uppercase; opacity:.7; position:relative; z-index:1; margin-top:.4rem; }

/* Playlist cards */
.plist{ display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:clamp(1.5rem,4vw,3rem); }
.plist .card img{ width:100%; aspect-ratio:1; object-fit:cover; }
.plist h3{ margin:1.1rem 0 .6rem; }
@media (max-width:700px){ .plist{ grid-template-columns:1fr; } }

/* Five From */
.five{ border-top:2px solid currentColor; padding:1.5rem 0 2rem; display:grid; grid-template-columns:auto 1fr; gap:1.25rem 2.5rem; align-items:start; }
.five .no{ font-family:var(--display); font-weight:900; font-size:clamp(4.5rem,12vw,8rem); line-height:.8; }
.five ol{ margin:0; padding:0; list-style:none; counter-reset:f; }
.five li{ counter-increment:f; display:grid; grid-template-columns:2.2rem 1fr; gap:.5rem; padding:.55rem 0; border-bottom:1px solid var(--line-dark); font-weight:600; font-size:1.15rem; }
.s-cream .five li{ border-color:var(--line-cream); }
.five li::before{ content:counter(f); font-family:var(--display); font-weight:900; font-size:1.3rem; opacity:.6; }
.five li .tr{ font-weight:400; opacity:.8; }
@media (max-width:560px){ .five{ grid-template-columns:1fr; } }

/* Mix card */
.mix{ display:grid; grid-template-columns:auto 1fr; gap:clamp(1.25rem,4vw,2.5rem); align-items:center; border:2px solid currentColor; padding:clamp(1.25rem,3vw,2rem); }
.mix .disc{ width:clamp(90px,16vw,150px); aspect-ratio:1; border-radius:50%; background:radial-gradient(circle,var(--ink) 0 9%,#000 9.5% 11%,transparent 11.5%),repeating-radial-gradient(circle,#161616 0 2px,#050505 2px 4px); }
.mix h3{ font-size:clamp(2.2rem,6vw,3.8rem); font-weight:900; }
.mix p{ margin:.3rem 0 1rem; }
.player{ margin-top:1.25rem; }
@media (max-width:560px){ .mix{ grid-template-columns:1fr; } }

/* Embed facade: third-party players load only when asked */
.embed{ border:1px dashed currentColor; padding:1rem; display:flex; align-items:center; justify-content:space-between; gap:1rem; flex-wrap:wrap; }
.embed iframe{ width:100%; border:0; }
.embed.loaded{ border:0; padding:0; display:block; }

/* Two-col split */
.split{ display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:clamp(1.5rem,5vw,4rem); align-items:center; }
.split.top{ align-items:start; }
@media (max-width:800px){ .split{ grid-template-columns:1fr; } }
.photo-frame img{ width:100%; object-fit:cover; }

/* Big CTA band (sound system) */
.cta-band h2{ font-size:clamp(3rem,11vw,8rem); }
.ticks{ list-style:none; padding:0; margin:1rem 0 1.75rem; display:flex; flex-wrap:wrap; gap:.5rem; }
.ticks li{ border:1.5px solid currentColor; padding:.25rem .75rem; font-weight:600; font-size:.98rem; }

/* Forms */
.form{ display:grid; gap:1.1rem; max-width:44rem; }
.form .row2{ display:grid; grid-template-columns:1fr 1fr; gap:1.1rem; }
@media (max-width:620px){ .form .row2{ grid-template-columns:1fr; } }
.field label{ display:block; font-weight:600; margin-bottom:.35rem; }
.field .opt{ font-weight:400; opacity:.7; }
.field input,.field select,.field textarea{ width:100%; font:inherit; font-size:1.05rem; color:inherit; background:transparent; border:2px solid currentColor; border-radius:0; padding:.75rem .85rem; min-height:50px; }
.s-cream .field input,.s-cream .field select,.s-cream .field textarea{ background:rgba(255,255,255,.55); }
.field select{ appearance:none; -webkit-appearance:none; background-image:linear-gradient(45deg,transparent 50%,currentColor 50%),linear-gradient(135deg,currentColor 50%,transparent 50%); background-position:calc(100% - 20px) 55%,calc(100% - 14px) 55%; background-size:6px 6px; background-repeat:no-repeat; padding-right:2.5rem; }
.s-black .field select option,.s-deep .field select option{ color:#000; }
.field textarea{ min-height:9rem; resize:vertical; }
.hp{ position:absolute; left:-9999px; }
.form-note{ font-size:.95rem; }
.form-msg{ border:2px solid currentColor; padding:1rem 1.25rem; font-weight:600; }
.signup{ display:flex; gap:.6rem; flex-wrap:wrap; max-width:34rem; }
.signup input{ flex:1 1 14rem; font:inherit; font-size:1.05rem; min-height:52px; padding:.7rem .9rem; border:2px solid currentColor; background:transparent; color:inherit; border-radius:0; }
.signup .btn{ min-height:52px; }

/* EPK bits */
.credits{ list-style:none; margin:0; padding:0; }
.credits li{ font-family:var(--display); font-weight:700; font-size:clamp(1.6rem,4.2vw,2.8rem); line-height:1.05; padding:1rem 0; border-top:1px solid var(--line-dark); }
.credits li:last-child{ border-bottom:1px solid var(--line-dark); }
.tracks{ list-style:none; margin:0 0 1.25rem; padding:0; }
.tracks li{ display:grid; grid-template-columns:1fr auto auto; gap:1rem; align-items:center; padding:.9rem 0; border-top:1px solid var(--line-dark); }
.tracks li:last-child{ border-bottom:1px solid var(--line-dark); }
.tracks .t{ font-weight:600; font-size:1.15rem; } .tracks .y{ opacity:.7; font-variant-numeric:tabular-nums; }
@media (max-width:480px){ .tracks li{ grid-template-columns:1fr auto; } .tracks .y{ display:none; } }
.photos{ display:grid; grid-template-columns:repeat(6,1fr); gap:1.25rem; }
.photos figure{ margin:0; }
.photos img{ width:100%; object-fit:cover; background:#d8cfb8; }
.photos .p1{ grid-column:span 6 } .photos .p1 img{ aspect-ratio:16/10; object-position:50% 40%; }
.photos .p2,.photos .p3,.photos .p4,.photos .p5{ grid-column:span 3 }
.photos .p2 img,.photos .p3 img{ aspect-ratio:1 } .photos .p4 img,.photos .p5 img{ aspect-ratio:3/2 }
.photos figcaption{ display:flex; justify-content:space-between; align-items:center; gap:1rem; padding-top:.7rem; font-weight:600; }
.photos .px{ display:block; font-weight:400; font-size:.9rem; opacity:.7; }
@media (max-width:700px){ .photos .p2,.photos .p3,.photos .p4,.photos .p5{ grid-column:span 6 } }
.assets{ display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1.25rem; }
.assets figure{ margin:0; display:flex; flex-direction:column; }
.assets .well{ flex:1; display:grid; place-items:center; padding:1.5rem; background:var(--deep); min-height:220px; }
.assets .well.cream{ background:var(--cream); }
.assets figcaption{ display:flex; justify-content:space-between; align-items:center; gap:.75rem; padding-top:.7rem; font-weight:600; }
@media (max-width:800px){ .assets{ grid-template-columns:1fr; } }
.rider{ border:2px solid currentColor; padding:1.5rem 1.75rem; }
.rider ul{ margin:1rem 0 1.25rem; padding-left:1.1rem; }
.big-mail{ display:inline-block; font-family:var(--display); font-weight:900; font-size:clamp(1.8rem,5vw,3.6rem); line-height:1; text-decoration:none; border-bottom:4px solid var(--green); padding-bottom:.2rem; overflow-wrap:anywhere; }
.big-mail:hover{ border-color:var(--ink); }
.sign-off{ font-family:var(--display); font-weight:900; line-height:.9; margin-top:3rem; }
.sign-off .a{ display:block; font-size:clamp(3rem,10vw,7rem); }
.sign-off .b{ display:block; font-size:clamp(1.6rem,4.4vw,3rem); margin-top:.5rem; color:var(--green); }
.bio-text{ max-width:40rem; font-size:1.18rem; line-height:1.65; }
.bio-text p:first-child{ font-size:1.5rem; line-height:1.35; font-weight:600; }

/* Release page */
.rel{ display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:clamp(1.5rem,5vw,4rem); align-items:start; }
.rel h1{ font-size:clamp(3rem,9vw,6.5rem); }
.rel dl{ display:grid; grid-template-columns:auto 1fr; gap:.35rem 1.5rem; margin:1.5rem 0 2rem; }
.rel dt{ font-family:var(--display); font-weight:700; letter-spacing:.06em; opacity:.7; }
.rel dd{ margin:0; font-weight:600; }
@media (max-width:760px){ .rel{ grid-template-columns:1fr; } }
.crumb{ font-weight:600; margin-bottom:1.5rem; display:inline-block; }

/* Footer: just the menu */
.site-footer{ background:var(--black); border-top:1px solid rgba(251,245,230,.12); padding:clamp(2.5rem,6vw,4rem) var(--gutter) 1.5rem; }
.foot-links{ list-style:none; margin:0 auto; padding:0; max-width:84rem; display:flex; flex-wrap:wrap; justify-content:center; gap:.25rem clamp(1.25rem,3vw,2.5rem); }
.foot-links a{ font-family:var(--display); font-weight:900; font-size:clamp(1.3rem,2.4vw,1.7rem); letter-spacing:.04em; text-decoration:none; display:inline-block; min-height:44px; line-height:44px; }
.foot-links a:hover,.foot-links a[aria-current="page"]{ color:var(--pale); }
.legal{ max-width:84rem; margin:2rem auto 0; padding-top:1rem; border-top:1px solid rgba(251,245,230,.08); color:var(--muted-dark); font-size:.9rem; display:flex; justify-content:space-between; align-items:center; gap:.5rem 1.5rem; flex-wrap:wrap; }
.legal a{ color:inherit; }
.legal .socials .icon-link svg{ width:20px; height:20px; }
@media (max-width:600px){ .foot-links{ flex-direction:column; align-items:center; gap:0; } .legal{ justify-content:center; text-align:center; } }

.toast{ position:fixed; left:50%; bottom:calc(1.25rem + env(safe-area-inset-bottom,0px)); transform:translateX(-50%); background:var(--ink); color:#000; padding:.75rem 1.1rem; font-weight:600; opacity:0; pointer-events:none; transition:opacity .2s; z-index:80; max-width:calc(100% - 2rem); }
.toast.show{ opacity:1; }
.center{ text-align:center; }
.mt{ margin-top:clamp(1.5rem,4vw,2.5rem); }
.char{ width:min(340px,70vw); margin:0 auto; filter:drop-shadow(0 20px 30px rgba(0,0,0,.45)); }

/* Five From clips */
.clips{ display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:1rem; }
.clip{ margin:0; }
.clip-btn{ position:relative; display:block; width:100%; aspect-ratio:1; padding:0; border:0; background:#000; cursor:pointer; overflow:hidden; color:var(--ink); }
.clip-btn img,.clip-btn video{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
.clip-btn video{ opacity:0; transition:opacity .2s; }
.clip-btn.playing video{ opacity:1; }
.clip-play{ position:absolute; left:.6rem; bottom:.6rem; width:44px; height:44px; border-radius:50%; background:rgba(0,0,0,.65); display:grid; place-items:center; }
.clip-play svg{ width:18px; height:18px; }
.clip-btn.playing .clip-play svg{ display:none; }
.clip-btn.playing .clip-play::before{ content:""; width:14px; height:16px; border-left:5px solid currentColor; border-right:5px solid currentColor; }
.clip figcaption{ padding-top:.6rem; line-height:1.25; }
.clip .ca{ display:block; font-family:var(--display); font-weight:700; font-size:1.3rem; }
.clip .ct{ display:block; font-size:.95rem; opacity:.8; }
@media (max-width:900px){ .clips{ grid-template-columns:repeat(2,minmax(0,1fr)); } .clip:first-child{ grid-column:span 2; } }
.clip .cl{ display:block; font-size:.82rem; letter-spacing:.06em; text-transform:uppercase; opacity:.6; margin-top:.15rem; }
.tlinks{ display:flex; flex-wrap:wrap; gap:.35rem; margin-top:.55rem; }
.tlinks a{ font-family:var(--display); font-weight:700; font-size:1rem; letter-spacing:.03em; text-decoration:none; border:1.5px solid currentColor; padding:.3rem .55rem; min-height:36px; display:inline-flex; align-items:center; }
.tlinks a:hover{ background:var(--ink); color:#000; border-color:var(--ink); }

@media (max-width:600px){ .grid{ grid-template-columns:repeat(2,minmax(0,1fr)); gap:1rem .8rem; } .tile .t{ font-size:1.2rem; } }

.pair{ display:grid; grid-template-columns:1fr 1fr; }
.pair img{ width:100%; height:100%; max-height:85vh; object-fit:cover; }
@media (max-width:700px){ .pair{ grid-template-columns:1fr; } .pair img{ height:auto; max-height:none; } }

.bio-grid{ display:grid; grid-template-columns:minmax(0,1fr) minmax(0,420px); gap:clamp(2rem,5vw,4rem); align-items:start; }
.bio-photo{ margin:0; position:sticky; top:calc(var(--bar) + 1.5rem); }
.bio-photo img{ width:100%; }
.bio-photo figcaption{ display:flex; justify-content:space-between; align-items:center; gap:1rem; padding-top:.7rem; font-weight:600; }
@media (max-width:900px){ .bio-grid{ grid-template-columns:1fr; } .bio-photo{ position:static; } }

.pair figure{ margin:0; position:relative; }
.pair figcaption{ position:absolute; left:0; bottom:0; padding:.6rem 1rem; background:rgba(0,0,0,.72); font-family:var(--display); font-weight:700; font-size:clamp(1.1rem,2vw,1.4rem); letter-spacing:.03em; }

.photos .lead{ grid-column:span 6 } .photos .lead img{ aspect-ratio:16/9; object-position:50% 45%; }
.photos .sq{ grid-column:span 3 } .photos .sq img{ aspect-ratio:1; object-position:50% 35%; }
@media (max-width:700px){ .photos .sq{ grid-column:span 6 } }

.pair.trio{ grid-template-columns:repeat(3,1fr); }
.pair.trio img{ aspect-ratio:3/4; height:auto; max-height:none; }
@media (max-width:700px){ .pair.trio{ grid-template-columns:1fr; } }
.photos .sq:nth-child(even):last-child{ grid-column:span 6 } .photos .sq:nth-child(even):last-child img{ aspect-ratio:16/9; }

.rig{ list-style:none; margin:0; padding:0; display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,170px),1fr)); gap:0 1.75rem; }
.rig li{ display:grid; grid-template-columns:auto 1fr; column-gap:.6rem; align-items:baseline; padding:.9rem 0; border-top:1px solid var(--line-dark); }
.rig .q{ font-family:var(--display); font-weight:900; font-size:1.5rem; color:var(--pale); }
.rig .i{ font-family:var(--display); font-weight:900; font-size:clamp(1.5rem,2.6vw,2rem); line-height:1; }
.rig .n{ grid-column:2; font-size:.95rem; opacity:.7; margin-top:.2rem; }

.rig-split .rig{ grid-template-columns:1fr; }
.rig-photo{ margin:0; } .rig-photo img{ width:100%; }

/* Header buttons: cream tiles, filled black icons (as the designers' version), MENU label beside the burger */
.site-header .icon-link{ background:rgba(239,231,211,.92); color:#15150f; border-radius:5px; width:44px; height:44px; }
.site-header .icon-link:hover{ background:var(--ink); }
.site-header .icon-link svg{ width:22px; height:22px; }
.site-header .socials{ gap:.55rem; }
.site-header .menu-open{ width:auto; height:44px; padding:0; gap:.7rem; border-radius:0; background:transparent; color:var(--ink); }
.site-header .menu-open:hover{ background:transparent; }
.site-header .menu-open svg{ box-sizing:content-box; width:24px; height:24px; padding:10px; border-radius:5px; background:rgba(239,231,211,.92); color:var(--green); stroke-width:2.6; }
.site-header .menu-open:hover svg{ background:var(--ink); }
.site-header .menu-open .lbl{ display:inline; font-family:var(--display); font-weight:900; font-size:1.25rem; letter-spacing:.1em; text-shadow:0 1px 6px rgba(0,0,0,.6); }
.site-header.overlay:not(.scrolled) .bar{ filter:none; }
.site-header.overlay:not(.scrolled) .brand{ filter:drop-shadow(0 1px 6px rgba(0,0,0,.55)); }
.menu-panel .menu-close{ background:rgba(239,231,211,.92); color:#15150f; border-radius:5px; width:44px; height:44px; }
@media (max-width:640px){ .site-header .menu-open .lbl{ display:none } }
