:root { --bg: #FFF9EE; --surface: #FFFFFF; --alt: #FFF0D1; --ink: #1D1F4A; --muted: #4F5278; --accent: #2A2F7A; --accent-ink: #fff; --line: #F1DDB3; --sun: #F9B91A; --coral: #C23F27; --leaf: #177A42;
  --radius: 28px; --font-head: "Bricolage Grotesque", system-ui, sans-serif; --font-body: "DM Sans", system-ui, sans-serif;
  --f-accent: #2A2F7A; --f-line: #E7CF9E; --f-radius: 18px;
  --ankara: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='80' height='80' viewBox='0 0 80 80'%3E%3Crect width='80' height='80' fill='%232A2F7A'/%3E%3Ccircle cx='40' cy='40' r='22' fill='%23F9B91A'/%3E%3Ccircle cx='40' cy='40' r='13' fill='%23F0644B'/%3E%3Ccircle cx='40' cy='40' r='5' fill='%23FFF9EE'/%3E%3Cpath d='M0 0l20 20M80 0L60 20M0 80l20-20M80 80L60 60' stroke='%231F9D55' stroke-width='7'/%3E%3Ccircle cx='0' cy='40' r='7' fill='%23FFF9EE'/%3E%3Ccircle cx='80' cy='40' r='7' fill='%23FFF9EE'/%3E%3Ccircle cx='40' cy='0' r='7' fill='%23FFF9EE'/%3E%3Ccircle cx='40' cy='80' r='7' fill='%23FFF9EE'/%3E%3C/svg%3E"); }
h1, h2 { font-weight: 800; letter-spacing: -.02em; }
.eyebrow { color: var(--coral); }
.topbar { background: var(--sun); color: var(--ink); font-weight: 700; }
.site-head { background: var(--bg); box-shadow: 0 2px 0 var(--line); }
.nav-menu a[aria-current] { background: var(--accent); color: #fff; }
.btn { background: var(--coral); border-color: var(--coral); }
.btn-ghost { background: transparent; color: var(--accent); border-color: var(--accent); }
.ls-hero { background: var(--accent); color: #fff; padding: clamp(40px, 7vw, 100px) 0; overflow: hidden; position: relative; }
.ls-hero::before { content: ""; position: absolute; right: -10%; top: -30%; width: 70vw; max-width: 900px; aspect-ratio: 1; border-radius: 50%; background: radial-gradient(circle, #F9B91A 0 40%, #F9B91A33 41% 55%, transparent 56%); opacity: .95; }
.ls-hero-inner { position: relative; display: grid; grid-template-columns: 1.2fr 1fr; gap: 40px; align-items: center; }
@media (max-width: 900px) { .ls-hero-inner { grid-template-columns: 1fr; } .ls-hero::before { top: auto; bottom: -20%; } }
.ls-hero h1 { font-size: clamp(2.5rem, 6vw, 4.6rem); }
.ls-hero .lead { color: #E7E8FF; }
.ls-hero .eyebrow { color: var(--sun); }
.ls-hero .btn-ghost { color: #fff; border-color: #fff; }
.ls-sun img { border-radius: 50%; aspect-ratio: 1; object-fit: cover; border: 10px solid #fff; box-shadow: 0 0 0 10px var(--coral), 0 30px 60px rgba(0, 0, 0, .3); max-width: 440px; margin-inline: auto; }
.ls-band { height: 56px; background: var(--ankara) repeat-x center / 56px 56px; }
.ls-band.alt { filter: hue-rotate(160deg) saturate(1.2); }
.card { border: 0; box-shadow: 0 0 0 2px var(--line); }
.cards > :nth-child(4n+1) .card-icon { background: var(--sun); color: var(--ink); }
.cards > :nth-child(4n+2) .card-icon { background: var(--coral); color: #fff; }
.cards > :nth-child(4n+3) .card-icon { background: var(--leaf); color: #fff; }
.cards > :nth-child(4n) .card-icon { background: var(--accent); color: #fff; }
.card-icon { border-radius: 50%; }
.ls-classes { background: var(--alt); }
.class-card { border-radius: 28px 28px 28px 4px; }
.quote { border: 0; background: var(--accent); color: #fff; border-radius: 28px 28px 28px 4px; }
.quote:nth-child(2) { background: var(--coral); } .quote:nth-child(3) { background: var(--leaf); }
.quote-mark { color: var(--sun); }
.quote figcaption span { color: #fff; opacity: .8; }
.page-hero { background: var(--accent); color: #fff; position: relative; }
.page-hero::after { content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: 18px; background: var(--ankara) repeat-x center / 18px 18px; }
.page-hero .lead { color: #E7E8FF; } .page-hero .eyebrow { color: var(--sun); }
.cta { background: var(--coral); }
.cta .btn { color: var(--coral); }
.site-foot { background: var(--ink); border-top: 12px solid var(--sun); }
.step-n { background: var(--coral); }
.vision-l { background: var(--sun); color: var(--ink); }
.person img, .person .avatar { border-radius: 50%; aspect-ratio: 1; border: 6px solid var(--sun); }
.person { text-align: center; }
.ntf-btn { background: var(--coral); border-color: var(--coral); }
