/* Snowtide Capital — Snow · Tide · Moon
   snow #F7F9FA · ink #10151C · sea blue #1E4463 · muted #5A6773 · line #E2E8EC */

:root{
  --snow:#f7f9fa;
  --snow-deep:#eceff1;
  --ink:#10151c;
  --ink-soft:#242e38;
  --blue:#1e4463;
  --blue-light:#8fb3d1;
  --muted:#47535d;
  --muted-dark:#9aacb8;
  --line:#e2e8ec;
  --line-dark:#26313d;
  --card:#fdfdfc;
  --moon:#e8eef3;
  --serif:"Source Serif 4",Georgia,"Songti SC","SimSun","Times New Roman",serif;
  --sans:-apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC","Hiragino Sans GB","Microsoft YaHei",sans-serif;
}

*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:76px}
body{background:var(--snow);color:var(--ink-soft);font:18px/1.7 var(--sans);-webkit-font-smoothing:antialiased}
img{max-width:100%;display:block}
a{color:inherit}
.wrap{max-width:1320px;margin:0 auto;padding:0 32px}

.eyebrow{font-size:15px;letter-spacing:.24em;text-transform:uppercase;font-weight:600;color:var(--blue)}
.dark .eyebrow{color:var(--blue-light)}
h1,h2,.serif{font-family:var(--serif)}
:lang(zh) .eyebrow{letter-spacing:.32em}

/* ---------- nav ---------- */
.nav{position:fixed;top:0;left:0;right:0;z-index:50;background:rgba(247,249,250,.92);backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}
.nav .bar{display:flex;align-items:center;justify-content:space-between;height:64px}
.brand{font-family:var(--serif);font-size:18px;letter-spacing:.14em;font-weight:600;color:var(--ink);text-decoration:none}
.nav ul{display:flex;align-items:center;gap:26px;list-style:none}
.nav ul a{text-decoration:none;font-size:16.5px;font-weight:500;color:var(--ink-soft)}
.nav ul a:hover{color:var(--blue)}
.nav .lang{font-size:17px;border:1px solid var(--line);background:var(--card);padding:7px 14px}
.nav .lang a{text-decoration:none;color:var(--blue)}
.nav .lang .on{color:var(--ink);font-weight:700}
.nav .cta{background:var(--ink);color:var(--snow);padding:10px 20px;font-size:16px;letter-spacing:.04em;text-decoration:none}
.nav .cta:hover{background:var(--blue);color:#fff}
.menu-btn{display:none;background:none;border:0;width:40px;height:40px;cursor:pointer}
.menu-btn span{display:block;height:2px;background:var(--ink);margin:5px 8px;transition:.2s}

/* ---------- hero ---------- */
.hero{display:grid;grid-template-columns:1.05fr .95fr;padding-top:64px}
.hero .txt{display:flex;flex-direction:column;justify-content:center;padding:56px 48px 56px 0}
.hero h1{font-size:clamp(40px,4.6vw,58px);line-height:1.1;font-weight:600;color:var(--ink);margin:.5em 0 .5em;text-wrap:balance}
.hero .sub{color:var(--muted);font-size:21px;max-width:46ch;margin-bottom:10px}
.hero .support{color:var(--muted);font-size:21px;max-width:48ch}
.hero .img{background:url(../images/hero.jpg) center/cover;filter:saturate(.82);min-height:340px}
.zh .hero .img{background-image:url(../images/hero.jpg)}
.btn{display:inline-block;text-decoration:none;font-size:16.5px;letter-spacing:.06em;padding:16px 32px;background:var(--ink);color:var(--snow);margin-top:26px;align-self:flex-start;transition:background .2s}
.btn:hover{background:var(--blue);color:#fff}
.btn.ghost{background:transparent;color:var(--ink);border:1px solid var(--ink);margin-left:12px}
.btn.ghost:hover{background:var(--ink);color:var(--snow)}

/* ---------- sections ---------- */
section{padding:56px 0}
.statement{font-family:var(--serif);font-size:clamp(28px,3.2vw,36px);line-height:1.3;max-width:34ch;color:var(--ink);font-weight:600;margin-top:16px;text-wrap:balance}
.bodycopy{color:var(--muted);max-width:56ch;margin-top:18px;font-size:19.5px}
.bodycopy+.bodycopy{margin-top:12px}
h2.title{font-size:clamp(30px,3.4vw,40px);font-weight:600;color:var(--ink);margin:.3em 0 .4em;text-wrap:balance}

/* pillars */
.pillars{display:grid;grid-template-columns:repeat(2,1fr);gap:14px;margin-top:24px}
.pillar{background:var(--card);border:1px solid var(--line);padding:32px 32px 36px}
.pillar .zi{font-family:Georgia,"Songti SC","SimSun",serif;font-size:32px;color:var(--blue);display:block;margin-bottom:14px}
.pillar h3{font-family:var(--serif);font-size:23px;font-weight:600;color:var(--ink);margin-bottom:9px}
.pillar p{font-size:19px;line-height:1.65;color:var(--muted)}

/* tide divider */
.tide{display:block;width:100%;height:26px;color:#cfdae2}

/* what we look for */
.band{background:var(--snow-deep)}
.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:22px;margin-top:28px}
.card{background:var(--snow);border:1px solid #dfe4e8;padding:30px 28px}
.card svg{width:36px;height:36px;display:block;margin-bottom:16px}
.card p{font-family:var(--serif);font-size:22px;line-height:1.5;color:var(--ink);font-weight:500}

/* process */
.dark{background:var(--ink);color:#dbe3e9;position:relative;overflow:hidden}
.dark h2.title{color:#fff}
.dark .lede{color:var(--muted-dark);max-width:56ch;font-size:19.5px}
.steps{display:flex;gap:0;margin-top:36px;flex-wrap:wrap;position:relative;z-index:1}
.step{flex:1;min-width:170px;padding-right:26px;margin-bottom:26px}
.moon{width:26px;height:26px;border-radius:50%;position:relative;overflow:hidden;background:var(--moon);margin-bottom:16px;box-shadow:0 0 0 1px rgba(232,238,243,.25)}
.moon i{position:absolute;top:0;width:26px;height:26px;border-radius:50%;background:var(--ink);display:block}
.step b{display:block;font-family:var(--serif);font-size:19px;color:#fff;margin-bottom:6px;font-weight:600}
.step span{font-size:17.5px;color:var(--muted-dark);line-height:1.6;display:block}
.dark .btn{background:var(--snow);color:var(--ink)}
.dark .btn:hover{background:var(--blue-light)}
.dark .wave{position:absolute;left:0;right:0;bottom:-4px;height:60px;color:#1a2431;z-index:0}

/* team */
.team-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:64px;margin-top:32px;align-items:start}
.quote{font-family:var(--serif);font-size:20px;line-height:1.7;color:var(--ink-soft);margin:0;border-left:3px solid var(--blue);padding-left:24px}
.people{display:grid;grid-template-columns:1fr;gap:40px}
.person{display:grid;grid-template-columns:150px 1fr;gap:26px;align-items:start}
.person img{width:150px;aspect-ratio:1/1.15;object-fit:cover;object-position:center 18%;filter:saturate(.85)}
.person h3{font-family:var(--serif);font-size:24px;font-weight:600;color:var(--ink);margin:0 0 2px}
.person .role{font-size:14px;letter-spacing:.18em;text-transform:uppercase;color:var(--blue);font-weight:600}
.person p{font-size:19px;color:var(--muted);margin-top:12px;line-height:1.7}

/* investors */
.logos{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:14px;margin-top:28px}
.logos .logo{background:var(--card);border:1px solid var(--line);padding:22px;display:flex;align-items:center;justify-content:center;min-height:96px}
.logos img{max-height:52px;width:auto;max-width:100%;filter:grayscale(1) opacity(.75);transition:filter .2s}
.logos .logo:hover img{filter:grayscale(0) opacity(1)}
.roots-label{margin-top:40px}
.roots{display:flex;gap:14px;flex-wrap:wrap;margin-top:20px}
.roots .logo{background:var(--card);border:1px solid var(--line);padding:18px 30px;display:flex;align-items:center;min-height:84px}
.roots img{max-height:46px;width:auto;filter:grayscale(1) opacity(.75)}
.roots .logo:hover img{filter:grayscale(0) opacity(1)}

/* media */
.press{display:flex;gap:14px;flex-wrap:wrap;margin-top:28px}
.press a{flex:1;min-width:220px;background:var(--snow);border:1px solid #dfe4e8;min-height:110px;display:flex;align-items:center;justify-content:center;padding:24px}
.press img{max-height:44px;width:auto;max-width:80%;filter:grayscale(1) opacity(.7);transition:filter .2s}
.press a:hover img{filter:grayscale(0) opacity(1)}

/* contact */
.contact-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:44px;margin-top:8px}
.form{background:#fff;border:1px solid var(--line);padding:40px}
.form label{display:block;font-size:15px;letter-spacing:.14em;text-transform:uppercase;font-weight:600;color:var(--muted);margin:20px 0 8px}
.form label:first-child{margin-top:0}
.form input,.form select,.form textarea{width:100%;padding:14px 16px;border:1px solid var(--line);background:var(--snow);font:18.5px var(--sans);color:var(--ink);outline:none;border-radius:0;-webkit-appearance:none;appearance:none}
.form select{background-image:url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6'%3E%3Cpath d='M0 0l5 6 5-6z' fill='%235a6773'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 14px center}
.form input:focus,.form select:focus,.form textarea:focus{border-color:var(--blue)}
.form textarea{min-height:120px;resize:vertical}
.form .btn{width:100%;text-align:center;border:0;cursor:pointer;font-family:var(--sans);margin-top:28px}
.form .note{font-size:15.5px;color:var(--muted);margin-top:14px;text-align:center}

/* join us */
.joinus{border-top:1px solid var(--line)}
.joinus .bodycopy a{color:var(--blue)}

/* footer */
footer{background:var(--ink);color:#a9b6c0;padding:56px 0 32px}
.foot{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:48px}
.foot .brand{color:#fff;font-size:17px}
.foot p{font-size:17.5px;line-height:1.7;margin-top:16px;max-width:38ch}
.foot h4{font-size:13.5px;letter-spacing:.2em;text-transform:uppercase;color:#7c8ea0;margin-bottom:14px;font-weight:600}
.foot ul{list-style:none}
.foot li{margin-bottom:9px;font-size:17.5px}
.foot a{text-decoration:none;color:#a9b6c0}
.foot a:hover{color:#fff}
.legal{border-top:1px solid var(--line-dark);margin-top:44px;padding-top:22px;display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;font-size:15px;color:#7c8ea0}
.legal a{color:#7c8ea0;text-decoration:none;margin-left:18px}
.legal a:hover{color:#fff}

/* reveal */
.rv{opacity:0;transform:translateY(18px);transition:opacity .7s ease,transform .7s ease}
.rv.in{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){.rv{opacity:1;transform:none;transition:none}html{scroll-behavior:auto}}

/* ---------- responsive ---------- */
@media (max-width:900px){
  .hero{grid-template-columns:1fr;min-height:0}
  .hero .txt{padding:64px 0 56px}
  .hero .img{min-height:300px;order:-1;margin-top:0}
  .pillars{grid-template-columns:1fr}
  .team-grid{grid-template-columns:1fr;gap:36px}
  .person{grid-template-columns:120px 1fr;gap:18px}
  .person img{width:120px}
  .contact-grid{grid-template-columns:1fr;gap:36px}
  .foot{grid-template-columns:1fr;gap:32px}
  .nav ul{position:fixed;top:64px;left:0;right:0;background:var(--snow);border-bottom:1px solid var(--line);flex-direction:column;align-items:flex-start;padding:20px 28px 26px;gap:18px;display:none}
  .nav.open ul{display:flex}
  .menu-btn{display:block}
  .nav.open .menu-btn span:nth-child(1){transform:translateY(7px) rotate(45deg)}
  .nav.open .menu-btn span:nth-child(2){opacity:0}
  .nav.open .menu-btn span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
  section{padding:52px 0}
  .hero .txt{padding:44px 0 44px}
}
