/* Landing page for visitors without an account (landing.js). The building reuses .tower/.building from styles.css. */
.landing-mode{margin:0;background:#fff;color:var(--ink);font-family:Geist,'DM Sans',ui-sans-serif,system-ui,sans-serif;font-size:16px;line-height:1.5;-webkit-font-smoothing:antialiased}
.landing-mode h1,.landing-mode h2,.landing-mode h3{font-family:Geist,ui-sans-serif,system-ui,sans-serif;letter-spacing:-.02em;text-wrap:balance}
.lp-wrap{max-width:1160px;margin:0 auto;padding:0 24px}
.lp-eyebrow{margin:0 0 12px;font:600 12px 'Geist Mono',ui-monospace,monospace;letter-spacing:.12em;color:var(--green)}
.lp-sub{max-width:640px;margin:14px 0 0;font-size:18px;color:#4d5d59;text-wrap:pretty}
.lp-section{padding:104px 0}
.lp-section h2,.lp-progress h2,.lp-cta h2{margin:0;font-size:clamp(30px,4.2vw,46px);line-height:1.08;font-weight:700}
.lp-split{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);gap:56px;align-items:center}

/* Navigation and buttons */
.lp-nav{position:sticky;top:0;z-index:20;background:#ffffffe6;backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}
.lp-nav .lp-wrap{display:flex;align-items:center;justify-content:space-between;height:64px}
.lp-nav nav{display:flex;align-items:center;gap:8px}
.lp-brand{display:inline-flex;align-items:center;gap:9px;font-size:20px;font-weight:800;letter-spacing:-.03em;white-space:nowrap;color:#355e4c;text-decoration:none}
.lp-brand img{width:30px;height:30px}
.lp-btn{display:inline-flex;align-items:center;justify-content:center;min-height:50px;padding:0 24px;border-radius:14px;border:2px solid transparent;font:600 16px Geist,sans-serif;text-decoration:none;transition:transform .15s,background .15s,box-shadow .15s}
.lp-btn:hover{transform:translateY(-1px)}
.lp-btn-sm{min-height:40px;padding:0 16px;font-size:14px;border-radius:11px}
.lp-btn-primary{background:var(--green);color:#fff;box-shadow:0 8px 22px #21766133}
.lp-btn-primary:hover{background:#1a6250}
.lp-btn-ghost{background:#fff;color:var(--ink);border-color:var(--line)}
.lp-btn-light{background:#fff;color:#14513f}
.lp-btn-outline{background:transparent;color:#fff;border-color:#ffffff8c}
.lp-link{border:0;background:none;padding:10px 12px;font:600 14px Geist,sans-serif;color:var(--ink);text-decoration:none;border-radius:10px}
.lp-link:hover{background:#f1f5f2}
.lp-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:32px}

/* Hero (landing-hero.js): job-site paper, banded headline, and the 3D building under construction (landing-building.js).
   Same palette as landing-sections.css: ink, blueprint blue, signal yellow; green only for "done". */
.lp-hero,.lh-modal{--lh-page:#F3F4F6;--lh-hatch:rgba(18,20,23,.055);--lh-paper:#fff;--lh-ink:#121417;--lh-soft:#3b3f47;--lh-muted:#6b707a;--lh-line:#E4E6EB;--lh-line-strong:#cfd3da;--lh-bracket:#b4bac4;--lh-band:#F1F2F4;--lh-blue:#2B4BFF;--lh-go:#00B37E;--lh-mono:'JetBrains Mono',ui-monospace,monospace;--lh-ease:cubic-bezier(.2,.8,.2,1)}
.lp-hero{position:relative;padding:28px clamp(10px,2.4vw,28px);background-color:var(--lh-page);background-image:repeating-linear-gradient(135deg,var(--lh-hatch) 0 1px,transparent 1px 10px);color:var(--lh-ink);font-family:Archivo,Geist,ui-sans-serif,system-ui,sans-serif}
.lh-shell{max-width:1240px;margin:0 auto;container-type:inline-size}
.lh-sec{display:grid;grid-template-columns:minmax(0,1fr);min-height:min(700px,calc(100svh - 120px));background:var(--lh-paper);border:1px solid var(--lh-line)}
@container (min-width:860px){.lh-sec{grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr)}}
.lh-copy{display:flex;flex-direction:column;justify-content:center;padding:clamp(40px,7cqw,84px) 0 clamp(36px,6cqw,64px)}
.lh-band{padding:clamp(18px,2.6cqw,28px) clamp(18px,3.4cqw,44px);background:linear-gradient(90deg,var(--lh-band) 0%,var(--lh-band) 55%,transparent 100%);border-top:1px solid var(--lh-line);border-bottom:1px solid var(--lh-line)}
.lp-hero h1{margin:0;font-family:Archivo,Geist,sans-serif;font-size:clamp(34px,4.5cqw,58px);line-height:1.04;letter-spacing:-.035em;font-weight:500}
.lh-top{display:block;animation:lh-blur-in 1s cubic-bezier(.2,.7,.2,1) both}
.lh-acc{display:block;min-height:1.1em;font-stretch:62%;font-weight:600;letter-spacing:-.015em;color:var(--lh-blue)}
.lh-word{display:inline-block;animation:lh-blur-in .9s cubic-bezier(.2,.7,.2,1) both}
.lh-word.is-out{animation:lh-blur-out .45s ease both}
.lh-body{padding:26px clamp(18px,3.4cqw,44px) 0}
.lh-lede{margin:0;max-width:46ch;font-size:clamp(15px,1.55cqw,17px);line-height:1.6;color:var(--lh-soft);text-wrap:pretty;animation:lh-rise .9s .15s cubic-bezier(.2,.7,.2,1) both}
.lh-ctas{display:flex;flex-wrap:wrap;gap:18px;margin-top:30px;animation:lh-rise .9s .28s cubic-bezier(.2,.7,.2,1) both}
.lh-btn{text-decoration:none;display:inline-flex;align-items:center;justify-content:center;gap:9px;min-height:46px;padding:0 20px;border:0;border-radius:2px;font:600 15px Archivo,Geist,sans-serif;line-height:1;white-space:nowrap;cursor:pointer;transition:background-color .2s,color .2s,box-shadow .25s,border-color .2s,transform .2s var(--lh-ease)}
.lh-btn-sm{min-height:36px;padding:0 14px;font-size:13px}
.lh-btn-dark{background:var(--lh-ink);color:#fff;box-shadow:0 0 0 3px var(--lh-paper),0 0 0 4px var(--lh-line-strong),0 6px 16px -8px #0008}
.lh-btn-dark:hover{box-shadow:0 0 0 3px var(--lh-paper),0 0 0 4px var(--lh-ink),0 10px 22px -10px #0009;transform:translateY(-1px)}
.lh-btn-ghost{background:#fff;color:var(--lh-ink);border:1px solid var(--lh-line-strong)}
.lh-btn-ghost:hover{border-color:var(--lh-ink)}
.lh-btn:active{transform:scale(.98)}
.lh-btn[disabled]{opacity:.5;cursor:default}
.lh-arr{transition:transform .25s var(--lh-ease)}.lh-btn:hover .lh-arr{transform:translateX(3px)}
.lh-frame{position:relative;display:inline-flex}
.lh-c{position:absolute;width:7px;height:7px;border:0 solid var(--lh-bracket);pointer-events:none;transition:border-color .3s,transform .35s var(--lh-ease)}
.lh-c-tl{top:-4px;left:-4px;border-top-width:1.5px;border-left-width:1.5px}.lh-c-tr{top:-4px;right:-4px;border-top-width:1.5px;border-right-width:1.5px}
.lh-c-bl{bottom:-4px;left:-4px;border-bottom-width:1.5px;border-left-width:1.5px}.lh-c-br{bottom:-4px;right:-4px;border-bottom-width:1.5px;border-right-width:1.5px}
.lh-frame:hover>.lh-c{border-color:var(--lh-blue)}
.lh-frame:hover>.lh-c-tl{transform:translate(-3px,-3px)}.lh-frame:hover>.lh-c-tr{transform:translate(3px,-3px)}.lh-frame:hover>.lh-c-bl{transform:translate(-3px,3px)}.lh-frame:hover>.lh-c-br{transform:translate(3px,3px)}
.lh-proof{display:flex;align-items:center;flex-wrap:wrap;gap:10px 12px;margin-top:34px;font-size:13px;color:var(--lh-muted);animation:lh-rise .9s .4s cubic-bezier(.2,.7,.2,1) both}
.lh-teams{display:flex}
.lh-teams i{width:22px;height:22px;margin-left:-6px;border:2px solid #fff;border-radius:6px;background:var(--c)}
.lh-teams i:first-child{margin-left:0}
.lh-proof b{color:var(--lh-ink);font-weight:600}
.lh-login{border:0;background:none;padding:0;min-height:0;font:600 13px Archivo,Geist,sans-serif;color:var(--lh-ink);text-decoration:underline;text-underline-offset:3px;cursor:pointer}

/* The 3D panel: blueprint grid behind the building, HUD in the corners, stage ruler at the bottom */
.lh-art{position:relative;min-height:460px;border-top:1px solid var(--lh-line);overflow:hidden;background:radial-gradient(60% 55% at 50% 45%,#fff,#EEF0F2)}
@container (min-width:860px){.lh-art{border-top:0;border-left:1px solid var(--lh-line);min-height:0}}
.lh-art::before{content:"";position:absolute;inset:0;pointer-events:none;background-image:linear-gradient(#2B4BFF12 1px,transparent 1px),linear-gradient(90deg,#2B4BFF12 1px,transparent 1px);background-size:32px 32px;-webkit-mask-image:radial-gradient(70% 60% at 50% 40%,#000,transparent);mask-image:radial-gradient(70% 60% at 50% 40%,#000,transparent)}
.lh-canvas{position:absolute;inset:0}
.lh-canvas canvas{display:block;width:100%;height:100%;outline:none;cursor:grab;touch-action:pan-y;opacity:0;transition:opacity 1.2s ease}
.lh-canvas canvas:active{cursor:grabbing}
.lh-canvas canvas:focus-visible{box-shadow:inset 0 0 0 2px var(--lh-blue)}
.lh-canvas.is-ready canvas{opacity:1}
.lh-hud{position:absolute;left:16px;right:16px;display:flex;justify-content:space-between;gap:12px;font:500 11px var(--lh-mono);letter-spacing:.04em;color:var(--lh-muted);pointer-events:none;font-variant-numeric:tabular-nums}
.lh-hud-top{top:14px}.lh-hud-bottom{bottom:14px}
.lh-read{position:absolute;left:16px;top:40px;pointer-events:none}
.lh-read-n{display:block;font:700 11px var(--lh-mono);letter-spacing:.12em;color:var(--lh-blue)}
.lh-read b{display:block;margin-top:2px;font-size:24px;font-weight:700;letter-spacing:-.02em}
.lh-stages{position:absolute;left:16px;right:16px;bottom:40px;display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:4px}
.lh-stage{position:relative;display:flex;align-items:baseline;gap:6px;min-height:0;padding:12px 0 4px;border:0;background:none;font:600 12px Archivo,Geist,sans-serif;color:var(--lh-muted);text-align:left;cursor:pointer;white-space:nowrap;overflow:hidden}
.lh-stage::before,.lh-stage i{content:"";position:absolute;top:0;left:0;height:3px}
.lh-stage::before{right:0;background:var(--lh-line)}
.lh-stage i{width:calc(var(--p,0)*100%);background:var(--lh-ink)}
.lh-stage.is-on{color:var(--lh-ink)}.lh-stage.is-on i{background:var(--lh-blue)}
.lh-stage:hover{color:var(--lh-ink)}
.lh-stage-n{font:500 10px var(--lh-mono);color:var(--lh-muted)}
.lh-stage-l{overflow:hidden;text-overflow:ellipsis}

/* "Ver um pedido andar": request 0427 running through its steps */
.lh-modal{position:fixed;inset:0;z-index:100;display:grid;place-items:center;padding:16px;background:#12141766;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);font-family:Archivo,Geist,sans-serif;animation:lh-fade .25s ease both}
.lh-dialog{width:min(560px,100%);max-height:calc(100vh - 32px);overflow:auto;background:var(--lh-paper);color:var(--lh-ink);border:1px solid var(--lh-line-strong);box-shadow:0 30px 80px -20px #12141773;animation:lh-pop .4s var(--lh-ease) both}
.lh-dialog-head{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;border-bottom:1px solid var(--lh-line)}
.lh-dialog-head span{display:inline-flex;align-items:center;gap:8px;font:500 11.5px var(--lh-mono);color:var(--lh-muted)}
.lh-dialog-head em{font-style:normal}
.lh-icon-btn{display:inline-grid;place-items:center;width:34px;height:34px;min-height:0;padding:0;border:1px solid transparent;background:none;color:var(--lh-muted);cursor:pointer}
.lh-icon-btn:hover{color:var(--lh-ink);border-color:var(--lh-line)}
.lh-steps{display:grid;gap:4px;margin:0;padding:16px;list-style:none}
.lh-step{display:grid;grid-template-columns:28px 1fr auto;align-items:center;gap:12px;padding:10px 12px;border:1px solid transparent;opacity:.45;transition:background-color .3s,border-color .3s,opacity .3s}
.lh-step[data-state="run"]{opacity:1;background:var(--lh-band);border-color:var(--lh-line)}
.lh-step[data-state="done"]{opacity:1}
.lh-step b{display:block;font-size:14px;font-weight:600}
.lh-step small{font-size:12.5px;color:var(--lh-muted)}
.lh-step-ix{display:grid;place-items:center;width:26px;height:26px;border:1px solid var(--lh-line-strong);font:500 11px var(--lh-mono)}
.lh-step[data-state="done"] .lh-step-ix{background:var(--lh-go);border-color:var(--lh-go);color:var(--lh-ink)}
.lh-step-t{font:500 11px var(--lh-mono);color:var(--lh-muted)}
.lh-spin{width:14px;height:14px;border-radius:99px;border:2px solid var(--lh-blue);border-right-color:transparent;animation:lh-spin .7s linear infinite}
.lh-live{width:7px;height:7px;border-radius:99px;background:var(--lh-go);animation:lh-ping 2.4s ease-out infinite}
.lh-bar{height:2px;margin:0 16px;background:var(--lh-line)}
.lh-bar i{display:block;width:0;height:2px;background:var(--lh-ink)}
.lh-dialog-foot{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 16px;font-size:13px;color:var(--lh-muted)}
@keyframes lh-rise{from{opacity:0;transform:translateY(14px)}}
@keyframes lh-fade{from{opacity:0}}
@keyframes lh-blur-in{from{opacity:0;filter:blur(8px);transform:translateY(10px)}}
@keyframes lh-blur-out{to{opacity:0;filter:blur(8px);transform:translateY(-8px)}}
@keyframes lh-pop{from{opacity:0;transform:translateY(14px) scale(.97)}}
@keyframes lh-spin{to{transform:rotate(360deg)}}
@keyframes lh-ping{0%{box-shadow:0 0 0 0 #00B37E8c}80%,100%{box-shadow:0 0 0 7px #00B37E00}}

@media(max-width:600px){
 .lp-wrap{padding:0 16px}
 .lp-nav .lp-link{padding:10px 8px}
 .lp-footer .lp-wrap{grid-template-columns:1fr}
 .lp-hero{padding:12px 10px}
 .lh-ctas{gap:14px}
 .lh-ctas>*{flex:1 1 auto}.lh-frame .lh-btn{width:100%}
 .lh-art{min-height:420px}
 .lh-stage-l{display:none}
 .lh-stage{justify-content:center}
 .lh-hud-bottom span:first-child{display:none}
}
@media(prefers-reduced-motion:reduce){
 .lp-btn{transition:none}
 .lp-hero *,.lp-hero *::before,.lp-hero *::after,.lh-modal *{animation:none!important;transition:none!important}
}
