:root { --orange:#ff7e02; --black:#0f0f10; --white:#ffffff; --soft:#f5f5f3; --soft-2:#ecece8; --text:#151515; --muted:#626262; --max:1180px; --radius:18px; --shadow:0 12px 30px rgba(0,0,0,.08); }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; font-family:Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; color:var(--text); background:var(--white); line-height:1.55; }
a { color:inherit; text-decoration:none; }
p { margin:0 0 1rem; }
h1, h2, h3 { margin:0 0 1rem; line-height:1.05; letter-spacing:-0.03em; }
h1 { font-size:clamp(2.4rem, 5vw, 5rem); }
h2 { font-size:clamp(1.8rem, 3vw, 3rem); }
h3 { font-size:clamp(1.15rem, 1.8vw, 1.4rem); }
.container { width:min(calc(100% - 2rem), var(--max)); margin:0 auto; }
.section { padding:5.5rem 0; }
.topbar { position:sticky; top:0; z-index:50; background:rgba(255,255,255,.92); backdrop-filter:blur(10px); }
.nav { display:flex; align-items:center; justify-content:space-between; min-height:76px; gap:1rem; }
.brand { display:flex; align-items:center; gap:.9rem; font-weight:800; letter-spacing:-0.04em; }
.brand-mark { font-size:1.6rem; color:var(--black); }
.brand-tag { font-size:.92rem; color:var(--muted); font-weight:500; }
.cta-row { display:flex; gap:.9rem; flex-wrap:wrap; align-items:center; }
.btn { display:inline-flex; align-items:center; justify-content:center; gap:.6rem; min-height:52px; padding:0 1.2rem; border-radius:999px; font-weight:700; transition:transform .18s ease, opacity .18s ease, background .18s ease; }
.btn:hover { transform:translateY(-1px); }
.btn-primary { background:var(--orange); color:var(--white); }
.btn-dark { background:var(--black); color:var(--white); }
.btn-light { background:var(--white); color:var(--black); }
.hero { background:radial-gradient(circle at top right, rgba(255,126,2,.14), transparent 26%), linear-gradient(180deg, #ffffff 0%, #faf9f7 100%); padding:2rem 0 4rem; }
.hero-top { display:grid; grid-template-columns:1.05fr .95fr; gap:2.2rem; align-items:start; }
.hero-copy { padding-top:1.2rem; }
.eyebrow { display:inline-block; margin-bottom:1.1rem; font-weight:700; color:var(--orange); text-transform:uppercase; letter-spacing:.08em; font-size:.82rem; }
.hero p.lead { font-size:clamp(1.08rem, 1.7vw, 1.35rem); color:#292929; max-width:760px; }
.hero-actions { margin-top:1.8rem; display:flex; flex-wrap:wrap; gap:.85rem; }
.hero-note { margin-top:1rem; color:var(--muted); font-size:.98rem; }
.hero-image { position:relative; min-height:520px; border-radius:24px; overflow:hidden; box-shadow:0 12px 30px rgba(0,0,0,.08); background:#ddd; }
.hero-image img { width:100%; height:100%; object-fit:cover; display:block; }
.hero-image::after { content:""; position:absolute; inset:0; background:linear-gradient(180deg, rgba(15,15,16,0.06) 0%, rgba(15,15,16,0.20) 100%); pointer-events:none; }
.hero-panel { margin-top:1.2rem; background:var(--black); color:var(--white); padding:2rem; border-radius:24px; box-shadow:var(--shadow); }
.hero-panel h3 { color:var(--white); }
.hero-panel p { color:rgba(255,255,255,.82); }
.mini-list { margin:1.2rem 0 0; padding:0; list-style:none; display:grid; gap:.8rem; }
.mini-list li { display:grid; grid-template-columns:18px 1fr; gap:.8rem; align-items:start; color:rgba(255,255,255,.94); }
.mini-list li::before { content:""; width:10px; height:10px; border-radius:50%; background:var(--orange); margin-top:.45rem; }
.stats { padding-top:1.6rem; display:grid; grid-template-columns:repeat(3, minmax(0, 1fr)); gap:1rem; align-items:stretch; }
.stat { background:rgba(255,255,255,.08); padding:1.4rem 1.2rem; border-radius:18px; text-align:center; min-height:100%; display:flex; flex-direction:column; justify-content:flex-start; }
.stat strong { display:block; font-size:clamp(2.6rem, 6vw, 4.8rem); line-height:.95; color:var(--white); margin-bottom:.6rem; letter-spacing:-0.05em; }
.stat span { display:block; color:rgba(255,255,255,.82); font-size:1rem; line-height:1.35; max-width:22ch; margin:0 auto; }
.strip { background:var(--orange); color:var(--white); padding:1rem 0; font-weight:700; }
.strip .container { display:flex; justify-content:space-between; gap:1.2rem; flex-wrap:wrap; }
.muted { color:var(--muted); }
.grid-2 { display:grid; grid-template-columns:1fr 1fr; gap:2rem; }
.grid-3 { display:grid; grid-template-columns:repeat(3, 1fr); gap:1.2rem; }
.slab-white { background:var(--white); }
.slab-soft { background:var(--soft); }
.slab-dark { background:var(--black); color:var(--white); }
.slab-dark p, .slab-dark li, .slab-dark .muted { color:rgba(255,255,255,.82); }
.slab-dark h2, .slab-dark h3 { color:var(--white); }
.plain-block { padding:1.6rem; background:var(--white); border-radius:22px; }
.slab-white .plain-block { background:var(--soft); }
.slab-soft .plain-block { background:var(--white); }
.slab-dark .plain-block { background:rgba(255,255,255,.06); color:var(--white); }
ul.clean { list-style:none; padding:0; margin:1rem 0 0; display:grid; gap:.8rem; }
ul.clean li { position:relative; padding-left:1.25rem; }
ul.clean li::before { content:""; position:absolute; left:0; top:.62rem; width:8px; height:8px; border-radius:50%; background:var(--orange); }
.big-quote { font-size:clamp(1.5rem, 2vw, 2rem); font-weight:700; line-height:1.2; letter-spacing:-0.03em; }
.program { display:grid; gap:1rem; margin-top:2rem; }
.program-item { display:grid; grid-template-columns:100px 1fr; gap:1.2rem; align-items:start; padding:1.4rem 0; border-bottom:1px solid rgba(15,15,16,.08); }
.program-time { width:50px; height:50px; display:flex; align-items:center; justify-content:center; border-radius:50%; background:var(--orange); color:var(--white); font-weight:800; font-size:2rem; line-height:1; letter-spacing:-.03em; }
.slab-dark .program-item { border-color:rgba(255,255,255,.1); }
.callout { background:linear-gradient(180deg, #141414 0%, #0f0f10 100%); color:var(--white); border-radius:28px; padding:2rem; }
.callout p { color:rgba(255,255,255,.82); }
.phone { display:inline-flex; align-items:center; justify-content:center; min-height:64px; padding:0 1.35rem; border-radius:18px; background:var(--orange); color:var(--white); font-weight:800; font-size:clamp(1rem, 2vw, 1.25rem); letter-spacing:-.02em; margin-top:1.15rem; }
.faq { display:grid; gap:.95rem; margin-top:1.7rem; }
.faq-item { background:var(--soft); padding:1.35rem 1.4rem; border-radius:18px; }
.faq-item h3 { margin-bottom:.5rem; font-size:1.05rem; }
.footer { padding:2rem 0 3rem; background:var(--white); color:var(--muted); font-size:.95rem; }
.footer-line { display:flex; justify-content:space-between; gap:1rem; flex-wrap:wrap; padding-top:1rem; }
.highlight { color:var(--orange); }
.mobile-cta { display:none; position:fixed; left:1rem; right:1rem; bottom:1rem; z-index:60; }
.about-grid { display:grid; grid-template-columns:1.1fr .9fr; gap:2.2rem; align-items:start; }
.about-content { display:grid; gap:1.25rem; }
.about-text { display:grid; gap:.2rem; }
.about-benefits { margin-top:0; }
.about-portrait { display:flex; align-items:flex-start; }
.portrait-frame { width:100%; max-width:4o0px; min-height:460px; border-radius:24px; overflow:hidden; box-shadow:0 12px 30px rgba(0,0,0,.08); background:#ddd; margin-left:auto; }
.portrait-frame img { width:100%; height:100%; object-fit:cover; display:block; }

@media (max-width:980px) {
  .hero-top { grid-template-columns:1fr; }
  .grid-2 { grid-template-columns:1fr; }
  .grid-3 { grid-template-columns:1fr; }
  .program-item { grid-template-columns:1fr; }
  .hero-copy { padding-top:0; }
  .hero-image { min-height:300px; }
  .about-grid { grid-template-columns:1fr; }
  .portrait-frame { max-width:100%; min-height:360px; margin-left:0; }
  .stats { grid-template-columns:1fr; }
}

@media (max-width:760px) {
  .section { padding:4.4rem 0; }
  .topbar .btn-dark { display:none; }
  .brand-tag { display:none; }
  .mobile-cta { display:block; }
  body { padding-bottom:5.8rem; }
}
