:root { --ink: #10271d; --forest: #124731; --forest-2: #1e6547; --mint: #dcebdd; --cream: #f5f1e7; --line: #d7e0d7; --muted: #637169; --amber: #aa8500; --orange: #c94b1d; --white: #fff; }
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body.public-body, body.demo-body { margin: 0; overflow-x: hidden; background: #fbfcf9; color: var(--ink); font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; }
.public-body a, .demo-body a { color: inherit; }
.public-header { position: sticky; z-index: 50; top: 0; display: flex; align-items: center; justify-content: space-between; min-height: 76px; padding: 12px max(24px, calc((100vw - 1220px) / 2)); border-bottom: 1px solid rgb(255 255 255 / 15%); background: rgb(18 71 49 / 96%); color: white; backdrop-filter: blur(12px); }
.public-brand { display: inline-flex; align-items: center; gap: 10px; text-decoration: none; }
.public-brand-logo { display: block; width: 310px; height: 78px; object-fit: contain; object-position: left center; }
.public-brand-mark { display: grid; width: 42px; height: 42px; place-items: center; border: 1px solid rgb(255 255 255 / 45%); border-radius: 12px; background: rgb(255 255 255 / 10%); font-size: 13px; font-weight: 900; letter-spacing: .08em; }
.public-brand > span:last-child { display: grid; }
.public-brand strong { font-size: 19px; line-height: 1.1; }
.public-brand small { margin-top: 3px; color: #c8dacd; font-size: 9px; letter-spacing: .09em; text-transform: uppercase; }
.public-header nav { display: flex; align-items: center; gap: 24px; }
.public-header nav a { font-size: 14px; font-weight: 700; text-decoration: none; }
.public-header nav a:hover { text-decoration: underline; text-underline-offset: 5px; }
.header-login { border: 1px solid rgb(255 255 255 / 50%); border-radius: 8px; padding: 10px 15px; }
.hero-section, .problem-section, .outcome-strip, .feature-section, .workflow-section, .device-section, .demo-section { width: min(1220px, calc(100% - 48px)); margin-inline: auto; }
.hero-section { display: grid; grid-template-columns: .9fr 1.1fr; align-items: center; gap: clamp(30px, 5vw, 72px); min-height: 690px; padding: 72px 0 82px; }
.hero-section > * { min-width: 0; }
.public-eyebrow { margin: 0 0 12px; color: var(--forest-2); font-size: 12px; font-weight: 900; letter-spacing: .13em; text-transform: uppercase; }
.hero-copy h1 { max-width: 700px; margin: 0; font-family: Georgia, "Times New Roman", serif; font-size: clamp(42px, 5.2vw, 74px); font-weight: 500; line-height: 1.03; letter-spacing: -.035em; }
.hero-lead { max-width: 650px; margin: 25px 0; color: #46584e; font-size: clamp(17px, 2vw, 21px); line-height: 1.6; }
.hero-actions { display: flex; flex-wrap: wrap; gap: 10px; }
.public-primary, .public-secondary { display: inline-flex; min-height: 48px; align-items: center; justify-content: center; border-radius: 8px; padding: 0 20px; font-weight: 800; text-decoration: none; cursor: pointer; }
.public-primary { border: 1px solid var(--forest); background: var(--forest); color: white !important; }
.public-primary:hover { background: #0c3927; }
.public-secondary { border: 1px solid #a9b9ad; background: transparent; color: var(--forest) !important; }
.hero-proof { display: grid; gap: 7px; margin: 24px 0 0; padding: 0; color: #4d5d54; font-size: 13px; list-style: none; }
.hero-proof li::before { margin-right: 8px; color: var(--forest-2); content: "✓"; font-weight: 900; }
.hero-product { overflow: hidden; border: 1px solid #cad8cb; border-radius: 18px; background: white; box-shadow: 0 24px 65px rgb(18 71 49 / 17%); transform: none; }
.mock-toolbar { display: flex; justify-content: space-between; padding: 14px 18px; background: var(--forest); color: white; font-size: 11px; font-weight: 800; }
.mock-app { display: grid; grid-template-columns: 145px minmax(0, 1fr); min-height: 430px; }
.mock-app aside { display: grid; align-content: start; gap: 3px; padding: 18px 15px; border-right: 1px solid var(--line); }
.mock-app aside strong { margin-top: 14px; color: var(--muted); font-size: 9px; text-transform: uppercase; }
.mock-app aside b { color: var(--forest-2); font-size: 27px; }.mock-app aside b.amber { color: var(--amber); }.mock-app aside b.orange { color: var(--orange); }.mock-app aside small { color: var(--muted); font-size: 9px; }
.mock-map { display: block; width: 100%; height: 100%; }
.problem-section { display: grid; grid-template-columns: .8fr 1.2fr; gap: 70px; padding: 90px 0; border-top: 1px solid var(--line); }
.outcome-strip { display: grid; grid-template-columns: repeat(3, 1fr); border-block: 1px solid var(--line); }
.outcome-strip article { display: grid; gap: 8px; min-height: 142px; padding: 30px clamp(18px, 3vw, 38px); border-right: 1px solid var(--line); }
.outcome-strip article:first-child { padding-left: 0; }
.outcome-strip article:last-child { border-right: 0; padding-right: 0; }
.outcome-strip strong { color: var(--forest); font-size: 19px; }
.outcome-strip span { color: #56655c; line-height: 1.55; }
.problem-section h2, .feature-section h2, .workflow-section h2, .device-section h2, .demo-section h2 { margin: 0; font-family: Georgia, "Times New Roman", serif; font-size: clamp(32px, 4vw, 50px); font-weight: 500; line-height: 1.14; }
.problem-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.problem-grid p { margin: 0; border-left: 3px solid #d8b55d; padding: 4px 0 4px 17px; color: #435249; font-size: 16px; line-height: 1.55; }
.feature-section { padding: 100px 0; }
.feature-section > h2 { max-width: 820px; }
.feature-story { display: grid; grid-template-columns: minmax(260px, .72fr) minmax(0, 1.28fr); gap: clamp(30px, 5vw, 70px); align-items: center; margin-top: 70px; }
.feature-story.owner-story { grid-template-columns: minmax(0, 1.28fr) minmax(260px, .72fr); }
.owner-story .story-copy { order: 2; }
.story-kicker { margin: 0 0 9px; color: var(--forest-2); font-size: 11px; font-weight: 900; letter-spacing: .11em; text-transform: uppercase; }
.story-copy h3 { margin: 0; color: var(--forest); font-family: Georgia, "Times New Roman", serif; font-size: clamp(28px, 3.3vw, 43px); font-weight: 500; line-height: 1.12; }
.story-copy > p:not(.story-kicker), .story-copy li { color: #4c5c53; font-size: 16px; line-height: 1.65; }
.story-copy ul { display: grid; gap: 6px; padding-left: 20px; }
.story-actions { display: flex; flex-wrap: wrap; gap: 7px; margin-top: 20px; }.story-actions span { border: 1px solid #b5c4b8; border-radius: 6px; padding: 8px 10px; color: var(--forest); font-size: 11px; font-weight: 800; }
.product-shot { overflow: hidden; border: 1px solid #c7d5c9; border-radius: 15px; background: white; box-shadow: 0 22px 48px rgb(18 71 49 / 14%); }
.actual-demo-image { display: block; width: 100%; height: auto; }
.hero-product .actual-demo-image { border-radius: inherit; }
.actual-device-stage { display: grid; grid-template-columns: minmax(0, 1fr) 148px; gap: 18px; align-items: end; }
.actual-device-stage figure { margin: 0; }
.actual-device-stage img { display: block; width: 100%; height: auto; object-fit: contain; border: 1px solid #9cac9f; background: white; box-shadow: 0 22px 45px rgb(9 46 31 / 18%); }
.actual-device-stage figcaption { margin-top: 10px; color: var(--forest); font-size: 12px; font-weight: 900; letter-spacing: .06em; text-align: center; text-transform: uppercase; }
.actual-desktop { min-width: 0; }
.actual-desktop img { border-radius: 13px; }
.actual-phone { min-width: 0; }
.actual-phone img { border: 6px solid #173f30; border-radius: 24px; }
.shot-topbar { display: flex; justify-content: space-between; gap: 14px; padding: 13px 16px; background: var(--forest); color: white; font-size: 10px; }.shot-topbar span { color: #c4d8ca; }
.shot-workspace { position: relative; display: grid; grid-template-columns: 160px minmax(0, 1fr); min-height: 390px; }
.shot-summary { z-index: 1; display: grid; align-content: start; border-right: 1px solid var(--line); background: #fbfcfa; }.shot-summary div { display: grid; grid-template-columns: 1fr auto; gap: 3px; padding: 15px 12px; border-bottom: 1px solid var(--line); }.shot-summary span { grid-column: 1 / -1; color: #5b6b61; font-size: 8px; font-weight: 900; text-transform: uppercase; }.shot-summary strong { color: var(--forest-2); font-size: 24px; }.shot-summary small { align-self: end; color: var(--muted); font-size: 9px; }.shot-summary .attention { background: #fffbe3; }.shot-summary .attention strong { color: #8a7300; }.shot-summary .expired { background: #fff0ed; }.shot-summary .expired strong { color: var(--orange); }
.shot-map { display: block; width: 100%; height: 100%; min-height: 390px; }.shot-legend { position: absolute; right: 12px; bottom: 12px; display: flex; flex-wrap: wrap; gap: 8px; border-radius: 6px; padding: 8px; background: rgb(255 255 255 / 92%); color: #506057; font-size: 8px; box-shadow: 0 2px 9px rgb(0 0 0 / 12%); }.shot-legend i { display: inline-block; width: 8px; height: 8px; margin-right: 3px; border-radius: 2px; background: #238b57; }.shot-legend span:last-child i { background: #ffe000; }
.owner-shot-head { display: flex; align-items: end; justify-content: space-between; gap: 15px; padding: 15px 17px; border-bottom: 1px solid var(--line); }.owner-shot-head div { display: grid; gap: 2px; }.owner-shot-head small { color: var(--muted); font-size: 8px; font-weight: 900; letter-spacing: .1em; }.owner-shot-head strong { color: var(--forest); font-size: 19px; }.owner-shot-head > span { color: var(--muted); font-size: 10px; font-weight: 800; }
.owner-shot-main { display: grid; grid-template-columns: minmax(0, 1fr) 190px; min-height: 310px; }.owner-shot-main > svg { display: block; width: 100%; height: 100%; }.owner-shot-list { display: grid; align-content: start; padding: 10px; border-left: 1px solid var(--line); }.owner-shot-list div { display: grid; grid-template-columns: 1fr auto; gap: 5px; padding: 12px 5px; border-bottom: 1px solid var(--line); font-size: 9px; }.owner-shot-list span { color: var(--muted); }.owner-shot-list button { margin-top: 14px; border: 0; border-radius: 6px; padding: 10px; background: var(--forest); color: white; font-size: 9px; font-weight: 800; }
.owner-data-note { display: grid; grid-template-columns: 190px 1fr; gap: 26px; margin-top: 75px; border: 1px solid #ddca83; border-radius: 12px; padding: 24px; background: #fffbed; }.owner-data-note strong { color: #665100; font-family: Georgia, serif; font-size: 22px; }.owner-data-note p { margin: 0; color: #5f5940; line-height: 1.65; }
.supporting-features { display: grid; grid-template-columns: repeat(2, 1fr); gap: 12px; margin-top: 18px; }.supporting-features article { border: 1px solid var(--line); border-radius: 10px; padding: 22px; background: white; }.supporting-features h3 { margin: 0 0 10px; color: var(--forest); font-size: 17px; }.supporting-features p { margin: 0; color: #56655c; line-height: 1.55; }
.workflow-section { display: grid; grid-template-columns: .8fr 1.2fr; gap: 70px; padding: 90px 60px; border-radius: 20px; background: var(--forest); color: white; }
.workflow-section .public-eyebrow { color: #a9cab6; }
.workflow-section ol { display: grid; gap: 22px; margin: 0; padding: 0; list-style: none; }
.workflow-section li { display: grid; grid-template-columns: 42px 1fr; gap: 14px; align-items: start; }
.workflow-section li b { display: grid; width: 38px; height: 38px; place-items: center; border: 1px solid #70947e; border-radius: 50%; }
.workflow-section li span { color: #cbdacf; line-height: 1.55; }.workflow-section li strong { display: block; margin-bottom: 3px; color: white; }
.device-section { display: grid; grid-template-columns: .8fr 1.2fr; gap: 65px; align-items: center; padding: 110px 0; }
.device-section p:not(.public-eyebrow) { color: #536159; font-size: 17px; line-height: 1.65; }
.device-stage { position: relative; min-height: 430px; }
.device { position: absolute; border: 6px solid #263d32; background: white; box-shadow: 0 18px 35px rgb(20 52 38 / 20%); }
.device-label { position: absolute; top: calc(100% + 9px); left: 50%; color: var(--forest); font-size: 10px; font-weight: 900; transform: translateX(-50%); }
.desktop-device { top: 10px; left: 0; width: 390px; height: 255px; border-radius: 9px; }.device-browser { display: flex; align-items: center; gap: 4px; height: 22px; padding: 0 7px; background: #edf1eb; }.device-browser i { width: 5px; height: 5px; border-radius: 50%; background: #91a097; }.device-browser span { margin-left: 6px; color: #5d6b62; font-size: 6px; font-weight: 800; }.device-ui { display: grid; grid-template-columns: 82px 1fr; height: calc(100% - 22px); }.device-ui aside { display: grid; align-content: start; gap: 2px; padding: 8px 6px; border-right: 1px solid var(--line); }.device-ui aside b { margin-top: 5px; color: #516057; font-size: 5px; text-transform: uppercase; }.device-ui aside strong { color: var(--forest-2); font-size: 15px; }.device-ui aside strong.yellow { color: #8b7300; }.device-ui aside small { margin-top: 12px; border-top: 1px solid var(--line); padding-top: 7px; color: var(--forest); font-size: 6px; font-weight: 900; }
.mini-map { position: relative; overflow: hidden; background-color: #dcebd8; background-image: linear-gradient(28deg, transparent 48%, #c8dce5 49%, #c8dce5 53%, transparent 54%), linear-gradient(105deg, transparent 48%, #ead7ae 49%, #ead7ae 52%, transparent 53%); }.mini-map::before { position: absolute; z-index: 0; inset: 0; background-image: linear-gradient(31deg, transparent 48.5%, rgb(95 113 102 / 42%) 49%, rgb(95 113 102 / 42%) 50%, transparent 50.5%), linear-gradient(101deg, transparent 48.5%, rgb(95 113 102 / 42%) 49%, rgb(95 113 102 / 42%) 50%, transparent 50.5%); background-size: 54px 47px, 67px 55px; content: ""; }.parcel { position: absolute; z-index: 1; display: block; width: 36%; height: 32%; border: 1px solid #1f704d; background: rgb(80 148 96 / 72%); clip-path: polygon(9% 20%, 83% 2%, 100% 72%, 47% 100%, 0 70%); }.parcel.p1 { top: 14%; left: 13%; }.parcel.p2 { top: 14%; left: 42%; transform: rotate(4deg); }.parcel.p3 { top: 40%; left: 16%; transform: rotate(-3deg); }.parcel.p4 { top: 39%; left: 45%; transform: rotate(3deg); }.parcel.yellow { border-color: #a08700; background: rgb(255 224 0 / 82%); }.parcel.selected { border: 2px solid #d45c20; background: rgb(239 138 85 / 72%); }.mini-map em { position: absolute; z-index: 3; bottom: 7px; left: 7px; border-radius: 4px; padding: 4px 6px; background: var(--forest); color: white; font-size: 6px; font-style: normal; font-weight: 900; }.map-mode { position: absolute; z-index: 3; top: 7px; right: 7px; border-radius: 4px; padding: 4px 6px; background: rgb(255 255 255 / 92%); color: var(--forest); font-size: 6px; }.locate-control { position: absolute; z-index: 3; top: 7px; right: 7px; display: grid; width: 20px; height: 20px; place-items: center; border-radius: 5px; background: white; color: #2476ba; font-size: 13px; box-shadow: 0 1px 4px rgb(0 0 0 / 18%); }
.satellite-mini-map { background-color: #566c4d; background-image: linear-gradient(28deg, transparent 48%, rgb(167 190 198 / 72%) 49%, rgb(167 190 198 / 72%) 52%, transparent 53%), linear-gradient(103deg, transparent 48%, rgb(202 177 125 / 76%) 49%, rgb(202 177 125 / 76%) 52%, transparent 53%), radial-gradient(ellipse at 20% 24%, #799368 0 15%, transparent 16%), radial-gradient(ellipse at 70% 68%, #3f6548 0 22%, transparent 23%), linear-gradient(135deg, #6e855b, #374f3e 52%, #78835d); }.satellite-mini-map::before { background-image: linear-gradient(31deg, transparent 48.5%, rgb(224 232 225 / 55%) 49%, rgb(224 232 225 / 55%) 50%, transparent 50.5%), linear-gradient(101deg, transparent 48.5%, rgb(224 232 225 / 55%) 49%, rgb(224 232 225 / 55%) 50%, transparent 50.5%); }
.tablet-device { z-index: 2; top: 130px; right: 0; width: 245px; height: 292px; border-radius: 13px; padding: 8px; }.tablet-head { display: flex; justify-content: space-between; gap: 5px; height: 34px; }.tablet-head strong { color: var(--forest); font-size: 9px; }.tablet-head span { color: var(--muted); font-size: 6px; }.tablet-device .mini-map { height: 190px; border-radius: 5px; }.tablet-actions { display: flex; align-items: center; justify-content: space-between; gap: 5px; padding: 9px 2px; font-size: 6px; }.tablet-actions strong { border-radius: 4px; padding: 5px; background: var(--forest); color: white; }.tablet-actions span { color: var(--muted); }
.phone-device { z-index: 3; right: 210px; bottom: 0; width: 125px; height: 252px; border-width: 7px; border-radius: 21px; }.phone-head { display: flex; align-items: center; justify-content: space-between; height: 28px; padding: 0 7px; border-radius: 12px 12px 0 0; background: var(--forest); color: white; font-size: 6px; }.phone-head i { width: 6px; height: 6px; border: 1px solid #b8d0bf; border-radius: 50%; }.phone-device .mini-map { height: 174px; }.location-dot { position: absolute; z-index: 4; top: 46%; left: 48%; width: 12px; height: 12px; border: 3px solid white; border-radius: 50%; background: #2476ba; box-shadow: 0 1px 5px #245; }.phone-nav { display: grid; grid-template-columns: repeat(3, 1fr); height: 36px; border-top: 1px solid var(--line); border-radius: 0 0 12px 12px; overflow: hidden; }.phone-nav span { display: grid; place-items: center; color: var(--forest); font-size: 10px; }.phone-nav small { font-size: 4px; }
.demo-section { display: grid; grid-template-columns: .9fr 1.1fr; gap: 65px; align-items: start; margin-bottom: 100px; border-radius: 20px; padding: clamp(25px, 5vw, 64px); background: var(--cream); }
.demo-copy { position: sticky; top: 110px; }.demo-copy > p:not(.public-eyebrow), .demo-copy li { color: #526057; line-height: 1.6; }.demo-copy ul { display: grid; gap: 8px; padding-left: 20px; }
.demo-form { display: grid; gap: 14px; border: 1px solid #d9ddcf; border-radius: 12px; padding: 24px; background: white; box-shadow: 0 10px 30px rgb(18 71 49 / 8%); }
.demo-form-stack { display: grid; gap: 14px; }
.demo-access-form { display: grid; grid-template-columns: minmax(0, 1fr); align-items: end; gap: 12px; border: 1px solid #a9b9ad; border-radius: 12px; padding: 18px; background: #f7faf5; }
.demo-access-form > div { align-self: center; }
.demo-access-form strong:not(altcha-widget *), .demo-access-form span:not(altcha-widget *) { display: block; }
.demo-access-form strong:not(altcha-widget *) { color: var(--forest); font-size: 15px; }
.demo-access-form span:not(altcha-widget *) { margin-top: 4px; color: var(--muted); font-size: 11px; line-height: 1.4; }
.demo-access-form label:not(altcha-widget *) { display: grid; gap: 6px; color: var(--forest); font-size: 12px; font-weight: 800; }
.demo-access-form input:not(altcha-widget *) { width: 100%; min-height: 48px; border: 1px solid #b8c7bb; border-radius: 7px; padding: 11px 12px; background: white; color: var(--ink); font: inherit; }
.demo-access-form button:not(altcha-widget *) { white-space: nowrap; }
.demo-form-divider { display: flex; align-items: center; gap: 10px; color: var(--muted); font-size: 11px; text-transform: uppercase; letter-spacing: .06em; }
.demo-form-divider::before, .demo-form-divider::after { height: 1px; flex: 1; background: var(--line); content: ""; }
.demo-form label:not(altcha-widget *) { display: grid; gap: 6px; color: var(--forest); font-size: 12px; font-weight: 800; }
.demo-form input:not(altcha-widget *), .demo-form select, .demo-form textarea { width: 100%; border: 1px solid #b8c7bb; border-radius: 7px; padding: 11px 12px; background: white; color: var(--ink); font: inherit; }
.demo-form input:not(altcha-widget *):focus { border-color: var(--forest-2); outline: 3px solid rgb(30 101 71 / 14%); }
.form-two { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.company-search-row { display: grid; grid-template-columns: 1fr auto; gap: 7px; }.company-search-row button, .company-results button { border: 1px solid #aab9ae; border-radius: 7px; padding: 8px 11px; background: #f4f7f2; color: var(--forest); font-weight: 800; cursor: pointer; }
.company-results { display: grid; gap: 6px; }.company-results button { text-align: left; }.company-results button small { display: block; margin-top: 3px; color: var(--muted); font-weight: 500; }
.form-status { min-height: 18px; margin: -5px 0 0; color: var(--muted); font-size: 11px; }.form-alert { margin: 0; border-radius: 6px; padding: 9px; font-size: 12px; }.form-alert.error { background: #fff0ed; color: #9d2d1e; }
.captcha-box { display: flex; min-height: 65px; align-items: center; justify-content: center; }
.consent-row { display: grid !important; grid-template-columns: auto 1fr; align-items: start; gap: 9px !important; color: #49574f !important; font-weight: 500 !important; line-height: 1.45; }.consent-row input { width: auto; margin-top: 3px; }.consent-row a { color: var(--forest-2); }.form-trap { position: absolute !important; left: -10000px; }
.public-footer { display: grid; grid-template-columns: 1fr auto; gap: 25px; padding: 45px max(24px, calc((100vw - 1220px) / 2)); background: #0c2f21; color: white; }.public-footer > div p, .public-footer > p { color: #b7cbbd; font-size: 12px; }.public-footer nav { display: flex; flex-wrap: wrap; gap: 17px; align-items: start; }.public-footer a { color: white; }.public-footer > p { grid-column: 1 / -1; margin: 10px 0 0; padding-top: 20px; border-top: 1px solid rgb(255 255 255 / 15%); }
.cookie-notice { position: fixed; z-index: 100; right: 18px; bottom: 18px; display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 18px; width: min(620px, calc(100% - 36px)); border: 1px solid #b9c7ba; border-radius: 11px; padding: 17px; background: white; box-shadow: 0 12px 45px rgb(0 0 0 / 22%); }.cookie-notice[hidden] { display: none; }.cookie-notice p { margin: 4px 0; color: #526057; font-size: 12px; line-height: 1.45; }.cookie-notice a { color: var(--forest-2); font-size: 12px; }.cookie-notice button { align-self: center; border: 0; border-radius: 7px; padding: 10px 16px; background: var(--forest); color: white; font-weight: 800; cursor: pointer; }
.legal-page { width: min(820px, calc(100% - 48px)); min-height: 70vh; margin: 70px auto 100px; }.legal-page h1 { margin: 0 0 15px; font-family: Georgia, serif; font-size: clamp(40px, 7vw, 66px); font-weight: 500; }.legal-page h2 { margin: 42px 0 10px; color: var(--forest); font-size: 23px; }.legal-page p, .legal-page li { color: #46554c; line-height: 1.7; }.legal-page a { color: var(--forest-2); }.legal-card { margin: 30px 0; border: 1px solid var(--line); border-radius: 12px; padding: 25px; background: white; }.legal-card h2 { margin-top: 0; }.legal-card dl { display: grid; gap: 10px; }.legal-card dl div { display: grid; grid-template-columns: 180px 1fr; }.legal-card dt { color: var(--muted); }.legal-card dd { margin: 0; font-weight: 700; }

/* Read-only product demo */
.demo-body { height: 100vh; overflow: hidden; }.demo-header { display: flex; height: 72px; align-items: center; justify-content: space-between; padding: 10px 22px; background: var(--forest); color: white; }.demo-header > div { display: flex; align-items: center; gap: 16px; }.demo-header > div a { border: 1px solid #789682; border-radius: 7px; padding: 9px 12px; font-size: 12px; font-weight: 800; text-decoration: none; }.demo-mode { border-radius: 20px; padding: 7px 11px; background: #fff5ce; color: #705600; font-size: 11px; font-weight: 900; }
.demo-shell { display: grid; grid-template-columns: 300px minmax(0, 1fr); height: calc(100vh - 72px); }.demo-sidebar { overflow: auto; border-right: 1px solid var(--line); padding: 24px 18px; background: #f8faf6; }.demo-sidebar h1 { margin: 0; font-family: Georgia, serif; font-size: 28px; }.demo-sidebar > div:first-child > p:last-child { color: var(--muted); font-size: 12px; }.demo-navigation { display: grid; grid-template-columns: repeat(3, 1fr); gap: 5px; margin: 20px 0; }.demo-navigation button, .demo-mobile-nav button { display: grid; gap: 3px; place-items: center; border: 0; border-radius: 7px; padding: 9px 4px; background: transparent; color: var(--muted); font-size: 10px; font-weight: 800; cursor: pointer; }.demo-navigation button span { font-size: 19px; }.demo-navigation button.active { background: var(--mint); color: var(--forest); }
.demo-stats { display: grid; gap: 7px; }.demo-stats button { display: grid; grid-template-columns: 1fr auto; gap: 3px; border: 1px solid var(--line); border-radius: 8px; padding: 12px; background: white; color: var(--ink); text-align: left; cursor: pointer; }.demo-stats span { color: var(--muted); font-size: 10px; font-weight: 800; text-transform: uppercase; }.demo-stats b { grid-row: 1 / span 2; grid-column: 2; color: var(--forest-2); font-size: 24px; }.demo-stats b.amber { color: var(--amber); }.demo-stats b.orange { color: var(--orange); }.demo-stats small { color: var(--muted); }.demo-help { color: var(--muted); font-size: 11px; line-height: 1.45; }
.demo-content { min-width: 0; overflow: auto; padding: 14px; background: #e8eee5; }.demo-view.active { display: grid; gap: 12px; }.demo-view[hidden] { display: none; }.demo-map-card { position: relative; overflow: hidden; min-height: 55vh; border: 1px solid #c7d2c8; border-radius: 10px; background: white; }.demo-map-toolbar { position: absolute; z-index: 2; top: 12px; left: 12px; display: grid; gap: 2px; border-radius: 7px; padding: 10px 12px; background: rgb(255 255 255 / 92%); box-shadow: 0 3px 12px rgb(0 0 0 / 15%); font-size: 11px; }.demo-map-toolbar span { color: var(--muted); }.demo-map { display: block; width: 100%; height: 55vh; min-height: 430px; }.demo-map text { fill: #365547; font-size: 16px; font-weight: 900; letter-spacing: .08em; }.demo-parcels path { cursor: pointer; transition: filter .15s, fill-opacity .15s; }.demo-parcels path:hover, .demo-parcels path:focus { fill-opacity: .9; filter: drop-shadow(0 2px 3px rgb(0 0 0 / 25%)); outline: none; }
.demo-parcel-card { position: absolute; z-index: 3; right: 12px; bottom: 12px; width: min(300px, calc(100% - 24px)); border-radius: 9px; padding: 16px; background: white; box-shadow: 0 7px 25px rgb(0 0 0 / 22%); }.demo-parcel-card button { position: absolute; top: 7px; right: 7px; border: 0; background: transparent; font-size: 22px; cursor: pointer; }.demo-parcel-card small { color: var(--muted); font-weight: 900; }.demo-parcel-card h2 { margin: 4px 0 10px; }.demo-parcel-card dl { display: grid; gap: 5px; margin: 0; }.demo-parcel-card dl div { display: grid; grid-template-columns: 90px 1fr; }.demo-parcel-card dt { color: var(--muted); font-size: 11px; }.demo-parcel-card dd { margin: 0; font-size: 12px; font-weight: 700; }
.demo-table-card { border: 1px solid var(--line); border-radius: 9px; padding: 14px; background: white; }.demo-table-card h2 { margin: 0 0 9px; font-size: 16px; }.demo-table-wrap { overflow: auto; }.demo-table-card table { width: 100%; border-collapse: collapse; font-size: 11px; }.demo-table-card th, .demo-table-card td { border-top: 1px solid var(--line); padding: 8px; text-align: left; white-space: nowrap; }.demo-table-card th { color: var(--forest); }
.demo-section-head { display: flex; align-items: end; justify-content: space-between; gap: 20px; border-radius: 9px; padding: 20px; background: white; }.demo-section-head h2 { margin: 0; font-size: 25px; }.demo-section-head input { width: min(320px, 100%); border: 1px solid #b8c7bb; border-radius: 7px; padding: 10px; }.owner-demo-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 10px; }.owner-demo-grid article { display: grid; gap: 6px; border: 1px solid var(--line); border-radius: 9px; padding: 20px; background: white; }.owner-demo-grid article strong { color: var(--forest); font-size: 18px; }.owner-demo-grid article span { color: var(--muted); }.owner-demo-grid article p { margin: 7px 0; }.owner-demo-grid article small { border-top: 1px solid var(--line); padding-top: 9px; color: var(--muted); }
.demo-contract-notice { display: flex; justify-content: space-between; gap: 15px; border-radius: 8px; padding: 12px 16px; background: #fff4ce; color: #735900; font-size: 12px; }.demo-contract-paper { position: relative; width: min(210mm, 100%); min-height: 270mm; overflow: hidden; margin: 0 auto; padding: 18mm; background: white; box-shadow: 0 4px 18px rgb(0 0 0 / 14%); font-family: "Times New Roman", serif; line-height: 1.5; }.demo-contract-paper > h1, .demo-contract-paper > h2, .demo-contract-paper .center { text-align: center; }.demo-contract-paper h1 { margin: 0; }.demo-contract-paper h2 { margin: 0 0 20px; font-size: 16px; }.demo-contract-paper h3 { margin-top: 25px; }.demo-contract-paper table { width: 100%; border-collapse: collapse; }.demo-contract-paper th, .demo-contract-paper td { border: 1px solid #777; padding: 7px; text-align: left; }.demo-watermark { position: absolute; top: 38%; left: 8%; color: rgb(180 40 30 / 9%); font: 900 130px/1 sans-serif; transform: rotate(-28deg); }.demo-signatures { display: grid; grid-template-columns: 1fr 1fr; gap: 40px; margin-top: 80px; }.demo-disabled-actions { display: flex; justify-content: center; gap: 8px; }.demo-disabled-actions button { border: 1px solid #aaa; border-radius: 7px; padding: 10px 15px; }.demo-protected { user-select: none; -webkit-user-select: none; }.demo-copy-message { position: fixed; z-index: 100; right: 18px; bottom: 18px; border-radius: 7px; padding: 12px 16px; background: #2e342f; color: white; font-size: 12px; box-shadow: 0 4px 18px rgb(0 0 0 / 25%); }.demo-copy-message[hidden] { display: none; }.demo-mobile-nav { display: none; }

@media (max-width: 900px) {
  .public-header nav a:not(.header-login) { display: none; }
  .hero-section, .problem-section, .device-section, .demo-section { grid-template-columns: 1fr; }
  .outcome-strip { grid-template-columns: 1fr; }
  .outcome-strip article, .outcome-strip article:first-child, .outcome-strip article:last-child { min-height: 0; padding: 22px 0; border-right: 0; border-bottom: 1px solid var(--line); }
  .outcome-strip article:last-child { border-bottom: 0; }
  .hero-section { min-height: auto; padding-top: 52px; }.hero-product { transform: none; }
  .problem-section, .device-section { gap: 35px; }.feature-story, .feature-story.owner-story { grid-template-columns: 1fr; }.owner-story .story-copy { order: 0; }.supporting-features { grid-template-columns: repeat(2, 1fr); }.workflow-section { grid-template-columns: 1fr; gap: 35px; padding: 50px 35px; }.demo-copy { position: static; }
  .device-stage { width: min(590px, 100%); margin-inline: auto; }
  .demo-shell { grid-template-columns: 230px minmax(0, 1fr); }.demo-navigation { grid-template-columns: 1fr; }.demo-navigation button { grid-template-columns: 25px 1fr; justify-items: start; }
}
@media (max-width: 680px) {
  .public-brand-logo { width: 210px; height: 53px; }
  .public-header { min-height: 66px; padding: 9px 15px; }.public-brand-mark { width: 36px; height: 36px; }.public-brand strong { font-size: 16px; }.public-brand small { display: none; }.header-login { padding: 8px 10px !important; font-size: 12px !important; }
  .hero-section, .problem-section, .outcome-strip, .feature-section, .workflow-section, .device-section, .demo-section { width: min(100% - 28px, 1220px); }.hero-section { padding: 40px 0 60px; }.hero-copy h1 { max-width: 100%; overflow-wrap: break-word; font-size: 37px; }.hero-lead { font-size: 16px; }.hero-actions { display: grid; grid-template-columns: 1fr; }.hero-actions > * { width: 100%; }.hero-product { width: 100%; }.mock-toolbar span:last-child { display: none; }.mock-app { grid-template-columns: 95px minmax(0, 1fr); min-height: 315px; }.mock-app aside { padding: 8px; }.mock-app aside b { font-size: 20px; }.mock-map { min-height: 315px; }
  .demo-access-form { grid-template-columns: 1fr; align-items: stretch; }
  .problem-section, .feature-section, .device-section { padding: 60px 0; }.problem-grid { grid-template-columns: 1fr; }.feature-story { margin-top: 48px; }.story-copy > p:not(.story-kicker), .story-copy li { font-size: 15px; }.shot-workspace { grid-template-columns: 112px minmax(0, 1fr); min-height: 305px; }.shot-map { min-height: 305px; }.shot-summary div { padding: 10px 7px; }.shot-summary strong { font-size: 18px; }.shot-summary small { font-size: 7px; }.owner-shot-main { grid-template-columns: minmax(0, 1fr) 130px; }.owner-shot-list div { display: grid; grid-template-columns: 1fr; padding: 8px 3px; }.owner-data-note { grid-template-columns: 1fr; gap: 9px; margin-top: 48px; padding: 19px; }.supporting-features { grid-template-columns: 1fr; }.workflow-section { padding: 38px 22px; }.device-stage { min-height: 350px; }.desktop-device { transform: scale(.72); transform-origin: top left; }.tablet-device { top: 105px; right: -5px; transform: scale(.75); transform-origin: top right; }.phone-device { right: 130px; bottom: 8px; transform: scale(.82); transform-origin: bottom right; }.demo-section { gap: 30px; padding: 22px; }.form-two { grid-template-columns: 1fr; }.company-search-row { grid-template-columns: 1fr; }.public-footer { grid-template-columns: 1fr; }.public-footer nav { display: grid; }.cookie-notice { grid-template-columns: 1fr; }
  .legal-page { width: calc(100% - 30px); margin-top: 45px; }.legal-card dl div { grid-template-columns: 1fr; }.legal-card dd { margin-top: 3px; }
  .actual-device-stage { grid-template-columns: minmax(0, 1fr) 105px; gap: 10px; }.actual-phone img { border-width: 4px; border-radius: 17px; }
  .demo-body { height: auto; min-height: 100vh; overflow: auto; padding-bottom: 64px; }.demo-header { height: 64px; padding: 8px 12px; }.demo-header .demo-mode { display: none; }.demo-header > div a { padding: 7px; font-size: 10px; }.demo-shell { display: block; height: auto; }.demo-sidebar { padding: 14px; border: 0; }.demo-sidebar > div:first-child, .demo-sidebar .demo-navigation, .demo-sidebar .demo-help { display: none; }.demo-stats { grid-template-columns: 1fr 1fr; }.demo-content { min-height: calc(100vh - 200px); padding: 8px; }.demo-map-card { min-height: 52vh; }.demo-map { height: 52vh; min-height: 390px; }.demo-table-card { padding: 10px; }.demo-section-head { display: grid; align-items: stretch; }.owner-demo-grid { grid-template-columns: 1fr; }.demo-contract-notice { display: grid; }.demo-contract-paper { min-height: 240mm; padding: 10mm; font-size: 12px; }.demo-watermark { font-size: 80px; }.demo-signatures { gap: 15px; }.demo-mobile-nav { position: fixed; z-index: 90; right: 0; bottom: 0; left: 0; display: grid; grid-template-columns: repeat(3, 1fr); height: 64px; border-top: 1px solid var(--line); background: white; }.demo-mobile-nav button { font-size: 20px; }.demo-mobile-nav button span { font-size: 10px; }.demo-mobile-nav button.active { color: var(--forest-2); }
}
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } *, *::before, *::after { transition: none !important; } }
/* V1.1 cenu plāni */
.pricing-section { width: min(1220px, calc(100% - 48px)); margin: 0 auto; padding: 85px 0; }
.pricing-intro { max-width: 780px; }
.pricing-intro h2 { margin: 8px 0 14px; color: var(--forest); font-family: Georgia, serif; font-size: clamp(34px, 5vw, 58px); font-weight: 500; line-height: 1.04; }
.pricing-intro > p:last-child { color: var(--muted); font-size: 17px; line-height: 1.6; }
.pricing-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; margin-top: 38px; }
.pricing-grid article { display: grid; align-content: start; gap: 13px; min-height: 245px; border: 1px solid var(--line); border-radius: 14px; padding: 28px; background: #fff; box-shadow: 0 10px 35px rgb(18 63 43 / 7%); }
.pricing-grid article.featured { color: #fff; background: var(--forest); transform: translateY(-9px); }
.pricing-grid article > p { margin: 0; color: var(--amber); font-size: 12px; font-weight: 900; letter-spacing: .12em; text-transform: uppercase; }
.pricing-grid h3 { margin: 0; color: var(--forest); font-size: 38px; }
.pricing-grid .featured h3 { color: #fff; }
.pricing-grid h3 small { font-size: 14px; font-weight: 600; }
.pricing-grid article > span { color: var(--muted); line-height: 1.55; }
.pricing-grid .featured > span { color: #d1e1d7; }
.pricing-grid .extra-user-price { align-self: end; padding-top: 10px; border-top: 1px solid var(--line); color: var(--forest); font-size: 14px; font-weight: 750; }
.pricing-grid .featured .extra-user-price { border-color: rgb(255 255 255 / 24%); color: #fff; }
.pricing-cta { display: grid; justify-items: center; gap: 10px; margin-top: 28px; text-align: center; }
.pricing-cta .public-primary { min-width: 210px; text-align: center; }
.pricing-cta p { margin: 0; color: var(--muted); }

@media (max-width: 900px) { .pricing-grid { grid-template-columns: 1fr; }.pricing-grid article.featured { transform: none; } }
@media (max-width: 680px) { .pricing-section { width: min(100% - 28px, 1220px); padding: 60px 0; }.pricing-grid article { min-height: 0; } }

/* Equal, accessible optional-analytics choices on every public page. */
.cookie-notice {max-height:85dvh;overflow-y:auto;gap:16px;z-index:10000;}
.cookie-choice-actions {display:flex;flex-wrap:wrap;gap:8px;min-width:0;}
.cookie-choice-actions button,.public-footer [data-cookie-settings] {min-height:44px;padding:10px 16px;background:#fff;color:#174b39;border:1px solid #719180;border-radius:8px;font:inherit;cursor:pointer;}
.cookie-choice-actions button {flex:1 1 180px;}
.cookie-choice-actions button:focus-visible,.public-footer [data-cookie-settings]:focus-visible {outline:3px solid #b7d78c;outline-offset:2px;}
#cookieChoiceStatus:empty {display:none;}
@media(max-width:600px){.cookie-notice{flex-direction:column;align-items:stretch;}.cookie-choice-actions{width:100%;}.cookie-choice-actions button{flex-basis:100%;}}
.pricing-module-note { max-width: 900px; margin: 20px auto 0; color: #315a42; line-height: 1.55; text-align: center; }
