/* Yoru Ventures - shared styles - v1.3.1 */

/* ---------- fonts (Poppins Light / Urbanist SemiBold, self-hosted, OFL) ---------- */
@font-face{font-family:"RV Display";font-weight:300;font-style:normal;font-display:swap;src:url("../assets/fonts/rv-display.woff2") format("woff2")}
@font-face{font-family:"RV Brand";font-weight:600;font-style:normal;font-display:swap;src:url("../assets/fonts/rv-brand.woff2") format("woff2")}

:root{
  --u:max(0.62px,min(calc(100vw / 1280),calc(100dvh / 960)));
  --g:clamp(18px,5.6vw,32px);
  --shade:3,8,11;
  --bg:#03080B;--ink:#F5FAF6;--ink-2:#ECF1EF;--teal:#88DECC;--cream:#EEF1EA;--pine:#122B2A;--pine-hover:#26504d;
  --muted:rgba(236,241,239,.72);--line:rgba(245,250,246,.12);
  --ease:cubic-bezier(0.16,1,0.3,1);
  --font-display:"RV Display","Poppins","Helvetica Neue",Arial,sans-serif;
  --font-brand:"RV Brand","Urbanist","Helvetica Neue",Arial,sans-serif;
  --font-text:"Helvetica Neue",Helvetica,Arial,sans-serif;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;background:var(--bg);-webkit-text-size-adjust:100%}
body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--font-text);-webkit-font-smoothing:antialiased}
a{color:inherit;text-decoration:none}
button{font:inherit;color:inherit;border:0;padding:0;background:none;cursor:pointer}
img{max-width:100%}
a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible{outline:2px solid var(--teal);outline-offset:3px}
::selection{background:var(--teal);color:var(--bg)}

/* ---------- header ---------- */
.logo{position:fixed;z-index:30;left:calc(40 * var(--u));top:calc(32 * var(--u));height:calc(46 * var(--u));display:flex;align-items:center}
.logo img{display:block;height:calc(36 * var(--u));width:auto;margin:calc(-3 * var(--u)) 0}
.nav{position:fixed;z-index:30;top:calc(32 * var(--u));right:calc(40 * var(--u));width:calc(340 * var(--u));height:calc(47 * var(--u));border-radius:999px;background:#000;font-size:calc(14 * var(--u))}
.nl{position:absolute;top:0;height:100%;display:inline-flex;align-items:center;gap:calc(6 * var(--u));color:var(--ink-2);white-space:nowrap;transition:color .2s}
.nl:hover{color:var(--teal)}
.nl[aria-current]{color:var(--ink)}
.nl[aria-current]::after{content:"";position:absolute;left:0;right:0;bottom:calc(11 * var(--u));height:1px;background:var(--teal)}
.l1{left:calc(24 * var(--u))}.l2{left:calc(84 * var(--u))}.l3{left:calc(150 * var(--u))}
.partner{position:absolute;top:calc(6 * var(--u));right:calc(6 * var(--u));height:calc(35 * var(--u));padding:0 calc(5 * var(--u)) 0 calc(16 * var(--u));border-radius:999px;background:var(--cream);color:#0A1514;display:inline-flex;align-items:center;gap:calc(12 * var(--u));white-space:nowrap}
.disc{display:inline-flex;align-items:center;justify-content:center;border-radius:50%;background:var(--pine);transition:background .2s,transform .3s var(--ease);flex:none}
.partner .disc{width:calc(25 * var(--u));height:calc(25 * var(--u))}
.partner .disc svg{width:calc(4 * var(--u));height:calc(7 * var(--u))}
.partner:hover .disc,.cta:hover .disc{background:var(--pine-hover);transform:translateX(2px)}
.menu-btn{display:none}
.bar{position:fixed;z-index:20;top:0;left:0;right:0;height:calc(110 * var(--u));min-height:84px;pointer-events:none;background:linear-gradient(rgba(3,8,11,.94) 30%,rgba(3,8,11,0))}

/* ---------- buttons ---------- */
.cta{display:inline-flex;align-items:center;gap:calc(20 * var(--u));height:calc(46 * var(--u));min-height:44px;padding:0 calc(6 * var(--u)) 0 calc(24 * var(--u));border-radius:999px;background:var(--cream);color:#0A1514;font:inherit;font-size:max(15px,calc(16 * var(--u)));white-space:nowrap;border:0;cursor:pointer;transition:transform .3s var(--ease)}
.cta:hover{transform:translateY(-2px)}
.cta .disc{width:calc(34 * var(--u));height:calc(34 * var(--u));min-width:30px;min-height:30px}
.cta .disc svg{width:5px;height:8px}
.cta[disabled]{opacity:.6;cursor:default;transform:none}

/* ---------- page layout (inner pages) ---------- */
body.page{overflow-x:clip}
body.page::before{content:"";position:fixed;inset:0;z-index:0;pointer-events:none;background:radial-gradient(60% 50% at 88% 0%,rgba(46,140,125,.20),transparent 70%),radial-gradient(50% 45% at 0% 100%,rgba(46,140,125,.10),transparent 70%)}
.wrap{position:relative;z-index:1;max-width:1180px;margin:0 auto;padding:0 clamp(20px,5vw,48px)}
.eyebrow{display:block;margin:0 0 22px;font-family:var(--font-brand);font-weight:600;font-size:13px;letter-spacing:.16em;text-transform:uppercase;color:var(--teal)}
.h-xl{margin:0;font-family:var(--font-display);font-weight:300;font-size:clamp(38px,7.2vw,96px);line-height:1.04;letter-spacing:-.025em;color:var(--ink)}
.lede{margin:28px 0 0;max-width:640px;font-size:clamp(16px,1.45vw,19px);line-height:1.7;color:var(--muted)}
.hero-in{padding:clamp(130px,22vh,200px) 0 clamp(56px,9vh,100px);position:relative}
.orb{position:absolute;z-index:-1;border-radius:50%;pointer-events:none;filter:blur(70px);background:radial-gradient(circle,rgba(46,160,140,.32),transparent 70%)}

.sec{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,2.2fr);gap:clamp(20px,5vw,80px);padding:clamp(52px,8vw,100px) 0;position:relative}
.sec::before,.vision::before{content:"";position:absolute;left:0;right:0;top:0;height:1px;background:var(--line);transform-origin:0 50%}
.sec>h2{margin:0;font-size:13px;font-weight:400;letter-spacing:.16em;text-transform:uppercase;color:var(--teal);align-self:start;position:sticky;top:120px}
.sec p{margin:0 0 18px;font-size:clamp(16px,1.35vw,18px);line-height:1.75;color:var(--muted)}
.sec p:last-child{margin-bottom:0}
.statement{font-family:var(--font-display);font-weight:300;font-size:clamp(22px,2.7vw,36px)!important;line-height:1.35!important;letter-spacing:-.012em;color:var(--ink)!important}
@media (max-width:820px){.sec{grid-template-columns:1fr;gap:20px}.sec>h2{position:static}}

.site-foot{position:relative;z-index:1;max-width:1180px;margin:clamp(40px,7vw,90px) auto 0;padding:28px clamp(20px,5vw,48px) 30px;display:flex;flex-wrap:wrap;gap:14px 36px;justify-content:space-between;font-size:13px;color:rgba(236,241,239,.55);border-top:1px solid var(--line)}
.site-foot nav{display:flex;flex-wrap:wrap;gap:8px 24px}
.site-foot a{transition:color .2s}
.site-foot a:hover{color:var(--teal)}

/* ---------- motion ---------- */
.progress{position:fixed;z-index:60;top:0;left:0;width:100%;height:2px;background:var(--teal);transform:scaleX(0);transform-origin:0 50%;pointer-events:none}

.js .rv{opacity:0;transform:translateY(26px);transition:opacity 1s var(--ease),transform 1s var(--ease);transition-delay:var(--d,0ms)}
.js .rv.in{opacity:1;transform:none}
.js .draw::before{transform:scaleX(0);transition:transform 1.4s var(--ease)}
.js .draw.in::before{transform:scaleX(1)}

/* word-by-word headline reveal ( [data-split] ) */
.w{display:inline-block;overflow:hidden;vertical-align:top;padding-bottom:.14em;margin-bottom:-.14em}
.wi{display:inline-block}
.js [data-split] .wi{transform:translateY(112%);transition:transform 1.15s var(--ease);transition-delay:calc(var(--i) * 55ms + var(--base,80ms))}
.js [data-split].in .wi{transform:none}

/* scroll-scrubbed text ( [data-scrub] ) */
.js [data-scrub] .sw{opacity:.22;transition:opacity .45s ease}
.js [data-scrub] .sw.on{opacity:1}

.page-in{animation:pgin .7s ease both}
@keyframes pgin{from{opacity:0}to{opacity:1}}

@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{transition:none!important;animation:none!important}
  .js .rv,.js [data-split] .wi{opacity:1;transform:none}
  .js [data-scrub] .sw{opacity:1}
  .js .draw::before{transform:none}
}

/* ---------- responsive units (same breakpoints as the home page) ---------- */
@media (max-width:649.98px),(max-height:500px){:root{--u:clamp(0.94px,calc(100vw / 390),1.2px)}}
@media (max-height:500px) and (min-aspect-ratio:1/1){:root{--u:clamp(0.82px,calc(100dvh / 415),0.94px)}}
@media (min-width:650px) and (max-width:1100px) and (min-height:501px){:root{--u:0.94px}}
@media (min-width:650px) and (max-aspect-ratio:4/5) and (min-height:501px){:root{--u:0.94px}}

/* ---------- phones: menu button + panel ---------- */
@media (max-width:649.98px){
  .top{position:fixed;z-index:40;top:calc(var(--g) * .8 + env(safe-area-inset-top));left:calc(var(--g) + env(safe-area-inset-left));right:calc(var(--g) + env(safe-area-inset-right));display:flex;align-items:center;gap:10px}
  .logo{position:static;height:46px}
  .menu-btn{display:flex;align-items:center;justify-content:center;margin-left:auto;width:48px;height:48px;border-radius:50%;background:#000}
  .menu-btn svg{width:18px;height:12px;overflow:visible}
  .menu-btn path{stroke:var(--ink);stroke-width:1.6;stroke-linecap:round;fill:none;transform-box:fill-box;transform-origin:center;transition:transform .3s,opacity .2s}
  .menu-btn[aria-expanded="true"] .b1{transform:translateY(5px) rotate(45deg)}
  .menu-btn[aria-expanded="true"] .b2{opacity:0}
  .menu-btn[aria-expanded="true"] .b3{transform:translateY(-5px) rotate(-45deg)}
  .nav{position:absolute;top:calc(100% + 12px);left:0;right:0;width:auto;height:auto;border-radius:24px;padding:8px 8px 14px;font-size:17px;display:flex;flex-direction:column;opacity:0;visibility:hidden;transform:translateY(-6px);pointer-events:none;transition:opacity .25s,transform .25s,visibility .25s}
  .nav.is-open{opacity:1;visibility:visible;transform:none;pointer-events:auto}
  .nl{position:static;height:48px;padding:0 14px;gap:8px;font-size:17px}
  .nl[aria-current]::after{display:none}
  .partner{position:static;margin:6px 6px 0;height:45px;padding:0 6px 0 20px;font-size:17px;justify-content:space-between;width:calc(100% - 12px)}
  .partner .disc{width:33px;height:33px}
  .partner .disc svg{width:5px;height:8px}
}
@media (max-width:649.98px) and (max-height:500px) and (min-aspect-ratio:1/1){
  .nav{display:grid;grid-template-columns:1fr 1fr;column-gap:8px}
  .partner{grid-column:1 / -1}
}

/* ---------- utilities (replace former inline style attributes) ---------- */
.d1{--d:150ms}.d2{--d:300ms}.d3{--d:450ms}
.orb--hero{width:46vw;height:46vw;max-width:620px;max-height:620px;right:-10vw;top:-4vw}
