/* ============================================================
   VICTOR AKINDE — victorakinde.com
   Design tokens & global styles
   ============================================================ */

:root{
  /* Colour */
  --ivory:#F2EDE4;          /* primary light background */
  --paper:#FBF9F5;          /* secondary background */
  --ink:#17171A;            /* near-black */
  --ink-2:#232328;          /* raised dark surface */
  --stone:#6E6960;          /* secondary text on light */
  --stone-inv:#A9A297;      /* secondary text on dark */
  --bronze:#8C6A43;         /* accent, light backgrounds */
  --bronze-lt:#C09561;      /* accent, dark backgrounds */
  --rule:rgba(23,23,26,.13);
  --rule-inv:rgba(242,237,228,.16);

  /* Type */
  --serif:'Fraunces',Georgia,'Times New Roman',serif;
  --sans:'Instrument Sans',-apple-system,BlinkMacSystemFont,'Segoe UI',Helvetica,Arial,sans-serif;

  /* Space */
  --pad:clamp(1.25rem,5vw,4.5rem);
  --maxw:1380px;
  --section:clamp(5rem,11vw,10rem);
  --nav-h:78px;
}

*,*::before,*::after{box-sizing:border-box}

html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

body{
  margin:0;
  background:var(--ivory);
  color:var(--ink);
  font-family:var(--sans);
  font-size:clamp(1rem,.97rem + .15vw,1.0625rem);
  line-height:1.65;
  font-weight:400;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
  overflow-x:hidden;
}

img{max-width:100%;display:block}
a{color:inherit}
button{font:inherit;color:inherit}

:focus-visible{outline:2px solid var(--bronze);outline-offset:3px;border-radius:2px}

.wrap{width:min(100% - (var(--pad) * 2),var(--maxw));margin-inline:auto}
.wrap--narrow{width:min(100% - (var(--pad) * 2),860px);margin-inline:auto}
.measure{max-width:860px}

.skip{position:absolute;left:-9999px;top:0;background:var(--ink);color:var(--ivory);padding:.75rem 1rem;z-index:200}
.skip:focus{left:.5rem;top:.5rem}

/* ---------- Type roles ---------- */

.display{
  font-family:var(--serif);
  font-weight:400;
  font-variation-settings:"opsz" 144;
  line-height:.95;
  letter-spacing:-.025em;
  margin:0;
}
.display--xl{font-size:clamp(3.4rem,12.5vw,10rem);line-height:.88;letter-spacing:-.035em}
.display--lg{font-size:clamp(2.5rem,6.4vw,5rem)}
.display--md{font-size:clamp(2rem,4.4vw,3.4rem)}
.display--it{font-style:italic;font-weight:300}

.eyebrow{
  font-family:var(--sans);
  font-size:.7rem;
  font-weight:500;
  letter-spacing:.24em;
  text-transform:uppercase;
  color:var(--bronze);
  margin:0 0 1.4rem;
  display:flex;
  align-items:center;
  gap:.85rem;
}
.eyebrow::before{content:'';width:26px;height:1px;background:currentColor;flex:none}
.eyebrow--plain::before{display:none}

.lede{
  font-size:clamp(1.1rem,1rem + .5vw,1.35rem);
  line-height:1.55;
  color:var(--ink);
  max-width:46ch;
}
.body{color:var(--stone);max-width:56ch}
.body p{margin:0 0 1.1em}
.body p:last-child{margin-bottom:0}

.on-dark{color:var(--ivory)}
.on-dark .body,.on-dark .muted{color:var(--stone-inv)}
.on-dark .eyebrow{color:var(--bronze-lt)}

.muted{color:var(--stone)}
.rule{height:1px;background:var(--rule);border:0;margin:0}
.on-dark .rule{background:var(--rule-inv)}

/* ---------- Buttons ---------- */

.btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:.7rem;
  padding:1.05rem 1.9rem;
  font-family:var(--sans);
  font-size:.72rem;
  font-weight:600;
  letter-spacing:.16em;
  text-transform:uppercase;
  text-decoration:none;
  border:1px solid var(--ink);
  background:var(--ink);
  color:var(--ivory);
  border-radius:999px;
  cursor:pointer;
  transition:background .35s ease,color .35s ease,border-color .35s ease,transform .35s ease;
}
.btn:hover{background:var(--bronze);border-color:var(--bronze);color:#fff}
.btn--ghost{background:transparent;color:var(--ink);border-color:var(--ink)}
.btn--ghost:hover{background:var(--ink);color:var(--ivory);border-color:var(--ink)}
.btn--light{background:var(--ivory);border-color:var(--ivory);color:var(--ink)}
.btn--light:hover{background:var(--bronze-lt);border-color:var(--bronze-lt);color:var(--ink)}
.btn--ghost-light{background:transparent;color:var(--ivory);border-color:rgba(242,237,228,.45)}
.btn--ghost-light:hover{background:var(--ivory);color:var(--ink);border-color:var(--ivory)}
.btn--sm{padding:.8rem 1.4rem;font-size:.66rem}

.btn[data-unset]{
  border-style:dashed;
  background:transparent;
  color:var(--stone);
  border-color:rgba(140,106,67,.55);
  cursor:not-allowed;
}
.btn[data-unset]:hover{background:transparent;color:var(--stone)}
.on-dark .btn[data-unset]{color:var(--stone-inv);border-color:rgba(192,149,97,.5)}

.link{
  display:inline-flex;align-items:center;gap:.6rem;
  font-size:.72rem;font-weight:600;letter-spacing:.16em;text-transform:uppercase;
  text-decoration:none;color:var(--ink);
  padding-bottom:.5rem;border-bottom:1px solid var(--rule);
  transition:border-color .35s ease,color .35s ease,gap .35s ease;
}
.link:hover{color:var(--bronze);border-color:var(--bronze);gap:1rem}
.on-dark .link{color:var(--ivory);border-color:var(--rule-inv)}
.on-dark .link:hover{color:var(--bronze-lt);border-color:var(--bronze-lt)}
.link .arw{transition:transform .35s ease}
.link:hover .arw{transform:translateX(3px)}

.btn-row{display:flex;flex-wrap:wrap;gap:.85rem;align-items:center}

/* ---------- Media frames (photography slots) ---------- */

.media{
  position:relative;
  overflow:hidden;
  background:linear-gradient(155deg,#E8E1D5,#D7CEBE);
}
.media img{width:100%;height:100%;object-fit:cover}
.media--dark{background:linear-gradient(155deg,#2A2A30,#191920)}
.media.is-empty::before{
  content:'';position:absolute;inset:0;
  background:repeating-linear-gradient(135deg,transparent 0 24px,rgba(23,23,26,.04) 24px 25px);
}
.media--dark.is-empty::before{background:repeating-linear-gradient(135deg,transparent 0 24px,rgba(255,255,255,.045) 24px 25px)}
.media__note{
  display:none;overflow-wrap:anywhere;position:absolute;left:0;right:0;bottom:0;
  padding:.85rem 1.1rem;margin:0;
  font-size:.6rem;font-weight:500;letter-spacing:.16em;text-transform:uppercase;line-height:1.5;
  color:#7C7466;background:rgba(255,255,255,.6);border-top:1px solid rgba(23,23,26,.09);
  backdrop-filter:blur(3px);
}
.media--focus-top img{object-position:center 26%}
.media--square{aspect-ratio:1/1}
.split__media--square{aspect-ratio:1/1}
.media__note b{overflow-wrap:anywhere}
.media--dark .media__note{color:#9C9488;background:rgba(0,0,0,.35);border-top-color:rgba(255,255,255,.1)}
.media.is-empty .media__note{display:block}

/* ---------- Navigation ---------- */

.nav{
  position:fixed;inset:0 0 auto 0;z-index:100;
  transition:background .4s ease,border-color .4s ease,backdrop-filter .4s ease;
  border-bottom:1px solid transparent;
}
.nav.is-stuck{background:rgba(242,237,228,.88);backdrop-filter:blur(14px);border-bottom-color:var(--rule)}
.nav__inner{display:flex;align-items:center;justify-content:space-between;gap:2rem;height:var(--nav-h)}
.wordmark{
  font-size:.78rem;font-weight:600;letter-spacing:.28em;text-transform:uppercase;
  text-decoration:none;white-space:nowrap;
}
.nav__links{display:flex;gap:2.2rem}
.nav__links a{
  font-size:.72rem;font-weight:500;letter-spacing:.14em;text-transform:uppercase;
  text-decoration:none;color:var(--stone);transition:color .3s ease;
}
.nav__links a:hover,.nav__links a[aria-current]{color:var(--ink)}
.nav__toggle{
  display:none;width:44px;height:44px;background:none;border:0;cursor:pointer;
  align-items:center;justify-content:center;flex-direction:column;gap:6px;margin-right:-10px;
}
.nav__toggle span{display:block;width:24px;height:1.5px;background:var(--ink);transition:transform .35s ease,opacity .3s ease}
.nav__toggle[aria-expanded="true"] span:first-child{transform:translateY(3.75px) rotate(45deg)}
.nav__toggle[aria-expanded="true"] span:last-child{transform:translateY(-3.75px) rotate(-45deg)}

.nav--dark:not(.is-stuck) .wordmark{color:var(--ivory)}
.nav--dark:not(.is-stuck) .nav__links a{color:var(--stone-inv)}
.nav--dark:not(.is-stuck) .nav__links a:hover,
.nav--dark:not(.is-stuck) .nav__links a[aria-current]{color:var(--ivory)}
.nav--dark:not(.is-stuck) .nav__cta{background:var(--ivory);border-color:var(--ivory);color:var(--ink)}
.nav--dark:not(.is-stuck) .nav__cta:hover{background:var(--bronze-lt);border-color:var(--bronze-lt)}
.nav--dark:not(.is-stuck) .nav__toggle span{background:var(--ivory)}

.menu{
  position:fixed;inset:0;z-index:99;background:var(--ivory);
  padding:calc(var(--nav-h) + 2rem) var(--pad) 3rem;
  display:flex;flex-direction:column;justify-content:space-between;
}
.menu[hidden]{display:none}
.menu__links{display:flex;flex-direction:column;gap:.4rem}
.menu__links a{
  font-family:var(--serif);font-variation-settings:"opsz" 144;
  font-size:clamp(2.4rem,11vw,3.6rem);line-height:1.15;letter-spacing:-.02em;
  text-decoration:none;
}
.menu__foot{display:flex;flex-direction:column;gap:1.4rem}

@media (max-width:900px){
  .nav__links,.nav__cta{display:none}
  .nav__toggle{display:flex}
}

/* ---------- Hero ---------- */

.hero{position:relative;background:var(--ivory)}
.hero__grid{
  position:relative;
  display:grid;grid-template-columns:1fr minmax(320px,42%);
  align-items:stretch;gap:clamp(2rem,5vw,4.5rem);
  min-height:100svh;
  width:100%;margin:0;
  padding-left:max(var(--pad),calc((100% - var(--maxw)) / 2));
}
.hero__copy{
  display:flex;flex-direction:column;justify-content:center;
  padding:calc(var(--nav-h) + 3rem) 0 4rem;
}
.hero__name{margin:0 0 2rem}
.hero__name .ln2{display:block;padding-left:.08em}
.hero__statement{
  font-family:var(--serif);font-variation-settings:"opsz" 96;
  font-weight:300;font-size:clamp(1.5rem,2.5vw,2.2rem);line-height:1.25;letter-spacing:-.015em;
  margin:0 0 1.6rem;max-width:18ch;
}
.hero__statement em{font-style:italic;color:var(--bronze)}
.hero__body{margin:0 0 2.6rem;max-width:44ch;color:var(--stone)}
.hero__media{position:relative;border-left:1px solid var(--rule)}
.hero__media .media{position:absolute;inset:var(--nav-h) 0 0 0}
.hero__scroll{
  position:absolute;left:0;bottom:2rem;display:flex;align-items:center;gap:.75rem;
  font-size:.6rem;letter-spacing:.24em;text-transform:uppercase;color:var(--stone);
}
.hero__scroll i{display:block;width:44px;height:1px;background:var(--rule);position:relative;overflow:hidden}
.hero__scroll i::after{content:'';position:absolute;inset:0;background:var(--bronze);animation:trace 2.6s ease-in-out infinite}
@keyframes trace{0%{transform:translateX(-100%)}60%,100%{transform:translateX(100%)}}

@media (max-width:900px){
  .hero__grid{grid-template-columns:1fr;min-height:0;gap:0;padding-left:0}
  .hero__copy{padding:calc(var(--nav-h) + 2.5rem) var(--pad) 2.75rem;order:2}
  .hero__media{
    order:1;border-left:0;margin-top:var(--nav-h);
    position:relative;height:0;padding-bottom:125%;overflow:hidden;
  }
  .hero__media .media{position:absolute;inset:0;width:100%;height:100%}
  .hero__scroll{display:none}
}

/* ---------- Declaration strip ---------- */

.strip{background:var(--ink);color:var(--ivory);padding-block:clamp(5rem,10vw,9rem);overflow:hidden}
.strip__words{margin:0}
.strip__words span{display:block}
.strip__words .w2{padding-left:1.2em;color:var(--bronze-lt);font-style:italic;font-weight:300}
.strip__words .w3{padding-left:2.4em}
.strip__foot{margin-top:clamp(2.5rem,5vw,4rem);display:flex;flex-wrap:wrap;gap:2rem;align-items:baseline;justify-content:space-between}

/* ---------- Generic section ---------- */

.sec{padding-block:var(--section)}
.sec--paper{background:var(--paper)}
.sec--ivory{background:var(--ivory)}
.sec--ink{background:var(--ink);color:var(--ivory)}
.sec--tight{padding-block:clamp(3.5rem,7vw,6rem)}

.sec__head{max-width:62ch;margin-bottom:clamp(2.5rem,5vw,4rem)}

/* ---------- Book ---------- */

.book{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1fr);gap:clamp(2.5rem,7vw,6.5rem);align-items:center}
.book__figure{position:relative;display:flex;align-items:center;justify-content:center;padding:2rem 0}
.book__ghost{
  position:absolute;top:0;left:50%;transform:translate(-50%,-36%);
  font-family:var(--serif);font-variation-settings:"opsz" 144;
  font-size:clamp(15rem,30vw,27rem);line-height:.75;letter-spacing:-.055em;
  color:rgba(140,106,67,.17);pointer-events:none;user-select:none;z-index:0;
}
.sec--ink .book__ghost{color:rgba(192,149,97,.15)}
.book__cover{
  position:relative;z-index:1;width:min(100%,360px);aspect-ratio:2/3;
  box-shadow:0 24px 60px rgba(23,23,26,.16);
}
.phero .book__ghost{font-size:clamp(12rem,22vw,20rem)}
.book__title{margin:0 0 .75rem}
.book__sub{
  font-family:var(--serif);font-style:italic;font-weight:300;font-variation-settings:"opsz" 72;
  font-size:clamp(1.1rem,1.6vw,1.4rem);line-height:1.4;color:var(--bronze);margin:0 0 2rem;max-width:30ch;
}
.book__prose{margin-bottom:2rem}
.book__for{
  border-left:2px solid var(--bronze);padding:.2rem 0 .2rem 1.4rem;margin:0 0 2.4rem;
  font-family:var(--serif);font-variation-settings:"opsz" 72;font-weight:300;
  font-size:clamp(1.15rem,1.7vw,1.45rem);line-height:1.45;max-width:34ch;
}
.strike{position:relative;white-space:nowrap;color:var(--ink)}
.sec--ink .strike{color:var(--ivory)}
.strike::after{
  content:'';position:absolute;left:-.05em;right:-.05em;top:.56em;height:2px;background:var(--bronze);
  transform:scaleX(0);transform-origin:left center;
  transition:transform 1s cubic-bezier(.22,.7,.2,1) .35s;
}
[data-reveal].in .strike::after,.no-motion .strike::after{transform:scaleX(1)}

@media (max-width:860px){
  .book{grid-template-columns:1fr;gap:2.5rem}
  .book__figure{padding:1rem 0 0}
  .book__cover{width:min(72%,300px)}
}

/* ---------- Price / purchase rows ---------- */

.buy{display:grid;gap:0;border-top:1px solid var(--rule);max-width:640px}
.sec--ink .buy,.on-dark .buy{border-top-color:var(--rule-inv)}
.buy__row{
  display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:1.25rem;
  padding:1.6rem 0;border-bottom:1px solid var(--rule);
}
.sec--ink .buy__row,.on-dark .buy__row{border-bottom-color:var(--rule-inv)}
.buy__label{display:flex;flex-direction:column;gap:.3rem}
.buy__name{font-size:.74rem;font-weight:600;letter-spacing:.16em;text-transform:uppercase}
.buy__meta{font-size:.85rem;color:var(--stone)}
.on-dark .buy__meta,.sec--ink .buy__meta{color:var(--stone-inv)}
.buy__price{
  font-family:var(--serif);font-variation-settings:"opsz" 72;font-size:1.55rem;font-weight:400;
  margin-left:auto;padding-right:1.5rem;
}

/* ---------- Music ---------- */

.music{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.95fr);gap:clamp(2.5rem,6vw,5.5rem);align-items:center}
.music__art{position:relative;aspect-ratio:1/1;box-shadow:0 30px 90px rgba(0,0,0,.45)}
.music__title{margin:0 0 .6rem}
.music__artist{
  font-size:.72rem;font-weight:600;letter-spacing:.22em;text-transform:uppercase;
  color:var(--bronze-lt);margin:0 0 2rem;
}
.platforms{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:2.2rem}
.platform{
  display:inline-flex;align-items:center;gap:.65rem;
  padding:.85rem 1.35rem;border:1px solid var(--rule-inv);border-radius:999px;
  font-size:.68rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;
  text-decoration:none;color:var(--ivory);transition:background .3s ease,color .3s ease,border-color .3s ease;
}
.platform:hover{background:var(--ivory);color:var(--ink);border-color:var(--ivory)}
.platform svg{width:17px;height:17px;flex:none}
.platform[data-unset]{border-style:dashed;color:var(--stone-inv);cursor:not-allowed}
.platform[data-unset]:hover{background:transparent;color:var(--stone-inv);border-color:rgba(192,149,97,.5)}

.embed{position:relative;display:grid;width:100%;border:1px solid var(--rule-inv);overflow:hidden;border-radius:6px;background:rgba(255,255,255,.03)}
.embed iframe{display:block;width:100%;height:100%;border:0}
.embed--video{aspect-ratio:16/9}
.embed--audio{min-height:152px}
.embed--audio iframe{min-height:152px}
.embed__note{
  align-self:center;text-align:center;max-width:460px;
  overflow-wrap:anywhere;padding:2rem 1.5rem;margin:0 auto;
  font-size:.62rem;letter-spacing:.16em;text-transform:uppercase;line-height:2;color:var(--stone-inv);
}

@media (max-width:860px){
  .music{grid-template-columns:1fr}
  .music__art{max-width:min(420px,100%)}
}

/* ---------- About split ---------- */

.split{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:clamp(2.5rem,6vw,5.5rem);align-items:center}
.split--flip .split__media{order:2}
.split__media{position:relative;aspect-ratio:4/5}
@media (max-width:860px){
  .split{grid-template-columns:1fr;gap:2.5rem}
  .split--flip .split__media{order:0}
}

.roles{display:flex;flex-wrap:wrap;gap:.6rem 1.5rem;margin:0 0 2rem;padding:0;list-style:none}
.roles li{
  font-size:.68rem;font-weight:600;letter-spacing:.2em;text-transform:uppercase;color:var(--stone);
  display:flex;align-items:center;gap:1.5rem;
}
.roles li:not(:last-child)::after{content:'';width:5px;height:5px;border-radius:50%;background:var(--bronze)}

/* ---------- Teachings ---------- */

.teach__grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:clamp(1.25rem,2.5vw,2rem)}
.teach__item{text-decoration:none;display:block}
.teach__thumb{position:relative;aspect-ratio:16/9;margin-bottom:1.1rem;overflow:hidden}
.teach__thumb img{transition:transform .8s cubic-bezier(.2,.7,.2,1)}
.teach__item:hover .teach__thumb img{transform:scale(1.04)}
.teach__play{
  position:absolute;left:1rem;bottom:1rem;width:42px;height:42px;border-radius:50%;
  background:rgba(242,237,228,.92);display:grid;place-items:center;
  transition:background .3s ease;
}
.teach__item:hover .teach__play{background:var(--bronze-lt)}
.teach__play svg{width:13px;height:13px;margin-left:2px}
.teach__title{
  font-family:var(--serif);font-variation-settings:"opsz" 72;font-weight:400;
  font-size:1.2rem;line-height:1.35;letter-spacing:-.01em;margin:0;
}

/* ---------- Connect / forms ---------- */

.connect{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(2.5rem,6vw,5rem)}
@media (max-width:860px){.connect{grid-template-columns:1fr}}

.field{position:relative;margin-bottom:1.9rem}
.field label{
  display:block;font-size:.64rem;font-weight:600;letter-spacing:.18em;text-transform:uppercase;
  color:var(--stone);margin-bottom:.6rem;
}
.field input,.field select,.field textarea{
  width:100%;padding:.75rem 0;background:transparent;border:0;border-bottom:1px solid var(--rule);
  font-family:var(--sans);font-size:1.02rem;color:var(--ink);border-radius:0;
  transition:border-color .3s ease;
}
.field textarea{resize:vertical;min-height:120px}
.field select{appearance:none;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8'%3E%3Cpath d='M1 1l5 5 5-5' fill='none' stroke='%236E6960' stroke-width='1.4'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .25rem center;padding-right:1.75rem}
.field input:focus,.field select:focus,.field textarea:focus{outline:none;border-bottom-color:var(--bronze)}
.field input::placeholder,.field textarea::placeholder{color:#B4ADA1}

.form-note{font-size:.82rem;color:var(--stone);margin:1rem 0 0;min-height:1.2em}
.form-note[data-state="warn"]{color:var(--bronze)}

.socials{list-style:none;margin:0;padding:0;border-top:1px solid var(--rule)}
.socials li{border-bottom:1px solid var(--rule)}
.socials a{
  display:flex;align-items:center;gap:1.1rem;padding:1.15rem 0;text-decoration:none;
  transition:padding-left .35s ease,color .3s ease;
}
.socials a:hover{padding-left:.6rem;color:var(--bronze)}
.socials a[data-unset]{color:var(--stone);cursor:not-allowed}
.socials a[data-unset]:hover{padding-left:0;color:var(--stone)}
.socials svg{width:19px;height:19px;flex:none;color:var(--bronze)}
.socials .name{font-size:.95rem}
.socials .handle{margin-left:auto;font-size:.72rem;letter-spacing:.1em;color:var(--stone)}

/* ---------- Final CTA ---------- */

.final{background:var(--ink);color:var(--ivory);padding-block:clamp(6rem,13vw,11rem);text-align:center;position:relative;overflow:hidden}
.final__lines{margin:0 auto 3rem;max-width:16ch}
.final__lines span{display:block}
.final__lines .l2{font-style:italic;font-weight:300;color:var(--bronze-lt)}
.final .btn-row{justify-content:center}

/* ---------- Footer ---------- */

.foot{background:var(--ink);color:var(--ivory);padding-block:clamp(3.5rem,7vw,5.5rem);border-top:1px solid var(--rule-inv)}
.foot__top{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr) minmax(0,1fr);gap:2.5rem;padding-bottom:3rem}
.foot__mark{font-size:.78rem;font-weight:600;letter-spacing:.28em;text-transform:uppercase;margin:0 0 .9rem}
.foot__roles{font-size:.7rem;letter-spacing:.2em;text-transform:uppercase;color:var(--stone-inv);margin:0}
.foot h4{font-size:.64rem;font-weight:600;letter-spacing:.2em;text-transform:uppercase;color:var(--stone-inv);margin:0 0 1.2rem}
.foot ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.7rem}
.foot ul a{font-size:.9rem;text-decoration:none;color:var(--ivory);transition:color .3s ease}
.foot ul a:hover{color:var(--bronze-lt)}
.foot ul a[data-unset]{color:var(--stone-inv);cursor:not-allowed}
.foot__bar{
  border-top:1px solid var(--rule-inv);padding-top:2rem;
  display:flex;flex-wrap:wrap;gap:1rem 2rem;align-items:center;justify-content:space-between;
  font-size:.78rem;color:var(--stone-inv);
}
.foot__bar a{text-decoration:none}
.foot__bar a:hover{color:var(--bronze-lt)}
.foot__legal{display:flex;gap:1.75rem}
@media (max-width:760px){.foot__top{grid-template-columns:1fr 1fr}.foot__brand{grid-column:1/-1}}

/* ---------- Page hero (interior pages) ---------- */

.phero{padding-top:calc(var(--nav-h) + clamp(4rem,9vw,7.5rem));padding-bottom:clamp(3rem,6vw,5rem)}
.phero__title{margin:0 0 1.5rem}

/* ---------- Editorial numbered list (book page) ---------- */

.uncover{list-style:none;margin:0;padding:0;display:grid;gap:0;border-top:1px solid var(--rule)}
.uncover li{
  display:grid;grid-template-columns:auto 1fr;gap:1.5rem;align-items:baseline;
  padding:1.5rem 0;border-bottom:1px solid var(--rule);
}
.uncover--labels li{grid-template-columns:minmax(120px,auto) 1fr}
.uncover--labels .n{
  font-family:var(--sans);font-size:.68rem;font-weight:600;letter-spacing:.18em;
  text-transform:uppercase;color:var(--bronze);
}
.uncover .n{
  font-family:var(--serif);font-variation-settings:"opsz" 72;font-size:.95rem;color:var(--bronze);
  font-feature-settings:"tnum";
}
.uncover p{margin:0;font-size:1.05rem;line-height:1.55}

/* ---------- Discography (music page) ---------- */

.disco{list-style:none;margin:0;padding:0;border-top:1px solid var(--rule-inv)}
.disco li{display:grid;grid-template-columns:64px 1fr auto;gap:1.5rem;align-items:center;padding:1.4rem 0;border-bottom:1px solid var(--rule-inv)}
.disco .media{aspect-ratio:1/1}
.disco__name{font-family:var(--serif);font-variation-settings:"opsz" 72;font-size:1.25rem;margin:0}
.disco__meta{font-size:.7rem;letter-spacing:.18em;text-transform:uppercase;color:var(--stone-inv);margin:.3rem 0 0}

/* ---------- Reveal animation ---------- */

[data-reveal]{opacity:0;transform:translateY(18px);transition:opacity .9s cubic-bezier(.2,.7,.2,1),transform .9s cubic-bezier(.2,.7,.2,1)}
[data-reveal].in{opacity:1;transform:none}
[data-reveal-stagger] > *{opacity:0;transform:translateY(18px);transition:opacity .9s cubic-bezier(.2,.7,.2,1),transform .9s cubic-bezier(.2,.7,.2,1)}
[data-reveal-stagger].in > *{opacity:1;transform:none}
[data-reveal-stagger].in > *:nth-child(2){transition-delay:.09s}
[data-reveal-stagger].in > *:nth-child(3){transition-delay:.18s}
[data-reveal-stagger].in > *:nth-child(4){transition-delay:.27s}
[data-reveal-stagger].in > *:nth-child(5){transition-delay:.36s}
[data-reveal-stagger].in > *:nth-child(6){transition-delay:.45s}

@media (prefers-reduced-motion:reduce){
  [data-reveal],[data-reveal-stagger] > *{opacity:1!important;transform:none!important;transition:none!important}
  .hero__scroll i::after{animation:none}
  .strike::after{transform:scaleX(1)!important;transition:none}
  .teach__item:hover .teach__thumb img{transform:none}
}

.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
