/* Base42 v4 · Lapis × Mona */
:root{
  --bg:#EEEFF0; --surface:#FFFFFF; --surface-2:#F4F5F6; --text:#12151C; --muted:#5D6571; --line:#D5D9DE;
  --primary:#1F3A8A; --primary-soft:#DCE3F3; --on-primary:#FFFFFF; --strong:#12151C; --on-strong:#FFFFFF; --strong-accent:#C9D5F2;
  --accent:#8A6116;
  --s3:#1F3A8A; --s2:#AFC0EA; --s1:#FFFFFF; --s0:#12151C; --s-dim:#E2E5E9;
  --display:"Mona Sans",system-ui,sans-serif; --body:"Mona Sans",system-ui,sans-serif; --mono:"JetBrains Mono",ui-monospace,monospace;
  --logo-size:17px; --d-weight:780; --d-stretch:118%; --d-track:-.035em; --h1-size:clamp(48px,6.6vw,104px);
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{background:var(--bg);color:var(--text);font:400 18px/1.55 var(--body);-webkit-font-smoothing:antialiased}
a{color:inherit}
:focus-visible{outline:2px solid var(--primary);outline-offset:3px}
.wrap{max-width:1240px;margin:0 auto;padding:0 32px}
h1,h2,h3{font-family:var(--display);font-weight:var(--d-weight);font-stretch:var(--d-stretch);letter-spacing:var(--d-track);line-height:1.02}
.eyebrow{font:500 12px/1 var(--mono);letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}
.btn{display:inline-flex;align-items:center;gap:10px;font:600 16px/1 var(--body);text-decoration:none;padding:16px 24px;border-radius:999px;transition:background .2s,color .2s}
.btn-primary{background:var(--strong);color:var(--on-strong)}
.btn-primary:hover{background:var(--primary);color:var(--on-primary)}
.btn-ghost{background:var(--surface);color:var(--text)}
.btn-ghost:hover{background:var(--primary-soft)}

header{position:sticky;top:0;z-index:10;padding:14px 0}
.nav{display:flex;align-items:center;justify-content:space-between;background:color-mix(in srgb,var(--surface) 88%,transparent);backdrop-filter:blur(10px);border-radius:999px;padding:10px 10px 10px 24px;box-shadow:0 1px 0 var(--line)}
.logo{font:700 22px/1 var(--display);font-stretch:var(--d-stretch);text-decoration:none;letter-spacing:-.01em}
.logo span{color:var(--primary)}
.nav ul{display:flex;gap:30px;list-style:none;font-size:16px;font-weight:500}
.nav ul a{text-decoration:none;color:var(--muted)}
.nav ul a:hover{color:var(--text)}
.nav .btn{padding:12px 20px;font-size:15px}

.hero{padding:72px 0 40px}
.hero-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:40px;align-items:center}
.hero h1{font-size:var(--h1-size)}
.hero h1 span{color:var(--primary)}
.tri{display:flex;gap:10px;flex-wrap:wrap;margin:28px 0 22px}
.tri span{background:var(--surface);border-radius:999px;padding:9px 16px;font-weight:600;font-size:16px}
.tri span b{font:500 12px/1 var(--mono);color:var(--accent);margin-right:8px}
.hero p:not(.eyebrow){color:var(--text);max-width:32em;font-size:20px;margin-top:28px}
.ctas{display:flex;gap:12px;margin-top:32px;flex-wrap:wrap}

.stack{width:100%;aspect-ratio:680/640}
.stack svg{width:100%;height:100%;overflow:visible}
.layer{transform:translateY(-40px);opacity:0;animation:drop .8s cubic-bezier(.2,.8,.2,1) forwards}
.l0{animation-delay:.1s}.l1{animation-delay:.35s}.l2{animation-delay:.6s}.l3{animation-delay:.85s}
@keyframes drop{to{transform:none;opacity:1}}
.stack .t-title{font-family:var(--display);font-stretch:var(--d-stretch);font-weight:var(--d-weight);font-size:23px;fill:var(--text)}
.stack .t-num{font-family:var(--mono);font-size:13px;fill:var(--accent)}
.stack .t-sub{font-family:var(--body);font-size:15px;fill:var(--muted)}
.stack .leader{stroke:var(--text);stroke-width:1}
@media (prefers-reduced-motion:reduce){.layer{animation:none;transform:none;opacity:1}html{scroll-behavior:auto}}

.logos .row{display:flex;align-items:center;gap:32px;flex-wrap:wrap;border-top:1px solid var(--line);padding-top:24px;padding-bottom:8px}
.logos ul{display:flex;flex-wrap:wrap;gap:12px 34px;list-style:none;font:var(--d-weight) var(--logo-size,20px)/1 var(--display);font-stretch:var(--d-stretch);color:var(--muted)}

section{padding:96px 0}
.head{max-width:780px;margin-bottom:48px}
.head h2{font-size:clamp(40px,5vw,68px);margin-top:16px}
.head p{color:var(--muted);margin-top:18px;max-width:36em}

.vs{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.box{background:var(--surface);border-radius:14px;padding:36px}
.box.own{background:var(--strong);color:var(--on-strong)}
.box h3{font-size:34px;margin:14px 0 18px}
.box ul{list-style:none;display:grid;gap:12px;font-size:17px}
.rent li::before{content:"–  ";color:var(--muted)}
.own li::before{content:"+  ";color:var(--strong-accent)}
.own .eyebrow{color:var(--strong-accent)}
.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:16px}
.stats div{background:var(--surface);border-radius:14px;padding:28px 32px}
.stats b{display:block;font-family:var(--display);font-weight:var(--d-weight);font-stretch:var(--d-stretch);font-size:56px;line-height:1;letter-spacing:-.03em;color:var(--primary)}
.stats span{display:block;color:var(--muted);font-size:15px;margin-top:10px}

.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.step{background:var(--surface);border-radius:14px;padding:32px;display:flex;flex-direction:column;gap:14px;position:relative}
.step .tag{display:flex;justify-content:space-between;align-items:center}
.step .tag b{font:500 13px/1 var(--mono);background:var(--primary-soft);color:var(--primary);padding:7px 10px;border-radius:6px}
.step .tag span{font:500 12px/1 var(--mono);color:var(--muted);text-transform:uppercase;letter-spacing:.06em}
.step h3{font-size:36px}
.step p{color:var(--muted);font-size:17px}
.step .pr{margin-top:auto;padding-top:16px;border-top:1px solid var(--line);font-weight:600;font-size:15px}
.step:not(:last-child)::after{content:"→";position:absolute;right:-14px;top:40px;width:28px;height:28px;border-radius:50%;background:var(--primary);color:var(--on-primary);display:grid;place-items:center;font-size:14px;z-index:2}

.cards{display:grid;grid-template-columns:1.2fr 1fr;gap:16px}
.card{border-radius:14px;padding:40px;text-decoration:none;display:flex;flex-direction:column;gap:16px;min-height:360px;transition:transform .25s}
a.card:hover{transform:translateY(-3px)}

.card.c1{background:var(--primary);color:var(--on-primary)}
.card.c1 .eyebrow{color:inherit;opacity:.75}
.card.c2{background:var(--surface)}
.card h3{font-size:40px}
.card p{opacity:.8;max-width:30em}
.facts{margin-top:auto;display:flex;gap:10px;flex-wrap:wrap}
.facts span{font:500 13px/1 var(--mono);padding:9px 12px;border-radius:999px;background:color-mix(in srgb,currentColor 12%,transparent)}

.trust{background:var(--surface)}
.pillars{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.pillar{background:var(--surface-2);border-radius:14px;padding:28px}
.pillar .ic{width:36px;height:36px;border-radius:10px;background:var(--strong);color:var(--on-strong);display:grid;place-items:center;font:500 14px/1 var(--mono);margin-bottom:18px}
.pillar h3{font-size:26px;margin-bottom:12px}
.pillar ul{list-style:none;color:var(--muted);font-size:16px;display:grid;gap:8px}

.routes{border-top:1px solid var(--line)}
.route{display:grid;grid-template-columns:1.05fr 1fr 1.15fr 1.25fr;gap:0 32px;border-bottom:1px solid var(--line)}
.route>*{padding:26px 0}
.route.th>*{padding:14px 0}
.route h3{font-size:24px;line-height:1.15}
.route p{font-size:16px;color:var(--muted)}
.route .catch{color:var(--text)}
.route .us{background:var(--primary-soft);padding:26px 28px;color:var(--text);font-size:16px}
.route .us b{display:block;font-weight:700;color:var(--primary);margin-bottom:4px}
.route.th .us{padding:14px 28px;border-radius:14px 14px 0 0;background:var(--primary);color:var(--on-primary)}
.routes .route:last-of-type .us{border-radius:0 0 14px 14px}
.keys{margin-top:24px;background:var(--strong);color:var(--on-strong);border-radius:14px;padding:32px 36px;display:grid;grid-template-columns:auto 1fr;gap:12px 40px;align-items:baseline}
.keys h3{font-size:30px}
.keys p{opacity:.8;font-size:17px;max-width:40em}
@media (max-width:960px){
  .route{grid-template-columns:1fr;gap:6px}
  .route>*{padding:0}
  .route{padding:24px 0}
  .route.th{display:none}
  .route .us,.routes .route:last-of-type .us{margin-top:12px;border-radius:12px;padding:18px 20px}
  .route [data-l]::before{content:attr(data-l);display:block;font:500 11px/1 var(--mono);letter-spacing:.06em;text-transform:uppercase;color:var(--muted);margin-bottom:6px}
  .keys{grid-template-columns:1fr;padding:28px 24px}
}

[id]{scroll-margin-top:110px}
.step:target{box-shadow:0 0 0 2px var(--primary)}
.qf{display:grid;grid-template-columns:1.4fr 1fr;gap:16px}
.q{background:var(--strong);color:var(--on-strong);border-radius:14px;padding:48px}
.q blockquote{font-family:var(--display);font-weight:var(--d-weight);font-stretch:var(--d-stretch);font-size:clamp(28px,3vw,40px);line-height:1.15;letter-spacing:-.015em}
.q cite{display:block;margin-top:28px;font:500 13px/1.5 var(--mono);font-style:normal;opacity:.7}
.f{background:var(--surface);border-radius:14px;padding:40px;display:flex;flex-direction:column;gap:14px}
.f h3{font-size:34px}
.f p{color:var(--muted);font-size:17px}
.f .prev{font:500 12px/1.7 var(--mono);margin-top:auto}

.cta .box{background:var(--primary);color:var(--on-primary);border-radius:24px;padding:72px 56px}
.cta h2{font-size:clamp(40px,5.4vw,76px);max-width:13em}
.cta p{max-width:34em;margin:22px 0 34px;opacity:.85;font-size:19px}
.cta .btn-primary{background:var(--on-primary);color:var(--primary)}
.cta .btn-primary:hover{background:var(--strong);color:var(--on-strong)}


@media (max-width:960px){
  .wrap{padding:0 16px}
  .hero-grid,.vs,.cards,.qf{grid-template-columns:1fr}
  .steps,.stats,.pillars{grid-template-columns:1fr}
  .step:not(:last-child)::after{right:auto;left:32px;top:auto;bottom:-22px;transform:rotate(90deg)}
  section{padding:64px 0}
  .cta .box{padding:44px 24px}
}

/* ---------- nav: current page, mobile row ---------- */
.nav ul a[aria-current="page"]{color:var(--primary);font-weight:600}
@media (max-width:960px){
  .nav{flex-wrap:wrap;border-radius:22px;row-gap:4px}
  .nav ul{order:3;width:100%;overflow-x:auto;gap:22px;padding:8px 4px 4px;font-size:15px;scrollbar-width:none;white-space:nowrap}
  .nav ul::-webkit-scrollbar{display:none}
}

/* ---------- inner pages ---------- */
.phero{padding:64px 0 24px}
.phero.solo{padding-bottom:0}
.phero h1{font-size:clamp(42px,5.4vw,80px)}
.phero h1 .mute{color:var(--muted)}
.phero .lede{font-size:21px;color:var(--muted);max-width:30em;margin-top:24px}
.phero .eyebrow b{color:var(--accent);font-weight:500;margin-right:8px}
.phero .stack{max-width:520px;justify-self:end}
.stack .dim .lbl{opacity:.4}
.phero h1 .kicker{display:block;font-size:.5em;line-height:1.1;color:var(--muted);margin-bottom:.3em;letter-spacing:-.02em}
.more{display:inline-flex;gap:6px;font-weight:600;font-size:15px;color:var(--primary);text-decoration:none}
.more:hover{text-decoration:underline}

.grid{display:grid;gap:16px}
.g2{grid-template-columns:repeat(2,1fr)}
.g3{grid-template-columns:repeat(3,1fr)}
.g4{grid-template-columns:repeat(4,1fr)}
.tile{background:var(--surface);border-radius:14px;padding:32px;display:flex;flex-direction:column;gap:12px}
.band .tile{background:var(--surface-2)}
.tile h3{font-size:28px}
.tile h3 small{display:block;font:500 15px/1.4 var(--body);font-stretch:100%;letter-spacing:0;color:var(--muted);margin-top:8px}
.tile p{color:var(--muted);font-size:17px}
.tile.dark{background:var(--strong);color:var(--on-strong)}
.tile.dark p{color:inherit;opacity:.8}
.tile.dark .eyebrow{color:var(--strong-accent)}
.arrows{list-style:none;display:grid;gap:10px;font-size:16px;color:var(--muted)}
.arrows li{padding-left:24px;position:relative}
.arrows li::before{content:"→";position:absolute;left:0;color:var(--primary)}
.arrows b{color:var(--text);font-weight:600}
.band{background:var(--surface)}
.steps.four{grid-template-columns:repeat(4,1fr)}
.steps.four .step h3{font-size:30px}

.rows{border-top:1px solid var(--line)}
.rows>div{display:grid;grid-template-columns:.8fr 2fr;gap:32px;padding:24px 0;border-bottom:1px solid var(--line);align-items:baseline}
.rows h3{font-size:26px}
.rows p{color:var(--muted)}

.callout{background:var(--strong);color:var(--on-strong);border-radius:14px;padding:44px 48px}
.callout p.big{font-family:var(--display);font-weight:var(--d-weight);font-stretch:var(--d-stretch);letter-spacing:-.015em;font-size:clamp(26px,2.8vw,36px);line-height:1.15}
.callout p{opacity:.85}
.callout p+p{margin-top:16px;font-size:17px}
.callout .eyebrow{color:var(--strong-accent);margin-bottom:16px}

.chips{display:flex;flex-wrap:wrap;gap:10px}
.chips span{background:var(--surface);border-radius:999px;padding:10px 16px;font-weight:600;font-size:15px}
.band .chips span{background:var(--surface-2)}

.timeline{list-style:none;display:grid;gap:12px}
.timeline li{display:grid;grid-template-columns:120px 1fr;gap:20px;background:var(--surface-2);border-radius:12px;padding:20px 24px;align-items:baseline}
.timeline li b{font:500 13px/1.4 var(--mono);color:var(--primary);text-transform:uppercase;letter-spacing:.04em}
.split{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:start}
.split .head{margin-bottom:24px}

.faq{border-top:1px solid var(--line);max-width:900px}
.faq details{border-bottom:1px solid var(--line);padding:22px 0}
.faq summary{font-family:var(--display);font-weight:var(--d-weight);font-stretch:var(--d-stretch);letter-spacing:-.015em;font-size:22px;cursor:pointer;list-style:none;display:flex;justify-content:space-between;gap:20px}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";color:var(--primary);font-family:var(--mono)}
.faq details[open] summary::after{content:"–"}
.faq p{color:var(--muted);margin-top:12px;max-width:46em}

.case{display:grid;grid-template-columns:.85fr 1.4fr;gap:56px;padding:64px 0;border-top:1px solid var(--line)}
.case:first-of-type{border-top:0}
.case h2{font-size:clamp(36px,4vw,56px);margin:14px 0 20px}
.case .nums{display:grid;gap:12px;margin-top:28px}
.case .nums div{background:var(--surface);border-radius:12px;padding:20px 24px}
.case .nums b{display:block;font-family:var(--display);font-weight:var(--d-weight);font-stretch:var(--d-stretch);font-size:40px;line-height:1;letter-spacing:-.03em;color:var(--primary)}
.case .nums span{color:var(--muted);font-size:15px}
.case dl{display:grid;gap:28px}
.case dd{margin-top:10px;font-size:18px}
.case .q{margin-top:8px}
.flow{list-style:none;display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.flow li{font:500 13px/1 var(--mono);background:var(--primary-soft);color:var(--primary);padding:10px 12px;border-radius:8px}
.flow li:not(:last-child)::after{content:"→";margin-left:14px;color:var(--muted)}
.flow li:last-child{background:var(--primary);color:var(--on-primary)}

/* ---------- footer ---------- */
footer{padding:40px 0 48px;color:var(--muted);font-size:15px}
.foot{display:grid;grid-template-columns:1.6fr 1fr 1fr;gap:32px;border-top:1px solid var(--line);padding-top:40px}
.foot p{margin-top:12px;max-width:22em}
.foot ul{list-style:none;display:grid;gap:8px}
.foot a{text-decoration:none}
.foot a:hover{color:var(--text)}
.fine{display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;margin-top:40px;font:400 13px/1.6 var(--mono)}

@media (max-width:960px){
  .g2,.g3,.g4,.split,.case,.rows>div,.steps.four,.foot{grid-template-columns:1fr}
  .split,.case{gap:28px}
  .rows>div{gap:8px}
  .phero{padding-top:40px}
  .phero .stack{justify-self:center;max-width:420px}
  .timeline li{grid-template-columns:1fr;gap:6px}
  .callout{padding:32px 24px}
}

/* ---------- offerings dropdown ---------- */
.has-menu{position:relative}
.has-menu>a::after{content:"";display:inline-block;width:6px;height:6px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:translateY(-3px) rotate(45deg);margin-left:9px}
.has-menu.on>a{color:var(--primary);font-weight:600}
.has-menu::after{content:"";position:absolute;left:-20px;right:-20px;top:100%;height:22px}
.nav .menu{display:none;position:absolute;left:-22px;top:calc(100% + 20px);flex-direction:column;gap:2px;min-width:280px;background:var(--surface);border-radius:16px;padding:8px;box-shadow:0 16px 40px rgba(18,21,28,.14),0 0 0 1px var(--line);z-index:20}
.has-menu:hover .menu,.has-menu:focus-within .menu{display:flex}
.nav .menu a{display:block;padding:12px 16px;border-radius:10px;color:var(--text)}
.nav .menu a:hover,.nav .menu a[aria-current="page"]{background:var(--primary-soft)}
.nav .menu b{display:block;font-weight:600}
.nav .menu span{display:block;font:500 12px/1.4 var(--mono);text-transform:uppercase;letter-spacing:.05em;color:var(--muted);margin-top:4px}
@media (max-width:960px){
  .has-menu{display:contents}
  .has-menu>a,.has-menu::after{display:none}
  .nav .menu{display:contents}
  .nav .menu a{padding:0;border-radius:0;color:var(--muted)}
  .nav .menu a:hover,.nav .menu a[aria-current="page"]{background:none;color:var(--primary)}
  .nav .menu b{font-weight:500}
  .nav .menu a[aria-current="page"] b{font-weight:600}
  .nav .menu span{display:none}
}
