
:root{
  --bg:#fbfaf8;
  --panel:#ffffff;
  --panel2:#f5f2ee;
  --text:#17171a;
  --muted:#6f7078;
  --line:rgba(20,20,24,.10);
  --accent:#8d55e8;
  --accent2:#7440c8;
  --header-bg:rgba(251,250,248,.88);
  --secondary-bg:#ffffff;
  --secondary-text:#17171a;
  --alt-bg:#f4f1ed;
  --shadow:0 25px 70px rgba(30,24,40,.12);
  --phone-bg:#17171a;
  --max:1180px;
}
html[data-theme="dark"]{
  --bg:#0e0f13;
  --panel:#171920;
  --panel2:#1e2028;
  --text:#f5f6f8;
  --muted:#aeb2bd;
  --line:rgba(255,255,255,.09);
  --accent:#b985ff;
  --accent2:#8f56df;
  --header-bg:rgba(14,15,19,.88);
  --secondary-bg:#17181e;
  --secondary-text:#f5f6f8;
  --alt-bg:#12141a;
  --shadow:0 30px 80px rgba(0,0,0,.50);
  --phone-bg:#08090b;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--bg);color:var(--text);font-family:"DM Sans",sans-serif;line-height:1.5;transition:background .25s ease,color .25s ease}
a{color:inherit;text-decoration:none}
.site-header{position:sticky;top:0;z-index:20;display:flex;align-items:center;justify-content:space-between;max-width:var(--max);margin:auto;padding:18px 24px;background:var(--header-bg);backdrop-filter:blur(18px);border-bottom:1px solid var(--line)}
.brand{font-family:"Manrope",sans-serif;font-weight:800;letter-spacing:.04em}.brand span{color:var(--accent)}
nav{display:flex;gap:22px;align-items:center;font-size:14px}.nav-cta{border:1px solid var(--line);padding:10px 14px;border-radius:999px}
.theme-toggle{width:42px;height:42px;border:1px solid var(--line);background:var(--panel);color:var(--text);border-radius:999px;cursor:pointer;display:grid;place-items:center;font-size:18px;position:relative;transition:.2s ease}
.theme-toggle:hover{transform:translateY(-1px);border-color:rgba(141,85,232,.45)}.theme-icon{position:absolute;transition:opacity .2s ease,transform .2s ease}.theme-icon.moon{opacity:1;transform:scale(1)}.theme-icon.sun{opacity:0;transform:scale(.6)}html[data-theme="dark"] .theme-icon.moon{opacity:0;transform:scale(.6)}html[data-theme="dark"] .theme-icon.sun{opacity:1;transform:scale(1)}
.hero{max-width:var(--max);margin:auto;padding:84px 24px 70px;display:grid;grid-template-columns:1.15fr .85fr;gap:60px;align-items:center}
.eyebrow{font-size:12px;font-weight:700;letter-spacing:.16em;color:var(--accent);margin-bottom:14px}h1,h2,h3{font-family:"Manrope",sans-serif;margin:0}h1{font-size:clamp(45px,7vw,86px);line-height:.98;letter-spacing:-.045em}h1 span{color:var(--accent)}.hero p{max-width:680px;font-size:18px;color:var(--muted);margin:24px 0 0}
.hero-actions{display:flex;gap:12px;margin-top:30px;flex-wrap:wrap}.btn{display:inline-flex;align-items:center;justify-content:center;padding:13px 18px;border-radius:999px;font-weight:700}.btn.primary{background:var(--accent);color:#fff}.btn.secondary{border:1px solid var(--line);background:var(--secondary-bg);color:var(--secondary-text)}
.hero-stats{display:flex;gap:34px;margin-top:36px;flex-wrap:wrap}.hero-stats div{display:flex;flex-direction:column}.hero-stats strong{font-size:22px}.hero-stats span{font-size:12px;color:var(--muted)}
.hero-card{position:relative;display:grid;place-items:center}.phone-shell{width:min(320px,72vw);aspect-ratio:9/18.8;padding:10px;border-radius:38px;background:var(--phone-bg);border:1px solid var(--line);box-shadow:var(--shadow)}.phone-screen{height:100%;border-radius:30px;overflow:hidden}
.hero-video-wrap{position:relative;background:#d7b18c;isolation:isolate;overflow:hidden}.hero-loop-video{width:100%;height:100%;display:block;object-fit:cover}.photo-shade{pointer-events:none;position:absolute;inset:0;background:linear-gradient(to top,rgba(10,10,12,.68) 0%,rgba(10,10,12,.05) 55%,rgba(10,10,12,0) 100%);z-index:2}.photo-caption{pointer-events:none;position:absolute;left:0;right:0;bottom:0;padding:26px;z-index:3;color:#fff}.tiny-label{font-size:10px;letter-spacing:.14em;color:rgba(255,255,255,.88)}.big-copy{font-family:"Manrope";font-size:30px;line-height:1.02;font-weight:800;margin:10px 0 18px}
.floating-note{position:static;margin-top:14px;background:var(--text);color:var(--bg);padding:11px 14px;border-radius:14px;font-size:12px;font-weight:700;box-shadow:0 10px 30px rgba(0,0,0,.18);text-align:center}
.logos-strip{border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:18px 24px;display:flex;gap:42px;justify-content:center;flex-wrap:wrap;color:var(--muted);font-size:13px;letter-spacing:.08em;text-transform:uppercase}
.section{max-width:var(--max);margin:auto;padding:84px 24px}.section.alt{max-width:none;background:var(--alt-bg);padding-left:max(24px,calc((100vw - var(--max))/2 + 24px));padding-right:max(24px,calc((100vw - var(--max))/2 + 24px))}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:20px;margin-bottom:30px}.section-heading h2,.about h2,.contact h2{font-size:clamp(34px,5vw,54px);letter-spacing:-.035em}.section-heading p{color:var(--muted);margin:0}
.filters{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:28px}.filter{border:1px solid var(--line);background:transparent;color:var(--muted);padding:10px 14px;border-radius:999px;cursor:pointer}.filter.active,.filter:hover{background:var(--accent);color:#fff;border-color:var(--accent)}
.video-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.video-card{background:var(--panel);border:1px solid var(--line);border-radius:20px;overflow:hidden;cursor:pointer;transition:transform .22s ease,border-color .22s ease,background .25s ease}.video-card:hover{transform:translateY(-4px);border-color:rgba(141,85,232,.45)}.video-thumb{aspect-ratio:9/13.5;background:linear-gradient(145deg,#2f2540,#14161d);position:relative;overflow:hidden}.video-thumb video{width:100%;height:100%;object-fit:cover;display:block;background:#101116}.video-overlay{position:absolute;inset:0;display:flex;align-items:flex-end;justify-content:space-between;padding:14px;background:linear-gradient(transparent 50%,rgba(0,0,0,.7))}.play-mini{width:40px;height:40px;border-radius:50%;display:grid;place-items:center;background:rgba(255,255,255,.94);color:#111}.tag{font-size:10px;letter-spacing:.1em;text-transform:uppercase;background:rgba(17,17,17,.7);color:#fff;padding:7px 9px;border-radius:999px}.video-info{padding:14px}.video-info h3{font-size:17px;margin-bottom:5px}.video-info p{margin:0;color:var(--muted);font-size:13px}
.service-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.service-grid article{background:var(--panel);border:1px solid var(--line);border-radius:18px;padding:24px}.service-grid article span{font-size:12px;color:var(--accent)}.service-grid h3{margin:22px 0 9px;font-size:19px}.service-grid p{margin:0;color:var(--muted);font-size:14px}
.about-card{display:grid;grid-template-columns:.82fr 1.18fr;gap:44px;background:var(--panel);border:1px solid var(--line);border-radius:28px;padding:18px;align-items:stretch}.about-photo-wrap{min-height:420px;border-radius:20px;overflow:hidden;background:#d7b18c;position:relative}.about-carousel-track{position:absolute;inset:0;display:flex;width:100%;height:100%;transition:transform .8s cubic-bezier(.22,.61,.36,1);will-change:transform}.about-slide{flex:0 0 100%;width:100%;height:100%}.about-slide img{width:100%;height:100%;object-fit:cover;display:block}.about-carousel-dots{position:absolute;left:50%;bottom:18px;transform:translateX(-50%);display:flex;gap:7px;z-index:3;padding:8px 10px;border-radius:99px;background:rgba(0,0,0,.18);backdrop-filter:blur(7px)}.about-carousel-dots button{appearance:none;border:0;padding:0;width:8px;height:8px;border-radius:99px;background:rgba(255,255,255,.58);cursor:pointer;transition:width .25s ease,background .25s ease}.about-carousel-dots button.active{width:24px;background:#fff}.about-copy{padding:26px 28px 26px 4px;align-self:center}.about-copy p{color:var(--muted);font-size:17px;margin-top:18px}.about-copy h2{margin-bottom:22px}
.pill-wrap{display:flex;flex-wrap:wrap;gap:10px}.pill-wrap span{border:1px solid var(--line);background:var(--panel);padding:13px 16px;border-radius:999px;color:var(--text)}
.contact{max-width:var(--max);margin:0 auto 40px;padding:50px 24px;display:flex;align-items:center;justify-content:space-between;gap:30px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.contact p{color:var(--muted)}.contact-actions{display:flex;gap:12px;flex-wrap:wrap}
footer{max-width:var(--max);margin:auto;padding:28px 24px 42px;display:flex;justify-content:space-between;gap:18px;color:var(--muted);font-size:13px}.modal{position:fixed;inset:0;background:rgba(0,0,0,.82);z-index:50;display:none;place-items:center;padding:24px}.modal.open{display:grid}.modal-inner{width:min(900px,96vw);max-height:90vh;display:grid;grid-template-columns:minmax(280px,420px) 1fr;background:var(--panel);color:var(--text);border:1px solid var(--line);border-radius:22px;overflow:hidden}.modal video{width:100%;height:100%;max-height:86vh;background:#000;object-fit:contain}.modal-meta{padding:28px;align-self:end}.modal-meta span{color:var(--accent);font-size:12px;text-transform:uppercase;letter-spacing:.12em}.modal-meta h3{font-size:30px;margin:8px 0 10px}.modal-meta p{color:var(--muted)}.modal-close{position:absolute;top:18px;right:22px;border:0;background:transparent;color:white;font-size:38px;cursor:pointer}.hidden{display:none!important}
@media (max-width:900px){nav a:not(.nav-cta){display:none}.hero{grid-template-columns:1fr;padding-top:54px}.hero-card{margin-top:10px}.video-grid{grid-template-columns:repeat(2,1fr)}.service-grid{grid-template-columns:repeat(2,1fr)}.about-card{grid-template-columns:1fr}.about-photo-wrap{min-height:500px}.about-copy{padding:24px}.contact{align-items:flex-start;flex-direction:column}}
@media (max-width:560px){.site-header{padding:15px 18px}nav{gap:9px}.nav-cta{padding:9px 11px}.theme-toggle{width:38px;height:38px}.hero,.section{padding-left:18px;padding-right:18px}.section{padding-top:62px;padding-bottom:62px}.video-grid{grid-template-columns:1fr 1fr;gap:10px}.video-info{padding:11px}.video-info h3{font-size:14px}.video-info p{font-size:11px}.service-grid{grid-template-columns:1fr}.modal-inner{grid-template-columns:1fr}.modal-meta{padding:18px}footer{flex-direction:column}.floating-note{right:0}.about-photo-wrap{min-height:360px}}
@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}.about-carousel-track{transition:none!important}}
