/* ================================================================
   LEADINGLIGHT — PHASE 13 SURGICAL REMEDIATION
   Public experience only. Backend/API/CMS/auth/portal styles untouched.
   ================================================================ */
:root{
  --ll-navy:#071522;
  --ll-navy-2:#0d1b2a;
  --ll-teal:#00c7b7;
  --ll-teal-2:#14b8a6;
  --ll-silver:#dbe6ea;
  --ll-ink:#0b1620;
  --ll-muted:#667680;
  --ll-white:#fff;
  --ll-glass:rgba(255,255,255,.78);
  --ll-line:rgba(13,27,42,.12);
  --ll-shadow:0 30px 70px rgba(7,21,34,.14),0 10px 25px rgba(7,21,34,.08);
  --ll-shadow-dark:0 35px 90px rgba(0,0,0,.38),0 12px 30px rgba(0,0,0,.22);
}
html{scroll-behavior:smooth}
body{background:#f5f8f7;color:var(--ll-ink);overflow-x:hidden}
body::before{content:"";position:fixed;inset:0;pointer-events:none;z-index:-2;background:radial-gradient(circle at 12% 8%,rgba(0,199,183,.07),transparent 30%),radial-gradient(circle at 88% 82%,rgba(13,27,42,.07),transparent 32%)}

/* --- attractive page entry --- */
.ll-preloader{position:fixed;inset:0;z-index:100000;background:radial-gradient(circle at 50% 45%,#123047 0,#071522 55%,#03090f 100%);display:grid;place-items:center;transition:opacity .65s ease,visibility .65s ease}
.ll-preloader.is-done{opacity:0;visibility:hidden;pointer-events:none}
.ll-loader{width:180px;text-align:center;color:#fff}
.ll-loader__mark{width:74px;height:74px;margin:0 auto 18px;filter:drop-shadow(0 0 22px rgba(0,199,183,.55));animation:llFloat 2.8s ease-in-out infinite}
.ll-loader__bar{height:3px;border-radius:99px;background:rgba(255,255,255,.14);overflow:hidden}
.ll-loader__bar span{display:block;width:45%;height:100%;background:linear-gradient(90deg,#14b8a6,#8ff8ef,#14b8a6);box-shadow:0 0 14px rgba(20,184,166,.8);animation:llLoad 1.25s ease-in-out infinite}
@keyframes llLoad{0%{transform:translateX(-120%)}100%{transform:translateX(360%)}}
@keyframes llFloat{50%{transform:translateY(-8px) rotateY(8deg)}}

/* --- header / logo correction --- */
.site-header{background:rgba(4,14,23,.92)!important;border-bottom:1px solid rgba(255,255,255,.12)!important;box-shadow:0 12px 34px rgba(0,0,0,.18);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);z-index:9000}
.site-header .brand{min-width:190px;display:flex;align-items:center}
.site-header .brand__lockup{width:190px!important;height:auto!important;max-height:58px;object-fit:contain;display:block;filter:none!important}
.site-header .brand img{max-width:190px;max-height:58px;object-fit:contain;filter:none!important}
.site-header .primary-nav a{color:rgba(255,255,255,.86)!important;font-weight:700;letter-spacing:.01em}
.site-header .primary-nav a:hover,.site-header .primary-nav a.is-current,.site-header .primary-nav a[aria-current=page]{color:#fff!important}
.site-header .primary-nav a::after{background:var(--ll-teal)!important;height:3px!important;box-shadow:0 0 12px rgba(0,199,183,.7)}
.site-header .header-actions .btn--outline{color:#fff!important;border-color:rgba(255,255,255,.35)!important;background:rgba(255,255,255,.05)!important}
.site-header .header-actions .btn--outline:hover{background:rgba(255,255,255,.12)!important}
.site-header .btn--primary{box-shadow:0 12px 28px rgba(0,199,183,.22),inset 0 1px 0 rgba(255,255,255,.28);font-weight:800}
.menu-toggle span{background:#fff!important;height:3px!important}

/* --- hero cinematic treatment --- */
.hero,.page-hero,.sbu-hero{position:relative;isolation:isolate;overflow:hidden}
.hero::before,.page-hero::before,.sbu-hero::before{content:"";position:absolute;inset:0;z-index:-3;background-image:var(--ll-hero-image,linear-gradient(135deg,#071522,#0d4650));background-size:cover;background-position:center;transform:scale(1.04);transition:background-image .9s ease,transform 9s ease;animation:llKenBurns 14s ease-in-out infinite alternate}
.hero::after,.page-hero::after,.sbu-hero::after{content:"";position:absolute;inset:0;z-index:-2;background:linear-gradient(90deg,rgba(3,11,18,.92) 0%,rgba(5,17,25,.72) 43%,rgba(0,0,0,.28) 100%),linear-gradient(180deg,rgba(0,199,183,.08),rgba(0,0,0,.36));pointer-events:none}
@keyframes llKenBurns{to{transform:scale(1.10) translate3d(-1%,-1%,0)}}
.hero .hero__copy,.page-hero .container,.sbu-hero .container{position:relative;z-index:2}
.hero h1,.page-hero h1,.sbu-hero h1{font-weight:800;letter-spacing:-.055em;text-shadow:0 8px 35px rgba(0,0,0,.35)}
.hero .lede,.page-hero p,.sbu-hero__lead{max-width:760px;color:rgba(255,255,255,.88)!important}
.hero .eyebrow,.page-hero .eyebrow,.sbu-hero .eyebrow{color:#71f2e8!important;text-shadow:0 0 18px rgba(0,199,183,.25)}

/* five-image cinematic rail */
.ll-visual-story{position:relative;overflow:hidden;padding:34px 0 72px;background:linear-gradient(180deg,#071522 0,#0a2635 58%,#f5f8f7 58%,#f5f8f7 100%)}
.ll-visual-story__head{position:relative;z-index:2;display:flex;align-items:end;justify-content:space-between;gap:24px;margin-bottom:22px;color:#fff}
.ll-visual-story__head h2{margin:0;color:#fff;font-size:clamp(1.8rem,3vw,3.2rem)}
.ll-visual-story__head p{margin:6px 0 0;color:rgba(255,255,255,.72);max-width:700px}
.ll-film{display:flex;gap:16px;overflow:hidden;padding:4px 0 12px;mask-image:linear-gradient(90deg,transparent,#000 5%,#000 95%,transparent)}
.ll-film__item{flex:0 0 clamp(230px,29vw,410px);height:255px;border-radius:24px;overflow:hidden;position:relative;box-shadow:var(--ll-shadow-dark);border:1px solid rgba(255,255,255,.18);transform:translateZ(0);transition:transform .5s ease,box-shadow .5s ease}
.ll-film__item:hover{transform:translateY(-10px) rotateX(2deg);box-shadow:0 45px 90px rgba(0,0,0,.42)}
.ll-film__item img{width:100%;height:100%;object-fit:cover;display:block;filter:saturate(1.06) contrast(1.05)}
.ll-film__item::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 45%,rgba(0,0,0,.74));}
.ll-film__caption{position:absolute;left:20px;right:20px;bottom:17px;z-index:2;color:#fff;font-weight:800;font-size:1.03rem}

/* --- cinematic sections, cards and buttons --- */
main>section{position:relative}
main>section:not(.hero):not(.page-hero):not(.sbu-hero){background-image:linear-gradient(rgba(255,255,255,.90),rgba(255,255,255,.90)),radial-gradient(circle at 10% 20%,rgba(0,199,183,.08),transparent 30%),radial-gradient(circle at 90% 80%,rgba(13,27,42,.08),transparent 32%)}
main>section.bg-mist{background-image:linear-gradient(rgba(230,238,237,.90),rgba(230,238,237,.90)),radial-gradient(circle at 80% 10%,rgba(0,199,183,.10),transparent 35%)}
.section-head{max-width:900px}
.section-head h2,h2{font-weight:800;letter-spacing:-.045em;line-height:1.05}
.section-head p{font-size:1.05rem}
.card,.model-card,.sbu-card,.feature-card,.glass-card,.service-card,.course-card,.news-card,.timeline-item{position:relative;border:1px solid rgba(13,27,42,.10)!important;background:linear-gradient(145deg,rgba(255,255,255,.92),rgba(239,246,244,.76))!important;box-shadow:0 20px 55px rgba(13,27,42,.10),0 3px 8px rgba(13,27,42,.05)!important;border-radius:24px!important;overflow:hidden;transition:transform .45s cubic-bezier(.2,.8,.2,1),box-shadow .45s ease,border-color .45s ease}
.card::before,.model-card::before,.sbu-card::before,.feature-card::before,.glass-card::before,.service-card::before,.course-card::before,.news-card::before{content:"";position:absolute;left:0;right:0;top:0;height:4px;background:linear-gradient(90deg,#0d1b2a,#00c7b7,#dce8f3);opacity:.95}
.card:hover,.model-card:hover,.sbu-card:hover,.feature-card:hover,.glass-card:hover,.service-card:hover,.course-card:hover,.news-card:hover{transform:translateY(-10px) perspective(1000px) rotateX(1deg);box-shadow:0 35px 75px rgba(13,27,42,.17),0 10px 20px rgba(0,199,183,.08)!important;border-color:rgba(0,199,183,.35)!important}
.card__icon,.model-card>span,.news-icon{width:54px!important;height:54px!important;display:grid!important;place-items:center!important;border-radius:16px!important;background:linear-gradient(145deg,#0d1b2a,#123c50)!important;color:#fff!important;border:1px solid rgba(255,255,255,.2);box-shadow:inset 0 1px 0 rgba(255,255,255,.28),0 12px 25px rgba(7,21,34,.18)!important;font-weight:900!important}
.btn{border-radius:14px!important;font-weight:800!important;letter-spacing:.01em;transition:transform .25s ease,box-shadow .25s ease,background .25s ease!important}
.btn:hover{transform:translateY(-3px)!important}
.btn--primary{background:linear-gradient(135deg,#00bfae,#18d8c4)!important;color:#05201f!important;box-shadow:0 16px 30px rgba(0,199,183,.25)!important}
.btn--outline{background:rgba(255,255,255,.06)!important;backdrop-filter:blur(10px)}

/* icon controls must feel like actual controls */
button,.icon-btn,.social-row a,.chevron-rail span,.site-widgets button{box-shadow:0 10px 22px rgba(7,21,34,.18);transition:transform .25s ease,box-shadow .25s ease,background .25s ease}
button:hover,.icon-btn:hover,.social-row a:hover,.chevron-rail span:hover,.site-widgets button:hover{transform:translateY(-3px) scale(1.03)}

/* reduce dead white space without crowding */
section{padding-top:clamp(58px,7vw,108px);padding-bottom:clamp(58px,7vw,108px)}
.hero,.page-hero,.sbu-hero{padding-top:clamp(120px,12vw,190px);padding-bottom:clamp(95px,10vw,150px)}
.split{align-items:center;gap:clamp(34px,6vw,100px)}
.split__media,.about-visual{min-height:380px;border-radius:28px;overflow:hidden;box-shadow:var(--ll-shadow)}
.media-slot{min-height:380px!important;border-radius:28px!important;background-image:linear-gradient(135deg,rgba(7,21,34,.25),rgba(0,199,183,.08)),url('https://images.pexels.com/photos/30688596/pexels-photo-30688596.jpeg?auto=compress&cs=tinysrgb&w=1600')!important;background-size:cover!important;background-position:center!important}
.media-slot__tag{display:none!important}

/* dark ecosystem bands */
.corporate-band,.capability-band,.cta-band{border-radius:32px!important;overflow:hidden;box-shadow:var(--ll-shadow-dark)!important;background:linear-gradient(120deg,#071522 0%,#0c3344 55%,#074e50 100%)!important;position:relative}
.corporate-band::after,.capability-band::after,.cta-band::after{content:"";position:absolute;inset:0;background-image:linear-gradient(90deg,rgba(7,21,34,.86),rgba(7,21,34,.35)),url('https://images.pexels.com/photos/37198880/pexels-photo-37198880.jpeg?auto=compress&cs=tinysrgb&w=1800');background-size:cover;background-position:center;mix-blend-mode:screen;opacity:.22;pointer-events:none}
.corporate-band>* ,.capability-band>* ,.cta-band>*{position:relative;z-index:2}

/* footer */
.site-footer{background:#06121d!important;color:rgba(255,255,255,.78)!important;border-top:1px solid rgba(255,255,255,.08)}
.site-footer .brand__lockup{width:210px;filter:none!important}
.site-footer a{color:rgba(255,255,255,.78)}
.site-footer h5{color:#fff}

/* page-level visual density */
[data-sbu-grid], [data-sbu-featured]{min-height:320px}
.sbu-grid{gap:24px!important}

@media(max-width:800px){
  .site-header .brand img,.site-header .brand__lockup{width:150px!important;max-height:48px}
  .ll-visual-story{padding-bottom:52px}
  .ll-visual-story__head{display:block}
  .ll-film{overflow-x:auto;scrollbar-width:none;mask-image:none;padding-bottom:18px}
  .ll-film::-webkit-scrollbar{display:none}
  .ll-film__item{flex-basis:82vw;height:220px}
  section{padding-top:56px;padding-bottom:56px}
}
@media(prefers-reduced-motion:reduce){
  *,*::before,*::after{scroll-behavior:auto!important;animation:none!important;transition-duration:.01ms!important}
  .ll-film__item:hover,.card:hover,.model-card:hover,.sbu-card:hover{transform:none!important}
}

/* moving visual energy on desktop without making the interface distracting */
@media(min-width:801px) and (prefers-reduced-motion:no-preference){
  .ll-film{animation:llFilmDrift 34s linear infinite}
  .ll-film:hover{animation-play-state:paused}
  @keyframes llFilmDrift{0%{transform:translateX(0)}50%{transform:translateX(-11%)}100%{transform:translateX(0)}}
}

/* stronger editorial typography */
.hero h1,.page-hero h1,.sbu-hero h1{font-size:clamp(3rem,7vw,7rem)!important;line-height:.95!important}
main h2{font-size:clamp(2rem,4vw,4.1rem);text-wrap:balance}
main h3{font-weight:800;letter-spacing:-.025em}
.eyebrow{font-weight:900;letter-spacing:.18em}

/* cinematic texture behind otherwise plain sections */
main>section:nth-of-type(3n+2)::before,main>section:nth-of-type(3n)::before{content:"";position:absolute;inset:0;pointer-events:none;opacity:.28;background-image:radial-gradient(circle at 20% 30%,rgba(0,199,183,.10) 0 1px,transparent 1.5px),radial-gradient(circle at 80% 70%,rgba(13,27,42,.08) 0 1px,transparent 1.5px);background-size:28px 28px,36px 36px}

/* floating edge lights make the experience feel dimensional */
main>section:not(.hero):not(.page-hero):not(.sbu-hero)::after{content:"";position:absolute;width:180px;height:180px;right:-80px;top:16%;border-radius:50%;background:radial-gradient(circle,rgba(0,199,183,.13),transparent 68%);filter:blur(4px);pointer-events:none}
