:root{--ink:#10201c;--ink-soft:#48605a;--paper:#f5f3ed;--card:#fffefa;--line:#dcded7;--accent:#f6b940;--accent-soft:#fff1c7;--green:#167a62;--shadow:0 24px 70px rgba(30,47,41,.08)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}button,input,select{font:inherit}button,select{cursor:pointer}svg{display:block}main{min-height:100vh;overflow:hidden}.site-header{max-width:1240px;margin:auto;height:82px;justify-content:space-between;padding:0 28px;border-bottom:1px solid rgba(16,32,28,.12)}.brand,.site-header{display:flex;align-items:center}.brand{color:var(--ink);text-decoration:none;gap:11px;font-size:19px;font-weight:800;letter-spacing:-.5px}.brand>span:last-child span{color:var(--green)}.brand-mark{width:38px;height:38px;border-radius:10px;background:var(--ink);display:grid;place-items:center}.brand-mark svg{width:23px;fill:none;stroke:var(--accent);stroke-width:1.7}.header-actions{gap:18px}.header-actions,.header-note{display:flex;align-items:center}.header-note{gap:8px;font:500 12px ui-monospace,SFMono-Regular,Consolas,monospace;color:var(--ink-soft);text-transform:uppercase;letter-spacing:.8px}.header-note i{width:8px;height:8px;border-radius:50%;background:#2ca47e;box-shadow:0 0 0 5px rgba(44,164,126,.12)}.language-picker{display:flex;align-items:center;gap:8px;border-left:1px solid var(--line);padding-left:18px}.language-picker span{color:#70807b;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.6px}.language-picker select{height:36px;border:1px solid var(--line);border-radius:9px;background:rgba(255,255,255,.65);color:var(--ink);padding:0 30px 0 10px;font-size:12px;font-weight:800;outline:0}.language-picker select:focus{border-color:var(--green);box-shadow:0 0 0 3px rgba(22,122,98,.12)}.hero{max-width:1240px;margin:auto;padding:82px 28px 76px;position:relative}.hero:after{content:"";position:absolute;width:420px;height:420px;border-radius:50%;right:-130px;top:-110px;border:1px solid rgba(16,32,28,.08);box-shadow:0 0 0 70px rgba(16,32,28,.018),0 0 0 140px rgba(16,32,28,.014);pointer-events:none}.eyebrow{color:var(--green);font:500 12px ui-monospace,SFMono-Regular,Consolas,monospace;letter-spacing:1.5px;margin-bottom:22px}.hero h1{margin:0;font-size:clamp(46px,7vw,88px);line-height:.98;letter-spacing:-5px;max-width:900px}.hero h1 em{color:var(--green);font-style:normal}.hero>p{color:var(--ink-soft);font-size:18px;line-height:1.7;max-width:610px;margin:30px 0 34px}.hero-chips{display:flex;flex-wrap:wrap;gap:10px}.hero-chips span{display:flex;align-items:center;gap:9px;border:1px solid var(--line);background:rgba(255,255,255,.45);border-radius:999px;padding:10px 14px;font-size:12px;font-weight:700}.card-title svg,.hero-chips svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.7}.calculator{background:#e8ece7;padding:64px max(28px,calc((100vw - 1184px)/2)) 74px}.section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:28px}.section-heading>div{display:flex;align-items:baseline;gap:16px}.step{font:500 11px ui-monospace,SFMono-Regular,Consolas,monospace;color:var(--green);letter-spacing:1px}.notes h2,.section-heading h2{margin:0;font-size:29px;letter-spacing:-1.3px}.reset{border:0;background:none;color:var(--green);font-size:12px;font-weight:700;padding:8px 0;border-bottom:1px solid}.workspace{grid-template-columns:minmax(0,1.45fr) minmax(330px,.75fr);align-items:start}.inputs,.workspace{display:grid;grid-gap:18px;gap:18px}.input-card,.results,.view-section{background:var(--card);border:1px solid rgba(16,32,28,.09);border-radius:18px;box-shadow:var(--shadow)}.input-card{padding:27px}.card-title{display:flex;gap:13px;align-items:flex-start;margin-bottom:25px}.card-title svg{width:26px;height:26px;color:var(--green);margin-top:2px}.card-title h3{margin:0 0 4px;font-size:17px}.card-title p{margin:0;color:#71817c;font-size:12px}.field-grid{display:grid;grid-gap:14px;gap:14px}.field-grid.two{grid-template-columns:1fr 1fr}.field-grid.compact{margin-top:22px}.select-field.compact-single{margin-top:18px}.number-field,.select-field{display:grid;grid-gap:8px;gap:8px}.field-label,.number-field>span:first-child,.select-field>span{color:#62736d;font-size:11px;font-weight:700;letter-spacing:.2px}.with-help{position:relative}.with-help>.help-tip{position:absolute;top:-2px;right:0}.label-copy{display:flex;align-items:center;gap:7px}.help-tip{position:relative;display:inline-grid;color:var(--ink)}.help-tip summary{list-style:none;width:17px;height:17px;display:grid;place-items:center;border:1px solid #aebbb6;border-radius:50%;background:white;color:var(--green);font-size:10px;font-weight:800;cursor:pointer}.help-tip summary::-webkit-details-marker{display:none}.help-tip>div{position:absolute;z-index:20;top:24px;left:0;width:min(260px,75vw);border-radius:10px;background:var(--ink);color:white;box-shadow:0 15px 40px rgba(16,32,28,.22);padding:12px 13px;font-size:10px;font-weight:500;line-height:1.6}.with-help>.help-tip>div{left:auto;right:0}.number-control{height:47px;display:grid;grid-template-columns:43px 1fr auto 43px;align-items:center;border:1px solid var(--line);background:#fbfbf7;border-radius:10px;overflow:hidden}.number-control button{height:100%;border:0;background:transparent;font-size:20px;color:var(--green)}.number-control button:hover{background:#eef2ec}.number-control input{width:100%;border:0;background:transparent;outline:0;text-align:center;font-weight:800;color:var(--ink);-moz-appearance:textfield}.number-control input::-webkit-inner-spin-button{display:none}.number-control small{font-size:11px;color:#6c7c76}.select-field select{height:47px;width:100%;border:1px solid var(--line);background:#fbfbf7;color:var(--ink);border-radius:10px;padding:0 38px 0 13px;outline:0;font-weight:700}.field-label{margin:22px 0 9px}.lens-row,.resolution-row{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:9px;gap:9px}.lens-row button,.mode-toggle button,.resolution-row button{border:1px solid var(--line);background:#fbfbf7;color:var(--ink);border-radius:10px;padding:12px;text-align:left}.resolution-row button{display:grid;grid-gap:2px;gap:2px}.resolution-row strong{font-size:14px}.mode-toggle small,.resolution-row small{font-size:10px;color:#71817c}.lens-row button.active,.mode-toggle button.active,.resolution-row button.active{border-color:var(--green);background:#eff8f3;box-shadow:inset 0 0 0 1px var(--green)}.bitrate-line{margin-top:18px;padding:12px 14px;display:flex;justify-content:space-between;align-items:center;gap:10px;background:#f2f3ee;border-radius:9px;color:#677872;font-size:11px}.bitrate-line strong{color:var(--ink);font:500 13px ui-monospace,SFMono-Regular,Consolas,monospace}.bitrate-line strong small{color:#71817c;font-size:9px}.inline-warning{margin:10px 0 -7px;color:#9a5417;background:#fff2dc;border-radius:8px;padding:9px 11px;font-size:10px;font-weight:700}.mode-toggle{display:grid;grid-template-columns:1fr 1fr;grid-gap:9px;gap:9px}.mode-toggle button{display:grid;grid-gap:3px;gap:3px}.mode-toggle strong{font-size:13px}.range-field{display:grid;grid-gap:12px;gap:12px;margin-top:24px}.range-field>span{display:flex;align-items:center;justify-content:space-between;gap:14px;font-size:12px}.range-field strong{color:var(--green);font:500 13px ui-monospace,SFMono-Regular,Consolas,monospace}.range-field input{width:100%;accent-color:var(--green)}.range-field>small,.range-ticks small{color:#7b8984;font-size:10px;line-height:1.5}.range-ticks{display:flex;justify-content:space-between;margin-top:-8px}.results{background:var(--ink);color:white;padding:29px;position:-webkit-sticky;position:sticky;top:18px}.result-kicker{color:#79c9ae;font:500 10px ui-monospace,SFMono-Regular,Consolas,monospace;letter-spacing:1.5px;margin-bottom:34px}.result-label{color:#a9bbb5;font-size:12px;margin:0 0 7px}.big-result{font-size:clamp(64px,8vw,92px);font-weight:800;line-height:1;letter-spacing:-5px;color:var(--accent)}.big-result span{font-size:24px;letter-spacing:-1px;margin-left:7px}.result-caption{color:#afbeb9;font-size:11px;margin-top:12px}.result-caption b{color:white}.meter{height:4px;background:rgba(255,255,255,.12);border-radius:9px;overflow:hidden;margin:14px 0 28px}.meter span{height:100%;display:block;background:var(--accent);border-radius:9px}.metrics{border-top:1px solid rgba(255,255,255,.12);border-bottom:1px solid rgba(255,255,255,.12);display:grid;grid-template-columns:1fr 1fr}.metrics div{padding:15px 0;display:grid;grid-gap:4px;gap:4px}.metrics div:nth-child(odd){border-right:1px solid rgba(255,255,255,.12)}.metrics div:nth-child(2n){padding-left:18px}.metrics div:nth-child(-n+4){border-bottom:1px solid rgba(255,255,255,.12)}.metrics span{font-size:9px;color:#849a92;text-transform:uppercase;letter-spacing:.6px}.metrics strong{font-size:13px}.warning{color:#ffd77b;border:1px solid rgba(246,185,64,.28);background:rgba(246,185,64,.08);border-radius:8px;padding:10px;font-size:10px;line-height:1.5}.retention-box{margin-top:22px;padding:15px;border-radius:11px;background:rgba(255,255,255,.07)}.retention-box label{display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:11px;color:#a9bbb5}.retention-box select{border:1px solid rgba(255,255,255,.2);border-radius:7px;background:#20322c;color:white;padding:7px 27px 7px 9px;font-weight:700}.retention-box p{margin:12px 0 0;font-size:13px}.retention-box p strong{color:var(--accent)}.print-button{width:100%;margin-top:14px;border:0;border-radius:9px;background:var(--accent);color:var(--ink);padding:14px 15px;display:flex;align-items:center;justify-content:space-between;font-size:12px;font-weight:800}.print-button:hover{background:#ffc951}.print-button span{font-size:18px}.quote-button{width:100%;margin-top:9px;border:1px solid var(--accent);border-radius:9px;background:transparent;color:var(--accent);padding:13px 15px;display:flex;align-items:center;justify-content:space-between;font-size:12px;font-weight:800}.quote-button:hover{background:rgba(246,185,64,.08)}.hardware-box{margin-top:18px;padding-top:18px;border-top:1px solid rgba(255,255,255,.12)}.hardware-box>strong{color:white;font-size:12px}.hardware-box p{color:#9fb1ab;font-size:10px;line-height:1.5}.hardware-box>div{display:grid;grid-template-columns:1fr 1fr;grid-gap:7px;gap:7px}.hardware-box a{color:var(--ink);background:white;border-radius:7px;padding:9px 5px;text-align:center;text-decoration:none;font-size:9px;font-weight:800}.hardware-box small{display:block;margin-top:9px;color:#758b83;font-size:8px;line-height:1.45}.view-section{margin-top:18px;padding:30px}.view-heading p{max-width:420px;margin:0;color:#6a7b75;font-size:11px;line-height:1.6;text-align:right}.view-grid{display:grid;grid-template-columns:.8fr 1.2fr;grid-gap:30px;gap:30px;align-items:stretch}.lens-row{grid-template-columns:repeat(6,1fr)}.lens-row button{text-align:center;padding:11px 3px;font-size:12px;font-weight:800}.lens-row small{display:block;font-size:8px;color:#788781;font-weight:500}.select-field.sensor{margin-top:21px}.fov-card{border-radius:13px;background:#f1f3ee;overflow:hidden;display:grid;grid-template-rows:1fr auto;min-height:310px}.fov-visual{min-height:235px;display:grid;align-items:center}.fov-visual svg{width:100%;height:auto}.beam-line{fill:none;stroke:#cf9d36;stroke-width:1.2;stroke-dasharray:4 5}.width-line{stroke:#148067;stroke-width:2}.camera-shape{fill:var(--ink)}.camera-shape circle:first-of-type{fill:#314840}.camera-shape circle:last-of-type{fill:var(--accent)}.distance-text,.width-sub,.width-text{font-family:ui-monospace,SFMono-Regular,Consolas,monospace;fill:#667872;font-size:10px;text-anchor:middle}.width-text{fill:var(--ink);font-size:17px;font-weight:500}.width-sub{font-size:8px}.fov-metrics{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);background:white}.fov-metrics div{padding:15px;text-align:center;border-right:1px solid var(--line)}.fov-metrics div:last-child{border-right:0}.fov-metrics span{display:block;color:#75847f;font-size:9px;margin-bottom:4px}.fov-metrics strong{font-size:16px}.notes{max-width:1184px;margin:auto;padding:78px 28px}.notes>div:first-child{display:flex;gap:15px;align-items:baseline;margin-bottom:32px}.note-grid{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:30px;gap:30px}.note-grid article{border-top:2px solid var(--ink);padding-top:17px}.note-grid b{font-size:13px}.note-grid p{color:#64756f;font-size:11px;line-height:1.75;margin:9px 0 0}.faq-wrap{margin-top:78px;display:grid;grid-template-columns:.7fr 1.3fr;grid-gap:54px;gap:54px;align-items:start}.faq-heading>div{display:flex;gap:14px;align-items:baseline}.faq-heading p{color:#64756f;font-size:11px;line-height:1.7;max-width:330px}.faq-list{border-top:1px solid var(--line)}.faq-list details{border-bottom:1px solid var(--line);padding:0 4px}.faq-list summary{list-style:none;display:flex;justify-content:space-between;gap:20px;align-items:center;padding:18px 0;font-size:12px;font-weight:800;cursor:pointer}.faq-list summary::-webkit-details-marker{display:none}.faq-list summary span{color:var(--green);font-size:19px;font-weight:400;transition:transform .2s ease}.faq-list details[open] summary span{transform:rotate(45deg)}.faq-list p{color:#61726c;font-size:11px;line-height:1.75;margin:-2px 0 18px;max-width:680px}.contact-cta{margin-top:72px;border-radius:18px;background:var(--ink);color:white;padding:34px;display:flex;justify-content:space-between;align-items:center;gap:28px}.contact-cta>div{max-width:650px}.contact-cta h2{margin:9px 0 8px;color:white}.contact-cta p{margin:0;color:#a9bbb5;font-size:11px;line-height:1.65}.contact-cta button{min-width:220px;border:0;border-radius:9px;background:var(--accent);color:var(--ink);padding:14px 16px;align-items:center;font-size:11px;font-weight:800}.contact-cta button,footer{display:flex;justify-content:space-between}footer{max-width:1184px;margin:auto;padding:22px 28px 34px;border-top:1px solid var(--line);color:#74837e;gap:20px;font:400 10px ui-monospace,SFMono-Regular,Consolas,monospace}.modal-backdrop{position:fixed;inset:0;z-index:100;background:rgba(8,19,16,.7);-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);display:grid;place-items:center;padding:18px;overflow-y:auto}.report-modal{position:relative;width:min(620px,100%);border-radius:18px;background:var(--card);box-shadow:0 30px 90px rgba(0,0,0,.3);padding:34px}.report-modal h2{margin:8px 40px 7px 0;font-size:28px;letter-spacing:-1.2px}.report-modal>p{margin:0 0 24px;color:#61726c;font-size:11px;line-height:1.6}.modal-close{position:absolute;top:17px;right:17px;width:34px;height:34px;border:1px solid var(--line);border-radius:50%;background:white;color:var(--ink);font-size:19px}.report-form{display:grid;grid-template-columns:1fr 1fr;grid-gap:13px;gap:13px}.report-form label{display:grid;grid-gap:7px;gap:7px}.report-form label>span{color:#62736d;font-size:10px;font-weight:700}.report-form input:not([type=checkbox]){height:44px;border:1px solid var(--line);border-radius:9px;background:#fbfbf7;padding:0 12px;outline:0}.report-form input:focus{border-color:var(--green);box-shadow:0 0 0 3px rgba(22,122,98,.1)}.report-form label:nth-child(3){grid-column:1/-1}.report-form .consent-row{grid-column:1/-1;display:flex;align-items:flex-start;gap:9px;padding:12px;background:#f0f3ee;border-radius:9px}.consent-row input{margin-top:2px;accent-color:var(--green)}.form-error{color:#a13f2c!important;background:#fff0ec;border-radius:8px;padding:9px 11px;margin:11px 0 0!important}.modal-actions{display:grid;grid-template-columns:1fr 1fr;grid-gap:9px;gap:9px;margin-top:16px}.modal-actions button{border-radius:9px;padding:13px;display:flex;justify-content:space-between;align-items:center;font-size:11px;font-weight:800}.download-action{border:0;background:var(--green);color:white}.mail-action{border:1px solid var(--ink);background:white;color:var(--ink)}.modal-actions button:disabled{opacity:.55;cursor:wait}.privacy-note{display:block;color:#7d8b86;font-size:8px;line-height:1.5;margin-top:12px}@media (max-width:860px){.hero h1{letter-spacing:-3px}.view-grid,.workspace{grid-template-columns:1fr}.results{position:static}.view-heading{align-items:flex-start}.view-heading p{text-align:left}.faq-wrap{grid-template-columns:1fr;gap:20px}}@media (max-width:560px){.site-header{height:70px;padding:0 18px}.header-note{font-size:9px}.header-actions{gap:8px}.language-picker{padding-left:8px;border-left:0}.header-note,.language-picker span{display:none}.language-picker select{width:108px}.hero{padding:58px 18px 54px}.hero h1{font-size:46px;letter-spacing:-2.8px}.hero>p{font-size:15px}.calculator{padding:45px 14px 55px}.section-heading{align-items:flex-start}.notes h2,.section-heading h2{font-size:23px}.input-card,.results,.view-section{border-radius:14px;padding:20px}.field-grid.two{grid-template-columns:1fr}.resolution-row{grid-template-columns:repeat(3,1fr)}.view-heading{display:grid}.lens-row{grid-template-columns:repeat(3,1fr)}.fov-card{min-height:260px}.fov-metrics{grid-template-columns:1fr}.fov-metrics div{border-right:0;border-bottom:1px solid var(--line)}.fov-metrics div:last-child{border-bottom:0}.notes{padding:58px 18px}.note-grid{grid-template-columns:1fr;gap:26px}.contact-cta,.faq-wrap{margin-top:55px}.contact-cta{padding:24px;display:grid}.contact-cta button{min-width:0;width:100%}.report-modal{padding:26px 20px}.modal-actions,.report-form{grid-template-columns:1fr}.report-form .consent-row,.report-form label:nth-child(3){grid-column:auto}footer{margin:0 18px;padding:20px 0 28px;display:grid}}@media print{body{background:white}.hardware-box,.hero,.modal-backdrop,.notes,.print-button,.quote-button,.reset,.site-header,footer{display:none!important}.calculator{padding:0;background:white}.workspace{grid-template-columns:1.25fr .75fr}.input-card,.results,.view-section{box-shadow:none;page-break-inside:avoid;break-inside:avoid}.results{position:static;print-color-adjust:exact;-webkit-print-color-adjust:exact}}@media (prefers-reduced-motion:no-preference){.hero h1,.hero p,.hero-chips{animation:enter .7s ease both}.hero p{animation-delay:.08s}.hero-chips{animation-delay:.16s}@keyframes enter{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}}