﻿:root { --bg:#050606; --panel:#0c0f0f; --ink:#f4f5f2; --muted:#a9b0ad; --line:rgba(255,255,255,.12); --gold:#d0aa5f; --max:1180px; --shadow:0 30px 80px rgba(0,0,0,.45); }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; color:var(--ink); background:radial-gradient(circle at 76% 0%, rgba(208,170,95,.12), transparent 30%), linear-gradient(180deg,#080909 0%,var(--bg) 42%,#020303 100%); font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; line-height:1.55; }
a { color:inherit; text-decoration:none; }
img { max-width:100%; display:block; }
button,input,textarea { font:inherit; }
.section-shell { width:min(var(--max),calc(100% - 40px)); margin-inline:auto; }
.site-header { position:sticky; top:0; z-index:50; display:grid; grid-template-columns:auto 1fr auto; align-items:center; gap:22px; width:min(1280px,calc(100% - 32px)); min-height:78px; margin-inline:auto; padding:10px 0; background:color-mix(in srgb,var(--bg) 84%,transparent); backdrop-filter:blur(18px); }
.brand { display:inline-flex; align-items:center; gap:12px; min-width:0; font-weight:900; text-transform:uppercase; font-size:.82rem; letter-spacing:.03em; }
.brand img { width:54px; height:54px; object-fit:contain; }
.brand span { white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.language-toggle { justify-self:end; display:inline-grid; grid-template-columns:1fr 1fr; width:78px; min-height:38px; padding:3px; border:1px solid var(--line); border-radius:999px; color:var(--muted); background:var(--panel); cursor:pointer; }
.language-toggle span { display:grid; place-items:center; border-radius:999px; font-size:.74rem; font-weight:900; }
.language-toggle span.active { color:#090a09; background:var(--gold); }
.nav { justify-self:end; display:flex; align-items:center; gap:clamp(12px,1.6vw,24px); color:var(--muted); font-size:.9rem; font-weight:750; }
.nav a { position:relative; transition:color .18s ease; white-space:nowrap; }
.nav a:hover,.nav a.active { color:var(--gold); }
.nav a::after { content:""; position:absolute; left:0; right:0; bottom:-9px; height:2px; background:var(--gold); transform:scaleX(.4); opacity:0; transition:.18s ease; }
.nav a.active::after { opacity:1; transform:scaleX(1); }
.menu-toggle { display:none; justify-self:end; width:44px; height:44px; border:1px solid var(--line); border-radius:6px; background:var(--panel); padding:0; }
.menu-toggle span { display:block; width:20px; height:2px; margin:5px auto; background:var(--ink); transition:.18s ease; }
.site-header.menu-open .menu-toggle span:nth-child(1) { transform:translateY(7px) rotate(45deg); }
.site-header.menu-open .menu-toggle span:nth-child(2) { opacity:0; }
.site-header.menu-open .menu-toggle span:nth-child(3) { transform:translateY(-7px) rotate(-45deg); }
.hero { min-height:calc(100vh - 78px); display:grid; grid-template-columns:minmax(0,1fr) minmax(230px,.48fr); align-items:center; gap:clamp(22px,5vw,72px); padding:clamp(36px,7vw,86px) 0 clamp(54px,8vw,110px); }
.hero-copy { min-width:0; }
.eyebrow { margin:0 0 14px; color:var(--gold); font-size:.76rem; font-weight:900; text-transform:uppercase; letter-spacing:.08em; }
.mission-heading { margin:0; max-width:560px; font-size:clamp(1.55rem,3.8vw,3.15rem); line-height:1.02; letter-spacing:0; overflow-wrap:normal; word-break:keep-all; }
.mission-heading span { display:block; white-space:nowrap; }
.gold,.site-footer strong { color:var(--gold); }
.hero-text { max-width:680px; margin:26px 0 0; color:var(--muted); font-size:clamp(1rem,1.35vw,1.18rem); }
.hero-actions,.inline-actions { display:flex; flex-wrap:wrap; gap:12px; margin-top:30px; }
.button,.contact-form button { display:inline-flex; align-items:center; justify-content:center; min-height:48px; padding:0 20px; border-radius:6px; border:1px solid transparent; font-weight:900; cursor:pointer; text-align:center; }
.button.primary,.contact-form button { color:#090a09; background:var(--gold); }
.button.secondary { border-color:var(--line); background:rgba(255,255,255,.045); color:var(--ink); }
.inert-button { pointer-events:none; opacity:.72; cursor:default; }
.large-button { min-height:58px; padding-inline:28px; }
.hero-logo { justify-self:center; width:min(100%,360px); }
.hero-logo img { filter:drop-shadow(0 24px 36px rgba(0,0,0,.5)); }
.signal-band { width:min(var(--max),calc(100% - 40px)); margin:0 auto; display:grid; grid-template-columns:repeat(3,1fr); border-block:1px solid var(--line); }
.signal-band article { padding:24px; border-right:1px solid var(--line); }
.signal-band article:last-child { border-right:0; }
.signal-band span { display:block; color:var(--muted); text-transform:uppercase; font-size:.75rem; font-weight:900; margin-bottom:8px; }
.signal-band strong { font-size:1rem; line-height:1.35; }
.section { padding:clamp(72px,9vw,116px) 0; }
.section-heading { display:grid; grid-template-columns:.32fr 1fr; gap:clamp(20px,4vw,48px); margin-bottom:38px; }
 .section-title { margin:0; font-size:clamp(1.15rem,2vw,1.72rem); line-height:1.18; letter-spacing:0; }
h3 { margin:0; font-size:clamp(1.18rem,1.8vw,1.6rem); line-height:1.15; }
h4,h5 { margin:0 0 10px; }
p { overflow-wrap:anywhere; }
.body-copy p { color:var(--muted); margin:0 0 18px; }
.body-copy .lead,.lead { color:var(--ink); font-size:1.12rem; font-weight:650; }
.text-grid { display:grid; grid-template-columns:minmax(0,1fr) 320px; gap:30px; align-items:start; }
 .side-panel,.bio-facts,.contact-form,.qr-card,.partner-card,.class-grid article { border:1px solid var(--line); background:linear-gradient(180deg,rgba(255,255,255,.045),rgba(255,255,255,.018)); border-radius:8px; box-shadow:var(--shadow); }
.side-panel { padding:24px; display:grid; gap:14px; }
.side-panel p { color:var(--muted); margin:0; }
.approach-list { display:grid; gap:18px; margin-top:30px; }
.approach-list article { display:grid; grid-template-columns:54px 1fr; gap:20px; padding:26px 0; border-top:1px solid var(--line); }
.approach-list article>span,.class-grid article>span { color:var(--gold); font-weight:900; }
.approach-list p,.approach-list li { color:var(--muted); }
.approach-list ul { margin:8px 0 0; padding-left:20px; }
.class-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:16px; }
.class-grid article { padding:24px; box-shadow:none; }
.class-grid p { color:var(--muted); margin-bottom:0; }
.intro-copy { max-width:900px; }
.credential-strip { display:grid; grid-template-columns:repeat(3,1fr); gap:12px; margin:28px 0; }
.credential-strip span { border:1px solid var(--line); padding:16px; border-radius:6px; color:var(--gold); font-weight:850; background:rgba(208,170,95,.06); }
.feature-quote { margin:34px 0; padding:clamp(24px,4vw,42px); border-left:4px solid var(--gold); background:rgba(255,255,255,.035); font-size:clamp(1.3rem,2.5vw,2.1rem); line-height:1.2; }
.feature-quote cite { display:block; margin-top:16px; color:var(--muted); font-size:.95rem; font-style:normal; }
.instructor-stack { display:grid; gap:34px; }
.instructor-card { display:grid; grid-template-columns:minmax(210px,280px) minmax(0,1fr) 300px; gap:24px; align-items:start; padding:28px 0; border-top:1px solid var(--line); }
.instructor-card>img { width:100%; aspect-ratio:4/5; object-fit:cover; border-radius:8px; border:1px solid var(--line); }
.instructor-main p { color:var(--muted); }
.instructor-main blockquote { margin:20px 0; padding:18px; border-left:3px solid var(--gold); color:var(--ink); background:rgba(208,170,95,.06); }
.bio-facts { padding:22px; box-shadow:none; position:sticky; top:96px; }
.bio-facts h4 { color:var(--gold); }
.bio-facts ul { padding-left:18px; margin:0; color:var(--muted); }
.bio-facts li { margin-bottom:10px; }
details { margin-top:18px; border-top:1px solid var(--line); padding-top:14px; }
summary { cursor:pointer; color:var(--ink); font-weight:900; }
.layout-note { color:var(--muted); margin-bottom:0; }
.booking-section { display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:center; gap:28px; border-block:1px solid var(--line); }
.booking-section p:not(.eyebrow) { color:var(--muted); max-width:760px; }
.partner-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; }
.partner-card { padding:24px; display:grid; gap:18px; justify-items:center; box-shadow:none; }
.partner-logo { width:min(100%,320px); aspect-ratio:1/.72; display:grid; place-items:center; background:#fff; border-radius:8px; padding:24px; }
.partner-logo img { max-width:100%; max-height:180px; object-fit:contain; }
.contact-section { display:grid; grid-template-columns:minmax(0,.95fr) minmax(280px,.65fr) 210px; gap:24px; align-items:start; }
.contact-details { display:grid; gap:12px; margin-top:24px; }
.contact-details article { padding:16px 0; border-top:1px solid var(--line); }
.contact-details span { display:block; color:var(--gold); font-size:.75rem; font-weight:900; text-transform:uppercase; margin-bottom:4px; }
.contact-details strong { overflow-wrap:anywhere; }
.social-row { display:flex; gap:10px; margin-top:22px; }
.social-row button { width:46px; height:46px; border-radius:6px; border:1px solid var(--line); color:var(--muted); background:rgba(255,255,255,.035); cursor:not-allowed; font-size:1.1rem; }
.contact-form { padding:24px; display:grid; gap:14px; box-shadow:none; }
.contact-form label { display:grid; gap:8px; color:var(--ink); font-weight:750; }
.contact-form input,.contact-form textarea { width:100%; border:1px solid var(--line); border-radius:6px; background:#090c0c; color:var(--ink); padding:12px 13px; resize:vertical; }
.form-note { margin:0; color:var(--muted); font-size:.86rem; }
.qr-card { padding:18px; text-align:center; box-shadow:none; }
.qr-card img { background:#fff; border-radius:8px; padding:10px; }
.qr-card span { display:block; color:var(--muted); margin-top:10px; font-size:.85rem; }
.site-footer { display:grid; grid-template-columns:minmax(180px,auto) 1fr auto; gap:20px; align-items:center; padding:26px 0 38px; border-top:1px solid var(--line); color:var(--muted); font-size:.88rem; }
.site-footer span:first-child { color:var(--ink); font-weight:900; }
.site-footer span:last-child { justify-self:end; white-space:nowrap; }
@media (max-width:1080px) {
  .site-header { grid-template-columns:1fr auto auto; }
  .menu-toggle { display:block; }
  .nav { position:fixed; left:16px; right:16px; top:78px; display:grid; gap:4px; padding:14px; border:1px solid var(--line); border-radius:8px; background:rgba(5,6,6,.96); box-shadow:var(--shadow); transform:translateY(-12px); opacity:0; pointer-events:none; }
  .site-header.menu-open .nav { transform:translateY(0); opacity:1; pointer-events:auto; }
  .nav a { padding:12px; }
  .nav a::after { display:none; }
  .hero { grid-template-columns:1fr; text-align:center; padding-top:24px; }
  .hero-logo { order:-1; width:min(280px,72vw); }
  .hero-actions { justify-content:center; }
  .mission-heading { margin-inline:auto; font-size:clamp(1.4rem,5.6vw,2.65rem); }
  .hero-text { margin-inline:auto; }
  .section-heading,.text-grid,.booking-section { grid-template-columns:1fr; }
  .instructor-card { grid-template-columns:minmax(180px,260px) minmax(0,1fr); }
  .bio-facts { grid-column:2; position:static; }
  .contact-section { grid-template-columns:1fr 1fr; }
  .qr-card { grid-column:1 / -1; max-width:260px; justify-self:center; }
}
@media (max-width:760px) {
  .section-shell,.signal-band { width:min(100% - 28px,var(--max)); }
  .brand span { display:none; }
  .brand img { width:62px; height:62px; }
  .site-header { min-height:72px; }
  .nav { top:72px; }
  .mission-heading { font-size:clamp(1.15rem,5.7vw,1.95rem); line-height:1.08; }
  .hero-actions,.inline-actions,.button { width:100%; }
  .signal-band,.class-grid,.credential-strip,.partner-grid,.contact-section,.site-footer { grid-template-columns:1fr; }
  .signal-band article { border-right:0; border-bottom:1px solid var(--line); }
  .signal-band article:last-child { border-bottom:0; }
  .approach-list article { grid-template-columns:1fr; gap:8px; }
  .instructor-card { grid-template-columns:1fr; }
  .bio-facts { grid-column:auto; }
  .instructor-card>img { max-width:360px; justify-self:center; }
  .site-footer span:last-child { justify-self:start; white-space:normal; }
  .partner-logo { width:100%; }
}
@media (max-width:390px) { .mission-heading { font-size:clamp(.92rem,5.35vw,1.28rem); } }





.classes-full-catalog { margin-top: clamp(44px,6vw,72px); padding-top: clamp(34px,5vw,58px); border-top: 1px solid var(--line); }
.classes-full-catalog > .section-heading { margin-bottom: 28px; }
.classes-offer-inline.class-guide { padding-top: 0; }
.classes-offer-inline.offer-section { padding-top: clamp(46px,6vw,76px); }
.classes-page-hero { padding: clamp(54px,8vw,104px) 0 44px; border-bottom: 1px solid var(--line); }
.classes-page-hero .mission-heading { max-width: 760px; }
.classes-page-hero .compact { margin-top: 12px; }
.class-guide { padding-top: 64px; }
.quick-start-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 12px; }
.quick-start-grid article, .class-card, .learn-list { border: 1px solid var(--line); background: linear-gradient(180deg,rgba(255,255,255,.045),rgba(255,255,255,.018)); border-radius: 8px; padding: 18px; }
.quick-start-grid span { display: block; color: var(--gold); font-size: .76rem; font-weight: 900; text-transform: uppercase; margin-bottom: 6px; }
.quick-start-grid strong { display: block; font-size: 1.05rem; }
.quick-start-grid p, .class-card p, .offer-category p, .learn-list li { color: var(--muted); }
.offer-section { padding-top: 78px; }
.offer-category { max-width: 900px; margin-bottom: 22px; }
.category-marker { display: inline-flex; align-items: center; margin: 0 0 12px; padding: 7px 10px; border: 1px solid rgba(83, 190, 111, .35); border-radius: 6px; color: #91e6a8; background: rgba(83, 190, 111, .08); font-weight: 900; text-transform: uppercase; font-size: .78rem; letter-spacing: .06em; }
.offer-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 16px; }
.class-card { box-shadow: none; display: grid; align-content: start; gap: 10px; }
.class-card h4 { display: inline-flex; width: fit-content; margin: 0; padding: 6px 9px; border-radius: 6px; color: #10110c; background: #f3da73; font-size: clamp(1rem,1.6vw,1.25rem); line-height: 1.15; }
.class-card p { margin: 0; }
.class-card .button { width: fit-content; margin-top: 6px; }
.meta { color: var(--muted); font-size: .9rem; }
.wide-card { max-width: 900px; }
.badge { display: inline-block; margin-left: 8px; color: #10110c; font-size: .72em; }
.learn-list { margin: 20px 0; }
.learn-list h4 { color: var(--gold); }
.learn-list ul { margin: 0; padding-left: 20px; }
.formats { grid-template-columns: repeat(3,minmax(0,1fr)); }
.full-width { max-width: 900px; }
.classes-final-cta { margin-top: 24px; }
@media (max-width:760px) { .quick-start-grid, .offer-grid, .formats { grid-template-columns: 1fr; } .class-card .button { width: 100%; } }

.faq-section { border-top: 1px solid var(--line); }
.faq-list { display: grid; gap: 12px; }
.faq-list details { margin: 0; padding: 0; border: 1px solid var(--line); border-radius: 8px; background: linear-gradient(180deg,rgba(255,255,255,.045),rgba(255,255,255,.018)); overflow: hidden; }
.faq-list summary { list-style: none; cursor: pointer; padding: 18px 20px; color: var(--ink); font-weight: 900; }
.faq-list summary::-webkit-details-marker { display: none; }
.faq-list summary::after { content: "+"; float: right; color: var(--gold); font-size: 1.2rem; line-height: 1; }
.faq-list details[open] summary::after { content: "-"; }
.faq-list details p { margin: 0; padding: 0 20px 20px; color: var(--muted); }
.faq-cta { display: grid; gap: 14px; margin-top: 24px; padding: 22px; border: 1px solid var(--line); border-radius: 8px; background: rgba(208,170,95,.06); }
.faq-cta p { margin: 0; color: var(--ink); font-weight: 700; }




