@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Libre+Baskerville:ital@0;1&display=swap');
:root{--bg:#0c0e11;--paper:#15181c;--line:#37352f;--text:#f3eee7;--muted:#bcb5aa;--accent:#c2a075;--focus:#eed3a6}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--text);font:16px/1.65 'DM Sans',Arial,sans-serif}a{color:inherit;text-underline-offset:4px}a:hover{color:var(--focus)}a:focus-visible{outline:2px solid var(--focus);outline-offset:4px}.container{max-width:1120px;padding:0 24px;margin:auto}.skip{position:absolute;left:-9999px}.skip:focus{left:12px;top:12px;background:white;color:black;padding:12px;z-index:20}header{border-bottom:1px solid var(--line);background:#0c0e11e8;position:sticky;top:0;z-index:3;backdrop-filter:blur(12px)}.nav{min-height:76px;display:flex;align-items:center;justify-content:space-between;gap:18px}.brand{text-decoration:none;letter-spacing:.16em;font-weight:700;font-size:15px}.brand small{display:block;font-size:9px;letter-spacing:.18em;font-weight:500;color:var(--accent)}nav{display:flex;gap:19px;flex-wrap:wrap}nav a{text-decoration:none;font-size:13px;color:#d8d1c8}nav a[aria-current=page]{color:var(--accent);border-bottom:1px solid var(--accent)}.hero{min-height:550px;display:grid;align-items:center;position:relative;overflow:hidden;background:radial-gradient(ellipse at 50% 120%,#5e472d88 0,transparent 47%),radial-gradient(ellipse at 50% 15%,#8e734c38,transparent 28%),#111419}.hero:before{content:'';position:absolute;width:620px;height:230px;border:1px solid #c5a57666;border-radius:50%;left:50%;bottom:-115px;transform:translateX(-50%);box-shadow:0 0 0 37px #ae8c5012,0 0 0 80px #ae8c500d,0 0 0 130px #ae8c5006}.hero:after{content:'';position:absolute;left:50%;top:0;width:100px;height:350px;transform:translateX(-50%);background:linear-gradient(#dcc08d36,transparent);clip-path:polygon(40% 0,60% 0,100% 100%,0 100%)}.hero-content{z-index:1;text-align:center;position:relative;padding:65px 18px}.eyebrow{color:var(--accent);font-size:12px;text-transform:uppercase;letter-spacing:.24em;font-weight:600}h1{font-weight:600;font-size:clamp(40px,7vw,80px);line-height:1.05;letter-spacing:.065em;margin:15px 0}h2{font-weight:500;font-size:clamp(27px,4vw,43px);line-height:1.2;margin:10px 0 20px}h3{font-size:20px;margin:0 0 10px;font-weight:500}p{margin:0 0 18px}.subhead{font:italic 20px/1.5 'Libre Baskerville',Georgia,serif;color:#e5d6c0}.muted{color:var(--muted)}.lead{max-width:760px;font-size:19px;color:#d9d1c6}.actions{display:flex;justify-content:center;flex-wrap:wrap;gap:14px;margin-top:32px}.btn{display:inline-block;border:1px solid var(--accent);padding:12px 22px;text-decoration:none;border-radius:3px;font-weight:700;font-size:14px;transition:background .2s}.btn-primary{background:var(--accent);color:#17130f}.btn-primary:hover{background:#e2bc89;color:#15100b}.btn-ghost:hover{background:#2c261e}.section{padding:84px 0;border-top:1px solid #252523}.section-tight{padding:45px 0}.two{display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:center}.panel{background:var(--paper);border:1px solid var(--line);border-radius:6px;padding:29px}.panel p:last-child{margin-bottom:0}.center{text-align:center}.center .lead{margin:0 auto}.kicker{font-size:12px;color:var(--accent);letter-spacing:.16em;text-transform:uppercase}.album-art{aspect-ratio:1;background:radial-gradient(circle at 50% 80%,#9574483d 0,transparent 54%),linear-gradient(135deg,#15191e,#090b0d);border:1px solid #675337;display:flex;align-items:center;justify-content:center;flex-direction:column;position:relative;overflow:hidden;text-align:center;padding:22px}.album-art:before{content:'';width:65%;aspect-ratio:1;border:1px solid #91714878;border-radius:50%;box-shadow:0 0 0 28px #91714822,0 0 0 55px #91714812;position:absolute;bottom:-33%;left:17.5%}.album-art>*{position:relative}.album-art strong{font-size:clamp(20px,3vw,38px);letter-spacing:.1em;line-height:1.2}.album-art span{color:var(--accent);letter-spacing:.11em;font-size:12px;margin-top:13px}.notice{border-left:3px solid var(--accent);padding:13px 18px;background:#27241f;font-size:14px;color:#e7dccd}.chapter-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.chapter ol{margin:0;padding-left:21px}.chapter li{padding:5px 0;border-bottom:1px solid #33312b}.chapter li:last-child{border:0}.chapter .chapter-name{color:var(--accent);font-size:12px;text-transform:uppercase;letter-spacing:.1em}.page-head{padding:75px 0 50px;background:radial-gradient(ellipse at top,#42311f45,transparent 67%)}.page-head h1{font-size:clamp(36px,5vw,60px)}.inline-links{display:flex;gap:15px;flex-wrap:wrap}.disabled{opacity:.58;cursor:not-allowed}.list{padding-left:20px}.list li{margin:8px 0}footer{padding:42px 0;border-top:1px solid var(--line);color:#b8aea0;font-size:13px}footer .row{display:flex;gap:20px;justify-content:space-between;flex-wrap:wrap}.footer-nav{display:flex;gap:16px;flex-wrap:wrap}.status{color:#e6c99a;font-size:13px}form label{display:block;margin:15px 0 5px}button{font:inherit}.tiny{font-size:12px;color:#a99f91}@media(max-width:760px){.nav{padding:16px 0;align-items:flex-start;flex-direction:column}nav{gap:12px}.two,.chapter-grid{grid-template-columns:1fr}.section{padding:55px 0}.hero{min-height:490px}.panel{padding:22px}}

/* Sprint 003 – actual production artwork integration; rest of site preserved */
.hero.hero-photographic {
  background:linear-gradient(90deg,rgba(7,8,10,.66),rgba(7,8,10,.36) 47%,rgba(7,8,10,.67)),
  linear-gradient(0deg,rgba(7,8,10,.62),transparent 24%,transparent 75%,rgba(7,8,10,.25)),
  url("resonance-hero.webp") center center / cover no-repeat;
  min-height:clamp(530px,52vw,720px);
}
.hero.hero-photographic::before,.hero.hero-photographic::after{content:none}
.hero-photographic .hero-content{padding-top:90px;padding-bottom:100px;text-shadow:0 2px 18px rgba(0,0,0,.94)}
.hero-photographic h1{font-size:clamp(40px,6.4vw,79px);letter-spacing:.055em;max-width:100%;text-wrap:balance}
.hero-photographic .btn{text-shadow:none}
.production-art{display:block;width:100%;height:auto;aspect-ratio:1;object-fit:contain;background:#08090b;border:1px solid #66533b;padding:0;box-shadow:0 18px 45px rgba(0,0,0,.28)}
.production-art::before{content:none}
@media(max-width:760px){
 .hero.hero-photographic{min-height:580px;background-position:50% center; background-image:linear-gradient(rgba(7,8,10,.66),rgba(7,8,10,.55)),url("resonance-hero.webp")}
 .hero-photographic .hero-content{padding:68px 17px}
 .hero-photographic h1{font-size:clamp(38px,10vw,60px)}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

/* Sprint 003.1 — approved responsive-width refinement for 3440 × 1440 ultrawide displays.
   Keep readable text measures while allowing collection art and sections to breathe. */
:root { --content-max: 1120px; }
.container { width: 100%; max-width: var(--content-max); }
.two > div:first-child { min-width: 0; }
.two p, .two .lead { max-width: 62ch; }
.production-art { max-width: 100%; }
@media (min-width: 1500px) {
  :root { --content-max: 1320px; }
  .two { gap: clamp(48px, 4vw, 88px); }
}
@media (min-width: 1900px) {
  :root { --content-max: 1520px; }
  .two { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: clamp(64px, 5vw, 112px); }
  .nav { min-height: 86px; }
}
@media (min-width: 2600px) {
  :root { --content-max: 1740px; }
  .two { gap: 120px; }
  .section { padding-top: 100px; padding-bottom: 100px; }
  .hero.hero-photographic { min-height: 680px; }
  .hero-photographic .hero-content { max-width: 1300px; }
}
@media (max-width: 760px) {
  .container { padding-left: 20px; padding-right: 20px; }
  .two { gap: 28px; }
}

/* Sprint 003.2 — mobile header spacing refinement only.
   Preserve desktop/ultrawide, hero, content sections and footer. */
@media (max-width: 760px) {
  .nav {
    min-height: 0;
    padding-top: 10px;
    padding-bottom: 9px;
    gap: 7px;
    align-items: flex-start;
  }
  .brand { font-size: 14px; line-height: 1.25; }
  .brand small { font-size: 8px; line-height: 1.35; margin-top: 3px; }
  .nav nav {
    width: 100%;
    justify-content: flex-start;
    column-gap: 13px;
    row-gap: 2px;
  }
  .nav nav a {
    display: inline-block;
    padding: 5px 0;
    font-size: 12px;
    line-height: 1.35;
    white-space: nowrap;
  }
}
@media (max-width: 390px) {
  .nav nav { column-gap: 10px; }
  .nav nav a { font-size: 11.5px; }
}

/* Sprint 004 — editorial homepage review; retain Sprint 003.2 breakpoints */
.hero-attribution{letter-spacing:.17em;font-size:clamp(10px,1vw,12px)}
.section-purpose{background:#101113;text-align:center}.purpose-inner{max-width:900px}.purpose-inner .lead{margin:0 auto 20px;max-width:68ch}
.text-link{color:#e6c797;font-weight:600;text-decoration-thickness:1px}
.section-artist{background:linear-gradient(125deg,#101215,#151412 70%,#0c0e11)}
.artist-panel{display:grid;grid-template-columns:minmax(150px,.55fr) minmax(0,1.45fr);gap:clamp(26px,5vw,75px);align-items:center;max-width:1100px}
.artist-monogram{display:flex;align-items:center;justify-content:center;aspect-ratio:1;max-width:270px;width:100%;border:1px solid #665036;background:radial-gradient(circle at center,#41321d 0%,#17191c 58%,#0e1013 100%);color:#c4a174;font-size:clamp(38px,6vw,70px);font-weight:500;letter-spacing:.12em}
.artist-copy .lead{max-width:55ch}
.section-support{background:linear-gradient(135deg,#1a1816,#0c0e11 75%)}
.support-feature{padding:clamp(26px,4vw,64px);border:1px solid #725837;background:radial-gradient(ellipse at top,#45301c55,transparent 65%);text-align:center;max-width:1080px;margin:0 auto}
.support-feature h2{font-size:clamp(30px,4vw,48px)}.support-feature p{max-width:68ch;margin-left:auto;margin-right:auto}.support-feature .lead{margin-bottom:16px}.support-heart{color:#d0aa76;font-size:42px;line-height:1;margin-bottom:15px}.support-feature .btn{margin-top:6px}.support-note{font-size:13px;color:#c3b6a5;margin-top:17px;margin-bottom:0}
@media(max-width:760px){.hero-attribution{font-size:10px;letter-spacing:.12em;line-height:1.65}.artist-panel{grid-template-columns:1fr;gap:22px}.artist-monogram{max-width:160px}.support-feature{padding:28px 19px}}

/* Sprint 004.1 — identity, primary CTA and more personal purpose copy */
.hero-attribution{display:flex;flex-direction:column;align-items:center;gap:2px;line-height:1.35;color:#e5cda9;text-transform:uppercase;text-shadow:0 2px 16px #000}
.hero-attribution .artist-name{font-size:clamp(17px,1.5vw,25px);font-weight:700;letter-spacing:.16em;color:#f3e2c8}
.hero-attribution .artist-context{font-size:clamp(10px,.75vw,12px);letter-spacing:.19em;color:#c8a77b;font-weight:600}
.hero-photographic .hero-frequency{font-size:clamp(14px,1.3vw,20px);letter-spacing:.19em;color:#e1b983;margin-top:10px}
.purpose-inner .lead{max-width:72ch;line-height:1.85;font-size:clamp(17px,1.2vw,21px)}
@media(max-width:760px){.hero-attribution .artist-name{font-size:18px}.hero-attribution .artist-context{font-size:10px}.hero-photographic .hero-frequency{font-size:13px;letter-spacing:.14em}.purpose-inner .lead{font-size:17px;line-height:1.72}}

/* Sprint 004.2: use the artist's original photograph without cosmetic retouching */
.artist-photo-frame{width:100%;max-width:270px;aspect-ratio:1;border:1px solid #765b3d;overflow:hidden;background:#101114;box-shadow:0 0 0 5px #c2a0750a}
.artist-photo{display:block;width:100%;height:100%;object-fit:cover;object-position:center center}
@media(max-width:760px){.artist-photo-frame{max-width:190px}}

/* Sprint 004.3 — homepage Volume I feature only.
   Keep image subordinate to the text on ultrawide screens; other pages unaffected. */
@media (min-width: 761px) {
  .volume-feature { max-width: 1320px; grid-template-columns: minmax(0, 1fr) minmax(0, 480px); gap: clamp(38px, 4vw, 76px); }
  .volume-feature > .album-art { width: 100%; max-width: 480px; height: auto; justify-self: end; }
}
@media (min-width: 1900px) {
  .two.volume-feature { grid-template-columns: minmax(0, 1fr) minmax(0, 520px); gap: 76px; }
  .volume-feature > .album-art { max-width: 520px; }
}
@media (max-width: 760px) {
  .volume-feature > .album-art { max-width: 100%; }
}
