:root {
  --m17-bg: #282e26;
  --m17-bg-soft: #30372d;
  --m17-surface: #394136;
  --m17-surface-2: #465040;
  --m17-paper: #dce3d3;
  --m17-paper-2: #cbd4c1;
  --m17-light: #ecebe3;
  --m17-light-2: #dfe3d7;
  --m17-ink: #f7f5ee;
  --m17-ink-dark: #171a15;
  --m17-muted: #bec4b8;
  --m17-muted-dark: #596054;
  --m17-text: var(--m17-ink);
  --m17-text-soft: var(--m17-muted);
  --m17-line: rgba(247,245,238,.18);
  --m17-line-strong: rgba(247,245,238,.3);
  --m17-line-dark: rgba(23,26,21,.17);
  --m17-accent: #d8ff3e;
  --m17-accent-soft: #e7ff87;
  --m17-accent-deep: #617b00;
  --m17-danger: #ff766d;
  --m17-warning: #ffd45f;
  --m17-sidebar: 252px;
  --m17-radius: 12px;
  --m17-radius-lg: 22px;
  --m17-display: "Barlow Condensed", "Arial Narrow", sans-serif;
  --m17-body: "Manrope", Arial, sans-serif;
  --m17-shadow: 0 22px 70px rgba(5,7,4,.22);

  /* Compatibility aliases for the remaining Identity manage pages. */
  --color-night: #171b16;
  --color-deep-purple: #252c22;
  --color-dark-plum: #30382c;
  --color-neon-pink: var(--m17-accent);
  --color-hot-pink: var(--m17-accent-soft);
  --color-text-dark: var(--m17-ink-dark);
  --color-text-muted: var(--m17-muted-dark);
  --radius-card: 18px;
  --radius-pill: 999px;
  --shadow-soft: 0 14px 38px rgba(5,7,4,.14);
  --shadow-strong: var(--m17-shadow);
}


* { box-sizing: border-box; }
html { scroll-behavior: smooth; background: var(--m17-bg); }
body { margin: 0; background: var(--m17-bg); color: var(--m17-ink); font-family: var(--m17-body); font-size: 16px; line-height: 1.65; }
a { color: inherit; text-decoration: none; }
img, video { display: block; max-width: 100%; }
button, input, textarea, select { font: inherit; }
button, a { -webkit-tap-highlight-color: transparent; }
:focus-visible { outline: 3px solid var(--m17-accent); outline-offset: 4px; }
h1,h2,h3,p { margin-top: 0; }
h1,h2,h3 { text-wrap: balance; }
h1,h2 { font-family: var(--m17-display); font-weight: 800; letter-spacing: -.025em; line-height: .98; }
h1 { font-size: clamp(3rem, 7vw, 7.5rem); }
h2 { font-size: clamp(2.2rem, 4.5vw, 4.8rem); }
h3 { font-size: clamp(1.35rem, 2vw, 1.9rem); line-height: 1.08; }
p { color: var(--m17-muted); }

.m17-shell { min-height: 100vh; }
.m17-page-column { min-width: 0; margin-left: var(--m17-sidebar); }
.m17-main { min-height: 70vh; overflow: clip; }
#main-content:focus { outline: none; }

/* Sidebar */
.m17-sidebar { position: fixed; inset: 0 auto 0 0; z-index: 100; width: var(--m17-sidebar); overflow: visible; border-right: 1px solid rgba(255,255,255,.11); background: #121510; }
.m17-sidebar__inner { min-height: 100%; display: flex; flex-direction: column; padding: 22px 18px; }
.m17-sidebar__top { display: flex; align-items: center; justify-content: space-between; }
.m17-brand { display: inline-flex; align-items: center; gap: 11px; min-width: 0; }
.m17-brand__mark { position: relative; display: grid; place-items: center; width: 58px; height: 58px; flex: 0 0 58px; overflow: hidden; border: 1px solid rgba(23,26,21,.16); border-radius: 10px; background: #f1efe6; box-shadow: 0 8px 24px rgba(0,0,0,.18); }
.m17-brand__mark::after { content:""; position:absolute; right:0; bottom:0; left:0; height:3px; background:var(--m17-accent); pointer-events:none; }
.m17-brand__mark img { width: 52px; height: 52px; object-fit: contain; filter: contrast(1.06); }
.m17-brand__wordmark { display: grid; grid-template-columns: auto auto; align-items: baseline; column-gap: 4px; font-family: var(--m17-display); font-size: 18px; line-height: 1; letter-spacing: .035em; }
.m17-brand__wordmark b { color: var(--m17-accent); font-size: 27px; }
.m17-brand__wordmark small { grid-column: 1 / -1; margin-top: 4px; color: #858c80; font-family: var(--m17-body); font-size: 8px; font-weight: 800; letter-spacing: .32em; }
.m17-menu-toggle { display: none; border: 1px solid var(--m17-line); background: transparent; color: var(--m17-ink); border-radius: 999px; padding: 9px 13px; }
.m17-nav { display: flex; flex: 1; flex-direction: column; justify-content: center; gap: 5px; padding: 26px 0; }
.m17-nav > a, .m17-nav-group > a { position: relative; display: flex; align-items: center; justify-content: space-between; min-height: 40px; padding: 8px 11px; border-left: 2px solid transparent; border-radius: 0 8px 8px 0; color: #d4d7ce; font-weight: 700; font-size: 13px; letter-spacing: .01em; transition: color .16s ease, border-color .16s ease, background .16s ease; }
.m17-nav > a:hover, .m17-nav-group > a:hover, .m17-nav > a.active, .m17-nav-group > a.active { color: #fff; border-left-color: var(--m17-accent); background: rgba(216,255,62,.075); }
.m17-nav-group { position: relative; }
.m17-nav-group__hint { color: #868c80; font-size: 18px; line-height: 1; }
.m17-nav-cta { margin: 8px 0; border-left: 0 !important; background: var(--m17-accent) !important; color: #111 !important; justify-content: center !important; text-transform: uppercase; letter-spacing: .07em !important; }
.m17-nav-submenu { position: absolute; left: calc(100% + 14px); top: -18px; z-index: 120; display: grid; gap: 4px; width: 310px; padding: 15px; border: 1px solid rgba(255,255,255,.16); border-radius: 14px; background: #20251d; box-shadow: 0 20px 60px rgba(0,0,0,.32); opacity: 0; visibility: hidden; pointer-events: none; transform: translateX(-6px); transition: opacity .16s ease, transform .16s ease, visibility .16s ease; }
.m17-nav-group:hover .m17-nav-submenu, .m17-nav-group:focus-within .m17-nav-submenu { opacity: 1; visibility: visible; pointer-events: auto; transform: translateX(0); }
.m17-nav-submenu small { padding: 3px 8px 8px; color: var(--m17-accent); font-size: 9px; font-weight: 800; letter-spacing: .18em; text-transform: uppercase; }
.m17-nav-submenu a { padding: 9px 10px; border-radius: 8px; color: #ced2c8; font-size: 12px; line-height: 1.35; }
.m17-nav-submenu a:hover { color: #111; background: var(--m17-accent); }
.m17-nav-submenu__all { margin-top: 5px; border-top: 1px solid var(--m17-line); padding-top: 12px !important; color: var(--m17-accent) !important; }
.m17-nav-submenu__all:hover { color: #111 !important; }
.m17-admin-nav { display: grid; gap: 2px; margin-top: 10px; padding: 12px; border: 1px solid var(--m17-line); border-radius: 10px; background: #1a1e18; }
.m17-admin-nav > span { margin-bottom: 5px; color: var(--m17-accent); font-size: 10px; font-weight: 800; letter-spacing: .18em; text-transform: uppercase; }
.m17-admin-nav a { color: var(--m17-muted); font-size: 12px; padding: 4px 0; }
.m17-admin-nav a.active, .m17-admin-nav a:hover { color: var(--m17-ink); }
.m17-sidebar__bottom { display: grid; gap: 12px; border-top: 1px solid var(--m17-line); padding-top: 16px; color: #92998d; font-size: 12px; }
.m17-sidebar__bottom form { display: inline; }
.m17-sidebar__bottom button { border: 0; padding: 0; background: none; color: #92998d; cursor: pointer; }
.m17-social-mini, .m17-social-row--icons { display: flex; gap: 10px; align-items: center; }
.m17-social-icon { display: inline-grid; place-items: center; width: 36px; height: 36px; flex: 0 0 36px; border: 1px solid var(--m17-line); border-radius: 50%; color: var(--m17-ink); transition: background .16s ease, color .16s ease, border-color .16s ease, transform .16s ease; }
.m17-social-icon:hover { background: var(--m17-accent); color: #111; border-color: var(--m17-accent); transform: translateY(-2px); }
.m17-social-icon svg { width: 17px; height: 17px; fill: currentColor; stroke: currentColor; stroke-width: 1.7; }
.m17-social-icon svg rect, .m17-social-icon svg circle { fill: none; }
.m17-social-icon__cutout { fill: #111; stroke: none; }
.m17-social-icon--large { width: 48px; height: 48px; flex-basis: 48px; background: var(--m17-accent); color: #111; border-color: var(--m17-accent); }
.m17-social-icon--large svg { width: 22px; height: 22px; }
.m17-lang { display: flex; justify-content: space-between; }
.m17-lang small { color: #62685f; }
.m17-mobile-schedule-cta { display: none; }

/* Shared */
.m17-kicker { margin-bottom: 12px; color: var(--m17-accent); font-size: 10px; font-weight: 800; letter-spacing: .2em; text-transform: uppercase; }
.m17-lead { max-width: 760px; color: #dedfd7; font-size: clamp(1.08rem, 1.8vw, 1.38rem); line-height: 1.55; }
.m17-button { display: inline-flex; align-items: center; justify-content: center; min-height: 50px; border: 1px solid var(--m17-accent); border-radius: 10px; padding: 11px 21px; background: var(--m17-accent); color: #111; font-weight: 800; letter-spacing: .01em; cursor: pointer; transition: transform .18s ease, background .18s ease, box-shadow .18s ease; }
.m17-button:hover { transform: translateY(-2px); background: #e5ff78; box-shadow: 0 10px 28px rgba(216,255,62,.14); }
.m17-button--small { min-height: 38px; padding: 8px 14px; font-size: 13px; }
.m17-button--wide { width: 100%; }
.m17-button--ghost { background: transparent; color: var(--m17-accent); }
.m17-button--disabled { border-color: var(--m17-line); background: #3b3f37; color: #969a8e; cursor: not-allowed; }
.m17-link-arrow { color: inherit; font-weight: 750; border-bottom: 1px solid currentColor; padding-bottom: 3px; }
.m17-text-button { border: 0; background: transparent; color: var(--m17-accent); font-weight: 700; cursor: pointer; padding: 5px; }
.m17-text-button--danger { color: var(--m17-danger); }
.m17-icon-button { width: 42px; height: 42px; border: 1px solid var(--m17-line); border-radius: 50%; background: transparent; color: var(--m17-ink); cursor: pointer; }
.m17-section { padding: clamp(68px, 8vw, 120px) clamp(24px, 6vw, 88px); }
.m17-section--surface { background: var(--m17-bg-soft); }
.m17-section--light { background: var(--m17-light); color: var(--m17-ink-dark); }
.m17-section--light p { color: var(--m17-muted-dark); }
.m17-section--light .m17-kicker { color: var(--m17-accent-deep); }
.m17-section-heading { display: flex; justify-content: space-between; align-items: end; gap: 30px; margin-bottom: 38px; }
.m17-section-heading h2 { max-width: 850px; margin-bottom: 0; }
.m17-section-heading > a { flex: 0 0 auto; color: var(--m17-accent); font-weight: 700; }
.m17-empty { border: 1px dashed var(--m17-line); border-radius: 12px; padding: 30px; color: var(--m17-muted); }

/* Home */
.m17-home-hero { position:relative; min-height:86svh; display:flex; align-items:flex-end; overflow:hidden; padding:clamp(100px,10vw,145px) clamp(24px,6vw,88px) clamp(70px,8vw,110px); }
.m17-home-hero__media, .m17-home-hero__overlay { position:absolute; inset:0; }
.m17-home-hero__media video { width:100%; height:100%; object-fit:cover; filter:saturate(.92) contrast(1.03) brightness(1.04); }
.m17-home-hero__overlay { background:linear-gradient(90deg,rgba(13,16,12,.86) 0%,rgba(13,16,12,.48) 58%,rgba(13,16,12,.14) 100%),linear-gradient(0deg,rgba(13,16,12,.72),transparent 58%); }
.m17-home-hero__content { position:relative; z-index:2; max-width:960px; }
.m17-home-hero h1 { margin-bottom:20px; font-size:clamp(4rem,9vw,8.8rem); }
.m17-home-hero h1:focus { outline:none; }
.m17-home-hero h1 span { color:transparent; -webkit-text-stroke:1px rgba(247,245,238,.84); }
.m17-home-hero__content > p:not(.m17-kicker) { max-width:720px; color:#f1f2ec; font-size:clamp(1.02rem,1.7vw,1.27rem); line-height:1.6; }
.m17-hero-actions { display:flex; align-items:center; gap:20px; flex-wrap:wrap; margin-top:25px; }
.m17-home-proof { display:grid; grid-template-columns:repeat(4,1fr); border-top:1px solid var(--m17-line); border-bottom:1px solid var(--m17-line); background:linear-gradient(180deg,#333b30,#2d342b); }
.m17-home-proof__item { position:relative; display:grid; grid-template-columns:42px 1fr; gap:15px; min-height:205px; padding:27px 25px 24px; border-right:1px solid var(--m17-line); transition:background .18s ease,transform .18s ease; }
.m17-home-proof__item:last-child { border-right:0; }
.m17-home-proof__item:hover { z-index:2; background:#3b4537; transform:translateY(-3px); }
.m17-home-proof__index { display:grid; place-items:center; width:36px; height:36px; border:1px solid rgba(216,255,62,.32); border-radius:50%; color:var(--m17-accent); font-family:var(--m17-display); font-size:1.15rem; font-weight:800; }
.m17-home-proof__item div { display:flex; flex-direction:column; min-width:0; }
.m17-home-proof__item small { color:#b2b9ab; font-size:10px; font-weight:850; letter-spacing:.14em; text-transform:uppercase; }
.m17-home-proof__item strong { margin:10px 0 9px; color:var(--m17-ink); font-family:var(--m17-display); font-size:1.55rem; line-height:1.05; }
.m17-home-proof__item p { margin:0; color:#c7ccc2; font-size:13.5px; line-height:1.62; }
.m17-home-proof__item b { margin-top:17px; color:var(--m17-accent); font-size:10px; font-weight:850; letter-spacing:.04em; }
.m17-marquee { overflow:hidden; padding:13px 0; background:var(--m17-accent); color:#111; font-family:var(--m17-display); font-weight:800; letter-spacing:.08em; white-space:nowrap; }
.m17-marquee span { display:inline-block; padding-left:3vw; }
.m17-home-story { display:grid; grid-template-columns:.9fr 1.1fr; min-height:620px; background:#dfe4d7; color:var(--m17-ink-dark); }
.m17-home-story__image { overflow:hidden; }
.m17-home-story__image img { width:100%; height:100%; object-fit:cover; object-position:center 22%; }
.m17-home-story__copy { display:flex; flex-direction:column; justify-content:center; align-items:flex-start; padding:clamp(55px,7vw,100px); }
.m17-home-story__copy .m17-kicker { color:var(--m17-accent-deep); }
.m17-home-story__copy p { color:var(--m17-muted-dark); }
.m17-pricing-section { display:grid; grid-template-columns:.72fr 1.28fr; gap:clamp(35px,6vw,90px); padding:clamp(70px,8vw,115px) clamp(24px,6vw,88px); background:#252b23; }
.m17-price-grid { display:grid; grid-template-columns:repeat(3,1fr); border:1px solid var(--m17-line); border-radius:16px; overflow:hidden; }
.m17-price-grid article { display:flex; flex-direction:column; min-height:235px; padding:26px; border-right:1px solid var(--m17-line); background:var(--m17-surface); }
.m17-price-grid article:last-child { border-right:0; }
.m17-price-grid small, .m17-price-grid span { color:var(--m17-muted); }
.m17-price-grid strong { margin:auto 0; font-family:var(--m17-display); font-size:clamp(2rem,3vw,3rem); color:var(--m17-accent); }
.m17-final-cta { padding:clamp(85px,11vw,150px) clamp(24px,6vw,88px); text-align:center; background:linear-gradient(135deg,#343c30,#4b583f); }
.m17-final-cta h2 { max-width:900px; margin-inline:auto; }

/* Page intros */
.m17-page-hero { position:relative; display:grid; grid-template-columns:minmax(0,1.08fr) minmax(340px,.92fr); align-items:center; gap:clamp(34px,5vw,82px); padding:clamp(48px,5.4vw,70px) clamp(24px,6vw,88px); border-bottom:1px solid rgba(23,26,21,.15); background:linear-gradient(125deg,#dce3d5 0%,#d1dac9 58%,#c5d0bb 100%); color:var(--m17-ink-dark); overflow:hidden; }
.m17-page-hero::after { content:""; position:absolute; right:-7%; bottom:-76%; width:440px; aspect-ratio:1; border:1px solid rgba(97,123,0,.21); border-radius:50%; box-shadow:0 0 0 54px rgba(97,123,0,.065),0 0 0 108px rgba(97,123,0,.035); pointer-events:none; }
.m17-page-hero > * { position:relative; z-index:1; }
.m17-page-hero .m17-kicker { margin-bottom:15px; color:#526b00; font-size:11px; }
.m17-page-hero h1 { max-width:900px; margin-bottom:0; color:#151914; font-size:clamp(2.65rem,4.25vw,4.35rem); line-height:.97; }
.m17-page-hero p { color:#3f473d; }
.m17-page-hero__aside { max-width:620px; padding:25px 27px; border:1px solid rgba(23,26,21,.14); border-left:4px solid #718b0b; border-radius:14px; background:rgba(247,249,244,.82); box-shadow:0 16px 45px rgba(34,45,30,.08); backdrop-filter:blur(8px); }
.m17-page-hero__aside p { margin-bottom:16px; color:#353d33; font-size:15.5px; line-height:1.7; }
.m17-page-hero__chips { display:flex; flex-wrap:wrap; gap:8px; margin:0 0 17px; }
.m17-page-hero__chips span { padding:7px 10px; border:1px solid rgba(23,26,21,.16); border-radius:999px; background:rgba(255,255,255,.36); color:#323a30; font-size:10px; font-weight:850; letter-spacing:.045em; }
.m17-page-hero .m17-link-arrow { color:#182016; font-size:14px; }

/* Classes */
.m17-class-grid { display:grid; grid-template-columns:1fr; gap:24px; max-width:1320px; margin:0 auto; }
.m17-class-card { position:relative; display:grid; grid-template-columns:minmax(360px,.82fr) minmax(0,1.18fr); min-height:390px; border:1px solid var(--m17-line); border-radius:18px; background:var(--m17-surface); overflow:hidden; box-shadow:0 14px 44px rgba(4,5,3,.08); }
.m17-class-card::before { content:""; position:absolute; inset:0 auto 0 0; width:5px; background:var(--class-accent); z-index:4; }
.m17-class-card__visuals { display:grid; grid-template-columns:minmax(0,1fr) 118px; min-height:390px; background:#30362c; }
.m17-class-card__image, .m17-class-card__instructor-image { position:relative; overflow:hidden; }
.m17-class-card__image img, .m17-class-card__instructor-image img { width:100%; height:100%; object-fit:cover; transition:transform .4s ease; }
.m17-class-card:hover .m17-class-card__image img, .m17-class-card:hover .m17-class-card__instructor-image img { transform:scale(1.025); }
.m17-class-card__instructor-image { border-left:1px solid rgba(255,255,255,.14); }
.m17-class-card__instructor-image span { position:absolute; inset:auto 8px 8px; padding:7px 8px; border-radius:8px; background:rgba(17,19,15,.84); color:#fff; font-size:9px; line-height:1.25; font-weight:800; }
.m17-class-card__placeholder { display:grid; place-items:center; height:100%; font-family:var(--m17-display); font-size:4rem; }
.m17-class-card__body { display:flex; flex-direction:column; padding:clamp(24px,3.3vw,42px); }
.m17-class-card__topline { display:flex; justify-content:space-between; gap:20px; align-items:flex-start; }
.m17-class-card__meta { display:flex; flex-wrap:wrap; gap:8px 12px; color:var(--class-accent); font-size:10px; font-weight:800; letter-spacing:.11em; text-transform:uppercase; }
.m17-class-card__trial { flex:0 0 auto; padding:7px 10px; border:1px solid rgba(216,255,62,.32); border-radius:999px; color:#e9ffc0; font-size:10px; }
.m17-class-card h3 { margin:27px 0 10px; font-family:var(--m17-display); font-size:clamp(2rem,3vw,3.1rem); }
.m17-class-card p { max-width:700px; }
.m17-class-card__details { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:9px; margin:19px 0 12px; }
.m17-class-card__details div { display:grid; gap:3px; padding:12px 13px; border:1px solid var(--m17-line); border-radius:10px; background:#30362c; }
.m17-class-card__details small, .m17-class-card__pricing small { color:var(--m17-muted); font-size:9px; text-transform:uppercase; letter-spacing:.1em; }
.m17-class-card__details strong { font-size:12px; }
.m17-class-card__pricing { display:grid; grid-template-columns:repeat(3,1fr); margin:8px 0 18px; overflow:hidden; border:1px solid var(--m17-line); border-radius:10px; background:#252b23; }
.m17-class-card__pricing div { display:grid; gap:2px; padding:11px 12px; border-right:1px solid var(--m17-line); }
.m17-class-card__pricing div:last-child { border-right:0; }
.m17-class-card__pricing strong { color:var(--m17-ink); font-size:12px; }
.m17-class-card__footer { display:flex; justify-content:space-between; gap:18px; align-items:center; margin-top:auto; padding-top:16px; border-top:1px solid var(--m17-line); font-size:12px; }
.m17-class-card__footer > span { color:var(--m17-muted); }
.m17-class-card__footer a { color:var(--class-accent); font-weight:800; }
.m17-class-hero { display:grid; grid-template-columns:minmax(0,1.12fr) minmax(360px,.88fr); margin:32px clamp(24px,4vw,62px) 0; overflow:hidden; border:1px solid var(--m17-line); border-top:4px solid var(--class-accent); border-radius:22px; background:linear-gradient(135deg,#242b22,#30392d); color:var(--m17-ink); box-shadow:0 20px 70px rgba(0,0,0,.16); }
.m17-class-hero__copy { display:flex; flex-direction:column; justify-content:center; align-items:flex-start; padding:clamp(48px,5.5vw,76px) clamp(30px,5vw,74px); }
.m17-class-hero .m17-kicker { color:var(--class-accent); }
.m17-class-hero h1 { max-width:850px; margin-bottom:12px; color:#f6f5ef; font-size:clamp(2.8rem,4.7vw,4.8rem); }
.m17-class-hero .m17-lead, .m17-class-hero p { color:#cbd1c5; }
.m17-class-hero__media { position:relative; min-height:440px; max-height:540px; overflow:hidden; padding:18px 18px 18px 0; }
.m17-class-hero__media img { width:100%; height:100%; border-radius:16px; object-fit:cover; box-shadow:0 14px 36px rgba(0,0,0,.24); }
.m17-class-hero__media-caption { position:absolute; right:34px; bottom:34px; left:16px; display:grid; gap:2px; max-width:270px; padding:13px 15px; border-radius:11px; background:rgba(19,23,18,.88); color:#fff; box-shadow:0 12px 30px rgba(0,0,0,.28); backdrop-filter:blur(10px); }
.m17-class-hero__media-caption small { color:var(--class-accent); font-size:8px; font-weight:850; letter-spacing:.12em; }
.m17-class-hero__media-caption strong { font-size:12px; }
.m17-class-hero__media-caption span { color:#bcc4b8; font-size:10px; }
.m17-class-hero__pricing { display:grid; grid-template-columns:repeat(3,auto); gap:1px; margin:0 0 25px; overflow:hidden; border:1px solid var(--m17-line); border-radius:10px; background:var(--m17-line); }
.m17-class-hero__pricing span { display:grid; gap:2px; padding:10px 13px; background:#30382e; }
.m17-class-hero__pricing small { color:#9aa298; font-size:8px; font-weight:800; text-transform:uppercase; letter-spacing:.08em; }
.m17-class-hero__pricing strong { color:#f1f2ec; font-size:11px; }
.m17-chip-row { display:flex; flex-wrap:wrap; gap:8px; margin:16px 0 20px; }
.m17-chip-row span { border:1px solid var(--m17-line-dark); border-radius:999px; padding:7px 12px; color:var(--m17-muted-dark); font-size:12px; }
.m17-info-panel { border-top:5px solid var(--m17-accent); border-radius:14px; background:var(--m17-surface); padding:28px; }
.m17-info-panel dl { margin:0; }
.m17-info-panel dl div { display:grid; grid-template-columns:120px 1fr; gap:20px; border-bottom:1px solid var(--m17-line); padding:17px 0; }
.m17-info-panel dt { color:var(--m17-muted); font-size:11px; text-transform:uppercase; letter-spacing:.12em; }
.m17-info-panel dd { margin:0; font-weight:600; }
.m17-two-column { display:grid; grid-template-columns:minmax(0,1.15fr) minmax(300px,.85fr); gap:clamp(40px,7vw,100px); align-items:start; }

/* Schedule */
.m17-session-list { display:grid; gap:11px; }
.m17-date-divider { margin-top:22px; padding:8px 0; color:var(--m17-muted); font-size:10px; font-weight:800; letter-spacing:.12em; text-transform:uppercase; }
.m17-session-card { display:grid; grid-template-columns:82px minmax(0,1fr); align-items:start; gap:14px; min-width:0; border:1px solid var(--m17-line); border-left:5px solid var(--class-accent); border-radius:12px; background:var(--m17-surface); padding:15px; }
.m17-session-card__thumb { grid-row:1 / span 2; width:82px; height:82px; overflow:hidden; border-radius:9px; background:#33382e; }
.m17-session-card__thumb img { width:100%; height:100%; object-fit:cover; }
.m17-session-card__time { display:flex; align-items:baseline; gap:8px; }
.m17-session-card__time strong { font-family:var(--m17-display); font-size:1.55rem; line-height:1; }
.m17-session-card__time span { color:var(--m17-muted); font-size:11px; }
.m17-session-card__content { min-width:0; }
.m17-session-card__content h3 { margin:3px 0 5px; font-size:1.35rem; }
.m17-session-card__content p { margin:0; font-size:12px; }
.m17-session-card__price { display:block; margin-top:5px; color:#d7d9ce; font-size:10px; }
.m17-session-card__category { color:var(--class-accent) !important; font-size:9px !important; font-weight:800; text-transform:uppercase; letter-spacing:.1em; }
.m17-session-card__pricing { display:flex; flex-wrap:wrap; gap:5px 9px; margin-top:8px; color:#aeb4a8; font-size:9px; }
.m17-session-card__pricing strong { color:#e5e8df; font-weight:800; }
.m17-session-card__action { grid-column:1/-1; }
.m17-session-card__action .m17-button { width:100%; }
.m17-status { display:inline-block; margin-top:8px; font-size:11px; }
.m17-status--available { color:var(--m17-accent); }
.m17-status--full, .m17-status--cancelled { color:var(--m17-danger); }
.m17-session-card--cancelled { opacity:.72; border-left-color:var(--m17-danger); }

.m17-schedule-shell { padding:30px clamp(18px,4vw,64px) 94px; overflow:visible; }
.m17-schedule-toolbar { display:grid; gap:16px; position:sticky; top:0; z-index:35; margin-bottom:20px; padding:15px; border:1px solid var(--m17-line); border-radius:16px; background:rgba(31,37,29,.97); box-shadow:0 16px 42px rgba(0,0,0,.17); backdrop-filter:blur(16px); }
.m17-week-nav { display:flex; align-items:center; gap:11px; }
.m17-week-nav__label { display:grid; min-width:300px; }
.m17-week-nav small { color:var(--m17-muted); font-size:10px; }
.m17-week-nav strong { font-size:13px; }
.m17-schedule-controls { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:18px; align-items:end; }
.m17-filters { display:flex; align-items:end; gap:10px; flex-wrap:wrap; }
.m17-check { display:flex; flex-direction:row; align-items:center; gap:7px; min-height:44px; color:var(--m17-muted); font-size:10px; font-weight:800; letter-spacing:.06em; text-transform:uppercase; }
.m17-check input { width:16px; height:16px; accent-color:var(--m17-accent); }
.m17-filter-reset { min-height:44px; border:0; background:transparent; color:var(--m17-accent); font-size:11px; font-weight:800; cursor:pointer; }
.m17-select { position:relative; display:grid; gap:5px; min-width:180px; }
.m17-select__label { color:var(--m17-muted); font-size:9px; font-weight:800; letter-spacing:.09em; text-transform:uppercase; }
.m17-select__trigger { display:flex; align-items:center; justify-content:space-between; gap:12px; min-height:44px; width:100%; padding:9px 12px; border:1px solid var(--m17-line); border-radius:10px; background:#2b3128; color:var(--m17-ink); font-size:12px; font-weight:700; cursor:pointer; }
.m17-select__trigger:hover, .m17-select.is-open .m17-select__trigger { border-color:var(--m17-accent); }
.m17-select__trigger svg { width:17px; height:17px; fill:none; stroke:currentColor; stroke-width:1.7; transition:transform .16s ease; }
.m17-select.is-open .m17-select__trigger svg { transform:rotate(180deg); }
.m17-select__menu { position:absolute; top:calc(100% + 7px); left:0; z-index:90; display:grid; width:max(100%,230px); max-height:300px; overflow:auto; padding:7px; border:1px solid var(--m17-line-strong); border-radius:11px; background:#20251e; box-shadow:0 18px 50px rgba(0,0,0,.34); }
.m17-select__menu button { display:flex; justify-content:space-between; gap:12px; width:100%; padding:9px 10px; border:0; border-radius:7px; background:transparent; color:#d8dbd2; font-size:11px; text-align:left; cursor:pointer; }
.m17-select__menu button:hover { background:rgba(216,255,62,.09); color:#fff; }
.m17-select__menu button.selected { background:var(--m17-accent); color:#111; font-weight:850; }
.m17-schedule-pricebar { display:grid; grid-template-columns:repeat(2,minmax(115px,1fr)); gap:1px; overflow:hidden; border:1px solid var(--m17-line); border-radius:10px; background:var(--m17-line); }
.m17-schedule-pricebar span { display:grid; gap:1px; min-width:120px; padding:8px 10px; background:#30372d; }
.m17-schedule-pricebar small { color:var(--m17-muted); font-size:8px; text-transform:uppercase; letter-spacing:.08em; }
.m17-schedule-pricebar strong { font-size:10px; }
.m17-schedule-pricebar__trial strong { color:var(--m17-accent); }

.m17-calendar-desktop { position:relative; overflow:visible; border:1px solid var(--m17-line); border-radius:18px; background:#1b201a; box-shadow:0 22px 70px rgba(0,0,0,.16); }
.m17-calendar-week-head { display:grid; grid-template-columns:70px repeat(7,minmax(0,1fr)); position:relative; z-index:12; border-bottom:1px solid var(--m17-line); border-radius:18px 18px 0 0; overflow:hidden; background:#252b23; }
.m17-calendar-week-head__corner { display:flex; align-items:end; padding:14px 10px; border-right:1px solid var(--m17-line); color:#7f877b; }
.m17-calendar-week-head__corner span { font-size:9px; font-weight:850; letter-spacing:.12em; text-transform:uppercase; }
.m17-calendar-week-head__day { display:grid; gap:2px; min-width:0; padding:13px 11px; border-right:1px solid var(--m17-line); }
.m17-calendar-week-head__day:last-child { border-right:0; }
.m17-calendar-week-head__day small { color:#a9b0a5; font-size:9px; font-weight:850; letter-spacing:.1em; text-transform:uppercase; }
.m17-calendar-week-head__day strong { font-family:var(--m17-display); font-size:1.35rem; line-height:1; }
.m17-calendar-week-head__day span { color:#727a70; font-size:9px; }
.m17-calendar-week-head__day.is-today { box-shadow:inset 0 -3px 0 var(--m17-accent); background:#30382d; }
.m17-calendar-week-head__day.is-today strong { color:var(--m17-accent); }
.m17-calendar-grid { position:relative; display:grid; grid-template-columns:70px repeat(7,minmax(0,1fr)); overflow:visible; isolation:isolate; }
.m17-calendar-day-column { z-index:0; border-right:1px solid rgba(247,245,238,.09); background:rgba(255,255,255,.012); }
.m17-calendar-day-column.is-today { background:rgba(216,255,62,.025); }
.m17-calendar-gridline { z-index:1; align-self:start; height:1px; margin-left:70px; border-top:1px solid rgba(247,245,238,.045); pointer-events:none; }
.m17-calendar-gridline.is-hour { border-top-color:rgba(247,245,238,.12); }
.m17-calendar-time-label { z-index:2; align-self:start; padding:0 10px; color:#81897e; font-size:9px; line-height:1; transform:translateY(-.45em); pointer-events:none; }
.m17-calendar-now-line { position:absolute; z-index:25; right:0; left:70px; height:1px; background:#61b2ff; pointer-events:none; box-shadow:0 0 10px rgba(97,178,255,.25); }
.m17-calendar-now-line::before { content:""; position:absolute; left:-4px; top:-4px; width:9px; height:9px; border-radius:50%; background:#61b2ff; }
.m17-calendar-now-line span { position:absolute; left:-48px; top:-8px; width:40px; color:#75bdff; font-size:9px; font-weight:850; text-align:right; }

.m17-calendar-event { position:relative; z-index:6; min-width:0; margin:2px 4px; border:1px solid color-mix(in srgb,var(--class-accent) 34%,transparent); border-left:4px solid var(--class-accent); border-radius:8px; background:#344031; color:#f6f5ef; cursor:default; box-shadow:0 5px 16px rgba(0,0,0,.12); transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease; }
.m17-calendar-event::after { content:""; position:absolute; top:0; bottom:0; left:100%; width:14px; }
.m17-calendar-event--popover-left::after { right:100%; left:auto; }
.m17-calendar-event:hover, .m17-calendar-event:focus-within, .m17-calendar-event:focus { z-index:50; border-color:color-mix(in srgb,var(--class-accent) 65%,#fff 10%); box-shadow:0 12px 30px rgba(0,0,0,.24); outline:none; }
.m17-calendar-event__summary { height:100%; min-height:40px; display:flex; flex-direction:column; justify-content:center; overflow:hidden; padding:5px 7px; }
.m17-calendar-event__time { color:var(--class-accent); font-family:var(--m17-display); font-size:1rem; font-weight:800; line-height:1; }
.m17-calendar-event__summary strong { overflow:hidden; margin-top:3px; font-size:10.5px; line-height:1.25; text-overflow:ellipsis; white-space:nowrap; }
.m17-calendar-event__summary span { overflow:hidden; color:#bdc5b9; font-size:8px; line-height:1.3; text-overflow:ellipsis; white-space:nowrap; }
.m17-calendar-event--cancelled { opacity:.7; border-left-color:var(--m17-danger); }
.m17-calendar-event--full { border-left-color:var(--m17-warning); }
.m17-calendar-event__popover { position:absolute; top:50%; left:calc(100% + 12px); z-index:120; width:350px; overflow:hidden; border:1px solid rgba(255,255,255,.17); border-top:4px solid var(--class-accent); border-radius:14px; background:#272e25; box-shadow:0 24px 70px rgba(0,0,0,.42); opacity:0; visibility:hidden; pointer-events:none; transform:translate(8px,-50%); transition:opacity .14s ease,transform .14s ease,visibility .14s ease; }
.m17-calendar-event:hover .m17-calendar-event__popover, .m17-calendar-event:focus-within .m17-calendar-event__popover, .m17-calendar-event:focus .m17-calendar-event__popover { opacity:1; visibility:visible; pointer-events:auto; transform:translate(0,-50%); }
.m17-calendar-event--popover-left .m17-calendar-event__popover { right:calc(100% + 12px); left:auto; transform:translate(-8px,-50%); }
.m17-calendar-event--popover-left:hover .m17-calendar-event__popover, .m17-calendar-event--popover-left:focus-within .m17-calendar-event__popover, .m17-calendar-event--popover-left:focus .m17-calendar-event__popover { transform:translate(0,-50%); }
.m17-calendar-event__popover-media { height:126px; overflow:hidden; background:#31372e; }
.m17-calendar-event__popover-media img { width:100%; height:100%; object-fit:cover; }
.m17-calendar-event__popover-content { padding:18px; }
.m17-calendar-event__popover-topline { display:flex; justify-content:space-between; gap:14px; margin-bottom:8px; color:var(--class-accent); font-size:8px; font-weight:850; letter-spacing:.08em; text-transform:uppercase; }
.m17-calendar-event__popover h3 { margin:0 0 5px; font-size:1.7rem; }
.m17-calendar-event__popover p { margin:0; color:#c4cbc0; font-size:11px; }
.m17-calendar-event__prices { display:grid; grid-template-columns:repeat(3,1fr); gap:1px; overflow:hidden; margin:15px 0 11px; border:1px solid var(--m17-line); border-radius:9px; background:var(--m17-line); }
.m17-calendar-event__prices span { display:grid; gap:2px; padding:8px; background:#30382e; }
.m17-calendar-event__prices small { color:#949c90; font-size:7px; text-transform:uppercase; letter-spacing:.06em; }
.m17-calendar-event__prices strong { font-size:9px; }
.m17-calendar-event__availability { color:var(--m17-accent); font-size:10px; font-weight:850; }
.m17-calendar-event__availability--danger { color:var(--m17-danger); }
.m17-calendar-event__actions { display:flex; justify-content:space-between; align-items:center; gap:12px; margin-top:15px; padding-top:13px; border-top:1px solid var(--m17-line); }
.m17-calendar-event__actions .m17-link-arrow { font-size:10px; }
.m17-calendar-mobile { display:none; }

.m17-schedule-day { display:grid; grid-template-columns:150px minmax(0,1fr); min-height:130px; overflow:hidden; border:1px solid var(--m17-line); border-radius:14px; background:#252b23; }
.m17-schedule-day__header { display:flex; flex-direction:column; justify-content:space-between; gap:18px; padding:20px; border-right:1px solid var(--m17-line); background:#30372d; }
.m17-schedule-day__header > div { display:grid; gap:3px; }
.m17-schedule-day__header span { color:var(--m17-muted); font-size:10px; font-weight:850; letter-spacing:.11em; text-transform:uppercase; }
.m17-schedule-day__header strong { font-family:var(--m17-display); font-size:2rem; line-height:1; }
.m17-schedule-day__header small { color:#858c80; font-size:10px; }
.m17-schedule-day--today { border-color:rgba(216,255,62,.5); }
.m17-schedule-day--today .m17-schedule-day__header { background:var(--m17-accent); color:#111; }
.m17-schedule-day--today .m17-schedule-day__header span, .m17-schedule-day--today .m17-schedule-day__header small { color:#39410e; }
.m17-schedule-day__sessions { display:grid; grid-template-columns:1fr; gap:10px; align-items:stretch; padding:10px; }
.m17-day-empty { display:flex; align-items:center; gap:12px; min-height:105px; padding:18px; color:#7f8679; }
.m17-day-empty span { color:var(--m17-accent); font-size:1.6rem; }
.m17-day-empty p { margin:0; font-size:12px; }

/* Registration */
.m17-registration-layout { min-height:100vh; display:grid; grid-template-columns:minmax(320px,.8fr) minmax(0,1.2fr); }
.m17-registration-summary { display:flex; flex-direction:column; justify-content:center; padding:clamp(90px,10vw,150px) clamp(24px,6vw,80px); background:var(--m17-light); color:var(--m17-ink-dark); border-right:5px solid var(--class-accent); }
.m17-registration-summary .m17-kicker { color:var(--m17-accent-deep); }
.m17-registration-summary h1 { font-size:clamp(2.8rem,5vw,5.2rem); }
.m17-registration-summary p, .m17-registration-summary dt { color:var(--m17-muted-dark); }
.m17-registration-summary dl div { display:flex; justify-content:space-between; gap:20px; border-bottom:1px solid var(--m17-line-dark); padding:12px 0; }
.m17-registration-summary dd { margin:0; text-align:right; font-weight:700; }
.m17-registration-summary > a { margin-top:30px; color:var(--m17-accent-deep); }
.m17-registration-form-panel { display:flex; flex-direction:column; justify-content:center; padding:clamp(90px,10vw,150px) clamp(24px,7vw,90px); }
.m17-registration-form-panel h2 { font-size:clamp(2.4rem,4.6vw,4.6rem); }
.m17-form { display:grid; gap:18px; }
.m17-form label { display:grid; gap:7px; color:#dedfd7; font-size:13px; font-weight:700; }
.m17-form input:not([type=checkbox]), .m17-form textarea, .m17-form select, .m17-filters select, .m17-admin-toolbar input, .m17-inline-form input, .m17-media-admin-grid input, .m17-media-admin-grid textarea { width:100%; min-height:48px; border:1px solid var(--m17-line); border-radius:10px; padding:10px 12px; background:#161914; color:var(--m17-ink); }
.m17-form textarea, .m17-media-admin-grid textarea { min-height:90px; resize:vertical; }
.m17-form input:focus, .m17-form textarea:focus, .m17-form select:focus { border-color:var(--m17-accent); outline:2px solid rgba(216,255,62,.2); }
.m17-form-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; }
.m17-form-actions { display:flex; gap:12px; flex-wrap:wrap; }
.m17-consent { display:flex; flex-direction:row; align-items:flex-start; gap:10px; font-weight:500; }
.m17-consent input { margin-top:5px; }
.m17-consent a { color:var(--m17-accent); text-decoration:underline; }
.validation-message { color:#ffaaa4; font-size:12px; }
.m17-honeypot { position:absolute; left:-10000px; width:1px; height:1px; overflow:hidden; }
.m17-form-result { border:1px solid var(--m17-line); border-radius:12px; padding:30px; background:var(--m17-surface); }
.m17-form-result--success { border-top:5px solid var(--m17-accent); }
.m17-form-result--error { border-top:5px solid var(--m17-danger); }

/* Instructors */
.m17-instructor-list { display:grid; gap:28px; max-width:1320px; margin:0 auto; }
.m17-instructor-profile-card, .m17-instructor-detail { display:grid; grid-template-columns:minmax(300px,.68fr) minmax(0,1.32fr); gap:0; border:1px solid var(--m17-line); border-radius:20px; overflow:hidden; background:var(--m17-surface); box-shadow:0 16px 50px rgba(4,5,3,.08); }
.m17-instructor-profile-card__image, .m17-instructor-detail__media { position:relative; min-height:430px; max-height:560px; overflow:hidden; background:#30352b; }
.m17-instructor-profile-card__image img, .m17-instructor-detail__media img { width:100%; height:100%; object-fit:cover; object-position:center 24%; }
.m17-instructor-profile-card__badge { position:absolute; left:16px; bottom:16px; padding:7px 10px; border-radius:999px; background:rgba(17,19,15,.85); color:var(--m17-accent); font-size:9px; font-weight:900; letter-spacing:.12em; }
.m17-instructor-profile-card__content, .m17-instructor-detail__content { padding:clamp(30px,4.5vw,62px); }
.m17-instructor-profile-card__headline { display:flex; justify-content:space-between; gap:24px; align-items:flex-start; }
.m17-instructor-profile-card h2, .m17-instructor-detail h1 { font-size:clamp(3rem,5vw,5.2rem); margin-bottom:14px; }
.m17-profile-index { max-width:170px; color:#858c80; font-size:8px; font-weight:850; letter-spacing:.13em; text-align:right; }
.m17-instructor-quote { margin:24px 0; padding:18px 20px; border-left:3px solid var(--m17-accent); background:#30372d; color:#e3e6de; font-family:var(--m17-display); font-size:1.35rem; line-height:1.2; }
.m17-instructor-points { display:grid; grid-template-columns:repeat(2,1fr); gap:10px; margin:22px 0; }
.m17-instructor-points div { display:grid; gap:5px; padding:16px; border:1px solid var(--m17-line); border-radius:11px; background:#30372d; }
.m17-instructor-points small, .m17-instructor-detail__grid small { color:var(--m17-accent); font-size:9px; font-weight:800; text-transform:uppercase; letter-spacing:.14em; }
.m17-instructor-points strong { font-size:12px; }
.m17-instructor-classes { display:grid; gap:8px; margin:18px 0 24px; }
.m17-instructor-classes > small { color:#8f9689; font-size:9px; font-weight:800; letter-spacing:.12em; text-transform:uppercase; }
.m17-instructor-classes > div { display:flex; flex-wrap:wrap; gap:7px; }
.m17-instructor-classes a { padding:7px 10px; border:1px solid var(--m17-line); border-radius:999px; color:#e0e3da; font-size:10px; }
.m17-instructor-classes a:hover { border-color:var(--m17-accent); color:var(--m17-accent); }
.m17-instructor-profile-card__actions { display:flex; align-items:center; gap:18px; flex-wrap:wrap; margin-top:24px; }
.m17-instructor-detail { margin:clamp(45px,6vw,85px) clamp(24px,6vw,88px); }
.m17-instructor-detail__grid { display:grid; grid-template-columns:repeat(2,1fr); gap:14px; margin-top:30px; }
.m17-instructor-detail__grid article { padding:22px; border:1px solid var(--m17-line); border-radius:12px; background:#30372d; }
.m17-instructor-detail__grid h2 { margin:12px 0; font-size:2rem; }

/* Studio */
.m17-studio-showcase { display:grid; grid-template-columns:minmax(0,1.03fr) minmax(380px,.97fr); align-items:stretch; margin:clamp(40px,5vw,70px) clamp(24px,6vw,88px); border:1px solid var(--m17-line); border-radius:22px; overflow:hidden; background:var(--m17-surface); box-shadow:0 18px 60px rgba(4,5,3,.1); }
.m17-studio-showcase__media { position:relative; min-height:590px; overflow:hidden; }
.m17-studio-showcase__media::after { content:""; position:absolute; inset:0; background:linear-gradient(180deg,transparent 60%,rgba(15,18,14,.34)); pointer-events:none; }
.m17-studio-showcase__media img { width:100%; height:100%; object-fit:cover; }
.m17-studio-showcase__badge { position:absolute; z-index:2; left:22px; bottom:22px; display:grid; gap:2px; max-width:350px; padding:14px 17px; border-radius:11px; background:rgba(237,239,230,.93); color:var(--m17-ink-dark); box-shadow:var(--m17-shadow); }
.m17-studio-showcase__badge small { color:var(--m17-accent-deep); font-size:9px; font-weight:800; letter-spacing:.14em; text-transform:uppercase; }
.m17-studio-showcase__content { display:flex; flex-direction:column; justify-content:center; padding:clamp(36px,4.5vw,66px); }
.m17-studio-showcase__content h2 { max-width:620px; font-size:clamp(2.7rem,4.2vw,4.2rem); }
.m17-studio-facts { display:grid; gap:0; margin:26px 0; border-top:1px solid var(--m17-line); }
.m17-studio-facts article { display:grid; grid-template-columns:72px 1fr; align-items:center; gap:16px; padding:14px 0; border-bottom:1px solid var(--m17-line); }
.m17-studio-facts article > span { color:var(--m17-accent); font-family:var(--m17-display); font-size:2rem; font-weight:800; }
.m17-studio-facts article div { display:grid; }
.m17-studio-facts small { color:var(--m17-muted); }
.m17-studio-actions { display:flex; align-items:center; gap:20px; flex-wrap:wrap; }
.m17-studio-gallery-section { padding-top:45px; }
.m17-studio-gallery { display:grid; grid-template-columns:repeat(12,1fr); gap:12px; }
.m17-studio-gallery figure { position:relative; grid-column:span 4; min-height:260px; margin:0; overflow:hidden; border:1px solid var(--m17-line); border-radius:14px; background:#242a22; }
.m17-studio-gallery figure:nth-child(1), .m17-studio-gallery figure:nth-child(4) { grid-column:span 8; }
.m17-studio-gallery img { width:100%; height:100%; object-fit:cover; }
.m17-studio-gallery figcaption { position:absolute; right:10px; bottom:10px; left:10px; padding:8px 10px; border-radius:8px; background:rgba(17,19,15,.78); color:#fff; font-size:10px; }
.m17-studio-experience { display:grid; grid-template-columns:.7fr 1.3fr; gap:clamp(30px,6vw,90px); padding:clamp(65px,8vw,110px) clamp(24px,6vw,88px); background:#22281f; }
.m17-studio-experience__intro h2 { max-width:520px; font-size:clamp(2.6rem,4vw,4rem); }
.m17-studio-experience__grid { display:grid; grid-template-columns:repeat(2,1fr); border-top:1px solid var(--m17-line); border-left:1px solid var(--m17-line); }
.m17-studio-experience__grid article { min-height:210px; padding:24px; border-right:1px solid var(--m17-line); border-bottom:1px solid var(--m17-line); background:#30372d; }
.m17-studio-experience__grid span { color:var(--m17-accent); font-family:var(--m17-display); font-size:1.35rem; font-weight:800; }
.m17-studio-experience__grid h3 { margin:38px 0 9px; font-size:1.55rem; }
.m17-studio-experience__grid p { margin-bottom:0; font-size:12px; }
.m17-studio-location-cta { display:flex; justify-content:space-between; align-items:end; gap:30px; padding:clamp(50px,6vw,80px) clamp(24px,6vw,88px); background:linear-gradient(120deg,#cdd6c3,#b9c5af); color:var(--m17-ink-dark); }
.m17-studio-location-cta h2 { margin-bottom:9px; font-size:clamp(2.4rem,4vw,4rem); }
.m17-studio-location-cta p { color:#535b50; }
.m17-studio-location-cta > div:last-child { display:flex; align-items:center; gap:18px; flex-wrap:wrap; }

/* First class */
.m17-first-guide { display:grid; grid-template-columns:minmax(250px,.42fr) minmax(0,1.58fr); gap:clamp(30px,4vw,58px); align-items:start; padding:clamp(48px,5.5vw,72px) clamp(24px,6vw,88px); background:#252b23; }
.m17-first-guide__intro { position:sticky; top:28px; }
.m17-first-guide__intro h2 { max-width:430px; margin-bottom:14px; font-size:clamp(2.6rem,3.8vw,3.8rem); }
.m17-first-guide__intro > p:not(.m17-kicker) { max-width:430px; color:#c7cdc2; font-size:14px; line-height:1.7; }
.m17-first-class-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:12px; }
.m17-first-class-grid article { display:grid; grid-template-columns:48px 1fr; gap:15px; min-height:150px; padding:20px; border:1px solid var(--m17-line); border-radius:14px; background:linear-gradient(145deg,#3a4337,#343c31); }
.m17-first-class-grid article > span { color:var(--m17-accent); font-family:var(--m17-display); font-size:1.8rem; font-weight:800; user-select:none; }
.m17-first-class-grid h3 { margin:2px 0 9px; font-size:1.62rem; }
.m17-first-class-grid p { margin:0; color:#ccd2c6; font-size:13.5px; line-height:1.62; }
.m17-first-practical { display:grid; grid-template-columns:minmax(300px,.78fr) minmax(0,1.22fr); align-items:stretch; background:#30372d; }
.m17-first-practical__visual { position:relative; min-height:430px; overflow:hidden; }
.m17-first-practical__visual img { width:100%; height:100%; object-fit:cover; }
.m17-first-practical__visual span { position:absolute; left:18px; bottom:18px; padding:9px 12px; border-radius:9px; background:rgba(237,239,230,.94); color:#171a15; font-size:10px; font-weight:800; }
.m17-first-practical__content { display:flex; flex-direction:column; justify-content:center; padding:clamp(34px,4.5vw,62px); }
.m17-first-practical__content h2 { max-width:650px; font-size:clamp(2.5rem,3.7vw,3.8rem); }
.m17-first-checklist { display:grid; grid-template-columns:repeat(2,1fr); gap:10px; margin-top:22px; }
.m17-first-checklist div { display:grid; gap:6px; padding:17px; border:1px solid var(--m17-line); border-radius:11px; background:#282e26; }
.m17-first-checklist strong { color:var(--m17-accent); font-size:12px; }
.m17-first-checklist span { color:#c9cfc4; font-size:13px; line-height:1.55; }
.m17-trial-banner { display:flex; justify-content:space-between; align-items:center; gap:30px; padding:clamp(48px,6vw,72px) clamp(24px,6vw,88px); background:linear-gradient(125deg,#d5ddcd,#c3cfb9); color:var(--m17-ink-dark); }
.m17-trial-banner h2 { margin-bottom:8px; font-size:clamp(2.5rem,3.8vw,3.8rem); }
.m17-trial-banner p { max-width:760px; color:#465045; font-size:14px; }
.m17-trial-banner__actions { display:flex; align-items:center; gap:18px; flex-wrap:wrap; }
.m17-trial-banner--compact { padding-top:46px; padding-bottom:46px; }

/* Contact */
.m17-contact-grid { display:grid; grid-template-columns:minmax(360px,.95fr) minmax(0,1.05fr); gap:26px; padding:clamp(45px,6vw,80px) clamp(24px,6vw,88px); }
.m17-contact-map-card, .m17-contact-details-card { border:1px solid var(--m17-line); border-radius:20px; overflow:hidden; background:var(--m17-surface); }
.m17-contact-map-card { position:relative; aspect-ratio:1/1; min-height:480px; }
.m17-contact-map-card iframe { width:100%; height:100%; border:0; filter:saturate(.72) contrast(.95); }
.m17-contact-map-card > a { position:absolute; left:18px; bottom:18px; padding:11px 15px; border-radius:10px; background:var(--m17-accent); color:#111; font-weight:800; box-shadow:var(--m17-shadow); }
.m17-contact-details-card { padding:clamp(30px,4.5vw,58px); }
.m17-contact-details-card h2 { max-width:620px; }
.m17-contact-list { display:grid; margin-top:28px; border-top:1px solid var(--m17-line); }
.m17-contact-list a { display:grid; grid-template-columns:100px 1fr; gap:20px; border-bottom:1px solid var(--m17-line); padding:16px 0; }
.m17-contact-list span { color:var(--m17-muted); }
.m17-contact-list strong { overflow-wrap:anywhere; }
.m17-contact-socials { display:grid; grid-template-columns:auto 1fr auto 1fr; gap:12px 14px; align-items:center; margin-top:28px; padding:20px; border:1px solid var(--m17-line); border-radius:14px; background:#2b3027; }
.m17-contact-socials div { display:grid; }
.m17-contact-socials small { color:var(--m17-muted); font-size:11px; }
.m17-contact-person-mini { display:flex; align-items:center; gap:16px; margin-top:22px; padding-top:22px; border-top:1px solid var(--m17-line); }
.m17-contact-person-mini img { width:74px; height:74px; border-radius:50%; object-fit:cover; }
.m17-contact-person-mini div { display:grid; }
.m17-contact-person-mini small, .m17-contact-person-mini span { color:var(--m17-muted); }

/* Gallery / FAQ / legal */
.m17-album { margin-bottom:80px; }
.m17-masonry { columns:3 280px; column-gap:16px; }
.m17-gallery-item { width:100%; display:block; break-inside:avoid; margin:0 0 16px; padding:0; border:0; border-radius:12px; overflow:hidden; background:transparent; cursor:zoom-in; }
.m17-gallery-item img { width:100%; height:auto; }
.m17-lightbox { position:fixed; inset:0; z-index:500; display:grid; place-items:center; padding:30px; background:rgba(0,0,0,.94); }
.m17-lightbox > button { position:absolute; top:20px; right:25px; border:0; background:transparent; color:#fff; font-size:3rem; }
.m17-lightbox figure { margin:0; max-width:min(1100px,90vw); max-height:90vh; }
.m17-lightbox img { max-height:82vh; object-fit:contain; }
.m17-lightbox figcaption { padding-top:10px; color:var(--m17-muted); text-align:center; }
.m17-faq-list { max-width:1050px; }
.m17-faq-list details { border-bottom:1px solid var(--m17-line); padding:22px 0; }
.m17-faq-list summary { cursor:pointer; font-family:var(--m17-display); font-size:1.5rem; font-weight:700; }
.m17-faq-list p { margin:16px 0 0; max-width:760px; }
.m17-legal { max-width:1000px; margin:0 auto; padding:clamp(100px,12vw,160px) 24px 90px; }
.m17-legal h1 { font-size:clamp(3rem,6vw,6rem); }
.m17-legal h2 { margin-top:45px; font-size:2rem; }

/* Alerts */
.m17-alert { border:1px solid var(--m17-line); border-left:4px solid var(--m17-accent); border-radius:10px; padding:14px 18px; margin-bottom:20px; background:var(--m17-surface); }
.m17-alert--error { border-left-color:var(--m17-danger); color:#ffc0bc; }
.m17-alert--warning { border-left-color:var(--m17-warning); }

/* Admin */
.m17-admin-page { min-height:100vh; padding:clamp(80px,9vw,120px) clamp(18px,4vw,60px) 80px; background:#171a15; }
.m17-admin-header { display:flex; justify-content:space-between; align-items:end; gap:20px; margin-bottom:32px; }
.m17-admin-header h1 { font-size:clamp(2.8rem,5vw,5rem); margin-bottom:0; }
.m17-admin-stats { display:grid; grid-template-columns:repeat(4,1fr); gap:12px; margin-bottom:24px; }
.m17-admin-stats article { display:flex; flex-direction:column; min-height:150px; padding:22px; border:1px solid var(--m17-line); border-radius:12px; background:var(--m17-surface); }
.m17-admin-stats span { color:var(--m17-muted); font-size:12px; }
.m17-admin-stats strong { margin-top:auto; color:var(--m17-accent); font-family:var(--m17-display); font-size:3rem; }
.m17-admin-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:12px; }
.m17-admin-grid a { min-height:160px; display:flex; flex-direction:column; justify-content:end; border:1px solid var(--m17-line); border-radius:12px; padding:22px; background:var(--m17-surface); }
.m17-admin-grid a:hover { border-color:var(--m17-accent); }
.m17-admin-grid strong { font-family:var(--m17-display); font-size:1.5rem; }
.m17-admin-grid span { color:var(--m17-muted); }
.m17-admin-grid--sidebar { grid-template-columns:minmax(240px,.32fr) minmax(0,1fr); }
.m17-admin-card { margin-bottom:22px; border:1px solid var(--m17-line); border-radius:12px; background:var(--m17-surface); padding:clamp(20px,3vw,35px); }
.m17-admin-card--compact { padding:22px; }
.m17-admin-card h2 { font-size:2rem; }
.m17-admin-card > header { display:flex; justify-content:space-between; align-items:start; gap:20px; margin-bottom:20px; }
.m17-admin-split { display:grid; grid-template-columns:280px minmax(0,1fr); gap:15px; align-items:start; }
.m17-admin-list { position:sticky; top:15px; display:grid; gap:6px; max-height:calc(100vh - 40px); overflow:auto; }
.m17-admin-list button { display:grid; gap:2px; width:100%; text-align:left; border:1px solid var(--m17-line); border-radius:9px; background:var(--m17-surface); color:var(--m17-ink); padding:14px; cursor:pointer; }
.m17-admin-list button.active, .m17-admin-list button.is-active { border-color:var(--m17-accent); background:rgba(216,255,62,.08); }
.m17-admin-list span { color:var(--m17-muted); font-size:11px; }
.m17-admin-toolbar { display:flex; align-items:end; gap:12px; flex-wrap:wrap; margin-bottom:20px; }
.m17-table-wrap { overflow-x:auto; }
.m17-table { width:100%; border-collapse:collapse; font-size:13px; }
.m17-table th, .m17-table td { border-bottom:1px solid var(--m17-line); padding:12px 10px; text-align:left; vertical-align:top; }
.m17-table th { color:var(--m17-muted); font-size:10px; text-transform:uppercase; letter-spacing:.1em; }
.m17-inline-form { display:flex; gap:12px; align-items:center; flex-wrap:wrap; }
.m17-inline-form input { max-width:320px; }
.m17-toggle-row { display:flex; flex-wrap:wrap; align-items:center; gap:20px; padding:15px 0; }
.m17-toggle-row label { display:flex; flex-direction:row; align-items:center; gap:8px; }
.m17-upload-row { display:grid; grid-template-columns:180px 1fr 1fr; gap:15px; align-items:center; border:1px solid var(--m17-line); border-radius:10px; padding:15px; }
.m17-upload-row img { width:180px; height:180px; object-fit:cover; }
.m17-help, .m17-token-help { font-size:12px; color:var(--m17-muted); }
.m17-media-picker { display:grid; grid-template-columns:repeat(auto-fill,minmax(130px,1fr)); gap:10px; max-height:520px; overflow:auto; }
.m17-media-pick { position:relative; display:block; border:2px solid transparent; border-radius:9px; background:#111; padding:6px; cursor:pointer; }
.m17-media-pick.selected { border-color:var(--m17-accent); }
.m17-media-pick input { position:absolute; top:10px; left:10px; }
.m17-media-pick img { width:100%; aspect-ratio:1; object-fit:cover; }
.m17-media-pick span { display:block; padding:5px; font-size:11px; }
.m17-media-admin-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(260px,1fr)); gap:15px; }
.m17-media-admin-grid article { border:1px solid var(--m17-line); border-radius:10px; overflow:hidden; background:#1b1e18; }
.m17-media-admin-grid img { width:100%; aspect-ratio:4/3; object-fit:cover; }
.m17-media-admin-grid article > div { display:grid; gap:8px; padding:12px; }
.m17-admin-hint { display:grid; gap:5px; border-left:4px solid var(--m17-accent); }
.m17-admin-hint strong { color:var(--m17-accent); }
.m17-admin-hint span { color:var(--m17-muted); font-size:12px; }
.m17-admin-hint code { padding:2px 5px; border-radius:5px; background:#20251e; color:#fff; }
.m17-modal-backdrop { position:fixed; inset:0; z-index:500; display:grid; place-items:center; padding:20px; background:rgba(8,10,7,.76); backdrop-filter:blur(10px); }
.m17-modal { position:relative; width:min(620px,100%); max-height:90vh; overflow:auto; border:1px solid var(--m17-line-strong); border-top:4px solid var(--m17-accent); border-radius:18px; background:linear-gradient(180deg,#394136,#2f362c); padding:clamp(24px,4vw,38px); box-shadow:0 30px 90px rgba(0,0,0,.42); }
.m17-modal h2 { margin-bottom:18px; font-size:clamp(2rem,4vw,3rem); }

/* Footer */
.m17-footer { padding:62px clamp(24px,6vw,88px) 24px; border-top:1px solid var(--m17-line); background:#10130f; }
.m17-footer__top { display:grid; grid-template-columns:minmax(260px,.72fr) minmax(0,1.28fr); gap:clamp(45px,7vw,100px); }
.m17-footer__brand-block { max-width:370px; }
.m17-footer__brand { display:inline-flex; align-items:center; gap:13px; margin-bottom:18px; }
.m17-footer__brand > .m17-brand__mark { width:50px; height:50px; flex-basis:50px; }
.m17-footer__brand > .m17-brand__mark img { width:44px; height:44px; }
.m17-footer__brand-copy { display:grid; gap:2px; }
.m17-footer__brand-copy strong { font-family:var(--m17-display); font-size:1.35rem; letter-spacing:.02em; }
.m17-footer__brand-copy small { color:var(--m17-accent); font-size:8px; font-weight:850; letter-spacing:.16em; }
.m17-footer__brand-block > p { max-width:340px; font-size:12px; line-height:1.65; }
.m17-footer__socials { display:flex; gap:8px; margin-top:18px; }
.m17-footer__columns { display:grid; grid-template-columns:.8fr .8fr 1.4fr; gap:clamp(25px,4vw,58px); max-width:none; }
.m17-footer__columns > div { display:grid; align-content:start; gap:8px; }
.m17-footer__columns small { margin-bottom:8px; color:var(--m17-accent); font-size:9px; font-weight:850; text-transform:uppercase; letter-spacing:.13em; }
.m17-footer__columns a { color:var(--m17-muted); font-size:12px; }
.m17-footer__columns a:hover { color:var(--m17-ink); }
.m17-footer__contact strong { max-width:260px; margin-bottom:4px; font-size:13px; line-height:1.45; }
.m17-footer__map-link { width:fit-content; margin-top:8px; color:var(--m17-accent) !important; border-bottom:1px solid currentColor; }
.m17-footer__bottom { display:flex; justify-content:space-between; gap:20px; margin-top:48px; padding-top:18px; border-top:1px solid var(--m17-line); color:#71786d; font-size:10px; }
.m17-footer__bottom a:hover { color:var(--m17-accent); }

#blazor-error-ui { display:none; position:fixed; bottom:0; inset-inline:var(--m17-sidebar) 0; z-index:1000; padding:14px 20px; background:#8c241f; color:#fff; }
#blazor-error-ui .reload { text-decoration:underline; margin-left:10px; }
#blazor-error-ui .dismiss { float:right; border:0; background:transparent; color:#fff; }

@media (max-width: 1250px) {
  .m17-home-proof { grid-template-columns:repeat(2,1fr); }
  .m17-home-proof__item:nth-child(2) { border-right:0; }
  .m17-home-proof__item:nth-child(-n+2) { border-bottom:1px solid var(--m17-line); }
  .m17-price-grid { grid-template-columns:1fr; }
  .m17-price-grid article { min-height:150px; border-right:0; border-bottom:1px solid var(--m17-line); }
  .m17-schedule-controls { grid-template-columns:1fr; }
  .m17-schedule-pricebar { grid-template-columns:repeat(4,1fr); }
  .m17-studio-experience { grid-template-columns:1fr; }
  .m17-admin-stats { grid-template-columns:repeat(2,1fr); }
  .m17-admin-grid { grid-template-columns:repeat(2,1fr); }
}

@media (max-width: 900px) {
  :root { --m17-sidebar: 0px; }
  .m17-page-column { margin-left:0; }
  .m17-sidebar { width:100%; height:76px; bottom:auto; overflow:hidden; border-right:0; border-bottom:1px solid var(--m17-line); background:rgba(17,20,16,.97); backdrop-filter:blur(14px); }
  .m17-sidebar__inner { min-height:76px; padding:10px 16px; }
  .m17-brand__mark { width:46px; height:46px; flex-basis:46px; border-radius:9px; }
  .m17-brand__mark img { width:41px; height:41px; }
  .m17-menu-toggle { display:block; }
  .m17-nav, .m17-sidebar__bottom { display:none; }
  .m17-sidebar--open { height:100svh; overflow:auto; }
  .m17-sidebar--open .m17-sidebar__inner { min-height:100%; }
  .m17-sidebar--open .m17-nav { display:flex; justify-content:flex-start; padding-top:42px; }
  .m17-sidebar--open .m17-sidebar__bottom { display:grid; }
  .m17-nav-submenu { display:none; }
  .m17-nav-backdrop { position:fixed; inset:76px 0 0; z-index:-1; border:0; background:rgba(0,0,0,.45); }
  .m17-mobile-schedule-cta { display:inline-flex; position:fixed; right:14px; bottom:14px; z-index:90; background:var(--m17-accent); color:#111; font-weight:900; padding:12px 18px; border-radius:999px; box-shadow:0 10px 35px rgba(0,0,0,.35); }
  .m17-home-hero { min-height:82svh; padding-top:125px; }
  .m17-page-hero, .m17-class-hero, .m17-registration-layout, .m17-instructor-profile-card, .m17-instructor-detail, .m17-studio-showcase, .m17-contact-grid, .m17-two-column, .m17-home-story, .m17-pricing-section, .m17-first-practical { grid-template-columns:1fr; }
  .m17-page-hero { padding-top:105px; }
  .m17-page-hero__aside { max-width:none; }
  .m17-class-hero__media { order:-1; min-height:380px; max-height:480px; }
  .m17-class-card { grid-template-columns:minmax(280px,.72fr) minmax(0,1.28fr); }
  .m17-class-card__visuals { grid-template-columns:minmax(0,1fr) 94px; }
  .m17-class-card__details { grid-template-columns:1fr 1fr; }
  .m17-class-card__pricing { grid-template-columns:1fr; }
  .m17-class-card__pricing div { border-right:0; border-bottom:1px solid var(--m17-line); }
  .m17-class-card__pricing div:last-child { border-bottom:0; }
  .m17-class-hero__pricing { grid-template-columns:1fr; }
  .m17-schedule-toolbar { position:static; }
  .m17-schedule-day { grid-template-columns:118px minmax(0,1fr); }
  .m17-schedule-day__sessions { grid-template-columns:1fr; }
  .m17-schedule-pricebar { grid-template-columns:repeat(2,1fr); }
  .m17-instructor-profile-card__image, .m17-instructor-detail__media { min-height:430px; max-height:520px; }
  .m17-instructor-detail { margin-top:105px; }
  .m17-studio-showcase__media { min-height:480px; }
  .m17-studio-gallery figure, .m17-studio-gallery figure:nth-child(1), .m17-studio-gallery figure:nth-child(4) { grid-column:span 6; }
  .m17-studio-location-cta { align-items:flex-start; flex-direction:column; }
  .m17-first-guide { grid-template-columns:1fr; }
  .m17-first-guide__intro { position:static; }
  .m17-first-practical__visual { min-height:420px; }
  .m17-contact-map-card { min-height:420px; aspect-ratio:auto; }
  .m17-registration-summary { padding-top:120px; border-right:0; border-bottom:5px solid var(--class-accent); }
  .m17-registration-form-panel { padding-top:70px; }
  .m17-admin-split { grid-template-columns:1fr; }
  .m17-admin-list { position:static; max-height:300px; }
  .m17-footer__top { grid-template-columns:1fr; }
  .m17-footer { padding-bottom:80px; }
  #blazor-error-ui { inset-inline:0; }
}

@media (max-width: 620px) {
  h1 { font-size:clamp(2.8rem,14vw,4.5rem); }
  h2 { font-size:clamp(2rem,10vw,3.2rem); }
  .m17-home-hero h1 { font-size:clamp(3.3rem,16vw,5.5rem); }
  .m17-home-proof { grid-template-columns:1fr; }
  .m17-home-proof__item { min-height:145px; border-right:0; border-bottom:1px solid var(--m17-line); }
  .m17-section-heading { align-items:start; flex-direction:column; }
  .m17-page-hero { gap:24px; padding-right:18px; padding-left:18px; }
  .m17-page-hero h1 { font-size:clamp(2.5rem,12vw,3.4rem); }
  .m17-page-hero__aside { padding:16px; }
  .m17-class-card { grid-template-columns:1fr; }
  .m17-class-card__visuals { min-height:0; aspect-ratio:4/3; grid-template-columns:minmax(0,1fr) 88px; }
  .m17-class-card__image { min-height:0; }
  .m17-class-card__topline { flex-direction:column; gap:12px; }
  .m17-class-card__details { grid-template-columns:1fr; }
  .m17-class-card__footer { align-items:flex-start; flex-direction:column; }
  .m17-week-nav { flex-wrap:wrap; }
  .m17-week-nav__label { min-width:0; flex:1 1 180px; }
  .m17-filters { display:grid; grid-template-columns:1fr; }
  .m17-select { min-width:0; }
  .m17-select__menu { width:100%; }
  .m17-check { min-height:34px; }
  .m17-schedule-pricebar { grid-template-columns:1fr 1fr; }
  .m17-schedule-day { grid-template-columns:1fr; }
  .m17-schedule-day__header { flex-direction:row; align-items:center; border-right:0; border-bottom:1px solid var(--m17-line); }
  .m17-schedule-day__header > div { display:flex; align-items:baseline; gap:12px; }
  .m17-schedule-day__header strong { font-size:1.5rem; }
  .m17-session-card { grid-template-columns:64px minmax(0,1fr); }
  .m17-session-card__thumb { width:64px; height:64px; }
  .m17-session-card__pricing { display:grid; grid-template-columns:1fr; }
  .m17-instructor-profile-card__headline { flex-direction:column; }
  .m17-profile-index { text-align:left; }
  .m17-instructor-points, .m17-instructor-detail__grid, .m17-first-class-grid, .m17-first-checklist, .m17-studio-experience__grid, .m17-admin-stats, .m17-admin-grid, .m17-footer__columns { grid-template-columns:1fr; }
  .m17-studio-gallery { display:grid; grid-template-columns:1fr; }
  .m17-studio-gallery figure, .m17-studio-gallery figure:nth-child(1), .m17-studio-gallery figure:nth-child(4) { grid-column:auto; min-height:240px; }
  .m17-contact-socials { grid-template-columns:auto 1fr; }
  .m17-trial-banner { align-items:flex-start; flex-direction:column; }
  .m17-upload-row { grid-template-columns:1fr; }
  .m17-upload-row img { width:100%; height:230px; }
  .m17-footer__bottom { flex-direction:column; }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior:auto !important; animation-duration:.001ms !important; animation-iteration-count:1 !important; transition-duration:.001ms !important; }
  .m17-home-hero video { display:none; }
  .m17-home-hero__media { background:url('/images/home/home-gallery-tancter.jpg') center/cover no-repeat; }
}

/* Admin gallery – explicit studio cover selection */
.m17-admin-cover-select {
    display: grid;
    gap: .5rem;
    margin-top: 1.1rem;
    color: var(--m17-paper);
    font-weight: 800;
}

.m17-admin-cover-select select {
    width: min(100%, 34rem);
    min-height: 3rem;
    padding: .7rem .85rem;
    border: 1px solid rgba(216, 255, 62, .24);
    border-radius: .75rem;
    background: var(--m17-bg-soft);
    color: var(--m17-paper);
    color-scheme: dark;
}

.m17-admin-cover-select small {
    color: var(--m17-muted);
    font-weight: 600;
}

.m17-admin-actions {
    display: flex;
    align-items: center;
    gap: 1rem;
    flex-wrap: wrap;
    margin-top: 1.2rem;
}

/* 2026-08-11 readability and Outlook-style schedule refinement */
@media (max-width: 1180px) {
  .m17-calendar-desktop { display:none; }
  .m17-calendar-mobile { display:grid; gap:12px; }
  .m17-schedule-toolbar { position:static; }
}
@media (max-width: 900px) {
  .m17-home-proof { grid-template-columns:repeat(2,1fr); }
  .m17-home-proof__item:nth-child(2) { border-right:0; }
  .m17-home-proof__item:nth-child(-n+2) { border-bottom:1px solid var(--m17-line); }
  .m17-class-hero { grid-template-columns:1fr; margin:18px; }
  .m17-class-hero__media { min-height:360px; padding:0 18px 18px; }
  .m17-class-hero__media-caption { right:34px; bottom:34px; left:34px; }
}
@media (max-width: 700px) {
  .m17-home-proof { grid-template-columns:1fr; }
  .m17-home-proof__item { min-height:0; border-right:0; border-bottom:1px solid var(--m17-line); }
  .m17-page-hero__aside p { font-size:14px; }
  .m17-first-guide { grid-template-columns:1fr; }
  .m17-first-guide__intro { position:static; }
  .m17-first-class-grid, .m17-first-checklist { grid-template-columns:1fr; }
}

/* --- Admin refinement update 2026-08-11 --- */
.m17-brand__mark img {
    width: 64px;
    height: 64px;
}

.m17-brand__wordmark strong,
.m17-brand__wordmark b {
    font-size: 1.2rem;
}

.m17-brand__wordmark small {
    font-size: 0.68rem;
    letter-spacing: 0.28em;
}

.m17-nav a.active,
.m17-nav a[aria-current="page"] {
    border-color: rgba(216, 255, 62, 0.55);
    background: linear-gradient(90deg, rgba(216, 255, 62, 0.2), rgba(216, 255, 62, 0.08));
    color: var(--m17-accent);
    box-shadow: inset 3px 0 0 var(--m17-accent);
}

.m17-admin-nav a.active,
.m17-admin-nav a[aria-current="page"] {
    border-color: rgba(216, 255, 62, 0.42);
    background: linear-gradient(90deg, rgba(216, 255, 62, 0.16), rgba(216, 255, 62, 0.05));
    color: var(--m17-text);
    font-weight: 800;
}

.m17-admin-card--inner {
    padding: 1.25rem 1.25rem 1rem;
    border-style: dashed;
}

.m17-admin-card--compact {
    gap: 0.85rem;
}

.m17-admin-hint {
    display: grid;
    gap: 0.4rem;
    margin-bottom: 1rem;
    padding: 1rem 1.1rem;
    border: 1px solid rgba(216,255,62,0.18);
    border-radius: 1rem;
    background: rgba(255,255,255,0.03);
    color: var(--m17-text-soft);
}

.m17-admin-hint strong {
    color: var(--m17-text);
}

.m17-admin-hint--soft {
    margin-bottom: 1.2rem;
}

.m17-setting-tile-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1rem;
}

.m17-setting-tile-grid--triple {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.m17-setting-tile-grid--compact {
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

.m17-setting-tile {
    display: flex;
    align-items: flex-start;
    gap: 0.8rem;
    min-height: 100%;
    padding: 0.95rem 1rem;
    border: 1px solid rgba(255,255,255,0.1);
    border-radius: 1rem;
    background: rgba(0, 0, 0, 0.14);
}

.m17-setting-tile input[type="checkbox"] {
    width: 1.05rem;
    height: 1.05rem;
    margin-top: 0.15rem;
    accent-color: var(--m17-accent);
}

.m17-setting-tile span {
    display: grid;
    gap: 0.24rem;
}

.m17-setting-tile strong {
    color: var(--m17-text);
}

.m17-setting-tile small,
.m17-help {
    color: var(--m17-text-soft);
    line-height: 1.55;
}

.m17-setting-tile--single {
    max-width: 46rem;
}

.m17-setting-tile--compact {
    padding: 0.8rem 0.95rem;
}

.m17-setting-tile--field {
    justify-content: space-between;
    align-items: center;
}

.m17-setting-tile--field input {
    max-width: 6rem;
}

.m17-file-upload {
    position: relative;
    display: grid;
    gap: 0.25rem;
    padding: 1rem 1.1rem;
    border: 1px dashed rgba(216,255,62,0.38);
    border-radius: 1rem;
    background: rgba(216,255,62,0.06);
    cursor: pointer;
    overflow: hidden;
}

.m17-file-upload input[type="file"] {
    position: absolute;
    inset: 0;
    opacity: 0;
    cursor: pointer;
}

.m17-file-upload span {
    font-weight: 800;
    color: var(--m17-text);
}

.m17-file-upload small {
    color: var(--m17-text-soft);
}

.m17-upload-card {
    display: grid;
    grid-template-columns: 180px minmax(0, 1fr);
    gap: 1rem;
    margin: 1rem 0;
    padding: 1rem;
    border: 1px solid rgba(255,255,255,0.1);
    border-radius: 1.1rem;
    background: rgba(255,255,255,0.03);
}

.m17-upload-card__preview {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 180px;
    border-radius: 0.9rem;
    background: rgba(0,0,0,0.18);
    overflow: hidden;
}

.m17-upload-card__preview img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.m17-upload-card__placeholder {
    padding: 1rem;
    color: var(--m17-text-soft);
    text-align: center;
}

.m17-upload-card__content {
    display: grid;
    gap: 1rem;
}

.m17-upload-inline {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 1rem;
    align-items: end;
}

.m17-admin-cover-select {
    display: grid;
    gap: 0.4rem;
    margin-top: 1rem;
}

.m17-admin-table-card {
    overflow-x: auto;
    border: 1px solid rgba(255,255,255,0.08);
    border-radius: 1rem;
}

.m17-table {
    width: 100%;
    border-collapse: collapse;
}

.m17-table th,
.m17-table td {
    padding: 0.9rem 1rem;
    border-bottom: 1px solid rgba(255,255,255,0.08);
    text-align: left;
    vertical-align: top;
}

.m17-table tbody tr:last-child td {
    border-bottom: none;
}

.m17-table input {
    min-width: 10rem;
}

.m17-admin-list--static {
    max-height: none;
}

.m17-text-button--danger {
    color: #ffb2b2;
}

.m17-media-admin-grid article {
    gap: 0.9rem;
}

.m17-media-admin-grid article > div {
    display: grid;
    gap: 0.7rem;
}

.m17-media-pick span {
    font-size: 0.78rem;
}

@media (max-width: 1100px) {
    .m17-setting-tile-grid--triple,
    .m17-setting-tile-grid--compact,
    .m17-upload-inline {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 760px) {
    .m17-setting-tile-grid,
    .m17-setting-tile-grid--triple,
    .m17-setting-tile-grid--compact,
    .m17-upload-inline,
    .m17-upload-card {
        grid-template-columns: 1fr;
    }

    .m17-upload-card__preview {
        min-height: 220px;
    }
}

.m17-password-input {
    position: relative;
}

.m17-password-input .m17-input,
.m17-password-input input {
    width: 100%;
    padding-right: 3rem;
}

.m17-password-toggle {
    position: absolute;
    top: 50%;
    right: 0.65rem;
    transform: translateY(-50%);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 2rem;
    height: 2rem;
    border: 0;
    border-radius: 999px;
    background: transparent;
    color: var(--m17-text-soft);
}

.m17-password-toggle svg {
    width: 1.05rem;
    height: 1.05rem;
    fill: currentColor;
}

.m17-admin-list button.active,
.m17-admin-list button.is-active {
    border-color: rgba(216,255,62,0.55);
    background: linear-gradient(90deg, rgba(216,255,62,0.22), rgba(216,255,62,0.08));
    box-shadow: inset 3px 0 0 var(--m17-accent);
}

/* Sidebar height/scroll fix for authenticated admin navigation */
@media (min-width: 901px) {
  .m17-sidebar {
    height: 100dvh;
    overflow: hidden;
  }

  .m17-sidebar__inner {
    height: 100%;
    min-height: 0;
    overflow: hidden;
  }

  .m17-sidebar__top,
  .m17-sidebar__bottom {
    flex: 0 0 auto;
  }

  .m17-nav {
    min-height: 0;
    overflow-y: auto;
    overflow-x: visible;
    justify-content: flex-start;
    padding: 24px 4px 18px 0;
    scrollbar-width: thin;
    scrollbar-color: rgba(216,255,62,.3) transparent;
  }

  .m17-nav::-webkit-scrollbar { width: 5px; }
  .m17-nav::-webkit-scrollbar-track { background: transparent; }
  .m17-nav::-webkit-scrollbar-thumb {
    border-radius: 999px;
    background: rgba(216,255,62,.28);
  }

  .m17-sidebar__bottom {
    padding-bottom: 2px;
  }
}

/* Contact map CTA – override legacy absolute-position rule */
.m17-contact-map-card > .m17-contact-map-actions {
  position: static;
}
.m17-contact-map-card > .m17-contact-map-actions > a {
  position: static;
}

/* --- Sidebar navigation refinement 2026-08-11 --- */
@media (min-width: 901px) {
  .m17-sidebar {
    height: 100dvh;
    overflow: visible;
  }

  .m17-sidebar__inner {
    height: 100%;
    min-height: 0;
    overflow: visible;
    padding: 18px 16px 14px;
  }

  .m17-sidebar__top,
  .m17-sidebar__bottom {
    flex: 0 0 auto;
  }

  .m17-nav {
    flex: 1 1 auto;
    min-height: 0;
    justify-content: flex-start;
    gap: 3px;
    padding: 16px 0 10px;
    overflow: visible;
  }

  .m17-nav > a,
  .m17-nav-group > a {
    min-height: 36px;
    padding-top: 6px;
    padding-bottom: 6px;
  }

  .m17-admin-nav {
    max-height: clamp(205px, 34dvh, 350px);
    overflow-y: auto;
    overflow-x: hidden;
    margin-top: 8px;
    padding: 10px;
    scrollbar-width: thin;
    scrollbar-color: rgba(216,255,62,.34) transparent;
  }

  .m17-admin-nav::-webkit-scrollbar { width: 4px; }
  .m17-admin-nav::-webkit-scrollbar-track { background: transparent; }
  .m17-admin-nav::-webkit-scrollbar-thumb {
    border-radius: 999px;
    background: rgba(216,255,62,.34);
  }

  .m17-admin-nav a {
    display: block;
    min-width: 0;
    padding: 5px 8px;
    border-left: 2px solid transparent;
    border-radius: 6px;
    white-space: normal;
    overflow-wrap: anywhere;
  }

  .m17-admin-nav a.active,
  .m17-admin-nav a[aria-current="page"] {
    border-left-color: var(--m17-accent);
    background: rgba(216,255,62,.1);
    color: #fff;
    box-shadow: none;
  }

  .m17-sidebar__bottom {
    gap: 9px;
    padding-top: 12px;
  }
}

/* Registration consent */
.m17-consent--card {
  align-items: center;
  gap: 12px;
  padding: 13px 14px;
  border: 1px solid rgba(255,255,255,.1);
  border-radius: 10px;
  background: rgba(255,255,255,.035);
  cursor: pointer;
}

.m17-consent--card input[type="checkbox"] {
  appearance: none;
  display: grid;
  place-content: center;
  width: 20px;
  height: 20px;
  flex: 0 0 20px;
  margin: 0;
  border: 1px solid rgba(255,255,255,.34);
  border-radius: 5px;
  background: #151914;
  cursor: pointer;
  transition: border-color .16s ease, background .16s ease, box-shadow .16s ease;
}

.m17-consent--card input[type="checkbox"]::before {
  content: "";
  width: 10px;
  height: 6px;
  border-left: 2px solid #111;
  border-bottom: 2px solid #111;
  transform: rotate(-45deg) scale(0);
  transition: transform .12s ease;
}

.m17-consent--card input[type="checkbox"]:checked {
  border-color: var(--m17-accent);
  background: var(--m17-accent);
  box-shadow: 0 0 0 3px rgba(216,255,62,.1);
}

.m17-consent--card input[type="checkbox"]:checked::before {
  transform: rotate(-45deg) scale(1);
}

.m17-consent--card > span {
  display: grid;
  gap: 2px;
}

.m17-consent--card strong {
  color: var(--m17-ink);
  font-size: .9rem;
}

.m17-consent--card small {
  color: var(--m17-muted);
  line-height: 1.45;
}

/* Registration admin calendar */
.m17-registration-admin-layout {
  display: grid;
  grid-template-columns: minmax(270px, 330px) minmax(0, 1fr);
  gap: 18px;
  align-items: start;
}

.m17-registration-calendar-card {
  position: sticky;
  top: 24px;
  padding: 18px;
}

.m17-calendar-head {
  display: grid;
  grid-template-columns: 38px minmax(0,1fr) 38px;
  align-items: center;
  gap: 10px;
  margin-bottom: 14px;
}

.m17-calendar-head > div {
  display: grid;
  text-align: center;
}

.m17-calendar-head small {
  color: var(--m17-accent);
  font-size: 9px;
  font-weight: 800;
  letter-spacing: .16em;
  text-transform: uppercase;
}

.m17-calendar-head strong {
  color: var(--m17-ink);
  text-transform: capitalize;
}

.m17-calendar-nav {
  display: grid;
  place-items: center;
  width: 38px;
  height: 38px;
  border: 1px solid var(--m17-line);
  border-radius: 50%;
  background: transparent;
  color: var(--m17-ink);
  cursor: pointer;
}

.m17-calendar-nav:hover { border-color: var(--m17-accent); color: var(--m17-accent); }

.m17-calendar-weekdays,
.m17-registration-calendar-grid {
  display: grid;
  grid-template-columns: repeat(7, minmax(0, 1fr));
  gap: 5px;
}

.m17-calendar-weekdays {
  margin-bottom: 5px;
  color: var(--m17-muted);
  font-size: 9px;
  font-weight: 800;
  text-align: center;
  text-transform: uppercase;
}

.m17-calendar-day {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: space-between;
  min-height: 62px;
  padding: 7px;
  border: 1px solid rgba(255,255,255,.075);
  border-radius: 8px;
  background: rgba(0,0,0,.12);
  color: var(--m17-ink);
  text-align: left;
}

button.m17-calendar-day { cursor: pointer; }
button.m17-calendar-day:hover { border-color: rgba(216,255,62,.42); background: rgba(216,255,62,.055); }
.m17-calendar-day--empty { border-color: transparent; background: transparent; }
.m17-calendar-day__number { font-weight: 800; }
.m17-calendar-day__meta { color: var(--m17-muted); font-size: 8px; }
.m17-calendar-day strong { color: var(--m17-accent); font-size: 9px; }
.m17-calendar-day.has-session::after {
  content: "";
  position: absolute;
  top: 6px;
  right: 6px;
  width: 5px;
  height: 5px;
  border-radius: 50%;
  background: #788070;
}
.m17-calendar-day.has-registration::after { background: var(--m17-accent); }
.m17-calendar-day.is-selected { border-color: var(--m17-accent); background: rgba(216,255,62,.09); }
.m17-calendar-day.is-today .m17-calendar-day__number { color: var(--m17-accent); }

.m17-calendar-legend {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-top: 12px;
  color: var(--m17-muted);
  font-size: 9px;
}
.m17-calendar-legend span { display:flex; align-items:center; gap:5px; }
.m17-calendar-legend i { width:7px; height:7px; border-radius:50%; background:#788070; }
.m17-calendar-legend i.m17-calendar-legend__accent { background:var(--m17-accent); }

.m17-registration-admin-content { min-width: 0; display: grid; gap: 14px; }
.m17-admin-toolbar--card {
  padding: 14px;
  border: 1px solid var(--m17-line);
  border-radius: 12px;
  background: var(--m17-surface);
}

@media (max-width: 1080px) {
  .m17-registration-admin-layout { grid-template-columns: 1fr; }
  .m17-registration-calendar-card { position: static; max-width: 560px; }
}

/* Gallery admin refinement */
.m17-gallery-upload-card > header { margin-bottom: 14px; }
.m17-gallery-upload-grid {
  display: grid;
  grid-template-columns: minmax(0,1fr) minmax(0,1fr) minmax(250px,.72fr);
  gap: 14px;
  align-items: stretch;
}
.m17-gallery-upload-grid > label:not(.m17-file-upload) {
  display: grid;
  align-content: start;
  gap: 7px;
}
.m17-gallery-upload-grid .m17-file-upload {
  min-height: 124px;
  align-content: center;
  justify-items: center;
  text-align: center;
}
.m17-required {
  width: fit-content;
  margin-left: 4px;
  color: var(--m17-accent);
  font-size: 9px;
  font-weight: 800;
  letter-spacing: .08em;
  text-transform: uppercase;
}
.m17-media-pick {
  overflow: hidden;
  background: #171a15;
}
.m17-media-pick input[type="checkbox"] {
  appearance: none;
  z-index: 2;
  display: grid;
  place-content: center;
  width: 20px;
  height: 20px;
  border: 1px solid rgba(255,255,255,.4);
  border-radius: 5px;
  background: rgba(12,14,11,.9);
}
.m17-media-pick input[type="checkbox"]::before {
  content: "";
  width: 10px;
  height: 6px;
  border-left: 2px solid #111;
  border-bottom: 2px solid #111;
  transform: rotate(-45deg) scale(0);
}
.m17-media-pick input[type="checkbox"]:checked {
  border-color: var(--m17-accent);
  background: var(--m17-accent);
}
.m17-media-pick input[type="checkbox"]:checked::before { transform: rotate(-45deg) scale(1); }
.m17-media-pick.selected { background: rgba(216,255,62,.055); }
.m17-admin-cover-select select { width: min(100%, 560px); }

@media (max-width: 1100px) {
  .m17-gallery-upload-grid { grid-template-columns: 1fr 1fr; }
  .m17-gallery-upload-grid .m17-file-upload { grid-column: 1 / -1; }
}
@media (max-width: 720px) {
  .m17-gallery-upload-grid { grid-template-columns: 1fr; }
  .m17-gallery-upload-grid .m17-file-upload { grid-column: auto; }
}

/* E-mail template admin refinement */
.m17-email-flow {
  display: grid;
  grid-template-columns: repeat(4, minmax(0,1fr));
  gap: 10px;
  margin-bottom: 18px;
}
.m17-email-flow article {
  display: grid;
  grid-template-columns: 34px minmax(0,1fr);
  gap: 10px;
  min-height: 140px;
  padding: 14px;
  border: 1px solid var(--m17-line);
  border-radius: 12px;
  background: var(--m17-surface);
}
.m17-email-flow article > span {
  display: grid;
  place-items: center;
  width: 30px;
  height: 30px;
  border: 1px solid rgba(216,255,62,.35);
  border-radius: 50%;
  color: var(--m17-accent);
  font-size: 10px;
  font-weight: 900;
}
.m17-email-flow article div { display:grid; align-content:start; gap:4px; }
.m17-email-flow small { color:var(--m17-accent); font-size:8px; font-weight:850; letter-spacing:.12em; text-transform:uppercase; }
.m17-email-flow strong { color:var(--m17-ink); font-size:.9rem; line-height:1.3; overflow-wrap:anywhere; }
.m17-email-flow p { margin:0; font-size:11px; line-height:1.5; }

.m17-email-template-sidebar { align-self:start; }
.m17-email-template-note { margin-top:12px; padding-top:12px; border-top:1px solid var(--m17-line); }
.m17-email-purpose-card {
  display:flex;
  justify-content:space-between;
  gap:20px;
  margin-bottom:18px;
  padding:16px;
  border:1px solid rgba(216,255,62,.2);
  border-radius:12px;
  background:rgba(216,255,62,.035);
}
.m17-email-purpose-card h2 { font-size:2rem; }
.m17-email-purpose-card > span {
  align-self:flex-start;
  padding:6px 9px;
  border-radius:999px;
  font-size:9px;
  font-weight:850;
  text-transform:uppercase;
  letter-spacing:.08em;
}
.m17-email-purpose-card > span.is-active { background:rgba(216,255,62,.14); color:var(--m17-accent); }
.m17-email-purpose-card > span.is-inactive { background:rgba(255,255,255,.06); color:var(--m17-muted); }

.m17-email-editor-form { gap:14px; }
.m17-email-editor-section {
  display:grid;
  gap:13px;
  padding:16px;
  border:1px solid rgba(255,255,255,.08);
  border-radius:12px;
  background:rgba(0,0,0,.08);
}
.m17-email-editor-section__head {
  display:grid;
  grid-template-columns:minmax(220px,.65fr) minmax(0,1.35fr);
  gap:20px;
  align-items:end;
}
.m17-email-editor-section__head small { color:var(--m17-accent); font-size:9px; font-weight:850; letter-spacing:.12em; text-transform:uppercase; }
.m17-email-editor-section__head h3 { margin-top:3px; font-size:1.55rem; }
.m17-email-editor-section__head p { margin:0; font-size:11px; line-height:1.6; }
.m17-email-editor-section--compact { grid-template-columns:minmax(0,1fr) auto; align-items:end; }

.m17-token-help--professional {
  display:grid;
  gap:12px;
  margin-top:18px;
  padding:16px;
  border:1px solid var(--m17-line);
  border-radius:12px;
  background:#20251e;
}
.m17-token-grid {
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:8px;
}
.m17-token-grid code {
  display:grid;
  gap:4px;
  padding:10px;
  border:1px solid rgba(255,255,255,.08);
  border-radius:8px;
  background:#151814;
  color:var(--m17-accent);
  font-size:11px;
}
.m17-token-grid code small { color:var(--m17-muted); font-family:var(--m17-body); font-size:9px; }

@media (max-width: 1180px) {
  .m17-email-flow { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width: 760px) {
  .m17-email-flow { grid-template-columns:1fr; }
  .m17-email-editor-section__head,
  .m17-email-editor-section--compact,
  .m17-token-grid { grid-template-columns:1fr; }
}

@media (min-width: 901px) and (max-height: 860px) {
  .m17-sidebar__inner { padding-top: 12px; padding-bottom: 10px; }
  .m17-brand__mark { width: 50px; height: 50px; flex-basis: 50px; }
  .m17-brand__mark img { width: 46px; height: 46px; }
  .m17-nav { padding-top: 10px; padding-bottom: 7px; gap: 1px; }
  .m17-nav > a, .m17-nav-group > a { min-height: 32px; padding-top: 4px; padding-bottom: 4px; }
  .m17-nav-cta { margin: 4px 0; }
  .m17-admin-nav { max-height: 230px; margin-top: 5px; padding: 8px; }
  .m17-admin-nav a { padding-top: 4px; padding-bottom: 4px; }
  .m17-sidebar__bottom { gap: 6px; padding-top: 8px; }
  .m17-social-icon { width: 31px; height: 31px; flex-basis:31px; }
}

/* --- Final pre-publish visual fixes: schedule/admin date/settings --- */
.m17-admin-page input[type="date"] {
    color-scheme: dark;
}

.m17-admin-page input[type="date"]::-webkit-calendar-picker-indicator {
    opacity: .9;
    filter: invert(1) brightness(1.25);
    cursor: pointer;
}

.m17-settings-section-heading {
    display: flex;
    align-items: end;
    justify-content: space-between;
    gap: 1rem;
    margin-top: .75rem;
}

.m17-settings-section-heading h2 {
    margin-bottom: .25rem;
}

.m17-settings-pricing-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 1rem;
    align-items: stretch;
}

.m17-settings-price-field {
    display: grid;
    align-content: start;
    gap: .45rem;
    min-width: 0;
    padding: 1rem;
    border: 1px solid rgba(255,255,255,.09);
    border-radius: 1rem;
    background: rgba(0,0,0,.12);
}

.m17-settings-price-field > span {
    font-weight: 800;
    color: var(--m17-text);
}

.m17-settings-price-field input {
    width: 100%;
}

.m17-settings-price-field small {
    color: var(--m17-text-soft);
    line-height: 1.45;
}

.m17-setting-tile--trial {
    align-items: center;
    border-color: rgba(216,255,62,.24);
    background: linear-gradient(135deg, rgba(216,255,62,.08), rgba(255,255,255,.025));
}

.m17-setting-tile--trial input[type="checkbox"] {
    flex: 0 0 auto;
    width: 1.15rem;
    height: 1.15rem;
}

@media (max-width: 1200px) {
    .m17-settings-pricing-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 720px) {
    .m17-settings-pricing-grid {
        grid-template-columns: 1fr;
    }
}


/* --- UI refinement round 2026-08-12 --- */

/* Sidebar: keep the Órák flyout hoverable while crossing the visual gap. */
@media (min-width: 901px) {
  .m17-nav-group { isolation:isolate; }
  .m17-nav-submenu { left:calc(100% + 10px); top:-14px; }
  .m17-nav-submenu::before {
    content:"";
    position:absolute;
    top:-10px;
    right:100%;
    bottom:-10px;
    width:18px;
  }
}

/* Shared vertical rhythm: compact, but never cramped. */
.m17-section { padding-top:clamp(52px,6vw,86px); padding-bottom:clamp(52px,6vw,86px); }
.m17-section-heading { margin-bottom:28px; }
.m17-final-cta { padding-top:clamp(68px,8vw,108px); padding-bottom:clamp(68px,8vw,108px); }
.m17-final-cta h2 { margin-bottom:30px; }

/* Public page headers: tighter hierarchy and more readable body copy. */
.m17-page-hero {
  grid-template-columns:minmax(0,1.12fr) minmax(320px,.88fr);
  gap:clamp(26px,3.4vw,52px);
  padding:clamp(38px,4.2vw,54px) clamp(24px,5vw,72px);
}
.m17-page-hero .m17-kicker { margin-bottom:10px; font-size:10px; }
.m17-page-hero h1 { font-size:clamp(2.5rem,3.7vw,3.9rem); line-height:1; }
.m17-page-hero__aside { padding:20px 22px; }
.m17-page-hero__aside p { margin-bottom:13px; font-size:15px; line-height:1.58; }
.m17-page-hero__chips { margin-bottom:13px; }

/* Class detail page: reduce oversized empty zones and headline scale. */
.m17-class-hero { margin-top:24px; grid-template-columns:minmax(0,1.08fr) minmax(340px,.92fr); }
.m17-class-hero__copy { padding:clamp(36px,4.2vw,56px) clamp(28px,4.4vw,58px); }
.m17-class-hero h1 { font-size:clamp(2.65rem,4vw,4.15rem); line-height:.98; }
.m17-class-hero__media { min-height:390px; max-height:490px; }
.m17-class-hero__pricing { margin-bottom:20px; }
.m17-class-hero__pricing small { font-size:9px; }
.m17-class-hero__pricing strong { font-size:12px; }

/* Schedule: smaller chrome, larger useful text. */
.m17-schedule-shell { padding-top:24px; padding-bottom:72px; }
.m17-schedule-toolbar { padding:13px; gap:13px; }
.m17-schedule-pricebar span { min-width:112px; padding:9px 11px; }
.m17-schedule-pricebar small { font-size:9px; line-height:1.2; }
.m17-schedule-pricebar strong { font-size:12px; line-height:1.25; }
.m17-calendar-week-head__corner { padding:11px 9px; }
.m17-calendar-week-head__corner span { font-size:10px; }
.m17-calendar-week-head__day { padding:10px 10px; gap:3px; }
.m17-calendar-week-head__day small { font-size:10px; }
.m17-calendar-week-head__day strong { font-size:1.28rem; }
.m17-calendar-week-head__day span { font-size:10px; }

/* Native selects now visually match the custom Órarend dropdowns. */
.m17-form select,
.m17-filters select,
.m17-admin-page select,
.m17-admin-cover-select select {
  min-height:44px;
  border:1px solid var(--m17-line);
  border-radius:10px;
  padding:9px 38px 9px 12px;
  background-color:#2b3128;
  color:var(--m17-ink);
  font-size:12px;
  font-weight:700;
  color-scheme:dark;
  cursor:pointer;
}
.m17-form select:hover,
.m17-form select:focus,
.m17-admin-page select:hover,
.m17-admin-page select:focus {
  border-color:var(--m17-accent);
  outline:2px solid rgba(216,255,62,.12);
  outline-offset:1px;
}
.m17-form select option,
.m17-admin-page select option {
  background:#20251e;
  color:#f7f5ee;
  font-size:13px;
}

/* Contact: zoom-safe columns and text-only phone/e-mail rows. */
.m17-contact-grid { grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr); gap:22px; padding-top:clamp(38px,5vw,64px); padding-bottom:clamp(38px,5vw,64px); }
.m17-contact-map-card,
.m17-contact-details-card,
.m17-contact-map-frame { min-width:0; }
.m17-contact-map-frame iframe { width:100%; max-width:100%; }
.m17-contact-list a,
.m17-contact-list__item { display:grid; grid-template-columns:minmax(82px,100px) minmax(0,1fr); gap:18px; border-bottom:1px solid var(--m17-line); padding:15px 0; }
.m17-contact-list__item span { color:var(--m17-muted); }
.m17-contact-list__item strong,
.m17-contact-list strong { min-width:0; overflow-wrap:anywhere; word-break:break-word; }
@media (max-width: 1180px) {
  .m17-contact-grid { grid-template-columns:1fr; }
  .m17-contact-map-frame { min-height:440px; }
}
@media (max-width: 560px) {
  .m17-contact-list a,
  .m17-contact-list__item { grid-template-columns:1fr; gap:3px; }
}

/* Admin forms: consistent two-column alignment. */
.m17-admin-page .m17-form { gap:15px; }
.m17-admin-page .m17-form-grid { gap:14px 16px; align-items:start; }
.m17-admin-page .m17-form-grid > label {
  display:grid;
  grid-template-rows:auto auto 1fr;
  align-content:start;
  gap:7px;
  min-width:0;
  margin:0;
}
.m17-admin-page .m17-form-grid > label > input,
.m17-admin-page .m17-form-grid > label > select { min-height:48px; }
.m17-admin-page .m17-form-grid > label > textarea { align-self:stretch; }
.m17-admin-page .m17-form-grid .m17-help { min-height:1.45em; }

/* Date input: force a clearly visible white calendar glyph in Chromium. */
.m17-admin-page input[type="date"] { color-scheme:dark !important; }
.m17-admin-page input[type="date"]::-webkit-calendar-picker-indicator {
  opacity:1 !important;
  filter:invert(1) brightness(2) contrast(1.15) !important;
  cursor:pointer;
}

/* Instructor admin: compact and aligned editing surface. */
.m17-instructors-admin-page .m17-admin-card { padding:22px; }
.m17-instructors-admin-page .m17-form-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }

/* Gallery admin: less air, larger descriptive text, aligned fields. */
.m17-gallery-admin-page { padding-top:clamp(64px,7vw,92px); }
.m17-gallery-admin-page .m17-admin-header { margin-bottom:22px; }
.m17-gallery-admin-page .m17-admin-card { margin-bottom:16px; padding:20px; }
.m17-gallery-admin-page .m17-admin-card--compact { padding:16px 18px; }
.m17-gallery-admin-page .m17-admin-card h2 { font-size:clamp(1.75rem,2.2vw,2.25rem); }
.m17-gallery-admin-page .m17-help { font-size:12px; line-height:1.55; }
.m17-gallery-admin-page .m17-gallery-upload-grid { gap:12px; }
.m17-gallery-admin-page .m17-gallery-upload-grid .m17-file-upload { min-height:112px; }
.m17-gallery-admin-page .m17-admin-split { gap:14px; }
.m17-gallery-admin-page .m17-admin-list button { padding:12px 13px; }
.m17-gallery-admin-page .m17-admin-list span { font-size:12px; }
.m17-gallery-admin-page .m17-form { gap:13px; }
.m17-gallery-admin-page h3 { margin-bottom:8px; }
.m17-gallery-admin-page .m17-media-picker { margin-top:4px; }

/* Email templates: readable card copy and explicit spacing below template list. */
.m17-email-admin-page { padding-top:clamp(64px,7vw,92px); }
.m17-email-admin-page .m17-admin-header { margin-bottom:22px; }
.m17-email-flow { gap:12px; margin-bottom:16px; }
.m17-email-flow article { min-height:118px; padding:14px; }
.m17-email-flow small { font-size:9px; }
.m17-email-flow strong { font-size:1rem; }
.m17-email-flow p { font-size:12px; line-height:1.55; }
.m17-email-template-sidebar { display:grid; gap:13px; }
.m17-email-template-sidebar > h2,
.m17-email-template-sidebar > p,
.m17-email-template-sidebar > .m17-admin-list,
.m17-email-template-sidebar > .m17-button { margin:0; }
.m17-email-template-sidebar .m17-admin-list { position:static; max-height:360px; overflow:auto; }
.m17-email-template-sidebar .m17-admin-list button { padding:13px; }
.m17-email-template-sidebar .m17-admin-list span { font-size:12px; line-height:1.45; }
.m17-email-template-sidebar > .m17-button { justify-self:start; }
.m17-email-template-note { margin-top:0 !important; font-size:12px; line-height:1.55; }
.m17-email-purpose-card { margin-bottom:14px; padding:15px; }
.m17-email-purpose-card h2 { font-size:1.85rem; }
.m17-email-editor-section__head p { font-size:12px; line-height:1.55; }
.m17-token-grid code { font-size:12px; }
.m17-token-grid code small { font-size:10px; }

@media (max-width: 900px) {
  .m17-page-hero { gap:22px; padding-top:92px; }
  .m17-class-hero__media { min-height:340px; }
  .m17-admin-page .m17-form-grid,
  .m17-instructors-admin-page .m17-form-grid { grid-template-columns:1fr; }
}

/* ========================================================================== */
/* 2026-08-12 UI refinement round 2                                          */
/* ========================================================================== */

/* Class details: tighter composition and readable metadata on dark hero. */
.m17-class-hero {
  margin-top:18px;
  grid-template-columns:minmax(0,1.06fr) minmax(340px,.94fr);
}
.m17-class-hero__copy {
  padding:clamp(30px,3.6vw,48px) clamp(28px,4vw,54px);
}
.m17-class-hero h1 {
  max-width:760px;
  font-size:clamp(2.45rem,3.65vw,3.8rem);
  line-height:1;
}
.m17-class-hero .m17-lead {
  max-width:690px;
  color:#e0e4da;
  font-size:clamp(1.02rem,1.35vw,1.2rem);
  line-height:1.48;
}
.m17-class-hero .m17-chip-row {
  margin:13px 0 17px;
}
.m17-class-hero .m17-chip-row span {
  border-color:rgba(216,255,62,.24);
  background:rgba(255,255,255,.025);
  color:#cfd5ca;
}
.m17-class-hero__media {
  min-height:350px;
  max-height:440px;
}
.m17-class-details-section {
  padding-top:clamp(38px,4vw,56px);
  padding-bottom:clamp(42px,4.5vw,62px);
  gap:clamp(34px,4vw,64px);
}
.m17-class-details-section h2 {
  max-width:700px;
  margin-bottom:12px;
  font-size:clamp(2.55rem,4vw,4rem);
  line-height:.98;
}
.m17-class-details-section > div > p:not(.m17-kicker) {
  max-width:720px;
  margin:0 0 12px;
  color:#d5dbd0;
  font-size:1rem;
  line-height:1.65;
}
.m17-class-details-section .m17-info-panel {
  padding:22px 26px;
}
.m17-class-details-section .m17-info-panel dl div {
  padding:14px 0;
}
.m17-class-sessions-section {
  padding-top:clamp(46px,5vw,70px);
}

/* Admin dropdowns use the exact same custom M17Select control as Órarend. */
.m17-admin-select-field {
  display:grid;
  gap:7px;
  min-width:0;
  align-content:start;
}
.m17-admin-select-field .m17-select {
  width:100%;
  min-width:0;
}
.m17-admin-select-field .m17-select__trigger {
  min-height:48px;
}
.m17-admin-select-field .m17-select__menu {
  z-index:350;
  width:100%;
  min-width:100%;
}
.m17-admin-card,
.m17-form-grid,
.m17-admin-split {
  overflow:visible;
}

/* Gallery admin: album fields form a clean single row on desktop. */
.m17-gallery-admin-page .m17-form-grid {
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:14px;
}
.m17-gallery-admin-page .m17-form-grid > label,
.m17-gallery-admin-page .m17-form-grid > .m17-admin-select-field {
  min-width:0;
}

@media (max-width: 1050px) {
  .m17-gallery-admin-page .m17-form-grid {
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}

@media (max-width: 900px) {
  .m17-class-hero {
    margin:14px;
    grid-template-columns:1fr;
  }
  .m17-class-hero__media {
    min-height:300px;
    max-height:400px;
  }
  .m17-class-details-section {
    gap:28px;
  }
  .m17-gallery-admin-page .m17-form-grid {
    grid-template-columns:1fr;
  }
}
