/* ============================================================
INVICTIS AGENCY MASTER STYLES
QUICK EDIT: change these variables to change the visual system.
============================================================ */
:root{--bg:#09070f;--soft:#100c19;--card:rgba(24,17,37,.76);--purple:#9b6cff;--purple2:#b18cff;--yellow:#ffd85a;--text:#f7f3ff;--muted:#b8aec8;--border:rgba(255,255,255,.10);--pb:rgba(155,108,255,.35);--radius:22px;--max:1180px}
*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{background:radial-gradient(circle at 75% 8%,rgba(126,71,255,.14),transparent 30rem),radial-gradient(circle at 15% 50%,rgba(106,52,190,.08),transparent 28rem),var(--bg);color:var(--text);font:15px/1.6 Inter,system-ui,-apple-system,"Segoe UI",sans-serif;overflow-x:hidden}a{color:inherit;text-decoration:none}button,input,textarea{font:inherit}#starfield{position:fixed;inset:0;width:100%;height:100%;z-index:-2;pointer-events:none;opacity:.7}.container{width:min(var(--max),calc(100% - 40px));margin:auto}.section{padding:110px 0;position:relative}.soft{background:linear-gradient(180deg,rgba(255,255,255,.018),rgba(255,255,255,.008));border-block:1px solid rgba(255,255,255,.035)}
.header{position:sticky;top:0;z-index:20;background:rgba(9,7,15,.68);backdrop-filter:blur(18px);border-bottom:1px solid rgba(255,255,255,.06)}.nav{min-height:76px;display:flex;align-items:center;gap:28px}.brand{display:inline-flex;align-items:center;gap:8px;white-space:nowrap}.brand-mark{width:30px;height:30px;display:grid;place-items:center;border:1px solid var(--purple);border-radius:9px;color:var(--yellow);font-weight:900;box-shadow:0 0 22px rgba(155,108,255,.28)}.brand-name{font-size:20px;font-weight:800;letter-spacing:-.04em}.brand-tag{color:var(--purple2);font-size:8px;letter-spacing:.19em;font-weight:800;align-self:flex-end;margin-bottom:5px}.nav-links{margin-left:auto;display:flex;gap:25px}.nav-links a{color:var(--muted);font-size:13px}.nav-links a:hover{color:#fff}.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;border:1px solid transparent;border-radius:999px;padding:14px 21px;font-size:12px;font-weight:800;transition:.3s}.btn:hover{transform:translateY(-3px)}.btn-primary{background:linear-gradient(135deg,var(--purple2),var(--purple));box-shadow:0 12px 35px rgba(125,77,255,.25)}.btn-primary:hover{box-shadow:0 18px 45px rgba(125,77,255,.38)}.btn-ghost{border-color:var(--border);background:rgba(255,255,255,.025)}.menu{display:none;background:none;border:0}.menu span{display:block;width:24px;height:2px;background:#fff;margin:5px}
.hero{min-height:770px;display:grid;align-items:center;padding-top:95px;overflow:hidden}.hero-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:70px;align-items:center}.eyebrow,label{color:var(--purple2);font-size:10px;font-weight:850;letter-spacing:.17em;text-transform:uppercase}.eyebrow{display:flex;align-items:center;gap:9px;margin-bottom:24px}.eyebrow i{width:7px;height:7px;border-radius:50%;background:var(--yellow);box-shadow:0 0 16px var(--yellow)}.hero h1{font-size:clamp(50px,6.2vw,88px);line-height:.98;letter-spacing:-.065em}.hero h1 span,.heading h2 span,.problem-copy h2 span,.about-copy h2 span{background:linear-gradient(100deg,#fff,var(--purple2) 45%,var(--yellow));-webkit-background-clip:text;background-clip:text;color:transparent}.hero-copy>p{max-width:650px;margin-top:27px;color:var(--muted);font-size:17px;line-height:1.8}.actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:34px}.hero-proof{display:flex;gap:25px;margin-top:52px;flex-wrap:wrap}.hero-proof div{display:grid}.hero-proof strong{color:var(--yellow);font-size:11px}.hero-proof small{color:#958aa5;font-size:10px}.hero-art{min-height:540px;position:relative;display:grid;place-items:center}.dashboard{width:min(520px,100%);padding:28px;border:1px solid rgba(182,143,255,.28);background:linear-gradient(145deg,rgba(40,25,65,.9),rgba(14,10,24,.9));border-radius:28px;box-shadow:0 24px 70px rgba(0,0,0,.42),0 0 90px rgba(112,61,220,.14);transform:perspective(900px) rotateY(-8deg)}.topline{display:flex;justify-content:space-between}.topline small{color:#968aa5;font-size:9px;letter-spacing:.15em}.topline em{color:var(--yellow);font-size:9px;font-style:normal}.dashboard h2{font-size:34px;line-height:1.05;letter-spacing:-.04em;margin-top:55px}.dashboard h2 span{color:var(--purple2)}.metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:9px;margin-top:50px}.metrics div{padding:16px;border:1px solid var(--border);border-radius:15px;background:rgba(255,255,255,.025)}.metrics small{display:block;color:#8e849b;font-size:9px;text-transform:uppercase}.metrics strong{display:block;margin-top:7px;font-size:18px}.bars{height:105px;margin-top:22px;border-bottom:1px solid rgba(255,255,255,.08);display:flex;align-items:flex-end;gap:8px}.bars i{flex:1;border-radius:5px 5px 0 0;background:linear-gradient(to top,rgba(155,108,255,.12),rgba(155,108,255,.55))}.bars i:nth-child(1){height:28%}.bars i:nth-child(2){height:45%}.bars i:nth-child(3){height:38%}.bars i:nth-child(4){height:68%}.bars i:nth-child(5){height:86%}.orbit{position:absolute;border:1px solid rgba(155,108,255,.18);border-radius:50%;animation:spin 22s linear infinite}.orbit.one{width:570px;height:570px}.orbit.two{width:400px;height:400px;border-color:rgba(255,216,90,.08);animation-direction:reverse;animation-duration:17s}@keyframes spin{to{transform:rotate(360deg)}}.float-card{position:absolute;display:flex;align-items:center;gap:10px;padding:13px 16px;background:rgba(20,14,30,.9);border:1px solid var(--pb);border-radius:15px;box-shadow:0 18px 50px rgba(0,0,0,.35);animation:float 5s ease-in-out infinite}.float-card b{width:30px;height:30px;display:grid;place-items:center;border-radius:9px;color:var(--yellow);background:rgba(255,216,90,.08)}.float-card small{display:block;color:#81778e;font-size:9px}.float-card strong{font-size:11px}.fc1{top:18%;left:0}.fc2{bottom:17%;right:-2%;animation-delay:-2s}@keyframes float{50%{transform:translateY(-10px)}}
.ticker{overflow:hidden;border-block:1px solid rgba(255,255,255,.07);background:rgba(255,255,255,.018)}.ticker-track{display:flex;width:max-content;gap:26px;padding:17px 0;animation:ticker 28s linear infinite}.ticker span{font-size:10px;font-weight:800;letter-spacing:.14em;color:#b5a8c1}.ticker i{color:var(--yellow);font-style:normal}@keyframes ticker{to{transform:translateX(-50%)}}
.heading{max-width:780px;margin-bottom:55px}.heading h2{font-size:clamp(36px,4.5vw,62px);line-height:1.03;letter-spacing:-.055em;margin-top:12px}.heading p{margin-top:19px;color:var(--muted);max-width:680px}.split{display:grid;grid-template-columns:1.15fr .85fr;gap:50px;max-width:none;align-items:end}.split>p{margin:0 0 4px auto}.centered{text-align:center;margin-inline:auto}
.audiences{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}.audience,.service,.pillar,.work,.step{border:1px solid var(--border);background:var(--card);border-radius:var(--radius);transition:.4s}.audience:hover,.service:hover,.pillar:hover,.work:hover,.step:hover{transform:translateY(-7px);border-color:var(--pb);box-shadow:0 20px 55px rgba(0,0,0,.25)}.audience{min-height:320px;padding:35px;position:relative;overflow:hidden}.audience.featured,.service.featured{background:linear-gradient(145deg,rgba(61,35,91,.52),rgba(19,13,29,.8))}.audience>small,.service>small,.pillar>small,.step>small{color:#7e718e;font-size:10px;font-weight:800;letter-spacing:.12em}.audience>b{width:48px;height:48px;display:grid;place-items:center;border-radius:14px;background:rgba(155,108,255,.12);color:var(--purple2);font-size:24px;margin:45px 0 20px}.audience h3{font-size:27px;letter-spacing:-.035em}.audience p{color:var(--muted);margin-top:10px;font-size:14px}.tags{display:flex;gap:8px;margin-top:24px;flex-wrap:wrap}.tags i{border:1px solid var(--border);border-radius:999px;padding:6px 10px;color:#9d92a9;font-size:9px;font-style:normal}
.problem-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:100px;align-items:center}.problem-window{min-height:400px;padding:15px;border:1px solid rgba(155,108,255,.2);border-radius:24px;background:rgba(20,14,30,.8);transform:rotate(-2deg);box-shadow:0 24px 70px rgba(0,0,0,.42)}.browser{display:flex;gap:6px;padding-bottom:14px;border-bottom:1px solid var(--border)}.browser i{width:7px;height:7px;border-radius:50%;background:#6e6477}.fake-lines{padding:40px 28px}.fake-lines i{display:block;height:11px;border-radius:10px;background:rgba(255,255,255,.08);margin-bottom:12px}.fake-lines .long{width:82%}.fake-lines .mid{width:60%}.fake-lines .short{width:38%}.fake-lines div{height:140px;margin:28px 0;border:1px dashed rgba(255,255,255,.13);border-radius:16px}.problem-window>b{display:block;margin:0 20px 20px;padding:10px 14px;color:#ffcf59;background:rgba(255,216,90,.06);border:1px solid rgba(255,216,90,.15);border-radius:10px;font-size:10px;text-align:center}.problem-copy h2{font-size:clamp(36px,4vw,58px);line-height:1.05;letter-spacing:-.055em;margin-top:12px}.problem-copy>p{color:var(--muted);margin-top:22px}.problem-copy ul{list-style:none;display:grid;gap:14px;margin-top:28px}.problem-copy li{color:#d2c8dc;font-size:13px}.problem-copy li::first-letter{color:var(--yellow)}.text-link{display:inline-block;color:#fff;font-size:13px;font-weight:750;margin-top:28px;border-bottom:1px solid rgba(255,255,255,.18);padding-bottom:5px}.text-link:hover{color:var(--yellow);border-color:var(--yellow)}
.services{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.service{padding:30px;min-height:490px;position:relative;overflow:hidden}.service>b{float:right;width:38px;height:38px;display:grid;place-items:center;border:1px solid var(--border);border-radius:11px;color:var(--yellow)}.service h3{font-size:25px;letter-spacing:-.035em;margin-top:62px}.service>p{color:var(--muted);font-size:13px;margin-top:13px}.service ul{list-style:none;display:grid;gap:8px;margin-top:25px;padding-top:22px;border-top:1px solid var(--border)}.service li{font-size:11px;color:#bcb0c7}.service li::before{content:"✓";color:var(--yellow);margin-right:8px}.service>a{position:absolute;bottom:28px;left:30px;color:#ddd5e5;font-size:11px;font-weight:750}.service>a:hover{color:var(--yellow)}
.pillars{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.pillar{padding:27px;min-height:230px}.pillar>small{color:var(--yellow)}.pillar h3{margin-top:52px;font-size:19px}.pillar p{color:var(--muted);font-size:11px;margin-top:8px}
.work-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}.work.large{grid-column:span 2}.work{overflow:hidden}.work-img{min-height:300px;position:relative;display:grid;place-items:center;overflow:hidden}.work.large .work-img{min-height:420px}.work-img em{position:absolute;top:18px;left:18px;padding:7px 10px;border:1px solid rgba(255,255,255,.16);border-radius:999px;background:rgba(5,4,9,.38);font-size:8px;letter-spacing:.12em;font-style:normal}.work-img>div{width:65%;padding:40px;border:1px solid rgba(255,255,255,.12);background:rgba(5,4,9,.38);border-radius:18px}.work-img small{color:var(--yellow);font-size:8px;letter-spacing:.2em}.work-img strong{display:block;font-size:28px;line-height:1.05;margin-top:8px}.interior{background:linear-gradient(130deg,#4b315c,#19121f 52%,#8a6a55)}.pest{background:linear-gradient(130deg,#122c29,#0b1113 55%,#274b42)}.ac{background:linear-gradient(130deg,#1d2c50,#10111d 55%,#55396f)}.work-meta{display:flex;justify-content:space-between;gap:20px;padding:20px}.work-meta small{color:#8d829a;font-size:9px;text-transform:uppercase}.work-meta h3{font-size:18px;margin-top:4px}.work-meta a{color:var(--yellow);font-size:10px;font-weight:800;white-space:nowrap}
.process{display:grid;grid-template-columns:repeat(5,1fr);border-top:1px solid var(--border)}.step{border-radius:0;border-top:0;border-bottom:0;border-left:0;min-height:250px;padding:28px 22px}.step:last-child{border-right:0}.step>small{color:var(--purple2)}.step h3{margin-top:65px;font-size:19px}.step p{color:var(--muted);font-size:11px;margin-top:7px}
.about-grid{display:grid;grid-template-columns:1fr 1fr;gap:90px;align-items:center}.about-copy h2{font-size:clamp(38px,4vw,58px);line-height:1.04;letter-spacing:-.055em;margin-top:12px}.about-copy p{color:var(--muted);max-width:590px;margin-top:20px;font-size:14px}.about-card{min-height:430px;border:1px solid var(--pb);border-radius:28px;background:linear-gradient(145deg,rgba(61,34,92,.55),rgba(12,9,18,.85));display:grid;place-items:center}.about-card>div{width:75%}.about-card small{color:#968aa5;font-size:9px;letter-spacing:.15em}.about-card strong{display:block;font:100px/1 Georgia,serif;color:var(--yellow);opacity:.7;margin:55px 0 15px}.about-card h3{font-size:30px;line-height:1.08;letter-spacing:-.04em}.about-card hr{width:50px;border:0;border-top:2px solid var(--yellow);margin:28px 0}
.faq{max-width:900px}.faq details{border-top:1px solid var(--border)}.faq details:last-child{border-bottom:1px solid var(--border)}.faq summary{list-style:none;display:flex;justify-content:space-between;gap:30px;padding:24px 0;cursor:pointer;font-size:15px;font-weight:700}.faq summary::-webkit-details-marker{display:none}.faq summary b{color:var(--yellow);font-size:22px;font-weight:400}.faq details[open] summary b{transform:rotate(45deg)}.faq p{color:var(--muted);font-size:13px;padding:0 45px 25px 0}
.contact{background:radial-gradient(circle at 80% 50%,rgba(124,74,226,.16),transparent 35rem)}.contact-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:90px;align-items:start}.contact-copy h2{font-size:clamp(40px,4.5vw,64px);line-height:1;letter-spacing:-.055em;margin-top:12px}.contact-copy>p{color:var(--muted);margin-top:22px}.contact-details{display:grid;gap:12px;margin-top:35px}.contact-details a{padding:14px 16px;border:1px solid var(--border);border-radius:12px;background:rgba(255,255,255,.02);font-size:12px}.contact-details small{display:block;color:var(--purple2);font-size:8px;font-weight:800;letter-spacing:.14em;margin-bottom:4px}.form{padding:30px;border:1px solid var(--pb);border-radius:24px;background:rgba(18,12,28,.76);box-shadow:0 24px 70px rgba(0,0,0,.42)}.form header{display:flex;justify-content:space-between;padding-bottom:22px;margin-bottom:22px;border-bottom:1px solid var(--border)}.form header b{font-size:10px;letter-spacing:.15em;color:var(--yellow)}.form header small{color:#7f748b;font-size:9px}.form label{display:grid;gap:7px;margin-top:16px;color:#d7cfdf;letter-spacing:0}.form label i{color:#7d7285;font-weight:400}.form input,.form textarea{width:100%;border:1px solid var(--border);background:rgba(255,255,255,.025);color:#fff;border-radius:10px;padding:12px 13px;outline:none;resize:vertical}.form input:focus,.form textarea:focus{border-color:var(--purple)}.form input::placeholder,.form textarea::placeholder{color:#655b6d}.form button{width:100%;margin-top:22px}.form>p{color:#665b6f;font-size:9px;margin-top:10px;text-align:center}
.footer{border-top:1px solid var(--border);padding-top:55px;background:#07050b}.footer-top{display:flex;justify-content:space-between;gap:50px;padding-bottom:50px}.footer-top>div>p{color:#81778d;font-size:11px;max-width:310px;margin-top:15px}.footer-links{display:flex;gap:100px}.footer-links div{display:grid;gap:9px}.footer-links small{color:var(--yellow);font-size:9px;font-weight:800;letter-spacing:.12em}.footer-links a{color:#8c8295;font-size:11px}.footer-links a:hover{color:#fff}.footer-bottom{border-top:1px solid var(--border);padding:18px 0;display:flex;justify-content:space-between;color:#5e5566;font-size:9px}
.reveal{opacity:0;transform:translateY(24px);transition:opacity .8s cubic-bezier(.2,.8,.2,1),transform .8s cubic-bezier(.2,.8,.2,1)}.reveal.show{opacity:1;transform:none}.delay{transition-delay:.12s}
@media(max-width:980px){.nav-links{gap:14px}.nav-cta{display:none}.hero-grid,.problem-grid,.about-grid,.contact-grid{grid-template-columns:1fr;gap:55px}.hero{padding-top:70px}.hero-art{min-height:480px}.services{grid-template-columns:1fr}.service{min-height:420px}.pillars{grid-template-columns:repeat(2,1fr)}.process{grid-template-columns:1fr;border-top:0}.step{min-height:auto;border:1px solid var(--border);border-radius:16px;margin-bottom:8px}.step h3{margin-top:25px}}
@media(max-width:720px){.container{width:min(var(--max),calc(100% - 28px))}.section{padding:78px 0}.nav{min-height:68px;justify-content:space-between}.menu{display:block;order:3}.nav-links{display:none;position:absolute;left:14px;right:14px;top:72px;flex-direction:column;gap:0;padding:12px;border:1px solid var(--border);background:rgba(12,9,19,.97);border-radius:16px}.nav-links.open{display:flex}.nav-links a{padding:12px}.hero h1{font-size:clamp(44px,13vw,62px)}.hero-copy>p{font-size:14px}.hero-art{min-height:380px}.dashboard{transform:none;padding:20px}.dashboard h2{font-size:26px;margin-top:35px}.fc1{left:-5px;top:10%}.fc2{right:-5px;bottom:8%}.orbit.one{width:400px;height:400px}.orbit.two{width:280px;height:280px}.split{grid-template-columns:1fr;gap:10px}.split>p{margin:0}.audiences,.work-grid{grid-template-columns:1fr}.work.large{grid-column:auto}.work.large .work-img{min-height:300px}.pillars{grid-template-columns:1fr}.footer-top,.footer-bottom{flex-direction:column}.footer-links{gap:50px}.form header{flex-direction:column;gap:7px}.metrics{grid-template-columns:1fr}.metrics div{display:flex;justify-content:space-between}.metrics strong{margin:0}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation-duration:.01ms!important;transition-duration:.01ms!important}#starfield{display:none}}

/* ============================================================
V2 VISUAL REFINEMENT
EDIT: brand colors, font and sizing here first if you want to
customize the site later.
============================================================ */
:root{
  --bg:#08060e;
  --soft:#100a1a;
  --card:rgba(22,15,36,.78);
  --purple:#8b45ff;
  --purple2:#b58cff;
  --yellow:#ffc61a;
  --text:#fbf9ff;
  --muted:#bdb3c9;
  --border:rgba(255,255,255,.11);
  --pb:rgba(145,78,255,.48);
  --radius:20px;
}
html{scroll-padding-top:92px}
body{font-family:"Manrope",Inter,system-ui,-apple-system,"Segoe UI",sans-serif;font-size:15px}
.header{background:rgba(8,6,14,.76);box-shadow:0 10px 35px rgba(0,0,0,.18)}
.nav{min-height:82px}
.brand{gap:9px}
.brand-logo{display:block;width:114px;height:auto;object-fit:contain}
.brand-tag{font-size:8px;letter-spacing:.18em;margin-bottom:2px;color:var(--yellow)}
.nav-links{gap:23px}
.nav-links a{font-size:12px;font-weight:700;transition:color .25s ease,transform .25s ease}
.nav-links a:hover{transform:translateY(-1px);color:#fff}
.btn{font-size:12px;padding:14px 22px}
.btn-primary{background:linear-gradient(135deg,#ffd43a,#ffb700);color:#130e05;box-shadow:0 12px 35px rgba(255,190,20,.18)}
.btn-primary:hover{box-shadow:0 18px 45px rgba(255,190,20,.28)}
.btn-ghost:hover{border-color:rgba(181,140,255,.65);background:rgba(139,69,255,.08)}
.hero{min-height:740px;padding-top:88px}
.hero h1{font-size:clamp(52px,6vw,82px);line-height:1.01}
.hero-copy>p{font-size:16px;line-height:1.75;max-width:610px}
.hero-proof small{font-size:10.5px}
.eyebrow,label{font-size:10.5px}
.heading h2{font-size:clamp(38px,4.4vw,60px)}
.heading p,.problem-copy>p,.about-copy p{font-size:14px;line-height:1.75}
.audience p,.service>p{font-size:13.5px;line-height:1.7}
.audience h3{font-size:25px}
.service h3{font-size:24px}
.service li{font-size:11.5px}
.pillar p,.step p{font-size:11.5px;line-height:1.65}
.work-meta h3{font-size:18px}
.faq summary{font-size:14px}
.contact-copy h2{font-size:clamp(40px,4.3vw,60px)}
.contact-copy>p{font-size:14px;line-height:1.75}

/* Softer digital-space movement */
#starfield{opacity:.82}
.hero::after{content:"";position:absolute;width:420px;height:420px;right:-120px;top:15%;border-radius:50%;background:radial-gradient(circle,rgba(126,64,255,.13),transparent 68%);filter:blur(12px);pointer-events:none;animation:pulseGlow 7s ease-in-out infinite}
@keyframes pulseGlow{50%{transform:scale(1.08);opacity:.72}}
.dashboard{animation:dashboardFloat 7s ease-in-out infinite;box-shadow:0 24px 70px rgba(0,0,0,.42),0 0 100px rgba(112,61,220,.20)}
@keyframes dashboardFloat{50%{transform:perspective(900px) rotateY(-8deg) translateY(-8px)}}
.service>b,.audience>b{transition:transform .35s ease,background .35s ease,box-shadow .35s ease}
.service:hover>b,.audience:hover>b{transform:translateY(-2px) rotate(-4deg);background:rgba(139,69,255,.18);box-shadow:0 0 25px rgba(139,69,255,.18)}
.work-img{transition:transform .5s ease}
.work:hover .work-img{transform:scale(1.018)}

@media(max-width:980px){
  .brand-logo{width:106px}
  .nav-links{gap:14px}
}
@media(max-width:720px){
  .brand-logo{width:100px}
  .brand-tag{font-size:7px}
  .hero h1{font-size:clamp(43px,12.5vw,61px)}
  .heading h2{font-size:clamp(34px,10vw,48px)}
  .hero-copy>p,.heading p,.problem-copy>p,.about-copy p,.contact-copy>p{font-size:13.5px}
}
.icon-box{width:48px!important;height:48px!important;display:grid!important;place-items:center!important;border:1px solid rgba(181,140,255,.22)!important;border-radius:14px!important;color:var(--purple2)!important;background:rgba(139,69,255,.08)!important;font-size:0!important}
.icon-box svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.service>b.icon-box{float:right;width:42px!important;height:42px!important;border-radius:12px!important}

/* ============================================================
V3 NAV + CONVERSION REFINEMENT
EDIT: active-nav glow and CTA styles here.
============================================================ */
.nav-links a{
  position:relative;
  padding:28px 0 25px;
  color:var(--muted);
}
.nav-links a::after{
  content:"";
  position:absolute;
  left:0;
  right:0;
  bottom:14px;
  height:2px;
  border-radius:99px;
  background:linear-gradient(90deg,transparent,var(--yellow),transparent);
  box-shadow:0 0 12px rgba(255,198,26,.45);
  transform:scaleX(0);
  opacity:0;
  transition:transform .28s ease,opacity .28s ease;
}
.nav-links a:hover::after,
.nav-links a.active::after{
  transform:scaleX(1);
  opacity:1;
}
.nav-links a.active{
  color:#fff;
}
.nav-links a.active::before{
  content:"";
  position:absolute;
  left:18%;
  right:18%;
  bottom:12px;
  height:9px;
  background:rgba(255,198,26,.11);
  filter:blur(7px);
  border-radius:50%;
}
.contact-call{margin-top:14px;width:max-content}
.work-meta{align-items:flex-start}
.work-meta p{max-width:560px;color:#9d92aa;font-size:11px;line-height:1.65;margin-top:7px}
.work-meta a{margin-top:2px}

/* Process progression: the current step gets a restrained yellow signal. */
.process{position:relative}
.process::before{
  content:"";
  position:absolute;
  left:0;
  top:-1px;
  height:2px;
  width:0;
  background:linear-gradient(90deg,var(--yellow),rgba(255,198,26,.08));
  box-shadow:0 0 14px rgba(255,198,26,.35);
  transition:width 1.1s cubic-bezier(.2,.8,.2,1);
  z-index:2;
}
.process[data-progress="1"]::before{width:20%}
.process[data-progress="2"]::before{width:40%}
.process[data-progress="3"]::before{width:60%}
.process[data-progress="4"]::before{width:80%}
.process[data-progress="5"]::before{width:100%}
.step{position:relative;transition:transform .45s ease,border-color .45s ease,background .45s ease,box-shadow .45s ease}
.step.is-active{background:linear-gradient(180deg,rgba(255,198,26,.055),rgba(22,15,36,.78));border-color:rgba(255,198,26,.22)}
.step.is-active>small{color:var(--yellow)}
.step.is-active h3{color:#fff}

@media(max-width:720px){
  .nav-links a{padding:12px}
  .nav-links a::after{bottom:5px}
  .nav-links a.active::before{bottom:3px}
  .work-meta{flex-direction:column}
  .contact-call{width:100%}
}

/* ============================================================
V5 TICKER LOOP
The ticker moves by the exact pixel width of ONE complete group.
That makes the reset happen at an identical copy of the content,
so there is no blank gap or "end of content" moment.
JavaScript sets --ticker-shift and --ticker-duration after fonts
are loaded and after resize.
============================================================ */
.ticker{overflow:hidden;position:relative}
.ticker-track{
  display:flex;
  width:max-content;
  gap:0;
  will-change:transform;
  transform:translate3d(0,0,0);
  animation:none;
}
.ticker-track.ticker-ready{
  animation:tickerLoop var(--ticker-duration,20s) linear infinite;
}
.ticker-group{
  display:flex;
  align-items:center;
  gap:26px;
  flex:none;
  white-space:nowrap;
}
@keyframes tickerLoop{
  from{transform:translate3d(0,0,0)}
  to{transform:translate3d(calc(-1 * var(--ticker-shift, 0px)),0,0)}
}

/* Faster, more purposeful reveal timing. */
.reveal{opacity:0;transform:translate3d(0,24px,0);transition:opacity .65s cubic-bezier(.2,.8,.2,1),transform .65s cubic-bezier(.2,.8,.2,1);will-change:opacity,transform}
.reveal.show{opacity:1;transform:translate3d(0,0,0)}
.delay{transition-delay:.1s}

/* Card interaction: lift, accent glow, and restrained icon movement. */
.audience,.service,.pillar,.work{transition:transform .25s ease,border-color .25s ease,box-shadow .25s ease,background .25s ease}
.audience:hover,.service:hover,.pillar:hover,.work:hover{transform:translateY(-5px);border-color:rgba(181,140,255,.55);box-shadow:0 18px 48px rgba(0,0,0,.28),0 0 26px rgba(139,69,255,.10)}
.audience>b.icon-box,.service>b.icon-box{transition:transform .25s ease,background .25s ease,box-shadow .25s ease}
.audience:hover>b.icon-box,.service:hover>b.icon-box{transform:translateY(-2px) scale(1.025);background:rgba(139,69,255,.14);box-shadow:0 0 22px rgba(255,198,26,.08)}
.service>a,.work-meta a{transition:transform .25s ease,color .25s ease}
.service:hover>a,.work:hover .work-meta a{transform:translateX(4px)}

/* Work is the visual proof, so give it a slightly richer interaction. */
.work-img{transition:transform .45s cubic-bezier(.2,.8,.2,1)}
.work:hover .work-img{transform:translateY(-3px) scale(1.01)}
.work.large .work-img{transition:opacity .7s ease,transform .7s cubic-bezier(.2,.8,.2,1)}

/* Progressive process line and active step remain subtle. */
.step{transition:transform .3s ease,border-color .3s ease,background .3s ease,box-shadow .3s ease}
.step.is-active{box-shadow:inset 0 1px 0 rgba(255,198,26,.08),0 0 22px rgba(255,198,26,.035)}

/* Smooth FAQ accordion controlled by JS. */
.faq details{overflow:hidden}
.faq details p{max-height:0;opacity:0;overflow:hidden;padding-top:0;padding-bottom:0;transition:max-height .3s ease,opacity .25s ease,padding .3s ease}
.faq details.is-open p{opacity:1;padding-bottom:25px}
.faq summary b{display:inline-block;transition:transform .25s ease}
.faq details.is-open summary b{transform:rotate(45deg)}

/* Final CTA ambient glow only, never a constant pulse. */
.contact .btn-primary{position:relative;overflow:hidden}
.contact .btn-primary::after{content:"";position:absolute;inset:-35%;background:radial-gradient(circle,rgba(255,255,255,.18),transparent 55%);opacity:0;transform:scale(.8);transition:opacity .35s ease,transform .35s ease;pointer-events:none}
.contact .btn-primary:hover::after{opacity:.5;transform:scale(1)}

/* Respect reduced-motion preferences, including the marquee and reveal effects. */
@media(prefers-reduced-motion:reduce){
  .ticker-track,.ticker-track.ticker-ready{animation:none!important;transform:none}
  .reveal{opacity:1;transform:none;transition:none}
  .dashboard,.float-card,.orbit,.hero::after{animation:none!important}
  .audience,.service,.pillar,.work,.step,.work-img,.service>a,.work-meta a{transition:none}
}
