@import url('./vendor/leaflet.css');
:root{--paper:#f3f0e7;--ink:#213a32;--muted:#667369;--line:#c9cfc0;--accent:#c64f2b;--soft:#e5e8da;--white:#fffef8;--shadow:0 18px 60px #20372b15;font-family:Georgia,'Times New Roman',serif;color:var(--ink);background:var(--paper)}*{box-sizing:border-box}body{margin:0}a{color:inherit;text-underline-offset:4px}button,input,select,textarea{font:inherit}button,a,input,select,textarea{touch-action:manipulation}button{cursor:pointer;border:1px solid var(--ink);padding:13px 19px;background:var(--ink);color:var(--white);border-radius:2px}button:hover{filter:brightness(1.14)}button:disabled{opacity:.48;cursor:wait}button.secondary{background:transparent;color:var(--ink)}button.accent{background:var(--accent);border-color:var(--accent)}input,select,textarea{padding:12px;background:var(--white);color:var(--ink);border:1px solid var(--line);border-radius:2px;width:100%}input[type=checkbox],input[type=radio]{width:auto;accent-color:var(--accent)}label{display:grid;gap:7px;font-size:15px}label.check{display:flex;gap:10px;align-items:baseline;font-size:14px;line-height:1.5}fieldset{border:0;padding:0;margin:0}legend{margin-bottom:10px}small,.note{font-size:13px;color:var(--muted);line-height:1.6}.eyebrow,.mono{font:11px 'Courier New',monospace;letter-spacing:.13em;text-transform:uppercase}.eyebrow{color:var(--accent);margin:0 0 16px}h1,h2,h3,p{margin-top:0}h1{font-size:clamp(45px,6vw,88px);line-height:.98;letter-spacing:-.045em;font-weight:400}h2{font-size:clamp(30px,4vw,49px);font-weight:400;letter-spacing:-.025em}h3{font-size:24px;font-weight:400}p{line-height:1.55}.brand{font-size:27px;font-weight:bold;text-decoration:none;letter-spacing:-1px}.brand i{display:inline-block;width:18px;height:22px;border:2px solid var(--accent);transform:skewY(-25deg);margin-right:10px}.nav{height:86px;display:flex;justify-content:space-between;align-items:center;padding:0 5vw;border-bottom:1px solid var(--line)}.nav nav{display:flex;align-items:center;gap:25px;font-size:14px}.nav .tag{font:10px monospace;background:var(--soft);padding:7px 9px}.wrap{max-width:1440px;margin:auto;padding:65px 5vw}.hero{display:grid;grid-template-columns:1.03fr 1fr;gap:5vw;align-items:center;padding-top:65px;padding-bottom:65px}.hero p.lead{font-size:20px;max-width:490px}.hero-visual{height:440px;position:relative;border:1px solid var(--line);background:var(--soft);overflow:hidden}.hero-visual iframe{width:100%;height:100%;border:0}.caption{position:absolute;bottom:0;left:0;right:0;padding:13px 18px;background:#f3f0e7e8;display:flex;justify-content:space-between;gap:10px;font:10px monospace}.actions{display:flex;gap:12px;align-items:center;flex-wrap:wrap}.actions a.button{padding:14px 20px;text-decoration:none;background:var(--ink);color:var(--white)}.rule{border-top:1px solid var(--line);padding-top:55px}.section-head{display:flex;justify-content:space-between;align-items:end;gap:30px;margin-bottom:25px}.section-head p{max-width:420px;color:var(--muted)}.tier-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.tier{border:1px solid var(--line);background:var(--white);cursor:pointer;text-align:left;color:var(--ink);padding:0;overflow:hidden;position:relative}.tier.active{outline:2px solid var(--accent);outline-offset:3px}.tier iframe{width:100%;height:190px;border:0;pointer-events:none}.tier-copy{padding:18px}.tier-copy h3{margin:8px 0}.tier-copy p{font-size:13px;min-height:42px}.tier .price{float:right;font-size:23px}.tier small{font:10px monospace}.order-layout{display:grid;grid-template-columns:1.1fr 1fr;gap:55px}.map{height:360px;border:1px solid var(--line);z-index:1}.fields{display:grid;gap:22px}.row{display:grid;grid-template-columns:1fr 1fr;gap:15px}.formats{display:flex;gap:15px;flex-wrap:wrap}.quote{border-block:1px solid var(--line);padding:22px 0;display:flex;align-items:center;justify-content:space-between}.quote strong{font-size:42px;font-weight:400}.map-note{background:var(--soft);padding:15px;font-size:13px;line-height:1.6}.status{font-size:14px;line-height:1.6;min-height:23px;color:var(--accent)}.plans{display:grid;grid-template-columns:repeat(4,1fr);border:1px solid var(--line)}.plan{padding:24px;border-right:1px solid var(--line)}.plan:last-child{border:0}.plan p{font-size:14px}.plan .price{font-size:35px}.foot{padding:32px 5vw;border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:30px;font-size:12px;color:var(--muted)}dialog{border:1px solid var(--line);background:var(--paper);color:var(--ink);padding:30px;width:min(620px,94vw);max-height:90vh;overflow:auto;box-shadow:var(--shadow)}dialog::backdrop{background:#122b23bb}dialog .close{float:right;padding:5px 10px;margin-bottom:15px}.dropzone{border:1px dashed var(--muted);padding:28px;text-align:center;background:var(--soft);display:block}.dropzone input{margin-top:14px}.previews{display:flex;gap:10px;margin:16px 0;overflow:auto}.previews img{height:95px;max-width:130px;object-fit:cover}.hidden,[hidden]{display:none!important}#cropCanvas{max-width:100%;touch-action:none;cursor:crosshair}.account-list{display:grid;gap:10px}.account-job{padding:22px;border:1px solid var(--line);display:flex;gap:20px;justify-content:space-between}.viewer-body{overflow:hidden}.viewer-nav{height:65px;background:var(--paper);position:relative;z-index:3}.viewer-stage{height:calc(100dvh - 65px);position:relative}.scene{position:absolute;inset:0;background:#e1e6db}.scene canvas{display:block;width:100%;height:100%}.viewer-panel{position:absolute;left:22px;top:22px;width:290px;padding:22px;background:#f3f0e7f5;border:1px solid var(--line);box-shadow:var(--shadow);z-index:2;max-height:calc(100% - 44px);overflow:auto}.viewer-panel h2{font-size:29px;margin-bottom:12px}.viewer-panel button,.viewer-panel select{width:100%;margin-top:9px}.viewer-panel .check{margin:9px 0}.viewer-tools{position:absolute;right:22px;bottom:24px;display:flex;gap:8px;z-index:2}.viewer-attribution{position:absolute;right:22px;top:18px;font:10px monospace;padding:7px;background:#f3f0e7e8;z-index:2}.progress{height:4px;background:var(--line);margin:13px 0}.progress span{display:block;height:100%;width:0;background:var(--accent);transition:width .6s}.forge-overlay{position:absolute;inset:0;display:grid;place-content:center;text-align:center;background:#e8ece2e8;z-index:4}.forge-overlay video{width:220px;height:220px;object-fit:cover;border-radius:50%;mix-blend-mode:multiply;margin:auto}.forge-overlay h2{margin:20px 0 10px}.gaps-list{display:grid;gap:12px}.gap{padding:15px;background:var(--soft)}.gap.closed{border-left:3px solid #63854b}.gap p{margin-bottom:8px;font-size:14px}.sample-mode .viewer-panel,.sample-mode .viewer-tools,.sample-mode .viewer-nav{display:none}.sample-mode .viewer-stage{height:100dvh}.sample-mode .viewer-attribution{top:auto;bottom:7px;right:7px;font-size:8px}.sample-mode .forge-overlay{display:none}.pill{display:inline-block;padding:6px 9px;background:var(--soft);font:10px monospace}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}:focus-visible{outline:3px solid var(--accent);outline-offset:3px}@media(max-width:900px){.hero,.order-layout{grid-template-columns:1fr}.hero{gap:35px}.hero-visual{height:350px}.tier-grid,.plans{grid-template-columns:1fr 1fr}.plan{border-bottom:1px solid var(--line)}.nav nav{gap:14px}.nav .tag{display:none}.section-head{display:block}.wrap{padding:45px 5vw}.viewer-panel{width:245px;left:12px;top:12px;padding:16px}.viewer-attribution{top:auto;bottom:6px;right:8px}.viewer-tools{right:12px;bottom:25px}}@media(max-width:550px){.nav{height:70px}.brand{font-size:23px}.nav nav a:not(:last-child){display:none}.tier-grid{gap:9px}.tier iframe{height:130px}.tier-copy{padding:12px}.tier-copy h3{font-size:21px}.tier .price{font-size:21px}.row{grid-template-columns:1fr}.plans{grid-template-columns:1fr}.plan{border-right:0}.foot{display:block}.viewer-panel{width:205px;max-height:55vh}.viewer-panel h2{font-size:23px}.viewer-panel button{padding:9px}.viewer-tools button{padding:10px;font-size:12px}.viewer-nav{height:60px}.viewer-stage{height:calc(100dvh - 60px)}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important;animation:none!important}}

.sample-banner{padding:12px 5vw;background:#213a32;color:#fffef8;font:12px/1.6 monospace}.sample-banner a{margin-left:15px}.viewer-stage{height:calc(100dvh - 109px)}.sample-mode .sample-banner{display:none}.sample-mode .viewer-stage{height:100dvh}.sample-banner strong{letter-spacing:.08em}@media(max-width:550px){.viewer-stage{height:calc(100dvh - 132px)}.viewer-body .sample-banner{font-size:10px}.account-job{flex-wrap:wrap}}