:root{
  --gm-bg: var(--color-bg, #071120);
  --gm-foreground: var(--color-on-bg, #ffffff);
  --gm-accent: var(--color-accent, #ff7a00);
  --gm-muted: rgba(255,255,255,0.75);
  --gm-radius: 10px;
  --gm-container-width: 1100px;
  font-family: var(--font-sans, system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif);
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
.gm-fingerprint{
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='900' height='700' viewBox='0 0 900 700'><g fill='none' stroke='%23ffffff' stroke-opacity='0.055' stroke-width='1.25'><path d='M195 351c20-94 102-168 204-178 113-12 213 62 236 172 24 112-42 226-149 258-98 29-204-14-259-100'/><path d='M225 352c18-78 86-139 170-148 93-10 176 51 196 142 20 93-35 188-124 215-81 24-169-12-214-82'/><path d='M257 353c15-61 70-109 136-116 73-8 138 40 154 111 15 73-28 148-98 169-63 19-132-9-168-64'/><path d='M288 354c12-45 53-81 102-86 53-6 101 29 112 81 12 54-20 109-72 125-47 14-98-7-124-48'/><path d='M320 356c9-29 36-52 67-55 34-4 65 19 73 52 7 35-14 70-47 80-31 9-64-4-81-31'/><path d='M618 237c45 46 71 109 71 177 0 142-114 257-255 257-83 0-156-39-203-100'/><path d='M661 213c56 58 88 136 88 221 0 176-142 318-316 318-102 0-193-48-251-123'/></g></svg>");
  background-position:center top;
  background-repeat:no-repeat;
  background-size:cover;
}
.gm-root{
  margin:0;
  background-color:var(--gm-bg);
  color:var(--gm-foreground);
  -webkit-font-smoothing:antialiased;
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='800' height='600' viewBox='0 0 800 600'><g fill='none' stroke='%23ffffff' stroke-opacity='0.025' stroke-width='1'><path d='M200 300c30-80 120-140 200-120s150 90 160 160c10 70-40 140-110 160s-150-10-210-60'/><path d='M220 300c25-65 100-115 170-100s130 75 140 130c9 55-35 110-95 125s-135-8-190-50'/><path d='M240 300c20-50 80-85 140-75s100 60 110 105c7 40-28 88-78 100s-105-6-150-40'/></g></svg>");
  background-position:center -80px;
  background-repeat:no-repeat;
  background-size:cover;
}

.gm-container{max-width:var(--gm-container-width);margin:0 auto;padding:1rem}
.gm-header{position:sticky;top:0;z-index:60;background:linear-gradient(180deg, rgba(7,17,32,0.9), rgba(7,17,32,0.68));backdrop-filter:blur(6px)}
.gm-header__inner{display:flex;flex-wrap:wrap;gap:0.75rem;align-items:center;justify-content:space-between}
.gm-brand{color:var(--gm-foreground);font-size:1.1rem;font-weight:800;letter-spacing:2px;text-decoration:none}
.gm-nav{display:flex;flex-wrap:wrap;gap:0.75rem;align-items:center}
.gm-link{color:var(--gm-muted);text-decoration:none}
.gm-link:hover{color:var(--gm-foreground)}
.gm-cta--small{background:var(--gm-accent);border-radius:6px;color:#071120;font-weight:700;padding:0.35rem 0.6rem;text-decoration:none}

.gm-hero{padding:3rem 0 2rem}
.gm-hero__inner{display:flex;flex-direction:column;gap:1.5rem;align-items:flex-start}
.gm-hero__content{max-width:680px}
.gm-kicker{color:var(--gm-accent);font-size:0.8rem;font-weight:800;letter-spacing:0.08em;margin:0 0 0.25rem;text-transform:uppercase}
.gm-hero__title{color:var(--gm-foreground);font-size:clamp(2rem, 8vw, 4.8rem);line-height:0.95;margin:0}
.gm-hero__subtitle{color:var(--gm-accent);font-size:1.125rem;font-weight:700;margin:0.75rem 0 0}
.gm-lead{color:var(--gm-muted);font-size:1.05rem;line-height:1.65;margin:0.75rem 0 0}
.gm-hero__actions{display:flex;flex-direction:column;gap:0.75rem;margin-top:1.25rem}
.gm-btn{align-items:center;border:0;border-radius:8px;cursor:pointer;display:inline-flex;font:inherit;font-weight:800;justify-content:center;line-height:1.2;padding:0.9rem 1.1rem;text-align:center;text-decoration:none}
.gm-btn--primary{background:var(--gm-accent);color:#071120}
.gm-btn--secondary{background:transparent;border:1px solid rgba(255,255,255,0.18);color:var(--gm-foreground)}
.gm-btn--large{border-radius:12px;font-size:1.05rem;padding:1rem 1.6rem}
.gm-promo{background:linear-gradient(90deg, rgba(255,122,0,0.16), rgba(255,122,0,0.06));border-radius:8px;color:var(--gm-foreground);font-weight:600;line-height:1.45;margin:0;max-width:620px;padding:0.7rem}
.gm-portrait{width:min(100%, 360px);height:220px;background:linear-gradient(135deg,#123256 0%, rgba(255,122,0,0.14) 100%);border:1px solid rgba(255,255,255,0.08);border-radius:12px;box-shadow:0 16px 40px rgba(2,6,23,0.55)}

.gm-section{padding:2.25rem 0}
.gm-section--alt{background:linear-gradient(180deg, rgba(255,255,255,0.035), transparent)}
.gm-section__title{color:var(--gm-foreground);font-size:1.5rem;line-height:1.15;margin:0 0 0.65rem}
.gm-section__desc{color:var(--gm-muted);line-height:1.65;margin:0 0 1rem;max-width:820px}
.gm-lessons,.gm-benefits{display:grid;gap:0.65rem;list-style:none;margin:0 0 1rem;padding:0}
.gm-lessons li,.gm-benefits li{color:var(--gm-muted);line-height:1.55}
.gm-icon{color:var(--gm-accent);font-weight:800;margin-right:0.5rem}
.gm-audience{color:var(--gm-muted);display:grid;gap:0.65rem;line-height:1.55;margin:0;padding-left:1.25rem}

.gm-teacher__inner{display:grid;gap:1.25rem;align-items:start}
.gm-teacher__figure{margin:0}
.gm-teacher__img{background:rgba(255,255,255,0.04);border-radius:12px;height:auto;width:100%}
.gm-teacher__caption{color:var(--gm-muted);font-size:0.95rem;line-height:1.5;margin-top:0.75rem}
.gm-cards{display:grid;grid-template-columns:1fr;gap:0.75rem;margin-top:0.75rem}
.gm-card{background:rgba(255,255,255,0.045);border:1px solid rgba(255,255,255,0.06);border-radius:8px;padding:1rem}
.gm-card__quote{color:var(--gm-muted);line-height:1.55;margin:0}

.gm-section--cta{padding:2.75rem 0}
.gm-footer{border-top:1px solid rgba(255,255,255,0.08);color:var(--gm-muted)}

.gm-modal{align-items:center;background:rgba(2,6,23,0.78);display:flex;inset:0;justify-content:center;opacity:0;padding:1rem;position:fixed;transition:opacity .18s ease, visibility .18s;visibility:hidden;z-index:100}
.gm-modal[aria-hidden="false"]{opacity:1;visibility:visible}
.gm-modal__dialog{background:linear-gradient(180deg, rgba(10,26,48,0.98), rgba(7,17,32,0.98));border:1px solid rgba(255,255,255,0.12);border-radius:24px;box-shadow:0 20px 60px rgba(2,6,23,0.6);color:var(--gm-foreground);max-width:440px;padding:1.5rem;position:relative;width:100%}
.gm-modal__close{background:transparent;border:0;color:var(--gm-muted);cursor:pointer;font-size:1.5rem;line-height:1;position:absolute;right:1rem;top:1rem}
.gm-form{display:flex;flex-direction:column;gap:0.75rem}
.gm-form input,.gm-form select,.gm-form textarea{background:transparent;border:1px solid rgba(255,255,255,0.14);border-radius:8px;color:var(--gm-foreground);font:inherit;padding:0.9rem;width:100%}
.gm-form select{appearance:none;background-image:linear-gradient(45deg, transparent 50%, rgba(255,255,255,0.7) 50%),linear-gradient(135deg, rgba(255,255,255,0.7) 50%, transparent 50%);background-position:calc(100% - 18px) 50%,calc(100% - 12px) 50%;background-size:6px 6px,6px 6px;background-repeat:no-repeat;padding-right:2.4rem}
.gm-form select option{background:#071120;color:#fff}
.gm-form textarea{min-height:5.75rem;resize:vertical}
.gm-form input::placeholder,.gm-form textarea::placeholder{color:rgba(255,255,255,0.55)}
.gm-phone-row{display:grid;grid-template-columns:minmax(0,0.85fr) minmax(0,1.35fr);gap:0.75rem}
.gm-modal__note{color:rgba(255,255,255,0.62);font-size:0.85rem}
.gm-sr-only{border:0;clip:rect(0,0,0,0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;white-space:nowrap;width:1px}

@media(max-width:520px){.gm-phone-row{grid-template-columns:1fr}}

@media(min-width:768px){
  .gm-hero__inner{align-items:center;flex-direction:row;justify-content:space-between}
  .gm-hero__actions{align-items:flex-start}
  .gm-cards{grid-template-columns:repeat(2,1fr)}
  .gm-teacher__inner{grid-template-columns:minmax(280px, 0.85fr) 1.15fr}
}

@media(min-width:1100px){
  .gm-container{padding:2rem}
}
