/* =========================================================
   Lahore View City — "Core Values" orbit section
   Elementor widget: lvc_core_values (wrapper: .lvc-cv)
   ========================================================= */
.lvc-cv{
  --lvc-navy:#0B2036;
  --lvc-gold:#C6A662;
  --lvc-gold-light:#E7D3A1;
  --lvc-text:#e7ecf3;
  --lvc-text-soft:#aeb9c7;
  --lvc-serif:'Cormorant Garamond', Georgia, serif;
  --lvc-sans:'Manrope', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  --lvc-script:'Great Vibes', cursive;
  --cv-spin:110s;

  position:relative;
  overflow:hidden;
  padding:clamp(48px,5vw,80px) clamp(20px,4vw,70px) clamp(60px,6vw,96px);
  isolation:isolate;
  color:var(--lvc-text);
  font-family:var(--lvc-sans);
  -webkit-font-smoothing:antialiased;
  background:
    linear-gradient(180deg, rgba(7,17,28,.86) 0%, rgba(8,20,34,.72) 40%, rgba(6,15,26,.9) 100%),
    #071119;
}
.lvc-cv *{box-sizing:border-box;}

.lvc-cv__bg{
  position:absolute; inset:0; z-index:-2;
  background-size:cover; background-position:center 48%;
  opacity:.6;
}
.lvc-cv__vignette{
  position:absolute; inset:0; z-index:-1;
  background:radial-gradient(120% 90% at 50% 42%, rgba(6,15,26,0) 30%, rgba(5,12,22,.82) 100%);
}

/* ---------- Header ---------- */
.lvc-cv__head{position:relative;z-index:2;text-align:center;max-width:760px;margin:0 auto clamp(20px,3vw,34px);}
.lvc-cv__eyebrow{
  display:flex;align-items:center;justify-content:center;gap:16px;
  font-size:12px;font-weight:600;letter-spacing:4px;text-transform:uppercase;color:var(--lvc-gold);margin-bottom:14px;
}
.lvc-cv__eyebrow::before,.lvc-cv__eyebrow::after{content:"";width:52px;height:1px;background:linear-gradient(90deg,transparent,var(--lvc-gold));}
.lvc-cv__eyebrow::after{background:linear-gradient(90deg,var(--lvc-gold),transparent);}
.lvc-cv__title{
  font-family:var(--lvc-serif) !important;font-weight:600;color:#fff;
  font-size:clamp(42px,6vw,74px);line-height:1;letter-spacing:3px;text-transform:uppercase;margin:0 0 14px;
}
.lvc-cv__subtitle{font-size:clamp(14px,1.3vw,17px);color:var(--lvc-text-soft);margin:0;font-weight:300;}

/* Corner decor */
.lvc-cv__corner{position:absolute;z-index:2;pointer-events:none;}
.lvc-cv__corner.tr{top:clamp(24px,3vw,44px);right:clamp(24px,4vw,60px);text-align:right;}
.lvc-cv__script{font-family:var(--lvc-script);font-size:clamp(26px,3vw,40px);color:var(--lvc-gold-light);line-height:.95;}
.lvc-cv__ppp{margin-top:12px;font-size:11px;letter-spacing:5px;color:var(--lvc-text-soft);line-height:2;text-transform:uppercase;}
.lvc-cv__corner.bl{bottom:clamp(20px,3vw,34px);left:clamp(24px,4vw,60px);font-size:12px;letter-spacing:6px;color:var(--lvc-text-soft);line-height:1.9;}
.lvc-cv__corner.br{bottom:clamp(20px,3vw,34px);right:clamp(24px,4vw,60px);text-align:right;font-size:10.5px;letter-spacing:4px;color:var(--lvc-text-soft);line-height:2;text-transform:uppercase;}

/* ---------- Orbit ---------- */
.lvc-cv__orbit{
  position:relative;z-index:2;
  width:min(860px,92vw);
  aspect-ratio:1/1;
  margin:clamp(10px,2vw,24px) auto 0;
}
.lvc-cv__ring{
  position:absolute;inset:3%;border-radius:50%;
  background-position:center;background-size:contain;background-repeat:no-repeat;
}
.lvc-cv__center{
  position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);
  width:58%;aspect-ratio:1/1;border-radius:50%;overflow:hidden;
  border:3px solid rgba(200,170,105,.55);
  box-shadow:0 22px 60px rgba(0,0,0,.55), 0 0 0 10px rgba(9,24,40,.4);
}
.lvc-cv__center img{width:100%;height:100%;object-fit:cover;display:block;}

/* Nodes — icon on ring point, label radiates outward */
.lvc-cv__rotor{
  position:absolute;inset:0;transform-origin:50% 50%;
  animation:lvcOrbit var(--cv-spin,110s) linear infinite;
}
.lvc-cv__node{
  position:absolute;width:104px;height:104px;
  transform:translate(-50%,-50%);transform-origin:50% 50%;
  animation:lvcOrbitCounter var(--cv-spin,110s) linear infinite;
}
.lvc-cv__icon{
  width:104px;height:104px;border-radius:50%;display:block;
  filter:drop-shadow(0 12px 24px rgba(0,0,0,.55));
  transition:transform .4s cubic-bezier(.2,.7,.2,1);
}
.lvc-cv__node:hover .lvc-cv__icon{transform:scale(1.09);}
.lvc-cv__orbit:hover .lvc-cv__rotor,
.lvc-cv__orbit:hover .lvc-cv__node{animation-play-state:paused;}
.lvc-cv.no-orbit .lvc-cv__rotor,
.lvc-cv.no-orbit .lvc-cv__node{animation:none;}

@keyframes lvcOrbit{to{transform:rotate(360deg);}}
@keyframes lvcOrbitCounter{
  from{transform:translate(-50%,-50%) rotate(0);}
  to{transform:translate(-50%,-50%) rotate(-360deg);}
}

.lvc-cv__node > div{position:absolute;width:172px;}
.lvc-cv__node.pos-top > div,.lvc-cv__node.pos-bottom > div{
  top:100%;left:50%;transform:translateX(-50%);text-align:center;margin-top:10px;
}
.lvc-cv__node.side-left > div{
  right:100%;top:50%;transform:translateY(-50%);text-align:right;margin-right:16px;
}
.lvc-cv__node.side-right > div{
  left:100%;top:50%;transform:translateY(-50%);text-align:left;margin-left:16px;
}
.lvc-cv__node h3{font-family:var(--lvc-serif) !important;font-size:21px;font-weight:600;color:#fff;margin:0 0 3px;letter-spacing:.4px;line-height:1.05;}
.lvc-cv__node p{font-size:12.5px;line-height:1.5;color:var(--lvc-text-soft);margin:0;}

/* 7 ring positions (clockwise from top) */
.lvc-cv__node.n-top{left:50%;top:6%;}
.lvc-cv__node.n-ur{left:84.4%;top:22.6%;}
.lvc-cv__node.n-r{left:92.9%;top:59.8%;}
.lvc-cv__node.n-lr{left:69.1%;top:89.6%;}
.lvc-cv__node.n-ll{left:30.9%;top:89.6%;}
.lvc-cv__node.n-l{left:7.1%;top:59.8%;}
.lvc-cv__node.n-ul{left:15.6%;top:22.6%;}

/* ---------- Reveal (opacity-only) ---------- */
.lvc-cv .lvc-anim{opacity:0;}
.lvc-cv .lvc-anim.is-visible{opacity:1;transition:opacity .7s ease;}
.lvc-cv__head.lvc-anim{transform:translateY(18px);}
.lvc-cv__head.lvc-anim.is-visible{transform:none;transition:opacity .7s ease,transform .8s cubic-bezier(.16,1,.3,1);}

/* ---------- Responsive ---------- */
@media (max-width:900px){
  .lvc-cv__orbit{width:100%;aspect-ratio:auto;display:grid;grid-template-columns:1fr 1fr;gap:30px 18px;margin-top:26px;}
  .lvc-cv__ring{display:none;}
  .lvc-cv__rotor{position:static;display:contents;animation:none;}
  .lvc-cv__center{position:static;transform:none;width:min(260px,70%);margin:0 auto 8px;grid-column:1 / -1;}
  .lvc-cv__node{position:static !important;transform:none !important;animation:none !important;width:auto !important;height:auto !important;display:flex;flex-direction:column;align-items:center;gap:10px;}
  .lvc-cv__node > div{position:static !important;transform:none !important;width:auto !important;margin:0 !important;text-align:center !important;}
  .lvc-cv__icon{width:72px;height:72px;}
  .lvc-cv__corner.tr,.lvc-cv__corner.bl,.lvc-cv__corner.br{position:static;display:inline-block;text-align:center;margin-top:18px;}
  .lvc-cv__corner.tr{display:none;}
}
@media (max-width:520px){
  .lvc-cv__orbit{grid-template-columns:1fr;}
  .lvc-cv__title{letter-spacing:2px;}
}
@media (prefers-reduced-motion:reduce){
  .lvc-cv .lvc-anim{opacity:1 !important;transform:none !important;transition:none !important;}
  .lvc-cv__rotor,.lvc-cv__node{animation:none !important;}
}
