:root{
  --background:oklch(0.24 0.028 270);
  --foreground:oklch(0.95 0.012 270);
  --card:oklch(0.29 0.034 272);
  --primary:oklch(0.66 0.18 264);
  --primary-foreground:oklch(0.16 0.03 270);
  --secondary:oklch(0.34 0.045 275);
  --muted-foreground:oklch(0.74 0.025 272);
  --accent:oklch(0.68 0.19 305);
  --border:oklch(0.4 0.035 272);
  --gradient-brand:linear-gradient(120deg,oklch(0.62 0.19 264),oklch(0.64 0.2 305));
  --gradient-soft:linear-gradient(160deg,oklch(0.3 0.04 272),oklch(0.32 0.06 300));
  --shadow-brand:0 18px 50px -18px oklch(0.55 0.22 290 / 0.55);
  --shadow-card:0 12px 40px -20px oklch(0.1 0.04 280 / 0.6);
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;background:var(--background)}
body{font-family:'Inter',system-ui,-apple-system,Segoe UI,Roboto,sans-serif;background:transparent;color:var(--foreground);line-height:1.6;-webkit-font-smoothing:antialiased}
a{color:inherit;text-decoration:none}
img{max-width:100%;display:block}
.container{max-width:80rem;margin:0 auto;padding:0 1.5rem}
.text-gradient{background:var(--gradient-brand);-webkit-background-clip:text;background-clip:text;color:transparent}
.muted{color:var(--muted-foreground)}
.eyebrow{display:inline-block;background:var(--secondary);color:var(--primary);font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;padding:.25rem 1rem;border-radius:999px;margin-bottom:1rem}
/* Buttons */
.btn{display:inline-flex;align-items:center;gap:.5rem;border-radius:999px;padding:.75rem 1.5rem;font-weight:600;font-size:.95rem;transition:.2s;cursor:pointer;border:none}
.btn-brand{background:var(--gradient-brand);color:var(--primary-foreground);box-shadow:var(--shadow-brand)}
.btn-brand:hover{opacity:.9}
.btn-outline{border:1px solid color-mix(in oklch,var(--primary),transparent 60%);background:color-mix(in oklch,var(--card),transparent 30%);color:var(--primary)}
/* Header */
header.site{position:sticky;top:0;z-index:50;background:linear-gradient(100deg,oklch(0.2 0.06 280),oklch(0.25 0.08 300));padding:.5rem 0;box-shadow:var(--shadow-brand)}
header.site .bar{display:flex;align-items:center;justify-content:space-between}
.logo{height:90px;width:auto;background: transparent;padding:.35rem;border-radius:.5rem}
nav.main{display:flex;gap:2rem;align-items:center}
nav.main a{color:rgba(255,255,255,.8);font-weight:600;font-size:.9rem;transition:.2s}
nav.main a:hover,nav.main a.active{color:#fff}
.header-cta{display:flex;gap:1rem;align-items:center}
.phone-pill{display:flex;align-items:center;gap:.5rem;background:rgba(255,255,255,.1);color:#fff;padding:.5rem 1rem;border-radius:999px;font-weight:600;font-size:.9rem}
.menu-btn{display:none;background:none;border:none;color:#fff;cursor:pointer}
.mobile-nav{display:none;flex-direction:column;gap:.25rem;padding:.5rem 0 1.25rem}
.mobile-nav a{color:rgba(255,255,255,.85);font-weight:600;padding:.75rem 1rem;border-radius:.5rem}
.mobile-nav a:hover{background:rgba(255,255,255,.1)}
.mobile-nav.open{display:flex}
/* Sections */
section.block{padding:3.5rem 0}
.heading{max-width:46rem;margin:0 auto;text-align:center}
.heading.left{margin:0;text-align:left}
.heading h2{font-size:clamp(1.6rem,3vw,2.4rem);font-weight:800;letter-spacing:-.02em}
.heading p{margin-top:1rem;color:var(--muted-foreground)}
.grid{display:grid;gap:1.5rem}
.cols-2{grid-template-columns:repeat(2,1fr)}
.cols-3{grid-template-columns:repeat(3,1fr)}
.cols-4{grid-template-columns:repeat(4,1fr)}
.cols-5{grid-template-columns:repeat(5,1fr)}
.card{border:1px solid color-mix(in oklch,var(--border),transparent 40%);background:color-mix(in oklch,var(--card),transparent 20%);border-radius:1rem;padding:1.5rem;box-shadow:var(--shadow-card);backdrop-filter:blur(6px)}
.card.lift{transition:.2s}
.card.lift:hover{transform:translateY(-4px);box-shadow:var(--shadow-brand)}
.icon-box{display:flex;height:3rem;width:3rem;align-items:center;justify-content:center;border-radius:.75rem;background:var(--gradient-brand);color:var(--primary-foreground);margin-bottom:1rem}
.icon-box svg{height:1.5rem;width:1.5rem}
.card h3{font-size:1.1rem;font-weight:700;margin-bottom:.5rem}
.card p{font-size:.9rem;color:var(--muted-foreground)}
/* checklist */
ul.check{list-style:none;display:grid;gap:.5rem;margin-top:.75rem}
ul.check.two{grid-template-columns:repeat(2,1fr)}
ul.check.three{grid-template-columns:repeat(3,1fr)}
ul.check li{display:flex;gap:.5rem;align-items:flex-start;font-size:.88rem}
ul.check li::before{content:"";flex-shrink:0;margin-top:.35rem;width:1rem;height:1rem;border-radius:999px;background:var(--gradient-brand);-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='20 6 9 17 4 12'/%3E%3C/svg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='20 6 9 17 4 12'/%3E%3C/svg%3E") center/contain no-repeat}
/* Hero */
.hero{position:relative;overflow:hidden}
.hero .bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.2}
.hero .inner{position:relative;display:grid;grid-template-columns:1fr 1fr;gap:2.5rem;align-items:center;padding:5rem 0}
.hero h1{font-size:clamp(2.2rem,5vw,3.6rem);font-weight:800;letter-spacing:-.02em;line-height:1.1}
.hero p.lead{margin-top:1.25rem;max-width:36rem;color:var(--muted-foreground);font-size:1.05rem}
.hero .actions{margin-top:1.75rem;display:flex;flex-wrap:wrap;gap:.75rem}
.orbit{position:relative;height:24rem;display:flex;align-items:center;justify-content:center}
.orbit .ring{position:absolute;border:1px dashed color-mix(in oklch,var(--primary),transparent 60%);border-radius:999px}
.orbit .r1{width:14rem;height:14rem;animation:spin 22s linear infinite}
.orbit .r2{width:22rem;height:22rem;animation:spin 34s linear infinite reverse}
.orbit .center{width:5rem;height:5rem;border-radius:999px;background:var(--gradient-brand);display:flex;align-items:center;justify-content:center;color:#fff;font-weight:800;box-shadow:var(--shadow-brand)}
.orbit .soc{position:absolute;width:3rem;height:3rem;border-radius:999px;background:var(--card);border:1px solid var(--border);display:flex;align-items:center;justify-content:center;color:var(--primary);box-shadow:var(--shadow-card)}
@keyframes spin{to{transform:rotate(360deg)}}
/* marquee */
.marquee{overflow:hidden;-webkit-mask-image:linear-gradient(to right,transparent,#000 6%,#000 94%,transparent);mask-image:linear-gradient(to right,transparent,#000 6%,#000 94%,transparent)}
.marquee .track{display:flex;gap:1rem;width:max-content}
.marquee .left{animation:ml 32s linear infinite}
.marquee .right{animation:mr 32s linear infinite}
.marquee:hover .track{animation-play-state:paused}
@keyframes ml{to{transform:translateX(-50%)}}
@keyframes mr{from{transform:translateX(-50%)}to{transform:translateX(0)}}
.ind{width:11rem;flex-shrink:0;display:flex;flex-direction:column;align-items:center;gap:.75rem;border:1px solid color-mix(in oklch,var(--border),transparent 40%);background:color-mix(in oklch,var(--card),transparent 20%);border-radius:1rem;padding:1.25rem;text-align:center;box-shadow:var(--shadow-card)}
.ind .ic{height:3rem;width:3rem;border-radius:999px;background:var(--secondary);color:var(--primary);display:flex;align-items:center;justify-content:center}
.ind span.lbl{font-size:.85rem;font-weight:600}
/* soft box */
.soft{background:var(--gradient-soft);border:1px solid color-mix(in oklch,var(--border),transparent 40%);border-radius:1.5rem;padding:3rem;box-shadow:var(--shadow-card)}
.stars{display:flex;gap:.15rem;color:var(--accent);margin-bottom:.75rem}
.stars svg{width:1rem;height:1rem;fill:currentColor}
/* contact info */
.info-row{display:flex;gap:1rem;align-items:flex-start;border:1px solid color-mix(in oklch,var(--border),transparent 40%);background:color-mix(in oklch,var(--card),transparent 20%);border-radius:1rem;padding:1.25rem;box-shadow:var(--shadow-card);margin-bottom:1.25rem}
.info-row .ic{flex-shrink:0;height:2.75rem;width:2.75rem;border-radius:.75rem;background:var(--gradient-brand);color:var(--primary-foreground);display:flex;align-items:center;justify-content:center}
.info-row .lbl{font-size:.72rem;text-transform:uppercase;letter-spacing:.06em;color:var(--muted-foreground);font-weight:600}
/* form */
form.lead .field{margin-bottom:1rem}
form.lead label{display:block;font-size:.85rem;font-weight:600;margin-bottom:.35rem}
form.lead input,form.lead textarea,form.lead select{width:100%;background:var(--background);border:1px solid var(--border);border-radius:.6rem;padding:.7rem .9rem;color:var(--foreground);font:inherit}
form.lead textarea{min-height:7rem;resize:vertical}
form.lead button{width:100%;justify-content:center;margin-top:.5rem}
/* social icons */
.socials{display:flex;gap:.75rem}
.socials a{height:2.5rem;width:2.5rem;border-radius:999px;display:flex;align-items:center;justify-content:center;background:var(--secondary);color:var(--foreground);transition:.2s}
.socials a:hover{background:var(--gradient-brand);color:#fff}
.socials svg{height:1.2rem;width:1.2rem}
/* floating bar */
.floatbar{position:fixed;right:1rem;bottom:1rem;z-index:60;display:flex;flex-direction:column;gap:.6rem}
.floatbar a{height:3rem;width:3rem;border-radius:999px;display:flex;align-items:center;justify-content:center;color:#fff;box-shadow:var(--shadow-brand)}
.fb-ig{background:linear-gradient(45deg,#f09433,#e6683c,#dc2743,#cc2366,#bc1888)}
.fb-fb{background:#1877f2}
.fb-wa{background:#25d366}
.floatbar svg{height:1.4rem;width:1.4rem}
/* footer */
footer.site{margin-top:5rem;border-top:1px solid color-mix(in oklch,var(--border),transparent 40%);background:var(--gradient-soft)}
footer.site .cols{display:grid;grid-template-columns:1.4fr 1fr 1fr 1.4fr;gap:2.5rem;padding:3.5rem 0}
footer.site h4{font-weight:600;margin-bottom:1rem}
footer.site ul{list-style:none;display:grid;gap:.5rem;font-size:.88rem;color:var(--muted-foreground)}
footer.site ul a:hover{color:var(--primary)}
footer.site .row{display:flex;gap:.5rem;align-items:flex-start}
footer.site .row svg{height:1rem;width:1rem;flex-shrink:0;margin-top:.25rem;color:var(--primary)}
.copyright{border-top:1px solid color-mix(in oklch,var(--border),transparent 40%);text-align:center;padding:1.25rem;font-size:.78rem;color:var(--muted-foreground)}
.mt6{margin-top:1.5rem}.mb4{margin-bottom:1rem}
@media(max-width:900px){
  .cols-2,.cols-3,.cols-4,.cols-5{grid-template-columns:1fr}
  .hero .inner{grid-template-columns:1fr;padding:3rem 0}
  .orbit{display:none}
  nav.main,.header-cta{display:none}
  .menu-btn{display:block}
  footer.site .cols{grid-template-columns:1fr 1fr}
  ul.check.two,ul.check.three{grid-template-columns:1fr}
  .heading.left{text-align:left}
}
@media(max-width:560px){footer.site .cols{grid-template-columns:1fr}}
.btn svg{height:1.05rem;width:1.05rem;flex-shrink:0}
.phone-pill svg{height:1.05rem;width:1.05rem;flex-shrink:0}
.phone-pill{white-space:nowrap}
.heading.left{margin-left:0;margin-right:0}

/* ===== Animated site background ===== */
.site-bg{position:fixed;inset:0;z-index:-10;overflow:hidden;pointer-events:none;background:var(--gradient-soft)}
.site-bg .blob{position:absolute;border-radius:999px;filter:blur(70px)}
.site-bg .b1{left:-10%;top:-10%;width:55vh;height:55vh;background:color-mix(in oklch,var(--brand-blue,var(--primary)),transparent 70%);animation:blob 14s ease-in-out infinite}
.site-bg .b2{right:-12%;top:10%;width:50vh;height:50vh;background:color-mix(in oklch,var(--accent),transparent 70%);animation:blob2 18s ease-in-out infinite}
.site-bg .b3{bottom:-15%;left:30%;width:50vh;height:50vh;background:color-mix(in oklch,var(--accent),transparent 78%);animation:blob 16s ease-in-out infinite}
.site-bg .grid-overlay{position:absolute;inset:0;opacity:.04;background-image:linear-gradient(currentColor 1px,transparent 1px),linear-gradient(90deg,currentColor 1px,transparent 1px);background-size:48px 48px;color:#fff}
.site-bg .ico{position:absolute;display:flex;align-items:center;justify-content:center;border-radius:1rem;background:color-mix(in oklch,var(--card),transparent 60%);color:color-mix(in oklch,var(--primary),transparent 55%);border:1px solid color-mix(in oklch,var(--primary),transparent 88%);backdrop-filter:blur(4px);animation:floaty linear infinite}
.site-bg .ico svg{width:55%;height:55%}
@keyframes blob{0%,100%{transform:translate(0,0) scale(1)}50%{transform:translate(20px,-30px) scale(1.08)}}
@keyframes blob2{0%,100%{transform:translate(0,0) scale(1)}50%{transform:translate(-25px,25px) scale(1.12)}}
@keyframes floaty{0%,100%{transform:translateY(0) rotate(0);opacity:.3}50%{transform:translateY(-26px) rotate(6deg);opacity:.6}}

/* ===== Orbiting hero ring (rotating) ===== */
.orbit-rotor{position:absolute;inset:0;display:flex;align-items:center;justify-content:center}
.orbit-rotor .spin{position:relative;width:300px;height:300px;animation:spin 36s linear infinite}
.orbit .soc{position:absolute;left:50%;top:50%;width:3rem;height:3rem;margin:-1.5rem;border-radius:999px;background:var(--card);border:1px solid var(--border);display:flex;align-items:center;justify-content:center;color:var(--primary);box-shadow:var(--shadow-card)}
.orbit .soc .ic{display:flex;align-items:center;justify-content:center;animation:spin-r 36s linear infinite}
.orbit .soc svg{height:1.25rem;width:1.25rem}
@keyframes spin-r{to{transform:rotate(-360deg)}}
