@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600&family=Libre+Caslon+Display&display=swap');
:root { --ivory:#f4f0e8; --ink:#111827; --blue:#2457ff; --stone:#b8b1a6; --line:rgba(17,24,39,.2); }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; background:var(--ivory); color:var(--ink); font-family:"DM Sans",sans-serif; }
a { color:inherit; text-decoration:none; }
.site-header { height:96px; display:grid; grid-template-columns:1fr auto 1fr; align-items:center; gap:48px; padding:0 5vw; border-bottom:1px solid var(--line); position:relative; z-index:10; }
.site-header:after { content:""; position:absolute; left:46%; bottom:0; width:1px; height:96px; background:var(--blue); }
.brand { font-size:24px; font-weight:600; letter-spacing:.22em; text-transform:uppercase; }
nav { display:flex; gap:44px; font-size:15px; }
nav a, .header-cta { position:relative; }
nav a:after, .header-cta:after { content:""; position:absolute; left:0; right:100%; bottom:-8px; height:1px; background:var(--blue); transition:.25s; }
nav a:hover:after, .header-cta:hover:after { right:0; }
.header-cta { justify-self:end; color:var(--blue); font-weight:500; }
.header-cta span { margin-left:8px; }
.hero { min-height:810px; display:grid; grid-template-columns:54% 46%; padding-left:5vw; border-bottom:1px solid var(--blue); overflow:hidden; }
.hero-copy { padding:96px 5vw 60px 0; position:relative; }
.eyebrow,.section-index { margin:0; color:var(--blue); text-transform:uppercase; letter-spacing:.12em; font-weight:600; font-size:13px; }
h1,h2 { font-family:"Libre Caslon Display",Georgia,serif; font-weight:400; letter-spacing:-.045em; }
h1 { font-size:clamp(64px,6.25vw,106px); line-height:.91; margin:36px 0 42px; max-width:900px; }
h1 em,.contact h2 em { font-style:italic; color:var(--blue); }
.hero-intro { font-size:19px; line-height:1.55; max-width:590px; margin:0; }
.hero-actions { display:flex; gap:20px; margin-top:44px; }
.button { height:68px; padding:0 32px; min-width:220px; display:flex; align-items:center; justify-content:space-between; border:1px solid var(--blue); color:var(--blue); font-weight:500; transition:.25s; }
.button.primary { background:var(--blue); color:white; }
.button:hover { transform:translateY(-3px); box-shadow:0 10px 30px rgba(36,87,255,.15); }
.button span { transition:.25s; }.button:hover span { transform:translateX(5px); }
.hero-proof { position:absolute; right:4vw; bottom:66px; display:flex; gap:12px; font-size:11px; letter-spacing:.12em; }
.hero-proof span { color:var(--blue); }.hero-proof p { margin:0; text-transform:uppercase; line-height:1.5; }
.hero-art { position:relative; height:100%; min-height:810px; background:#eee8dd; }
.hero-art img { width:100%; height:100%; object-fit:cover; object-position:center top; display:block; filter:saturate(.9); }
.art-label { position:absolute; right:22px; top:60px; writing-mode:vertical-rl; letter-spacing:.15em; font-size:12px; }.art-label span { color:var(--blue); }
.manifesto { display:grid; grid-template-columns:30% 70%; padding:130px 5vw; border-bottom:1px solid var(--line); }
.small-title { margin-top:18px; font-size:14px; color:#595f6b; }
.manifesto h2 { margin:0; font-size:clamp(48px,5vw,82px); line-height:1.02; max-width:1000px; }
.about-columns { display:grid; grid-template-columns:1fr 1fr; gap:48px; margin-top:64px; max-width:1000px; }
.about-columns p { font-size:17px; line-height:1.75; margin:0; }
.ventures { padding:130px 5vw; background:#ebe5da; }
.section-heading { display:flex; justify-content:space-between; align-items:flex-end; gap:60px; margin-bottom:70px; }
.section-heading h2,.expertise h2 { font-size:clamp(50px,5vw,78px); line-height:1; margin:24px 0 0; }
.section-heading>p { max-width:390px; line-height:1.6; }
.venture-grid { display:grid; grid-template-columns:repeat(3,1fr); border-top:1px solid var(--ink); border-left:1px solid var(--ink); }
.venture-card { padding:32px; min-height:350px; border-right:1px solid var(--ink); border-bottom:1px solid var(--ink); transition:.3s; }
.venture-card:hover { background:var(--blue); color:white; transform:translateY(-5px); }
.venture-top { display:flex; justify-content:space-between; font-size:13px; }.venture-top .arrow { font-size:22px; }
.venture-type { margin-top:64px; text-transform:uppercase; letter-spacing:.12em; font-size:11px; }
.venture-card h3 { font-family:"Libre Caslon Display",serif; font-size:42px; margin:14px 0 20px; font-weight:400; }
.venture-card>p:last-child { line-height:1.6; color:#4c5260; }.venture-card:hover>p:last-child { color:white; }
.expertise { display:grid; grid-template-columns:1fr 1fr; gap:9vw; padding:130px 5vw; }
.expertise-intro { max-width:520px; line-height:1.7; margin-top:36px; }
.expertise-list { border-top:1px solid var(--ink); }
.expertise-list div { display:grid; grid-template-columns:50px 1fr auto; align-items:center; padding:25px 0; border-bottom:1px solid var(--line); transition:.2s; }
.expertise-list div:hover { padding-left:12px; color:var(--blue); }
.expertise-list span { font-size:12px; }.expertise-list h3 { margin:0; font-size:22px; font-weight:500; }
.contact { background:var(--ink); color:var(--ivory); padding:100px 5vw 50px; min-height:760px; }
.section-index.light { color:#7c98ff; }.contact-kicker { margin:90px 0 20px; color:#9da3b0; }
.contact h2 { font-size:clamp(72px,9vw,150px); line-height:.85; margin:0 0 70px; }
.contact>a { display:flex; justify-content:space-between; align-items:center; border-bottom:1px solid #596171; padding-bottom:20px; font-size:clamp(22px,3vw,48px); color:#fff; }
.contact>a span { color:var(--blue); }.contact-bottom { display:grid; grid-template-columns:1fr 1fr auto; margin-top:90px; color:#aeb4c0; font-size:13px; line-height:1.6; }
.contact-bottom a { color:white; align-self:end; }
@media (max-width:900px) {
  .site-header { grid-template-columns:1fr auto; height:76px; }.site-header:after,nav { display:none; }.brand { font-size:18px; }.header-cta { font-size:13px; }
  .hero { grid-template-columns:1fr; padding:0; }.hero-copy { padding:70px 6vw 60px; }.hero-art { min-height:600px; }.hero-proof { display:none; }
  h1 { font-size:clamp(58px,14vw,86px); }.manifesto,.expertise { grid-template-columns:1fr; gap:60px; }.manifesto { padding:90px 6vw; }
  .venture-grid { grid-template-columns:1fr 1fr; }.ventures,.expertise { padding:90px 6vw; }.section-heading { align-items:flex-start; flex-direction:column; }
}
@media (max-width:600px) {
  .header-cta { display:none; }.site-header { grid-template-columns:1fr; }
  .hero-copy { padding-top:52px; }.eyebrow { font-size:11px; }.hero-actions { flex-direction:column; }.button { width:100%; }
  .hero-art { min-height:520px; }.about-columns,.venture-grid { grid-template-columns:1fr; }.manifesto-copy h2 { font-size:46px; }
  .contact { min-height:650px; }.contact h2 { font-size:64px; }.contact-bottom { grid-template-columns:1fr; gap:24px; }
}
@media (prefers-reduced-motion:reduce) { html{scroll-behavior:auto} *{transition:none!important} }
