/* ============================================================
   indesxora — assets/style.css
   Strict BEM, prefix ix. Nesting never deeper than two levels.
   ============================================================ */

/* ---------- D2. Theming: attribute on <html> ---------- */
html[data-month="01"]{--tone:#3D6FF0; --on-tone:#FFFFFF; --tone-hold:#3258B9}
html[data-month="02"]{--tone:#5B5BE0; --on-tone:#FFFFFF; --tone-hold:#4949AD}
html[data-month="03"]{--tone:#7A57D1; --on-tone:#FFFFFF; --tone-hold:#5F46A2}
html[data-month="04"]{--tone:#B34FBF; --on-tone:#FFFFFF; --tone-hold:#8A4095}
html[data-month="05"]{--tone:#E0457E; --on-tone:#FFFFFF; --tone-hold:#AB3965}
html[data-month="06"]{--tone:#F0603C; --on-tone:#FFFFFF; --tone-hold:#B74D34}
html[data-month="07"]{--tone:#F7913B; --on-tone:#14161C; --tone-hold:#F8A661}
html[data-month="08"]{--tone:#F2B93B; --on-tone:#14161C; --tone-hold:#F4C661}
html[data-month="09"]{--tone:#C9B33A; --on-tone:#14161C; --tone-hold:#D3C160}
html[data-month="10"]{--tone:#8FA83F; --on-tone:#14161C; --tone-hold:#A4B864}
html[data-month="11"]{--tone:#4E9E8A; --on-tone:#FFFFFF; --tone-hold:#3F7B6D}
html[data-month="12"]{--tone:#2E7FA8; --on-tone:#FFFFFF; --tone-hold:#276484}

/* ---------- D3. Base tokens ---------- */
:root{
  --base:#FAFAF7; --base-2:#F0F0EA; --deep:#14161C; --deep-2:#1E212A;
  --ink:#14161C; --ink-inv:#FAFAF7; --dim:#5F6470; --dim-inv:#A2A7B4;
  --tone-soft:color-mix(in srgb, var(--tone) 18%, var(--base));
  --tone-deep:color-mix(in srgb, var(--tone) 72%, var(--deep));
  --tone-lite:color-mix(in srgb, var(--tone) 58%, var(--base));
  --tone-ink:color-mix(in srgb, var(--tone) 45%, var(--deep));
  --line:rgba(20,22,28,.13); --line-inv:rgba(250,250,247,.17);
  --rad-xs:4px; --rad-sm:10px; --rad-lg:28px;
  --lift-1:0 1px 2px rgba(20,22,28,.05), 0 8px 20px -12px rgba(20,22,28,.28);
  --lift-2:0 2px 4px rgba(20,22,28,.06), 0 28px 56px -28px rgba(20,22,28,.4);
  --t-display:clamp(2.5rem,6vw,5.25rem);
  --t-h2:clamp(1.75rem,3.2vw,2.85rem);
  --t-h3:clamp(1.15rem,1.8vw,1.5rem);
  --t-lede:clamp(1.05rem,1.35vw,1.25rem);
  --t-body:clamp(1rem,1vw,1.0625rem);
  --t-micro:.7rem;
  --gap:clamp(20px,2.4vw,32px);
  --sec:clamp(88px,9.5vw,144px);
  --edge:clamp(20px,4.5vw,60px);
  --wide:1360px; --read:64ch;
  --curve:cubic-bezier(.22,.68,.24,1);
}

/* ---------- Reset ---------- */
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body,h1,h2,h3,h4,p,figure,blockquote,dl,dd,ul,ol,fieldset{margin:0;padding:0}
ul,ol{list-style:none}
img{max-width:100%;display:block}
button,input,select,textarea{font:inherit;color:inherit}

html{
  background:var(--base);
  transition:background-color .5s var(--curve);
}
body{
  font-family:Sora,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
  font-size:var(--t-body);
  line-height:1.62;
  color:var(--ink);
  background:var(--base);
  overflow-x:hidden;
}

/* ---------- D4. Page frame: grid-template-areas ---------- */
.ix-page{
  display:grid;
  grid-template-columns:100%;
  grid-template-areas:
    "header"
    "scrub"
    "hero"
    "main"
    "aside"
    "footer";
  min-height:100vh;
}
.ix-page > .ix-nav{grid-area:header}
.ix-page > .ix-scrub{grid-area:scrub}
.ix-page > .ix-hero{grid-area:hero}
.ix-page > .ix-main{grid-area:main}
.ix-page > .ix-aside{grid-area:aside}
.ix-page > .ix-foot{grid-area:footer}

.ix-shell{
  width:100%;
  max-width:var(--wide);
  margin-inline:auto;
  padding-inline:var(--edge);
}
.ix-shell--read{max-width:calc(var(--read) + var(--edge) * 2)}

/* ---------- Typography ---------- */
h1,h2,h3,h4,.ix-display{
  font-family:Archivo,"Arial Black",Impact,-apple-system,sans-serif;
  font-weight:800;
  font-stretch:112%;
  line-height:1.02;
  letter-spacing:-.022em;
}
h1{font-size:var(--t-display)}
h2{font-size:var(--t-h2);line-height:1.05}
h3{font-size:var(--t-h3);line-height:1.16;font-weight:700;letter-spacing:-.012em}
p{max-width:var(--read)}
a{color:inherit;text-decoration-thickness:1px;text-underline-offset:3px}
strong{font-weight:600}

.ix-lede{font-size:var(--t-lede);line-height:1.5;color:var(--dim);max-width:56ch}
.ix-kicker{
  font-size:var(--t-micro);
  font-weight:600;
  letter-spacing:.22em;
  text-transform:uppercase;
  color:var(--tone-ink);
  transition:color .5s var(--curve);
}
.ix-kicker--inv{color:var(--tone-lite)}
.ix-num{font-variant-numeric:tabular-nums}

.ix-rule{
  height:2px;
  border:0;
  background:var(--tone);
  margin-block:calc(var(--gap) * .8);
  transition:background-color .5s var(--curve);
}

/* ---------- Accessibility ---------- */
.ix-skip{
  position:absolute;
  left:-9999px;
  top:0;
  z-index:200;
  background:var(--tone-hold);
  color:var(--on-tone);
  padding:14px 20px;
  border-radius:0 0 var(--rad-sm) 0;
  font-weight:600;
}
.ix-skip:focus{left:0}
:focus-visible{
  outline:2px solid var(--tone);
  outline-offset:2px;
  border-radius:var(--rad-xs);
}
.ix-hidden{
  position:absolute;
  width:1px;height:1px;
  overflow:hidden;
  clip:rect(0 0 0 0);
  clip-path:inset(50%);
  white-space:nowrap;
}

/* ---------- D6. Ruled texture on neutral sections ---------- */
.ix-ruled{
  position:relative;
  isolation:isolate;
}
.ix-ruled::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:-1;
  opacity:.5;
  pointer-events:none;
  background:repeating-linear-gradient(to right, var(--line) 0 1px, transparent 1px 96px);
}

/* ---------- .ix-nav ---------- */
.ix-nav{
  position:sticky;
  top:0;
  z-index:60;
  background:var(--base);
  transition:box-shadow .3s var(--curve), backdrop-filter .3s var(--curve);
}
.ix-nav--stuck{
  background:color-mix(in srgb, var(--base) 86%, transparent);
  backdrop-filter:blur(9px);
  box-shadow:inset 0 -1px 0 var(--line);
}
.ix-nav__inner{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:var(--gap);
  min-height:68px;
  flex-wrap:wrap;
}
.ix-nav__mark{
  font-family:Archivo,"Arial Black",sans-serif;
  font-weight:800;
  font-stretch:118%;
  font-size:1.32rem;
  letter-spacing:-.03em;
  text-decoration:none;
  padding-block:14px;
}
.ix-nav__mark::first-letter{color:var(--tone-ink);transition:color .5s var(--curve)}
.ix-nav__list{
  display:flex;
  flex-wrap:wrap;
  gap:clamp(10px,1.5vw,22px);
  align-items:center;
}
.ix-nav__link{
  font-size:.86rem;
  font-weight:500;
  text-decoration:none;
  color:var(--dim);
  padding-block:6px;
  border-bottom:2px solid transparent;
  transition:color .25s var(--curve), border-color .25s var(--curve);
}
.ix-nav__link:hover{color:var(--ink)}
.ix-nav__link--on{color:var(--ink);border-bottom-color:var(--tone)}

/* ---------- .ix-scrub ---------- */
.ix-scrub{
  position:sticky;
  top:68px;
  z-index:50;
  background:var(--base);
  box-shadow:inset 0 -1px 0 var(--line);
}
.ix-scrub__inner{
  display:flex;
  align-items:center;
  gap:14px;
  padding-block:10px;
}
.ix-scrub__label{
  flex:0 0 auto;
  font-size:var(--t-micro);
  letter-spacing:.2em;
  text-transform:uppercase;
  font-weight:600;
  color:var(--dim);
}
.ix-scrub__track{
  display:flex;
  gap:6px;
  overflow-x:auto;
  scroll-snap-type:x mandatory;
  scrollbar-width:none;
  padding-block:4px;
  flex:1 1 auto;
}
.ix-scrub__track::-webkit-scrollbar{display:none}
.ix-scrub__btn{
  flex:0 0 auto;
  scroll-snap-align:center;
  border:1px solid var(--line);
  background:transparent;
  border-radius:var(--rad-sm);
  padding:7px 11px;
  font-size:.78rem;
  font-weight:600;
  letter-spacing:.04em;
  cursor:pointer;
  color:var(--ink);
  white-space:nowrap;
  transition:background-color .35s var(--curve), color .35s var(--curve), padding .35s var(--curve);
}
.ix-scrub__btn::before{
  content:"";
  display:inline-block;
  width:8px;height:8px;
  margin-right:7px;
  border-radius:var(--rad-xs);
  background:var(--swatch-dot, var(--swatch));
  vertical-align:-1px;
}
.ix-scrub__btn[aria-checked="true"]{
  background:var(--swatch);
  color:var(--swatch-on);
  border-color:var(--swatch);
  padding-inline:16px;
}
.ix-scrub__btn[aria-checked="true"]::before{display:none}
.ix-scrub__full{display:none}
.ix-scrub__btn[aria-checked="true"] .ix-scrub__full{display:inline}
.ix-scrub__btn[aria-checked="true"] .ix-scrub__abbr{display:none}

/* ---------- Sections ---------- */
.ix-sec{padding-block:var(--sec)}
.ix-sec--dark{background:var(--deep);color:var(--ink-inv)}
.ix-sec--dark p{color:var(--dim-inv)}
.ix-sec--tint{background:var(--tone-soft);transition:background-color .5s var(--curve)}
.ix-sec__head{
  display:flex;
  flex-wrap:wrap;
  align-items:flex-end;
  justify-content:space-between;
  gap:var(--gap);
  margin-bottom:calc(var(--gap) * 1.6);
}
.ix-sec__title{max-width:22ch}
.ix-sec__more{
  font-weight:600;
  font-size:.9rem;
  text-decoration:none;
  border-bottom:2px solid var(--tone);
  padding-bottom:3px;
  transition:border-color .5s var(--curve);
}

/* ---------- .ix-band (full-bleed colour) ---------- */
.ix-band{
  background:linear-gradient(103deg, var(--tone-hold) 0%, var(--tone) 100%);
  color:var(--on-tone);
  padding-block:var(--sec);
  transition:background .5s var(--curve), color .5s var(--curve);
}
.ix-band__line{
  font-family:Archivo,"Arial Black",sans-serif;
  font-weight:800;
  font-stretch:112%;
  font-size:clamp(1.9rem,4.4vw,3.6rem);
  line-height:1.04;
  letter-spacing:-.024em;
  max-width:20ch;
}
.ix-band__stats{
  display:grid;
  gap:var(--gap);
  margin-top:calc(var(--gap) * 1.7);
  grid-template-columns:1fr;
  border-top:1px solid currentColor;
  padding-top:var(--gap);
}
.ix-band__stat{display:flex;flex-direction:column;gap:4px}
.ix-band__value{
  font-family:Archivo,sans-serif;
  font-weight:800;
  font-size:clamp(2rem,3.6vw,3rem);
  font-variant-numeric:tabular-nums;
  line-height:1;
}
.ix-band__cap{
  font-size:var(--t-micro);
  letter-spacing:.2em;
  text-transform:uppercase;
  font-weight:600;
  opacity:.82;
}
.ix-band--quiet{background:var(--tone-hold)}
.ix-band--quiet .ix-band__line{max-width:26ch}

/* ---------- .ix-figure ---------- */
.ix-figure{margin:0}
.ix-figure__frame{
  position:relative;
  display:grid;
  place-items:center;
  background:linear-gradient(148deg, var(--tone-soft) 0%, color-mix(in srgb, var(--tone) 34%, var(--base)) 100%);
  border-radius:var(--rad-lg) var(--rad-lg) 0 0;
  overflow:hidden;
  transition:background .5s var(--curve);
}
.ix-figure__frame--32{aspect-ratio:3/2}
.ix-figure__frame--169{aspect-ratio:16/9}
.ix-figure__frame--219{aspect-ratio:21/9}
.ix-figure__word{
  font-family:Archivo,"Arial Black",sans-serif;
  font-weight:800;
  font-stretch:118%;
  font-size:clamp(1.1rem,3.4vw,2.6rem);
  letter-spacing:-.02em;
  color:var(--tone-ink);
  text-align:center;
  padding:var(--gap);
  max-width:16ch;
  transition:color .5s var(--curve);
}
.ix-figure__img{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
}
.ix-figure__tag{
  position:absolute;
  top:14px;left:14px;
  z-index:1;
  background:var(--tone-hold);
  color:var(--on-tone);
  font-size:var(--t-micro);
  letter-spacing:.14em;
  text-transform:uppercase;
  font-weight:600;
  padding:6px 10px;
  border-radius:var(--rad-xs);
  transition:background-color .5s var(--curve), color .5s var(--curve);
}
.ix-figure--bleed{padding-inline:0}
.ix-figure--bleed .ix-figure__frame{border-radius:0}

/* ---------- .ix-score ---------- */
.ix-score{display:flex;flex-direction:column;gap:7px}
.ix-score__row{
  display:grid;
  grid-template-columns:5.2rem 1fr 2.1rem;
  align-items:center;
  gap:10px;
}
.ix-score__name{
  font-size:var(--t-micro);
  letter-spacing:.16em;
  text-transform:uppercase;
  font-weight:600;
  color:var(--dim);
}
.ix-score__track{
  height:8px;
  background:var(--base-2);
  border-radius:var(--rad-xs);
  overflow:hidden;
}
.ix-score__bar{
  display:block;
  height:100%;
  width:calc(var(--v) * 10%);
  background:var(--tone);
  border-radius:var(--rad-xs);
  transition:background-color .5s var(--curve);
}
.ix-score__bar--anim{width:0;transition:width .7s var(--curve), background-color .5s var(--curve)}
.ix-score__bar--on{width:calc(var(--v) * 10%)}
.ix-score__val{
  font-variant-numeric:tabular-nums;
  font-weight:600;
  font-size:.92rem;
  text-align:right;
}
.ix-score__note{
  font-size:.88rem;
  color:var(--dim);
  padding-top:6px;
  max-width:58ch;
}
.ix-score--inv .ix-score__track{background:rgba(250,250,247,.14)}
.ix-score--inv .ix-score__name{color:var(--dim-inv)}
.ix-score--mini{gap:0}
.ix-score--mini .ix-score__row{grid-template-columns:1fr 2.1rem}

/* ---------- .ix-verdict ---------- */
.ix-verdict{
  display:inline-block;
  font-size:.78rem;
  font-weight:600;
  letter-spacing:.03em;
  padding:7px 13px;
  border-radius:var(--rad-sm);
  border:1px solid var(--tone);
  color:var(--tone-ink);
  background:var(--tone-soft);
  transition:background-color .5s var(--curve), color .5s var(--curve), border-color .5s var(--curve);
}
.ix-verdict--yes{background:var(--tone-hold);color:var(--on-tone)}
.ix-verdict--season{background:transparent}
.ix-verdict--conditional{background:transparent;border-style:dashed}

/* ---------- .ix-lines (WHAT YOU GET / WHEN TO COME / SKIP IF) ---------- */
.ix-lines{display:flex;flex-direction:column;gap:0;border-top:1px solid var(--line)}
.ix-lines__row{
  display:grid;
  grid-template-columns:1fr;
  gap:2px;
  padding-block:12px;
  border-bottom:1px solid var(--line);
}
.ix-lines__key{
  font-size:var(--t-micro);
  letter-spacing:.18em;
  text-transform:uppercase;
  font-weight:600;
  color:var(--tone-ink);
  transition:color .5s var(--curve);
}
.ix-lines__val{font-size:.95rem}
.ix-lines--inv{border-color:var(--line-inv)}
.ix-lines--inv .ix-lines__row{border-color:var(--line-inv)}
.ix-lines--inv .ix-lines__key{color:var(--tone-lite)}

/* ---------- .ix-card ---------- */
.ix-card{
  container-type:inline-size;
  container-name:card;
  display:flex;
  flex-direction:column;
  background:var(--base);
  border:1px solid var(--line);
  border-radius:var(--rad-lg) var(--rad-lg) var(--rad-sm) var(--rad-sm);
  overflow:hidden;
  box-shadow:var(--lift-1);
}
.ix-card__media{position:relative}
.ix-card__body{
  display:flex;
  flex-direction:column;
  gap:12px;
  padding:clamp(16px,2.2cqi,24px);
  flex:1 1 auto;
}
.ix-card__title{margin:0}
.ix-card__meta{
  font-size:.85rem;
  color:var(--dim);
  margin:0;
}
.ix-card__hook{font-size:.95rem;margin:0}
.ix-card__actions{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  flex-wrap:wrap;
  margin-top:auto;
  padding-top:6px;
  border-top:1px solid var(--line);
}
.ix-card__link{
  font-size:.85rem;
  font-weight:600;
  text-decoration:none;
  border-bottom:2px solid var(--tone);
  padding-bottom:2px;
  transition:border-color .5s var(--curve);
}
.ix-card--wide{grid-column:auto}
@container card (min-width:640px){
  .ix-card__inner{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
  .ix-card__media{height:100%}
  .ix-card__media .ix-figure__frame{height:100%;border-radius:0}
}

/* ---------- .ix-btn ---------- */
.ix-btn{
  border:1px solid var(--tone);
  background:transparent;
  color:var(--tone-ink);
  font-size:.82rem;
  font-weight:600;
  padding:9px 14px;
  border-radius:var(--rad-sm);
  cursor:pointer;
  transition:background-color .25s var(--curve), color .25s var(--curve);
}
.ix-btn:hover{background:var(--tone-hold);color:var(--on-tone)}
.ix-btn[data-on="1"]{background:var(--tone-hold);color:var(--on-tone)}
.ix-btn--solid{background:var(--tone-hold);color:var(--on-tone)}
.ix-btn--inv{border-color:var(--tone);color:var(--ink-inv)}

/* ---------- Catalogue grid ---------- */
.ix-grid{
  display:grid;
  grid-template-columns:repeat(auto-fill, minmax(min(320px, 100%), 1fr));
  gap:var(--gap);
  align-items:start;
}
.ix-grid--list{grid-template-columns:1fr}
.ix-grid--list .ix-card{grid-column:auto}

/* ---------- .ix-facets ---------- */
.ix-facets{
  border:1px solid var(--line);
  border-radius:var(--rad-sm);
  padding:clamp(16px,2vw,24px);
  background:var(--base);
  display:grid;
  gap:var(--gap);
  grid-template-columns:1fr;
}
.ix-facets__field{display:flex;flex-direction:column;gap:6px}
.ix-facets__field--wide{grid-column:auto}
.ix-facets__lab{
  font-size:var(--t-micro);
  letter-spacing:.18em;
  text-transform:uppercase;
  font-weight:600;
  color:var(--dim);
}
.ix-facets__sel{
  border:1px solid var(--line);
  border-radius:var(--rad-xs);
  background:var(--base);
  padding:9px 10px;
  font-size:.9rem;
}
.ix-facets__range{width:100%;accent-color:var(--tone)}
.ix-facets__foot{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  grid-column:1/-1;
  border-top:1px solid var(--line);
  padding-top:14px;
}
.ix-facets__views{display:flex;gap:8px}
.ix-facets__count{
  font-size:.9rem;
  font-weight:600;
  font-variant-numeric:tabular-nums;
}

/* ---------- .ix-empty ---------- */
.ix-empty{
  border:1px dashed var(--line);
  border-radius:var(--rad-sm);
  padding:clamp(28px,5vw,56px);
  text-align:left;
  display:flex;
  flex-direction:column;
  gap:14px;
  align-items:flex-start;
}

/* ---------- .ix-tray ---------- */
.ix-tray{
  position:fixed;
  left:0;right:0;bottom:0;
  z-index:70;
  background:var(--deep);
  color:var(--ink-inv);
  border-top:2px solid var(--tone);
  transform:translateY(105%);
  transition:transform .35s var(--curve), border-color .5s var(--curve);
}
.ix-tray--on{transform:translateY(0)}
.ix-tray__inner{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:12px;
  padding-block:14px;
}
.ix-tray__title{
  font-size:var(--t-micro);
  letter-spacing:.2em;
  text-transform:uppercase;
  font-weight:600;
  color:var(--tone-lite);
  flex:0 0 auto;
}
.ix-tray__items{display:flex;flex-wrap:wrap;gap:8px;flex:1 1 260px}
.ix-tray__item{
  border:1px solid var(--line-inv);
  border-radius:var(--rad-sm);
  padding:5px 10px;
  font-size:.82rem;
}
.ix-tray__note{
  font-size:.78rem;
  color:var(--dim-inv);
  flex:1 1 100%;
  margin:0;
}

/* ---------- .ix-entry ---------- */
.ix-entry{
  container-type:inline-size;
  container-name:entry;
  display:grid;
  gap:var(--gap);
  grid-template-columns:1fr;
  padding-block:max(88px, calc(var(--sec) * .68));
  border-top:1px solid var(--line);
}
.ix-entry__media{order:-1}
.ix-entry__body{display:flex;flex-direction:column;gap:14px}
.ix-entry__eyebrow{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  align-items:center;
}
.ix-entry__prov{font-size:var(--t-micro);letter-spacing:.2em;text-transform:uppercase;font-weight:600;color:var(--dim)}
.ix-entry__stamp{font-size:.82rem;color:var(--dim);font-variant-numeric:tabular-nums}
.ix-entry__actions{display:flex;flex-wrap:wrap;gap:14px;align-items:center}
.ix-entry__link{font-size:.88rem;font-weight:600;text-decoration:none;border-bottom:2px solid var(--tone);padding-bottom:2px}
@container entry (min-width:760px){
  .ix-entry{grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr)}
  .ix-entry__media{order:0}
  .ix-entry--flip .ix-entry__media{order:-1}
}

/* ---------- .ix-spread (Stage Stays) ---------- */
.ix-spread{padding-block:var(--sec)}
.ix-spread--dark{background:var(--deep);color:var(--ink-inv)}
.ix-spread--dark .ix-spread__meta{color:var(--dim-inv)}
.ix-spread__grid{
  display:grid;
  gap:var(--gap);
  grid-template-columns:1fr;
  margin-top:calc(var(--gap) * 1.4);
}
.ix-spread__no{
  font-family:Archivo,sans-serif;
  font-weight:800;
  font-size:clamp(2.4rem,5vw,4rem);
  line-height:1;
  color:var(--tone-ink);
  font-variant-numeric:tabular-nums;
  transition:color .5s var(--curve);
}
.ix-spread__meta{font-size:.9rem;color:var(--dim)}
.ix-spread__col{display:flex;flex-direction:column;gap:16px}
.ix-spread__best{
  font-size:var(--t-micro);
  letter-spacing:.2em;
  text-transform:uppercase;
  font-weight:600;
  color:var(--tone-ink);
  transition:color .5s var(--curve);
}
.ix-spread--dark .ix-spread__no,
.ix-spread--dark .ix-spread__best{color:var(--tone-lite)}
.ix-spread__fine{font-size:.82rem;color:var(--dim);font-style:italic}
.ix-spread--dark .ix-spread__fine{color:var(--dim-inv)}

/* ---------- .ix-shelf (Home, four shelves) ---------- */
.ix-shelf{
  display:grid;
  gap:var(--gap);
  grid-template-columns:1fr;
  align-items:center;
  padding-block:calc(var(--gap) * 1.2);
}
.ix-shelf__plate{
  background:var(--tone-hold);
  color:var(--on-tone);
  border-radius:var(--rad-lg) var(--rad-sm) var(--rad-sm) var(--rad-sm);
  padding:clamp(24px,3.4vw,44px);
  display:flex;
  flex-direction:column;
  gap:12px;
  transition:background-color .5s var(--curve), color .5s var(--curve);
}
.ix-shelf__count{
  font-family:Archivo,sans-serif;
  font-weight:800;
  font-size:clamp(2.6rem,5.4vw,4.4rem);
  line-height:1;
  font-variant-numeric:tabular-nums;
}
.ix-shelf__go{
  align-self:flex-start;
  font-weight:600;
  font-size:.9rem;
  text-decoration:none;
  border-bottom:2px solid currentColor;
  padding-bottom:2px;
}

/* ---------- .ix-crit (five things we score) ---------- */
.ix-crit{
  display:grid;
  gap:var(--gap);
  grid-template-columns:1fr;
  align-items:end;
}
.ix-crit__item{
  border-top:2px solid var(--tone);
  padding-top:16px;
  display:flex;
  flex-direction:column;
  gap:10px;
  transition:border-color .5s var(--curve);
}
.ix-crit__item--tall{padding-bottom:clamp(24px,4vw,72px)}
.ix-crit__item--mid{padding-bottom:clamp(12px,2vw,36px)}
.ix-crit__def{font-size:.95rem;color:var(--dim);margin:0}

/* ---------- .ix-cal (calendar strip + calendar page) ---------- */
.ix-calstrip{
  display:grid;
  gap:10px;
  grid-template-columns:repeat(2,1fr);
}
.ix-calstrip__tile{
  background:var(--swatch);
  color:var(--swatch-on);
  border-radius:var(--rad-sm);
  padding:16px;
  display:flex;
  flex-direction:column;
  gap:6px;
  text-decoration:none;
}
.ix-calstrip__name{
  font-family:Archivo,sans-serif;
  font-weight:800;
  font-size:1.05rem;
}
.ix-calstrip__line{font-size:.8rem;opacity:.92;line-height:1.4}

.ix-cal{
  display:grid;
  gap:calc(var(--gap) * 1.4);
  grid-template-columns:1fr;
  align-items:start;
}
.ix-cal__anchors{display:none}
.ix-cal__month{
  border-top:3px solid var(--swatch);
  padding-block:max(88px, calc(var(--sec) * .55));
  scroll-margin-top:140px;
}
.ix-cal__name{
  font-size:clamp(2rem,5vw,3.4rem);
  color:var(--swatch-ink);
}
.ix-cal__mood{font-size:var(--t-lede);color:var(--dim);max-width:46ch}
.ix-cal__rows{margin-block:calc(var(--gap) * .9)}
.ix-cal__thumbs{
  display:grid;
  gap:14px;
  grid-template-columns:repeat(auto-fill,minmax(200px,1fr));
  margin-bottom:18px;
}
.ix-cal__thumb{
  border:1px solid var(--line);
  border-radius:var(--rad-sm);
  padding:14px;
  display:flex;
  flex-direction:column;
  gap:6px;
}
.ix-cal__thumbname{font-weight:600;font-size:.95rem;line-height:1.25}
.ix-cal__thumbmeta{font-size:.8rem;color:var(--dim)}
.ix-cal__go{font-weight:600;font-size:.9rem;text-decoration:none;border-bottom:2px solid var(--swatch);padding-bottom:2px}
.ix-cal__link{
  display:block;
  padding:7px 10px;
  font-size:.85rem;
  text-decoration:none;
  color:var(--dim);
  border-left:3px solid var(--swatch);
}
.ix-cal__link--on{color:var(--ink);font-weight:600;background:var(--base-2)}

/* ---------- .ix-hero ---------- */
.ix-hero{
  min-height:84vh;
  display:flex;
  flex-direction:column;
  justify-content:center;
  padding-block:max(88px, calc(var(--sec) * .75));
}
.ix-hero__grid{
  display:grid;
  gap:var(--gap);
  grid-template-columns:1fr;
  align-items:center;
}
.ix-hero__title{max-width:14ch}
.ix-hero__title em{font-style:normal;color:var(--tone-ink);transition:color .5s var(--curve)}
.ix-hero__lede{margin-top:18px}
.ix-hero__scrub{margin-top:calc(var(--gap) * 1.2)}
.ix-hero--sec{
  min-height:auto;
  background:linear-gradient(103deg, var(--tone-hold) 0%, var(--tone) 100%);
  color:var(--on-tone);
  padding-block:var(--sec);
  transition:background .5s var(--curve), color .5s var(--curve);
}
.ix-hero--sec .ix-lede{color:inherit;opacity:.92}
.ix-hero__count{
  font-size:var(--t-micro);
  letter-spacing:.2em;
  text-transform:uppercase;
  font-weight:600;
}

/* ---------- .ix-avg ---------- */
.ix-avg{
  display:grid;
  gap:var(--gap);
  grid-template-columns:repeat(auto-fit,minmax(140px,1fr));
  border-block:1px solid var(--line);
  padding-block:calc(var(--gap) * .9);
}
.ix-avg__cell{display:flex;flex-direction:column;gap:4px}
.ix-avg__n{
  font-family:Archivo,sans-serif;
  font-weight:800;
  font-size:1.9rem;
  font-variant-numeric:tabular-nums;
  color:var(--tone-ink);
  transition:color .5s var(--curve);
}

/* ---------- .ix-note (dispatch) ---------- */
.ix-notes{display:grid;gap:var(--gap);grid-template-columns:1fr}
.ix-note{
  display:flex;
  flex-direction:column;
  gap:10px;
  border-top:2px solid var(--tone);
  padding-top:16px;
  transition:border-color .5s var(--curve);
}
.ix-note__meta{
  font-size:var(--t-micro);
  letter-spacing:.16em;
  text-transform:uppercase;
  font-weight:600;
  color:var(--dim);
}
.ix-note__link{text-decoration:none}
.ix-note--lead{border-top-width:3px}
.ix-note--offset{padding-top:clamp(16px,5vw,72px)}
.ix-sec--dark .ix-note__meta{color:var(--dim-inv)}

/* ---------- .ix-qa (accordion) ---------- */
.ix-qa{border-top:1px solid var(--line)}
.ix-qa__item{border-bottom:1px solid var(--line)}
.ix-qa__q{
  cursor:pointer;
  list-style:none;
  padding-block:20px;
  font-weight:600;
  font-size:1.05rem;
  display:flex;
  justify-content:space-between;
  gap:16px;
}
.ix-qa__q::-webkit-details-marker{display:none}
.ix-qa__q::after{content:"+";color:var(--tone-ink);font-weight:700;transition:color .5s var(--curve)}
.ix-qa__item[open] .ix-qa__q::after{content:"–"}
.ix-qa__a{padding-bottom:20px;color:var(--dim)}

/* ---------- .ix-form ---------- */
.ix-form{display:grid;gap:16px;grid-template-columns:1fr;max-width:640px}
.ix-form__field{display:flex;flex-direction:column;gap:6px}
.ix-form__lab{font-size:var(--t-micro);letter-spacing:.18em;text-transform:uppercase;font-weight:600}
.ix-form__in{
  border:1px solid var(--line);
  background:var(--base);
  border-radius:var(--rad-xs);
  padding:12px;
  color:var(--ink);
}
.ix-form__check{display:flex;gap:10px;align-items:flex-start;font-size:.88rem}
.ix-form__fine{font-size:.85rem;color:var(--dim);margin:0}
.ix-sec--dark .ix-form__in{background:var(--deep-2);border-color:var(--line-inv);color:var(--ink-inv)}
.ix-sec--dark .ix-form__fine{color:var(--dim-inv)}

/* ---------- .ix-doc (legal + prose pages) ---------- */
.ix-doc{max-width:var(--read)}
.ix-doc h2{font-size:clamp(1.3rem,2.2vw,1.7rem);margin-top:calc(var(--gap) * 1.8);margin-bottom:10px}
.ix-doc h3{margin-top:calc(var(--gap) * 1.1);margin-bottom:8px}
.ix-doc p{margin-bottom:14px}
.ix-doc ul{margin-bottom:14px;display:flex;flex-direction:column;gap:8px}
.ix-doc li{padding-left:18px;position:relative}
.ix-doc li::before{content:"";position:absolute;left:0;top:.68em;width:8px;height:2px;background:var(--tone)}
.ix-doc ol{counter-reset:s;display:flex;flex-direction:column;gap:12px;margin-bottom:14px}
.ix-doc ol > li{counter-increment:s;padding-left:38px}
.ix-doc ol > li::before{
  content:counter(s,decimal-leading-zero);
  position:absolute;left:0;top:0;
  width:auto;height:auto;background:none;
  font-weight:700;color:var(--tone-ink);
  font-variant-numeric:tabular-nums;
}

/* ---------- .ix-foot ---------- */
.ix-foot{background:var(--deep);color:var(--ink-inv);padding-block:max(88px, calc(var(--sec) * .62))}
.ix-foot__call{
  display:flex;
  flex-wrap:wrap;
  align-items:baseline;
  gap:14px;
  padding-bottom:calc(var(--gap) * 1.4);
  border-bottom:1px solid var(--line-inv);
}
.ix-foot__callline{
  font-family:Archivo,sans-serif;
  font-weight:800;
  font-size:clamp(1.5rem,3.4vw,2.6rem);
  letter-spacing:-.02em;
  line-height:1.06;
}
.ix-foot__calllink{color:var(--tone-lite);text-decoration:none;border-bottom:2px solid var(--tone-lite);transition:color .5s var(--curve)}
.ix-foot__cols{
  display:grid;
  gap:var(--gap);
  grid-template-columns:repeat(2,1fr);
  padding-block:calc(var(--gap) * 1.5);
}
.ix-foot__h{
  font-size:var(--t-micro);
  letter-spacing:.2em;
  text-transform:uppercase;
  font-weight:600;
  color:var(--tone-lite);
  margin-bottom:12px;
  transition:color .5s var(--curve);
}
.ix-foot__link{
  display:block;
  padding-block:5px;
  font-size:.9rem;
  color:var(--dim-inv);
  text-decoration:none;
}
.ix-foot__link:hover{color:var(--ink-inv)}
.ix-foot__base{
  display:flex;
  flex-wrap:wrap;
  gap:12px;
  justify-content:space-between;
  border-top:1px solid var(--line-inv);
  padding-top:var(--gap);
  font-size:.82rem;
  color:var(--dim-inv);
}

/* ---------- Frame media queries: 640 / 900 / 1200 / 1440 ---------- */
@media (min-width:640px){
  .ix-facets__field--wide{grid-column:span 2}
  .ix-band__stats{grid-template-columns:repeat(3,1fr)}
  .ix-form{grid-template-columns:repeat(2,1fr)}
  .ix-form__field--full{grid-column:1/-1}
  .ix-calstrip{grid-template-columns:repeat(3,1fr)}
  .ix-facets{grid-template-columns:repeat(2,1fr)}
}
@media (min-width:900px){
  .ix-grid .ix-card--wide{grid-column:span 2}
  .ix-hero__grid{grid-template-columns:minmax(0,1.08fr) minmax(0,.92fr)}
  .ix-shelf{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
  .ix-shelf--flip .ix-shelf__plate{order:2}
  .ix-crit{grid-template-columns:repeat(5,1fr)}
  .ix-calstrip{grid-template-columns:repeat(4,1fr)}
  .ix-notes{grid-template-columns:repeat(2,1fr)}
  .ix-notes__lead{grid-column:1/-1}
  .ix-foot__cols{grid-template-columns:repeat(4,1fr)}
  .ix-facets{grid-template-columns:repeat(4,1fr)}
  .ix-spread__grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
}
@media (min-width:1200px){
  .ix-calstrip{grid-template-columns:repeat(6,1fr)}
  .ix-cal{grid-template-columns:200px minmax(0,1fr)}
  .ix-cal__anchors{display:block;position:sticky;top:130px}
}
@media (min-width:1440px){
  .ix-scrub__inner{gap:24px}
  .ix-grid{grid-template-columns:repeat(auto-fill,minmax(min(360px, 100%),1fr))}
}

/* ---------- No-JS ---------- */
.ix-nojs .ix-facets{display:none}
.ix-nojs .ix-tray{display:none}

@media (prefers-reduced-motion:reduce){
  *{transition-duration:.01ms !important;animation-duration:.01ms !important}
  html{scroll-behavior:auto}
}
