/* Landing sections below the hero (landing.js): job-site paper on white. The hero keeps its own styles in landing.css.
   Blueprint blue for structure, signal yellow and safety orange for attention, green only for "done/delivered". */
.landing{--paper:#fff;--ink-1:#121417;--ink-2:#565B66;--rule:#E4E6EB;--blueprint:#2B4BFF;--signal:#FFD400;--safety:#FF5A1F;--go:#00B37E;
 --ease-out:cubic-bezier(.2,.8,.2,1);--ease-stamp:cubic-bezier(.3,1.6,.5,1);--ease-io:cubic-bezier(.65,0,.35,1);
 --mono:'JetBrains Mono',ui-monospace,monospace;--stencil:'Big Shoulders Stencil Display','Archivo',sans-serif;--shadow:0 1px 0 #121417,0 12px 32px -18px #12141740}
.lp-sec,.lp-progress,.lp-cta,.lp-foot-bar,.lp-tape{font-family:Archivo,Geist,ui-sans-serif,system-ui,sans-serif;color:var(--ink-1);background:var(--paper)}
.lp-sec{padding:120px 0}
.lp-sec h2,.lp-progress h2,.lp-cta h2{margin:0;max-width:900px;font-family:Archivo,sans-serif;font-stretch:125%;font-weight:800;font-size:clamp(36px,5.6vw,76px);line-height:.95;letter-spacing:-.035em;text-wrap:balance}
.lp-sec h3,.lp-progress h3{font-family:Archivo,sans-serif;font-stretch:112%;font-weight:700;letter-spacing:-.02em}
.landing .lp-sub{max-width:560px;margin:22px 0 0;font-size:19px;line-height:1.55;color:var(--ink-2);text-wrap:pretty}
.lp-two{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:64px;align-items:end}
.lp-foot{margin:28px 0 0;font:500 13px var(--mono);letter-spacing:.04em;color:var(--ink-2)}

/* Eyebrow as a dimension line: ├── 01 · O RASTRO ──┤ */
.lp-cota{display:flex;align-items:center;gap:10px;max-width:420px;margin:0 0 22px;font:700 12px var(--mono);letter-spacing:.14em;color:var(--blueprint)}
.lp-cota::before,.lp-cota::after{content:"";flex:1;height:7px;border:solid var(--blueprint);border-width:0 0 0 1px;background:linear-gradient(var(--blueprint),var(--blueprint)) center/100% 1px no-repeat}
.lp-cota::before{max-width:28px}
.lp-cota::after{border-width:0 1px 0 0}
.lp-cota span{white-space:nowrap}

/* Highlighter: one word per headline, drawn when the headline comes into view */
.landing h2 mark{color:inherit;background:linear-gradient(transparent 58%,var(--signal) 58% 92%,transparent 92%) no-repeat 0 0/0% 100%;transition:background-size .7s var(--ease-out) .15s}
.landing h2.is-in mark{background-size:100% 100%}

/* Blueprint grid, only on the journey and stock sections */
.lp-grid-paper{background:linear-gradient(#2B4BFF14 1px,transparent 1px) 0 0/120px 120px,linear-gradient(90deg,#2B4BFF14 1px,transparent 1px) 0 0/120px 120px,linear-gradient(#2B4BFF0A 1px,transparent 1px) 0 0/24px 24px,linear-gradient(90deg,#2B4BFF0A 1px,transparent 1px) 0 0/24px 24px,var(--paper)}

/* Event tape */
.lp-tape{position:relative;overflow:hidden;height:46px;border-top:10px solid transparent;border-image:repeating-linear-gradient(-45deg,var(--signal) 0 14px,var(--ink-1) 14px 28px) 10;border-bottom:1px solid var(--rule)}
.lp-tape-track{display:flex;width:max-content;height:100%;animation:lp-tape 48s linear infinite}
.lp-tape-track>div{display:flex;align-items:center;gap:40px;padding-right:40px}
.lp-tape-item{display:inline-flex;align-items:center;gap:8px;font:500 13px var(--mono);color:var(--ink-2);white-space:nowrap}
.lp-tape-item b{color:var(--ink-1)}
.lp-tape-item i{width:8px;height:8px;border-radius:50%;background:var(--c)}
.lp-tape:hover .lp-tape-track{animation-play-state:paused}
@keyframes lp-tape{to{transform:translateX(-50%)}}

/* 01 · Pen crossing out the old way */
.lp-strike{list-style:none;margin:0;padding:0;display:grid;gap:4px}
.lp-strike li{position:relative;padding:14px 0;border-bottom:1px solid var(--rule);font-size:22px;font-weight:600;letter-spacing:-.01em;transition:color .3s calc(var(--i)*180ms + 300ms)}
.lp-strike svg{position:absolute;left:-4px;right:-4px;top:calc(50% - 7px);width:calc(100% + 8px);height:14px;overflow:visible}
.lp-strike path{fill:none;stroke:var(--safety);stroke-width:3;stroke-linecap:round;vector-effect:non-scaling-stroke;stroke-dasharray:1;stroke-dashoffset:1;transition:stroke-dashoffset .45s var(--ease-io) calc(var(--i)*180ms)}
.lp-strike.is-in li{color:var(--ink-2)}
.lp-strike.is-in path{stroke-dashoffset:0}
.lp-close{margin:22px 0 0;font:700 13px var(--mono);letter-spacing:.1em;color:var(--blueprint)}

/* 02 · The request that travels */
.lp-journey{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:64px;margin-top:40px}
.lp-stops{list-style:none;margin:0;padding:0}
.lp-stop{min-height:70vh;display:flex;flex-direction:column;justify-content:center;max-width:440px;opacity:.28;transition:opacity .4s var(--ease-out)}
.lp-stop.active{opacity:1}
.lp-stop h3{margin:6px 0 10px;font-size:clamp(40px,4.5vw,64px);line-height:1}
.lp-stop p{margin:0;font-size:18px;line-height:1.55;color:var(--ink-2)}
.lp-stop .lp-stop-k{font:700 12px var(--mono);letter-spacing:.14em;color:var(--blueprint)}
.lp-ticket-wrap{position:sticky;top:calc(50vh - 230px);height:460px;perspective:1400px;margin-top:10vh}
.lp-ticket{position:relative;height:100%;max-width:440px;transform-style:preserve-3d;transition:transform .7s var(--ease-io)}
.lp-ticket[data-step="3"]{transform:rotateY(180deg)}
.lp-ticket-face{position:absolute;inset:0;backface-visibility:hidden;-webkit-backface-visibility:hidden;background:var(--paper);border:1px solid var(--ink-1);border-radius:6px;box-shadow:var(--shadow);padding:22px;overflow:hidden}
.lp-ticket-front{display:flex;flex-direction:column}
.lp-ticket-front header{display:flex;justify-content:space-between;align-items:center;padding-bottom:12px;border-bottom:2px dashed var(--rule);font:700 13px var(--mono);letter-spacing:.08em}
.lp-tk-team{padding:3px 8px;border-radius:4px;background:#FF3D8B;color:#121417}
.lp-tk-where{display:flex;justify-content:space-between;margin:12px 0 6px;font:700 15px var(--mono)}
.lp-tk-where span{font-weight:500;color:var(--ink-2)}
.lp-tk-lines{list-style:none;margin:6px 0 0;padding:0}
.lp-tk-lines li{display:grid;grid-template-columns:1fr auto;gap:2px 10px;padding:12px 0;border-bottom:1px solid var(--rule);opacity:0;transform:translateX(-12px);transition:opacity .32s var(--ease-out) calc(var(--i)*120ms),transform .32s var(--ease-out) calc(var(--i)*120ms)}
.lp-ticket:not([data-step="0"]) .lp-tk-lines li{opacity:1;transform:none}
.lp-tk-name{font-weight:600}
.lp-tk-qty{font:500 14px var(--mono);text-align:right}
.lp-tk-qty b{font-size:16px}
.lp-tk-qty b.partial{color:var(--safety)}
.lp-tk-free{grid-column:1/-1;justify-self:start;padding:2px 7px;border-radius:4px;font:700 11px var(--mono);letter-spacing:.04em;background:#00B37E1f;color:#007a56;opacity:0;transform:scale(.8);transform-origin:left;transition:opacity .22s,transform .22s var(--ease-stamp)}
.lp-tk-free.short{background:#FF5A1F1f;color:#c43c08}
.lp-ticket:is([data-step="2"],[data-step="3"],[data-step="4"]) .lp-tk-free{opacity:1;transform:none}
.lp-tk-cursor{margin:8px 0 0;font:700 16px var(--mono);color:var(--blueprint);opacity:0}
.lp-ticket[data-step="1"] .lp-tk-cursor{animation:lp-blink .5s steps(1) .5s 4}
@keyframes lp-blink{50%{opacity:1}}
.lp-tk-shelf{display:flex;align-items:center;gap:10px;margin-top:auto;padding-top:14px;border-top:2px dashed var(--rule);font:700 11px var(--mono);letter-spacing:.08em;color:var(--ink-2)}
.lp-tk-shelf b{font-size:22px;color:var(--ink-1);line-height:1}
.lp-tk-win{margin-left:auto;display:grid;place-items:center;width:34px;height:30px;border-radius:2px;border:1px solid #5b3a2859;font-size:11px;color:#86918d;background:linear-gradient(165deg,#fbfdfd,#e4ecef);transition:background .4s,color .4s}
.lp-ticket[data-step="4"] .lp-tk-win{background:linear-gradient(165deg,#FFE766,#FFC400);color:#5a4100}
/* Stamps, with ink gaps from an SVG noise mask */
.lp-stamp{position:absolute;right:22px;top:118px;padding:4px 12px;border:4px solid currentColor;border-radius:6px;font:900 34px var(--stencil);letter-spacing:.04em;opacity:0;transform:rotate(-8deg) scale(2.4);pointer-events:none;
 -webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='200' height='80'%3E%3Cfilter id='n'%3E%3CfeTurbulence baseFrequency='.9' numOctaves='2'/%3E%3CfeColorMatrix values='0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 -1.4 1.25'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='200' height='80'%3E%3Cfilter id='n'%3E%3CfeTurbulence baseFrequency='.9' numOctaves='2'/%3E%3CfeColorMatrix values='0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 -1.4 1.25'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}
.lp-stamp-ok{color:var(--blueprint)}
.lp-stamp-done{color:#007a56;top:178px;right:40px;transform:rotate(6deg) scale(2.4)}
.lp-ticket:is([data-step="2"],[data-step="3"],[data-step="4"]) .lp-stamp-ok{opacity:.92;transform:rotate(-8deg) scale(1);transition:opacity .28s,transform .28s var(--ease-stamp) .2s}
.lp-ticket[data-step="4"] .lp-stamp-done{opacity:.92;transform:rotate(6deg) scale(1);transition:opacity .28s .03s,transform .28s var(--ease-stamp) .03s}
.lp-ticket[data-step="2"] .lp-ticket-front{animation:lp-thud .08s linear .45s}
@keyframes lp-thud{50%{transform:translateY(2px)}}
/* Back: the pickup QR code */
.lp-ticket-back{transform:rotateY(180deg);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:18px}
.lp-ticket-back p{margin:0;font:700 12px var(--mono);letter-spacing:.14em}
.lp-qr{position:relative;display:grid;grid-template-columns:repeat(21,1fr);width:min(280px,80%);aspect-ratio:1;padding:12px;border:1px solid var(--rule);border-radius:6px}
.lp-qr i{background:var(--ink-1);opacity:0;transform:scale(.4);transition:opacity .2s,transform .2s}
.lp-qr i:not(.on){visibility:hidden}
.lp-ticket[data-step="3"] .lp-qr i{opacity:1;transform:none;transition-delay:calc(var(--d) + 350ms)}
.lp-qr-scan{position:absolute;left:6px;right:6px;top:8px;height:2px;background:var(--go);box-shadow:0 0 12px var(--go);opacity:0}
.lp-ticket[data-step="3"] .lp-qr-scan{animation:lp-scan 1.1s linear 1.1s 2}
@keyframes lp-scan{0%{opacity:1;top:8px}100%{opacity:1;top:calc(100% - 10px)}}

/* Mechanical counter */
.odo{display:inline-block;height:1em;overflow:hidden;vertical-align:-.12em;line-height:1}
.odo-col{display:flex;flex-direction:column;transition:transform .9s var(--ease-out)}
.odo-col span{display:block;height:1em;line-height:1}
.landing [aria-label]{font-variant-numeric:tabular-nums}

/* 03 · Spending by team, as warehouse tags and a measuring tape */
.lp-spend{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:48px;margin-top:48px;align-items:start}
.lp-spend-controls{display:grid;gap:12px;align-content:start}
.lp-step-k{margin:10px 0 0;font:700 12px var(--mono);letter-spacing:.12em;color:var(--blueprint)}
.lp-step-k:first-child{margin-top:0}
.lp-step-k span{display:block;margin-top:4px;font-weight:500;letter-spacing:.04em;color:var(--ink-2)}
.lp-read{margin:4px 0 0;font-size:15px;line-height:1.45;color:var(--ink-2)}
.lp-read b{color:var(--ink-1)}
.lp-seg{display:inline-flex;flex-wrap:wrap;width:fit-content;max-width:100%;padding:3px;border:1px solid var(--ink-1);border-radius:6px}
.lp-seg button{border:0;border-radius:4px;background:none;padding:9px 14px;font:600 14px Archivo,sans-serif;color:var(--ink-2)}
.lp-seg button.active{background:var(--blueprint);color:#fff}
.lp-tags{display:flex;flex-wrap:wrap;gap:10px}
.lp-tag{position:relative;display:inline-flex;align-items:center;gap:8px;min-height:40px;padding:0 14px 0 26px;border:1px solid var(--rule);border-left:6px solid var(--c);border-radius:4px 6px 6px 4px;background:var(--paper);font:600 14px Archivo,sans-serif;color:var(--ink-1);transform-origin:14px 50%;transition:transform .3s var(--ease-stamp),border-color .2s,box-shadow .2s}
.lp-tag::before{content:"";position:absolute;left:9px;top:50%;width:7px;height:7px;margin-top:-3.5px;border-radius:50%;border:1.5px solid var(--ink-2);background:var(--paper)}
.lp-tag-code{font:500 11px var(--mono);letter-spacing:.06em;color:var(--ink-2)}
.lp-tag:hover{box-shadow:0 6px 16px -10px #12141760}
.lp-tag.active{border-color:var(--c);border-width:2px 2px 2px 6px;transform:rotate(-4deg);box-shadow:var(--shadow)}
.lp-tag.active .lp-tag-code{font-weight:700;color:var(--ink-1)}
.lp-sheet{padding:26px;border:1px solid var(--ink-1);border-radius:6px;box-shadow:var(--shadow);background:var(--paper)}
.lp-sheet-total{display:grid;gap:6px;padding-bottom:18px;margin-bottom:18px;border-bottom:2px dashed var(--rule)}
.lp-sheet-total>span{font:700 12px var(--mono);letter-spacing:.1em;color:var(--blueprint)}
.lp-big{font:800 clamp(34px,4vw,52px)/1 Archivo,sans-serif;font-stretch:112%;letter-spacing:-.03em}
.lp-bars{display:grid;gap:12px}
.lp-bar{display:grid;grid-template-columns:132px minmax(0,1fr) 112px;align-items:center;gap:12px;font-size:14px}
.lp-bar-label{font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.lp-bar-track{height:24px;background:repeating-linear-gradient(90deg,#12141722 0 1px,transparent 1px 10%) ,#F3F4F6;border-radius:0 4px 4px 0}
.lp-bar-fill{display:block;height:100%;border-radius:0 4px 4px 0;background:var(--c);transform:scaleX(0);transform-origin:left;transition:transform .7s var(--ease-out)}
.lp-bar-value{text-align:right;font:700 14px var(--mono)}
.lp-items{margin:16px 0 0;font:500 13px var(--mono);color:var(--ink-2)}
.lp-sheet footer{display:flex;flex-wrap:wrap;justify-content:space-between;gap:6px 16px;margin-top:20px;font-size:13px;color:var(--ink-2)}

/* 04 · Building: kept, with brighter windows and the 0427 apartment marked */
.lp-progress{position:relative;height:320vh}
.lp-progress-sticky{position:sticky;top:64px;height:calc(100vh - 64px);height:calc(100dvh - 64px);display:flex;align-items:center;overflow:hidden}
.lp-progress-grid{width:100%;display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:40px;align-items:center}
.lp-progress h2{font-size:clamp(34px,4.4vw,60px)}
.lp-summary{margin-top:28px;padding:18px 0 0;border:0;border-top:1px solid var(--rule)}
.lp-summary strong{font:700 26px var(--mono)}
.lp-summary strong small{font-size:13px}
.lp-towers{padding:0;gap:16px}
.lp-tower{background:var(--paper);border-color:var(--ink-1);border-radius:6px;box-shadow:var(--shadow)}
.lp-tower h3{margin:0;font-size:16px}
.lp-tower .tower-bar span{background:var(--go);transition:width .3s}
.lp-tower .window-unit{position:relative;display:grid;place-items:center;padding:0 0 6px;min-height:30px;cursor:default;overflow:visible;transition:background .35s,color .35s}
.lp-tower .window-unit:hover{transform:none;filter:none}
.lp-tower .window-unit.doing,.lp-summary .unit-key.doing{background:linear-gradient(165deg,#FFE766,#FFC400)}
.lp-tower .window-unit.done,.lp-summary .unit-key.done{background:linear-gradient(165deg,#22D39A,#00A06A)}
.lp-tower .window-unit.just-done::before{content:"";position:absolute;inset:-1px;border-radius:2px;animation:lp-ring .6s var(--ease-out)}
@keyframes lp-ring{from{box-shadow:0 0 0 0 #00B37E99}to{box-shadow:0 0 0 8px #00B37E00}}
.lp-tower .lp-0427{outline:2px solid var(--blueprint);outline-offset:1px;z-index:1}
.lp-tower .lp-0427::after{content:"0427";position:absolute;left:50%;bottom:calc(100% + 6px);top:auto;right:auto;height:auto;transform:translateX(-50%);padding:2px 6px;border:0;border-radius:4px;background:var(--blueprint);color:#fff;font:700 10px var(--mono);letter-spacing:.06em}

/* 05 · Invoice read line by line onto the shelf */
.lp-note-panel{position:relative;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:28px;margin-top:48px}
.lp-note,.lp-shelf{position:relative;padding:24px;border:1px solid var(--ink-1);border-radius:6px;background:var(--paper);box-shadow:var(--shadow)}
.lp-note header{display:grid;gap:4px;padding-bottom:12px;margin-bottom:6px;border-bottom:2px dashed var(--rule);font:700 14px var(--mono)}
.lp-note header>span{font-weight:500;font-size:11px;letter-spacing:.08em;color:var(--ink-2)}
.lp-note ol{list-style:none;margin:0;padding:0}
.lp-note li{display:grid;grid-template-columns:1fr auto 20px;gap:10px;align-items:center;padding:12px 0;border-bottom:1px solid var(--rule);font-size:15px}
.lp-note li b{font:700 13px var(--mono)}
.lp-note li i{font-style:normal;font-weight:800;color:var(--go);opacity:0;transform:scale(.4);transition:opacity .2s,transform .25s var(--ease-stamp)}
.lp-note li.read i{opacity:1;transform:none}
.lp-note-band{position:absolute;mix-blend-mode:multiply;left:12px;right:12px;top:0;background:#FFD40055;border-radius:3px;opacity:0;pointer-events:none;transition:transform .3s var(--ease-out),opacity .2s}
.lp-fly{position:absolute;z-index:5;padding:3px 8px;border-radius:4px;background:var(--go);color:#fff;font:700 12px var(--mono);white-space:nowrap;pointer-events:none}
.lp-shelf{display:flex;flex-direction:column;gap:18px}
.lp-shelf-bars{display:grid;gap:10px}
.lp-shelf-bars div{display:grid;grid-template-columns:110px 1fr 46px;align-items:center;gap:10px;font-size:13px;font-weight:600}
.lp-shelf-bars b{font:700 12px var(--mono);text-align:right}
.lp-shelf-track{height:10px;border-radius:2px;background:#F1F2F4;overflow:hidden}
.lp-shelf-track span{display:block;height:100%;background:var(--blueprint);transform:scaleX(0);transform-origin:left;transition:transform .5s var(--ease-out)}
.lp-can{display:grid;gap:2px;padding-top:14px;border-top:2px dashed var(--rule)}
.lp-can-k{font:700 12px var(--mono);letter-spacing:.14em;color:var(--blueprint)}
.lp-can strong{font:900 clamp(56px,7vw,96px)/.9 var(--stencil);letter-spacing:.02em;color:var(--ink-1)}
.lp-ruler{display:grid;grid-template-columns:repeat(36,1fr);gap:3px;height:28px}
.lp-ruler i{border-radius:2px;background:#E9EBEE;transition:background .25s}
.lp-ruler i.made{background:#007a56}
.lp-ruler i.can{background:var(--go)}
.lp-ruler-key{display:flex;flex-wrap:wrap;gap:6px 16px;margin:0;font-size:12px;color:var(--ink-2)}
.lp-ruler-key span{display:inline-flex;align-items:center;gap:6px}
.lp-ruler-key i{width:10px;height:10px;border-radius:2px;background:#E9EBEE}
.lp-ruler-key i.made{background:#007a56}.lp-ruler-key i.can{background:var(--go)}
.lp-replay{align-self:flex-start;border:1px solid var(--ink-1);border-radius:4px;background:var(--paper);padding:8px 12px;font:700 12px var(--mono);letter-spacing:.08em;color:var(--ink-1)}
.lp-replay:hover{background:var(--signal)}

/* 06 · Badges */
.lp-badges{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin-top:56px}
.lp-badge{position:relative;padding:0 0 24px;border:1px solid var(--ink-1);border-radius:10px;background:var(--paper);box-shadow:var(--shadow);transform-origin:50% -20px;opacity:0;transform:translateY(-16px) rotate(-2deg)}
.lp-badges.is-in .lp-badge{animation:lp-swing .9s var(--ease-out) calc(var(--i)*120ms) forwards}
@keyframes lp-swing{0%{opacity:0;transform:translateY(-16px) rotate(-6deg)}50%{opacity:1;transform:rotate(3deg)}75%{transform:rotate(-1.2deg)}100%{opacity:1;transform:none}}
.lp-badge-clip{position:absolute;left:50%;top:-14px;width:26px;height:24px;margin-left:-13px;border:2px solid var(--ink-1);border-bottom:0;border-radius:6px 6px 0 0}
.lp-badge-clip::after{content:"";position:absolute;left:50%;top:15px;width:34px;height:6px;margin-left:-17px;border-radius:3px;background:var(--rule)}
.lp-badge header{padding:30px 24px 20px;border-radius:9px 9px 0 0;background:var(--c);color:var(--t)}
.lp-badge header span{font:700 12px var(--mono);letter-spacing:.1em;opacity:.85}
.lp-badge h3{margin:6px 0 0;font:900 48px/.9 var(--stencil);letter-spacing:.03em}
.lp-badge ul{list-style:none;margin:0;padding:18px 24px 0;display:grid;gap:12px}
.lp-badge li{padding-left:16px;position:relative;font-size:16px;line-height:1.45}
.lp-badge li::before{content:"";position:absolute;left:0;top:.6em;width:7px;height:2px;background:var(--ink-1)}

/* Call to action and footer */
.lp-cta{padding:120px 0;border-top:10px solid transparent;border-image:repeating-linear-gradient(-45deg,var(--signal) 0 14px,var(--ink-1) 14px 28px) 10}
.lp-cta h2{font-size:clamp(48px,8vw,112px)}
.lp-cta-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:36px}
.lp-go{display:inline-flex;align-items:center;min-height:54px;padding:0 26px;border:2px solid var(--safety);border-radius:6px;background:var(--safety);color:var(--ink-1);font:700 16px Archivo,sans-serif;text-decoration:none;transition:transform .15s,box-shadow .15s}
.lp-go:hover{transform:translateY(-2px);box-shadow:0 3px 0 var(--ink-1)}
.lp-go-ghost{background:var(--paper);color:var(--ink-1);border-color:var(--ink-1)}
.lp-foot-bar{padding:40px 0;border-top:1px solid var(--rule);font-size:14px;color:var(--ink-2)}
.lp-foot-bar .lp-wrap{display:grid;grid-template-columns:1fr auto;gap:16px 24px;align-items:start}
.lp-foot-bar p{margin:8px 0 0}
.lp-foot-brand{display:inline-flex;align-items:center;gap:9px;font:800 22px Archivo,sans-serif;letter-spacing:-.04em;color:var(--ink-1)}
.lp-foot-brand img{width:28px;height:28px}
.lp-foot-brand b{color:var(--safety)}
.lp-foot-bar nav{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:4px}
.lp-foot-link{border:0;background:none;padding:10px 12px;font:600 14px Archivo,sans-serif;color:var(--ink-1);text-decoration:none;border-radius:4px}
.lp-foot-link:hover{background:var(--signal)}
.lp-legal{grid-column:1/-1;font-size:12px}

@media(max-width:899px){
 .lp-sec{padding:80px 0}
 .lp-two,.lp-spend,.lp-note-panel,.lp-progress-grid{grid-template-columns:1fr;gap:32px}
 .lp-journey{display:flex;flex-direction:column-reverse;gap:0;margin-top:24px}
 .lp-ticket-wrap{position:sticky;top:72px;z-index:2;height:460px;margin:0 auto -60px;width:100%;max-width:440px;transform:scale(.72);transform-origin:top center;margin-bottom:-130px}
 .lp-stop{min-height:60vh;justify-content:flex-end;padding-bottom:12vh;background:linear-gradient(transparent,var(--paper) 30%)}
 .lp-stop h3{font-size:40px}
 .lp-badges{grid-template-columns:1fr;gap:36px}
 .lp-progress-grid{gap:16px}
 .lp-progress .lp-sub{display:none}
 .lp-progress h2{font-size:28px}
 .lp-summary{grid-template-columns:repeat(4,minmax(0,1fr));margin-top:14px;padding:12px 0 0;gap:8px}
 .lp-summary strong{font-size:17px}
 .lp-summary strong small{font-size:11px}
 .lp-summary span{font-size:11px}
 .lp-towers{max-width:360px;margin:0 auto;width:100%}
 .lp-tower{padding:12px}
 .lp-tower .building{margin-top:8px;padding-top:12px}
 .lp-tower .building-crown{height:42px}
 .lp-tower .crown-top{bottom:22px;height:20px}
 .lp-tower .crown-cap{height:22px}
 .lp-tower .window-unit{min-height:24px;padding-bottom:4px}
 .lp-tower .building-lobby{height:44px}
 .lp-tower .tower-bar{margin:6px 0 4px}
}
@media(max-width:600px){
 .lp-strike li{font-size:18px}
 .lp-bar{grid-template-columns:92px minmax(0,1fr) 96px;gap:8px;font-size:12px}
 .lp-bar-value{font-size:12px}
 .lp-sheet,.lp-note,.lp-shelf{padding:18px}
 .lp-shelf-bars div{grid-template-columns:92px 1fr 40px}
 .lp-foot-bar .lp-wrap{grid-template-columns:1fr}
 .lp-cota{max-width:100%}
}
@media(prefers-reduced-motion:reduce){
 .landing *,.landing *::before,.landing *::after{transition:none!important;animation:none!important}
 .lp-tape-track{flex-wrap:wrap;width:auto}
 .lp-tape{height:auto}
 .lp-tape-track>div+div{display:none}
 .lp-ticket[data-step="3"]{transform:none}
 .lp-ticket[data-step="3"] .lp-ticket-front{opacity:0}
 .lp-ticket-back{transform:none;opacity:0}
 .lp-ticket[data-step="3"] .lp-ticket-back{opacity:1}
 .lp-badge{opacity:1;transform:none}
}

/* Estoque ao vivo (landing-stock.js): the stock screen's cards on a 3D board the visitor drives */
@property --h{syntax:'<length>';inherits:true;initial-value:4px}
.lp-live{padding-bottom:40px;overflow:hidden}
.lp-live-controls{display:grid;gap:12px;margin-top:36px}
.lp-live-buttons{display:flex;flex-wrap:wrap;gap:12px}
.lp-live-btn{display:inline-flex;align-items:center;gap:10px;min-height:54px;padding:0 20px;border:2px solid var(--c);border-radius:6px;background:var(--c);color:#fff;font:700 16px Archivo,sans-serif;box-shadow:0 3px 0 var(--ink-1);transition:transform .12s,box-shadow .12s}
.lp-live-btn b{font-size:20px;line-height:1}
.lp-live-btn span{padding:2px 6px;border-radius:3px;background:#ffffff2e;font:700 11px var(--mono);letter-spacing:.08em}
.lp-live-btn:hover{transform:translateY(-1px);box-shadow:0 4px 0 var(--ink-1)}
.lp-live-btn:active{transform:translateY(3px);box-shadow:0 0 0 var(--ink-1)}
.lp-live-in{--c:var(--blueprint)}
.lp-live-out{--c:var(--safety)}
.lp-live-log{min-height:20px;margin:0;font:500 13px var(--mono);color:var(--ink-2)}
.lp-live-log b{color:var(--ink-1)}
.lp-stage{position:relative;max-width:1240px;margin:0 auto;padding:56px 24px 110px;perspective:1700px;perspective-origin:50% 20%}
.lp-stage::after{content:"";position:absolute;left:12%;right:12%;bottom:40px;height:90px;border-radius:50%;background:radial-gradient(closest-side,#12141730,transparent);filter:blur(10px);pointer-events:none}
.lp-board{position:relative;z-index:1;display:grid;grid-template-columns:repeat(12,minmax(0,1fr));grid-template-rows:330px 157px 157px;gap:16px;transform-style:preserve-3d;transform-origin:50% 60%;transition:transform .35s cubic-bezier(.2,.8,.2,1);will-change:transform}
.lp-board .lp-c{opacity:1;transform:translateZ(var(--z));transition:opacity .8s var(--ease-out),transform 1s var(--ease-out),box-shadow .3s;box-shadow:0 30px 50px -30px #12141766}
.lp-board:not(.in) .lp-c{opacity:0;transform:translateZ(calc(var(--z) + 220px)) translateY(-30px)}
.lp-board .lp-c:nth-child(2){transition-delay:.08s}.lp-board .lp-c:nth-child(3){transition-delay:.16s}.lp-board .lp-c:nth-child(4){transition-delay:.24s}.lp-board .lp-c:nth-child(5){transition-delay:.32s}
.lp-c-nw{grid-column:1/8;grid-row:1}
.lp-c-al{grid-column:8/13;grid-row:1}
.lp-c-shelf{grid-column:1/8;grid-row:2/4}
.lp-c-short{grid-column:8/13;grid-row:2}
.lp-c-buy{grid-column:8/13;grid-row:3}
.lp-c-head{display:flex;justify-content:space-between;align-items:center;gap:10px}
.lp-c .sb-row{display:flex;align-items:center;gap:10px}
/* Entregas */
.lp-nw-row{display:flex;align-items:flex-end;gap:16px;margin-top:16px}
.lp-nw-cap{margin-top:3px;font-size:12px}
.lp-caps{position:absolute;left:24px;right:24px;bottom:12px;height:150px;display:flex;gap:6px}
.lp-cap{position:relative;flex:1}
.lp-cap i{position:absolute;left:50%;bottom:22px;width:min(16px,70%);transform:translateX(-50%);border-radius:8px;min-height:3px;transition:height .9s var(--ease-out)}
.lp-cap .o{background:#FFC56B;height:calc(var(--o,0)*112px)}
.lp-cap .u{background:#9FE8C9;height:calc(var(--u,0)*112px)}
.lp-cap .m{background:#fff;height:calc(var(--mm,0)*112px)}
.lp-cap-n{position:absolute;left:0;right:0;bottom:calc(var(--o,0)*112px + 28px);text-align:center;font:600 11px 'Geist Mono',monospace;color:#fff;transition:bottom .9s var(--ease-out)}
.lp-cap em{position:absolute;left:-6px;right:-6px;bottom:0;text-align:center;font:700 11px 'Geist Mono',monospace;font-style:normal;color:#fff}
/* Dá para fazer */
.lp-gauge{display:block;width:min(270px,100%);height:auto;margin:8px auto 0}
.lp-gauge line{transition:stroke .4s}
.lp-al-rows{position:absolute;left:24px;right:24px;bottom:16px}
.lp-al-rows .sb-row{height:28px;font-size:13px}
.lp-al-rows .sb-row i{width:8px;height:8px;border-radius:50%}
.lp-al-rows .sb-row span:nth-of-type(1){flex:1;font-weight:600}
.lp-al-rows .sb-row span:nth-of-type(2){width:44px;text-align:right}
.lp-al-rows .sb-row span:nth-of-type(3){width:70px;text-align:right}
.lp-cut{max-width:160px;overflow:hidden;text-overflow:ellipsis;opacity:.0;transition:opacity .3s}
.lp-cut.on{opacity:1}
/* Prateleira 3D: isometric columns, as tall as the stock */
.lp-iso-wrap{height:190px;display:grid;place-items:center;margin-top:0}
.lp-iso{position:relative;width:224px;height:140px;transform:rotateX(58deg) rotateZ(45deg) translate(34px,34px);transform-style:preserve-3d}
.lp-iso::before{content:"";position:absolute;inset:-14px;border-radius:6px;background:repeating-linear-gradient(90deg,#2B4BFF14 0 1px,transparent 1px 28px),repeating-linear-gradient(#2B4BFF14 0 1px,transparent 1px 28px),#F4F6FA}
.lp-col{position:absolute;left:calc(var(--x)*84px);top:calc(var(--y)*84px);width:56px;height:56px;transform-style:preserve-3d;transition:--h .9s var(--ease-out)}
.lp-col i{position:absolute;display:block}
.lp-col-top{inset:0;background:var(--t);transform:translateZ(var(--h));border-radius:2px;box-shadow:inset 0 0 0 1px #ffffff80}
.lp-col-front{left:0;top:100%;width:100%;height:var(--h);transform-origin:top;transform:rotateX(90deg);background:linear-gradient(var(--s),var(--f))}
.lp-col-side{left:100%;top:0;width:var(--h);height:100%;transform-origin:left;transform:rotateY(-90deg);background:linear-gradient(90deg,color-mix(in srgb,var(--s) 80%,#000),color-mix(in srgb,var(--f) 75%,#000))}
.lp-col.low .lp-col-top{background:#ff6a5c;animation:lp-low 1.2s ease-in-out infinite}
@keyframes lp-low{50%{background:#ffd0ca}}
.lp-col.flash-in .lp-col-top{animation:lp-flash-in .9s var(--ease-out)}
.lp-col.flash-out .lp-col-top{animation:lp-flash-out .9s var(--ease-out)}
@keyframes lp-flash-in{0%{box-shadow:0 0 0 0 #2B4BFFcc,inset 0 0 0 1px #fff}100%{box-shadow:0 0 0 18px #2B4BFF00,inset 0 0 0 1px #fff}}
@keyframes lp-flash-out{0%{box-shadow:0 0 0 0 #FF5A1Fcc,inset 0 0 0 1px #fff}100%{box-shadow:0 0 0 18px #FF5A1F00,inset 0 0 0 1px #fff}}
.lp-shelf-list{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:4px 18px;position:absolute;left:24px;right:24px;bottom:18px}
.lp-shelf-list li{display:grid;grid-template-columns:8px minmax(0,1fr) auto;align-items:center;gap:8px;font-size:12.5px;padding:4px 0;border-top:1px solid var(--line)}
.lp-shelf-list li i{width:8px;height:8px;border-radius:2px}
.lp-shelf-list li span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-weight:600}
.lp-shelf-list li b{font:600 12px 'Geist Mono',monospace}
.lp-shelf-list li.low b{color:#e2362a}
/* Em falta, Comprar */
.lp-short-bg{position:absolute;inset:0;transition:opacity .5s}
.lp-c-short.ok .lp-short-red{opacity:0}
.lp-short-row{position:absolute;left:24px;bottom:18px;display:flex;align-items:baseline;gap:12px}
.lp-short-row .sb-big{font-size:58px}
.lp-short-row .sb-muted{font-size:15px;font-weight:600;color:#fff}
.lp-buy-row{display:flex;align-items:baseline;justify-content:space-between;margin-top:12px}
.lp-buy-row .sb-big{font-size:40px}
.lp-buy-ticks{position:absolute;left:24px;right:24px;bottom:20px;height:20px;display:flex;justify-content:space-between;align-items:flex-end}
.lp-buy-ticks i{width:1.6px;height:12px;border-radius:1px;background:#d8e0dc;transition:background .3s}
.lp-buy-ticks i:nth-child(6n+1){height:20px}
.lp-buy-ticks i.on{background:var(--green)}
@media(max-width:899px){
 .lp-stage{padding:32px 16px 72px;perspective:1200px}
 .lp-board{grid-template-columns:1fr;grid-template-rows:auto;gap:14px}
 .lp-c-nw,.lp-c-al,.lp-c-shelf,.lp-c-short,.lp-c-buy{grid-column:1;grid-row:auto}
 .lp-c-nw,.lp-c-al{height:320px}
 .lp-c-shelf{height:440px}
 .lp-c-short,.lp-c-buy{height:140px}
 .lp-live-btn{flex:1 1 auto;justify-content:center}
 /* The stock screen puts card contents in flow on phones; the landing board keeps them pinned. */
 .lp-board .sb-in{position:absolute;inset:0;padding:20px 18px}
 .lp-board .lp-c{transform:translateZ(calc(var(--z)*.25))}
 .lp-caps,.lp-al-rows,.lp-shelf-list,.lp-buy-ticks{left:18px;right:18px}
 .lp-short-row{left:18px}
 .lp-shelf-list{grid-template-columns:1fr}
 .lp-shelf-list li{padding:3px 0}
 .lp-iso-wrap{height:200px}
}
@media(prefers-reduced-motion:reduce){
 .lp-board .lp-c,.lp-board:not(.in) .lp-c{opacity:1;transform:none}
 .lp-col{transition:none}
}

/* Demo request (#lp-demo): pitch on the left, form on a sheet on the right. */
.lp-demo{display:grid;grid-template-columns:1.1fr .9fr;gap:56px;align-items:start}
.lp-demo-list{margin:28px 0 0;padding:0;list-style:none;display:grid;gap:10px;font:600 16px Archivo,sans-serif}
.lp-demo-list li{display:flex;gap:10px;align-items:baseline}
.lp-demo-list li::before{content:"";flex:0 0 10px;height:10px;background:var(--go);border:1px solid var(--ink-1);transform:translateY(1px)}
.lp-go-wa{gap:10px;margin-top:32px}
.lp-form{display:grid;gap:14px;padding:28px;border:1px solid var(--ink-1);border-radius:6px;box-shadow:var(--shadow);background:var(--paper);font-family:Archivo,sans-serif}
.lp-form-k{margin:0;font:700 12px var(--mono);letter-spacing:.14em;color:var(--blueprint)}
.lp-form label{display:grid;gap:6px;font:600 14px Archivo,sans-serif;color:var(--ink-1)}
.lp-form input,.lp-form select{width:100%;min-height:48px;padding:0 14px;border:1px solid var(--ink-2);border-radius:4px;background:#fff;color:var(--ink-1);font:500 16px Archivo,sans-serif;box-sizing:border-box}
.lp-form input:focus,.lp-form select:focus{outline:3px solid var(--signal);outline-offset:1px;border-color:var(--ink-1)}
.lp-form .lp-go{justify-content:center;width:100%;cursor:pointer}
.lp-form .lp-go[disabled]{opacity:.6;cursor:default;transform:none;box-shadow:none}
.lp-hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.lp-form-error{margin:0;padding:10px 12px;border-left:4px solid var(--safety);background:#FF5A1F14;font-size:14px;color:var(--ink-1)}
.lp-form-note,.lp-form-alt{margin:0;font-size:13px;line-height:1.5;color:var(--ink-2)}
.lp-form-note a{color:var(--ink-1)}
.lp-form-link{border:0;background:none;padding:0;font:700 13px Archivo,sans-serif;color:var(--ink-1);text-decoration:underline;cursor:pointer}
.lp-form-done{margin:0;font:800 28px/1.1 Archivo,sans-serif;font-stretch:115%;letter-spacing:-.02em}
.lp-foot-bar p a{color:var(--ink-1)}
@media(max-width:899px){
 .lp-demo{grid-template-columns:1fr;gap:36px}
 .lp-form{padding:20px}
}
/* The nav button is a flex box, which drops the space at the end of the span: keep it as a margin. */
.lp-wide{margin-right:.28em}
@media(max-width:520px){.lp-wide{display:none}.lp-nav .lp-brand{font-size:16px;gap:7px}.lp-nav .lp-brand img{width:26px;height:26px}}
/* Pre-rendered landing in index.html: hidden for a visitor who already has a session (boot.js) until the app takes over. */
.has-session .lp-pre{display:none}
