/* ============================================================
   VERITAS & LUMAN MEDIA CMS — theme
   Forked from MLG CMS 2.27.1. Same engine, same class names; the
   palette is fully tokenised so the site renders LIGHT or DARK from
   this one stylesheet.

   HOW THE MODES WORK
   ------------------
   :root holds the DARK values, and every one of them is the exact
   literal that used to be hardcoded here — so dark mode renders as
   the MLG site always did. html[data-mode="light"] overrides the same
   tokens. Nothing else in the file is mode-aware.

   Channel tokens, because "white" meant three different things:
     --fg-rgb      hairlines, borders, subtle fills          FLIPS
     --bg-rgb      chrome backgrounds: nav, dropdowns        FLIPS
     --scrim-rgb   photo scrims and drop shadows       STAYS DARK
     --on-accent   text sitting on top of --accent
     --card        a deliberately light surface    WHITE both modes
     --well/-2/-3  the darker inset surfaces (#111/#141414/#0d0d0e)

   Text on an always-light surface is left as a literal on purpose:
   it is dark in both modes, so tokenising it would add risk for
   no benefit.
   ============================================================
   MLG legacy note: black / amber, Unbounded display, square edges.
   All classes are namespaced .mlg-* so imported Mobirise markup
   (bootstrap + mbr-* classes) never collides with this file.
   ============================================================ */

:root{
  --accent:#ffa600;
  --accent-dark:#cf7000;
  --ink:#000000;
  --surface:#0b0b0c;
  --panel:#141416;
  --panel-2:#1c1c1f;
  --line:rgba(var(--fg-rgb),.12);
  --line-soft:rgba(var(--fg-rgb),.06);
  --text:#ffffff;
  /* Opi switched secondary text from grey to white and replaced every
     var(--text-2) with var(--text). Keeping --text-2 as an alias so any
     rule that still asks for it resolves instead of falling back. */
  --text-2:#ffffff;
  --text-3:#7d7d84;
  --light-bg:#f7f7f7;
  --light-text:#151517;

  /* Channel + surface tokens. Every dark value below is the literal it
     replaced, so dark-mode rendering is unchanged. */
  --fg-rgb:255,255,255;
  --bg-rgb:0,0,0;
  --scrim-rgb:0,0,0;
  --on-accent:#000000;
  --card:#ffffff;
  --well:#111111;
  --well-2:#141414;
  --well-3:#0d0d0e;
  --footer-bg:#050506;
  --menu-bg:#0d0d0f;
  --media-bg:#0f0f11;
  --media-bg-2:#222222;
  --media-bg-3:#191919;
  --track-bg:#dddddd;

  /* Poppins throughout, matching the V&L brand. This token drives every
     heading, the eyebrow labels and the brand wordmark, so changing it here
     changes all 62 uses. (MLG used Unbounded for display.) */
  --font-display:'Poppins',system-ui,-apple-system,sans-serif;
  --font-ui:'Poppins',system-ui,-apple-system,sans-serif;

  --nav-h:82px;
  --wrap:1240px;
  --gap:clamp(1rem,2.4vw,2rem);
  --sect-y:clamp(3.5rem,7vw,7rem);
  --ease:cubic-bezier(.22,.61,.36,1);

  /* Tells the browser to render native UI dark — select popups, date pickers,
     scrollbars, autofill. Without it a dark select opens a WHITE popup with
     white text inherited from the control, so the options are invisible. */
  color-scheme:dark;
}

/* ============================================================
   LIGHT MODE — the default for veritasnluman.com
   V&L brand palette: ink #0F1226, lilac #8E7CF0, mist #F6F4FC.
   The page background is deliberately NOT pure white (#FBFAFF) so
   white cards (--card) still read as raised surfaces.
   ============================================================ */
html[data-mode="light"]{
  --ink:#fbfaff;
  --surface:#f6f4fc;
  --panel:#ffffff;
  --panel-2:#f1eefb;
  --well:#efedf9;
  --well-2:#e9e6f6;
  --well-3:#f2f0fb;
  --footer-bg:#f1eefb;
  --menu-bg:#ffffff;
  --media-bg:#ece9f8;
  --media-bg-2:#e4e0f4;
  --media-bg-3:#e8e5f6;
  --track-bg:#d9d5ee;
  --line:rgba(15,18,38,.14);
  --line-soft:rgba(15,18,38,.07);
  --text:#0f1226;
  --text-2:#2a2e4a;
  --text-3:#6b6f8c;
  --light-bg:#ffffff;
  --light-text:#0f1226;

  --fg-rgb:15,18,38;      /* hairlines and subtle fills become ink tints */
  --bg-rgb:255,255,255;   /* nav and dropdowns become translucent white */
  --scrim-rgb:0,0,0;      /* photo scrims and shadows stay dark */
  --on-accent:#ffffff;    /* white on lilac, not black on amber */
  --card:#ffffff;

  color-scheme:light;
}

/* Light mode: the few places that assumed a dark page. */
html[data-mode="light"] a:hover{color:var(--accent-dark);}
html[data-mode="light"] .mlg-nav{border-bottom:1px solid var(--line-soft);}
html[data-mode="light"] .mlg-footer{border-top:1px solid var(--line-soft);}
html[data-mode="light"] .mlg-sect--light{background:var(--card);}

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

html{scroll-behavior:smooth;scroll-padding-top:calc(var(--nav-h) + 12px);}

body.mlg{
  margin:0;
  background:var(--ink);
  color:var(--text);
  font-family:var(--font-ui);
  font-size:1rem;
  line-height:1.65;
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}

/* Body text size. Set on <html> so every rem-based size scales with it —
   setting it on <body> only moves inherited text and leaves explicit rem
   sizes (.mlg-prose p, buttons, labels) stuck at the default. */
html{font-size:calc(100% * var(--type-base,1));}

img{max-width:100%;height:auto;display:block;}
a{color:var(--accent);text-decoration:none;transition:color .18s var(--ease);}
a:hover{color:var(--text);}
h1,h2,h3,h4,h5{font-family:var(--font-display);font-weight:600;line-height:1.06;margin:0 0 .6em;letter-spacing:-.02em;}
p{margin:0 0 1.1em;}
p:last-child{margin-bottom:0;}
hr{border:0;border-top:1px solid var(--line);margin:2rem 0;}

.mlg-skip{position:absolute;left:-9999px;top:0;background:var(--accent);color:var(--on-accent);padding:.75rem 1.25rem;z-index:200;}
.mlg-skip:focus{left:1rem;top:1rem;}

.mlg-container{width:min(var(--wrap),calc(100% - 2*var(--gap)));margin-inline:auto;}
.mlg-container--wide{width:min(1560px,calc(100% - 2*var(--gap)));}

/* ---------- eyebrow / section heads ---------- */
.mlg-eyebrow{
  font-family:var(--font-ui);font-size:.72rem;font-weight:600;
  letter-spacing:.22em;text-transform:uppercase;color:var(--accent);
  margin:0 0 1rem;display:inline-block;
}
.mlg-sect-head{max-width:62ch;margin-bottom:clamp(2rem,4vw,3.25rem);}
.mlg-sect-head h2{font-size:calc(clamp(1.75rem,3.6vw,2.9rem) * var(--type-head,1));margin-bottom:.5rem;}
.mlg-sect-head p{color:var(--text);font-size:1.02rem;}
.mlg-sect-head--center{margin-inline:auto;text-align:center;}

/* ---------- buttons ---------- */
.mlg-btn{
  display:inline-flex;align-items:center;gap:.55rem;
  font-family:var(--font-ui);font-size:calc(.74rem * var(--btn-text,1));font-weight:600;
  letter-spacing:.14em;text-transform:uppercase;
  padding:calc(.95rem * var(--btn-size,1)) calc(1.6rem * var(--btn-size,1));
  border:2px solid transparent;border-radius:var(--btn-radius,4px);
  cursor:pointer;transition:all .2s var(--ease);white-space:nowrap;
}
.mlg-btn--accent{background:var(--accent);color:var(--on-accent);border-color:var(--accent);}
.mlg-btn--accent:hover{background:transparent;color:var(--accent);}
.mlg-btn--ghost{background:transparent;color:var(--text);border-color:rgba(var(--fg-rgb),.5);}
.mlg-btn--ghost:hover{border-color:var(--accent);color:var(--accent);}
.mlg-btn--outline{background:transparent;color:var(--accent);border-color:var(--accent);}
.mlg-btn--outline:hover{background:var(--accent);color:var(--on-accent);}
.mlg-btn--dark{background:#000;color:#fff;border-color:#000;}
.mlg-btn--dark:hover{background:transparent;color:var(--text);border-color:currentColor;}
.mlg-btn--sm{padding:calc(.62rem * var(--btn-size,1)) calc(1.05rem * var(--btn-size,1));font-size:calc(.66rem * var(--btn-text,1));}
.mlg-btn--lg{padding:calc(1.2rem * var(--btn-size,1)) calc(2.1rem * var(--btn-size,1));font-size:calc(.85rem * var(--btn-text,1));}
.mlg-btn-row{display:flex;flex-wrap:wrap;gap:.7rem;margin-top:1.9rem;}

/* ============================================================
   NAV
   ============================================================ */
.mlg-nav{
  position:fixed;inset:0 0 auto 0;z-index:120;
  background:rgba(var(--bg-rgb),15%);backdrop-filter:blur(14px);
  border-bottom:0;
  transition:background .25s var(--ease);
}
.mlg-nav.is-scrolled{background:rgba(var(--bg-rgb),.96);}
.mlg-nav__inner{
  width:min(1560px,calc(100% - 2*var(--gap)));margin-inline:auto;
  height:var(--nav-h);display:flex;align-items:center;gap:1.5rem;
}
.mlg-brand{display:flex;align-items:center;flex:0 0 auto;}
.mlg-brand img{height:52px;width:auto;}
.mlg-brand__text{font-family:var(--font-display);font-weight:700;font-size:1.15rem;color:var(--text);letter-spacing:-.02em;}

.mlg-menu{display:flex;align-items:center;gap:1.5rem;margin-left:auto;}
.mlg-menu__list{display:flex;align-items:center;gap:.35rem;list-style:none;margin:0;padding:0;}
.mlg-menu__item{position:relative;}
.mlg-menu__item>a{
  display:block;padding:.65rem .85rem;color:var(--text);
  font-size:.72rem;font-weight:600;letter-spacing:.16em;text-transform:uppercase;
}
.mlg-menu__item>a:hover,.mlg-menu__item.is-active>a{color:var(--accent);}
.mlg-menu__item.is-active>a{position:relative;}
.mlg-menu__item.is-active>a::after{
  content:"";position:absolute;left:.85rem;right:.85rem;bottom:.35rem;height:2px;background:var(--accent);
}
.mlg-menu__caret{display:none;background:none;border:0;color:inherit;}

.mlg-submenu{
  position:absolute;top:100%;left:0;min-width:230px;
  background:var(--menu-bg);border:1px solid var(--line);
  list-style:none;margin:0;padding:.4rem;
  opacity:0;visibility:hidden;transform:translateY(8px);
  transition:all .18s var(--ease);
}
.mlg-menu__item.has-children:hover .mlg-submenu,
.mlg-menu__item.is-open .mlg-submenu{opacity:1;visibility:visible;transform:translateY(0);}
.mlg-submenu a{
  display:block;padding:.62rem .85rem;color:var(--text);
  font-size:.7rem;font-weight:500;letter-spacing:.13em;text-transform:uppercase;
}
.mlg-submenu a:hover{background:var(--panel-2);color:var(--accent);}

.mlg-nav__cta{display:flex;gap:.5rem;}

.mlg-burger{display:none;width:44px;height:44px;background:none;border:0;cursor:pointer;padding:10px;margin-left:auto;}
.mlg-burger span{display:block;height:2px;background:var(--text);margin:5px 0;transition:transform .25s var(--ease),opacity .2s;}
.mlg-burger[aria-expanded="true"] span:nth-child(1){transform:translateY(7px) rotate(45deg);}
.mlg-burger[aria-expanded="true"] span:nth-child(2){opacity:0;}
.mlg-burger[aria-expanded="true"] span:nth-child(3){transform:translateY(-7px) rotate(-45deg);}

@media(max-width:1080px){
  .mlg-burger{display:block;}
  .mlg-menu{
    position:fixed;inset:var(--nav-h) 0 0 0;background:var(--ink);
    flex-direction:column;align-items:stretch;justify-content:flex-start;
    gap:0;padding:1.25rem var(--gap) 3rem;overflow-y:auto;
    transform:translateX(100%);transition:transform .3s var(--ease);
  }
  .mlg-menu.is-open{transform:translateX(0);}
  .mlg-menu__list{flex-direction:column;align-items:stretch;gap:0;}
  .mlg-menu__item{border-bottom:1px solid var(--line-soft);}
  .mlg-menu__item>a{padding:1.05rem .25rem;font-size:.9rem;}
  .mlg-menu__item.is-active>a::after{display:none;}
  .mlg-menu__caret{display:block;position:absolute;right:0;top:.6rem;width:44px;height:44px;font-size:1rem;cursor:pointer;}
  .mlg-submenu{
    position:static;opacity:1;visibility:visible;transform:none;
    border:0;border-left:2px solid var(--accent);margin:0 0 .8rem .4rem;
    padding:0 0 0 .8rem;display:none;background:transparent;
  }
  .mlg-menu__item.is-open .mlg-submenu{display:block;}
  .mlg-nav__cta{margin-top:1.75rem;flex-direction:column;}
  .mlg-nav__cta .mlg-btn{justify-content:center;padding:calc(.9rem * var(--btn-size,1));font-size:calc(.72rem * var(--btn-text,1));}
}

/* ============================================================
   SECTIONS
   ============================================================ */
.mlg-sect{padding-block:var(--sect-y);position:relative;}
.mlg-sect--dark{background:var(--ink);}
.mlg-sect--panel{background:var(--panel);}
.mlg-sect--light{background:var(--light-bg);color:var(--light-text);}
.mlg-sect--light h1,.mlg-sect--light h2,.mlg-sect--light h3{color:var(--light-text);}
.mlg-sect--light p{color:#44444c;}
.mlg-sect--light a{color:var(--accent-dark);}

/* ---------- HERO ---------- */
.mlg-hero{
  position:relative;display:flex;align-items:center;
  padding-top:calc(var(--nav-h) + 3rem);padding-bottom:3rem;
  overflow:hidden;
}
.mlg-hero--full{min-height:100svh;}
.mlg-hero--tall{min-height:78svh;}
.mlg-hero--medium{min-height:58svh;}
.mlg-hero--short{min-height:38svh;}
.mlg-hero__bg{position:absolute;inset:0;z-index:0;}
.mlg-hero__bg img,.mlg-hero__bg iframe{width:100%;height:100%;object-fit:cover;border:0;}
.mlg-hero__overlay{position:absolute;inset:0;background:var(--ink);z-index:1;}
.mlg-hero__inner{position:relative;z-index:2;width:100%;}
.mlg-hero__content{max-width:92ch;}
.mlg-hero--center .mlg-hero__content{max-width:92ch;margin-inline:auto;text-align:center;}
.mlg-hero--center .mlg-btn-row{justify-content:center;}
.mlg-hero--right .mlg-hero__content{max-width:92ch;margin-left:auto;text-align:right;}
.mlg-hero--right .mlg-btn-row{justify-content:flex-end;}
.mlg-hero h1{
  /* --hero-title is set per section by the Hero / Hero carousel blocks.
     It multiplies on top of the global heading scale, so a page can go
     bigger or smaller without touching Settings. */
  font-size:calc(clamp(2.35rem,6.2vw,4.6rem) * var(--type-head,1) * var(--hero-title,1));font-weight:600;
  margin-bottom:1.1rem;text-transform:capitalize;letter-spacing:-.02em;
}
.mlg-hero__sub{font-size:calc(clamp(1rem,1.35vw,1.16rem) * var(--type-base,1));color:var(--text);max-width:58ch;}
.mlg-hero--center .mlg-hero__sub{margin-inline:auto;}
.mlg-hero--right .mlg-hero__sub{margin-left:auto;}
.mlg-hero__scroll{
  position:absolute;bottom:1.75rem;left:50%;transform:translateX(-50%);
  z-index:2;color:var(--text-3);font-size:.62rem;letter-spacing:.28em;text-transform:uppercase;
}

/* ---------- RICH TEXT ---------- */
.mlg-prose{font-size:1.03rem;line-height:1.78;color:var(--text);}
.mlg-prose h2{font-size:calc(clamp(1.5rem,2.6vw,2.1rem) * var(--type-head,1));color:var(--text);margin-top:2.2em;}
.mlg-prose h3{font-size:calc(clamp(1.2rem,2vw,1.5rem) * var(--type-head,1));color:var(--text);margin-top:1.9em;}
.mlg-prose h4{font-size:1.05rem;color:var(--text);margin-top:1.6em;}
.mlg-prose>*:first-child{margin-top:0;}
.mlg-prose ul,.mlg-prose ol{padding-left:1.3rem;margin:0 0 1.3em;}
.mlg-prose li{margin-bottom:.5em;}
.mlg-prose li::marker{color:var(--accent);}
.mlg-prose img{margin:2rem 0;}
.mlg-prose blockquote{
  margin:2rem 0;padding:1.1rem 0 1.1rem 1.6rem;
  border-left:3px solid var(--accent);color:var(--text);
  font-family:var(--font-display);font-size:1.18rem;line-height:1.5;
}
.mlg-prose blockquote p:last-child{margin:0;}
.mlg-prose code{background:var(--panel-2);padding:.15em .45em;font-size:.9em;font-family:ui-monospace,Menlo,monospace;color:var(--accent);}
.mlg-prose pre{background:var(--panel-2);padding:1.2rem;overflow-x:auto;border-left:3px solid var(--accent);}
.mlg-prose pre code{background:none;padding:0;color:var(--text);}
.mlg-prose table{width:100%;border-collapse:collapse;margin:1.8rem 0;font-size:.94rem;}
.mlg-prose th,.mlg-prose td{padding:.8rem 1rem;border:1px solid var(--line);text-align:left;}
.mlg-prose th{background:var(--panel-2);color:var(--text);font-family:var(--font-ui);font-weight:600;
  text-transform:uppercase;font-size:.72rem;letter-spacing:.1em;}
.mlg-sect--light .mlg-prose{color:#3d3d45;}
.mlg-sect--light .mlg-prose h2,.mlg-sect--light .mlg-prose h3{color:var(--light-text);}

/* ---------- MEDIA SPLIT ---------- */
.mlg-media{display:grid;grid-template-columns:1fr 1fr;gap:clamp(2rem,5vw,4.5rem);align-items:center;}
.mlg-media--right .mlg-media__fig{order:2;}
.mlg-media__fig img{width:100%;aspect-ratio:4/3;object-fit:cover;}
.mlg-media__body h2{font-size:calc(clamp(1.6rem,3vw,2.5rem) * var(--type-head,1));}
@media(max-width:860px){
  .mlg-media{grid-template-columns:1fr;}
  .mlg-media--right .mlg-media__fig{order:0;}
}

/* ---------- GRIDS ---------- */
.mlg-grid{display:grid;gap:clamp(1rem,2vw,1.6rem);}
.mlg-grid--2{grid-template-columns:repeat(2,1fr);}
.mlg-grid--3{grid-template-columns:repeat(3,1fr);}
.mlg-grid--4{grid-template-columns:repeat(4,1fr);}
.mlg-grid--5{grid-template-columns:repeat(5,1fr);}
@media(max-width:1000px){.mlg-grid--4,.mlg-grid--5{grid-template-columns:repeat(3,1fr);}}
@media(max-width:820px){.mlg-grid--3,.mlg-grid--4,.mlg-grid--5{grid-template-columns:repeat(2,1fr);}}
@media(max-width:560px){.mlg-grid{grid-template-columns:1fr !important;}}

/* ---------- FEATURE CARD ---------- */
.mlg-feature{
  background:var(--panel);border:1px solid var(--line-soft);
  padding:clamp(1.4rem,2.4vw,2.1rem);height:100%;
  display:flex;flex-direction:column;
  transition:border-color .22s var(--ease),transform .22s var(--ease),background .22s var(--ease);
}
.mlg-feature:hover{border-color:var(--accent);transform:translateY(-4px);background:var(--panel-2);}
.mlg-feature__icon{
  width:52px;height:52px;display:grid;place-items:center;margin-bottom:1.1rem;
  background:rgba(255,166,0,.12);color:var(--accent);
  font-family:var(--font-display);font-size:1.15rem;font-weight:700;
}
.mlg-feature__icon img{width:100%;height:100%;object-fit:contain;}
.mlg-feature h3{font-size:1.1rem;margin-bottom:.55rem;}
.mlg-feature p{color:var(--text);font-size:.94rem;margin-bottom:0;}
.mlg-feature__link{margin-top:auto;padding-top:1.1rem;font-size:.7rem;font-weight:600;
  letter-spacing:.15em;text-transform:uppercase;}

/* ---------- IMAGE CARD ---------- */
.mlg-card{
  background:var(--panel);border:1px solid var(--line-soft);
  display:flex;flex-direction:column;height:100%;overflow:hidden;
  transition:border-color .22s var(--ease),transform .22s var(--ease);
}
.mlg-card:hover{border-color:var(--accent);transform:translateY(-4px);}
.mlg-card__img{aspect-ratio:16/10;overflow:hidden;background:var(--ink);}
.mlg-card__img img{width:100%;height:100%;object-fit:cover;transition:transform .5s var(--ease);}
.mlg-card:hover .mlg-card__img img{transform:scale(1.06);}
.mlg-card__body{padding:1.4rem;display:flex;flex-direction:column;flex:1;}
.mlg-card__body h3{font-size:1.06rem;margin-bottom:.5rem;}
.mlg-card__body p{color:var(--text);font-size:.93rem;}
.mlg-card__link{margin-top:auto;padding-top:1rem;font-size:.7rem;font-weight:600;
  letter-spacing:.15em;text-transform:uppercase;}

/* ---------- GALLERY ---------- */
.mlg-gal__item{position:relative;overflow:hidden;background:var(--ink);cursor:zoom-in;}
.mlg-gal__item img{aspect-ratio:1/1;width:100%;object-fit:cover;transition:transform .5s var(--ease),opacity .3s;}
.mlg-gal__item:hover img{transform:scale(1.07);opacity:.75;}
.mlg-gal__cap{
  position:absolute;inset:auto 0 0 0;padding:.9rem 1rem;
  background:linear-gradient(transparent,rgba(var(--bg-rgb),.88));
  font-size:.76rem;letter-spacing:.06em;
}
.mlg-lightbox{
  position:fixed;inset:0;z-index:300;background:rgba(var(--bg-rgb),.96);
  display:none;align-items:center;justify-content:center;padding:2rem;
}
.mlg-lightbox.is-open{display:flex;}
.mlg-lightbox img{max-width:92vw;max-height:88vh;object-fit:contain;}
.mlg-lightbox__close{
  position:absolute;top:1.25rem;right:1.5rem;background:none;border:0;
  color:var(--text);font-size:2rem;cursor:pointer;line-height:1;
}

/* ---------- LOGOS ---------- */
.mlg-logos{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:clamp(1.5rem,4vw,3.5rem);}
.mlg-logos img{max-height:52px;width:auto;opacity:.62;transition:all .25s var(--ease);}
.mlg-logos--gray img{filter:grayscale(1);}
.mlg-logos img:hover{opacity:1;filter:none;}

/* ---------- PRICING ---------- */
/* ---- plan cards ---- */
.mlg-pricing{position:relative;overflow:hidden;isolation:isolate;}
.mlg-pricing > .mlg-container{position:relative;z-index:2;}
.mlg-pricing__bg{position:absolute;inset:0;z-index:0;display:block;}
.mlg-pricing__bg img{width:100%;height:100%;object-fit:cover;display:block;}
.mlg-pricing__fade{position:absolute;inset:0;z-index:1;display:block;
  background:rgba(var(--scrim-rgb),var(--fade,.82));}

.mlg-plan{
  position:relative;overflow:hidden;isolation:isolate;
  background:var(--panel);border:1px solid var(--line);
  border-radius:var(--btn-radius,4px);
  display:flex;flex-direction:column;height:100%;
  transition:transform .28s var(--ease),border-color .28s var(--ease);
}
.mlg-plan:hover{transform:translateY(-4px);border-color:rgba(var(--fg-rgb),.28);}
.mlg-plan__in{position:relative;z-index:2;display:flex;flex-direction:column;height:100%;
  padding:clamp(1.6rem,2.6vw,2.3rem);}

/* photo behind a card */
.mlg-plan__bg{position:absolute;inset:0;z-index:0;display:block;}
.mlg-plan__bg img{width:100%;height:100%;object-fit:cover;display:block;
  transition:transform .8s var(--ease);}
.mlg-plan:hover .mlg-plan__bg img{transform:scale(1.05);}
/* Deliberately heavier toward the bottom: the feature list and button need a
   near-solid backing or a busy photo makes them unreadable. */
.mlg-plan__fade{position:absolute;inset:0;z-index:1;display:block;
  background:linear-gradient(to bottom,
    rgba(var(--scrim-rgb),calc(var(--fade,.9) * .78)) 0%,
    rgba(var(--scrim-rgb),var(--fade,.9)) 42%,
    rgba(var(--scrim-rgb),calc(var(--fade,.9) + .05)) 100%);}
.mlg-plan--photo{border-color:rgba(var(--fg-rgb),.16);}

.mlg-plan--featured{border-color:var(--accent);background:var(--panel-2);
  box-shadow:0 0 0 1px var(--accent) inset;}
.mlg-plan--featured:hover{border-color:var(--accent);}

/* corner badge — the text now comes from the editor, not CSS */
.mlg-plan__badge{position:absolute;top:0;right:0;z-index:3;
  background:var(--accent);color:var(--on-accent);font-size:.6rem;font-weight:700;
  letter-spacing:.16em;text-transform:uppercase;padding:.45rem .8rem;
  border-bottom-left-radius:var(--btn-radius,4px);}

.mlg-plan__name{font-family:var(--font-ui);font-size:.72rem;font-weight:600;
  letter-spacing:.2em;text-transform:uppercase;color:var(--accent);margin-bottom:1rem;}
/* price and period share a baseline so the period reads as a unit, not an orphan */
.mlg-plan__priceline{display:flex;align-items:baseline;gap:.4rem;flex-wrap:wrap;
  margin-bottom:.3rem;}
.mlg-plan__price{font-family:var(--font-display);
  font-size:calc(clamp(2.2rem,4vw,3.1rem) * var(--type-head,1));
  font-weight:700;line-height:1;color:var(--text);}
.mlg-plan__period{color:var(--text-3);font-size:.9rem;font-weight:500;}
.mlg-plan__note{color:var(--accent);font-size:.82rem;margin:0 0 1.5rem;font-weight:500;}
.mlg-plan__list{list-style:none;margin:0 0 1.75rem;padding:0;font-size:.93rem;color:var(--text);}
.mlg-plan__list li{padding:.5rem 0 .5rem 1.5rem;position:relative;
  border-bottom:1px solid rgba(var(--fg-rgb),.09);}
.mlg-plan__list li:last-child{border-bottom:0;}
.mlg-plan__list li::before{content:"→";position:absolute;left:0;color:var(--accent);}
.mlg-plan .mlg-btn{margin-top:auto;justify-content:center;}
@media(prefers-reduced-motion:reduce){
  .mlg-plan,.mlg-plan__bg img{transition:none;}
  .mlg-plan:hover{transform:none;}
  .mlg-plan:hover .mlg-plan__bg img{transform:none;}
}

/* ---------- TEAM ---------- */
.mlg-person__img{aspect-ratio:3/4;overflow:hidden;background:var(--panel);margin-bottom:1rem;}
.mlg-person__img img{width:100%;height:100%;object-fit:cover;filter:grayscale(1);transition:filter .35s var(--ease),transform .5s var(--ease);}
.mlg-person:hover .mlg-person__img img{filter:none;transform:scale(1.04);}
.mlg-person h3{font-size:1.02rem;margin-bottom:.15rem;}
.mlg-person__role{color:var(--accent);font-size:.68rem;font-weight:600;
  letter-spacing:.17em;text-transform:uppercase;margin-bottom:.6rem;}
.mlg-person p{color:var(--text);font-size:.9rem;}

/* ---------- ACCORDION ---------- */
.mlg-acc{border-top:1px solid var(--line);}
.mlg-acc__item{border-bottom:1px solid var(--line);}
.mlg-acc__q{
  width:100%;background:none;border:0;color:var(--text);cursor:pointer;text-align:left;
  padding:1.35rem 3rem 1.35rem 0;position:relative;
  font-family:var(--font-display);font-size:calc(clamp(1rem,1.5vw,1.16rem) * var(--type-head,1));font-weight:600;line-height:1.35;
}
.mlg-acc__q::after{
  content:"+";position:absolute;right:.35rem;top:50%;transform:translateY(-50%);
  color:var(--accent);font-size:1.5rem;font-family:var(--font-ui);transition:transform .25s var(--ease);
}
.mlg-acc__item.is-open .mlg-acc__q::after{content:"−";}
.mlg-acc__q:hover{color:var(--accent);}
.mlg-acc__a{display:none;padding:0 3rem 1.6rem 0;color:var(--text);}
.mlg-acc__item.is-open .mlg-acc__a{display:block;}

/* ---------- CTA ---------- */
.mlg-cta{padding-block:clamp(3rem,6vw,5rem);position:relative;overflow:hidden;}
.mlg-cta--accent{background:var(--accent);color:var(--on-accent);}
.mlg-cta--accent h2{color:var(--on-accent);}
.mlg-cta--accent p{color:rgba(var(--bg-rgb),.72);}
.mlg-cta--dark{background:var(--panel);}
.mlg-cta--image{background:var(--ink);}
.mlg-cta--image .mlg-cta__bg{position:absolute;inset:0;z-index:0;}
.mlg-cta--image .mlg-cta__bg img{width:100%;height:100%;object-fit:cover;opacity:.35;}
.mlg-cta__inner{position:relative;z-index:1;text-align:center;max-width:64ch;margin-inline:auto;}
.mlg-cta h2{font-size:calc(clamp(1.6rem,3.6vw,2.7rem) * var(--type-head,1));}
.mlg-cta .mlg-btn-row{justify-content:center;}

/* ---------- VIDEO ---------- */
.mlg-video{position:relative;width:100%;background:var(--ink);}
.mlg-video--16x9{aspect-ratio:16/9;}
.mlg-video--4x3{aspect-ratio:4/3;}
.mlg-video--21x9{aspect-ratio:21/9;}
.mlg-video iframe{position:absolute;inset:0;width:100%;height:100%;border:0;}

/* ---------- SPACER ---------- */
/* The rule is centred with flex. It used to use margin-top:50%, but a
   percentage margin resolves against the container's WIDTH, which put ~620px
   of space above the divider on a desktop container. */
.mlg-spacer{display:flex;align-items:center;width:100%;}
.mlg-spacer--sm{height:2.5rem;}
.mlg-spacer--md{height:5rem;}
.mlg-spacer--lg{height:8rem;}
.mlg-spacer--none{height:0;}
.mlg-spacer__rule{border-top:1px solid var(--line);height:0;width:100%;}

/* ---------- FORM ---------- */
.mlg-form{display:grid;grid-template-columns:repeat(2,1fr);gap:1.1rem;max-width:820px;}
.mlg-field--full{grid-column:1/-1;}
.mlg-field label{
  display:block;font-size:.68rem;font-weight:600;letter-spacing:.16em;
  text-transform:uppercase;color:var(--text-3);margin-bottom:.5rem;
}
.mlg-field label .req{color:var(--accent);}
.mlg-field input,.mlg-field select,.mlg-field textarea{
  width:100%;background:var(--panel);border:1px solid var(--line);
  color:var(--text);padding:.9rem 1rem;font-family:var(--font-ui);font-size:.95rem;
  border-radius:0;transition:border-color .2s var(--ease);
}
.mlg-field input:focus,.mlg-field select:focus,.mlg-field textarea:focus{
  outline:none;border-color:var(--accent);
}
.mlg-field textarea{min-height:150px;resize:vertical;}
.mlg-field input[type=file]{padding:.7rem;}
.mlg-field--check{display:flex;align-items:flex-start;gap:.7rem;}
.mlg-field--check input{width:auto;margin-top:.25rem;}
.mlg-field--check label{text-transform:none;letter-spacing:0;font-size:.9rem;color:var(--text);font-weight:400;}
.mlg-hp{position:absolute;left:-9999px;}
.mlg-form__actions{grid-column:1/-1;}
.mlg-form-ok{
  border-left:3px solid var(--accent);background:var(--panel);
  padding:1.1rem 1.35rem;margin-bottom:1.75rem;color:var(--text);
}
@media(max-width:640px){.mlg-form{grid-template-columns:1fr;}}

/* ============================================================
   BLOG
   ============================================================ */
.mlg-page-head{padding-top:calc(var(--nav-h) + clamp(3rem,6vw,5.5rem));padding-bottom:clamp(2rem,4vw,3.5rem);border-bottom:1px solid var(--line-soft);}
.mlg-page-head h1{font-size:calc(clamp(2rem,5vw,3.6rem) * var(--type-head,1));text-transform:uppercase;}
.mlg-page-head p{color:var(--text);max-width:62ch;font-size:1.05rem;}

.mlg-cats{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:1.9rem;}
.mlg-cats a{
  padding:.5rem 1rem;border:1px solid var(--line);color:var(--text);
  font-size:.68rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;
  transition:all .2s var(--ease);
}
.mlg-cats a:hover,.mlg-cats a.is-active{border-color:var(--accent);color:var(--accent);}

.mlg-post-card{display:flex;flex-direction:column;height:100%;background:var(--panel);
  border:1px solid var(--line-soft);transition:border-color .22s var(--ease),transform .22s var(--ease);}
.mlg-post-card:hover{border-color:var(--accent);transform:translateY(-4px);}
.mlg-post-card__img{aspect-ratio:16/10;overflow:hidden;background:var(--media-bg);}
.mlg-post-card__img img{width:100%;height:100%;object-fit:cover;transition:transform .5s var(--ease);}
.mlg-post-card:hover .mlg-post-card__img img{transform:scale(1.06);}
.mlg-post-card__body{padding:1.4rem;display:flex;flex-direction:column;flex:1;}
.mlg-post-card__meta{font-size:.64rem;font-weight:600;letter-spacing:.17em;
  text-transform:uppercase;color:var(--text-3);margin-bottom:.7rem;display:flex;gap:.7rem;flex-wrap:wrap;}
.mlg-post-card__meta .cat{color:var(--accent);}
.mlg-post-card h2,.mlg-post-card h3{font-size:1.12rem;line-height:1.28;margin-bottom:.6rem;}
.mlg-post-card h2 a,.mlg-post-card h3 a{color:var(--text);}
.mlg-post-card:hover h2 a,.mlg-post-card:hover h3 a{color:var(--accent);}
.mlg-post-card p{color:var(--text);font-size:.92rem;}
.mlg-post-card__more{margin-top:auto;padding-top:1.1rem;font-size:.68rem;font-weight:600;
  letter-spacing:.16em;text-transform:uppercase;}

.mlg-pager{display:flex;gap:.5rem;justify-content:center;margin-top:3.5rem;flex-wrap:wrap;}
.mlg-pager a,.mlg-pager span{
  min-width:44px;padding:.65rem .9rem;text-align:center;border:1px solid var(--line);
  color:var(--text);font-size:.8rem;font-weight:600;
}
.mlg-pager a:hover{border-color:var(--accent);color:var(--accent);}
.mlg-pager .is-current,.mlg-pager__n.is-on{background:var(--accent);border-color:var(--accent);color:var(--on-accent);}

.mlg-article{padding-bottom:clamp(3rem,6vw,5rem);}
.mlg-article__head{padding-top:calc(var(--nav-h) + clamp(2.5rem,5vw,4.5rem));padding-bottom:2rem;}
.mlg-article__head h1{font-size:calc(clamp(1.9rem,4.4vw,3.2rem) * var(--type-head,1));max-width:22ch;}
.mlg-article__meta{font-size:.68rem;font-weight:600;letter-spacing:.17em;
  text-transform:uppercase;color:var(--text-3);display:flex;gap:1rem;flex-wrap:wrap;margin-bottom:1.5rem;}
.mlg-article__meta .cat{color:var(--accent);}
.mlg-article__cover{margin-bottom:clamp(2rem,4vw,3.25rem);}
.mlg-article__cover img{width:100%;max-height:620px;object-fit:cover;}
.mlg-article__share{display:flex;gap:.6rem;margin-top:3rem;padding-top:2rem;border-top:1px solid var(--line);}

/* ---------- error ---------- */
.mlg-error{min-height:70svh;display:grid;place-items:center;text-align:center;padding-top:var(--nav-h);}
.mlg-error__code{font-family:var(--font-display);font-size:calc(clamp(4rem,16vw,10rem) * var(--type-head,1));
  font-weight:800;line-height:1;color:var(--accent);margin-bottom:.5rem;}

/* ============================================================
   FOOTER
   ============================================================ */
.mlg-footer{background:var(--footer-bg);border-top:0;padding-block:clamp(3rem,5vw,4.5rem) 1.75rem;margin-top:0;}
.mlg-footer__grid{display:grid;grid-template-columns:1.6fr repeat(3,1fr);gap:clamp(1.75rem,4vw,3rem);}
.mlg-footer__logo{height:56px;width:auto;margin-bottom:1.1rem;}
.mlg-footer__tag{color:var(--text-3);font-size:.92rem;max-width:38ch;}
.mlg-footer__col h4{font-size:.7rem;font-weight:600;letter-spacing:.19em;
  text-transform:uppercase;color:var(--text);font-family:var(--font-ui);margin-bottom:1.1rem;}
.mlg-footer__col ul{list-style:none;margin:0;padding:0;}
.mlg-footer__col li{margin-bottom:.01rem;}
.mlg-footer__col a{color:var(--text-3);font-size:.7rem;}
.mlg-footer__col a:hover{color:var(--accent);}
.mlg-social{display:flex;flex-wrap:wrap;gap:1rem;margin-top:1.3rem;}
.mlg-social a{color:var(--text-3);font-size:.66rem;font-weight:600;letter-spacing:.16em;text-transform:uppercase;}
.mlg-social a:hover{color:var(--accent);}
.mlg-footer__bar{
  margin-top:clamp(2.5rem,4vw,3.5rem);padding-top:1.5rem;border-top:1px solid var(--line-soft);
  display:flex;justify-content:space-between;flex-wrap:wrap;gap:1rem;
  color:var(--text-3);font-size:.78rem;
}
.mlg-footer__meta{opacity:.55;}
@media(max-width:860px){.mlg-footer__grid{grid-template-columns:1fr 1fr;}}
@media(max-width:520px){.mlg-footer__grid{grid-template-columns:1fr;}}

/* ============================================================
   Imported Mobirise sections sit inside .mlg-legacy.
   Push the first one below the fixed navbar; the original site
   had its own in-flow menu section which the CMS replaces.
   ============================================================ */
.mlg-legacy .menu,.mlg-legacy nav.navbar{display:none !important;}
body.has-legacy main>.mlg-legacy:first-child>section:first-child{padding-top:var(--nav-h);}

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

/* ══════════════════════════ MUSIC ══════════════════════════ */

/* ---- release layout ---- */
.mlg-release{display:grid;gap:clamp(1.5rem,4vw,3rem);align-items:start;}
.mlg-release--split{grid-template-columns:minmax(0,340px) minmax(0,1fr);}
.mlg-release--stacked{grid-template-columns:1fr;max-width:760px;}
@media(max-width:820px){.mlg-release--split{grid-template-columns:1fr;}}
.mlg-release__art{position:relative;aspect-ratio:1;background:var(--well);overflow:hidden;}
.mlg-release__art img{width:100%;height:100%;object-fit:cover;display:block;}
.mlg-release--stacked .mlg-release__art{max-width:340px;}
.mlg-release__kind{font-size:.72rem;letter-spacing:.18em;text-transform:uppercase;color:var(--text-3);margin:0 0 .5rem;}
.mlg-release__t{font-family:var(--font-display);font-size:calc(clamp(1.8rem,4vw,2.9rem) * var(--type-head,1));line-height:1.05;margin:0 0 .35rem;}
.mlg-release__t a{color:inherit;text-decoration:none;}
.mlg-release__t a:hover{color:var(--accent);}
.mlg-release__a{font-size:1.05rem;color:var(--accent);margin:0 0 1.4rem;font-weight:500;}
.mlg-draft{color:var(--accent);}

/* ---- tracklist ---- */
.mlg-tracks{list-style:none;margin:0 0 1.6rem;padding:0;border-top:1px solid rgba(var(--fg-rgb),.1);}
.mlg-track{display:flex;align-items:center;gap:.85rem;padding:.62rem .3rem;
  border-bottom:1px solid rgba(var(--fg-rgb),.08);font-size:.93rem;}
.mlg-track.is-current{background:rgba(255,166,0,.07);}
.mlg-track.is-current .mlg-track__name{color:var(--accent);}
.mlg-track__n{width:1.6rem;text-align:right;color:var(--text-3);font-size:.8rem;font-variant-numeric:tabular-nums;flex:none;}
.mlg-track__play{width:34px;height:34px;flex:none;display:grid;place-items:center;cursor:pointer;
  background:rgba(var(--fg-rgb),.07);border:0;color:var(--text);transition:background .15s,color .15s;}
.mlg-track__play:hover{background:var(--accent);color:var(--on-accent);}
.mlg-track__play .i-pause,.mlg-track.is-playing .mlg-track__play .i-play{display:none;}
.mlg-track.is-playing .mlg-track__play .i-pause{display:block;}
.mlg-track__play.is-off{background:transparent;}
.mlg-track__name{flex:1;min-width:0;}
.mlg-track__feat{color:var(--text-3);font-style:normal;font-size:.85em;margin-left:.35rem;}
.mlg-track__e{border:1px solid var(--text-3);color:var(--text-3);font-size:.6rem;padding:0 .22rem;margin-left:.4rem;
  text-decoration:none;vertical-align:middle;}
.mlg-track__prev{font-size:.62rem;letter-spacing:.12em;text-transform:uppercase;color:var(--accent);margin-left:.5rem;}
.mlg-track__buy{font-size:.75rem;color:var(--text-3);text-decoration:none;flex:none;}
.mlg-track__buy:hover{color:var(--accent);}
.mlg-track__t{color:var(--text-3);font-size:.8rem;font-variant-numeric:tabular-nums;flex:none;min-width:2.6rem;text-align:right;}
.mlg-track.is-mute .mlg-track__name{color:var(--text-3);}

/* ---- streaming links ---- */
.mlg-dsp{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:.5rem;}
.mlg-dsp__a{display:inline-block;padding:.6rem 1.05rem;border:1px solid rgba(var(--fg-rgb),.22);
  color:var(--text);text-decoration:none;font-size:.76rem;letter-spacing:.1em;text-transform:uppercase;font-weight:500;
  transition:background .15s,color .15s,border-color .15s;}
.mlg-dsp__a:hover{background:var(--accent);border-color:var(--accent);color:var(--on-accent);}

/* ---- release grid ---- */
.mlg-rgrid{display:grid;gap:clamp(1rem,2.4vw,1.7rem);}
.mlg-rgrid--2{grid-template-columns:repeat(2,minmax(0,1fr));}
.mlg-rgrid--3{grid-template-columns:repeat(3,minmax(0,1fr));}
.mlg-rgrid--4{grid-template-columns:repeat(4,minmax(0,1fr));}
.mlg-rgrid--5{grid-template-columns:repeat(5,minmax(0,1fr));}
.mlg-rgrid--6{grid-template-columns:repeat(6,minmax(0,1fr));}
/* Step down gradually — going straight from 6 to 2 leaves a lot of dead
   space on a laptop, and 6 tiny covers on a 1024 screen are unreadable. */
@media(max-width:1400px){.mlg-rgrid--6{grid-template-columns:repeat(5,minmax(0,1fr));}}
@media(max-width:1200px){.mlg-rgrid--5,.mlg-rgrid--6{grid-template-columns:repeat(4,minmax(0,1fr));}}
@media(max-width:900px){
  .mlg-rgrid--3,.mlg-rgrid--4,.mlg-rgrid--5,.mlg-rgrid--6{grid-template-columns:repeat(3,minmax(0,1fr));}}
@media(max-width:700px){
  .mlg-rgrid--3,.mlg-rgrid--4,.mlg-rgrid--5,.mlg-rgrid--6{grid-template-columns:repeat(2,minmax(0,1fr));}}
@media(max-width:520px){.mlg-rgrid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:.9rem;}}
/* At 5+ the meta lines need to shrink or they wrap awkwardly under a small cover */
.mlg-rgrid--5 .mlg-rcard__t,.mlg-rgrid--6 .mlg-rcard__t{font-size:calc(.95rem * var(--type-head,1));}
.mlg-rgrid--5 .mlg-rcard__meta,.mlg-rgrid--6 .mlg-rcard__meta{font-size:.62rem;}
.mlg-rcard__art{position:relative;display:block;aspect-ratio:1;background:var(--well);overflow:hidden;}
.mlg-rcard__art img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .5s;}
.mlg-rcard:hover .mlg-rcard__art img{transform:scale(1.05);}
.mlg-rcard__ph{position:absolute;inset:0;background:linear-gradient(135deg,#1a1a1a,#0d0d0d);}
.mlg-rcard__play{position:absolute;right:.7rem;bottom:.7rem;width:46px;height:46px;border:0;cursor:pointer;
  background:var(--accent);color:var(--on-accent);display:grid;place-items:center;
  opacity:0;transform:translateY(8px);transition:opacity .2s,transform .2s;}
.mlg-rcard:hover .mlg-rcard__play,.mlg-rcard__play:focus-visible,
.mlg-rcard__play.is-current{opacity:1;transform:none;}
.mlg-rcard__play .i-pause,.mlg-rcard__play.is-playing .i-play{display:none;}
.mlg-rcard__play.is-playing .i-pause{display:block;}
.mlg-rcard__body{padding:.75rem .1rem 0;}
.mlg-rcard__t{font-size:.98rem;margin:0 0 .15rem;line-height:1.25;}
.mlg-rcard__t a{color:var(--text);text-decoration:none;}
.mlg-rcard__t a:hover{color:var(--accent);}
.mlg-rcard__a{margin:0;font-size:.85rem;color:var(--accent);}
.mlg-rcard__m{margin:.2rem 0 0;font-size:.74rem;color:var(--text-3);letter-spacing:.06em;text-transform:uppercase;}

/* ---- release page ---- */
.mlg-rsingle{position:relative;}
.mlg-rsingle__bg{position:absolute;inset:0 0 auto;height:min(70vh,760px);background-size:cover;background-position:center;
  filter:blur(60px) saturate(.6);opacity:.22;pointer-events:none;}
.mlg-rsingle__head{position:relative;padding:calc(var(--nav-h) + clamp(2.5rem,6vw,5rem)) 0 clamp(2.5rem,5vw,4rem);}
.mlg-credits h2{font-size:1.1rem;margin:2rem 0 .6rem;}
.mlg-credits p{color:var(--text-3);line-height:1.75;margin:0 0 .6rem;}
.mlg-credits__ids{display:flex;flex-wrap:wrap;gap:1.1rem;font-size:.76rem;letter-spacing:.08em;text-transform:uppercase;}

/* ---- embeds ---- */
.mlg-embed{margin:0 0 1.4rem;}
.mlg-embed iframe{width:100%;border:0;display:block;}
.mlg-embed--youtube{position:relative;aspect-ratio:16/9;}
.mlg-embed--youtube iframe{position:absolute;inset:0;width:100%;height:100%;}
.mlg-embed-wrap{margin-inline:auto;}
.mlg-embed-wrap--narrow{max-width:640px;}
.mlg-embed-wrap--normal{max-width:900px;}
.mlg-embed__t{font-family:var(--font-display);font-size:calc(clamp(1.3rem,2.6vw,1.9rem) * var(--type-head,1));margin:0 0 1rem;}

/* ══════════════════════════ PERSISTENT PLAYER ══════════════════════════ */
.mlg-player[hidden]{display:none !important;}
.mlg-player{position:fixed;left:0;right:0;bottom:0;z-index:80;background:rgba(12,12,13,.97);
  border-top:1px solid rgba(var(--fg-rgb),.13);backdrop-filter:blur(14px);
  transform:translateY(110%);transition:transform .28s cubic-bezier(.4,0,.2,1);}
.mlg-player.is-on{transform:none;}
body:has(.mlg-player.is-on) .mlg-footer{padding-bottom:96px;}
.mlg-player__inner{max-width:var(--wrap,1280px);margin:0 auto;padding:.6rem clamp(.8rem,3vw,2rem);
  display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1.5fr) auto;gap:clamp(.7rem,2vw,1.6rem);align-items:center;}
.mlg-player__now{display:flex;align-items:center;gap:.7rem;min-width:0;}
.mlg-player__art{width:44px;height:44px;flex:none;background:var(--media-bg-2) center/cover no-repeat;}
.mlg-player__art.is-empty{background:linear-gradient(135deg,#242424,#141414);}
.mlg-player__meta{display:flex;flex-direction:column;min-width:0;}
.mlg-player__title{font-size:.87rem;color:var(--text);text-decoration:none;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.mlg-player__title:hover{color:var(--accent);}
.mlg-player__artist{font-size:.75rem;color:var(--text-3);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.mlg-player__badge{font-size:.58rem;letter-spacing:.14em;text-transform:uppercase;color:var(--on-accent);
  background:var(--accent);padding:.15rem .4rem;flex:none;}
.mlg-player__controls{display:flex;align-items:center;gap:.3rem;}
.mlg-player__btn{width:36px;height:36px;display:grid;place-items:center;background:transparent;border:0;
  color:var(--text);cursor:pointer;transition:color .15s,opacity .15s;}
.mlg-player__btn:hover{color:var(--accent);}
.mlg-player__btn:disabled{opacity:.3;cursor:default;}
.mlg-player__btn--play{background:var(--accent);color:var(--on-accent);width:42px;height:42px;}
.mlg-player__btn--play:hover{background:var(--text);color:var(--on-accent);}
.mlg-player__btn--play .i-pause{display:none;}
.mlg-player__btn--play.is-playing .i-play{display:none;}
.mlg-player__btn--play.is-playing .i-pause{display:block;}
.mlg-player__seek{display:flex;align-items:center;gap:.6rem;min-width:0;}
.mlg-player__time{font-size:.7rem;color:var(--text-3);font-variant-numeric:tabular-nums;flex:none;min-width:2.4rem;}
.mlg-player__time:last-of-type{text-align:right;}
.mlg-player__track{position:relative;flex:1;height:4px;background:rgba(var(--fg-rgb),.16);min-width:0;}
.mlg-player__fill{position:absolute;inset:0 auto 0 0;width:0;background:var(--accent);}
.mlg-player__seek input[type=range]{position:absolute;inset:-8px 0;width:100%;height:20px;opacity:0;cursor:pointer;margin:0;}
.mlg-player__right{display:flex;align-items:center;gap:.4rem;}
.mlg-player__vol{width:80px;accent-color:var(--accent);}
@media(max-width:860px){
  .mlg-player__inner{grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"now controls" "seek seek";gap:.5rem 1rem;}
  .mlg-player__now{grid-area:now;}
  .mlg-player__controls{grid-area:controls;}
  .mlg-player__seek{grid-area:seek;}
  .mlg-player__right{display:none;}
}
body.is-navigating{cursor:progress;}

/* ---- 4px radius on everything that behaves like a button ---- */
/* Everything that behaves like a button follows the radius set in Settings.
   Square icon buttons become circles at the Pill setting, which is intended. */
.mlg-btn,.mlg-dsp__a,.mlg-pager__n,.mlg-track__play,.mlg-rcard__play,
.mlg-player__btn,.mlg-form button,.mlg-form [type=submit],
.mlg-carousel__arrow,.mlg-vgal__play,.mlg-vlight__x,
.mlg-fembed__alt a{border-radius:var(--btn-radius,4px);}
/* Badges keep a fixed small radius — a pill-shaped badge is fine, a square one is not. */

/* ── page headers + filter pills ──────────────────────────────────────
   Used by /careers, /releases and any listing page. These had no rules at
   all, so those headers rendered as unstyled text. */
.mlg-pagehead{background:var(--panel);padding:calc(var(--nav-h) + clamp(2.5rem,5vw,4rem)) 0 clamp(2rem,4vw,3rem);
  border-bottom:1px solid var(--line-soft);}
.mlg-pagehead h1{font-size:calc(clamp(2rem,5vw,3.4rem) * var(--type-head,1));margin:0 0 .5rem;
  text-transform:uppercase;letter-spacing:-.02em;}
.mlg-pagehead__sub{color:var(--text);font-size:calc(1.05rem * var(--type-base,1));max-width:62ch;margin:0;}
.mlg-pagehead .mlg-eyebrow a{color:var(--accent);text-decoration:none;}
.mlg-pagehead--job h1{text-transform:none;}

/* Photo behind a page header. The container has to sit above the image, so
   the header becomes a positioning context and the layers are explicit. */
.mlg-pagehead--photo{position:relative;overflow:hidden;background:var(--ink);isolation:isolate;}
.mlg-pagehead--photo > .mlg-container{position:relative;z-index:2;}
.mlg-pagehead__bg{position:absolute;inset:0;z-index:0;display:block;}
.mlg-pagehead__bg img{width:100%;height:100%;object-fit:cover;display:block;}
.mlg-pagehead__fade{position:absolute;inset:0;z-index:1;display:block;
  background:linear-gradient(to top,
    rgba(var(--scrim-rgb),calc(var(--fade,.7) + .2)) 0%,
    rgba(var(--scrim-rgb),var(--fade,.7)) 55%,
    rgba(var(--scrim-rgb),calc(var(--fade,.7) * .7)) 100%);}
.mlg-pagehead--photo{padding-bottom:clamp(2.5rem,5vw,4rem);}
.mlg-pagehead--photo .mlg-job__meta span{border-color:rgba(var(--fg-rgb),.35);
  background:rgba(var(--bg-rgb),.35);color:rgba(var(--fg-rgb),.9);}

.mlg-pills{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:1.5rem;}
.mlg-pill{display:inline-block;padding:.5rem .95rem;border:1px solid var(--line);
  color:var(--text);text-decoration:none;font-size:.72rem;letter-spacing:.1em;
  text-transform:uppercase;font-weight:500;border-radius:4px;
  transition:background .16s,color .16s,border-color .16s;}
.mlg-pill:hover{border-color:var(--accent);color:var(--accent);}
.mlg-pill.is-on{background:var(--accent);border-color:var(--accent);color:var(--on-accent);}

/* h3+ keep their weight; only h1/h2 drop to 400 */
h3,h4,h5{font-weight:600;}
.mlg-footer__bar{border-top:0;}

/* ══════════════════ HERO CAROUSEL ══════════════════ */
/* .mlg-hero is display:flex, which would size each slide to its own content.
   The carousel overrides that: the section is a block with the hero min-height,
   and every slide is absolutely positioned so it fills that box exactly. */
.mlg-carousel{display:block;position:relative;overflow:hidden;
  background:var(--ink);padding-top:0;padding-bottom:0;}
.mlg-carousel__slide{
  position:absolute;inset:0;display:flex;align-items:center;
  padding-top:calc(var(--nav-h) + 3rem);padding-bottom:3rem;
  opacity:0;visibility:hidden;
  /* visibility is delayed by the fade length so the outgoing slide is not
     cut off mid-crossfade; on the way in it flips instantly. */
  transition:opacity var(--fade,2s) linear,
             visibility 0s linear var(--fade,2s);}
.mlg-carousel__slide.is-on{opacity:1;visibility:visible;z-index:2;
  transition:opacity var(--fade,2s) linear,visibility 0s;}
/* The outgoing slide stays FULLY OPAQUE underneath while the incoming one fades
   in on top. Fading both at once composites to I*a + O*(1-a)^2 over black, which
   dips ~25% dark at the midpoint. Holding the old one flat keeps it constant. */
.mlg-carousel__slide.was-on{opacity:1;visibility:visible;z-index:1;transition:none;}

/* crossfade speeds */
.mlg-carousel--fade-fast   {--fade:.6s;}
.mlg-carousel--fade-normal {--fade:1.2s;}
.mlg-carousel--fade-slow   {--fade:2s;}
.mlg-carousel--fade-vslow  {--fade:3s;}
.mlg-carousel--fade-cine   {--fade:4.5s;}

/* the image drifts in slowly while the slide holds, then resets off-screen */
.mlg-carousel--kb .mlg-hero__bg img{transform:scale(1.001);transition:none;}
.mlg-carousel--kb .mlg-carousel__slide.is-on .mlg-hero__bg img{
  transform:scale(1.07);
  transition:transform calc(var(--hold,9s) + var(--fade,2s)) cubic-bezier(.25,.1,.25,1);}
.mlg-carousel .mlg-hero__inner{width:100%;}
.mlg-btn--light{background:var(--card);border-color:var(--text);color:#111;}
.mlg-btn--light:hover{background:var(--accent);border-color:var(--accent);color:var(--on-accent);}
.mlg-hero__bg--none{background:radial-gradient(120% 90% at 20% 0%,#242428 0%,#0d0d0e 60%,#000 100%);}
.mlg-carousel__arrow{position:absolute;top:50%;transform:translateY(-50%);z-index:4;
  width:48px;height:48px;display:grid;place-items:center;cursor:pointer;
  background:rgba(var(--bg-rgb),.4);border:1px solid rgba(var(--fg-rgb),.25);color:var(--text);border-radius:4px;
  transition:background .2s,border-color .2s;}
.mlg-carousel__arrow:hover{background:var(--accent);border-color:var(--accent);color:var(--on-accent);}
.mlg-carousel__arrow--prev{left:clamp(.6rem,2vw,1.6rem);}
.mlg-carousel__arrow--next{right:clamp(.6rem,2vw,1.6rem);}
.mlg-carousel__dots{position:absolute;left:0;right:0;bottom:clamp(1rem,3vw,2.2rem);z-index:4;
  display:flex;justify-content:center;gap:.5rem;}
.mlg-carousel__dot{width:30px;height:3px;border:0;padding:0;cursor:pointer;
  background:rgba(var(--fg-rgb),.35);transition:background .2s;}
.mlg-carousel__dot.is-on{background:var(--accent);}
@media(max-width:640px){
  .mlg-carousel__arrow{display:none;}
  .mlg-carousel__slide{padding-top:calc(var(--nav-h) + 2rem);overflow-y:auto;}
}
@media(prefers-reduced-motion:reduce){.mlg-carousel__slide{transition:none;}}

/* ══════════════════ VIDEO + TEXT ══════════════════ */
.mlg-vt{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(1.6rem,4vw,3.4rem);align-items:center;}
.mlg-vt--right .mlg-vt__media{order:2;}
.mlg-vt__file{width:100%;display:block;background:var(--ink);border-radius:4px;}
.mlg-vt__t{font-size:calc(clamp(1.6rem,3.4vw,2.6rem) * var(--type-head,1));margin:0 0 1rem;}
@media(max-width:860px){.mlg-vt{grid-template-columns:1fr;}.mlg-vt--right .mlg-vt__media{order:0;}}

/* ══════════════════ VIDEO GALLERY ══════════════════ */
.mlg-vgal{display:grid;gap:clamp(.9rem,2vw,1.5rem);}
.mlg-vgal--2{grid-template-columns:repeat(2,minmax(0,1fr));}
.mlg-vgal--3{grid-template-columns:repeat(3,minmax(0,1fr));}
.mlg-vgal--4{grid-template-columns:repeat(4,minmax(0,1fr));}
@media(max-width:900px){.mlg-vgal--3,.mlg-vgal--4{grid-template-columns:repeat(2,minmax(0,1fr));}}
@media(max-width:560px){.mlg-vgal{grid-template-columns:1fr!important;}}
.mlg-vgal__item{position:relative;display:block;width:100%;padding:0;border:0;cursor:pointer;
  background:var(--well);overflow:hidden;text-align:left;border-radius:4px;}
.mlg-vgal__thumb{display:block;aspect-ratio:16/9;background:var(--media-bg-3) center/cover no-repeat;
  transition:transform .5s var(--ease);}
.mlg-vgal__item:hover .mlg-vgal__thumb{transform:scale(1.05);}
.mlg-vgal__play{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);
  width:56px;height:56px;display:grid;place-items:center;background:var(--accent);color:var(--on-accent);border-radius:4px;
  transition:transform .2s var(--ease);}
.mlg-vgal__item:hover .mlg-vgal__play{transform:translate(-50%,-50%) scale(1.08);}
.mlg-vgal__cap{display:block;padding:.7rem .85rem;color:var(--text);font-size:.9rem;}
.mlg-vlight{position:fixed;inset:0;z-index:200;background:rgba(var(--bg-rgb),.94);
  display:none;align-items:center;justify-content:center;padding:clamp(1rem,4vw,3rem);}
.mlg-vlight.is-open{display:flex;}
.mlg-vlight__box{width:min(1100px,100%);}
.mlg-vlight__box iframe,.mlg-vlight__box video{width:100%;aspect-ratio:16/9;border:0;display:block;background:var(--ink);}
.mlg-vlight__x{position:absolute;top:1rem;right:1rem;width:44px;height:44px;cursor:pointer;
  background:transparent;border:1px solid rgba(var(--fg-rgb),.3);color:var(--text);border-radius:4px;font-size:1.3rem;}

/* ══════════════════ TEXT STRIP ══════════════════ */
.mlg-strip{overflow:hidden;}
.mlg-strip__in{display:block;text-decoration:none;padding-block:clamp(.7rem,1.6vw,1.15rem);}
.mlg-strip--accent{background:var(--accent);} .mlg-strip--accent .mlg-strip__in{color:var(--on-accent);}
.mlg-strip--dark{background:var(--panel);} .mlg-strip--dark .mlg-strip__in{color:var(--text);}
.mlg-strip--outline{border-block:1px solid var(--line);} .mlg-strip--outline .mlg-strip__in{color:var(--text);}
.mlg-strip--plain .mlg-strip__in{color:var(--text);}
.mlg-strip--light{background:var(--card);} .mlg-strip--light .mlg-strip__in{color:#0d0d0e;}
.mlg-strip--light .mlg-strip__in:hover{color:var(--accent-dark,#cf7000);}
.mlg-strip--invert{background:var(--card);} .mlg-strip--invert .mlg-strip__in{color:#0d0d0e;}
.mlg-strip__t{font-family:var(--font-display);letter-spacing:.02em;white-space:nowrap;}
.mlg-strip--sm .mlg-strip__t{font-size:calc(clamp(.85rem,1.6vw,1rem) * var(--type-base,1));}
.mlg-strip--md .mlg-strip__t{font-size:calc(clamp(1.05rem,2.4vw,1.6rem) * var(--type-base,1));}
.mlg-strip--lg .mlg-strip__t{font-size:calc(clamp(1.5rem,4.4vw,3rem) * var(--type-base,1));}
.mlg-strip:not(.is-marquee) .mlg-strip__in{text-align:center;}
.mlg-strip.is-marquee .mlg-strip__rail{display:inline-flex;gap:2.5rem;padding-left:2.5rem;
  will-change:transform;animation:mlg-marquee var(--dur,22s) linear infinite;}
.mlg-strip.is-marquee:hover .mlg-strip__rail{animation-play-state:paused;}
@keyframes mlg-marquee{from{transform:translateX(0)}to{transform:translateX(-50%)}}
@media(prefers-reduced-motion:reduce){.mlg-strip.is-marquee .mlg-strip__rail{animation:none;}}

/* ══════════════════ EMBEDDED FORM ══════════════════ */
.mlg-fembed__frame{position:relative;background:var(--well-3);border:1px solid var(--line-soft);border-radius:4px;overflow:hidden;}
.mlg-fembed__frame iframe{display:block;width:100%;border:0;min-height:400px;transition:height .2s ease;}
.mlg-fembed__alt{margin:.9rem 0 0;font-size:.85rem;color:var(--text-3);text-align:center;}
.mlg-fembed__alt a{color:var(--accent);text-decoration:none;font-weight:500;}
.mlg-fembed__alt a:hover{text-decoration:underline;}
.mlg-fembed.is-blocked .mlg-fembed__frame{display:none;}
.mlg-fembed.is-blocked .mlg-fembed__alt{
  margin:0;padding:clamp(2rem,5vw,3.5rem);text-align:center;font-size:1rem;color:var(--text);
  background:var(--panel);border:1px solid var(--line-soft);border-radius:4px;}
.mlg-fembed.is-blocked .mlg-fembed__alt a{
  display:inline-block;margin-top:1rem;padding:.95rem 1.6rem;border-radius:4px;
  background:var(--accent);color:var(--on-accent);text-decoration:none;
  font-size:.8rem;letter-spacing:.12em;text-transform:uppercase;}
.mlg-fembed.is-live .mlg-fembed__alt{display:none;}
.mlg-fembed__msg{display:block;}
.mlg-fembed:not(.is-blocked) .mlg-fembed__msg{display:none;}
.mlg-fembed:not(.is-blocked) .mlg-fembed__alt::before{content:"Form not loading? ";}

/* ══════════════════ JOB BOARD ══════════════════ */
.mlg-jobs{border-top:1px solid var(--line-soft);}
.mlg-job{display:flex;align-items:center;gap:1.4rem;padding:1.35rem .25rem;
  border-bottom:1px solid var(--line-soft);text-decoration:none;color:inherit;
  transition:background .18s var(--ease),padding .18s var(--ease);}
.mlg-job:hover{background:rgba(var(--fg-rgb),.03);padding-left:.9rem;padding-right:.9rem;}
.mlg-job__main{flex:1;min-width:0;}
.mlg-job__title{display:block;font-family:var(--font-display);
  font-size:calc(clamp(1.1rem,2vw,1.45rem) * var(--type-head,1));color:var(--text);line-height:1.25;
  overflow-wrap:break-word;}
.mlg-job:hover .mlg-job__title{color:var(--accent);}
.mlg-job__flag{font-style:normal;font-size:.6rem;letter-spacing:.14em;text-transform:uppercase;
  background:var(--accent);color:var(--on-accent);padding:.15rem .42rem;margin-left:.55rem;vertical-align:middle;
  border-radius:4px;}
.mlg-job__flag--draft{background:transparent;color:var(--text-3);border:1px solid var(--line);}
.mlg-job__sum{display:block;color:var(--text-3);font-size:.9rem;margin-top:.3rem;}
.mlg-job__meta{display:flex;flex-wrap:wrap;gap:.45rem;flex:none;max-width:46%;justify-content:flex-end;}
.mlg-job__meta span{font-size:.68rem;letter-spacing:.1em;text-transform:uppercase;color:var(--text-3);
  border:1px solid var(--line);padding:.32rem .6rem;border-radius:4px;white-space:nowrap;}
.mlg-job__meta--lg{justify-content:flex-start;max-width:none;margin:.9rem 0 1.2rem;}
.mlg-job__go{flex:none;color:var(--text-3);}
.mlg-job:hover .mlg-job__go{color:var(--accent);}
.mlg-job.is-closed{opacity:.55;}
@media(max-width:760px){
  /* Stack properly rather than relying on flex-wrap. The row used to stay a
     flex line where .mlg-job__main had flex-basis:0 and .mlg-job__meta was
     flex:none — so the pills took their full intrinsic width (381px inside a
     358px row on a 390px phone), pushed the page sideways, and squeezed the
     title column until long titles broke one character per line. */
  .mlg-job{display:block;padding:1.15rem .25rem;}
  .mlg-job:hover{padding-left:.25rem;padding-right:.25rem;}
  .mlg-job__main{display:block;width:100%;}
  .mlg-job__title{font-size:calc(1.05rem * var(--type-head,1));}
  .mlg-job__sum{margin-top:.35rem;font-size:.86rem;}
  .mlg-job__meta{max-width:100%;width:100%;justify-content:flex-start;
    margin-top:.7rem;gap:.35rem;}
  /* Let a long pill wrap instead of forcing the row wider than the screen. */
  .mlg-job__meta span{white-space:normal;font-size:.62rem;padding:.28rem .5rem;
    max-width:100%;overflow-wrap:break-word;}
  .mlg-job__go{display:none;}
}
@media(max-width:420px){
  .mlg-job__title{font-size:calc(.98rem * var(--type-head,1));}
  .mlg-job__meta span{font-size:.58rem;letter-spacing:.06em;}
}
@media(max-width:520px){
  .mlg-pills{gap:.4rem;}
  .mlg-pills .mlg-pill{font-size:.62rem;padding:.42rem .7rem;}
  .mlg-pagehead__sub{font-size:.95rem;}
}
.mlg-jobs-empty{color:var(--text-3);text-align:center;padding:clamp(2rem,5vw,3.5rem) 1rem;
  border:1px dashed var(--line);}
.mlg-job__lead{font-size:calc(1.1rem * var(--type-base,1));color:var(--text);margin-bottom:1.6rem;}
.mlg-job__h2{font-size:calc(clamp(1.3rem,2.6vw,1.9rem) * var(--type-head,1));margin:2.2rem 0 1rem;}
.mlg-job__notice{margin:.6rem 0 0;color:var(--accent);font-weight:500;}
.mlg-job__notice--soft{color:var(--text-3);font-weight:400;font-size:.9rem;}
.mlg-job__sent{border-left:3px solid var(--accent);background:rgba(255,166,0,.08);padding:1.1rem 1.3rem;}
.mlg-job__sent p{margin:.4rem 0 0;color:var(--text);}
.mlg-job__error{border-left:3px solid #ff5a5a;background:rgba(255,90,90,.1);padding:.8rem 1rem;margin-bottom:1.2rem;}
.mlg-field--hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden;}

/* ══════════════════ SPLIT PANELS ══════════════════ */
.mlg-sect-head--left{text-align:left;margin-inline:0;max-width:none;}
.mlg-panels__h{text-transform:uppercase;letter-spacing:-.02em;}
.mlg-panels__h strong{font-weight:700;}

.mlg-panels{display:grid;}
.mlg-panels--2{grid-template-columns:repeat(2,minmax(0,1fr));}
.mlg-panels--3{grid-template-columns:repeat(3,minmax(0,1fr));}
.mlg-panels--gap-none{gap:0;}
.mlg-panels--gap-sm{gap:.5rem;}
.mlg-panels--gap-md{gap:clamp(1rem,2.4vw,2rem);}
.mlg-panels--gap-lg{gap:clamp(1.6rem,4vw,3.2rem);}
@media(max-width:860px){
  .mlg-panels--2,.mlg-panels--3{grid-template-columns:1fr;}
}

.mlg-panel{position:relative;overflow:hidden;display:flex;background:var(--panel);
  border-radius:var(--btn-radius,4px);text-decoration:none;color:inherit;isolation:isolate;}
.mlg-panel--h-auto{min-height:0;}
.mlg-panel--h-md{min-height:clamp(360px,42vw,520px);}
.mlg-panel--h-lg{min-height:clamp(460px,55vw,680px);}
.mlg-panel--h-square{aspect-ratio:1;}

/* background photo */
.mlg-panel__bg{position:absolute;inset:0;z-index:0;display:block;}
.mlg-panel__bg img{width:100%;height:100%;object-fit:cover;display:block;
  transition:transform .7s var(--ease);}
.mlg-panel--link:hover .mlg-panel__bg img{transform:scale(1.04);}

/* the fade over the photo — --fade is set per panel in the editor */
.mlg-panel__fade{position:absolute;inset:0;z-index:1;display:block;
  background:rgba(var(--scrim-rgb),var(--fade,.55));}
.mlg-panel__fade--bottom{background:linear-gradient(to top,
  rgba(var(--scrim-rgb),calc(var(--fade,.55) + .25)) 0%,
  rgba(var(--scrim-rgb),var(--fade,.55)) 45%,
  rgba(var(--scrim-rgb),calc(var(--fade,.55) * .35)) 100%);}
.mlg-panel__fade--left{background:linear-gradient(to right,
  rgba(var(--scrim-rgb),calc(var(--fade,.55) + .25)) 0%,
  rgba(var(--scrim-rgb),var(--fade,.55)) 50%,
  rgba(var(--scrim-rgb),calc(var(--fade,.55) * .35)) 100%);}
/* a black-text panel fades toward white instead, or the text vanishes */
.mlg-panel--text-dark .mlg-panel__fade{background:rgba(255,255,255,var(--fade,.55));}
.mlg-panel--text-dark .mlg-panel__fade--bottom{background:linear-gradient(to top,
  rgba(var(--fg-rgb),calc(var(--fade,.55) + .25)) 0%,
  rgba(var(--fg-rgb),var(--fade,.55)) 45%,
  rgba(var(--fg-rgb),calc(var(--fade,.55) * .35)) 100%);}
.mlg-panel--text-dark .mlg-panel__fade--left{background:linear-gradient(to right,
  rgba(var(--fg-rgb),calc(var(--fade,.55) + .25)) 0%,
  rgba(var(--fg-rgb),var(--fade,.55)) 50%,
  rgba(var(--fg-rgb),calc(var(--fade,.55) * .35)) 100%);}

.mlg-panel__body{position:relative;z-index:2;display:flex;flex-direction:column;
  padding:clamp(1.8rem,4vw,3.4rem);width:100%;}
.mlg-panel--center{align-items:center;}
.mlg-panel--center .mlg-panel__body{justify-content:center;align-items:center;text-align:center;}
.mlg-panel--left{align-items:center;}
.mlg-panel--left .mlg-panel__body{justify-content:center;align-items:flex-start;text-align:left;}
.mlg-panel--bottom{align-items:flex-end;}
.mlg-panel--bottom .mlg-panel__body{justify-content:flex-end;align-items:flex-start;text-align:left;}

.mlg-panel__eyebrow{display:block;font-size:.72rem;font-weight:600;letter-spacing:.16em;
  text-transform:uppercase;margin-bottom:.9rem;}
.mlg-panel__t{display:block;font-family:var(--font-display);font-weight:600;line-height:1.06;
  font-size:calc(clamp(1.7rem,3.4vw,2.9rem) * var(--type-head,1));margin-bottom:.9rem;
  /* Three narrow panels + a long word was breaking "Distribution" mid-word.
     Let long words shrink rather than hyphenate into nonsense. */
  overflow-wrap:break-word;hyphens:auto;}
.mlg-panels--3 .mlg-panel__t{font-size:calc(clamp(1.4rem,2.2vw,2.1rem) * var(--type-head,1));}
.mlg-panel__t strong{font-weight:700;}
.mlg-panel__text{display:block;font-size:calc(1rem * var(--type-base,1));line-height:1.7;
  max-width:52ch;}
.mlg-panel--center .mlg-panel__text{margin-inline:auto;}
.mlg-panel__btn{margin-top:clamp(1.4rem,3vw,2.2rem);align-self:flex-start;}
.mlg-panel--center .mlg-panel__btn{align-self:center;}

/* text colours */
.mlg-panel--text-light{color:var(--text);}
.mlg-panel--text-light .mlg-panel__eyebrow{color:var(--text);}
.mlg-panel--text-light .mlg-panel__t{color:var(--text);}
.mlg-panel--text-light .mlg-panel__text{color:rgba(var(--fg-rgb),.86);}
.mlg-panel--text-dark{color:#0d0d0e;}
.mlg-panel--text-dark .mlg-panel__eyebrow,
.mlg-panel--text-dark .mlg-panel__t{color:#0d0d0e;}
.mlg-panel--text-dark .mlg-panel__text{color:rgba(13,13,14,.8);}

/* whole-panel link: the fake button still has to look interactive */
.mlg-panel--link{cursor:pointer;transition:transform .3s var(--ease);}
.mlg-panel--link:hover .mlg-panel__btn{background:var(--accent);border-color:var(--accent);color:var(--on-accent);}
@media(prefers-reduced-motion:reduce){
  .mlg-panel__bg img,.mlg-panel--link{transition:none;}
}

/* ══════════════════ PANEL + IMAGE ══════════════════ */
.mlg-showcase{display:grid;grid-template-columns:var(--panel-w,35%) 1fr;align-items:stretch;}
.mlg-showcase--right{grid-template-columns:1fr var(--panel-w,35%);}
.mlg-showcase--right .mlg-showcase__panel{order:2;}
.mlg-showcase--gap-none{gap:0;}
.mlg-showcase--gap-sm{gap:.6rem;}
.mlg-showcase--gap-md{gap:clamp(1rem,2.4vw,2rem);}

/* Full-bleed: the section escapes the container so the photo can reach the
   viewport edge, while the panel's text still lines up with the page grid. */
.mlg-showcase__full{width:100%;}
.mlg-showcase--bleed .mlg-showcase__inner{
  padding-left:max(var(--gap),calc((100vw - var(--wrap)) / 2));}
.mlg-showcase--bleed.mlg-showcase--right .mlg-showcase__inner{
  padding-left:clamp(1.5rem,4vw,3.5rem);
  padding-right:max(var(--gap),calc((100vw - var(--wrap)) / 2));}

.mlg-showcase__panel{background:var(--panel);display:flex;align-items:center;min-width:0;}
.mlg-showcase__inner{padding:clamp(1.8rem,4vw,3.6rem);width:100%;}
.mlg-showcase--h-auto .mlg-showcase__panel{min-height:0;}
.mlg-showcase--h-md .mlg-showcase__panel,
.mlg-showcase--h-md .mlg-showcase__fig{min-height:clamp(380px,44vw,560px);}
.mlg-showcase--h-lg .mlg-showcase__panel,
.mlg-showcase--h-lg .mlg-showcase__fig{min-height:clamp(480px,56vw,720px);}

.mlg-showcase__fig{margin:0;min-width:0;overflow:hidden;background:var(--well);}
.mlg-showcase__fig img{width:100%;height:100%;object-fit:cover;display:block;}

.mlg-showcase__eyebrow{font-size:.74rem;font-weight:600;letter-spacing:.16em;
  text-transform:uppercase;margin:0 0 1.1rem;}
.mlg-showcase__t{font-family:var(--font-display);font-weight:700;line-height:1.1;
  text-transform:uppercase;letter-spacing:-.01em;
  font-size:calc(clamp(1.6rem,2.8vw,2.4rem) * var(--type-head,1));margin:0 0 1.1rem;
  overflow-wrap:break-word;}
.mlg-showcase__t strong{font-weight:700;}
.mlg-showcase__body{font-size:calc(1rem * var(--type-base,1));line-height:1.75;margin-bottom:0;}
.mlg-showcase__body p:last-child{margin-bottom:0;}

/* text colours */
.mlg-showcase--text-light .mlg-showcase__eyebrow,
.mlg-showcase--text-light .mlg-showcase__t{color:var(--text);}
.mlg-showcase--text-light .mlg-showcase__body{color:rgba(var(--fg-rgb),.82);}
.mlg-showcase--text-dark .mlg-showcase__panel{color:#0d0d0e;}
.mlg-showcase--text-dark .mlg-showcase__eyebrow,
.mlg-showcase--text-dark .mlg-showcase__t{color:#0d0d0e;}
.mlg-showcase--text-dark .mlg-showcase__body{color:rgba(13,13,14,.78);}
.mlg-showcase--text-dark .mlg-btn--ghost{border-color:rgba(13,13,14,.45);color:#0d0d0e;}
.mlg-showcase--text-dark .mlg-btn--ghost:hover{background:var(--well-3);border-color:var(--well-3);color:var(--text);}

/* buttons: stacked by default, with an optional trailing icon */
.mlg-showcase__btns{margin-top:clamp(1.5rem,3vw,2.4rem);}
.mlg-showcase__btns--stack .mlg-btn-row{flex-direction:column;align-items:flex-start;gap:.7rem;}
.mlg-showcase__btns--stack .mlg-btn{width:100%;max-width:340px;justify-content:space-between;}
.mlg-showcase__btns--icon-plus .mlg-btn::after{content:"+";margin-left:1.2rem;font-size:1.25em;
  line-height:1;font-weight:400;}
.mlg-showcase__btns--icon-arrow .mlg-btn::after{content:"\2192";margin-left:1.2rem;font-size:1.1em;line-height:1;}
.mlg-showcase__btns--row .mlg-btn-row{flex-wrap:wrap;gap:.7rem;}

@media(max-width:860px){
  .mlg-showcase,.mlg-showcase--right{grid-template-columns:1fr;}
  .mlg-showcase--right .mlg-showcase__panel{order:0;}
  .mlg-showcase--h-md .mlg-showcase__panel,
  .mlg-showcase--h-lg .mlg-showcase__panel{min-height:0;}
  .mlg-showcase--h-md .mlg-showcase__fig,
  .mlg-showcase--h-lg .mlg-showcase__fig{min-height:0;aspect-ratio:4/3;}
  .mlg-showcase--bleed .mlg-showcase__inner,
  .mlg-showcase--bleed.mlg-showcase--right .mlg-showcase__inner{
    padding-left:var(--gap);padding-right:var(--gap);}
  .mlg-showcase__btns--stack .mlg-btn{max-width:none;}
}

/* ══════════════════ BLOG PHOTO COLUMNS ══════════════════ */
.mlg-pcols__full{width:100%;}
.mlg-pcols__head{display:flex;justify-content:space-between;align-items:flex-end;gap:1.5rem;
  margin-bottom:clamp(1.6rem,3.5vw,2.8rem);}
.mlg-pcols__h{font-size:calc(clamp(1.8rem,4vw,3rem) * var(--type-head,1));margin:0;
  text-transform:uppercase;letter-spacing:-.02em;}

.mlg-pcols{display:grid;grid-template-columns:repeat(var(--cols,4),minmax(0,1fr));}
.mlg-pcols--1{--cols:1;} .mlg-pcols--2{--cols:2;} .mlg-pcols--3{--cols:3;}
.mlg-pcols--4{--cols:4;} .mlg-pcols--5{--cols:5;} .mlg-pcols--6{--cols:6;}
.mlg-pcols--7,.mlg-pcols--8,.mlg-pcols--9,
.mlg-pcols--10,.mlg-pcols--11,.mlg-pcols--12{--cols:4;}
.mlg-pcols--gap-none{gap:0;}
.mlg-pcols--gap-thin{gap:1px;}
.mlg-pcols--gap-sm{gap:.75rem;}
.mlg-pcols--gap-md{gap:clamp(1rem,2.2vw,1.8rem);}

.mlg-pcol{position:relative;display:flex;align-items:flex-end;overflow:hidden;
  text-decoration:none;color:var(--text);background:var(--well);min-width:0;isolation:isolate;}
.mlg-pcols--h-md .mlg-pcol{min-height:clamp(340px,38vw,460px);}
.mlg-pcols--h-lg .mlg-pcol{min-height:clamp(420px,46vw,580px);}
.mlg-pcols--h-xl .mlg-pcol{min-height:clamp(500px,58vw,700px);}
.mlg-pcols--gap-none .mlg-pcol,.mlg-pcols--gap-thin .mlg-pcol{border-radius:0;}
.mlg-pcols--gap-sm .mlg-pcol,.mlg-pcols--gap-md .mlg-pcol{border-radius:var(--btn-radius,4px);}

.mlg-pcol__bg{position:absolute;inset:0;z-index:0;display:block;}
.mlg-pcol__bg img{width:100%;height:100%;object-fit:cover;display:block;
  transition:transform .8s var(--ease),filter .5s var(--ease);}
.mlg-pcol__bg--none{background:linear-gradient(160deg,#242428,#0d0d0e);}
.mlg-pcol:hover .mlg-pcol__bg img{transform:scale(1.05);}

/* photo treatment */
.mlg-pcols--bw .mlg-pcol__bg img{filter:grayscale(1);}
.mlg-pcols--bw-hover .mlg-pcol__bg img{filter:grayscale(1);}
.mlg-pcols--bw-hover .mlg-pcol:hover .mlg-pcol__bg img{filter:grayscale(0);}

.mlg-pcol__fade{position:absolute;inset:0;z-index:1;display:block;
  background:linear-gradient(to top,
    rgba(var(--scrim-rgb),calc(var(--fade,.45) + .35)) 0%,
    rgba(var(--scrim-rgb),var(--fade,.45)) 42%,
    rgba(var(--scrim-rgb),calc(var(--fade,.45) * .5)) 100%);}

.mlg-pcol__body{position:relative;z-index:2;display:block;width:100%;
  padding:clamp(1.4rem,2.6vw,2.2rem);}
.mlg-pcol__meta{display:flex;flex-wrap:wrap;gap:.7rem;font-size:.68rem;letter-spacing:.12em;
  text-transform:uppercase;color:rgba(var(--fg-rgb),.7);margin-bottom:.7rem;}
.mlg-pcol__meta .cat{color:var(--accent);}
.mlg-pcol__t{display:block;font-family:var(--font-display);font-weight:700;line-height:1.12;
  text-transform:uppercase;letter-spacing:-.01em;color:var(--text);
  font-size:calc(clamp(1.15rem,1.9vw,1.7rem) * var(--type-head,1));margin-bottom:.6rem;
  overflow-wrap:break-word;}
.mlg-pcol:hover .mlg-pcol__t{color:var(--accent);}
.mlg-pcol__x{display:block;font-size:calc(.92rem * var(--type-base,1));line-height:1.6;
  color:rgba(var(--fg-rgb),.82);}

@media(max-width:1100px){
  .mlg-pcols--4,.mlg-pcols--5,.mlg-pcols--6,
  .mlg-pcols--7,.mlg-pcols--8,.mlg-pcols--9,
  .mlg-pcols--10,.mlg-pcols--11,.mlg-pcols--12{--cols:2;}
  .mlg-pcols--3{--cols:2;}
}
@media(max-width:640px){
  .mlg-pcols{--cols:1 !important;}
  .mlg-pcols--h-md .mlg-pcol,.mlg-pcols--h-lg .mlg-pcol,
  .mlg-pcols--h-xl .mlg-pcol{min-height:320px;}
  .mlg-pcols__head{flex-direction:column;align-items:flex-start;}
}
@media(prefers-reduced-motion:reduce){
  .mlg-pcol__bg img{transition:none;}
  .mlg-pcol:hover .mlg-pcol__bg img{transform:none;}
}

/* ══════════════════ BLOG METRO GRID ══════════════════ */
.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;}

.mlg-metro{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));
  grid-auto-rows:clamp(190px,17vw,240px);gap:2px;grid-auto-flow:dense;}
.mlg-tile{position:relative;overflow:hidden;display:flex;align-items:flex-end;
  text-decoration:none;color:var(--text);background:var(--panel);isolation:isolate;
  grid-column:span 1;grid-row:span 1;}
.mlg-tile--big{grid-column:span 2;grid-row:span 2;}
.mlg-tile--wide{grid-column:span 2;grid-row:span 1;}

.mlg-tile__bg{position:absolute;inset:0;z-index:0;display:block;}
.mlg-tile__bg img{width:100%;height:100%;object-fit:cover;display:block;
  transition:transform .8s var(--ease);}
.mlg-tile:hover .mlg-tile__bg img{transform:scale(1.05);}
.mlg-tile__fade{position:absolute;inset:0;z-index:1;display:block;
  background:linear-gradient(to top,rgba(var(--bg-rgb),.88) 0%,rgba(var(--bg-rgb),.5) 40%,rgba(var(--bg-rgb),.12) 100%);}

.mlg-tile__body{position:relative;z-index:2;display:block;width:100%;
  padding:clamp(1.1rem,2vw,1.7rem);}
.mlg-tile__meta{display:flex;flex-wrap:wrap;gap:.6rem;font-size:.66rem;letter-spacing:.12em;
  text-transform:uppercase;color:rgba(var(--fg-rgb),.72);margin-bottom:.5rem;}
.mlg-tile__meta .cat{color:var(--accent);}
.mlg-tile__t{display:block;font-family:var(--font-display);font-weight:700;line-height:1.15;
  color:var(--text);font-size:calc(clamp(1rem,1.5vw,1.35rem) * var(--type-head,1));overflow-wrap:break-word;}
.mlg-tile--big .mlg-tile__t{font-size:calc(clamp(1.4rem,2.4vw,2.1rem) * var(--type-head,1));}
.mlg-tile:hover .mlg-tile__t{color:var(--accent);}

/* a post with no cover becomes a pull-quote tile instead of an empty box */
.mlg-tile--quote{background:var(--panel-2);align-items:stretch;}
.mlg-tile--quote .mlg-tile__body{display:flex;flex-direction:column;justify-content:space-between;}
.mlg-tile__quote{font-family:var(--font-display);font-size:3rem;line-height:.6;
  color:var(--accent);opacity:.5;}
.mlg-tile__qtext{display:block;font-size:calc(1rem * var(--type-base,1));line-height:1.6;
  color:var(--text);margin:.8rem 0 auto;}
.mlg-tile--quote .mlg-tile__meta{margin-top:1.2rem;}

@media(max-width:1000px){
  .mlg-metro{grid-template-columns:repeat(2,minmax(0,1fr));}
  .mlg-tile--big,.mlg-tile--wide{grid-column:span 2;}
  .mlg-tile--big{grid-row:span 2;}
}
@media(max-width:600px){
  .mlg-metro{grid-template-columns:1fr;grid-auto-rows:clamp(200px,52vw,260px);}
  .mlg-tile--big,.mlg-tile--wide{grid-column:span 1;grid-row:span 1;}
}
@media(prefers-reduced-motion:reduce){
  .mlg-tile__bg img{transition:none;}
  .mlg-tile:hover .mlg-tile__bg img{transform:none;}
}

/* ══════════════════ BLOG SIDEBAR ══════════════════ */
.mlg-article__grid{display:grid;grid-template-columns:minmax(0,1fr) 320px;
  gap:clamp(2rem,4vw,3.5rem);align-items:start;}
/* Grid items default to min-width:auto and refuse to shrink below their
   content, which pushed the article 11px past a 390px viewport. */
.mlg-article__main,.mlg-sidebar{min-width:0;}
/* Three share buttons in a row ran 12px past a 390px phone. */
.mlg-article__share{display:flex;flex-wrap:wrap;gap:.6rem;}
.mlg-article__main img,.mlg-article__main iframe,
.mlg-article__main table,.mlg-article__main pre{max-width:100%;}
.mlg-article__main pre{overflow-x:auto;}
@media(max-width:960px){.mlg-article__grid{grid-template-columns:1fr;}}

/* The implicit grid column is `auto`, which sizes to max-content and blew
   past the 358px track on mobile. Pin it to the container width. */
.mlg-sidebar{position:sticky;top:calc(var(--nav-h) + 1.5rem);display:grid;
  grid-template-columns:minmax(0,1fr);gap:1.6rem;}
@media(max-width:960px){.mlg-sidebar{position:static;}}
.mlg-sb{background:var(--panel);padding:1.3rem;border-radius:var(--btn-radius,4px);}
.mlg-sb__h{font-size:calc(1.05rem * var(--type-head,1));margin:0 0 1rem;color:var(--text);}

.mlg-sb__search{display:flex;gap:.5rem;}
.mlg-sb__search input{flex:1;min-width:0;background:var(--surface);border:1px solid var(--line);
  color:var(--text);padding:.7rem .85rem;font:inherit;font-size:.9rem;border-radius:var(--btn-radius,4px);}
.mlg-sb__search input:focus{outline:2px solid var(--accent);outline-offset:1px;}
.mlg-sb__search button{flex:none;width:44px;display:grid;place-items:center;cursor:pointer;
  background:var(--accent);border:0;color:var(--on-accent);border-radius:var(--btn-radius,4px);}
.mlg-sb__search button:hover{background:var(--card);}

.mlg-sb__recent{list-style:none;margin:0;padding:0;display:grid;gap:.9rem;}
.mlg-sb__recent a{display:flex;gap:.8rem;align-items:center;text-decoration:none;}
.mlg-sb__thumb{flex:none;width:60px;height:60px;background:var(--panel-2);overflow:hidden;
  border-radius:var(--btn-radius,4px);}
.mlg-sb__thumb img{width:100%;height:100%;object-fit:cover;display:block;}
.mlg-sb__rt{min-width:0;}
.mlg-sb__rtitle{display:block;color:var(--text);font-size:.92rem;line-height:1.35;font-weight:500;}
.mlg-sb__recent a:hover .mlg-sb__rtitle{color:var(--accent);}
.mlg-sb__rdate{display:block;color:var(--text-3);font-size:.74rem;margin-top:.2rem;}

.mlg-sb__cats{list-style:none;margin:0;padding:0;}
.mlg-sb__cats li + li{border-top:1px solid var(--line-soft);}
.mlg-sb__cats a{display:flex;justify-content:space-between;gap:1rem;align-items:center;
  padding:.62rem 0;color:var(--text);text-decoration:none;font-size:.95rem;}
.mlg-sb__cats a:hover{color:var(--accent);}
.mlg-sb__cats .n{color:var(--text-3);font-size:.8rem;font-variant-numeric:tabular-nums;}

/* ══════════════════ ARTIST PROFILE ══════════════════ */
.mlg-artist__head{margin-bottom:clamp(1.8rem,3.5vw,2.8rem);}
.mlg-artist__name{font-family:var(--font-display);font-weight:700;text-transform:uppercase;
  letter-spacing:-.02em;line-height:1.02;margin:0;
  font-size:calc(clamp(2.2rem,5.5vw,4rem) * var(--type-head,1));}

.mlg-artist{display:grid;grid-template-columns:minmax(0,0.85fr) minmax(0,1.15fr);
  gap:clamp(1.6rem,3.5vw,3rem);align-items:start;}
@media(max-width:900px){.mlg-artist{grid-template-columns:1fr;}}

.mlg-artist__photo{position:relative;aspect-ratio:3/4;overflow:hidden;background:var(--panel);
  border-radius:var(--btn-radius,4px);min-width:0;}
.mlg-artist__photo img{width:100%;height:100%;object-fit:cover;display:block;}

.mlg-artist__side{min-width:0;display:grid;grid-template-columns:minmax(0,1fr);
  gap:clamp(1.6rem,3vw,2.4rem);}

/* skill bars */
.mlg-skills{list-style:none;margin:0;padding:0;display:grid;gap:1.4rem;}
.mlg-skill__row{display:flex;justify-content:space-between;align-items:baseline;gap:1rem;
  margin-bottom:.55rem;}
.mlg-skill__label{font-family:var(--font-display);font-weight:600;
  font-size:calc(clamp(1rem,1.6vw,1.25rem) * var(--type-head,1));}
.mlg-skill__pc{font-weight:600;font-size:calc(.95rem * var(--type-base,1));font-variant-numeric:tabular-nums;}
.mlg-skill__track{display:block;height:4px;background:rgba(128,128,128,.28);border-radius:99px;overflow:hidden;}
.mlg-skill__fill{display:block;height:100%;background:var(--accent);border-radius:99px;}

/* bio card — two columns like the reference */
.mlg-artist__bio{background:var(--panel);padding:clamp(1.4rem,3vw,2.4rem);
  border-radius:var(--btn-radius,4px);
  columns:2;column-gap:clamp(1.6rem,3vw,2.6rem);
  font-size:calc(.98rem * var(--type-base,1));line-height:1.75;color:var(--text);}
.mlg-artist__bio p{margin:0 0 1.1rem;break-inside:avoid;}
.mlg-artist__bio p:last-child{margin-bottom:0;}
.mlg-artist__bio.has-dropcap > p:first-of-type::first-letter{
  float:left;font-family:var(--font-display);font-weight:700;font-size:3.4em;line-height:.78;
  padding:.06em .12em 0 0;color:var(--text);}
@media(max-width:640px){.mlg-artist__bio{columns:1;}}

/* on a light section the card should be white, not the dark panel grey */
.mlg-sect--light .mlg-artist__bio{background:var(--card);color:#3a3a3e;}
.mlg-sect--light .mlg-artist__bio.has-dropcap > p:first-of-type::first-letter{color:#0d0d0e;}
.mlg-sect--light .mlg-artist__name,
.mlg-sect--light .mlg-skill__label,
.mlg-sect--light .mlg-skill__pc{color:var(--light-text);}
.mlg-sect--light .mlg-artist__photo{background:var(--track-bg);}

/* socials */
.mlg-artist__socials{list-style:none;margin:clamp(1.6rem,3vw,2.4rem) 0 0;padding:0;
  display:flex;flex-wrap:wrap;gap:.6rem;}
.mlg-artist__socials a{width:42px;height:42px;display:grid;place-items:center;border-radius:50%;
  background:var(--panel);color:var(--text);transition:background .18s,color .18s,transform .18s;}
.mlg-artist__socials a:hover{background:var(--accent);color:var(--on-accent);transform:translateY(-2px);}
.mlg-sect--light .mlg-artist__socials a{background:var(--card);color:#0d0d0e;}
.mlg-sect--light .mlg-artist__socials a:hover{background:var(--accent);}

/* music area */
.mlg-artist__music{margin-top:clamp(2.4rem,5vw,4rem);}
.mlg-artist__mh{font-family:var(--font-display);text-transform:uppercase;letter-spacing:-.01em;
  font-size:calc(clamp(1.3rem,2.4vw,1.9rem) * var(--type-head,1));margin:0 0 1.4rem;}
.mlg-sect--light .mlg-artist__mh{color:var(--light-text);}

.mlg-artist__release{display:grid;grid-template-columns:minmax(0,240px) minmax(0,1fr);
  gap:clamp(1.2rem,3vw,2.2rem);align-items:start;margin-bottom:clamp(1.6rem,3vw,2.4rem);}
@media(max-width:700px){.mlg-artist__release{grid-template-columns:1fr;}}
.mlg-artist__cover{display:block;aspect-ratio:1;overflow:hidden;background:var(--panel);
  border-radius:var(--btn-radius,4px);}
.mlg-artist__cover img{width:100%;height:100%;object-fit:cover;display:block;}
.mlg-artist__tracks{min-width:0;}
.mlg-artist__rt{display:flex;flex-wrap:wrap;gap:.6rem;align-items:baseline;margin:0 0 .8rem;
  font-family:var(--font-display);font-size:calc(1.2rem * var(--type-head,1));}
.mlg-artist__rt a{color:inherit;text-decoration:none;}
.mlg-artist__rt a:hover{color:var(--accent);}
.mlg-artist__rt span{font-family:var(--font-ui);font-size:.8rem;color:var(--text-3);}
.mlg-sect--light .mlg-artist__rt{color:var(--light-text);}
.mlg-sect--light .mlg-track{border-bottom-color:rgba(var(--bg-rgb),.12);}
.mlg-sect--light .mlg-tracks{border-top-color:rgba(var(--bg-rgb),.12);}
.mlg-sect--light .mlg-track__name{color:var(--light-text);}
.mlg-sect--light .mlg-track__play{background:rgba(var(--bg-rgb),.08);color:#0d0d0e;}
.mlg-sect--light .mlg-dsp__a{border-color:rgba(var(--bg-rgb),.25);color:var(--light-text);}

.mlg-artist__embeds{display:grid;gap:clamp(1rem,2.2vw,1.6rem);}
.mlg-artist__embeds--2{grid-template-columns:repeat(2,minmax(0,1fr));}
@media(max-width:820px){.mlg-artist__embeds--2{grid-template-columns:1fr;}}
.mlg-artist__embed{margin:0;min-width:0;}
.mlg-artist__embed figcaption{margin-top:.5rem;font-size:.85rem;color:var(--text-3);}
.mlg-sect--light .mlg-artist__embed figcaption{color:#5a5a60;}

/* ══════════════════ SITE POPUP ══════════════════ */
.mlg-pop{position:fixed;inset:0;z-index:200;display:grid;place-items:center;
  padding:clamp(1rem,4vw,2.5rem);opacity:0;transition:opacity .26s var(--ease);}
.mlg-pop.is-open{opacity:1;}
.mlg-pop[hidden]{display:none !important;}
.mlg-pop__backdrop{position:absolute;inset:0;background:rgba(var(--bg-rgb),.72);
  backdrop-filter:blur(3px);cursor:pointer;}

.mlg-pop__box{position:relative;z-index:1;width:min(760px,100%);
  max-height:min(88vh,760px);overflow-y:auto;isolation:isolate;
  background:var(--panel);border-radius:var(--btn-radius,4px);
  transform:translateY(14px) scale(.985);transition:transform .3s var(--ease);}
.mlg-pop.is-open .mlg-pop__box{transform:none;}

.mlg-pop__bg{position:absolute;inset:0;z-index:0;display:block;}
.mlg-pop__bg img{width:100%;height:100%;object-fit:cover;display:block;}
.mlg-pop__fade{position:absolute;inset:0;z-index:1;display:block;
  background:linear-gradient(to top,
    rgba(var(--scrim-rgb),calc(var(--fade,.45) + .3)) 0%,
    rgba(var(--scrim-rgb),var(--fade,.45)) 55%,
    rgba(var(--scrim-rgb),calc(var(--fade,.45) * .6)) 100%);}

.mlg-pop__x{position:absolute;top:.7rem;right:.7rem;z-index:3;width:40px;height:40px;
  display:grid;place-items:center;cursor:pointer;background:rgba(var(--bg-rgb),.35);
  border:0;color:var(--text);border-radius:50%;transition:background .18s;}
.mlg-pop__x:hover{background:var(--accent);color:var(--on-accent);}

.mlg-pop__body{position:relative;z-index:2;padding:clamp(2.4rem,6vw,4.5rem) clamp(1.4rem,4vw,3rem)
  clamp(1.8rem,4vw,3rem);text-align:center;}
.mlg-pop--noimg .mlg-pop__body{padding-top:clamp(2rem,4vw,3rem);}

.mlg-pop__h{margin:0 0 1rem;font-family:var(--font-display);line-height:1.06;
  text-transform:uppercase;letter-spacing:-.01em;}
.mlg-pop__h1{display:block;font-weight:700;color:var(--text);
  font-size:calc(clamp(1.3rem,3.2vw,2.1rem) * var(--type-head,1));}
/* Outlined second line, like the reference. Falls back to solid where
   -webkit-text-stroke is unsupported. */
.mlg-pop__h2{display:block;font-weight:700;color:transparent;
  -webkit-text-stroke:1.5px var(--text);
  font-size:calc(clamp(1.3rem,3.2vw,2.1rem) * var(--type-head,1));}
@supports not (-webkit-text-stroke: 1px #fff){
  .mlg-pop__h2{color:rgba(var(--fg-rgb),.75);}
}
.mlg-pop__text{color:rgba(var(--fg-rgb),.85);margin:0 auto 1.6rem;max-width:52ch;
  font-size:calc(1rem * var(--type-base,1));line-height:1.7;}

.mlg-pop__form{max-width:520px;margin:0 auto;}
.mlg-pop__label{display:block;text-align:left;font-size:.7rem;font-weight:600;
  letter-spacing:.16em;text-transform:uppercase;color:var(--text);margin-bottom:.4rem;}
.mlg-pop__row{display:flex;align-items:center;gap:1rem;
  border-bottom:1px solid rgba(var(--fg-rgb),.55);padding-bottom:.5rem;}
.mlg-pop__row input{flex:1;min-width:0;background:transparent;border:0;color:var(--text);
  font:inherit;font-size:1rem;padding:.35rem 0;}
.mlg-pop__row input::placeholder{color:rgba(var(--fg-rgb),.45);}
.mlg-pop__row input:focus{outline:none;}
.mlg-pop__row:focus-within{border-bottom-color:var(--accent);}
.mlg-pop__row button{flex:none;background:transparent;border:0;cursor:pointer;color:var(--text);
  font-family:var(--font-ui);font-size:.74rem;font-weight:600;letter-spacing:.14em;
  text-transform:uppercase;padding:.4rem .2rem;}
.mlg-pop__row button:hover{color:var(--accent);}
.mlg-pop__thanks{margin:0;color:var(--accent);font-weight:600;}

.mlg-pop__btns{display:flex;flex-wrap:wrap;gap:.7rem;justify-content:center;margin-top:1.6rem;}

@media(max-width:560px){
  .mlg-pop__row{flex-direction:column;align-items:stretch;gap:.8rem;border-bottom:0;}
  .mlg-pop__row input{border-bottom:1px solid rgba(var(--fg-rgb),.55);}
  .mlg-pop__row button{background:var(--accent);color:var(--on-accent);
    padding:.85rem 1rem;border-radius:var(--btn-radius,4px);}
}
@media(prefers-reduced-motion:reduce){
  .mlg-pop,.mlg-pop__box{transition:none;}
}

/* ══════════════════ TABLE / COMPARISON ══════════════════ */
.mlg-table__hold--narrow{max-width:900px;margin-inline:auto;}
/* A table can't reflow, so on a narrow screen it scrolls sideways rather than
   squashing columns into unreadable slivers. */
.mlg-table__scroll{overflow-x:auto;-webkit-overflow-scrolling:touch;}
.mlg-table{width:100%;border-collapse:collapse;font-size:calc(.95rem * var(--type-base,1));}
.mlg-table th,.mlg-table td{padding:.85rem 1rem;text-align:left;white-space:nowrap;
  border-bottom:1px solid var(--line-soft);}
.mlg-table th{font-family:var(--font-ui);font-size:.68rem;font-weight:600;letter-spacing:.14em;
  text-transform:uppercase;color:var(--text-3);border-bottom-color:var(--line);}
.mlg-table td{color:var(--text);}
.mlg-table td:first-child,.mlg-table th:first-child{white-space:normal;}

/* alignment of every column after the first */
.mlg-table--right th:not(:first-child),.mlg-table--right td:not(:first-child){text-align:right;}
.mlg-table--center th:not(:first-child),.mlg-table--center td:not(:first-child){text-align:center;}
.mlg-table td:not(:first-child){font-variant-numeric:tabular-nums;}

.mlg-table--fb td:first-child{font-weight:600;}
.mlg-table--stripe tbody tr:nth-child(even){background:rgba(var(--fg-rgb),.03);}

/* a * at the start of a line highlights the whole row */
.mlg-table tbody tr.is-hi td{color:var(--accent);font-weight:600;}

.mlg-table__note{margin:1.4rem 0 0;color:var(--text-3);
  font-size:calc(.85rem * var(--type-base,1));text-align:center;}

@media(max-width:600px){
  .mlg-table th,.mlg-table td{padding:.7rem .6rem;font-size:.85rem;}
}

/* ══════════════════ ALBUM HERO ══════════════════ */
.mlg-ahero{position:relative;overflow:hidden;isolation:isolate;background:var(--ink);
  display:flex;align-items:center;padding-block:clamp(3rem,7vw,6rem);}
.mlg-ahero--sm{min-height:clamp(360px,42vw,480px);}
.mlg-ahero--md{min-height:clamp(460px,54vw,640px);}
.mlg-ahero--lg{min-height:clamp(560px,68vw,800px);}
.mlg-ahero--full{min-height:100svh;}

.mlg-ahero__bg{position:absolute;inset:0;z-index:0;display:block;}
.mlg-ahero__bg img{width:100%;height:100%;object-fit:cover;display:block;}
/* scale slightly so the blur's soft edge never shows a gap at the border */
.mlg-ahero--blur .mlg-ahero__bg img{filter:blur(14px);transform:scale(1.06);}
.mlg-ahero__fade{position:absolute;inset:0;z-index:1;display:block;
  background:linear-gradient(to bottom,
    rgba(var(--scrim-rgb),calc(var(--fade,.72) * .85)) 0%,
    rgba(var(--scrim-rgb),var(--fade,.72)) 45%,
    rgba(var(--scrim-rgb),calc(var(--fade,.72) + .08)) 100%);}
.mlg-ahero__in{position:relative;z-index:2;width:min(1560px,calc(100% - 2*var(--gap)));}

.mlg-ahero--center{text-align:center;}
.mlg-ahero--center .mlg-ahero__head{margin-inline:auto;}
.mlg-ahero__head{max-width:70ch;margin-bottom:clamp(2rem,4vw,3.2rem);}
.mlg-ahero__t{font-family:var(--font-display);font-weight:700;line-height:1.06;
  text-transform:uppercase;letter-spacing:-.02em;color:var(--text);margin:0 0 .9rem;
  font-size:calc(clamp(1.9rem,4.6vw,3.4rem) * var(--type-head,1));}
.mlg-ahero__intro{color:rgba(var(--fg-rgb),.85);margin:0;
  font-size:calc(1.02rem * var(--type-base,1));line-height:1.7;}
.mlg-ahero__btns{margin-top:clamp(1.8rem,3.5vw,2.6rem);}
.mlg-ahero--center .mlg-ahero__btns .mlg-btn-row{justify-content:center;}

/* ---- the covers ---- */
.mlg-ahero__covers{display:flex;justify-content:center;align-items:flex-start;
  gap:clamp(1rem,2.6vw,2.4rem);flex-wrap:wrap;}
.mlg-ahero--left .mlg-ahero__covers{justify-content:flex-start;}
.mlg-acover{display:block;text-decoration:none;color:var(--text);min-width:0;
  transition:transform .35s var(--ease);}
a.mlg-acover:hover{transform:translateY(-8px);}

.mlg-acover__art{display:block;aspect-ratio:1;overflow:hidden;background:var(--panel);
  border-radius:var(--btn-radius,4px);}
.mlg-acover__art img{width:100%;height:100%;object-fit:cover;display:block;}
.has-shadow .mlg-acover__art{box-shadow:0 18px 46px rgba(var(--scrim-rgb),.62);}

.mlg-ahero__covers--sm .mlg-acover{width:clamp(120px,15vw,180px);}
.mlg-ahero__covers--md .mlg-acover{width:clamp(150px,19vw,240px);}
.mlg-ahero__covers--lg .mlg-acover{width:clamp(180px,24vw,320px);}

.mlg-acover__meta{display:block;margin-top:.9rem;text-align:center;}
.mlg-ahero--left .mlg-acover__meta{text-align:left;}
.mlg-acover__album{display:block;font-family:var(--font-display);font-weight:600;
  line-height:1.25;color:var(--text);font-size:calc(.98rem * var(--type-head,1));
  overflow-wrap:break-word;}
a.mlg-acover:hover .mlg-acover__album{color:var(--accent);}
.mlg-acover__artist{display:block;margin-top:.22rem;color:rgba(var(--fg-rgb),.82);
  font-size:calc(.88rem * var(--type-base,1));}
.mlg-acover__label{display:block;margin-top:.3rem;color:var(--text-3);
  font-size:.68rem;letter-spacing:.13em;text-transform:uppercase;}

/* fan: overlap the covers and lift the middle one */
@media(min-width:861px){
  .mlg-ahero__covers--fan{gap:0;flex-wrap:nowrap;align-items:center;}
  .mlg-ahero__covers--fan .mlg-acover{margin-inline:calc(-1 * clamp(1rem,2.4vw,2.6rem));
    transform:translateY(calc(var(--i) * 0px));}
  .mlg-ahero__covers--fan .mlg-acover:nth-child(odd) .mlg-acover__art{transform:rotate(-2deg);}
  .mlg-ahero__covers--fan .mlg-acover:nth-child(even) .mlg-acover__art{transform:rotate(2deg);}
  .mlg-ahero__covers--fan .mlg-acover.is-mid{z-index:3;transform:translateY(-18px) scale(1.08);}
  .mlg-ahero__covers--fan .mlg-acover.is-mid .mlg-acover__art{transform:none;}
  .mlg-ahero__covers--fan a.mlg-acover:hover{z-index:4;transform:translateY(-24px) scale(1.1);}
}

/* scroll: a strip that swipes on any width */
.mlg-ahero__covers--scroll{flex-wrap:nowrap;overflow-x:auto;justify-content:flex-start;
  scroll-snap-type:x mandatory;padding-bottom:.6rem;-webkit-overflow-scrolling:touch;}
.mlg-ahero__covers--scroll .mlg-acover{flex:none;scroll-snap-align:center;}

@media(max-width:860px){
  .mlg-ahero__covers{gap:clamp(.9rem,3vw,1.4rem);}
  .mlg-ahero__covers--fan{flex-wrap:wrap;}
  .mlg-ahero__covers--sm .mlg-acover,
  .mlg-ahero__covers--md .mlg-acover,
  .mlg-ahero__covers--lg .mlg-acover{width:calc(50% - .8rem);}
  .mlg-ahero__covers--scroll .mlg-acover{width:58vw;}
}
@media(prefers-reduced-motion:reduce){
  .mlg-acover{transition:none;}
  a.mlg-acover:hover{transform:none;}
}

/* ══════════════════ ARTISTS / ROSTER ══════════════════ */
/* Column count now comes from the block; the /artists page keeps 4 by
   not adding a modifier. */
.mlg-roster{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));
  gap:clamp(1.1rem,2.4vw,2rem);}
.mlg-roster--2{grid-template-columns:repeat(2,minmax(0,1fr));}
.mlg-roster--3{grid-template-columns:repeat(3,minmax(0,1fr));}
.mlg-roster--4{grid-template-columns:repeat(4,minmax(0,1fr));}
.mlg-roster--5{grid-template-columns:repeat(5,minmax(0,1fr));}
@media(max-width:1300px){.mlg-roster--5{grid-template-columns:repeat(4,minmax(0,1fr));}}
@media(max-width:1100px){.mlg-roster,.mlg-roster--4,.mlg-roster--5{grid-template-columns:repeat(3,minmax(0,1fr));}}
@media(max-width:800px){.mlg-roster,.mlg-roster--3,.mlg-roster--4,.mlg-roster--5{grid-template-columns:repeat(2,minmax(0,1fr));}}
@media(max-width:480px){.mlg-roster{grid-template-columns:1fr!important;}}
.mlg-roster.is-colour .mlg-rcard2__img img{filter:none;}
.mlg-roster__more{margin-top:clamp(1.6rem,3vw,2.4rem);text-align:center;}

.mlg-rcard2{display:block;text-decoration:none;color:inherit;min-width:0;
  transition:transform .3s var(--ease);}
.mlg-rcard2:hover{transform:translateY(-5px);}
.mlg-rcard2__img{position:relative;display:block;aspect-ratio:3/4;overflow:hidden;
  background:var(--panel);border-radius:var(--btn-radius,4px);}
.mlg-rcard2__img img{width:100%;height:100%;object-fit:cover;display:block;
  transition:transform .7s var(--ease),filter .4s var(--ease);filter:grayscale(1);}
.mlg-rcard2:hover .mlg-rcard2__img img{transform:scale(1.05);filter:grayscale(0);}
.mlg-rcard2__flag{position:absolute;top:.6rem;left:.6rem;z-index:2;background:var(--accent);
  color:var(--on-accent);font-size:.58rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;
  padding:.3rem .55rem;border-radius:var(--btn-radius,4px);}
.mlg-rcard2__body{display:block;padding-top:.9rem;}
.mlg-rcard2__name{display:block;font-family:var(--font-display);font-weight:600;
  color:var(--text);line-height:1.2;font-size:calc(1.06rem * var(--type-head,1));overflow-wrap:break-word;}
.mlg-rcard2:hover .mlg-rcard2__name{color:var(--accent);}
.mlg-rcard2__tag{display:block;margin-top:.25rem;color:var(--text);opacity:.8;
  font-size:calc(.88rem * var(--type-base,1));line-height:1.45;}
.mlg-rcard2__meta{display:block;margin-top:.4rem;color:var(--text-3);font-size:.68rem;
  letter-spacing:.13em;text-transform:uppercase;}

/* artist detail page */
.mlg-artistpage__grid{display:grid;grid-template-columns:minmax(0,1fr) 320px;
  gap:clamp(2rem,4vw,3.5rem);align-items:start;}
.mlg-artistpage__main,.mlg-artistpage__side{min-width:0;}
@media(max-width:960px){.mlg-artistpage__grid{grid-template-columns:1fr;}}
.mlg-artistpage__side{position:sticky;top:calc(var(--nav-h) + 1.5rem);
  display:grid;grid-template-columns:minmax(0,1fr);gap:1.6rem;}
@media(max-width:960px){.mlg-artistpage__side{position:static;}}
.mlg-artistpage__photo{overflow:hidden;border-radius:var(--btn-radius,4px);background:var(--panel);}
.mlg-artistpage__photo img{width:100%;height:auto;display:block;}
.mlg-artistpage__h{font-family:var(--font-display);text-transform:uppercase;letter-spacing:-.01em;
  font-size:calc(clamp(1.3rem,2.4vw,1.9rem) * var(--type-head,1));margin:2.6rem 0 1.4rem;}

/* ── banner height + crop position (artist pages) ────────────────────
   The header is padded, not fixed-height, so a min-height is what gives
   the photo room. object-position picks which slice of a tall photo
   survives the crop — height alone will not stop a face being cut off. */
.mlg-pagehead--h-auto{min-height:0;}
.mlg-pagehead--h-sm{min-height:clamp(300px,32vw,400px);}
.mlg-pagehead--h-md{min-height:clamp(380px,42vw,520px);}
.mlg-pagehead--h-lg{min-height:clamp(460px,54vw,660px);}
.mlg-pagehead--h-xl{min-height:clamp(560px,66vw,820px);}
.mlg-pagehead--h-full{min-height:100svh;}
.mlg-pagehead--h-sm,.mlg-pagehead--h-md,.mlg-pagehead--h-lg,
.mlg-pagehead--h-xl,.mlg-pagehead--h-full{display:flex;align-items:center;}
.mlg-pagehead--h-sm > .mlg-container,.mlg-pagehead--h-md > .mlg-container,
.mlg-pagehead--h-lg > .mlg-container,.mlg-pagehead--h-xl > .mlg-container,
.mlg-pagehead--h-full > .mlg-container{width:min(var(--wrap),calc(100% - 2*var(--gap)));}

.mlg-pagehead--f-top .mlg-pagehead__bg img{object-position:50% 0%;}
.mlg-pagehead--f-upper .mlg-pagehead__bg img{object-position:50% 25%;}
.mlg-pagehead--f-center .mlg-pagehead__bg img{object-position:50% 50%;}
.mlg-pagehead--f-lower .mlg-pagehead__bg img{object-position:50% 75%;}
.mlg-pagehead--f-bottom .mlg-pagehead__bg img{object-position:50% 100%;}

/* Stop the sidebar portrait towering over a short bio and leaving a void
   in the main column — the grid row is as tall as its tallest child. */
.mlg-artistpage__photo img{max-height:420px;object-fit:cover;}

/* ── artist meta line ────────────────────────────────────────────────
   Deliberately NOT .mlg-job__meta — that class is built for the careers
   list row (max-width:46%, justify-content:flex-end), which pushed these
   into the middle of the banner. Plain text, flush left, sat directly
   above the link buttons. */
.mlg-artist__meta{list-style:none;display:flex;flex-wrap:wrap;align-items:center;
  gap:.55rem 1.1rem;margin:.7rem 0 1.3rem;padding:0;}
.mlg-artist__meta li{position:relative;font-size:.7rem;letter-spacing:.14em;
  text-transform:uppercase;color:rgba(var(--fg-rgb),.72);}
.mlg-artist__meta li + li::before{content:"";position:absolute;left:-.62rem;top:50%;
  width:3px;height:3px;border-radius:50%;background:rgba(var(--fg-rgb),.4);
  transform:translateY(-50%);}

/* portrait now sits in the main column, under the bio */
.mlg-artistpage__main .mlg-artistpage__photo{margin:clamp(1.8rem,3.5vw,2.6rem) 0 0;
  max-width:420px;overflow:hidden;border-radius:var(--btn-radius,4px);background:var(--panel);}
.mlg-artistpage__main .mlg-artistpage__photo img{width:100%;height:auto;max-height:none;display:block;}

/* the bio heading is the first thing in the column, so no big top margin */
.mlg-artistpage__h--first{margin-top:0;}

/* ── AI roster badges ── */
.mlg-aibadge{display:inline-block;vertical-align:middle;margin-left:.6rem;
  background:rgba(var(--fg-rgb),.14);color:var(--text);font-family:var(--font-ui);
  font-size:.34em;font-weight:700;letter-spacing:.14em;padding:.35em .6em;
  border-radius:var(--btn-radius,4px);}
.mlg-rcard2__ai{position:absolute;top:.6rem;right:.6rem;z-index:2;
  background:rgba(var(--bg-rgb),.7);color:var(--text);font-size:.58rem;font-weight:700;
  letter-spacing:.14em;padding:.3rem .55rem;border-radius:var(--btn-radius,4px);}

/* ══════════════════ LABEL PARTNERS ══════════════════ */
.mlg-partners{display:grid;gap:clamp(1rem,2.4vw,2rem);align-items:stretch;}
.mlg-partners--3{grid-template-columns:repeat(3,minmax(0,1fr));}
.mlg-partners--4{grid-template-columns:repeat(4,minmax(0,1fr));}
.mlg-partners--5{grid-template-columns:repeat(5,minmax(0,1fr));}
.mlg-partners--6{grid-template-columns:repeat(6,minmax(0,1fr));}
/* Step down gradually — 6 straight to 3 left a lot of dead space on a laptop. */
@media(max-width:1400px){
  .mlg-partners--6{grid-template-columns:repeat(5,minmax(0,1fr));}}
@media(max-width:1200px){
  .mlg-partners--5,.mlg-partners--6{grid-template-columns:repeat(4,minmax(0,1fr));}}
@media(max-width:1000px){
  .mlg-partners--4,.mlg-partners--5,.mlg-partners--6{grid-template-columns:repeat(3,minmax(0,1fr));}}
@media(max-width:760px){
  .mlg-partners{grid-template-columns:repeat(2,minmax(0,1fr))!important;}}
@media(max-width:420px){
  .mlg-partners--cards{grid-template-columns:1fr!important;}}

.mlg-partner{display:flex;flex-direction:column;text-decoration:none;color:inherit;min-width:0;}
/* Square by default — most label marks are round or square, and a wide box
   with a 56px height cap rendered them postage-stamp sized. The logo now
   fills most of the tile and still uses contain, so nothing is cropped. */
.mlg-partner__logo{position:relative;display:block;aspect-ratio:1;flex:0 0 auto;
  overflow:hidden;
  background:rgba(var(--fg-rgb),.04);border:1px solid var(--line);border-radius:var(--btn-radius,4px);}
.mlg-partners--wide .mlg-partner__logo{aspect-ratio:16/9;}
/* width/height rather than max-* — max-* only caps, so a small source file
   (a 96px mark, say) sat tiny in the middle of the tile. contain keeps the
   aspect ratio and never crops. */
/* Absolutely positioned so a percentage height can't feed back into the
   tile's aspect-ratio — that circular dependency was making some tiles
   320x345 instead of square. inset gives the padding. */
.mlg-partner__logo img{position:absolute;inset:12%;width:76%;height:76%;
  object-fit:contain;object-position:center;display:block;
  transition:filter .3s var(--ease),opacity .3s var(--ease),transform .3s var(--ease);}
.mlg-partner__word{position:absolute;inset:12%;display:grid;place-items:center;}
a.mlg-partner:hover .mlg-partner__logo img{transform:scale(1.04);}
.mlg-partners.is-grey .mlg-partner__logo img{filter:grayscale(1);opacity:.75;}
.mlg-partners.is-grey a.mlg-partner:hover .mlg-partner__logo img{filter:grayscale(0);opacity:1;}
a.mlg-partner:hover .mlg-partner__logo{border-color:rgba(var(--fg-rgb),.3);}
.mlg-partner__word{font-family:var(--font-display);font-weight:600;text-align:center;
  font-size:calc(.95rem * var(--type-head,1));color:var(--text);overflow-wrap:break-word;}

.mlg-partner__body{display:block;padding-top:.9rem;}
.mlg-partner__name{display:block;font-family:var(--font-display);font-weight:600;color:var(--text);
  font-size:calc(1rem * var(--type-head,1));line-height:1.25;overflow-wrap:break-word;}
a.mlg-partner:hover .mlg-partner__name{color:var(--accent);}
.mlg-partner__tag{display:block;margin-top:.25rem;color:var(--text);opacity:.82;
  font-size:calc(.88rem * var(--type-base,1));line-height:1.5;}
.mlg-partner__blurb{display:block;margin-top:.5rem;color:var(--text-3);
  font-size:calc(.85rem * var(--type-base,1));line-height:1.6;}
.mlg-partner__meta{display:block;margin-top:.55rem;color:var(--text-3);font-size:.66rem;
  letter-spacing:.13em;text-transform:uppercase;}

/* light section: invert the chrome so logos on white read properly */
.mlg-sect--light .mlg-partner__logo{background:rgba(var(--bg-rgb),.04);border-color:rgba(var(--bg-rgb),.12);}
.mlg-sect--light .mlg-partner__name,
.mlg-sect--light .mlg-partner__word{color:var(--light-text);}
.mlg-sect--light .mlg-partner__tag{color:#3a3a3e;}

/* ── AI disclosure on a release ── */
.mlg-aidisc{display:flex;flex-wrap:wrap;align-items:center;gap:.6rem;margin-top:1.4rem;
  padding:.75rem .9rem;border:1px solid var(--line);border-radius:var(--btn-radius,4px);
  background:rgba(var(--fg-rgb),.03);}
.mlg-aidisc__tag{background:rgba(var(--fg-rgb),.14);color:var(--text);font-size:.6rem;font-weight:700;
  letter-spacing:.14em;text-transform:uppercase;padding:.32rem .6rem;border-radius:var(--btn-radius,4px);}
.mlg-aidisc__txt{color:var(--text-3);font-size:.8rem;}

/* ── footer newsletter signup ── */
.mlg-nl{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;
  gap:clamp(1rem,3vw,2.5rem);padding:clamp(1.4rem,3vw,2.2rem) 0;
  border-top:1px solid var(--line);border-bottom:1px solid var(--line);
  margin-bottom:clamp(1.4rem,3vw,2.2rem);}
.mlg-nl__copy{min-width:0;flex:1 1 320px;}
.mlg-nl__h{font-family:var(--font-display);font-weight:600;color:var(--text);margin:0;
  font-size:calc(clamp(1.05rem,2vw,1.35rem) * var(--type-head,1));}
.mlg-nl__p{margin:.35rem 0 0;color:var(--text-3);font-size:calc(.88rem * var(--type-base,1));}
.mlg-nl__form{display:flex;gap:.5rem;flex:0 1 420px;min-width:0;}
.mlg-nl__form input[type=email]{flex:1;min-width:0;background:rgba(var(--fg-rgb),.05);
  border:1px solid var(--line);border-radius:var(--btn-radius,4px);color:var(--text);
  padding:.8rem .9rem;font-family:var(--font-ui);font-size:.9rem;}
.mlg-nl__form input[type=email]::placeholder{color:var(--text-3);}
.mlg-nl__form input[type=email]:focus{outline:none;border-color:var(--accent);}
.mlg-nl__form button{flex:none;background:var(--accent);color:var(--on-accent);border:0;cursor:pointer;
  border-radius:var(--btn-radius,4px);padding:.8rem 1.3rem;font-family:var(--font-ui);
  font-size:.72rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;
  transition:background .2s var(--ease);}
.mlg-nl__form button:hover{background:var(--accent-dark);color:var(--on-accent);}
.mlg-nl__form button:disabled{opacity:.6;cursor:default;}
.mlg-nl__thanks{margin:0;color:var(--accent);font-size:.92rem;flex:0 1 420px;}
.mlg-sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;}
@media(max-width:640px){
  .mlg-nl__form{flex:1 1 100%;}
  .mlg-nl__form button{padding:.8rem 1rem;}
}

/* ══════════════════ META REQUEST FORM ══════════════════ */
/* The form, its intro and the confirmation all share one centred 980px
   column so nothing sits off to the left of the others. */
.mlg-mform,.mlg-mform__intro,.mlg-mform__done{max-width:980px;margin-inline:auto;}
/* Heading shares the same 980px column, so the whole page reads as one
   block rather than a centred form under a far-left title. */
.mlg-pagehead--meta > .mlg-container > *{max-width:980px;margin-inline:auto;}
.mlg-fs{border:1px solid var(--line);border-radius:var(--btn-radius,4px);
  padding:clamp(1.1rem,2.4vw,1.8rem);margin:0 0 1.6rem;background:rgba(var(--fg-rgb),.02);}
.mlg-fs legend{font-family:var(--font-display);font-weight:600;color:var(--text);padding:0 .5rem;
  font-size:calc(1.05rem * var(--type-head,1));}
.mlg-fs__note{color:var(--text-3);font-size:.86rem;margin:.2rem 0 1.1rem;line-height:1.6;}
.mlg-fs__grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;}
@media(max-width:720px){.mlg-fs__grid{grid-template-columns:1fr;}}
.mlg-fs label,.mlg-fs__full{display:block;font-size:.82rem;color:var(--text);min-width:0;}
.mlg-fs__full{grid-column:1/-1;margin-top:1rem;}
.mlg-fs label span{color:var(--accent);}
.mlg-fs label span.opt{color:var(--text-3);font-weight:400;}
.mlg-fs__lbl{display:block;font-size:.82rem;color:var(--text);}
.mlg-fs input,.mlg-fs select,.mlg-fs textarea{width:100%;margin-top:.35rem;
  background:rgba(var(--fg-rgb),.05);border:1px solid var(--line);border-radius:var(--btn-radius,4px);
  color:var(--text);padding:.7rem .8rem;font-family:var(--font-ui);font-size:.92rem;}
.mlg-fs input:focus,.mlg-fs select:focus,.mlg-fs textarea:focus{outline:none;border-color:var(--accent);}
.mlg-fs small{display:block;margin-top:.3rem;color:var(--text-3);font-size:.76rem;line-height:1.5;}
.mlg-mtrk{display:grid;grid-template-columns:1fr 220px;gap:.6rem;margin-bottom:.6rem;}
@media(max-width:600px){.mlg-mtrk{grid-template-columns:1fr;}}
.mlg-agree{display:flex;gap:.7rem;align-items:flex-start;margin:0 0 1.6rem;
  color:var(--text);font-size:.88rem;line-height:1.6;}
.mlg-agree input{margin-top:.25rem;flex:none;}

.mlg-mform__done h2{font-family:var(--font-display);text-transform:uppercase;
  font-size:calc(clamp(1.6rem,3vw,2.2rem) * var(--type-head,1));margin:0 0 1rem;}

/* Belt and braces for browsers that ignore color-scheme on the popup. */
select option,
select optgroup{background:#141416;color:var(--text);}
select option:checked{background:#2a2a2e;}

/* ══════════════════ SIGNING PAGE ══════════════════ */
.mlg-signpage .mlg-container{max-width:980px;margin-inline:auto;}
.mlg-sign__head{margin-bottom:2.2rem;}
.mlg-sign__head h1{font-family:var(--font-display);text-transform:uppercase;line-height:1.1;
  font-size:calc(clamp(1.7rem,3.4vw,2.6rem) * var(--type-head,1));margin:.3rem 0 .6rem;}
.mlg-sign__sub{color:var(--text-3);margin:0;}
.mlg-sign__seal{display:inline-block;background:rgba(255,166,0,.14);color:var(--accent);
  border:1px solid rgba(255,166,0,.4);border-radius:var(--btn-radius,4px);
  padding:.4rem .8rem;font-size:.8rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;margin:0;}
.mlg-sign__err{background:rgba(229,72,77,.12);border:1px solid rgba(229,72,77,.45);color:#ffb4b6;
  border-radius:var(--btn-radius,4px);padding:.85rem 1rem;margin-bottom:1.6rem;}
.mlg-sign__doc{border:1px solid var(--line);border-radius:var(--btn-radius,4px);
  padding:clamp(1.2rem,3vw,2.4rem);background:rgba(var(--fg-rgb),.02);}
.mlg-sign__h{font-family:var(--font-display);text-transform:uppercase;
  font-size:calc(clamp(1.2rem,2.2vw,1.6rem) * var(--type-head,1));margin:2.6rem 0 1.2rem;}
.mlg-sign__parties{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.2rem;}
@media(max-width:820px){.mlg-sign__parties{grid-template-columns:1fr;}}
.mlg-sigcard{border:1px solid var(--line);border-radius:var(--btn-radius,4px);
  padding:clamp(1rem,2.4vw,1.6rem);background:rgba(var(--fg-rgb),.02);min-width:0;}
.mlg-sigcard.is-signed{border-color:rgba(255,166,0,.4);}
.mlg-sigcard__legal{font-family:var(--font-display);font-weight:600;color:var(--text);margin:0;
  font-size:calc(1.02rem * var(--type-head,1));}
.mlg-sigcard__addr{color:var(--text-3);font-size:.82rem;margin:.3rem 0 1rem;line-height:1.5;}
.mlg-sigcard__sig{font-family:cursive,'Segoe Script',serif;font-size:1.9rem;color:var(--text);
  margin:.8rem 0 .6rem;border-bottom:1px solid var(--line);padding-bottom:.6rem;overflow-wrap:break-word;}
.mlg-sigcard__meta{margin:0;font-size:.82rem;}
.mlg-sigcard__meta div{display:flex;gap:.6rem;padding:.22rem 0;}
.mlg-sigcard__meta dt{color:var(--text-3);min-width:60px;margin:0;}
.mlg-sigcard__meta dd{color:var(--text);margin:0;word-break:break-word;}
.mlg-sigcard__await{color:var(--text-3);font-style:italic;margin:1rem 0 0;}
.mlg-sigform label{display:block;margin-bottom:.8rem;font-size:.82rem;color:var(--text);}
.mlg-sigform input[type=text],.mlg-sigform input[type=email]{width:100%;margin-top:.3rem;
  background:rgba(var(--fg-rgb),.05);border:1px solid var(--line);border-radius:var(--btn-radius,4px);
  color:var(--text);padding:.65rem .8rem;font-family:var(--font-ui);font-size:.92rem;}
.mlg-sigform input:focus{outline:none;border-color:var(--accent);}
.mlg-sigform__typed{font-family:cursive,'Segoe Script',serif!important;font-size:1.5rem!important;}
.mlg-sigform small{display:block;margin-top:.25rem;color:var(--text-3);font-size:.74rem;}
.mlg-sigform__consent{display:flex;gap:.6rem;align-items:flex-start;line-height:1.55;margin:1rem 0 1.2rem;}
.mlg-sigform__consent input{margin-top:.25rem;flex:none;}
.mlg-audit{width:100%;border-collapse:collapse;font-size:.85rem;}
.mlg-audit th,.mlg-audit td{text-align:left;padding:.6rem .7rem;border-bottom:1px solid var(--line-soft);
  vertical-align:top;word-break:break-word;}
.mlg-audit th{color:var(--text-3);font-size:.68rem;letter-spacing:.12em;text-transform:uppercase;}
.mlg-audit__t{color:var(--text-3);font-size:.78rem;}
.mlg-audit__hash{margin:1.2rem 0 .3rem;}
.mlg-audit__hash span{display:block;color:var(--text-3);font-size:.7rem;letter-spacing:.12em;
  text-transform:uppercase;margin-bottom:.3rem;}
.mlg-audit__hash code{font-size:.78rem;color:var(--accent);word-break:break-all;}
.mlg-audit__note{color:var(--text-3);font-size:.8rem;margin:.4rem 0 1.6rem;}
@media print{
  .mlg-nav,.mlg-footer,.mlg-player,.mlg-sigform,.mlg-btn{display:none!important;}
  body,.mlg-sect{background:#fff!important;color:#000!important;}
  .mlg-signpage *{color:#000!important;}
  .mlg-sign__doc,.mlg-sigcard{border-color:#999!important;background:none!important;}
  .mlg-audit__hash code{color:#000!important;}
}

/* ============================================================
   IMPORTED SECTIONS (.mlg-legacy)

   Sections brought in by Admin -> Import keep their original
   stylesheet — for Veritas & Luman that is assets/vl/vl.css, which
   is a LIGHT design: its own near-white gradients and white cards
   are baked into the markup.

   So imported sections must NOT follow the site's dark mode. If the
   site is switched to dark, the CMS would flip --text to white while
   those sections keep their light backgrounds, and the copy would
   disappear into the page. Re-declaring the light tokens on the
   wrapper pins them light in either mode.

   Once a section is rebuilt as a native block it leaves this wrapper
   and follows the site mode normally.
   ============================================================ */
.mlg-legacy{
  --text:#0f1226;
  --text-2:#2a2e4a;
  --text-3:#6b6f8c;
  --ink:#fbfaff;
  --surface:#f6f4fc;
  --panel:#ffffff;
  --panel-2:#f1eefb;
  --line:rgba(15,18,38,.14);
  --line-soft:rgba(15,18,38,.07);
  --fg-rgb:15,18,38;
  --bg-rgb:255,255,255;
  --on-accent:#ffffff;
  color:var(--text);
  color-scheme:light;
}
html[data-mode="dark"] .mlg-legacy{
  /* the imported band is light, so give it an explicit background rather
     than letting the dark page show through its transparent areas */
  background:var(--card);
}

/* ============================================================
   COLOUR ACCORDION  (block: panelstack)

   Full-colour rows that expand to reveal copy, a list and tiles.
   Each row's colour comes in as --ps-bg from the template, and the
   readable text colour is decided there (by luminance for custom
   colours), so this file never has to guess.

   The reveal is a grid-template-rows transition rather than
   max-height: it animates to the content's real height, so a long
   row is never clipped and a short one never leaves dead space.
   ============================================================ */

.mlg-sect-head--split{display:flex;align-items:flex-end;justify-content:space-between;gap:2rem;flex-wrap:wrap;}
.mlg-sect-head__aside{margin:0;max-width:36ch;color:var(--text-3);font-size:.92rem;}

.mlg-pstack{display:flex;flex-direction:column;gap:10px;}

.mlg-pstack__item{
  background:var(--ps-bg,var(--panel));
  border-radius:var(--btn-radius,4px);
  overflow:hidden;
}
/* text colour is resolved per row by the template */
.mlg-pstack__item--dark{--ps-fg:#0f1226;--ps-fg-soft:rgba(15,18,38,.72);--ps-tile:rgba(255,255,255,.55);}
.mlg-pstack__item--light{--ps-fg:#ffffff;--ps-fg-soft:rgba(255,255,255,.78);--ps-tile:rgba(255,255,255,.16);}

.mlg-pstack__bar{
  width:100%;display:flex;align-items:center;justify-content:space-between;gap:1.25rem;
  padding:clamp(1.75rem,3.2vw,2.5rem) clamp(1.4rem,2.8vw,2.25rem);
  background:transparent;border:0;cursor:pointer;text-align:left;color:var(--ps-fg);
  font-family:var(--font-ui);font-size:clamp(.74rem,1.1vw,.84rem);font-weight:600;
  letter-spacing:.14em;text-transform:uppercase;line-height:1.3;
}
.mlg-pstack__bar--static{cursor:default;}
.mlg-pstack__bar:focus-visible{outline:2px solid var(--ps-fg);outline-offset:-4px;}
.mlg-pstack__label{min-width:0;overflow-wrap:break-word;}

/* Arrow: → collapsed, ← expanded, as in the reference. Drawn as a glyph
   rather than two rotated pseudo-elements, which looked like a squiggle at
   this size. */
.mlg-pstack__ico{flex:none;display:block;font-size:1.15rem;line-height:1;font-weight:400;letter-spacing:0;}
.mlg-pstack__ico::before{content:"\2192";display:block;transition:transform .3s var(--ease);}
.mlg-pstack__item.is-open .mlg-pstack__ico::before{content:"\2190";}

.mlg-pstack__body{
  display:grid;grid-template-rows:0fr;
  transition:grid-template-rows .34s var(--ease);
}
.mlg-pstack__item.is-open .mlg-pstack__body{grid-template-rows:1fr;}
/* Bare clipper — no padding here, or the row leaks content when collapsed. */
.mlg-pstack__inner{overflow:hidden;min-height:0;}
.mlg-pstack__grid{
  display:grid;grid-template-columns:1.25fr .85fr;gap:clamp(1.25rem,3vw,2.5rem);
  padding:0 clamp(1.25rem,2.6vw,2rem) clamp(1.4rem,2.6vw,2rem);
}
.mlg-pstack__copy{min-width:0;color:var(--ps-fg-soft);}
.mlg-pstack__copy .mlg-prose{color:var(--ps-fg-soft);}
.mlg-pstack__copy .mlg-prose p{margin:0 0 .9em;}
.mlg-pstack__copy .mlg-prose strong{color:var(--ps-fg);}
.mlg-pstack__list{margin:0;padding-left:1.15rem;color:var(--ps-fg-soft);font-size:.92rem;line-height:1.9;}
.mlg-pstack__list li::marker{color:var(--ps-fg);}

.mlg-pstack__tiles{display:grid;gap:10px;align-content:start;min-width:0;}
.mlg-pstack__tiles--2{grid-template-columns:repeat(2,minmax(0,1fr));}
.mlg-pstack__tiles--3{grid-template-columns:repeat(3,minmax(0,1fr));}
.mlg-pstack__tiles--4{grid-template-columns:repeat(4,minmax(0,1fr));}
.mlg-pstack__tile{
  background:var(--ps-tile);border-radius:calc(var(--btn-radius,4px) + 6px);
  padding:1.1rem 1.15rem;min-height:86px;display:flex;align-items:flex-end;
  color:var(--ps-fg);font-size:.76rem;font-weight:600;letter-spacing:.1em;
  text-transform:uppercase;line-height:1.35;overflow-wrap:break-word;
}

@media (max-width:900px){
  .mlg-pstack__grid{grid-template-columns:1fr;}
  .mlg-pstack__tiles--3,.mlg-pstack__tiles--4{grid-template-columns:repeat(2,minmax(0,1fr));}
}
@media (max-width:520px){
  .mlg-pstack__bar{letter-spacing:.1em;}
  .mlg-pstack__tiles--2,.mlg-pstack__tiles--3,.mlg-pstack__tiles--4{grid-template-columns:1fr;}
  .mlg-pstack__tile{min-height:0;}
}
@media (prefers-reduced-motion:reduce){
  .mlg-pstack__body{transition:none;}
  .mlg-pstack__ico::before,.mlg-pstack__ico::after{transition:none;}
}
