@import url("https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600&family=Newsreader:ital,opsz,wght@0,6..72,300;0,6..72,400;0,6..72,500;1,6..72,300;1,6..72,400&display=swap");

/* Super Mario 256 by fsuarez913 (dafont, 100% free) for the Bayou wordmark */
@font-face{
  font-family:"Super Mario 256";
  src:url("/site-appearance/fonts/super-mario-256.ttf") format("truetype");
  font-display:swap;
}

:root{
  /* Super Mario Galaxy in space. The page is deep cosmic navy, Galaxy blue
     is the primary accent, and star gold is the warm one. The --st-purple
     names are kept: they mean "primary accent". */
  --st-page:#050a1e;         /* deep space */
  --st-page-2:#081030;
  --st-surface:#0d1638;
  --st-elevated:#16224d;
  --st-purple:#2e6cff;       /* Galaxy blue */
  --st-purple-hover:#2458d6;
  --st-plum-deep:#14307a;
  --st-warm:#ffc93c;         /* star gold */
  --st-text:#f2f5ff;         /* starlight */
  --st-muted:#a9b4d6;
  --st-faint:#8590b8;
  --st-prose:#e9edf9;
  --st-border:rgba(170,190,255,.10);
  --st-border-strong:rgba(170,190,255,.18);
  --st-serif:"Newsreader", Georgia, "Times New Roman", serif;
  --st-sans:"Inter", system-ui, sans-serif;
  --st-accent:"Super Mario 256", var(--st-serif);
  --st-brand:"Super Mario 256", var(--st-serif);
  --st-max:1200px;
  --st-gutter:32px;
  --st-section:96px;
  --st-r-btn:999px;
  --st-r-card:12px;
  --st-r-panel:14px;
  --st-ease:ease-out;
  --st-ms:200ms;
}

/* Bayou wordmark, after the Super Mario Galaxy film letters: a
   pink-orange-violet nebula, a silver beveled rim, and a soft drop below. The star mark next to
   it is an <img>, so only the text takes the starfield. */
.st-brand:not(:has(.st-brand-name)),
.st-brand-name,
.st-foot-mark{
  background:
    radial-gradient(1px 1px at 18% 30%, #fff 60%, transparent 61%),
    radial-gradient(1px 1px at 46% 70%, #ffe9f6 60%, transparent 61%),
    radial-gradient(1.4px 1.4px at 72% 38%, #fff 60%, transparent 61%),
    radial-gradient(1px 1px at 88% 66%, #ffe27a 60%, transparent 61%),
    radial-gradient(120% 140% at 55% -10%, #ffb36b 0%, rgba(255,179,107,0) 45%),
    linear-gradient(100deg, #e5358f 0%, #f0607a 30%, #b048d8 65%, #5b3bd6 100%);
  -webkit-background-clip:text;
  background-clip:text;
  -webkit-text-fill-color:transparent;
  -webkit-text-stroke:1.2px #eef2fb;
  paint-order:stroke fill;
  filter:
    drop-shadow(0 1px 0 #b9c3d8)
    drop-shadow(0 2px 0 #8792ab)
    drop-shadow(0 3px 2px rgba(0,0,0,.6))
    drop-shadow(0 0 10px rgba(229,53,143,.35));
}

/* the homepage sits in deeper space than login and signup; panels keep their navy */
html.st-home{
  --st-page:#020410;
}

html.studio-marketing *,
html.studio-marketing *::before,
html.studio-marketing *::after{ box-sizing:border-box; }

html.studio-marketing,
html.studio-marketing body{
  background:var(--st-page);
  color:var(--st-text);
  font-family:var(--st-sans);
  font-size:16px;
  font-weight:400;
  line-height:1.6;
  margin:0;
  -webkit-font-smoothing:antialiased;
}

html.studio-marketing{ scroll-behavior:smooth; }

html.studio-marketing a{ color:inherit; text-decoration:none; }

.st-wrap{
  width:min(100% - (var(--st-gutter) * 2), var(--st-max));
  margin-inline:auto;
}

.st-kicker{
  font-family:var(--st-accent);
  margin:0 0 16px;
  display:flex;
  align-items:center;
  gap:14px;
  font-size:15px;
  font-weight:500;
  letter-spacing:0.2em;
  text-transform:uppercase;
  color:#00a650; /* Luigi green */
}

.st-kicker .num{
  font-family:var(--st-accent);
  font-size:15px;
  font-style:normal;
  font-weight:400;
  letter-spacing:0;
  text-transform:none;
  color:var(--st-faint);
}

/* any emphasized word on the page gets the accent face */
em{ font-family:var(--st-accent); font-style:normal; }

.st-display{
  margin:0;
  font-family:var(--st-brand);
  font-weight:400;
  font-size:clamp(40px, 6vw, 78px);
  line-height:0.98;
  letter-spacing:-0.035em;
  color:var(--st-text);
}

.st-section-title{
  margin:0;
  font-family:var(--st-brand);
  font-weight:400;
  font-size:clamp(30px, 3.9vw, 50px);
  line-height:1.04;
  letter-spacing:-0.02em;
  color:var(--st-text);
}

.st-display em,
.st-section-title em{
  font-family:var(--st-accent);
  font-style:normal;
  font-weight:400;
  letter-spacing:0;
  color:var(--st-warm);
}

.st-lead{
  margin:0;
  max-width:560px;
  font-family:var(--st-serif);
  font-size:clamp(19px, 1.7vw, 22px);
  font-weight:300;
  line-height:1.5;
  color:var(--st-muted);
  text-align:left;
}
/* the Japanese tagline is written as two lines */
html[lang="ja"] .st-lead{ white-space:pre-line; }

.st-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:9px;
  min-height:44px;
  padding:0 18px;
  border-radius:var(--st-r-btn);
  font-family:var(--st-brand);
  letter-spacing:0.03em;
  font-size:14.5px;
  font-weight:500;
  text-decoration:none;
  cursor:pointer;
  border:0;
  transition:background var(--st-ms) var(--st-ease), border-color var(--st-ms) var(--st-ease), color var(--st-ms) var(--st-ease), transform var(--st-ms) var(--st-ease), filter var(--st-ms) var(--st-ease), box-shadow var(--st-ms) var(--st-ease);
}

.st-btn:focus-visible,
.st-link:focus-visible,
.st-menu-btn:focus-visible,
.st-field input:focus-visible,
.st-oauth:focus-visible{
  outline:2px solid var(--st-purple);
  outline-offset:3px;
}

/* Buttons, after the Super Mario Galaxy logo: a starry deep-blue fill, a
   silver-white rim, and a grey 3D edge. */
.st-btn-primary{
  --nebula:
    radial-gradient(1px 1px at 14% 30%, #fff 60%, transparent 61%),
    radial-gradient(1px 1px at 38% 72%, #cfe0ff 60%, transparent 61%),
    radial-gradient(1.4px 1.4px at 63% 28%, #fff 60%, transparent 61%),
    radial-gradient(1px 1px at 86% 64%, #ffe27a 60%, transparent 61%),
    radial-gradient(circle at 70% 25%, #3f6fe0 0%, rgba(63,111,224,0) 55%),
    linear-gradient(180deg, #1b3f9e 0%, #0b1b55 60%, #050a26 100%);
  color:#fff;
  border:2px solid #f3f1ff;
  text-shadow:0 1px 0 rgba(5,10,40,.6);
  box-shadow:
    0 3px 0 #c3cad8,
    0 5px 0 #8a93a8,
    0 10px 22px -6px rgba(63,111,224,.6);
}

.st-btn-primary{ background:var(--nebula); }

/* the quieter button is just its words */
.st-btn-secondary{
  background:none;
  border:0;
  box-shadow:none;
  color:var(--st-text);
}
.st-btn-secondary:hover{ color:var(--st-warm); }

.st-btn-primary:hover{
  filter:brightness(1.08) saturate(1.1);
  transform:translateY(-1px);
}
.st-btn-primary:active{
  transform:translateY(2px);
  box-shadow:0 1px 0 #c3cad8, 0 2px 0 #8a93a8, 0 4px 10px -4px rgba(63,111,224,.6);
}

.st-btn .arr{ transition:transform var(--st-ms) var(--st-ease); }
.st-btn:hover .arr{ transform:translateX(3px); }

.st-link{
  color:var(--st-muted);
  text-decoration:none;
  font-size:14px;
  border-bottom:1px solid transparent;
}

.st-link:hover{ color:var(--st-text); }

.st-cta-row{
  display:flex;
  flex-wrap:wrap;
  gap:12px;
  align-items:center;
}

.st-section{
  padding:var(--st-section) 0;
  border-top:1px solid var(--st-border);
}

.st-sec-head{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:48px;
  align-items:end;
  margin-bottom:40px;
}

@media (max-width:1000px){
  :root{ --st-gutter:20px; --st-section:64px; }
  .st-sec-head{ grid-template-columns:1fr; gap:28px; }
}

@media (prefers-reduced-motion:reduce){
  html.studio-marketing{ scroll-behavior:auto; }
  .st-btn,
  .st-link,
  .ed-caret,
  .scrap,
  .ed-frame{
    transition:none !important;
    animation:none !important;
  }
}
