@font-face{font-family:'Montserrat';font-style:normal;font-weight:400;font-display:swap;src:url('fonts/montserrat-cyrillic-400.woff2') format('woff2');unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}
@font-face{font-family:'Montserrat';font-style:normal;font-weight:400;font-display:swap;src:url('fonts/montserrat-latin-400.woff2') format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Montserrat';font-style:normal;font-weight:500;font-display:swap;src:url('fonts/montserrat-cyrillic-500.woff2') format('woff2');unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}
@font-face{font-family:'Montserrat';font-style:normal;font-weight:500;font-display:swap;src:url('fonts/montserrat-latin-500.woff2') format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Montserrat';font-style:normal;font-weight:600;font-display:swap;src:url('fonts/montserrat-cyrillic-600.woff2') format('woff2');unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}
@font-face{font-family:'Montserrat';font-style:normal;font-weight:600;font-display:swap;src:url('fonts/montserrat-latin-600.woff2') format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Montserrat';font-style:normal;font-weight:700;font-display:swap;src:url('fonts/montserrat-cyrillic-700.woff2') format('woff2');unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}
@font-face{font-family:'Montserrat';font-style:normal;font-weight:700;font-display:swap;src:url('fonts/montserrat-latin-700.woff2') format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Montserrat';font-style:normal;font-weight:800;font-display:swap;src:url('fonts/montserrat-cyrillic-800.woff2') format('woff2');unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}
@font-face{font-family:'Montserrat';font-style:normal;font-weight:800;font-display:swap;src:url('fonts/montserrat-latin-800.woff2') format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
/* --- самохостинг шрифтов (не зависим от Google Fonts, блокируемых в РФ) --- */
/* EasyBusy platform — бренд-стиль (светлая тема, бежевый акцент) */
:root{
  --bg:#F0EEEC; --bg2:#EBE9E2; --card:#FFFFFF; --line:#E6DED4;
  --cream:#3E362B; --cream2:#EFE7D8; --gold:#D2B48C; --gold-d:#B0895C; --gold-ink:#7E5F2E;
  --text:#1C1A17; --muted:#6B6357; --on-cream:#241F18;
  --ok:#2E9E63; --warn:#C08A2C; --bad:#C24A2E;
}
*{box-sizing:border-box}
html,body{margin:0;padding:0}
body{background:var(--bg);color:var(--text);
  font-family:Montserrat,-apple-system,Segoe UI,Roboto,sans-serif;line-height:1.55;-webkit-font-smoothing:antialiased}
a{color:var(--gold-ink);text-decoration:none}
h1,h2,h3{font-family:Montserrat,Montserrat,sans-serif;font-weight:800;line-height:1.15;margin:0}
img{max-width:100%}
.container{max-width:1120px;margin:0 auto;padding:0 18px}
.muted{color:var(--muted)}
.gold{color:var(--gold-ink)}

/* Header */
.hdr{position:sticky;top:0;z-index:30;background:rgba(240,238,236,.9);backdrop-filter:blur(10px);
  border-bottom:1px solid var(--line)}
.hdr .container{display:flex;align-items:center;gap:16px;height:60px}
.logo{display:flex;align-items:center;gap:9px;font-family:Montserrat;font-weight:800;color:var(--text);font-size:16px}
.logo-tx{display:flex;flex-direction:column;justify-content:center;line-height:1.06}
.logo-sub{display:block;font-size:10.5px;font-weight:600;color:var(--gold-ink);letter-spacing:.06em;line-height:1;margin-top:1px}
.logo .dot{width:26px;height:26px;border-radius:7px;background:linear-gradient(135deg,var(--gold),var(--gold-d));
  display:grid;place-items:center;color:#1a1206;font-weight:900;font-size:14px}
.logo-img{height:26px;width:auto;display:block}
.btn-back{width:34px;height:34px;border-radius:9px;border:1px solid var(--line);background:var(--card);
  color:var(--text);font-size:18px;cursor:pointer;flex:none;display:grid;place-items:center}
.btn-back:hover{border-color:var(--gold-d);color:var(--gold-ink)}
.nav{display:flex;gap:16px;margin-left:8px;flex-wrap:wrap}
@media(max-width:760px){.nav{gap:12px;font-size:13px}.hdr .container{height:auto;padding-top:8px;padding-bottom:8px;flex-wrap:wrap}}
.nav a{color:var(--muted);font-size:14px;font-weight:600}
.nav a:hover,.nav a.active{color:var(--text)}
.hdr .spacer{flex:1}
.userbox{display:flex;align-items:center;gap:10px;font-size:14px}
.avatar{width:30px;height:30px;border-radius:50%;background:var(--gold-d);color:#1a1206;
  display:grid;place-items:center;font-weight:800}

/* Buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;text-align:center;gap:7px;border:0;cursor:pointer;border-radius:10px;
  font-family:Montserrat;font-weight:700;font-size:14px;padding:10px 16px;transition:.15s;text-decoration:none}
.btn-gold{background:linear-gradient(135deg,var(--gold),var(--gold-d));color:#1a1206}
.btn-gold:hover{filter:brightness(1.07)}
.btn-ghost{background:transparent;border:1px solid var(--line);color:var(--text)}
.btn-ghost:hover{border-color:var(--gold-d)}
.btn-sm{padding:7px 12px;font-size:13px;border-radius:8px}
.btn[disabled]{opacity:.5;cursor:default}

/* Hero */
.hero{padding:54px 0 30px;border-bottom:1px solid var(--line);
  background:radial-gradient(900px 300px at 78% -10%,rgba(210,180,140,.10),transparent)}
.hero .eyebrow{color:var(--gold-ink);font-weight:700;letter-spacing:.14em;text-transform:uppercase;font-size:12px}
.hero h1{font-size:38px;margin:10px 0 12px}
.hero p{color:var(--muted);max-width:620px;font-size:16px}
/* Hero с моно-фото (вариант A) */
.hero-photo{position:relative;overflow:hidden;border-bottom:1px solid var(--line);min-height:440px;display:flex;align-items:center}
.hero-photo .hp-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 28%;filter:grayscale(1) contrast(1.03) blur(2.5px);transform:scale(1.06)}
.hero-photo .hp-ov{position:absolute;inset:0;background:linear-gradient(90deg,rgba(20,17,12,.9) 0%,rgba(20,17,12,.66) 44%,rgba(20,17,12,.22) 100%)}
.hp-in{position:relative;z-index:2;padding:56px 18px;width:100%}
.hp-eyebrow{color:#E3CBA0;font-weight:700;letter-spacing:.14em;text-transform:uppercase;font-size:12px}
.hp-h1{color:#fff;font-size:40px;font-weight:800;line-height:1.06;letter-spacing:-.02em;margin:14px 0 14px;max-width:640px;overflow-wrap:break-word}
.hp-p{color:#DBD5C9;font-size:16px;line-height:1.5;max-width:520px;margin:0 0 24px}
.hp-cta{display:flex;align-items:center;gap:16px;flex-wrap:wrap}
.hp-note{color:#C4BCAE;font-size:13.5px}
@media(max-width:640px){.hero-photo{min-height:auto}.hp-in{padding:36px 18px}.hp-h1{font-size:23px;margin:12px 0 12px}.hp-p{font-size:14.5px}.hero-photo .hp-ov{background:linear-gradient(180deg,rgba(20,17,12,.72),rgba(20,17,12,.85))}}

/* ---------- scroll-reveal ---------- */
.rv{opacity:0;transform:translateY(14px);transition:opacity .55s ease,transform .55s ease;will-change:opacity,transform}
.rv.rv-in{opacity:1;transform:none}
@media(prefers-reduced-motion:reduce){.rv,.rv.rv-in{opacity:1!important;transform:none!important;transition:none!important}}
/* ---------- скелетоны загрузки ---------- */
.skel-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:14px}
@media(max-width:860px){.skel-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:560px){.skel-grid{grid-template-columns:1fr}}
.skel-card{background:var(--card);border:1px solid var(--line);border-radius:16px;padding:18px}
.skel{background:linear-gradient(90deg,#EDE8E0 25%,#F6F2EB 37%,#EDE8E0 63%);background-size:400% 100%;animation:skelsh 1.3s ease infinite;border-radius:8px}
@keyframes skelsh{0%{background-position:100% 0}100%{background-position:-100% 0}}
.skel-line{height:12px;margin-bottom:11px}
@media(prefers-reduced-motion:reduce){.skel{animation:none}}
/* ---------- уведомления (тосты) ---------- */
.toast-wrap{position:fixed;left:0;right:0;bottom:20px;display:flex;flex-direction:column;align-items:center;gap:8px;z-index:120;pointer-events:none;padding:0 16px}
.toast{pointer-events:auto;background:var(--card);border:1px solid var(--line);border-left:3px solid var(--gold-d);border-radius:12px;padding:12px 16px;font-size:14px;color:var(--text);box-shadow:0 12px 30px rgba(120,95,55,.16);max-width:440px;opacity:0;transform:translateY(10px);transition:.25s ease}
.toast.in{opacity:1;transform:none}
.toast.ok{border-left-color:var(--ok)}
.toast.bad{border-left-color:var(--bad)}
/* подпись прогресса (count-up) */
.prog-pct{font-size:13px;color:var(--muted);margin:-6px 0 12px}
.prog-pct b{color:var(--gold-ink);font-weight:800}

/* Track switcher */
.switch{display:inline-flex;gap:4px;margin-top:22px;background:var(--card);border:1px solid var(--line);
  border-radius:12px;padding:4px;flex-wrap:wrap}
.seg{border:0;background:transparent;color:var(--muted);font-family:Montserrat;font-weight:700;font-size:14px;
  padding:9px 16px;border-radius:9px;cursor:pointer}
.seg:hover{color:var(--text)}
.seg.on{background:linear-gradient(135deg,var(--gold),var(--gold-d));color:#1a1206}

/* Zone labels */
.zone-label{font-family:Montserrat;font-weight:800;font-size:13px;letter-spacing:.04em;text-transform:uppercase;
  color:var(--muted);margin:22px 0 12px;display:flex;align-items:center;gap:10px}
.zone-label::after{content:"";flex:1;height:1px;background:var(--line)}
.gold-label{color:var(--gold-ink)}
.grid-free{grid-template-columns:repeat(4,1fr)}
@media(max-width:860px){.grid-free{grid-template-columns:repeat(2,1fr)}}
@media(max-width:560px){.grid-free{grid-template-columns:1fr}}

/* Sections + grid */
.section{padding:34px 0}
.section h2{font-size:23px;margin-bottom:4px}
.section .sub{color:var(--muted);font-size:14px;margin-bottom:18px}
.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
@media(max-width:860px){.grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:560px){.grid{grid-template-columns:1fr}.hero h1{font-size:30px}}

/* Product card */
.pcard{background:var(--card);border:1px solid var(--line);border-radius:16px;padding:18px;
  display:flex;flex-direction:column;gap:10px;transition:.15s}
.pcard:hover{border-color:var(--gold-d);transform:translateY(-2px)}
.pcard.clickable{cursor:pointer}
.pcard.clickable:hover{box-shadow:0 12px 30px rgba(120,95,55,.10)}
.pcard .badge{align-self:flex-start;font-size:11px;font-weight:700;letter-spacing:.04em;
  color:var(--gold-ink);background:rgba(210,180,140,.12);border:1px solid rgba(210,180,140,.25);
  padding:3px 9px;border-radius:999px}
.pcard h3{font-size:17px}
.pcard .psub{color:var(--muted);font-size:13.5px;flex:1}
.pcard .foot{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:4px}
.price{font-family:Montserrat;font-weight:800;font-size:16px}
.price.free{color:var(--ok)}
.tag-owned{font-size:12px;color:var(--ok);font-weight:700}

/* Paid emphasis + free compact */
.pcard.paid{border-color:rgba(210,180,140,.4);background:linear-gradient(180deg,rgba(210,180,140,.07),var(--card));
  border-left:3px solid var(--gold)}
.pcard.paid:hover{border-color:var(--gold-ink)}
.pcard.free-mini{padding:14px;gap:6px}
.pcard.free-mini h3{font-size:15px}
.pcard.free-mini .psub{font-size:12.5px}

/* Course flagship card */
.course-card{display:grid;grid-template-columns:1.5fr 1fr;gap:0;border:1px solid rgba(210,180,140,.4);
  border-radius:18px;overflow:hidden;background:linear-gradient(135deg,rgba(210,180,140,.10),var(--card))}
@media(max-width:680px){.course-card{grid-template-columns:1fr}}
.cc-left{padding:24px;display:flex;flex-direction:column}
.cc-left .case{margin-top:auto;padding-top:20px}
.cc-left .badge{align-self:flex-start;font-size:11px;font-weight:700;color:var(--gold-ink);
  background:rgba(210,180,140,.14);border:1px solid rgba(210,180,140,.3);padding:3px 9px;border-radius:999px}
.cc-left h3{font-size:22px;margin:10px 0 8px}
.cc-left .psub{color:var(--muted);font-size:14px}
.cc-right{padding:22px;background:rgba(210,180,140,.12);border-left:1px solid var(--line)}
.tier{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:9px 0;
  border-bottom:1px dashed var(--line);font-size:14px}
.tier span{color:var(--muted)}
.tier b{font-family:Montserrat;color:var(--text);font-size:15px}
.tier.hot{border-bottom:0;margin-top:4px}
.tier.hot span:first-child{color:var(--gold-ink);font-weight:600}
.tier.hot b{color:var(--gold-ink);font-size:17px}

/* Course pricing table */
.ptable{width:100%;border-collapse:collapse;font-size:13px}
.ptable th{color:var(--muted);font-weight:600;font-size:11px;text-align:right;padding:3px 6px;font-family:Montserrat}
.ptable th:first-child{text-align:left}
.ptable td{padding:7px 6px;border-top:1px dashed var(--line);text-align:right;font-family:Montserrat;font-weight:700;color:var(--text)}
.ptable td:first-child{text-align:left;color:var(--muted);font-weight:600;font-family:Montserrat}
.ptable tr.hot td{color:var(--gold-ink)}
.ptable tr.hot td:first-child{color:var(--gold-ink)}

/* Buy panel rows with two variants */
.bt-info{flex:1;min-width:140px}
.bt-buys{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}
@media(max-width:560px){.bt{flex-direction:column;align-items:stretch}.bt-buys{justify-content:stretch}.bt-buys .btn{flex:1}}

/* Video + presentation page */
.vpage{padding:20px;overflow:auto}
.vbox{aspect-ratio:16/9;max-width:900px;background:#000;border-radius:12px;overflow:hidden}
.vbox iframe{width:100%;height:100%;border:0;display:block}
.vbox.slides{aspect-ratio:16/10}
.vbox.vph{display:grid;place-items:center;text-align:center;color:var(--muted);background:var(--card);border:1px solid var(--line)}
.vbox.vph .small{font-size:12px;margin-top:6px;color:var(--muted)}
.vbox.vph code{background:var(--bg);border:1px solid var(--line);border-radius:5px;padding:1px 6px;font-size:11px;color:var(--gold-ink)}
.slides-h{font-family:Montserrat;font-weight:800;font-size:15px;color:var(--cream);margin:20px 0 10px;max-width:900px}

/* Lock states in player */
.mlock{font-size:11px;color:var(--muted);font-weight:600}
.lesson.locked{opacity:.62}
.chk.lock{border:0;display:grid;place-items:center;font-size:11px;background:transparent}
.freetag{font-size:10px;color:var(--ok);border:1px solid var(--ok);border-radius:5px;padding:0 5px;font-weight:700}
.buytiers{max-width:520px;margin:18px auto 0;text-align:left;display:flex;flex-direction:column;gap:10px}
.bt{display:flex;align-items:center;justify-content:space-between;gap:14px;background:var(--card);
  border:1px solid var(--line);border-radius:12px;padding:14px 16px}
.bt.hot{border-color:rgba(210,180,140,.45);background:linear-gradient(135deg,rgba(210,180,140,.10),var(--card))}
.lockmsg code{background:var(--card);border:1px solid var(--line);border-radius:5px;padding:1px 6px;font-size:12px;color:var(--gold-ink)}

/* compare + case on paid cards */
.compare{font-size:12.5px;color:var(--cream);background:rgba(210,180,140,.07);border-left:2px solid var(--gold-d);
  padding:7px 10px;border-radius:6px}
.case{font-size:12.5px;color:var(--muted);font-style:italic}
.case span{display:block;font-style:normal;color:var(--gold-ink);font-size:11.5px;margin-top:3px}

/* Ladder «твой путь» */
.ladder{display:flex;align-items:center;gap:12px;flex-wrap:wrap;background:var(--card);border:1px solid var(--line);
  border-radius:12px;padding:12px 16px;margin-bottom:6px}
.ladder-h{font-family:Montserrat;font-weight:800;font-size:13px;color:var(--muted);text-transform:uppercase;letter-spacing:.04em}
.lsteps{display:flex;align-items:center;gap:6px;flex-wrap:wrap}
.lstep{display:flex;align-items:center;gap:6px;font-size:13px;color:var(--muted)}
.lstep .ldot{width:20px;height:20px;border-radius:50%;border:1.5px solid var(--line);display:grid;place-items:center;
  font-size:11px;font-weight:700;flex:none}
.lstep.done{color:var(--text)}
.lstep.done .ldot{background:var(--ok);border-color:var(--ok);color:#06210f}
.larrow{color:var(--line)}

/* Bridge / next cards */
.bridge{margin:18px 0}
.bridge-h{font-family:Montserrat;font-weight:800;font-size:15px;color:var(--gold-ink);margin-bottom:12px}
.nextgrid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}
.nextgrid.one{grid-template-columns:1fr;max-width:520px}
@media(max-width:560px){.nextgrid{grid-template-columns:1fr}}
.nextcard{display:block;background:var(--card);border:1px solid var(--line);border-radius:14px;padding:16px;
  color:var(--text);transition:.15s}
.nextcard:hover{border-color:var(--gold-d);transform:translateY(-2px)}
.nx-top{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-bottom:7px}
.nx-tier{font-size:11px;font-weight:700;color:var(--gold-ink);background:rgba(210,180,140,.12);border-radius:999px;padding:2px 8px}
.nx-price{font-family:Montserrat;font-weight:800;font-size:13px;color:var(--muted)}
.nx-title{font-family:Montserrat;font-weight:800;font-size:16px;margin-bottom:5px}
.nx-hook{color:var(--muted);font-size:13px;margin-bottom:8px}
.nx-case{font-size:12.5px;font-style:italic;color:var(--text);opacity:.82;line-height:1.4;border-left:2px solid var(--gold-d);padding-left:9px;margin:0 0 10px}
.nx-case span{font-style:normal;opacity:.7}
.nx-go{color:var(--gold-ink);font-weight:700;font-size:13px}

/* Submit flow */
.pad{padding:24px;max-width:680px}
.nextpad{max-width:920px;border-top:1px solid var(--line);margin-top:4px}
.steps{margin:0;padding-left:20px;display:flex;flex-direction:column;gap:14px}
.steps li{font-size:14.5px}
.uploadbox{display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin-top:18px;background:var(--card);
  border:1px dashed var(--line);border-radius:12px;padding:16px}
.uploadbox input[type=file]{color:var(--muted);font-size:13px}
.filelink.submit{margin-top:14px;color:var(--gold-ink);border:1px solid rgba(210,180,140,.3)}
.filelink.next{color:var(--cream)}

/* Cabinet */
.empty{background:var(--card);border:1px dashed var(--line);border-radius:16px;padding:40px;text-align:center;color:var(--muted)}

/* Course / viewer layout */
.app{display:grid;grid-template-columns:320px 1fr;min-height:calc(100vh - 60px)}
@media(max-width:840px){.app{grid-template-columns:1fr}}
.side{background:var(--bg2);border-right:1px solid var(--line);padding:16px;overflow:auto;max-height:calc(100vh - 60px);position:sticky;top:60px}
@media(max-width:840px){.side{position:static;max-height:none}}
.side .ptitle{font-family:Montserrat;font-weight:800;font-size:16px;margin-bottom:2px}
.side .psub{color:var(--muted);font-size:12.5px;margin-bottom:12px}
.progwrap{background:var(--line);border-radius:999px;height:7px;overflow:hidden;margin:8px 0 16px}
.progbar{height:100%;background:linear-gradient(90deg,var(--gold),var(--gold-d));width:0;transition:width .9s cubic-bezier(.22,1,.36,1)}
.mod{margin-bottom:6px}
.mod>summary{cursor:pointer;list-style:none;padding:9px 10px;border-radius:9px;font-weight:700;font-size:13.5px;
  color:var(--cream);display:flex;justify-content:space-between;gap:8px}
.mod>summary::-webkit-details-marker{display:none}
.mod>summary:hover{background:var(--card)}
.lesson{display:flex;align-items:center;gap:8px;padding:7px 10px 7px 14px;border-radius:8px;cursor:pointer;
  font-size:13px;color:var(--muted)}
.lesson:hover{background:var(--card);color:var(--text)}
.lesson.active{background:rgba(210,180,140,.12);color:var(--text)}
.lesson .chk{width:16px;height:16px;border-radius:50%;border:1.5px solid var(--line);flex:none}
.lesson.done .chk{background:var(--ok);border-color:var(--ok)}
.filelink{display:block;padding:8px 10px;border-radius:8px;font-size:13px;color:var(--muted);cursor:pointer}
.filelink:hover{background:var(--card);color:var(--text)}
.filelink.active{background:rgba(210,180,140,.12);color:var(--text)}

.main{display:flex;flex-direction:column;min-width:0}
.mbar{display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding:14px 20px;border-bottom:1px solid var(--line);background:var(--bg)}
.mbar h2{font-size:17px;flex:1;min-width:160px}
.tabs{display:flex;gap:6px;flex-wrap:wrap;padding:10px 20px 0}
.tab{font-size:13px;font-weight:600;color:var(--muted);background:var(--card);border:1px solid var(--line);
  padding:7px 12px;border-radius:8px;cursor:pointer}
.tab.active{color:#1a1206;background:var(--gold);border-color:var(--gold-ink)}
.frame{flex:1;border:0;width:100%;min-height:70vh;background:#fff;margin-top:10px}
.lockmsg{padding:60px 20px;text-align:center;color:var(--muted)}

/* Modal */
.modal{position:fixed;inset:0;background:rgba(0,0,0,.6);display:none;place-items:center;z-index:50;padding:18px}
.modal.show{display:grid}
.modal .box{background:var(--card);border:1px solid var(--line);border-radius:16px;padding:24px;max-width:380px;width:100%}
.modal h3{font-size:19px;margin-bottom:6px}
.modal p{color:var(--muted);font-size:14px;margin:0 0 16px}
.modal input{width:100%;background:var(--bg);border:1px solid var(--line);border-radius:9px;color:var(--text);
  padding:11px 13px;font-size:15px;margin-bottom:12px}
.foot-note{text-align:center;color:var(--muted);font-size:12.5px;padding:30px 0;border-top:1px solid var(--line);margin-top:20px}
.demo-flag{background:rgba(210,180,140,.12);border:1px solid rgba(210,180,140,.25);color:var(--gold-ink);
  font-size:12px;padding:5px 11px;border-radius:8px;display:inline-block}

/* Case rotator (авто-карусель кейсов) */
.case-rotator{transition:opacity .28s ease;min-height:3.4em}

/* Site footer */
.site-footer{border-top:1px solid var(--line);margin-top:48px;padding:42px 0 26px;background:var(--bg2);position:relative;overflow:hidden}
.site-footer::after{content:"";position:absolute;right:-24px;bottom:-46px;width:250px;height:190px;background:url('logo-mark.svg') center/contain no-repeat;opacity:.05;pointer-events:none}
.site-footer .container{position:relative;z-index:1}
.fgrid{display:grid;grid-template-columns:1.7fr 1fr 1.1fr 1.5fr;gap:32px}
@media(max-width:820px){.fgrid{grid-template-columns:1fr 1fr}}
@media(max-width:480px){.fgrid{grid-template-columns:1fr}}
.fcol h4{font-family:Montserrat;font-weight:800;font-size:14px;color:var(--text);margin-bottom:13px}
.fcol a{display:block;color:var(--muted);font-size:14px;margin-bottom:9px;transition:.12s}
.fcol a:hover{color:var(--gold-ink)}
.fbrand .flogo{display:flex;align-items:center;gap:11px;font-family:Montserrat;font-weight:800;color:var(--text);font-size:18px}
.fbrand .flogo img{height:28px;width:auto;border-radius:0}
.fbrand p{color:var(--muted);font-size:13.5px;max-width:300px;margin-top:12px;line-height:1.55}
.fbottom{margin-top:30px;padding-top:18px;border-top:1px solid var(--line);color:var(--muted);font-size:12.5px}

/* Legal doc pages */
.doc{max-width:780px;margin:36px auto 10px;padding:0 6px}
.doc h1{font-family:Montserrat;font-weight:800;font-size:32px;margin-bottom:6px}
.doc h2{font-family:Montserrat;font-weight:800;font-size:19px;color:var(--gold-ink);margin:26px 0 8px}
.doc p{color:var(--text);font-size:15px;line-height:1.65;margin-bottom:10px}
.doc p.muted{color:var(--muted)}
.doc a{color:var(--gold-ink)}
.doc .note{font-size:13px;border-left:2px solid var(--gold-d);padding-left:13px;margin-top:18px}
.ph{color:var(--gold-ink);font-weight:600}

/* отзывы курса — полоса по нижней границе карточки, под кнопкой */
.cc-cases{grid-column:1 / -1;border-top:1px solid var(--line);padding:14px 24px;background:rgba(210,180,140,.10)}
.cc-cases .case{margin:0}

/* ---------- рабочие листы (выполнение заданий) ---------- */
.ws{max-width:980px;margin:0 auto;padding:22px}
.ws-intro h2{font-family:Montserrat;font-weight:800;margin:0 0 6px}
.ws-intro p{margin:0 0 14px}
.ws-status{padding:10px 14px;border-radius:10px;background:var(--card);border:1px solid var(--line);font-size:13.5px;font-weight:600;margin-bottom:14px}
.ws-status.wait{border-color:#b8862e;color:#e7b75a}
.ws-status.bad{border-color:var(--bad,#c0504d);color:#e88}
.ws-status.ok{border-color:#3c7d52;color:#7fc99a}
.ws-save{font-weight:400;color:var(--muted);font-size:12.5px}
.ws-curnote{background:#231d12;border:1px solid #5a4a22;border-radius:10px;padding:12px 14px;font-size:13.5px;margin-bottom:16px;line-height:1.5}
.ws-revhead{padding:10px 0 14px;border-bottom:1px solid var(--line);margin-bottom:14px}
.ws-sheet{margin:22px 0;border-top:1px solid var(--line);padding-top:16px}
.ws-sheet h3{font-family:Montserrat;font-weight:800;font-size:16px;margin:0 0 4px}
.ws-day{font-weight:600;font-size:11.5px;color:var(--gold-ink);background:#2a2417;border-radius:20px;padding:2px 9px;margin-left:6px;vertical-align:middle}
.ws-note{color:var(--muted);font-size:13px;margin:4px 0 12px;line-height:1.45}
.ws-tablewrap{overflow-x:auto}
.ws-table{width:100%;border-collapse:collapse;font-size:13.5px}
.ws-table th{text-align:left;font-weight:600;color:var(--muted);font-size:12px;padding:6px 6px;border-bottom:1px solid var(--line);white-space:nowrap}
.ws-table th.grow{width:auto}
.ws-table td{padding:3px 4px;vertical-align:middle}
.ws-n{width:30px;color:var(--muted);text-align:center;font-size:12.5px}
.ws-crit{color:var(--text);font-size:12.5px;line-height:1.3;min-width:230px;padding-right:8px}
.ws-in{width:100%;background:#1b1b1f;border:1px solid var(--line);border-radius:7px;padding:7px 9px;color:var(--text);font:inherit;font-size:13px}
.ws-in:focus{outline:none;border-color:var(--gold-d)}
.ws-in:disabled{opacity:.8;background:#191919}
.ws-ta{resize:vertical;line-height:1.45}
.ws-score{width:62px;text-align:center}
.ws-pm{width:60px;text-align:center}
.ws-calc{display:inline-block;min-width:54px;font-weight:700;color:var(--gold-ink)}
.ws-matrix tbody tr:nth-child(odd) td{background:rgba(255,255,255,.012)}
.ws-sum td{border-top:1px solid var(--line);font-weight:800;color:var(--gold-ink);padding-top:8px}
.ws-sum span{font-size:15px}
.ws-field{margin:12px 0}
.ws-field label{display:block;font-size:13px;color:var(--muted);margin-bottom:5px}
.ws-foot{margin:26px 0 10px;border-top:1px solid var(--line);padding-top:18px;text-align:center}
.ws-foot.ok{color:#7fc99a;font-weight:700}
.ws-foot p{max-width:520px;margin:0 auto 12px}
.ws-review{margin:24px 0;background:var(--card);border:1px solid var(--line);border-radius:12px;padding:18px}
.ws-review h3{margin:0 0 10px}
.ws-revbtns{display:flex;gap:10px;margin-top:12px;flex-wrap:wrap}
/* кабинет куратора */
.cur-list{max-width:900px;margin:0 auto;padding:20px}
.cur-row{display:flex;align-items:center;gap:14px;justify-content:space-between;background:var(--card);border:1px solid var(--line);border-radius:10px;padding:12px 16px;margin-bottom:10px;cursor:pointer}
.cur-row:hover{border-color:var(--gold-d)}
.cur-badge{font-size:11.5px;font-weight:700;border-radius:20px;padding:3px 10px;white-space:nowrap}
.cur-badge.submitted{background:#3a2f12;color:#e7b75a}
.cur-badge.returned{background:#3a1f1f;color:#e88}
.cur-badge.accepted{background:#1d3326;color:#7fc99a}
.cur-badge.draft{background:#262626;color:var(--muted)}

/* ---------- рабочие листы: постраничные статусы + оповещения ---------- */
.ws-howto{font-size:13px;color:var(--muted);margin:6px 0 0;line-height:1.5}
.ws-sheethead{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}
.ws-sbadge{font-size:11.5px;font-weight:700;border-radius:20px;padding:3px 10px;white-space:nowrap}
.ws-sbadge.wait{background:#3a2f12;color:#e7b75a}
.ws-sbadge.bad{background:#3a1f1f;color:#e88}
.ws-sbadge.ok{background:#1d3326;color:#7fc99a}
.ws-sheetfoot{margin-top:12px;padding-top:12px;border-top:1px dashed var(--line)}
.ws-sheetfoot.ok{color:#7fc99a;font-weight:700}
.ws-mirror{display:inline-block;font-size:13px;color:var(--text);padding:2px 0}
.ws-addrow{margin-top:8px}
.notif{background:linear-gradient(180deg,rgba(210,180,140,.10),var(--card));border:1px solid var(--gold-d);border-radius:14px;padding:14px 16px;margin-bottom:18px}
.notif-h{font-family:Montserrat;font-weight:800;font-size:14px;margin-bottom:10px}
.notif-row{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;padding:9px 0;border-top:1px solid var(--line);color:var(--text)}
.notif-row:first-of-type{border-top:0}
.nt-tags{display:flex;align-items:center;gap:12px;font-size:13px;font-weight:600}
.nt-bad{color:#e88}.nt-ok{color:#7fc99a}
.nt-go{color:var(--gold-ink);font-weight:700}
.ws-hint{margin:0 0 0;padding:11px 16px;background:#231d12;border-bottom:1px solid #5a4a22;font-size:13px;color:#d9c9a6;line-height:1.5}
.ws-hint a{color:var(--gold-ink);cursor:pointer;font-weight:600;text-decoration:underline}

/* ---------- админка ---------- */
.adm-tabs{display:flex;gap:8px;margin:0 0 16px}
.adm-tab{border:1px solid var(--line);background:var(--card);color:var(--muted);font-family:Montserrat;font-weight:700;font-size:14px;padding:9px 16px;border-radius:10px;cursor:pointer}
.adm-tab:hover{color:var(--text)}
.adm-tab.on{background:linear-gradient(135deg,var(--gold),var(--gold-d));color:#1a1206;border-color:transparent}
.adm-sum{background:var(--card);border:1px solid var(--line);border-radius:10px;padding:12px 16px;margin-bottom:14px;font-size:14px}
.adm-table{width:100%;border-collapse:collapse;font-size:13.5px}
.adm-table th{text-align:left;color:var(--muted);font-size:12px;font-weight:600;padding:8px 10px;border-bottom:1px solid var(--line);white-space:nowrap}
.adm-table td{padding:9px 10px;border-bottom:1px solid var(--line);vertical-align:middle}
.adm-table tr:hover td{background:rgba(255,255,255,.015)}
.adm-dt{color:var(--muted);font-size:12.5px;white-space:nowrap}

/* ---------- лендинг (nisha.html) ---------- */
.lp-hero{padding:60px 0 40px;border-bottom:1px solid var(--line);background:radial-gradient(900px 360px at 75% -10%,rgba(210,180,140,.14),transparent)}
.lp-wrap{max-width:780px}
.lp-hero h1{font-size:44px;line-height:1.05;margin:12px 0 16px}
@media(max-width:600px){.lp-hero h1{font-size:32px}}
.lp-sub{font-size:18px;color:var(--cream);max-width:640px;margin:0 0 26px}
.lp-cta-row{display:flex;align-items:center;gap:16px;flex-wrap:wrap}
.lp-buy{font-size:16px;padding:14px 28px}
.lp-cta-note{color:var(--muted);font-size:13.5px}
.lp-main{max-width:900px}
.lp-block{padding:38px 0;border-bottom:1px solid var(--line)}
.lp-block h2{font-size:25px;margin-bottom:18px}
.lp-lead{color:var(--cream);font-size:16px;max-width:680px;margin:18px 0 0}
.lp-pains{display:grid;grid-template-columns:1fr 1fr;gap:12px}
@media(max-width:600px){.lp-pains{grid-template-columns:1fr}}
.lp-pain{background:var(--card);border:1px solid var(--line);border-left:3px solid var(--gold-d);border-radius:12px;padding:14px 16px;font-size:15px}
.lp-grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
@media(max-width:700px){.lp-grid3{grid-template-columns:1fr}}
.lp-card{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:18px;font-size:14.5px;color:var(--muted)}
.lp-card-h{font-family:Montserrat;font-weight:800;font-size:16px;color:var(--text);margin-bottom:8px}
.lp-author-row{display:flex;gap:20px;align-items:flex-start;background:var(--card);border:1px solid var(--line);border-radius:16px;padding:22px}
.lp-author-logo{width:72px;height:72px;border-radius:14px;flex:none}
.lp-author-name{font-family:Montserrat;font-weight:800;font-size:20px}
.lp-author-role{color:var(--gold-ink);font-size:14px;margin:4px 0 10px}
.lp-author-bio{font-size:15px;color:var(--cream);margin:0 0 10px}
.lp-todo{color:#e88;font-size:13px;font-style:italic}
.lp-author-links a{font-size:14px;font-weight:600}
.lp-cases{display:grid;grid-template-columns:1fr 1fr;gap:14px}
@media(max-width:600px){.lp-cases{grid-template-columns:1fr}}
.lp-case{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:16px;font-size:14.5px;font-style:italic;line-height:1.5}
.lp-case span{display:block;font-style:normal;color:var(--gold-ink);font-weight:600;margin-top:8px;font-size:13px}
.lp-guarantee{display:flex;gap:18px;align-items:center;background:linear-gradient(180deg,rgba(63,166,106,.08),var(--card));border:1px solid #3c7d52;border-radius:16px;padding:22px}
.lp-guar-badge{font-size:38px;flex:none}
.lp-guar-h{font-family:Montserrat;font-weight:800;font-size:18px;margin-bottom:4px}
.lp-guarantee p{margin:0;color:var(--cream);font-size:15px}
.lp-offer{display:flex;justify-content:center}
.lp-price-card{background:linear-gradient(180deg,rgba(210,180,140,.12),var(--card));border:1px solid var(--gold);border-radius:18px;padding:28px;max-width:440px;width:100%;text-align:center}
.lp-price-name{font-family:Montserrat;font-weight:800;font-size:18px}
.lp-price{font-family:Montserrat;font-weight:800;font-size:44px;color:var(--gold-ink);margin:6px 0 14px}
.lp-incl{list-style:none;padding:0;margin:0 0 20px;text-align:left;display:inline-block}
.lp-incl li{padding:6px 0 6px 26px;position:relative;font-size:15px}
.lp-incl li::before{content:"✓";position:absolute;left:0;color:var(--gold-ink);font-weight:800}
.lp-faq details{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:14px 16px;margin-bottom:10px}
.lp-faq summary{cursor:pointer;font-weight:700;font-family:Montserrat;font-size:15px}
.lp-faq details>div{margin-top:10px;color:var(--cream);font-size:14.5px;line-height:1.5}

/* вкладки Вход/Регистрация в модалке */
.authtabs{display:flex;gap:6px;background:var(--bg2);border:1px solid var(--line);border-radius:11px;padding:4px;margin-bottom:14px}
.authtab{flex:1;text-align:center;border:0;background:transparent;color:var(--muted);font-family:Montserrat;font-weight:700;font-size:14px;padding:9px;border-radius:8px;cursor:pointer}
.authtab:hover{color:var(--text)}
.authtab.on{background:linear-gradient(135deg,var(--gold),var(--gold-d));color:#1a1206}

/* ---------- информативный экран продукта (не куплен) ---------- */
.gate{max-width:660px;margin:40px auto;padding:30px 28px;background:var(--card);border:1px solid var(--line);border-radius:18px}
.gate .badge{display:inline-block;font-size:11px;font-weight:700;letter-spacing:.04em;color:var(--gold-ink);background:rgba(210,180,140,.12);border:1px solid rgba(210,180,140,.25);padding:4px 11px;border-radius:999px}
.gate h1{font-family:Montserrat;font-weight:800;font-size:27px;line-height:1.1;margin:14px 0 8px}
.gate .g-sub{color:var(--cream);font-size:16px;margin:0 0 16px}
.gate .g-desc{color:var(--text);font-size:15px;line-height:1.55;margin:0 0 20px}
.gate h3{font-family:Montserrat;font-weight:800;font-size:15px;margin:0 0 10px;color:var(--text)}
.g-inside{margin:0 0 20px}
.g-inside ul{margin:0;padding:0;list-style:none}
.g-inside li{position:relative;padding:6px 0 6px 26px;font-size:14.5px;color:var(--cream)}
.g-inside li::before{content:"✓";position:absolute;left:0;color:var(--gold-ink);font-weight:800}
.g-note{background:#231d12;border:1px solid #5a4a22;border-radius:10px;padding:10px 14px;font-size:13.5px;color:#d9c9a6;margin:0 0 20px}
.g-cases{margin:0 0 20px}
.g-case{border-left:2px solid var(--gold-d);padding:4px 0 4px 12px;margin-bottom:12px;font-size:14px;font-style:italic;color:var(--cream);line-height:1.45}
.g-case span{display:block;font-style:normal;color:var(--gold-ink);font-weight:600;font-size:12.5px;margin-top:5px}
.g-price{font-size:14px;color:var(--muted);margin:0 0 14px}
.g-cta .btn{font-size:16px;padding:13px 26px}
.g-back{display:inline-block;margin-top:18px;color:var(--muted);font-size:13.5px}
.hit-tag{font-size:10.5px;font-weight:800;color:#1a1206;background:linear-gradient(135deg,var(--gold),var(--gold-d));padding:2px 9px;border-radius:99px;letter-spacing:.03em;text-transform:uppercase;margin-left:4px}

/* ---------- видео-вкладки (по шагам) + доп.материалы ---------- */
.vpad{max-width:820px}
.vtabs{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:16px}
.vtab{border:1px solid var(--line);background:var(--card);color:var(--muted);font-family:Montserrat;font-weight:700;font-size:13px;padding:7px 12px;border-radius:8px;cursor:pointer}
.vtab:hover{color:var(--text)}
.vtab.on{background:linear-gradient(135deg,var(--gold),var(--gold-d));color:#1a1206;border-color:transparent}
.vbox{position:relative;width:100%;padding-top:56.25%;background:#000;border-radius:12px;overflow:hidden}
.vbox iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.vcap{margin-top:10px;font-weight:600;color:var(--cream)}
.vph{background:var(--card);border:1px dashed var(--line);border-radius:14px;padding:48px 20px;text-align:center;color:var(--muted);line-height:1.7}
.vconsult{background:linear-gradient(180deg,rgba(210,180,140,.08),var(--card));border:1px solid var(--gold-d);border-radius:14px;padding:22px 24px;line-height:1.6}
.vconsult h3{font-family:Montserrat;font-weight:800;font-size:18px;margin:0 0 12px}
.vconsult b{color:var(--gold-ink)}
.matlist{display:flex;flex-direction:column;gap:10px;max-width:600px}
.matlink{display:flex;align-items:center;justify-content:space-between;gap:12px;background:var(--card);border:1px solid var(--line);border-radius:12px;padding:14px 18px;color:var(--text);font-size:14.5px}
.matlink:hover{border-color:var(--gold-d)}
.matdl{color:var(--gold-ink);font-weight:700;font-size:13px;white-space:nowrap}
.tg-creds{display:flex;gap:8px;flex-wrap:wrap;align-items:center}
.tg-creds input{flex:1;min-width:160px;background:#1b1b1f;border:1px solid var(--line);border-radius:8px;padding:9px 11px;color:var(--text);font:inherit;font-size:14px}
.tg-creds input:focus{outline:none;border-color:var(--gold-d)}

/* ===================== Адаптив (телефоны / планшеты) ===================== */
/* Главное: на узких экранах меню в шапке не должно распирать страницу шире вьюпорта.
   Меню уходит на отдельную строку с горизонтальным скроллом, кнопка входа/профиль — всегда видна справа. */
@media(max-width:760px){
  .hdr .container{flex-wrap:wrap;height:auto;gap:10px;row-gap:9px;padding-top:10px;padding-bottom:10px}
  .logo{font-size:15px}
  .nav{order:10;width:100%;flex-basis:100%;max-width:100%;min-width:0;margin-left:0;flex-wrap:nowrap;overflow-x:auto;gap:16px;padding-bottom:2px;-webkit-overflow-scrolling:touch;scrollbar-width:none}
  .nav::-webkit-scrollbar{display:none}
  .nav a{white-space:nowrap}
  .userbox{gap:8px;font-size:13px}
  .userbox .muted{max-width:96px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  .hero{padding:34px 0 24px}
  .hero h1{font-size:28px}
  .hero p{font-size:15px}
  .section{padding:26px 0}
  .gate{margin:20px auto;padding:24px 18px}
  .gate h1{font-size:23px}
  .vpage,.vpad,.pad{padding-left:14px;padding-right:14px}
  .mbar{padding:12px 14px}
  .mbar h2{font-size:16px}
}
@media(max-width:480px){
  .container{padding:0 14px}
  .userbox .muted{display:none}              /* совсем узко — только аватар + «Выйти» */
  .hero h1{font-size:24px}
  h1,h2,h3{overflow-wrap:anywhere}           /* длинные слова не вылезают за экран */
  .gate h1{font-size:21px}
  .btn{padding:10px 14px}
}
