/* Shared cinematic detail-page layer. Load after lingdi-geo.css. */
:root{
  --detail-night:#050B09;
  --detail-forest:#0A211B;
  --detail-paper:#F6F7F2;
  --detail-white:#FFFFFF;
  --detail-line-dark:rgba(255,255,255,.17);
  --detail-line-light:rgba(18,60,50,.22);
  --detail-ease:cubic-bezier(.22,1,.36,1);
  --detail-wide:1500px;
}

.space-detail{min-width:320px;background:var(--detail-night);color:var(--ink)}
.space-detail main{overflow:hidden;background:var(--detail-paper)}
.space-detail .shell{width:min(var(--detail-wide),calc(100% - 80px))}

.space-detail .detail-hero{
  position:relative;
  min-height:92vh;
  min-height:92svh;
  display:flex;
  align-items:flex-end;
  overflow:hidden;
  padding:clamp(154px,19vh,214px) 0 clamp(78px,10vh,118px);
  border:0;
  background:
    radial-gradient(circle at 78% 28%,rgba(200,255,61,.11),transparent 20%),
    radial-gradient(circle at 66% 52%,rgba(46,123,103,.18),transparent 32%),
    linear-gradient(135deg,#050B09 0%,#07110E 48%,#0A211B 100%);
  color:#fff;
  isolation:isolate;
}
.space-detail .detail-hero::before,
.space-detail .detail-section::before,
.space-detail .detail-cta::before{
  content:none;
}
.space-detail [data-chapter]::after{
  content:attr(data-chapter);
  position:absolute;
  z-index:-1;
  right:-.035em;
  bottom:-.2em;
  color:rgba(200,255,61,.035);
  font-family:var(--display);
  font-size:min(52vw,720px);
  font-weight:900;
  letter-spacing:-.12em;
  line-height:1;
  pointer-events:none;
}
.space-detail .detail-hero .hero-grid{
  position:relative;
  z-index:1;
  width:min(var(--detail-wide),calc(100% - 80px));
  grid-template-columns:minmax(0,1.35fr) minmax(300px,.52fr);
  gap:clamp(64px,9vw,150px);
  align-items:end;
}
.space-detail .detail-hero .hero-copy{max-width:980px}
.space-detail .detail-hero .eyebrow{
  color:var(--signal);
  font-size:11px;
  letter-spacing:.17em;
}
.space-detail .detail-hero h1,
.english-page.space-detail .detail-hero .hero-copy h1{
  max-width:12ch;
  margin-top:24px;
  color:#fff;
  font-size:clamp(64px,7.5vw,116px);
  font-weight:840;
  letter-spacing:-.06em;
  line-height:1;
  text-wrap:balance;
}
.space-detail .detail-hero h1 em{color:#fff;font-style:normal}
.space-detail .detail-hero h1 em::after{
  left:.04em;
  right:.02em;
  bottom:-.03em;
  height:3px;
  border-radius:0;
  background:var(--signal);
  z-index:0;
}
.space-detail .detail-hero .lead{
  max-width:790px;
  margin-top:32px;
  color:rgba(255,255,255,.74);
  font-size:clamp(17px,1.4vw,22px);
  line-height:1.78;
}
.space-detail .detail-hero .actions{gap:28px;margin-top:38px}
.space-detail .detail-hero .button-primary{
  border-color:rgba(255,255,255,.72);
  background:transparent;
  color:#fff;
}
.space-detail .detail-hero .button-primary:hover,
.space-detail .detail-hero .button-primary:focus-visible{
  border-color:var(--signal);
  background:var(--signal);
  color:var(--ink);
}
.space-detail .detail-hero .method-link{border-color:rgba(255,255,255,.48);color:#fff}
.space-detail .detail-hero .boundary{
  margin-top:28px;
  border-left-width:2px;
  color:rgba(255,255,255,.55);
}
.space-detail .detail-hero .boundary strong{color:#fff}

.space-detail .detail-hero .priority-card{
  position:relative;
  padding:26px 0 18px;
  border:0;
  border-radius:0;
  background:transparent;
  color:#fff;
}
.space-detail .detail-hero .priority-card .section-tag{color:rgba(255,255,255,.48)}
.space-detail .detail-hero .priority-card h2{
  max-width:16ch;
  margin-top:20px;
  font-size:clamp(29px,3vw,46px);
  line-height:1.04;
}
.space-detail .detail-hero .priority-card>p:not(.section-tag){color:rgba(255,255,255,.64)}
.space-detail .detail-hero .priority-card ul{margin-top:30px}
.space-detail .detail-hero .priority-card li{grid-template-columns:54px 1fr;padding:16px 0}
.space-detail .detail-hero .priority-card li span{color:var(--signal);font-size:11px}

.space-detail .button{
  min-height:56px;
  padding:13px 21px;
  border-radius:2px;
  letter-spacing:.025em;
  transition:background .3s var(--detail-ease),color .3s var(--detail-ease),border-color .3s var(--detail-ease),transform .3s var(--detail-ease);
}
.space-detail .button:hover{transform:none}
.space-detail .button-outline{border-color:var(--green);background:transparent}
.space-detail .button-outline:hover,
.space-detail .button-outline:focus-visible{background:var(--green);color:#fff}

.space-detail .detail-section,
.space-detail .detail-cta{
  position:relative;
  min-height:82vh;
  min-height:82svh;
  display:flex;
  align-items:center;
  overflow:hidden;
  padding:clamp(112px,13vw,184px) 0;
  isolation:isolate;
}
.space-detail .detail-section::before,
.space-detail .detail-cta::before{mask-image:linear-gradient(90deg,transparent 26%,#000 100%);opacity:.11}
.space-detail .detail-section>.shell,
.space-detail .detail-cta>.shell{position:relative;z-index:1}
.space-detail .detail-light{background:var(--detail-white);color:var(--ink)}
.space-detail .detail-paper{background:var(--detail-paper);color:var(--ink)}
.space-detail .detail-dark{background:var(--detail-forest);color:#fff}
.space-detail .detail-dark::before{opacity:.22}
.space-detail .detail-dark .section-tag{color:var(--signal)}
.space-detail .detail-dark .section-heading>p:not(.section-tag){color:#B8C7C2}

.space-detail .section-tag{color:var(--green);letter-spacing:.15em}
.space-detail .context h2,
.space-detail .section-heading h2,
.space-detail .why-section h2,
.space-detail .cta-card h2{
  margin-top:22px;
  font-size:clamp(54px,6.5vw,100px);
  font-weight:830;
  letter-spacing:-.062em;
  line-height:.96;
  text-wrap:balance;
}
.english-page.space-detail .context h2,
.english-page.space-detail .section-heading h2,
.english-page.space-detail .cta-card h2{letter-spacing:-.052em}
.space-detail .section-heading{max-width:none}
.space-detail .section-heading>p:not(.section-tag){max-width:760px;margin-top:30px;font-size:clamp(15px,1.3vw,19px);line-height:1.8}

.space-detail .why-grid{
  grid-template-columns:minmax(0,1.08fr) minmax(360px,.72fr);
  gap:clamp(70px,10vw,170px);
  align-items:end;
}
.space-detail .why-copy{max-width:690px}
.space-detail .why-copy p{color:#B8C7C2;font-size:clamp(17px,1.6vw,24px);line-height:1.75}
.space-detail .why-copy strong{margin-top:34px;border-bottom-width:2px;font-size:clamp(20px,2vw,30px)}

.space-detail .context{border:0}
.space-detail .context-intro{
  grid-template-columns:minmax(0,1.1fr) minmax(320px,.62fr);
  gap:clamp(60px,9vw,140px);
  align-items:end;
  margin-top:20px;
}
.space-detail .context-intro>p{font-size:clamp(15px,1.25vw,18px);line-height:1.8}
.space-detail .value-list,
.space-detail .method-grid,
.space-detail .product-grid,
.space-detail .fit-cards{gap:0}
.space-detail .value-list{margin-top:clamp(58px,8vw,110px);gap:clamp(38px,5vw,80px);border:0}
.space-detail .value-list article,
.space-detail .method-grid article,
.space-detail .fit-cards article{
  border:0;
  border-radius:0;
  background:transparent;
  box-shadow:none;
}
.space-detail .value-list article:first-child,
.space-detail .method-grid article:first-child,
.space-detail .fit-cards article:first-child{border:0}
.space-detail .value-list article{padding:0}
.space-detail .path-list .path-card::before{content:none}
.space-detail .value-list a{border:0}
.space-detail .path-list .path-card:hover,
.space-detail .path-list .path-card:focus-visible,
.space-detail .path-list .path-card.is-selected{
  transform:none;
  border:0;
  background:transparent;
  box-shadow:none;
}
.space-detail .method-grid{gap:clamp(38px,5vw,80px);margin-top:clamp(60px,8vw,110px);border:0}
.space-detail .method-grid article{min-height:0;padding:0}
.space-detail .method-grid h3{font-size:clamp(23px,2.1vw,32px);line-height:1.12}
.space-detail .method-grid p{font-size:14px;line-height:1.78}

.space-detail .product-heading{
  grid-template-columns:minmax(0,1.1fr) minmax(330px,.6fr);
  gap:clamp(56px,8vw,120px);
}
.space-detail .product-grid{gap:clamp(40px,5vw,76px);margin-top:clamp(62px,8vw,112px);border:0}
.space-detail .product-card{
  min-height:620px;
  padding:0;
  border:0;
  border-radius:0;
  background:transparent;
  box-shadow:none;
}
.space-detail .product-card:first-child{border:0}
.space-detail .product-card::before{height:3px;transform:scaleX(0);transform-origin:left;transition:transform .35s var(--detail-ease)}
.space-detail .product-card:hover,
.space-detail .product-card:focus-visible,
.space-detail .product-card.is-selected{
  transform:none;
  border:0;
  background:transparent;
  box-shadow:none;
}
.space-detail .product-card:hover::before,
.space-detail .product-card:focus-visible::before,
.space-detail .product-card.is-selected::before{transform:none}
.space-detail .product-top b{border-radius:2px;background:transparent}
.space-detail .product-card h3{margin-top:56px}
.space-detail .price strong{font-size:clamp(43px,4vw,62px)}
.space-detail .product-card ul{border:0}
.space-detail .product-card li{border:0;padding:8px 0}
.space-detail .product-card .button{width:max-content;margin-top:auto;padding-inline:0;border:0;background:transparent;color:var(--green);justify-content:flex-start}
.space-detail .pricing-boundary{max-width:980px;margin-top:30px;line-height:1.8}

.space-detail .deliverables-grid{
  grid-template-columns:minmax(0,.78fr) minmax(520px,1.22fr);
  gap:clamp(64px,9vw,145px);
  align-items:start;
}
.space-detail .deliverable-list{border:0}
.space-detail .deliverable-list li{grid-template-columns:72px 1fr;padding:30px 0;border:0}
.space-detail .deliverable-list strong{font-size:clamp(20px,1.8vw,28px)}
.space-detail .deliverable-list span{max-width:620px;color:#B8C7C2;font-size:14px;line-height:1.7}

.space-detail .fit-grid,
.space-detail .faq-grid{
  grid-template-columns:minmax(300px,.68fr) minmax(0,1.32fr);
  gap:clamp(64px,9vw,145px);
  align-items:start;
}
.space-detail .fit-cards{gap:clamp(40px,5vw,76px);border:0}
.space-detail .fit-cards article{min-height:0;padding:0}
.space-detail .fit-cards article:nth-child(odd){border:0}
.space-detail .fit-cards article>span{padding:0;border-radius:0;background:transparent}
.space-detail .fit-cards h3{font-size:clamp(22px,2vw,30px)}
.space-detail .fit-cards .not-fit{border:0;background:transparent;color:var(--ink)}
.space-detail .fit-cards .not-fit>span{background:transparent;color:var(--green)}
.space-detail .fit-cards .not-fit p{color:var(--muted)}

/* Open cinematic layouts: content is grouped by rhythm and whitespace, never by boxes. */
.space-detail .priority-card ul,
.space-detail .priority-card li,
.space-detail .value-list,
.space-detail .value-list article,
.space-detail .method-grid,
.space-detail .method-grid article,
.space-detail .product-grid,
.space-detail .product-card,
.space-detail .fit-cards,
.space-detail .fit-cards article,
.space-detail .deliverable-list,
.space-detail .deliverable-list li{border:0!important;background:transparent!important;box-shadow:none!important}
.space-detail .product-card::before,
.space-detail .value-list article::before,
.space-detail .method-grid article::before,
.space-detail .fit-cards article::before{content:none!important}
.space-detail .product-card:hover,
.space-detail .product-card:focus-visible,
.space-detail .product-card.is-selected,
.space-detail .value-list article:hover,
.space-detail .value-list article:focus-visible{transform:none;background:transparent!important;box-shadow:none!important}
.space-detail .faq-list{border-top-color:var(--green)}
.space-detail .faq-list summary{padding:30px 54px 30px 0;font-size:clamp(17px,1.35vw,21px)}
.space-detail .faq-list summary::after{top:25px}
.space-detail .faq-list details p{padding-bottom:30px;font-size:15px;line-height:1.8}

.space-detail .detail-cta{min-height:80vh;min-height:80svh;background:var(--signal);color:var(--ink)}
.space-detail .detail-cta::before{
  background-image:
    linear-gradient(rgba(7,17,14,.08) 1px,transparent 1px),
    linear-gradient(90deg,rgba(7,17,14,.08) 1px,transparent 1px);
  mask-image:linear-gradient(90deg,transparent 18%,#000 100%);
  opacity:.42;
}
.space-detail .detail-cta::after{color:rgba(7,17,14,.045)}
.space-detail .detail-cta .cta-card{
  grid-template-columns:minmax(0,1fr) minmax(250px,auto);
  gap:clamp(54px,8vw,120px);
}
.space-detail .detail-cta .cta-card h2{max-width:14ch}
.space-detail .detail-cta .cta-card p:not(.section-tag){font-size:16px;line-height:1.75}
.space-detail .detail-cta .button-light{border-color:var(--ink);background:var(--ink);color:#fff}
.space-detail .detail-cta .button-light:hover,
.space-detail .detail-cta .button-light:focus-visible{border-color:#fff;background:#fff;color:var(--ink)}

.space-detail footer{padding-top:64px;background:#030907}
.space-detail .footer-inner{line-height:1.7}

@keyframes detail-grid-drift{to{background-position:112px 112px}}
@keyframes detail-hero-rise{
  from{opacity:0;transform:translate3d(0,36px,0)}
  to{opacity:1;transform:none}
}
@keyframes detail-section-rise{
  from{opacity:.12;transform:translate3d(0,56px,0)}
  to{opacity:1;transform:none}
}
.space-detail .detail-hero .hero-copy>*{
  animation:detail-hero-rise .9s var(--detail-ease) both;
}
.space-detail .detail-hero .hero-copy>*:nth-child(2){animation-delay:.08s}
.space-detail .detail-hero .hero-copy>*:nth-child(3){animation-delay:.16s}
.space-detail .detail-hero .hero-copy>*:nth-child(4){animation-delay:.24s}
.space-detail .detail-hero .hero-copy>*:nth-child(5){animation-delay:.3s}
.space-detail .detail-hero .priority-card{animation:detail-hero-rise 1s .2s var(--detail-ease) both}

@supports (animation-timeline:view()){
  .space-detail .detail-section>.shell,
  .space-detail .detail-cta>.shell{
    animation:detail-section-rise linear both;
    animation-timeline:view();
    animation-range:entry 5% cover 28%;
  }
}

@media(max-width:1100px){
  .space-detail .detail-hero .hero-grid{grid-template-columns:minmax(0,1.1fr) minmax(270px,.62fr);gap:56px}
  .space-detail .product-grid{grid-template-columns:1fr 1fr}
  .space-detail .product-card:nth-child(3){grid-column:1/-1;min-height:0;border:0}
}

@media(max-width:980px){
  .space-detail .shell,
  .space-detail .detail-hero .hero-grid{width:calc(100% - 48px)}
  .space-detail .detail-hero{min-height:100svh;padding:148px 0 72px}
  .space-detail .detail-hero .hero-grid,
  .space-detail .why-grid,
  .space-detail .product-heading,
  .space-detail .deliverables-grid,
  .space-detail .fit-grid,
  .space-detail .faq-grid,
  .space-detail .detail-cta .cta-card{grid-template-columns:1fr}
  .space-detail .detail-hero .hero-copy{max-width:820px}
  .space-detail .detail-hero .priority-card{max-width:none}
  .space-detail .detail-section,
  .space-detail .detail-cta{min-height:0;padding:104px 0}
  .space-detail .why-copy{max-width:760px}
  .space-detail .method-grid{grid-template-columns:1fr 1fr}
  .space-detail .deliverable-list{max-width:none}
}

@media(max-width:700px){
  .space-detail .shell,
  .space-detail .detail-hero .hero-grid{width:calc(100% - 32px)}
  .space-detail .detail-hero{min-height:100svh;align-items:flex-start;padding:126px 0 62px}
  .space-detail .detail-hero::before{background-size:72px 72px;opacity:.2}
  .space-detail [data-chapter]::after{right:-.08em;bottom:-.08em;font-size:72vw}
  .space-detail .detail-hero h1,
  .english-page.space-detail .detail-hero .hero-copy h1{
    max-width:11ch;
    font-size:clamp(48px,14.2vw,66px);
    line-height:.96;
  }
  .space-detail .detail-hero .hero-slogan{font-size:clamp(46px,14vw,64px)}
  .space-detail .detail-hero .lead{font-size:16px;line-height:1.72}
  .space-detail .detail-hero .actions{width:100%;gap:16px}
  .space-detail .detail-hero .actions .button{width:100%}
  .space-detail .detail-hero .method-link{justify-content:flex-start}
  .space-detail .detail-hero .priority-card{display:block;margin-top:18px;padding-top:20px}
  .space-detail .detail-hero .priority-card h2{font-size:30px}
  .space-detail .detail-hero .priority-card ul{display:grid;grid-template-columns:repeat(3,1fr);margin-top:22px}
  .space-detail .detail-hero .priority-card li{display:block;padding:14px 10px;border-right:1px solid rgba(255,255,255,.16);font-size:11px;line-height:1.5}
  .space-detail .detail-hero .priority-card li:first-child{padding-left:0}
  .space-detail .detail-hero .priority-card li:last-child{padding-right:0;border-right:0}
  .space-detail .detail-hero .priority-card li span{display:block;margin-bottom:5px}
  .space-detail .detail-section,
  .space-detail .detail-cta{padding:82px 0}
  .space-detail .context h2,
  .space-detail .section-heading h2,
  .space-detail .why-section h2,
  .space-detail .cta-card h2{font-size:clamp(42px,12.2vw,58px);line-height:.99}
  .space-detail .context-intro{grid-template-columns:1fr;gap:22px}
  .space-detail .why-copy p{font-size:16px}
  .space-detail .value-list,
  .space-detail .method-grid,
  .space-detail .product-grid,
  .space-detail .fit-cards{grid-template-columns:1fr}
  .space-detail .value-list article,
  .space-detail .method-grid article,
  .space-detail .fit-cards article,
  .space-detail .fit-cards article:nth-child(odd),
  .space-detail .product-card,
  .space-detail .product-card:nth-child(3){
    grid-column:auto;
    border:0;
  }
  .space-detail .method-grid article{min-height:0;padding:0}
  .space-detail .product-card{min-height:0;padding:0}
  .space-detail .product-card h3{margin-top:42px}
  .space-detail .deliverable-list li{grid-template-columns:48px 1fr;gap:14px;padding:24px 0}
  .space-detail .fit-cards article{min-height:0}
  .space-detail .detail-cta .cta-actions,
  .space-detail .detail-cta .cta-actions .button,
  .space-detail .detail-cta .cta-actions .method-link{width:100%}
  .space-detail .footer-brand img{width:180px}
}

@media(max-width:390px){
  .space-detail .detail-hero .priority-card>p:not(.section-tag){font-size:12px;line-height:1.65}
  .space-detail .detail-hero .priority-card li{font-size:10px}
  .space-detail .price strong{font-size:41px}
}

@media(max-width:520px){
  .space-detail .lingdi-public-nav-dark .lingdi-nav-links .nav-cta,
  .space-detail .lingdi-public-nav-dark .lingdi-nav-links .nav-lang{min-height:44px}
  .space-detail .lingdi-public-nav-dark .lingdi-nav-links .nav-lang{display:inline-flex;padding-inline:8px}
}

@media(prefers-reduced-motion:reduce){
  .space-detail .detail-hero::before,
  .space-detail .detail-section::before,
  .space-detail .detail-cta::before,
  .space-detail .detail-hero .hero-copy>*,
  .space-detail .detail-hero .priority-card,
  .space-detail .detail-section>.shell,
  .space-detail .detail-cta>.shell{
    animation:none!important;
    transform:none!important;
    opacity:1!important;
  }
  .space-detail .button,
  .space-detail .product-card::before{transition:none!important}
}
