/* ============================================================
   LUEN MULTI-PAGE SYSTEM
   Shared styles for Services / Cases / Project Guide / About / Insights
   ============================================================ */

.luen-subpage{
  background:var(--luen-canvas)!important;
  color:var(--luen-ink)!important;
}
.luen-subpage main{
  min-height:70vh;
}
.luen-page-hero{
  position:relative;
  padding:clamp(96px,10vw,150px) 0 clamp(84px,8vw,128px);
  overflow:hidden;
  border-bottom:1px solid var(--luen-line);
}
.luen-page-hero::after{
  content:"";
  position:absolute;
  right:-12vw;
  top:-16vw;
  width:42vw;
  height:42vw;
  border-radius:50%;
  background:radial-gradient(circle,rgba(217,101,50,.12) 0,rgba(217,101,50,.04) 38%,rgba(217,101,50,0) 70%);
  pointer-events:none;
}
.luen-page-kicker{
  display:flex;
  align-items:center;
  gap:10px;
  margin:0 0 26px;
  color:var(--luen-orange);
  font:700 10px/1.2 var(--luen-type-ui);
  letter-spacing:.13em;
}
.luen-page-kicker::before{
  content:"";
  width:18px;
  height:1px;
  background:currentColor;
}
.luen-page-hero h1{
  max-width:970px;
  margin:0;
  color:var(--luen-ink);
  font:720 clamp(48px,6.1vw,86px)/.98 var(--luen-type-display);
  letter-spacing:-.06em;
  text-wrap:balance;
}
.luen-page-hero h1 em{
  color:var(--luen-orange);
  font-style:normal;
}
.luen-page-hero-copy{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(300px,.72fr);
  gap:clamp(42px,7vw,110px);
  margin-top:clamp(38px,5vw,68px);
  align-items:end;
}
.luen-page-hero-copy p{
  max-width:620px;
  margin:0;
  color:var(--luen-muted);
  font-size:15px;
  line-height:1.82;
}
.luen-page-actions{
  display:flex;
  flex-wrap:wrap;
  justify-content:flex-start;
  gap:10px;
}
.luen-page-actions .btn{
  min-height:50px;
  padding:0 22px;
}
.luen-page-index{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:20px;
  padding:18px 0;
  border-bottom:1px solid var(--luen-line);
  color:var(--luen-muted);
  font:700 9.5px/1 var(--luen-type-ui);
  letter-spacing:.1em;
  text-transform:uppercase;
}
.luen-page-section{
  padding:var(--luen-section-y) 0;
  border-bottom:1px solid var(--luen-line);
}
.luen-page-section--surface{
  background:var(--luen-surface);
}
.luen-page-section--ink{
  background:var(--luen-espresso);
  color:var(--luen-canvas);
}
.luen-page-head{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(300px,.7fr);
  gap:clamp(48px,8vw,120px);
  align-items:end;
  margin-bottom:clamp(48px,6vw,80px);
}
.luen-page-head-main{
  max-width:820px;
}
.luen-page-head h2{
  margin:0;
  color:var(--luen-ink);
  font:720 clamp(38px,4.4vw,60px)/1.04 var(--luen-type-display);
  letter-spacing:-.052em;
  text-wrap:balance;
}
.luen-page-head h2 em{
  color:var(--luen-orange);
  font-style:normal;
}
.luen-page-head>p,
.luen-page-head-main>p{
  max-width:620px;
  margin:18px 0 0;
  color:var(--luen-muted);
  font-size:14px;
  line-height:1.8;
}
.luen-page-section--ink .luen-page-head h2{
  color:var(--luen-canvas);
}
.luen-page-section--ink .luen-page-head>p,
.luen-page-section--ink .luen-page-head-main>p{
  color:rgba(245,243,238,.62);
}
.luen-page-section--ink .luen-page-kicker{
  color:var(--luen-orange-bright);
}

/* page navigation */
.luen-subpage #nav .logo{
  text-decoration:none;
}
.luen-subpage #nav .nav-links a[aria-current="page"]{
  color:var(--luen-orange)!important;
}
.luen-subpage .mobile-menu a[aria-current="page"]{
  color:var(--luen-orange)!important;
}

/* service hub */
.service-hub-list{
  border-top:1px solid var(--luen-line);
}
.service-hub-item{
  display:grid;
  grid-template-columns:110px minmax(0,.9fr) minmax(280px,.72fr) 150px;
  gap:clamp(18px,3vw,42px);
  align-items:center;
  min-height:190px;
  padding:26px 0;
  border-bottom:1px solid var(--luen-line);
}
.service-hub-item>span{
  color:var(--luen-orange);
  font:800 10px/1 var(--luen-type-ui);
  letter-spacing:.1em;
}
.service-hub-item h2{
  margin:0;
  color:var(--luen-ink);
  font:710 clamp(28px,3vw,42px)/1.08 var(--luen-type-display);
  letter-spacing:-.045em;
}
.service-hub-item p{
  margin:0;
  color:var(--luen-muted);
  font-size:13.5px;
  line-height:1.72;
}
.service-hub-item a{
  justify-self:end;
  display:inline-flex;
  align-items:center;
  min-height:40px;
  color:var(--luen-ink);
  border-bottom:1px solid rgba(17,16,14,.42);
  font:700 10.5px/1 var(--luen-type-ui);
  text-decoration:none;
}
.service-hub-item a:hover,
.service-hub-item a:focus-visible{
  color:var(--luen-orange);
  border-color:var(--luen-orange);
}
.service-hub-item--featured{
  position:relative;
}
.service-hub-item--featured::before{
  content:"";
  position:absolute;
  left:-22px;
  top:50%;
  width:7px;
  height:7px;
  margin-top:-3px;
  border-radius:50%;
  background:var(--luen-orange);
}
.service-principles{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  border-top:1px solid var(--luen-line);
}
.service-principle{
  min-height:260px;
  padding:30px 32px 30px 0;
  border-right:1px solid var(--luen-line);
}
.service-principle:nth-child(2){
  padding-left:32px;
}
.service-principle:nth-child(3){
  padding-left:32px;
  padding-right:0;
  border-right:0;
}
.service-principle span{
  display:block;
  margin-bottom:54px;
  color:var(--luen-orange);
  font:800 10px/1 var(--luen-type-ui);
}
.service-principle h3{
  margin:0;
  color:var(--luen-ink);
  font:700 25px/1.15 var(--luen-type-display);
  letter-spacing:-.035em;
}
.service-principle p{
  margin:18px 0 0;
  color:var(--luen-muted);
  font-size:13px;
  line-height:1.72;
}

/* proof metrics */
.luen-proof-strip{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  border-top:1px solid var(--luen-line);
  border-bottom:1px solid var(--luen-line);
}
.luen-proof-metric{
  padding:30px 30px 30px 0;
  border-right:1px solid var(--luen-line);
}
.luen-proof-metric:nth-child(2){padding-left:30px;}
.luen-proof-metric:nth-child(3){
  padding-left:30px;
  padding-right:0;
  border-right:0;
}
.luen-proof-metric span{
  display:block;
  margin-bottom:12px;
  color:var(--luen-muted-light);
  font:700 9px/1.2 var(--luen-type-ui);
  letter-spacing:.1em;
}
.luen-proof-metric strong{
  display:block;
  color:var(--luen-ink);
  font:780 clamp(34px,4vw,56px)/.95 var(--luen-type-ui);
  letter-spacing:-.04em;
}
.luen-proof-metric p{
  margin:12px 0 0;
  color:var(--luen-muted);
  font-size:12px;
}

/* challenge / decision criteria */
.jcm-criteria{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  border-top:1px solid var(--luen-line);
}
.jcm-criterion{
  min-height:230px;
  padding:30px clamp(24px,3vw,42px) 32px 0;
  border-bottom:1px solid var(--luen-line);
}
.jcm-criterion:nth-child(even){
  padding-left:clamp(24px,3vw,42px);
  padding-right:0;
  border-left:1px solid var(--luen-line);
}
.jcm-criterion span{
  color:var(--luen-orange);
  font:800 10px/1 var(--luen-type-ui);
}
.jcm-criterion h3{
  margin:34px 0 0;
  color:var(--luen-ink);
  font:700 clamp(24px,2.35vw,34px)/1.12 var(--luen-type-display);
  letter-spacing:-.04em;
}
.jcm-criterion p{
  max-width:510px;
  margin:18px 0 0;
  color:var(--luen-muted);
  font-size:13px;
  line-height:1.72;
}

/* capability list */
.jcm-capabilities{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  border-top:1px solid rgba(245,243,238,.16);
}
.jcm-capability{
  display:grid;
  grid-template-columns:58px minmax(0,1fr);
  gap:20px;
  min-height:154px;
  padding:26px 32px 26px 0;
  border-bottom:1px solid rgba(245,243,238,.16);
}
.jcm-capability:nth-child(even){
  padding-left:32px;
  padding-right:0;
  border-left:1px solid rgba(245,243,238,.16);
}
.jcm-capability>span{
  color:var(--luen-orange-bright);
  font:800 10px/1 var(--luen-type-ui);
}
.jcm-capability strong{
  display:block;
  color:var(--luen-canvas);
  font:700 18px/1.2 var(--luen-type-display);
}
.jcm-capability p{
  margin:10px 0 0;
  color:rgba(245,243,238,.58);
  font-size:12.5px;
  line-height:1.65;
}

/* flow */
.jcm-flow{
  display:grid;
  grid-template-columns:repeat(6,minmax(0,1fr));
  margin:0;
  padding:0;
  list-style:none;
  border-top:1px solid var(--luen-line);
}
.jcm-flow li{
  min-height:270px;
  padding:28px 18px;
  border-right:1px solid var(--luen-line);
}
.jcm-flow li:first-child{padding-left:0;}
.jcm-flow li:last-child{
  padding-right:0;
  border-right:0;
}
.jcm-flow span{
  display:block;
  margin-bottom:44px;
  color:var(--luen-orange);
  font:800 10px/1 var(--luen-type-ui);
}
.jcm-flow b{
  display:block;
  color:var(--luen-muted-light);
  font:700 9px/1.2 var(--luen-type-ui);
  letter-spacing:.08em;
}
.jcm-flow strong{
  display:block;
  margin-top:12px;
  color:var(--luen-ink);
  font:700 17px/1.25 var(--luen-type-display);
}
.jcm-flow p{
  margin:16px 0 0;
  color:var(--luen-muted);
  font-size:12px;
  line-height:1.62;
}

/* creator fit */
.jcm-creator-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:14px;
}
.jcm-creator-grid--two{grid-template-columns:repeat(2,minmax(0,1fr));}
.jcm-creator-grid--three{grid-template-columns:repeat(3,minmax(0,1fr));}
.jcm-creator-card{
  overflow:hidden;
  border:1px solid var(--luen-line);
  background:rgba(255,255,255,.28);
}
.jcm-creator-media{
  aspect-ratio:16/10;
  overflow:hidden;
  background:var(--luen-surface-strong);
}
.jcm-creator-media img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}
.jcm-creator-copy{
  padding:24px 22px 26px;
}
.jcm-creator-copy>span{
  color:var(--luen-orange);
  font:700 9px/1.2 var(--luen-type-ui);
  letter-spacing:.07em;
}
.jcm-creator-copy h3{
  margin:14px 0 0;
  color:var(--luen-ink);
  font:720 20px/1.18 var(--luen-type-display);
  letter-spacing:-.03em;
}
.jcm-creator-copy strong{
  display:block;
  margin-top:9px;
  color:var(--luen-ink-soft);
  font:700 12px/1.4 var(--luen-type-ui);
}
.jcm-creator-copy p{
  margin:16px 0 0;
  color:var(--luen-muted);
  font-size:12px;
  line-height:1.68;
}
.jcm-creator-note{
  margin:24px 0 0;
  color:var(--luen-muted);
  font-size:12px;
  line-height:1.65;
}

/* process */
.jcm-process{
  display:grid;
  grid-template-columns:repeat(6,minmax(0,1fr));
  border-top:1px solid var(--luen-line);
}
.jcm-process article{
  min-height:220px;
  padding:28px 18px;
  border-right:1px solid var(--luen-line);
}
.jcm-process article:first-child{padding-left:0;}
.jcm-process article:last-child{
  padding-right:0;
  border-right:0;
}
.jcm-process span{
  color:var(--luen-orange);
  font:800 10px/1 var(--luen-type-ui);
}
.jcm-process h3{
  margin:44px 0 0;
  color:var(--luen-ink);
  font:700 17px/1.24 var(--luen-type-display);
}
.jcm-process p{
  margin:14px 0 0;
  color:var(--luen-muted);
  font-size:11.5px;
  line-height:1.6;
}

/* budget / scope */
.jcm-scope-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  border-top:1px solid var(--luen-line);
}
.jcm-scope-card{
  min-height:280px;
  padding:30px 30px 30px 0;
  border-right:1px solid var(--luen-line);
}
.jcm-scope-card:nth-child(2){padding-left:30px;}
.jcm-scope-card:nth-child(3){
  padding-left:30px;
  padding-right:0;
  border-right:0;
}
.jcm-scope-card>span{
  color:var(--luen-orange);
  font:800 9.5px/1 var(--luen-type-ui);
}
.jcm-scope-card h3{
  margin:44px 0 0;
  color:var(--luen-ink);
  font:720 26px/1.12 var(--luen-type-display);
  letter-spacing:-.035em;
}
.jcm-scope-card p{
  margin:16px 0 0;
  color:var(--luen-muted);
  font-size:12.5px;
  line-height:1.68;
}
.jcm-scope-factors{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin-top:34px;
}
.jcm-scope-factors span{
  padding:8px 11px;
  border:1px solid var(--luen-line);
  border-radius:999px;
  color:var(--luen-muted);
  background:rgba(255,255,255,.24);
  font:650 9.5px/1 var(--luen-type-ui);
}

/* FAQ for subpages */
.luen-page-faq{
  border-top:1px solid var(--luen-line);
}
.luen-page-faq details{
  border-bottom:1px solid var(--luen-line);
}
.luen-page-faq summary{
  display:flex;
  justify-content:space-between;
  gap:24px;
  padding:24px 0;
  cursor:pointer;
  list-style:none;
  color:var(--luen-ink);
  font:700 16px/1.45 var(--luen-type-display);
}
.luen-page-faq summary::-webkit-details-marker{display:none;}
.luen-page-faq summary::after{
  content:"+";
  color:var(--luen-orange);
  font:500 20px/1 var(--luen-type-ui);
}
.luen-page-faq details[open] summary::after{content:"−";}
.luen-page-faq details p{
  max-width:800px;
  margin:0;
  padding:0 0 26px;
  color:var(--luen-muted);
  font-size:13px;
  line-height:1.75;
}

/* page CTA */
.luen-page-cta{
  padding:clamp(88px,9vw,138px) 0;
  background:var(--luen-orange);
  color:#fff8f1;
}
.luen-page-cta-grid{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:50px;
  align-items:end;
}
.luen-page-cta span{
  display:block;
  margin-bottom:24px;
  color:rgba(255,248,241,.72);
  font:700 10px/1.2 var(--luen-type-ui);
  letter-spacing:.12em;
}
.luen-page-cta h2{
  max-width:900px;
  margin:0;
  color:#fff8f1;
  font:720 clamp(40px,4.8vw,66px)/1.03 var(--luen-type-display);
  letter-spacing:-.055em;
}
.luen-page-cta p{
  max-width:680px;
  margin:22px 0 0;
  color:rgba(255,248,241,.78);
  font-size:14px;
  line-height:1.75;
}
.luen-page-cta .btn{
  min-height:54px;
  padding:0 24px;
  background:#fff8f1!important;
  color:var(--luen-orange)!important;
  border-color:#fff8f1!important;
}

/* breadcrumbs */
.luen-breadcrumbs{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  padding-top:26px;
  color:var(--luen-muted-light);
  font:650 9.5px/1.4 var(--luen-type-ui);
}
.luen-breadcrumbs a{
  color:inherit;
  text-decoration:none;
}
.luen-breadcrumbs a:hover{color:var(--luen-orange);}

/* footer adjustments on nested pages */
.luen-subpage footer .footer-links a{
  text-transform:none;
}
.luen-subpage footer .footer-business-info a{
  color:inherit;
}

@media(max-width:1100px){
  .service-hub-item{
    grid-template-columns:80px minmax(0,1fr) minmax(250px,.72fr) 120px;
  }
  .jcm-creator-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  .jcm-flow,
  .jcm-process{
    grid-template-columns:repeat(3,minmax(0,1fr));
  }
  .jcm-flow li:nth-child(3),
  .jcm-process article:nth-child(3){border-right:0;}
  .jcm-flow li:nth-child(n+4),
  .jcm-process article:nth-child(n+4){
    border-top:1px solid var(--luen-line);
  }
  .jcm-flow li:nth-child(4),
  .jcm-process article:nth-child(4){padding-left:0;}
}

@media(max-width:820px){
  .luen-page-hero-copy,
  .luen-page-head{
    grid-template-columns:1fr;
    gap:24px;
  }
  .service-hub-item{
    grid-template-columns:56px minmax(0,1fr);
    gap:18px 20px;
    padding:30px 0;
  }
  .service-hub-item p,
  .service-hub-item a{
    grid-column:2;
  }
  .service-hub-item a{
    justify-self:start;
  }
  .service-hub-item--featured::before{display:none;}
  .service-principles{
    grid-template-columns:1fr;
  }
  .service-principle,
  .service-principle:nth-child(2),
  .service-principle:nth-child(3){
    min-height:0;
    padding:28px 0;
    border-right:0;
    border-bottom:1px solid var(--luen-line);
  }
  .service-principle span{margin-bottom:28px;}
  .luen-proof-strip{
    grid-template-columns:1fr;
  }
  .luen-proof-metric,
  .luen-proof-metric:nth-child(2),
  .luen-proof-metric:nth-child(3){
    padding:24px 0;
    border-right:0;
    border-bottom:1px solid var(--luen-line);
  }
  .luen-page-cta-grid{
    grid-template-columns:1fr;
    align-items:start;
  }
}

@media(max-width:767px){
  .luen-page-hero{
    padding:72px 0 74px;
  }
  .luen-page-hero h1{
    font-size:clamp(42px,12vw,58px);
    line-height:1.01;
  }
  .luen-page-hero-copy{
    margin-top:30px;
  }
  .luen-page-hero-copy p{
    font-size:13.5px;
    line-height:1.72;
  }
  .luen-page-actions{
    width:100%;
  }
  .luen-page-actions .btn:first-child{
    width:100%;
    justify-content:center;
  }
  .luen-page-section{
    padding:78px 0;
  }
  .luen-page-head{
    margin-bottom:38px;
  }
  .luen-page-head h2{
    font-size:clamp(34px,10vw,44px);
  }
  .jcm-criteria,
  .jcm-capabilities,
  .jcm-scope-grid{
    grid-template-columns:1fr;
  }
  .jcm-criterion,
  .jcm-criterion:nth-child(even){
    min-height:0;
    padding:28px 0 30px;
    border-left:0;
  }
  .jcm-capability,
  .jcm-capability:nth-child(even){
    min-height:0;
    padding:24px 0;
    border-left:0;
  }
  .jcm-creator-grid{
    display:flex!important;
    grid-template-columns:none!important;
    overflow-x:auto;
    overflow-y:hidden;
    gap:12px;
    scroll-snap-type:x mandatory;
    scrollbar-width:none;
    margin-right:-18px;
    padding-right:18px;
  }
  .jcm-creator-grid::-webkit-scrollbar{display:none;}
  .jcm-creator-card{
    flex:0 0 82vw!important;
    width:82vw!important;
    min-width:280px!important;
    max-width:320px!important;
    scroll-snap-align:start;
  }
  .jcm-flow,
  .jcm-process{
    display:block;
  }
  .jcm-flow li,
  .jcm-flow li:first-child,
  .jcm-flow li:nth-child(4),
  .jcm-flow li:last-child,
  .jcm-process article,
  .jcm-process article:first-child,
  .jcm-process article:nth-child(4),
  .jcm-process article:last-child{
    min-height:0;
    padding:26px 0 28px 42px;
    border-right:0;
    border-top:0;
    border-bottom:1px solid var(--luen-line);
  }
  .jcm-flow span{
    margin-bottom:14px;
  }
  .jcm-process h3{
    margin-top:16px;
  }
  .jcm-scope-card,
  .jcm-scope-card:nth-child(2),
  .jcm-scope-card:nth-child(3){
    min-height:0;
    padding:28px 0;
    border-right:0;
    border-bottom:1px solid var(--luen-line);
  }
  .jcm-scope-card h3{
    margin-top:26px;
  }
  .luen-page-cta{
    padding:78px 0;
  }
  .luen-page-cta h2{
    font-size:clamp(36px,10vw,48px);
  }
}

@media(max-width:380px){
  .luen-page-hero h1{font-size:40px;}
  .service-hub-item{
    grid-template-columns:44px minmax(0,1fr);
  }
}


/* ============================================================
   CASE STUDIES
   ============================================================ */

.case-hub-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:14px;
}
.case-hub-card{
  display:flex;
  min-width:0;
  flex-direction:column;
  overflow:hidden;
  border:1px solid var(--luen-line);
  background:rgba(255,255,255,.3);
  color:var(--luen-ink);
  text-decoration:none;
  transition:transform .25s ease,border-color .25s ease,background .25s ease;
}
.case-hub-card:hover,
.case-hub-card:focus-visible{
  transform:translateY(-3px);
  border-color:rgba(217,101,50,.5);
  background:rgba(255,255,255,.5);
}
.case-hub-media{
  aspect-ratio:16/9;
  overflow:hidden;
  margin:0;
  background:var(--luen-surface-strong);
}
.case-hub-media img{
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
  transition:transform .45s ease;
}
.case-hub-card:hover .case-hub-media img{
  transform:scale(1.02);
}
.case-hub-copy{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:28px;
  padding:28px 26px 30px;
  align-items:end;
}
.case-hub-copy>div>span{
  display:block;
  margin-bottom:16px;
  color:var(--luen-orange);
  font:750 9.5px/1.25 var(--luen-type-ui);
  letter-spacing:.08em;
}
.case-hub-copy h2{
  margin:0;
  color:var(--luen-ink);
  font:720 clamp(24px,2.4vw,34px)/1.12 var(--luen-type-display);
  letter-spacing:-.04em;
}
.case-hub-copy p{
  max-width:520px;
  margin:16px 0 0;
  color:var(--luen-muted);
  font-size:12.5px;
  line-height:1.7;
}
.case-hub-result{
  min-width:115px;
  text-align:right;
}
.case-hub-result strong{
  display:block;
  color:var(--luen-ink);
  font:780 clamp(24px,2.6vw,38px)/1 var(--luen-type-ui);
  letter-spacing:-.04em;
}
.case-hub-result small{
  display:block;
  margin-top:8px;
  color:var(--luen-muted-light);
  font:700 8.5px/1.35 var(--luen-type-ui);
  letter-spacing:.08em;
}
.case-study-meta{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin-top:28px;
}
.case-study-meta span{
  padding:8px 11px;
  border:1px solid var(--luen-line);
  border-radius:999px;
  color:var(--luen-muted);
  background:rgba(255,255,255,.22);
  font:700 9px/1 var(--luen-type-ui);
  letter-spacing:.04em;
}
.case-study-visual{
  overflow:hidden;
  margin:0;
  border:1px solid var(--luen-line);
  background:var(--luen-surface-strong);
}
.case-study-visual img{
  display:block;
  width:100%;
  height:auto;
}
.case-study-visual--cinema{
  aspect-ratio:16/9;
}
.case-study-visual--cinema img{
  width:100%;
  height:100%;
  object-fit:cover;
}
.case-study-caption{
  display:flex;
  justify-content:space-between;
  gap:24px;
  padding:14px 0 0;
  color:var(--luen-muted-light);
  font:650 9px/1.5 var(--luen-type-ui);
  letter-spacing:.04em;
}
.case-study-summary{
  display:grid;
  grid-template-columns:minmax(0,.75fr) minmax(0,1.25fr);
  gap:clamp(46px,8vw,130px);
  border-top:1px solid var(--luen-line);
  padding-top:30px;
}
.case-study-summary>div>span{
  color:var(--luen-orange);
  font:750 9.5px/1 var(--luen-type-ui);
  letter-spacing:.08em;
}
.case-study-summary h3{
  margin:24px 0 0;
  color:var(--luen-ink);
  font:720 clamp(27px,3vw,42px)/1.08 var(--luen-type-display);
  letter-spacing:-.045em;
}
.case-study-summary p{
  margin:0;
  color:var(--luen-muted);
  font-size:14px;
  line-height:1.85;
}
.case-study-pop{
  display:grid;
  grid-template-columns:minmax(0,1.25fr) minmax(280px,.75fr);
  min-height:460px;
  overflow:hidden;
  border:1px solid var(--luen-line);
  background:var(--luen-surface);
}
.case-study-pop>img{
  display:block;
  width:100%;
  height:100%;
  min-height:460px;
  object-fit:cover;
}
.case-study-pop-copy{
  display:flex;
  flex-direction:column;
  justify-content:flex-end;
  padding:42px;
  border-left:1px solid var(--luen-line);
}
.case-study-pop-copy>span{
  color:var(--luen-orange);
  font:750 9.5px/1 var(--luen-type-ui);
  letter-spacing:.09em;
}
.case-study-pop-copy strong{
  margin-top:20px;
  color:var(--luen-ink);
  font:720 clamp(28px,3vw,42px)/1.08 var(--luen-type-display);
  letter-spacing:-.04em;
}
.case-study-pop-copy p{
  margin:20px 0 0;
  color:var(--luen-muted);
  font-size:13px;
  line-height:1.75;
}
.case-study-result-note{
  max-width:760px;
  margin:26px 0 0;
  color:var(--luen-muted);
  font-size:12px;
  line-height:1.75;
}
.case-study-next{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  border-top:1px solid var(--luen-line);
}
.case-study-next a{
  display:flex;
  min-height:150px;
  flex-direction:column;
  justify-content:space-between;
  padding:28px 30px 28px 0;
  color:var(--luen-ink);
  text-decoration:none;
}
.case-study-next a+ a{
  padding-left:30px;
  padding-right:0;
  border-left:1px solid var(--luen-line);
}
.case-study-next span{
  color:var(--luen-orange);
  font:750 9px/1 var(--luen-type-ui);
  letter-spacing:.08em;
}
.case-study-next strong{
  font:720 22px/1.15 var(--luen-type-display);
  letter-spacing:-.03em;
}
.case-study-next a:hover strong,
.case-study-next a:focus-visible strong{
  color:var(--luen-orange);
}

@media(max-width:820px){
  .case-hub-grid{
    grid-template-columns:1fr;
  }
  .case-study-summary{
    grid-template-columns:1fr;
    gap:28px;
  }
  .case-study-pop{
    grid-template-columns:1fr;
  }
  .case-study-pop-copy{
    border-left:0;
    border-top:1px solid var(--luen-line);
  }
}
@media(max-width:767px){
  .case-hub-copy{
    grid-template-columns:1fr;
    gap:22px;
    padding:24px 20px 26px;
  }
  .case-hub-result{
    text-align:left;
  }
  .case-study-caption{
    display:block;
  }
  .case-study-caption span{
    display:block;
    margin-top:6px;
  }
  .case-study-pop>img{
    min-height:300px;
  }
  .case-study-pop-copy{
    padding:28px 22px 30px;
  }
  .case-study-next{
    grid-template-columns:1fr;
  }
  .case-study-next a,
  .case-study-next a+a{
    min-height:130px;
    padding:24px 0;
    border-left:0;
    border-bottom:1px solid var(--luen-line);
  }
}


/* ============================================================
   PROJECT GUIDE
   ============================================================ */

.project-guide-intro-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  border-top:1px solid var(--luen-line);
}
.project-guide-intro-card{
  min-height:250px;
  padding:30px 32px 30px 0;
  border-right:1px solid var(--luen-line);
}
.project-guide-intro-card:nth-child(2){padding-left:32px;}
.project-guide-intro-card:nth-child(3){
  padding-left:32px;
  padding-right:0;
  border-right:0;
}
.project-guide-intro-card>span{
  display:block;
  margin-bottom:48px;
  color:var(--luen-orange);
  font:800 10px/1 var(--luen-type-ui);
  letter-spacing:.09em;
}
.project-guide-intro-card h3{
  margin:0;
  color:var(--luen-ink);
  font:720 25px/1.15 var(--luen-type-display);
  letter-spacing:-.04em;
}
.project-guide-intro-card p{
  margin:18px 0 0;
  color:var(--luen-muted);
  font-size:13px;
  line-height:1.75;
}

.project-guide-deliverables{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  border-top:1px solid rgba(245,243,238,.16);
}
.project-guide-deliverable{
  min-height:230px;
  padding:28px 30px 28px 0;
  border-right:1px solid rgba(245,243,238,.16);
  border-bottom:1px solid rgba(245,243,238,.16);
}
.project-guide-deliverable:nth-child(3n+2){padding-left:30px;}
.project-guide-deliverable:nth-child(3n){
  padding-left:30px;
  padding-right:0;
  border-right:0;
}
.project-guide-deliverable>span{
  color:var(--luen-orange-bright);
  font:800 9.5px/1 var(--luen-type-ui);
}
.project-guide-deliverable h3{
  margin:38px 0 0;
  color:var(--luen-canvas);
  font:720 20px/1.2 var(--luen-type-display);
  letter-spacing:-.03em;
}
.project-guide-deliverable p{
  margin:14px 0 0;
  color:rgba(245,243,238,.6);
  font-size:12.5px;
  line-height:1.7;
}

.project-guide-docs{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:16px;
  max-width:1040px;
  margin:0 auto;
}
.project-guide-doc{
  margin:0;
  padding:14px;
  border:1px solid var(--luen-line);
  background:rgba(255,255,255,.35);
}
.project-guide-doc img{
  display:block;
  width:100%;
  height:auto;
  aspect-ratio:935/1210;
  object-fit:cover;
}
.project-guide-doc figcaption{
  display:flex;
  justify-content:space-between;
  gap:20px;
  padding:14px 2px 2px;
  color:var(--luen-muted);
  font:700 9px/1.4 var(--luen-type-ui);
  letter-spacing:.06em;
}
.project-guide-doc figcaption span:last-child{
  color:var(--luen-orange);
}

.project-guide-timeline{
  display:grid;
  grid-template-columns:repeat(5,minmax(0,1fr));
  border-top:1px solid var(--luen-line);
}
.project-guide-timeline article{
  min-height:250px;
  padding:28px 20px;
  border-right:1px solid var(--luen-line);
}
.project-guide-timeline article:first-child{padding-left:0;}
.project-guide-timeline article:last-child{
  padding-right:0;
  border-right:0;
}
.project-guide-timeline span{
  display:block;
  color:var(--luen-orange);
  font:800 10px/1 var(--luen-type-ui);
}
.project-guide-timeline b{
  display:block;
  margin-top:46px;
  color:var(--luen-ink);
  font:720 18px/1.2 var(--luen-type-display);
}
.project-guide-timeline p{
  margin:15px 0 0;
  color:var(--luen-muted);
  font-size:12px;
  line-height:1.7;
}

.project-guide-budget{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  border-top:1px solid var(--luen-line);
}
.project-guide-budget article{
  min-height:285px;
  padding:30px 24px;
  border-right:1px solid var(--luen-line);
}
.project-guide-budget article:first-child{padding-left:0;}
.project-guide-budget article:last-child{
  padding-right:0;
  border-right:0;
}
.project-guide-budget span{
  display:block;
  color:var(--luen-orange);
  font:800 9.5px/1 var(--luen-type-ui);
  letter-spacing:.06em;
}
.project-guide-budget h3{
  margin:48px 0 0;
  color:var(--luen-ink);
  font:720 24px/1.13 var(--luen-type-display);
  letter-spacing:-.035em;
}
.project-guide-budget p{
  margin:16px 0 0;
  color:var(--luen-muted);
  font-size:12.5px;
  line-height:1.7;
}

.project-guide-factors{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  border-top:1px solid var(--luen-line);
}
.project-guide-factor{
  display:grid;
  grid-template-columns:72px minmax(0,1fr);
  gap:20px;
  min-height:120px;
  padding:24px 32px 24px 0;
  border-bottom:1px solid var(--luen-line);
}
.project-guide-factor:nth-child(even){
  padding-left:32px;
  padding-right:0;
  border-left:1px solid var(--luen-line);
}
.project-guide-factor>span{
  color:var(--luen-orange);
  font:800 10px/1 var(--luen-type-ui);
}
.project-guide-factor strong{
  display:block;
  color:var(--luen-ink);
  font:720 17px/1.2 var(--luen-type-display);
}
.project-guide-factor p{
  margin:10px 0 0;
  color:var(--luen-muted);
  font-size:12px;
  line-height:1.65;
}

.project-guide-ready{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  border-top:1px solid var(--luen-line);
  border-bottom:1px solid var(--luen-line);
}
.project-guide-ready article{
  min-height:160px;
  padding:26px 24px;
  border-right:1px solid var(--luen-line);
}
.project-guide-ready article:first-child{padding-left:0;}
.project-guide-ready article:last-child{
  padding-right:0;
  border-right:0;
}
.project-guide-ready span{
  color:var(--luen-orange);
  font:800 9px/1 var(--luen-type-ui);
}
.project-guide-ready strong{
  display:block;
  margin-top:28px;
  color:var(--luen-ink);
  font:720 17px/1.25 var(--luen-type-display);
}
.project-guide-ready p{
  margin:10px 0 0;
  color:var(--luen-muted);
  font-size:11.5px;
  line-height:1.6;
}

.luen-home-flow-cta{
  display:inline-flex;
  align-items:center;
  min-height:40px;
  margin-top:34px;
  border-bottom:1px solid rgba(17,16,14,.42);
  color:var(--luen-ink-soft);
  font:700 10.5px/1 var(--luen-type-ui);
  letter-spacing:.03em;
  text-decoration:none;
}
.luen-home-flow-cta:hover,
.luen-home-flow-cta:focus-visible{
  color:var(--luen-orange);
  border-color:var(--luen-orange);
}

@media(max-width:1100px){
  .project-guide-budget{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  .project-guide-budget article:nth-child(2){border-right:0;}
  .project-guide-budget article:nth-child(n+3){border-top:1px solid var(--luen-line);}
  .project-guide-budget article:nth-child(3){padding-left:0;}
}
@media(max-width:820px){
  .project-guide-intro-grid,
  .project-guide-deliverables{
    grid-template-columns:1fr;
  }
  .project-guide-intro-card,
  .project-guide-intro-card:nth-child(2),
  .project-guide-intro-card:nth-child(3){
    min-height:0;
    padding:28px 0;
    border-right:0;
    border-bottom:1px solid var(--luen-line);
  }
  .project-guide-intro-card>span{margin-bottom:26px;}

  .project-guide-deliverable,
  .project-guide-deliverable:nth-child(3n+2),
  .project-guide-deliverable:nth-child(3n){
    min-height:0;
    padding:26px 0;
    border-right:0;
    border-left:0;
  }
  .project-guide-deliverable h3{margin-top:24px;}

  .project-guide-timeline{
    grid-template-columns:1fr;
  }
  .project-guide-timeline article,
  .project-guide-timeline article:first-child,
  .project-guide-timeline article:last-child{
    min-height:0;
    padding:26px 0 28px 44px;
    border-right:0;
    border-bottom:1px solid var(--luen-line);
  }
  .project-guide-timeline b{margin-top:14px;}

  .project-guide-factors{
    grid-template-columns:1fr;
  }
  .project-guide-factor,
  .project-guide-factor:nth-child(even){
    min-height:0;
    padding:24px 0;
    border-left:0;
  }
}
@media(max-width:767px){
  .project-guide-docs{
    grid-template-columns:1fr;
    gap:12px;
  }
  .project-guide-budget{
    grid-template-columns:1fr;
  }
  .project-guide-budget article,
  .project-guide-budget article:first-child,
  .project-guide-budget article:nth-child(3),
  .project-guide-budget article:last-child{
    min-height:0;
    padding:28px 0;
    border-right:0;
    border-top:0;
    border-bottom:1px solid var(--luen-line);
  }
  .project-guide-budget h3{margin-top:26px;}

  .project-guide-ready{
    grid-template-columns:1fr;
  }
  .project-guide-ready article,
  .project-guide-ready article:first-child,
  .project-guide-ready article:last-child{
    min-height:0;
    padding:24px 0;
    border-right:0;
    border-bottom:1px solid var(--luen-line);
  }
  .project-guide-ready strong{margin-top:16px;}
}


/* ============================================================
   ABOUT + CONTACT
   ============================================================ */

.about-identity{
  display:grid;
  grid-template-columns:minmax(0,.78fr) minmax(0,1.22fr);
  gap:clamp(48px,8vw,130px);
  align-items:start;
  border-top:1px solid var(--luen-line);
  padding-top:34px;
}
.about-identity-mark span{
  display:block;
  color:var(--luen-orange);
  font:800 9.5px/1 var(--luen-type-ui);
  letter-spacing:.09em;
}
.about-identity-mark strong{
  display:block;
  margin-top:22px;
  color:var(--luen-ink);
  font:760 clamp(46px,7vw,92px)/.9 var(--luen-type-display);
  letter-spacing:-.065em;
}
.about-identity-copy h3{
  margin:0;
  color:var(--luen-ink);
  font:720 clamp(28px,3.6vw,48px)/1.08 var(--luen-type-display);
  letter-spacing:-.045em;
}
.about-identity-copy p{
  max-width:720px;
  margin:24px 0 0;
  color:var(--luen-muted);
  font-size:14px;
  line-height:1.85;
}

.about-bridge{
  display:grid;
  grid-template-columns:minmax(180px,1fr) minmax(44px,.22fr) minmax(180px,1fr) minmax(44px,.22fr) minmax(180px,1fr);
  align-items:center;
  min-height:220px;
  border-top:1px solid var(--luen-line);
  border-bottom:1px solid var(--luen-line);
}
.about-bridge-node{
  display:flex;
  min-height:150px;
  flex-direction:column;
  justify-content:center;
  padding:30px;
  text-align:center;
}
.about-bridge-node span{
  color:var(--luen-orange);
  font:800 9px/1 var(--luen-type-ui);
  letter-spacing:.09em;
}
.about-bridge-node strong{
  margin-top:18px;
  color:var(--luen-ink);
  font:720 22px/1.18 var(--luen-type-display);
}
.about-bridge-node small{
  margin-top:9px;
  color:var(--luen-muted);
  font-size:11.5px;
  line-height:1.5;
}
.about-bridge-node--luen{
  min-height:178px;
  border:1px solid rgba(217,101,50,.34);
  background:rgba(255,255,255,.36);
}
.about-bridge-node--luen strong{
  color:var(--luen-orange);
  font-size:34px;
}
.about-bridge-arrow{
  height:1px;
  background:var(--luen-line-strong);
  position:relative;
}
.about-bridge-arrow::after{
  content:"";
  position:absolute;
  right:0;
  top:50%;
  width:7px;
  height:7px;
  border-top:1px solid var(--luen-muted-light);
  border-right:1px solid var(--luen-muted-light);
  transform:translateY(-50%) rotate(45deg);
}

.about-principles{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  border-top:1px solid var(--luen-line);
}
.about-principle{
  min-height:300px;
  padding:30px 26px;
  border-right:1px solid var(--luen-line);
}
.about-principle:first-child{padding-left:0;}
.about-principle:last-child{
  padding-right:0;
  border-right:0;
}
.about-principle>span{
  display:block;
  color:var(--luen-orange);
  font:800 9.5px/1 var(--luen-type-ui);
  letter-spacing:.08em;
}
.about-principle h3{
  margin:56px 0 0;
  color:var(--luen-ink);
  font:720 23px/1.12 var(--luen-type-display);
  letter-spacing:-.035em;
}
.about-principle p{
  margin:16px 0 0;
  color:var(--luen-muted);
  font-size:12.5px;
  line-height:1.72;
}

.about-platforms{
  display:grid;
  grid-template-columns:repeat(5,minmax(0,1fr));
  border-top:1px solid rgba(245,243,238,.16);
  border-bottom:1px solid rgba(245,243,238,.16);
}
.about-platform{
  min-height:190px;
  padding:28px 24px;
  border-right:1px solid rgba(245,243,238,.16);
}
.about-platform:first-child{padding-left:0;}
.about-platform:last-child{
  padding-right:0;
  border-right:0;
}
.about-platform span{
  color:var(--luen-orange-bright);
  font:800 9px/1 var(--luen-type-ui);
}
.about-platform strong{
  display:block;
  margin-top:34px;
  color:var(--luen-canvas);
  font:720 20px/1.15 var(--luen-type-display);
}
.about-platform p{
  margin:12px 0 0;
  color:rgba(245,243,238,.6);
  font-size:11.5px;
  line-height:1.6;
}

.about-operating-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  border-top:1px solid var(--luen-line);
}
.about-operating-grid article{
  min-height:220px;
  padding:28px 30px;
  border-right:1px solid var(--luen-line);
  border-bottom:1px solid var(--luen-line);
}
.about-operating-grid article:nth-child(3n+1){padding-left:0;}
.about-operating-grid article:nth-child(3n){
  padding-right:0;
  border-right:0;
}
.about-operating-grid span{
  color:var(--luen-orange);
  font:800 9px/1 var(--luen-type-ui);
}
.about-operating-grid h3{
  margin:34px 0 0;
  color:var(--luen-ink);
  font:720 19px/1.18 var(--luen-type-display);
}
.about-operating-grid p{
  margin:13px 0 0;
  color:var(--luen-muted);
  font-size:12px;
  line-height:1.7;
}

.contact-page-layout{
  display:grid;
  grid-template-columns:minmax(0,.72fr) minmax(0,1.28fr);
  gap:clamp(44px,8vw,120px);
  align-items:start;
}
.contact-page-aside{
  position:sticky;
  top:110px;
}
.contact-page-aside>span{
  color:var(--luen-orange);
  font:800 9.5px/1 var(--luen-type-ui);
  letter-spacing:.09em;
}
.contact-page-aside h2{
  margin:24px 0 0;
  color:var(--luen-ink);
  font:720 clamp(30px,4vw,52px)/1.06 var(--luen-type-display);
  letter-spacing:-.05em;
}
.contact-page-aside>p{
  margin:24px 0 0;
  color:var(--luen-muted);
  font-size:13.5px;
  line-height:1.8;
}
.contact-page-ready{
  margin-top:38px;
  border-top:1px solid var(--luen-line);
}
.contact-page-ready article{
  display:grid;
  grid-template-columns:42px minmax(0,1fr);
  gap:14px;
  padding:18px 0;
  border-bottom:1px solid var(--luen-line);
}
.contact-page-ready span{
  color:var(--luen-orange);
  font:800 9px/1 var(--luen-type-ui);
}
.contact-page-ready strong{
  display:block;
  color:var(--luen-ink);
  font:700 13.5px/1.35 var(--luen-type-display);
}
.contact-page-ready p{
  margin:5px 0 0;
  color:var(--luen-muted);
  font-size:11.5px;
  line-height:1.55;
}
.contact-page-form{
  padding:30px;
  border:1px solid var(--luen-line);
  background:rgba(255,255,255,.34);
}
.contact-page-form .contact-form{
  width:100%;
  max-width:none;
}

.contact-after{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  border-top:1px solid var(--luen-line);
}
.contact-after article{
  min-height:210px;
  padding:28px 30px;
  border-right:1px solid var(--luen-line);
}
.contact-after article:first-child{padding-left:0;}
.contact-after article:last-child{
  padding-right:0;
  border-right:0;
}
.contact-after span{
  color:var(--luen-orange);
  font:800 9px/1 var(--luen-type-ui);
}
.contact-after h3{
  margin:34px 0 0;
  color:var(--luen-ink);
  font:720 20px/1.18 var(--luen-type-display);
}
.contact-after p{
  margin:13px 0 0;
  color:var(--luen-muted);
  font-size:12px;
  line-height:1.68;
}

.luen-home-about-cta{
  display:inline-flex;
  align-items:center;
  min-height:38px;
  margin-top:28px;
  border-bottom:1px solid rgba(17,16,14,.42);
  color:var(--luen-ink-soft);
  font:700 10px/1 var(--luen-type-ui);
  letter-spacing:.03em;
  text-decoration:none;
}
.luen-home-about-cta:hover,
.luen-home-about-cta:focus-visible{
  color:var(--luen-orange);
  border-color:var(--luen-orange);
}

@media(max-width:1050px){
  .about-principles{grid-template-columns:repeat(2,minmax(0,1fr));}
  .about-principle:nth-child(2){border-right:0;}
  .about-principle:nth-child(n+3){border-top:1px solid var(--luen-line);}
  .about-principle:nth-child(3){padding-left:0;}

  .about-platforms{grid-template-columns:repeat(3,minmax(0,1fr));}
  .about-platform:nth-child(3){border-right:0;}
  .about-platform:nth-child(n+4){border-top:1px solid rgba(245,243,238,.16);}
  .about-platform:nth-child(4){padding-left:0;}

  .contact-page-layout{grid-template-columns:1fr;}
  .contact-page-aside{position:static;}
}
@media(max-width:820px){
  .about-identity{
    grid-template-columns:1fr;
    gap:34px;
  }
  .about-bridge{
    grid-template-columns:1fr;
    gap:0;
    padding:20px 0;
  }
  .about-bridge-node,
  .about-bridge-node--luen{
    min-height:130px;
  }
  .about-bridge-arrow{
    width:1px;
    height:38px;
    margin:auto;
  }
  .about-bridge-arrow::after{
    right:50%;
    top:auto;
    bottom:0;
    transform:translateX(50%) rotate(135deg);
  }
  .about-operating-grid{grid-template-columns:1fr;}
  .about-operating-grid article,
  .about-operating-grid article:nth-child(3n+1),
  .about-operating-grid article:nth-child(3n){
    min-height:0;
    padding:26px 0;
    border-right:0;
  }
  .contact-after{grid-template-columns:1fr;}
  .contact-after article,
  .contact-after article:first-child,
  .contact-after article:last-child{
    min-height:0;
    padding:26px 0;
    border-right:0;
    border-bottom:1px solid var(--luen-line);
  }
}
@media(max-width:767px){
  .about-principles,
  .about-platforms{
    grid-template-columns:1fr;
  }
  .about-principle,
  .about-principle:first-child,
  .about-principle:last-child,
  .about-principle:nth-child(3){
    min-height:0;
    padding:26px 0;
    border-right:0;
    border-top:0;
    border-bottom:1px solid var(--luen-line);
  }
  .about-principle h3{margin-top:24px;}

  .about-platform,
  .about-platform:first-child,
  .about-platform:last-child,
  .about-platform:nth-child(4){
    min-height:0;
    padding:24px 0;
    border-right:0;
    border-top:0;
    border-bottom:1px solid rgba(245,243,238,.16);
  }
  .about-platform strong{margin-top:20px;}

  .contact-page-form{padding:18px 14px;}
}


/* ============================================================
   INSIGHTS HUB + ARTICLES
   ============================================================ */

.insights-hero-note{
  margin-top:28px;
  padding-top:18px;
  border-top:1px solid var(--luen-line);
  color:var(--luen-muted);
  font:700 10px/1.5 var(--luen-type-ui);
  letter-spacing:.05em;
}
.insights-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  border-top:1px solid var(--luen-line);
}
.insight-card{
  display:flex;
  flex-direction:column;
  min-height:360px;
  padding:30px 34px 30px 0;
  border-right:1px solid var(--luen-line);
  border-bottom:1px solid var(--luen-line);
  text-decoration:none;
}
.insight-card:nth-child(even){
  padding-left:34px;
  padding-right:0;
  border-right:0;
}
.insight-card>span{
  color:var(--luen-orange);
  font:800 9.5px/1 var(--luen-type-ui);
  letter-spacing:.08em;
}
.insight-card h2,
.insight-card h3{
  margin:54px 0 0;
  max-width:620px;
  color:var(--luen-ink);
  font:720 clamp(25px,3vw,38px)/1.12 var(--luen-type-display);
  letter-spacing:-.045em;
}
.insight-card p{
  margin:18px 0 0;
  max-width:620px;
  color:var(--luen-muted);
  font-size:13px;
  line-height:1.75;
}
.insight-card small{
  display:block;
  margin-top:auto;
  padding-top:34px;
  color:var(--luen-ink-soft);
  font:750 10px/1.2 var(--luen-type-ui);
}
.insight-card:last-child:nth-child(odd){
  grid-column:1/-1;
  min-height:300px;
  padding-right:0;
  border-right:0;
}
.insight-card:hover h2,
.insight-card:hover h3,
.insight-card:focus-visible h2,
.insight-card:focus-visible h3{color:var(--luen-orange);}

.insights-topic-strip{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  border-top:1px solid rgba(245,243,238,.16);
  border-bottom:1px solid rgba(245,243,238,.16);
}
.insights-topic-strip article{
  min-height:190px;
  padding:28px 24px;
  border-right:1px solid rgba(245,243,238,.16);
}
.insights-topic-strip article:first-child{padding-left:0;}
.insights-topic-strip article:last-child{
  padding-right:0;
  border-right:0;
}
.insights-topic-strip span{
  color:var(--luen-orange-bright);
  font:800 9px/1 var(--luen-type-ui);
}
.insights-topic-strip strong{
  display:block;
  margin-top:34px;
  color:var(--luen-canvas);
  font:720 19px/1.2 var(--luen-type-display);
}
.insights-topic-strip p{
  margin:12px 0 0;
  color:rgba(245,243,238,.6);
  font-size:11.5px;
  line-height:1.62;
}

.insight-article-hero{
  padding:clamp(76px,10vw,136px) 0 clamp(64px,8vw,108px);
}
.insight-article-hero .container{
  display:grid;
  grid-template-columns:minmax(0,1.22fr) minmax(280px,.62fr);
  gap:clamp(48px,9vw,140px);
  align-items:end;
}
.insight-article-hero h1{
  margin:22px 0 0;
  max-width:900px;
  color:var(--luen-ink);
  font:720 clamp(42px,6.7vw,88px)/.98 var(--luen-type-display);
  letter-spacing:-.06em;
}
.insight-article-hero h1 em{
  color:var(--luen-orange);
  font-style:normal;
}
.insight-article-meta{
  border-top:1px solid var(--luen-line);
  padding-top:20px;
}
.insight-article-meta p{
  margin:0;
  color:var(--luen-muted);
  font-size:13px;
  line-height:1.8;
}
.insight-article-meta dl{
  display:grid;
  gap:10px;
  margin:24px 0 0;
}
.insight-article-meta div{
  display:grid;
  grid-template-columns:90px minmax(0,1fr);
  gap:14px;
}
.insight-article-meta dt{
  color:var(--luen-orange);
  font:800 9px/1.4 var(--luen-type-ui);
  letter-spacing:.06em;
}
.insight-article-meta dd{
  margin:0;
  color:var(--luen-ink-soft);
  font:650 10.5px/1.45 var(--luen-type-ui);
}

.insight-article-shell{
  display:grid;
  grid-template-columns:minmax(190px,.42fr) minmax(0,1.58fr);
  gap:clamp(44px,8vw,120px);
  align-items:start;
}
.insight-toc{
  position:sticky;
  top:110px;
  padding-top:4px;
}
.insight-toc>span{
  color:var(--luen-orange);
  font:800 9px/1 var(--luen-type-ui);
  letter-spacing:.08em;
}
.insight-toc ol{
  list-style:none;
  padding:0;
  margin:20px 0 0;
  border-top:1px solid var(--luen-line);
}
.insight-toc li{border-bottom:1px solid var(--luen-line);}
.insight-toc a{
  display:block;
  padding:13px 0;
  color:var(--luen-muted);
  font:650 10.5px/1.45 var(--luen-type-ui);
  text-decoration:none;
}
.insight-toc a:hover,
.insight-toc a:focus-visible{color:var(--luen-orange);}

.insight-body{
  min-width:0;
  max-width:860px;
}
.insight-lead{
  margin:0 0 62px;
  padding:0 0 34px;
  border-bottom:1px solid var(--luen-line);
  color:var(--luen-ink);
  font:620 clamp(19px,2.3vw,27px)/1.55 var(--luen-type-display);
  letter-spacing:-.025em;
}
.insight-section{
  padding:0 0 66px;
  margin:0 0 66px;
  border-bottom:1px solid var(--luen-line);
}
.insight-section:last-child{margin-bottom:0;}
.insight-section>span{
  display:block;
  margin-bottom:16px;
  color:var(--luen-orange);
  font:800 9.5px/1 var(--luen-type-ui);
  letter-spacing:.08em;
}
.insight-section h2{
  margin:0;
  color:var(--luen-ink);
  font:720 clamp(28px,4vw,48px)/1.08 var(--luen-type-display);
  letter-spacing:-.05em;
}
.insight-section h3{
  margin:38px 0 0;
  color:var(--luen-ink);
  font:720 20px/1.2 var(--luen-type-display);
  letter-spacing:-.03em;
}
.insight-section p{
  margin:18px 0 0;
  color:var(--luen-muted);
  font-size:14px;
  line-height:1.9;
}
.insight-section ul,
.insight-section ol{
  margin:20px 0 0;
  padding-left:20px;
  color:var(--luen-muted);
  font-size:13.5px;
  line-height:1.85;
}
.insight-section li+li{margin-top:8px;}

.insight-callout{
  margin:30px 0 0;
  padding:24px 26px;
  border-left:3px solid var(--luen-orange);
  background:rgba(244,125,53,.07);
}
.insight-callout strong{
  display:block;
  color:var(--luen-ink);
  font:720 16px/1.35 var(--luen-type-display);
}
.insight-callout p{
  margin-top:8px;
  font-size:12.5px;
  line-height:1.72;
}
.insight-table-wrap{
  width:100%;
  min-width:0;
  max-width:100%;
  margin:28px 0 0;
  overflow-x:auto;
  border-top:1px solid var(--luen-line);
  -webkit-overflow-scrolling:touch;
}
.insight-table{
  width:100%;
  min-width:650px;
  border-collapse:collapse;
}
.insight-table th,
.insight-table td{
  padding:16px 14px;
  border-bottom:1px solid var(--luen-line);
  text-align:left;
  vertical-align:top;
}
.insight-table th{
  color:var(--luen-ink-soft);
  font:800 9.5px/1.35 var(--luen-type-ui);
  letter-spacing:.04em;
}
.insight-table td{
  color:var(--luen-muted);
  font-size:12.5px;
  line-height:1.62;
}
.insight-table td strong{
  color:var(--luen-ink);
  font-weight:720;
}
.insight-stat-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  margin-top:28px;
  border-top:1px solid var(--luen-line);
  border-bottom:1px solid var(--luen-line);
}
.insight-stat-grid article{
  min-height:160px;
  padding:24px 22px;
  border-right:1px solid var(--luen-line);
}
.insight-stat-grid article:first-child{padding-left:0;}
.insight-stat-grid article:last-child{
  padding-right:0;
  border-right:0;
}
.insight-stat-grid span{
  color:var(--luen-orange);
  font:800 9px/1 var(--luen-type-ui);
}
.insight-stat-grid strong{
  display:block;
  margin-top:26px;
  color:var(--luen-ink);
  font:720 28px/1 var(--luen-type-display);
}
.insight-stat-grid p{
  margin-top:10px;
  font-size:11.5px;
  line-height:1.55;
}
.insight-checklist{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:0;
  margin-top:28px;
  border-top:1px solid var(--luen-line);
}
.insight-checklist article{
  min-height:150px;
  padding:24px 26px 24px 0;
  border-right:1px solid var(--luen-line);
  border-bottom:1px solid var(--luen-line);
}
.insight-checklist article:nth-child(even){
  padding-left:26px;
  padding-right:0;
  border-right:0;
}
.insight-checklist span{
  color:var(--luen-orange);
  font:800 9px/1 var(--luen-type-ui);
}
.insight-checklist strong{
  display:block;
  margin-top:20px;
  color:var(--luen-ink);
  font:720 17px/1.25 var(--luen-type-display);
}
.insight-checklist p{
  margin-top:9px;
  font-size:12px;
  line-height:1.65;
}

.insight-sources{
  padding-top:4px;
}
.insight-sources h3{
  margin:0;
  color:var(--luen-ink);
  font:720 18px/1.2 var(--luen-type-display);
}
.insight-sources ul{
  margin-top:16px;
  padding-left:18px;
}
.insight-sources a{
  color:var(--luen-ink-soft);
  text-decoration:underline;
  text-underline-offset:3px;
}
.insight-sources a:hover{color:var(--luen-orange);}

.insight-related{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  border-top:1px solid var(--luen-line);
}
.insight-related a{
  min-height:190px;
  padding:26px 28px;
  border-right:1px solid var(--luen-line);
  text-decoration:none;
}
.insight-related a:first-child{padding-left:0;}
.insight-related a:last-child{
  padding-right:0;
  border-right:0;
}
.insight-related span{
  color:var(--luen-orange);
  font:800 9px/1 var(--luen-type-ui);
}
.insight-related strong{
  display:block;
  margin-top:34px;
  color:var(--luen-ink);
  font:720 18px/1.25 var(--luen-type-display);
}
.insight-related p{
  margin:10px 0 0;
  color:var(--luen-muted);
  font-size:11.5px;
  line-height:1.6;
}
.insight-related a:hover strong{color:var(--luen-orange);}

@media(max-width:1000px){
  .insights-topic-strip{grid-template-columns:repeat(2,minmax(0,1fr));}
  .insights-topic-strip article:nth-child(2){border-right:0;}
  .insights-topic-strip article:nth-child(n+3){border-top:1px solid rgba(245,243,238,.16);}
  .insights-topic-strip article:nth-child(3){padding-left:0;}
  .insight-article-hero .container{grid-template-columns:1fr;}
  .insight-article-meta{max-width:650px;}
  .insight-article-shell{grid-template-columns:1fr;}
  .insight-toc{position:static;}
  .insight-toc ol{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  .insight-toc li:nth-child(odd){border-right:1px solid var(--luen-line);}
  .insight-toc a{padding:13px;}
}
@media(max-width:767px){
  .insights-grid{grid-template-columns:1fr;}
  .insight-card,
  .insight-card:nth-child(even){
    min-height:0;
    padding:28px 0;
    border-right:0;
  }
  .insight-card h2,
  .insight-card h3{margin-top:30px;}
  .insight-card small{padding-top:28px;}

  .insights-topic-strip{grid-template-columns:1fr;}
  .insights-topic-strip article,
  .insights-topic-strip article:first-child,
  .insights-topic-strip article:last-child,
  .insights-topic-strip article:nth-child(3){
    min-height:0;
    padding:24px 0;
    border-right:0;
    border-top:0;
    border-bottom:1px solid rgba(245,243,238,.16);
  }
  .insights-topic-strip strong{margin-top:18px;}

  .insight-article-hero{padding-top:62px;}
  .insight-article-meta div{grid-template-columns:72px minmax(0,1fr);}
  .insight-toc ol{grid-template-columns:1fr;}
  .insight-toc li:nth-child(odd){border-right:0;}
  .insight-toc a{padding:12px 0;}
  .insight-lead{margin-bottom:48px;}
  .insight-section{
    padding-bottom:48px;
    margin-bottom:48px;
  }
  .insight-callout{padding:20px 18px;}
  .insight-stat-grid{grid-template-columns:1fr;}
  .insight-stat-grid article,
  .insight-stat-grid article:first-child,
  .insight-stat-grid article:last-child{
    min-height:0;
    padding:22px 0;
    border-right:0;
    border-bottom:1px solid var(--luen-line);
  }
  .insight-checklist{grid-template-columns:1fr;}
  .insight-checklist article,
  .insight-checklist article:nth-child(even){
    min-height:0;
    padding:22px 0;
    border-right:0;
  }
  .insight-related{grid-template-columns:1fr;}
  .insight-related a,
  .insight-related a:first-child,
  .insight-related a:last-child{
    min-height:0;
    padding:24px 0;
    border-right:0;
    border-bottom:1px solid var(--luen-line);
  }
  .insight-related strong{margin-top:18px;}
}
