@import url("https://fonts.googleapis.com/css2?family=Instrument+Serif:ital@0;1&family=Geist:wght@300;400;500;600;700&family=Noto+Sans+JP:wght@300;400;500;700&family=JetBrains+Mono:wght@400;500&display=swap");.ranvier-lp{--bg-0:#07120c;--bg-1:#0c1c13;--bg-2:#112a1c;--ink-0:#f3efe3;--ink-1:#d6d3c4;--ink-2:#8a9189;--moss:#6f8c4a;--leaf:#cfe27d;--forest:#1f4631;--deep:#0a2014;--line:rgba(243,239,227,0.12);--line-2:rgba(243,239,227,0.06);--serif:"Instrument Serif","Noto Serif JP",Georgia,serif;--sans:"Geist","Noto Sans JP",system-ui,sans-serif;--mono:"JetBrains Mono",ui-monospace,monospace;background:var(--bg-0);color:var(--ink-0);font-family:var(--sans);font-weight:400;line-height:1.55;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;overflow-x:hidden;min-height:100vh}.ranvier-lp *{box-sizing:border-box}.ranvier-lp a{color:inherit;text-decoration:none}.ranvier-lp img,.ranvier-lp video{max-width:100%;display:block}.ranvier-lp .header{position:fixed;top:0;left:0;right:0;z-index:50;display:flex;align-items:center;justify-content:space-between;padding:18px 32px;background:linear-gradient(180deg,rgba(7,18,12,.85),rgba(7,18,12,0));backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}.ranvier-lp .brand{display:flex;align-items:center;gap:14px}.ranvier-lp .brand .icon{width:56px;height:56px;border-radius:14px;overflow:hidden;background:#000;box-shadow:0 0 0 1px var(--line),0 8px 30px -10px rgba(0,0,0,.6)}.ranvier-lp .brand .icon img{width:100%;height:100%;object-fit:cover}.ranvier-lp .brand .wordmark{height:64px;object-fit:contain;object-position:left center;filter:brightness(1.05)}.ranvier-lp .nav-actions{display:flex;align-items:center;gap:10px}.ranvier-lp .btn{font-family:var(--sans);font-size:14px;font-weight:500;padding:10px 18px;border-radius:999px;border:1px solid transparent;cursor:pointer;transition:all .18s ease;letter-spacing:.01em;display:inline-flex;align-items:center;justify-content:center}.ranvier-lp .btn-ghost{background:transparent;color:var(--ink-0);border-color:var(--line)}.ranvier-lp .btn-ghost:hover{border-color:rgba(243,239,227,.35);background:rgba(243,239,227,.04)}.ranvier-lp .btn-primary{background:var(--leaf);color:#11210b;border-color:var(--leaf)}.ranvier-lp .btn-primary:hover{background:#dcec97;transform:translateY(-1px)}.ranvier-lp .btn-lg{padding:14px 26px;font-size:15px}.ranvier-lp .hero{position:relative;min-height:100vh;display:flex;flex-direction:column;justify-content:flex-end;padding:120px 32px 56px;overflow:hidden}.ranvier-lp .hero-video,.ranvier-lp .hero-video:after{position:absolute;inset:0}.ranvier-lp .hero-video{z-index:0}.ranvier-lp .hero-video video{width:100%;height:100%;object-fit:cover;object-position:50% 50%;filter:saturate(1.05) contrast(1.08) brightness(1.02);image-rendering:-webkit-optimize-contrast;transform:translateZ(0);will-change:transform}.ranvier-lp .hero-video:after{content:"";background:linear-gradient(180deg,rgba(7,18,12,.55) 0,rgba(7,18,12,.15) 35%,rgba(7,18,12,.85) 85%,var(--bg-0) 100%),linear-gradient(90deg,rgba(7,18,12,.5) 0,rgba(7,18,12,0) 50%)}.ranvier-lp .hero-inner{position:relative;z-index:1;max-width:1280px;margin:0 auto;width:100%;display:grid;grid-template-columns:1.4fr 1fr;gap:56px;align-items:end}.ranvier-lp .hero-eyebrow{font-family:var(--mono);font-size:12px;letter-spacing:.18em;text-transform:uppercase;color:var(--leaf);display:inline-flex;align-items:center;gap:10px;margin-bottom:24px}.ranvier-lp .hero-eyebrow:before{content:"";width:28px;height:1px;background:var(--leaf)}.ranvier-lp .hero h1{font-family:var(--serif);font-weight:400;font-size:clamp(48px,8vw,116px);line-height:.95;letter-spacing:-.02em;margin:0 0 28px}.ranvier-lp .hero h1 em{font-style:italic;color:var(--leaf)}.ranvier-lp .hero-sub{font-size:18px;line-height:1.6;color:var(--ink-1);max-width:520px;margin:0 0 36px}.ranvier-lp .hero-cta{display:flex;gap:12px;align-items:center;flex-wrap:wrap}.ranvier-lp .hero-meta{display:flex;flex-direction:column;gap:18px;padding-bottom:8px;color:var(--ink-1)}.ranvier-lp .hero-meta-row{display:flex;align-items:baseline;gap:14px;padding-top:14px;border-top:1px solid var(--line)}.ranvier-lp .hero-meta-row b{font-family:var(--serif);font-style:italic;font-weight:400;font-size:28px;color:var(--ink-0);min-width:56px}.ranvier-lp .hero-meta-row span{font-size:13px;color:var(--ink-2);line-height:1.4}.ranvier-lp section{padding:120px 32px;position:relative}.ranvier-lp .container{max-width:1280px;margin:0 auto}.ranvier-lp .eyebrow{font-family:var(--mono);font-size:11px;letter-spacing:.22em;text-transform:uppercase;color:var(--moss);display:inline-flex;align-items:center;gap:10px}.ranvier-lp .eyebrow:before{content:"§";color:var(--leaf);font-family:var(--serif);font-style:italic;font-size:14px}.ranvier-lp .section-title{font-family:var(--serif);font-weight:400;font-size:clamp(38px,5.4vw,76px);line-height:1;letter-spacing:-.02em;margin:16px 0 0;max-width:18ch}.ranvier-lp .section-title em{font-style:italic;color:var(--leaf)}.ranvier-lp .manifesto{background:var(--bg-0);border-top:1px solid var(--line-2)}.ranvier-lp .manifesto-grid{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:start}.ranvier-lp .manifesto p{font-family:var(--serif);font-size:clamp(22px,2vw,30px);line-height:1.4;color:var(--ink-0);margin:0 0 18px}.ranvier-lp .manifesto p .ink-2{color:var(--ink-2)}.ranvier-lp .manifesto-side{border-left:1px solid var(--line);padding-left:32px;color:var(--ink-1);font-size:15px;line-height:1.7}.ranvier-lp .manifesto-side h4{font-family:var(--mono);font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--moss);margin:0 0 14px;font-weight:500}.ranvier-lp .features{background:var(--bg-1)}.ranvier-lp .features-head{display:flex;justify-content:space-between;align-items:end;gap:40px;margin-bottom:64px;flex-wrap:wrap}.ranvier-lp .features-head p{color:var(--ink-1);max-width:420px;font-size:16px;line-height:1.65;margin:0}.ranvier-lp .feature-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line-2);border:1px solid var(--line-2)}.ranvier-lp .feature{background:var(--bg-1);padding:40px 32px;min-height:280px;display:flex;flex-direction:column;gap:16px;transition:background .22s ease}.ranvier-lp .feature:hover{background:var(--bg-2)}.ranvier-lp .feature-num{font-family:var(--mono);font-size:11px;letter-spacing:.2em;color:var(--moss)}.ranvier-lp .feature h3{font-family:var(--serif);font-weight:400;font-size:28px;line-height:1.15;margin:0;letter-spacing:-.01em}.ranvier-lp .feature h3 em{color:var(--leaf);font-style:italic}.ranvier-lp .feature p{color:var(--ink-1);font-size:14px;line-height:1.6;margin:0}.ranvier-lp .workflow{background:var(--bg-0)}.ranvier-lp .workflow-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:32px;margin-top:64px}.ranvier-lp .step{border-top:1px solid var(--line);padding-top:28px;display:flex;flex-direction:column;gap:14px}.ranvier-lp .step-no{font-family:var(--serif);font-style:italic;font-size:56px;line-height:1;color:var(--leaf)}.ranvier-lp .step h4{font-family:var(--serif);font-weight:400;font-size:26px;margin:0;letter-spacing:-.01em}.ranvier-lp .step p{color:var(--ink-1);font-size:14px;line-height:1.65;margin:0}.ranvier-lp .gallery{background:var(--deep);padding:120px 0}.ranvier-lp .gallery .container{padding:0 32px}.ranvier-lp .gallery-strip{margin-top:56px;display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.ranvier-lp .clip{aspect-ratio:9/16;background:#000;border-radius:14px;overflow:hidden;position:relative;box-shadow:0 30px 60px -30px rgba(0,0,0,.8)}.ranvier-lp .clip video{width:100%;height:100%;object-fit:cover}.ranvier-lp .clip:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 60%,rgba(0,0,0,.55))}.ranvier-lp .clip-tag{position:absolute;left:14px;bottom:14px;z-index:2;font-family:var(--mono);font-size:10px;letter-spacing:.18em;text-transform:uppercase;color:var(--ink-0);padding:6px 10px;border:1px solid rgba(243,239,227,.4);border-radius:999px;backdrop-filter:blur(6px);background:rgba(7,18,12,.3)}.ranvier-lp .pricing{background:var(--bg-0)}.ranvier-lp .pricing-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:64px}.ranvier-lp .plan{border:1px solid var(--line);border-radius:18px;padding:36px 32px;display:flex;flex-direction:column;gap:22px;background:var(--bg-1);position:relative;overflow:hidden}.ranvier-lp .plan.is-featured{background:radial-gradient(120% 80% at 0 0,rgba(207,226,125,.16),transparent 60%),var(--forest);border-color:rgba(207,226,125,.35)}.ranvier-lp .plan-name{font-family:var(--mono);font-size:11px;letter-spacing:.22em;text-transform:uppercase;color:var(--moss);display:flex;justify-content:space-between;align-items:center}.ranvier-lp .plan.is-featured .plan-name{color:var(--leaf)}.ranvier-lp .badge{font-family:var(--mono);font-size:10px;letter-spacing:.18em;color:#0a2014;background:var(--leaf);padding:4px 8px;border-radius:4px}.ranvier-lp .plan-price{font-family:var(--serif);font-weight:400;font-size:72px;line-height:1;letter-spacing:-.03em;display:flex;align-items:baseline;gap:6px}.ranvier-lp .plan-price .cur{font-size:32px;color:var(--ink-2)}.ranvier-lp .plan-price .per{font-size:14px;font-family:var(--sans);color:var(--ink-2);margin-left:4px}.ranvier-lp .plan-tagline{font-family:var(--serif);font-style:italic;font-size:20px;line-height:1.4;color:var(--ink-0);margin:-8px 0 0}.ranvier-lp .plan ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px}.ranvier-lp .plan li{font-size:14px;color:var(--ink-1);line-height:1.55;padding-left:22px;position:relative}.ranvier-lp .plan li:before{content:"";position:absolute;left:0;top:9px;width:12px;height:1px;background:var(--moss)}.ranvier-lp .plan.is-featured li:before{background:var(--leaf)}.ranvier-lp .plan-cta{margin-top:auto}.ranvier-lp .plan-cta .btn{width:100%}.ranvier-lp .faq{background:var(--bg-1)}.ranvier-lp .faq-grid{display:grid;grid-template-columns:1fr 1.4fr;gap:64px;margin-top:24px}.ranvier-lp .faq-list{display:flex;flex-direction:column}.ranvier-lp details{border-top:1px solid var(--line);padding:22px 0}.ranvier-lp details:last-child{border-bottom:1px solid var(--line)}.ranvier-lp summary{list-style:none;cursor:pointer;font-family:var(--serif);font-size:22px;line-height:1.3;display:flex;justify-content:space-between;align-items:center;gap:16px}.ranvier-lp summary::-webkit-details-marker{display:none}.ranvier-lp summary:after{content:"+";color:var(--leaf);font-family:var(--serif);font-size:28px;line-height:1;transition:transform .2s ease}.ranvier-lp details[open] summary:after{transform:rotate(45deg)}.ranvier-lp details p{color:var(--ink-1);font-size:15px;line-height:1.7;margin:14px 0 0;max-width:60ch}.ranvier-lp .closer{background:var(--bg-0);padding:160px 32px;position:relative;overflow:hidden;text-align:center}.ranvier-lp .closer:before{content:"";position:absolute;inset:0;z-index:0;background:radial-gradient(60% 50% at 50% 60%,rgba(207,226,125,.12),transparent 70%),radial-gradient(40% 40% at 50% 100%,rgba(31,70,49,.6),transparent 70%)}.ranvier-lp .closer-inner{position:relative;z-index:1;max-width:900px;margin:0 auto}.ranvier-lp .closer h2{font-family:var(--serif);font-weight:400;font-size:clamp(48px,7vw,96px);line-height:1;letter-spacing:-.02em;margin:24px 0 28px}.ranvier-lp .closer h2 em{color:var(--leaf);font-style:italic}.ranvier-lp .closer p{color:var(--ink-1);font-size:17px;max-width:520px;margin:0 auto 36px;line-height:1.6}.ranvier-lp .lp-footer{background:var(--bg-0);border-top:1px solid var(--line);padding:48px 32px 36px;color:var(--ink-2);font-size:13px}.ranvier-lp .foot{max-width:1280px;margin:0 auto;display:flex;justify-content:space-between;align-items:center;gap:24px;flex-wrap:wrap}.ranvier-lp .foot-links{display:flex;gap:22px}.ranvier-lp .foot-links a:hover{color:var(--ink-0)}@media (max-width:900px){.ranvier-lp .hero-inner,.ranvier-lp .manifesto-grid{grid-template-columns:1fr;gap:32px}.ranvier-lp .manifesto-side{border-left:none;padding-left:0;border-top:1px solid var(--line);padding-top:24px}.ranvier-lp .feature-grid,.ranvier-lp .gallery-strip,.ranvier-lp .pricing-grid,.ranvier-lp .workflow-grid{grid-template-columns:1fr 1fr}.ranvier-lp .faq-grid{grid-template-columns:1fr;gap:24px}.ranvier-lp .header{padding:14px 18px}.ranvier-lp section{padding:80px 18px}.ranvier-lp .hero{padding:110px 18px 36px}.ranvier-lp .brand .wordmark{height:44px}}@media (max-width:560px){.ranvier-lp .feature-grid,.ranvier-lp .gallery-strip,.ranvier-lp .pricing-grid,.ranvier-lp .workflow-grid{grid-template-columns:1fr}.ranvier-lp .nav-actions .btn-ghost{display:none}}