:root{
  --bg-start:#06101f;
  --bg-mid:#0a1b33;
  --bg-end:#10284a;
  --panel:rgba(9,18,36,.84);
  --panel-strong:rgba(37,99,235,.14);
  --text:#f4f8ff;
  --text-soft:#b9c7e3;
  --nav:#f4f8ff;
  --accent:#4f8cff;
  --accent-2:#7cc1ff;
  --line:rgba(124,193,255,.16);
  --shadow:0 24px 64px rgba(0,0,0,.34);
}

*{box-sizing:border-box}
html,body{margin:0;min-height:100%}
body{
  font-family:"Inter",sans-serif;
  color:#f4f8ff;
  background:
    radial-gradient(circle at top left, rgba(79,140,255,.16), transparent 24%),
    radial-gradient(circle at 80% 15%, rgba(124,193,255,.12), transparent 28%),
    linear-gradient(180deg,var(--bg-start) 0%,var(--bg-mid) 46%,var(--bg-end) 100%);
}

a{color:inherit;text-decoration:none}
img{display:block;width:100%;object-fit:cover}

.page-bg{
  position:fixed;inset:0;pointer-events:none;opacity:.42;
  background:
    linear-gradient(rgba(124,193,255,.08) 1px, transparent 1px),
    linear-gradient(90deg, rgba(124,193,255,.08) 1px, transparent 1px);
  background-size:60px 60px;
  mask-image:radial-gradient(circle at center, black, transparent 78%);
}

.topbar,.hero,.section,.footer,.page-main{max-width:1200px;margin:0 auto;padding:24px}
.topbar{display:flex;justify-content:space-between;align-items:center;gap:24px}
.brand{display:flex;align-items:center;gap:14px}
.brand-mark{
  width:54px;height:54px;border-radius:16px;display:grid;place-items:center;
  color:#fff;font-weight:800;background:linear-gradient(145deg,#60a5fa,#1d4ed8);
  box-shadow:var(--shadow)
}
.brand-name{font-weight:800;font-size:1.16rem}
.brand-tag,.eyebrow,.section-head p,.hero-text,.footer-links a,.policy-intro,.policy p,.form-hero p{color:rgba(244,248,255,.78)}
.nav{display:flex;flex-wrap:wrap;gap:14px}
.nav a{
  padding:10px 14px;border-radius:999px;border:1px solid rgba(124,193,255,.14);
  background:rgba(255,255,255,.06);color:var(--nav)
}
.nav a:hover{background:rgba(79,140,255,.14)}

.hero{
  display:grid;grid-template-columns:1.05fr .95fr;gap:36px;align-items:center;
  padding-top:32px;padding-bottom:34px
}
.eyebrow{
  display:inline-block;text-transform:uppercase;letter-spacing:.14em;font-size:.76rem;font-weight:800
}
h1,h2{
  font-family:"Fraunces",serif;line-height:.95;margin:0;letter-spacing:-.02em
}
h1{font-size:clamp(3.3rem,6vw,6.4rem);max-width:11ch}
h2{font-size:clamp(2.1rem,3.3vw,3.5rem)}
p{line-height:1.75}
.hero-text{max-width:62ch}
.cta-row{display:flex;flex-wrap:wrap;gap:14px;margin:28px 0 22px}
.btn{
  padding:14px 20px;border-radius:999px;font-weight:800;border:1px solid rgba(255,255,255,.14);
  display:inline-flex;align-items:center;justify-content:center
}
.primary{background:linear-gradient(145deg,#60a5fa,#1d4ed8);color:#fff;box-shadow:0 14px 30px rgba(37,99,235,.34);border:none}
.secondary{background:rgba(255,255,255,.06);color:#f4f8ff;border-color:rgba(124,193,255,.16)}

.hero-metrics,.solution-grid,.suite-grid,.team-grid,.policy-grid,.contact-layout{display:grid;gap:22px}
.hero-metrics{grid-template-columns:repeat(3,1fr)}
.hero-metrics div,.stats-panel,.solution-card,.suite-card,.person-card,.contact-form,.contact-card,.policy-grid article{
  background:var(--panel);color:var(--text);border:1px solid rgba(255,255,255,.4);box-shadow:var(--shadow)
}
.hero-metrics div{border-radius:20px;padding:16px 18px;border-top:4px solid var(--accent)}
.hero-metrics strong,.mini-row strong{display:block;color:#eef5ff;font-size:1.15rem}

.hero-media,.contact-card{position:relative}
.hero-media img,.contact-card img{border-radius:30px;aspect-ratio:4/5}
.hero-media::after{
  content:"";position:absolute;inset:18px -14px -14px 18px;border-radius:32px;
  border:1px solid rgba(124,193,255,.18);z-index:-1
}
.floating-card{
  position:absolute;left:18px;bottom:18px;padding:18px 20px;border-radius:22px;
  background:rgba(255,255,255,.94);color:var(--text);box-shadow:var(--shadow);min-width:220px
}
.floating-card span,.floating-card small,.mini-row span{color:var(--text-soft)}
.floating-card strong{display:block;font-size:1.32rem;color:#173c78;margin:4px 0}

.section{padding-top:28px;padding-bottom:28px}
.section-head{max-width:760px;margin-bottom:22px}
.section-head p{color:rgba(244,248,255,.78)}

.solution-grid{grid-template-columns:repeat(3,1fr)}
.solution-card,.suite-card,.person-card{border-radius:28px;padding:18px}
.solution-card img{
  border-radius:20px;
  aspect-ratio:16/10;
}
.person-card img{
  border-radius:20px;
  aspect-ratio:4/5;
  height:320px;
  object-position:center top;
}
.solution-card h3,.suite-card h3,.person-card h3{margin:16px 0 6px;color:var(--text);font-size:1.24rem}
.team-role{
  margin:0 0 10px;
  font-weight:700;
  color:var(--accent);
}
.solution-card p,.suite-card p,.person-card p{color:var(--text-soft)}

.suites .section-head,.team .section-head{margin-bottom:18px}
.suite-grid{grid-template-columns:repeat(4,1fr)}
.suite-card{background:linear-gradient(180deg,rgba(12,24,47,.92),rgba(9,18,36,.84))}
.suite-card.highlight{background:linear-gradient(160deg,#132a52,#0d1d36)}
.suite-badge{
  display:inline-flex;padding:8px 12px;border-radius:999px;background:rgba(79,140,255,.14);
  color:#cfe0ff;font-weight:800;font-size:.78rem;letter-spacing:.08em;text-transform:uppercase
}

.feature-strip{display:grid;grid-template-columns:1.1fr .9fr;gap:22px;align-items:start}
.stats-panel{
  border-radius:28px;padding:22px;
  background:linear-gradient(160deg,rgba(9,18,36,.92),rgba(13,29,54,.92))
}
.mini-row{display:flex;justify-content:space-between;gap:16px;padding:14px 0;border-bottom:1px solid rgba(124,193,255,.14)}
.mini-row:last-child{border-bottom:0}

.team-grid{grid-template-columns:repeat(3,1fr)}
.page-main{padding-top:8px;padding-bottom:40px}
.form-hero{max-width:720px;margin-bottom:24px}
.contact-layout{grid-template-columns:1fr .92fr;align-items:start}
.contact-form{display:grid;gap:14px;border-radius:30px;padding:20px}
.contact-form label{display:grid;gap:8px;font-weight:700;color:var(--text)}
.contact-form input,.contact-form textarea,.contact-form select{
  width:100%;border-radius:16px;border:1px solid rgba(124,193,255,.14);padding:14px 15px;font:inherit;background:rgba(255,255,255,.04);color:#f4f8ff
}

.policy{max-width:980px}
.policy-intro{max-width:70ch}
.policy-grid{grid-template-columns:repeat(2,1fr);margin-top:24px}
.policy-grid article,.contact-card{border-radius:30px;padding:18px}
.policy-grid h2,.contact-card h2,.contact-form label{color:var(--text)}
.policy-footer{
  margin-top:22px;padding:18px 20px;border-radius:24px;background:rgba(255,255,255,.08);
  border:1px solid rgba(124,193,255,.14)
}

.footer{display:flex;justify-content:space-between;align-items:center;gap:16px;padding-bottom:32px}
.footer-links{display:flex;gap:18px;flex-wrap:wrap}

@media (max-width:960px){
  .hero,.feature-strip,.contact-layout,.solution-grid,.suite-grid,.team-grid,.policy-grid{grid-template-columns:1fr}
  h1{max-width:none}
}
@media (max-width:720px){
  .topbar,.footer{flex-direction:column;align-items:flex-start}
  .hero,.section,.topbar,.footer,.page-main{padding-left:18px;padding-right:18px}
  .floating-card{left:14px;right:14px}
  .hero-metrics div{flex:1 1 100%}
}
