@import url('https://fonts.googleapis.com/css2?family=Syne:wght@400;600;700;800&family=DM+Sans:ital,wght@0,300;0,400;0,500;1,300&display=swap');

*{margin:0;padding:0;box-sizing:border-box;}

:root{
  --teal:#197278;
  --onyx:#0D0A0B;
  --aqua:#8CFFDA;
  --offwhite:#F5F5F0;
  --teal-dark:#2E4A4F;
  --teal-mid:#1d8a91;
}

body{background:var(--onyx);color:var(--offwhite);font-family:'DM Sans',sans-serif;overflow-x:hidden;cursor:none;}

.cursor{position:fixed;width:8px;height:8px;background:var(--aqua);border-radius:50%;pointer-events:none;z-index:9999;transform:translate(-50%,-50%);transition:transform 0.1s;}
.cursor-ring{position:fixed;width:32px;height:32px;border:1px solid rgba(140,255,218,0.4);border-radius:50%;pointer-events:none;z-index:9998;transform:translate(-50%,-50%);transition:transform 0.15s, width 0.2s, height 0.2s;}

nav{position:fixed;top:0;left:0;right:0;z-index:100;padding:1.5rem 3rem;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid rgba(140,255,218,0.08);}
nav::before{content:'';position:absolute;inset:0;background:rgba(13,10,11,0.85);backdrop-filter:blur(12px);z-index:-1;}
.nav-logo{font-family:'Syne',sans-serif;font-weight:800;font-size:1.25rem;color:var(--offwhite);letter-spacing:0.05em;}
.nav-logo span{color:var(--aqua);}
.nav-links{display:flex;gap:2rem;list-style:none;}
.nav-links a{color:rgba(245,245,240,0.5);text-decoration:none;font-size:0.85rem;font-weight:500;letter-spacing:0.03em;transition:color 0.2s;}
.nav-links a:hover{color:var(--aqua);}
.nav-cta{background:transparent;border:1px solid var(--aqua);color:var(--aqua);padding:0.5rem 1.25rem;font-family:'DM Sans',sans-serif;font-size:0.85rem;cursor:none;transition:all 0.2s;letter-spacing:0.03em;}
.nav-cta:hover{background:var(--aqua);color:var(--onyx);}

.hero{min-height:100vh;display:flex;align-items:center;padding:8rem 3rem 4rem;position:relative;overflow:hidden;}
.hero-grid{display:grid;grid-template-columns:1fr 1fr;gap:4rem;align-items:center;width:100%;max-width:1200px;margin:0 auto;}
.hero-tag{display:inline-flex;align-items:center;gap:0.5rem;border:1px solid rgba(140,255,218,0.3);padding:0.35rem 0.75rem;font-size:0.75rem;letter-spacing:0.1em;color:var(--aqua);margin-bottom:1.5rem;opacity:0;animation:fadeUp 0.8s 0.2s forwards;}
.hero-tag::before{content:'';width:6px;height:6px;background:var(--aqua);border-radius:50%;animation:pulse 2s infinite;}
.hero-title{font-family:'Syne',sans-serif;font-size:45px;font-weight:800;line-height:1.05;letter-spacing:-0.02em;opacity:0;animation:fadeUp 0.8s 0.4s forwards;}
.hero-title .line-accent{color:var(--aqua);}
.hero-title .line-muted{color:rgba(245,245,240,0.35);}
.hero-sub{margin-top:1.5rem;font-size:1rem;color:rgba(245,245,240,0.55);line-height:1.7;max-width:420px;font-weight:300;opacity:0;animation:fadeUp 0.8s 0.6s forwards;}
.hero-actions{display:flex;gap:1rem;margin-top:2.5rem;opacity:0;animation:fadeUp 0.8s 0.8s forwards;}
.btn-primary{background:var(--aqua);color:var(--onyx);padding:0.85rem 2rem;font-family:'DM Sans',sans-serif;font-weight:500;font-size:0.9rem;border:none;cursor:none;transition:all 0.2s;letter-spacing:0.02em;}
.btn-primary:hover{background:var(--offwhite);}
.btn-ghost{background:transparent;color:var(--offwhite);padding:0.85rem 2rem;font-family:'DM Sans',sans-serif;font-weight:400;font-size:0.9rem;border:1px solid rgba(245,245,240,0.2);cursor:none;transition:all 0.2s;}
.btn-ghost:hover{border-color:var(--offwhite);}

.hero-visual{position:relative;height:400px;opacity:0;animation:fadeIn 1.2s 0.6s forwards;}
.hero-card{position:absolute;background:rgba(25,114,120,0.15);border:1px solid rgba(140,255,218,0.2);padding:1.5rem;backdrop-filter:blur(8px);}
.hero-card-main{width:280px;top:20px;right:20px;animation:float 6s ease-in-out infinite;}
.hero-card-sm{width:200px;bottom:40px;left:0;animation:float 6s ease-in-out infinite 1s;}
.card-label{font-size:0.7rem;letter-spacing:0.1em;color:var(--aqua);margin-bottom:0.75rem;}
.card-stat{font-family:'Syne',sans-serif;font-size:2rem;font-weight:700;color:var(--offwhite);}
.card-stat-sub{font-size:0.8rem;color:rgba(245,245,240,0.4);margin-top:0.25rem;}
.card-bar{height:3px;background:rgba(140,255,218,0.15);margin-top:1rem;overflow:hidden;}
.card-bar-fill{height:100%;background:var(--aqua);width:0;animation:barFill 2s 1.5s forwards;}

.stats-strip{border-top:1px solid rgba(140,255,218,0.08);border-bottom:1px solid rgba(140,255,218,0.08);padding:2rem 3rem;display:grid;grid-template-columns:repeat(4,1fr);gap:2rem;max-width:1200px;margin:0 auto;}
.stat-item{text-align:center;}
.stat-num{font-family:'Syne',sans-serif;font-size:2.2rem;font-weight:700;color:var(--aqua);}
.stat-label{font-size:0.8rem;color:rgba(245,245,240,0.4);margin-top:0.25rem;letter-spacing:0.05em;}

.section{padding:6rem 3rem;max-width:1200px;margin:0 auto;}
.section-tag{font-size:0.75rem;letter-spacing:0.15em;color:var(--aqua);margin-bottom:1rem;display:flex;align-items:center;gap:0.75rem;}
.section-tag::before{content:'';display:block;width:24px;height:1px;background:var(--aqua);}
.section-title{font-family:'Syne',sans-serif;font-size:clamp(2rem,3.5vw,3rem);font-weight:700;line-height:1.1;letter-spacing:-0.02em;margin-bottom:1rem;}
.section-sub{color:rgba(245,245,240,0.5);font-size:0.95rem;line-height:1.7;max-width:480px;font-weight:300;}

.services-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem;margin-top:3rem;}
.service-card{border:1px solid rgba(140,255,218,0.1);padding:2rem;position:relative;overflow:hidden;transition:border-color 0.3s;}
.service-card::before{content:'';position:absolute;top:0;left:0;right:0;height:2px;background:var(--aqua);transform:scaleX(0);transform-origin:left;transition:transform 0.3s;}
.service-card:hover{border-color:rgba(140,255,218,0.3);}
.service-card:hover::before{transform:scaleX(1);}
.service-num{font-family:'Syne',sans-serif;font-size:3rem;font-weight:800;color:rgba(140,255,218,0.1);line-height:1;margin-bottom:1rem;}
.service-name{font-family:'Syne',sans-serif;font-size:1.1rem;font-weight:600;margin-bottom:0.75rem;}
.service-desc{font-size:0.85rem;color:rgba(245,245,240,0.45);line-height:1.7;font-weight:300;}
.service-tags{display:flex;flex-wrap:wrap;gap:0.5rem;margin-top:1.25rem;}
.tag{font-size:0.7rem;padding:0.25rem 0.6rem;border:1px solid rgba(140,255,218,0.2);color:rgba(140,255,218,0.7);letter-spacing:0.05em;}

.cases-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem;margin-top:3rem;}
.case-card{border:1px solid rgba(140,255,218,0.1);padding:2rem;position:relative;overflow:hidden;transition:all 0.3s;}
.case-card:hover{border-color:rgba(140,255,218,0.25);background:rgba(25,114,120,0.06);}
.case-label{font-size:0.7rem;letter-spacing:0.1em;color:var(--aqua);margin-bottom:1rem;}
.case-name{font-family:'Syne',sans-serif;font-size:1.4rem;font-weight:700;margin-bottom:0.5rem;}
.case-type{font-size:0.85rem;color:rgba(245,245,240,0.4);margin-bottom:1.25rem;}
.case-metrics{display:flex;gap:1.5rem;padding-top:1.25rem;border-top:1px solid rgba(140,255,218,0.08);}
.case-metric-val{font-family:'Syne',sans-serif;font-size:1.25rem;font-weight:700;color:var(--aqua);}
.case-metric-label{font-size:0.7rem;color:rgba(245,245,240,0.35);margin-top:0.2rem;}
.case-soon{opacity:0.4;}
.case-badge{display:inline-block;font-size:0.65rem;letter-spacing:0.1em;padding:0.25rem 0.6rem;background:rgba(140,255,218,0.1);color:var(--aqua);margin-bottom:1rem;}

.cta-section{padding:6rem 3rem;position:relative;overflow:hidden;}
.cta-inner{max-width:1200px;margin:0 auto;border:1px solid rgba(140,255,218,0.15);padding:4rem;position:relative;display:grid;grid-template-columns:1fr auto;align-items:center;gap:3rem;}
.cta-inner::before{content:'';position:absolute;top:-1px;left:3rem;right:3rem;height:1px;background:linear-gradient(90deg,transparent,var(--aqua),transparent);}
.cta-title{font-family:'Syne',sans-serif;font-size:clamp(1.75rem,3vw,2.5rem);font-weight:700;line-height:1.15;}
.cta-title span{color:var(--aqua);}
.cta-sub{color:rgba(245,245,240,0.45);font-size:0.9rem;margin-top:0.75rem;font-weight:300;}

footer{border-top:1px solid rgba(140,255,218,0.08);padding:2rem 3rem;max-width:1200px;margin:0 auto;display:flex;justify-content:space-between;align-items:center;}
.footer-logo{font-family:'Syne',sans-serif;font-weight:800;font-size:1rem;letter-spacing:0.05em;}
.footer-logo span{color:var(--aqua);}
.footer-copy{font-size:0.8rem;color:rgba(245,245,240,0.25);}

.bg-grid{position:fixed;inset:0;background-image:linear-gradient(rgba(140,255,218,0.03) 1px,transparent 1px),linear-gradient(90deg,rgba(140,255,218,0.03) 1px,transparent 1px);background-size:60px 60px;pointer-events:none;z-index:0;}
.bg-glow{position:fixed;width:600px;height:600px;background:radial-gradient(circle,rgba(25,114,120,0.12) 0%,transparent 70%);pointer-events:none;z-index:0;top:-100px;right:-100px;}

@keyframes fadeUp{from{opacity:0;transform:translateY(24px);}to{opacity:1;transform:translateY(0);}}
@keyframes fadeIn{from{opacity:0;}to{opacity:1;}}
@keyframes float{0%,100%{transform:translateY(0);}50%{transform:translateY(-12px);}}
@keyframes pulse{0%,100%{opacity:1;}50%{opacity:0.3;}  }
@keyframes barFill{to{width:72%;}}
