/* ============================================================
   NYANDA BLAZE — shared design system
   ============================================================ */
:root{
  --ink:#080706; --esp:#16100E; --esp2:#221814;
  --amber:#C9963F; --gold:#EBC57E; --gold-hi:#F6DFB0;
  --cream:#F5ECE0; --muted:#8E837A; --line:rgba(235,197,126,.16);
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{background:var(--ink);color:var(--cream);font-family:Inter,system-ui,sans-serif;font-weight:300;
  line-height:1.7;-webkit-font-smoothing:antialiased;overflow-x:hidden}
body.loading{overflow:hidden}
a{color:inherit;text-decoration:none}
img{display:block;max-width:100%}
::selection{background:var(--amber);color:var(--ink)}
.display{font-family:'Cormorant Garamond',serif;font-weight:300;line-height:.99;letter-spacing:-.01em}
.eyebrow{font-size:.66rem;letter-spacing:.5em;text-transform:uppercase;color:var(--amber);font-weight:500}
.wrap{max-width:1240px;margin:0 auto;padding:0 28px}
.wide{max-width:1600px;margin:0 auto;padding:0 28px}

/* ---------- atmosphere ---------- */
.grain{position:fixed;inset:0;z-index:60;pointer-events:none;opacity:.05;mix-blend-mode:overlay;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='240' height='240'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.82' numOctaves='4'/%3E%3C/filter%3E%3Crect width='240' height='240' filter='url(%23n)'/%3E%3C/svg%3E");
  animation:grain 1.1s steps(3) infinite}
@keyframes grain{0%{transform:translate(0,0)}33%{transform:translate(-3%,2%)}66%{transform:translate(2%,-3%)}100%{transform:translate(0,0)}}
.vignette{position:fixed;inset:0;z-index:55;pointer-events:none;
  background:radial-gradient(125% 105% at 50% 45%,transparent 44%,rgba(0,0,0,.5) 100%)}
#fx{position:fixed;inset:0;z-index:0;pointer-events:none}
.cur{position:fixed;top:0;left:0;width:420px;height:420px;margin:-210px 0 0 -210px;z-index:58;pointer-events:none;
  border-radius:50%;opacity:0;transition:opacity .6s,width .5s,height .5s,margin .5s;
  background:radial-gradient(circle,rgba(201,150,63,.14),transparent 62%)}
.cur.on{opacity:1}
.cur.big{width:620px;height:620px;margin:-310px 0 0 -310px;background:radial-gradient(circle,rgba(235,197,126,.20),transparent 62%)}
@media(pointer:coarse){.cur{display:none}}
.prog{position:fixed;top:0;left:0;height:2px;z-index:62;width:0;
  background:linear-gradient(90deg,var(--amber),var(--gold-hi));box-shadow:0 0 14px rgba(235,197,126,.7)}

/* ---------- preloader ---------- */
.pre{position:fixed;inset:0;z-index:70;background:var(--ink);display:grid;place-items:center;transition:opacity .9s,visibility .9s}
.pre.done{opacity:0;visibility:hidden}
.pre .nm{font-family:'Cormorant Garamond',serif;font-size:clamp(1.4rem,4vw,2.4rem);letter-spacing:.62em;
  text-transform:uppercase;padding-left:.62em;opacity:0;animation:prein 1.4s .2s forwards;text-align:center}
@keyframes prein{to{opacity:1}}
.pre .bar{margin:30px auto 0;width:200px;height:1px;background:rgba(235,197,126,.16);overflow:hidden}
.pre .bar i{display:block;height:100%;width:0;background:linear-gradient(90deg,var(--amber),var(--gold-hi));animation:load 2.1s .3s cubic-bezier(.6,0,.2,1) forwards}
@keyframes load{to{width:100%}}
.pre .sub{margin-top:18px;font-size:.6rem;letter-spacing:.4em;text-transform:uppercase;color:var(--muted);opacity:0;animation:prein 1s 1s forwards;text-align:center}

/* ---------- nav ---------- */
nav{position:fixed;top:0;left:0;right:0;z-index:50;transition:.5s;padding:22px 0}
nav.small{padding:12px 0;background:linear-gradient(180deg,rgba(8,7,6,.92),rgba(8,7,6,.5));backdrop-filter:blur(16px);border-bottom:1px solid rgba(235,197,126,.08)}
.navin{max-width:1600px;margin:0 auto;padding:0 28px;display:flex;align-items:center;gap:30px}
.logo{font-family:'Cormorant Garamond',serif;font-size:1.05rem;letter-spacing:.4em;text-transform:uppercase;white-space:nowrap}
.navlinks{margin-left:auto;display:flex;gap:26px;font-size:.66rem;letter-spacing:.24em;text-transform:uppercase;color:var(--muted)}
.navlinks a{position:relative;padding-bottom:4px}
.navlinks a:after{content:"";position:absolute;left:0;bottom:0;width:0;height:1px;background:var(--gold);transition:.4s}
.navlinks a:hover,.navlinks a[aria-current]{color:var(--gold)}
.navlinks a:hover:after{width:100%}
.btn{display:inline-flex;align-items:center;gap:10px;padding:14px 30px;border:1px solid var(--line);
  color:var(--cream);font-size:.68rem;letter-spacing:.26em;text-transform:uppercase;background:rgba(8,7,6,.34);
  transition:.4s;cursor:pointer;position:relative;overflow:hidden;backdrop-filter:blur(6px)}
.btn:before{content:"";position:absolute;inset:0;background:linear-gradient(120deg,var(--amber),var(--gold-hi));
  transform:translateY(101%);transition:.5s cubic-bezier(.6,0,.2,1);z-index:-1}
.btn:hover:before{transform:translateY(0)}
.btn:hover{color:var(--ink);border-color:var(--gold)}
.btn-fill{border-color:var(--amber);color:var(--gold)}
.navcta{padding:11px 22px;font-size:.62rem;border-color:rgba(235,197,126,.35)}
@media(max-width:1000px){.navlinks{display:none}.navcta{margin-left:auto}}

/* ---------- page hero (interior pages) ---------- */
.phero{position:relative;z-index:2;min-height:64svh;display:grid;place-items:center;text-align:center;
  padding:160px 24px 90px;overflow:hidden}
.phero .bg{position:absolute;inset:0;z-index:0;background-size:cover;background-position:center 26%;transform:scale(1.04)}
.phero .bg:after{content:"";position:absolute;inset:0;
  background:linear-gradient(180deg,rgba(8,7,6,.78),rgba(8,7,6,.5) 46%,var(--ink))}
.phero .inner{position:relative;z-index:2;max-width:940px}
.phero h1{font-size:clamp(2.4rem,7vw,5.4rem);margin:20px 0 20px}
.phero h1 em{font-style:italic;background:linear-gradient(100deg,var(--amber),var(--gold-hi));
  -webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}
.phero p{color:#C9BEB2;max-width:56ch;margin:0 auto}
.phero .ctas{display:flex;gap:14px;justify-content:center;flex-wrap:wrap;margin-top:36px}

/* ---------- marquee ---------- */
.marquee{position:relative;z-index:2;border-top:1px solid var(--line);border-bottom:1px solid var(--line);
  padding:22px 0;overflow:hidden;background:rgba(22,16,14,.5)}
.track{display:flex;white-space:nowrap;animation:scroll 34s linear infinite}
.track span{font-family:'Cormorant Garamond',serif;font-size:clamp(1.2rem,3.2vw,2.5rem);letter-spacing:.18em;
  text-transform:uppercase;padding:0 34px;color:transparent;-webkit-text-stroke:1px rgba(235,197,126,.42)}
.track span.fill{color:var(--gold);-webkit-text-stroke:0}
@keyframes scroll{to{transform:translateX(-50%)}}

/* ---------- sections ---------- */
section{position:relative;z-index:2;padding:120px 0}
.sechead{margin-bottom:56px;max-width:900px}
h2.big{font-size:clamp(1.8rem,4.8vw,3.7rem);margin-top:18px}
.lead{color:var(--muted);font-size:1.02rem;max-width:60ch}
.lead b{color:var(--cream);font-weight:400}
.split{display:grid;grid-template-columns:.92fr 1.08fr;gap:70px;align-items:center}
.split.rev{grid-template-columns:1.08fr .92fr}
@media(max-width:900px){.split,.split.rev{grid-template-columns:1fr;gap:40px}}
.ph{position:relative;border:1px solid var(--line);overflow:hidden}
.ph img{width:100%;height:100%;object-fit:cover;min-height:380px}
.ph.tall img{aspect-ratio:3/4;min-height:0}
.ph.sq img{aspect-ratio:1/1;min-height:0}
.ph:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 52%,rgba(8,7,6,.6))}

/* ---------- cards ---------- */
.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);border:1px solid var(--line)}
@media(max-width:900px){.grid3{grid-template-columns:1fr}}
.card{position:relative;overflow:hidden;min-height:470px;display:flex;flex-direction:column;justify-content:flex-end;background:var(--ink)}
.card img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 22%;
  filter:saturate(.95) brightness(.72);transition:1s cubic-bezier(.2,.9,.2,1)}
.card:hover img{transform:scale(1.06);filter:saturate(1.05) brightness(.86)}
.card:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(8,7,6,.12),rgba(8,7,6,.55) 52%,rgba(8,7,6,.96))}
.card .num{position:absolute;top:24px;left:26px;z-index:3;font-family:'Cormorant Garamond',serif;font-size:4.2rem;
  color:transparent;-webkit-text-stroke:1px rgba(235,197,126,.34);line-height:1;transition:.6s}
.card:hover .num{-webkit-text-stroke-color:rgba(235,197,126,.8)}
.card .rel{position:absolute;top:26px;right:24px;z-index:3;font-size:.55rem;letter-spacing:.24em;text-transform:uppercase;
  color:var(--ink);background:var(--amber);padding:5px 10px}
.card .body{position:relative;z-index:3;padding:34px 30px}
.card b{font-family:'Cormorant Garamond',serif;font-size:1.8rem;font-weight:400;display:block;margin-bottom:10px}
.card p{font-size:.85rem;color:#C9BEB2;margin-bottom:18px;max-width:30ch}
.lnk{font-size:.63rem;letter-spacing:.28em;text-transform:uppercase;color:var(--gold);display:inline-flex;gap:8px;align-items:center}
.lnk:after{content:"→";transition:.4s}
.card:hover .lnk:after{transform:translateX(6px)}

/* ---------- gallery ---------- */
.gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
@media(max-width:820px){.gallery{grid-template-columns:1fr 1fr}}
.gallery .g{position:relative;overflow:hidden;border:1px solid var(--line)}
.gallery .g img{width:100%;height:100%;aspect-ratio:3/4;object-fit:cover;object-position:center 18%;
  filter:saturate(.95) brightness(.8);transition:1s}
.gallery .g:hover img{transform:scale(1.06);filter:saturate(1.05) brightness(1)}
.gallery .g:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 55%,rgba(8,7,6,.62))}
.gallery .g span{position:absolute;left:16px;bottom:14px;z-index:2;font-size:.6rem;letter-spacing:.26em;text-transform:uppercase;color:var(--gold)}
.gallery .g .play{position:absolute;inset:0;display:grid;place-items:center;z-index:2}
.gallery .g .play i{width:64px;height:64px;border-radius:50%;border:1px solid rgba(235,197,126,.5);
  background:rgba(8,7,6,.35);backdrop-filter:blur(4px);display:grid;place-items:center}
.gallery .g .play i:after{content:"";border-left:12px solid var(--gold);border-top:8px solid transparent;border-bottom:8px solid transparent;margin-left:4px}

/* ---------- statement band ---------- */
.statement{position:relative;min-height:74vh;display:grid;place-items:center;padding:0;overflow:hidden}
.statement .bg{position:absolute;inset:0;background-size:cover;background-position:center 30%;background-attachment:fixed}
.statement .bg:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(8,7,6,.72),rgba(8,7,6,.4) 42%,rgba(8,7,6,.86))}
.statement .q{position:relative;z-index:3;max-width:1000px;padding:60px 34px;text-align:center}
.statement .q p{font-family:'Cormorant Garamond',serif;font-style:italic;font-weight:300;font-size:clamp(1.6rem,4.2vw,3.2rem);line-height:1.16}
.statement .q span{display:inline-block;margin-top:24px}
@media(max-width:900px){.statement .bg{background-attachment:scroll}}

/* ---------- lists / facts ---------- */
.songlist{list-style:none;border-top:1px solid var(--line)}
.songlist li{display:flex;justify-content:space-between;align-items:center;padding:20px 4px;border-bottom:1px solid rgba(235,197,126,.09);transition:.35s}
.songlist li:hover{padding-left:14px;color:var(--gold)}
.songlist li span:first-child{font-family:'Cormorant Garamond',serif;font-size:1.3rem}
.songlist li em{font-style:normal;font-size:.62rem;letter-spacing:.26em;text-transform:uppercase;color:var(--amber)}
.songlist li small{color:var(--muted);font-size:.7rem;letter-spacing:.2em;text-transform:uppercase}
.facts{width:100%;border-collapse:collapse;border-top:1px solid var(--line)}
.facts th,.facts td{text-align:left;padding:16px 4px;border-bottom:1px solid rgba(235,197,126,.09);vertical-align:top}
.facts th{width:38%;font-size:.64rem;letter-spacing:.26em;text-transform:uppercase;color:var(--amber);font-weight:500}
.facts td{color:var(--cream);font-size:.98rem}

/* ---------- forms ---------- */
.panel{padding:56px 44px;border:1px solid var(--line);position:relative;overflow:hidden;
  background:radial-gradient(620px 380px at 50% -10%,rgba(201,150,63,.2),transparent 68%),rgba(22,16,14,.62)}
.panel h2{font-size:clamp(1.6rem,3.6vw,2.6rem);margin:18px 0 16px;max-width:24ch}
.panel .sub{color:var(--muted);font-size:.93rem;max-width:46ch;margin-bottom:32px}
form .row{display:flex;gap:12px;flex-wrap:wrap;margin-bottom:12px}
input,textarea,select{width:100%;padding:15px 16px;background:rgba(8,7,6,.75);border:1px solid var(--line);
  color:var(--cream);font-family:Inter,sans-serif;font-size:.92rem;outline:none;transition:.3s}
input:focus,textarea:focus,select:focus{border-color:var(--amber);box-shadow:0 0 0 4px rgba(201,150,63,.08)}
textarea{min-height:150px;resize:vertical}
label.f{display:block;font-size:.6rem;letter-spacing:.26em;text-transform:uppercase;color:var(--muted);margin-bottom:8px}
.trust{font-size:.64rem;letter-spacing:.16em;color:var(--muted);margin-top:16px}
.ok{display:none;color:var(--gold);font-size:.9rem;margin-top:16px}
.ok.show{display:block}

/* ---------- footer ---------- */
footer{position:relative;z-index:2;border-top:1px solid var(--line);padding:76px 0 40px;overflow:hidden}
.fgrid{display:flex;justify-content:space-between;gap:46px;flex-wrap:wrap;margin-bottom:56px}
.fgrid h4{font-size:.62rem;letter-spacing:.32em;text-transform:uppercase;color:var(--amber);margin-bottom:16px}
.fgrid a{display:block;padding:5px 0;color:var(--muted);font-size:.87rem;transition:.3s}
.fgrid a:hover{color:var(--gold);transform:translateX(4px)}
.wordmark{font-family:'Cormorant Garamond',serif;font-size:clamp(2.6rem,13vw,12rem);line-height:.82;text-align:center;
  color:transparent;-webkit-text-stroke:1px rgba(235,197,126,.24);white-space:nowrap;margin-bottom:42px}
.legal{font-size:.66rem;letter-spacing:.1em;color:rgba(142,131,122,.7);border-top:1px solid rgba(235,197,126,.08);
  padding-top:24px;display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap}

/* ---------- motion ---------- */
.reveal{opacity:0;transform:translateY(34px);transition:opacity 1.15s cubic-bezier(.2,.9,.2,1),transform 1.15s cubic-bezier(.2,.9,.2,1)}
.reveal.in{opacity:1;transform:none}
@media(prefers-reduced-motion:reduce){
  *{animation-duration:.001s!important;transition-duration:.15s!important}
  .reveal{opacity:1;transform:none}.grain{animation:none}.phero .bg{transform:none}
}
