/* =============================================================================
LEDO CASE STUDY · FARACS STUDIO
Premium cinematic portfolio page for L’Étreinte de l’Ombre.
============================================================================= */

body.page-project-ledo{
  --ledo-gold:var(--cinnabar);
  --ledo-gold-light:var(--cinnabar);
  --ledo-blue:#0d3348;
  --ledo-ink:#030608;
  --ledo-smoke:#d6d0c2;

  /* Keep LEDO on the same Faracs Studio atmospheric background as the rest of the website. */
  background:var(--sumi);
}

body.page-project-ledo #faracs-maze{
  /* Same maze intensity and color treatment as portfolio/about/contact/home. */
  opacity:.95;
  filter:none;
}

body.page-project-ledo .ambient-glow{
  /* Same cinnabar ambient glow as the global Faracs background. */
  background:
    radial-gradient(circle at 70% 18%, rgba(154,0,2,.18), transparent 38%),
    radial-gradient(circle at 30% 75%, rgba(220,64,53,.08), transparent 42%);
  mix-blend-mode:screen;
  opacity:.9;
}

body.page-project-ledo main{
  position:relative;
  z-index:6;
  max-width:1320px;
  margin:0 auto;
  padding:250px 60px 120px;
}

body.page-project-ledo .project-kicker,
body.page-project-ledo .section-kicker{
  font-family:"JetBrains Mono", monospace;
  font-size:12px;
  letter-spacing:.28em;
  line-height:1.6;
  text-transform:uppercase;
  color:var(--ledo-gold-light);
  margin-bottom:28px;
}

body.page-project-ledo .ledo-hero{
  min-height:calc(100vh - 250px);
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(420px,1fr);
  gap:58px;
  align-items:center;
  padding-bottom:120px;
}

body.page-project-ledo .ledo-title{
  font-family:"Anton", sans-serif;
  font-size:clamp(58px,7.05vw,118px);
  line-height:.92;
  letter-spacing:-.045em;
  font-weight:400;
  color:var(--bone);
  max-width:10.8ch;
  margin:10px 0 46px;
  padding-bottom:.08em;
  overflow:visible;
  text-transform:uppercase;
  text-shadow:0 28px 80px rgba(0,0,0,.72);
}

body.page-project-ledo .faracs-dot{
  background:var(--hanko);
  box-shadow:0 0 16px rgba(154,0,2,.6);
}

body.page-project-ledo .ledo-title-last{
  display:inline-block;
  white-space:nowrap;
}

body.page-project-ledo .ledo-title .faracs-dot{
  width:14px;
  height:14px;
  margin-left:10px;
  position:relative;
  bottom:0;
  vertical-align:baseline;
}

body.page-project-ledo .ledo-rule{
  width:48px;
  height:2px;
  background:linear-gradient(90deg,var(--hanko),var(--ledo-gold));
  margin-bottom:32px;
  box-shadow:0 0 20px rgba(220,64,53,.22);
}

body.page-project-ledo .ledo-intro{
  max-width:62ch;
  font-size:19px;
  line-height:1.68;
  color:rgba(244,241,234,.82);
}

body.page-project-ledo .ledo-meta{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:14px;
  margin-top:44px;
}

body.page-project-ledo .ledo-meta div,
body.page-project-ledo .ledo-scope-grid article{
  border:1px solid rgba(244,241,234,.08);
  background:linear-gradient(145deg,rgba(255,255,255,.036),rgba(255,255,255,.014));
  backdrop-filter:blur(12px);
}

body.page-project-ledo .ledo-meta div{ padding:20px; }

body.page-project-ledo .ledo-meta span,
body.page-project-ledo .ledo-system-card span,
body.page-project-ledo .ledo-book-copy span,
body.page-project-ledo .ledo-world-card span,
body.page-project-ledo .ledo-scope-grid span{
  display:block;
  margin-bottom:10px;
  font-family:"JetBrains Mono", monospace;
  font-size:10px;
  letter-spacing:.22em;
  text-transform:uppercase;
  color:var(--ledo-gold-light);
}

body.page-project-ledo .ledo-meta strong{
  font-size:14px;
  line-height:1.45;
  font-weight:500;
  color:rgba(244,241,234,.9);
}

body.page-project-ledo .ledo-hero-visual{
  position:relative;
  min-height:700px;
  display:flex;
  align-items:center;
  justify-content:center;
  overflow:visible;
  border:none;
  background:transparent;
  box-shadow:none;
  isolation:isolate;
}

body.page-project-ledo .ledo-hero-visual::before,
body.page-project-ledo .ledo-hero-visual::after{
  content:none;
}

body.page-project-ledo .ledo-hero-book{
  position:relative;
  z-index:3;
  display:block;
  width:min(570px,80%);
  margin:0 auto;
  filter:drop-shadow(0 48px 100px rgba(0,0,0,.72));
  transform:translateY(0);
  transition:transform .85s ease, filter .45s ease;
}

body.page-project-ledo .ledo-hero-visual:hover .ledo-hero-book{
  transform:translateY(-6px) scale(1.02);
  filter:drop-shadow(0 56px 110px rgba(0,0,0,.72));
}

body.page-project-ledo .divider{
  background:rgba(220,64,53,.18);
}

body.page-project-ledo .divider::before{
  background:linear-gradient(90deg,transparent 0%, rgba(220,64,53,.95) 50%, transparent 100%);
  box-shadow:0 0 24px rgba(220,64,53,.28);
}

body.page-project-ledo .ledo-editorial{
  position:relative;
  overflow:hidden;
  padding:150px 0;
}

body.page-project-ledo .ledo-ghost-sigil{
  position:absolute;
  inset:0;
  z-index:0;
  display:flex;
  align-items:center;
  justify-content:flex-start;
  pointer-events:none;
}

body.page-project-ledo .ledo-ghost-sigil img{
  width:min(760px,82vw);
  opacity:.055;
  filter:grayscale(1) contrast(1.3);
}

body.page-project-ledo .ledo-editorial-copy{ position:relative; z-index:2; }

body.page-project-ledo h2{
  font-family:"Anton", sans-serif;
  font-size:clamp(34px,3.7vw,58px);
  line-height:.98;
  letter-spacing:-.03em;
  font-weight:400;
  color:var(--bone);
  margin:0 0 32px;
  max-width:24ch;
  text-transform:uppercase;
  text-wrap:balance;
}

body.page-project-ledo h2 .faracs-dot,
body.page-project-ledo h3 .faracs-dot{
  display:inline-block;
  width:10px;
  height:10px;
  margin-left:8px;
  vertical-align:baseline;
  white-space:nowrap;
}

body.page-project-ledo .ledo-copy-cols{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:42px;
  max-width:980px;
}

body.page-project-ledo .ledo-copy-cols p,
body.page-project-ledo .ledo-section-intro,
body.page-project-ledo .ledo-next p{
  font-size:19px;
  line-height:1.75;
  color:rgba(244,241,234,.72);
}

body.page-project-ledo .ledo-section{ padding:125px 0; }
body.page-project-ledo .ledo-section-head{ max-width:1040px; margin-bottom:72px; }
body.page-project-ledo .ledo-section-intro{ max-width:770px; margin:0; }

body.page-project-ledo .ledo-system-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:18px;
}

body.page-project-ledo .ledo-system-card{
  min-height:350px;
  padding:30px;
  border:1px solid rgba(244,241,234,.08);
  background:linear-gradient(145deg,rgba(255,255,255,.034),rgba(255,255,255,.012));
  display:flex;
  flex-direction:column;
  justify-content:flex-start;
  transition:transform .45s ease,border-color .45s ease,box-shadow .45s ease;
}

body.page-project-ledo .ledo-system-card:hover,
body.page-project-ledo .ledo-book-frame:hover,
body.page-project-ledo .ledo-world-card:hover,
body.page-project-ledo .ledo-scope-grid article:hover{
  transform:translateY(-6px);
  border-color:rgba(220,64,53,.42);
  box-shadow:0 0 95px rgba(220,64,53,.12),0 0 65px rgba(154,0,2,.1);
}

body.page-project-ledo .ledo-logo-card img{
  width:min(270px,76%);
  margin:auto;
  filter:drop-shadow(0 28px 60px rgba(0,0,0,.56));
}

body.page-project-ledo .ledo-type-sample strong,
body.page-project-ledo .ledo-type-sample em{
  display:block;
  color:var(--bone);
}

body.page-project-ledo .ledo-type-sample strong{
  font-family:"IM Fell English", serif;
  font-size:45px;
  line-height:1;
  font-weight:400;
}

body.page-project-ledo .ledo-type-sample em{
  margin-top:20px;
  font-family:"EB Garamond", serif;
  font-size:38px;
  line-height:1;
  color:rgba(220,64,53,.88);
}

body.page-project-ledo .ledo-system-card p,
body.page-project-ledo .ledo-scope-grid p,
body.page-project-ledo .ledo-world-card p,
body.page-project-ledo .ledo-book-copy p{
  margin:20px 0 0;
  font-size:14px;
  line-height:1.7;
  color:rgba(244,241,234,.64);
}

body.page-project-ledo .ledo-palette{
  display:grid;
  grid-template-columns:repeat(5,1fr);
  gap:8px;
  min-height:150px;
  align-items:stretch;
}

body.page-project-ledo .ledo-palette i{
  display:block;
  background:var(--chip);
  border:1px solid rgba(255,255,255,.1);
  box-shadow:inset 0 0 0 1px rgba(0,0,0,.15);
}

body.page-project-ledo .ledo-book-frame{
  position:relative;
  width:100%;
  aspect-ratio:2048 / 1495;
  min-height:unset;
  overflow:hidden;
  display:flex;
  align-items:flex-end;
  justify-content:flex-end;
  padding:clamp(34px,4vw,58px);
  border:1px solid rgba(244,241,234,.08);
  background:rgba(255,255,255,.022);
  isolation:isolate;
  transition:transform .45s ease,border-color .45s ease,box-shadow .45s ease;
}

body.page-project-ledo .ledo-book-frame::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:1;
  background:
    linear-gradient(180deg, rgba(0,0,0,.02), rgba(0,0,0,.12)),
    radial-gradient(circle at 24% 48%, rgba(220,64,53,.06), transparent 34%),
    radial-gradient(circle at 72% 54%, rgba(13,51,72,.10), transparent 44%);
  pointer-events:none;
}

body.page-project-ledo .ledo-book-glow{
  position:absolute;
  inset:12% 50% 10% 6%;
  z-index:1;
  background:radial-gradient(circle,rgba(220,64,53,.10),transparent 58%);
  filter:blur(34px);
  pointer-events:none;
}

body.page-project-ledo .ledo-book-flat-bg{
  position:absolute;
  inset:0;
  z-index:0;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center center;
  opacity:.96;
  filter:brightness(.84) contrast(1.02) saturate(1.02);
  transition:transform .9s ease, filter .45s ease, opacity .45s ease;
}

body.page-project-ledo .ledo-book-frame:hover .ledo-book-flat-bg{
  transform:scale(1.025);
  opacity:1;
  filter:brightness(.9) contrast(1.04) saturate(1.04);
}

body.page-project-ledo .ledo-book-copy{
  position:relative;
  z-index:2;
  align-self:end;
  width:min(410px,38%);
  margin-left:auto;
  padding:34px;
  border:1px solid rgba(244,241,234,.08);
  background:rgba(3,6,8,.58);
  backdrop-filter:blur(16px);
}

body.page-project-ledo .ledo-book-copy h3,
body.page-project-ledo .ledo-world-card h3{
  font-family:"Anton", sans-serif;
  font-size:clamp(34px,3.2vw,50px);
  line-height:1;
  letter-spacing:-.03em;
  font-weight:400;
  color:var(--bone);
  text-transform:uppercase;
}


body.page-project-ledo .ledo-world-scroller-wrap{
  display:flex;
  flex-direction:column;
  gap:16px;
}

body.page-project-ledo .ledo-world-scroller{
  position:relative;
  overflow-x:auto;
  overflow-y:hidden;
  padding:10px;
  border:1px solid rgba(244,241,234,.08);
  background:linear-gradient(145deg,rgba(255,255,255,.028),rgba(255,255,255,.012));
  scrollbar-width:none;
  -ms-overflow-style:none;
  cursor:grab;
}

body.page-project-ledo .ledo-world-scroller::-webkit-scrollbar{ display:none; }
body.page-project-ledo .ledo-world-scroller.is-dragging{ cursor:grabbing; }

body.page-project-ledo .ledo-scroller-track{
  display:flex;
  gap:18px;
  width:max-content;
}

body.page-project-ledo .ledo-world-tile{
  width:min(34vw, 380px);
  min-width:320px;
  display:flex;
  flex-direction:column;
  border:1px solid rgba(244,241,234,.08);
  background:linear-gradient(180deg,rgba(255,255,255,.03),rgba(255,255,255,.012));
  transition:transform .45s ease, border-color .45s ease, box-shadow .45s ease;
  overflow:hidden;
  flex:0 0 auto;
}

body.page-project-ledo .ledo-world-tile:hover{
  transform:translateY(-6px);
  border-color:rgba(220,64,53,.42);
  box-shadow:0 0 95px rgba(220,64,53,.12),0 0 65px rgba(154,0,2,.1);
}

body.page-project-ledo .ledo-world-tile-media{
  position:relative;
  height:360px;
  overflow:hidden;
  background:rgba(3,6,8,.92);
}

body.page-project-ledo .ledo-world-tile-media::before{
  content:"";
  position:absolute;
  inset:-10%;
  background:radial-gradient(circle at 70% 18%, rgba(154,0,2,.16), transparent 36%), rgba(3,6,8,.8);
  z-index:0;
}

body.page-project-ledo .ledo-world-tile-media::after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(to top, rgba(0,0,0,.28), transparent 36%);
  z-index:2;
  pointer-events:none;
}

body.page-project-ledo .ledo-world-tile-media img{
  position:relative;
  z-index:1;
  width:100%;
  height:100%;
  display:block;
  transition:transform .7s ease, filter .45s ease;
}

body.page-project-ledo .ledo-world-tile.is-landscape .ledo-world-tile-media img{
  object-fit:cover;
  object-position:center center;
  filter:brightness(.88) contrast(1.04) saturate(.98);
}

body.page-project-ledo .ledo-world-tile.is-portrait .ledo-world-tile-media img{
  object-fit:contain;
  object-position:center center;
  padding:12px;
  filter:drop-shadow(0 24px 44px rgba(0,0,0,.45));
}

body.page-project-ledo .ledo-world-tile:hover .ledo-world-tile-media img{
  transform:scale(1.03);
}

body.page-project-ledo .ledo-world-tile-copy{
  padding:22px 22px 24px;
}

body.page-project-ledo .ledo-world-tile-copy > span,
body.page-project-ledo .ledo-scroller-footer p{
  display:block;
  margin-bottom:10px;
  font-family:"JetBrains Mono", monospace;
  font-size:10px;
  letter-spacing:.22em;
  text-transform:uppercase;
  color:var(--ledo-gold-light);
}

body.page-project-ledo .ledo-world-tile-copy h3 .faracs-dot{
  display:inline-block;
  width:10px;
  height:10px;
  margin-left:8px;
  margin-bottom:0;
  vertical-align:baseline;
}

body.page-project-ledo .ledo-world-tile-copy h3{
  font-family:"Anton", sans-serif;
  font-size:clamp(28px,2.4vw,38px);
  line-height:.98;
  letter-spacing:-.03em;
  font-weight:400;
  color:var(--bone);
  text-transform:uppercase;
}

body.page-project-ledo .ledo-world-tile-copy p{
  margin:16px 0 0;
  font-size:14px;
  line-height:1.7;
  color:rgba(244,241,234,.72);
}

body.page-project-ledo .ledo-scroller-footer{
  display:flex;
  align-items:center;
  justify-content:flex-start;
  gap:20px;
  padding:0 6px;
}

body.page-project-ledo .ledo-scroller-footer p{
  margin:0;
}

body.page-project-ledo .ledo-scroller-arrows{
  display:flex;
  align-items:center;
  gap:10px;
}

body.page-project-ledo .ledo-scroller-arrows span{
  width:42px;
  height:42px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border:1px solid rgba(244,241,234,.12);
  background:rgba(3,6,8,.42);
  color:var(--bone);
  backdrop-filter:blur(14px);
}



body.page-project-ledo .ledo-motion-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:18px;
  align-items:start;
}

body.page-project-ledo .ledo-motion-card{
  overflow:hidden;
  border:1px solid rgba(244,241,234,.08);
  background:linear-gradient(180deg,rgba(255,255,255,.028),rgba(255,255,255,.012));
  transition:transform .45s ease,border-color .45s ease,box-shadow .45s ease;
}

body.page-project-ledo .ledo-motion-card:hover{
  transform:translateY(-6px);
  border-color:rgba(220,64,53,.42);
  box-shadow:0 0 95px rgba(220,64,53,.12),0 0 65px rgba(154,0,2,.1);
}

body.page-project-ledo .ledo-motion-video-wrap{
  position:relative;
  aspect-ratio:9 / 16;
  overflow:hidden;
  background:rgba(3,6,8,.95);
}

body.page-project-ledo .ledo-motion-video-wrap::after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(to top, rgba(0,0,0,.18), rgba(0,0,0,0));
  pointer-events:none;
}

body.page-project-ledo .ledo-motion-video-wrap video{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}

body.page-project-ledo .ledo-motion-copy{
  padding:22px 22px 24px;
}

body.page-project-ledo .ledo-motion-copy span{
  display:block;
  margin-bottom:10px;
  font-family:"JetBrains Mono", monospace;
  font-size:10px;
  letter-spacing:.22em;
  text-transform:uppercase;
  color:var(--ledo-gold-light);
}

body.page-project-ledo .ledo-motion-copy strong{
  display:block;
  font-family:"Anton", sans-serif;
  font-size:clamp(26px,2vw,32px);
  line-height:1;
  letter-spacing:-.025em;
  color:var(--bone);
  text-transform:uppercase;
  font-weight:400;
}

body.page-project-ledo .ledo-motion-copy p{
  margin:16px 0 0;
  font-size:14px;
  line-height:1.7;
  color:rgba(244,241,234,.72);
}

body.page-project-ledo .ledo-next{
  padding:120px 0 60px;
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  justify-content:flex-start;
  gap:36px;
}

body.page-project-ledo .ledo-next > div{
  max-width:760px;
}

body.page-project-ledo .ledo-next h2{
  font-family:"Anton", sans-serif;
  font-size:clamp(48px,6.5vw,108px);
  line-height:1;
  letter-spacing:-.035em;
  font-weight:400;
  color:var(--bone);
  max-width:18ch;
  margin:0;
  padding-bottom:.08em;
  overflow:visible;
  text-wrap:balance;
}

body.page-project-ledo .ledo-next h2 .faracs-dot{
  width:14px;
  height:14px;
  margin-left:8px;
  position:relative;
  bottom:0;
}

body.page-project-ledo .ledo-next p{
  margin-top:24px;
  max-width:520px;
  font-size:20px;
  line-height:1.7;
  color:rgba(244,241,234,.82);
}

@media(max-width:1100px){
  body.page-project-ledo .ledo-motion-grid{ grid-template-columns:repeat(2,minmax(0,1fr)); }
}

@media(max-width:980px){
  body.page-project-ledo main{ padding:180px 24px 90px; }
  body.page-project-ledo .ledo-hero,
  body.page-project-ledo .ledo-book-frame{
    grid-template-columns:1fr;
  }
  body.page-project-ledo .ledo-hero-visual{ min-height:620px; overflow:visible; }
  body.page-project-ledo .ledo-meta,
  body.page-project-ledo .ledo-copy-cols,
  body.page-project-ledo .ledo-system-grid,
  body.page-project-ledo .ledo-motion-grid{ grid-template-columns:1fr; }
  body.page-project-ledo .ledo-next{ flex-direction:column; align-items:flex-start; gap:30px; }
}

@media(max-width:620px){
  body.page-project-ledo main{ padding:150px 18px 70px; }
  body.page-project-ledo .ledo-title{ font-size:clamp(46px,16vw,74px); max-width:10.8ch; }
  body.page-project-ledo .project-kicker,
  body.page-project-ledo .section-kicker{ font-size:10px; letter-spacing:.22em; }
  body.page-project-ledo .ledo-hero{ gap:42px; padding-bottom:80px; }
  body.page-project-ledo .ledo-hero-visual{ min-height:500px; overflow:visible; }
  body.page-project-ledo .ledo-hero-book{ width:min(420px,88%); margin:0 auto; }
  body.page-project-ledo .ledo-editorial,
  body.page-project-ledo .ledo-section{ padding:90px 0; }
  body.page-project-ledo .ledo-book-frame{
    aspect-ratio:4 / 5;
    padding:28px;
    align-items:flex-end;
  }
  body.page-project-ledo .ledo-book-flat-bg{
    object-position:70% center;
  }
  body.page-project-ledo .ledo-book-copy{
    width:100%;
    padding:24px;
  }
  body.page-project-ledo .ledo-meta{ gap:10px; }
}


@media(max-width:760px){
  body.page-project-ledo .ledo-book-frame{
    aspect-ratio:4 / 5;
    align-items:flex-end;
  }
  body.page-project-ledo .ledo-book-flat-bg{
    object-position:70% center;
  }
  body.page-project-ledo .ledo-book-copy{
    width:100%;
  }
}









@media(max-width:1100px){
  body.page-project-ledo .ledo-motion-grid{ grid-template-columns:repeat(2,minmax(0,1fr)); }
}

@media(max-width:980px){
  body.page-project-ledo .ledo-world-tile{
    width:min(50vw, 360px);
    min-width:300px;
  }
  body.page-project-ledo .ledo-world-tile-media{ height:330px; }
}

@media(max-width:620px){
  body.page-project-ledo .ledo-world-tile{
    width:82vw;
    min-width:82vw;
  }
  body.page-project-ledo .ledo-world-tile-media{ height:300px; }
  body.page-project-ledo .ledo-scroller-footer{
    flex-direction:column;
    align-items:flex-start;
  }
}


body.page-project-ledo .ledo-website-showcase{
  position:relative;
  overflow:hidden;
  display:grid;
  grid-template-columns:1fr;
  gap:0;
  padding:18px;
  border:1px solid rgba(244,241,234,.08);
  background:linear-gradient(145deg,rgba(255,255,255,.028),rgba(255,255,255,.012));
  transition:transform .45s ease,border-color .45s ease,box-shadow .45s ease;
}

body.page-project-ledo .ledo-website-showcase:hover{
  transform:translateY(-6px);
  border-color:rgba(220,64,53,.42);
  box-shadow:0 0 95px rgba(220,64,53,.12),0 0 65px rgba(154,0,2,.1);
}

body.page-project-ledo .ledo-website-media{
  position:relative;
  width:100%;
  overflow:hidden;
}

body.page-project-ledo .ledo-browser-shell{
  position:relative;
  width:100%;
  overflow:hidden;
  border:1px solid rgba(244,241,234,.10);
  background:rgba(4,7,10,.96);
  box-shadow:0 24px 70px rgba(0,0,0,.42), 0 0 0 1px rgba(154,0,2,.10);
}

body.page-project-ledo .ledo-browser-topbar{
  display:flex;
  align-items:center;
  gap:14px;
  padding:12px 14px;
  border-bottom:1px solid rgba(244,241,234,.08);
  background:linear-gradient(180deg, rgba(255,255,255,.04), rgba(255,255,255,.01));
}

body.page-project-ledo .ledo-browser-controls{
  display:flex;
  align-items:center;
  gap:7px;
}

body.page-project-ledo .ledo-browser-controls span{
  width:10px;
  height:10px;
  border-radius:50%;
  background:rgba(244,241,234,.28);
}

body.page-project-ledo .ledo-browser-controls span:nth-child(1){ background:#ff5f57; }
body.page-project-ledo .ledo-browser-controls span:nth-child(2){ background:#febc2e; }
body.page-project-ledo .ledo-browser-controls span:nth-child(3){ background:#28c840; }

body.page-project-ledo .ledo-browser-topbar p{
  margin:0;
  font-family:"JetBrains Mono", monospace;
  font-size:10px;
  letter-spacing:.16em;
  text-transform:uppercase;
  color:rgba(244,241,234,.54);
}

body.page-project-ledo .ledo-browser-viewport{
  position:relative;
  aspect-ratio:16 / 9;
  overflow:hidden;
  background:#040608;
}

body.page-project-ledo .ledo-website-scroll-carousel{
  display:flex;
  flex-direction:column;
  height:100%;
  animation: ledoWebsiteScroll 20s cubic-bezier(.7,0,.3,1) infinite;
}

body.page-project-ledo .ledo-website-shot{
  flex:0 0 100%;
  width:100%;
  height:100%;
  margin:0;
}

body.page-project-ledo .ledo-website-shot img{
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center top;
  display:block;
  filter:brightness(.88) contrast(1.03) saturate(.96);
}

body.page-project-ledo .ledo-scroll-caption{
  position:absolute;
  left:20px;
  right:20px;
  bottom:18px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  padding:10px 14px;
  border:1px solid rgba(244,241,234,.08);
  background:rgba(3,6,8,.62);
  backdrop-filter: blur(10px);
}

body.page-project-ledo .ledo-scroll-caption span,
body.page-project-ledo .ledo-website-grid span{
  display:block;
  margin-bottom:0;
  font-family:"JetBrains Mono", monospace;
  font-size:10px;
  letter-spacing:.22em;
  text-transform:uppercase;
  color:var(--ledo-gold-light);
}

body.page-project-ledo .ledo-scroll-dots{
  display:flex;
  align-items:center;
  gap:8px;
}

body.page-project-ledo .ledo-scroll-dots i{
  display:block;
  width:7px;
  height:7px;
  border-radius:50%;
  background:rgba(244,241,234,.24);
  animation: ledoScrollDot 20s steps(1,end) infinite;
}
body.page-project-ledo .ledo-scroll-dots i:nth-child(2){ animation-delay:5s; }
body.page-project-ledo .ledo-scroll-dots i:nth-child(3){ animation-delay:10s; }
body.page-project-ledo .ledo-scroll-dots i:nth-child(4){ animation-delay:15s; }

@keyframes ledoWebsiteScroll{
  0%, 18%   { transform:translateY(0%); }
  23%, 43%  { transform:translateY(-100%); }
  48%, 68%  { transform:translateY(-200%); }
  73%, 93%  { transform:translateY(-300%); }
  100%      { transform:translateY(0%); }
}

@keyframes ledoScrollDot{
  0%, 18%   { background:var(--cinnabar); box-shadow:0 0 0 4px rgba(220,64,53,.12); }
  19%, 100% { background:rgba(244,241,234,.24); box-shadow:none; }
}

body.page-project-ledo .ledo-website-copy{
  position:relative;
  z-index:2;
  padding:42px;
  display:flex;
  flex-direction:column;
  justify-content:flex-end;
  background:linear-gradient(180deg,rgba(3,6,8,.74),rgba(3,6,8,.92));
}

body.page-project-ledo .ledo-website-copy span,
body.page-project-ledo .ledo-website-grid span{
  display:block;
  margin-bottom:12px;
  font-family:"JetBrains Mono", monospace;
  font-size:10px;
  letter-spacing:.22em;
  text-transform:uppercase;
  color:var(--ledo-gold-light);
}

body.page-project-ledo .ledo-website-copy h3{
  font-family:"Anton", sans-serif;
  font-size:clamp(34px,3vw,48px);
  line-height:1;
  letter-spacing:-.03em;
  font-weight:400;
  color:var(--bone);
  text-transform:uppercase;
}

body.page-project-ledo .ledo-website-copy p,
body.page-project-ledo .ledo-website-grid p{
  margin:18px 0 0;
  font-size:14px;
  line-height:1.7;
  color:rgba(244,241,234,.72);
}

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

body.page-project-ledo .ledo-website-grid article{
  min-height:220px;
  padding:30px;
  border:1px solid rgba(244,241,234,.08);
  background:linear-gradient(145deg,rgba(255,255,255,.028),rgba(255,255,255,.012));
  display:flex;
  flex-direction:column;
  justify-content:flex-end;
  transition:transform .45s ease,border-color .45s ease,box-shadow .45s ease;
}

body.page-project-ledo .ledo-website-grid article:hover{
  transform:translateY(-6px);
  border-color:rgba(220,64,53,.42);
  box-shadow:0 0 95px rgba(220,64,53,.12),0 0 65px rgba(154,0,2,.1);
}

body.page-project-ledo .ledo-website-grid strong{
  font-family:"Anton", sans-serif;
  font-size:32px;
  line-height:1;
  letter-spacing:-.025em;
  color:var(--bone);
  text-transform:uppercase;
  font-weight:400;
}

@media(max-width:980px){
  body.page-project-ledo .ledo-website-showcase{
    grid-template-columns:1fr;
    padding:14px;
  }

  body.page-project-ledo .ledo-browser-viewport{
    aspect-ratio:4 / 3;
  }

  body.page-project-ledo .ledo-website-grid{
    grid-template-columns:1fr;
  }
}

@media(max-width:620px){
  body.page-project-ledo .ledo-scroll-caption{
    left:12px;
    right:12px;
    bottom:12px;
    padding:8px 10px;
  }

  body.page-project-ledo .ledo-browser-topbar p{
    display:none;
  }

  body.page-project-ledo .ledo-website-copy{
    padding:28px;
  }
}

body.page-project-ledo .ledo-next .exit-cta{
  margin-top:0;
}


/* LEDO responsive safety */
@media(max-width:760px){
  body.page-project-ledo .ledo-world-scroller,
  body.page-project-ledo .ledo-website-showcase,
  body.page-project-ledo .ledo-browser-shell{
    max-width:100%;
  }

  body.page-project-ledo .ledo-section-head h2{
    overflow:visible;
  }
}
