
:root { --ink:#101021; --cream:#fff8e8; --gold:#ffbf2f; --pink:#ff4d7d; --orange:#ff6b27; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; background:var(--cream); color:var(--ink); font-family:var(--font-sans), sans-serif; }
a { color:inherit; text-decoration:none; }
.shell { width:min(1180px, calc(100% - 48px)); margin-inline:auto; }

.hero { min-height:100svh; position:relative; overflow:hidden; color:white; background:radial-gradient(circle at 79% 35%, rgba(94,57,224,.75) 0, rgba(94,57,224,0) 34%),linear-gradient(125deg, #080817 0%, #11112a 52%, #24105f 100%); }
.hero-noise { position:absolute; inset:0; opacity:.13; pointer-events:none; background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.95' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.45'/%3E%3C/svg%3E"); }
.nav { height:94px; display:flex; align-items:center; justify-content:space-between; position:relative; z-index:20; border-bottom:1px solid rgba(255,255,255,.16); }
.brand { display:flex; align-items:center; gap:12px; }
.brand img { width:58px; height:58px; object-fit:contain; border:0; border-radius:0; filter:drop-shadow(0 5px 12px rgba(255,191,47,.22)); }
.brand span { display:grid; line-height:1; }
.brand strong { font-family:var(--font-display),serif; font-size:25px; font-style:italic; letter-spacing:-.08em; }
.brand strong em { color:var(--gold); font-style:italic; }
.brand small { margin-top:6px; font-size:8px; letter-spacing:.43em; color:#d2cbdc; }
.nav-links { display:flex; gap:34px; font-size:13px; color:#d8d4e3; }
.nav-links a { transition:.25s ease; }
.nav-links a:hover { color:var(--gold); transform:translateY(-2px); }
.nav-cta { display:flex; align-items:center; gap:14px; padding:7px 8px 7px 19px; border:1px solid rgba(255,255,255,.45); border-radius:99px; text-transform:uppercase; font-size:10px; letter-spacing:.12em; }
.nav-cta span { display:grid; place-items:center; width:34px; height:34px; border-radius:50%; color:var(--ink); background:var(--gold); font-size:16px; }

.hero-grid { position:relative; z-index:3; min-height:calc(100svh - 136px); display:grid; grid-template-columns:1.03fr .97fr; align-items:center; padding-top:30px; padding-bottom:88px; }
.hero-copy { position:relative; z-index:5; padding-top:10px; }
.eyebrow { display:flex; align-items:center; gap:12px; margin-bottom:24px; color:#f2a9c1; font-size:11px; font-weight:700; letter-spacing:.18em; }
.eyebrow span { width:36px; height:2px; background:var(--pink); }
h1 { margin:0; max-width:660px; font-family:var(--font-display), serif; font-size:clamp(64px, 7.2vw, 112px); font-weight:600; line-height:.79; letter-spacing:-.065em; }
h1 span { position:relative; z-index:1; color:var(--gold); font-style:italic; }
h1 span::after { content:""; position:absolute; left:-.04em; right:-.08em; bottom:.04em; height:.12em; background:var(--pink); z-index:-1; transform:rotate(-2deg); border-radius:50%; }
h1 i { font-weight:400; color:#ffd7df; }
.hero-intro { width:min(480px, 90%); margin:30px 0 0 6px; color:#cac4db; font-size:16px; line-height:1.7; }
.hero-actions { display:flex; align-items:center; gap:26px; margin-top:34px; }
.button { display:inline-flex; align-items:center; border-radius:99px; text-transform:uppercase; font-size:11px; font-weight:800; letter-spacing:.12em; }
.button-primary { gap:18px; padding:8px 8px 8px 22px; background:var(--orange); box-shadow:0 12px 36px rgba(255,79,31,.28); }
.button-primary b { display:grid; place-items:center; width:40px; height:40px; border-radius:50%; background:white; color:var(--ink); font-size:18px; }
.text-link { display:flex; align-items:center; gap:10px; font-size:12px; font-weight:700; }
.play { display:grid; place-items:center; width:38px; height:38px; border:1px solid rgba(255,255,255,.5); border-radius:50%; font-size:9px; padding-left:2px; }

.hero-art { position:relative; align-self:stretch; min-height:680px; }
.sun-disc { position:absolute; width:530px; height:530px; right:-35px; top:8%; border-radius:50%; background:linear-gradient(135deg, #ffb922, #ff7942 55%, #ff4d8c); box-shadow:0 0 90px rgba(255,79,123,.35); animation:breathe 6s ease-in-out infinite; }
.sun-disc::before { content:""; position:absolute; inset:24px; border:1px solid rgba(255,255,255,.42); border-radius:50%; }
.hero-person { position:absolute; z-index:2; width:min(585px, 49vw); height:auto; bottom:-2px; right:-56px; filter:drop-shadow(0 30px 25px rgba(0,0,0,.3)); }
.scribble { position:absolute; z-index:1; top:18%; right:0; color:rgba(255,255,255,.32); font-weight:900; font-size:54px; line-height:.78; letter-spacing:-.08em; transform:rotate(8deg); }
.quote-card { position:absolute; z-index:5; left:-46px; bottom:72px; width:260px; padding:24px 25px 20px; color:var(--ink); background:#fffaf0; transform:rotate(-3deg); box-shadow:14px 18px 0 rgba(15,15,34,.28); animation:float 5s ease-in-out infinite; }
.quote-card::before { content:""; position:absolute; left:18px; right:18px; top:-8px; height:16px; background:rgba(255,191,47,.72); transform:rotate(2deg); }
.quote-card p { margin:0; font-family:var(--font-display),serif; font-size:23px; line-height:1.12; }
.quote-card small { display:block; margin-top:16px; font-size:8px; font-weight:800; letter-spacing:.2em; }
.quote-mark { position:absolute; right:18px; top:2px; color:var(--pink); font-family:serif; font-size:65px; }
.impact-stamp { position:absolute; z-index:6; right:-10px; top:17%; width:130px; height:130px; display:grid; place-content:center; text-align:center; border-radius:50%; background:#18182b; border:2px dashed var(--gold); box-shadow:0 0 0 7px #18182b; transform:rotate(8deg); }
.impact-stamp strong { color:var(--gold); font-size:22px; }
.impact-stamp span { margin-top:4px; color:#ded7eb; font-size:9px; line-height:1.2; text-transform:uppercase; letter-spacing:.12em; }
.vertical-note { position:absolute; z-index:4; left:20px; top:47%; margin:0; color:#aaa4bf; font-size:8px; letter-spacing:.32em; writing-mode:vertical-rl; transform:rotate(180deg); }
.orb { position:absolute; border-radius:50%; filter:blur(3px); }
.orb-one { width:56px; height:56px; top:18%; left:4%; background:var(--pink); opacity:.55; }
.orb-two { width:26px; height:26px; bottom:24%; left:49%; background:var(--gold); animation:float 4s ease-in-out infinite reverse; }
.hero-ticker { position:absolute; z-index:10; left:-2%; right:-2%; bottom:-2px; height:51px; display:flex; align-items:center; overflow:hidden; color:var(--ink); background:var(--gold); transform:rotate(-.7deg); border-block:2px solid var(--ink); white-space:nowrap; }
.hero-ticker div { font-size:13px; font-weight:900; letter-spacing:.14em; animation:marquee 24s linear infinite; }
.hero-ticker span { margin:0 23px; color:var(--pink); }

.preview-anchor { min-height:45vh; padding:110px max(24px, calc((100% - 1180px)/2)); color:var(--ink); background:var(--cream); }
.preview-anchor p { font-size:11px; font-weight:800; letter-spacing:.23em; color:#7a7080; }
.preview-anchor h2 { margin:12px 0; font-family:var(--font-display),serif; font-size:clamp(48px,7vw,94px); line-height:.9; letter-spacing:-.055em; }
.preview-anchor em { color:var(--pink); font-weight:400; }

@keyframes breathe { 50% { transform:scale(1.035); box-shadow:0 0 130px rgba(255,79,123,.5); } }
@keyframes float { 50% { transform:translateY(-12px) rotate(-1deg); } }
@keyframes marquee { to { transform:translateX(-50%); } }

@media (max-width:900px) {
  .nav-links { display:none; }
  .hero-grid { grid-template-columns:1fr; padding-top:58px; }
  .hero-copy { text-align:center; }
  .eyebrow, .hero-actions { justify-content:center; }
  .hero-intro { margin-inline:auto; }
  .hero-art { min-height:630px; margin-top:-20px; }
  .sun-disc { right:50%; transform:translateX(50%); top:10%; width:490px; height:490px; }
  .hero-person { width:min(560px,86vw); right:50%; transform:translateX(50%); }
  .quote-card { left:4%; }
  .impact-stamp { right:4%; }
}
@media (max-width:560px) {
  .shell { width:min(100% - 28px, 1180px); }
  .nav { height:78px; }
  .brand img { width:43px; height:43px; }
  .brand strong { font-size:19px; }
  .nav-cta { padding:0; border:0; font-size:0; }
  .nav-cta span { width:42px; height:42px; }
  .hero-grid { padding-top:40px; padding-bottom:80px; }
  h1 { font-size:clamp(56px,19vw,82px); }
  .hero-intro { font-size:14px; }
  .hero-actions { flex-wrap:wrap; gap:16px; }
  .hero-art { min-height:500px; margin-top:0; }
  .sun-disc { width:390px; height:390px; }
  .hero-person { width:118vw; max-width:520px; }
  .quote-card { bottom:36px; left:0; width:212px; padding:20px; }
  .quote-card p { font-size:18px; }
  .impact-stamp { width:105px; height:105px; right:1%; top:13%; }
  .scribble { font-size:39px; right:2%; }
  .vertical-note, .orb-one { display:none; }
}
@media (prefers-reduced-motion:reduce) { html{scroll-behavior:auto} *,*::before,*::after{animation:none!important;transition:none!important} }

button, input, textarea, select { font:inherit; }
button { color:inherit; }
.menu-toggle { display:none; width:42px; height:42px; padding:10px; border:1px solid rgba(255,255,255,.4); border-radius:50%; background:transparent; }
.menu-toggle span { display:block; width:100%; height:1px; margin:5px 0; background:white; }
.nav-cta, .menu-toggle, .poem-card button, .manifesto button, .support-button, .send-button, .footer button, .floating-support { cursor:pointer; }
.kicker { margin:0 0 18px; color:#746c79; font-size:10px; font-weight:900; letter-spacing:.24em; }
.kicker.light { color:#d3a6c3; }
.section-heading { display:flex; justify-content:space-between; align-items:flex-end; gap:50px; }
.section-heading h2, .story-copy h2, .support-copy h2, .contact-inner h2, .support-modal h2 { margin:0; font-family:var(--font-display),serif; font-size:clamp(52px,7vw,96px); line-height:.85; letter-spacing:-.06em; }
.section-heading h2 em, .story-copy h2 em, .support-copy h2 em, .contact-inner h2 em, .support-modal h2 em { color:var(--pink); font-weight:400; }
.section-note { margin:0 0 8px; max-width:380px; color:#7f7784; font-size:13px; line-height:1.7; }

.poems-section { position:relative; overflow:hidden; padding:145px 0 100px; background:var(--cream); }
.poems-section::before { content:"LEYLEY"; position:absolute; top:36px; right:-25px; color:rgba(17,16,33,.035); font-family:var(--font-display),serif; font-size:240px; font-weight:800; line-height:1; }
.poem-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:22px; margin-top:66px; }
.poem-card { position:relative; min-height:500px; padding:25px 26px 0; border:2px solid var(--ink); overflow:hidden; box-shadow:7px 8px 0 var(--ink); transition:transform .3s ease, box-shadow .3s ease; }
.poem-card:hover { transform:translate(-4px,-5px) rotate(-.5deg); box-shadow:13px 15px 0 var(--ink); }
.poem-card.yellow { background:#ffc52f; }
.poem-card.pink { background:#ff82a5; transform:translateY(24px) rotate(1deg); }
.poem-card.pink:hover { transform:translate(-4px,17px) rotate(.4deg); }
.poem-card.blue { background:#9bbcff; }
.poem-card header { display:flex; justify-content:space-between; align-items:center; padding-bottom:18px; border-bottom:1px solid rgba(16,16,33,.4); }
.poem-card header span { font-family:var(--font-display),serif; font-size:31px; font-style:italic; }
.poem-card header small { text-transform:uppercase; font-size:8px; font-weight:900; letter-spacing:.13em; }
.poem-lines { padding:45px 2px; }
.poem-lines p { margin:0; font-family:var(--font-display),serif; font-size:22px; line-height:1.45; }
.poem-card footer { display:flex; justify-content:space-between; align-items:center; }
.poem-card footer div { display:grid; gap:2px; }
.poem-card footer small { font-size:7px; letter-spacing:.2em; }
.poem-card footer strong { font-size:11px; }
.poem-card footer button { display:grid; place-items:center; width:50px; height:50px; border:1.5px solid var(--ink); border-radius:50%; background:transparent; font-size:19px; transition:.25s; }
.poem-card footer button:hover { color:white; background:var(--ink); transform:rotate(45deg); }
.poem-card h3 { position:absolute; left:-5px; bottom:-10px; margin:0; color:rgba(16,16,33,.1); font-family:var(--font-display),serif; font-size:50px; white-space:nowrap; }
.archive-note { display:flex; justify-content:space-between; gap:30px; margin-top:70px; padding-top:26px; border-top:1px solid #c8bea9; color:#6f6670; font-size:12px; }
.archive-note a { color:var(--ink); font-weight:800; }

.story-section { overflow:hidden; padding:140px 0; color:white; background:#141329; }
.story-collage { display:grid; grid-template-columns:1fr .86fr; align-items:center; gap:100px; }
.story-images { position:relative; min-height:710px; }
.portrait-frame { position:absolute; overflow:hidden; border:1px solid rgba(255,255,255,.2); }
.portrait-frame img { position:absolute; left:50%; bottom:-3px; width:104%; height:104%; object-fit:contain; object-position:bottom; filter:drop-shadow(0 20px 22px rgba(0,0,0,.3)); transform:translateX(-50%); }
.portrait-main { inset:0 17% 0 0; background:linear-gradient(145deg,#f5c631,#f36948 55%,#aa4ec8); border-radius:240px 240px 12px 12px; }
.portrait-small { right:0; bottom:-20px; width:42%; height:330px; background:#9ebcf7; transform:rotate(4deg); border:8px solid #141329; }
.story-burst { position:absolute; right:-22px; top:6%; display:grid; place-items:center; width:150px; height:150px; color:var(--ink); background:var(--gold); border-radius:50%; text-align:center; font-size:11px; font-weight:900; line-height:1.2; letter-spacing:.09em; transform:rotate(8deg); box-shadow:0 0 0 6px #141329,0 0 0 7px var(--gold); }
.story-copy h2 em { color:var(--gold); }
.story-copy .lead { margin:36px 0 18px; color:white; font-family:var(--font-display),serif; font-size:23px; line-height:1.45; }
.story-copy > p:not(.kicker):not(.lead) { color:#aaa6bd; font-size:14px; line-height:1.8; }
.story-copy blockquote { margin:34px 0; padding:20px 0 20px 24px; border-left:3px solid var(--pink); color:#f5c5d3; font-family:var(--font-display),serif; font-size:22px; font-style:italic; line-height:1.4; }
.story-link { display:inline-flex; align-items:center; gap:15px; padding-bottom:8px; border-bottom:1px solid var(--gold); color:var(--gold); text-transform:uppercase; font-size:9px; font-weight:900; letter-spacing:.16em; }
.story-link span { font-size:17px; }

.manifesto { position:relative; min-height:610px; display:grid; place-content:center; overflow:hidden; padding:90px 24px; color:var(--ink); background:#ff5c2b; text-align:center; }
.manifesto > p { position:relative; z-index:2; margin:0 0 20px; font-size:11px; font-weight:900; letter-spacing:.3em; }
.manifesto h2 { position:relative; z-index:2; margin:0; font-family:var(--font-display),serif; font-size:clamp(52px,8vw,116px); line-height:.85; letter-spacing:-.07em; }
.manifesto h2 em { position:relative; color:#fff3d6; font-weight:400; }
.manifesto h2 em::after { content:""; position:absolute; left:0; right:0; bottom:2px; height:8px; background:var(--gold); transform:rotate(-2deg); }
.manifesto button { position:relative; z-index:2; justify-self:center; margin-top:42px; padding:15px 18px 15px 25px; border:1.5px solid var(--ink); border-radius:99px; background:transparent; text-transform:uppercase; font-size:10px; font-weight:900; letter-spacing:.15em; }
.manifesto button span { display:inline-grid; place-items:center; width:38px; height:38px; margin-left:15px; color:var(--pink); background:var(--ink); border-radius:50%; }
.manifesto-orbit { position:absolute; border:1px solid rgba(16,16,33,.35); border-radius:50%; }
.orbit-a { width:760px; height:220px; top:34%; left:50%; transform:translate(-50%,-50%) rotate(9deg); }
.orbit-b { width:950px; height:350px; top:50%; left:50%; transform:translate(-50%,-50%) rotate(-12deg); }
.manifesto::after { content:"✦"; position:absolute; top:12%; right:12%; color:var(--gold); font-size:90px; animation:spin 14s linear infinite; }

.gallery-section { padding:145px 0 155px; overflow:hidden; background:#eef0ff; }
.section-note.dark { color:#58576e; }
.gallery-grid { display:grid; grid-template-columns:1.1fr .95fr .75fr; grid-template-rows:370px 250px; gap:20px; margin-top:70px; }
.gallery-grid figure { position:relative; margin:0; overflow:hidden; background:#e4d9cd; }
.gallery-grid figure img,.gallery-grid figure video { position:absolute; left:50%; bottom:-3px; width:103%; height:103%; object-fit:contain; object-position:bottom; transform:translateX(-50%); transition:transform .55s ease; }
.gallery-grid figure:hover img { transform:translateX(-50%) scale(1.04); }
.gallery-grid figcaption { position:absolute; left:0; right:0; bottom:0; display:flex; justify-content:space-between; padding:35px 20px 17px; color:white; background:linear-gradient(transparent,rgba(0,0,0,.75)); font-size:10px; text-transform:uppercase; letter-spacing:.13em; }
.gallery-a { grid-row:1/3; background:linear-gradient(#f2bd90,#9850a6)!important; }
.gallery-a img { left:0; width:100%; transform:none; object-position:left bottom; }
.gallery-a:hover img { transform:scale(1.04); transform-origin:left bottom; }
.gallery-video { position:relative; grid-column:2/3; grid-row:1/2; overflow:hidden; color:white; background:#2c204b; }
.gallery-video::after { content:""; position:absolute; inset:0; background:linear-gradient(transparent 45%,rgba(10,8,20,.75)); }
.gallery-video img,.gallery-video video { width:100%; height:100%; object-fit:contain; object-position:center 20%; filter:grayscale(1); opacity:.78; transition:.5s; }
.gallery-video:hover img { transform:scale(1.05); filter:grayscale(0); }
.gallery-video video { position:relative; z-index:3; filter:none; opacity:1; background:#090817; }
.video-cover-link { position:absolute; z-index:3; inset:0; }
.big-play { position:absolute; z-index:2; top:50%; left:50%; display:grid; place-items:center; width:76px; height:76px; border:1px solid white; border-radius:50%; background:rgba(255,255,255,.14); backdrop-filter:blur(8px); transform:translate(-50%,-50%); padding-left:5px; }
.gallery-video small { position:absolute; z-index:2; left:20px; bottom:18px; font-weight:900; letter-spacing:.15em; }
.gallery-b { grid-column:3/4; grid-row:1/2; background:#ffe3a0!important; }
.gallery-quote { position:relative; grid-column:2/4; grid-row:2/3; padding:36px 44px; color:white; background:var(--ink); overflow:hidden; }
.gallery-quote > span { position:absolute; right:35px; top:-45px; color:rgba(255,197,47,.18); font-family:serif; font-size:250px; }
.gallery-quote p { position:relative; margin:0; color:#f5d6df; font-family:var(--font-display),serif; font-size:54px; line-height:.83; font-style:italic; }
.gallery-quote small { position:absolute; right:35px; bottom:24px; color:var(--gold); font-size:8px; font-weight:900; letter-spacing:.2em; }

.support-section { padding:145px 0; color:white; background:linear-gradient(120deg,#15142b 0 56%,#261050 56%); }
.support-inner { display:grid; grid-template-columns:1fr 470px; align-items:center; gap:120px; }
.support-copy h2 em { color:var(--gold); }
.support-copy > p:last-child { max-width:510px; margin-top:32px; color:#aaa6bc; font-size:15px; line-height:1.8; }
.support-card { position:relative; padding:48px 42px 36px; color:var(--ink); background:#ffca34; border:2px solid white; box-shadow:18px 18px 0 var(--pink); transform:rotate(1deg); }
.feather-mark { position:absolute; right:35px; top:23px; font-family:var(--font-display),serif; font-size:78px; font-style:italic; }
.support-card h3 { margin:0 0 32px; font-family:var(--font-display),serif; font-size:42px; line-height:.95; letter-spacing:-.04em; }
.support-card ul { display:grid; gap:13px; margin:0 0 34px; padding:23px 0; border-block:1px solid rgba(16,16,33,.35); list-style:none; font-size:12px; font-weight:700; }
.support-card li span { margin-right:10px; color:var(--pink); }
.support-button { width:100%; justify-content:space-between; padding:8px 8px 8px 19px; border:0; color:white; background:var(--ink); }
.support-button b, .send-button b { display:grid; place-items:center; width:40px; height:40px; border-radius:50%; color:var(--ink); background:white; font-size:17px; }
.support-card > small { display:block; margin-top:17px; text-align:center; font-size:8px; font-weight:700; }

.contact-section { padding:145px 0 130px; background:#fff8e8; }
.contact-inner { display:grid; grid-template-columns:.85fr 1.15fr; gap:115px; }
.contact-inner > div > p:not(.kicker) { max-width:430px; margin:30px 0; color:#756d78; font-size:14px; line-height:1.7; }
.social-row { display:flex; flex-wrap:wrap; gap:8px; }
.social-row a { padding:9px 13px; border:1px solid #b5a99c; border-radius:99px; font-size:9px; font-weight:800; text-transform:uppercase; letter-spacing:.1em; }
.contact-inner form { display:grid; gap:26px; padding:42px; color:white; background:var(--ink); box-shadow:12px 12px 0 var(--pink); }
.field-pair { display:grid; grid-template-columns:1fr 1fr; gap:20px; }
.contact-inner label, .phone-field { display:grid; gap:9px; color:#bcb6c9; font-size:9px; font-weight:800; letter-spacing:.13em; text-transform:uppercase; }
.contact-inner input, .contact-inner select, .contact-inner textarea, .phone-field input { width:100%; padding:10px 0; border:0; border-bottom:1px solid #605c72; border-radius:0; outline:0; color:white; background:transparent; font-size:15px; text-transform:none; }
.contact-inner select { color:white; appearance:none; }
.contact-inner select option { color:var(--ink); }
.contact-inner input:focus, .contact-inner select:focus, .contact-inner textarea:focus { border-color:var(--gold); }
.contact-inner textarea { resize:vertical; }
.honeypot { position:absolute!important; left:-9999px!important; }
.form-footer { display:flex; align-items:center; gap:18px; }
.send-button { gap:20px; padding:8px 8px 8px 19px; border:0; color:var(--ink); background:var(--gold); }
.form-footer output { color:#b7b0c4; font-size:11px; line-height:1.4; }

.footer { padding:65px 0 25px; color:white; background:#080815; }
.footer-top { display:flex; align-items:center; justify-content:space-between; padding-bottom:50px; }
.footer-brand { display:flex; align-items:center; gap:30px; }
.footer-brand img { width:90px; height:90px; object-fit:contain; border-radius:0; border:0; }
.footer-brand strong { font-family:var(--font-display),serif; font-size:34px; line-height:1; }
.footer-brand em { color:var(--gold); font-weight:400; }
.footer-top > button { display:grid; place-items:center; width:58px; height:58px; border:1px solid #4c485c; border-radius:50%; background:transparent; font-size:22px; }
.footer-bottom { display:flex; justify-content:space-between; align-items:center; padding-top:24px; border-top:1px solid #292738; color:#8e889a; font-size:9px; text-transform:uppercase; letter-spacing:.12em; }
.footer-bottom b { color:var(--pink); }
.credit-heart { display:inline-block; margin:0 4px; font-size:22px; line-height:.7; vertical-align:-3px; filter:drop-shadow(0 0 7px rgba(255,77,125,.5)); }
.footer-bottom a { color:#e2dce9; }
.floating-support { position:fixed; z-index:30; right:22px; bottom:20px; display:flex; align-items:center; gap:9px; padding:7px 16px 7px 7px; border:1px solid var(--ink); border-radius:99px; color:var(--ink); background:var(--gold); box-shadow:0 7px 25px rgba(0,0,0,.22); text-transform:uppercase; font-size:9px; font-weight:900; letter-spacing:.09em; }
.floating-support span { display:grid; place-items:center; width:39px; height:39px; border-radius:50%; color:white; background:var(--pink); font-size:22px; line-height:1; box-shadow:0 0 0 3px rgba(255,255,255,.35); }

.mobile-menu { position:fixed; z-index:100; inset:0; display:flex; flex-direction:column; justify-content:center; padding:40px; color:white; background:#111026; }
.mobile-menu > button:first-child { position:absolute; right:22px; top:18px; border:0; color:white; background:transparent; font-family:var(--font-display),serif; font-size:47px; }
.mobile-menu > a { padding:13px 0; border-bottom:1px solid #353249; font-family:var(--font-display),serif; font-size:46px; }
.mobile-support { margin-top:35px; padding:16px; border:0; color:var(--ink); background:var(--gold); font-weight:900; text-transform:uppercase; }
.modal-wrap { position:fixed; z-index:110; inset:0; display:flex; justify-content:flex-end; padding:16px; background:rgba(5,5,15,.72); backdrop-filter:blur(14px); }
.support-modal { position:relative; width:min(540px,100%); height:100%; overflow-y:auto; padding:54px 48px; color:var(--ink); background:#fff9ec; border-radius:24px; box-shadow:-30px 0 80px rgba(0,0,0,.2); animation:slideIn .4s cubic-bezier(.2,.8,.2,1); }
.modal-close { position:absolute; right:20px; top:18px; display:grid; place-items:center; width:40px; height:40px; border:1px solid #bdb4aa; border-radius:50%; background:transparent; font-size:27px; cursor:pointer; }
.support-modal h2 { font-size:56px; }
.segmented { display:grid; grid-template-columns:1fr 1fr; gap:5px; margin:34px 0 24px; padding:5px; background:#eee4d5; border-radius:99px; }
.segmented button { padding:12px; border:0; border-radius:99px; color:#6c626d; background:transparent; font-size:10px; font-weight:900; text-transform:uppercase; letter-spacing:.1em; cursor:pointer; }
.segmented button.active { color:white; background:var(--ink); }
.amount-field { display:flex; align-items:baseline; gap:10px; padding:18px 0; border-bottom:2px solid var(--ink); }
.amount-field span { font-weight:900; }
.amount-field input { width:170px; border:0; outline:0; color:var(--ink); background:transparent; font-family:var(--font-display),serif; font-size:76px; line-height:1; }
.amount-field small { color:#786f77; font-size:11px; text-transform:uppercase; letter-spacing:.1em; }
.quick-amounts { display:flex; gap:7px; margin:15px 0 28px; }
.quick-amounts button { flex:1; padding:9px; border:1px solid #c9bfb3; border-radius:99px; background:white; font-size:11px; font-weight:800; cursor:pointer; }
.method-tabs { display:grid; grid-template-columns:1fr 1fr; gap:10px; }
.method-tabs button { padding:17px; border:1.5px solid #c8beb0; border-radius:10px; background:white; font-weight:800; cursor:pointer; }
.method-tabs button.active { border-color:var(--pink); box-shadow:inset 0 0 0 1px var(--pink); }
.method-tabs button > span { margin-right:7px; }
.mpesa-dot { display:inline-grid; place-items:center; width:24px; height:24px; border-radius:50%; color:white; background:#39a845; }
.phone-field { margin-top:22px; color:#706870; }
.phone-field input { padding:13px; border:1px solid #c8beb0; border-radius:8px; color:var(--ink); background:white; }
.payment-note { margin:12px 0 0; color:#756d76; font-size:10px; line-height:1.5; }
.checkout-button { width:100%; display:flex; align-items:center; justify-content:space-between; margin-top:24px; padding:9px 10px 9px 20px; border:0; border-radius:99px; color:white; background:var(--pink); text-transform:uppercase; font-size:10px; font-weight:900; letter-spacing:.1em; cursor:pointer; }
.checkout-button span { display:grid; place-items:center; width:42px; height:42px; color:var(--ink); background:var(--gold); border-radius:50%; font-size:18px; }
.pay-status { min-height:18px; margin:12px 0 0; color:#9b3654; font-size:11px; line-height:1.45; }
.secure-note { display:block; margin-top:12px; color:#7f767e; text-align:center; font-size:8px; }

@keyframes spin { to { transform:rotate(360deg); } }
@keyframes slideIn { from { transform:translateX(105%); } }

@media (max-width:1000px) {
  .poem-grid { grid-template-columns:repeat(2,1fr); }
  .poem-card.blue { grid-column:1/3; width:calc(50% - 11px); justify-self:center; }
  .story-collage { gap:55px; }
  .story-images { min-height:610px; }
  .support-inner { grid-template-columns:1fr 420px; gap:55px; }
  .contact-inner { gap:60px; }
}
@media (max-width:900px) {
  .nav-cta { display:none; }
  .menu-toggle { display:block; }
  .sun-disc { animation:none; }
  .section-heading { align-items:flex-start; flex-direction:column; gap:24px; }
  .poems-section, .story-section, .gallery-section, .support-section, .contact-section { padding-block:100px; }
  .story-collage, .support-inner, .contact-inner { grid-template-columns:1fr; }
  .story-copy { max-width:650px; }
  .support-card { width:min(520px,100%); justify-self:center; }
  .gallery-grid { grid-template-columns:1fr 1fr; grid-template-rows:480px 320px 240px; }
  .gallery-a { grid-column:1/2; grid-row:1/3; }
  .gallery-video { grid-column:2/3; grid-row:1/2; }
  .gallery-b { grid-column:2/3; grid-row:2/3; }
  .gallery-quote { grid-column:1/3; grid-row:3/4; }
}
@media (max-width:650px) {
  .poems-section, .story-section, .gallery-section, .support-section, .contact-section { padding-block:78px; }
  .section-heading h2, .story-copy h2, .support-copy h2, .contact-inner h2 { font-size:55px; }
  .poem-grid { grid-template-columns:1fr; gap:18px; margin-top:40px; }
  .poem-card, .poem-card.pink, .poem-card.blue { width:100%; min-height:450px; grid-column:auto; transform:none; }
  .poem-card:hover, .poem-card.pink:hover { transform:translate(-2px,-3px); }
  .archive-note { flex-direction:column; margin-top:52px; }
  .story-collage { gap:55px; }
  .story-images { min-height:520px; }
  .portrait-main { right:12%; }
  .portrait-small { width:43%; height:240px; }
  .story-burst { width:112px; height:112px; right:-2px; font-size:8px; }
  .manifesto { min-height:510px; }
  .manifesto::after { right:2%; font-size:60px; }
  .gallery-grid { display:grid; grid-template-columns:1fr; grid-template-rows:520px 320px 350px 220px; }
  .gallery-a, .gallery-video, .gallery-b, .gallery-quote { grid-column:1/2; }
  .gallery-a { grid-row:1; }.gallery-video { grid-row:2; }.gallery-b { grid-row:3; }.gallery-quote { grid-row:4; }
  .gallery-quote { padding:35px 28px; }
  .gallery-quote p { font-size:45px; }
  .support-section { background:#15142b; }
  .support-card { padding:42px 25px 28px; box-shadow:9px 10px 0 var(--pink); }
  .support-card h3 { font-size:36px; }
  .contact-inner { gap:50px; }
  .contact-inner form { padding:30px 22px; }
  .field-pair { grid-template-columns:1fr; }
  .form-footer { align-items:flex-start; flex-direction:column; }
  .footer-top { align-items:flex-start; }
  .footer-brand { gap:16px; }
  .footer-brand img { width:65px; height:65px; }
  .footer-brand strong { font-size:24px; }
  .footer-bottom { align-items:flex-start; flex-direction:column; gap:12px; }
  .floating-support { right:12px; bottom:12px; }
  .support-modal { padding:48px 23px; border-radius:18px; }
  .support-modal h2 { font-size:48px; }
  .amount-field input { width:135px; font-size:64px; }
}

.studio { min-height:100svh; display:grid; grid-template-columns:250px 1fr; color:#191828; background:#f2eee6; }
.studio-sidebar { position:sticky; top:0; height:100svh; display:flex; flex-direction:column; padding:30px 23px 22px; color:white; background:#111023; }
.studio-logo { display:grid; line-height:1; padding:8px 8px 30px; border-bottom:1px solid #302e42; }
.studio-logo strong { font-size:25px; letter-spacing:-.06em; }.studio-logo em{color:var(--gold);font-style:normal}.studio-logo small{margin-top:7px;color:#898498;font-size:7px;letter-spacing:.3em}
.studio-sidebar nav { display:grid; gap:7px; margin-top:30px; }
.studio-sidebar nav button { display:flex; align-items:center; gap:12px; width:100%; padding:12px; border:0; border-radius:9px; color:#aaa5ba; background:transparent; text-align:left; font-size:12px; font-weight:700; cursor:pointer; }
.studio-sidebar nav button span { display:grid; place-items:center; width:27px; height:27px; border:1px solid #49465d; border-radius:7px; font-size:16px; }
.studio-sidebar nav button b { margin-left:auto; }.studio-sidebar nav button.active { color:#191828; background:var(--gold); }.studio-sidebar nav button.active span{border-color:#191828}
.studio-user { display:flex; align-items:center; gap:10px; margin-top:auto; padding-top:20px; border-top:1px solid #302e42; }
.studio-user > span { display:grid; place-items:center; width:35px; height:35px; color:#191828; background:var(--pink); border-radius:50%; font-weight:900; }
.studio-user div { display:grid; min-width:0; }.studio-user strong{overflow:hidden;text-overflow:ellipsis;font-size:10px;white-space:nowrap}.studio-user button{margin-top:3px;padding:0;border:0;color:#918b9f;background:transparent;text-align:left;font-size:8px;text-transform:uppercase;letter-spacing:.1em;cursor:pointer}
.studio-main { padding:54px clamp(28px,5vw,80px) 80px; }
.studio-main > header { display:flex; align-items:flex-end; justify-content:space-between; gap:30px; padding-bottom:30px; border-bottom:1px solid #cdc5b9; }
.studio-main header p { margin:0 0 8px; color:#817986; font-size:8px; font-weight:900; letter-spacing:.2em; }.studio-main header h1{margin:0;font-family:var(--font-display),serif;font-size:48px;letter-spacing:-.04em}.studio-header-actions{display:flex;align-items:center;gap:10px}.studio-header-actions a,.studio-header-actions button{padding:11px 15px;border:1px solid #aaa094;border-radius:99px;color:#191828;background:transparent;font-size:9px;font-weight:800;text-transform:uppercase;letter-spacing:.1em;cursor:pointer}.studio-header-actions button{color:white;background:#191828;border-color:#191828}
.editor-form { display:grid; gap:23px; max-width:850px; margin-top:42px; padding:38px; background:white; box-shadow:8px 8px 0 #d9cfc1; }
.editor-form label { display:grid; gap:9px; color:#6e6871; font-size:8px; font-weight:900; text-transform:uppercase; letter-spacing:.13em; }
.editor-form input,.editor-form textarea,.editor-form select{width:100%;padding:13px 14px;border:1px solid #cec7be;border-radius:7px;outline:0;color:#191828;background:#fbfaf8;font-size:13px;text-transform:none}.editor-form textarea{resize:vertical;line-height:1.6}.editor-form input:focus,.editor-form textarea:focus,.editor-form select:focus{border-color:var(--pink);box-shadow:0 0 0 3px rgba(255,77,125,.1)}
.editor-grid { display:grid; grid-template-columns:1fr 1fr; gap:20px; }.editor-form .check{display:flex;align-items:center;gap:9px}.editor-form .check input{width:17px;height:17px}
.editor-preview{width:min(100%,420px);max-height:360px;object-fit:contain;object-position:left bottom;background:#eee8df}
.editor-actions { display:flex; align-items:center; gap:20px; padding-top:8px; }.editor-actions button,.empty-library button{padding:14px 20px;border:0;border-radius:99px;color:white;background:#191828;font-size:9px;font-weight:900;text-transform:uppercase;letter-spacing:.12em;cursor:pointer}.editor-actions output{color:#68616d;font-size:11px}.editor-actions button:disabled{opacity:.5}
.library-list { display:grid; gap:10px; margin-top:36px; }.library-list article{display:grid;grid-template-columns:80px minmax(0,1fr) 90px auto;align-items:center;gap:18px;padding:20px 22px;background:white;border:1px solid #ddd6cc}.library-list h2{margin:0;font-family:var(--font-display),serif;font-size:22px}.library-list article p{margin:4px 0 0;color:#8a838d;font-size:9px}.library-thumb{width:64px;height:64px;object-fit:cover;border-radius:8px;background:#eee8df}.type-badge,.status-pill{display:inline-flex;justify-content:center;padding:7px 8px;border-radius:99px;font-size:7px;font-weight:900;text-transform:uppercase;letter-spacing:.1em}.type-badge{color:#191828;background:#ffd96f}.status-pill{color:#6e6672;background:#eee8e1}.status-pill.published{color:#176138;background:#c8f4d8}.item-actions{display:flex;gap:6px}.item-actions button{padding:8px 10px;border:1px solid #c6bdb3;background:transparent;border-radius:6px;font-size:8px;font-weight:800;text-transform:uppercase;cursor:pointer}.item-actions button:last-child{color:#a52c50}.studio-notice{margin:28px 0 0;padding:12px 15px;color:#176138;background:#c8f4d8;font-size:11px}
.empty-library { padding:100px 25px; background:white; text-align:center; }.empty-library span{color:var(--pink);font-size:45px}.empty-library h2{margin:10px 0;font-family:var(--font-display),serif;font-size:45px}.empty-library p{color:#77707a;font-size:12px}.empty-library button{margin-top:18px}
.studio-denied { min-height:100svh; display:grid; place-items:center; padding:30px; color:white; background:#111023; text-align:center; }.studio-denied>div{max-width:600px}.studio-denied span{font-size:10px;font-weight:900;letter-spacing:.2em}.studio-denied span em{color:var(--gold);font-style:normal}.studio-denied h1{margin:25px 0 15px;font-size:70px;line-height:.9}.studio-denied p{color:#aaa5ba}.studio-denied a{display:inline-block;margin:20px 5px 0;padding:11px 15px;border:1px solid #4b475c;border-radius:99px;font-size:9px;text-transform:uppercase;letter-spacing:.1em}
.studio-login{min-height:100svh;display:grid;grid-template-columns:minmax(420px,620px) 1fr;color:white;background:#111023}.studio-login>section{display:flex;flex-direction:column;justify-content:center;padding:60px clamp(28px,7vw,95px)}.studio-login-logo{display:grid;align-self:flex-start;line-height:1;margin-bottom:65px}.studio-login-logo strong{font-size:30px;letter-spacing:-.06em}.studio-login-logo em{color:var(--gold);font-style:normal}.studio-login-logo small{margin-top:7px;color:#898498;font-size:7px;letter-spacing:.3em}.studio-login h1{margin:14px 0 20px;font-family:var(--font-display),serif;font-size:clamp(65px,8vw,105px);line-height:.75;letter-spacing:-.07em}.studio-login-intro{max-width:430px;color:#aaa5ba;line-height:1.7}.studio-login form{display:grid;gap:18px;margin-top:28px}.studio-login label{display:grid;gap:8px;color:#aaa5ba;font-size:8px;font-weight:900;text-transform:uppercase;letter-spacing:.14em}.studio-login input{width:100%;padding:14px;border:1px solid #3d394e;border-radius:8px;color:white;background:#1a1830;outline:0}.studio-login input:focus{border-color:var(--gold);box-shadow:0 0 0 3px rgba(255,191,47,.12)}.studio-login form button{padding:15px 20px;border:0;border-radius:99px;color:#191828;background:var(--gold);font-size:9px;font-weight:900;text-transform:uppercase;letter-spacing:.12em;cursor:pointer}.studio-login output{min-height:18px;color:#ff8eae;font-size:11px}.studio-back{align-self:flex-start;margin-top:25px;color:#aaa5ba;font-size:9px;text-transform:uppercase;letter-spacing:.1em}.studio-login>aside{display:flex;flex-direction:column;justify-content:center;overflow:hidden;padding:60px;background:radial-gradient(circle at 30% 30%,rgba(255,191,47,.8),transparent 28%),radial-gradient(circle at 75% 65%,rgba(255,77,125,.8),transparent 30%),#5d35c5}.studio-login>aside span{font-family:var(--font-display),serif;font-size:clamp(70px,10vw,150px);line-height:.78;letter-spacing:-.06em}.studio-login>aside span:nth-child(2){margin-left:12%;font-style:italic;color:var(--gold)}

@media (max-width:760px){.studio{grid-template-columns:1fr}.studio-sidebar{position:relative;height:auto;display:grid;grid-template-columns:1fr auto;align-items:center;padding:15px 18px}.studio-logo{padding:0;border:0}.studio-sidebar nav{display:flex;margin:0}.studio-sidebar nav button{width:auto}.studio-sidebar nav button span{display:none}.studio-user{display:none}.studio-main{padding:35px 16px 60px}.studio-main>header{align-items:flex-start;flex-direction:column}.studio-main header h1{font-size:38px}.studio-header-actions{width:100%;flex-wrap:wrap}.editor-form{padding:24px 18px}.editor-grid{grid-template-columns:1fr}.library-list article{grid-template-columns:60px 1fr}.status-pill,.item-actions{grid-column:2}.item-actions{justify-self:start}.studio-login{grid-template-columns:1fr}.studio-login>section{min-height:100svh}.studio-login>aside{display:none}}

/* Multi-page editorial experience */
.page-header { position:absolute; z-index:80; inset:0 0 auto; color:white; }
.page-header.light { position:relative; color:var(--ink); background:var(--cream); }
.page-header.light .nav { border-color:#d9d0c2; }
.page-header.light .menu-toggle { border-color:#777; }.page-header.light .menu-toggle span{background:var(--ink)}
.inner-page { min-height:100vh; background:var(--cream); }
.page-hero { min-height:580px; display:flex; flex-direction:column; justify-content:flex-end; padding:170px max(24px,calc((100% - 1180px)/2)) 78px; color:white; overflow:hidden; background:radial-gradient(circle at 80% 20%,rgba(128,74,255,.62),transparent 33%),linear-gradient(125deg,#080817,#221052); }
.page-hero h1,.support-page h1,.contact-page h1 { max-width:1000px; margin:0; font-family:var(--font-display),serif; font-size:clamp(72px,11vw,154px); line-height:.77; letter-spacing:-.075em; }
.page-hero h1 em,.support-page h1 em,.contact-page h1 em { color:var(--gold); font-weight:400; }
.page-hero>p:last-child { max-width:580px; margin:35px 0 0; color:#d0c9dc; font-size:16px; line-height:1.7; }
.poems-hero { background:radial-gradient(circle at 80% 35%,rgba(255,77,125,.55),transparent 29%),linear-gradient(130deg,#111024,#332063); }
.gallery-page-hero { background:radial-gradient(circle at 76% 40%,rgba(255,191,47,.6),transparent 27%),linear-gradient(130deg,#111024,#5d244b); }
.watch-hero { background:radial-gradient(circle at 74% 40%,rgba(255,107,39,.62),transparent 30%),linear-gradient(130deg,#111024,#391054); }
.archive-page { padding:80px 0 130px; }.archive-toolbar{display:flex;justify-content:space-between;gap:30px;padding-bottom:22px;border-bottom:1px solid #cfc4b4;color:#776f79;font-size:11px}.archive-toolbar span{font-weight:900;text-transform:uppercase;letter-spacing:.15em}.archive-toolbar p{margin:0}
.poem-list { display:grid; margin-top:15px; }.poem-list-card{display:grid;grid-template-columns:70px 1fr 60px;gap:30px;padding:38px 8px;border-bottom:1px solid #d6cbbb;transition:.25s}.poem-list-card:hover{padding-left:18px;background:white}.poem-list-card>span{font-family:var(--font-display),serif;font-size:30px;font-style:italic;color:var(--pink)}.poem-list-card small{font-size:8px;font-weight:900;letter-spacing:.16em;text-transform:uppercase}.poem-list-card h2{margin:8px 0;font-family:var(--font-display),serif;font-size:clamp(35px,5vw,63px);letter-spacing:-.055em}.poem-list-card p{max-width:720px;color:#716a73;line-height:1.7}.poem-list-card>a{display:grid;place-items:center;align-self:center;width:50px;height:50px;border-radius:50%;color:white;background:var(--pink);font-size:23px}.poem-list-card details{margin-top:20px}.poem-list-card summary{cursor:pointer;font-weight:800;text-transform:uppercase;font-size:9px;letter-spacing:.1em}.poem-full{margin-top:16px;white-space:pre-line;font-family:var(--font-display),serif;font-size:20px;line-height:1.65}
.pagination{display:flex;justify-content:center;gap:8px;margin-top:60px}.pagination a{display:grid;place-items:center;width:42px;height:42px;border:1px solid #bdb2a4;border-radius:50%;font-size:11px;font-weight:800}.pagination a.active{color:white;background:var(--ink);border-color:var(--ink)}
.story-hero{display:grid;grid-template-columns:1.15fr .85fr;align-items:end;padding-bottom:0}.story-hero>div:first-child{padding-bottom:78px}.story-hero h1{font-size:clamp(66px,9vw,132px)}.story-hero-photo{position:relative;height:500px;align-self:end}.story-hero-photo img{object-fit:contain;object-position:right bottom;transform:translate(7px,2px)}.story-body{display:grid;grid-template-columns:260px 1fr;gap:90px;padding:105px 0 135px}.story-body aside{border-top:1px solid #bdb3a6}.story-body aside p{margin:0;padding:15px 0;border-bottom:1px solid #d8cfc2;font-size:9px;font-weight:900;text-transform:uppercase;letter-spacing:.13em}.story-body article{max-width:760px}.story-body h2{margin:0 0 28px;font-family:var(--font-display),serif;font-size:50px;line-height:1}.story-body article p{color:#5f5961;font-size:17px;line-height:1.9}.dropcap:first-letter{float:left;margin:8px 10px 0 0;color:var(--pink);font-family:var(--font-display),serif;font-size:86px;line-height:.65}.story-body blockquote{margin:50px 0;padding:30px 0;border-block:1px solid #c8bcad;font-family:var(--font-display),serif;font-size:38px;line-height:1.25}.story-actions{display:flex;align-items:center;gap:25px;margin-top:40px}
.gallery-page-grid{display:grid;grid-template-columns:repeat(12,1fr);gap:20px;padding:90px 0 25px}.gallery-tile{grid-column:span 6;margin:0}.gallery-tile:nth-child(3n+1){grid-column:span 7}.gallery-tile:nth-child(3n+2){grid-column:span 5}.gallery-tile>div{position:relative;height:580px;overflow:hidden;background:linear-gradient(135deg,#ffcc3c,#ff6b8e)}.gallery-tile:nth-child(2n)>div{background:linear-gradient(135deg,#7557e7,#1a1631)}.gallery-tile img{position:absolute;left:50%;bottom:-3px;width:103%;height:103%;object-fit:contain;object-position:bottom;transform:translateX(-50%);transition:transform .5s}.gallery-tile:hover img{transform:translateX(-50%) scale(1.035)}.gallery-tile figcaption{display:flex;justify-content:space-between;padding:14px 3px 32px;border-bottom:1px solid #c8bdaf;font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.09em}.gallery-tile figcaption span{display:grid;gap:6px}.gallery-tile figcaption small{color:#7c7480;font-size:9px;font-weight:500;text-transform:none;letter-spacing:0}.gallery-tile figcaption b{color:var(--pink)}
.watch-grid{display:grid;gap:80px;padding:100px 0 130px}.featured-embed{display:grid;grid-template-columns:minmax(300px,430px) 1fr;gap:75px;align-items:center}.featured-embed.reverse{grid-template-columns:1fr minmax(300px,430px)}.featured-embed.reverse iframe{grid-column:2}.featured-embed.reverse div{grid-column:1;grid-row:1}.featured-embed iframe{width:100%;height:680px;border:0;border-radius:24px;background:#111024}.featured-embed small{color:var(--pink);font-weight:900;letter-spacing:.16em}.featured-embed h2,.youtube-band h2{margin:13px 0 22px;font-family:var(--font-display),serif;font-size:clamp(48px,7vw,85px);line-height:.9;letter-spacing:-.06em}.featured-embed p{max-width:520px;color:#716a73;font-size:16px;line-height:1.75}.featured-embed a{display:inline-block;margin-top:18px;padding-bottom:5px;border-bottom:1px solid;font-size:10px;font-weight:900;text-transform:uppercase}.cms-media{padding:30px;background:white}.cms-media video{width:100%;max-height:650px;background:#111}.cms-media audio{width:100%}.youtube-band{padding:90px 0;color:white;background:#d92f40}.youtube-band>div{display:grid;grid-template-columns:120px 1fr auto;align-items:center;gap:40px}.youtube-play{display:grid;place-items:center;width:105px;height:105px;border-radius:50%;color:#d92f40;background:white;font-size:34px}.youtube-band a{padding:16px 20px;border:1px solid white;border-radius:99px;font-size:10px;font-weight:900;text-transform:uppercase}
.support-page{display:grid;grid-template-columns:1.05fr .95fr;min-height:100svh;padding-top:94px;color:white;background:radial-gradient(circle at 18% 50%,rgba(105,69,227,.45),transparent 34%),#0d0c1c}.support-page-copy{padding:110px clamp(28px,7vw,105px)}.support-page h1{font-size:clamp(75px,9vw,130px)}.support-page-copy>p:not(.kicker){max-width:600px;margin:35px 0;color:#c4becf;line-height:1.8}.support-page-copy ul{max-width:600px;margin:50px 0 0;padding:0;list-style:none}.support-page-copy li{display:flex;gap:20px;padding:16px 0;border-top:1px solid #363249;font-size:11px;text-transform:uppercase;letter-spacing:.1em}.support-page-copy li span{color:var(--gold);font-weight:900}.support-page-card{align-self:center;margin:65px 45px 65px 0;padding:48px;color:var(--ink);background:#fff8e8;border-radius:30px;box-shadow:14px 14px 0 var(--pink)}.support-page-card h2{margin:5px 0 30px;font-family:var(--font-display),serif;font-size:47px;line-height:.95}.big-heart{color:var(--pink);font-size:62px;line-height:1}.support-checkout .phone-field input{color:var(--ink)}
.contact-page{display:grid;grid-template-columns:1fr 1fr;gap:85px;min-height:100svh;padding:190px max(24px,calc((100% - 1180px)/2)) 110px;color:white;background:radial-gradient(circle at 30% 55%,rgba(255,77,125,.35),transparent 30%),#111024}.contact-page h1{font-size:clamp(70px,8vw,115px)}.contact-page-intro>p:not(.kicker){max-width:530px;color:#bcb5c6;line-height:1.75}.direct-contacts{display:grid;margin:35px 0}.direct-contacts a{display:flex;justify-content:space-between;gap:15px;padding:15px 0;border-top:1px solid #39354a;font-size:11px}.contact-page .social-row a{border-color:#645e70}.contact-page-form{display:grid;gap:26px;align-self:center;padding:45px;background:#fff8e8;color:var(--ink);box-shadow:12px 12px 0 var(--gold)}.contact-page-form label{display:grid;gap:9px;font-size:9px;font-weight:900;text-transform:uppercase;letter-spacing:.12em}.contact-page-form input,.contact-page-form select,.contact-page-form textarea{width:100%;padding:12px 0;border:0;border-bottom:1px solid #aca195;outline:0;background:transparent}.contact-page-form output{color:#705f6a;font-size:11px}
.footer-top>p{margin:0;font-family:var(--font-display),serif;font-size:34px;line-height:1}.footer-top>p em{color:var(--gold)}.footer-support{padding:14px 18px;border:1px solid #4c485c;border-radius:99px;font-size:9px;font-weight:900;text-transform:uppercase;letter-spacing:.1em}.brand-footer span{display:none}

@media(max-width:1050px){.nav-links{gap:19px}.story-hero{grid-template-columns:1fr 380px}.support-page{grid-template-columns:1fr}.support-page-card{width:min(650px,calc(100% - 48px));margin:0 auto 90px}.contact-page{grid-template-columns:1fr}.contact-page-form{max-width:760px}.featured-embed{gap:45px}}
@media(max-width:800px){.page-header .nav-links,.page-header .nav-cta{display:none}.page-header .menu-toggle{display:block}.page-hero{min-height:520px}.story-hero{display:flex;padding-bottom:0}.story-hero>div:first-child{padding-bottom:35px}.story-hero-photo{width:100%;height:390px}.story-body{grid-template-columns:1fr;gap:45px}.story-body aside{display:grid;grid-template-columns:repeat(3,1fr)}.story-body aside p{padding-right:10px}.gallery-tile,.gallery-tile:nth-child(n){grid-column:span 12}.featured-embed,.featured-embed.reverse{grid-template-columns:1fr;gap:30px}.featured-embed.reverse iframe,.featured-embed.reverse div{grid-column:1;grid-row:auto}.featured-embed iframe{height:640px}.youtube-band>div{grid-template-columns:90px 1fr}.youtube-band a{grid-column:2}.footer-top{align-items:center;flex-wrap:wrap;gap:25px}}
@media(max-width:560px){.page-hero{min-height:470px;padding-top:135px;padding-bottom:55px}.page-hero h1{font-size:62px}.archive-toolbar{display:block}.archive-toolbar p{margin-top:8px}.poem-list-card{grid-template-columns:45px 1fr;gap:12px;padding:28px 0}.poem-list-card>a{grid-column:2;width:44px;height:44px}.story-hero-photo{height:330px}.story-body{padding-block:70px}.story-body aside{grid-template-columns:1fr}.story-body h2{font-size:39px}.story-body blockquote{font-size:29px}.story-actions{align-items:flex-start;flex-direction:column}.gallery-page-grid{padding-top:55px}.gallery-tile>div{height:480px}.featured-embed iframe{height:560px}.youtube-band>div{grid-template-columns:1fr}.youtube-band a{grid-column:1}.support-page{padding-top:78px}.support-page-copy{padding:80px 20px 55px}.support-page h1,.contact-page h1{font-size:65px}.support-page-card{width:calc(100% - 28px);padding:32px 20px;margin-bottom:70px}.support-page-card h2{font-size:39px}.contact-page{gap:55px;padding-top:135px}.contact-page-form{padding:32px 20px}.footer-top>p{font-size:26px}.footer-support{width:100%;text-align:center}}
.cms-media iframe{width:100%;height:620px;border:0;background:#111}.story-update{margin-top:55px;padding-top:35px;border-top:1px solid #c8bcad}.story-update img{width:100%;max-height:520px;object-fit:cover}.story-update small{display:block;margin-top:25px;color:var(--pink);font-weight:900;letter-spacing:.14em}.story-update p{white-space:pre-line}
@media(max-width:560px){.cms-media iframe{height:520px}}

/* The menu, giving panel and conditional fields are toggled with the hidden
   attribute; component rules below set display, so hidden needs to win. */
[hidden] { display: none !important; }

/* Page loader. Covers the page from first paint until everything has loaded,
   and returns while the next page is being fetched. The failsafe animation
   clears it even if the script never runs, so nobody can be locked out. */
.page-loader { position:fixed; inset:0; z-index:9999; display:grid; place-items:center; color:#fff;
  background:radial-gradient(circle at 50% 34%, rgba(94,57,224,.6) 0, rgba(94,57,224,0) 47%),linear-gradient(125deg,#080817 0%,#11112a 52%,#24105f 100%);
  animation:loader-failsafe 0s linear 8s forwards; }
.page-loader-inner { display:grid; justify-items:center; gap:19px; animation:loader-rise .75s cubic-bezier(.2,.7,.3,1) both; }
.page-loader-mark { width:84px; height:84px; object-fit:contain; filter:drop-shadow(0 10px 26px rgba(255,191,47,.3)); animation:loader-breathe 2.4s ease-in-out infinite; }
.page-loader-word { display:grid; justify-items:center; line-height:1; }
.page-loader-word strong { font-family:var(--font-display),serif; font-size:30px; font-style:italic; letter-spacing:-.08em; }
.page-loader-word strong em { color:var(--gold); font-style:italic; }
.page-loader-word small { margin-top:9px; font-size:8px; letter-spacing:.43em; color:#d2cbdc; }
.page-loader-bar { width:188px; height:2px; border-radius:2px; overflow:hidden; background:rgba(255,255,255,.16); }
.page-loader-bar span { display:block; width:38%; height:100%; border-radius:2px; background:linear-gradient(90deg,var(--gold),var(--pink),var(--orange)); animation:loader-sweep 1.15s ease-in-out infinite; }
.page-loader-line { margin:0; font-size:10px; letter-spacing:.24em; text-transform:uppercase; color:#b7b0c4; }
.page-loader.is-done { opacity:0; visibility:hidden; animation:none; transition:opacity .55s ease, visibility 0s linear .55s; }

@keyframes loader-rise { from { opacity:0; transform:translateY(15px); } to { opacity:1; transform:none; } }
@keyframes loader-breathe { 0%,100% { transform:scale(1); } 50% { transform:scale(1.07); } }
@keyframes loader-sweep { from { transform:translateX(-115%); } to { transform:translateX(375%); } }
@keyframes loader-failsafe { to { opacity:0; visibility:hidden; } }

@media(max-width:560px){ .page-loader-mark{width:70px;height:70px} .page-loader-word strong{font-size:26px} .page-loader-bar{width:150px} }
@media(prefers-reduced-motion:reduce){
  .page-loader-inner, .page-loader-mark { animation:none; }
  .page-loader-bar span { width:100%; animation:none; }
}
