/* 574.lat Service Pages — Design System 2026 */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
:root{
    --bg:#0a0a0f;--bg-2:#13131c;--bg-3:#1a1a26;
    --surface:rgba(255,255,255,0.03);--surface-2:rgba(255,255,255,0.06);
    --surface-hover:rgba(255,255,255,0.08);
    --line:rgba(255,255,255,0.08);--line-2:rgba(255,255,255,0.14);
    --text:#f1f1f5;--text-dim:#a1a1aa;--text-muted:#71717a;
    --accent:#6366f1;--accent-2:#ec4899;
    --success:#10b981;
    --gradient:linear-gradient(135deg,#6366f1,#ec4899 50%,#f59e0b);
    --font:'Inter',-apple-system,sans-serif;
    --font-display:'Space Grotesk',var(--font);
    --font-mono:'JetBrains Mono',ui-monospace,monospace;
    --r-sm:8px;--r:12px;--r-lg:16px;--r-xl:20px;--r-2xl:28px;
    --transition:0.3s cubic-bezier(0.4,0,0.2,1);
}
html{font-size:16px;scroll-behavior:smooth;-webkit-font-smoothing:antialiased}
body{font-family:var(--font);background:var(--bg);color:var(--text);line-height:1.5;overflow-x:hidden;min-height:100vh}
img{max-width:100%;height:auto;display:block}
a{color:inherit;text-decoration:none;transition:color var(--transition)}
button{font-family:inherit;cursor:pointer;border:none;background:none;color:inherit}
ul{list-style:none}
input,textarea,select{font-family:inherit;font-size:inherit}

/* Background */
.bg-grid{position:fixed;inset:0;z-index:0;pointer-events:none;background-image:linear-gradient(rgba(255,255,255,0.02) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,0.02) 1px,transparent 1px);background-size:60px 60px;mask-image:radial-gradient(circle at 50% 50%,black 0%,transparent 80%)}
.bg-noise{position:fixed;inset:0;z-index:0;pointer-events:none;opacity:0.03;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'/%3E%3C/filter%3E%3Crect width='256' height='256' filter='url(%23n)'/%3E%3C/svg%3E")}
.bg-orbs{position:fixed;inset:0;z-index:0;pointer-events:none;overflow:hidden}
.orb{position:absolute;border-radius:50%;filter:blur(100px);opacity:0.35;animation:orbFloat 20s ease-in-out infinite}
.orb-1{width:500px;height:500px;top:-10%;right:-10%}
.orb-2{width:400px;height:400px;bottom:-5%;left:-10%;animation-delay:-8s}
.orb-3{width:300px;height:300px;top:40%;left:50%;animation-delay:-15s}
@keyframes orbFloat{0%,100%{transform:translate(0,0) scale(1)}50%{transform:translate(60px,-40px) scale(1.1)}}

.container{width:100%;max-width:1280px;margin:0 auto;padding:0 1.5rem;position:relative;z-index:1}
.container-narrow{max-width:860px}

/* NAV */
.nav{position:sticky;top:0;z-index:50;background:rgba(10,10,15,0.75);backdrop-filter:blur(24px) saturate(160%);border-bottom:1px solid var(--line)}
.nav-inner{display:flex;align-items:center;justify-content:space-between;max-width:1280px;margin:0 auto;padding:1rem 1.5rem;gap:2rem}
.logo{display:flex;align-items:center;gap:0.65rem;color:var(--text);font-weight:700}
.logo-badge{display:flex;align-items:center;gap:0.35rem;padding:0.35rem 0.65rem;background:var(--surface-2);border:1px solid var(--line-2);border-radius:999px;font-family:var(--font-mono);font-size:0.85rem}
.logo-dot{width:6px;height:6px;border-radius:50%;background:var(--success);box-shadow:0 0 8px var(--success);animation:pulse 2s ease-in-out infinite}
@keyframes pulse{0%,100%{opacity:1}50%{opacity:0.5}}
.logo-num{font-weight:700}
.logo-text{font-size:1.15rem;font-weight:800;letter-spacing:-0.02em;font-family:var(--font-display)}
.logo-text .dot{color:var(--accent-2)}
.nav-links{display:flex;gap:0.25rem;align-items:center}
.nav-link{padding:0.5rem 0.9rem;font-size:0.88rem;color:var(--text-dim);border-radius:999px;font-weight:500;transition:all var(--transition)}
.nav-link:hover{color:var(--text);background:var(--surface-2)}
.nav-actions{display:flex;align-items:center;gap:0.75rem}
.btn-text{font-size:0.85rem;color:var(--text-dim);padding:0.4rem 0.8rem;transition:color var(--transition)}
.btn-text:hover{color:var(--text)}

/* Buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:0.5rem;padding:0.75rem 1.5rem;font-size:0.88rem;font-weight:600;border-radius:999px;transition:all var(--transition);letter-spacing:-0.01em;white-space:nowrap}
.btn-sm{padding:0.5rem 1rem;font-size:0.82rem}
.btn-primary{background:var(--gradient);color:#fff;box-shadow:0 4px 16px rgba(99,102,241,0.4);position:relative;overflow:hidden}
.btn-primary:hover{transform:translateY(-2px);box-shadow:0 8px 24px rgba(99,102,241,0.5)}
.btn-ghost{background:var(--surface-2);color:var(--text);border:1px solid var(--line-2)}
.btn-ghost:hover{background:var(--surface-hover)}
.btn-block{width:100%}

/* HERO */
.hero{padding:5rem 0 6rem;text-align:center;position:relative}
.hero-chip{display:inline-flex;align-items:center;gap:0.5rem;padding:0.5rem 1rem;background:var(--surface);border:1px solid var(--line);border-radius:999px;font-size:0.8rem;color:var(--text-dim);margin-bottom:2rem;backdrop-filter:blur(10px);font-family:var(--font-mono)}
.chip-dot{width:6px;height:6px;border-radius:50%}
.hero-title{font-family:var(--font-display);font-size:clamp(2.5rem,6vw,5.5rem);line-height:1.02;font-weight:700;letter-spacing:-0.04em;margin-bottom:1.5rem}
.title-line{display:block}
.gradient{background:var(--gradient);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;color:transparent}
.hero-lead{font-size:clamp(1rem,1.5vw,1.2rem);color:var(--text-dim);max-width:640px;margin:0 auto 2.5rem;line-height:1.6}
.hero-cta{display:flex;gap:0.75rem;justify-content:center;flex-wrap:wrap;margin-bottom:4rem}
.hero-metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem;max-width:800px;margin:0 auto;padding:1.5rem;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-xl);backdrop-filter:blur(10px)}
.metric{display:flex;flex-direction:column;align-items:center;gap:0.3rem}
.metric strong{font-size:1.8rem;font-weight:800;background:var(--gradient);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;font-family:var(--font-display)}
.metric span{font-size:0.72rem;color:var(--text-muted);letter-spacing:0.05em;text-transform:uppercase;text-align:center}

/* Marquee */
.marquee{overflow:hidden;padding:1.5rem 0;border-block:1px solid var(--line);background:var(--surface);mask-image:linear-gradient(90deg,transparent,black 10%,black 90%,transparent)}
.marquee-track{display:flex;gap:3rem;white-space:nowrap;animation:marquee 40s linear infinite}
.marquee-track span{font-size:1.05rem;font-weight:500;color:var(--text-dim);font-family:var(--font-mono);display:flex;align-items:center;gap:0.5rem}
.live-dot{width:6px;height:6px;border-radius:50%;background:var(--success);box-shadow:0 0 6px var(--success);animation:pulse 2s ease-in-out infinite;display:inline-block}
@keyframes marquee{from{transform:translateX(0)}to{transform:translateX(-50%)}}

/* Sections */
.section{padding:6rem 0}
.section-alt{background:var(--bg-2)}
.section-head{text-align:center;max-width:680px;margin:0 auto 4rem}
.kicker{display:inline-block;padding:0.35rem 0.8rem;background:var(--surface-2);border:1px solid var(--line);border-radius:999px;font-size:0.7rem;color:var(--accent);font-weight:700;letter-spacing:0.12em;text-transform:uppercase;margin-bottom:1rem;font-family:var(--font-mono)}
.section-title{font-family:var(--font-display);font-size:clamp(2rem,4.5vw,3.5rem);font-weight:700;letter-spacing:-0.035em;line-height:1.05;margin-bottom:1rem}
.section-lead{font-size:1.05rem;color:var(--text-dim);max-width:560px;margin:0 auto}

/* Bento Features */
.bento-features{display:grid;grid-template-columns:repeat(3,1fr);grid-auto-rows:minmax(200px,auto);gap:1rem}
.bento-card{padding:2rem;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-xl);transition:all var(--transition);position:relative;overflow:hidden}
.bento-card:hover{border-color:var(--line-2);transform:translateY(-3px);background:var(--surface-2)}
.bento-card.bento-large{grid-column:span 2;grid-row:span 2;display:flex;flex-direction:column;justify-content:flex-end;background:linear-gradient(135deg,rgba(99,102,241,0.1),rgba(236,72,153,0.1));border-color:var(--line-2)}
.bento-card.bento-wide{grid-column:span 2}
.bento-emoji{font-size:2.5rem;margin-bottom:1rem;display:inline-block}
.bento-card.bento-large .bento-emoji{font-size:3.5rem}
.bento-card h3{font-family:var(--font-display);font-size:1.3rem;font-weight:600;margin-bottom:0.5rem;letter-spacing:-0.02em}
.bento-card.bento-large h3{font-size:1.8rem}
.bento-card p{color:var(--text-dim);font-size:0.92rem;line-height:1.5}
.bento-card.bento-large p{font-size:1rem}

/* Stack */
.stack-grid{display:flex;flex-wrap:wrap;gap:0.5rem;justify-content:center;max-width:900px;margin:0 auto}
.stack-pill{padding:0.5rem 1.1rem;background:var(--surface);border:1px solid var(--line);border-radius:999px;font-size:0.85rem;color:var(--text);transition:all var(--transition);font-family:var(--font-mono)}
.stack-pill:hover{border-color:var(--accent);color:var(--accent);background:rgba(99,102,241,0.1)}

/* Process */
.process-steps{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem}
.process-step{padding:2rem;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);text-align:center}
.step-num{display:inline-block;font-family:var(--font-display);font-size:3rem;font-weight:700;color:var(--accent);line-height:1;margin-bottom:1rem;background:var(--gradient);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}
.process-step h3{font-family:var(--font-display);font-size:1.2rem;font-weight:600;margin-bottom:0.6rem;letter-spacing:-0.02em}
.process-step p{color:var(--text-dim);font-size:0.88rem;line-height:1.55}

/* Pricing */
.pricing-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.25rem}
.pricing-card{padding:2.5rem 2rem;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-xl);position:relative;display:flex;flex-direction:column;transition:all var(--transition)}
.pricing-card:hover{transform:translateY(-4px);border-color:var(--line-2)}
.pricing-card.featured{background:linear-gradient(135deg,rgba(99,102,241,0.1),rgba(236,72,153,0.1));border-color:var(--accent)}
.pricing-badge{position:absolute;top:-12px;left:50%;transform:translateX(-50%);padding:0.3rem 1rem;background:var(--gradient);border-radius:999px;font-size:0.7rem;font-weight:700;letter-spacing:0.08em;text-transform:uppercase;white-space:nowrap}
.pricing-card h3{font-family:var(--font-display);font-size:1.3rem;font-weight:600;margin-bottom:0.5rem;letter-spacing:-0.02em}
.price{display:flex;align-items:baseline;gap:0.3rem;margin-bottom:0.5rem}
.price strong{font-family:var(--font-display);font-size:2.2rem;font-weight:800;background:var(--gradient);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}
.price span{font-size:0.82rem;color:var(--text-muted);font-family:var(--font-mono)}
.pricing-card > p{color:var(--text-dim);font-size:0.9rem;margin-bottom:1.5rem}
.pricing-card ul{display:grid;gap:0.6rem;margin-bottom:2rem;flex:1}
.pricing-card ul li{font-size:0.88rem;color:var(--text-dim);display:flex;align-items:flex-start;gap:0.5rem;padding:0.3rem 0;position:relative;padding-left:1.25rem}
.pricing-card ul li::before{content:'';position:absolute;left:0;top:0.65rem;width:8px;height:8px;border-radius:50%;background:var(--accent)}

/* Portfolio */
.portfolio-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1.25rem}
.portfolio-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-xl);overflow:hidden;transition:all var(--transition);display:flex;flex-direction:column}
.portfolio-card:hover{transform:translateY(-4px);border-color:var(--line-2)}
.portfolio-emoji{aspect-ratio:16/10;display:grid;place-items:center;font-size:4rem;background:linear-gradient(135deg,rgba(99,102,241,0.15),rgba(236,72,153,0.15))}
.portfolio-body{padding:1.5rem}
.portfolio-body h3{font-family:var(--font-display);font-size:1.2rem;font-weight:600;margin-bottom:0.5rem;letter-spacing:-0.02em}
.portfolio-body p{color:var(--text-dim);font-size:0.88rem;line-height:1.55;margin-bottom:1rem}
.portfolio-tags{display:flex;flex-wrap:wrap;gap:0.4rem;margin-bottom:1rem}
.portfolio-tags span{padding:0.25rem 0.6rem;background:var(--surface-2);border:1px solid var(--line);border-radius:999px;font-size:0.72rem;color:var(--text-dim);font-family:var(--font-mono)}
.portfolio-link{display:inline-flex;align-items:center;gap:0.4rem;font-size:0.85rem;color:var(--accent);font-weight:600;transition:gap var(--transition)}
.portfolio-card:hover .portfolio-link{gap:0.7rem}

/* FAQ */
.faq-list{display:grid;gap:0.75rem}
.faq-item{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);overflow:hidden;transition:all var(--transition)}
.faq-item[open]{border-color:var(--accent);background:var(--surface-2)}
.faq-item summary{padding:1.2rem 1.5rem;cursor:pointer;font-weight:600;list-style:none;display:flex;justify-content:space-between;align-items:center;gap:1rem;font-size:0.95rem}
.faq-item summary::-webkit-details-marker{display:none}
.faq-item summary::after{content:'+';font-size:1.5rem;color:var(--accent);transition:transform var(--transition);flex-shrink:0}
.faq-item[open] summary::after{transform:rotate(45deg)}
.faq-item p{padding:0 1.5rem 1.2rem;color:var(--text-dim);line-height:1.7;font-size:0.92rem}

/* CTA */
.cta-section{padding:5rem 0}
.cta-card{padding:4rem 3rem;border:1px solid var(--line-2);border-radius:var(--r-2xl);position:relative;overflow:hidden;text-align:center}
.cta-card::before{content:'';position:absolute;inset:0;background:radial-gradient(circle at 30% 30%,rgba(99,102,241,0.2),transparent 50%),radial-gradient(circle at 70% 70%,rgba(236,72,153,0.2),transparent 50%);pointer-events:none}
.cta-inner{position:relative;z-index:1}
.cta-inner h2{font-family:var(--font-display);font-size:clamp(1.8rem,4vw,3rem);font-weight:700;letter-spacing:-0.03em;line-height:1.1;margin:1rem 0 1.5rem}
.cta-inner > p{color:var(--text-dim);margin-bottom:2rem;max-width:500px;margin-left:auto;margin-right:auto}
.cta-buttons{display:flex;gap:0.75rem;justify-content:center;flex-wrap:wrap}

/* Footer */
.site-footer{border-top:1px solid var(--line);padding:4rem 0 2rem;background:var(--bg-2)}
.footer-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:3rem;padding-bottom:2rem;border-bottom:1px solid var(--line);flex-wrap:wrap;gap:1rem}
.footer-top p{font-size:0.85rem;color:var(--text-dim);font-family:var(--font-mono)}
.footer-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:2rem;margin-bottom:3rem}
.footer h4{font-size:0.8rem;font-weight:600;color:var(--text);margin-bottom:1rem;text-transform:uppercase;letter-spacing:0.1em;font-family:var(--font-mono)}
.footer ul{display:grid;gap:0.5rem}
.footer ul a{font-size:0.88rem;color:var(--text-dim);transition:color var(--transition)}
.footer ul a:hover{color:var(--text)}
.footer-bottom{display:flex;justify-content:space-between;padding-top:2rem;border-top:1px solid var(--line);font-size:0.78rem;color:var(--text-muted);flex-wrap:wrap;gap:1rem;font-family:var(--font-mono)}
.footer-bottom a{color:var(--accent)}

/* WA Float */
.wa-float{position:fixed;bottom:28px;right:28px;width:60px;height:60px;background:#25d366;color:#fff;border-radius:50%;display:grid;place-items:center;box-shadow:0 6px 25px rgba(37,211,102,0.4);z-index:90;animation:wa-pulse 2.5s ease-in-out infinite}
@keyframes wa-pulse{0%,100%{box-shadow:0 6px 25px rgba(37,211,102,0.4)}50%{box-shadow:0 6px 25px rgba(37,211,102,0.7),0 0 0 15px rgba(37,211,102,0)}}
.wa-float:hover{transform:scale(1.1)}
.menu-btn{display:none}

/* Responsive */
@media(max-width:1024px){
    .bento-features{grid-template-columns:repeat(2,1fr)}
    .bento-card.bento-large,.bento-card.bento-wide{grid-column:span 2}
    .process-steps{grid-template-columns:repeat(2,1fr)}
    .pricing-grid{grid-template-columns:1fr;max-width:500px;margin:0 auto}
    .hero-metrics{grid-template-columns:repeat(2,1fr)}
    .footer-grid{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:768px){
    .nav-links{display:none}
    .section{padding:4rem 0}
    .bento-features{grid-template-columns:1fr}
    .bento-card.bento-large,.bento-card.bento-wide{grid-column:span 1}
    .hero{padding:3rem 0 4rem}
    .process-steps{grid-template-columns:1fr}
    .footer-grid{grid-template-columns:1fr}
    .footer-top{flex-direction:column;text-align:center}
    .wa-float{width:52px;height:52px;bottom:20px;right:20px}
    .wa-float svg{width:24px;height:24px}
    .cta-card{padding:3rem 1.5rem}
}
