/* ==========================================================================
   Manex Ibar — main.css
   tokens · base · layout · components · utilities · responsive
   Spec: ../HTML-PAGES-DESIGN-SPEC.md
   ========================================================================== */

/* ---------- 1. Fonts ---------------------------------------------------- */
/* Client faces first; EB Garamond / Outfit (loaded in <head>) stand in until
   the licensed WOFF2 files are dropped into assets/fonts/.                  */
@font-face{font-family:"Philosykos";src:url("../fonts/Philosykos-Regular.woff2") format("woff2");font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:"Philosykos";src:url("../fonts/Philosykos-Bold.woff2") format("woff2");font-weight:700;font-style:normal;font-display:swap}
@font-face{font-family:"Filson Pro";src:url("../fonts/FilsonPro-Book.woff2") format("woff2");font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:"Filson Pro";src:url("../fonts/FilsonPro-Medium.woff2") format("woff2");font-weight:500;font-style:normal;font-display:swap}
@font-face{font-family:"Filson Pro";src:url("../fonts/FilsonPro-Bold.woff2") format("woff2");font-weight:700;font-style:normal;font-display:swap}

/* ---------- 2. Tokens --------------------------------------------------- */
:root{
  --mx-black:#050505;
  --mx-bg:#0d0d0d;
  --mx-bg-2:#0e0e0e;
  --mx-surface:#121212;
  --mx-panel:#141313;
  --mx-panel-2:#191817;
  --mx-surface-glass:rgba(18,18,18,.55);
  --mx-hairline:rgba(255,255,255,.12);
  --mx-hairline-soft:rgba(255,255,255,.07);

  --mx-accent:#ffa25a;
  --mx-accent-soft:#ffc590;
  --mx-accent-deep:#e07b33;
  --mx-copper:#86400c;
  --mx-copper-dark:#5a2a08;
  --mx-gold-line:#b9782f;

  --mx-text:#f5efe7;
  --mx-text-dim:rgba(245,239,231,.66);
  --mx-text-mute:rgba(245,239,231,.44);
  --mx-on-accent:#1a0d03;
  --mx-on-light:#12100e;

  --mx-card-light:#ffffff;
  --mx-card-cloud:#e9e9e9;

  --mx-success:#6fbf8b;
  --mx-warning:#e8b44a;
  --mx-error:#e06a5a;

  --mx-glow:0 0 48px rgba(255,162,90,.28);
  --mx-card-shadow:0 18px 60px rgba(0,0,0,.55);
  --mx-radius-sm:12px;
  --mx-radius:18px;
  --mx-radius-lg:28px;
  --mx-radius-pill:999px;

  --mx-font-display:"Philosykos","EB Garamond",Georgia,serif;
  --mx-font-ui:"Filson Pro","Outfit",system-ui,-apple-system,"Segoe UI",sans-serif;
  --fs-hero:72px; --fs-h1:56px; --fs-h2:34px; --fs-h3:22px;
  --fs-body:17px; --fs-ui:15px; --fs-eyebrow:13px; --fs-small:13px;

  --s1:8px; --s2:16px; --s3:24px; --s4:32px; --s5:48px; --s6:64px; --s7:96px; --s8:128px;
  --mx-topbar-h:76px;
  --mx-container:1280px;
  --mx-ease:cubic-bezier(.2,.7,.3,1);
}
@media (max-width:768px){
  :root{--fs-hero:40px;--fs-h1:32px;--fs-h2:24px;--fs-h3:19px;--fs-body:16px;--fs-ui:14px;--fs-eyebrow:11px;--fs-small:12px}
}

/* ---------- 3. Base ----------------------------------------------------- */
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{margin:0;background:var(--mx-black);color:var(--mx-text);
  font:400 var(--fs-body)/1.65 var(--mx-font-ui);min-height:100vh;overflow-x:hidden}
h1,h2,h3,h4{font-family:var(--mx-font-display);font-weight:400;margin:0 0 var(--s2);line-height:1.18}
h1{font-size:var(--fs-h1)}h2{font-size:var(--fs-h2)}h3{font-size:var(--fs-h3);font-weight:700}
p{margin:0 0 var(--s2);max-width:68ch}
a{color:var(--mx-accent);text-decoration:none}
a:hover{color:var(--mx-accent-soft)}
img,svg,video{max-width:100%}
img{display:block;height:auto}
:focus-visible{outline:2px solid var(--mx-accent);outline-offset:3px}
.mx-skip{position:absolute;left:-9999px}
.mx-skip:focus{left:var(--s2);top:var(--s2);z-index:99;background:var(--mx-accent);color:var(--mx-on-accent);padding:10px 18px;border-radius:var(--mx-radius-pill)}
.visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

/* ---------- 4. Background ----------------------------------------------- */
.mx-bg{position:fixed;inset:0;z-index:-1;background:var(--mx-bg);overflow:hidden}

/* layer 1 — a slow-flowing cosmic gradient wash, always in motion */
.mx-bg__flow{position:absolute;inset:-15%;
  background:linear-gradient(120deg,#0d0d0d,#1a1108,#0d0d0d,#120b17,#0d0d0d);
  background-size:400% 400%;animation:mx-flow 42s ease-in-out infinite}

/* layer 2 — two star fields drifting at different speeds, each twinkling */
.mx-bg__stars{position:absolute;inset:-10%;
  background-image:
    radial-gradient(1.3px 1.3px at 20% 30%,rgba(255,255,255,.6),transparent),
    radial-gradient(1.1px 1.1px at 70% 18%,rgba(255,236,210,.55),transparent),
    radial-gradient(1.4px 1.4px at 42% 68%,rgba(255,255,255,.45),transparent),
    radial-gradient(1px 1px at 86% 62%,rgba(255,206,150,.5),transparent),
    radial-gradient(1.2px 1.2px at 12% 82%,rgba(255,255,255,.45),transparent),
    radial-gradient(1px 1px at 58% 44%,rgba(255,255,255,.35),transparent);
  background-size:520px 520px,610px 610px,470px 470px,700px 700px,560px 560px,420px 420px;
  opacity:.8;animation:mx-drift 90s linear infinite,mx-twinkle 6s ease-in-out infinite}
.mx-bg__stars--far{inset:-16%;
  background-image:
    radial-gradient(1px 1px at 8% 14%,rgba(255,255,255,.4),transparent),
    radial-gradient(1px 1px at 34% 52%,rgba(255,236,210,.35),transparent),
    radial-gradient(1px 1px at 64% 22%,rgba(255,255,255,.3),transparent),
    radial-gradient(1px 1px at 78% 78%,rgba(255,206,150,.4),transparent),
    radial-gradient(1px 1px at 92% 40%,rgba(255,255,255,.3),transparent);
  background-size:640px 640px,540px 540px,480px 480px,720px 720px,600px 600px;
  opacity:.55;animation:mx-drift-rev 130s linear infinite,mx-twinkle 8s ease-in-out infinite 2.4s}

/* layer 3 — the sacred geometry mandala, turning almost imperceptibly */
.mx-bg__mandala{position:absolute;left:50%;top:44%;width:min(1180px,128vw);aspect-ratio:1;
  transform:translate(-50%,-50%);opacity:.16;
  background:url("../img/mandala.svg") center/contain no-repeat;
  animation:mx-spin 220s linear infinite,mx-breathe 14s ease-in-out infinite}

/* layer 4 — the cosmos photograph, panning gently side to side */
.mx-bg__cosmos{position:absolute;left:-4%;right:-4%;top:0;height:min(110vh,980px);
  background:url("../img/cosmos.jpg") 50% top/cover no-repeat;opacity:.5;
  -webkit-mask-image:linear-gradient(#000 45%,transparent);mask-image:linear-gradient(#000 45%,transparent);
  animation:mx-pan 70s ease-in-out infinite}
/* The splash screen's own photo crop has "Manex Ibar" baked into it lower
   down (it's a flattened design screen), which double-prints against our
   live wordmark. Rather than fight that, the splash uses the pure animated
   layers — mandala + stars + glow — with no photo at all: it turns and
   twinkles cleanly under the real, sharp, live logo and text every time. */
.mx-page--splash .mx-bg__cosmos{display:none}
.mx-page--splash .mx-bg__stars{opacity:1}
.mx-page--splash .mx-bg__stars--far{opacity:.9}
.mx-page--splash .mx-bg__mandala{top:46%;width:min(1500px,160vw);opacity:.45;
  animation:mx-spin 90s linear infinite,mx-breathe 10s ease-in-out infinite}
.mx-page--splash .mx-bg__glow{opacity:1;
  background:radial-gradient(circle at 50% 44%,rgba(255,162,90,.34),transparent 62%)}

/* layer 5 — the amber nebula glow, breathing and drifting off-centre */
.mx-bg__glow{position:absolute;inset:-20%;
  background:radial-gradient(circle at 50% 34%,rgba(255,162,90,.17),transparent 58%);
  animation:mx-glow-drift 24s ease-in-out infinite}

/* layer 6 — the moon, orbiting on a tiny, slow ellipse */
.mx-bg__moon{position:absolute;left:3%;top:40%;width:104px;height:104px;opacity:.6;
  background:url("../img/moon.png") center/contain no-repeat;
  animation:mx-orbit 50s ease-in-out infinite}

@keyframes mx-spin{to{transform:translate(-50%,-50%) rotate(360deg)}}
@keyframes mx-drift{
  0%{transform:translate3d(0,0,0)}
  50%{transform:translate3d(-46px,-34px,0)}
  100%{transform:translate3d(0,0,0)}
}
@keyframes mx-drift-rev{
  0%{transform:translate3d(0,0,0)}
  50%{transform:translate3d(38px,26px,0)}
  100%{transform:translate3d(0,0,0)}
}
@keyframes mx-twinkle{0%,100%{opacity:.55}50%{opacity:1}}
@keyframes mx-breathe{0%,100%{opacity:.13}50%{opacity:.2}}
@keyframes mx-flow{
  0%{background-position:0% 50%}
  50%{background-position:100% 50%}
  100%{background-position:0% 50%}
}
@keyframes mx-pan{
  0%,100%{transform:translateX(0) scale(1.04)}
  50%{transform:translateX(-2.4%) scale(1.04)}
}
@keyframes mx-glow-drift{
  0%,100%{transform:translate(0,0) scale(1);opacity:1}
  50%{transform:translate(3%,-2%) scale(1.08);opacity:.85}
}
@keyframes mx-orbit{
  0%,100%{transform:translate(0,0)}
  25%{transform:translate(6px,-10px)}
  50%{transform:translate(-4px,-16px)}
  75%{transform:translate(-8px,-6px)}
}

/* ---------- 5. Layout --------------------------------------------------- */
.mx-container{width:100%;max-width:var(--mx-container);margin-inline:auto;padding-inline:var(--s3)}
.mx-container--wide{max-width:1440px}
.mx-main{padding:calc(var(--mx-topbar-h) + var(--s5)) 0 var(--s7)}
.mx-main--chromeless{padding-top:calc(var(--mx-topbar-h) + var(--s6))}
.mx-main--full{padding:0;display:block}
.mx-section{margin-bottom:var(--s7)}
.mx-section--tight{margin-bottom:var(--s5)}
.mx-grid{display:grid;gap:var(--s3)}
.mx-grid--2{grid-template-columns:repeat(2,1fr)}
.mx-grid--3{grid-template-columns:repeat(3,1fr)}
.mx-grid--4{grid-template-columns:repeat(4,1fr)}
.mx-grid--split{grid-template-columns:1.05fr .95fr;gap:var(--s4)}
.mx-stack>*+*{margin-top:var(--s3)}
.mx-center{text-align:center;margin-inline:auto}
.mx-row{display:flex;gap:var(--s2);flex-wrap:wrap;align-items:center}
.mx-row--center{justify-content:center}
.mx-row--between{justify-content:space-between}

/* ---------- 6. Top bar -------------------------------------------------- */
.mx-topbar{position:fixed;top:0;left:0;right:0;height:var(--mx-topbar-h);z-index:40;
  background:rgba(8,8,8,.88);backdrop-filter:blur(16px);
  border-bottom:1px solid var(--mx-hairline-soft);display:flex;align-items:center}
.mx-topbar__inner{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;
  gap:var(--s3);width:100%}
.mx-topbar__right{display:flex;align-items:center;justify-content:flex-end;gap:var(--s3)}
.mx-logo{display:inline-flex;align-items:center;gap:10px;color:var(--mx-text)}
.mx-logo:hover{color:var(--mx-text)}
.mx-logo img{width:40px;height:40px}
.mx-logo__text{font-family:var(--mx-font-display);font-size:26px;font-weight:700;
  letter-spacing:.1em;text-transform:uppercase;white-space:nowrap}
@media (max-width:480px){
  .mx-logo img{width:34px;height:34px}
  .mx-logo__text{font-size:21px}
}
.mx-tagline{margin:0;text-align:center;font-size:12px;letter-spacing:.24em;white-space:nowrap;
  text-transform:uppercase;color:var(--mx-text-dim)}
.mx-topbar__nav{display:flex;gap:var(--s3);align-items:center}
.mx-topbar__nav a{color:var(--mx-text-dim);font-size:var(--fs-ui)}
.mx-topbar__nav a:hover{color:var(--mx-accent)}
.mx-account{position:relative;align-self:center}
.mx-avatar{width:36px;height:36px;flex:0 0 36px;display:block;padding:0;cursor:pointer;
  border-radius:50%;border:1px solid rgba(255,162,90,.45);position:relative;overflow:hidden;
  background:#1c1c20;line-height:0;
  transition:border-color .18s var(--mx-ease),box-shadow .18s var(--mx-ease)}
.mx-avatar img{width:100%;height:100%;object-fit:cover;object-position:50% 34%;border-radius:50%}
.mx-avatar::after{content:"";position:absolute;right:0;bottom:0;width:8px;height:8px;
  border-radius:50%;background:var(--mx-accent);border:2px solid #080808}
.mx-account:hover .mx-avatar,.mx-account:focus-within .mx-avatar{
  border-color:var(--mx-accent);box-shadow:0 0 0 3px rgba(255,162,90,.14)}

.mx-account__drop{position:absolute;top:calc(100% + 12px);right:0;min-width:236px;z-index:45;
  background:rgba(16,15,15,.97);backdrop-filter:blur(16px);
  border:1px solid var(--mx-hairline);border-radius:var(--mx-radius);
  box-shadow:0 22px 50px rgba(0,0,0,.6);padding:8px;
  opacity:0;visibility:hidden;transform:translateY(-6px);
  transition:opacity .16s var(--mx-ease),transform .16s var(--mx-ease),visibility .16s}
/* hover bridge so the pointer can travel from the avatar to the panel */
.mx-account__drop::before{content:"";position:absolute;left:0;right:0;top:-12px;height:12px}
.mx-account__drop::after{content:"";position:absolute;right:14px;top:-5px;width:9px;height:9px;
  background:inherit;border-left:1px solid var(--mx-hairline);border-top:1px solid var(--mx-hairline);
  transform:rotate(45deg)}
.mx-account:hover .mx-account__drop,
.mx-account:focus-within .mx-account__drop,
.mx-account[data-open] .mx-account__drop{opacity:1;visibility:visible;transform:none}
.mx-account__id{padding:10px 14px 12px;border-bottom:1px solid var(--mx-hairline-soft);margin-bottom:6px}
.mx-account__name{display:block;font-family:var(--mx-font-display);font-size:17px;color:var(--mx-text)}
.mx-account__mail{display:block;font-size:12px;color:var(--mx-text-mute);margin-top:2px}
.mx-account__drop a{display:block;padding:9px 14px;border-radius:var(--mx-radius-sm);
  color:var(--mx-text-dim);font-size:14px;line-height:1.3;letter-spacing:.02em}
.mx-account__drop a:hover,.mx-account__drop a:focus-visible{background:rgba(255,255,255,.05);color:var(--mx-text)}
.mx-account__out{margin-top:6px;padding-top:12px!important;border-top:1px solid var(--mx-hairline-soft);
  border-radius:0 0 var(--mx-radius-sm) var(--mx-radius-sm);color:var(--mx-accent)!important}
.mx-account__out:hover{background:rgba(255,162,90,.1)!important}
.mx-burger{display:none;background:none;border:0;color:var(--mx-text);padding:8px;cursor:pointer}
.mx-burger svg{width:22px;height:22px;fill:currentColor}

/* ---------- 7. Chip navigation ------------------------------------------ */
.mx-nav{padding-top:var(--s3);text-align:center}
.mx-menu{display:inline-flex;flex-wrap:wrap;justify-content:center;gap:4px;
  background:rgba(18,18,18,.7);backdrop-filter:blur(16px);
  border:1px solid var(--mx-hairline-soft);border-radius:var(--mx-radius-pill);padding:5px}
.mx-menu__item{display:inline-flex;align-items:center;gap:8px;padding:9px 20px;
  border-radius:var(--mx-radius-pill);color:var(--mx-text-dim);
  font-size:var(--fs-ui);letter-spacing:.04em;white-space:nowrap;transition:.18s var(--mx-ease)}
.mx-menu__item::before{content:"";width:5px;height:5px;border-radius:50%;background:currentColor;opacity:.6}
.mx-menu__item:hover{color:var(--mx-text);background:rgba(255,255,255,.04)}
.mx-menu__item[aria-current="page"]{background:linear-gradient(180deg,var(--mx-accent-soft),var(--mx-accent));
  color:var(--mx-on-accent);font-weight:500}
.mx-menu__item[aria-current="page"]::before{background:var(--mx-on-accent);opacity:1}
.mx-submenu{display:flex;flex-wrap:wrap;justify-content:center;gap:var(--s1);margin-top:var(--s2)}
.mx-submenu a{padding:7px 16px;border-radius:var(--mx-radius-pill);color:var(--mx-text-mute);
  font-size:13px;letter-spacing:.06em;border:1px solid transparent;white-space:nowrap}
.mx-submenu a:hover{color:var(--mx-text-dim)}
.mx-submenu a[aria-current]{color:var(--mx-accent);border-color:rgba(255,162,90,.45);
  background:rgba(255,162,90,.08)}

/* ---------- 8. Headings, ornaments -------------------------------------- */
.mx-pagehead{text-align:center;margin-bottom:var(--s6);padding-top:var(--s4)}
.mx-pagehead h1{font-size:var(--fs-h1);text-transform:uppercase;letter-spacing:.06em;
  background:linear-gradient(180deg,#ffdcc5,var(--mx-accent));-webkit-background-clip:text;
  background-clip:text;color:transparent;margin-bottom:var(--s1)}
.mx-pagehead p{margin:var(--s2) auto 0;color:var(--mx-text-dim);max-width:56ch}
.mx-eyebrow{font-size:var(--fs-eyebrow);font-weight:500;letter-spacing:.2em;text-transform:uppercase;
  color:var(--mx-accent);opacity:.85;margin-bottom:var(--s1)}
.mx-eyebrow--mute{color:var(--mx-text-mute);opacity:1}
.mx-ornament{display:block;margin:var(--s2) auto;width:210px;max-width:60vw;color:var(--mx-gold-line)}

.mx-sectionhead{display:flex;justify-content:space-between;align-items:flex-end;gap:var(--s4);
  margin-bottom:var(--s4);border-bottom:1px solid var(--mx-hairline-soft);padding-bottom:var(--s3)}
.mx-sectionhead h2{margin:0}
.mx-sectionhead__note{max-width:38ch;color:var(--mx-text-mute);font-size:14px;margin:0;text-align:right}
.mx-sectionhead a{font-size:var(--fs-ui);white-space:nowrap}

/* ---------- 9. Buttons -------------------------------------------------- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:46px;
  padding:0 26px;border-radius:var(--mx-radius-pill);font:500 var(--fs-ui)/1 var(--mx-font-ui);
  letter-spacing:.06em;cursor:pointer;border:1px solid transparent;
  transition:transform .18s var(--mx-ease),box-shadow .18s var(--mx-ease),background .18s var(--mx-ease),color .18s var(--mx-ease)}
.btn:hover{transform:translateY(-1px)}
.btn-primary{background:linear-gradient(180deg,var(--mx-accent-soft),var(--mx-accent));color:var(--mx-on-accent);font-weight:600}
.btn-primary:hover{box-shadow:var(--mx-glow);color:var(--mx-on-accent)}
.btn-primary:active{background:var(--mx-accent-deep)}
.btn-ghost{background:transparent;color:var(--mx-text);border-color:rgba(255,162,90,.7)}
.btn-ghost:hover{background:rgba(255,162,90,.08);color:var(--mx-text)}
.btn-apply{background:rgba(255,255,255,.03);color:var(--mx-text);border-color:var(--mx-hairline)}
.btn-apply:hover{border-color:var(--mx-text-dim);color:var(--mx-text)}
.btn-quiet{background:transparent;color:var(--mx-text-dim);border-color:var(--mx-hairline-soft);min-height:40px;padding:0 18px}
.btn-quiet:hover{color:var(--mx-text)}
.btn--block{width:100%}
.btn--lg{min-height:54px;padding:0 34px;font-size:16px}

/* ---------- 10. Panels & cards ------------------------------------------ */
.mx-panel{background:var(--mx-panel);border:1px solid var(--mx-hairline-soft);
  border-radius:var(--mx-radius-lg);padding:var(--s4)}
.mx-panel--flush{padding:0;overflow:hidden}
.mx-card{background:var(--mx-panel);border:1px solid var(--mx-hairline-soft);
  border-radius:var(--mx-radius);padding:var(--s3);display:flex;flex-direction:column;
  transition:border-color .18s var(--mx-ease),transform .18s var(--mx-ease)}
.mx-card:hover{border-color:rgba(255,162,90,.32)}
.mx-card--glass{background:var(--mx-surface-glass);backdrop-filter:blur(14px);border-color:var(--mx-hairline)}
.mx-card--light{background:var(--mx-card-light);color:var(--mx-on-light);border-color:transparent;box-shadow:var(--mx-card-shadow)}
.mx-card--cloud{background:var(--mx-card-cloud);color:var(--mx-on-light);border-color:transparent;box-shadow:var(--mx-card-shadow)}
.mx-card--light h3,.mx-card--cloud h3{color:var(--mx-on-light)}
.mx-card--light p,.mx-card--cloud p{color:#4a463f}
.mx-card--light .mx-eyebrow,.mx-card--cloud .mx-eyebrow{color:var(--mx-copper);opacity:1}
.mx-card--light .mx-meta,.mx-card--cloud .mx-meta{color:#6b6459}
.mx-card--light .price,.mx-card--cloud .price{color:var(--mx-on-light)}
.mx-card--copper{background:linear-gradient(155deg,var(--mx-copper),var(--mx-copper-dark));color:#fff;border-color:transparent}
.mx-card--copper h3{color:#fff}
.mx-card--copper p{color:rgba(255,255,255,.78)}
.mx-card--copper .mx-eyebrow{color:rgba(255,255,255,.75);opacity:1}
.mx-card--feature{padding:0;overflow:hidden}
.mx-card--feature .mx-card__body{padding:var(--s3);display:flex;flex-direction:column;flex:1}
.mx-card h3{margin-bottom:10px}
.mx-card p{font-size:15px;color:var(--mx-text-dim);margin-bottom:var(--s2)}
.mx-card__foot{margin-top:auto;padding-top:var(--s3);display:flex;gap:var(--s2);
  align-items:center;justify-content:space-between;flex-wrap:wrap}
.mx-card__link{color:inherit}
.mx-card__link:hover{color:inherit}

/* images — every picture gets a fixed ratio and fills it */
.mx-pic{width:100%;aspect-ratio:16/10;object-fit:cover;border-radius:var(--mx-radius-sm);
  background:#0a0908;display:block}
.mx-pic--wide{aspect-ratio:16/9}
.mx-pic--square{aspect-ratio:1}
.mx-pic--tall{aspect-ratio:3/4}
.mx-pic--flush{border-radius:0}
.mx-card>.mx-pic{margin-bottom:var(--s3)}
.mx-card--feature>.mx-pic{margin-bottom:0;border-radius:0}

.mx-meta{display:flex;gap:var(--s2);align-items:center;flex-wrap:wrap;
  font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--mx-text-mute);margin-bottom:10px}
.mx-meta--between{justify-content:space-between}
.mx-badge{display:inline-flex;align-items:center;gap:6px;padding:5px 13px;border-radius:var(--mx-radius-pill);
  font-size:12px;letter-spacing:.1em;text-transform:uppercase;
  background:rgba(255,162,90,.14);color:var(--mx-accent);border:1px solid rgba(255,162,90,.32)}
.mx-badge--copper{background:var(--mx-copper);color:#fff;border-color:transparent}
.mx-badge--muted{background:transparent;color:var(--mx-text-mute);border-color:var(--mx-hairline)}
.mx-badge--solid{background:var(--mx-accent);color:var(--mx-on-accent);border-color:transparent}
.price{font-family:var(--mx-font-display);color:var(--mx-text);font-size:24px;line-height:1}
.price small{display:block;font-family:var(--mx-font-ui);font-size:11px;letter-spacing:.16em;
  text-transform:uppercase;color:var(--mx-text-mute);margin-bottom:4px}

/* rows of facts, as on the chart preview panel */
.mx-facts{display:grid;gap:8px}
.mx-fact{display:flex;justify-content:space-between;gap:var(--s2);align-items:center;
  background:rgba(255,255,255,.03);border:1px solid var(--mx-hairline-soft);
  border-radius:var(--mx-radius-sm);padding:12px 16px;font-size:14px;color:var(--mx-text-dim)}
.mx-fact b{font-family:var(--mx-font-display);font-weight:400;font-size:17px;color:var(--mx-accent)}
.mx-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--s2)}
.mx-stat{text-align:center;background:rgba(255,255,255,.03);border:1px solid var(--mx-hairline-soft);
  border-radius:var(--mx-radius-sm);padding:var(--s2)}
.mx-stat b{display:block;font-family:var(--mx-font-display);font-size:26px;color:var(--mx-text)}
.mx-stat span{font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--mx-text-mute)}

/* ---------- 11. Bands ---------------------------------------------------- */
.mx-band{background:var(--mx-panel);border:1px solid var(--mx-hairline-soft);
  border-radius:var(--mx-radius-lg);padding:var(--s5);
  display:flex;gap:var(--s4);align-items:center;justify-content:space-between;flex-wrap:wrap}
.mx-band__text{flex:1 1 420px;min-width:0}
.mx-band__text h2{margin-bottom:12px}
.mx-band__text p{color:var(--mx-text-dim);margin-bottom:0}
.mx-band .mx-stats{flex:0 0 340px;max-width:100%}
.mx-band--solar{background:linear-gradient(120deg,#fff,#efe9e2);border-color:transparent;
  color:var(--mx-on-light);box-shadow:var(--mx-card-shadow)}
.mx-band--solar h2{color:var(--mx-on-light)}
.mx-band--solar p{color:#4a463f}
.mx-band--solar .mx-eyebrow{color:var(--mx-copper);opacity:1}
.mx-band--solar .btn-ghost{color:var(--mx-on-light);border-color:rgba(18,16,14,.3)}
.mx-band--copper{background:linear-gradient(140deg,var(--mx-copper),var(--mx-copper-dark));border-color:transparent}
.mx-band--copper h2,.mx-band--copper h3{color:#fff}
.mx-band--copper p{color:rgba(255,255,255,.8)}

/* ---------- 12. Hero ----------------------------------------------------- */
.mx-hero{position:relative;border-radius:var(--mx-radius-lg);overflow:hidden;
  border:1px solid var(--mx-hairline);min-height:min(74vh,600px);display:flex;align-items:flex-end}
.mx-hero__img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.mx-hero::after{content:"";position:absolute;inset:0;
  background:linear-gradient(180deg,rgba(5,5,5,.55) 0%,rgba(5,5,5,.15) 38%,rgba(5,5,5,.9) 100%)}
.mx-hero__inner{position:relative;z-index:2;padding:var(--s6) var(--s5);width:100%;text-align:center}
.mx-hero h1{font-size:clamp(32px,5vw,60px);margin-bottom:var(--s2)}
.mx-hero p{margin:0 auto var(--s4);color:var(--mx-text-dim);max-width:52ch}
.mx-hero__top{position:absolute;top:var(--s4);left:var(--s5);right:var(--s5);z-index:2;
  display:flex;justify-content:space-between;gap:var(--s2);font-size:11px;letter-spacing:.2em;
  text-transform:uppercase;color:var(--mx-text-mute)}
.mx-hero__foot{position:absolute;bottom:var(--s3);left:var(--s5);right:var(--s5);z-index:2;
  display:flex;justify-content:space-between;gap:var(--s2);font-size:11px;letter-spacing:.18em;
  text-transform:uppercase;color:var(--mx-text-mute)}
.mx-hero__play{margin:0 auto var(--s3)}

/* ---------- 13. Video ---------------------------------------------------- */
.mx-video{position:relative;aspect-ratio:16/9;border-radius:var(--mx-radius);overflow:hidden;
  background:#0a0908;border:1px solid var(--mx-hairline-soft)}
.mx-video--tv{border:2px solid rgba(255,162,90,.5)}
.mx-video__img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.mx-video__poster{position:absolute;inset:0;display:grid;place-items:center;
  background:linear-gradient(180deg,rgba(5,5,5,.2),rgba(5,5,5,.55))}
.mx-video__play{width:58px;height:58px;border-radius:50%;border:0;cursor:pointer;
  background:linear-gradient(180deg,var(--mx-accent-soft),var(--mx-accent));display:grid;place-items:center;
  box-shadow:var(--mx-glow)}
.mx-video__play::after{content:"";border:10px solid transparent;border-left-color:var(--mx-on-accent);margin-left:5px}
.mx-video__label{position:absolute;left:var(--s3);bottom:var(--s3);margin:0;font-size:11px;
  letter-spacing:.18em;text-transform:uppercase;color:var(--mx-text-dim);z-index:2}
.mx-video iframe{position:absolute;inset:0;width:100%;height:100%;border:0}

/* ---------- 14. Carousel ------------------------------------------------- */
.mx-carousel__track{display:flex;gap:var(--s3);overflow-x:auto;scroll-snap-type:x mandatory;
  padding-bottom:var(--s2);scrollbar-width:none}
.mx-carousel__track::-webkit-scrollbar{display:none}
.mx-carousel__slide{flex:0 0 min(620px,84%);scroll-snap-align:center}
.mx-dots{display:flex;gap:8px;justify-content:center;margin-top:var(--s3)}
.mx-dots button{width:8px;height:8px;border-radius:50%;border:1px solid var(--mx-accent);
  background:transparent;cursor:pointer;padding:0}
.mx-dots button[aria-selected="true"]{background:var(--mx-accent);width:22px;border-radius:var(--mx-radius-pill)}

/* ---------- 15. Tables & lists ------------------------------------------- */
.mx-pricetable{width:100%;border-collapse:collapse}
.mx-pricetable th{text-align:left;font:500 11px/1 var(--mx-font-ui);letter-spacing:.18em;
  text-transform:uppercase;color:var(--mx-text-mute);padding-bottom:var(--s2)}
.mx-pricetable td{padding:var(--s2) 0;border-top:1px solid var(--mx-hairline-soft);vertical-align:middle}
.mx-pricetable td:last-child{text-align:right}
.mx-list{list-style:none;padding:0;margin:0}
.mx-list li{padding:14px 0;border-top:1px solid var(--mx-hairline-soft);display:flex;gap:var(--s2);
  justify-content:space-between;align-items:center;flex-wrap:wrap;font-size:15px}
.mx-list li:first-child{border-top:0}
.mx-check-list{list-style:none;padding:0;margin:0 0 var(--s3)}
.mx-check-list li{padding-left:24px;position:relative;margin-bottom:9px;color:var(--mx-text-dim);font-size:15px}
.mx-check-list li::before{content:"✦";position:absolute;left:0;color:var(--mx-accent);font-size:12px;top:3px}
.mx-strip{display:flex;gap:var(--s3);overflow-x:auto;padding-bottom:var(--s2);scrollbar-width:none}
.mx-strip::-webkit-scrollbar{display:none}
.mx-strip>*{flex:0 0 clamp(260px,30vw,340px)}

/* ---------- 16. Forms ---------------------------------------------------- */
.mx-field{margin-bottom:var(--s3)}
.mx-field label{display:block;font-size:11px;font-weight:500;letter-spacing:.18em;text-transform:uppercase;
  color:var(--mx-text-mute);margin-bottom:8px}
.mx-field input,.mx-field select,.mx-field textarea{width:100%;background:rgba(255,255,255,.04);
  color:var(--mx-text);border:1px solid var(--mx-hairline-soft);border-radius:var(--mx-radius-sm);
  padding:13px 16px;font:400 16px/1.4 var(--mx-font-ui);min-height:48px}
.mx-field input:focus,.mx-field select:focus,.mx-field textarea:focus{border-color:var(--mx-accent);outline:none}
.mx-field input::placeholder,.mx-field textarea::placeholder{color:var(--mx-text-mute)}
.mx-field select option{background:var(--mx-panel);color:var(--mx-text)}
.mx-field__hint{font-size:12px;color:var(--mx-text-mute);margin:6px 0 0}
.mx-field__error{font-size:12px;color:var(--mx-error);margin-top:6px}
.mx-field-row{display:grid;grid-template-columns:1fr 1fr;gap:var(--s2)}
.mx-field--inline{display:flex;gap:var(--s2);align-items:flex-end}
.mx-field--inline .mx-field{flex:1;margin-bottom:0}
.mx-check{display:flex;gap:12px;align-items:flex-start;font-size:14px;color:var(--mx-text-dim)}
.mx-check input{width:19px;height:19px;min-height:0;accent-color:var(--mx-accent);flex:0 0 auto;margin-top:2px}
.mx-form{max-width:560px;margin-inline:auto}
.mx-form--wide{max-width:780px}
.mx-note{display:flex;gap:12px;align-items:flex-start;background:rgba(255,162,90,.07);
  border:1px solid rgba(255,162,90,.2);border-radius:var(--mx-radius-sm);padding:14px 16px;
  font-size:13px;color:var(--mx-text-dim);margin-bottom:var(--s3)}
.mx-note b{color:var(--mx-accent);font-weight:600}
.mx-divider-or{display:flex;align-items:center;gap:var(--s2);color:var(--mx-text-mute);
  font-size:12px;letter-spacing:.14em;text-transform:uppercase;margin:var(--s3) 0}
.mx-divider-or::before,.mx-divider-or::after{content:"";flex:1;height:1px;background:var(--mx-hairline-soft)}
.mx-steps{display:flex;gap:8px;justify-content:center;margin-bottom:var(--s4)}
.mx-steps span{width:28px;height:3px;border-radius:3px;background:var(--mx-hairline)}
.mx-steps span[data-active]{background:var(--mx-accent)}
.mx-step{display:none}
.mx-step[data-active]{display:block}

.mx-avatarfield{display:flex;align-items:center;gap:var(--s3);flex-wrap:wrap;
  padding-bottom:var(--s3);margin-bottom:var(--s3);border-bottom:1px solid var(--mx-hairline-soft)}
.mx-avatarfield__img{width:88px;height:88px;flex:0 0 88px;border-radius:50%;object-fit:cover;
  border:1px solid rgba(255,162,90,.45);background:#1c1c20}
.mx-avatarfield__body{flex:1 1 220px}
.mx-avatarfield__body p{margin:6px 0 0}
.mx-avatarfield input[type="file"]{display:none}

/* ---------- 17. Modal & tabs --------------------------------------------- */
.mx-modal{position:fixed;inset:0;z-index:60;display:none;place-items:center;padding:var(--s3)}
.mx-modal.is-open{display:grid}
.mx-modal__backdrop{position:absolute;inset:0;background:rgba(3,3,3,.75);backdrop-filter:blur(6px)}
.mx-modal__panel{position:relative;width:100%;max-width:540px;background:var(--mx-panel);
  border:1px solid var(--mx-hairline);border-radius:var(--mx-radius-lg);padding:var(--s5) var(--s4);
  box-shadow:var(--mx-card-shadow)}
.mx-modal__close{position:absolute;top:14px;right:14px;width:38px;height:38px;border-radius:50%;
  border:1px solid var(--mx-hairline-soft);background:transparent;color:var(--mx-text);cursor:pointer;font-size:17px}
.mx-tabs{display:inline-flex;flex-wrap:wrap;gap:4px;justify-content:center;margin-bottom:var(--s5);
  background:rgba(18,18,18,.7);border:1px solid var(--mx-hairline-soft);
  border-radius:var(--mx-radius-pill);padding:5px}
.mx-tabs-wrap{text-align:center}
.mx-tab{padding:9px 20px;border-radius:var(--mx-radius-pill);border:0;background:transparent;
  color:var(--mx-text-dim);font:500 var(--fs-ui)/1 var(--mx-font-ui);cursor:pointer;white-space:nowrap}
.mx-tab[aria-selected="true"]{background:linear-gradient(180deg,var(--mx-accent-soft),var(--mx-accent));color:var(--mx-on-accent)}
.mx-tabpanel{display:none}
.mx-tabpanel[data-active]{display:block}

/* ---------- 18. Footer & cookie ------------------------------------------ */
.mx-footer{border-top:1px solid var(--mx-hairline-soft);background:rgba(6,6,6,.82);
  padding:var(--s6) 0 var(--s3);margin-top:var(--s8)}
.mx-footer__glyph{text-align:center;margin-bottom:var(--s6)}
.mx-footer__glyph p{margin:0 auto;font-size:11px;letter-spacing:.24em;text-transform:uppercase;color:var(--mx-accent);opacity:.8}
.mx-footer__grid{display:grid;grid-template-columns:1.6fr 1fr 1fr 1fr;gap:var(--s4)}
.mx-footer h4{font-family:var(--mx-font-ui);font-size:11px;font-weight:500;letter-spacing:.2em;
  text-transform:uppercase;color:var(--mx-accent);margin-bottom:var(--s2);opacity:.85}
.mx-footer ul{list-style:none;padding:0;margin:0}
.mx-footer li{margin-bottom:9px}
.mx-footer a{color:var(--mx-text-dim);font-size:14px}
.mx-footer a:hover{color:var(--mx-accent)}
.mx-footer__about p{font-size:14px;color:var(--mx-text-dim);max-width:34ch}
.mx-footer__bottom{margin-top:var(--s5);padding-top:var(--s3);border-top:1px solid var(--mx-hairline-soft);
  display:flex;justify-content:space-between;gap:var(--s2);flex-wrap:wrap;
  color:var(--mx-text-mute);font-size:12px}
.mx-footer__bottom span:last-child{color:var(--mx-accent);letter-spacing:.18em;text-transform:uppercase}
.mx-cookie{position:fixed;left:0;right:0;bottom:0;z-index:50;padding:var(--s2) 0;
  background:rgba(10,10,10,.92);backdrop-filter:blur(14px);border-top:1px solid var(--mx-hairline-soft)}
.mx-cookie[hidden]{display:none}
.mx-cookie__inner{display:flex;gap:var(--s3);align-items:center;justify-content:space-between;flex-wrap:wrap}
.mx-cookie p{margin:0;font-size:13px;color:var(--mx-text-dim);max-width:60ch}

/* ---------- 19. Page specifics ------------------------------------------- */
.mx-splash{height:100vh;height:100dvh;overflow:hidden;display:grid;place-items:center;
  text-align:center;padding:var(--s4) var(--s3)}
.mx-splash__mark{width:64px;height:64px;margin:0 auto var(--s2)}
.mx-splash__logo{font-family:var(--mx-font-display);font-size:clamp(34px,6vw,64px);letter-spacing:.1em;
  margin:0;text-transform:uppercase}
.mx-splash__sub{font-size:12px;letter-spacing:.32em;text-transform:uppercase;color:var(--mx-text-dim);
  margin:var(--s2) 0 var(--s4)}
.mx-splash .btn{min-width:200px}
.mx-splash__note{margin:var(--s3) auto 0!important}
@media (max-height:700px){
  .mx-splash__mark{width:48px;height:48px;margin-bottom:10px}
  .mx-splash__sub{margin-bottom:var(--s3)}
  .mx-splash__note{display:none}
}

.mx-calc{display:grid;place-items:center;min-height:66vh;text-align:center}
.mx-calc__wheel{width:190px;height:190px;border-radius:50%;margin:0 auto var(--s4);
  border:1px solid rgba(255,162,90,.4);border-top-color:var(--mx-accent);
  animation:mx-rot 2.4s linear infinite;box-shadow:var(--mx-glow),inset 0 0 60px rgba(255,162,90,.1)}
@keyframes mx-rot{to{transform:rotate(360deg)}}
.mx-progress{width:min(380px,80vw);height:2px;background:var(--mx-hairline);border-radius:2px;overflow:hidden;margin:0 auto}
.mx-progress i{display:block;height:100%;width:0;background:var(--mx-accent);animation:mx-fill 5s var(--mx-ease) forwards}
@keyframes mx-fill{to{width:100%}}
.mx-mystic{text-align:center;font-family:var(--mx-font-display);font-size:clamp(20px,3.2vw,32px);
  color:var(--mx-text-dim);min-height:2.4em;display:grid;place-items:center}
.mx-mystic span{animation:mx-fade 5s ease-in-out infinite}
@keyframes mx-fade{0%,100%{opacity:0}15%,70%{opacity:1}}

.mx-archetype{aspect-ratio:1;border-radius:var(--mx-radius);overflow:hidden;
  border:1px solid var(--mx-hairline-soft);background:#0a0908}
.mx-archetype img{width:100%;height:100%;object-fit:cover}
.mx-seats{display:flex;align-items:center;gap:var(--s3);flex-wrap:wrap}
.mx-seats__bar{flex:1;min-width:200px;height:6px;border-radius:6px;background:var(--mx-hairline);overflow:hidden}
.mx-seats__bar i{display:block;height:100%;background:linear-gradient(90deg,var(--mx-accent),var(--mx-copper))}
.mx-audio{display:flex;align-items:center;gap:var(--s2);width:100%;margin-bottom:var(--s2)}
.mx-audio audio{width:100%;height:36px}
.mx-stickycta{display:none}

/* ---------- 20. Responsive ----------------------------------------------- */
@media (max-width:1024px){
  .mx-grid--4{grid-template-columns:repeat(2,1fr)}
  .mx-grid--split{grid-template-columns:1fr}
  .mx-footer__grid{grid-template-columns:1fr 1fr}
  .mx-sectionhead{flex-direction:column;align-items:flex-start;gap:var(--s2)}
  .mx-sectionhead__note{text-align:left}
}
@media (max-width:768px){
  .mx-tagline,.mx-topbar__nav{display:none}
  .mx-topbar__inner{grid-template-columns:auto 1fr}
  .mx-burger{display:inline-flex}
  .mx-bg__moon{display:none}
  .mx-bg__mandala{width:150vw;opacity:.12}
  .mx-main{padding-top:calc(var(--mx-topbar-h) + var(--s3));padding-bottom:var(--s6)}
  .mx-container{padding-inline:var(--s2)}
  .mx-grid--3,.mx-grid--4,.mx-grid--2{grid-template-columns:1fr}
  .mx-panel,.mx-band{padding:var(--s3)}
  .mx-hero{min-height:56vh}
  .mx-hero__inner{padding:var(--s5) var(--s3)}
  .mx-hero__top,.mx-hero__foot{left:var(--s3);right:var(--s3);font-size:10px}
  .mx-nav{overflow-x:auto;scrollbar-width:none;padding-inline:var(--s2);text-align:left}
  .mx-nav::-webkit-scrollbar{display:none}
  .mx-menu{flex-wrap:nowrap}
  .mx-submenu{flex-wrap:nowrap;overflow-x:auto;justify-content:flex-start;scrollbar-width:none}
  .mx-submenu::-webkit-scrollbar{display:none}
  .mx-tabs{flex-wrap:nowrap;overflow-x:auto;max-width:100%;scrollbar-width:none}
  .mx-tabs::-webkit-scrollbar{display:none}
  .mx-field-row{grid-template-columns:1fr}
  .mx-stats{grid-template-columns:1fr}
  .mx-band .mx-stats{flex:1 1 100%}
  .mx-footer{margin-top:var(--s6)}
  .mx-footer__bottom{flex-direction:column}
  .mx-stickycta{display:block;position:fixed;left:0;right:0;bottom:0;z-index:44;padding:10px var(--s2);
    background:rgba(8,8,8,.94);backdrop-filter:blur(12px);border-top:1px solid var(--mx-hairline-soft)}
  .mx-stickycta .btn{width:100%}
  .mx-page--hascta .mx-footer{margin-bottom:72px}
  .mx-page--hascta .mx-cookie{bottom:70px}
}
@media (max-width:480px){.mx-footer__grid{grid-template-columns:1fr}}

/* ---------- 20b. Mobile menu — the desktop utility nav, in a burger ------ */
.mx-mobilemenu{display:none;position:fixed;top:calc(var(--mx-topbar-h) - 8px);right:16px;z-index:46;
  min-width:180px;flex-direction:column;gap:2px;
  background:rgba(10,10,10,.97);backdrop-filter:blur(16px);
  border:1px solid var(--mx-hairline);border-radius:var(--mx-radius);
  box-shadow:0 22px 50px rgba(0,0,0,.6);padding:8px}
.mx-mobilemenu.is-open{display:flex}
.mx-mobilemenu a{display:block;padding:12px 14px;border-radius:var(--mx-radius-sm);
  color:var(--mx-text-dim);font-size:15px;letter-spacing:.02em}
.mx-mobilemenu a:hover,.mx-mobilemenu a:focus-visible{background:rgba(255,255,255,.05);color:var(--mx-text)}
@media (min-width:769px){.mx-mobilemenu{display:none!important}}

/* ---------- 21. Motion, reveal, print ------------------------------------ */
.mx-reveal{opacity:0;transform:translateY(16px)}
.mx-reveal.is-in{opacity:1;transform:none;transition:opacity .45s var(--mx-ease),transform .45s var(--mx-ease)}
@media (prefers-reduced-motion:reduce){
  *{animation:none!important;transition:none!important;scroll-behavior:auto!important}
  .mx-reveal{opacity:1;transform:none}
}
@media print{
  .mx-bg,.mx-topbar,.mx-nav,.mx-cookie,.mx-footer,.mx-stickycta{display:none!important}
  body{background:#fff;color:#000}
}
