
:root{
  --dark:#11171b;
  --paper:#f3f2ee;
  --paper2:#fbfaf7;
  --white:#ffffff;
  --ink:#171c20;
  --muted:#667078;
  --line:#d7dad8;
  --line-dark:#384248;
  --max:1260px;
  --radius:20px;
  --shadow:0 16px 50px rgba(13,20,24,.08);
}

*{box-sizing:border-box}

html{scroll-behavior:smooth}

body{
  margin:0;
  background:var(--paper);
  color:var(--ink);
  font-family:"Segoe UI",Arial,sans-serif;
  line-height:1.5;
  -webkit-font-smoothing:antialiased;
}

a{color:inherit;text-decoration:none}
button,input,textarea{font:inherit}
img{display:block;max-width:100%}

.wrap{
  width:min(calc(100% - 40px),var(--max));
  margin:0 auto;
}

.mono{
  font-family:Consolas,"SFMono-Regular","Liberation Mono",monospace;
  letter-spacing:.10em;
  text-transform:uppercase;
}

/* HEADER */
.site-header{
  position:sticky;
  top:0;
  z-index:60;
  color:#fff;
  background:rgba(17,23,27,.95);
  backdrop-filter:blur(14px);
  border-bottom:1px solid rgba(255,255,255,.08);
}

.nav{
  min-height:72px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:28px;
}

.brand{
  font-size:17px;
  font-weight:800;
  white-space:nowrap;
}

.nav-links{
  display:flex;
  align-items:center;
  gap:20px;
  color:#ced5d8;
  font-size:14px;
  white-space:nowrap;
}

.nav-links a:hover{color:#fff}

.nav-cta{
  padding:10px 15px;
  border:1px solid rgba(255,255,255,.25);
  border-radius:999px;
}

/* HERO */
.hero{
  min-height:660px;
  color:#fff;
  background:var(--dark);
  position:relative;
  overflow:hidden;
}

.hero:before{
  content:"";
  position:absolute;
  inset:0;
  background:
    linear-gradient(90deg,rgba(17,23,27,.985) 0%,rgba(17,23,27,.92) 37%,rgba(17,23,27,.56) 69%,rgba(17,23,27,.24) 100%),
    url("../img/blueprint-station.webp") center/cover no-repeat;
}

.hero:after{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background-image:
    linear-gradient(rgba(255,255,255,.024) 1px,transparent 1px),
    linear-gradient(90deg,rgba(255,255,255,.024) 1px,transparent 1px);
  background-size:48px 48px;
  mask-image:linear-gradient(to bottom,rgba(0,0,0,.75),transparent 90%);
}

.hero-grid{
  position:relative;
  z-index:2;
  min-height:660px;
  display:flex;
  align-items:center;
  padding:76px 0 84px;
}

.hero-content{max-width:1120px}

.eyebrow{
  margin-bottom:22px;
  color:#bdc7cb;
  font-size:12px;
}

.hero h1{
  margin:0;
  font-family:"Arial Narrow","Segoe UI",Arial,sans-serif;
  font-weight:800;
  letter-spacing:-.043em;
  line-height:.98;
}

.hero-title-main{
  display:block;
  white-space:nowrap;
  font-size:clamp(42px,5.3vw,74px);
}

.hero-title-sub{
  display:block;
  margin-top:8px;
  font-size:clamp(34px,4.15vw,58px);
  color:#e2e6e8;
}

.hero-note{
  margin-top:32px;
  display:flex;
  align-items:center;
  gap:16px;
  color:#a8b2b7;
  font-size:11px;
}

.hero-note .rule{
  width:56px;
  height:1px;
  background:#a8b2b7;
}

/* LIGHT SECTIONS */
.section{
  padding:72px 0;
  background:var(--paper);
}

.section-first{
  padding-top:96px;
  padding-bottom:96px;
}

.section-alt{background:var(--paper2)}

.section-kicker{
  margin-bottom:14px;
  color:#7b858b;
  font-size:11px;
}

.section h2{
  margin:0;
  font-family:"Arial Narrow","Segoe UI",Arial,sans-serif;
  font-size:clamp(34px,4.2vw,58px);
  line-height:1;
  letter-spacing:-.035em;
}

.lead{
  margin:16px 0 0;
  color:#5f696f;
  font-size:18px;
}

.lead.one-line{white-space:nowrap}

/* THREE CORE PATHS */
.cards{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:18px;
  margin-top:40px;
}

.card{
  min-height:292px;
  padding:28px;
  display:flex;
  flex-direction:column;
  background:var(--white);
  border:1px solid var(--line);
  border-radius:var(--radius);
  box-shadow:0 8px 25px rgba(15,22,26,.025);
}

.card-index{
  color:#899399;
  font:700 11px/1 Consolas,monospace;
  letter-spacing:.12em;
}

.card h3{
  margin:40px 0 14px;
  font-size:26px;
  line-height:1.06;
  letter-spacing:-.025em;
}

.card p{
  margin:0 0 26px;
  color:#657077;
}

.card a{
  margin-top:auto;
  font-size:17px;
  font-weight:760;
  display:inline-flex;
  align-items:center;
  gap:9px;
}

.card a:after{content:"→"}

/* METHOD */
.method-single{max-width:1100px}

.method-intro{
  margin-top:22px;
  max-width:860px;
  color:#5f696f;
  font-size:18px;
}

.method-cycle-label{
  margin-top:34px;
  color:#7a858a;
  font-size:11px;
}

.cycle{
  margin-top:16px;
  display:grid;
  grid-template-columns:repeat(4,1fr);
  border-top:1px solid var(--line);
  border-bottom:1px solid var(--line);
}

.cycle-step{
  min-height:180px;
  padding:24px 24px 26px 0;
  border-right:1px solid var(--line);
}

.cycle-step + .cycle-step{padding-left:24px}

.cycle-step:last-child{border-right:0}

.cycle-no{
  display:block;
  margin-bottom:26px;
  color:#8b959a;
  font:700 11px/1 Consolas,monospace;
}

.cycle-step h3{
  margin:0 0 8px;
  font-size:22px;
}

.cycle-step p{
  margin:0;
  color:#687278;
}

.diagnostic-note{
  margin-top:24px;
  padding:18px 20px;
  border-left:2px solid #8f999e;
  background:#fff;
  color:#5f696f;
  font-size:16px;
}

/* AUTHOR */
.author-row{
  display:grid;
  grid-template-columns:96px 260px 1fr;
  gap:32px;
  align-items:start;
}

.photo-circle{
  width:92px;
  height:92px;
  border-radius:50%;
  overflow:hidden;
  display:grid;
  place-items:center;
  background:#e5e7e4;
  border:1px solid #aeb6b9;
  color:#7d878c;
  font:700 11px/1 Consolas,monospace;
  letter-spacing:.08em;
}

.photo-circle img{
  width:100%;
  height:100%;
  object-fit:cover;
}

.author-name{
  padding-top:10px;
  border-top:1px solid #adb5b8;
}

.author-name strong{
  display:block;
  font-family:"Arial Narrow","Segoe UI",Arial,sans-serif;
  font-size:34px;
  letter-spacing:-.03em;
}

.author-copy h2{margin-bottom:24px}

.author-line{
  margin:0 0 8px;
  color:#5f696f;
  font-size:18px;
}

.author-link{
  display:inline-flex;
  align-items:center;
  gap:8px;
  margin-top:18px;
  font-size:17px;
  font-weight:760;
}

.author-link:after{content:"→"}

/* FINAL THREE ACTIONS */
.final-actions{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:18px;
  margin-top:36px;
}

.action-card{
  min-height:210px;
  padding:28px;
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  background:#fff;
  border:1px solid var(--line);
  border-radius:var(--radius);
}

.action-card span{
  color:#899399;
  font:700 11px/1 Consolas,monospace;
}

.action-card strong{
  display:block;
  margin-top:28px;
  font-size:25px;
  line-height:1.08;
  letter-spacing:-.02em;
}

.action-card a{
  margin-top:28px;
  font-size:18px;
  font-weight:780;
  display:inline-flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
}

.action-card a:after{content:"→"}

/* FOOTER */
.footer{
  padding:34px 0 48px;
  background:var(--paper);
  border-top:1px solid var(--line);
  color:#6b757b;
  font-size:13px;
}

.footer-grid{
  display:flex;
  justify-content:space-between;
  gap:28px;
  flex-wrap:wrap;
}

.footer-links{
  display:flex;
  gap:18px;
  flex-wrap:wrap;
}

/* STAGING */
.staging{
  position:fixed;
  bottom:14px;
  right:14px;
  z-index:100;
  padding:8px 12px;
  border:1px solid #c8cdca;
  border-radius:999px;
  background:#f7f6f2;
  color:#5f696f;
  font-size:11px;
  box-shadow:var(--shadow);
}

/* TRAINER */
.trainer-body{background:#eef0ed}

.trainer-shell{
  min-height:calc(100vh - 72px);
  display:grid;
  grid-template-columns:320px 1fr;
}

.trainer-sidebar{
  padding:24px 20px;
  background:var(--paper2);
  border-right:1px solid var(--line);
}

.trainer-profile{
  display:flex;
  align-items:center;
  gap:14px;
  padding-bottom:22px;
  border-bottom:1px solid var(--line);
}

.trainer-photo{
  width:62px;
  height:62px;
  border-radius:50%;
  overflow:hidden;
  display:grid;
  place-items:center;
  flex:0 0 auto;
  background:#e5e7e4;
  border:1px solid #adb5b8;
  color:#7d878c;
  font:700 10px/1 Consolas,monospace;
}

.trainer-photo img{
  width:100%;
  height:100%;
  object-fit:cover;
}

.trainer-profile strong{
  display:block;
  font-size:15px;
}

.trainer-profile span{
  display:block;
  margin-top:3px;
  color:#7a858b;
  font-size:11px;
}

.trainer-label{
  margin:24px 0 10px;
  color:#7d878c;
  font-size:10px;
}

.trainer-modules{
  display:grid;
  gap:8px;
}

.module-btn{
  width:100%;
  padding:14px 14px;
  text-align:left;
  border:1px solid var(--line);
  border-radius:13px;
  background:#fff;
  color:#2a3135;
  cursor:pointer;
  font-weight:700;
}

.module-btn:hover,
.module-btn.active{
  background:#171f24;
  color:#fff;
  border-color:#171f24;
}

.module-btn span{
  display:inline-block;
  min-width:24px;
  margin-right:7px;
  color:#929ca1;
  font:700 10px/1 Consolas,monospace;
}

.module-btn.active span{color:#aeb8bd}

.trainer-main{
  padding:24px;
  display:flex;
  justify-content:center;
}

.chat{
  width:min(100%,980px);
  height:calc(100vh - 120px);
  min-height:620px;
  display:flex;
  flex-direction:column;
  overflow:hidden;
  background:#fff;
  border:1px solid var(--line);
  border-radius:24px;
  box-shadow:var(--shadow);
}

.chat-top{
  min-height:72px;
  padding:14px 20px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
  border-bottom:1px solid var(--line);
}

.chat-title strong{
  display:block;
  font-size:16px;
}

.chat-title span{
  display:block;
  margin-top:3px;
  color:#7b868b;
  font-size:11px;
}

.status{
  color:#7b868b;
  font:700 10px/1 Consolas,monospace;
  text-transform:uppercase;
  letter-spacing:.08em;
}

.status .dot{
  width:7px;
  height:7px;
  display:inline-block;
  margin-right:6px;
  border-radius:50%;
  background:#6d7a80;
}

.messages{
  flex:1;
  overflow:auto;
  padding:24px;
  background:#fafaf8;
}

.msg{
  max-width:78%;
  margin-bottom:13px;
  padding:14px 16px;
  border-radius:18px;
  white-space:pre-wrap;
  font-size:15px;
}

.msg.ai{
  background:#e9ece8;
  border-top-left-radius:5px;
}

.msg.user{
  margin-left:auto;
  background:#171f24;
  color:#fff;
  border-bottom-right-radius:5px;
}

.demo-note{
  padding:0 24px 12px;
  color:#8a9499;
  background:#fff;
  font-size:11px;
}

.composer{
  padding:15px;
  display:grid;
  grid-template-columns:1fr auto;
  gap:10px;
  border-top:1px solid var(--line);
  background:#fff;
}

.composer textarea{
  min-height:52px;
  max-height:150px;
  resize:none;
  outline:none;
  padding:13px 14px;
  border:1px solid #cbd1ce;
  border-radius:14px;
  background:#f8f9f7;
}

.send{
  min-width:112px;
  border:0;
  border-radius:14px;
  background:#171f24;
  color:#fff;
  font-weight:800;
  cursor:pointer;
}

.send:hover{background:#263036}

@media(max-width:1120px){
  .nav-links{gap:14px;font-size:13px}
  .lead.one-line{white-space:normal}
}

@media(max-width:980px){
  .nav-links{display:none}
  .cards,
  .final-actions{grid-template-columns:1fr}
  .cycle{grid-template-columns:1fr 1fr}
  .cycle-step:nth-child(2){border-right:0}
  .cycle-step:nth-child(-n+2){border-bottom:1px solid var(--line)}
  .author-row{grid-template-columns:92px 1fr}
  .author-copy{grid-column:1 / -1}
  .trainer-shell{grid-template-columns:1fr}
  .trainer-sidebar{border-right:0;border-bottom:1px solid var(--line)}
  .trainer-modules{grid-template-columns:1fr 1fr}
  .trainer-main{padding:12px}
  .chat{height:76vh;min-height:560px}
}

@media(max-width:680px){
  .wrap{width:min(calc(100% - 28px),var(--max))}
  .hero,.hero-grid{min-height:580px}
  .hero-grid{padding:56px 0}
  .hero-title-main{
    white-space:normal;
    font-size:42px;
  }
  .hero-title-sub{font-size:35px}
  .section,
  .section-first{padding:66px 0}
  .cycle{grid-template-columns:1fr}
  .cycle-step,
  .cycle-step + .cycle-step{
    padding:22px 0;
    border-right:0;
    border-bottom:1px solid var(--line);
  }
  .cycle-step:last-child{border-bottom:0}
  .trainer-modules{grid-template-columns:1fr}
  .msg{max-width:90%}
  .composer{grid-template-columns:1fr}
  .send{min-height:46px}
  .staging{left:12px;right:auto}
}


/* V0.6 refinements */

.hero-title-main{
  white-space:nowrap;
}

.hero-title-sub{
  display:block;
  margin-top:7px;
}

.method-cycle-label{
  margin-top:30px;
  font-size:12px;
  color:#59656b;
}

.cycle-step{
  min-height:150px;
}

.cycle-step h3{
  margin-top:0;
}

/* Author link should read clearly as an action */
.author-link-button{
  margin-top:20px;
  padding:11px 16px;
  border:1px solid #9ca6aa;
  border-radius:999px;
  background:#fff;
  width:max-content;
  transition:.18s ease;
}

.author-link-button:hover{
  border-color:#6d777c;
  transform:translateY(-1px);
}

/* Three final decisions as real buttons */
.final-buttons{
  align-items:stretch;
}

.final-button{
  min-height:210px;
  padding:28px;
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  background:#fff;
  border:1px solid var(--line);
  border-radius:20px;
  transition:.18s ease;
}

.final-button:hover{
  transform:translateY(-2px);
  box-shadow:var(--shadow);
  border-color:#aeb5b8;
}

.final-button strong{
  font-size:24px;
  line-height:1.12;
  letter-spacing:-.02em;
}

.final-button span{
  margin-top:28px;
  font-size:17px;
  font-weight:760;
}

/* Trainer primary choices
   restrained brass edge rather than bright gold */
.module-btn{
  border:1px solid #b38b4c;
  border-radius:16px;
  background:#fffdf9;
  padding:15px 15px;
  box-shadow:inset 0 0 0 1px rgba(179,139,76,.06);
}

.module-btn:hover{
  background:#f7f1e6;
  color:#20262a;
  border-color:#9d7435;
  transform:translateY(-1px);
}

.module-btn.active{
  background:#171f24;
  color:#fff;
  border-color:#c49a55;
  box-shadow:inset 0 0 0 1px rgba(196,154,85,.30);
}

.module-btn span{
  color:#a47a3e;
}

.module-btn.active span{
  color:#d4b479;
}

@media(max-width:680px){
  .hero-title-main{white-space:normal}
}


/* ===== V0.7 FINAL OVERRIDES ===== */

/* Hero must stay exactly in three rows on desktop */
.hero-title{
  margin:0;
  max-width:100%;
  font-family:"Arial Narrow","Segoe UI",Arial,sans-serif;
  font-weight:800;
  letter-spacing:-.04em;
  line-height:.98;
}

.hero-title > span{
  display:block;
  white-space:nowrap;
  font-size:clamp(38px,4.65vw,64px);
}

.hero-title > span + span{
  margin-top:5px;
}

/* Method spacing after removal of diagnostic note */
.method-single{
  max-width:1120px;
}

.cycle{
  margin-top:18px;
}

.cycle-step{
  min-height:138px;
  padding-top:24px;
  padding-bottom:24px;
}

/* Trainer buttons
   Calm brass edge
   rounded engineering controls
*/
.trainer-modules{
  gap:10px;
}

.module-btn{
  width:100%;
  min-height:54px;
  display:flex;
  align-items:center;
  gap:12px;
  padding:14px 16px;
  border:1.5px solid #b58a49;
  border-radius:17px;
  background:#fffdf8;
  color:#20262a;
  text-align:left;
  font-size:15px;
  line-height:1.2;
  font-weight:700;
  box-shadow:
    0 1px 0 rgba(255,255,255,.9) inset,
    0 5px 14px rgba(19,26,30,.04);
  transition:.16s ease;
}

.module-btn span{
  min-width:30px;
  height:28px;
  padding:0 7px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  flex:0 0 auto;
  border:1px solid rgba(181,138,73,.45);
  border-radius:999px;
  color:#8d662f;
  background:#fbf4e8;
  font:700 10px/1 Consolas,monospace;
}

.module-btn:hover{
  transform:translateY(-1px);
  border-color:#9e7337;
  background:#f8f1e5;
  color:#171d20;
}

.module-btn.active{
  border-color:#c79a53;
  background:#171f24;
  color:#fff;
  box-shadow:
    inset 0 0 0 1px rgba(199,154,83,.28),
    0 7px 18px rgba(17,23,27,.12);
}

.module-btn.active span{
  border-color:rgba(216,184,128,.45);
  background:rgba(199,154,83,.12);
  color:#d8b880;
}

/* Final section must be three real buttons in a row */
.final-actions.final-buttons{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:18px;
  margin-top:36px;
  align-items:stretch;
}

.final-button{
  min-height:220px;
  padding:28px;
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  justify-content:flex-start;
  background:#fff;
  border:1px solid #d5d9d6;
  border-radius:20px;
  color:#171c20;
  box-shadow:0 8px 24px rgba(15,22,26,.035);
  transition:.17s ease;
}

.final-button:hover{
  transform:translateY(-2px);
  border-color:#aab2b5;
  box-shadow:0 16px 34px rgba(15,22,26,.08);
}

.final-button strong{
  display:block;
  margin:0;
  font-size:25px;
  line-height:1.1;
  letter-spacing:-.02em;
}

.final-button > span{
  display:block;
  margin-top:22px;
}

.final-button-text{
  color:#5f696f;
  font-size:18px;
  line-height:1.35;
  font-weight:600;
}

.final-button-link{
  margin-top:auto !important;
  padding-top:28px;
  color:#171c20;
  font-size:17px;
  line-height:1.2;
  font-weight:780;
}

/* Author link remains visibly clickable */
.author-link-button{
  display:inline-flex;
  padding:11px 17px;
  border:1px solid #9da6aa;
  border-radius:999px;
  background:#fff;
}

@media(max-width:1080px){
  .hero-title > span{
    font-size:clamp(36px,4.35vw,54px);
  }
}

@media(max-width:780px){
  .hero-title > span{
    white-space:normal;
    font-size:40px;
  }

  .final-actions.final-buttons{
    grid-template-columns:1fr;
  }
}


/* ===== V0.8 HERO IMAGE ONLY ===== */
.hero:before{
  background:
    linear-gradient(90deg, rgba(17,23,27,.74) 0%, rgba(17,23,27,.60) 36%, rgba(17,23,27,.36) 68%, rgba(17,23,27,.16) 100%),
    url("../img/blueprint-station-soft.webp") center/cover no-repeat;
}


/* ===== V0.9 INTERIOR PAGES ===== */

.page-hero{
  padding:86px 0 72px;
  background:linear-gradient(180deg,#f8f7f3 0%,#f1f0ec 100%);
  border-bottom:1px solid var(--line);
}

.page-hero .section-kicker{
  margin-bottom:18px;
}

.page-hero h1{
  max-width:980px;
  margin:0;
  font-family:"Arial Narrow","Segoe UI",Arial,sans-serif;
  font-size:clamp(40px,5.1vw,72px);
  line-height:.98;
  letter-spacing:-.04em;
}

.page-hero .page-lead{
  max-width:900px;
  margin:26px 0 0;
  color:#5d676d;
  font-size:19px;
  line-height:1.55;
}

.page-actions{
  display:flex;
  flex-wrap:wrap;
  gap:12px;
  margin-top:30px;
}

.page-btn{
  min-height:50px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:0 18px;
  border:1px solid #aab2b5;
  border-radius:999px;
  background:#fff;
  font-size:15px;
  font-weight:760;
  transition:.17s ease;
}

.page-btn:hover{
  transform:translateY(-2px);
  border-color:#b58a49;
}

.page-btn.primary{
  color:#fff;
  background:#171f24;
  border-color:#b58a49;
}

.page-section{
  padding:72px 0;
  background:var(--paper);
}

.page-section.alt{
  background:var(--paper2);
}

.page-section h2{
  margin:0;
  font-family:"Arial Narrow","Segoe UI",Arial,sans-serif;
  font-size:clamp(32px,4vw,54px);
  line-height:1;
  letter-spacing:-.035em;
}

.page-copy{
  max-width:900px;
  margin-top:20px;
  color:#5f696f;
  font-size:18px;
}

.grid-2{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:18px;
  margin-top:34px;
}

.grid-3{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:18px;
  margin-top:34px;
}

.info-card{
  min-height:190px;
  padding:24px;
  background:#fff;
  border:1px solid var(--line);
  border-radius:18px;
  transition:.17s ease;
}

.info-card:hover{
  transform:translateY(-2px);
  border-color:#b58a49;
  box-shadow:0 14px 30px rgba(15,22,26,.055);
}

.info-card h3{
  margin:0 0 12px;
  font-size:22px;
  line-height:1.12;
}

.info-card p{
  margin:0;
  color:#667077;
  font-size:16px;
}

.flow{
  margin-top:34px;
  display:grid;
  grid-template-columns:repeat(3,1fr);
  border-top:1px solid var(--line);
  border-bottom:1px solid var(--line);
}

.flow-step{
  padding:26px 24px 28px 0;
  border-right:1px solid var(--line);
}

.flow-step + .flow-step{
  padding-left:24px;
}

.flow-step:last-child{
  border-right:0;
}

.flow-step h3{
  margin:0 0 10px;
  font-size:22px;
}

.flow-step p{
  margin:0;
  color:#657077;
}

.price-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:18px;
  margin-top:34px;
}

.price-card{
  padding:28px;
  background:#fff;
  border:1px solid var(--line);
  border-radius:20px;
}

.price-card h3{
  margin:0;
  font-size:23px;
}

.price-card .price{
  display:block;
  margin-top:18px;
  font-family:"Arial Narrow","Segoe UI",Arial,sans-serif;
  font-size:34px;
  font-weight:800;
  letter-spacing:-.025em;
}

.price-card p{
  margin:14px 0 0;
  color:#657077;
}

.quote-strip{
  margin-top:32px;
  padding:24px 26px;
  background:#171f24;
  color:#fff;
  border-radius:18px;
  font-size:21px;
  line-height:1.4;
}

.library-groups{
  display:grid;
  gap:18px;
  margin-top:34px;
}

.library-group{
  padding:28px;
  background:#fff;
  border:1px solid var(--line);
  border-radius:20px;
}

.library-group h2{
  font-size:32px;
}

.library-group p{
  max-width:920px;
  margin:14px 0 0;
  color:#657077;
}

.library-links{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px;
  margin-top:22px;
}

.library-link{
  padding:16px 18px;
  border:1px solid #d8dcda;
  border-radius:14px;
  background:#fafaf8;
  font-weight:700;
  transition:.16s ease;
}

.library-link:hover{
  transform:translateY(-2px);
  border-color:#b58a49;
  background:#fff;
}

.timeline{
  display:grid;
  gap:0;
  margin-top:34px;
  border-top:1px solid var(--line);
}

.timeline-item{
  display:grid;
  grid-template-columns:210px 1fr;
  gap:34px;
  padding:28px 0;
  border-bottom:1px solid var(--line);
}

.timeline-item .label{
  color:#7b858b;
  font:700 11px/1.4 Consolas,monospace;
  letter-spacing:.08em;
  text-transform:uppercase;
}

.timeline-item h3{
  margin:0 0 10px;
  font-size:24px;
}

.timeline-item p{
  margin:0;
  color:#616b71;
  font-size:17px;
}

.contact-box{
  padding:34px;
  background:#171f24;
  color:#fff;
  border-radius:24px;
}

.contact-box h2{
  max-width:820px;
  font-size:clamp(32px,4vw,54px);
}

.contact-box p{
  max-width:760px;
  margin:18px 0 0;
  color:#c6ced1;
  font-size:18px;
}

.contact-box .page-btn{
  margin-top:24px;
  background:#fff;
  color:#171f24;
  border-color:#fff;
}

@media(max-width:900px){
  .grid-2,
  .grid-3,
  .price-grid,
  .library-links,
  .flow{
    grid-template-columns:1fr;
  }

  .flow-step,
  .flow-step + .flow-step{
    padding:22px 0;
    border-right:0;
    border-bottom:1px solid var(--line);
  }

  .flow-step:last-child{
    border-bottom:0;
  }

  .timeline-item{
    grid-template-columns:1fr;
    gap:12px;
  }
}


/* ===== V0.10 ABOUT PAGE ===== */

.about-hero{
  padding:78px 0 72px;
}

.about-hero-grid{
  display:grid;
  grid-template-columns:minmax(0,1.3fr) minmax(280px,.7fr);
  gap:70px;
  align-items:center;
}

.about-hero-photo{
  margin:0;
  justify-self:end;
  width:min(100%,360px);
  aspect-ratio:1 / 1;
  border-radius:50%;
  overflow:hidden;
  background:#e8e8e5;
  border:1px solid #cfd3d1;
  box-shadow:0 20px 50px rgba(14,21,25,.10);
}

.about-hero-photo img{
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:50% 18%;
}

.info-card-link{
  display:flex;
  flex-direction:column;
  color:inherit;
  cursor:pointer;
}

.card-link-label{
  display:block;
  margin-top:auto;
  padding-top:24px;
  font-size:16px;
  font-weight:760;
  color:#171c20;
  transition:transform .17s ease;
}

.info-card-link:hover .card-link-label{
  transform:translateX(3px);
}

@media(max-width:900px){
  .about-hero-grid{
    grid-template-columns:1fr;
    gap:34px;
  }

  .about-hero-photo{
    justify-self:start;
    width:230px;
  }
}


/* ===== V0.11 MAIN CARDS + INTERNAL NAVIGATION ===== */

.cards .card-clickable{
  text-decoration:none;
  color:inherit;
  cursor:pointer;
  transition:
    transform .18s ease,
    box-shadow .18s ease,
    border-color .18s ease,
    background .18s ease;
  will-change:transform;
}

.cards .card-clickable:hover{
  transform:translateY(-6px);
  border-color:#b58a49;
  box-shadow:0 18px 38px rgba(15,22,26,.09);
  background:#fff;
}

.cards .card-clickable:focus-visible{
  outline:2px solid #b58a49;
  outline-offset:4px;
}

.cards .card-action{
  margin-top:auto;
  display:inline-block;
  font-size:17px;
  font-weight:760;
  color:#171c20;
  transition:transform .18s ease;
}

.cards .card-clickable:hover .card-action{
  transform:translateX(5px);
}


/* ===== V0.12 CONSULTING PAGE ===== */

.consulting-hero .page-lead{
  max-width:980px;
}

.consulting-flow .flow-label{
  display:block;
  margin-bottom:12px;
  color:#8a744f;
  font-size:11px;
  letter-spacing:.08em;
}

.outcome-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:1px;
  margin-top:34px;
  overflow:hidden;
  border:1px solid var(--line);
  border-radius:20px;
  background:var(--line);
}

.outcome-item{
  min-height:150px;
  padding:24px;
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  gap:18px;
  background:#fff;
}

.outcome-item strong{
  font-size:21px;
  line-height:1.18;
}

.outcome-item span{
  color:#687278;
  font-size:16px;
}

.diagnostic-situations{
  margin-top:34px;
  border-top:1px solid var(--line);
}

.diagnostic-line{
  display:grid;
  grid-template-columns:minmax(220px,.8fr) minmax(0,1.2fr);
  gap:28px;
  padding:20px 0;
  border-bottom:1px solid var(--line);
}

.diagnostic-line span{
  color:#7b858b;
}

.diagnostic-line strong{
  font-size:19px;
}

.diagnostic-levels{
  display:grid;
  gap:0;
  margin-top:34px;
  border-top:1px solid var(--line);
}

.diagnostic-level{
  display:grid;
  grid-template-columns:84px 1fr;
  gap:24px;
  padding:28px 0;
  border-bottom:1px solid var(--line);
}

.diagnostic-number{
  color:#b58a49;
  font-size:13px;
}

.diagnostic-level h3{
  margin:0 0 10px;
  font-size:26px;
}

.diagnostic-level p{
  max-width:980px;
  margin:0;
  color:#626d73;
  font-size:17px;
}

.day-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:18px;
  margin-top:34px;
}

.day-card{
  min-height:235px;
  padding:26px;
  border:1px solid var(--line);
  border-radius:20px;
  background:#fff;
  transition:.17s ease;
}

.day-card:hover{
  transform:translateY(-3px);
  border-color:#b58a49;
  box-shadow:0 16px 34px rgba(15,22,26,.06);
}

.day-card .mono{
  display:block;
  margin-bottom:18px;
  color:#8a744f;
  font-size:11px;
}

.day-card h3{
  margin:0 0 12px;
  font-size:24px;
}

.day-card p{
  margin:0;
  color:#657077;
}

.feedback-cycle{
  display:grid;
  grid-template-columns:repeat(5,minmax(0,1fr));
  margin-top:34px;
  border:1px solid var(--line);
  border-radius:20px;
  overflow:hidden;
}

.feedback-cycle > div{
  min-height:180px;
  padding:22px;
  display:flex;
  flex-direction:column;
  gap:18px;
  background:#fff;
  border-right:1px solid var(--line);
}

.feedback-cycle > div:last-child{
  border-right:0;
}

.feedback-cycle span{
  color:#8a744f;
  font:700 11px/1.4 Consolas,monospace;
  letter-spacing:.08em;
  text-transform:uppercase;
}

.feedback-cycle strong{
  font-size:18px;
  line-height:1.25;
}

.behavior-examples{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:18px;
  margin-top:34px;
}

.behavior-examples article{
  min-height:245px;
  padding:24px;
  display:flex;
  flex-direction:column;
  border:1px solid var(--line);
  border-radius:20px;
  background:#fff;
}

.behavior-examples span,
.behavior-examples em{
  color:#8a744f;
  font:700 11px/1.4 Consolas,monospace;
  letter-spacing:.08em;
  text-transform:uppercase;
  font-style:normal;
}

.behavior-examples strong{
  margin:14px 0;
  font-size:23px;
  line-height:1.15;
}

.behavior-examples p{
  margin:14px 0 0;
  color:#626d73;
}

.program-timeline{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:18px;
  margin-top:34px;
}

.program-timeline article{
  min-height:230px;
  padding:24px;
  border:1px solid var(--line);
  border-radius:20px;
  background:#fff;
  transition:.17s ease;
}

.program-timeline article:hover{
  transform:translateY(-3px);
  border-color:#b58a49;
}

.program-timeline .mono{
  display:block;
  margin-bottom:18px;
  color:#8a744f;
  font-size:11px;
}

.program-timeline h3{
  margin:0 0 12px;
  font-size:23px;
}

.program-timeline p{
  margin:0;
  color:#657077;
}

.skill-scale{
  margin-top:34px;
  border-top:1px solid var(--line);
}

.skill-row{
  display:grid;
  grid-template-columns:70px 250px 1fr;
  gap:24px;
  align-items:start;
  padding:22px 0;
  border-bottom:1px solid var(--line);
}

.skill-row b{
  font-family:"Arial Narrow","Segoe UI",Arial,sans-serif;
  font-size:36px;
  line-height:1;
  color:#b58a49;
}

.skill-row strong{
  font-size:18px;
}

.skill-row span{
  color:#657077;
}

.before-after{
  margin-top:34px;
  border-top:1px solid var(--line);
}

.before-after > div{
  display:grid;
  grid-template-columns:55px minmax(180px,.8fr) 40px minmax(0,1.2fr);
  gap:20px;
  align-items:center;
  padding:20px 0;
  border-bottom:1px solid var(--line);
}

.before-after span{
  color:#8a744f;
  font:700 11px/1.4 Consolas,monospace;
  letter-spacing:.08em;
  text-transform:uppercase;
}

.before-after strong{
  font-size:18px;
}

.before-after em{
  color:#b58a49;
  font-size:25px;
  font-style:normal;
}

.before-after p{
  margin:0;
  color:#535e64;
  font-size:17px;
}

.manager-output{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:12px;
  margin-top:34px;
}

.manager-output span{
  min-height:82px;
  display:flex;
  align-items:center;
  padding:17px 18px;
  border:1px solid var(--line);
  border-radius:14px;
  background:#fff;
  font-weight:700;
}

.guarantee-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:18px;
}

.guarantee-card{
  min-height:320px;
  padding:28px;
  border:1px solid var(--line);
  border-radius:22px;
  background:#fff;
}

.guarantee-card h2{
  font-size:clamp(30px,3.2vw,44px);
}

.guarantee-card p{
  margin:22px 0 0;
  color:#616c72;
  font-size:18px;
}

.competency-table-wrap{
  margin-top:34px;
  overflow:auto;
  border:1px solid var(--line);
  border-radius:20px;
  background:#fff;
}

.competency-table{
  width:100%;
  min-width:820px;
  border-collapse:collapse;
}

.competency-table th,
.competency-table td{
  padding:17px 18px;
  text-align:left;
  vertical-align:top;
  border-bottom:1px solid var(--line);
}

.competency-table th{
  background:#f2f1ed;
  color:#5d676d;
  font-size:12px;
  letter-spacing:.06em;
  text-transform:uppercase;
}

.competency-table td:first-child{
  font-weight:760;
  color:#171c20;
}

.competency-table td{
  color:#626d73;
}

.competency-table tbody tr:last-child td{
  border-bottom:0;
}

.consulting-prices .price-card{
  transition:.17s ease;
}

.consulting-prices .price-card:hover{
  transform:translateY(-3px);
  border-color:#b58a49;
  box-shadow:0 16px 34px rgba(15,22,26,.06);
}

.consulting-prices .price-note{
  display:flex;
  flex-direction:column;
  justify-content:center;
  background:#171f24;
  color:#fff;
  border-color:#171f24;
}

.consulting-prices .price-note p{
  color:#c7ced1;
}

@media(max-width:980px){
  .feedback-cycle{
    grid-template-columns:1fr;
  }

  .feedback-cycle > div{
    min-height:0;
    border-right:0;
    border-bottom:1px solid var(--line);
  }

  .feedback-cycle > div:last-child{
    border-bottom:0;
  }

  .program-timeline,
  .manager-output{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}

@media(max-width:760px){
  .outcome-grid,
  .day-grid,
  .behavior-examples,
  .program-timeline,
  .guarantee-grid,
  .manager-output{
    grid-template-columns:1fr;
  }

  .diagnostic-line{
    grid-template-columns:1fr;
    gap:8px;
  }

  .diagnostic-level{
    grid-template-columns:54px 1fr;
  }

  .skill-row{
    grid-template-columns:50px 1fr;
  }

  .skill-row span{
    grid-column:2;
  }

  .before-after > div{
    grid-template-columns:1fr;
    gap:8px;
  }

  .before-after em{
    transform:rotate(90deg);
    width:max-content;
  }
}


/* ===== V0.13 CONSULTING CLEAN STRUCTURE ===== */
.consulting-page .final-contact-light{padding:34px;border:1px solid var(--line);border-radius:24px;background:#fff;}
.consulting-page .final-contact-light h2{max-width:900px;margin:0;}
.consulting-page .final-contact-light p{max-width:860px;margin:18px 0 0;color:#626d73;font-size:18px;line-height:1.55;}
.consulting-page .final-contact-light .final-contact-options{color:#171c20;font-size:20px;font-weight:760;line-height:1.7;}
.consulting-page .final-contact-light .page-btn{margin-top:26px;}
.consulting-page .consulting-before-after > div{grid-template-columns:minmax(220px,.8fr) 40px minmax(0,1.2fr);}
.consulting-page .price-card{background:#fff;color:inherit;}
@media(max-width:760px){.consulting-page .consulting-before-after > div{grid-template-columns:1fr;}}


/* ===== V0.14 CONSULTING DETAILS ===== */
.diagnostic-card-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-top:34px}.diagnostic-detail-card{padding:26px;border:1px solid var(--line);border-radius:20px;background:#fff;transition:.17s ease}.diagnostic-detail-card:hover{transform:translateY(-3px);border-color:#b58a49;box-shadow:0 16px 34px rgba(15,22,26,.06)}.diagnostic-detail-card .diagnostic-number{display:block;margin-bottom:18px}.diagnostic-detail-card h3,.day-card h3,.program-timeline article h3,.guarantee-panel h3,.price-card h3{margin:0 0 12px}.diagnostic-detail-card h4,.day-card h4,.program-timeline article h4,.guarantee-panel h4,.price-card h4{margin:22px 0 10px;font-size:13px;line-height:1.35;letter-spacing:.06em;text-transform:uppercase;color:#85724f}.detail-list{display:grid;gap:0;border-top:1px solid var(--line)}.detail-list span{display:block;padding:10px 0;border-bottom:1px solid var(--line);color:#4f5a60;font-size:15px;line-height:1.4}.detail-list span:last-child{border-bottom:0}.card-note{margin:18px 0 0!important;padding-top:16px;border-top:1px solid var(--line);color:#687278!important;font-size:14px!important}.detailed-day-grid .day-card,.detailed-program article{min-height:0}.detailed-program{grid-template-columns:repeat(2,minmax(0,1fr))}.guarantee-panels{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-top:34px}.guarantee-panel{padding:28px;border:1px solid var(--line);border-radius:20px;background:#fff;transition:.17s ease}.guarantee-panel:hover{transform:translateY(-3px);border-color:#b58a49}.light-statement{margin-top:18px;padding:22px 24px;border:1px solid var(--line);border-radius:18px;background:#f7f6f2;font-size:17px;line-height:1.55;color:#434d52}.detailed-prices .price-card{display:flex;flex-direction:column}.detailed-prices .price{margin-top:auto;padding-top:24px}.behavior-table{margin-top:34px;border:1px solid var(--line);border-radius:20px;overflow:hidden;background:#fff}.behavior-table>div{display:grid;grid-template-columns:minmax(220px,.85fr) minmax(0,1.15fr);gap:22px;padding:16px 20px;border-bottom:1px solid var(--line)}.behavior-table>div:last-child{border-bottom:0}.behavior-table .behavior-head{background:#f1f0ec;color:#697278;font-size:12px;font-weight:760;letter-spacing:.06em;text-transform:uppercase}.behavior-table strong{font-size:16px}.behavior-table p{margin:0;color:#556066}.program-summary{margin-top:34px;border:1px solid var(--line);border-radius:20px;overflow:hidden;background:#fff}.program-summary>div{display:grid;grid-template-columns:150px 1fr 220px;gap:22px;align-items:start;padding:16px 20px;border-bottom:1px solid var(--line)}.program-summary>div:last-child{border-bottom:0}.program-summary .program-summary-head{background:#f1f0ec;color:#697278;font-size:12px;font-weight:760;letter-spacing:.06em;text-transform:uppercase}.program-summary span,.program-summary p{margin:0;color:#556066}.evaluation-sheet{margin-top:34px;padding:26px;border:1px solid #cfd4d2;border-radius:22px;background:#fff;box-shadow:0 16px 40px rgba(15,22,26,.05)}.evaluation-sheet-head{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.evaluation-sheet-head>div,.evaluation-sheet-goal{padding:16px 18px;border:1px solid var(--line);border-radius:14px;background:#faf9f6}.evaluation-sheet-head span,.evaluation-sheet-goal span{display:block;margin-bottom:7px;color:#85724f;font:700 11px/1.4 Consolas,monospace;letter-spacing:.07em;text-transform:uppercase}.evaluation-sheet-goal{margin-top:12px}.evaluation-rows{margin-top:20px;border:1px solid var(--line);border-radius:16px;overflow:hidden}.evaluation-row{display:grid;grid-template-columns:220px minmax(0,1fr) 70px;gap:18px;align-items:start;padding:15px 18px;border-bottom:1px solid var(--line)}.evaluation-row:last-child{border-bottom:0}.evaluation-row-head{background:#f1f0ec;color:#697278;font-size:12px;font-weight:760;letter-spacing:.06em;text-transform:uppercase}.evaluation-row p{margin:0;color:#59646a}.evaluation-row b{width:38px;height:38px;display:flex;align-items:center;justify-content:center;border:1px solid #b58a49;border-radius:50%;color:#171c20;font-size:16px}.evaluation-bottom-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:20px}.evaluation-bottom-grid article{padding:20px;border:1px solid var(--line);border-radius:16px;background:#faf9f6}.evaluation-bottom-grid h3{margin:0 0 14px;font-size:19px}.evaluation-caption{margin:18px 0 0;color:#7a8489;font-size:13px;line-height:1.5}@media(max-width:980px){.diagnostic-card-grid,.guarantee-panels,.detailed-program{grid-template-columns:1fr}.program-summary>div{grid-template-columns:120px 1fr 170px}}@media(max-width:760px){.behavior-table>div,.program-summary>div,.evaluation-row{grid-template-columns:1fr;gap:8px}.behavior-table .behavior-head,.program-summary .program-summary-head,.evaluation-row-head{display:none}.evaluation-sheet-head,.evaluation-bottom-grid{grid-template-columns:1fr}.evaluation-row b{margin-top:4px}}


/* ===== V0.15 CONSULTING FUNNEL ===== */

.compact-audience{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:10px;
  margin-top:28px;
}

.compact-audience h3{
  width:100%;
  margin:0 0 4px;
  font-size:18px;
}

.compact-audience span{
  padding:10px 14px;
  border:1px solid var(--line);
  border-radius:999px;
  background:#fff;
  color:#58636a;
  font-size:14px;
}

.evidence-strip{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr)) auto;
  gap:1px;
  margin-top:28px;
  overflow:hidden;
  border:1px solid var(--line);
  border-radius:18px;
  background:var(--line);
}

.evidence-strip > div,
.evidence-strip > a{
  min-height:110px;
  padding:18px;
  display:flex;
  flex-direction:column;
  justify-content:center;
  gap:7px;
  background:#faf9f6;
}

.evidence-strip strong{
  font-size:17px;
}

.evidence-strip span{
  color:#687278;
  font-size:14px;
}

.evidence-strip > a{
  min-width:150px;
  align-items:center;
  text-align:center;
  font-weight:760;
  transition:.17s ease;
}

.evidence-strip > a:hover{
  background:#fff;
  color:#8a744f;
}

.diagnostic-signals{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin-top:24px;
}

.diagnostic-signals span{
  padding:10px 13px;
  border:1px solid var(--line);
  border-radius:999px;
  background:#fff;
  color:#566168;
  font-size:14px;
}

.development-cycle{
  display:grid;
  grid-template-columns:repeat(5,minmax(0,1fr));
  gap:1px;
  margin-top:32px;
  overflow:hidden;
  border:1px solid var(--line);
  border-radius:20px;
  background:var(--line);
}

.development-cycle article{
  min-height:185px;
  padding:22px;
  background:#fff;
}

.development-cycle .mono{
  display:block;
  margin-bottom:16px;
  color:#8a744f;
  font-size:11px;
}

.development-cycle h3{
  margin:0 0 10px;
  font-size:20px;
}

.development-cycle p{
  margin:0;
  color:#667077;
  font-size:15px;
}

.subsection-title{
  margin:46px 0 0;
  font-size:28px;
  line-height:1.1;
}

.measurement-grid{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(0,1fr);
  gap:18px;
  margin-top:32px;
}

.measurement-card{
  padding:26px;
  border:1px solid var(--line);
  border-radius:20px;
  background:#fff;
}

.measurement-card h3{
  margin:0 0 14px;
  font-size:24px;
}

.measurement-card > p{
  margin:0;
  color:#657077;
}

.compact-scale{
  margin-top:18px;
}

.compact-scale .skill-row{
  grid-template-columns:46px 180px 1fr;
  gap:16px;
  padding:14px 0;
}

.compact-scale .skill-row b{
  font-size:28px;
}

.matrix-details{
  margin-top:22px;
  border-top:1px solid var(--line);
}

.matrix-details summary{
  padding:18px 0 4px;
  cursor:pointer;
  font-weight:760;
  color:#171c20;
}

.matrix-details[open] summary{
  color:#8a744f;
}

.matrix-details .competency-table-wrap{
  margin-top:16px;
}

.light-statement h3{
  margin:0 0 10px;
  font-size:20px;
}

.light-statement p{
  margin:0;
  color:#5f696f;
}

@media(max-width:1050px){
  .evidence-strip{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }

  .development-cycle{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }

  .development-cycle article:last-child{
    grid-column:1 / -1;
  }
}

@media(max-width:900px){
  .measurement-grid{
    grid-template-columns:1fr;
  }
}

@media(max-width:760px){
  .evidence-strip,
  .development-cycle{
    grid-template-columns:1fr;
  }

  .development-cycle article:last-child{
    grid-column:auto;
  }

  .compact-scale .skill-row{
    grid-template-columns:42px 1fr;
  }

  .compact-scale .skill-row span{
    grid-column:2;
  }
}


/* ===== V0.18 ONE DEVELOPMENT FLOW ===== */

.process-stage-heading{
  max-width:930px;
  margin-top:38px;
}

.process-stage-heading .mono{
  display:block;
  margin-bottom:10px;
  color:#8a744f;
  font-size:11px;
  letter-spacing:.08em;
}

.process-stage-heading h3{
  margin:0;
  font-size:clamp(27px,3vw,38px);
  line-height:1.05;
}

.process-stage-heading p{
  max-width:840px;
  margin:14px 0 0;
  color:#657077;
  font-size:17px;
  line-height:1.55;
}

.process-stage-heading-spaced{
  margin-top:58px;
}

.process-day-grid{
  margin-top:26px;
}

.field-development-cycle{
  display:grid;
  grid-template-columns:repeat(5,minmax(0,1fr));
  gap:12px;
  margin-top:26px;
}

.field-development-cycle article{
  min-height:210px;
  padding:22px;
  display:flex;
  flex-direction:column;
  border:1px solid var(--line);
  border-radius:18px;
  background:#fff;
  transition:
    transform .18s ease,
    border-color .18s ease,
    box-shadow .18s ease;
}

.field-development-cycle article:hover{
  transform:translateY(-5px);
  border-color:#b58a49;
  box-shadow:0 16px 34px rgba(15,22,26,.07);
}

.field-development-cycle .mono{
  display:block;
  margin-bottom:28px;
  color:#8a744f;
  font-size:11px;
}

.field-development-cycle h3{
  margin:0 0 12px;
  font-size:21px;
  line-height:1.1;
}

.field-development-cycle p{
  margin:0;
  color:#657077;
  font-size:15px;
  line-height:1.5;
}

.repeat-evaluation{
  display:grid;
  grid-template-columns:repeat(5,minmax(0,1fr));
  gap:10px;
  margin-top:24px;
}

.repeat-evaluation span{
  min-height:78px;
  display:flex;
  align-items:center;
  padding:15px;
  border:1px solid var(--line);
  border-radius:14px;
  background:#faf9f6;
  color:#566168;
  font-size:14px;
  font-weight:700;
  transition:.17s ease;
}

.repeat-evaluation span:hover{
  transform:translateY(-3px);
  border-color:#b58a49;
  background:#fff;
}

.program-details{
  margin-top:34px;
  border-top:1px solid var(--line);
  border-bottom:1px solid var(--line);
}

.program-details summary{
  padding:20px 0;
  cursor:pointer;
  font-size:17px;
  font-weight:760;
  color:#171c20;
}

.program-details[open] summary{
  color:#8a744f;
}

.program-details .detailed-program{
  margin:4px 0 26px;
}

@media(max-width:1050px){
  .field-development-cycle,
  .repeat-evaluation{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}

@media(max-width:760px){
  .field-development-cycle,
  .repeat-evaluation{
    grid-template-columns:1fr;
  }

  .field-development-cycle article{
    min-height:0;
  }
}


/* ===== V0.19 WORKDAY + DEVELOPMENT FLOW ===== */

.workday-flow{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:18px;
  margin-top:34px;
}

.workday-stage{
  padding:28px;
  border:1px solid var(--line);
  border-radius:22px;
  background:#fff;
  transition:
    transform .18s ease,
    border-color .18s ease,
    box-shadow .18s ease;
}

.workday-stage:hover{
  transform:translateY(-4px);
  border-color:#b58a49;
  box-shadow:0 18px 38px rgba(15,22,26,.065);
}

.workday-stage .mono{
  display:block;
  margin-bottom:18px;
  color:#8a744f;
  font-size:11px;
  letter-spacing:.08em;
}

.workday-stage h3{
  margin:0 0 12px;
  font-size:25px;
  line-height:1.1;
}

.workday-stage > p{
  margin:0;
  color:#657077;
  font-size:16px;
  line-height:1.55;
}

.workday-stage h4{
  margin:24px 0 10px;
  color:#85724f;
  font-size:12px;
  line-height:1.35;
  letter-spacing:.06em;
  text-transform:uppercase;
}

.workday-stage-wide{
  grid-column:1 / -1;
}

.endday-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:28px;
  margin-top:20px;
}

.post-diagnostic-cycle{
  display:grid;
  grid-template-columns:repeat(5,minmax(0,1fr));
  gap:12px;
  margin-top:34px;
}

.post-diagnostic-cycle article{
  min-height:235px;
  padding:24px;
  display:flex;
  flex-direction:column;
  border:1px solid var(--line);
  border-radius:20px;
  background:#fff;
  transition:
    transform .18s ease,
    border-color .18s ease,
    box-shadow .18s ease;
}

.post-diagnostic-cycle article:hover{
  transform:translateY(-6px);
  border-color:#b58a49;
  box-shadow:0 18px 38px rgba(15,22,26,.075);
}

.post-diagnostic-cycle .mono{
  display:block;
  margin-bottom:28px;
  color:#8a744f;
  font-size:11px;
}

.post-diagnostic-cycle h3{
  margin:0 0 12px;
  font-size:21px;
  line-height:1.12;
}

.post-diagnostic-cycle p{
  margin:0;
  color:#657077;
  font-size:15px;
  line-height:1.5;
}

@media(max-width:1050px){
  .post-diagnostic-cycle{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }

  .post-diagnostic-cycle article:last-child{
    grid-column:1 / -1;
  }
}

@media(max-width:760px){
  .workday-flow,
  .endday-grid,
  .post-diagnostic-cycle{
    grid-template-columns:1fr;
  }

  .workday-stage-wide,
  .post-diagnostic-cycle article:last-child{
    grid-column:auto;
  }

  .workday-stage,
  .post-diagnostic-cycle article{
    min-height:0;
  }
}

/* ===== V0.38 HOME AUTHOR BLOCK ===== */

.author-section{
  overflow:hidden;
}

.author-row-v038{
  grid-template-columns:190px minmax(0,1fr);
  gap:54px;
  align-items:start;
}

.author-photo-column{
  position:sticky;
  top:92px;
}

.author-photo-large{
  width:180px;
  height:180px;
  border-color:#c5cbcd;
  box-shadow:0 18px 42px rgba(19,27,31,.09);
}

.author-photo-large img{
  width:100%;
  height:100%;
  object-fit:cover;
}

.author-photo-name{
  margin-top:16px;
  font-family:"Arial Narrow","Segoe UI",Arial,sans-serif;
  font-size:24px;
  font-weight:760;
  line-height:1.05;
  letter-spacing:-.025em;
}

.author-copy-v038 h2{
  max-width:900px;
  margin-bottom:20px;
}

.author-intro{
  max-width:920px;
  margin:0;
  color:#566167;
  font-size:19px;
  line-height:1.62;
}

.author-path{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:14px;
  margin-top:32px;
}

.author-path-card{
  padding:24px;
  background:#fff;
  border:1px solid var(--line);
}

.author-path-label{
  margin-bottom:16px;
  color:#7a858a;
  font-size:11px;
  letter-spacing:.08em;
}

.author-path-card h3{
  margin:0 0 10px;
  font-size:21px;
  line-height:1.16;
}

.author-path-card p{
  margin:0;
  color:#626d72;
  font-size:16px;
  line-height:1.52;
}

.author-conclusion{
  max-width:880px;
  margin:28px 0 0;
  padding:20px 0 0;
  border-top:1px solid var(--line);
  color:#2f393e;
  font-size:19px;
  line-height:1.55;
}

@media(max-width:980px){
  .author-row-v038{
    grid-template-columns:150px minmax(0,1fr);
    gap:34px;
  }

  .author-photo-column{
    position:static;
  }

  .author-photo-large{
    width:146px;
    height:146px;
  }

  .author-path{
    grid-template-columns:1fr;
  }

  .author-copy-v038{
    grid-column:auto;
  }
}

@media(max-width:680px){
  .author-row-v038{
    grid-template-columns:1fr;
    gap:28px;
  }

  .author-photo-large{
    width:150px;
    height:150px;
  }

  .author-photo-name{
    font-size:22px;
  }

  .author-copy-v038{
    grid-column:auto;
  }

  .author-intro,
  .author-conclusion{
    font-size:17px;
  }

  .author-path-card{
    padding:20px;
  }
}

/* ===== V0.39 ABOUT PAGE ===== */

.about-hero-photo-v039 img{
  object-fit:cover;
}

.about-story-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:14px;
  margin-top:34px;
}

.about-story-card{
  position:relative;
  min-height:275px;
  padding:28px;
  background:#fff;
  border:1px solid var(--line);
}

.about-story-number{
  position:absolute;
  top:24px;
  right:24px;
  color:#c1c8ca;
  font-size:12px;
}

.about-story-label{
  margin-bottom:28px;
  color:#7b868b;
  font-size:11px;
  letter-spacing:.08em;
}

.about-story-card h3{
  max-width:490px;
  margin:0 0 14px;
  font-size:24px;
  line-height:1.15;
}

.about-story-card p{
  margin:0;
  color:#626d72;
  font-size:16px;
  line-height:1.55;
}

.about-learning-line{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:1px;
  margin:32px 0;
  background:var(--line);
  border:1px solid var(--line);
}

.about-learning-line article{
  min-height:150px;
  padding:24px;
  background:#fff;
}

.about-learning-line strong{
  display:block;
  margin-bottom:18px;
  font-size:28px;
  line-height:1;
}

.about-learning-line span{
  display:block;
  color:#626d72;
  font-size:15px;
  line-height:1.45;
}

.about-facts{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:14px;
  margin:34px 0;
}

.about-fact-card{
  min-height:180px;
  padding:28px;
  background:#fff;
  border:1px solid var(--line);
}

.about-fact-card strong{
  display:block;
  margin-bottom:20px;
  font-family:"Arial Narrow","Segoe UI",Arial,sans-serif;
  font-size:44px;
  line-height:.95;
  letter-spacing:-.04em;
}

.about-fact-card span{
  display:block;
  color:#626d72;
  font-size:16px;
  line-height:1.5;
}

.about-proof-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:14px;
  margin-top:34px;
}

.about-proof-card{
  min-height:170px;
  padding:26px;
  background:#fff;
  border:1px solid var(--line);
}

.about-proof-card strong{
  display:block;
  margin-bottom:18px;
  font-family:"Arial Narrow","Segoe UI",Arial,sans-serif;
  font-size:29px;
  line-height:1;
}

.about-proof-card span{
  display:block;
  color:#626d72;
  font-size:15px;
  line-height:1.5;
}

@media(max-width:980px){
  .about-story-grid,
  .about-proof-grid{
    grid-template-columns:1fr 1fr;
  }

  .about-learning-line{
    grid-template-columns:1fr 1fr;
  }

  .about-facts{
    grid-template-columns:1fr;
  }
}

@media(max-width:680px){
  .about-story-grid,
  .about-proof-grid,
  .about-learning-line{
    grid-template-columns:1fr;
  }

  .about-story-card{
    min-height:auto;
    padding:22px;
  }

  .about-story-card h3{
    font-size:22px;
  }

  .about-fact-card,
  .about-proof-card{
    min-height:auto;
  }
}


/* ===== V0.44 PROOF / REVIEWS / FINAL POLISH ===== */

/* Служебные staging-плашки не показываем посетителю */
.staging{
  display:none !important;
}

.testimonial-section{
  background:#f3f4f2;
}

.testimonial-card{
  margin:28px 0 0;
  padding:32px 34px;
  background:#fff;
  border:1px solid var(--line);
  border-left:4px solid #b18a36;
}

.testimonial-card p{
  max-width:980px;
  margin:0 0 18px;
  color:#3e494e;
  font-size:18px;
  line-height:1.62;
}

.testimonial-card p:last-of-type{
  margin-bottom:26px;
}

.testimonial-card footer{
  display:flex;
  flex-direction:column;
  gap:5px;
  padding-top:20px;
  border-top:1px solid var(--line);
}

.testimonial-card footer strong{
  font-size:18px;
}

.testimonial-card footer span{
  color:#687278;
  font-size:14px;
  line-height:1.4;
}

.proof-documents-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:16px;
  margin-top:32px;
}

.proof-document-card{
  display:grid;
  grid-template-columns:150px minmax(0,1fr);
  gap:22px;
  align-items:center;
  padding:20px;
  background:#fff;
  border:1px solid var(--line);
  color:inherit;
  text-decoration:none;
  transition:transform .18s ease,border-color .18s ease;
}

.proof-document-card:hover{
  transform:translateY(-2px);
  border-color:#aeb6b9;
}

.proof-document-card img{
  width:150px;
  height:190px;
  object-fit:cover;
  object-position:top center;
  border:1px solid #d8dcdd;
}

.proof-document-card strong{
  display:block;
  margin-bottom:10px;
  font-size:19px;
  line-height:1.2;
}

.proof-document-card span{
  display:block;
  color:#626d72;
  font-size:15px;
  line-height:1.5;
}

.library-external{
  margin-top:20px;
  padding-top:30px;
  border-top:1px solid var(--line);
}

@media(max-width:760px){
  .testimonial-card{
    padding:24px 22px;
  }

  .testimonial-card p{
    font-size:16px;
  }

  .proof-documents-grid{
    grid-template-columns:1fr;
  }

  .proof-document-card{
    grid-template-columns:110px minmax(0,1fr);
  }

  .proof-document-card img{
    width:110px;
    height:145px;
  }
}

/* ===== V0.45 VISUAL / RESPONSIVE POLISH ===== */

/* ---------- Mobile navigation ---------- */

.mobile-nav{
  display:none;
  position:relative;
  margin-left:auto;
}

.mobile-nav summary{
  list-style:none;
  min-height:40px;
  padding:9px 12px;
  display:flex;
  align-items:center;
  gap:9px;
  border:1px solid rgba(255,255,255,.23);
  border-radius:12px;
  color:#fff;
  cursor:pointer;
  font-size:13px;
  font-weight:750;
  user-select:none;
}

.mobile-nav summary::-webkit-details-marker{
  display:none;
}

.mobile-nav summary i,
.mobile-nav summary i::before,
.mobile-nav summary i::after{
  width:17px;
  height:1.5px;
  display:block;
  background:#fff;
  content:"";
  transition:.18s ease;
}

.mobile-nav summary i{
  position:relative;
}

.mobile-nav summary i::before{
  position:absolute;
  top:-5px;
}

.mobile-nav summary i::after{
  position:absolute;
  top:5px;
}

.mobile-nav[open] summary i{
  background:transparent;
}

.mobile-nav[open] summary i::before{
  top:0;
  transform:rotate(45deg);
}

.mobile-nav[open] summary i::after{
  top:0;
  transform:rotate(-45deg);
}

.mobile-nav nav{
  position:absolute;
  top:48px;
  right:0;
  width:min(310px,calc(100vw - 28px));
  padding:10px;
  display:grid;
  gap:4px;
  color:#dbe0e2;
  background:#171f24;
  border:1px solid rgba(255,255,255,.12);
  border-radius:16px;
  box-shadow:0 18px 42px rgba(0,0,0,.28);
}

.mobile-nav nav a{
  padding:12px 13px;
  border-radius:10px;
  font-size:14px;
  line-height:1.25;
}

.mobile-nav nav a:hover{
  color:#fff;
  background:rgba(255,255,255,.07);
}

/* ---------- Missing 4-column grid ---------- */

.grid-4{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:18px;
  margin-top:34px;
}

.grid-4 .info-card{
  min-height:0;
}

/* ---------- About: compact expandable career cards ---------- */

.about-story-grid{
  gap:12px;
}

.about-story-detail{
  min-height:0;
  padding:0;
  overflow:hidden;
  border-radius:18px;
  transition:
    transform .18s ease,
    border-color .18s ease,
    box-shadow .18s ease;
}

.about-story-detail:hover{
  transform:translateY(-2px);
  border-color:#b58a49;
  box-shadow:0 14px 30px rgba(15,22,26,.05);
}

.about-story-detail summary{
  position:relative;
  min-height:168px;
  padding:24px 56px 22px 24px;
  list-style:none;
  cursor:pointer;
}

.about-story-detail summary::-webkit-details-marker{
  display:none;
}

.about-story-detail .about-story-number{
  top:22px;
  right:22px;
}

.about-story-detail .about-story-label{
  display:block;
  margin:0 0 22px;
}

.about-story-detail h3{
  margin:0;
  max-width:500px;
  font-size:22px;
}

.about-story-open{
  display:inline-block;
  margin-top:18px;
  color:#8a744f;
  font:700 11px/1.2 Consolas,monospace;
  letter-spacing:.06em;
  text-transform:uppercase;
}

.about-story-open::after{
  content:"  +";
}

.about-story-detail[open] .about-story-open::after{
  content:"  –";
}

.about-story-detail[open] .about-story-open{
  color:#4f5a60;
}

.about-story-body{
  padding:0 24px 24px;
}

.about-story-body p{
  padding-top:20px;
  border-top:1px solid var(--line);
}

.about-fact-card,
.about-proof-card{
  min-height:0;
  transition:
    transform .18s ease,
    border-color .18s ease,
    box-shadow .18s ease;
}

.about-fact-card:hover,
.about-proof-card:hover{
  transform:translateY(-2px);
  border-color:#b58a49;
  box-shadow:0 14px 30px rgba(15,22,26,.05);
}

.about-approach-section{
  padding-top:58px;
  padding-bottom:58px;
}

.about-approach-section .page-copy{
  margin-bottom:0;
}

.proof-documents-grid{
  gap:12px;
}

.proof-document-card{
  grid-template-columns:92px minmax(0,1fr);
  padding:16px;
  gap:16px;
}

.proof-document-card img{
  width:92px;
  height:116px;
}

.testimonial-document-link{
  margin-top:-30px;
  padding-bottom:34px;
}

/* ---------- Long AI answers ---------- */

.msg{
  line-height:1.48;
}

.msg-content{
  white-space:pre-wrap;
}

.msg-collapsible{
  position:relative;
}

.msg-collapsible.collapsed .msg-content{
  position:relative;
  max-height:245px;
  overflow:hidden;
}

.msg-collapsible.collapsed .msg-content::after{
  content:"";
  position:absolute;
  left:0;
  right:0;
  bottom:0;
  height:78px;
  background:linear-gradient(to bottom,rgba(233,236,232,0),#e9ece8 82%);
  pointer-events:none;
}

.msg-toggle{
  margin-top:12px;
  padding:8px 10px;
  border:1px solid #b8c0bd;
  border-radius:10px;
  background:#fff;
  color:#394348;
  cursor:pointer;
  font-size:13px;
  font-weight:750;
}

.msg-toggle:hover{
  border-color:#b58a49;
}

/* ---------- Laptop / reduced browser window ---------- */

@media(min-width:761px) and (max-width:1050px){

  /* Не превращаем ноутбук слишком рано в телефон */
  .cards,
  .final-actions.final-buttons,
  .grid-3{
    grid-template-columns:repeat(3,minmax(0,1fr));
  }

  .grid-4{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }

  .about-facts{
    grid-template-columns:repeat(3,minmax(0,1fr));
  }

  .diagnostic-card-grid,
  .guarantee-panels,
  .detailed-program{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }

  /* Тренажёр сохраняет боковую панель на обычном небольшом ноутбуке */
  .trainer-shell{
    grid-template-columns:270px minmax(0,1fr);
  }

  .trainer-sidebar{
    border-right:1px solid var(--line);
    border-bottom:0;
    padding:20px 16px;
  }

  .trainer-modules{
    grid-template-columns:1fr;
  }

  .trainer-main{
    padding:14px;
  }

  .chat{
    height:calc(100vh - 102px);
    min-height:560px;
  }
}

/* ---------- Tablet / phone ---------- */

@media(max-width:980px){
  .mobile-nav{
    display:block;
  }

  .nav{
    min-height:62px;
  }

  .brand{
    font-size:15px;
  }
}

@media(max-width:760px){

  /* На телефоне шапка больше не преследует пользователя */
  .site-header{
    position:relative;
    top:auto;
    backdrop-filter:none;
  }

  .nav{
    min-height:58px;
    gap:12px;
  }

  .brand{
    max-width:calc(100vw - 105px);
    overflow:hidden;
    text-overflow:ellipsis;
    font-size:14px;
  }

  .mobile-nav summary span{
    display:none;
  }

  .mobile-nav summary{
    width:42px;
    padding:0;
    justify-content:center;
  }

  /* Обычные карточки */
  .grid-4,
  .cards,
  .final-actions.final-buttons,
  .grid-3,
  .about-facts{
    grid-template-columns:1fr;
  }

  .info-card{
    min-height:0;
  }

  .page-section{
    padding-top:56px;
    padding-bottom:56px;
  }

  .page-section h2{
    font-size:clamp(30px,10vw,42px);
  }

  /* About */
  .about-story-grid{
    grid-template-columns:1fr;
  }

  .about-story-detail summary{
    min-height:0;
    padding:20px 48px 19px 20px;
  }

  .about-story-detail .about-story-label{
    margin-bottom:15px;
  }

  .about-story-detail h3{
    font-size:20px;
  }

  .about-story-body{
    padding:0 20px 20px;
  }

  .about-fact-card,
  .about-proof-card{
    padding:20px;
  }

  .about-fact-card strong{
    margin-bottom:12px;
    font-size:36px;
  }

  .proof-document-card{
    grid-template-columns:74px minmax(0,1fr);
    gap:13px;
    padding:13px;
  }

  .proof-document-card img{
    width:74px;
    height:94px;
  }

  .proof-document-card strong{
    margin-bottom:6px;
    font-size:16px;
  }

  .proof-document-card span{
    font-size:13px;
  }

  /* Trainer: крупнее буквы и компактное горизонтальное меню */
  .trainer-sidebar{
    padding:12px 14px 10px;
  }

  .trainer-profile{
    gap:11px;
    padding-bottom:12px;
  }

  .trainer-photo{
    width:52px;
    height:52px;
  }

  .trainer-profile h1,
  .trainer-profile strong{
    font-size:16px !important;
    line-height:1.22 !important;
  }

  .trainer-profile span{
    font-size:12px;
  }

  .trainer-label{
    margin:12px 0 8px;
    font-size:11px;
  }

  .trainer-modules{
    display:flex;
    gap:8px;
    overflow-x:auto;
    padding:2px 0 6px;
    scroll-snap-type:x proximity;
    scrollbar-width:thin;
  }

  .module-btn{
    width:auto;
    min-width:max-content;
    min-height:44px;
    flex:0 0 auto;
    padding:11px 13px;
    gap:7px;
    border-radius:13px;
    font-size:15px;
    scroll-snap-align:start;
  }

  .module-btn span{
    min-width:auto;
    margin-right:0;
    font-size:11px;
  }

  .trainer-main{
    padding:8px;
  }

  .chat{
    width:100%;
    height:72dvh;
    min-height:520px;
    border-radius:16px;
  }

  .chat-top{
    min-height:62px;
    padding:12px 14px;
  }

  .chat-title strong{
    font-size:17px;
  }

  .chat-title span{
    font-size:12px;
  }

  .status{
    display:none;
  }

  .messages{
    padding:14px 11px;
  }

  .msg{
    max-width:94%;
    margin-bottom:11px;
    padding:13px 14px;
    border-radius:16px;
    font-size:16.5px;
    line-height:1.48;
  }

  .composer{
    padding:10px;
    gap:8px;
  }

  .composer textarea{
    min-height:50px;
    padding:12px 13px;
    font-size:16px;
    line-height:1.4;
  }

  .send{
    min-height:48px;
    font-size:15px;
  }
}

/* ===== V0.46 CONSULTING COMPACT FLOW ===== */

.consulting-expand-grid,
.workday-compact-grid{
  display:grid;
  gap:14px;
  margin-top:30px;
}

.consulting-expand-grid-3{
  grid-template-columns:repeat(3,minmax(0,1fr));
}

.workday-compact-grid{
  grid-template-columns:repeat(3,minmax(0,1fr));
}

.consulting-expand-card,
.workday-compact-card,
.price-card-detail,
.section-more-details{
  overflow:hidden;
}

.consulting-expand-card,
.workday-compact-card{
  background:#fff;
  border:1px solid var(--line);
  border-radius:16px;
}

.consulting-expand-card summary,
.workday-compact-card summary{
  min-height:190px;
  padding:22px;
  list-style:none;
  cursor:pointer;
  display:flex;
  flex-direction:column;
}

.consulting-expand-card summary::-webkit-details-marker,
.workday-compact-card summary::-webkit-details-marker,
.section-more-details summary::-webkit-details-marker,
.price-card-detail summary::-webkit-details-marker{
  display:none;
}

.consulting-expand-card summary > .mono,
.workday-compact-card summary > .mono{
  margin-bottom:18px;
  color:#8a744f;
  font-size:11px;
}

.consulting-expand-card h3,
.workday-compact-card h3{
  margin:0 0 10px;
  font-size:21px;
  line-height:1.18;
}

.consulting-expand-card summary p,
.workday-compact-card summary p{
  margin:0;
  color:#626d72;
  font-size:15px;
  line-height:1.45;
}

.consulting-expand-card summary b,
.workday-compact-card summary b{
  margin-top:auto;
  padding-top:18px;
  color:#8a744f;
  font:700 11px/1.2 Consolas,monospace;
  letter-spacing:.05em;
  text-transform:uppercase;
}

.consulting-expand-card summary b::after,
.workday-compact-card summary b::after{
  content:" +";
}

.consulting-expand-card[open] summary b::after,
.workday-compact-card[open] summary b::after{
  content:" –";
}

.consulting-expand-body{
  padding:0 22px 22px;
  border-top:1px solid var(--line);
}

.consulting-expand-body .detail-list{
  margin-top:18px;
}

.consulting-expand-body h4{
  margin:20px 0 8px;
}

.post-diagnostic-compact{
  display:grid;
  grid-template-columns:repeat(5,minmax(0,1fr));
  gap:10px;
  margin-top:28px;
}

.post-diagnostic-compact span{
  min-height:92px;
  padding:16px;
  display:flex;
  flex-direction:column;
  gap:9px;
  background:#fff;
  border:1px solid var(--line);
  border-radius:14px;
  color:#364047;
  font-size:14px;
  line-height:1.35;
}

.post-diagnostic-compact b{
  color:#8a744f;
  font:700 11px/1 Consolas,monospace;
}

.section-more-details{
  margin-top:18px;
  background:#fff;
  border:1px solid var(--line);
  border-radius:14px;
}

.section-more-details > summary{
  padding:17px 20px;
  list-style:none;
  cursor:pointer;
  color:#4c575c;
  font-size:15px;
  font-weight:750;
}

.section-more-details > summary::after{
  content:" +";
  color:#8a744f;
}

.section-more-details[open] > summary::after{
  content:" –";
}

.section-more-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px;
  padding:0 18px 18px;
}

.section-more-grid article{
  padding:18px;
  background:#f7f8f6;
  border:1px solid var(--line);
}

.section-more-grid h3{
  margin:0 0 8px;
  font-size:17px;
}

.section-more-grid p{
  margin:0;
  color:#626d72;
  font-size:14px;
  line-height:1.45;
}

.behavior-table-compact{
  margin-top:24px;
}

.behavior-more{
  margin-top:14px;
}

.manager-output-compact{
  grid-template-columns:repeat(3,minmax(0,1fr));
}

.consulting-document-grid{
  margin-top:24px;
  grid-template-columns:minmax(0,760px);
}

.consulting-sheet-card{
  grid-template-columns:150px minmax(0,1fr);
}

.consulting-sheet-card img{
  width:150px;
  height:122px;
  object-fit:cover;
  object-position:top center;
}

.consulting-sheet-card b,
.review-document-card b{
  display:inline-block;
  margin-top:12px;
  color:#8a744f;
  font:700 11px/1.2 Consolas,monospace;
  letter-spacing:.05em;
  text-transform:uppercase;
}

.measurement-card-single{
  max-width:960px;
  margin-top:24px;
  min-height:0;
}

.compact-prices{
  align-items:start;
}

.price-card-detail{
  padding:0;
  min-height:0;
}

.price-card-detail > summary{
  min-height:250px;
  padding:24px;
  list-style:none;
  cursor:pointer;
  display:flex;
  flex-direction:column;
}

.price-card-detail > summary h3{
  margin:0 0 10px;
}

.price-card-detail > summary p{
  margin:0;
  color:#626d72;
}

.price-card-detail > summary .price{
  margin-top:auto;
  padding-top:24px;
}

.price-card-detail > summary > b{
  margin-top:14px;
  color:#8a744f;
  font:700 11px/1.2 Consolas,monospace;
  letter-spacing:.05em;
  text-transform:uppercase;
}

.price-card-detail > summary > b::after{
  content:" +";
}

.price-card-detail[open] > summary > b::after{
  content:" –";
}

.price-card-body{
  padding:0 24px 24px;
  border-top:1px solid var(--line);
}

.price-card-body .detail-list{
  margin-top:18px;
}

.price-muted{
  font-size:20px !important;
}

.review-document-wrap{
  margin-top:-24px;
  padding-bottom:38px;
}

.review-document-card{
  max-width:760px;
  display:grid;
  grid-template-columns:105px minmax(0,1fr);
  gap:18px;
  align-items:center;
  padding:16px;
  background:#fff;
  border:1px solid var(--line);
  border-radius:14px;
  color:inherit;
  text-decoration:none;
  transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease;
}

.review-document-card:hover{
  transform:translateY(-2px);
  border-color:#b58a49;
  box-shadow:0 14px 30px rgba(15,22,26,.05);
}

.review-document-card img{
  width:105px;
  height:132px;
  object-fit:cover;
  object-position:top center;
  border:1px solid #d8dcdd;
}

.review-document-card .mono{
  display:block;
  margin-bottom:8px;
  color:#8a744f;
  font-size:10px;
}

.review-document-card strong{
  display:block;
  font-size:18px;
  line-height:1.25;
}

.review-document-card p{
  margin:8px 0 0;
  color:#626d72;
  font-size:14px;
  line-height:1.4;
}

@media(max-width:1050px){
  .consulting-expand-grid-3,
  .workday-compact-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }

  .post-diagnostic-compact{
    grid-template-columns:repeat(3,minmax(0,1fr));
  }

  .manager-output-compact{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}

@media(max-width:680px){
  .consulting-expand-grid-3,
  .workday-compact-grid,
  .post-diagnostic-compact,
  .section-more-grid,
  .manager-output-compact{
    grid-template-columns:1fr;
  }

  .consulting-expand-card summary,
  .workday-compact-card summary{
    min-height:0;
  }

  .post-diagnostic-compact span{
    min-height:0;
  }

  .consulting-sheet-card,
  .review-document-card{
    grid-template-columns:78px minmax(0,1fr);
    gap:13px;
  }

  .consulting-sheet-card img{
    width:78px;
    height:92px;
  }

  .review-document-card img{
    width:78px;
    height:98px;
  }

  .price-card-detail > summary{
    min-height:215px;
  }
}



/* ==================================================
   V0.47 — WEB TRAINER UX
   Приветственный экран + кнопки вместо числового ввода
   ================================================== */

.composer.is-hidden{
  display:none;
}

.trainer-welcome{
  width:min(100%,860px);
  margin:0 auto;
  padding:8px 0 24px;
}

.trainer-welcome-kicker{
  margin-bottom:10px;
  color:#8a744f;
  font:700 10px/1.2 Consolas,monospace;
  letter-spacing:.08em;
}

.trainer-welcome h2{
  margin:0;
  font-size:clamp(28px,4vw,46px);
  line-height:1.02;
  letter-spacing:-.035em;
}

.trainer-welcome > p{
  max-width:720px;
  margin:16px 0 24px;
  color:#5f696e;
  font-size:15px;
  line-height:1.55;
}

.trainer-start-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px;
}

.trainer-start-card{
  min-height:112px;
  padding:16px;
  display:grid;
  grid-template-columns:34px minmax(0,1fr);
  grid-template-rows:auto 1fr;
  column-gap:11px;
  row-gap:6px;
  text-align:left;
  border:1px solid var(--line);
  border-radius:15px;
  background:#fff;
  color:#222a2e;
  cursor:pointer;
  transition:transform .16s ease,border-color .16s ease,background .16s ease,color .16s ease;
}

.trainer-start-card:hover{
  transform:translateY(-2px);
  border-color:#171f24;
  background:#171f24;
  color:#fff;
}

.trainer-start-card:disabled{
  cursor:default;
  opacity:.55;
  transform:none;
}

.trainer-start-number{
  grid-row:1 / span 2;
  padding-top:2px;
  color:#9aa2a6;
  font:700 10px/1 Consolas,monospace;
}

.trainer-start-card strong{
  font-size:15px;
  line-height:1.25;
}

.trainer-start-card small{
  color:#707b80;
  font-size:12px;
  line-height:1.35;
}

.trainer-start-card:hover small,
.trainer-start-card:hover .trainer-start-number{
  color:#bac1c4;
}

.trainer-loading-card{
  width:max-content;
  max-width:78%;
  padding:14px 16px;
  border-radius:18px;
  border-top-left-radius:5px;
  background:#e9ece8;
  color:#4f5a5f;
  font-size:14px;
}

.msg.msg-has-choices{
  width:min(100%,820px);
  max-width:88%;
  padding:18px;
}

.msg.msg-has-choices .msg-content{
  margin-bottom:15px;
}

.trainer-choice-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:8px;
  white-space:normal;
}

.trainer-choice-btn{
  min-height:52px;
  padding:11px 13px;
  text-align:left;
  border:1px solid #c8cecb;
  border-radius:12px;
  background:#fff;
  color:#222a2e;
  cursor:pointer;
  transition:transform .14s ease,border-color .14s ease,background .14s ease,color .14s ease;
}

.trainer-choice-btn:hover{
  transform:translateY(-1px);
  border-color:#171f24;
  background:#171f24;
  color:#fff;
}

.trainer-choice-btn:disabled{
  cursor:default;
  opacity:.48;
  transform:none;
}

.trainer-choice-btn strong{
  display:block;
  font-size:13px;
  line-height:1.3;
}

@media(max-width:760px){
  .trainer-start-grid,
  .trainer-choice-grid{
    grid-template-columns:1fr;
  }

  .trainer-start-card{
    min-height:92px;
  }

  .msg.msg-has-choices{
    max-width:96%;
  }
}


/* ==================================================
   V0.48 — TRAINER PROGRAM / KEYWORD / TIMEOUT UX
   ================================================== */

.trainer-keyword-row{
  margin-top:14px;
}

.trainer-keyword-btn{
  min-height:44px;
  padding:10px 15px;
  border:1px solid #171f24;
  border-radius:11px;
  background:#171f24;
  color:#fff;
  font:700 13px/1.2 Arial,sans-serif;
  cursor:pointer;
  transition:transform .14s ease,opacity .14s ease;
}

.trainer-keyword-btn:hover{
  transform:translateY(-1px);
}

.trainer-keyword-btn:disabled{
  cursor:default;
  opacity:.5;
  transform:none;
}

.msg.msg-with-keyword{
  width:min(100%,720px);
  max-width:88%;
}

.trainer-program{
  width:min(100%,860px);
  margin:0 auto;
  padding:20px;
  border:1px solid var(--line);
  border-radius:18px;
  background:#fff;
}

.trainer-program-head{
  padding:2px 2px 16px;
  border-bottom:1px solid var(--line);
}

.trainer-program-head > span{
  display:block;
  margin-bottom:8px;
  color:#8a744f;
  font:700 10px/1.2 Consolas,monospace;
  letter-spacing:.08em;
}

.trainer-program-head h3{
  margin:0;
  font-size:clamp(24px,3vw,34px);
  line-height:1.05;
  letter-spacing:-.025em;
}

.trainer-program-head p{
  max-width:700px;
  margin:10px 0 0;
  color:#687277;
  font-size:13px;
  line-height:1.5;
}

.trainer-program-list{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:8px;
  padding:16px 0;
}

.trainer-program-item{
  border:1px solid #d9dddb;
  border-radius:12px;
  background:#fafbf9;
  overflow:hidden;
}

.trainer-program-item[open]{
  background:#fff;
  border-color:#aeb6b2;
}

.trainer-program-item summary{
  list-style:none;
  display:grid;
  grid-template-columns:32px minmax(0,1fr);
  gap:8px;
  align-items:start;
  padding:12px 13px;
  cursor:pointer;
}

.trainer-program-item summary::-webkit-details-marker{
  display:none;
}

.trainer-program-number{
  padding-top:2px;
  color:#9ba2a0;
  font:700 10px/1 Consolas,monospace;
}

.trainer-program-item summary strong{
  font-size:13px;
  line-height:1.35;
}

.trainer-program-item p{
  margin:0;
  padding:0 13px 13px 53px;
  color:#687277;
  font-size:12px;
  line-height:1.5;
}

.trainer-program-actions{
  display:flex;
  gap:8px;
  flex-wrap:wrap;
  padding-top:14px;
  border-top:1px solid var(--line);
}

.trainer-program-action{
  min-height:44px;
  padding:10px 15px;
  border:1px solid #171f24;
  border-radius:11px;
  background:#171f24;
  color:#fff;
  font-size:13px;
  font-weight:700;
  cursor:pointer;
}

.trainer-program-action.secondary{
  background:#fff;
  color:#171f24;
}

.trainer-program-action:disabled{
  cursor:default;
  opacity:.5;
}

@media(max-width:760px){
  .trainer-program{
    padding:15px;
  }

  .trainer-program-list{
    grid-template-columns:1fr;
  }

  .trainer-program-action{
    width:100%;
  }

  .msg.msg-with-keyword{
    max-width:96%;
  }
}


/* ==================================================
   V0.49 — VISIBLE AI WORK STATE
   Пользователь всегда понимает, что запрос обрабатывается
   ================================================== */

.trainer-work-card{
  width:min(100%,760px);
  max-width:88%;
  padding:15px 16px 13px;
  border:1px solid #d5dad7;
  border-radius:16px;
  border-top-left-radius:5px;
  background:#f6f7f5;
  color:#293236;
}

.trainer-work-card[hidden]{
  display:none;
}

.trainer-work-head{
  display:grid;
  grid-template-columns:18px minmax(0,1fr) auto;
  gap:9px;
  align-items:center;
}

.trainer-work-head strong{
  font-size:13px;
  line-height:1.3;
}

.trainer-work-time{
  color:#8a9397;
  font:700 10px/1 Consolas,monospace;
  white-space:nowrap;
}

.trainer-work-spinner{
  width:14px;
  height:14px;
  border:2px solid #c5cbc8;
  border-top-color:#171f24;
  border-radius:50%;
  animation:trainerWorkSpin .8s linear infinite;
}

.trainer-work-detail{
  margin:9px 0 10px 27px;
  color:#667075;
  font-size:12px;
  line-height:1.45;
}

.trainer-work-progress{
  height:3px;
  margin-left:27px;
  overflow:hidden;
  border-radius:99px;
  background:#e0e4e1;
}

.trainer-work-progress span{
  display:block;
  width:42%;
  height:100%;
  border-radius:inherit;
  background:#8f9a95;
  animation:trainerWorkProgress 1.5s ease-in-out infinite;
}

@keyframes trainerWorkSpin{
  to{
    transform:rotate(360deg);
  }
}

@keyframes trainerWorkProgress{
  0%{
    transform:translateX(-110%);
  }
  50%{
    transform:translateX(95%);
  }
  100%{
    transform:translateX(240%);
  }
}

@media(max-width:760px){
  .trainer-work-card{
    max-width:96%;
  }
}


/* ==================================================
   V0.50 — WEB CONTEXT INTAKE
   Вводные собираются формой, учебные вопросы остаются диалогом
   ================================================== */

.trainer-context-card{
  width:min(100%,860px);
  margin:0 auto;
  padding:19px;
  border:1px solid var(--line);
  border-radius:18px;
  background:#fff;
}

.trainer-context-head{
  padding:1px 1px 15px;
  border-bottom:1px solid var(--line);
}

.trainer-context-head > span{
  display:block;
  margin-bottom:7px;
  color:#8a744f;
  font:700 10px/1.2 Consolas,monospace;
  letter-spacing:.08em;
}

.trainer-context-head h3{
  margin:0;
  font-size:clamp(22px,3vw,31px);
  line-height:1.06;
  letter-spacing:-.025em;
}

.trainer-context-head p{
  max-width:720px;
  margin:9px 0 0;
  color:#687277;
  font-size:13px;
  line-height:1.5;
}

.trainer-context-form{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:11px;
  padding-top:15px;
}

.trainer-context-field{
  display:flex;
  flex-direction:column;
  gap:6px;
}

.trainer-context-field:has(textarea){
  grid-column:span 2;
}

.trainer-context-field > span{
  color:#3c464a;
  font-size:11px;
  font-weight:700;
  line-height:1.3;
}

.trainer-context-field input,
.trainer-context-field textarea,
.trainer-context-field select{
  width:100%;
  border:1px solid #d3d8d5;
  border-radius:11px;
  background:#fafbf9;
  color:#20282c;
  font:400 13px/1.45 Arial,sans-serif;
  outline:none;
  transition:border-color .14s ease,background .14s ease,box-shadow .14s ease;
}

.trainer-context-field input{
  min-height:43px;
  padding:10px 12px;
}

.trainer-context-field select{
  min-height:43px;
  padding:10px 34px 10px 12px;
}

.trainer-context-field textarea{
  min-height:70px;
  padding:10px 12px;
  resize:vertical;
}

.trainer-context-field input:focus,
.trainer-context-field textarea:focus,
.trainer-context-field select:focus{
  border-color:#7d8983;
  background:#fff;
  box-shadow:0 0 0 3px rgba(23,31,36,.05);
}

.trainer-context-field .input-error{
  border-color:#a45e5e;
}

.trainer-context-error{
  grid-column:1 / -1;
  padding:9px 11px;
  border-radius:9px;
  background:#f6eceb;
  color:#874b4b;
  font-size:11px;
  line-height:1.4;
}

.trainer-context-actions{
  grid-column:1 / -1;
  display:flex;
  gap:8px;
  flex-wrap:wrap;
  padding-top:5px;
}

.trainer-context-submit,
.trainer-context-random,
.trainer-context-plain{
  min-height:42px;
  padding:9px 14px;
  border-radius:10px;
  font-size:12px;
  font-weight:700;
  cursor:pointer;
}

.trainer-context-submit{
  border:1px solid #171f24;
  background:#171f24;
  color:#fff;
}

.trainer-context-random{
  border:1px solid #8d9692;
  background:#fff;
  color:#283034;
}

.trainer-context-plain{
  margin-left:auto;
  border:0;
  background:transparent;
  color:#707b80;
  text-decoration:underline;
  text-underline-offset:3px;
}

.trainer-context-submit:disabled,
.trainer-context-random:disabled,
.trainer-context-plain:disabled{
  cursor:default;
  opacity:.5;
}

.trainer-context-card.plain-mode .trainer-context-form{
  opacity:.48;
  pointer-events:none;
}

@media(max-width:760px){
  .trainer-context-card{
    padding:15px;
  }

  .trainer-context-form{
    grid-template-columns:1fr;
  }

  .trainer-context-field:has(textarea){
    grid-column:auto;
  }

  .trainer-context-actions{
    grid-column:auto;
  }

  .trainer-context-submit,
  .trainer-context-random,
  .trainer-context-plain{
    width:100%;
    margin-left:0;
  }
}


/* ==================================================
   V0.51 — WEB UX CLEANUP
   Compact menus, neutral processing state, context reuse
   ================================================== */


/* ==================================================
   V0.52 — WEB CORE V18 / SALES PHASE 1
   ================================================== */

.trainer-top-tools{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:12px;
  flex-wrap:wrap;
}

.trainer-guidance{
  display:flex;
  gap:3px;
  padding:3px;
  border:1px solid var(--line);
  border-radius:10px;
  background:#f4f5f3;
}

.guidance-btn{
  border:0;
  border-radius:7px;
  background:transparent;
  color:#6a7377;
  padding:6px 9px;
  font-size:10px;
  font-weight:700;
  cursor:pointer;
}

.guidance-btn.active{
  background:#171f24;
  color:#fff;
}

.trainer-nav-row{
  display:flex;
  gap:7px;
  padding:8px 14px;
  border-bottom:1px solid var(--line);
  background:#fafbf9;
}

.trainer-nav-btn{
  min-height:34px;
  padding:6px 10px;
  border:1px solid #ccd2cf;
  border-radius:8px;
  background:#fff;
  color:#364044;
  font-size:11px;
  font-weight:700;
  cursor:pointer;
}

.trainer-nav-btn:hover{
  border-color:#171f24;
}

.trainer-nav-btn.danger{
  margin-left:auto;
}

.trainer-screen-card,
.trainer-influence,
.trainer-completed,
.trainer-module-intro{
  width:min(100%,860px);
  margin:0 auto;
  padding:20px;
  border:1px solid var(--line);
  border-radius:18px;
  background:#fff;
}

.trainer-screen-card h2,
.trainer-influence h2,
.trainer-completed h2,
.trainer-module-intro h2{
  margin:0 0 12px;
  font-size:clamp(24px,3vw,34px);
  line-height:1.06;
  letter-spacing:-.025em;
}

.trainer-screen-intro{
  margin:0 0 14px;
  color:#5f696e;
  font-size:14px;
  line-height:1.55;
}

.trainer-screen-note{
  margin:10px 0 16px;
  padding:10px 12px;
  border-left:3px solid #b9a06a;
  background:#f7f5ef;
  color:#5d6467;
  font-size:12px;
  line-height:1.5;
}

.trainer-process-note{
  margin:14px 0 16px;
  padding:12px 14px;
  border:1px solid #dde1df;
  border-radius:11px;
  background:#fafbf9;
  color:#60696d;
  font-size:12px;
  line-height:1.5;
}

.trainer-module-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:9px;
}

.trainer-module-card{
  min-height:76px;
  padding:13px 14px;
  display:flex;
  flex-direction:column;
  gap:6px;
  text-align:left;
  border:1px solid #d7dcda;
  border-radius:12px;
  background:#fafbf9;
  color:#222a2e;
  cursor:pointer;
  transition:transform .14s ease,border-color .14s ease,background .14s ease;
}

.trainer-module-card:hover{
  transform:translateY(-1px);
  border-color:#171f24;
  background:#fff;
}

.trainer-module-card strong{
  font-size:13px;
  line-height:1.3;
}

.trainer-module-card small{
  color:#707a7e;
  font-size:11px;
  line-height:1.4;
}

.trainer-module-intro p{
  max-width:720px;
  margin:0 0 18px;
  color:#626c70;
  font-size:14px;
  line-height:1.6;
}

.trainer-module-intro-actions,
.trainer-inline-actions{
  display:flex;
  gap:8px;
  align-items:center;
  flex-wrap:wrap;
}

.trainer-about-module{
  margin-bottom:14px;
  border-bottom:1px solid var(--line);
  padding-bottom:10px;
}

.trainer-about-module summary{
  width:max-content;
  color:#7a6a4c;
  font-size:11px;
  font-weight:700;
  cursor:pointer;
}

.trainer-about-module p{
  max-width:720px;
  margin:9px 0 0;
  color:#697377;
  font-size:12px;
  line-height:1.5;
}

.trainer-step-progress{
  margin-bottom:9px;
  color:#897652;
  font:700 10px/1.2 Consolas,monospace;
  letter-spacing:.05em;
}

.trainer-question{
  margin:12px 0;
  color:#20282c;
  font-size:18px;
  line-height:1.4;
  font-weight:700;
}

.trainer-influence-snapshot{
  margin:15px 0;
  padding:11px 12px;
  border:1px solid #dce0de;
  border-radius:11px;
  background:#fafbf9;
}

.trainer-influence-snapshot summary{
  font-size:11px;
  font-weight:700;
  cursor:pointer;
}

.trainer-snapshot-list{
  display:grid;
  gap:8px;
  margin-top:11px;
}

.trainer-snapshot-list > div{
  display:grid;
  grid-template-columns:140px minmax(0,1fr);
  gap:10px;
  padding-top:8px;
  border-top:1px solid #e3e6e4;
}

.trainer-snapshot-list strong{
  color:#6e777b;
  font-size:10px;
}

.trainer-snapshot-list span{
  color:#2e383c;
  font-size:11px;
  line-height:1.45;
}

.trainer-hint{
  margin:13px 0;
  padding:12px 14px;
  border:1px solid #d7cfbd;
  border-radius:11px;
  background:#faf7ef;
  color:#514a3c;
  font-size:12px;
  line-height:1.5;
}

.trainer-conversation{
  width:100%;
}

.trainer-small-action{
  margin-top:10px;
  min-height:36px;
  padding:7px 11px;
  border:1px solid #bfc6c2;
  border-radius:9px;
  background:#fff;
  color:#394347;
  font-size:11px;
  font-weight:700;
  cursor:pointer;
}

.trainer-result-text{
  white-space:pre-wrap;
  margin:12px 0 18px;
  color:#3c464a;
  font-size:12px;
  line-height:1.55;
}

@media(max-width:760px){
  .trainer-top-tools{
    width:100%;
    justify-content:flex-start;
  }

  .trainer-guidance{
    width:100%;
  }

  .guidance-btn{
    flex:1;
  }

  .trainer-nav-row{
    overflow-x:auto;
  }

  .trainer-nav-btn{
    white-space:nowrap;
  }

  .trainer-module-grid{
    grid-template-columns:1fr;
  }

  .trainer-screen-card,
  .trainer-influence,
  .trainer-completed,
  .trainer-module-intro{
    padding:15px;
  }

  .trainer-snapshot-list > div{
    grid-template-columns:1fr;
    gap:4px;
  }
}


/* ==================================================
   V0.53 — SINGLE NAVIGATION / COMPACT WELCOME
   ================================================== */

.trainer-welcome-compact{
  width:min(100%,720px);
  min-height:0;
  margin:auto;
  padding:28px 30px;
  border:1px solid var(--line);
  border-radius:18px;
  background:#fff;
}

.trainer-welcome-compact h2{
  margin:7px 0 10px;
  font-size:clamp(28px,3.4vw,42px);
  line-height:1.02;
  letter-spacing:-.035em;
}

.trainer-welcome-compact > p{
  max-width:620px;
  margin:0;
  color:#626c70;
  font-size:14px;
  line-height:1.55;
}

.trainer-welcome-note{
  max-width:620px;
  margin-top:17px;
  padding-top:14px;
  border-top:1px solid var(--line);
  color:#7a8387;
  font-size:12px;
  line-height:1.5;
}

@media(max-width:760px){
  .trainer-welcome-compact{
    margin:0;
    padding:20px 18px;
  }

  .trainer-welcome-compact h2{
    font-size:30px;
  }
}


/* ==================================================
   V0.54 — COMPACT MODULES / PRODUCT CATEGORY
   ================================================== */

.trainer-module-card{
  min-height:50px;
  padding:9px 11px;
  gap:0;
  border-radius:10px;
}

.trainer-module-card strong{
  font-size:12px;
  line-height:1.28;
}

.trainer-category-card{
  padding:16px 18px;
}

.trainer-category-card h2{
  margin-bottom:7px;
  font-size:24px;
  line-height:1.1;
}

.trainer-category-card .trainer-screen-intro{
  margin-bottom:11px;
  font-size:12px;
  line-height:1.45;
}

.trainer-choice-grid.is-compact{
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:6px;
}

.trainer-choice-grid.is-compact .trainer-choice-btn{
  min-height:40px;
  padding:7px 9px;
  border-radius:9px;
}

.trainer-choice-grid.is-compact .trainer-choice-btn strong{
  font-size:11px;
  line-height:1.25;
}

.trainer-choice-btn:disabled,
.trainer-module-card:disabled,
.trainer-context-submit:disabled,
.trainer-context-random:disabled,
.trainer-context-plain:disabled,
.trainer-small-action:disabled,
.trainer-program-action:disabled{
  cursor:default;
  opacity:.55;
  transform:none;
}

@media(max-width:900px){
  .trainer-choice-grid.is-compact{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}

@media(max-width:460px){
  .trainer-choice-grid.is-compact{
    grid-template-columns:1fr;
  }

  .trainer-category-card{
    padding:14px;
  }
}


/* ==================================================
   V0.55 — WEB-NATIVE NEGOTIATIONS
   ================================================== */

.trainer-learning,
.trainer-classification,
.trainer-role-selection,
.trainer-practice,
.trainer-reflection{
  width:min(100%,900px);
  margin:0 auto;
  padding:18px;
  border:1px solid var(--line);
  border-radius:16px;
  background:#fff;
}

.trainer-learning h2,
.trainer-classification h2,
.trainer-role-selection h2,
.trainer-practice h2,
.trainer-reflection h2{
  margin:0 0 12px;
  font-size:clamp(23px,3vw,32px);
  line-height:1.08;
  letter-spacing:-.025em;
}

.trainer-learning-case,
.trainer-practice-case{
  margin:10px 0 13px;
  border:1px solid #dde1df;
  border-radius:10px;
  background:#fafbf9;
}

.trainer-learning-case summary,
.trainer-practice-case summary{
  padding:10px 12px;
  font-size:11px;
  font-weight:800;
  cursor:pointer;
}

.trainer-structured-text{
  padding:0 12px 12px;
  white-space:pre-wrap;
  color:#4f595d;
  font-size:12px;
  line-height:1.55;
}

.trainer-learning-question,
.trainer-reflection-question{
  margin:14px 0;
  padding:14px;
  border-left:3px solid #aa905c;
  background:#f8f6f0;
  white-space:pre-wrap;
  color:#2f383c;
  font-size:13px;
  line-height:1.55;
}

.trainer-reflection-question{
  font-size:15px;
  font-weight:700;
}

.trainer-opponent-line{
  display:grid;
  gap:5px;
  margin:12px 0 16px;
  padding:13px 14px;
  border-radius:11px;
  background:#f1f3f2;
}

.trainer-opponent-line strong{
  color:#7f6b43;
  font-size:10px;
  text-transform:uppercase;
  letter-spacing:.05em;
}

.trainer-opponent-line span{
  color:#263034;
  font-size:14px;
  line-height:1.5;
}

.trainer-classification-options{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:6px;
  margin-bottom:10px;
}

.trainer-classification-option{
  min-height:42px;
  padding:8px 10px;
  border:1px solid #d8ddda;
  border-radius:9px;
  background:#fafbf9;
  color:#394347;
  font-size:11px;
  font-weight:700;
  text-align:left;
  cursor:pointer;
}

.trainer-classification-option.active{
  border-color:#171f24;
  background:#171f24;
  color:#fff;
}

.trainer-diagnosis-prompts{
  display:grid;
  gap:7px;
  margin:12px 0;
}

.trainer-diagnosis-prompts > div{
  display:grid;
  grid-template-columns:26px 1fr;
  gap:9px;
  padding:9px 10px;
  border:1px solid #e0e4e2;
  border-radius:9px;
  background:#fafbf9;
}

.trainer-diagnosis-prompts strong{
  color:#8a7448;
  font:700 11px/1.4 Consolas,monospace;
}

.trainer-diagnosis-prompts span{
  color:#414b4f;
  font-size:12px;
  line-height:1.45;
}

.trainer-wide-textarea{
  width:100%;
  resize:vertical;
  min-height:100px;
  margin:0 0 10px;
  padding:11px 12px;
  border:1px solid #cfd5d2;
  border-radius:10px;
  background:#fff;
  color:#20282c;
  font:inherit;
  line-height:1.5;
}

.trainer-role-context{
  display:grid;
  gap:8px;
  margin:10px 0 16px;
}

.trainer-role-context > div{
  display:grid;
  grid-template-columns:90px 1fr;
  gap:10px;
  padding:8px 0;
  border-bottom:1px solid #ecefed;
}

.trainer-role-context strong{
  color:#777f82;
  font-size:10px;
}

.trainer-role-context span{
  color:#354044;
  font-size:12px;
  line-height:1.45;
}

.trainer-role-selection h3{
  margin:15px 0 9px;
  font-size:13px;
}

.trainer-role-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:7px;
}

.trainer-role-card{
  min-height:64px;
  padding:10px 11px;
  display:flex;
  flex-direction:column;
  gap:5px;
  text-align:left;
  border:1px solid #d8ddda;
  border-radius:10px;
  background:#fafbf9;
  cursor:pointer;
}

.trainer-role-card strong{
  font-size:12px;
}

.trainer-role-card small{
  color:#737d80;
  font-size:10px;
  line-height:1.4;
}

.trainer-practice-head{
  display:flex;
  justify-content:space-between;
  gap:12px;
  align-items:flex-start;
}

.trainer-practice-head > span{
  padding:5px 8px;
  border:1px solid #d9dddb;
  border-radius:999px;
  color:#777f82;
  font:700 10px/1 Consolas,monospace;
}

.trainer-practice-case-grid{
  display:grid;
  padding:0 12px 11px;
}

.trainer-practice-case-grid > div{
  display:grid;
  grid-template-columns:120px 1fr;
  gap:10px;
  padding:7px 0;
  border-top:1px solid #e6e9e7;
}

.trainer-practice-case-grid strong{
  color:#747d80;
  font-size:10px;
}

.trainer-practice-case-grid span{
  color:#364044;
  font-size:11px;
  line-height:1.45;
}

.trainer-practice-dialogue{
  display:grid;
  gap:9px;
  margin-top:13px;
}

.trainer-practice-bubble{
  width:min(82%,720px);
  display:grid;
  gap:4px;
  padding:10px 12px;
  border-radius:12px;
}

.trainer-practice-bubble strong{
  font-size:9px;
  text-transform:uppercase;
  letter-spacing:.05em;
}

.trainer-practice-bubble span{
  white-space:pre-wrap;
  font-size:13px;
  line-height:1.48;
}

.trainer-practice-bubble.opponent{
  justify-self:start;
  background:#f0f2f1;
  color:#2b3438;
}

.trainer-practice-bubble.opponent strong{
  color:#7c6842;
}

.trainer-practice-bubble.user{
  justify-self:end;
  background:#1e272c;
  color:#fff;
}

.trainer-practice-bubble.user strong{
  color:#d8c79f;
}

.trainer-user-first{
  padding:11px 12px;
  border:1px dashed #c8cec9;
  border-radius:10px;
  color:#626d71;
  font-size:12px;
  line-height:1.5;
}

@media(max-width:720px){
  .trainer-learning,
  .trainer-classification,
  .trainer-role-selection,
  .trainer-practice,
  .trainer-reflection{
    padding:14px;
  }

  .trainer-classification-options,
  .trainer-role-grid{
    grid-template-columns:1fr;
  }

  .trainer-role-context > div,
  .trainer-practice-case-grid > div{
    grid-template-columns:1fr;
    gap:3px;
  }

  .trainer-practice-bubble{
    width:92%;
  }
}


/* ==================================================
   V0.56 — WEB-NATIVE PSYCHOLOGY
   ================================================== */

.trainer-skill-step,
.trainer-psychology-complete{
  width:min(100%,900px);
  margin:0 auto;
  padding:18px;
  border:1px solid var(--line);
  border-radius:16px;
  background:#fff;
}

.trainer-skill-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:12px;
}

.trainer-skill-head h2,
.trainer-psychology-complete h2{
  margin:0 0 12px;
  font-size:clamp(23px,3vw,32px);
  line-height:1.08;
  letter-spacing:-.025em;
}

.trainer-skill-head > span{
  flex:0 0 auto;
  padding:5px 8px;
  border:1px solid #d9dddb;
  border-radius:999px;
  color:#777f82;
  font:700 10px/1 Consolas,monospace;
}

.trainer-step-feedback{
  display:grid;
  gap:5px;
  margin:10px 0;
  padding:10px 12px;
  border-radius:10px;
  font-size:11px;
  line-height:1.45;
}

.trainer-step-feedback strong{
  font-size:10px;
  text-transform:uppercase;
  letter-spacing:.04em;
}

.trainer-step-feedback.accepted{
  border:1px solid #cfd9d3;
  background:#f5f8f6;
  color:#415149;
}

.trainer-step-feedback.retry{
  border:1px solid #dfd2bd;
  background:#faf6ef;
  color:#5d5140;
}

.trainer-live-update{
  margin:8px 0;
  padding:10px 12px;
  border-radius:10px;
  background:#f0f2f1;
  white-space:pre-wrap;
  color:#303a3e;
  font-size:12px;
  line-height:1.5;
}

.trainer-step-name{
  margin:14px 0 5px;
  color:#897652;
  font-size:11px;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.04em;
}

.trainer-complete-details{
  margin:10px 0;
  border:1px solid #dde1df;
  border-radius:10px;
  background:#fafbf9;
}

.trainer-complete-details summary{
  padding:10px 12px;
  font-size:11px;
  font-weight:800;
  cursor:pointer;
}

@media(max-width:720px){
  .trainer-skill-step,
  .trainer-psychology-complete{
    padding:14px;
  }
}


/* ==================================================
   V0.57 — WEB-NATIVE DEAL ECONOMICS & MANAGEMENT
   ================================================== */

.trainer-deal-numeric{
  width:min(100%,900px);
  margin:0 auto;
  padding:18px;
  border:1px solid var(--line);
  border-radius:16px;
  background:#fff;
}

.trainer-deal-numeric h2{
  margin:0 0 12px;
  font-size:clamp(23px,3vw,32px);
  line-height:1.08;
  letter-spacing:-.025em;
}

.trainer-deal-question{
  margin:8px 0 14px;
  color:#525d61;
  font-size:12px;
  line-height:1.5;
  white-space:pre-wrap;
}

.trainer-deal-form{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:8px;
}

.trainer-deal-field{
  margin:0;
  padding:10px 11px;
  border:1px solid #dde1df;
  border-radius:10px;
  background:#fafbf9;
}

.trainer-deal-field-label{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:10px;
  margin-bottom:7px;
}

.trainer-deal-field-label strong{
  color:#343e42;
  font-size:11px;
  line-height:1.35;
}

.trainer-deal-field-label small{
  color:#8a9396;
  font-size:9px;
  line-height:1.3;
  text-align:right;
}

.trainer-deal-field input{
  width:100%;
  padding:9px 10px;
  border:1px solid #cfd5d2;
  border-radius:8px;
  background:#fff;
  color:#20282c;
  font:inherit;
}

.trainer-deal-form-note{
  grid-column:1 / -1;
  margin:2px 0 0;
  color:#737d80;
  font-size:10px;
  line-height:1.45;
}

.trainer-deal-form .trainer-inline-actions{
  grid-column:1 / -1;
}

.trainer-deal-alert{
  margin:10px 0;
  padding:10px 12px;
  border:1px solid #dfd2bd;
  border-radius:10px;
  background:#faf6ef;
  color:#5d5140;
  white-space:pre-wrap;
  font-size:11px;
  line-height:1.5;
}

@media(max-width:720px){
  .trainer-deal-numeric{
    padding:14px;
  }

  .trainer-deal-form{
    grid-template-columns:1fr;
  }
}


/* ==================================================
   V0.58 — ONE STEP / ONE DECISION / COMPACT CONTEXT
   ================================================== */

.trainer-compact-context{
  margin:8px 0 12px;
  border:1px solid #e1e5e3;
  border-radius:10px;
  background:#fafbf9;
}

.trainer-compact-context summary{
  padding:8px 10px;
  cursor:pointer;
  color:#6e787b;
  font-size:10px;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.04em;
}

.trainer-compact-context-grid{
  display:grid;
  gap:0;
  padding:0 10px 8px;
}

.trainer-compact-context-grid > div{
  display:grid;
  grid-template-columns:90px 1fr;
  gap:9px;
  padding:6px 0;
  border-top:1px solid #ecefed;
}

.trainer-compact-context-grid strong{
  color:#838c8f;
  font-size:9px;
  line-height:1.35;
}

.trainer-compact-context-grid span{
  color:#394347;
  font-size:11px;
  line-height:1.4;
}

.trainer-deal-input-row{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:6px;
  align-items:center;
}

.trainer-deal-unknown{
  min-height:36px;
  padding:7px 9px;
  border:1px solid #d6dbd8;
  border-radius:8px;
  background:#fff;
  color:#6c7578;
  font-size:9px;
  font-weight:700;
  cursor:pointer;
  white-space:nowrap;
}

.trainer-deal-unknown:hover{
  border-color:#aeb6b2;
  color:#333d41;
}

@media(max-width:560px){
  .trainer-compact-context-grid > div{
    grid-template-columns:1fr;
    gap:2px;
  }

  .trainer-deal-input-row{
    grid-template-columns:1fr;
  }

  .trainer-deal-unknown{
    justify-self:start;
  }
}


/* ==================================================
   V0.60 — SITE TRUST / COMPACT METHOD / TRAINER HEADER
   ================================================== */

/* Главная: метод больше не занимает отдельный большой экран */
.method-compact-section{
  padding-top:44px;
  padding-bottom:44px;
}

.method-compact-row{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:36px;
  align-items:end;
  padding:24px 0;
  border-top:1px solid var(--line);
  border-bottom:1px solid var(--line);
}

.method-compact-copy h2{
  margin:8px 0 8px;
  font-size:clamp(30px,4vw,48px);
}

.method-compact-copy p{
  max-width:820px;
  margin:0;
  color:#647076;
  font-size:16px;
  line-height:1.55;
}

.method-compact-link{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:44px;
  padding:10px 16px;
  border:1px solid #b9c0c2;
  border-radius:999px;
  color:#2e383d;
  font-size:13px;
  font-weight:800;
  white-space:nowrap;
}

.method-compact-link:hover{
  border-color:#171f24;
  background:#171f24;
  color:#fff;
}

/* Главная: компактная система доказательств */
.home-proof-section{
  background:#fff;
}

.home-proof-lead{
  max-width:800px;
  margin-bottom:26px;
}

.home-proof-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:14px;
}

.home-proof-card{
  min-width:0;
  display:flex;
  flex-direction:column;
  overflow:hidden;
  border:1px solid var(--line);
  background:#f8f9f7;
  color:inherit;
  text-decoration:none;
  transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease;
}

.home-proof-card:hover{
  transform:translateY(-2px);
  border-color:#aeb6b9;
  box-shadow:0 12px 28px rgba(22,31,35,.06);
}

.home-proof-card img{
  width:100%;
  height:220px;
  object-fit:cover;
  object-position:center;
  border-bottom:1px solid var(--line);
  background:#e8eae7;
}

.home-proof-card:nth-child(2) img,
.home-proof-card:nth-child(3) img{
  object-position:top center;
}

.home-proof-copy{
  flex:1;
  display:flex;
  flex-direction:column;
  padding:18px 18px 17px;
}

.home-proof-label{
  margin-bottom:11px;
  color:#8a7448;
  font-size:9px;
}

.home-proof-copy h3{
  margin:0 0 9px;
  font-size:21px;
  line-height:1.18;
}

.home-proof-copy p{
  margin:0 0 17px;
  color:#616c71;
  font-size:13px;
  line-height:1.52;
}

.home-proof-action{
  margin-top:auto;
  color:#303a3f;
  font-size:12px;
  font-weight:800;
}

/* На странице тренажёра не повторяем всё меню сайта */
.trainer-site-nav{
  min-height:58px;
}

.trainer-site-back{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:36px;
  padding:7px 13px;
  border:1px solid rgba(255,255,255,.22);
  border-radius:999px;
  color:#dbe1e3;
  font-size:12px;
  font-weight:800;
}

.trainer-site-back:hover{
  color:#fff;
  border-color:rgba(255,255,255,.5);
}

.trainer-site-header + .trainer-shell{
  min-height:calc(100vh - 58px);
}

@media(max-width:980px){
  .home-proof-grid{
    grid-template-columns:1fr 1fr;
  }

  .home-proof-card:last-child{
    grid-column:1 / -1;
  }
}

@media(max-width:760px){
  .method-compact-section{
    padding-top:30px;
    padding-bottom:30px;
  }

  .method-compact-row{
    grid-template-columns:1fr;
    gap:18px;
    align-items:start;
    padding:20px 0;
  }

  .method-compact-link{
    justify-self:start;
  }

  .home-proof-grid{
    grid-template-columns:1fr;
  }

  .home-proof-card:last-child{
    grid-column:auto;
  }

  .home-proof-card img{
    height:190px;
  }

  .trainer-site-nav{
    min-height:54px;
  }

  .trainer-site-header .brand{
    max-width:calc(100vw - 100px);
  }
}


/* ==================================================
   V0.64 — PUBLIC TRAINER LANDING
   ================================================== */

.trainer-landing-actions{
  margin-top:26px;
}

.page-btn-primary{
  border-color:#1f2a2f;
  background:#1f2a2f;
  color:#fff;
}

.page-btn-primary:hover{
  color:#fff;
}

.trainer-beta-note{
  margin:16px 0 0;
  color:#798287;
  font-size:12px;
  line-height:1.5;
}

.trainer-learning-chain{
  display:grid;
  grid-template-columns:repeat(5,minmax(0,1fr));
  gap:10px;
  margin-top:30px;
}

.trainer-learning-chain > div{
  min-height:164px;
  padding:20px 18px;
  border:1px solid var(--line);
  border-radius:16px;
  background:#fff;
}

.trainer-learning-chain span{
  display:block;
  margin-bottom:18px;
  color:#94784b;
  font-size:11px;
}

.trainer-learning-chain strong{
  display:block;
  margin-bottom:8px;
  color:#20292d;
  font-size:17px;
  line-height:1.25;
}

.trainer-learning-chain p{
  margin:0;
  color:#687277;
  font-size:13px;
  line-height:1.5;
}

.trainer-learning-note{
  margin-top:22px;
}

@media(max-width:980px){
  .trainer-learning-chain{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}

@media(max-width:620px){
  .trainer-learning-chain{
    grid-template-columns:1fr;
  }

  .trainer-learning-chain > div{
    min-height:0;
  }
}


/* ==================================================
   V0.65 — TRAINING SEARCH CLUSTER
   ================================================== */

.trainer-beta-strip{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin-top:18px;
}

.trainer-beta-strip strong,
.trainer-beta-strip span{
  padding:7px 10px;
  border:1px solid rgba(31,42,47,.14);
  border-radius:999px;
  background:rgba(255,255,255,.7);
  color:#5d676b;
  font-size:11px;
  line-height:1.2;
}

.trainer-beta-strip strong{
  border-color:#d6b34d;
  color:#6f5a22;
}

.trainer-contrast{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:12px;
  margin:28px 0 6px;
}

.trainer-contrast > div{
  padding:24px;
  border:1px solid var(--line);
  border-radius:18px;
}

.trainer-contrast-question{
  background:#fafafa;
}

.trainer-contrast-answer{
  background:#fffaf0;
  border-color:#e1cf9b !important;
}

.trainer-contrast .mono{
  display:block;
  margin-bottom:14px;
  color:#94784b;
  font-size:10px;
}

.trainer-contrast strong{
  display:block;
  margin-bottom:10px;
  color:#20292d;
  font-size:20px;
  line-height:1.2;
}

.trainer-contrast p{
  margin:0;
  color:#677176;
  font-size:13px;
  line-height:1.6;
}

.learning-format-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px;
  margin-top:28px;
}

.learning-format-card{
  padding:24px;
  border:1px solid var(--line);
  border-radius:18px;
  background:#fff;
}

.learning-format-card-accent{
  border-color:#d9bd69;
  background:#fffaf0;
}

.learning-format-card .mono{
  display:block;
  margin-bottom:12px;
  color:#94784b;
  font-size:10px;
}

.learning-format-card h3{
  margin:0 0 10px;
  color:#20292d;
  font-size:21px;
  line-height:1.25;
}

.learning-format-card p{
  margin:0;
  color:#667176;
  font-size:13px;
  line-height:1.6;
}

.learning-format-result{
  margin-top:16px;
  padding-top:14px;
  border-top:1px solid rgba(31,42,47,.1);
  color:#455156;
  font-size:11px;
  font-weight:700;
}

.trainer-format-conclusion{
  margin-top:24px;
  padding:18px 20px;
  border-left:3px solid #d2ad45;
  background:#fff;
}

.trainer-evidence-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:10px;
  margin:26px 0 22px;
}

.trainer-evidence-grid article{
  padding:20px;
  border:1px solid var(--line);
  border-radius:16px;
  background:#fff;
}

.trainer-evidence-grid .mono{
  display:block;
  margin-bottom:13px;
  color:#94784b;
  font-size:10px;
}

.trainer-evidence-grid strong{
  display:block;
  margin-bottom:8px;
  color:#20292d;
  font-size:19px;
}

.trainer-evidence-grid p{
  margin:0;
  color:#687277;
  font-size:13px;
  line-height:1.5;
}

.trainer-proof-row{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:10px;
  margin-top:26px;
}

.trainer-proof-row > div{
  display:grid;
  gap:7px;
  padding:18px;
  border:1px solid var(--line);
  border-radius:14px;
  background:#fff;
}

.trainer-proof-row strong{
  color:#2a3439;
  font-size:14px;
}

.trainer-proof-row span{
  color:#6b7579;
  font-size:12px;
  line-height:1.5;
}

.trainer-faq{
  display:grid;
  gap:8px;
  margin-top:26px;
}

.trainer-faq details{
  border:1px solid var(--line);
  border-radius:13px;
  background:#fff;
  overflow:hidden;
}

.trainer-faq summary{
  padding:16px 18px;
  cursor:pointer;
  color:#273136;
  font-size:14px;
  font-weight:700;
}

.trainer-faq details p{
  margin:0;
  padding:0 18px 18px;
  color:#687277;
  font-size:13px;
  line-height:1.6;
}

@media(max-width:760px){
  .trainer-contrast,
  .learning-format-grid,
  .trainer-evidence-grid,
  .trainer-proof-row{
    grid-template-columns:1fr;
  }
}


/* ==================================================
   V0.68 — OBJECT / ENGINEERING CLUSTER + DATA WARNING
   ================================================== */

.trainer-data-warning{
  display:flex;
  align-items:flex-start;
  gap:10px;
  margin:10px 14px 0;
  padding:9px 11px;
  border:1px solid #e2d7ba;
  border-radius:10px;
  background:#fffaf0;
  color:#6c6045;
  font-size:10px;
  line-height:1.45;
}

.trainer-data-warning strong{
  flex:0 0 auto;
  color:#5a4b28;
}

.trainer-data-warning span{
  color:#766c56;
}

@media(max-width:760px){
  .trainer-data-warning{
    display:block;
    margin:8px 10px 0;
  }

  .trainer-data-warning strong{
    display:block;
    margin-bottom:3px;
  }
}

/* V0.69 — B2B market knowledge cluster */
.hero-subline{max-width:860px;margin:22px 0 0;color:rgba(255,255,255,.72);font-size:15px;line-height:1.7}
.article-author-section{padding-top:18px}
.article-author-card{display:flex;align-items:center;justify-content:space-between;gap:28px;padding:24px 26px;border:1px solid var(--line);border-radius:18px;background:#f7f5ef}
.article-author-copy{max-width:760px}.article-author-copy h2{margin:3px 0 9px;font-size:22px}.article-author-copy p{margin:0;color:#687277;font-size:13px;line-height:1.65}.article-author-actions{flex:0 0 auto;margin-top:0}.trainer-data-warning a{color:inherit;text-decoration:underline;text-underline-offset:2px}

/* TRAINER — anonymous consent, transport state and recoverable errors */
.module-btn:disabled{
  cursor:not-allowed;
  opacity:.48;
}

.status[data-state="ready"] .dot{background:#4f7b63}
.status[data-state="busy"] .dot{background:#947235}
.status[data-state="degraded"] .dot,
.status[data-state="consent"] .dot{background:#a36b31}

.trainer-consent{
  display:grid;
  gap:11px;
  margin:10px 14px 0;
  padding:15px 16px;
  border:1px solid #cfd5d1;
  border-radius:14px;
  background:#f7f8f5;
  color:#394348;
}

.trainer-consent[hidden]{display:none}
.trainer-consent-kicker{color:#737d81;font-size:9px}
.trainer-consent h2{margin:2px 0 7px;font-size:18px;line-height:1.15}
.trainer-consent p{margin:0;color:#5f696e;font-size:11px;line-height:1.5}
.trainer-consent-check{display:flex;align-items:flex-start;gap:9px;font-size:11px;line-height:1.45;cursor:pointer}
.trainer-consent-check input{flex:0 0 auto;margin-top:2px}
.trainer-consent-check a{color:inherit;text-decoration:underline;text-underline-offset:2px}
.trainer-consent-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.trainer-consent-actions .trainer-context-submit{min-height:36px;padding:8px 13px}
.trainer-consent-cancel{color:#687277;font-size:11px}
.trainer-consent-error{min-height:0;color:#8d4b3b!important}

.trainer-quality-notice,
.trainer-request-error{
  width:min(100%,860px);
  margin:0 auto 12px;
  padding:11px 13px;
  display:grid;
  gap:5px;
  border-radius:11px;
  font-size:11px;
  line-height:1.45;
}

.trainer-quality-notice{
  border:1px solid #dfd2bd;
  background:#faf6ef;
  color:#5d5140;
}

.trainer-request-error{
  border:1px solid #dfc7c1;
  background:#fff6f3;
  color:#694a43;
}

.trainer-quality-notice strong,
.trainer-request-error strong{
  font-size:10px;
  letter-spacing:.04em;
}

.trainer-request-error small{color:#7a615b;line-height:1.4}
.trainer-request-error .trainer-context-submit{justify-self:start;margin-top:4px}
.trainer-resume-action{margin-top:14px}

@media(max-width:760px){
  .trainer-consent{margin:8px 10px 0;padding:13px}
  .trainer-consent-actions{align-items:flex-start;flex-direction:column}
}
@media(max-width:780px){.article-author-card{display:block}.article-author-actions{margin-top:18px}.hero-subline{font-size:13px}}


/* ==================================================
   V0.70 — SALES / PROJECT SALES HUBS
   ================================================== */

.hub-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px;
  margin-top:26px;
}

.hub-grid-3{
  grid-template-columns:repeat(3,minmax(0,1fr));
}

.hub-card{
  display:block;
  padding:22px;
  border:1px solid var(--line);
  border-radius:17px;
  background:#fff;
  color:inherit;
  text-decoration:none;
  transition:transform .16s ease,border-color .16s ease,box-shadow .16s ease;
}

.hub-card:hover{
  transform:translateY(-2px);
  border-color:#c9b16f;
  box-shadow:0 10px 26px rgba(31,42,47,.06);
}

.hub-card-featured{
  border-color:#dcc577;
  background:#fffaf0;
}

.hub-card .mono{
  display:block;
  margin-bottom:12px;
  color:#94784b;
  font-size:10px;
}

.hub-card h3{
  margin:0 0 9px;
  color:#20292d;
  font-size:20px;
  line-height:1.25;
}

.hub-card p{
  margin:0;
  color:#687277;
  font-size:13px;
  line-height:1.6;
}

.hub-link{
  display:block;
  margin-top:16px;
  color:#705a22;
  font-size:12px;
  font-weight:700;
}

.library-hub-link{
  margin:14px 0 18px;
}

.library-hub-link .page-btn{
  padding:9px 13px;
  font-size:11px;
}

@media(max-width:820px){
  .hub-grid,
  .hub-grid-3{
    grid-template-columns:1fr;
  }
}


/* ==================================================
   V0.71 — TRAINER KNOWLEDGE PROFILE
   ================================================== */

.trainer-capability-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px;
  margin-top:28px;
}

.trainer-capability-card{
  padding:22px;
  border:1px solid var(--line);
  border-radius:17px;
  background:#fff;
}

.trainer-capability-card .mono{
  display:block;
  margin-bottom:12px;
  color:#94784b;
  font-size:10px;
}

.trainer-capability-card h3{
  margin:0 0 9px;
  color:#20292d;
  font-size:19px;
  line-height:1.28;
}

.trainer-capability-card p{
  margin:0;
  color:#687277;
  font-size:13px;
  line-height:1.6;
}

.trainer-method-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px;
  margin-top:26px;
}

.trainer-method-grid article{
  padding:21px;
  border-left:3px solid #d1ae4d;
  background:#f8f7f3;
}

.trainer-method-grid strong{
  display:block;
  margin-bottom:7px;
  color:#263137;
  font-size:16px;
}

.trainer-method-grid p{
  margin:0;
  color:#687277;
  font-size:13px;
  line-height:1.6;
}

.trainer-specialization-links{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:10px;
  margin-top:26px;
}

.trainer-specialization-links a{
  display:block;
  padding:18px;
  border:1px solid var(--line);
  border-radius:14px;
  background:#fff;
  color:inherit;
  text-decoration:none;
}

.trainer-specialization-links a:hover{
  border-color:#c9b16f;
}

.trainer-specialization-links strong{
  display:block;
  margin-bottom:6px;
  color:#263137;
  font-size:14px;
}

.trainer-specialization-links span{
  display:block;
  color:#6d777b;
  font-size:12px;
  line-height:1.5;
}

@media(max-width:780px){
  .trainer-capability-grid,
  .trainer-method-grid,
  .trainer-specialization-links{
    grid-template-columns:1fr;
  }
}


/* ==================================================
   V0.72 — CALM HOME EXPERIENCE / REVIEWS
   ================================================== */

.home-experience-section{
  background:#fff;
}

.home-experience-lead{
  max-width:860px;
}

.home-experience-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:1px;
  margin-top:30px;
  border:1px solid var(--line);
  border-radius:18px;
  overflow:hidden;
  background:var(--line);
}

.home-experience-item{
  padding:26px;
  background:#fff;
}

.home-experience-index{
  display:block;
  margin-bottom:13px;
  color:#94784b;
  font-size:10px;
}

.home-experience-item h3{
  margin:0 0 10px;
  color:#20292d;
  font-size:20px;
  line-height:1.3;
}

.home-experience-item p{
  margin:0;
  color:#687277;
  font-size:13px;
  line-height:1.65;
}

.home-experience-actions{
  margin-top:22px;
}

.home-reviews-section{
  padding-top:54px;
  padding-bottom:54px;
}

.home-review-card{
  max-width:900px;
  margin-top:26px;
  padding:26px 28px;
  border-left:3px solid #d1ae4d;
  background:#fff;
}

.home-review-card blockquote{
  margin:0;
  color:#263137;
  font-size:18px;
  line-height:1.65;
}

.home-review-meta{
  display:flex;
  align-items:baseline;
  gap:10px;
  margin-top:20px;
  color:#626d72;
  font-size:12px;
}

.home-review-meta strong{
  color:#263137;
}

.home-review-link{
  display:inline-block;
  margin-top:16px;
  color:#705a22;
  font-size:12px;
  font-weight:700;
  text-decoration:none;
}

.home-review-link:hover{
  text-decoration:underline;
  text-underline-offset:3px;
}

@media(max-width:780px){
  .home-experience-grid{
    grid-template-columns:1fr;
  }

  .home-experience-item{
    padding:21px;
  }

  .home-review-card{
    padding:22px;
  }

  .home-review-card blockquote{
    font-size:16px;
  }

  .home-review-meta{
    display:block;
  }

  .home-review-meta span{
    display:block;
    margin-top:3px;
  }
}


/* ==================================================
   V0.73 — COURSE HUB / MODULES / DEEP LINKS
   ================================================== */

.trainer-author-line{
  max-width:900px;
  margin:18px 0 0;
  color:#bfc8cc;
  font-size:13px;
  line-height:1.6;
}

.course-program-section{
  background:#fff;
}

.course-program-lead{
  max-width:900px;
}

.course-phase{
  margin-top:34px;
}

.course-phase-head{
  display:flex;
  align-items:center;
  gap:12px;
  margin-bottom:12px;
}

.course-phase-head::after{
  flex:1;
  height:1px;
  background:var(--line);
  content:"";
}

.course-phase-head .mono{
  color:#94784b;
  font-size:10px;
}

.course-program-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px;
}

.course-program-card{
  position:relative;
  min-height:310px;
  padding:24px;
  border:1px solid var(--line);
  border-radius:18px;
  background:#fff;
}

.course-program-number{
  margin-bottom:18px;
  color:#b3923c;
  font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;
  font-size:11px;
  font-weight:800;
  letter-spacing:.13em;
}

.course-program-card h3{
  margin:0 0 10px;
  color:#20292d;
  font-size:21px;
  line-height:1.25;
}

.course-program-card>p{
  margin:0;
  color:#667176;
  font-size:13px;
  line-height:1.62;
}

.course-program-result{
  margin-top:18px;
  padding:14px 15px;
  border-left:3px solid #d1ae4d;
  background:#f8f7f3;
  color:#394449;
  font-size:12px;
  line-height:1.55;
}

.course-program-result .mono{
  display:block;
  margin-bottom:5px;
  color:#94784b;
  font-size:9px;
}

.course-program-actions{
  display:flex;
  flex-wrap:wrap;
  gap:16px;
  margin-top:18px;
}

.course-program-actions a{
  color:#705a22;
  font-size:12px;
  font-weight:800;
  text-decoration:none;
}

.course-program-actions a:hover{
  text-decoration:underline;
  text-underline-offset:3px;
}

.course-program-bottom{
  margin-top:30px;
  padding:24px;
  border:1px solid var(--line);
  border-radius:18px;
  background:#f8f7f3;
}

.course-program-bottom p{
  max-width:900px;
  margin:0;
  color:#566167;
  font-size:14px;
  line-height:1.65;
}

.course-module-hero-grid{
  display:grid;
  grid-template-columns:minmax(0,1.6fr) minmax(280px,.7fr);
  gap:38px;
  align-items:center;
}

.course-module-note{
  display:flex;
  flex-direction:column;
  gap:5px;
  max-width:820px;
  margin-top:22px;
  padding:16px 18px;
  border:1px solid var(--line);
  border-left:3px solid #b58a49;
  border-radius:14px;
  background:#fff;
  transition:transform .16s ease,border-color .16s ease,box-shadow .16s ease;
}

.course-module-note strong{
  color:#263137;
  font-size:13px;
}

.course-module-note span{
  color:#667176;
  font-size:12px;
  line-height:1.55;
}

.course-module-result-card{
  padding:25px;
  border:1px solid var(--line);
  border-radius:18px;
  background:#fff;
  transition:transform .16s ease,border-color .16s ease,box-shadow .16s ease;
}

.course-module-result-card .mono{
  display:block;
  margin-bottom:12px;
  color:#8a744f;
  font-size:9px;
}

.course-module-result-card strong{
  display:block;
  color:#263137;
  font-size:20px;
  line-height:1.38;
}

.course-module-result-card p{
  margin:14px 0 0;
  color:#667176;
  font-size:12px;
  line-height:1.6;
}

.course-module-detail-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px;
  margin-top:28px;
}

.course-module-detail-grid article{
  padding:24px;
  border:1px solid var(--line);
  border-radius:16px;
  background:#fff;
  transition:transform .16s ease,border-color .16s ease,box-shadow .16s ease;
}

.course-module-detail-grid .mono{
  display:block;
  margin-bottom:10px;
  color:#94784b;
  font-size:9px;
}

.course-module-detail-grid p{
  margin:0;
  color:#5e696f;
  font-size:13px;
  line-height:1.68;
}

.course-flow-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:10px;
  margin-top:28px;
}

.course-flow-grid article{
  padding:21px;
  border:1px solid var(--line);
  border-radius:16px;
  background:#fff;
  transition:transform .16s ease,border-color .16s ease,box-shadow .16s ease;
}

.course-flow-grid article>span{
  display:block;
  margin-bottom:13px;
  color:#b3923c;
  font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;
  font-size:10px;
  font-weight:800;
}

.course-flow-grid strong{
  display:block;
  margin-bottom:8px;
  color:#263137;
  font-size:15px;
}

.course-flow-grid p{
  margin:0;
  color:#687277;
  font-size:12px;
  line-height:1.6;
}

.course-related-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px;
  margin-top:26px;
}

.course-related-grid a{
  display:block;
  padding:22px;
  border:1px solid var(--line);
  border-radius:16px;
  background:#fff;
  color:inherit;
  text-decoration:none;
  transition:transform .16s ease,border-color .16s ease,box-shadow .16s ease;
}

.course-related-grid a:hover{
  transform:translateY(-2px);
  border-color:#171f24;
  box-shadow:0 12px 28px rgba(20,28,32,.06);
}

.course-related-grid strong{
  display:block;
  margin-bottom:7px;
  color:#263137;
  font-size:16px;
}

.course-related-grid span{
  display:block;
  color:#6a7479;
  font-size:12px;
  line-height:1.55;
}

.course-field-bridge{
  display:grid;
  grid-template-columns:minmax(0,1.45fr) minmax(260px,.55fr);
  gap:34px;
  align-items:end;
}

.course-module-nav-section{
  padding-top:34px;
  padding-bottom:34px;
}

.course-module-nav{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px;
}

.course-module-nav-link{
  display:block;
  padding:20px;
  border:1px solid var(--line);
  border-radius:15px;
  background:#fff;
  color:inherit;
  text-decoration:none;
  transition:transform .16s ease,border-color .16s ease,box-shadow .16s ease;
}

.course-module-nav-link:hover{
  transform:translateY(-2px);
  border-color:#171f24;
  box-shadow:0 12px 28px rgba(20,28,32,.06);
}

.course-module-nav-link .mono{
  display:block;
  margin-bottom:7px;
  color:#94784b;
  font-size:9px;
}

.course-module-nav-link strong{
  color:#263137;
  font-size:14px;
  line-height:1.4;
}

.course-module-nav-link-next{
  text-align:right;
}

.course-practice-bridge{
  padding-top:42px;
  padding-bottom:42px;
}

.course-practice-bridge-inner{
  display:grid;
  grid-template-columns:minmax(0,1.45fr) minmax(270px,.55fr);
  gap:30px;
  align-items:end;
  padding-top:26px;
  border-top:1px solid var(--line);
}

@media(max-width:900px){
  .course-program-grid,
  .course-module-detail-grid,
  .course-related-grid,
  .course-module-nav{
    grid-template-columns:1fr;
  }

  .course-module-hero-grid,
  .course-field-bridge,
  .course-practice-bridge-inner{
    grid-template-columns:1fr;
  }

  .course-flow-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }

  .course-module-nav-link-next{
    text-align:left;
  }
}

@media(max-width:560px){
  .course-flow-grid{
    grid-template-columns:1fr;
  }

  .course-program-card{
    min-height:0;
    padding:20px;
  }
}

/* ==================================================
   V0.75 — EXPLICIT 20 MODULE PAGES + COURSE DISCOVERABILITY
   ================================================== */

.course-program-title-link{
  color:inherit;
  text-decoration:none;
}

.course-program-title-link:hover{
  color:#705a22;
  text-decoration:underline;
  text-underline-offset:3px;
}

/* Comparison and format cards use one visual language. */
.trainer-contrast-question,
.trainer-contrast-answer{
  background:#fff;
  border-color:var(--line) !important;
}

.learning-format-card,
.learning-format-card-accent{
  display:block;
  background:#fff;
  border-color:var(--line);
  color:inherit;
  text-decoration:none;
  transition:transform .16s ease,border-color .16s ease,box-shadow .16s ease;
}

.learning-format-card:hover{
  transform:translateY(-2px);
  border-color:#c9b16f;
  box-shadow:0 12px 28px rgba(20,28,32,.06);
}

.trainer-capability-card{
  display:flex;
  flex-direction:column;
  color:inherit;
  text-decoration:none;
  transition:transform .16s ease,border-color .16s ease,box-shadow .16s ease;
}

.trainer-capability-card:hover{
  transform:translateY(-2px);
  border-color:#c9b16f;
  box-shadow:0 12px 28px rgba(20,28,32,.06);
}

.trainer-card-link{
  display:block;
  margin-top:auto;
  padding-top:18px;
  color:#705a22;
  font-size:12px;
  font-weight:800;
}

.library-course-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px;
  margin-top:22px;
}

.library-course-card{
  display:grid;
  gap:8px;
  padding:18px;
  border:1px solid #d8dcda;
  border-radius:14px;
  background:#fafaf8;
  color:inherit;
  text-decoration:none;
  transition:transform .16s ease,border-color .16s ease,background .16s ease;
}

.library-course-card:hover{
  transform:translateY(-2px);
  border-color:#b58a49;
  background:#fff;
}

.library-course-card .mono{
  color:#94784b;
  font-size:9px;
}

.library-course-card strong{
  color:#20292d;
  font-size:17px;
  line-height:1.3;
}

.library-course-card p{
  margin:0;
  color:#687277;
  font-size:12px;
  line-height:1.55;
}

.library-course-result{
  padding-top:8px;
  border-top:1px solid rgba(31,42,47,.1);
  color:#4e595e;
  font-size:11px;
  font-weight:700;
  line-height:1.45;
}

.course-breadcrumb{
  display:flex;
  flex-wrap:wrap;
  gap:7px;
  margin-bottom:18px;
  color:#7b858a;
  font-size:11px;
  line-height:1.4;
}

.course-breadcrumb a{
  color:#566167;
  text-decoration:none;
}

.course-breadcrumb a:hover{
  color:#171f24;
  text-decoration:underline;
  text-underline-offset:3px;
}

@media(max-width:760px){
  .library-course-grid{
    grid-template-columns:1fr;
  }
}

/* V0.81 — unified course page motion: same restrained lift used in trainer/library cards. */
.course-module-note:hover,
.course-module-result-card:hover,
.course-module-detail-grid article:hover,
.course-flow-grid article:hover,
.course-program-card:hover{
  transform:translateY(-2px);
  border-color:#171f24;
  box-shadow:0 12px 28px rgba(20,28,32,.06);
}

@media (prefers-reduced-motion: reduce){
  .course-module-note,
  .course-module-result-card,
  .course-module-detail-grid article,
  .course-flow-grid article,
  .course-related-grid a,
  .course-module-nav-link,
  .course-program-card{
    transition:none;
  }
}

/* V0.83 — два отзыва рядом на главной */
.home-review-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:18px;
  margin-top:28px;
}
.home-review-grid .home-review-card{
  margin-top:0;
  height:100%;
}
@media (max-width:760px){
  .home-review-grid{
    grid-template-columns:1fr;
  }
}


/* V0.85 — author entity / public history. Uses existing site palette only. */
.about-identity-strip{
  display:flex;
  flex-wrap:wrap;
  gap:9px;
  margin-top:24px;
}
.about-identity-strip span{
  padding:8px 12px;
  border:1px solid var(--line);
  border-radius:999px;
  background:rgba(255,255,255,.72);
  color:#59646a;
  font-size:13px;
  font-weight:700;
}
.public-history-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:16px;
  margin-top:30px;
}
.public-history-card{
  overflow:hidden;
  border:1px solid var(--line);
  border-radius:22px;
  background:#fff;
  box-shadow:0 12px 32px rgba(15,22,26,.04);
  transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease;
}
.public-history-card:hover{
  transform:translateY(-3px);
  border-color:#b58a49;
  box-shadow:0 18px 42px rgba(15,22,26,.07);
}
.public-history-card img{
  display:block;
  width:100%;
  height:178px;
  object-fit:cover;
}
.public-history-card--kp img{
  object-position:center 28%;
}
.public-history-card--speaking img{
  object-position:center 24%;
}
.public-history-copy{
  padding:20px 20px 22px;
}
.public-history-year{
  display:block;
  margin-bottom:12px;
  color:#85724f;
  font-size:11px;
  font-weight:700;
  letter-spacing:.08em;
}
.public-history-card h3{
  margin:0 0 12px;
  font-size:19px;
  line-height:1.3;
}
.public-history-card p{
  margin:0 0 18px;
  color:#58636a;
  font-size:15px;
  line-height:1.62;
}
.public-history-card a{
  color:#7b6339;
  font-size:14px;
  font-weight:750;
  text-decoration:none;
}
.public-history-card a:hover{text-decoration:underline}
.public-history-card--text{
  display:flex;
  align-items:stretch;
  background:#faf9f6;
}
.history-note{
  margin-top:18px;
  padding:20px 22px;
  border:1px solid var(--line);
  border-radius:18px;
  background:#fff;
  color:#4f5a60;
  font-size:15px;
  line-height:1.6;
}
.about-book-card{
  display:grid;
  grid-template-columns:minmax(0,1fr) 150px;
  gap:34px;
  align-items:center;
  padding:34px;
  border:1px solid var(--line);
  border-radius:24px;
  background:#fff;
  box-shadow:0 16px 38px rgba(15,22,26,.05);
}
.about-book-status{
  display:block;
  margin-bottom:10px;
  color:#85724f;
  font-size:11px;
  font-weight:700;
  letter-spacing:.09em;
}
.about-book-card h2{margin:0 0 16px}
.about-book-card p{
  max-width:880px;
  margin:0 0 12px;
  color:#556066;
  line-height:1.65;
}
.about-book-card strong{
  display:block;
  margin-top:16px;
  color:#333c40;
}
.about-book-mark{
  display:grid;
  width:126px;
  height:126px;
  place-items:center;
  border:1px solid #b58a49;
  border-radius:26px;
  background:#16191b;
  color:#d4a84d;
  font-family:Georgia,serif;
  font-size:78px;
  line-height:1;
  box-shadow:0 16px 34px rgba(15,22,26,.14);
}
@media(max-width:980px){
  .public-history-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .about-book-card{grid-template-columns:1fr}
  .about-book-mark{width:92px;height:92px;font-size:58px;border-radius:20px}
}
@media(max-width:640px){
  .public-history-grid{grid-template-columns:1fr}
  .public-history-card img{height:190px}
  .public-history-copy{padding:20px}
  .about-book-card{padding:24px}
  .about-identity-strip{gap:7px}
  .about-identity-strip span{font-size:12px}
}


/* V0.88 — external sources are intentionally secondary: compact, text-first, no cropped archive photos. */
.external-sources-section{
  border-top:1px solid var(--line);
}
.external-source-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:14px;
  margin-top:28px;
}
.external-source-card{
  display:flex;
  min-height:220px;
  flex-direction:column;
  padding:20px;
  border:1px solid var(--line);
  border-radius:18px;
  background:#fff;
  transition:transform .17s ease,border-color .17s ease,box-shadow .17s ease;
}
.external-source-card:hover{
  transform:translateY(-2px);
  border-color:#b58a49;
  box-shadow:0 12px 28px rgba(15,22,26,.05);
}
.external-source-year{
  display:block;
  margin-bottom:10px;
  color:#85724f;
  font-size:10.5px;
  font-weight:700;
  letter-spacing:.075em;
}
.external-source-card h3{
  margin:0 0 10px;
  font-size:17px;
  line-height:1.35;
}
.external-source-card p{
  margin:0 0 14px;
  color:#5b656b;
  font-size:14px;
  line-height:1.55;
}
.external-source-card a{
  margin-top:auto;
  color:#7b6339;
  font-size:13px;
  font-weight:750;
  text-decoration:none;
}
.external-source-card a:hover{text-decoration:underline}
@media(max-width:980px){
  .external-source-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:640px){
  .external-source-grid{grid-template-columns:1fr}
  .external-source-card{min-height:0;padding:18px}
}


/* CHECKLIST LIBRARY V0.93 */
.checklist-hero .wrap,.checklist-hub-hero .wrap{padding-top:16px;padding-bottom:10px}
.checklist-meta-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-top:28px;max-width:980px}
.checklist-meta-grid>div,.checklist-side-card{background:var(--white);border:1px solid var(--line);border-radius:var(--radius);padding:22px;box-shadow:var(--shadow)}
.checklist-meta-grid .mono,.checklist-side-card .mono{display:block;color:var(--muted);font-size:11px;margin-bottom:8px}
.checklist-meta-grid p,.checklist-side-card p{margin:0;color:var(--ink)}
.checklist-side-card p+p{margin-top:16px}
.checklist-layout{display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:32px;align-items:start}
.checklist-main h2{max-width:820px}
.checklist-intro-note{max-width:900px}
.checklist-group{margin-top:34px}
.checklist-group-head{display:flex;align-items:baseline;gap:14px;margin-bottom:14px}
.checklist-group-head .mono{font-size:11px;color:var(--muted)}
.checklist-group-head h3{margin:0;font-size:24px}
.checklist-items{display:grid;gap:10px}
.checklist-item{display:grid;grid-template-columns:28px minmax(0,1fr) auto;gap:12px;align-items:start;padding:16px 18px;background:var(--white);border:1px solid var(--line);border-radius:14px;cursor:pointer;transition:transform .16s ease,border-color .16s ease,box-shadow .16s ease}
.checklist-item:hover{transform:translateY(-1px);box-shadow:0 10px 28px rgba(13,20,24,.06);border-color:#bfc5c2}
.checklist-item input{position:absolute;opacity:0;pointer-events:none}
.checklist-box{width:22px;height:22px;border:2px solid var(--line-dark);border-radius:5px;position:relative;margin-top:1px;background:var(--white)}
.checklist-item input:checked + .checklist-box:after{content:"✓";position:absolute;inset:-4px 0 0 2px;font-weight:800;font-size:22px;color:var(--ink)}
.checklist-item input:checked ~ .checklist-item-text{text-decoration:line-through;color:var(--muted)}
.checklist-item-text{font-size:16px;line-height:1.45}
.checklist-critical{font-size:9px;letter-spacing:.08em;padding:5px 7px;border:1px solid var(--line);border-radius:999px;color:var(--muted);white-space:nowrap;margin-top:1px}
.checklist-side{display:grid;gap:16px;position:sticky;top:92px}
.checklist-bridge{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:30px;align-items:center}
.checklist-bridge .page-actions{justify-content:flex-end}
@media(max-width:900px){.checklist-layout{grid-template-columns:1fr}.checklist-side{position:static;grid-template-columns:1fr 1fr}.checklist-bridge{grid-template-columns:1fr}.checklist-bridge .page-actions{justify-content:flex-start}}
@media(max-width:640px){.checklist-meta-grid,.checklist-side{grid-template-columns:1fr}.checklist-item{grid-template-columns:26px minmax(0,1fr)}.checklist-critical{grid-column:2;justify-self:start}.checklist-group-head h3{font-size:21px}}
@media print{.site-header,.site-footer,.no-print,.course-breadcrumb{display:none!important}body{background:#fff}.page-hero,.page-section{background:#fff!important;padding:20px 0}.wrap{width:100%;max-width:none;padding:0 16px}.checklist-meta-grid{grid-template-columns:1fr 1fr}.checklist-layout{display:block}.checklist-side{display:none}.checklist-item{break-inside:avoid;box-shadow:none;padding:9px 12px}.checklist-group{break-inside:avoid}.checklist-box{width:18px;height:18px}.checklist-critical{border:0;padding:0}.page-lead{max-width:none}}


/* V0.93 — phone layout for dialogue practice */
@media(max-width:680px){
  .trainer-body .staging{display:none}
  .trainer-sidebar{padding:9px 10px 7px}
  .trainer-profile{gap:9px;padding-bottom:8px}
  .trainer-photo{width:42px;height:42px}
  .trainer-profile span,.trainer-label{display:none}
  .trainer-modules{margin-top:7px}
  .trainer-main{min-width:0;padding:6px}
  .chat{height:76dvh;min-height:460px;max-height:760px;border-radius:12px}
  .chat-top{min-height:54px;padding:9px 11px}
  .messages{min-width:0;padding:9px 7px 12px;overscroll-behavior:contain}
  .trainer-practice{min-width:0;padding:11px;border-radius:12px}
  .trainer-practice h2{margin-bottom:8px;font-size:22px;line-height:1.12}
  .trainer-practice-head{align-items:center;gap:8px}
  .trainer-practice-head>span{flex:0 0 auto}
  .trainer-practice-case{margin:8px 0 10px}
  .trainer-practice-case summary{min-height:44px;display:flex;align-items:center;padding:9px 10px;font-size:12px}
  .trainer-practice-case-grid{padding:0 10px 9px}
  .trainer-practice-case-grid>div{grid-template-columns:1fr;gap:3px;padding:8px 0}
  .trainer-practice-case-grid strong{font-size:10px}
  .trainer-practice-case-grid span{font-size:13px;overflow-wrap:anywhere}
  .trainer-practice-dialogue{gap:10px;margin-top:10px}
  .trainer-practice-bubble{width:100%;max-width:none;padding:11px 12px;overflow-wrap:anywhere}
  .trainer-practice-bubble span{font-size:15px;line-height:1.48}
  .composer{grid-template-columns:1fr;padding:8px}
  .composer textarea{width:100%;min-height:72px;max-height:124px}
  .send{width:100%;min-height:44px}
}
