:root{
  --bg:#F7FAFF;
  --text:#0f172a;
  --muted:#64748b;
  --muted2:#94a3b8;
  --border: rgba(2,6,23,.10);
  --card: rgba(2,6,23,.02);
  --card2: rgba(2,6,23,.03);
  --btn:#0b1220;
  --btnText:#fff;
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  font-family: ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Arial, "Noto Sans", "Apple Color Emoji","Segoe UI Emoji";
  background: var(--bg);
  color: var(--text);
}

.container{max-width:1100px;margin:0 auto;padding:0 20px}
a{color:inherit;text-decoration:none}
.small{font-size:12px;color:var(--muted)}
.muted{color:var(--muted)}
.h1{font-size:48px;line-height:1.05;margin:18px 0 0;font-weight:650;letter-spacing:-.02em}
@media(max-width:768px){ .h1{font-size:38px} }

.backdrop{
  position:fixed;inset:0;pointer-events:none;z-index:-1;
}
.backdrop:before{
  content:"";position:absolute;inset:0;opacity:.55;
  background:
    radial-gradient(ellipse at top, rgba(0,0,0,.06), transparent 55%),
    radial-gradient(ellipse at bottom, rgba(0,0,0,.05), transparent 60%);
}
.gridmask{
  position:absolute;inset:0;
  -webkit-mask-image: radial-gradient(ellipse at center, black 40%, transparent 70%);
  mask-image: radial-gradient(ellipse at center, black 40%, transparent 70%);
}
.grid{
  position:absolute;inset:-4px;opacity:.25;
  background-image:
    linear-gradient(to right, rgba(0,0,0,.05) 1px, transparent 1px),
    linear-gradient(to bottom, rgba(0,0,0,.05) 1px, transparent 1px);
  background-size:48px 48px;
}
.glow1{position:absolute;left:50%;top:-120px;width:360px;height:360px;transform:translateX(-50%);border-radius:999px;background:rgba(0,0,0,.05);filter:blur(48px)}
.glow2{position:absolute;right:-120px;bottom:-120px;width:420px;height:420px;border-radius:999px;background:rgba(0,0,0,.05);filter:blur(56px)}

.nav{
  position:sticky;top:0;z-index:50;
  border-bottom:1px solid var(--border);
  backdrop-filter: blur(16px);
  background: rgba(255,255,255,.70);
}
.navbar{display:flex;align-items:center;justify-content:space-between;height:64px}
.brand{display:flex;align-items:center;gap:12px}
.logo{
  width:36px;height:36px;border-radius:16px;
  border:1px solid rgba(2,6,23,.15);
  background: rgba(2,6,23,.03);
  display:flex;align-items:center;justify-content:center;
  position:relative;
}
.logo:after{
  content:"";position:absolute;left:50%;bottom:-8px;transform:translateX(-50%);
  width:40px;height:2px;
  background: linear-gradient(to right, transparent, rgba(0,0,0,.22), transparent);
}
.navlinks{display:flex;gap:22px}
@media(max-width:860px){.navlinks{display:none}}

.btn{
  display:inline-flex;align-items:center;gap:10px;
  border-radius:16px;padding:11px 14px;
  border:1px solid rgba(2,6,23,.15);
  background: rgba(2,6,23,.04);
  color: var(--text);
  transition:.18s;
}
.btn:hover{background: rgba(2,6,23,.06)}
.btn.primary{
  background: var(--btn); color: var(--btnText);
  border-color: rgba(2,6,23,.18);
}
.btn.primary:hover{opacity:.92}

.hero{padding:70px 0 44px}
.heroGrid{display:grid;grid-template-columns: 1.2fr .8fr;gap:28px;align-items:start}
@media(max-width:1024px){.heroGrid{grid-template-columns:1fr}}
.pills{display:flex;flex-wrap:wrap;gap:8px}
.pill{
  display:inline-flex;align-items:center;gap:8px;
  border-radius:999px;padding:6px 10px;
  border:1px solid rgba(2,6,23,.15);
  background: rgba(2,6,23,.03);
  color: rgba(15,23,42,.80);
  font-size:12px;
}
.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;max-width:520px;margin-top:18px}
.stat{border-radius:16px;border:1px solid var(--border);background:var(--card);padding:12px 14px}
.stat b{display:block;font-size:18px}
.stat span{font-size:12px;color:var(--muted2)}

.card{
  border-radius:26px;
  border:1px solid var(--border);
  background: var(--card2);
  backdrop-filter: blur(18px);
  box-shadow: 0 0 0 1px rgba(0,0,0,.06);
}
.cardPad{padding:18px 20px}
.section{padding:56px 0}
.sectionHead{text-align:center;max-width:720px;margin:0 auto}
.sectionHead .eyebrow{letter-spacing:.25em;text-transform:uppercase;font-size:12px;color:var(--muted)}
.sectionHead h2{margin:10px 0 0;font-size:30px;letter-spacing:-.01em}
.sectionHead p{margin:10px auto 0;max-width:680px;color:var(--muted)}

.cols3{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:26px}
@media(max-width:900px){.cols3{grid-template-columns:1fr}}

.cols12{display:grid;grid-template-columns:repeat(12,1fr);gap:14px;margin-top:14px}
.col7{grid-column:span 7}
.col5{grid-column:span 5}
@media(max-width:900px){.col7,.col5{grid-column:span 12}}

.listItem{
  display:flex;gap:10px;align-items:flex-start;
  border:1px solid var(--border);background:var(--card);
  border-radius:14px;padding:10px 12px;margin-top:10px
}
.dot{width:6px;height:6px;border-radius:50%;background:rgba(0,0,0,.65);margin-top:6px}

.gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:26px}
@media(max-width:900px){.gallery{grid-template-columns:1fr 1fr}}
@media(max-width:560px){.gallery{grid-template-columns:1fr}}
.tile{border-radius:18px;border:1px solid var(--border);background:var(--card);overflow:hidden;position:relative}
.tileInner{aspect-ratio:4/3;display:flex;align-items:center;justify-content:center;padding:16px;text-align:center}
.tile:after{
  content:"";position:absolute;left:0;right:0;bottom:0;height:2px;opacity:0;
  background: linear-gradient(to right, transparent, rgba(0,0,0,.18), transparent);
  transition:.2s;
}
.tile:hover:after{opacity:1}

.faq{max-width:720px;margin:26px auto 0;display:flex;flex-direction:column;gap:10px}
.faqBtn{
  width:100%;text-align:left;border-radius:18px;
  border:1px solid var(--border);background:var(--card);
  padding:14px 16px;cursor:pointer;transition:.18s;
}
.faqBtn:hover{background:rgba(2,6,23,.04)}
.faqA{display:none;margin-top:10px;color:var(--muted);line-height:1.6}
.faqBtn.open .faqA{display:block}

.contactWrap{
  border-radius:32px;border:1px solid var(--border);
  background:var(--card);position:relative;overflow:hidden;
  backdrop-filter: blur(18px);
}
.contactWrap:before{
  content:"";position:absolute;inset:0;
  background: radial-gradient(circle at top, rgba(0,0,0,.06), transparent 60%);
  pointer-events:none;
}
.contactInner{position:relative;padding:26px}
@media(min-width:900px){.contactInner{padding:38px}}

.input, .textarea{
  width:100%;border-radius:16px;border:1px solid rgba(2,6,23,.15);
  background: rgba(2,6,23,.03);
  padding:12px 12px;color:var(--text);
  outline:none;
}
.textarea{min-height:120px;resize:vertical}
.grid2{display:grid;grid-template-columns:1fr 1fr;gap:10px}
@media(max-width:700px){.grid2{grid-template-columns:1fr}}

.footer{border-top:1px solid var(--border);padding:34px 0}
.footerRow{display:flex;justify-content:space-between;gap:14px;flex-wrap:wrap}
.footerLinks{display:flex;gap:16px;color:var(--muted2);font-size:12px}
.footerLinks a:hover{color:#334155}

/* animations */
.reveal{opacity:0;transform: translateY(10px);transition: .55s ease}
.reveal.in{opacity:1;transform:none}
.floatHint{display:inline-flex;align-items:center;gap:8px;font-size:12px;color:var(--muted2);margin-top:16px}
.bounce{display:inline-block;animation:bounce 1.4s ease-in-out infinite}
@keyframes bounce{0%,100%{transform:translateY(0)}50%{transform:translateY(6px)}}
