:root {
  --ink: #100a10;
  --paper: #eee3d4;
  --cream: #d8c5ad;
  --lime: #c9a56a;
  --purple: #9e3f5a;
  --wine: #2a0e1a;
  --blood: #641d34;
  --mist: #eadfce;
  --line: rgba(201, 165, 106, .32);
  --serif: "Cormorant Garamond", Georgia, serif;
  --display: "Cinzel", Georgia, serif;
  --sans: "DM Sans", Arial, sans-serif;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; background: var(--ink); color: var(--mist); font-family: var(--sans); font-size: 16px; line-height: 1.55; }
img { display: block; max-width: 100%; }
a { color: inherit; }
button { font: inherit; }
.skip-link { position: fixed; top: -5rem; left: 1rem; z-index: 100; padding: .75rem 1rem; background: white; }
.skip-link:focus { top: 1rem; }

.site-header { position: absolute; z-index: 20; top: 0; left: 0; right: 0; display: flex; align-items: center; justify-content: space-between; padding: 1.5rem clamp(1rem, 4vw, 4rem); border-bottom: 1px solid rgba(201,165,106,.22); color: #fff; }
.brand { color: inherit; font-family: var(--display); font-size: 1.8rem; font-weight: 600; letter-spacing: -.04em; text-decoration: none; }
.brand span { color: var(--lime); }
nav { display: flex; align-items: center; gap: clamp(1rem, 3vw, 2.6rem); }
nav a { color: inherit; font-family: var(--display); font-size: .67rem; font-weight: 600; letter-spacing: .12em; text-decoration: none; text-transform: uppercase; }
nav a:not(.nav-cta):hover { color: var(--lime); }
.nav-cta { border: 1px solid rgba(201,165,106,.75); padding: .7rem 1rem; }
.nav-cta:hover { background: var(--blood); border-color: var(--lime); color: #fff; }
.nav-toggle { display: none; border: 0; background: transparent; color: white; font-weight: 600; text-transform: uppercase; }
.language-switcher { position: absolute; top: 1.45rem; left: clamp(4.5rem, 9vw, 8rem); z-index: 80; display: flex; gap: .25rem; padding: .3rem; border: 1px solid rgba(201,165,106,.5); border-radius: 999px; background: rgba(16,10,16,.9); box-shadow: 0 .5rem 1.5rem rgba(0,0,0,.3); }
.language-switcher a { min-width: 2.2rem; padding: .35rem .5rem; border-radius: 999px; color: var(--paper); font-family: var(--sans); font-size: .64rem; font-weight: 600; letter-spacing: .08em; text-align: center; text-decoration: none; }
.language-switcher a:hover, .language-switcher a[aria-current="true"] { background: var(--blood); color: #fff; }

.hero { position: relative; min-height: 96svh; display: grid; align-items: end; overflow: hidden; background: var(--ink); color: #fff; }
.hero-photo, .hero-shade { position: absolute; inset: 0; }
.hero-photo img { width: 100%; height: 100%; object-fit: cover; object-position: 52% 43%; filter: saturate(.58) contrast(1.18) brightness(.72) sepia(.12); }
.hero-shade { background: radial-gradient(circle at 76% 28%, rgba(100,29,52,.08), transparent 34%), linear-gradient(90deg, rgba(11,5,11,.97) 0%, rgba(31,8,20,.72) 44%, rgba(11,5,11,.2) 76%), linear-gradient(0deg, rgba(10,5,10,.8), transparent 52%); }
.hero-copy { position: relative; z-index: 2; width: min(760px, 92vw); padding: 10rem 4vw 7vh; }
.eyebrow, .section-kicker { margin: 0 0 1.5rem; font-family: var(--display); font-size: .65rem; font-weight: 600; letter-spacing: .2em; text-transform: uppercase; }
.hero h1 { margin: 0; font-family: var(--serif); font-size: clamp(4rem, 10.3vw, 10rem); font-weight: 600; line-height: .75; letter-spacing: -.06em; }
.hero h1 em, h2 em { color: var(--lime); font-weight: 500; }
.hero-intro { max-width: 30rem; margin: 2rem 0 0; font-size: clamp(1rem, 1.6vw, 1.3rem); }
.round-link { position: absolute; right: clamp(1rem, 6vw, 7rem); bottom: 9vh; width: 9rem; aspect-ratio: 1; display: grid; place-items: center; padding: 1.5rem; border: 1px solid var(--lime); border-radius: 50%; background: rgba(100,29,52,.88); box-shadow: 0 0 0 .45rem rgba(201,165,106,.08), 0 1rem 3rem rgba(0,0,0,.45); color: #fff; font-family: var(--display); font-size: .66rem; font-weight: 600; letter-spacing: .08em; line-height: 1.25; text-align: center; text-decoration: none; text-transform: uppercase; transform: rotate(-8deg); transition: transform .25s ease, background .25s ease; }
.round-link span { display: block; text-align: center; }
.round-link b { position: absolute; bottom: .8rem; left: 50%; font-size: 1.3rem; transform: translateX(-50%); }
.round-link:hover { background: var(--blood); transform: rotate(0) scale(1.05); }
.photo-note { position: absolute; right: 1.5rem; bottom: 1.2rem; margin: 0; font-size: .62rem; letter-spacing: .14em; text-transform: uppercase; writing-mode: vertical-rl; }

.marquee { overflow: hidden; border-block: 1px solid rgba(201,165,106,.5); background: var(--wine); color: var(--lime); }
.marquee-track { width: max-content; display: flex; align-items: center; gap: 2rem; padding: 1rem 0; animation: slide 22s linear infinite; font-family: var(--serif); font-size: clamp(1.4rem, 3vw, 2.5rem); font-style: italic; }
.marquee-track i { font-family: var(--sans); font-size: .8rem; }
@keyframes slide { to { transform: translateX(-50%); } }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } .marquee-track { animation: none; } }

.section { padding: clamp(5rem, 10vw, 10rem) clamp(1.25rem, 6vw, 6rem); }
.section-kicker { display: flex; gap: .9rem; align-items: center; padding-bottom: 1rem; border-bottom: 1px solid var(--line); color: var(--lime); }
.section-kicker::after { content: "✦"; margin-left: auto; color: var(--lime); font-family: var(--sans); }
.section-kicker span { opacity: .5; }
.story { background-color: #171017; background-image: linear-gradient(rgba(23,16,23,.72), rgba(13,8,13,.86)), radial-gradient(circle at 8% 15%, rgba(100,29,52,.26), transparent 32%), url("assets/images/gothic-floral-wallpaper.png"); background-repeat: no-repeat, no-repeat, repeat; background-size: cover, cover, 720px 720px; }
.story-grid { display: grid; grid-template-columns: 1.2fr 1fr; gap: 8vw; padding: 4rem 0 5rem; }
h2 { margin: 0; font-family: var(--serif); font-size: clamp(3.3rem, 7vw, 7.8rem); font-weight: 600; line-height: .9; letter-spacing: -.055em; }
.story h2 em { color: var(--purple); }
.story-copy { max-width: 34rem; padding-top: 1rem; }
.story-copy .lead { margin-top: 0; font-family: var(--serif); font-size: clamp(1.45rem, 2.3vw, 2.25rem); line-height: 1.2; }
.story-copy p:not(.lead) { color: #bcaeb6; }
.text-link { display: inline-block; margin-top: 1rem; padding-bottom: .25rem; border-bottom: 1px solid; font-size: .78rem; font-weight: 600; letter-spacing: .08em; text-decoration: none; text-transform: uppercase; }
.story-images { display: grid; grid-template-columns: 1.5fr .7fr; gap: clamp(1rem, 3vw, 3rem); align-items: end; }
.story-images figure { margin: 0; border: 1px solid rgba(201,165,106,.3); background: var(--wine); box-shadow: 0 1.5rem 4rem rgba(0,0,0,.28); }
.portrait-card img { width: 100%; aspect-ratio: 1.35; object-fit: cover; }
.tall-card { transform: translateY(11%); }
.tall-card img { width: 100%; aspect-ratio: .72; object-fit: cover; }
.story-images figcaption { padding: .6rem .75rem .7rem; font-size: .65rem; letter-spacing: .12em; text-transform: uppercase; }

.literature { border-block: 1px solid rgba(201,165,106,.28); background-color: #0d080d; background-image: linear-gradient(rgba(13,8,13,.82), rgba(13,8,13,.9)), radial-gradient(circle at 82% 28%, rgba(100,29,52,.3), transparent 36%), url("assets/images/gothic-floral-wallpaper.png"); background-repeat: no-repeat, no-repeat, repeat; background-size: cover, cover, 720px 720px; }
.literature-grid { display: grid; grid-template-columns: .9fr 1.1fr; gap: clamp(3rem, 8vw, 8rem); padding-top: 4rem; }
.literature-title h2 em { color: var(--purple); }
.literature-title .eyebrow { margin-top: 2rem; color: var(--lime); }
.literature-copy { max-width: 42rem; }
.literature-copy > .lead { margin-top: 0; font-family: var(--serif); font-size: clamp(1.55rem, 2.6vw, 2.5rem); line-height: 1.15; }
.literature-copy > p:not(.lead) { color: #c5b8bc; }
.literature-award { position: relative; margin-top: 3rem; padding: clamp(1.5rem, 4vw, 3rem); border: 1px solid rgba(201,165,106,.45); background: rgba(42,14,26,.72); box-shadow: 0 1.5rem 4rem rgba(0,0,0,.25); }
.literature-award::before { content: "✦"; position: absolute; right: 1.25rem; top: 1rem; color: var(--lime); }
.literature-award .award-meta { margin: 0 0 1rem; color: var(--lime); font-family: var(--display); font-size: .62rem; letter-spacing: .16em; text-transform: uppercase; }
.literature-award h3 { margin: 0 0 1rem; font-family: var(--serif); font-size: clamp(2rem, 4vw, 4rem); font-weight: 600; line-height: .95; }
.literature-award > p:not(.award-meta) { color: #c5b8bc; }
.literature-feature-grid { display: grid; grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr); gap: clamp(1.25rem, 3vw, 3rem); align-items: start; margin-top: clamp(3rem, 6vw, 5rem); }
.literature-feature-grid .literature-award { height: 100%; margin-top: 0; }
.literature-collection { background: linear-gradient(135deg, rgba(42,14,26,.9), rgba(13,8,13,.92)); }
.poetry-artwork-gallery { display: grid; grid-template-columns: minmax(0, 1.45fr) minmax(0, .75fr); gap: .75rem; align-items: stretch; margin: 1.75rem 0 .5rem; }
.poetry-artwork-gallery .gallery-item { width: 100%; height: clamp(15rem, 28vw, 24rem); min-height: 0; aspect-ratio: auto; }
.poetry-artwork-gallery .gallery-item.portrait { width: 100%; aspect-ratio: auto; justify-self: stretch; }
.poetry-artwork-gallery .gallery-item img { object-fit: contain; background: #120b11; }
.poetry-artwork-gallery .gallery-item span { max-width: calc(100% - 1.5rem); text-align: left; }
.literature-external-link { margin-left: clamp(0rem, 2vw, 1.5rem); }
.literature-history { margin-top: 3rem; padding-top: 2.5rem; border-top: 1px solid rgba(201,165,106,.35); }
.literature-history h3 { margin: 0 0 1.5rem; color: var(--paper); font-family: var(--serif); font-size: clamp(2.2rem, 4vw, 4rem); font-weight: 600; line-height: 1; }
.literature-history p { color: #c5b8bc; }
.literature-achievements-heading { display: grid; grid-template-columns: .7fr 1.3fr; gap: 2rem; align-items: end; margin-top: clamp(5rem, 10vw, 9rem); padding: 2.5rem 0 3rem; border-top: 1px solid rgba(201,165,106,.32); }
.literature-achievements-heading .eyebrow { margin: 0; color: var(--lime); }
.literature-achievements-heading h3 { margin: 0; font-family: var(--serif); font-size: clamp(2.8rem, 6vw, 6rem); font-weight: 600; line-height: .9; letter-spacing: -.04em; }
.literature-achievements-heading h3 em { color: var(--purple); font-weight: 500; }
.literature-achievements-heading div > p { max-width: 34rem; margin: 1.5rem 0 0; color: #c5b8bc; }
.literature-achievements-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); grid-auto-rows: clamp(16rem, 22vw, 25rem); grid-auto-flow: dense; gap: .75rem; }
.literature-achievements-grid .gallery-item { width: 100%; min-height: 0; }
.literature-achievements-grid .gallery-item.wide { grid-column: span 2; }
.literature-achievements-grid .gallery-item.tall { grid-row: span 2; }
.literature-achievements-grid .gallery-item span { max-width: calc(100% - 1.5rem); text-align: left; }
.literature-videos { margin-top: clamp(5rem, 10vw, 9rem); padding-top: 2.5rem; border-top: 1px solid rgba(201,165,106,.32); }
.theatre { background: radial-gradient(circle at 18% 70%, rgba(158,63,90,.2), transparent 28%), #181018; }
.theatre-grid { display: grid; grid-template-columns: .9fr 1.1fr; gap: clamp(3rem, 8vw, 8rem); align-items: center; padding-top: 4rem; }
.theatre-copy { max-width: 38rem; }
.theatre-copy .eyebrow { color: var(--lime); }
.theatre-copy h2 em { color: var(--purple); }
.theatre-copy .lead { margin: 2.5rem 0 1rem; font-family: var(--serif); font-size: clamp(1.5rem, 2.5vw, 2.35rem); line-height: 1.18; }
.theatre-copy > p:last-child { color: #c5b8bc; }
.theatre-context { margin-top: 2.5rem; padding-top: 2rem; border-top: 1px solid rgba(201,165,106,.35); }
.theatre-context h3 { margin: 0 0 1.25rem; color: var(--paper); font-family: var(--serif); font-size: clamp(2rem, 3.5vw, 3.5rem); font-weight: 600; line-height: 1; }
.theatre-context p { color: #c5b8bc; }
.theatre-photo { width: 100%; aspect-ratio: 4 / 3; }
.theatre-gallery { margin-top: clamp(1.5rem, 4vw, 3rem); }
.theatre-performance { width: 100%; aspect-ratio: 8 / 5; }
.theatre-performance span { max-width: calc(100% - 1.5rem); text-align: left; }
.theatre-photo-heading { display: grid; grid-template-columns: .7fr 1.3fr; gap: 2rem; align-items: end; margin-top: clamp(5rem, 10vw, 9rem); padding: 2.5rem 0 3rem; border-top: 1px solid rgba(201,165,106,.32); }
.theatre-photo-heading .eyebrow { margin: 0; color: var(--lime); }
.theatre-photo-heading h3 { margin: 0; font-family: var(--serif); font-size: clamp(2.8rem, 6vw, 6rem); font-weight: 600; line-height: .9; letter-spacing: -.04em; }
.theatre-photo-heading h3 em { color: var(--purple); font-weight: 500; }
.theatre-memory-gallery { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); grid-auto-rows: clamp(16rem, 27vw, 28rem); grid-auto-flow: dense; gap: .75rem; }
.theatre-memory-gallery .gallery-item { width: 100%; min-height: 0; }
.theatre-memory-gallery .gallery-item.wide { grid-column: span 2; }
.theatre-memory-gallery .gallery-item.tall { grid-row: span 2; }
.theatre-videos { margin-top: clamp(5rem, 10vw, 9rem); padding-top: 2.5rem; border-top: 1px solid rgba(201,165,106,.32); }

.scouting { background-color: var(--wine); background-image: linear-gradient(rgba(42,14,26,.76), rgba(20,8,15,.88)), radial-gradient(circle at 95% 12%, rgba(158,63,90,.2), transparent 28%), url("assets/images/gothic-floral-wallpaper.png"); background-repeat: no-repeat, no-repeat, repeat; background-size: cover, cover, 720px 720px; color: var(--paper); }
.scouting .section-kicker { border-color: rgba(255,255,255,.24); }
.scouting-grid { display: grid; grid-template-columns: 1.05fr .95fr; gap: 8vw; padding: 3.5rem 0 4.5rem; }
.scouting-title h2 em { color: var(--lime); }
.scout-name { display: inline-block; margin: 2rem 0 0; padding: .55rem .8rem; border: 1px solid rgba(255,255,255,.35); border-radius: 999px; font-size: .65rem; font-weight: 600; letter-spacing: .1em; text-transform: uppercase; }
.scouting-copy { max-width: 36rem; padding-top: .75rem; }
.scouting-copy p { color: #c8b8bd; }
.scouting-copy .lead { margin-top: 0; color: var(--paper); font-family: var(--serif); font-size: clamp(1.45rem, 2.3vw, 2.25rem); line-height: 1.2; }
.scout-albums-heading { display: grid; grid-template-columns: 1.2fr .8fr; gap: 1rem 4rem; align-items: end; padding: 2.5rem 0 3rem; border-top: 1px solid rgba(255,255,255,.24); }
.scout-albums-heading .eyebrow { grid-column: 1 / -1; margin: 0; color: var(--lime); }
.scout-albums-heading h3 { margin: 0; font-family: var(--serif); font-size: clamp(2.8rem, 6vw, 6.5rem); font-weight: 400; line-height: .9; letter-spacing: -.04em; }
.scout-albums-heading h3 em { color: var(--lime); font-weight: 400; }
.scout-albums-heading > p:last-child { max-width: 30rem; margin: 0; color: #d2d5ca; }
.scout-albums { display: grid; grid-template-columns: 1fr; gap: 1.5rem; }
.scout-album { min-width: 0; padding: 1rem; border: 1px solid rgba(201,165,106,.38); background: rgba(5,2,6,.24); box-shadow: inset 0 0 3rem rgba(0,0,0,.18); }
.album-header { display: flex; align-items: center; justify-content: space-between; gap: 1rem; margin-bottom: 1rem; }
.album-header h4 { margin: 0; font-family: var(--serif); font-size: clamp(1.35rem, 2.2vw, 2rem); font-weight: 400; }
.album-controls { display: flex; gap: .35rem; }
.album-scroll { display: grid; place-items: center; width: 2.35rem; aspect-ratio: 1; border: 1px solid rgba(201,165,106,.62); border-radius: 50%; background: rgba(16,10,16,.48); color: var(--paper); cursor: pointer; }
.album-scroll:hover, .album-scroll:focus-visible { border-color: var(--lime); color: var(--lime); }
.album-track { display: flex; gap: .75rem; overflow-x: auto; padding-bottom: .6rem; scroll-behavior: smooth; scroll-snap-type: x mandatory; scrollbar-color: rgba(255,255,255,.4) transparent; }
.album-track .gallery-item { flex: 0 0 56%; width: auto; aspect-ratio: 4 / 3; margin: 0; scroll-snap-align: start; }
.camp-gallery-heading { display: grid; grid-template-columns: 1.2fr .8fr; gap: 1rem 4rem; align-items: end; margin-top: clamp(6rem, 10vw, 9rem); padding: 2.5rem 0 3rem; border-top: 1px solid rgba(255,255,255,.24); }
.camp-gallery-heading .eyebrow { grid-column: 1 / -1; margin: 0; color: var(--lime); }
.camp-gallery-heading h3 { margin: 0; font-family: var(--serif); font-size: clamp(2.8rem, 6vw, 6.5rem); font-weight: 400; line-height: .9; letter-spacing: -.04em; }
.camp-gallery-heading h3 em { color: var(--lime); font-weight: 400; }
.camp-gallery-heading > p:last-child { max-width: 30rem; margin: 0; color: #d2d5ca; }
.camp-gallery { display: grid; grid-template-columns: repeat(3, 1fr); grid-auto-rows: 22vw; grid-auto-flow: dense; gap: .75rem; }

.music { background-color: #090609; background-image: linear-gradient(rgba(9,6,9,.74), rgba(9,6,9,.87)), radial-gradient(circle at 80% 18%, rgba(100,29,52,.24), transparent 34%), url("assets/images/gothic-floral-wallpaper.png"); background-repeat: no-repeat, no-repeat, repeat; background-size: cover, cover, 720px 720px; color: var(--paper); }
.section-kicker.light { border-color: rgba(255,255,255,.22); }
.music-heading { display: grid; grid-template-columns: 1.2fr .8fr; gap: 4rem; align-items: end; padding: 3.5rem 0 4rem; }
.music-heading h2 { color: var(--lime); }
.music-heading p { max-width: 29rem; margin: 0; color: #b8b3a6; }
.video-row { display: grid; grid-template-columns: 4rem 1fr 13rem 3rem; gap: 1rem; align-items: center; min-height: 7rem; border-top: 1px solid rgba(201,165,106,.25); text-decoration: none; transition: padding .25s, color .25s, background .25s; }
.video-row:last-child { border-bottom: 1px solid rgba(255,255,255,.2); }
.video-row:hover { padding: 0 1rem; background: rgba(100,29,52,.18); color: var(--lime); }
.video-no, .video-meta { color: #8e897e; font-size: .7rem; letter-spacing: .1em; text-transform: uppercase; }
.video-title { font-family: var(--serif); font-size: clamp(1.5rem, 3vw, 3.3rem); }
.video-play { display: grid; place-items: center; width: 2.8rem; aspect-ratio: 1; border: 1px solid currentColor; border-radius: 50%; font-size: .7rem; }
.video-group { margin-top: clamp(4rem, 8vw, 7rem); }
.video-group-heading { display: grid; grid-template-columns: .7fr 1.3fr; gap: 2rem; align-items: end; padding: 0 0 2rem; }
.video-group-heading .eyebrow { margin: 0; color: var(--lime); }
.video-group-heading h3 { margin: 0; font-family: var(--serif); font-size: clamp(2.4rem, 5vw, 5rem); font-weight: 600; line-height: .95; }

.gallery { background-color: #151016; background-image: linear-gradient(rgba(21,16,22,.72), rgba(13,8,13,.86)), radial-gradient(circle at 12% 35%, rgba(100,29,52,.25), transparent 34%), url("assets/images/gothic-floral-wallpaper.png"); background-repeat: no-repeat, no-repeat, repeat; background-size: cover, cover, 720px 720px; }
.gallery-heading { display: grid; grid-template-columns: 1.2fr .8fr; gap: 4rem; align-items: end; padding: 3.5rem 0 5rem; }
.gallery-heading h2 em { color: var(--purple); }
.gallery-heading p { max-width: 30rem; color: #bcaeb6; }
.gallery-grid { display: grid; grid-template-columns: repeat(3, 1fr); grid-auto-rows: 22vw; gap: .75rem; }
.gallery-item { position: relative; overflow: hidden; padding: 0; border: 1px solid rgba(201,165,106,.28); background: #1b1119; box-shadow: 0 .8rem 2rem rgba(0,0,0,.2); cursor: zoom-in; }
.gallery-item.wide { grid-column: span 2; }
.gallery-item.tall { grid-row: span 2; }
.gallery-item img { width: 100%; height: 100%; object-fit: cover; filter: saturate(.78) contrast(1.08) brightness(.88); transition: transform .5s ease, filter .5s ease; }
.gallery-item:hover img { filter: saturate(.95) contrast(1.08) brightness(.98); transform: scale(1.035); }
.gallery-item span { position: absolute; left: .75rem; bottom: .75rem; padding: .4rem .65rem; border: 1px solid rgba(201,165,106,.58); background: rgba(16,10,16,.88); color: var(--paper); font-family: var(--display); font-size: .58rem; font-weight: 600; letter-spacing: .1em; text-transform: uppercase; }

.closing { position: relative; min-height: 80svh; display: grid; place-items: center; overflow: hidden; color: white; }
.closing > img, .closing-overlay { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.closing > img { filter: saturate(.55) contrast(1.15) brightness(.7); }
.closing-overlay { background: linear-gradient(rgba(16,5,12,.45), rgba(8,4,8,.82)); }
.closing-copy { position: relative; z-index: 2; max-width: 75rem; padding: 3rem 1.25rem; text-align: center; }
.closing-copy p { margin-bottom: 1.8rem; font-size: .72rem; font-weight: 600; letter-spacing: .2em; text-transform: uppercase; }
.closing-copy h2 { margin-bottom: 2.5rem; }
.closing-copy a { display: inline-block; border-bottom: 1px solid; padding-bottom: .3rem; font-size: .78rem; font-weight: 600; letter-spacing: .1em; text-decoration: none; text-transform: uppercase; }

footer { display: grid; grid-template-columns: 1fr 1fr auto; gap: 2rem; align-items: start; padding: 4rem clamp(1.25rem, 6vw, 6rem) 2rem; border-top: 1px solid rgba(201,165,106,.3); background: #080508; color: var(--paper); }
.footer-brand { font-size: 4rem; }
footer p { margin: .6rem 0; color: #a9a498; font-size: .78rem; }
.back-top { margin-top: .8rem; font-size: .72rem; font-weight: 600; letter-spacing: .1em; text-decoration: none; text-transform: uppercase; }
.copyright { grid-column: 1 / -1; padding-top: 2rem; border-top: 1px solid rgba(255,255,255,.15); }

.lightbox { width: min(92vw, 1100px); max-width: none; padding: 0; border: 0; background: transparent; }
.lightbox::backdrop { background: rgba(8,7,5,.9); }
.lightbox img { max-height: 86vh; margin: auto; object-fit: contain; }
.lightbox-close { position: fixed; right: 1.25rem; top: 1rem; border: 0; background: transparent; color: white; font-size: 2.5rem; cursor: pointer; }

@media (max-width: 760px) {
  .site-header { padding-top: 1rem; }
  .language-switcher { top: .85rem; left: 4.25rem; }
  .nav-toggle { display: block; }
  nav { position: absolute; top: 4.5rem; left: 1rem; right: 1rem; display: none; flex-direction: column; align-items: stretch; gap: 0; padding: 1rem; background: var(--paper); color: var(--ink); box-shadow: 0 1rem 3rem rgba(0,0,0,.2); }
  nav.open { display: flex; }
  nav a { padding: .8rem; }
  .hero { min-height: 88svh; }
  .hero-photo img { object-position: 62% 50%; }
  .hero-shade { background: linear-gradient(0deg, rgba(12,11,8,.88), rgba(12,11,8,.02) 80%); }
  .hero-copy { padding: 8rem 1.25rem 5rem; }
  .hero h1 { font-size: clamp(3.7rem, 20vw, 6rem); }
  .hero-intro { max-width: 22rem; }
  .round-link { right: 1.25rem; bottom: 2rem; width: 7.5rem; }
  .section { padding: 5rem 1.25rem; }
  .story-grid, .literature-grid, .theatre-grid, .scouting-grid, .music-heading, .gallery-heading, .scout-albums-heading { grid-template-columns: 1fr; gap: 2rem; padding: 2.5rem 0 3rem; }
  .scout-albums-heading .eyebrow { grid-column: auto; }
  .story-images { grid-template-columns: 1fr .7fr; align-items: start; }
  .tall-card { transform: translateY(15%); }
  .album-track .gallery-item { flex-basis: 86%; }
  .camp-gallery-heading { grid-template-columns: 1fr; gap: 1.5rem; margin-top: 5rem; }
  .camp-gallery-heading .eyebrow { grid-column: auto; }
  .camp-gallery { grid-template-columns: 1fr 1fr; grid-auto-rows: 52vw; }
  .video-row { grid-template-columns: 2rem 1fr 2.8rem; min-height: 6rem; }
  .video-meta { grid-column: 2; margin-top: -.7rem; }
  .video-play { grid-row: 1 / 3; grid-column: 3; }
  .video-group-heading { grid-template-columns: 1fr; gap: .75rem; }
  .theatre-photo-heading { grid-template-columns: 1fr; gap: .75rem; }
  .literature-achievements-heading { grid-template-columns: 1fr; gap: .75rem; }
  .literature-achievements-grid { grid-template-columns: 1fr 1fr; grid-auto-rows: 52vw; }
  .gallery-grid { grid-template-columns: 1fr 1fr; grid-auto-rows: 52vw; }
  .gallery-item.wide { grid-column: span 2; }
  footer { grid-template-columns: 1fr auto; }
  footer > p:not(.copyright) { grid-column: 1; }
  .back-top { grid-row: 1; grid-column: 2; }
}

@media (max-width: 430px) {
  .round-link { position: relative; right: auto; bottom: auto; margin-top: 2rem; }
  .photo-note { display: none; }
  .story-images { grid-template-columns: 1fr; }
  .tall-card { width: 74%; margin-left: auto !important; transform: translateY(-8%); }
  .gallery-grid, .camp-gallery { display: block; }
  .literature-feature-grid { grid-template-columns: 1fr; }
  .theatre-memory-gallery { display: block; }
  .literature-achievements-grid { display: block; }
  .theatre-memory-gallery .gallery-item { aspect-ratio: 1.25; margin-bottom: .75rem; }
  .theatre-memory-gallery .gallery-item.tall { aspect-ratio: .78; }
  .literature-achievements-grid .gallery-item { aspect-ratio: 1.25; margin-bottom: .75rem; }
  .literature-achievements-grid .gallery-item.tall { aspect-ratio: .78; }
  .gallery-item { width: 100%; aspect-ratio: 1.25; margin-bottom: .75rem; }
  .gallery-item.tall { aspect-ratio: .85; }
}

/* Press article */
.article-page { background: #f7f3ea; color: var(--ink); }
.article-header { position: static; color: var(--ink); border-bottom: 1px solid var(--line); }
.article-header .brand span { color: var(--purple); }
.article-header nav { margin-left: auto; }
.article-header nav a { color: var(--ink); }
.article-shell { width: min(100% - 2.5rem, 1120px); margin: 0 auto; padding: clamp(4rem, 9vw, 8rem) 0 7rem; }
.article-topline { display: flex; justify-content: space-between; gap: 2rem; padding-bottom: 1rem; border-bottom: 1px solid var(--line); font-size: .68rem; font-weight: 600; letter-spacing: .15em; text-transform: uppercase; }
.article-hero { display: grid; grid-template-columns: 1.35fr .65fr; gap: clamp(2rem, 8vw, 7rem); padding: 3.5rem 0 4rem; }
.article-hero h1 { margin: 0; font-family: var(--serif); font-size: clamp(3.5rem, 8vw, 8.4rem); font-weight: 600; line-height: .88; letter-spacing: -.06em; }
.article-hero h1 em { color: var(--purple); font-weight: 500; }
.article-deck { align-self: end; margin: 0 0 .8rem; font-family: var(--serif); font-size: clamp(1.25rem, 2.2vw, 2rem); line-height: 1.25; }
.article-note { margin: 0 0 4rem; padding: 1rem 1.25rem; border-left: 4px solid var(--lime); background: #ece6d9; color: #595348; font-size: .85rem; }
.article-body { display: grid; grid-template-columns: minmax(0, 1fr) 17rem; gap: clamp(3rem, 8vw, 7rem); align-items: start; }
.article-copy { max-width: 48rem; }
.article-copy h2 { margin: 3.5rem 0 1rem; font-family: var(--sans); font-size: .75rem; line-height: 1.3; letter-spacing: .16em; text-transform: uppercase; }
.article-copy h2:first-child { margin-top: 0; }
.article-copy p { margin: 0 0 1.15rem; color: #3e3a32; font-family: var(--serif); font-size: clamp(1.08rem, 1.5vw, 1.3rem); line-height: 1.65; }
.article-copy .article-author { margin-top: 3rem; font-family: var(--sans); font-size: .76rem; font-weight: 600; letter-spacing: .12em; text-transform: uppercase; }
.article-aside { position: sticky; top: 2rem; padding: 1.4rem; background: var(--ink); color: var(--paper); }
.article-aside .aside-label { margin: 0 0 1rem; color: var(--lime); font-size: .65rem; font-weight: 600; letter-spacing: .16em; text-transform: uppercase; }
.article-aside strong { display: block; margin-bottom: .75rem; font-family: var(--serif); font-size: 1.6rem; line-height: 1.1; }
.article-aside p { margin: 0 0 1rem; color: #bcb6a9; font-size: .8rem; }
.article-aside a { font-size: .68rem; font-weight: 600; letter-spacing: .1em; text-transform: uppercase; }
.article-footer { display: flex; justify-content: space-between; align-items: center; gap: 1rem; margin-top: 5rem; padding-top: 1.5rem; border-top: 1px solid var(--line); font-size: .7rem; letter-spacing: .1em; text-transform: uppercase; }
.article-footer a { font-weight: 600; text-decoration: none; }

@media (max-width: 760px) {
  .article-header .nav-toggle { display: none; }
  .article-header nav { position: static; display: flex; flex-direction: row; width: auto; padding: 0; background: none; box-shadow: none; }
  .article-hero, .article-body { grid-template-columns: 1fr; }
  .article-hero { gap: 2rem; }
  .article-aside { position: static; }
}

/* Poetry collection */
.poetry-page { min-height: 100vh; background-color: #0d080d; background-image: linear-gradient(rgba(13,8,13,.84), rgba(13,8,13,.93)), radial-gradient(circle at 82% 8%, rgba(100,29,52,.34), transparent 30%), url("assets/images/gothic-floral-wallpaper.png"); background-repeat: no-repeat, no-repeat, repeat; background-size: cover, cover, 720px 720px; color: var(--mist); }
.poetry-header { position: static; background: rgba(8,5,8,.75); }
.poetry-header nav { margin-left: auto; }
.poetry-shell { width: min(100% - 2.5rem, 1080px); margin: 0 auto; padding: clamp(3rem, 8vw, 7rem) 0 5rem; }
.poetry-topline { display: flex; justify-content: space-between; gap: 2rem; padding-bottom: 1rem; border-bottom: 1px solid var(--line); color: var(--lime); font-family: var(--display); font-size: .65rem; font-weight: 600; letter-spacing: .16em; text-transform: uppercase; }
.poetry-hero { position: relative; padding: clamp(4rem, 10vw, 8rem) 0 clamp(4rem, 8vw, 7rem); }
.poetry-hero::after { content: "✦"; position: absolute; right: 4%; top: 18%; color: var(--lime); font-size: clamp(2rem, 5vw, 5rem); opacity: .5; }
.poetry-hero .eyebrow { color: var(--lime); }
.poetry-hero h1 { margin: 0; font-family: var(--serif); font-size: clamp(5rem, 14vw, 11rem); font-weight: 600; line-height: .72; letter-spacing: -.065em; }
.poetry-hero h1 em { color: var(--purple); font-weight: 500; }
.poetry-original-title { margin: 2.5rem 0 0; color: #bdaeb5; font-family: var(--display); font-size: .7rem; letter-spacing: .12em; text-transform: uppercase; }
.poetry-deck { max-width: 38rem; margin: 2rem 0 0 auto; font-family: var(--serif); font-size: clamp(1.4rem, 2.6vw, 2.4rem); line-height: 1.2; }
.poetry-note { margin: 0 0 clamp(5rem, 10vw, 9rem); padding: 1rem 1.25rem; border-left: 3px solid var(--lime); background: rgba(42,14,26,.62); color: #c9bbc1; font-size: .84rem; }
.poem-list { max-width: 850px; margin: 0 auto; }
.poem { display: grid; grid-template-columns: 4rem minmax(10rem, .7fr) minmax(18rem, 1fr); gap: clamp(1.5rem, 5vw, 4rem); padding: clamp(4rem, 8vw, 7rem) 0; border-top: 1px solid var(--line); }
.poem:last-child { border-bottom: 1px solid var(--line); }
.poem-number { margin: .55rem 0 0; color: var(--lime); font-family: var(--display); font-size: .62rem; letter-spacing: .15em; }
.poem h2 { margin: 0; color: var(--paper); font-family: var(--serif); font-size: clamp(2.6rem, 5vw, 4.8rem); font-weight: 500; line-height: .92; letter-spacing: -.04em; }
.poem-text p { margin: 0 0 2rem; color: #d6cbd0; font-family: var(--serif); font-size: clamp(1.25rem, 2vw, 1.65rem); line-height: 1.6; }
.poem-text p:last-child { margin-bottom: 0; }
.poetry-footer { display: flex; justify-content: space-between; gap: 1rem; margin-top: 5rem; color: #aaa0a5; font-family: var(--display); font-size: .65rem; letter-spacing: .12em; text-transform: uppercase; }
.poetry-footer a { color: var(--lime); text-decoration: none; }

@media (max-width: 760px) {
  .poetry-header .nav-toggle { display: none; }
  .poetry-header nav { position: static; display: flex; flex-direction: row; width: auto; padding: 0; background: none; box-shadow: none; }
  .poetry-hero::after { top: 10%; }
  .poetry-deck { margin-left: 0; }
  .poem { grid-template-columns: 2.5rem 1fr; }
  .poem h2 { grid-column: 2; }
  .poem-text { grid-column: 2; }
}

@media (max-width: 430px) {
  .poetry-topline { align-items: flex-start; flex-direction: column; gap: .5rem; }
  .poetry-hero h1 { font-size: clamp(4.3rem, 23vw, 6.5rem); }
  .poem { grid-template-columns: 1fr; gap: 1rem; }
  .poem h2, .poem-text { grid-column: 1; }
  .poetry-footer { flex-direction: column; }
}

/* Chapter pages and home directory */
.chapter-header { position: sticky; top: 0; background: rgba(8, 5, 8, .96); backdrop-filter: blur(14px); }
.chapter-header nav a[aria-current="page"] { color: var(--lime); }
.chapter-page main > .section { min-height: calc(100svh - 5rem); }
.chapter-page .story { padding-top: clamp(6rem, 10vw, 9rem); }

.home-chapters { background-color: #0d080d; background-image: linear-gradient(rgba(13,8,13,.72), rgba(13,8,13,.86)), radial-gradient(circle at 84% 15%, rgba(100,29,52,.3), transparent 36%), url("assets/images/gothic-floral-wallpaper.png"); background-repeat: no-repeat, no-repeat, repeat; background-size: cover, cover, 720px 720px; }
.chapter-intro { display: grid; grid-template-columns: 1.1fr .9fr; gap: clamp(2rem, 8vw, 8rem); align-items: end; padding: 3.5rem 0 5rem; }
.chapter-intro h2 em { color: var(--purple); }
.chapter-intro p { max-width: 32rem; margin: 0; color: #c5b8bc; font-family: var(--serif); font-size: clamp(1.25rem, 2.2vw, 2rem); line-height: 1.25; }
.chapter-card-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; }
.chapter-card { position: relative; min-height: 19rem; padding: clamp(1.5rem, 4vw, 3rem); overflow: hidden; border: 1px solid rgba(201,165,106,.38); background: linear-gradient(145deg, rgba(42,14,26,.82), rgba(13,8,13,.94)); color: var(--paper); text-decoration: none; transition: border-color .25s ease, transform .25s ease, background .25s ease; }
.chapter-card::after { content: "✦"; position: absolute; right: 1.5rem; top: 1.2rem; color: var(--lime); opacity: .7; }
.chapter-card:hover { border-color: var(--lime); background: linear-gradient(145deg, rgba(100,29,52,.72), rgba(13,8,13,.96)); transform: translateY(-.3rem); }
.chapter-card > span { color: var(--lime); font-family: var(--display); font-size: .63rem; letter-spacing: .16em; }
.chapter-card h2 { margin: 3.5rem 0 1rem; font-size: clamp(2.8rem, 5vw, 5.5rem); }
.chapter-card p { max-width: 22rem; color: #c5b8bc; }
.chapter-card b { position: absolute; right: 1.5rem; bottom: 1.25rem; display: grid; place-items: center; width: 2.8rem; aspect-ratio: 1; border: 1px solid var(--lime); border-radius: 50%; color: var(--lime); font-size: 1rem; }

@media (max-width: 900px) {
  .chapter-header nav { gap: 1rem; }
  .chapter-header nav a { font-size: .58rem; }
}

@media (max-width: 760px) {
  .chapter-header { position: sticky; }
  .chapter-intro { grid-template-columns: 1fr; gap: 2rem; padding: 2.5rem 0 3rem; }
  .chapter-card-grid { grid-template-columns: 1fr; }
  .chapter-card { min-height: 16rem; }
}
