*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
:root{
  --black:#07090f;--dark:#0c1118;--card:#111720;
  --border:rgba(255,255,255,0.07);--border-lit:rgba(14,165,233,0.25);
  --blue:#0ea5e9;--blue-dim:rgba(14,165,233,0.1);
  --white:#f0f4ff;--muted:#5c7190;--light:#a8bcd4;
  --display:'Bebas Neue',sans-serif;--body:'DM Sans',sans-serif;
}
html{scroll-behavior:smooth}
body{font-family:var(--body);background:var(--black);color:var(--white);overflow-x:hidden;-webkit-font-smoothing:antialiased}
nav{position:fixed;top:0;left:0;right:0;z-index:200;padding:0 48px;height:70px;display:flex;align-items:center;justify-content:space-between;transition:background .3s}
nav.scrolled{background:rgba(7,9,15,0.97);border-bottom:1px solid var(--border);backdrop-filter:blur(16px)}
.logo{font-family:var(--display);font-size:26px;letter-spacing:.05em;color:var(--white);text-decoration:none;display:flex;align-items:center;gap:10px}
.logo-gem{width:16px;height:16px;background:var(--blue);clip-path:polygon(50% 0%,100% 50%,50% 100%,0% 50%);flex-shrink:0;box-shadow:0 0 12px rgba(14,165,233,0.5)}
.logo em{color:var(--blue);font-style:normal}
.nav-links{display:flex;gap:40px;list-style:none;align-items:center}
.nav-links a{font-size:12px;font-weight:500;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);text-decoration:none;transition:color .2s}
.nav-links a:hover{color:var(--white)}
.nav-cta{background:none;border:1px solid rgba(14,165,233,0.45);color:var(--blue)!important;padding:10px 22px;border-radius:2px;transition:background .2s!important}
.nav-cta:hover{background:var(--blue)!important;color:var(--black)!important}
.hamburger{display:none;flex-direction:column;gap:5px;cursor:pointer;background:none;border:none;padding:4px}
.hamburger span{display:block;width:22px;height:1.5px;background:var(--white);transition:.3s}
.mob{display:none;position:fixed;top:70px;left:0;right:0;background:rgba(7,9,15,0.99);border-bottom:1px solid var(--border);padding:36px 48px;flex-direction:column;gap:28px;z-index:199;backdrop-filter:blur(20px)}
.mob.open{display:flex}
.mob a{font-size:15px;font-weight:500;letter-spacing:.08em;text-transform:uppercase;color:var(--light);text-decoration:none}
.mob a:hover{color:var(--blue)}
/* page hero */
.page-hero{padding:140px 48px 80px;background:var(--dark);position:relative;overflow:hidden;border-bottom:1px solid var(--border)}
.page-hero::before{content:'';position:absolute;inset:0;background:radial-gradient(ellipse 60% 80% at 80% 50%,rgba(14,165,233,0.06) 0%,transparent 70%)}
.page-hero-dot{position:absolute;inset:0;pointer-events:none;background-image:radial-gradient(rgba(14,165,233,0.1) 1px,transparent 1px);background-size:40px 40px;mask-image:radial-gradient(ellipse 40% 60% at 80% 50%,black,transparent)}
.ph-inner{position:relative;z-index:2;max-width:1100px;margin:0 auto}
.ph-tag{font-size:11px;font-weight:600;letter-spacing:.2em;text-transform:uppercase;color:var(--blue);margin-bottom:16px;display:flex;align-items:center;gap:12px}
.ph-tag::before{content:'';width:22px;height:1px;background:var(--blue)}
.ph-h1{font-family:var(--display);font-size:clamp(56px,8vw,100px);line-height:.93;text-transform:uppercase;letter-spacing:.01em;margin-bottom:24px}
.ph-h1 em{color:var(--blue);font-style:normal}
.ph-desc{font-size:17px;font-weight:300;color:var(--muted);max-width:520px;line-height:1.8;margin-bottom:36px}
.ph-desc strong{color:var(--light);font-weight:500}
/* shared buttons */
.btn-main{display:inline-flex;align-items:center;gap:12px;background:var(--blue);color:var(--black);font-family:var(--body);font-size:13px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;padding:18px 40px;text-decoration:none;clip-path:polygon(0 0,calc(100% - 10px) 0,100% 10px,100% 100%,10px 100%,0 calc(100% - 10px));transition:transform .2s,box-shadow .2s}
.btn-main:hover{transform:translateY(-3px);box-shadow:0 16px 48px rgba(14,165,233,0.3)}
.btn-ghost{display:inline-flex;align-items:center;gap:10px;color:var(--light);font-size:13px;font-weight:500;letter-spacing:.08em;text-transform:uppercase;text-decoration:none;padding:18px 0;border-bottom:1px solid rgba(255,255,255,0.12);transition:color .2s,border-color .2s}
.btn-ghost:hover{color:var(--blue);border-color:var(--blue)}
/* content sections */
.sec{padding:100px 48px}
.sec-inner{max-width:1100px;margin:0 auto}
.s-tag{font-size:11px;font-weight:600;letter-spacing:.2em;text-transform:uppercase;color:var(--blue);margin-bottom:18px;display:flex;align-items:center;gap:12px}
.s-tag::before{content:'';width:22px;height:1px;background:var(--blue)}
h2{font-family:var(--display);font-size:clamp(44px,6vw,80px);text-transform:uppercase;line-height:.94;letter-spacing:.01em}
h2 em{color:var(--blue);font-style:normal}
.s-sub{font-size:16px;color:var(--muted);max-width:520px;line-height:1.75;margin-top:20px}
/* content grid */
.content-grid{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:start;margin-top:64px}
.content-body p{font-size:16px;color:var(--muted);line-height:1.85;margin-bottom:20px}
.content-body p strong{color:var(--light);font-weight:500}
.content-body h3{font-family:var(--display);font-size:28px;text-transform:uppercase;letter-spacing:.03em;margin:32px 0 12px;color:var(--white)}
/* checklist */
.checklist{list-style:none;margin-top:8px}
.checklist li{font-size:15px;color:var(--muted);line-height:1.6;padding:12px 0;border-bottom:1px solid var(--border);display:flex;align-items:flex-start;gap:14px}
.checklist li::before{content:'';width:18px;height:18px;border:1px solid rgba(14,165,233,0.5);flex-shrink:0;background:var(--blue-dim);margin-top:2px;position:relative}
.checklist li::before{content:'✓';display:flex;align-items:center;justify-content:center;font-size:10px;color:var(--blue);font-weight:700}
/* sidebar box */
.sidebar-box{background:var(--dark);border:1px solid var(--border);padding:40px 36px;position:sticky;top:100px}
.sidebar-box h3{font-family:var(--display);font-size:32px;text-transform:uppercase;margin-bottom:16px;line-height:1.05}
.sidebar-box h3 span{color:var(--blue)}
.sidebar-box p{font-size:14px;color:var(--muted);line-height:1.75;margin-bottom:28px}
.sidebar-phone{font-family:var(--display);font-size:32px;color:var(--white);text-decoration:none;display:block;margin-bottom:24px;transition:color .2s;letter-spacing:.03em}
.sidebar-phone:hover{color:var(--blue)}
.sidebar-note{font-size:11px;color:var(--muted);letter-spacing:.1em;text-transform:uppercase;padding-top:24px;border-top:1px solid var(--border)}
/* related services */
.related{background:var(--dark);padding:80px 48px;border-top:1px solid var(--border)}
.related-inner{max-width:1100px;margin:0 auto}
.related h3{font-family:var(--display);font-size:36px;text-transform:uppercase;margin-bottom:36px}
.related-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:12px}
.related-card{background:var(--black);border:1px solid var(--border);padding:24px 20px;text-decoration:none;color:inherit;display:block;transition:border-color .2s,background .2s}
.related-card:hover{border-color:var(--border-lit);background:var(--card)}
.related-card span{font-family:var(--display);font-size:20px;text-transform:uppercase;display:block;margin-bottom:4px}
.related-card p{font-size:12px;color:var(--muted)}
/* big cta */
.cta-block{padding:120px 48px;background:var(--black);text-align:center;position:relative;overflow:hidden}
.cta-block::before{content:'';position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:700px;height:400px;background:radial-gradient(ellipse,rgba(14,165,233,0.06) 0%,transparent 65%);pointer-events:none}
.cta-tag{font-size:11px;font-weight:600;letter-spacing:.2em;text-transform:uppercase;color:var(--blue);margin-bottom:24px;display:flex;align-items:center;justify-content:center;gap:14px}
.cta-tag::before,.cta-tag::after{content:'';width:24px;height:1px;background:var(--blue)}
.cta-block h2{margin-bottom:24px}
.cta-block p{font-size:17px;color:var(--muted);max-width:400px;margin:0 auto 48px;line-height:1.65}
.cta-tel{font-family:var(--display);font-size:clamp(36px,5vw,64px);color:var(--white);text-decoration:none;letter-spacing:.04em;display:block;margin-bottom:10px;transition:color .2s}
.cta-tel:hover{color:var(--blue)}
.cta-note{font-size:11px;color:var(--muted);letter-spacing:.1em;text-transform:uppercase}
/* footer */
footer{background:#030508;padding:80px 48px 44px;border-top:1px solid var(--border)}
.ft{display:grid;grid-template-columns:2fr 1fr 1fr;gap:80px;padding-bottom:64px;border-bottom:1px solid var(--border)}
.ft-logo{font-family:var(--display);font-size:30px;letter-spacing:.05em;color:var(--white);text-decoration:none;display:flex;align-items:center;gap:10px;margin-bottom:22px}
.ft-logo em{color:var(--blue);font-style:normal}
.ft-about{font-size:14px;color:var(--muted);line-height:1.8;max-width:280px}
.ft-col h4{font-size:11px;font-weight:600;letter-spacing:.15em;text-transform:uppercase;color:var(--light);margin-bottom:22px}
.ft-col ul{list-style:none}
.ft-col li{margin-bottom:14px}
.ft-col a{font-size:14px;color:var(--muted);text-decoration:none;transition:color .2s}
.ft-col a:hover{color:var(--blue)}
.fb{padding-top:36px;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:16px}
.fb p{font-size:13px;color:rgba(92,113,144,0.55)}
/* animations */
@keyframes fadeUp{from{opacity:0;transform:translateY(28px)}to{opacity:1;transform:none}}
.reveal{opacity:0;transform:translateY(28px);transition:opacity .7s ease,transform .7s ease}
.reveal.in{opacity:1;transform:none}
.d1{transition-delay:.1s}.d2{transition-delay:.2s}.d3{transition-delay:.3s}
/* responsive */
@media(max-width:960px){
  nav{padding:0 24px}.nav-links{display:none}.hamburger{display:flex}
  .page-hero{padding:110px 24px 60px}
  .sec{padding:70px 24px}.related{padding:60px 24px}.cta-block{padding:80px 24px}
  footer{padding:60px 24px 36px}.ft{grid-template-columns:1fr;gap:40px}
  .content-grid{grid-template-columns:1fr;gap:48px}
  .sidebar-box{position:static}.mob{padding:28px 24px}
}
