/* KENLIN LAB — quieter 9:16 editorial preview, replacing oversized two-card ads */
.kl-films{
  padding:clamp(65px,7vw,104px) clamp(20px,5vw,84px);
  background:#F7F5F0;
}
.kl-films-head{
  max-width:1220px;margin:0 auto 32px;
  display:flex;justify-content:space-between;align-items:end;gap:30px;
}
.kl-overline{font-size:10px;letter-spacing:.18em;font-weight:750;color:#8C8479}
.kl-films-head h2{
  font-size:clamp(30px,4.1vw,52px);line-height:1.16;
  letter-spacing:-.055em;font-weight:620;margin:12px 0 0;color:#292d2b;
}
.kl-films-head h2 em{
  font-family:Georgia,"Noto Serif TC",serif;font-weight:400;letter-spacing:-.04em;
}
.kl-films-head>p{
  max-width:280px;color:#79766f;font-size:13px;line-height:1.85;margin:0;
}
.kl-film-grid{
  width:min(1220px,100%);margin:0 auto;
  display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;
}
.kl-film-card{
  min-width:0;display:grid;grid-template-columns:clamp(125px,17vw,184px) minmax(0,1fr);
  align-items:center;gap:clamp(20px,2.5vw,36px);
  padding:20px 22px;border:1px solid #dedad3;border-radius:13px;
  background:#FCFBF8;box-shadow:0 8px 24px #2b261e07;
}
.kl-film-poster{
  position:relative;display:block;width:100%;aspect-ratio:9/16;
  border-radius:9px;overflow:hidden;background:#d9d1c7;
  box-shadow:0 13px 26px rgba(34,31,27,.15);
}
.kl-film-poster img{display:block;width:100%;height:100%;object-fit:cover}
.kl-film-poster--shiyi img{object-position:77% center}
.kl-film-poster--aiteam img{object-position:52% center}
.kl-film-poster::after{
  content:"";position:absolute;inset:55% 0 0;
  background:linear-gradient(transparent,rgba(19,21,22,.44));
  pointer-events:none;
}
.kl-film-poster span{
  position:absolute;bottom:14px;left:14px;z-index:2;
  color:white;font-size:9px;letter-spacing:.15em;font-weight:750;text-shadow:0 1px 6px #0006;
}
.kl-film-content{min-width:0;display:flex;flex-direction:column;align-items:flex-start;gap:12px}
.kl-film-status{
  display:inline-flex;align-items:center;gap:8px;
  font-size:10px;letter-spacing:.08em;font-weight:650;color:#756F67;
}
.kl-film-status i{width:6px;height:6px;border-radius:50%;background:#A79680}
.kl-film-content h3{
  margin:0;font-size:clamp(23px,2.6vw,32px);
  line-height:1.23;font-weight:630;letter-spacing:-.055em;color:#2d302e;
}
.kl-film-content p{
  margin:0;max-width:280px;font-size:12px;color:#79766e;line-height:1.85;
}
.kl-film-actions{display:flex;flex-wrap:wrap;gap:15px;align-items:center;margin-top:8px}
.kl-film-primary{
  display:inline-flex;align-items:center;justify-content:center;gap:14px;
  padding:12px 17px;min-height:44px;border-radius:8px;
  background:#2F3637;color:#fff!important;text-decoration:none;
  white-space:nowrap;font-size:12px;font-weight:750;
  transition:transform .16s ease,background .16s ease;
}
.kl-film-primary:hover{background:#4E5B60;transform:translateY(-1px)}
.kl-film-secondary{
  color:#62635f!important;text-decoration:none;
  border-bottom:1px solid #ada9a1;padding-bottom:2px;
  font-size:12px;font-weight:650;
}
.kl-film-test{
  display:none;margin-top:7px;border:0;background:transparent;
  border-bottom:1px solid #a19b92;padding:0 0 3px;
  font-size:10px;color:#85827d;cursor:pointer;
}
body.kl-preview-enabled .kl-film-test{display:inline-flex}
.kl-film-card--aiteam .kl-film-poster{background:#283947}
.kl-studio-intro{
  max-width:1220px;display:grid;grid-template-columns:minmax(0,1.25fr) minmax(260px,.75fr);
  gap:clamp(24px,6vw,90px);align-items:center;
  margin:0 auto;padding:clamp(42px,6vw,85px) 0;
  border-top:1px solid #D9D5CC;
}
.kl-studio-intro .kl-about-title{
  max-width:750px;font-size:clamp(29px,4vw,51px);font-weight:620;
  letter-spacing:-.055em;line-height:1.23;margin:12px 0 20px;color:#292D2B;
}
.kl-studio-intro .kl-about-title em{font-family:Georgia,"Noto Serif TC",serif;font-weight:400}
.kl-studio-intro p{max-width:590px;color:#76736D;font-size:13px;line-height:1.95}
.kl-studio-intro .kl-about-link{
  display:inline-flex;align-items:center;gap:18px;
  margin-top:16px;color:#292E2F;text-decoration:none;
  border-bottom:1px solid #8F918D;padding-bottom:7px;font-size:12px;font-weight:730;
}
.kl-studio-facts{
  display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px;
  padding:25px 22px;border:1px solid #e2ddd4;border-radius:12px;background:#FCFAF6;
}
.kl-studio-facts>div{display:grid;gap:9px}
.kl-studio-facts small{font-size:10px;letter-spacing:.07em;color:#999187}
.kl-studio-facts strong{font-size:18px;color:#333633;font-weight:660;line-height:1.35}
.kl-studio-facts span{font-size:11px;color:#8C857B}
.kl-brand-film{
  max-width:1130px;margin:0 auto;
  padding:clamp(60px,7vw,105px) 24px;
}
.kl-brand-film .kl-film-head{text-align:left;max-width:550px;margin:0 auto 27px 0}
.kl-brand-film .kl-film-head h2{
  font-size:clamp(31px,4vw,49px);letter-spacing:-.05em;font-weight:630;
  margin:12px 0 10px;color:#272c2a;line-height:1.2;
}
.kl-brand-film .kl-film-head p{font-size:13px;line-height:1.8;color:#76746e}
.kl-brand-film .kl-film-card{
  grid-template-columns:minmax(155px,244px) minmax(0,1fr);
  gap:clamp(28px,6vw,95px);padding:32px 5vw;
  background:#fffefb;border-radius:13px;box-shadow:none;
}
.kl-brand-film .kl-film-content h3{font-size:clamp(28px,4vw,44px)}
.kl-brand-film .kl-film-content p{max-width:450px;font-size:14px}
.kl-brand-film .kl-film-content{gap:18px}
.kl-brand-film--aiteam{background:#f3f5f4;max-width:none}
.kl-brand-film--aiteam >*{max-width:1130px;margin-left:auto;margin-right:auto}
@media(max-width:1040px){
  .kl-film-grid{grid-template-columns:1fr 1fr;gap:14px}
  .kl-film-card{grid-template-columns:minmax(120px,35%) minmax(0,1fr);padding:15px;gap:16px}
  .kl-film-content h3{font-size:25px}
}
@media(max-width:820px){
  .kl-films{padding:70px 24px}
  .kl-films-head{display:block}
  .kl-films-head>p{max-width:540px;margin:12px 0 0}
  .kl-film-grid{grid-template-columns:1fr;max-width:660px}
  .kl-film-card{grid-template-columns:minmax(145px,32%) minmax(0,1fr);padding:19px;gap:22px}
  .kl-film-content h3{font-size:29px}
  .kl-studio-intro{grid-template-columns:1fr}
  .kl-brand-film .kl-film-card{grid-template-columns:minmax(150px,32%) minmax(0,1fr);padding:18px;gap:20px}
}
@media(max-width:440px){
  .kl-films{padding:56px 15px}
  .kl-film-grid{gap:13px}
  .kl-film-card{grid-template-columns:minmax(104px,37%) minmax(0,1fr);padding:12px;gap:13px}
  .kl-film-content{gap:9px}
  .kl-film-content h3{font-size:21px}
  .kl-film-content p{font-size:11px;line-height:1.62}
  .kl-film-primary{font-size:11px;padding:9px 11px;min-height:40px}
  .kl-film-actions{gap:12px}
  .kl-film-poster span{bottom:9px;left:8px;font-size:8px}
  .kl-studio-facts{padding:18px 14px;gap:17px}
  .kl-studio-facts strong{font-size:15px}
  .kl-studio-intro{padding:50px 3px}
  .kl-brand-film{padding:58px 13px}
  .kl-brand-film .kl-film-card{grid-template-columns:minmax(110px,36%) minmax(0,1fr);padding:13px;gap:15px}
  .kl-brand-film .kl-film-content h3{font-size:22px}
  .kl-brand-film .kl-film-content p{font-size:12px;line-height:1.65}
}
@media(prefers-reduced-motion:reduce){
  .kl-film-primary{transition:none!important;transform:none!important}
}

/* Sticky global navigation must not cover anchored film sections. */
#films,#brand-film,#interaction,#studio{scroll-margin-top:calc(var(--kl-head,72px) + 16px)}
