/* Capital Ventures — shared styles. Brand: ink #0B1220, green #0B7A55, mint #5FD3A2, deep green #0B1F17 */
@font-face{font-family:"Inter";src:url(/assets/fonts/inter-var.woff2) format("woff2");font-weight:100 900;font-display:swap}
@font-face{font-family:"Space Grotesk";src:url(/assets/fonts/space-grotesk-var.woff2) format("woff2");font-weight:300 700;font-display:swap}
:root{--ink:#0B1220;--body:#3A4556;--muted:#5B6678;--line:#E4E8EE;--line2:#C9D1DB;--soft:#F5F7F9;--green:#0B7A55;--green-d:#075C40;--mint:#5FD3A2;--deep:#0B1F17;--navy2:#1E2A3D;--display:"Space Grotesk",system-ui,sans-serif}
*{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{margin:0;font-family:Inter,system-ui,sans-serif;color:var(--ink);background:#fff;font-size:17px;line-height:1.6}
img,svg{max-width:100%}
a{color:var(--green)}a:hover{color:var(--green-d)}
:focus-visible{outline:3px solid var(--mint);outline-offset:2px;border-radius:4px}
.wrap{max-width:1200px;margin:0 auto;padding:0 24px}
.narrow{max-width:880px}
.skip{position:absolute;left:-999px;top:8px;background:var(--ink);color:#fff;padding:10px 14px;border-radius:8px;z-index:20}
.skip:focus{left:8px}

/* type */
h1,h2,h3{margin:0;color:var(--ink)}
h1,.h1{font-family:var(--display);font-weight:700;font-size:clamp(40px,6vw,64px);line-height:1.04;letter-spacing:-.03em}
h2,.h2{font-family:var(--display);font-weight:700;font-size:clamp(30px,4vw,44px);line-height:1.1;letter-spacing:-.02em}
h3{font-size:20px;font-weight:600;line-height:1.3}
p{margin:0}
.eyebrow{font-size:14px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--green)}
.lead{font-size:20px;color:var(--body);max-width:640px}
.sub{font-size:19px;color:var(--body);max-width:720px}
.muted{color:var(--body)}
.stack{display:flex;flex-direction:column;gap:16px}
.stack-lg{display:flex;flex-direction:column;gap:24px}

/* buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:52px;padding:14px 24px;border-radius:12px;font-weight:600;font-size:17px;text-decoration:none;border:1px solid transparent;cursor:pointer;font-family:inherit}
.btn-primary{background:var(--green);color:#fff}.btn-primary:hover{background:var(--green-d);color:#fff}
.btn-ghost{background:#fff;color:var(--ink);border-color:var(--line2)}.btn-ghost:hover{border-color:var(--ink);color:var(--ink)}
.btn-sm{min-height:44px;padding:10px 18px;font-size:15px;border-radius:10px}
.row{display:flex;flex-wrap:wrap;gap:12px;align-items:center}

/* header */
.site-header{border-bottom:1px solid var(--line);background:#fff;position:sticky;top:0;z-index:10}
.site-header .wrap{display:flex;align-items:center;justify-content:space-between;gap:16px;padding-top:14px;padding-bottom:14px}
.brand{display:flex;align-items:center;gap:10px;text-decoration:none;color:var(--ink)}
.brand span{font-family:var(--display);font-weight:700;font-size:21px;letter-spacing:-.01em}
.nav{display:flex;align-items:center;gap:26px;font-size:15px;font-weight:500}
.nav a{color:var(--body);text-decoration:none}.nav a:hover{color:var(--ink)}
.nav .btn{color:#fff}
.menu{display:none}
.menu summary{list-style:none;cursor:pointer;min-height:44px;min-width:44px;display:flex;align-items:center;justify-content:center;border:1px solid var(--line2);border-radius:10px}
.menu summary::-webkit-details-marker{display:none}
.menu-panel{position:absolute;left:0;right:0;top:100%;background:#fff;border-bottom:1px solid var(--line);padding:12px 24px 24px;display:flex;flex-direction:column;gap:4px}
.menu-panel a{padding:12px 0;color:var(--ink);text-decoration:none;font-weight:500;border-bottom:1px solid var(--line)}
.menu-panel .btn{margin-top:12px;color:#fff;border:0}
@media (max-width:900px){.nav{display:none}.menu{display:block}}

/* sections */
.section{padding:96px 0}
.section-soft{background:var(--soft)}
.section-dark{background:var(--ink);color:#fff}
.section-deep{background:var(--deep);color:#fff}
.section-dark h2,.section-deep h2,.section-dark h3,.section-deep h3{color:#fff}
.on-dark{color:#C6CFDB}
.section-head{display:flex;flex-direction:column;gap:12px;max-width:760px;margin-bottom:40px}
@media (max-width:700px){.section{padding:64px 0}}

/* hero */
.hero{background:var(--soft)}
.hero .wrap{padding-top:88px;padding-bottom:96px;display:flex;flex-wrap:wrap;align-items:center;gap:56px}
.hero-copy{flex:1 1 520px;min-width:0;display:flex;flex-direction:column;gap:24px}
.hero-visual{flex:1 1 380px;min-width:0;display:flex;justify-content:center}
.checks{margin:8px 0 0;padding:0;list-style:none;display:flex;flex-wrap:wrap;gap:12px 28px;font-size:15px;font-weight:500;color:var(--body)}
.checks li{display:flex;align-items:center;gap:8px}
@media (max-width:700px){.hero .wrap{padding-top:56px;padding-bottom:64px}}

/* chat demo */
.chat{width:100%;max-width:420px;background:var(--ink);border-radius:20px;padding:24px;display:flex;flex-direction:column;gap:14px;box-shadow:0 24px 60px rgba(11,18,32,.18)}
.chat-top{display:flex;align-items:center;justify-content:space-between;gap:12px}
.chat-name{display:flex;align-items:center;gap:10px;color:#fff;font-weight:600;font-size:15px}
.dot{width:10px;height:10px;border-radius:5px;background:var(--mint);display:inline-block}
.chat-tag{color:#A9B4C4;font-size:12px;border:1px solid #33435B;border-radius:999px;padding:2px 10px}
.bubble{max-width:85%;padding:12px 16px;font-size:15px;line-height:1.45}
.bubble.them{align-self:flex-end;background:var(--navy2);color:#fff;border-radius:16px 16px 4px 16px}
.bubble.ai{align-self:flex-start;background:var(--mint);color:var(--ink);border-radius:16px 16px 16px 4px}
.chat-foot{margin-top:6px;border-top:1px solid #26344A;padding-top:14px;display:flex;align-items:center;gap:10px;color:#A9B4C4;font-size:13px}

/* grids & cards */
.grid{display:grid;gap:24px}
.grid-3{grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}
.grid-2{grid-template-columns:repeat(auto-fit,minmax(320px,1fr))}
.card{border:1px solid var(--line);border-radius:18px;padding:28px;display:flex;flex-direction:column;gap:12px;background:#fff}
.card p{color:var(--body)}
a.card{text-decoration:none;color:inherit;transition:border-color .2s,transform .2s,box-shadow .2s}
a.card:hover{border-color:var(--green);transform:translateY(-2px);box-shadow:0 12px 32px rgba(11,18,32,.08)}
.card .more{margin-top:auto;color:var(--green);font-weight:600;font-size:15px}
.tag{font-size:13px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--green)}

/* pillars */
.pillar{border-radius:20px;padding:32px;display:flex;flex-direction:column;gap:14px}
.pillar-1{background:var(--ink);color:#fff}
.pillar-2{background:var(--deep);color:#fff}
.pillar-3{background:#fff;border:1px solid var(--line2)}
.pillar h3{font-family:var(--display);font-size:28px;letter-spacing:-.01em}
.pillar-1 h3,.pillar-2 h3{color:#fff}
.pillar-1 p,.pillar-2 p{color:#C6CFDB}
.pillar-3 p{color:var(--body)}
.pillar .label{font-size:13px;font-weight:700;letter-spacing:.14em}
.pillar-1 .label,.pillar-2 .label{color:var(--mint)}
.pillar-3 .label{color:var(--green)}
.pillar ul{margin:4px 0 0;padding:0;list-style:none;display:flex;flex-direction:column;gap:2px}
.pillar li a{display:flex;justify-content:space-between;gap:12px;padding:10px 0;text-decoration:none;font-weight:500;border-top:1px solid rgba(255,255,255,.12)}
.pillar-1 li a,.pillar-2 li a{color:#fff}
.pillar-3 li a{color:var(--ink);border-top-color:var(--line)}
.pillar li a:hover{color:var(--mint)}
.pillar-3 li a:hover{color:var(--green)}

/* problem/solution */
.ps{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:16px}
.ps-item{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:14px;background:#fff;border:1px solid var(--line);border-radius:14px;padding:18px 20px}
.ps-item .problem{color:var(--body)}
.ps-item .fix{font-weight:600}
.arrow{color:var(--green)}

/* steps */
.steps{margin:0;padding:0;list-style:none;display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:24px}
.steps li{background:#fff;border-radius:16px;padding:28px;display:flex;flex-direction:column;gap:10px}
.section:not(.section-soft) .steps li{border:1px solid var(--line)}
.steps .num{font-family:var(--display);font-weight:700;font-size:32px;color:var(--green)}
.steps p{color:var(--body)}

/* chips */
.chips{margin:0;padding:0;list-style:none;display:flex;flex-wrap:wrap;gap:10px}
.chips li{border:1px solid var(--line2);border-radius:999px;padding:8px 16px;font-size:14px;font-weight:500;background:#fff}
.section-dark .chips li,.section-deep .chips li{background:transparent;border-color:#33435B;color:#fff}

/* about */
.about{display:flex;flex-wrap:wrap;align-items:center;gap:56px}
.monogram{flex:0 1 320px;min-width:240px;aspect-ratio:4/5;border-radius:20px;background:var(--deep);display:flex;align-items:center;justify-content:center;color:var(--mint);font-family:var(--display);font-weight:700;font-size:96px}
.about-copy{flex:1 1 520px;min-width:0;display:flex;flex-direction:column;gap:18px}

/* faq */
.faq{display:flex;flex-direction:column}
.faq details{border-top:1px solid var(--line);padding:20px 0}
.faq details:last-child{border-bottom:1px solid var(--line)}
.faq summary{cursor:pointer;font-weight:600;font-size:19px;list-style:none;display:flex;justify-content:space-between;gap:16px}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";color:var(--green);font-size:24px;line-height:1}
.faq details[open] summary::after{content:"–"}
.faq details p{margin-top:10px;color:var(--body)}

/* contact */
.contact{display:flex;flex-wrap:wrap;gap:56px}
.contact-copy{flex:1 1 400px;min-width:0;display:flex;flex-direction:column;gap:16px}
.form{flex:1 1 480px;min-width:0;background:#fff;border-radius:20px;padding:32px;display:flex;flex-direction:column;gap:18px;box-shadow:0 12px 40px rgba(11,18,32,.08)}
.form .fields{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:18px}
.form label{display:flex;flex-direction:column;gap:6px;font-size:15px;font-weight:500}
.form input,.form select,.form textarea{font:inherit;font-weight:400;padding:12px 14px;border:1px solid var(--line2);border-radius:10px;min-height:48px;background:#fff;color:var(--ink);width:100%}
.form textarea{min-height:110px;resize:vertical}
.form .hp{display:none}
.status{margin:0;font-weight:500;color:var(--green);min-height:1em}
.status.err{color:#B42318}

/* service page */
.crumbs{font-size:14px;color:var(--body)}
.crumbs a{color:var(--body)}
.crumbs ol{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:8px}
.crumbs li+li::before{content:"/";margin-right:8px;color:var(--line2)}
.svc-hero .wrap{padding-top:56px;padding-bottom:72px;display:flex;flex-direction:column;flex-wrap:nowrap;align-items:flex-start;gap:22px}
.list-check{margin:0;padding:0;list-style:none;display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:12px 28px}
.list-check li{display:flex;gap:10px;align-items:flex-start}
.list-check svg{flex:none;margin-top:4px}
.related{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:16px}
.cta-band{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:24px}
.note{font-size:14px;color:var(--body)}

/* footer */
.site-footer{border-top:1px solid var(--line);font-size:14px;color:var(--body)}
.site-footer .cols{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:32px;padding:56px 0 32px}
.site-footer h3{font-size:14px;letter-spacing:.06em;text-transform:uppercase;margin-bottom:12px}
.site-footer ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}
.site-footer a{color:var(--body);text-decoration:none}.site-footer a:hover{color:var(--ink)}
.site-footer .legal{border-top:1px solid var(--line);padding:24px 0 32px;display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px}

/* motion */
.js .reveal{opacity:0;transform:translateY(14px);transition:opacity .6s ease,transform .6s ease}
.js .reveal.in{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.js .reveal{opacity:1;transform:none;transition:none}a.card{transition:none}a.card:hover{transform:none}}
