

:root {
  --blue: #2f7d0f;
  --blue-dark: #276a11;
  --yellow: #f1c0fc;
  --bg: #f8fbf5;
  --paper: #ffffff;
  --ink: #0f1a0a;
  --muted: #48593d;
  --hair: rgba(15, 26, 10, .16);
  --sans: "Nunito Sans", system-ui, sans-serif;
  --mono: "JetBrains Mono", ui-monospace, monospace;
}

* { box-sizing: border-box; }
html, body { overflow-x: clip; }
html { scroll-behavior: smooth; }
body {
  margin:0;
  background: var(--bg);
  color: var(--ink);
  font-family: var(--sans);
  font-size: 17px;
  line-height: 1.6;
  -webkit-font-smoothing: antialiased;
}
img { max-width: 100%; height: auto; display: block; }
a { color: var(--blue); }
h1, h2, h3 { font-family: var(--sans); font-weight: 700; letter-spacing: -.02em; line-height: 1.08; margin:0 0 14.7px; }
h1 { font-size: clamp(38px, 5.6vw, 72px); }
h2 { font-size: clamp(28px, 3.6vw, 46px); }
h3 { font-size: 22px; letter-spacing: -.01em; }
p { margin:0 0 14.7px; }
.wrap { max-width: 1220px; margin:0 auto; padding:0 22.1px; }

.skip {
  position: absolute; left: -9999px; top: 0; z-index: 200;
  background: var(--ink); color: #ffffff; padding:9.2px 14.7px; font-family: var(--mono); font-size: 13px;
}
.skip:focus { left: 8px; top: 8px; }


.topbar {
  background: var(--blue); color: #ffffff;
  font-family: var(--mono); font-size: 12px; letter-spacing: .14em; text-transform: uppercase;
  text-align: center; padding:7.4px 14.7px;
}
.topbar b { color: var(--yellow); font-weight: 600; }
header {
  position: sticky; top: 0; z-index: 100;
  background: var(--paper);
  border-bottom: 1px solid var(--ink);
}
.nav { display: flex; align-items: center; justify-content: space-between; min-height: 72px; gap:22.1px; }
.brand {
  display: inline-flex; align-items: center; gap:10.1px;
  font-family: var(--sans); font-weight: 700; font-size: 22px; letter-spacing: -.02em;
  color: var(--ink); text-decoration: none;
}
.brand svg { width: 34px; height: 34px; flex: none; }
.brand b { color: var(--blue); font-weight: 700; }
.navlinks { display: flex; align-items: center; gap:23.9px; }
.navlinks a {
  color: var(--ink); text-decoration: none; font-size: 15px; font-weight: 500;
  padding:3.7px 0; border-bottom: 2px solid transparent;
}
.navlinks a:hover { border-bottom-color: var(--yellow); }
.navlinks a[aria-current="page"]:not(.btn) { color: var(--blue); border-bottom-color: var(--blue); }
.menu {
  display: none; background: var(--paper); border: 1px solid var(--ink); color: var(--ink);
  font-family: var(--mono); font-size: 13px; letter-spacing: .08em; text-transform: uppercase;
  padding:9.2px 12.9px; cursor: pointer;
}


.btn {
  display: inline-flex; align-items: center; gap:7.4px;
  background: var(--blue); color: #ffffff; border: 1px solid var(--blue);
  font-family: var(--mono); font-size: 14px; font-weight: 600; letter-spacing: .06em; text-transform: uppercase;
  padding:12.9px 20.2px; text-decoration: none; cursor: pointer; border-radius:0;
  transition: background .15s ease, color .15s ease, border-color .15s ease;
}
.btn:hover { background: var(--ink); border-color: var(--ink); color: #ffffff; }
.btn.yellow { background: var(--yellow); border-color: var(--yellow); color: var(--ink); }
.btn.yellow:hover { background: var(--ink); border-color: var(--ink); color: var(--yellow); }
.btn.ghost { background: transparent; color: var(--ink); border-color: var(--ink); }
.btn.ghost:hover { background: var(--ink); color: #ffffff; }
.btn.on-dark:hover { background: var(--yellow); border-color: var(--yellow); color: var(--ink); }


.eyebrow {
  display: inline-flex; align-items: center; gap:9.2px;
  font-family: var(--mono); font-size: 12.5px; font-weight: 600; letter-spacing: .18em; text-transform: uppercase;
  color: var(--blue); margin-bottom:16.6px;
}
.eyebrow::before { content: ""; width: 34px; height: 2px; background: var(--blue); }
.mark { background: linear-gradient(transparent 58%, var(--yellow) 58%); padding:0 2px; }
.blue-word { color: var(--blue); }

section.block { padding:77.3px 0; }
section.block.tight { padding:51.5px 0; }
.sec-head {
  display: flex; justify-content: space-between; align-items: flex-end; gap:29.4px;
  border-top: 2px solid var(--ink); padding-top:18.4px; margin-bottom:44.2px;
}
.sec-head .num { font-family: var(--mono); font-size: 13px; font-weight: 600; letter-spacing: .16em; color: var(--blue); text-transform: uppercase; margin-bottom:11px; display: block; }
.sec-head h2 { margin:0; }
.sec-head p { max-width: 380px; color: var(--muted); margin:0; font-size: 15.5px; }

.grid12 { display: grid; grid-template-columns: repeat(12, 1fr); gap:22.1px; }
.hairline-top { border-top: 1px solid var(--hair); }


.hero { padding:66.2px 0 58.9px; border-bottom: 1px solid var(--hair); }
.hero-grid { display: grid; grid-template-columns: repeat(12, 1fr); gap:22.1px; align-items: start; }
.hero-copy { grid-column: 1 / span 7; }
.hero-copy .lead { font-size: 19px; color: var(--muted); max-width: 560px; margin:20.2px 0 27.6px; }
.hero-actions { display: flex; gap:12.9px; flex-wrap: wrap; margin-bottom:40.5px; }
.hero-figure { grid-column: 8 / span 5; }
.hero-figure .frame { border: 1px solid var(--ink); box-shadow: 14px 14px 0 var(--yellow); background: var(--paper); }
.hero-figure img { width: 100%; }
.hero-figure figcaption {
  font-family: var(--mono); font-size: 12px; letter-spacing: .08em; color: var(--muted);
  padding:9.2px 12.9px; border-top: 1px solid var(--hair); display: flex; justify-content: space-between; gap:9.2px;
}
.hero-stats { display: grid; grid-template-columns: repeat(3, 1fr); border-top: 1px solid var(--ink); margin-top:7.4px; }
.hero-stats div { padding:16.6px 16.6px 3.7px 0; border-right: 1px solid var(--hair); }
.hero-stats div:last-child { border-right: 0; }
.hero-stats b { display: block; font-family: var(--mono); font-size: 30px; font-weight: 600; color: var(--blue); letter-spacing: -.02em; }
.hero-stats span { font-size: 13px; color: var(--muted); }


.partners { padding:36.8px 0; border-bottom: 1px solid var(--hair); background: var(--paper); }
.partners .label { font-family: var(--mono); font-size: 11.5px; letter-spacing: .2em; text-transform: uppercase; color: var(--muted); margin-bottom:20.2px; }
.logo-row { display: grid; grid-template-columns: repeat(5, 1fr); border: 1px solid var(--hair); }
.logo-cell {
  display: flex; align-items: center; justify-content: center; min-height: 92px;
  border-right: 1px solid var(--hair); padding:14.7px;
  filter: grayscale(1); opacity: .75; transition: filter .2s, opacity .2s;
}
.logo-cell:last-child { border-right: 0; }
.logo-cell:hover { filter: none; opacity: 1; }
.logo-cell svg { max-height: 34px; width: auto; }


.steps { display: grid; grid-template-columns: repeat(3, 1fr); border: 1px solid var(--ink); background: var(--paper); }
.step { padding:27.6px 25.8px 31.3px; border-right: 1px solid var(--hair); position: relative; }
.step:last-child { border-right: 0; }
.step .n { font-family: var(--mono); font-size: 13px; font-weight: 600; letter-spacing: .14em; color: var(--blue); display: block; margin-bottom:40.5px; }
.step h3 { margin-bottom:9.2px; }
.step p { color: var(--muted); font-size: 15px; margin:0; }
.step::after { content: ""; position: absolute; left: 28px; top: 86px; width: 40px; height: 4px; background: var(--yellow); }


.courses-layout { display: grid; grid-template-columns: repeat(12, 1fr); gap:22.1px; align-items: start; }
.courses-list { grid-column: 1 / span 8; display: grid; gap:22.1px; }
.course-card {
  background: var(--paper); border: 1px solid var(--ink); padding:29.4px;
  display: grid; grid-template-columns: 1fr auto; gap:7.4px 22.1px; min-height: 300px;
}
.course-card .meta { font-family: var(--mono); font-size: 12px; letter-spacing: .14em; text-transform: uppercase; color: var(--blue); grid-column: 1 / -1; }
.course-card h3 { font-size: 30px; margin:0; }
.course-card p { color: var(--muted); font-size: 15.5px; margin:0; max-width: 480px; }
.course-card .price { font-family: var(--mono); font-size: 26px; font-weight: 600; color: var(--ink); align-self: start; text-align: right; }
.course-card .price small { display: block; font-size: 11px; font-weight: 400; letter-spacing: .08em; color: var(--muted); text-transform: uppercase; }
.course-card .foot { grid-column: 1 / -1; border-top: 1px solid var(--hair); padding-top:14.7px; display: flex; justify-content: space-between; align-items: center; gap:14.7px; flex-wrap: wrap; }
.course-card .foot .tags { display: flex; gap:7.4px; flex-wrap: wrap; }
.tag {
  font-family: var(--mono); font-size: 11px; letter-spacing: .1em; text-transform: uppercase;
  border: 1px solid var(--hair); padding:4.6px 9.2px; color: var(--muted);
}
.tag.solid { background: var(--ink); color: #ffffff; border-color: var(--ink); }
.sticky-col { grid-column: 9 / span 4; }
.sticky-panel {
  position: sticky; top: 96px;
  background: var(--paper); border: 1px solid var(--ink); border-top: 6px solid var(--yellow);
  padding:23.9px 23.9px 27.6px;
}
.sticky-panel .num { font-family: var(--mono); font-size: 12px; letter-spacing: .16em; text-transform: uppercase; color: var(--blue); display: block; margin-bottom:12.9px; }
.sticky-panel h3 { margin-bottom:5.5px; }
.sticky-panel .sub { color: var(--muted); font-size: 14px; margin-bottom:16.6px; }
.sticky-panel dl { margin:0 0 18.4px; border-top: 1px solid var(--hair); }
.sticky-panel dl div { display: flex; justify-content: space-between; gap:11px; padding:9.2px 0; border-bottom: 1px solid var(--hair); font-size: 14px; }
.sticky-panel dt { font-family: var(--mono); font-size: 11.5px; letter-spacing: .1em; text-transform: uppercase; color: var(--muted); padding-top:2px; }
.sticky-panel dd { margin:0; font-weight: 600; text-align: right; }
.sticky-panel .note { font-size: 12.5px; color: var(--muted); margin:12.9px 0 0; }
.sticky-panel .btn { width: 100%; justify-content: center; }

.textlink {
  font-family: var(--mono); font-size: 13.5px; font-weight: 600; letter-spacing: .1em; text-transform: uppercase;
  color: var(--blue); text-decoration: none; border-bottom: 2px solid var(--yellow); padding-bottom:2.8px;
}
.textlink:hover { color: var(--ink); border-bottom-color: var(--ink); }


.table-scroll { overflow-x: auto; border: 1px solid var(--ink); background: var(--paper); }
table.schedule { width: 100%; border-collapse: collapse; min-width: 720px; }
table.schedule th {
  font-family: var(--mono); font-size: 11.5px; font-weight: 600; letter-spacing: .16em; text-transform: uppercase;
  text-align: left; color: #ffffff; background: var(--ink); padding:12.9px 16.6px;
}
table.schedule td { padding:14.7px 16.6px; border-bottom: 1px solid var(--hair); font-size: 15px; vertical-align: top; }
table.schedule tr:last-child td { border-bottom: 0; }
table.schedule td.day { font-family: var(--mono); font-weight: 600; font-size: 13.5px; white-space: nowrap; }
table.schedule td.course-name { font-weight: 600; }
table.schedule td.course-name small { display: block; font-weight: 400; color: var(--muted); font-size: 13px; }
.chip {
  display: inline-block; font-family: var(--mono); font-size: 11px; font-weight: 600; letter-spacing: .1em; text-transform: uppercase;
  padding:4.6px 9.2px;
}
.chip.blue { background: var(--blue); color: #ffffff; }
.chip.yellow { background: var(--yellow); color: var(--ink); }


.gallery { display: grid; grid-template-columns: repeat(3, 1fr); gap:22.1px; }
.gallery figure { margin:0; background: var(--paper); border: 1px solid var(--ink); }
.gallery figcaption {
  font-family: var(--mono); font-size: 12px; letter-spacing: .1em; text-transform: uppercase; color: var(--muted);
  padding:11px 12.9px; border-top: 1px solid var(--hair); display: flex; justify-content: space-between; gap:9.2px;
}
.gallery figcaption b { color: var(--blue); font-weight: 600; }


.quote-band { background: var(--blue); color: #ffffff; padding:66.2px 0; }
.quote-band blockquote { margin:0; max-width: 900px; }
.quote-band p.q { font-size: clamp(24px, 3vw, 38px); font-weight: 600; letter-spacing: -.01em; line-height: 1.25; margin:0 0 22.1px; }
.quote-band p.q .mark { background: linear-gradient(transparent 58%, rgba(241, 192, 252, .9) 58%); color: var(--ink); }
.quote-band cite { font-family: var(--mono); font-size: 13px; font-style: normal; letter-spacing: .12em; text-transform: uppercase; color: #bff997; }
.quote-band .eyebrow { color: var(--yellow); }
.quote-band .eyebrow::before { background: var(--yellow); }


.faq { border: 1px solid var(--ink); background: var(--paper); }
.faq details { border-bottom: 1px solid var(--hair); }
.faq details:last-child { border-bottom: 0; }
.faq summary {
  cursor: pointer; list-style: none; display: flex; justify-content: space-between; align-items: center; gap:18.4px;
  padding:20.2px 23.9px; font-weight: 600; font-size: 17px;
}
.faq summary::-webkit-details-marker { display: none; }
.faq summary .plus {
  font-family: var(--mono); font-size: 20px; color: var(--blue); flex: none;
  width: 34px; height: 34px; border: 1px solid var(--ink); display: inline-flex; align-items: center; justify-content: center;
  transition: background .15s, color .15s;
}
.faq details[open] summary .plus { background: var(--yellow); color: var(--ink); }
.faq details p { padding:0 23.9px 22.1px; margin:0; color: var(--muted); max-width: 720px; }


.form-grid { display: grid; grid-template-columns: repeat(12, 1fr); gap:22.1px; align-items: start; }
.form-intro { grid-column: 1 / span 5; }
.form-intro h2 { margin-bottom:12.9px; }
.form-intro p { color: var(--muted); max-width: 420px; }
.form-intro ul { list-style: none; padding:0; margin:23.9px 0 0; border-top: 1px solid var(--ink); }
.form-intro li { display: flex; gap:12.9px; padding:12.9px 0; border-bottom: 1px solid var(--hair); font-size: 15px; }
.form-intro li b { font-family: var(--mono); color: var(--blue); font-weight: 600; font-size: 13px; letter-spacing: .1em; min-width: 54px; padding-top:2px; }
form[data-contact] {
  grid-column: 6 / span 7; background: var(--paper); border: 1px solid var(--ink); border-top: 6px solid var(--blue);
  padding:31.3px; display: grid; grid-template-columns: 1fr 1fr; gap:16.6px;
}
form[data-contact] label { display: grid; gap:6.4px; font-family: var(--mono); font-size: 12px; font-weight: 600; letter-spacing: .12em; text-transform: uppercase; color: var(--ink); }
form[data-contact] label.full, form[data-contact] .full { grid-column: 1 / -1; }
form[data-contact] input, form[data-contact] select, form[data-contact] textarea {
  font-family: var(--sans); font-size: 16px; color: var(--ink);
  border: 1px solid var(--hair); background: var(--bg); padding:12px 12.9px; border-radius:0; width: 100%;
}
form[data-contact] input:focus, form[data-contact] select:focus, form[data-contact] textarea:focus {
  outline: 2px solid var(--yellow); border-color: var(--blue); background: #ffffff;
}
form[data-contact] textarea { min-height: 130px; resize: vertical; }
form[data-contact] .trap { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
label.check { display: flex !important; flex-direction: row; gap:11px; align-items: flex-start; text-transform: none !important; letter-spacing: 0 !important; font-family: var(--sans) !important; font-size: 13.5px !important; font-weight: 400 !important; color: var(--muted) !important; }
label.check input { width: 18px; height: 18px; flex: none; margin-top:2px; accent-color: var(--blue); }
label.check a { color: var(--blue); }
.form-status { font-family: var(--mono); font-size: 13.5px; margin:0; min-height: 20px; color: var(--muted); }
.form-status.err { color: #4a46de; }
form[data-contact] .btn { justify-content: center; }
form[data-contact] .fine { font-size: 12px; color: var(--muted); margin:0; }

.form-success {
  grid-column: 1 / -1; border: 1px solid var(--ink); background: var(--yellow); padding:40.5px 33.1px; text-align: center;
}
.form-success .ok-ico {
  width: 74px; height: 74px; margin:0 auto 18.4px; background: var(--blue); border-radius:50%;
  display: flex; align-items: center; justify-content: center;
}
.form-success .ok-ico svg { width: 36px; height: 36px; }
.form-success .ok-ico path { stroke: #ffffff; stroke-width: 3; fill: none; stroke-linecap: round; stroke-linejoin: round; }
.form-success h3 { font-size: 30px; margin-bottom:9.2px; }
.form-success p { margin:0 auto; max-width: 460px; font-size: 16px; }


.subhero { padding:58.9px 0 36.8px; border-bottom: 1px solid var(--hair); }
.subhero p { max-width: 620px; color: var(--muted); font-size: 18px; margin-top:14.7px; }
.subhero .crumb { font-family: var(--mono); font-size: 12px; letter-spacing: .16em; text-transform: uppercase; color: var(--blue); display: block; margin-bottom:14.7px; }

.duo { display: grid; grid-template-columns: 1fr 1fr; gap:22.1px; }
.duo img, .framed-img { border: 1px solid var(--ink); width: 100%; }
.split { display: grid; grid-template-columns: repeat(12, 1fr); gap:22.1px; align-items: center; }
.split .txt { grid-column: 1 / span 6; }
.split .pic { grid-column: 7 / span 6; }
.split.rev .txt { grid-column: 7 / span 6; order: 2; }
.split.rev .pic { grid-column: 1 / span 6; order: 1; }
.split .txt p { color: var(--muted); }
.split .txt p.lead { color: var(--ink); font-size: 19px; }

.fact-list { list-style: none; padding:0; margin:25.8px 0 0; border-top: 1px solid var(--ink); }
.fact-list li { display: grid; grid-template-columns: 90px 1fr; gap:16.6px; padding:16.6px 0; border-bottom: 1px solid var(--hair); }
.fact-list b { font-family: var(--mono); color: var(--blue); font-size: 22px; font-weight: 600; }
.fact-list span { color: var(--muted); font-size: 15px; }

.card-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap:22.1px; }
.card { background: var(--paper); border: 1px solid var(--ink); padding:25.8px; border-top: 6px solid var(--yellow); }
.card h3 { font-size: 20px; }
.card p { color: var(--muted); font-size: 15px; margin:0; }
.card .n { font-family: var(--mono); color: var(--blue); font-size: 13px; letter-spacing: .14em; display: block; margin-bottom:16.6px; }


.voice-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap:22.1px; }
.voice { background: var(--paper); border: 1px solid var(--ink); display: flex; flex-direction: column; }
.voice .body { padding:23.9px 23.9px 18.4px; flex: 1; }
.voice .stars { color: var(--blue); font-size: 15px; letter-spacing: 3px; display: block; margin-bottom:12.9px; }
.voice blockquote { margin:0; font-size: 16px; line-height: 1.55; }
.voice footer { display: flex; align-items: center; gap:12.9px; padding:16.6px 23.9px; border-top: 1px solid var(--hair); }
.voice footer img { width: 52px; height: 52px; border-radius:50%; border: 1px solid var(--ink); object-fit: cover; }
.voice footer b { display: block; font-size: 15px; }
.voice footer span { font-family: var(--mono); font-size: 11.5px; letter-spacing: .08em; text-transform: uppercase; color: var(--muted); }

.big-quote { max-width: 880px; margin:0 auto; text-align: center; }
.big-quote p { font-size: clamp(24px, 3.2vw, 40px); font-weight: 600; letter-spacing: -.01em; line-height: 1.22; }
.big-quote cite { font-family: var(--mono); font-style: normal; font-size: 13px; letter-spacing: .12em; text-transform: uppercase; color: var(--muted); }


.cta-band {
  background: var(--ink); color: #ffffff; padding:51.5px 44.2px;
  display: flex; justify-content: space-between; align-items: center; gap:29.4px; flex-wrap: wrap;
  border-top: 6px solid var(--yellow);
}
.cta-band h2 { color: #ffffff; margin-bottom:7.4px; }
.cta-band p { color: #cad8bf; margin:0; max-width: 520px; }


article.legal { max-width: 780px; padding:58.9px 22.1px 82.8px; }
article.legal h1 { margin-bottom:11px; }
article.legal h2 { font-size: 21px; margin:35px 0 11px; padding-top:20.2px; border-top: 1px solid var(--hair); }
article.legal p, article.legal li { color: var(--muted); }
article.legal ul { padding-left:20.2px; }
article.legal .updated { font-family: var(--mono); font-size: 12.5px; letter-spacing: .1em; text-transform: uppercase; color: var(--blue); }


footer.site {
  background: var(--ink); color: #e0ead9; border-top: 6px solid var(--yellow); margin-top:0;
}
footer.site .cols { display: grid; grid-template-columns: 2fr 1fr 1.2fr; gap:36.8px; padding:58.9px 0 44.2px; }
footer.site .brand { color: #ffffff; }
footer.site p { color: #90a980; font-size: 14.5px; max-width: 340px; }
footer.site h4 { font-family: var(--mono); font-size: 12px; font-weight: 600; letter-spacing: .18em; text-transform: uppercase; color: var(--yellow); margin:0 0 16.6px; }
footer.site .flinks { display: grid; gap:9.2px; }
footer.site .flinks a { color: #e0ead9; text-decoration: none; font-size: 15px; }
footer.site .flinks a:hover { color: var(--yellow); }
footer.site .flinks span { color: #90a980; font-size: 14.5px; line-height: 1.55; }
footer.site .bottom {
  border-top: 1px solid rgba(224, 234, 217, .18); padding:18.4px 0 23.9px;
  display: flex; justify-content: space-between; gap:14.7px; flex-wrap: wrap;
  font-family: var(--mono); font-size: 12px; letter-spacing: .06em; color: #90a980;
}
footer.site .bottom a { color: #e0ead9; text-decoration: none; }
footer.site .bottom a:hover { color: var(--yellow); }


.cookie-note {
  position: fixed; right: 20px; bottom: 20px; z-index: 150; max-width: 360px;
  background: var(--ink); color: #e0ead9; border: 1px solid var(--ink); border-top: 6px solid var(--yellow);
  padding:20.2px; box-shadow: 0 18px 50px rgba(15, 26, 10, .35);
}
.cookie-note p { color: #e0ead9; font-size: 13.5px; margin:0 0 12.9px; }
.cookie-note a { color: var(--yellow); }
.cookie-note .btn { padding:9.2px 14.7px; font-size: 12px; }


@media (max-width: 980px) {
  .hero-copy { grid-column: 1 / -1; }
  .hero-figure { grid-column: 1 / -1; max-width: 640px; }
  .courses-list { grid-column: 1 / -1; }
  .sticky-col { grid-column: 1 / -1; }
  .sticky-panel { position: static; }
  .form-intro { grid-column: 1 / -1; }
  form[data-contact] { grid-column: 1 / -1; }
  .steps, .gallery, .voice-grid, .card-grid { grid-template-columns: 1fr; }
  .step { border-right: 0; border-bottom: 1px solid var(--hair); }
  .step:last-child { border-bottom: 0; }
  .logo-row { grid-template-columns: repeat(2, 1fr); }
  .logo-cell { border-bottom: 1px solid var(--hair); }
  .logo-cell:nth-child(2n) { border-right: 0; }
  .logo-cell:last-child { border-bottom: 0; }
  .split .txt, .split .pic, .split.rev .txt, .split.rev .pic { grid-column: 1 / -1; order: initial; }
  .duo { grid-template-columns: 1fr; }
  footer.site .cols { grid-template-columns: 1fr; gap:25.8px; }
  .sec-head { flex-direction: column; align-items: flex-start; gap:12.9px; }
}

@media (max-width: 760px) {
  .menu { display: inline-flex; }
  .navlinks {
    display: none; position: absolute; left: 0; right: 0; top: 100%;
    background: var(--paper); border-bottom: 1px solid var(--ink);
    flex-direction: column; align-items: stretch; gap:0; padding:7.4px 22.1px 18.4px;
  }
  .navlinks.open { display: flex; }
  .navlinks a { padding:12.9px 0; border-bottom: 1px solid var(--hair); font-size: 17px; }
  .navlinks a.btn { margin-top:12.9px; justify-content: center; border-bottom: 1px solid var(--blue); }
  .nav { min-height: 64px; }
  section.block { padding:55.2px 0; }
  form[data-contact] { grid-template-columns: 1fr; padding:22.1px; }
  .course-card { grid-template-columns: 1fr; min-height: 0; }
  .course-card .price { text-align: left; }
  .cta-band { padding:36.8px 23.9px; }
  .cookie-note { left: 16px; right: 16px; max-width: none; }
  .hero-stats b { font-size: 24px; }
}
