/* ==========================================================================
   Sydney Venture Partners — site styles (plain static, no runtime)
   Brand values baked from the SVP design system.
   ========================================================================== */

/* ---- Fonts (self-hosted Garet) ---- */
@font-face {
  font-family: 'Garet';
  src: url('fonts/Garet-Book.otf') format('opentype');
  font-weight: 100 500; font-style: normal; font-display: swap;
}
@font-face {
  font-family: 'Garet';
  src: url('fonts/Garet-Heavy.otf') format('opentype');
  font-weight: 600 900; font-style: normal; font-display: swap;
}

:root {
  --purple:#8451EB; --purple-deep:#31164F; --plum:#3E0E55; --violet:#6A1B99;
  --ink:#101115; --text:#26202F; --muted:#564F63;
  --lav-pale:#F5E3FF; --lav:#E6DCFF;
  --gradient:linear-gradient(135deg,#4B2BD6 0%,#8451EB 45%,#A100FF 75%,#CF6EE0 100%);
  --border:rgba(62,14,85,0.12);
  --shadow-md:0 6px 20px rgba(49,22,79,0.12);
  --shadow-lg:0 18px 48px rgba(49,22,79,0.18);
  --shadow-purple:0 10px 30px rgba(132,81,235,0.30);
  --ease:cubic-bezier(0.4,0,0.2,1);
  --font:'Garet','Poppins','Century Gothic',system-ui,sans-serif;
}

* { box-sizing:border-box; }
html { scroll-behavior:smooth; overflow-x:clip; }
body { margin:0; font-family:var(--font); color:var(--text); background:#fff; -webkit-font-smoothing:antialiased; overflow-x:clip; }
img,svg { display:block; }
a { color:var(--violet); }
a:hover { color:var(--purple); }
section[id], header[id] { scroll-margin-top:88px; }

h1,h2,h3,p,ul,blockquote { margin:0; }

/* ---- Shared layout ---- */
.wrap { max-width:1160px; margin:0 auto; }
.wrap-narrow { max-width:1080px; margin:0 auto; }

/* ---- Logo ---- */
.logo { flex:0 0 auto; }

/* ---- Header / nav ---- */
.site-header {
  position:sticky; top:0; z-index:20; display:flex; align-items:center;
  justify-content:space-between; padding:16px 48px;
  background:rgba(255,255,255,0.82); backdrop-filter:blur(12px);
  -webkit-backdrop-filter:blur(12px); border-bottom:1px solid var(--border);
}
.brand { display:flex; align-items:center; gap:12px; text-decoration:none; }
.brand-name { font-weight:800; text-transform:uppercase; letter-spacing:0.04em; font-size:14px; color:var(--plum); line-height:1.05; }
.nav { display:flex; align-items:center; gap:30px; }
.nav-link { text-decoration:none; color:var(--text); font-weight:600; font-size:13px; text-transform:uppercase; letter-spacing:0.05em; }
.nav-link:hover { color:var(--violet); }
.nav-toggle { display:none; flex-direction:column; justify-content:center; gap:5px; width:44px; height:44px; padding:11px; background:none; border:none; cursor:pointer; }
.nav-toggle span { display:block; width:100%; height:2px; border-radius:2px; background:var(--plum); transition:transform .22s var(--ease), opacity .18s var(--ease); }
.site-header.nav-open .nav-toggle span:nth-child(1) { transform:translateY(7px) rotate(45deg); }
.site-header.nav-open .nav-toggle span:nth-child(2) { opacity:0; }
.site-header.nav-open .nav-toggle span:nth-child(3) { transform:translateY(-7px) rotate(-45deg); }
@media (max-width:900px){
  .site-header { padding:14px 22px; }
  .nav-toggle { display:flex; }
  .nav { display:none; position:absolute; top:100%; left:0; right:0; flex-direction:column; align-items:stretch; gap:0; background:#fff; padding:8px 22px 18px; border-bottom:1px solid var(--border); box-shadow:var(--shadow-md); }
  .site-header.nav-open .nav { display:flex; }
  .nav .nav-link { padding:15px 0; font-size:15px; border-bottom:1px solid var(--border); }
  .nav .btn { margin-top:14px; justify-content:center; }
}

/* ---- Eyebrow / label ---- */
.eyebrow { font-weight:800; text-transform:uppercase; color:var(--violet); display:inline-block; line-height:1.1; font-size:15px; letter-spacing:0.14em; }
.label { font-weight:800; text-transform:uppercase; color:var(--violet); display:inline-block; line-height:1.1; font-size:16px; letter-spacing:0.06em; }
.on-dark { color:var(--lav-pale); }

/* ---- Buttons (pill) ---- */
.btn {
  font-family:var(--font); font-weight:700; text-transform:uppercase; letter-spacing:0.06em;
  border-radius:999px; cursor:pointer; display:inline-flex; align-items:center; gap:8px;
  line-height:1; border:none; text-decoration:none;
  transition:transform var(--ease) 120ms, filter var(--ease) 200ms;
}
.btn:hover { filter:brightness(1.06); }
.btn:active { transform:scale(0.97); }
.btn-sm { padding:8px 16px; font-size:13px; }
.btn-md { padding:12px 24px; font-size:15px; }
.btn-lg { padding:16px 34px; font-size:17px; }
.btn-primary { background:var(--purple); color:#fff; box-shadow:var(--shadow-purple); }
.btn-outline { background:transparent; color:var(--violet); border:1.5px solid var(--violet); }
.btn-white { background:#fff; color:var(--purple); box-shadow:0 12px 34px rgba(0,0,0,0.18); white-space:nowrap; }
.btn-outline-white { background:transparent; color:#fff; border:1.5px solid rgba(255,255,255,0.7); white-space:nowrap; }

/* ---- Text link with arrow ---- */
.arrow-link { text-decoration:none; color:var(--violet); font-weight:700; font-size:14px; text-transform:uppercase; letter-spacing:0.05em; }
.arrow-link:hover { color:var(--purple); }
.ghost-link { text-decoration:none; color:#fff; font-weight:700; font-size:15px; text-transform:uppercase; letter-spacing:0.05em; }
.ghost-link:hover { color:var(--lav-pale); }

/* ---- Cards ---- */
.card { border-radius:22px; padding:32px; }
.card-lavender { background:var(--lav); color:var(--text); }
.card-white { background:#fff; color:var(--text); box-shadow:var(--shadow-md); }

/* ---- Icon circle ---- */
.icon-circle { border-radius:50%; display:inline-flex; align-items:center; justify-content:center; flex:0 0 auto; }
.ic-purple { background:var(--purple); color:#fff; }

/* ---- Headings ---- */
.h1 { font-size:76px; font-weight:800; letter-spacing:-0.02em; line-height:1.0; text-transform:uppercase; }
.h2 { font-size:44px; font-weight:800; letter-spacing:-0.015em; line-height:1.08; text-transform:uppercase; }
.h2-ink { color:var(--ink); }
@media (max-width:820px){
  .h1 { font-size:44px; }
  .h2 { font-size:32px; }
}

/* ---- Footer ---- */
.site-footer { background:var(--ink); color:#fff; padding:54px 48px; }
.footer-inner { display:flex; justify-content:space-between; align-items:flex-start; gap:40px; flex-wrap:wrap; }
.footer-nav { display:flex; gap:24px; flex-wrap:wrap; }
.footer-nav a { color:var(--lav-pale); text-decoration:none; font-weight:600; font-size:13px; text-transform:uppercase; letter-spacing:0.05em; }
.footer-nav a:hover { color:#fff; }
.footer-legal { font-size:13px; line-height:1.6; color:rgba(245,227,255,0.75); margin:0; max-width:560px; }

/* ---- Responsive grid helper ---- */
@media (max-width:900px){
  .grid-3, .grid-2, .grid-4, .grid-split { grid-template-columns:1fr !important; }
  .section-pad { padding-left:22px !important; padding-right:22px !important; }
}
@media (max-width:600px){
  h1 { font-size:40px !important; line-height:1.05 !important; }
  .btn-white, .btn-outline-white { white-space:normal; }
  .wrap [style*="grid-template-columns:repeat(5"] { grid-template-columns:1fr 1fr !important; }
}
