/* Mastera — marketing site. Brand tokens mirror app/lib/theme/app_theme.dart
   so web and app never drift. Nunito is self-hosted, not fetched from Google:
   an unbundled webfont leaks the visitor's IP to a third party before any
   consent, which is exactly the issue we fixed in the app. */
@font-face{font-family:Nunito;src:url(assets/Nunito-Regular.ttf) format('truetype');font-weight:400;font-display:swap}
@font-face{font-family:Nunito;src:url(assets/Nunito-Bold.ttf) format('truetype');font-weight:700;font-display:swap}
@font-face{font-family:Nunito;src:url(assets/Nunito-ExtraBold.ttf) format('truetype');font-weight:800;font-display:swap}

:root{
  --brand:#E8623D; --brand-dark:#C6502E; --brand-soft:#FBE7DE;
  --bg:#F6F1E8; --surface:#fff; --ink:#221E1A; --muted:#857D72; --hairline:#EBE3D6;
  --maxw:1080px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;background:var(--bg);color:var(--ink);
  font:400 17px/1.6 Nunito,system-ui,-apple-system,"Segoe UI",sans-serif;
  -webkit-font-smoothing:antialiased;
}
a{color:inherit}
.wrap{max-width:var(--maxw);margin:0 auto;padding:0 24px}

/* nav */
nav{display:flex;align-items:center;gap:16px;padding:20px 0}
nav .logo{display:flex;align-items:center;gap:10px;font-weight:800;font-size:20px;text-decoration:none}
nav .logo img{width:34px;height:34px;border-radius:9px}
nav .spacer{flex:1}
nav a.link{text-decoration:none;color:var(--muted);font-weight:700;font-size:15px}
nav a.link:hover{color:var(--ink)}

.btn{
  display:inline-block;background:var(--brand);color:#fff;text-decoration:none;
  font-weight:800;padding:14px 26px;border-radius:999px;border:0;cursor:pointer;
  font-size:16px;transition:background .15s ease;
}
.btn:hover{background:var(--brand-dark)}
.btn.sm{padding:10px 20px;font-size:15px}

/* hero */
header.hero{padding:48px 0 8px;text-align:center}
h1{font-weight:800;font-size:clamp(34px,6vw,60px);line-height:1.08;margin:0 0 18px;letter-spacing:-.5px}
.lede{font-size:clamp(17px,2.4vw,21px);color:var(--muted);max-width:620px;margin:0 auto 30px}
.badges{display:flex;gap:12px;justify-content:center;flex-wrap:wrap;margin-top:22px}
.badge{
  display:flex;align-items:center;gap:9px;background:var(--ink);color:#fff;
  text-decoration:none;padding:10px 18px;border-radius:12px;font-size:13px;line-height:1.15;
}
.badge b{display:block;font-size:16px;font-weight:800}
.note{font-size:14px;color:var(--muted);margin-top:16px}

.shots{display:flex;gap:18px;justify-content:center;flex-wrap:wrap;margin:48px 0 8px}
.shots img{width:230px;border-radius:20px;box-shadow:0 18px 50px rgba(34,30,26,.13)}

/* sections */
section{padding:64px 0}
h2{font-weight:800;font-size:clamp(26px,4vw,38px);margin:0 0 10px;letter-spacing:-.3px}
.sub{color:var(--muted);margin:0 0 36px;font-size:18px}
.grid{display:grid;gap:22px;grid-template-columns:repeat(auto-fit,minmax(248px,1fr))}
.card{background:var(--surface);border:1px solid var(--hairline);border-radius:18px;padding:24px}
.card .n{
  width:30px;height:30px;border-radius:9px;background:var(--brand-soft);color:var(--brand);
  font-weight:800;display:grid;place-items:center;margin-bottom:12px;font-size:15px;
}
.card h3{margin:0 0 6px;font-size:19px;font-weight:800}
.card p{margin:0;color:var(--muted);font-size:16px}

.cta{text-align:center;background:var(--surface);border:1px solid var(--hairline);border-radius:26px;padding:52px 24px}

footer{border-top:1px solid var(--hairline);margin-top:40px;padding:34px 0 60px;font-size:14px;color:var(--muted)}
footer .links{display:flex;gap:18px;flex-wrap:wrap;margin:14px 0 18px}
footer a{color:var(--muted)}
.disclaimer{max-width:760px;line-height:1.55}
