:root {
  --ink: #10221d;
  --muted: #65736e;
  --paper: #f7f9f6;
  --white: #ffffff;
  --line: #dce4df;
  --green: #0d796a;
  --green-dark: #075e54;
  --green-soft: #dff2ec;
  --lime: #c5f270;
  --blue: #3079d8;
  --orange: #ef9c50;
  --shadow: 0 28px 70px rgba(25, 55, 45, 0.14);
  --radius: 24px;
  font-synthesis: none;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; scroll-padding-top: 90px; }
body { margin: 0; color: var(--ink); background: var(--paper); font-family: Inter, "Avenir Next", Avenir, "Segoe UI", system-ui, -apple-system, sans-serif; -webkit-font-smoothing: antialiased; }
body::before { content: ""; position: fixed; inset: 0; pointer-events: none; z-index: 20; opacity: .025; background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E"); }
a { color: inherit; }
button, a { -webkit-tap-highlight-color: transparent; }
button { font: inherit; }
img { display: block; max-width: 100%; }
.shell { width: min(1180px, calc(100% - 48px)); margin-inline: auto; }
.section { padding: 128px 0; }
.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }
.skip-link { position: fixed; left: 16px; top: -80px; z-index: 100; background: var(--ink); color: white; padding: 12px 18px; border-radius: 8px; transition: top .2s; }
.skip-link:focus { top: 16px; }
.reveal { opacity: 0; transform: translateY(24px); transition: opacity .75s ease, transform .75s cubic-bezier(.2,.65,.25,1); }
.reveal-delay { transition-delay: .12s; }
.reveal-delay-2 { transition-delay: .24s; }
.reveal.visible { opacity: 1; transform: none; }

.site-header { position: fixed; inset: 0 0 auto; z-index: 30; border-bottom: 1px solid transparent; transition: background .25s, border-color .25s, box-shadow .25s; }
.site-header.scrolled { background: rgba(247,249,246,.9); border-color: rgba(16,34,29,.08); box-shadow: 0 8px 35px rgba(26,48,41,.06); backdrop-filter: blur(18px); }
.nav-wrap { height: 82px; display: flex; align-items: center; justify-content: space-between; }
.brand { display: inline-flex; align-items: center; gap: 9px; text-decoration: none; font-size: 22px; font-weight: 750; letter-spacing: -.8px; }
.brand img { width: 38px; height: 38px; }
.navigation { display: flex; align-items: center; gap: 32px; }
.navigation a { color: #42514c; text-decoration: none; font-size: 14px; font-weight: 600; transition: color .2s; }
.navigation a:hover { color: var(--green); }
.navigation .nav-cta { display: inline-flex; gap: 10px; align-items: center; background: var(--ink); color: white; padding: 12px 18px; border-radius: 100px; }
.navigation .nav-cta:hover { color: white; background: var(--green-dark); }
.menu-button { display: none; width: 44px; height: 44px; border: 0; border-radius: 50%; background: var(--white); align-items: center; justify-content: center; flex-direction: column; gap: 6px; }
.menu-button span:not(.sr-only) { width: 18px; height: 2px; background: var(--ink); transition: transform .2s; }

.hero { position: relative; min-height: 810px; padding: 165px 0 108px; overflow: hidden; background: radial-gradient(circle at 84% 36%, #dfeee9 0, rgba(223,238,233,.28) 27%, transparent 54%), linear-gradient(145deg, #fbfcfa, #f4f7f3); }
.hero::after { content: ""; position: absolute; width: 800px; height: 800px; right: -470px; top: -260px; border: 1px solid rgba(13,121,106,.13); border-radius: 50%; box-shadow: 0 0 0 70px rgba(13,121,106,.025), 0 0 0 160px rgba(13,121,106,.02); }
.hero-glow { position: absolute; width: 460px; height: 460px; left: -270px; bottom: -310px; border-radius: 50%; background: var(--lime); opacity: .19; filter: blur(40px); }
.hero-grid { position: relative; z-index: 2; display: grid; grid-template-columns: .92fr 1.08fr; align-items: center; gap: 56px; }
.eyebrow, .section-label { margin: 0 0 22px; color: var(--green); font-size: 12px; line-height: 1.3; letter-spacing: 1.7px; text-transform: uppercase; font-weight: 800; }
.eyebrow { display: flex; align-items: center; gap: 9px; }
.pulse { position: relative; width: 8px; height: 8px; background: var(--green); border-radius: 50%; }
.pulse::after { content: ""; position: absolute; inset: -5px; border: 1px solid var(--green); border-radius: 50%; animation: pulse 2s ease-out infinite; }
@keyframes pulse { 0% { opacity: .8; transform: scale(.5); } 70%, 100% { opacity: 0; transform: scale(1.2); } }
h1, h2, h3, p { text-wrap: pretty; }
h1 { margin: 0; font-family: Georgia, "Times New Roman", serif; font-size: clamp(49px, 5.35vw, 76px); font-weight: 400; line-height: .99; letter-spacing: -4px; }
h1 em, h2 em { color: var(--green); font-weight: 400; }
.hero-intro { max-width: 610px; margin: 30px 0 0; color: #52625c; font-size: 18px; line-height: 1.75; }
.hero-actions { display: flex; align-items: center; gap: 28px; margin-top: 38px; }
.button { display: inline-flex; align-items: center; justify-content: center; gap: 13px; min-height: 52px; padding: 0 24px; border-radius: 100px; text-decoration: none; font-size: 14px; font-weight: 750; transition: transform .2s, background .2s, box-shadow .2s; }
.button:hover { transform: translateY(-2px); }
.button-primary { background: var(--green); color: white; box-shadow: 0 10px 28px rgba(13,121,106,.2); }
.button-primary:hover { background: var(--green-dark); box-shadow: 0 14px 34px rgba(13,121,106,.28); }
.button-light { background: white; color: var(--ink); }
.text-link { display: inline-flex; gap: 7px; color: var(--ink); text-underline-offset: 5px; font-size: 14px; font-weight: 700; }
.trust-row { display: flex; flex-wrap: wrap; gap: 21px; margin-top: 40px; color: #6b7974; font-size: 12px; font-weight: 600; }
.check { display: inline-grid; place-items: center; width: 17px; height: 17px; margin-right: 5px; border-radius: 50%; background: #d9eee7; color: var(--green); font-style: normal; font-size: 10px; }

.product-scene { position: relative; min-width: 620px; padding: 18px 6px 44px; perspective: 1000px; }
.app-window { position: relative; z-index: 3; overflow: hidden; border: 1px solid rgba(255,255,255,.8); border-radius: 18px; background: #fbfcfc; box-shadow: 0 34px 85px rgba(31,62,52,.18), 0 3px 10px rgba(31,62,52,.08); transform: rotateY(-3deg) rotateX(1deg); }
.app-topbar { height: 52px; display: flex; align-items: center; padding: 0 17px; border-bottom: 1px solid #e7ebe9; background: white; }
.app-brand { display: flex; align-items: center; gap: 7px; font-size: 11px; font-weight: 800; }
.app-brand img { width: 21px; height: 21px; }
.app-status { margin-left: auto; display: flex; align-items: center; gap: 6px; padding: 6px 9px; border-radius: 20px; background: #e8f6f0; color: #357363; font-size: 8px; font-weight: 700; }
.app-status span { width: 5px; height: 5px; border-radius: 50%; background: #25a578; }
.avatar { display: grid; place-items: center; width: 27px; height: 27px; margin-left: 10px; border-radius: 50%; background: #e8edf7; color: #5070a9; font-size: 8px; font-weight: 800; }
.app-body { min-height: 408px; display: flex; }
.app-sidebar { width: 50px; display: flex; flex-direction: column; align-items: center; gap: 18px; padding: 24px 0; border-right: 1px solid #e8ecea; background: #f7f9f8; color: #98a39f; font-size: 14px; }
.app-sidebar span { width: 28px; height: 28px; display: grid; place-items: center; border-radius: 7px; }
.app-sidebar .side-active { background: #ddf1eb; color: var(--green); }
.dashboard { flex: 1; padding: 28px 30px; }
.dash-heading { display: flex; justify-content: space-between; align-items: end; }
.dash-heading small, .panel-head small { display: block; color: #8b9893; font-size: 7px; letter-spacing: .9px; }
.dash-heading strong { display: block; margin-top: 7px; font-family: Georgia, serif; font-size: 24px; font-weight: 400; }
.dash-heading button { border: 1px solid #d5ded9; border-radius: 7px; background: white; padding: 7px 10px; color: #56645f; font-size: 8px; }
.metric-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px; margin-top: 22px; }
.metric { min-height: 118px; position: relative; padding: 15px; border: 1px solid #e4eae7; border-radius: 11px; background: white; }
.metric-icon { position: absolute; right: 12px; top: 12px; width: 23px; height: 23px; display: grid; place-items: center; border-radius: 7px; font-style: normal; font-size: 10px; }
.metric-icon.mint { background: #e2f4ed; color: #168567; }.metric-icon.amber { background: #fff1de; color: #d77d2c; }.metric-icon.blue { background: #e5eef9; color: #4077ba; }
.metric small { display: block; margin-top: 5px; color: #97a19d; font-size: 7px; letter-spacing: .7px; }
.metric strong { display: block; margin-top: 14px; font-size: 20px; }.metric em { color: #8b9793; font-size: 7px; font-style: normal; }
.activity-card { margin-top: 13px; padding: 15px 16px 7px; border: 1px solid #e4eae7; border-radius: 11px; background: white; }
.activity-title { display: flex; justify-content: space-between; align-items: center; margin-bottom: 7px; }.activity-title strong { font-size: 10px; }.activity-title span { color: var(--green); font-size: 7px; font-weight: 700; }
.event-row { display: grid; grid-template-columns: 35px 1fr auto; align-items: center; gap: 10px; padding: 9px 0; border-top: 1px solid #eef1ef; }.event-row strong { display: block; font-size: 8px; }.event-row small { display: block; margin-top: 3px; color: #99a29f; font-size: 7px; }.event-row > b { padding: 4px 7px; border-radius: 9px; background: #fff0e1; color: #ce752c; font-size: 6px; }
.muted-event > b { background: #e8f4ee; color: #347b65; }.face-placeholder, .known-placeholder { width: 33px; height: 33px; border-radius: 7px; background: linear-gradient(145deg, #a7b7ae, #657871); display: grid; place-items: center; overflow: hidden; }.face-placeholder span { display: block; width: 11px; height: 11px; margin-top: 6px; border-radius: 50%; background: #263c35; box-shadow: 0 13px 0 6px #263c35; }.known-placeholder { background: #dae8e3; color: #30715f; font-size: 10px; font-weight: 700; }
.alert-toast { position: absolute; z-index: 5; right: -34px; bottom: 2px; width: 255px; display: grid; grid-template-columns: 40px 1fr 22px; gap: 10px; align-items: center; padding: 13px; border: 1px solid rgba(255,255,255,.85); border-radius: 13px; background: rgba(255,255,255,.94); box-shadow: 0 16px 45px rgba(26,56,47,.2); backdrop-filter: blur(10px); animation: float 4s ease-in-out infinite; }
@keyframes float { 0%,100% { transform: translateY(0); } 50% { transform: translateY(-6px); } }
.toast-icon { width: 38px; height: 38px; display: grid; place-items: center; border-radius: 10px; background: #fff0e5; color: #e27b37; font-weight: 800; }.alert-toast small, .alert-toast strong, .alert-toast em { display: block; }.alert-toast small { color: #df7a39; font-size: 6px; font-weight: 800; letter-spacing: .7px; }.alert-toast strong { margin: 3px 0; font-size: 10px; }.alert-toast em { color: #8b9692; font-size: 7px; font-style: normal; }.toast-check { display: grid; place-items: center; width: 18px; height: 18px; border-radius: 50%; background: #dff2eb; color: var(--green); font-size: 9px; }
.orbit { position: absolute; border: 1px solid rgba(13,121,106,.13); border-radius: 50%; }.orbit-one { width: 500px; height: 500px; right: -230px; top: -125px; }.orbit-two { width: 280px; height: 280px; left: -125px; bottom: -65px; }

.privacy-band { padding: 88px 0; background: var(--green-dark); color: white; }
.privacy-grid { display: grid; grid-template-columns: 190px 1.1fr 1fr; align-items: center; gap: 62px; }
.privacy-band .section-label { color: #8de0c9; }.privacy-band h2 { margin: 0; max-width: 540px; font-family: Georgia, serif; font-size: 42px; line-height: 1.08; font-weight: 400; letter-spacing: -1.8px; }.privacy-band h2 + p { margin: 22px 0 0; color: #bdd4cd; line-height: 1.7; font-size: 15px; }
.privacy-mark { position: relative; height: 175px; display: grid; place-items: center; }.shield { width: 118px; height: 142px; display: grid; place-items: center; border: 1px solid rgba(165,236,215,.5); border-radius: 60px 60px 75px 75px; background: radial-gradient(circle at 50% 40%, rgba(127,229,199,.15), transparent 65%); clip-path: polygon(50% 0, 94% 16%, 86% 74%, 50% 100%, 14% 74%, 6% 16%); }.shield::before { content: ""; width: 70px; height: 70px; border: 1px solid #88dfc6; border-radius: 50%; }.shield span { position: absolute; width: 16px; height: 22px; border: 2px solid #b4f1df; border-radius: 9px 9px 4px 4px; }.local-badge { position: absolute; right: 14px; bottom: 13px; padding: 6px 10px; border-radius: 12px; background: var(--lime); color: #173b31; font-size: 8px; font-weight: 900; letter-spacing: 1px; }
.privacy-points > div { display: grid; grid-template-columns: 32px 1fr; gap: 14px; padding: 17px 0; border-top: 1px solid rgba(255,255,255,.16); }.privacy-points span { color: #7fafa1; font-size: 9px; font-weight: 700; }.privacy-points p { margin: 0; color: #a9c8bf; font-size: 12px; line-height: 1.55; }.privacy-points strong { display: block; margin-bottom: 4px; color: white; font-size: 14px; }

.section-heading { display: flex; align-items: end; justify-content: space-between; gap: 60px; margin-bottom: 62px; }.section-heading h2, .feature-copy h2, .faq h2, .open-source h2, .final-cta h2 { margin: 0; font-family: Georgia, serif; font-size: clamp(42px, 4vw, 58px); line-height: 1.06; font-weight: 400; letter-spacing: -2.4px; }.section-heading > p { max-width: 450px; margin: 0 0 4px; color: var(--muted); font-size: 16px; line-height: 1.75; }
.steps { background: white; }.steps-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; }.step-card { position: relative; min-height: 490px; padding: 28px 29px 31px; overflow: hidden; border: 1px solid var(--line); border-radius: var(--radius); background: #fafcf9; }.step-number { position: absolute; right: 25px; top: 24px; color: #9ba7a2; font-size: 10px; font-weight: 800; letter-spacing: 1px; }.step-card h3 { margin: 29px 0 12px; font-family: Georgia, serif; font-size: 26px; font-weight: 400; letter-spacing: -.8px; }.step-card p { margin: 0; color: var(--muted); font-size: 14px; line-height: 1.75; }.step-visual { height: 265px; position: relative; display: grid; place-items: center; border-radius: 17px; background: #eef4f0; overflow: hidden; }
.camera-visual { background: radial-gradient(circle at 50% 44%, #e8f7f2 0 25%, #dceae5 26%, #eff5f1 70%); }.camera-body { position: relative; width: 112px; height: 76px; border-radius: 40px 40px 24px 24px; background: #fbfdfc; box-shadow: 0 15px 30px rgba(40,80,66,.15); transform: rotate(-7deg); }.camera-body::after { content: ""; position: absolute; width: 76px; height: 34px; left: 18px; bottom: -26px; background: #d9e5e1; clip-path: polygon(18% 0, 82% 0, 100% 100%, 0 100%); }.camera-body i { position: absolute; width: 48px; height: 48px; left: 32px; top: 14px; border: 10px solid #263d36; border-radius: 50%; background: radial-gradient(circle, #42c5b0 0 10%, #16312a 12% 47%, #62857a 50% 53%, #10251f 55%); box-shadow: inset 0 0 0 4px #94a9a2; }.scan-lines { position: absolute; width: 175px; height: 175px; border: 1px solid rgba(20,145,123,.18); border-radius: 50%; box-shadow: 0 0 0 23px rgba(20,145,123,.045), 0 0 0 52px rgba(20,145,123,.035); }
.recognition-visual { background: #112d26; }.face-frame { position: relative; width: 140px; height: 174px; border: 1px solid rgba(150,237,211,.45); border-radius: 65px 65px 45px 45px; background: linear-gradient(160deg,#61877c,#1e463b); overflow: hidden; }.face-frame::before, .face-frame::after { content: ""; position: absolute; width: 22px; height: 22px; border-color: #7be1c4; border-style: solid; }.face-frame::before { left: 10px; top: 10px; border-width: 2px 0 0 2px; }.face-frame::after { right: 10px; bottom: 10px; border-width: 0 2px 2px 0; }.face-frame i { position: absolute; width: 57px; height: 67px; left: 42px; top: 36px; border-radius: 48% 48% 42% 42%; background: #b9ccc5; }.face-frame b { position: absolute; width: 112px; height: 90px; left: 14px; bottom: -35px; border-radius: 50%; background: #839e95; }.recognition-visual > span { position: absolute; bottom: 19px; padding: 6px 9px; border-radius: 10px; background: #b8ef75; color: #163c31; font-size: 7px; font-weight: 900; letter-spacing: .8px; }
.alert-visual { background: linear-gradient(145deg,#e9f1ee,#d9e8e3); }.phone { position: relative; z-index: 2; width: 150px; height: 210px; padding: 7px; border-radius: 25px; background: #18362e; box-shadow: 0 20px 30px rgba(29,65,54,.22); transform: rotate(5deg) translateY(18px); }.phone > div { height: 100%; padding: 30px 14px; border-radius: 19px; background: linear-gradient(#f9fbfa,#ebf2ef); }.phone span { width: 29px; height: 29px; display: grid; place-items: center; margin-bottom: 18px; border-radius: 9px; background: #fff0e3; color: #e27c3c; font-weight: 800; }.phone small, .phone strong, .phone em { display: block; }.phone small { color: #16806a; font-size: 6px; font-weight: 900; letter-spacing: .8px; }.phone strong { margin: 8px 0; font-family: Georgia,serif; font-size: 15px; }.phone em { color: #7c8b86; font-size: 8px; font-style: normal; }.wave { position: absolute; border: 1px solid rgba(16,121,104,.2); border-radius: 50%; }.w1 { width: 210px; height: 210px; }.w2 { width: 270px; height: 270px; }

.feature-section { background: #f2f6f2; }.feature-grid { display: grid; grid-template-columns: .85fr 1.15fr; gap: 90px; align-items: center; }.feature-copy > p:not(.section-label) { max-width: 510px; margin: 25px 0 0; color: var(--muted); font-size: 16px; line-height: 1.7; }.feature-list { padding: 0; margin: 36px 0 0; list-style: none; }.feature-list li { display: grid; grid-template-columns: 28px 1fr; gap: 12px; padding: 17px 0; border-top: 1px solid #d7e1dc; }.feature-list li > span { width: 22px; height: 22px; display: grid; place-items: center; margin-top: 1px; border-radius: 50%; background: #d5ece4; color: var(--green); font-size: 11px; font-weight: 900; }.feature-list strong { font-size: 14px; }.feature-list p { margin: 5px 0 0; color: #71807a; font-size: 12px; line-height: 1.55; }
.review-panel { overflow: hidden; border: 1px solid #dae3df; border-radius: 20px; background: white; box-shadow: var(--shadow); }.panel-head { display: flex; justify-content: space-between; align-items: center; padding: 19px 22px; }.panel-head strong { display: block; margin-top: 4px; font-size: 13px; }.panel-head > span { color: #8e9995; font-size: 9px; }.scene-image { position: relative; height: 330px; overflow: hidden; background: linear-gradient(140deg,#c6d6d0,#708980); }.scene-image::before { content:""; position:absolute; inset:0; background: linear-gradient(90deg,rgba(17,43,35,.34),transparent 50%), linear-gradient(0deg,rgba(16,34,29,.3),transparent 50%); }.door { position:absolute; left:24%; top:0; width:37%; height:100%; background: linear-gradient(90deg,#334a43,#839a92); border-right: 10px solid #273e37; }.door::after { content:""; position:absolute; right:15px; top:53%; width:8px; height:8px; border-radius:50%; background:#d9ad5e; }.plant { position:absolute; right:1%; bottom:-30px; width:130px; height:230px; background: repeating-radial-gradient(ellipse at 40% 100%,#264d3d 0 10%,#4f7868 12% 16%,transparent 18% 29%); }.person { position:absolute; left:46%; bottom:-10px; width:120px; height:230px; }.person span { position:absolute; left:35px; top:20px; width:57px; height:69px; border-radius:50% 50% 45% 45%; background:#b79b82; box-shadow: -5px -7px 0 #3d3b32; }.person i { position:absolute; inset:86px 0 0; border-radius:45px 45px 0 0; background:#263d48; }.detection-box { position:absolute; left:48%; top:22px; width:83px; height:93px; border:2px solid #e7a052; }.detection-box::before,.detection-box::after { content:""; position:absolute; width:12px; height:12px; border-color:white; border-style:solid; }.detection-box::before { left:-3px;top:-3px;border-width:2px 0 0 2px; }.detection-box::after { right:-3px;bottom:-3px;border-width:0 2px 2px 0; }.detection-box b { position:absolute; left:-2px; top:-20px; padding:4px 6px; background:#e89a4f; color:white; font-size:6px; white-space:nowrap; }.review-actions { display:grid; grid-template-columns:1fr 1fr; gap:8px; padding:14px; }.review-actions button { min-height:38px; border:0; border-radius:8px; font-size:9px; font-weight:700; }.approve { background:var(--green);color:white; }.new-person { background:#e7f2ee;color:var(--green-dark); }.review-actions .dismiss { grid-column:1/-1; min-height:27px; background:transparent; color:#82908b; }

.compatibility { background: white; }.source-grid { display: grid; grid-template-columns: repeat(5,1fr); gap: 12px; }.source-card { min-height: 180px; display: flex; flex-direction: column; align-items: center; justify-content: center; border: 1px solid var(--line); border-radius: 18px; background: #fbfcfb; transition: transform .2s, border-color .2s, box-shadow .2s; }.source-card:hover { transform: translateY(-5px); border-color: #aacfc3; box-shadow: 0 15px 35px rgba(25,55,45,.09); }.source-card > span { width: 48px; height: 48px; display: grid; place-items: center; margin-bottom: 19px; border-radius: 15px; background: #e3f2ed; color: var(--green); font-size: 22px; }.source-card strong { font-size: 14px; }.source-card small { margin-top: 7px; color: #89958f; font-size: 9px; }.compat-note { margin: 27px 0 0; text-align: center; color: #82908a; font-size: 12px; }

.open-source { padding: 110px 0; background: #102d25; color: white; overflow: hidden; }.open-grid { display: grid; grid-template-columns: .8fr 1.2fr; gap: 120px; align-items: center; }.code-art { position: relative; min-height: 310px; display: flex; align-items: center; justify-content: center; gap: 25px; color: #7edbc2; }.code-art::before { content:""; position:absolute; width:310px;height:310px;border:1px solid rgba(126,219,194,.13);border-radius:50%;box-shadow:0 0 0 55px rgba(126,219,194,.025),0 0 0 105px rgba(126,219,194,.02); }.code-art span { font-family: Georgia,serif; font-size: 140px; font-weight: 200; color:#4b8e7d; }.code-art i { color:#ddf6ef; font-family: Georgia,serif; font-size: 21px; line-height:1.5; text-align:center; font-style:italic; }.open-source .section-label { color:#8bdcc6; }.open-source h2 { font-size: clamp(40px,3.8vw,55px); }.open-source h2 + p { max-width:600px; margin:25px 0 32px; color:#aacac1; line-height:1.75; }

.faq { background: #f7f9f6; }.faq-grid { display:grid; grid-template-columns:.75fr 1.25fr; gap:100px; }.faq-intro { max-width:400px; color:var(--muted); line-height:1.7; }.accordion { border-top:1px solid #ced9d4; }.accordion details { border-bottom:1px solid #ced9d4; }.accordion summary { display:flex; align-items:center; justify-content:space-between; gap:20px; padding:24px 0; cursor:pointer; list-style:none; font-family:Georgia,serif; font-size:21px; }.accordion summary::-webkit-details-marker { display:none; }.accordion summary span { color:var(--green); font-family:Arial,sans-serif; font-size:20px; font-weight:300; transition:transform .2s; }.accordion details[open] summary span { transform:rotate(45deg); }.accordion details p { max-width:680px; margin:-7px 45px 24px 0; color:var(--muted); font-size:14px; line-height:1.7; }

.final-cta { padding: 125px 0; text-align:center; background: radial-gradient(circle at 50% 25%,#edf6f2 0,#f7f9f6 55%); }.final-cta .shell { display:flex; flex-direction:column; align-items:center; }.final-cta img { margin-bottom:20px; filter:drop-shadow(0 10px 16px rgba(15,118,110,.16)); }.final-cta h2 { font-size:clamp(44px,5vw,68px); }.final-cta > .shell > p:not(.section-label) { max-width:600px; margin:26px 0 0; color:var(--muted); line-height:1.7; }.cta-actions { display:flex; align-items:center; gap:30px; margin-top:35px; }

.site-footer { padding:70px 0 25px; background:#0d201b; color:white; }.footer-top { display:grid; grid-template-columns:1.15fr 1fr .7fr .8fr; gap:60px; padding-bottom:60px; }.brand-footer { align-self:start; }.brand-footer img { filter:saturate(.8) brightness(1.2); }.footer-top > p { margin:5px 0 0; color:#8fa79f; font-size:13px; line-height:1.7; }.footer-links { display:flex; flex-direction:column; align-items:flex-start; gap:12px; }.footer-links strong { margin-bottom:6px; color:#dbe8e3; font-size:11px; text-transform:uppercase; letter-spacing:1px; }.footer-links a { color:#8fa79f; text-decoration:none; font-size:12px; }.footer-links a:hover { color:white; }.footer-bottom { display:flex; justify-content:space-between; gap:20px; padding-top:23px; border-top:1px solid rgba(255,255,255,.11); color:#708980; font-size:10px; }

@media (max-width: 1050px) {
  .navigation { gap:20px; }.navigation > a:not(.nav-cta) { display:none; }
  .hero { padding-top:135px; }.hero-grid { grid-template-columns:1fr; }.hero-copy { max-width:760px; }.product-scene { width:min(700px,100%); min-width:0; margin:0 auto; }
  .privacy-grid { grid-template-columns:140px 1fr; }.privacy-points { grid-column:2; }
  .feature-grid { gap:45px; }.source-grid { grid-template-columns:repeat(3,1fr); }.source-card:nth-child(4),.source-card:nth-child(5){ grid-column:span 1; }
  .open-grid { gap:55px; }.footer-top { grid-template-columns:1fr 1fr 1fr; }.footer-top > p { display:none; }
}

@media (max-width: 760px) {
  .shell { width:min(100% - 32px,1180px); }.section { padding:88px 0; }
  .nav-wrap { height:70px; }.navigation { display:none; position:absolute; left:16px; right:16px; top:65px; padding:15px; border:1px solid var(--line); border-radius:16px; background:rgba(255,255,255,.98); box-shadow:var(--shadow); }.navigation.open { display:flex; flex-direction:column; align-items:stretch; gap:5px; }.navigation > a:not(.nav-cta) { display:block; padding:12px; }.navigation .nav-cta { justify-content:center; margin-top:5px; }.menu-button { display:flex; }
  .hero { min-height:auto; padding:125px 0 75px; }.hero-grid { gap:60px; }.hero-copy { text-align:center; }.eyebrow { justify-content:center; }.hero h1 { font-size:clamp(45px,14vw,62px); letter-spacing:-3px; }.hero-intro { font-size:16px; }.hero-actions,.trust-row { justify-content:center; }.product-scene { padding-bottom:55px; }.app-window { transform:none; }.app-sidebar { display:none; }.dashboard { padding:20px 17px; }.app-body { min-height:360px; }.metric-grid { gap:6px; }.metric { padding:10px; }.metric-icon { display:none; }.alert-toast { right:8px; bottom:4px; }.orbit { display:none; }
  .privacy-band { padding:75px 0; }.privacy-grid { grid-template-columns:1fr; text-align:center; gap:34px; }.privacy-mark { height:145px; }.privacy-grid > div:nth-child(2) { max-width:570px; margin:auto; }.privacy-points { grid-column:1; text-align:left; }
  .section-heading { display:block; margin-bottom:45px; }.section-heading > p { margin-top:23px; }.steps-grid { grid-template-columns:1fr; }.step-card { min-height:0; }.step-visual { height:240px; }
  .feature-grid { grid-template-columns:1fr; gap:55px; }.source-grid { grid-template-columns:repeat(2,1fr); }.source-card:last-child { grid-column:1/-1; }
  .open-grid { grid-template-columns:1fr; gap:35px; text-align:center; }.code-art { min-height:240px; }.code-art::before { width:220px;height:220px; }.code-art span { font-size:100px; }.open-source .button { margin:auto; }
  .faq-grid { grid-template-columns:1fr; gap:45px; }.footer-top { grid-template-columns:1fr 1fr; }.brand-footer { grid-column:1/-1; }.footer-bottom { flex-direction:column; align-items:center; text-align:center; }
}

@media (max-width: 480px) {
  .hero-actions,.cta-actions { flex-direction:column; gap:20px; }.trust-row { gap:13px; }.trust-row span { width:100%; }
  .app-topbar { padding:0 10px; }.app-status { display:none; }.avatar { margin-left:auto; }.dashboard { padding:18px 10px; }.dash-heading strong { font-size:20px; }.metric { min-height:95px; }.metric strong { font-size:17px; }.activity-card { padding-inline:10px; }.event-row { grid-template-columns:31px 1fr; }.event-row > b { display:none; }.alert-toast { width:225px; }
  .privacy-band h2,.section-heading h2,.feature-copy h2,.faq h2,.open-source h2,.final-cta h2 { font-size:39px; letter-spacing:-1.7px; }.source-grid { grid-template-columns:1fr; }.source-card:last-child { grid-column:auto; }.source-card { min-height:150px; }.review-actions { grid-template-columns:1fr; }.review-actions .dismiss { grid-column:1; }.scene-image { height:280px; }.open-source { padding:80px 0; }.code-art { transform:scale(.8); }.footer-top { grid-template-columns:1fr; }.brand-footer { grid-column:auto; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior:auto; } *,*::before,*::after { animation-duration:.01ms !important; animation-iteration-count:1 !important; transition-duration:.01ms !important; }
}
