/* EAS V7 — Forest philosophy section, deliberately understated background. */
.philosophy-v7{
  position:relative; isolation:isolate; overflow:hidden;
  padding-block:clamp(78px,7.8vw,128px) clamp(83px,7vw,116px);
  min-height:640px; border-block:1px solid rgba(50,151,226,.25);
  background:#001225;
}
.philosophy-v7::before{
  content:""; position:absolute; inset:-12px; z-index:-2; pointer-events:none;
  background:url('assets/philosophy-forest.webp') center 44%/cover no-repeat;
  /* The image is deliberately pushed BACK so typography is the hero. */
  filter:brightness(.64) contrast(.79) saturate(.73) blur(1.4px);
  transform:scale(1.024);
}
.philosophy-v7::after{
  content:""; position:absolute; inset:0; z-index:-1; pointer-events:none;
  background:
    linear-gradient(180deg,rgba(0,12,29,.54) 0%,rgba(0,13,32,.28) 34%,rgba(0,10,25,.42) 65%,rgba(0,9,23,.85) 100%),
    linear-gradient(90deg,rgba(0,10,25,.25),transparent 50%,rgba(0,12,29,.12));
}
.philosophy-v7>.container{position:relative; z-index:1; max-width:1340px}
.philosophy-v7 .section-heading.tight{margin:0 auto 46px; text-align:center}
.philosophy-v7 .eyebrow{letter-spacing:.34em;font-size:.76rem;color:#62cfff}
.philosophy-v7 h2{font-size:clamp(3.1rem,5.5vw,5.45rem);margin:15px 0 0;line-height:1.12}
.philosophy-v7 h2 em{color:#9fdcff}
.philosophy-v7 .section-heading.tight::after{
  content:"";width:min(500px,65%);height:1px;
  background:linear-gradient(90deg,transparent,rgba(73,199,255,.8) 48%,transparent);
  display:block;margin:28px auto 0;
}
.philosophy-v7 .philosophy-grid{
  display:grid;grid-template-columns:repeat(3,minmax(0,1fr));
  gap:19px;border:0;max-width:1250px;margin:auto;
}
.philosophy-v7 .principle,.philosophy-v7 .principle+.principle{
  min-width:0;min-height:276px; padding:34px 27px 29px;
  border:1px solid rgba(49,179,243,.57);
  border-radius:13px;
  background:rgba(0,13,32,.83);
  box-shadow:none; text-align:center;
  display:flex;align-items:center;flex-direction:column;justify-content:flex-start;
}
.philosophy-v7 .principle-icon{width:60px;height:60px;margin:0 0 18px;filter:none}
.philosophy-v7 .principle h3{
  color:#f5f9ff; font:700 clamp(.88rem,1vw,1rem)/1.35 var(--sans);
  letter-spacing:.17em;text-transform:uppercase; margin:0 0 20px;
}
.philosophy-v7 .principle p{
  color:#d9e5f4;font:400 clamp(.86rem,1.03vw,.97rem)/1.62 var(--sans);
  max-width:340px; margin:0;
}
@media(max-width:860px){
  .philosophy-v7{padding-block:73px 83px;min-height:0}
  .philosophy-v7 .section-heading.tight{margin-bottom:33px}
  .philosophy-v7 .philosophy-grid{gap:12px}
  .philosophy-v7 .principle,.philosophy-v7 .principle+.principle{min-height:290px;padding:27px 15px 22px}
  .philosophy-v7 .principle h3{font-size:.82rem;letter-spacing:.1em}
  .philosophy-v7 .principle p{font-size:.83rem}
  .philosophy-v7 .principle-icon{width:48px;height:48px}
}
@media(max-width:640px){
  .philosophy-v7{padding-block:67px 72px}
  .philosophy-v7::before{background-position:61% top;filter:brightness(.43) contrast(.78) saturate(.74) blur(1.1px)}
  .philosophy-v7::after{background:linear-gradient(180deg,rgba(0,11,27,.54),rgba(0,12,29,.57) 35%,rgba(0,9,24,.82) 100%)}
  .philosophy-v7 h2{font-size:clamp(2.75rem,9.2vw,4rem);line-height:1.08}
  .philosophy-v7 .section-heading.tight{margin-bottom:29px}
  .philosophy-v7 .section-heading.tight::after{margin-top:24px}
  .philosophy-v7 .philosophy-grid{display:grid;grid-template-columns:1fr;gap:13px}
  .philosophy-v7 .principle,.philosophy-v7 .principle+.principle{
    padding:24px 22px;min-height:0;border:1px solid rgba(49,179,243,.55);
  }
  .philosophy-v7 .principle-icon{width:45px;height:45px;margin-bottom:12px}
  .philosophy-v7 .principle h3{font-size:.93rem;letter-spacing:.13em;margin:0 0 10px}
  .philosophy-v7 .principle p{font-size:.9rem;line-height:1.55;max-width:350px}
}

/* V7.1: Approved founder portrait. Preserve the source photograph and understated styling. */
.founder-v6 .founder-photo-wrap{background:#001327}
.founder-v6 .founder-photo-wrap img{object-fit:cover;object-position:56% center;filter:none!important}
.founder-v6 .founder-photo-wrap::after{background:linear-gradient(90deg,transparent 58%,rgba(0,19,39,.28) 74%,#001327 100%),linear-gradient(0deg,#001327,transparent 19%),linear-gradient(180deg,#001327,transparent 12%)}
@media(max-width:860px){.founder-v6 .founder-photo-wrap img{object-position:54% center}}
@media(max-width:640px){.founder-v6 .founder-photo-wrap img{object-position:56% center}}

/* V7.2: A single LOT feature, no teaser navigation. */
.lot-reveal .films-v6-heading{align-items:center}
.lot-feature-single{width:100%;margin:0 auto}
.lot-logo-stage{background:#000;min-height:330px;display:flex;align-items:center;justify-content:center;border:1px solid rgba(75,131,161,.23);overflow:hidden;padding:18px 28px}
.lot-logo-stage img{display:block;width:min(100%,980px);height:auto;object-fit:contain}
.lot-feature-intro{padding:27px 8px 32px;text-align:center;max-width:820px;margin:auto}
.lot-feature-intro p{font-size:clamp(1rem,1.5vw,1.3rem);line-height:1.75;color:#d0dde5;margin:16px auto 0}
.lot-preview-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:11px}
.lot-preview-image{margin:0;background:#08101a;aspect-ratio:16/9;overflow:hidden;border:1px solid rgba(124,155,181,.22)}
.lot-preview-image img{width:100%;height:100%;object-fit:cover;display:block}
.lot-preview-note{text-align:center;color:#89b9c7;letter-spacing:.24em;font-size:.63rem;margin:27px 0 0}
@media(max-width:700px){.lot-preview-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.lot-logo-stage{min-height:220px;padding:7px}.lot-feature-intro{padding:24px 2px}.lot-preview-note{font-size:.54rem;letter-spacing:.13em}}

/* V7.3: preserve the entire approved wide founder portrait, including the filmmaking workspace. */
@media(min-width:861px){
 .founder-v6 .founder-grid{grid-template-columns:minmax(0,52%) minmax(0,48%);gap:clamp(24px,3vw,52px);align-items:center}
 .founder-v6 .founder-photo-wrap{height:auto;min-height:0;max-height:none;aspect-ratio:2048/1080;overflow:hidden}
 .founder-v6 .founder-photo-wrap img{width:100%;height:100%;object-fit:contain;object-position:center center}
 .founder-v6 .founder-photo-wrap::after{background:linear-gradient(90deg,transparent 86%,#001327 100%)}
}
@media(max-width:860px){
 .founder-v6 .founder-photo-wrap{height:auto;min-height:0;max-height:none;aspect-ratio:2048/877}
 .founder-v6 .founder-photo-wrap img{object-fit:contain;object-position:center center}
 .founder-v6 .founder-photo-wrap::after{background:linear-gradient(0deg,#001327,transparent 15%)}
}
/* Four project-neutral milestones, avoiding a premature announcement of Twelve. */
.progress-v6 .accomplishing-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(10px,1.5vw,24px)}
@media(max-width:980px){.progress-v6 .accomplishing-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:540px){.progress-v6 .accomplishing-grid{grid-template-columns:1fr}}


/* V8.1 / Founder refinement: let the CEO portrait bleed behind the copy.
   The photo should feel integrated into the section, with the text overlapping
   the image slightly while a dark gradient keeps the copy legible. */
@media(min-width:861px){
  .founder-v6 .founder-grid{
    grid-template-columns:minmax(0,56%) minmax(0,44%);
    gap:0;
    align-items:stretch;
  }
  .founder-v6 .founder-photo-wrap{
    aspect-ratio:auto;
    height:auto;
    min-height:540px;
    overflow:hidden;
    position:relative;
    z-index:1;
  }
  .founder-v6 .founder-photo-wrap img{
    width:100%;
    height:100%;
    object-fit:cover;
    object-position:56% center;
    transform:scaleX(-1);
  }
  .founder-v6 .founder-photo-wrap::after{
    background:
      linear-gradient(90deg,
        rgba(0,19,39,0) 0%,
        rgba(0,19,39,.08) 42%,
        rgba(0,19,39,.34) 58%,
        rgba(0,19,39,.72) 74%,
        rgba(0,19,39,.95) 86%,
        #001327 100%),
      linear-gradient(0deg,rgba(0,19,39,.92),transparent 28%),
      linear-gradient(180deg,rgba(0,19,39,.55),transparent 18%);
  }
  .founder-v6 .founder-body{
    position:relative;
    z-index:2;
    margin-left:-18%;
    padding:54px 0 48px 0;
    max-width:none;
  }
  .founder-v6 .founder-copy,
  .founder-v6 .achievement-list,
  .founder-v6 .founder-details{
    position:relative;
    padding-left:clamp(26px,3vw,42px);
    padding-right:0;
  }
  .founder-v6 .founder-copy{
    padding-top:8px;
    padding-bottom:8px;
    background:linear-gradient(90deg,
      rgba(0,19,39,.16) 0%,
      rgba(0,19,39,.40) 10%,
      rgba(0,19,39,.72) 22%,
      rgba(0,19,39,.93) 36%,
      rgba(0,19,39,.98) 52%,
      rgba(0,19,39,1) 100%);
    border-radius:0 0 0 0;
  }
  .founder-v6 .achievement-list,
  .founder-v6 .founder-details{
    background:linear-gradient(90deg,
      rgba(0,19,39,.20) 0%,
      rgba(0,19,39,.78) 16%,
      rgba(0,19,39,.98) 34%,
      rgba(0,19,39,1) 100%);
  }
}
@media(max-width:860px){
  .founder-v6 .founder-photo-wrap{aspect-ratio:2048/1080}
  .founder-v6 .founder-photo-wrap img{transform:none;object-fit:cover;object-position:54% center}
}


/* V11 — founder photography integrated with copy, based on approved page reference. */
@media (min-width: 861px) {
  .founder-v6 .founder-grid {
    position: relative;
    display: grid;
    grid-template-columns: 50% 50%;
    gap: 0;
    min-height: 545px;
  }
  .founder-v6 .founder-photo-wrap {
    position: absolute;
    z-index: 0;
    inset: 0 auto 0 0;
    width: 82%;
    height: 100%;
    min-height: 0;
    aspect-ratio: auto;
    background: transparent;
    overflow: hidden;
  }
  .founder-v6 .founder-photo-wrap img {
    width: 100%; height: 100%;
    object-fit: cover;
    object-position: center 47%;
    transform: scaleX(-1);
  }
  .founder-v6 .founder-photo-wrap::after {
    background:
      linear-gradient(90deg,transparent 0%,rgba(0,16,34,.08) 38%,rgba(0,16,34,.42) 56%,rgba(0,16,34,.85) 71%,#001327 90%),
      linear-gradient(0deg,rgba(0,19,39,.75),transparent 21%),
      linear-gradient(180deg,rgba(0,19,39,.35),transparent 15%);
  }
  .founder-v6 .founder-body {
    grid-column: 2;
    position: relative;
    z-index: 2;
    margin-left: -12%;
    padding: 42px 0 34px 0;
  }
  .founder-v6 .founder-copy,
  .founder-v6 .achievement-list,
  .founder-v6 .founder-details {
    padding-left: 0;
    background: none;
  }
  .founder-v6 .founder-copy h2 {font-size: clamp(2rem,3.1vw,3.1rem);}
  .founder-v6 .achievement-list {margin-top: 22px;}
}
@media (max-width: 860px) {
  .founder-v6 .founder-photo-wrap img {transform: none;}
}
/* Keep the new wide Cherub City view prominent while retaining readable milestone copy. */
@media (min-width: 981px) {
  .progress-v6 {min-height: 460px;}
  .progress-v6-inner {min-height: 460px;}
  .progress-v6-image {object-position: center 45%;}
}
.progress-v6-shade {
  background:
    linear-gradient(0deg,rgba(0,10,24,.99) 0%,rgba(0,11,27,.92) 22%,rgba(0,12,28,.58) 44%,rgba(0,13,32,.07) 85%),
    linear-gradient(90deg,rgba(0,9,24,.32),transparent 80%);
}

/* V13 — approved founder layout: a single uninterrupted cinematic image-to-type canvas. */
@media (min-width: 861px) {
  .founder-v6 { background:#001327; overflow:hidden; }
  .founder-v6 .container { max-width:none; width:100%; padding-inline:clamp(28px,3.2vw,72px); }
  .founder-v6 .founder-grid { position:relative; display:block; min-height:clamp(500px,35vw,650px); }
  .founder-v6 .founder-photo-wrap {
    position:absolute; inset:0 auto 0 calc(-1 * clamp(28px,3.2vw,72px));
    width:calc(83% + clamp(28px,3.2vw,72px));height:100%;min-height:0;
    max-height:none;aspect-ratio:auto;z-index:0;overflow:hidden;
  }
  .founder-v6 .founder-photo-wrap img {
    height:100%;width:100%;object-fit:cover;object-position:53% 48%;transform:scaleX(-1);
  }
  .founder-v6 .founder-photo-wrap::after {
    background:
      linear-gradient(90deg, transparent 0%,rgba(0,19,39,.05) 31%,rgba(0,19,39,.24) 47%,rgba(0,19,39,.68) 63%,#001327 83%),
      linear-gradient(0deg,#001327 0%,transparent 16%),
      linear-gradient(180deg,rgba(0,19,39,.20),transparent 15%);
  }
  .founder-v6 .founder-body {
    width:51%;margin:0 0 0 auto;position:relative;z-index:2;
    padding:clamp(38px,4vw,65px) 0 clamp(34px,3.5vw,57px);
  }
  .founder-v6 .founder-copy,.founder-v6 .achievement-list,.founder-v6 .founder-details {
    padding:0;background:transparent;
  }
  .founder-v6 .founder-copy h2 {font-size:clamp(2rem,3.2vw,3.65rem);line-height:1.09;}
  .founder-v6 .founder-copy h2 small {font-size:.55em;}
  .founder-v6 .founder-copy .founder-summary {max-width:950px;}
}
@media(min-width:861px) and (max-width:1160px){
  .founder-v6 .founder-body {width:55%;}
  .founder-v6 .founder-photo-wrap {width:85%;}
  .founder-v6 .founder-copy h2 {font-size:clamp(1.8rem,3vw,2.8rem);}
}
@media (max-width:860px){
  .founder-v6 .founder-grid {display:block;}
  .founder-v6 .founder-photo-wrap {aspect-ratio:16/8;height:auto;min-height:0;}
  .founder-v6 .founder-photo-wrap img {transform:scaleX(-1);object-fit:cover;object-position:54% 48%;}
  .founder-v6 .founder-photo-wrap::after {background:linear-gradient(0deg,#001327 0%,transparent 40%);}
  .founder-v6 .founder-body {margin:0;padding:18px 0 42px;}
}

/* V14 — clear, subtle animated active-section underline on desktop & mobile. */
.desktop-nav a{position:relative;padding-bottom:9px;transition:color .25s ease}
.desktop-nav a.current::after{display:none}
.desktop-nav a::after{content:"";position:absolute;left:0;right:0;bottom:0;height:2px;background:#55c5fc;transform:scaleX(0);transform-origin:center;transition:transform .26s ease;box-shadow:0 0 12px rgba(65,175,245,.38)}
.desktop-nav a.current::after{display:block;transform:scaleX(1)}
.mobile-nav a.current{color:#fff;border-bottom-color:#55c5fc}
@media(prefers-reduced-motion:reduce){.desktop-nav a::after{transition:none}}


/* V16: Editorial hierarchy, one headline scale across every section. */
:root{--eas-heading-size:clamp(2.25rem,3.05vw,3.30rem)}
.hero-content h1,
.about-film-text h2,
.philosophy-v7 h2,
.founder-v6 .founder-copy h2,
.films-v6-heading h2,
.progress-v6-heading h2{
  font-family:var(--serif);
  font-size:var(--eas-heading-size);
  line-height:1.12;
  letter-spacing:-.025em;
}
.hero-content h1{max-width:740px}
.about-film-text h2{max-width:680px;margin:0 0 7px}
.about-film-text .about-section-deck{
  font:italic clamp(1.28rem,1.95vw,1.95rem)/1.28 var(--serif);
  color:#e2eefb;margin:0 0 28px;
  max-width:650px;
}
.about-film-text p.about-standout{
  border-left:2px solid rgba(107,203,252,.68);
  padding:4px 0 4px 21px;
  margin:22px 0 0 10px;
  font-weight:400;
  line-height:1.65;
  color:#e5ecf5;
}
.about-film-text p.about-standout strong{display:inline-block;margin-top:6px;color:#fff;font-size:1.08em;font-weight:700}
.about-film-text p.about-manifesto{
  margin:36px auto 0;
  padding:18px 18px 0;
  border-left:0;
  border-top:1px solid rgba(107,203,252,.55);
  max-width:520px;
  text-align:center;
  color:#c8eaff;
  font:italic clamp(1.10rem,1.35vw,1.35rem)/1.5 var(--serif);
}
/* LOT poster collage: reference layout with a large untouched official logo. */
.lot-reveal .container.content-width{max-width:1740px;width:calc(100% - clamp(32px,5vw,90px));}
.lot-reveal .films-v6-heading{padding-inline:clamp(0px,14vw,275px);margin-bottom:26px;}
.lot-feature-collage{display:grid;grid-template-columns:minmax(0,20%) minmax(0,60%) minmax(0,20%);gap:8px;align-items:stretch;}
.lot-collage-side{display:grid;grid-template-rows:repeat(3,minmax(0,1fr));gap:9px;min-width:0;}
.lot-feature-collage .lot-preview-image{aspect-ratio:auto;margin:0;min-height:0;overflow:hidden;border:1px solid rgba(104,159,199,.16);background:#040c14;}
.lot-feature-collage .lot-preview-image img{width:100%;height:100%;object-fit:cover;display:block;}
.lot-feature-collage .lot-logo-stage{min-height:0;height:auto;aspect-ratio:auto;padding:0 14px;background:#000;display:flex;align-items:center;justify-content:center;border:1px solid rgba(104,159,199,.16);}
.lot-feature-collage .lot-logo-stage img{width:100%;max-width:none;height:100%;max-height:100%;object-fit:contain;}
.lot-feature-collage{height:clamp(380px,33.5vw,570px);}
.lot-feature-intro{max-width:930px;padding:30px 12px 6px;}
.lot-feature-intro p{margin:17px auto 0;font-size:clamp(1rem,1.12vw,1.18rem);line-height:1.72;}
.lot-preview-note{margin:19px 0 0}
@media(max-width:1000px){
 .lot-reveal .films-v6-heading{padding-inline:0}
 .lot-feature-collage{grid-template-columns:22% 56% 22%;height:clamp(330px,46vw,440px);gap:6px;}
 .lot-collage-side{gap:6px}
}
@media(max-width:700px){
 :root{--eas-heading-size:clamp(2rem,7.2vw,2.7rem)}
 .about-film-text .about-section-deck{font-size:clamp(1.25rem,5.1vw,1.65rem);margin-bottom:22px}
 .about-film-text p.about-standout{margin-left:0;padding-left:15px}
 .about-film-text p.about-manifesto{margin-top:26px}
 .lot-reveal .container.content-width{width:calc(100% - 28px)}
 .lot-feature-collage{grid-template-columns:1fr 1fr;grid-template-rows:auto auto;gap:7px;height:auto;}
 .lot-feature-collage .lot-logo-stage{grid-column:1/-1;grid-row:1;aspect-ratio:16/10;min-height:0;}
 .lot-feature-collage .lot-collage-left{grid-column:1;grid-row:2}
 .lot-feature-collage .lot-collage-right{grid-column:2;grid-row:2}
 .lot-collage-side{grid-template-rows:repeat(3,minmax(0,1fr));gap:7px}
 .lot-feature-collage .lot-preview-image{aspect-ratio:16/9;}
 .lot-feature-intro{padding:22px 0 8px}
 .lot-feature-intro p br{display:none}
}
