/* ── TLS SHARED DESIGN SYSTEM ── */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
:root{
  --ink:#06030f;--ink2:#0d0820;--ink3:#150f2a;--plum:#1e1240;
  --violet:#3d1f8a;--vivid:#7c3aed;--glow:#a78bfa;--shimmer:#c4b5fd;
  --gold:#e8c97a;--gold2:#f5e0a0;--cream:#faf6ff;--muted:#7a6d9a;
  --border:rgba(167,139,250,0.12);
}
html{scroll-behavior:smooth}
body{background:var(--ink);color:var(--cream);font-family:'Outfit',sans-serif;font-weight:300;overflow-x:hidden;cursor:none}
#cur{position:fixed;width:8px;height:8px;background:var(--gold);border-radius:50%;pointer-events:none;z-index:9999;transform:translate(-50%,-50%);transition:width .25s,height .25s,background .25s}
#cur2{position:fixed;width:44px;height:44px;border:1px solid rgba(232,201,122,.35);border-radius:50%;pointer-events:none;z-index:9998;transform:translate(-50%,-50%);transition:width .3s,height .3s,border-color .3s}
body.hovering #cur{width:20px;height:20px;background:var(--vivid)}
body.hovering #cur2{width:60px;height:60px;border-color:rgba(124,58,237,.5)}
.noise{position:fixed;inset:0;pointer-events:none;z-index:200;opacity:.028;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");background-size:200px 200px}
#starfield{position:fixed;inset:0;z-index:0;pointer-events:none}
nav{position:fixed;top:0;left:0;right:0;z-index:100;display:flex;justify-content:space-between;align-items:center;padding:1.4rem 3.5rem;transition:all .5s ease}
nav.scrolled{background:rgba(6,3,15,.88);backdrop-filter:blur(20px);border-bottom:1px solid var(--border)}
.logo{font-family:'Bebas Neue',sans-serif;font-size:1.4rem;letter-spacing:.18em;color:var(--cream);text-decoration:none;display:flex;align-items:center;gap:.6rem}
.logo-dot{width:7px;height:7px;background:var(--gold);border-radius:50%;animation:breathe 3s ease-in-out infinite}
@keyframes breathe{0%,100%{opacity:1;transform:scale(1)}50%{opacity:.4;transform:scale(.6)}}
.nav-links{display:flex;gap:1.8rem;list-style:none}
.nav-links a{font-size:.65rem;letter-spacing:.18em;text-transform:uppercase;color:var(--muted);text-decoration:none;transition:color .3s;position:relative}
.nav-links a::after{content:'';position:absolute;bottom:-4px;left:0;width:0;height:1px;background:var(--gold);transition:width .3s}
.nav-links a:hover,.nav-links a.active{color:var(--cream)}
.nav-links a:hover::after,.nav-links a.active::after{width:100%}
.nav-btn{font-size:.65rem;letter-spacing:.18em;text-transform:uppercase;color:var(--ink);background:var(--gold);padding:.6rem 1.4rem;border:none;text-decoration:none;font-family:'Outfit',sans-serif;font-weight:500;transition:all .3s;cursor:none;clip-path:polygon(0 0,calc(100% - 8px) 0,100% 8px,100% 100%,8px 100%,0 calc(100% - 8px))}
.nav-btn:hover{background:var(--gold2);transform:translateY(-1px)}
.ham-btn{display:none;flex-direction:column;gap:5px;background:none;border:none;cursor:none;padding:4px;z-index:110}
.ham-btn span{width:24px;height:1px;background:var(--cream);transition:all .4s ease;display:block}
.ham-btn.open span:nth-child(1){transform:translateY(6px) rotate(45deg)}
.ham-btn.open span:nth-child(2){opacity:0}
.ham-btn.open span:nth-child(3){transform:translateY(-6px) rotate(-45deg)}
/* MOBILE MENU - checkbox toggle, zero JavaScript, zero overlap */
.mob-menu-toggle{display:none}
.mob-screen{display:none;position:fixed;top:0;left:0;width:100%;height:100%;background:var(--ink2);z-index:9999;flex-direction:column;overflow-y:auto}
.mob-screen-head{display:flex;justify-content:space-between;align-items:center;padding:1.4rem 2rem;border-bottom:1px solid var(--border)}
.mob-screen-logo{font-family:'Bebas Neue',sans-serif;font-size:1.2rem;letter-spacing:.18em;color:var(--cream)}
.mob-screen-logo span{color:var(--gold)}
.mob-screen-links{flex:1;padding:1.5rem 2rem;display:flex;flex-direction:column}
.mob-screen-links a{display:flex;justify-content:space-between;align-items:center;padding:1.1rem 0;border-bottom:1px solid var(--border);font-size:1.25rem;color:var(--muted);text-decoration:none;font-family:'Playfair Display',serif;font-style:italic}
.mob-screen-links a:last-child{border-bottom:none}
.mob-screen-links a span{font-family:'Outfit',sans-serif;font-style:normal;font-size:.58rem;letter-spacing:.2em;color:rgba(167,139,250,.3)}
.mob-screen-links a:hover,.mob-screen-links a.active{color:var(--cream)}
.mob-screen-foot{padding:1.5rem 2rem 3rem;border-top:1px solid var(--border)}
.mob-screen-cta{display:block;background:var(--gold);color:var(--ink);text-align:center;padding:1rem;font-size:.75rem;letter-spacing:.18em;text-transform:uppercase;text-decoration:none;font-family:'Outfit',sans-serif;font-weight:600;margin-bottom:1.2rem}
.mob-screen-verse{font-family:'Playfair Display',serif;font-style:italic;font-size:.8rem;color:var(--muted);line-height:1.6}
.mob-close-label{background:none;border:none;color:var(--muted);font-size:1.8rem;line-height:1;cursor:pointer;padding:.25rem .5rem}
@media(max-width:900px){
  .mob-menu-toggle:checked ~ .mob-screen{display:flex}
}
#loader{position:fixed;inset:0;z-index:10000;background:var(--ink);display:flex;flex-direction:column;align-items:center;justify-content:center;transition:opacity .9s ease,transform .9s ease;overflow:hidden}
#loader.hide{opacity:0;pointer-events:none;transform:scale(1.04)}
body.loading{overflow:hidden}
.ld-bg{position:absolute;inset:0;background:radial-gradient(ellipse 60% 60% at 50% 40%,rgba(124,58,237,.18) 0%,transparent 70%);opacity:0;animation:ldBgIn 1s ease forwards .6s}
@keyframes ldBgIn{to{opacity:1}}
.ld-lantern{position:relative;z-index:2;opacity:0;transform:translateY(-60px);animation:ldLanternDrop 1s cubic-bezier(.34,1.56,.64,1) forwards .2s;filter:drop-shadow(0 0 30px rgba(124,58,237,.6)) drop-shadow(0 0 60px rgba(232,201,122,.25))}
@keyframes ldLanternDrop{to{opacity:1;transform:translateY(0)}}
.ld-beam{position:absolute;top:calc(50% + 60px);left:50%;transform:translateX(-50%);width:2px;height:0;background:linear-gradient(to bottom,rgba(232,201,122,.5),transparent);animation:ldBeam .8s ease forwards 1s}
@keyframes ldBeam{to{height:140px}}
.ld-beam-wide{position:absolute;top:calc(50% + 60px);left:50%;transform:translateX(-50%);width:0;height:120px;background:linear-gradient(to bottom,rgba(124,58,237,.12),transparent);clip-path:polygon(50% 0%,0% 100%,100% 100%);animation:ldBeamWide .9s ease forwards 1.1s}
@keyframes ldBeamWide{to{width:180px}}
.ld-rings{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);pointer-events:none}
.ld-ring{position:absolute;border-radius:50%;border:1px solid rgba(124,58,237,.15);transform:translate(-50%,-50%) scale(0);animation:ldRingExpand 1.2s ease forwards}
.ld-ring:nth-child(1){width:220px;height:220px;animation-delay:.4s}
.ld-ring:nth-child(2){width:360px;height:360px;animation-delay:.55s;border-color:rgba(232,201,122,.07)}
.ld-ring:nth-child(3){width:500px;height:500px;animation-delay:.7s;border-color:rgba(124,58,237,.06)}
@keyframes ldRingExpand{from{transform:translate(-50%,-50%) scale(0);opacity:0}60%{opacity:1}to{transform:translate(-50%,-50%) scale(1);opacity:.6}}
.ld-wordmark{position:relative;z-index:2;margin-top:2rem;display:flex;flex-direction:column;align-items:center;gap:.5rem;opacity:0;animation:ldWordIn .6s ease forwards 1.4s}
@keyframes ldWordIn{to{opacity:1}}
.ld-name{font-family:'Bebas Neue',sans-serif;font-size:clamp(2.5rem,8vw,5rem);letter-spacing:.35em;color:var(--cream);overflow:hidden;display:flex}
.ld-name span{display:inline-block;opacity:0;transform:translateY(100%);animation:ldLetterUp .5s cubic-bezier(.22,1,.36,1) forwards}
.ld-sub{font-size:.65rem;letter-spacing:.55em;text-transform:uppercase;color:var(--gold);opacity:0;animation:ldSubIn .6s ease forwards 2.2s}
.ld-tagline{font-family:'Playfair Display',serif;font-style:italic;font-size:.95rem;color:var(--muted);opacity:0;margin-top:.3rem;animation:ldSubIn .6s ease forwards 2.5s}
@keyframes ldSubIn{to{opacity:1}}
@keyframes ldLetterUp{to{opacity:1;transform:translateY(0)}}
.ld-bar-wrap{position:absolute;bottom:2.5rem;left:50%;transform:translateX(-50%);width:160px;opacity:0;animation:ldSubIn .4s ease forwards 1.6s}
.ld-bar-track{width:100%;height:1px;background:rgba(167,139,250,.15);position:relative;overflow:hidden}
.ld-bar-fill{position:absolute;left:0;top:0;height:100%;width:0;background:linear-gradient(to right,var(--vivid),var(--gold));animation:ldBarFill 2s ease forwards 1.8s}
@keyframes ldBarFill{to{width:100%}}
.ld-pct{font-size:.6rem;letter-spacing:.2em;color:var(--muted);text-align:right;margin-top:.5rem}
.s{position:relative;z-index:1}
.container{max-width:1160px;margin:0 auto;padding:0 3.5rem}
.s-eye{font-size:.65rem;letter-spacing:.4em;text-transform:uppercase;color:var(--gold);margin-bottom:1rem;display:block}
.s-h2{font-family:'Playfair Display',serif;font-size:clamp(2.5rem,6vw,5rem);font-weight:700;line-height:1;margin-bottom:1.2rem}
.s-h2 em{font-style:italic;font-weight:400;color:var(--glow)}
.s-bar{width:40px;height:2px;background:var(--gold);margin-bottom:2rem}
.page-hero{padding:12rem 0 6rem;position:relative;z-index:1;border-bottom:1px solid var(--border)}
.page-hero-inner{max-width:1160px;margin:0 auto;padding:0 3.5rem}
.page-tag{font-size:.65rem;letter-spacing:.45em;text-transform:uppercase;color:var(--gold);margin-bottom:1.2rem;display:block}
.page-h1{font-family:'Playfair Display',serif;font-size:clamp(3rem,8vw,7rem);font-weight:900;line-height:.9;letter-spacing:-.02em;margin-bottom:1.5rem}
.page-h1 em{font-weight:400;font-style:italic;color:transparent;-webkit-text-stroke:1px rgba(167,139,250,.7)}
.page-sub{font-size:1.05rem;line-height:1.85;color:var(--muted);max-width:560px}
.rv{opacity:0;transform:translateY(40px);transition:opacity .9s ease,transform .9s ease}
.rv.on{opacity:1;transform:none}
.rv-l{opacity:0;transform:translateX(-50px);transition:opacity .9s ease,transform .9s ease}
.rv-l.on{opacity:1;transform:none}
.rv-r{opacity:0;transform:translateX(50px);transition:opacity .9s ease,transform .9s ease}
.rv-r.on{opacity:1;transform:none}
.btn-a{font-family:'Outfit',sans-serif;font-size:.75rem;letter-spacing:.15em;text-transform:uppercase;font-weight:500;color:var(--ink);background:var(--gold);padding:1rem 2.2rem;text-decoration:none;transition:all .3s;cursor:none;clip-path:polygon(0 0,calc(100% - 10px) 0,100% 10px,100% 100%,10px 100%,0 calc(100% - 10px));display:inline-block}
.btn-a:hover{background:var(--gold2);transform:translateY(-3px)}
.btn-b{font-family:'Outfit',sans-serif;font-size:.75rem;letter-spacing:.15em;text-transform:uppercase;font-weight:400;color:var(--shimmer);background:transparent;padding:1rem 2.2rem;text-decoration:none;border:1px solid rgba(167,139,250,.3);transition:all .3s;cursor:none;display:inline-block}
.btn-b:hover{border-color:var(--shimmer);color:var(--cream)}
footer{border-top:1px solid var(--border);padding:2.5rem 3.5rem;position:relative;z-index:1}
.f-top{display:flex;justify-content:space-between;align-items:flex-start;flex-wrap:wrap;gap:2rem;margin-bottom:2rem}
.f-logo{font-family:'Bebas Neue',sans-serif;font-size:1.2rem;letter-spacing:.2em;color:var(--cream);text-decoration:none}
.f-logo span{color:var(--gold)}
.f-tagline{font-family:'Playfair Display',serif;font-style:italic;font-size:.82rem;color:var(--muted);margin-top:.4rem;max-width:220px;line-height:1.5}
.f-cols{display:flex;gap:4rem;flex-wrap:wrap}
.f-col-title{font-size:.6rem;letter-spacing:.3em;text-transform:uppercase;color:var(--gold);margin-bottom:1rem}
.f-col-links{display:flex;flex-direction:column;gap:.6rem}
.f-col-links a{font-size:.8rem;color:var(--muted);text-decoration:none;transition:color .3s}
.f-col-links a:hover{color:var(--cream)}
.f-socials{display:flex;gap:.5rem;margin-top:1rem}
.f-soc{width:36px;height:36px;border:1px solid var(--border);display:flex;align-items:center;justify-content:center;text-decoration:none;cursor:none;transition:border-color .3s,background .3s,transform .25s}
.f-soc svg{width:14px;height:14px;fill:var(--muted);transition:fill .3s}
.f-soc:hover{border-color:rgba(232,201,122,.4);background:rgba(232,201,122,.06);transform:translateY(-2px)}
.f-soc:hover svg{fill:var(--gold)}
.f-bottom{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:1rem;padding-top:1.5rem;border-top:1px solid var(--border)}
.f-copy{font-size:.7rem;color:var(--muted);letter-spacing:.05em}
.f-verse{font-family:'Playfair Display',serif;font-style:italic;font-size:.82rem;color:var(--muted);line-height:1.5}
.soc-row{display:flex;gap:.6rem;flex-wrap:wrap;margin-top:1.75rem}
.soc-link{display:inline-flex;align-items:center;gap:.55rem;font-size:.65rem;letter-spacing:.18em;text-transform:uppercase;color:var(--muted);border:1px solid var(--border);padding:.55rem 1rem;text-decoration:none;cursor:none;transition:color .3s,border-color .3s,background .3s,transform .25s;position:relative;overflow:hidden}
.soc-link::before{content:'';position:absolute;inset:0;background:var(--vivid);opacity:0;transition:opacity .3s}
.soc-link:hover{color:var(--cream);border-color:rgba(124,58,237,.5);transform:translateY(-2px)}
.soc-link:hover::before{opacity:.08}
.soc-icon{width:13px;height:13px;flex-shrink:0;position:relative;z-index:1;fill:currentColor}
.soc-link span{position:relative;z-index:1}
.marquee-wrap{border-top:1px solid var(--border);border-bottom:1px solid var(--border);padding:.9rem 0;overflow:hidden;position:relative;z-index:1;background:rgba(13,8,32,.6)}
.marquee-track{display:flex;gap:0;white-space:nowrap;animation:marquee 22s linear infinite}
@keyframes marquee{from{transform:translateX(0)}to{transform:translateX(-50%)}}
.marquee-item{font-family:'Bebas Neue',sans-serif;font-size:1.1rem;letter-spacing:.25em;color:var(--muted);padding:0 2.5rem;display:inline-flex;align-items:center;gap:2.5rem}
.marquee-item span{color:var(--gold);font-size:.6rem}
.stats-row{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;margin-top:3rem;background:var(--border)}
.stat{background:var(--ink2);padding:1.75rem 1.25rem;transition:background .4s}
.stat:hover{background:var(--ink3)}
.stat-n{font-family:'Playfair Display',serif;font-size:3rem;font-weight:700;color:var(--gold);line-height:1}
.stat-l{font-size:.7rem;letter-spacing:.15em;text-transform:uppercase;color:var(--muted);margin-top:.5rem}
.cf-row{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--border);margin-bottom:1px}
.cf-field{background:var(--ink2);display:flex;flex-direction:column;padding:1.25rem 1.5rem;transition:background .3s}
.cf-field:focus-within{background:var(--ink3)}
.cf-field.full{grid-column:1/-1}
.cf-label{font-size:.6rem;letter-spacing:.25em;text-transform:uppercase;color:var(--muted);margin-bottom:.6rem}
.cf-input,.cf-select,.cf-textarea{background:transparent;border:none;outline:none;color:var(--cream);font-family:'Outfit',sans-serif;font-size:.95rem;font-weight:300;cursor:none;width:100%}
.cf-input::placeholder,.cf-textarea::placeholder{color:rgba(122,109,154,.4)}
.cf-textarea{height:110px;resize:none}
.cf-select{appearance:none;color:var(--muted)}
.cf-select option{background:var(--ink2)}
.cf-submit{width:100%;background:var(--gold);color:var(--ink);border:none;padding:1.3rem;font-family:'Outfit',sans-serif;font-size:.8rem;letter-spacing:.2em;text-transform:uppercase;font-weight:600;cursor:none;transition:background .3s,transform .2s}
.cf-submit:hover{background:var(--gold2);transform:translateY(-2px)}
@media(max-width:900px){
  nav{padding:1.2rem 1.5rem}
  .nav-links,.nav-btn{display:none}
  .ham-btn{display:flex}
  .container,.page-hero-inner{padding:0 1.5rem}
  footer{padding:2rem 1.5rem}
  .f-top{flex-direction:column}
  .f-cols{gap:2rem}
  .f-bottom{flex-direction:column;align-items:flex-start}
  .cf-row{grid-template-columns:1fr}
  .stats-row{grid-template-columns:1fr 1fr}
}
@media(hover:none),(pointer:coarse){
  body{cursor:auto}
  #cur,#cur2{display:none}
  a,button{cursor:pointer}
  .nav-btn,.btn-a,.btn-b,.ham-btn,.mob-close,.mob-cta,.mob-nav a,.cf-submit,.f-soc,.soc-link,.nl-btn{cursor:pointer}
}
