@font-face{font-family:'Space Grotesk';font-style:normal;font-weight:300 700;font-display:swap;src:url(/fonts/space-grotesk-latin.woff2) format('woff2')}
@font-face{font-family:'IBM Plex Mono';font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/ibm-plex-mono-400-latin.woff2) format('woff2')}
@font-face{font-family:'IBM Plex Mono';font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/ibm-plex-mono-500-latin.woff2) format('woff2')}
:root{--charcoal:#17181B;--copper:#E07A3F;--copper-light:#F2995F;--spark:#FFD2B3;--bone:#F6F3EF;--sand:#C9C2B9;--stone:#A9A198;--ash:#3A3530;--ash2:#514B45;--dim:#8A8580;--copper-tint:rgba(224,122,63,.08);--w:1240px;--gut:clamp(24px,5vw,72px)}
*{box-sizing:border-box}html{scroll-behavior:smooth}
body{margin:0;background:var(--charcoal);color:var(--bone);font-family:'Space Grotesk',system-ui,sans-serif;-webkit-font-smoothing:antialiased}
a{color:var(--copper)}a:hover{color:var(--copper-light)}
.mono{font-family:'IBM Plex Mono',monospace}
.hdr{max-width:var(--w);margin:0 auto;padding:28px 24px;display:flex;flex-wrap:wrap;gap:20px;justify-content:space-between;align-items:center}
.brand{display:flex;align-items:baseline;gap:14px;text-decoration:none;color:var(--bone)}
.wordmark{font-size:28px;font-weight:700;letter-spacing:-.5px}.wordmark.small{font-size:16px}.cu{color:var(--copper)}
.descriptor{font-family:'IBM Plex Mono',monospace;font-size:12px;letter-spacing:.4px;color:var(--stone)}@media (max-width:1279px){.descriptor{display:none}}
.nav{display:flex;flex-wrap:wrap;gap:28px;align-items:center;font-size:16px}.nav a{color:var(--sand);text-decoration:none}.nav a:hover{color:var(--bone)}
.btn{color:var(--charcoal)!important;background:var(--copper);padding:13px 20px;border-radius:8px;text-decoration:none;font-weight:700;border:0;font:inherit;cursor:pointer}.btn:hover{background:var(--copper-light)}
.btn.lg{padding:17px 26px;font-size:18px}
.link{color:var(--bone);text-decoration:none;font-size:18px;border-bottom:1px solid var(--ash2);padding:17px 4px}
.main{max-width:var(--w);margin:0 auto;padding:0 24px}
/* ---- the wire ---- */
.wire-top1{position:relative;height:44px;margin:0 64px 0 8px;border-left:2px solid var(--copper);border-bottom:2px solid var(--copper);border-bottom-left-radius:44px}
.wire-top2{height:44px;margin:-2px 8px 0 52px;border-top:2px solid var(--copper);border-right:2px solid var(--copper);border-top-right-radius:44px}
.node{position:absolute;width:10px;height:10px;border-radius:50%;background:var(--copper)}
.node.origin{left:-6px;top:-4px}
.spark{position:absolute;bottom:-6px;left:0;width:10px;height:10px;border-radius:50%;background:var(--spark);box-shadow:0 0 14px 4px rgba(224,122,63,.7);animation:lwPulse 4s ease-in-out infinite}
@keyframes lwPulse{0%{left:0;opacity:0}10%{opacity:1}90%{opacity:1}100%{left:calc(100% - 10px);opacity:0}}
.rail{position:relative;margin:0 8px}
.rail.right{border-right:2px solid var(--copper)}.rail.left{border-left:2px solid var(--copper)}
.rail>.dot{position:absolute;top:52px;width:16px;height:16px;border-radius:50%;background:var(--copper)}
.rail.right>.dot{right:-9px}.rail.left>.dot{left:-9px}
.turn-rl1{height:56px;margin:0 8px 0 64px;border-right:2px solid var(--copper);border-bottom:2px solid var(--copper);border-bottom-right-radius:56px}
.turn-rl2{height:56px;margin:-2px 64px 0 8px;border-top:2px solid var(--copper);border-left:2px solid var(--copper);border-top-left-radius:56px}
.turn-lr1{height:56px;margin:0 64px 0 8px;border-left:2px solid var(--copper);border-bottom:2px solid var(--copper);border-bottom-left-radius:56px}
.turn-lr2{height:56px;margin:-2px 8px 0 64px;border-top:2px solid var(--copper);border-right:2px solid var(--copper);border-top-right-radius:56px}
/* progressive draw: the copper wire draws itself as it scrolls into view (JS sets --p 0..1).
   Only the wire is clipped. Section content is never hidden: clipping whole sections left a blank band below the fold. */
.wire-seg{--p:1}
.js .wire-seg:not(.rail){clip-path:inset(0 0 calc((1 - var(--p)) * 100%) 0)}
.js .rail.right{border-right-color:transparent}.js .rail.left{border-left-color:transparent}
.js .rail::after{content:"";position:absolute;top:0;bottom:0;width:2px;background:var(--copper);pointer-events:none;clip-path:inset(0 0 calc((1 - var(--p)) * 100%) 0)}
.js .rail.right::after{right:-2px}.js .rail.left::after{left:-2px}
/* ---- sections ---- */
.hero{padding:clamp(40px,6vw,72px) var(--gut) clamp(48px,7vw,90px) 0;display:flex;flex-wrap:wrap;gap:56px;align-items:center}
.hero-text{flex:1 1 480px;min-width:0}.hero-vis{flex:1 1 380px;min-width:0;font-family:'IBM Plex Mono',monospace;font-size:14px}
.eyebrow{font-family:'IBM Plex Mono',monospace;font-size:13px;letter-spacing:3px;color:var(--stone)}
h1{font-size:clamp(38px,5.2vw,64px);line-height:1.06;letter-spacing:-1.8px;margin:22px 0 26px;font-weight:700;max-width:14ch}
.lead{font-size:clamp(18px,2vw,21px);line-height:1.55;color:var(--sand);margin:0 0 34px;max-width:560px}
.ctas{display:flex;flex-wrap:wrap;gap:16px;align-items:center}
.clause{color:var(--stone);line-height:1.8;padding:0 0 18px;border-bottom:1px solid var(--ash)}.clause .ref{color:var(--dim)}.hl{color:var(--bone);border-bottom:2px solid var(--copper)}
.cells div{display:flex;justify-content:space-between;padding:12px 0;border-top:1px solid var(--ash)}.cells div:last-of-type{border-bottom:1px solid var(--ash)}.cells span:first-child{color:var(--dim)}
.cap{font-size:11px;color:var(--dim);margin-top:10px}
.sec{padding:40px var(--gut) 96px var(--gut)}.rail.left .sec{padding-left:var(--gut);padding-right:0}
.sec-in{max-width:760px}.rail.right .sec-in{margin-left:auto}
h2{font-size:clamp(34px,4vw,48px);letter-spacing:-1px;margin:0 0 40px}h2.tight{margin-bottom:14px}
.steps{display:flex;flex-direction:column;gap:36px}.step{display:flex;gap:24px}.step .n{font-family:'IBM Plex Mono',monospace;color:var(--copper);font-size:18px;padding-top:3px}
.step h3{margin:0 0 8px;font-size:24px}.step p{margin:0;font-size:18px;line-height:1.6;color:var(--sand)}
.intro{font-size:18px;line-height:1.6;color:var(--sand);margin:0 0 36px;max-width:700px}
.tbl-wrap{overflow-x:auto;max-width:980px}table.sample{width:100%;min-width:640px;border-collapse:collapse;font-size:16px}
table.sample th{text-align:left;padding:0 0 14px;font-weight:500;color:var(--dim);font-family:'IBM Plex Mono',monospace;font-size:13px;letter-spacing:1px}table.sample th:last-child{text-align:right}
table.sample td{padding:16px 16px 16px 0;border-top:1px solid var(--ash);vertical-align:top}table.sample td.q{color:var(--stone)}table.sample td.pg{text-align:right;color:var(--copper);padding-right:0;font-family:'IBM Plex Mono',monospace}
table.sample tr:last-child td{border-bottom:1px solid var(--ash)}
table.compare{width:100%;min-width:2000px;border-collapse:collapse;font-size:13px;line-height:1.45}
table.compare th,table.compare td{min-width:134px}
table.compare tr>:first-child{box-sizing:border-box;width:184px;min-width:184px;max-width:184px}
.scroll-hint{font-size:13px;color:var(--dim);margin:8px 0 0}
@media (min-width:900px){table.compare tr>:nth-child(2){position:sticky;left:184px;z-index:1;box-shadow:6px 0 8px -6px rgba(0,0,0,.6)}table.compare thead tr>:nth-child(2){background:var(--charcoal)}table.compare tbody tr>td.us{background:color-mix(in srgb,var(--copper) 14%,var(--charcoal))}}
table.compare thead th{text-align:left;vertical-align:bottom;padding:0 14px 14px;font-weight:500;color:var(--dim);font-family:'IBM Plex Mono',monospace;font-size:10px;letter-spacing:1px;text-transform:uppercase}
table.compare thead th.us{color:var(--copper);padding-top:14px;border-bottom:2px solid var(--copper)}
table.compare tbody th{text-align:left;vertical-align:top;font-weight:500;color:var(--bone);padding:14px 14px 14px 0;width:18%}
table.compare td{padding:14px;color:var(--stone);vertical-align:top}table.compare td.us{color:var(--bone);font-weight:700}
table.compare .us{background:var(--copper-tint)}table.compare tbody tr>*{border-top:1px solid var(--ash)}table.compare tbody tr:last-child>*{border-bottom:1px solid var(--ash)}
table.compare tr>:first-child{position:sticky;left:0;z-index:1;background:var(--charcoal)}
/* The table scrolls inside its own box, so the competitor names (header row) stay pinned at the top and the
   sideways scrollbar is always on screen. Corner and LeaseWire header sit above both sticky axes. */
.cmp-wrap{max-height:min(78vh,780px);overflow:auto;overscroll-behavior:contain}
.cmp-wrap:focus-visible{outline:2px solid var(--copper);outline-offset:2px}
table.compare thead tr>*{position:sticky;top:0;z-index:2;background:var(--charcoal)}
table.compare thead tr>:first-child{z-index:4}
@media (min-width:900px){table.compare thead tr>:nth-child(2){z-index:3}}
.also{font-size:16px;color:var(--stone);margin:28px 0 0;max-width:820px;line-height:1.7}
.price{display:flex;flex-wrap:wrap;justify-content:space-between;gap:8px 24px;padding:22px 0;border-top:1px solid var(--ash)}.price:first-of-type{border-top-color:var(--ash2)}.price:last-of-type{border-bottom:1px solid var(--ash2)}
.price .t{font-size:21px;font-weight:700}.price .d{font-size:16px;color:var(--stone);margin-top:4px}.price .p{font-size:30px;font-weight:700}.price .p small{font-size:18px;color:var(--stone);font-weight:400}
.foot{font-size:16px;color:var(--stone);line-height:1.7;margin:24px 0 0}
.guards{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(300px,100%),1fr));gap:32px 56px;max-width:980px}
.guard{border-top:1px solid var(--ash2);padding-top:20px}.guard h3{margin:0 0 10px;font-size:21px}.guard p{margin:0;font-size:17px;line-height:1.65;color:var(--sand)}
details{border-top:1px solid var(--ash);padding:20px 0}details:last-of-type{border-bottom:1px solid var(--ash)}summary{font-size:20px;font-weight:500;cursor:pointer}details p{font-size:17px;line-height:1.65;color:var(--sand);margin:14px 0 0}
.start{padding-bottom:0}.start h2{font-size:clamp(38px,5vw,60px);letter-spacing:-1.5px;margin-bottom:16px}.start .intro{font-size:19px;max-width:640px;margin-bottom:40px}
form.nda{display:flex;flex-direction:column;gap:22px;max-width:560px}form.nda label{display:flex;flex-direction:column;gap:8px;font-size:15px;color:var(--sand)}
form.nda input{font:inherit;font-size:17px;color:var(--bone);background:transparent;border:0;border-bottom:1px solid var(--dim);padding:10px 0;outline:none}form.nda input:focus{border-bottom-color:var(--copper)}
.submit-row{display:flex;align-items:center;margin-top:10px;margin-left:calc(-1 * var(--gut) - 2px)}.submit-row .lead-in{width:var(--gut);height:2px;background:var(--copper)}
.submit-row .btn{font-size:18px;padding:17px 28px}
.form-msg{font-size:17px;color:var(--sand);margin-top:16px;min-height:1.5em}.form-note{font-size:14px;line-height:1.6;color:var(--stone);margin:-6px 0 0}.form-note a{color:var(--sand)}.form-msg.ok{color:var(--bone)}.form-msg.err{color:var(--copper-light)}
.tail{height:110px}
.ftr{border-top:1px solid var(--ash)}.ftr-in{max-width:var(--w);margin:0 auto;padding:44px 24px 40px;display:grid;grid-template-columns:1.4fr 2fr 1fr 1.3fr;gap:32px;font-size:15px;color:var(--stone)}.ftr a{color:var(--stone);text-decoration:none}.ftr a:hover,.ftr a:focus-visible{color:var(--bone)}.ftr-brand p{margin:10px 0 0;line-height:1.5}.ftr-col{display:flex;flex-direction:column;gap:10px;align-items:flex-start}.ftr-links{display:grid;grid-template-rows:repeat(3,auto);grid-auto-flow:column;gap:10px 40px;justify-items:start}.ftr-links,.ftr-col>a{min-width:0}.ftr-col h2{margin:0 0 4px;font-family:'IBM Plex Mono',monospace;font-size:11px;font-weight:400;letter-spacing:3px;text-transform:uppercase;color:var(--dim)}@media (max-width:900px){.ftr-in{grid-template-columns:1fr 1fr}.ftr-brand{grid-column:1/-1}}@media (max-width:480px){.ftr-in{grid-template-columns:1fr;padding:36px 16px 32px}.ftr-links{grid-template-rows:none;grid-auto-flow:row}}
.doc{max-width:820px;padding:40px 0 80px;font-size:17px;line-height:1.7;color:var(--sand)}.doc h1{font-size:clamp(34px,4vw,48px);letter-spacing:-1px;line-height:1.1}.doc h2{font-size:24px;margin:32px 0 10px}.doc .draft{font-family:'IBM Plex Mono',monospace;font-size:12px;letter-spacing:2px;color:var(--copper)}
@media (prefers-reduced-motion: reduce){.spark{animation:none;opacity:0}.js .wire-seg,.js .rail::after{clip-path:none}html{scroll-behavior:auto}}
@media (max-width:720px){.hdr{padding:20px 16px}.main{padding:0 16px}.nav{gap:16px;font-size:15px}.wire-top1,.wire-top2{height:32px}.turn-rl1,.turn-rl2,.turn-lr1,.turn-lr2{height:40px;border-radius:0;margin-left:8px;margin-right:8px}.turn-rl1{border-bottom-right-radius:40px;margin-left:40px}.turn-rl2{border-top-left-radius:40px;margin-right:40px}.turn-lr1{border-bottom-left-radius:40px;margin-right:40px}.turn-lr2{border-top-right-radius:40px;margin-left:40px}.submit-row{margin-left:0}.submit-row .lead-in{display:none}}
/* /vs/ pages: a two-rival table fits the column, so it neither scrolls nor pins a column */
.vs table.compare{min-width:0;margin:8px 0 24px;table-layout:fixed}.vs table.compare td{width:auto}.vs table.compare th,.vs table.compare td{min-width:0}.vs table.compare tr>:nth-child(2){position:static;box-shadow:none}.vs table.compare tbody td{padding:12px 14px;border-top:1px solid var(--ash);vertical-align:top}.vs table.compare tbody th{padding:12px 14px 12px 0;border-top:1px solid var(--ash);text-align:left;font-weight:500;color:var(--bone);vertical-align:top}.vs .foot{font-size:13px;color:var(--dim)}@media (max-width:560px){.vs table.compare tr>:first-child{width:104px;min-width:104px;max-width:104px}}
/* Who runs LeaseWire, inside the security section */
.about{margin-top:56px;padding-top:40px;border-top:1px solid var(--ash)}.about>h3{margin:0 0 12px;font-size:24px}.about .intro a{color:var(--copper-light)}.about h4{margin:0 0 4px;font-size:21px}.about .role{margin:0 0 10px;font-family:'IBM Plex Mono',monospace;font-size:12px;letter-spacing:1px;color:var(--dim)}.about .foot a{color:var(--copper-light)}
.ftr-brand p a{color:var(--stone);text-decoration:underline;text-underline-offset:3px}
