/* Editorial landing page; legal documents keep their own presentation. */
body.home { --bg:#e5ebe8; --bg2:#d6e0dc; --card:transparent; --ink:#151e1c; --muted:#465650; --line:#9cafa7; --accent:#164bc6; --accent-ink:#fff; --accent-soft:#d2ddd8; --warn:#485d55; --warn-bg:#d8e2dd; --code-bg:#cedbd4; background:var(--bg); color:var(--ink); font-family:Arial,Helvetica,sans-serif; }
.home .wrap { max-width:1380px; padding-left:40px; padding-right:40px; }
.home .narrow { max-width:850px; }
.home header.top { background:var(--bg); backdrop-filter:none; position:relative; }
.home header.top .wrap { height:86px; }
.home .logo { display:inline-flex; align-items:center; color:var(--ink); font-size:30px; font-weight:800; letter-spacing:-2px; }
.home .logo svg { width:39px; height:39px; fill:currentColor; margin-left:-9px; margin-right:7px; }
.home nav.main { gap:26px; font-size:14px; }
.home nav.main a { color:var(--ink); }
.home .btn { border-radius:0; padding:14px 20px; }
.home .btn.small { padding:10px 15px; }
.home .theme { border-radius:0; color:var(--ink); min-width:40px; min-height:40px; }
.home section { padding:100px 0; border-bottom:1px solid var(--line); }
.home section.alt { background:var(--bg2); border-top:0; }
.home .hero { padding:80px 0 38px; }
.home .hero-layout { display:grid; grid-template-columns:1fr 1fr; gap:40px 55px; align-items:center; }
.home .eyebrow, .home .hero-foot, .home .map-heading, .home .map-label { font:11px/1.4 ui-monospace,Consolas,monospace; letter-spacing:.09em; text-transform:uppercase; }
.home .eyebrow { color:var(--ink); margin-bottom:45px; }
.home .eyebrow span { color:var(--muted); }
.home h1 { font-size:clamp(58px,7.5vw,116px); letter-spacing:-.065em; line-height:.9; margin:0 0 30px; }
.home h2 { font-size:clamp(38px,4.6vw,66px); line-height:1; letter-spacing:-.05em; max-width:850px; margin-bottom:25px; }
.home h3 { font-size:20px; letter-spacing:-.02em; }
.home .hero-lead { max-width:500px; font-size:22px; line-height:1.4; }
.home .hero .cta { align-items:center; gap:25px; margin:32px 0 54px; }
.home .text-link { color:var(--ink); text-underline-offset:5px; font-size:15px; }
.home .hero-foot { color:var(--muted); }
.home .hero-map { border-top:1px solid var(--ink); border-bottom:1px solid var(--ink); padding:18px 0; }
.home .map-heading { display:flex; justify-content:space-between; margin-bottom:20px; }
.home .map-cloud, .home .map-customer { padding:22px; border:1px solid var(--line); }
.home .map-cloud { background:#cedbd4; }
.home .map-customer { margin-top:18px; background:#eaf0ed; }
.home .map-label { margin-bottom:22px; }
.home .map-chain { display:flex; align-items:center; }
.home .map-node { border:1px solid var(--ink); min-height:78px; flex:1; display:flex; align-items:center; padding:12px; font-size:14px; font-weight:700; line-height:1.3; }
.home .map-proxy { background:var(--ink); color:var(--bg); }
.home .map-arrow { padding:0 8px; font-size:20px; }
.home .map-relay { margin-top:26px; font:12px ui-monospace,Consolas,monospace; }
.home .map-relay span { color:var(--accent); margin-left:15px; }
.home .map-customer p { margin:14px 0 0; color:var(--muted); font-size:13px; }
.home .hero-note { grid-column:1 / -1; border-top:1px solid var(--line); padding-top:18px; font-size:14px; color:var(--muted); }
.home .lead { color:var(--muted); font-size:21px; }
.home .grid { gap:0 30px; }
.home .card { padding:24px 0; border:0; border-top:1px solid var(--ink); border-radius:0; background:transparent; }
.home .card h3 { margin-top:0; }
.home .note, .home pre, .home code, .home details, .home figure img, .home form.access input, .home form.access select, .home form.access textarea { border-radius:0; }
.home details { background:transparent; border:0; border-top:1px solid var(--line); padding:20px 0; margin:0; }
.home .price.featured { border:0; border-top:3px solid var(--accent); }
.home .price .btn { margin-top:auto; }
.home .diagram .box, .home .diagram .hl { fill:var(--bg); }
.home .diagram rect { rx:0; }
.home footer { padding:55px 0; }
@media (max-width:900px) { .home .hero-layout { grid-template-columns:1fr; } .home .hero-map { max-width:700px; } .home .hero-note { grid-column:auto; } }
@media (max-width:640px) { .home .wrap { padding-left:20px; padding-right:20px; } .home header.top .wrap { height:70px; } .home nav.main { gap:10px; } .home nav.main .btn { padding:9px; font-size:12px; } .home .logo { font-size:25px; } .home .hero { padding:55px 0 30px; } .home section { padding:65px 0; } .home h1 { font-size:clamp(53px,12vw,80px); } .home .hero-lead { font-size:19px; } .home .map-cloud,.home .map-customer { padding:14px; } .home .map-node { font-size:11px; padding:8px; min-height:65px; } .home .map-arrow { padding:0 4px; } }
