/*
Theme Name: LYSTON Premium
Theme URI: https://lystongroup.com/
Author: LYSTON Group
Description: Premium LYSTON Group theme v5. Full-width luxury layout, animated Gulf city, animated Kenya-Gulf route, improved contact page, no location assumptions.
Version: 1.3.0
Requires at least: 6.0
Requires PHP: 7.4
Text Domain: lyston-premium
*/

:root{
  --ly-bg:#040914;
  --ly-bg2:#07111f;
  --ly-navy:#07111f;
  --ly-navy2:#0a1e34;
  --ly-gold:#c89f49;
  --ly-gold2:#e9cf82;
  --ly-cream:#f6eddd;
  --ly-white:#fff;
  --ly-text:#101827;
  --ly-body:#475569;
  --ly-line:rgba(232,203,128,.24);
  --ly-shadow:0 32px 110px rgba(0,0,0,.36);
  --mx:0;
  --my:0;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--ly-bg);color:#fff;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;overflow-x:hidden}
a{text-decoration:none;color:inherit}
img,svg{max-width:100%}
.lyston-wrap{width:min(1160px,calc(100vw - 88px));margin-inline:auto}

/* Header */
.lyston-header{position:sticky;top:0;z-index:100;background:rgba(4,9,20,.92);border-bottom:1px solid rgba(255,255,255,.10);backdrop-filter:blur(18px)}
.admin-bar .lyston-header{top:32px}
.lyston-nav{min-height:76px;display:flex;align-items:center;justify-content:space-between;gap:26px}
.lyston-logo img{display:block;width:176px;height:auto}
.lyston-menu{display:flex;align-items:center;justify-content:flex-end;gap:26px;flex:1}
.lyston-menu a{position:relative;color:rgba(255,255,255,.9);font-size:14px;font-weight:800;transition:.22s ease}
.lyston-menu a:hover,.lyston-menu a.active{color:var(--ly-gold2)}
.lyston-menu a.active:not(.lyston-nav-cta)::after{content:"";position:absolute;left:0;bottom:-27px;width:38px;height:2px;background:var(--ly-gold)}
.lyston-nav-cta{border:1px solid rgba(232,203,128,.55);border-radius:8px;padding:11px 17px;color:var(--ly-gold2)!important}

/* Typography */
.lyston-kicker{display:inline-flex;align-items:center;gap:11px;color:var(--ly-gold2);font-size:13px;font-weight:900;letter-spacing:.18em;text-transform:uppercase;margin-bottom:16px}
.lyston-kicker:before{content:"";width:32px;height:1px;background:var(--ly-gold2)}
.lyston-h1,.lyston-h2,.lyston-h3{margin:0;font-weight:900;letter-spacing:-.055em}
.lyston-h1{font-family:Georgia,"Times New Roman",serif;font-size:clamp(52px,6.3vw,82px);line-height:.98;max-width:760px;color:#fff}
.lyston-h2{font-family:Georgia,"Times New Roman",serif;font-size:clamp(34px,4vw,50px);line-height:1.05;color:inherit}
.lyston-h3{font-size:24px;line-height:1.1}
.gold{color:var(--ly-gold2)}
.lyston-lead{max-width:640px;margin:22px 0 0;color:rgba(255,255,255,.82);font-size:18px;line-height:1.78}
.lyston-body{max-width:740px;margin:18px 0 0;color:var(--ly-body);font-size:17px;line-height:1.75}

/* Hero close to approved mockup */
.lyston-hero{position:relative;min-height:690px;padding:72px 0 56px;isolation:isolate;overflow:hidden;background:linear-gradient(90deg,#040914 0%,#061224 45%,#0c223a 100%)}
.lyston-hero::before{content:"";position:absolute;inset:0;z-index:-5;background:radial-gradient(circle at 76% 42%,rgba(232,203,128,.28),transparent 28%),linear-gradient(90deg,rgba(4,9,20,1) 0%,rgba(4,9,20,.9) 37%,rgba(4,9,20,.34) 70%,rgba(4,9,20,.18) 100%)}
.lyston-hero::after{content:"";position:absolute;inset:0;z-index:-4;background:linear-gradient(90deg,rgba(4,9,20,.75),transparent 50%),radial-gradient(circle at 20% 20%,rgba(200,159,73,.16),transparent 28%)}
.lyston-city{position:absolute;right:-20px;bottom:0;width:min(760px,58vw);height:610px;z-index:-3;transform:translate(calc(var(--mx)*-22px),calc(var(--my)*-14px));opacity:.98}
.lyston-city svg{width:100%;height:100%;display:block}
.city-back{opacity:.42;animation:cityDrift 18s ease-in-out infinite alternate}
.city-mid{opacity:.72;animation:cityDrift 14s ease-in-out infinite alternate-reverse}
.city-front{opacity:.95}
.city-lights circle{animation:cityBlink 2.8s ease-in-out infinite;filter:drop-shadow(0 0 5px #e9cf82)}
.city-lights circle:nth-child(2n){animation-delay:.7s}
.city-lights circle:nth-child(3n){animation-delay:1.4s}
.lyston-water{position:absolute;right:0;bottom:0;width:780px;height:120px;z-index:-2;background:repeating-linear-gradient(174deg,rgba(232,203,128,.12) 0 1px,transparent 1px 26px),linear-gradient(180deg,transparent,rgba(0,0,0,.46));mask-image:linear-gradient(to right,transparent,black 18%,black);animation:waterMove 9s linear infinite}
.lyston-glow{position:absolute;right:-110px;top:-120px;width:560px;height:560px;border-radius:50%;z-index:-4;background:radial-gradient(circle,rgba(232,203,128,.20),transparent 70%);animation:breath 7s ease-in-out infinite}

.lyston-hero-grid{display:grid;grid-template-columns:.92fr .78fr;align-items:center;gap:46px;position:relative}
.lyston-actions{margin-top:30px;display:flex;gap:14px;flex-wrap:wrap}
.lyston-btn{display:inline-flex;align-items:center;justify-content:center;min-height:50px;padding:0 22px;border-radius:7px;font-size:14px;font-weight:900;border:1px solid transparent;transition:.24s ease}
.lyston-btn:hover{transform:translateY(-3px)}
.lyston-btn.gold{color:#06101d;background:linear-gradient(135deg,var(--ly-gold),var(--ly-gold2));box-shadow:0 18px 44px rgba(200,159,73,.30)}
.lyston-btn.ghost{color:#fff;border-color:rgba(255,255,255,.34);background:rgba(255,255,255,.05)}
.lyston-btn.dark{color:#fff;background:var(--ly-navy);border-color:rgba(255,255,255,.12)}
.lyston-btn.light{color:var(--ly-navy);background:#fff;border-color:rgba(7,17,31,.10)}
.lyston-trust{margin-top:38px;display:grid;grid-template-columns:repeat(4,1fr);gap:18px;max-width:760px}
.lyston-trust-item{display:grid;grid-template-columns:28px 1fr;gap:9px;align-items:center;color:rgba(255,255,255,.78);font-size:12px;line-height:1.35;font-weight:800}
.lyston-trust-icon{width:28px;height:28px;color:var(--ly-gold2)}

.lyston-route-card{justify-self:end;width:min(420px,100%);min-height:188px;margin-top:180px;padding:30px;border:1px solid rgba(232,203,128,.28);border-radius:12px;background:linear-gradient(135deg,rgba(5,11,20,.82),rgba(10,24,42,.54));box-shadow:var(--ly-shadow);backdrop-filter:blur(12px);position:relative;overflow:hidden}
.lyston-route-card svg{position:absolute;inset:0;width:100%;height:100%}
.route-line{stroke-dasharray:460;stroke-dashoffset:460;animation:routeDraw 2.4s ease forwards .4s}
.route-pulse{animation:routePulse 2s ease-in-out infinite;transform-origin:center}
.lyston-route-card-content{position:relative;z-index:2;display:flex;align-items:end;justify-content:space-between;height:128px}
.lyston-route-card strong{display:block;color:var(--ly-gold2);font-size:25px;line-height:1}
.lyston-route-card span{display:block;margin-top:6px;color:rgba(255,255,255,.78);font-size:13px;line-height:1.28}

/* Sections */
.lyston-section{padding:76px 0}
.lyston-section.dark{background:radial-gradient(circle at 8% 0,rgba(200,159,73,.16),transparent 26%),linear-gradient(135deg,#050b14,#071a2d)}
.lyston-section.cream{background:var(--ly-cream);color:var(--ly-text)}
.lyston-feature-board{overflow:hidden;border:1px solid rgba(232,203,128,.25);border-radius:12px;background:#06101d;box-shadow:var(--ly-shadow)}
.lyston-feature-grid{display:grid;grid-template-columns:1fr 1fr}
.lyston-feature-card{min-height:280px;padding:34px;position:relative;display:flex;align-items:end;overflow:hidden}
.lyston-feature-card:after{content:"";position:absolute;inset:0;background:linear-gradient(120deg,transparent,rgba(255,255,255,.14),transparent);transform:translateX(-140%);animation:imageShine 6s ease-in-out infinite}
.lyston-feature-card>div{position:relative;z-index:2}
.lyston-feature-card.employer{background:linear-gradient(90deg,rgba(4,9,20,.95),rgba(4,9,20,.22)),radial-gradient(circle at 72% 35%,rgba(255,255,255,.40),transparent 22%),radial-gradient(circle at 86% 35%,rgba(232,203,128,.42),transparent 19%),linear-gradient(135deg,#08111e,#b6a286)}
.lyston-feature-card.candidate{background:linear-gradient(90deg,rgba(246,237,221,.98),rgba(246,237,221,.44)),radial-gradient(circle at 82% 24%,rgba(7,17,31,.32),transparent 12%),radial-gradient(circle at 86% 72%,rgba(7,17,31,.38),transparent 22%),linear-gradient(135deg,#f6eddd,#e2c894)}
.lyston-feature-card.candidate h3,.lyston-feature-card.candidate p{color:var(--ly-navy)}
.lyston-eyebrow{color:var(--ly-gold2);font-size:12px;letter-spacing:.15em;text-transform:uppercase;font-weight:900;margin-bottom:12px}
.lyston-feature-card.candidate .lyston-eyebrow{color:var(--ly-gold)}
.lyston-feature-card h3{font-family:Georgia,"Times New Roman",serif;font-size:31px;line-height:1.04;margin:0 0 12px;color:#fff}
.lyston-feature-card p{max-width:340px;line-height:1.65;color:rgba(255,255,255,.80)}
.lyston-stats{border-top:1px solid rgba(232,203,128,.18);display:grid;grid-template-columns:repeat(4,1fr)}
.lyston-stat{padding:26px 30px;border-right:1px solid rgba(232,203,128,.14)}
.lyston-stat:last-child{border-right:0}
.lyston-stat strong{display:block;color:var(--ly-gold2);font-size:36px;line-height:1;letter-spacing:-.04em}
.lyston-stat span{display:block;margin-top:8px;color:rgba(255,255,255,.70);font-size:13px}

.lyston-process{display:grid;grid-template-columns:1.33fr .67fr;gap:42px}
.lyston-steps{display:grid;grid-template-columns:repeat(5,1fr);gap:18px;margin-top:38px}
.lyston-step-num{width:44px;height:44px;border:1px solid var(--ly-gold2);border-radius:999px;display:grid;place-items:center;color:#fff;margin-bottom:16px;font-size:14px;font-weight:900}
.lyston-step h3{font-size:16px;color:#fff;margin:0 0 7px}
.lyston-step p{font-size:13px;color:rgba(255,255,255,.68);line-height:1.62;margin:0}
.lyston-process-card{padding:32px;border-radius:12px;border:1px solid rgba(232,203,128,.32);background:linear-gradient(135deg,rgba(255,255,255,.06),rgba(255,255,255,.025)),radial-gradient(circle at 88% 55%,rgba(232,203,128,.15),transparent 34%)}

.lyston-logo-strip{padding:50px 0;background:var(--ly-cream);color:var(--ly-text)}
.lyston-logo-row{margin-top:24px;display:grid;grid-template-columns:repeat(6,1fr);gap:18px;opacity:.72}
.lyston-partner-logo{min-height:58px;display:grid;place-items:center;border-radius:12px;color:#7c8799;font-weight:900;letter-spacing:.04em;background:rgba(255,255,255,.58)}

/* Inner pages and premium contact */
.lyston-page-hero{padding:88px 0;background:radial-gradient(circle at 18% 0,rgba(200,159,73,.20),transparent 30%),linear-gradient(135deg,#050b14,#0a1c31)}
.lyston-page-hero .lyston-h1{font-size:clamp(44px,5.6vw,74px);max-width:920px}
.lyston-page-main{background:var(--ly-cream);color:var(--ly-text)}
.lyston-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:38px}
.lyston-card{padding:30px;border-radius:14px;background:rgba(255,255,255,.75);border:1px solid rgba(7,17,31,.10);box-shadow:0 18px 60px rgba(7,17,31,.08);transition:.25s ease}
.lyston-card:hover{transform:translateY(-6px);box-shadow:0 26px 80px rgba(7,17,31,.13)}
.lyston-card h3{margin:0 0 12px;color:var(--ly-text);font-size:22px;line-height:1.1}
.lyston-card p,.lyston-card li{color:#475569;font-size:15px;line-height:1.7}
.lyston-notice,.lyston-warning{margin-top:34px;padding:28px;border-radius:14px}
.lyston-notice{background:rgba(200,159,73,.14);border:1px solid rgba(200,159,73,.28)}
.lyston-warning{background:rgba(127,29,29,.08);border:1px solid rgba(127,29,29,.18)}
.lyston-contact-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:22px;margin-top:38px}
.lyston-contact-card{position:relative;overflow:hidden;min-height:260px;padding:30px;border-radius:16px;background:linear-gradient(135deg,#07111f,#0c223a);border:1px solid rgba(200,159,73,.28);box-shadow:0 24px 70px rgba(7,17,31,.20);color:#fff}
.lyston-contact-card:before{content:"";position:absolute;right:-80px;top:-80px;width:220px;height:220px;border-radius:50%;background:radial-gradient(circle,rgba(232,203,128,.20),transparent 70%)}
.lyston-contact-card h3{position:relative;margin:0 0 12px;color:#fff}
.lyston-contact-card p{position:relative;color:rgba(255,255,255,.72)}
.lyston-email{position:relative;display:inline-flex;margin-top:14px;color:var(--ly-gold2)!important;font-weight:900;border-bottom:1px solid rgba(232,203,128,.58)}
.lyston-channel-note{margin-top:26px;color:#475569;font-weight:700}

/* Footer */
.lyston-footer-cta{padding:54px 0;background:linear-gradient(90deg,rgba(5,11,20,.96),rgba(5,11,20,.72)),radial-gradient(circle at 12% 70%,rgba(200,159,73,.24),transparent 22%)}
.lyston-cta-row{display:flex;align-items:center;justify-content:space-between;gap:26px}
.lyston-cta-row h2{font-size:clamp(28px,3.4vw,42px);color:#fff}
.lyston-footer{padding:56px 0 30px;background:#050b14;border-top:1px solid rgba(255,255,255,.10)}
.lyston-footer-grid{display:grid;grid-template-columns:1.25fr .8fr 1fr 1.1fr;gap:42px}
.lyston-footer p,.lyston-footer a,.lyston-footer li{color:rgba(255,255,255,.68);font-size:14px;line-height:1.75}
.lyston-footer a:hover{color:var(--ly-gold2)}
.lyston-footer h3{margin:0 0 16px;color:#fff;font-size:16px}
.lyston-footer ul{list-style:none;margin:0;padding:0}
.lyston-footer .lyston-logo img{width:176px}
.lyston-bottom{border-top:1px solid rgba(255,255,255,.10);margin-top:36px;padding-top:22px;display:flex;justify-content:space-between;gap:20px;color:rgba(255,255,255,.52);font-size:13px}
.lyston-bottom a{margin-left:18px}

/* Animations */
.will-reveal{opacity:0;transform:translateY(28px);transition:opacity .75s ease,transform .75s ease}
.will-reveal.is-visible{opacity:1;transform:translateY(0)}
@keyframes routeDraw{to{stroke-dashoffset:0}}
@keyframes routePulse{0%,100%{opacity:.25;transform:scale(1)}50%{opacity:1;transform:scale(1.12)}}
@keyframes cityDrift{0%{transform:translateX(0)}100%{transform:translateX(-16px)}}
@keyframes cityBlink{0%,100%{opacity:.20}50%{opacity:1}}
@keyframes waterMove{from{background-position:0 0}to{background-position:160px 0}}
@keyframes imageShine{0%,60%{transform:translateX(-140%)}78%,100%{transform:translateX(140%)}}
@keyframes breath{0%,100%{opacity:.72;transform:scale(1)}50%{opacity:1;transform:scale(1.04)}}

/* Responsive */
@media(max-width:1060px){
  .lyston-wrap{width:min(100vw - 40px,1160px)}
  .lyston-menu{gap:15px;flex-wrap:wrap}
  .lyston-hero-grid,.lyston-feature-grid,.lyston-process,.lyston-footer-grid{grid-template-columns:1fr}
  .lyston-city{width:90vw;opacity:.50}
  .lyston-route-card{margin-top:20px;justify-self:start}
  .lyston-trust,.lyston-stats,.lyston-steps,.lyston-logo-row,.lyston-grid,.lyston-contact-grid{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:720px){
  .admin-bar .lyston-header{top:0}
  .lyston-wrap{width:min(100vw - 28px,1160px)}
  .lyston-header{position:relative}
  .lyston-nav{min-height:auto;flex-direction:column;align-items:flex-start;padding:18px 0}
  .lyston-menu{justify-content:flex-start}
  .lyston-menu a{font-size:13px}
  .lyston-menu a.active:after{display:none!important}
  .lyston-logo img{width:158px}
  .lyston-h1{font-size:42px}
  .lyston-h2{font-size:34px}
  .lyston-hero{min-height:auto;padding:60px 0}
  .lyston-city{display:none}
  .lyston-section{padding:60px 0}
  .lyston-trust,.lyston-stats,.lyston-steps,.lyston-logo-row,.lyston-grid,.lyston-contact-grid{grid-template-columns:1fr}
  .lyston-actions,.lyston-cta-row,.lyston-bottom{flex-direction:column;align-items:flex-start}
  .lyston-btn{width:100%}
}


/* v5 footer contact refinement */
.lyston-footer .lyston-email + br + span,
.lyston-contact-card .lyston-email + br + span {
  display: inline-block;
  margin-top: 4px;
  color: rgba(255,255,255,.48);
  font-size: 12px;
  line-height: 1.4;
}
@media(max-width:1200px){
  .lyston-contact-grid{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:720px){
  .lyston-contact-grid{grid-template-columns:1fr}
}
