/* =========================================================
   THE LAZY MAN ACADEMY — MEDIA SYSTEM · V34
   Media aspect ratio belongs to the media itself.
   Layout must adapt to portrait / landscape assets; media is
   never forced into a mismatched orientation for convenience.
   ========================================================= */

/* ---------- CLICK-TO-LOAD VIDEO ---------- */
.video-launch{
  position:absolute;inset:0;z-index:1;width:100%;height:100%;display:block;
  appearance:none;border:0;padding:0;margin:0;background:#080D11;color:inherit;
  cursor:pointer;overflow:hidden;text-align:left;
}
.video-launch img{
  width:100%;height:100%;object-fit:cover;display:block;
  transform:scale(1.001);
  transition:transform 1.05s var(--ease-premium),filter .65s ease;
}
.video-launch::after{
  content:"";position:absolute;inset:0;pointer-events:none;
  background:linear-gradient(180deg,rgba(5,9,12,.02) 22%,rgba(5,9,12,.24) 62%,rgba(5,9,12,.72) 100%);
  transition:opacity .55s ease;
}
.video-play{
  position:absolute;left:50%;top:50%;z-index:3;transform:translate(-50%,-50%);
  width:64px;height:64px;border-radius:50%;display:flex;align-items:center;justify-content:center;
  background:rgba(9,15,18,.76);border:1px solid rgba(73,201,194,.45);
  box-shadow:0 18px 46px rgba(0,0,0,.28),0 0 0 8px rgba(8,13,17,.14);
  backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);
  transition:transform .68s var(--ease-premium),background .4s ease,border-color .4s ease,box-shadow .68s var(--ease-premium);
}
.video-play::before{
  content:"";width:0;height:0;margin-left:4px;
  border-top:9px solid transparent;border-bottom:9px solid transparent;border-left:15px solid #E9EFEC;
}
.video-launch-meta{
  position:absolute;left:18px;right:18px;bottom:16px;z-index:3;
  display:flex;align-items:flex-end;justify-content:space-between;gap:14px;
  color:#E9EFEC;text-shadow:0 2px 16px rgba(0,0,0,.5);
}
.video-launch-meta .label{font-size:10px;letter-spacing:.09em;color:#7FE2DD;}
.video-launch-meta .action{font-size:10px;letter-spacing:.08em;color:rgba(233,239,236,.78);white-space:nowrap;}
.video-embed{position:absolute;inset:0;z-index:4;width:100%;height:100%;display:block;border:0;background:#080D11;}
.video-loading .video-play{opacity:.55;}
@media (hover:hover) and (pointer:fine){
  .video-launch:hover img{transform:scale(1.035);filter:brightness(.9);}
  .video-launch:hover::after{opacity:.9;}
  .video-launch:hover .video-play{
    transform:translate(-50%,-50%) scale(1.08);background:rgba(13,27,31,.9);
    border-color:rgba(73,201,194,.75);box-shadow:0 22px 54px rgba(0,0,0,.34),0 0 30px rgba(22,166,161,.14);
  }
}

/* ---------- PHOTO LANGUAGE ---------- */
.media-photo{
  position:relative;min-width:0;overflow:hidden;border:1px solid var(--line);
  border-radius:var(--radius-lg);background:var(--ink-3);isolation:isolate;
  transition:transform .82s var(--ease-premium),border-color .55s ease,box-shadow .82s var(--ease-premium);
}
.media-photo img{
  width:100%;height:100%;object-fit:cover;display:block;
  transition:transform 1.05s var(--ease-premium),filter .62s ease;
}
.media-photo::after{
  content:"";position:absolute;inset:0;pointer-events:none;
  background:linear-gradient(180deg,transparent 58%,rgba(7,12,15,.48) 100%);opacity:.68;
}
.media-photo-label{
  position:absolute;left:14px;bottom:12px;z-index:2;
  font-size:9px;letter-spacing:.08em;color:rgba(233,239,236,.86);
  text-shadow:0 2px 12px rgba(0,0,0,.45);
}
@media (hover:hover) and (pointer:fine){
  .media-photo:hover{transform:translateY(-4px);border-color:rgba(73,201,194,.42);box-shadow:0 24px 56px rgba(0,0,0,.22),0 0 24px rgba(22,166,161,.06);}
  .media-photo:hover img{transform:scale(1.035);filter:brightness(.94);}
}

/* ---------- HOME · CLASSROOM IN ACTION ---------- */
.classroom-section{padding-top:24px;border-top:1px solid rgba(73,201,194,.06);}
.classroom-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));grid-auto-rows:72px;gap:12px;}
.classroom-grid .media-photo{height:100%;}
.classroom-grid .shot-a{grid-column:span 7;grid-row:span 5;}
.classroom-grid .shot-b{grid-column:span 5;grid-row:span 5;}
.classroom-grid .shot-c,.classroom-grid .shot-d,.classroom-grid .shot-e,.classroom-grid .shot-f{grid-column:span 3;grid-row:span 3;}
.classroom-grid .shot-g{grid-column:span 12;grid-row:span 4;}
.classroom-intro{max-width:560px;color:var(--muted);font-size:14px;line-height:1.8;margin-top:-26px;margin-bottom:38px;text-wrap:pretty;}

/* ---------- HOME · RESULTS: featured film + mixed-orientation editorial pair ---------- */
.results-layout.media-results-layout{display:grid;gap:22px;}
.media-results-layout .result-reveal{min-width:0;}
.media-results-layout .result-media{position:relative;}
.media-results-layout .result-media.portrait{aspect-ratio:9/16;}
.media-results-layout .result-media.landscape{aspect-ratio:16/9;}
.media-results-layout .result-media iframe{position:absolute;inset:0;width:100%;height:100%;}

.result-featured{overflow:hidden;}
.result-featured .result-media{border-bottom:1px solid var(--line);}
.result-featured-body{
  display:grid;grid-template-columns:minmax(190px,.48fr) minmax(0,1.52fr);gap:38px;
  align-items:start;padding:28px 30px 30px;
  background:linear-gradient(135deg,rgba(22,166,161,.035),transparent 48%);
}
.result-featured-label{display:grid;gap:10px;align-content:start;}
.result-featured-index{font-size:9px;letter-spacing:.10em;color:var(--muted-2);}
.result-featured-copy .result-title{font-size:clamp(24px,3vw,34px);max-width:760px;}
.result-featured-copy .result-desc{max-width:760px;}

.result-secondary-grid{
  display:grid;grid-template-columns:minmax(235px,.48fr) minmax(0,1.52fr);gap:20px;align-items:start;
}
.result-secondary-grid .result-reveal{min-width:0;}
.result-secondary-grid .result-card{width:100%;}
.result-card-portrait .result-body{padding:20px 20px 22px;}
.result-card-portrait .result-title{font-size:clamp(20px,2.1vw,26px);}
.result-card-landscape .result-body{padding:22px 24px 24px;}
.result-card-landscape .result-title{font-size:clamp(22px,2.55vw,30px);max-width:650px;}
.result-card-landscape .result-desc{max-width:680px;}
.result-media-note{margin-top:11px;font-size:11px;line-height:1.65;color:var(--muted-2);}

/* ---------- HOME · INSTRUCTOR PHOTO ---------- */
.instructor-photo.has-photo{
  padding:0;position:relative;overflow:hidden;isolation:isolate;
  transition:border-color .58s ease,box-shadow .78s var(--ease-premium);
}
.instructor-photo.has-photo img{
  width:100%;height:100%;object-fit:cover;object-position:center 34%;
  transition:transform .9s var(--ease-premium),filter .55s ease;
}
.instructor-photo.has-photo::before{
  content:"";position:absolute;inset:0;z-index:2;pointer-events:none;border-radius:inherit;
  box-shadow:inset 0 0 0 1px rgba(73,201,194,0),inset 0 0 34px rgba(22,166,161,0);
  transition:box-shadow .72s var(--ease-premium),background .55s ease;
}
.instructor-photo.has-photo::after{
  content:"";position:absolute;inset:0;z-index:1;pointer-events:none;
  background:linear-gradient(180deg,transparent 56%,rgba(8,13,17,.30));
  transition:background .55s ease;
}
@media (hover:hover) and (pointer:fine){
  .instructor-photo.has-photo:hover{
    border-color:rgba(73,201,194,.9);
    box-shadow:0 0 0 1px rgba(73,201,194,.38),0 26px 64px rgba(0,0,0,.26),0 0 34px rgba(22,166,161,.14);
  }
  .instructor-photo.has-photo:hover::before{
    box-shadow:inset 0 0 0 2px rgba(73,201,194,.78),inset 0 0 38px rgba(22,166,161,.12);
    background:linear-gradient(135deg,rgba(73,201,194,.035),transparent 45%);
  }
  .instructor-photo.has-photo:hover img{transform:scale(1.025);filter:brightness(1.035) contrast(1.015);}
}

/* ---------- FOUNDATION · early visual support ---------- */
.foundation-topic-media{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:28px;}
.foundation-topic-media .media-photo{aspect-ratio:3/2;}


/* ---------- FOUNDATION · MINI LESSONS ---------- */
.mini-lessons-section{
  background:#111820;color:#E9EFEC;border-top:1px solid rgba(0,0,0,.16);border-bottom:1px solid rgba(0,0,0,.18);
}
.mini-lessons-section .eyebrow{color:#49C9C2;}
.mini-lessons-section .section-title{color:#E9EFEC;}
.mini-lessons-section .course-media-note{color:#9A968D;}
.mini-lesson-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;align-items:start;}
.mini-lesson-reveal{min-width:0;display:flex;}
.mini-lesson-reveal > .mini-lesson-card{width:100%;}
.mini-lesson-card{
  min-width:0;border:1px solid #242422;border-radius:var(--radius-lg);overflow:hidden;background:rgba(11,16,20,.58);
  transition:transform .78s var(--ease-premium),border-color .55s ease,box-shadow .78s var(--ease-premium),background .55s ease;
}
.mini-lesson-media{position:relative;aspect-ratio:9/16;background:#080D11;border-bottom:1px solid #242422;overflow:hidden;}
.mini-lesson-body{padding:17px 17px 19px;}
.mini-lesson-kicker{font-size:9px;letter-spacing:.09em;color:#49C9C2;margin-bottom:9px;}
.mini-lesson-body h3{font-size:clamp(18px,1.65vw,23px);font-weight:400;line-height:1.28;margin-bottom:8px;text-wrap:balance;}
.mini-lesson-body p{font-size:11.5px;line-height:1.68;color:#9A968D;text-wrap:pretty;}
@media (hover:hover) and (pointer:fine){
  .mini-lesson-card:hover{transform:translateY(-5px);border-color:rgba(73,201,194,.42);background:rgba(15,23,29,.82);box-shadow:0 24px 56px rgba(0,0,0,.24);}
}

/* ---------- COURSE MEDIA ---------- */
.course-media-section{border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:var(--ink-2);}
body.theme-light .course-media-section{background:var(--ink-3);}
.course-media-head{display:grid;grid-template-columns:minmax(0,1fr) minmax(240px,380px);gap:36px;align-items:end;margin-bottom:42px;}
.course-media-head .section-title{margin-bottom:0;}
.course-media-note{font-size:13px;line-height:1.75;color:var(--muted);text-wrap:pretty;}
.course-video-feature{
  display:grid;grid-template-columns:minmax(300px,1.2fr) minmax(260px,.8fr);gap:30px;
  align-items:center;border:1px solid var(--line);border-radius:var(--radius-lg);
  background:rgba(17,24,32,.48);padding:18px;overflow:hidden;
}
body.theme-light .course-video-feature{background:rgba(255,255,255,.2);}
.course-video-frame{
  position:relative;aspect-ratio:16/9;border-radius:var(--radius-md);overflow:hidden;
  background:#080D11;border:1px solid var(--line);width:100%;
}
.course-video-frame.landscape{aspect-ratio:16/9;}
.course-video-frame.portrait{aspect-ratio:9/16;max-height:620px;justify-self:center;width:min(100%,350px);}
.course-video-copy{padding:12px 18px 12px 4px;}
.course-video-kicker{font-size:10px;color:var(--accent-readable);letter-spacing:.08em;margin-bottom:12px;}
.course-video-title{font-size:clamp(22px,2.8vw,32px);line-height:1.22;font-weight:400;margin-bottom:14px;text-wrap:balance;}
.course-video-desc{font-size:13px;line-height:1.8;color:var(--muted);text-wrap:pretty;}

/* All course galleries now use source-native 3:2 frames. No span-based masonry gaps. */
.course-photo-heading{display:flex;justify-content:space-between;align-items:end;gap:20px;margin-top:52px;margin-bottom:18px;}
.course-photo-heading h3{font-size:18px;font-weight:400;}
.course-photo-heading span{font-size:10px;color:var(--muted-2);}
.course-photo-grid.gallery-balanced{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:18px;}
.course-photo-grid.gallery-balanced .media-photo{aspect-ratio:3/2;}
.course-photo-grid.gallery-two-col{grid-template-columns:repeat(2,minmax(0,1fr));}

.student-video-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;}
.student-video-card{border:1px solid var(--line);border-radius:var(--radius-lg);overflow:hidden;background:rgba(17,24,32,.52);}
.student-video-card .course-video-frame{border:0;border-bottom:1px solid var(--line);border-radius:0;aspect-ratio:16/9;}
.student-video-body{padding:18px 18px 20px;}
.student-video-body .n{font-size:9px;color:var(--accent-readable);margin-bottom:8px;}
.student-video-body h3{font-size:18px;font-weight:400;line-height:1.28;margin-bottom:8px;}
.student-video-body p{font-size:12px;line-height:1.7;color:var(--muted);}
.course-film-feature{margin-top:18px;}

/* ---------- RESPONSIVE ---------- */
@media(max-width:900px){
  .result-featured-body{grid-template-columns:minmax(150px,.45fr) minmax(0,1.55fr);gap:24px;padding:24px;}
  .result-secondary-grid{grid-template-columns:minmax(220px,.58fr) minmax(0,1.42fr);gap:16px;}
  .result-card-portrait .result-body{padding:18px 18px 20px;}
  .result-card-landscape .result-body{padding:20px;}
}
@media(max-width:1040px){
  .mini-lesson-grid{grid-template-columns:repeat(2,minmax(0,1fr));max-width:760px;margin-left:auto;margin-right:auto;}
}
@media(max-width:860px){
  .classroom-grid{grid-auto-rows:60px;}
  .course-media-head{grid-template-columns:1fr;gap:14px;}
  .course-video-feature{grid-template-columns:1fr;gap:18px;}
  .course-video-copy{padding:6px 6px 10px;}
  .student-video-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
  .student-video-card:last-child{grid-column:1/-1;max-width:calc(50% - 7px);width:100%;justify-self:center;}
}
@media(max-width:700px){
  .mini-lesson-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;max-width:560px;}
  .mini-lesson-body{padding:14px 13px 16px;}
  .mini-lesson-kicker{font-size:8px;margin-bottom:7px;}
  .mini-lesson-body h3{font-size:clamp(16px,4.6vw,19px);line-height:1.28;}
  .mini-lesson-body p{font-size:10.5px;line-height:1.62;}

  .result-featured-body{grid-template-columns:1fr;gap:10px;padding:22px;}
  .result-featured-label{grid-template-columns:1fr auto;align-items:center;gap:14px;}
  .result-secondary-grid{grid-template-columns:1fr;gap:16px;max-width:680px;margin:0 auto;}
  .result-secondary-grid .result-reveal:first-child{width:min(100%,340px);justify-self:center;}
  .course-photo-grid.gallery-balanced{grid-template-columns:repeat(2,minmax(0,1fr));}
  .course-photo-grid.gallery-two-col{grid-template-columns:repeat(2,minmax(0,1fr));}
}
@media(max-width:520px){
  .results-layout.media-results-layout{gap:16px;}
  .result-featured-body{padding:20px 18px 22px;}
  .result-featured-label{grid-template-columns:1fr;gap:7px;}
  .result-featured-copy .result-title{font-size:clamp(22px,7.4vw,28px);}
  .result-card-landscape .result-body,.result-card-portrait .result-body{padding:18px;}
  .video-play{width:56px;height:56px;}
  .video-launch-meta{left:14px;right:14px;bottom:13px;}
  .classroom-section{padding-top:10px;}
  .classroom-intro{margin-top:-18px;margin-bottom:28px;}
  .classroom-grid{grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:auto;gap:9px;}
  .classroom-grid .media-photo{grid-column:auto!important;grid-row:auto!important;aspect-ratio:3/2;}
  .classroom-grid .shot-g{grid-column:1/-1!important;aspect-ratio:3/2;}
  .foundation-topic-media{grid-template-columns:1fr;gap:9px;}
  .course-video-feature{padding:10px;border-radius:16px;}
  .course-photo-grid.gallery-balanced,.course-photo-grid.gallery-two-col{grid-template-columns:1fr;gap:9px;}
  .course-photo-heading{align-items:start;flex-direction:column;gap:5px;margin-top:40px;}
  .student-video-grid{grid-template-columns:1fr;}
  .student-video-card,.student-video-card:last-child{grid-column:auto;max-width:none;}
  .student-video-card .course-video-frame{aspect-ratio:16/9;}
}

@media(prefers-reduced-motion:reduce){
  .video-launch img,.video-play,.media-photo,.media-photo img,.mini-lesson-card,.instructor-photo.has-photo,.instructor-photo.has-photo img,.instructor-photo.has-photo::before,.instructor-photo.has-photo::after{transition:none!important;}
}

/* ---------- FOUNDATION · MINI LESSON POSTERS + PORTRAIT MODAL · V30 ---------- */
.mini-lesson-media{aspect-ratio:3/4;border-bottom:0;background:#080D11;}
.mini-lesson-card{background:#080D11;}
.mini-lesson-media .video-launch img{object-fit:cover;transform:none;}
.mini-lesson-media .video-launch::after{
  background:linear-gradient(180deg,rgba(5,9,12,.01) 18%,rgba(5,9,12,.08) 56%,rgba(5,9,12,.30) 100%);
}
@media (hover:hover) and (pointer:fine){
  .mini-lesson-media .video-launch:hover img{transform:scale(1.012);filter:brightness(.91);}
}

.video-modal-lock{overflow:hidden;}
.video-modal{
  position:fixed;inset:0;z-index:9999;display:flex;align-items:center;justify-content:center;
  padding:max(18px,env(safe-area-inset-top)) max(18px,env(safe-area-inset-right)) max(18px,env(safe-area-inset-bottom)) max(18px,env(safe-area-inset-left));
  background:rgba(3,7,10,.94);opacity:0;visibility:hidden;pointer-events:none;
  transition:opacity .28s ease,visibility .28s ease;
}
.video-modal.is-open{opacity:1;visibility:visible;pointer-events:auto;}
.video-modal-dialog{
  position:relative;width:min(92vw,calc(88vh * 9 / 16));max-height:88vh;aspect-ratio:9/16;
  background:#05090C;border:1px solid rgba(73,201,194,.34);border-radius:20px;overflow:hidden;
  box-shadow:0 34px 90px rgba(0,0,0,.58),0 0 44px rgba(22,166,161,.08);
}
.video-modal-frame{position:absolute;inset:0;width:100%;height:100%;border:0;background:#05090C;}
.video-modal-close{
  position:absolute;top:12px;right:12px;z-index:3;width:42px;height:42px;border-radius:50%;
  border:1px solid rgba(233,239,236,.22);background:rgba(6,10,13,.82);color:#E9EFEC;cursor:pointer;
  display:grid;place-items:center;font-size:22px;line-height:1;box-shadow:0 8px 24px rgba(0,0,0,.28);
  transition:background .25s ease,border-color .25s ease,transform .25s ease;
}
.video-modal-close:focus-visible{outline:2px solid #49C9C2;outline-offset:3px;}
@media (hover:hover) and (pointer:fine){
  .video-modal-close:hover{background:#111B20;border-color:rgba(73,201,194,.62);transform:scale(1.04);}
}
@media (max-width:520px){
  .video-modal{padding:12px max(12px,env(safe-area-inset-right)) max(12px,env(safe-area-inset-bottom)) max(12px,env(safe-area-inset-left));}
  .video-modal-dialog{width:min(94vw,calc(90vh * 9 / 16));max-height:90vh;border-radius:16px;}
  .mini-lesson-media .video-play{width:52px;height:52px;}
  .mini-lesson-media .video-play::before{border-top-width:7px;border-bottom-width:7px;border-left-width:12px;}
}
@media (prefers-reduced-motion:reduce){
  .video-modal{transition:none;}
}
