/* =========================================================
   THE LAZY MAN ACADEMY — HOME
   Page-specific layout and interaction styling only.
   Shared foundations live in site.css.
   ========================================================= */

/* ---------- HERO ---------- */
.hero{
  min-height:100vh;display:flex;flex-direction:column;justify-content:center;
  position:relative;padding:140px 0 80px;overflow:hidden;--mx:24%;--my:28%;
}
.hero::before{
  content:"";position:absolute;inset:0;pointer-events:none;
  background:
    radial-gradient(circle 420px at var(--mx) var(--my),rgba(22,166,161,.11),transparent 62%),
    radial-gradient(ellipse at 20% 20%,rgba(140,59,50,.10),transparent 55%),
    radial-gradient(ellipse at 80% 75%,rgba(255,255,255,.04),transparent 50%);
}
.hero::after{
  content:"";position:absolute;inset:0;opacity:.35;pointer-events:none;mix-blend-mode:overlay;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='120'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.05'/%3E%3C/svg%3E");
}
.hero-eyebrow{font-size:12px;color:var(--accent-bright);display:flex;align-items:center;gap:8px;margin-bottom:28px;}
.rec-dot{width:7px;height:7px;border-radius:50%;background:var(--accent-bright);animation:pulse 1.6s infinite;}
@keyframes pulse{0%,100%{opacity:1;}50%{opacity:.25;}}
.hero h1{font-size:clamp(38px,6vw,72px);font-weight:400;line-height:1.28;max-width:820px;letter-spacing:-.01em;}
.hero h1 em{font-style:normal;color:var(--muted);}
.hero-sub{margin-top:26px;font-size:17px;color:var(--muted);max-width:560px;text-wrap:pretty;}
.hero-actions{margin-top:44px;display:flex;gap:16px;align-items:center;flex-wrap:wrap;}
.btn-ghost{
  padding:14px 8px;font-size:14px;color:var(--muted);border-bottom:1px solid var(--line);
  transition:color .35s ease,border-color .35s ease,transform .45s var(--ease-premium);
}
.btn-ghost:hover{color:var(--paper);border-color:var(--muted);transform:translateY(-1px);}
.scroll-cue{position:absolute;bottom:36px;left:28px;font-size:12px;color:var(--muted-2);display:flex;align-items:center;gap:10px;}
.scroll-cue .line{width:34px;height:1px;background:var(--muted-2);}

/* ---------- SECTION HEADINGS ---------- */
.section-head{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:56px;flex-wrap:wrap;gap:20px;}
.eyebrow{font-size:12px;color:var(--accent-bright);margin-bottom:14px;}
.eyebrow.centered{justify-content:center;display:flex;}
.section-title{font-size:clamp(26px,3.4vw,38px);font-weight:400;max-width:560px;text-wrap:balance;}
.section-note{font-size:14px;color:var(--muted);max-width:340px;text-wrap:pretty;}


/* ---------- ACADEMY PHILOSOPHY ---------- */
.philosophy-section{
  border-top:1px solid rgba(73,201,194,.06);border-bottom:1px solid var(--line);
  background:linear-gradient(180deg,rgba(17,24,32,.20),rgba(17,24,32,.56));
}
.philosophy-feature{
  display:grid;grid-template-columns:minmax(0,1.38fr) minmax(270px,.62fr);gap:34px;align-items:stretch;
  border:1px solid var(--line);border-radius:var(--radius-lg);padding:16px;background:rgba(12,18,23,.52);overflow:hidden;
}
.philosophy-media{position:relative;aspect-ratio:16/9;border-radius:calc(var(--radius-lg) - 6px);overflow:hidden;background:#080D11;border:1px solid rgba(73,201,194,.16);}
.philosophy-copy{display:flex;flex-direction:column;justify-content:center;padding:20px 22px 20px 8px;min-width:0;}
.philosophy-index{font-size:9px;color:var(--accent-bright);margin-bottom:16px;}
.philosophy-copy h3{font-size:clamp(26px,3.2vw,38px);font-weight:400;line-height:1.2;margin-bottom:16px;text-wrap:balance;}
.philosophy-copy p{font-size:14px;line-height:1.82;color:var(--muted);max-width:390px;text-wrap:pretty;}
.philosophy-rule{margin-top:26px;padding-top:16px;border-top:1px solid var(--line);display:flex;align-items:center;gap:12px;color:var(--muted-2);font-size:9px;}
.philosophy-rule > span:first-child{display:block;width:34px;height:1px;background:var(--accent-bright);opacity:.62;}

/* ---------- HOME · MINI LESSON TEASER ---------- */
.mini-teaser-section{padding-top:86px;padding-bottom:86px;background:var(--ink-2);border-top:1px solid var(--line);border-bottom:1px solid var(--line);}
.mini-teaser{
  display:grid;grid-template-columns:minmax(0,1fr) minmax(240px,300px);gap:clamp(34px,5vw,64px);align-items:center;
  max-width:940px;margin:0 auto;padding:18px;border:1px solid var(--line);border-radius:var(--radius-lg);background:rgba(11,16,20,.64);overflow:hidden;
}
.mini-teaser-copy{padding:18px 10px 18px 18px;}
.mini-teaser-num{font-size:9px;color:var(--muted-2);margin:2px 0 13px;}
.mini-teaser-copy h2{font-size:clamp(25px,3.1vw,36px);font-weight:400;line-height:1.2;margin-bottom:14px;text-wrap:balance;}
.mini-teaser-copy p{font-size:13px;line-height:1.8;color:var(--muted);max-width:360px;}
.mini-teaser-link{display:inline-flex;margin-top:22px;padding-bottom:5px;border-bottom:1px solid rgba(73,201,194,.28);font-size:10px;color:var(--accent-bright);transition:color .35s ease,border-color .35s ease,transform .55s var(--ease-premium);}
.mini-teaser-media{position:relative;width:min(100%,300px);aspect-ratio:9/16;justify-self:end;border:1px solid rgba(73,201,194,.16);border-radius:calc(var(--radius-lg) - 6px);overflow:hidden;background:#080D11;}
@media (hover:hover) and (pointer:fine){
  .mini-teaser-link:hover{color:#8BE8E3;border-color:rgba(73,201,194,.66);transform:translateX(4px);}
}

/* ---------- WORKSHOP HIGHLIGHT ---------- */
.workshop-highlight-grid{
  display:grid;grid-template-columns:minmax(260px,360px) minmax(0,1fr);
  gap:clamp(48px,7vw,96px);align-items:center;max-width:960px;margin:0 auto;
}
.workshop-video-wrap{display:flex;justify-content:center;min-width:0;}
.workshop-video-shell{
  width:min(100%,360px);aspect-ratio:9/16;position:relative;overflow:hidden;
  border:1px solid rgba(73,201,194,.24);border-radius:22px;background:#080D11;
  box-shadow:0 34px 86px rgba(0,0,0,.30),0 0 0 1px rgba(255,255,255,.018) inset;
  isolation:isolate;
  transition:transform .88s var(--ease-premium),border-color .62s ease,box-shadow .88s var(--ease-premium);
}
.workshop-video-shell::before{
  content:"";position:absolute;inset:0;z-index:0;pointer-events:none;
  background:radial-gradient(circle at 35% 18%,rgba(22,166,161,.12),transparent 38%),linear-gradient(180deg,rgba(255,255,255,.018),transparent 28%);
}
.workshop-video{width:100%;height:100%;display:block;position:relative;z-index:1;border:0;background:#080D11;}
.workshop-video-tag{
  position:absolute;top:16px;left:16px;z-index:3;pointer-events:none;
  padding:7px 10px;border:1px solid rgba(73,201,194,.28);border-radius:999px;
  background:rgba(8,13,17,.72);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);
  color:var(--accent-bright);font-size:10px;letter-spacing:.08em;
}
.workshop-highlight-copy{max-width:520px;}
.workshop-highlight-kicker{font-size:11px;color:var(--accent-bright);letter-spacing:.08em;margin-bottom:16px;}
.workshop-highlight-title{font-family:Georgia,serif;font-size:clamp(28px,3.5vw,44px);line-height:1.13;margin:0 0 20px;text-wrap:balance;}
.workshop-highlight-desc{font-size:15px;line-height:1.85;color:var(--muted);max-width:500px;text-wrap:pretty;}
.workshop-highlight-desc + .workshop-highlight-desc{margin-top:14px;}
.workshop-expect{margin-top:28px;padding-top:22px;border-top:1px solid var(--line);display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;}
.expect-item{min-width:0;}
.expect-num{font-size:10px;color:var(--accent-bright);margin-bottom:7px;}
.expect-label{font-size:12px;line-height:1.55;color:var(--paper);}
.workshop-highlight-note{margin-top:22px;font-size:11px;line-height:1.65;color:var(--muted-2);}
@media (hover:hover) and (pointer:fine){
  .workshop-video-shell:hover{transform:translateY(-7px);border-color:rgba(73,201,194,.48);box-shadow:0 42px 96px rgba(0,0,0,.38),0 0 34px rgba(22,166,161,.08);}
}

/* ---------- COURSES ---------- */
.courses{background:var(--ink-2);border-top:1px solid var(--line);border-bottom:1px solid var(--line);}
.course-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;background:transparent;align-items:stretch;}
.course-card-reveal{min-width:0;display:flex;align-self:stretch;}
.course-card-reveal > .course-card{width:100%;height:100%;}
.course-card-reveal.reveal{transition-duration:1.05s;}
.course-card{
  background-color:var(--paper-bg);color:var(--paper-ink);padding:38px 32px 32px;
  display:flex;flex-direction:column;min-height:520px;position:relative;z-index:0;overflow:hidden;
  border:1px solid rgba(0,0,0,.10);border-radius:18px;will-change:transform,box-shadow;transform-origin:center center;
  transition:
    transform .92s cubic-bezier(.16,1,.3,1),
    background-color .78s cubic-bezier(.16,1,.3,1),
    border-color .82s cubic-bezier(.16,1,.3,1),
    box-shadow .96s cubic-bezier(.16,1,.3,1),
    filter .82s cubic-bezier(.16,1,.3,1);
}
@media (hover:hover) and (pointer:fine){
  .course-card:not(.soon):hover{
    z-index:3;transform:translate3d(0,-10px,0) scale(1.012);background-color:#E6E2D7;border-color:rgba(22,166,161,.95);
    box-shadow:0 32px 68px rgba(0,0,0,.25),0 0 0 1px rgba(22,166,161,.36),0 0 32px rgba(22,166,161,.18),inset 0 0 0 1px rgba(22,166,161,.72),inset 0 0 64px rgba(22,166,161,.11);
  }
  .course-card.soon:hover{
    z-index:3;transform:translate3d(0,-10px,0) scale(1.012);filter:brightness(1.16);border-color:rgba(22,166,161,.58);
    box-shadow:0 34px 72px rgba(0,0,0,.46),0 0 42px rgba(22,166,161,.22),inset 0 0 0 1px rgba(22,166,161,.38),inset 0 0 66px rgba(22,166,161,.16);
  }
  .course-card.soon:hover,
  .course-card.soon:hover::before,
  .course-card.soon:hover::after{animation-play-state:paused;}
}
.course-card:focus-within{z-index:3;transform:translate3d(0,-6px,0) scale(1.004);}
.course-card:not(.soon):focus-within{background-color:#E2DED3;box-shadow:0 0 0 1px rgba(22,166,161,.42),0 0 20px rgba(22,166,161,.14),inset 0 0 0 2px rgba(22,166,161,.92),inset 0 0 46px rgba(22,166,161,.09);}
.course-card.soon:focus-within::after{border-color:rgba(22,166,161,.65);}
.course-card.soon{
  background:linear-gradient(180deg,#151B20 0%,#10161B 100%);color:var(--paper);border-color:rgba(255,255,255,.055);
  overflow:hidden;isolation:isolate;filter:brightness(.98);
}
.course-card.soon::before{
  content:"";position:absolute;inset:-18%;
  background:radial-gradient(circle at 50% 12%,rgba(22,166,161,.34),transparent 42%),radial-gradient(circle at 50% 88%,rgba(22,166,161,.12),transparent 48%);
  opacity:.18;filter:blur(12px);animation:soonGlow 5.6s ease-in-out infinite;pointer-events:none;z-index:-1;
  transition:opacity .45s ease,transform .45s cubic-bezier(.16,1,.3,1);
}
.course-card-reveal:nth-child(3) .course-card.soon::before{animation-delay:1.15s;}
.course-card.soon::after{
  content:"";position:absolute;inset:0;border:1px solid rgba(22,166,161,.10);box-shadow:inset 0 0 24px rgba(22,166,161,.05);
  pointer-events:none;animation:soonEdge 5.6s ease-in-out infinite;border-radius:inherit;
  transition:border-color .84s cubic-bezier(.16,1,.3,1),box-shadow .92s cubic-bezier(.16,1,.3,1);
}
.course-card-reveal:nth-child(3) .course-card.soon::after{animation-delay:1.15s;}
@keyframes soonGlow{0%,100%{opacity:.12;transform:scale(.96);}50%{opacity:.78;transform:scale(1.04);}}
@keyframes soonEdge{0%,100%{border-color:rgba(22,166,161,.08);box-shadow:inset 0 0 18px rgba(22,166,161,.03);}50%{border-color:rgba(22,166,161,.42);box-shadow:inset 0 0 42px rgba(22,166,161,.13);}}
.course-card.soon .course-name-cn{color:var(--paper);}
.course-card.soon .course-desc{color:var(--muted);}
.course-card.soon .ratio-label,.course-card.soon .fact-label,.course-card.soon .course-price span{color:var(--muted-2);}
.course-card.soon .duration-line .d-text,.course-card.soon .fact-value{color:var(--paper);}
.course-card.soon .duration-line .d-num,.course-card.soon .course-name-en,.course-card.soon .soon-badge{color:var(--accent-bright);}
.course-card.soon .facts{border-top-color:var(--line);}
.course-card.soon .course-cta{border-color:var(--line);color:var(--paper);}
.course-card.soon .course-cta:hover{border-color:var(--accent-hi);background:rgba(22,166,161,.08);}
.course-card.soon .course-desc,.course-card.soon .ratio-block,.course-card.soon .duration-line,.course-card.soon .facts{opacity:.62;}
.course-card.soon .course-price{opacity:.78;}
.course-card.soon .ratio-seg-theory{background:#343B41;}
.course-card.soon .course-price-pending{font-size:17px;letter-spacing:.02em;}
.course-card.soon.is-paused::before,.course-card.soon.is-paused::after{animation-play-state:paused!important;}
.soon-badge{
  position:absolute;top:38px;right:32px;border:1px solid rgba(73,201,194,.48);color:var(--accent-bright);
  font-size:10px;letter-spacing:.1em;text-transform:uppercase;padding:5px 10px;border-radius:12px;font-family:"Courier New",Courier,monospace;
}
.course-card .course-tc{color:var(--paper-muted-2);}
.course-card .course-desc{color:var(--paper-muted);}
.course-card .ratio-label{color:var(--paper-muted-2);}
.course-card .ratio-seg-theory{background:var(--paper-theory);}
.course-card .duration-line .d-text{color:var(--paper-ink);}
.course-card .facts{border-top-color:var(--paper-line);}
.course-card .fact-label{color:var(--paper-muted-2);}
.course-card .fact-value{color:var(--paper-ink);}
.course-card .course-price span{color:var(--paper-muted-2);}
.course-card .course-cta{border-color:var(--paper-line);color:var(--paper-ink);}
.course-card .course-cta:hover{border-color:var(--accent-hi);}
.course-tc{font-size:13px;color:var(--muted-2);margin-bottom:22px;}
.course-name-en{font-size:13px;color:var(--accent-hi);margin-bottom:6px;}
.course-name-cn{font-size:26px;margin-bottom:16px;text-wrap:balance;}
.course-desc{font-size:14px;line-height:1.65;color:var(--muted);min-height:90px;margin-bottom:24px;text-wrap:pretty;}
.card-spacer{flex-grow:1;}
.ratio-block{margin-bottom:24px;}
.ratio-label{display:flex;justify-content:space-between;font-size:12px;color:var(--muted-2);margin-bottom:8px;}
.ratio-bar{height:6px;width:100%;display:flex;border-radius:1px;overflow:hidden;}
.ratio-seg-theory{background:var(--theory);height:100%;width:var(--w);transition:width 1.1s cubic-bezier(.16,1,.3,1);transition-delay:.15s;}
.ratio-seg-practical{background:var(--accent);height:100%;width:var(--w);transition:width 1.1s cubic-bezier(.16,1,.3,1);transition-delay:.4s;}
.js .ratio-seg-theory,.js .ratio-seg-practical{width:0;}
.js .course-card-reveal.in .ratio-seg-theory,.js .course-card-reveal.in .ratio-seg-practical{width:var(--w);}
.duration-line{border-left:2px solid var(--accent);padding-left:12px;margin-bottom:22px;}
.duration-line .d-num{display:block;color:var(--accent-hi);font-weight:600;font-size:13px;margin-bottom:6px;}
.duration-line .d-text{display:block;font-size:13px;color:var(--paper);line-height:1.6;min-height:42px;}
.facts{border-top:1px solid var(--line);padding-top:16px;margin-bottom:22px;}
.fact-row{display:flex;justify-content:space-between;align-items:center;font-size:13px;padding:6px 0;}
.fact-label{color:var(--muted-2);}
.fact-value{color:var(--paper);text-align:right;}
.course-price{font-size:22px;margin-bottom:18px;}
.course-price span{font-size:13px;color:var(--muted-2);font-weight:400;}
.course-cta{font-size:13px;padding:12px 0;text-align:center;border:1px solid var(--line);border-radius:10px;transition:border-color .2s,background .2s;}
.course-cta:hover{border-color:var(--accent-hi);background:rgba(140,59,50,.08);}

/* Foundation / Open Now */
.course-card.open{
  background-color:#E2DED4;background-image:none;filter:none;-webkit-backface-visibility:hidden;backface-visibility:hidden;isolation:isolate;
  border-color:rgba(22,166,161,.42);box-shadow:0 20px 48px rgba(0,0,0,.14),0 0 0 1px rgba(22,166,161,.10),inset 0 0 46px rgba(22,166,161,.045);
}
.course-card.open::before{
  content:"";position:absolute;left:18px;right:18px;top:0;height:3px;border-radius:0 0 999px 999px;
  background:linear-gradient(90deg,transparent 0%,rgba(22,166,161,.72) 18%,var(--accent) 50%,rgba(22,166,161,.72) 82%,transparent 100%);opacity:.92;pointer-events:none;
}
.open-badge{
  position:absolute;top:38px;right:32px;display:inline-flex;align-items:center;gap:7px;background:var(--accent);color:#F3F1EC;
  border:1px solid rgba(0,0,0,.04);font-size:10px;letter-spacing:.1em;text-transform:uppercase;padding:6px 10px;border-radius:999px;
  font-family:"Courier New",Courier,monospace;box-shadow:0 8px 20px rgba(22,166,161,.16);
  transition:box-shadow .72s cubic-bezier(.16,1,.3,1),filter .62s cubic-bezier(.16,1,.3,1);
}
.open-dot{width:6px;height:6px;border-radius:50%;background:#F3F1EC;box-shadow:0 0 0 0 rgba(243,241,236,.45);animation:openStatusPulse 3.2s ease-in-out infinite;}
@keyframes openStatusPulse{0%,100%{opacity:.78;box-shadow:0 0 0 0 rgba(243,241,236,.34);}50%{opacity:1;box-shadow:0 0 0 5px rgba(243,241,236,0);}}
.course-card.open .course-name-en{color:#167E79;}
.course-card.open .course-price{font-size:27px;margin-bottom:4px;line-height:1.18;}
.course-card.open .course-price span{font-size:13px;}
.course-pair{min-height:22px;margin-bottom:16px;font-size:12px;color:var(--paper-muted-2);letter-spacing:.01em;}
.course-card.open .course-cta{
  background:var(--accent);color:#F3F1EC;border-color:var(--accent);box-shadow:0 10px 24px rgba(22,166,161,.14);
  transition:background .55s cubic-bezier(.16,1,.3,1),border-color .55s cubic-bezier(.16,1,.3,1),box-shadow .72s cubic-bezier(.16,1,.3,1),transform .72s cubic-bezier(.16,1,.3,1);
}
@media (hover:hover) and (pointer:fine){
  .course-card.open .course-cta:hover{background:#138F8A;border-color:#138F8A;box-shadow:0 14px 30px rgba(22,166,161,.24);transform:translateY(-2px);}
  .course-card.open:hover .open-badge{box-shadow:0 10px 26px rgba(22,166,161,.25);}
}


/* ---------- V33 COURSE EMPHASIS ----------
   Courses remain the homepage focal point. These rules only increase spatial
   prominence; the established V5 hover/breathing animation rules above stay untouched. */
.courses{padding-top:132px;padding-bottom:136px;}
.courses .wrap{max-width:1280px;}
.courses .section-head{max-width:1120px;margin-left:auto;margin-right:auto;margin-bottom:64px;}
.courses .section-title{font-size:clamp(30px,3.9vw,44px);}
.courses .section-note{max-width:360px;}
.courses .course-grid{gap:22px;}
@media(max-width:1180px){
  .courses .wrap{max-width:1120px;}
  .courses .course-grid{gap:18px;}
}
@media(max-width:760px){
  .courses{padding-top:96px;padding-bottom:100px;}
  .courses .section-head{margin-bottom:46px;}
  .courses .section-title{font-size:clamp(28px,8vw,36px);}
}

/* ---------- LEARNING PATH ---------- */
.path{padding:100px 0;overflow:hidden;position:relative;isolation:isolate;}
.path::before{
  content:"";position:absolute;inset:-3%;z-index:-1;pointer-events:none;
  background:url("../images/workshop/classroom-wide.webp") center 46%/cover no-repeat;
  opacity:.065;filter:grayscale(.28) saturate(.72) contrast(.94);transform:scale(1.035);
}
.path::after{
  content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;
  background:linear-gradient(180deg,rgba(11,16,20,.82) 0%,rgba(11,16,20,.92) 46%,rgba(11,16,20,.88) 100%);
}
.path > .wrap{position:relative;z-index:1;}
.path-flow{display:grid;grid-template-columns:minmax(220px,1fr) minmax(130px,220px) minmax(220px,1fr);gap:28px;align-items:center;margin-top:48px;}
.path-node{
  position:relative;display:block;padding:26px 24px;border:1px solid var(--line);border-radius:var(--radius-md);
  background:rgba(17,24,32,.62);text-align:left;min-width:0;
  transition:transform .72s var(--ease-premium),border-color .55s ease,background .55s ease,box-shadow .72s var(--ease-premium),opacity .45s ease;
}
.path-node .n{font-size:12px;color:var(--accent-bright);margin-bottom:8px;}
.path-node .t{font-size:17px;margin-top:7px;}
.path-branches{display:grid;gap:18px;}
.path-connector{height:150px;min-width:0;}
.path-connector svg{width:100%;height:100%;overflow:visible;}
.path-line{fill:none;vector-effect:non-scaling-stroke;stroke-linecap:round;}
.path-line-base{stroke:rgba(154,150,141,.20);stroke-width:1.2;}
.path-line-progress{stroke:var(--accent-bright);stroke-width:1.8;stroke-dasharray:1;stroke-dashoffset:1;opacity:.78;transition:stroke-dashoffset 1.5s var(--ease-premium),opacity .45s ease,stroke-width .45s ease;}
.path-flow.in .route-shoot{stroke-dashoffset:0;transition-delay:.18s;}
.path-flow.in .route-cut{stroke-dashoffset:0;transition-delay:.44s;}
@media (hover:hover) and (pointer:fine){
  .path-node:hover,.path-node:focus-visible{transform:translateY(-6px);border-color:rgba(73,201,194,.65);background:rgba(20,31,39,.92);box-shadow:0 22px 52px rgba(0,0,0,.24),0 0 0 1px rgba(73,201,194,.08);}
  .path-flow.route-shoot-active .route-cut,.path-flow.route-cut-active .route-shoot{opacity:.12;}
  .path-flow.route-shoot-active .route-shoot,.path-flow.route-cut-active .route-cut{opacity:1;stroke-width:2.5;}
  .path-flow.route-shoot-active .path-branch[data-route="cut"],.path-flow.route-cut-active .path-branch[data-route="shoot"]{opacity:.48;}
}

/* ---------- ACADEMY TOOLKIT ---------- */
.toolkit-section{
  position:relative;overflow:hidden;border-top:1px solid var(--line);border-bottom:1px solid var(--line);
  background:linear-gradient(180deg,#0C1217 0%,#0B1014 100%);
}
.toolkit-section > .wrap{position:relative;z-index:1;}
.toolkit-showcase{
  display:grid;grid-template-columns:minmax(310px,.88fr) minmax(0,1.12fr);gap:clamp(44px,7vw,90px);align-items:center;
  padding:clamp(28px,4vw,42px);border:1px solid var(--line);border-radius:var(--radius-lg);background:rgba(9,14,18,.62);
}
.toolkit-device-wrap{display:flex;justify-content:center;align-items:center;min-width:0;}
.toolkit-device{
  width:min(100%,348px);padding:8px;border-radius:30px;background:#090A0A;border:1px solid rgba(232,163,61,.24);
  box-shadow:0 34px 84px rgba(0,0,0,.38),0 0 0 1px rgba(255,255,255,.02) inset;
  transform:rotate(-.8deg);transition:transform .85s var(--ease-premium),border-color .55s ease,box-shadow .85s var(--ease-premium);
}
.toolkit-device-screen{border-radius:23px;overflow:hidden;background:#100E0C;color:#F2EFE9;border:1px solid #332C22;min-height:530px;}
.toolkit-preview-topbar{padding:18px 14px 12px;border-bottom:1px solid #332C22;background:rgba(16,14,12,.98);}
.toolkit-preview-brand-row{display:flex;align-items:center;justify-content:space-between;gap:8px;}
.toolkit-preview-brand{font-size:7px;letter-spacing:.16em;color:#E8A33D;font-weight:700;white-space:nowrap;}
.toolkit-preview-all{font-size:7px;color:#A39A8C;border:1px solid #332C22;border-radius:999px;padding:3px 7px;white-space:nowrap;}
.toolkit-preview-title{margin-top:5px;font-size:14px;font-weight:800;letter-spacing:.01em;}
.toolkit-preview-title span{font-size:7px;color:#A39A8C;font-weight:600;margin-left:3px;}
.toolkit-preview-main{padding:14px 12px 16px;}
.toolkit-preview-search{height:38px;display:flex;align-items:center;gap:7px;padding:0 10px;border:1px solid #332C22;border-radius:10px;background:#211C15;color:#A39A8C;font-size:8px;overflow:hidden;white-space:nowrap;}
.toolkit-preview-search span{overflow:hidden;text-overflow:ellipsis;}
.toolkit-preview-group{margin:16px 3px 7px;font-size:7px;letter-spacing:.17em;color:#A39A8C;font-weight:700;}
.toolkit-preview-group.second{margin-top:17px;}
.toolkit-preview-list{display:grid;gap:7px;}
.toolkit-preview-card{display:flex;align-items:center;gap:9px;min-height:58px;padding:9px 10px;border:1px solid #332C22;border-radius:11px;background:#18150F;}
.toolkit-preview-card.muted-preview{opacity:.82;}
.toolkit-preview-icon{width:31px;height:31px;border-radius:8px;background:#2A2318;display:flex;align-items:center;justify-content:center;font-size:14px;flex:none;}
.toolkit-preview-text{min-width:0;flex:1;}
.toolkit-preview-text strong{display:block;font-size:10px;line-height:1.28;color:#F2EFE9;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.toolkit-preview-text small{display:block;margin-top:2px;font-size:6px;line-height:1.3;color:#A39A8C;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.toolkit-preview-arrow{font-size:14px;color:#8A6526;flex:none;}
.toolkit-copy{min-width:0;}
.toolkit-index{font-size:9px;color:var(--accent-bright);margin-bottom:15px;}
.toolkit-copy h3{font-size:clamp(28px,3.5vw,40px);font-weight:400;line-height:1.18;margin-bottom:13px;text-wrap:balance;}
.toolkit-copy > p{font-size:14px;line-height:1.75;color:var(--muted);max-width:500px;}
.toolkit-use-list{list-style:none;margin-top:24px;border-top:1px solid var(--line);max-width:540px;}
.toolkit-use-list li{position:relative;padding:11px 12px 11px 20px;border-bottom:1px solid var(--line);font-size:13px;color:var(--paper);}
.toolkit-use-list li::before{content:"";position:absolute;left:2px;top:50%;width:5px;height:5px;border-radius:50%;background:var(--accent-bright);transform:translateY(-50%);opacity:.82;}
.toolkit-actions{margin-top:24px;display:flex;align-items:center;gap:16px;flex-wrap:wrap;}
.toolkit-cta{display:inline-flex;align-items:center;justify-content:center;padding:12px 17px;border:1px solid rgba(73,201,194,.38);border-radius:999px;color:var(--accent-bright);font-size:9px;background:rgba(73,201,194,.035);transition:transform .55s var(--ease-premium),border-color .4s ease,background .4s ease,color .4s ease;}
.toolkit-access-note{font-size:10px;color:var(--muted-2);}
@media (hover:hover) and (pointer:fine){
  .toolkit-showcase:hover .toolkit-device{transform:rotate(0deg) translateY(-6px);border-color:rgba(232,163,61,.42);box-shadow:0 42px 96px rgba(0,0,0,.43),0 0 36px rgba(232,163,61,.05);}
  .toolkit-cta:hover{transform:translateY(-2px);border-color:rgba(73,201,194,.68);background:rgba(73,201,194,.08);color:#86E1DC;}
}
@media(max-width:860px){
  .toolkit-showcase{grid-template-columns:1fr;gap:34px;padding:24px;}
  .toolkit-copy{order:1;}.toolkit-device-wrap{order:2;}
  .toolkit-copy > p,.toolkit-use-list{max-width:620px;}
  .toolkit-device{width:min(78vw,348px);}
}
@media(max-width:520px){
  .toolkit-section{padding-top:88px;padding-bottom:88px;}
  .toolkit-showcase{padding:16px;border-radius:16px;gap:30px;}
  .toolkit-device{width:min(89vw,340px);transform:none;}
  .toolkit-actions{align-items:flex-start;flex-direction:column;gap:11px;}
}
@media(prefers-reduced-motion:reduce){
  .toolkit-device,.toolkit-cta{transition:none!important;}
}

/* ---------- WORKSHOP RESULTS ---------- */
.results-section{border-top:1px solid var(--line);overflow:hidden;}
.result-reveal{min-width:0;}
.result-card{
  min-width:0;overflow:hidden;border:1px solid var(--line);border-radius:var(--radius-lg);background:rgba(17,24,32,.58);
  transition:transform .82s var(--ease-premium),border-color .55s ease,box-shadow .82s var(--ease-premium),background .55s ease;
}
.result-media-tag{
  position:absolute;top:14px;left:14px;z-index:2;pointer-events:none;padding:6px 9px;border:1px solid rgba(73,201,194,.28);border-radius:999px;
  background:rgba(8,13,17,.74);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);color:var(--accent-bright);font-size:9px;letter-spacing:.08em;
}
.result-body{padding:22px 22px 24px;}
.result-kicker{font-size:10px;color:var(--accent-bright);letter-spacing:.08em;margin-bottom:10px;}
.result-title{font-size:clamp(20px,2.2vw,28px);line-height:1.22;margin-bottom:12px;font-weight:400;text-wrap:balance;}
.result-desc{font-size:13px;line-height:1.75;color:var(--muted);text-wrap:pretty;}
@media (hover:hover) and (pointer:fine){
  .result-card:hover{transform:translateY(-7px);border-color:rgba(73,201,194,.42);background:rgba(19,28,36,.78);box-shadow:0 28px 64px rgba(0,0,0,.25);}
}

/* ---------- INSTRUCTOR ---------- */
.instructor{background:var(--ink-2);border-top:1px solid var(--line);border-bottom:1px solid var(--line);}
.instructor-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:60px;align-items:center;}
.instructor-photo{aspect-ratio:4/5;background:var(--ink-3);border:1px solid var(--line);display:flex;align-items:center;justify-content:center;color:var(--muted-2);font-size:12px;border-radius:var(--radius-lg);overflow:hidden;}
.instructor-name{font-size:30px;font-family:Georgia,serif;margin-bottom:10px;text-wrap:balance;}
.instructor-role{font-size:13px;color:var(--accent-bright);margin-bottom:20px;}
.instructor-bio{font-size:15px;color:var(--muted);max-width:480px;margin-bottom:24px;text-wrap:pretty;}
.instructor-stats{display:flex;gap:36px;}
.stat .num{font-size:22px;}
.stat .lbl{font-size:12px;color:var(--muted-2);margin-top:4px;}
.instructor .instructor-links{margin-top:22px;}



/* ---------- STUDENT VOICES ---------- */
.voices-section{
  position:relative;overflow:hidden;border-top:1px solid var(--line);
  background:linear-gradient(180deg,var(--ink) 0%,#0D1318 100%);
  padding-bottom:104px;
}
.voices-heading{margin-bottom:38px;}
.voices-stats{
  display:grid;grid-template-columns:repeat(3,minmax(0,1fr));
  border-top:1px solid var(--line);border-bottom:1px solid var(--line);
}
.voices-stat{padding:22px 18px 20px;border-right:1px solid var(--line);min-width:0;}
.voices-stat:first-child{padding-left:0;}
.voices-stat:last-child{border-right:0;}
.voices-stat strong{display:block;font-size:clamp(24px,3vw,36px);font-weight:400;line-height:1;color:var(--paper);}
.voices-stat strong em{font-size:.46em;font-style:normal;color:var(--accent-bright);margin-left:2px;}
.voices-stat span{display:block;margin-top:9px;font-size:9px;color:var(--muted-2);letter-spacing:.08em;}
.voices-rail{position:relative;margin-top:40px;}
.voices-scroller{
  overflow:hidden;
  padding:8px max(28px,calc((100vw - var(--content-max))/2 + 28px)) 20px;
  cursor:grab;overscroll-behavior-x:contain;touch-action:pan-y pinch-zoom;
}
.voices-scroller.is-dragging{cursor:grabbing;user-select:none;}
.voices-track{display:flex;align-items:stretch;gap:18px;width:max-content;transform:translate3d(0,0,0);will-change:transform;backface-visibility:hidden;-webkit-backface-visibility:hidden;}
.voice-card{
  flex:0 0 clamp(305px,31vw,390px);min-height:365px;padding:30px 28px 28px;
  display:flex;flex-direction:column;
  background:var(--paper-bg);color:var(--paper-ink);border:1px solid var(--paper-line);border-radius:3px;
  box-shadow:0 16px 38px rgba(0,0,0,.10);
  transition:border-color .5s ease,box-shadow .7s var(--ease-premium),background .5s ease;
}
.voice-card-top{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:28px;}
.voice-rating{font-size:14px;letter-spacing:2px;color:var(--gold);line-height:1;white-space:nowrap;}
.voice-rating .dim{opacity:.28;}
.voice-score{font-size:9px;color:var(--paper-muted-2);letter-spacing:.07em;white-space:nowrap;}
.voice-quote{position:relative;font-size:16px;line-height:1.75;font-weight:400;text-wrap:pretty;margin:0 0 30px;}
.voice-quote::before{content:"“";display:block;height:20px;margin-bottom:12px;font-family:Georgia,serif;font-size:42px;line-height:.7;color:var(--accent-hi);opacity:.82;}
.voice-footer{margin-top:auto;padding-top:18px;border-top:1px solid var(--paper-line);display:grid;gap:16px;}
.voice-name{font-size:14px;line-height:1.3;}
.voice-batch{font-size:9px;color:var(--paper-muted-2);letter-spacing:.06em;margin-top:5px;}
.voice-improvement{display:flex;align-items:baseline;justify-content:space-between;gap:14px;}
.voice-improvement span{font-size:8px;color:var(--paper-muted-2);letter-spacing:.07em;}
.voice-improvement strong{font-size:12px;font-weight:500;color:var(--paper-muted);text-align:right;}
.voices-controls{
  position:absolute;right:max(28px,calc((100vw - var(--content-max))/2 + 28px));top:-58px;z-index:2;
  display:flex;gap:7px;
}
.voices-control{
  width:38px;height:38px;display:grid;place-items:center;border:1px solid var(--line);border-radius:999px;
  background:rgba(17,24,32,.74);color:var(--paper);font-size:16px;cursor:pointer;
  transition:transform .4s var(--ease-premium),border-color .35s ease,background .35s ease,color .35s ease;
}
.voices-hint{margin-top:4px;font-size:8px;color:var(--muted-2);letter-spacing:.08em;}
.mobile-hint{display:none;}
@media (hover:hover) and (pointer:fine){
  .voice-card:hover{border-color:rgba(31,102,85,.38);box-shadow:0 22px 52px rgba(0,0,0,.18),0 0 0 1px rgba(22,166,161,.04);}
  .voices-control:hover{transform:translateY(-2px);border-color:rgba(73,201,194,.55);background:rgba(73,201,194,.08);color:var(--accent-bright);}
}
@media(max-width:860px){
  .voices-section{padding-bottom:92px;}
  .voices-heading{margin-bottom:30px;}
  .voices-stats{grid-template-columns:repeat(3,minmax(0,1fr));}
  .voices-stat{padding:18px 14px;border-bottom:0;}
  .voices-control{width:36px;height:36px;}
  .voice-card{flex-basis:min(82vw,360px);min-height:350px;}
}
@media(max-width:520px){
  .voices-section{padding-top:88px;padding-bottom:84px;}
  .voices-stats{grid-template-columns:1fr;}
  .voices-stat{padding:15px 0;border-right:0;border-bottom:1px solid var(--line);display:flex;align-items:baseline;justify-content:space-between;gap:18px;}
  .voices-stat:last-child{border-bottom:0;}
  .voices-stat span{margin-top:0;text-align:right;}
  .voices-rail{margin-top:30px;}
  .voices-scroller{padding-left:22px;padding-right:22px;}
  .voice-card{flex-basis:84vw;padding:26px 24px 24px;min-height:340px;}
  .voice-quote{font-size:15px;line-height:1.72;}
  .voices-controls{right:22px;top:-51px;}
  .desktop-hint{display:none;}.mobile-hint{display:inline;}
}
@media(prefers-reduced-motion:reduce){
  .voices-scroller{scroll-behavior:auto;}
  .voice-card,.voices-control{transition:none!important;}
}

/* ---------- FOOTER / TIMECODE ---------- */
footer{padding:80px 0 40px;}
.footer-cta{text-align:center;padding:64px 40px;border:1px solid var(--line);border-radius:var(--radius-lg);overflow:hidden;margin:0 auto 60px;max-width:680px;}
.footer-cta h3{font-size:clamp(24px,3vw,34px);font-family:"Noto Serif SC",Georgia,serif;margin-bottom:20px;font-weight:400;text-wrap:balance;}
.ticker{
  position:fixed;bottom:20px;right:24px;z-index:40;font-size:12px;color:var(--muted-2);
  background:rgba(11,12,13,.7);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);
  padding:6px 10px;border:1px solid var(--line);border-radius:var(--radius-sm);display:flex;align-items:center;gap:8px;
}
.ticker .dot{width:5px;height:5px;border-radius:50%;background:var(--accent-bright);}


@media(max-width:860px){
  .philosophy-feature,.mini-teaser{grid-template-columns:1fr;gap:24px;}
  .philosophy-copy{padding:12px 10px 18px;}
  .philosophy-copy p{max-width:620px;}
  .mini-teaser-copy{padding:10px 8px 8px;}
  .mini-teaser-media{width:min(78vw,320px);justify-self:center;}
  .mini-teaser-copy p{max-width:580px;}
}
@media(max-width:520px){
  .philosophy-section{padding-top:92px;padding-bottom:92px;}
  .philosophy-feature,.mini-teaser{padding:10px;border-radius:16px;}
  .philosophy-copy h3,.mini-teaser-copy h2{font-size:clamp(24px,8vw,31px);}
  .philosophy-rule{align-items:flex-start;}
  .mini-teaser-section{padding-top:72px;padding-bottom:72px;}
}

/* ---------- RESPONSIVE ---------- */
@media(max-width:860px){
  .course-grid{grid-template-columns:1fr;gap:14px;}
  .instructor-grid{grid-template-columns:1fr;gap:32px;}
  .path-flow{grid-template-columns:1fr;gap:14px;margin-top:34px;}
  .path-connector{height:62px;width:100%;position:relative;}
  .path-connector svg{display:none;}
  .path-connector::before{content:"";position:absolute;left:24px;top:0;bottom:0;width:1px;background:linear-gradient(var(--accent-bright),rgba(73,201,194,.18));}
  .path-connector::after{content:"";position:absolute;left:20px;bottom:0;width:9px;height:9px;border-right:1px solid var(--accent-bright);border-bottom:1px solid var(--accent-bright);transform:rotate(45deg);}
  .path-branches{gap:14px;}
  .course-card.soon::before{filter:blur(16px);opacity:.42;}
  .workshop-highlight-grid{grid-template-columns:1fr;gap:42px;max-width:620px;}
  .workshop-video-shell{width:min(78vw,350px);}
  .workshop-highlight-copy{max-width:560px;margin:0 auto;}
  .workshop-expect{grid-template-columns:repeat(3,minmax(0,1fr));}
  .ticker{display:none;}
}
@media(max-width:520px){
  .hero{padding-top:120px;}
  .hero h1{font-size:clamp(34px,11vw,48px);}
  .hero-sub br{display:none;}
  .course-card{padding:30px 24px 26px;border-radius:16px;}
  .workshop-video-shell{width:min(82vw,320px);border-radius:18px;}
  .workshop-highlight-title br{display:none;}
  .workshop-expect{grid-template-columns:1fr;gap:12px;}
  .expect-item{display:grid;grid-template-columns:28px 1fr;gap:4px;align-items:start;}
  .expect-num{margin:2px 0 0;}
  .expect-label br{display:none;}
}

@media(prefers-reduced-motion:reduce){
  .rec-dot,.open-dot,.course-card.soon,.course-card.soon::before,.course-card.soon::after{animation:none!important;}
  .course-card.soon{filter:none;}
  .course-card.soon::before{opacity:.32;}
  .ratio-seg-theory,.ratio-seg-practical{width:var(--w)!important;transition:none!important;}
  .path-node,.path-line-progress,.workshop-video-shell,.result-card,.btn-ghost,.mini-teaser-link{transition:none!important;}
  .path-line-progress{stroke-dashoffset:0!important;}
  .hero::before{background:radial-gradient(ellipse at 20% 20%,rgba(140,59,50,.10),transparent 55%),radial-gradient(ellipse at 80% 75%,rgba(255,255,255,.04),transparent 50%);}
}

/* ---------- V34 MOBILE VIDEO HARDENING ----------
   Once Vimeo is loaded, the player must sit above our decorative labels so
   Vimeo's own mobile Unmute/control UI can never be covered. */
.workshop-video-tag,.result-media-tag{transition:opacity .22s ease,visibility .22s ease;}
.workshop-video-shell.video-is-loaded .workshop-video-tag,
.result-media.video-is-loaded .result-media-tag{opacity:0;visibility:hidden;}

@media(max-width:860px){
  /* iOS Safari can collapse an aspect-ratio-only grid item whose content is
     absolutely positioned. Give the Intro 1 media row its own intrinsic box. */
  .philosophy-feature{grid-template-areas:"philosophy-media" "philosophy-copy";}
  .philosophy-media{grid-area:philosophy-media;width:100%;min-width:0;aspect-ratio:auto;}
  .philosophy-media::before{content:"";display:block;padding-top:56.25%;}
  .philosophy-copy{grid-area:philosophy-copy;}
}
