:root{
  --ink:#0c0c0c; --panel:#111110; --line:#262622;
  --ivory:#f7f3ed; --body:#cfccc4; --grey:#8a8a8a; --gold:#bfa060;
}
*{ margin:0; padding:0; box-sizing:border-box; }
html{ scroll-behavior:smooth; }
body{ font-family:'Montserrat',Helvetica,Arial,sans-serif; background:var(--ink); color:var(--ivory); }
a{ color:var(--gold); text-decoration:none; }
img{ max-width:100%; }

/* nav */
.nav{ position:sticky; top:0; z-index:10; display:flex; align-items:center; justify-content:space-between;
  padding:14px 28px; background:rgba(12,12,12,.92); backdrop-filter:blur(8px); border-bottom:1px solid var(--line); }
.nav .brand img{ height:44px; width:auto; display:block; }
.nav .links{ display:flex; gap:30px; font-size:12.5px; letter-spacing:.2em; text-transform:uppercase; }
.nav .links a{ color:var(--ivory); }
.nav .links a:hover{ color:var(--gold); }
@media (max-width:640px){ .nav .links{ gap:16px; font-size:11px; } .nav .brand img{ height:36px; } }

/* hero */
.hero{ position:relative; text-align:center; padding:104px 24px 88px; overflow:hidden; }
.hero::before{ content:""; position:absolute; inset:0; background:url('assets/tech-network.png') center/cover no-repeat; opacity:.5; }
.hero::after{ content:""; position:absolute; inset:0; background:radial-gradient(ellipse at center, rgba(12,12,12,.22) 0%, rgba(12,12,12,.9) 78%); }
.hero > *{ position:relative; z-index:1; }
.hero img.logo{ width:min(520px,82vw); height:auto; }
.hero h1{ font-weight:300; font-size:clamp(30px,5vw,50px); letter-spacing:.06em; margin-top:36px; }
.hero p.tag{ margin-top:18px; font-weight:300; font-size:clamp(16px,2.3vw,21px); letter-spacing:.1em; color:var(--body); }
.hero p.kicker{ font-size:13px; letter-spacing:.26em; color:var(--gold); text-transform:uppercase; }
.hero p.lede{ max-width:680px; margin:20px auto 0; font-weight:300; font-size:16.5px; line-height:1.7; color:var(--body); }
.cta{ display:inline-block; margin-top:38px; padding:14px 34px; border:1px solid var(--gold); border-radius:999px;
  color:var(--gold); font-size:13px; letter-spacing:.22em; text-transform:uppercase; }
.cta:hover{ background:var(--gold); color:var(--ink); }
.cta.ghost{ border-color:#45443c; color:var(--ivory); margin-left:12px; }
.cta.ghost:hover{ background:var(--ivory); color:var(--ink); }

/* sections */
section{ max-width:1020px; margin:0 auto; padding:74px 24px 10px; }
h2{ font-weight:300; letter-spacing:.28em; font-size:15px; color:var(--gold); text-transform:uppercase; text-align:center; }
.intro{ max-width:720px; margin:22px auto 0; text-align:center; font-weight:300; font-size:16.5px; line-height:1.75; color:var(--body); }
.cards{ display:grid; grid-template-columns:repeat(auto-fit,minmax(290px,1fr)); gap:22px; margin-top:38px; }
.card{ border:1px solid var(--line); border-radius:14px; padding:32px 28px; background:var(--panel); }
.card h3{ font-weight:400; font-size:22px; letter-spacing:.03em; margin-bottom:10px; }
.card h3 a{ color:var(--ivory); }
.card h3 a:hover{ color:var(--gold); }
.card p{ font-weight:300; font-size:15px; line-height:1.68; color:var(--body); }
.badge{ display:inline-block; margin-top:16px; font-size:11px; letter-spacing:.18em; color:var(--gold);
  border:1px solid #4a4130; padding:5px 11px; border-radius:999px; text-transform:uppercase; }
.more{ display:inline-block; margin-top:16px; font-size:12.5px; letter-spacing:.18em; text-transform:uppercase; }

.grid{ display:grid; grid-template-columns:repeat(auto-fit,minmax(280px,1fr)); gap:22px; margin-top:38px; }
.feature{ border:1px solid var(--line); border-radius:14px; padding:28px 26px; background:var(--panel); }
.feature h3{ font-weight:400; font-size:17.5px; margin-bottom:9px; color:var(--ivory); }
.feature p{ font-weight:300; font-size:14.5px; line-height:1.66; color:var(--body); }

.strip{ margin-top:74px; border-top:1px solid var(--line); border-bottom:1px solid var(--line); }
.strip .inner{ max-width:1020px; margin:0 auto; padding:44px 24px; display:grid;
  grid-template-columns:repeat(auto-fit,minmax(200px,1fr)); gap:28px; text-align:center; }
.strip h4{ font-weight:400; font-size:15px; letter-spacing:.14em; text-transform:uppercase; color:var(--gold); margin-bottom:8px; }
.strip p{ font-weight:300; font-size:14px; line-height:1.6; color:var(--body); }

.contact{ text-align:center; }
.contact p{ max-width:620px; margin:20px auto 0; font-weight:300; font-size:16px; line-height:1.7; color:var(--body); }

footer{ text-align:center; padding:70px 24px 46px; color:var(--grey); font-size:13px; letter-spacing:.1em; }
footer .rule{ width:120px; height:1px; background:#33322c; margin:0 auto 26px; }
footer .flinks{ margin-bottom:18px; display:flex; gap:26px; justify-content:center; font-size:12px; letter-spacing:.18em; text-transform:uppercase; }
footer .flinks a{ color:var(--grey); }
footer .flinks a:hover{ color:var(--gold); }
