:root{--ink:#111716;--deep:#073b43;--teal:#159e9a;--gold:#f2a93b;--sand:#e8d3a8;--white:#f7f3e9}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--white);background:var(--ink);font-family:Arial,Helvetica,sans-serif;line-height:1.6}img{max-width:100%}a{color:inherit}
.site-header{position:absolute;z-index:5;inset:0 0 auto;display:flex;align-items:center;justify-content:space-between;padding:24px clamp(20px,5vw,76px);background:linear-gradient(180deg,rgba(17,23,22,.86),transparent)}.header-logo{display:block;width:clamp(190px,22vw,320px)}.header-logo img{display:block;width:100%}.site-header nav{display:flex;gap:clamp(16px,3vw,42px)}.site-header nav a{color:var(--white);text-decoration:none;text-transform:uppercase;font-size:.68rem;font-weight:800;letter-spacing:.18em}.site-header nav a:hover,.site-header nav a:focus-visible{color:var(--gold)}
.hero{position:relative;min-height:100svh;display:flex;align-items:flex-end;justify-content:center;overflow:hidden;padding:150px clamp(22px,5vw,76px) 52px;background:#080b0b}.hero-photo,.hero-shade{position:absolute;inset:0;width:100%;height:100%}.hero-photo{object-fit:contain;object-position:center top}.hero-shade{background:linear-gradient(0deg,rgba(8,11,11,.98) 0%,rgba(8,11,11,.76) 15%,rgba(8,11,11,.12) 38%,transparent 62%)}.hero-content{position:relative;z-index:2;width:min(700px,88vw);text-align:center}.hero-content h1{margin:0}.hero-content h1 img{display:block;width:100%;filter:drop-shadow(0 5px 16px rgba(0,0,0,.75))}.hero-tagline{margin:10px 0 22px;color:rgba(247,243,233,.72);font-family:Georgia,serif;font-size:clamp(.88rem,1.2vw,1.04rem);letter-spacing:.06em}.hero .actions{justify-content:center}.eyebrow,.section-label{margin:0 0 16px;color:var(--gold);text-transform:uppercase;font-size:.72rem;font-weight:900;letter-spacing:.24em}h1,h2,h3{margin:0;line-height:.98;letter-spacing:-.045em}.actions{display:flex;align-items:center;gap:24px;flex-wrap:wrap}.button{display:inline-block;padding:13px 21px;color:var(--ink);background:var(--white);border:1px solid var(--white);text-decoration:none;text-transform:uppercase;font-size:.7rem;font-weight:900;letter-spacing:.14em}.button-gold{background:var(--gold);border-color:var(--gold)}.button:hover,.button:focus-visible{color:var(--white);background:var(--teal);border-color:var(--teal)}.text-link{font-size:.74rem;font-weight:800;text-transform:uppercase;letter-spacing:.13em;text-underline-offset:5px}
.music{padding:clamp(70px,9vw,130px) clamp(22px,7vw,110px);background:linear-gradient(135deg,var(--sand),var(--white) 58%,#d8ba83);color:var(--ink)}.music-heading{display:grid;grid-template-columns:1fr 1fr;align-items:end;gap:30px;margin-bottom:clamp(45px,7vw,90px)}.music-heading .section-label{grid-column:1/-1;margin-bottom:0}.music-heading h2,.story h2,.band h2,.invitation h2{font-size:clamp(2.8rem,6vw,6.2rem)}.music-heading>p:last-child{max-width:520px;margin:0;font-family:Georgia,serif;font-size:clamp(1.05rem,1.4vw,1.24rem)}.album-panel{display:grid;grid-template-columns:minmax(250px,.72fr) 1.28fr;gap:clamp(34px,6vw,85px);align-items:start;padding:clamp(34px,5vw,70px) 0;border-top:1px solid rgba(17,23,22,.2)}.album-cover img{display:block;width:100%;box-shadow:0 24px 50px rgba(17,23,22,.24)}.album-details h3{font-size:clamp(2.7rem,5vw,5.4rem);color:var(--ink)}.album-number{display:flex;align-items:center;gap:14px;margin:0 0 14px;color:#775b26;text-transform:uppercase;font-size:.7rem;font-weight:900;letter-spacing:.2em}.album-number strong{padding:6px 9px;color:var(--white);background:var(--teal);font-size:.6rem;letter-spacing:.13em}.album-intro{max-width:760px;margin:20px 0 28px;font-family:Georgia,serif;font-size:clamp(1rem,1.35vw,1.18rem)}.track-list{display:grid;grid-template-columns:1fr 1fr;column-gap:38px;row-gap:6px;margin:0 0 30px;padding:0;list-style-position:inside}.track-list li{padding:7px 0;border-bottom:1px solid rgba(17,23,22,.12);font-size:.88rem}.album-button{margin-top:2px}
.story{display:grid;grid-template-columns:1.2fr .8fr;gap:8vw;align-items:center;padding:clamp(80px,12vw,170px) clamp(22px,8vw,125px);background:var(--deep)}.story-copy>p:not(.section-label){max-width:720px;margin-top:28px;color:rgba(247,243,233,.84);font-family:Georgia,serif;font-size:clamp(1.05rem,1.5vw,1.28rem)}blockquote{margin:0;padding:50px 0 50px 46px;border-left:2px solid var(--gold);font-size:clamp(2.5rem,5vw,5rem);font-weight:900;line-height:1.02;text-transform:uppercase}blockquote span{display:block;color:var(--gold);font-family:Georgia,serif;font-size:5rem;line-height:.45}blockquote strong{color:var(--gold)}
.depth{padding:clamp(90px,13vw,180px) clamp(22px,8vw,125px);background:linear-gradient(135deg,var(--teal),#0b7474)}.depth p{max-width:700px;margin:0 0 28px;font-family:Georgia,serif;font-size:1.2rem}.depth h2{max-width:1200px;color:var(--ink);font-size:clamp(2.5rem,5.5vw,5.8rem)}
.band{padding:clamp(80px,11vw,155px) clamp(22px,8vw,125px);background:#151c1b}.band-heading{display:grid;grid-template-columns:1fr 1fr;column-gap:7vw;align-items:end;margin-bottom:60px}.band-heading .section-label{grid-column:1/-1}.band-heading>p:last-child{max-width:530px;margin:0;color:rgba(247,243,233,.68);font-family:Georgia,serif;font-size:1.15rem}.members{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid rgba(255,255,255,.15);border-left:1px solid rgba(255,255,255,.15)}.members article{min-height:180px;padding:30px;border-right:1px solid rgba(255,255,255,.15);border-bottom:1px solid rgba(255,255,255,.15)}.members h3{color:var(--gold);font-size:clamp(2rem,3vw,3.4rem)}.members p{margin:18px 0 0;color:rgba(247,243,233,.68);font-size:.82rem;text-transform:uppercase;letter-spacing:.1em}
.invitation{display:grid;grid-template-columns:minmax(240px,.65fr) 1.35fr;gap:7vw;align-items:center;padding:clamp(75px,10vw,135px) clamp(22px,8vw,125px);background:var(--white);color:var(--ink)}.invitation img{display:block;width:min(420px,100%);filter:drop-shadow(0 18px 18px rgba(7,59,67,.18))}.invitation h2{color:var(--ink)}
footer{display:grid;grid-template-columns:minmax(220px,1fr) auto auto;gap:30px;align-items:end;padding:42px clamp(22px,5vw,72px);border-top:1px solid rgba(255,255,255,.12)}.footer-logo{display:block;width:min(300px,100%)}footer a{color:var(--gold);font-size:.72rem;font-weight:800;text-transform:uppercase;letter-spacing:.14em}footer small{color:rgba(247,243,233,.58)}
@media(min-width:1000px){.hero{min-height:760px}}
@media(max-width:760px){.site-header{padding:17px}.header-logo{width:175px}.site-header nav a:not(:first-child){display:none}.hero{min-height:640px;padding:110px 18px 34px}.hero-photo{height:auto;min-height:0;top:84px;object-fit:contain}.hero-shade{background:linear-gradient(0deg,rgba(8,11,11,.98) 0%,rgba(8,11,11,.74) 24%,rgba(8,11,11,.06) 58%,transparent 75%)}.hero-content{width:min(540px,92vw)}.hero-tagline{margin-top:7px}.music-heading,.album-panel,.story,.invitation{grid-template-columns:1fr}.music-heading{gap:18px}.album-panel{gap:30px}.album-cover{max-width:500px}.track-list{grid-template-columns:1fr}.story{gap:45px}.story h2 br{display:none}blockquote{padding:35px 0 35px 25px}.band-heading{grid-template-columns:1fr;gap:22px}.members{grid-template-columns:1fr 1fr}.members article{min-height:145px;padding:22px 18px}.invitation img{width:min(300px,80vw);margin:auto}footer{grid-template-columns:1fr;align-items:start}}
@media(max-width:420px){.members{grid-template-columns:1fr}.site-header nav{display:none}.hero{min-height:580px}.hero-content{width:94vw}.hero .actions{gap:14px}.hero .text-link{display:none}}
.site-header{justify-content:flex-end;background:linear-gradient(180deg,rgba(17,23,22,.72),transparent)}
.header-logo{display:none}
.hero-tagline{margin:12px 0 24px;color:rgba(247,243,233,.9);font-size:clamp(1.08rem,1.65vw,1.42rem);font-weight:700;letter-spacing:.055em;text-shadow:0 2px 12px rgba(0,0,0,.7)}
.music{background-color:var(--deep);background-image:linear-gradient(rgba(7,59,67,.04),rgba(7,59,67,.18)),url('assets/music-coastal-clean-v2.png');background-position:center top;background-size:cover;background-attachment:fixed}
.music-heading{display:block;margin-bottom:38px;text-align:center}.music-heading h2{display:inline-block;position:relative;padding:0 0 12px;color:var(--white);font-family:"Arial Black",Arial,sans-serif;font-size:clamp(1.7rem,3vw,2.7rem);font-style:normal;font-weight:900;letter-spacing:.22em;line-height:1;text-transform:uppercase;text-shadow:0 3px 12px rgba(7,59,67,.58)}.music-heading h2::after{content:"";position:absolute;left:10%;right:calc(10% + .22em);bottom:0;height:4px;background:var(--gold);box-shadow:0 3px 0 rgba(7,59,67,.48)}
.album-grid{display:grid;grid-template-columns:1fr;gap:clamp(28px,4vw,48px);align-items:start}
.album-panel{display:grid;grid-template-columns:360px minmax(0,1fr);gap:32px;align-items:stretch;width:min(1080px,100%);margin:0 auto;padding:20px;border:1px solid rgba(255,255,255,.72);border-radius:6px;background:rgba(247,243,233,.94);box-shadow:0 24px 55px rgba(7,59,67,.38);backdrop-filter:blur(8px)}
.album-cover{width:360px;height:360px;max-width:none;margin:0}.album-cover img{width:100%;height:100%;aspect-ratio:1;object-fit:cover;box-shadow:0 14px 28px rgba(17,23,22,.25)}
.album-details{height:360px;display:flex;flex-direction:column;min-width:0}.album-details h3{text-align:left;font-size:clamp(1.85rem,2.7vw,2.8rem);line-height:1;margin:3px 0 7px}.album-number{justify-content:flex-start;margin-bottom:3px;font-size:.62rem}.album-intro{min-height:0;margin:0 0 8px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-align:left;font-size:.82rem;line-height:1.35}.track-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-flow:column;grid-template-rows:repeat(8,auto);column-gap:24px;margin:0}.track-list li{padding:4px 0;font-size:.78rem;line-height:1.12}.album-button{display:block;width:max-content;max-width:100%;margin:auto 0 0;padding:10px 16px;text-align:center;font-size:.63rem}
.social-links{display:flex;gap:22px;flex-wrap:wrap}.social-links a{color:var(--gold);font-size:.72rem;font-weight:800;text-transform:uppercase;letter-spacing:.14em}
@media(max-width:900px){.music{background-attachment:scroll}.album-grid{grid-template-columns:1fr}.album-panel{grid-template-columns:1fr;max-width:620px;margin:auto}.album-cover{width:min(100%,420px);height:auto;margin:0 auto}.album-details{height:auto}.track-list{grid-auto-flow:row;grid-template-rows:none;grid-template-columns:repeat(2,minmax(0,1fr))}.album-button{margin:18px 0 0}.album-intro{min-height:0;overflow:visible;text-overflow:clip;white-space:normal}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

/* Keep album descriptions readable instead of allowing flex to clip them. */
.music .album-intro{flex-shrink:0;min-height:1.35em;white-space:normal;overflow:visible;text-overflow:clip}
@media(min-width:901px){.album-details>*{flex-shrink:0}.album-details .track-list{row-gap:2px}.album-details .track-list li{padding:3px 0}}

/* Rod's personal story: local review, scoped to the existing Story section. */
/* Supplied band artwork is displayed as a photo crop; original files are untouched. */
.member-gallery{gap:26px;border:0;align-items:stretch}.member-gallery article{min-width:0;min-height:0;padding:0;overflow:hidden;border:1px solid rgba(255,255,255,.16);background:#1b2726;border-radius:4px}.member-gallery .member-portrait{display:block;width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;object-position:center top}.member-copy{padding:24px}.member-gallery h3{font-size:2.5rem;line-height:1.05}.member-gallery .member-name{margin:8px 0 12px;text-transform:none;letter-spacing:.02em;font-size:.85rem;color:#d5e5e1}.member-gallery .member-role{min-height:40px;margin:0 0 16px;color:#f2bd69;font-size:.7rem;line-height:1.6;letter-spacing:.08em}.member-gallery .member-bio{margin:0;color:#eef3ef;font-family:Georgia,serif;font-size:1rem;line-height:1.65;letter-spacing:0;text-transform:none}
@media(max-width:1050px){.member-gallery{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:600px){.member-gallery{grid-template-columns:minmax(0,1fr);gap:24px}.member-copy{padding:22px}.member-gallery .member-role{min-height:0}}
.story{grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);align-items:start;gap:clamp(40px,6vw,90px);padding:clamp(58px,7vw,100px) max(22px,calc((100% - 1120px)/2));background:radial-gradient(ellipse at 0 0,rgba(21,158,154,.2),transparent 65%),#073b43}
.story-heading,.story-copy{min-width:0}.story .section-label{color:#f2bd69;letter-spacing:.18em;font-size:.68rem;margin-bottom:24px}
.story h2{max-width:500px;font-family:Georgia,'Times New Roman',serif;font-size:clamp(2.9rem,5.2vw,4.8rem);font-weight:400;line-height:1.06;letter-spacing:-.045em}.story h2 em{display:block;color:#f2bd69;font-weight:400}
.story-place{margin:24px 0 30px;color:#c8e2df;font-size:.74rem;letter-spacing:.13em;text-transform:uppercase}
.story-context{max-width:370px;border-top:1px solid rgba(242,189,105,.6);padding-top:18px}.story-context p{margin:0 0 12px;color:#d2e8e5;font-size:.87rem;line-height:1.65}.story-context p:first-child{font-weight:700;color:#fff9ed}
.story .story-copy p{max-width:none;margin:0 0 22px;color:#f1f6f3;font-family:Georgia,'Times New Roman',serif;font-size:clamp(1.08rem,1.4vw,1.2rem);line-height:1.75}.story .story-copy>p:first-child{font-size:clamp(1.3rem,1.8vw,1.6rem);line-height:1.5;color:#fff9ed}
.story-more{margin-top:28px}.story-more summary{display:flex;align-items:center;justify-content:space-between;gap:24px;width:fit-content;min-height:48px;padding:12px 18px;cursor:pointer;border:1px solid #a4c9c5;border-radius:2px;color:#fff9ed;font-family:Arial,Helvetica,sans-serif;font-size:.75rem;font-weight:700;letter-spacing:.09em;text-transform:uppercase;list-style:none}.story-more summary::-webkit-details-marker{display:none}.story-more summary:hover{background:rgba(255,255,255,.08)}.story-more summary:focus-visible{outline:3px solid #f2bd69;outline-offset:5px}.story-close{display:none}.story-more[open] .story-read{display:none}.story-more[open] .story-close{display:inline}.story-toggle::before{content:'+';font-size:1.3rem;line-height:1}.story-more[open] .story-toggle::before{content:'−'}.story-full{padding-top:30px}.story .story-copy .story-signature{margin:26px 0 0;color:#f2bd69;font-style:italic;font-size:1.55rem}.story-full strong{color:#f2bd69;font-weight:400;font-style:italic;font-size:1.3em}
@media(max-width:760px){.story{grid-template-columns:minmax(0,1fr);gap:30px;padding:52px 24px}.story h2{font-size:clamp(2.8rem,10vw,4.2rem)}.story-context{max-width:none}.story-place{margin:20px 0 24px}.story .section-label{margin-bottom:20px}.story .story-copy p{font-size:1.06rem;line-height:1.75}.story .story-copy>p:first-child{font-size:1.3rem}}
