/* PHASE 17 — CINEMATIC CONTENT + CONTRAST REMEDIATION
   Surgical public-site layer. Does not replace backend, API, auth, CMS, SBU or LMS architecture. */
:root{
  --ll17-navy:#061529;--ll17-deep:#071b2b;--ll17-teal:#18d4c0;--ll17-mint:#8cf4e9;
  --ll17-white:#fff;--ll17-ink:#10202d;--ll17-muted:#5a6a76;--ll17-line:#dce6e9;
  --ll17-glass:rgba(255,255,255,.09);--ll17-shadow:0 28px 90px rgba(5,18,28,.18)
}
body{font-family:'Poppins','Segoe UI',Arial,sans-serif;color:var(--ll17-ink)}
h1,h2,h3,h4{font-family:'Poppins','Segoe UI',Arial,sans-serif;font-weight:800;letter-spacing:-.035em}
.site-header .brand__lockup{width:190px!important;height:auto!important;max-height:52px;object-fit:contain}
.site-header .brand{display:flex;align-items:center;min-width:190px}
.site-header{background:rgba(4,17,27,.94)!important;backdrop-filter:blur(18px);box-shadow:0 10px 35px rgba(0,0,0,.14)}
.site-header .primary-nav a{color:#f6fbfb!important}.site-header .primary-nav a:hover,.site-header .primary-nav a[aria-current="page"]{color:#69f0e2!important}
.site-header .btn--outline{color:#fff!important;border-color:rgba(255,255,255,.35)!important}
.site-header .btn--primary{box-shadow:0 12px 30px rgba(24,212,192,.22)}
/* Make every public hero unmistakably readable. */
.sbu-hero,.ict-hero,.page-hero{position:relative;isolation:isolate;overflow:hidden}
.sbu-hero:before,.ict-hero:before,.page-hero:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 78% 18%,rgba(24,212,192,.22),transparent 30%),linear-gradient(90deg,rgba(3,12,20,.72),rgba(3,12,20,.18));z-index:-1;pointer-events:none}
.sbu-hero h1,.ict-hero h1,.page-hero h1{color:#fff!important;text-shadow:0 5px 30px rgba(0,0,0,.35)}
.sbu-hero__lead,.page-hero p,.ict-hero .sbu-hero__lead{color:rgba(255,255,255,.86)!important;max-width:780px}
.eyebrow{font-weight:800;letter-spacing:.17em}.eyebrow--inverse{color:#72f2e5!important}
.section-head h2{color:var(--ll17-ink)!important}.section-head p{color:var(--ll17-muted)!important}
/* Premium visual-story panels */
.ll17-story{position:relative;overflow:hidden;min-height:480px;border-radius:30px;background:#071522;box-shadow:var(--ll17-shadow);isolation:isolate}
.ll17-story img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;transition:transform 1.1s cubic-bezier(.2,.8,.2,1)}
.ll17-story:hover img{transform:scale(1.045)}
.ll17-story:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(4,14,23,.08) 10%,rgba(4,14,23,.72) 100%)}
.ll17-story__copy{position:absolute;z-index:2;left:30px;right:30px;bottom:28px;color:#fff}.ll17-story__copy p{color:rgba(255,255,255,.8);max-width:650px}.ll17-story__tag{display:inline-flex;padding:.45rem .7rem;border-radius:999px;background:rgba(24,212,192,.16);border:1px solid rgba(140,244,233,.35);color:#9af8ee;font-size:.72rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase}
.ll17-photo-grid{display:grid;grid-template-columns:1.25fr .75fr;gap:18px}.ll17-photo-grid .ll17-story{min-height:320px}.ll17-photo-grid .ll17-story:first-child{min-height:520px}
/* Real, content-rich cards */
.ll17-card-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}
.ll17-card{position:relative;overflow:hidden;border:1px solid var(--ll17-line);border-radius:24px;background:#fff;box-shadow:0 18px 55px rgba(7,25,34,.09);transition:transform .35s ease,box-shadow .35s ease,border-color .35s ease}
.ll17-card:hover{transform:translateY(-8px);box-shadow:0 30px 80px rgba(7,25,34,.15);border-color:rgba(24,212,192,.42)}
.ll17-card__media{height:205px;overflow:hidden;background:#0a1d2b}.ll17-card__media img{width:100%;height:100%;object-fit:cover;transition:transform .7s ease}.ll17-card:hover .ll17-card__media img{transform:scale(1.06)}
.ll17-card__body{padding:24px}.ll17-card__number{font:800 .72rem/1 'JetBrains Mono',monospace;letter-spacing:.15em;color:#0e9488}.ll17-card h3{font-size:1.3rem;margin:.75rem 0 .55rem}.ll17-card p{color:#61717c;line-height:1.72}.ll17-card ul{display:grid;gap:.55rem;margin:1rem 0 1.2rem;padding:0}.ll17-card li{display:flex;gap:.55rem;color:#344650;font-size:.9rem}.ll17-card li:before{content:'✓';color:#0e9488;font-weight:900}
/* Replace empty data-driven areas with a stable visual shell. */
.sbu-grid,.ict-grid{min-height:100px}.sbu-card{background:#fff!important;color:var(--ll17-ink)!important;border:1px solid #dce6e9!important;box-shadow:0 18px 55px rgba(7,25,34,.09)!important}.sbu-card h3,.sbu-card p{color:var(--ll17-ink)!important}.sbu-card p{color:#5d6d77!important}.sbu-card__image-wrap{background:#0a1c2a!important}.sbu-card__body{background:#fff!important}.sbu-card__chips span{background:#edf8f6!important;color:#176d65!important}
/* Academy */
.ll17-academy-hero{position:relative;overflow:hidden;min-height:650px;background:#061529;color:#fff;display:grid;align-items:end}
.ll17-academy-hero__media{position:absolute;inset:0}.ll17-academy-hero__media img{width:100%;height:100%;object-fit:cover;object-position:center 38%}.ll17-academy-hero:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(3,13,22,.9),rgba(3,13,22,.5) 48%,rgba(3,13,22,.2)),linear-gradient(0deg,rgba(3,13,22,.72),transparent 55%)}.ll17-academy-hero__content{position:relative;z-index:2;padding:9rem 0 5rem}.ll17-academy-hero h1{font-size:clamp(3rem,6vw,6.2rem);line-height:.96;color:#fff;max-width:980px}.ll17-academy-hero h1 span{color:#55ead9}.ll17-academy-hero p{max-width:760px;color:rgba(255,255,255,.83);font-size:1.08rem;line-height:1.8;margin-top:1.4rem}
.ll17-program-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.ll17-program{position:relative;overflow:hidden;min-height:310px;border-radius:24px;background:linear-gradient(145deg,#071a2a,#0c3341);color:#fff;padding:28px;box-shadow:0 22px 65px rgba(5,18,28,.18);border:1px solid rgba(255,255,255,.1)}.ll17-program:after{content:"";position:absolute;width:180px;height:180px;right:-80px;top:-80px;border-radius:50%;background:rgba(24,212,192,.16)}.ll17-program .kicker{color:#7cf3e6;font-size:.72rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase}.ll17-program h3{color:#fff;margin:1rem 0 .6rem;font-size:1.35rem}.ll17-program p{color:rgba(255,255,255,.74);line-height:1.7}.ll17-program .meta{display:flex;gap:.5rem;flex-wrap:wrap;margin:1rem 0}.ll17-program .meta span{font-size:.72rem;padding:.35rem .6rem;border-radius:999px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.12)}
/* Registration / auth cinematic shell */
.auth-shell{background:#061529!important}.auth-brand-panel{position:relative;overflow:hidden;background:radial-gradient(circle at 70% 22%,rgba(24,212,192,.26),transparent 28%),linear-gradient(145deg,#061529,#092a3b 55%,#0b5b5a)!important;color:#fff}.auth-brand-panel:before{content:"";position:absolute;inset:0;background:none!important;opacity:0!important}.auth-brand-panel>*{position:relative;z-index:2}.auth-brand-panel .brand__word,.auth-brand-panel .quote,.auth-brand-panel .quote-attr{color:#fff!important}.auth-form-panel{background:#f5f8f9!important}.auth-form-panel__inner{background:#fff;border:1px solid #dce6e9;border-radius:30px;box-shadow:0 25px 80px rgba(6,21,41,.12);padding:clamp(1.5rem,4vw,3rem)!important}.auth-form-panel__inner h1{color:#071522!important}.auth-form-panel__inner p,.auth-form-panel__inner .field-hint,.auth-form-panel__inner .form-note{color:#5c6c76!important}.auth-form-panel__inner .field label{color:#1a2d39!important;font-weight:700}
/* ICT landing */
.ll17-ict-visual{position:relative;min-height:460px;border-radius:30px;overflow:hidden;background:#071522;box-shadow:var(--ll17-shadow)}.ll17-ict-visual img{width:100%;height:100%;object-fit:cover}.ll17-ict-visual:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(3,14,23,.05),rgba(3,14,23,.8))}.ll17-ict-visual__label{position:absolute;z-index:2;left:26px;bottom:25px;color:#fff}.ll17-ict-visual__label h3{color:#fff;font-size:1.6rem}
/* Contrast guardrails: no muted text on white where it becomes unreadable. */
.bg-mist,.panel,.card,.model-card,.ll17-card{color:var(--ll17-ink)}
.bg-mist h1,.bg-mist h2,.bg-mist h3,.panel h1,.panel h2,.panel h3,.card h1,.card h2,.card h3,.model-card h1,.model-card h2,.model-card h3{color:var(--ll17-ink)!important}
.bg-mist p,.panel p,.card p,.model-card p{color:#586b76!important}
/* footer */
.site-footer{background:#061529!important;color:#fff}.site-footer h5,.site-footer a,.site-footer span{color:rgba(255,255,255,.8)}
@media(max-width:950px){.ll17-card-grid,.ll17-program-grid{grid-template-columns:1fr 1fr}.ll17-photo-grid{grid-template-columns:1fr}.ll17-photo-grid .ll17-story,.ll17-story{min-height:360px}.ll17-academy-hero{min-height:620px}}
@media(max-width:650px){.site-header .brand{min-width:145px}.site-header .brand__lockup{width:150px!important}.ll17-card-grid,.ll17-program-grid{grid-template-columns:1fr}.ll17-story,.ll17-photo-grid .ll17-story{min-height:300px}.ll17-academy-hero{min-height:600px}.ll17-academy-hero__content{padding:7rem 0 3.5rem}.ll17-academy-hero h1{font-size:clamp(2.8rem,14vw,4.2rem)}.auth-form-panel__inner{border-radius:22px}}
@media(prefers-reduced-motion:reduce){.ll17-story img,.ll17-card,.ll17-card__media img{transition:none}}
.ll17-home-logo{width:min(520px,92vw)!important;height:auto!important;aspect-ratio:870/460!important;padding:0!important;border-radius:26px!important;overflow:hidden;background:#071522!important;border:1px solid rgba(255,255,255,.16);box-shadow:0 30px 80px rgba(0,0,0,.35)}.ll17-home-logo img{width:100%!important;height:100%!important;object-fit:cover!important;filter:none!important}.ll17-auth-points{margin-top:2rem;max-width:420px;padding:1.2rem 1.3rem;border:1px solid rgba(255,255,255,.18);border-radius:18px;background:rgba(255,255,255,.07);backdrop-filter:blur(12px)}.ll17-auth-points strong{display:block;color:#fff;font-size:1.05rem}.ll17-auth-points p{margin-top:.5rem;color:rgba(255,255,255,.72);line-height:1.65}.ll17-services-story{padding:0 0 6rem}.ll17-brand-reference{box-shadow:0 20px 55px rgba(0,0,0,.25)}
.site-header .brand__lockup{border-radius:10px;background:#071522;box-shadow:0 5px 18px rgba(0,0,0,.18);padding:0}.site-header .brand__lockup[src*="premium-lockup"]{object-fit:cover;object-position:center;width:185px!important;height:70px!important;max-height:none!important}
@media(max-width:650px){.site-header .brand__lockup[src*="premium-lockup"]{width:145px!important;height:58px!important}}
.ll17-auth-logo{width:240px!important;height:110px!important;object-fit:cover!important;border-radius:14px;box-shadow:0 14px 35px rgba(0,0,0,.18)}
