/* Mindfuse flagship pages: one shared brand system, "Totality" (Oct 2026).
   The app's night: calm deep navy space, a soft violet-rose horizon, Mindfuse
   in the Earth's colours. Night only (no paper theme).
   Fonts: Cormorant Garamond italic (display) + Instrument Sans (body), self-
   hosted, the same files as mindfuse.io. The legacy family names 'Lora' and
   'DM Sans' are aliased onto them so inline references render Totality.
   Cormorant is declared with size-adjust 112% (it reads ~15% smaller). */
@font-face{font-family:'Cormorant Garamond';font-style:italic;font-weight:400 600;font-display:swap;size-adjust:112%;src:url(/fonts/cormorantgaramond-italic-latin.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Cormorant Garamond';font-style:italic;font-weight:400 600;font-display:swap;size-adjust:112%;src:url(/fonts/cormorantgaramond-italic-latin-ext.woff2) format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:'Cormorant Garamond';font-style:normal;font-weight:400 600;font-display:swap;size-adjust:112%;src:url(/fonts/cormorantgaramond-italic-latin.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Cormorant Garamond';font-style:normal;font-weight:400 600;font-display:swap;size-adjust:112%;src:url(/fonts/cormorantgaramond-italic-latin-ext.woff2) format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:'Lora';font-style:italic;font-weight:400 600;font-display:swap;size-adjust:112%;src:url(/fonts/cormorantgaramond-italic-latin.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Lora';font-style:italic;font-weight:400 600;font-display:swap;size-adjust:112%;src:url(/fonts/cormorantgaramond-italic-latin-ext.woff2) format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:'Lora';font-style:normal;font-weight:400 600;font-display:swap;size-adjust:112%;src:url(/fonts/cormorantgaramond-italic-latin.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Lora';font-style:normal;font-weight:400 600;font-display:swap;size-adjust:112%;src:url(/fonts/cormorantgaramond-italic-latin-ext.woff2) format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:'Instrument Sans';font-style:normal;font-weight:300 600;font-display:swap;src:url(/fonts/instrumentsans-normal-latin.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Instrument Sans';font-style:normal;font-weight:300 600;font-display:swap;src:url(/fonts/instrumentsans-normal-latin-ext.woff2) format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:'Instrument Sans';font-style:italic;font-weight:300 600;font-display:swap;src:url(/fonts/instrumentsans-italic-latin.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Instrument Sans';font-style:italic;font-weight:300 600;font-display:swap;src:url(/fonts/instrumentsans-italic-latin-ext.woff2) format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:'DM Sans';font-style:normal;font-weight:300 600;font-display:swap;src:url(/fonts/instrumentsans-normal-latin.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'DM Sans';font-style:normal;font-weight:300 600;font-display:swap;src:url(/fonts/instrumentsans-normal-latin-ext.woff2) format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:'DM Sans';font-style:italic;font-weight:300 600;font-display:swap;src:url(/fonts/instrumentsans-italic-latin.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'DM Sans';font-style:italic;font-weight:300 600;font-display:swap;src:url(/fonts/instrumentsans-italic-latin-ext.woff2) format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}

:root,html[data-theme='light'],html[data-theme='dark']{
  --mf-bg:#050E19;
  --mf-surface:#0C1623;
  --mf-surface-2:#111D2B;
  --mf-line:rgba(143,184,200,.14);
  --mf-ink:#EEE9E1;
  --mf-muted:#A9A7B6;
  --mf-faint:#83829A;
  --mf-ember:#8FB8C8;
  --mf-cta:#9FC5A8;
  --mf-cta-hover:#B2D3B8;
  --mf-cta-ink:#0B1A14;
  --mf-logo-a:#1E3AF0;
  --mf-logo-b:#1BD62F;
  --mf-logo-grad:linear-gradient(90deg,#1E3AF0,#1BD62F);
  --mf-serif:'Cormorant Garamond','Lora',Georgia,'Times New Roman',serif;
  --mf-sans:'Instrument Sans','DM Sans',system-ui,-apple-system,'Segoe UI',Roboto,sans-serif;
  color-scheme:dark;
  /* channel triplets for translucent colour (same names as the main site) */
  --ink-rgb:238,233,225;
  --ember-rgb:143,184,200;
  --bg-rgb:5,14,25;
  --night-rgb:2,5,15;
  --s1-rgb:12,22,35;
  --s2-rgb:17,29,43;
  --voice-a-rgb:106,128,216;
  --voice-b-rgb:108,196,140;
  --shadow-rgb:1,3,11;
  --vignette-a:.45;
  /* the Totality sky */
  --sky-top:#01030B;
  --sky-low:#0E1730;
  --stars:
    radial-gradient(1px 1px at 12% 18%, rgba(226,232,246,.55), transparent 60%),
    radial-gradient(1px 1px at 68% 9%, rgba(226,232,246,.4), transparent 60%),
    radial-gradient(1.2px 1.2px at 83% 37%, rgba(226,232,246,.5), transparent 60%),
    radial-gradient(1px 1px at 37% 61%, rgba(226,232,246,.35), transparent 60%),
    radial-gradient(1px 1px at 54% 84%, rgba(226,232,246,.42), transparent 60%),
    radial-gradient(1.3px 1.3px at 22% 92%, rgba(200,214,246,.45), transparent 60%),
    radial-gradient(1px 1px at 91% 72%, rgba(226,232,246,.3), transparent 60%),
    radial-gradient(1px 1px at 6% 48%, rgba(226,232,246,.32), transparent 60%);
}

/* the night ground: deep navy, a lift of sky-blue high up, a soft vignette */
/* (on <html>, so the fixed star layers can sit between the sky and the page) */
html{
  background:
    radial-gradient(120% 60% at 50% 0%, rgba(14,23,48,.9), transparent 62%),
    linear-gradient(180deg, var(--sky-top) 0, var(--mf-bg) 46rem) no-repeat,
    var(--mf-bg);
  background-color:var(--mf-bg);
}
body.mf-flagship{ background:transparent; color:var(--mf-ink); }
/* sparse fine stars on a fixed layer (no JS); a breath of twinkle */
body.mf-flagship::before{
  content:""; position:fixed; inset:0; z-index:-1; pointer-events:none;
  background:var(--stars); background-size:420px 420px; opacity:.75;
}
body.mf-flagship::after{
  content:""; position:fixed; inset:0; z-index:-1; pointer-events:none;
  background:var(--stars); background-size:690px 690px; background-position:130px 210px; opacity:.5;
  animation:mfTwinkle 9s ease-in-out infinite alternate;
}
@keyframes mfTwinkle{from{opacity:.22}to{opacity:.6}}
@media (prefers-reduced-motion: reduce){ body.mf-flagship::after{animation:none; opacity:.4;} }

/* ---- shared header ---------------------------------------------- */
.mf-hdr{
  position:relative; z-index:50;
  display:flex; align-items:center; justify-content:space-between; gap:16px;
  max-width:1120px; margin:0 auto;
  padding:18px 20px;
  font-family:var(--mf-sans);
}
.mf-hdr--overlay{position:fixed; top:0; left:0; right:0; max-width:none; z-index:2147482000; padding:16px 20px 22px; background:linear-gradient(to bottom, rgba(var(--bg-rgb),.94) 55%, rgba(var(--bg-rgb),0));}
.mf-brand{display:inline-flex; align-items:center; gap:10px; text-decoration:none; color:var(--mf-ink);}
.mf-brand img{width:30px; height:auto; display:block;}
.mf-brand span{font-family:var(--mf-serif); font-style:italic; font-weight:500; font-size:20px; letter-spacing:.005em; line-height:1; background:linear-gradient(90deg,#8FA2EC,#7FCB9C); -webkit-background-clip:text; background-clip:text; color:transparent;}
.mf-getapp{
  font-family:var(--mf-sans); font-size:12px; font-weight:500;
  letter-spacing:.16em; text-transform:uppercase;
  color:var(--mf-muted); text-decoration:none;
  padding:10px 2px; border-bottom:1px solid transparent;
  transition:color .25s ease, border-color .25s ease;
}
.mf-getapp:hover{color:var(--mf-ember); border-bottom-color:rgba(var(--ember-rgb),.5);}
.mf-brand:focus-visible,.mf-getapp:focus-visible,.mf-ftr a:focus-visible{outline:2px solid var(--mf-ember); outline-offset:4px; border-radius:4px;}

/* ---- shared footer ---------------------------------------------- */
.mf-ftr{
  font-family:var(--mf-sans);
  position:relative;
  border-top:0;
  margin-top:0;
  padding:48px 20px calc(40px + env(safe-area-inset-bottom,0px));
  text-align:center; background:linear-gradient(180deg,#070916,#02050F);
}
.mf-ftr::before{content:"";position:absolute;left:0;right:0;top:0;height:1px;background:linear-gradient(90deg,rgba(110,180,200,.32),rgba(170,120,160,.26),rgba(120,195,150,.3))}
.mf-ftr nav{display:flex; flex-wrap:wrap; justify-content:center; gap:8px 28px;}
.mf-ftr a{
  font-size:12px; font-weight:500; letter-spacing:.16em; text-transform:uppercase;
  color:var(--mf-muted); text-decoration:none; padding:6px 0;
}
.mf-ftr a:hover{color:var(--mf-ember);}
.mf-ftr p{margin:18px 0 0; font-size:13px; color:var(--mf-faint); letter-spacing:.02em;}

/* ---- in-context "keep reading" links ------------------------------ */
.mf-more{max-width:680px; margin:0 auto; padding:56px 20px 64px; font-family:var(--mf-sans);}
.mf-more h2{
  font-family:var(--mf-sans); font-size:12px; font-weight:500; letter-spacing:.2em; text-transform:uppercase;
  color:var(--mf-faint); margin:0 0 18px;
}
.mf-more ul{list-style:none; margin:0; padding:0; border-top:1px solid var(--mf-line);}
.mf-more li{border-bottom:1px solid var(--mf-line);}
.mf-more a{
  display:flex; align-items:baseline; justify-content:space-between; gap:16px;
  padding:16px 2px; text-decoration:none; color:var(--mf-ink);
  font-family:var(--mf-serif); font-size:19px; line-height:1.35;
  transition:color .2s ease;
}
.mf-more a small{font-family:var(--mf-sans); font-size:14px; color:var(--mf-muted); text-align:right; flex-shrink:0;}
.mf-more a:hover{color:var(--mf-ember);}
.mf-more a:focus-visible{outline:2px solid var(--mf-ember); outline-offset:2px;}
@media (max-width:520px){
  .mf-more a{flex-direction:column; gap:4px;}
  .mf-more a small{text-align:left;}
}

/* calm green CTA, used where a page offers one primary action */
.mf-cta{
  display:inline-flex; align-items:center; justify-content:center; gap:10px;
  background:var(--mf-cta); color:var(--mf-cta-ink); box-shadow:inset 0 0 0 1px rgba(255,255,255,.08); text-decoration:none;
  font-family:var(--mf-sans); font-size:16px; font-weight:500; letter-spacing:.01em;
  padding:15px 28px; border-radius:999px; border:none; cursor:pointer;
  transition:background .2s ease, transform .2s ease;
}
.mf-cta:hover{background:var(--mf-cta-hover);}
.mf-cta:focus-visible{outline:2px solid var(--mf-ember); outline-offset:3px;}

@media (prefers-reduced-motion: reduce){
  .mf-getapp,.mf-more a,.mf-cta{transition:none;}
}

/* header floating over a full-bleed hero (scrolls away with the page) */
.mf-hdr--float{position:absolute; top:0; left:0; right:0;}

/* store buttons: the reach style, shared */
.mf-stores{display:flex; flex-wrap:wrap; justify-content:center; gap:14px;}
.mf-store{
  display:inline-flex; align-items:center; gap:12px;
  text-decoration:none; color:var(--mf-ink);
  padding:11px 22px 11px 18px; min-width:172px;
  border:1px solid transparent; border-radius:14px;
  background:
    linear-gradient(var(--mf-surface), var(--mf-surface)) padding-box,
    linear-gradient(120deg, rgba(70,96,214,.6), rgba(72,190,110,.6)) border-box;
  font-family:var(--mf-sans);
  transition:box-shadow .4s ease, transform .3s ease;
}
.mf-store svg{width:22px; height:22px; flex:none; fill:currentColor;}
.mf-store span{display:flex; flex-direction:column; align-items:flex-start; line-height:1.2;}
.mf-store small{font-size:.64rem; letter-spacing:.14em; text-transform:uppercase; color:var(--mf-muted);}
.mf-store b{font-size:1.02rem; font-weight:500; letter-spacing:.01em;}
.mf-store:hover{box-shadow:0 0 28px rgba(143,184,200,.12); transform:translateY(-1px);}
.mf-store:focus-visible{outline:2px solid var(--mf-ember); outline-offset:3px;}
@media (prefers-reduced-motion: reduce){ .mf-store{transition:none;} .mf-store:hover{transform:none;} }
