/* The public site has no script, remote fonts, tracking, or application imports. */
:root { color-scheme:light; --paper:#f7f8f5; --ink:#182d31; --muted:#53676a; --accent:#1c6c5c; --line:#d9e0db; --soft:#edf2ed; --white:#fff; font-family:Inter,"Segoe UI",Arial,sans-serif; font-synthesis:none; }
* { box-sizing:border-box; }
body { margin:0; background:var(--paper); color:var(--ink); -webkit-font-smoothing:antialiased; }
a { color:inherit; }
a:focus-visible { outline:3px solid #a86713; outline-offset:6px; border-radius:3px; }
.wrap { width:min(1200px,calc(100% - 96px)); margin-inline:auto; }
.skip-link { position:fixed; left:16px; top:-100px; z-index:10; padding:12px 18px; color:white; background:var(--ink); text-decoration:none; }
.skip-link:focus { top:12px; }
.site-header { display:flex; align-items:center; justify-content:space-between; gap:28px; min-height:104px; border-bottom:1px solid var(--line); }
.brand { display:flex; align-items:center; gap:11px; text-decoration:none; font-weight:700; font-size:23px; letter-spacing:-1px; }
.brand-light { font-weight:400; }
.brand-box { fill:var(--ink); }
.brand-line { fill:none; stroke:#f6f8ef; stroke-width:2; stroke-linecap:round; stroke-linejoin:round; }
.brand-spark { fill:none; stroke:#c7d791; stroke-width:1.5; stroke-linecap:round; stroke-linejoin:round; }
.site-header nav { display:flex; align-items:center; gap:31px; font-size:13px; }
.site-header nav a { text-decoration:none; padding-block:10px; }
.site-header nav a:hover { color:var(--accent); }
.site-header .nav-status { border:1px solid #b9c9bd; border-radius:5px; padding:11px 15px; }
.nav-status span { padding-left:11px; }
.hero { display:grid; grid-template-columns:1.03fr 1fr; align-items:center; gap:50px; padding-top:85px; padding-bottom:94px; }
.eyebrow { font-size:10px; font-weight:700; letter-spacing:1.6px; line-height:1.7; margin:0 0 22px; }
.hero .eyebrow { display:flex; align-items:center; gap:9px; }
.status-dot { display:inline-block; width:6px; height:6px; border-radius:50%; background:var(--accent); flex-shrink:0; }
h1,h2,h3,p { overflow-wrap:break-word; }
h1 { font-size:clamp(40px,4.4vw,64px); font-weight:550; line-height:1.08; letter-spacing:-3px; margin:0 0 27px; }
h1 span { color:var(--accent); }
.hero-description { max-width:510px; font-size:16px; line-height:1.8; color:var(--muted); margin:0 0 31px; }
.hero-actions { display:flex; align-items:center; gap:20px; flex-wrap:wrap; }
.button { display:inline-flex; align-items:center; justify-content:space-between; gap:27px; border:1px solid var(--accent); border-radius:5px; background:var(--accent); color:white; padding:15px 19px; text-decoration:none; font-size:13px; font-weight:600; }
.button:hover { background:#155647; }
.development-status { color:var(--muted); font-size:12px; }
.hero-footnote { margin:23px 0 0; font-size:11px; line-height:1.7; color:var(--muted); }
.plan-preview { margin:0; border:1px solid #cbd6ce; border-radius:8px; background:#fff; box-shadow:0 15px 45px #203b2c08; overflow:hidden; transform:rotate(-1.5deg); }
.preview-topline { display:flex; align-items:center; justify-content:space-between; padding:15px 17px; border-bottom:1px solid var(--line); gap:12px; font-size:8px; letter-spacing:.8px; }
.preview-file { display:flex; gap:7px; align-items:center; font-weight:700; }
.file-icon { display:inline-block; width:9px; height:12px; border:1px solid #82938a; border-radius:1px; }
.preview-status { color:var(--muted); letter-spacing:.1px; }
.plan-art { display:block; width:100%; height:auto; background:#fcfdfb; }
.grid-line { fill:none; stroke:#dfe7df; stroke-width:.55; }
.wall { stroke:#4f6463; stroke-width:3; fill:none; }
.wall-detail { stroke:#b1beb5; stroke-width:1; fill:none; }
.door { stroke:#a9b8b0; stroke-width:1.2; fill:none; }
.room-boundary { fill:#1c6c5c09; stroke:#1c6c5c; stroke-width:1.4; stroke-dasharray:5 4; }
.hatch-line { stroke:#1c6c5c; stroke-width:.5; opacity:.1; }
.light-fixtures { fill:#f0f3ec; stroke:#b0beb2; stroke-width:1; }
.furniture { fill:#eef1eb; stroke:#bac5bc; stroke-width:1; }
.connection { fill:none; stroke:#5a9280; stroke-width:1.5; stroke-dasharray:4 4; }
.sensor { fill:#fff; stroke:#1c6c5c; stroke-width:1.7; }
.sensor-text { fill:#1c6c5c; text-anchor:middle; font-family:"Segoe UI",Arial,sans-serif; font-weight:700; font-size:9px; }
.switch { fill:#1c6c5c; stroke:#1c6c5c; stroke-width:1; }
.switch-text { fill:#fff; text-anchor:middle; font-family:"Segoe UI",Arial,sans-serif; font-size:10px; font-weight:600; }
.room-label { text-anchor:middle; fill:#6e7f78; font-family:"Segoe UI",Arial,sans-serif; font-size:8px; letter-spacing:1px; }
.dimension { fill:#82928b; stroke:#c0ccc2; stroke-width:.8; }
.dimension text { stroke:none; text-anchor:middle; font-family:"Segoe UI",Arial,sans-serif; font-size:7px; letter-spacing:1.7px; }
.boundary-node { fill:#fff; stroke:#1c6c5c; stroke-width:1; }
.plan-preview figcaption { display:flex; justify-content:space-between; align-items:center; gap:12px; padding:15px 17px; border-top:1px solid var(--line); font-size:8px; color:var(--muted); letter-spacing:.25px; }
.plan-preview figcaption span:first-child { display:flex; gap:6px; align-items:center; }
.plan-preview figcaption span:last-child { letter-spacing:1px; font-size:7px; }
.legend-dot { height:5px; width:5px; border-radius:50%; background:var(--accent); }
.workflow-section { background:#edf1eb; border-block:1px solid var(--line); padding:68px 0 72px; }
.section-heading { display:flex; justify-content:space-between; gap:60px; align-items:flex-end; margin-bottom:44px; }
h2 { font-size:clamp(28px,3vw,40px); line-height:1.15; font-weight:550; letter-spacing:-1.5px; margin:0; }
.section-heading .eyebrow,.audience-section .eyebrow,.manufacturer-section .eyebrow { margin-bottom:16px; }
.section-heading>p { margin:0 0 3px; max-width:330px; color:var(--muted); font-size:14px; line-height:1.8; }
.workflow { list-style:none; padding:0; margin:0; display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); }
.workflow li { border-left:1px solid #c9d4ca; padding:0 25px; }
.workflow li:first-child { border-left:0; padding-left:0; }
.workflow li:last-child { padding-right:0; }
.step-number { display:block; font-family:"Consolas",monospace; color:#526f60; font-size:11px; margin-bottom:23px; }
.workflow h3 { font-size:15px; font-weight:600; margin:0 0 12px; letter-spacing:-.3px; }
.workflow p { margin:0; font-size:12px; line-height:1.85; color:var(--muted); }
.audience-section { display:grid; grid-template-columns:1fr 1fr; gap:90px; padding-block:76px; border-bottom:1px solid var(--line); }
.audience-content>p { color:var(--muted); font-size:14px; line-height:1.8; margin:5px 0 22px; max-width:440px; }
.audience-list { display:grid; grid-template-columns:1fr 1fr; list-style:none; margin:0; padding:0; gap:15px 24px; font-size:12px; }
.audience-list li { padding-left:14px; position:relative; line-height:1.6; }
.audience-list li:before { content:""; position:absolute; width:4px; height:4px; left:0; top:7px; border:1px solid #71927c; }
.manufacturer-section { padding-block:62px; display:grid; grid-template-columns:210px 1fr; align-items:center; gap:50px; }
.manufacturer-mark { font-size:43px; font-weight:500; letter-spacing:-2px; color:#315747; border-right:1px solid var(--line); padding:35px 30px 35px 0; }
.manufacturer-section h2 { font-size:28px; letter-spacing:-.8px; margin-bottom:14px; }
.manufacturer-section p:not(.eyebrow) { margin:0; max-width:720px; font-size:13px; line-height:1.9; color:var(--muted); }
.manufacturer-section .manufacturer-note { font-size:10px !important; margin-top:9px !important; }
.early-access-section { padding-block:0 70px; }
.early-access-panel { display:grid; grid-template-columns:1fr 1fr; gap:70px; padding:47px 50px; background:#e2ebe2; border:1px solid #d0decf; border-radius:8px; }
.early-access-panel .eyebrow { display:flex; align-items:center; gap:9px; margin-bottom:18px; }
.early-access-panel h2 { font-size:35px; }
.early-access-copy>p { margin:0 0 12px; font-size:13px; line-height:1.8; color:#435d50; }
.development-label { display:inline-flex; align-items:center; gap:7px; font-size:10px; margin-top:8px; color:#345747; }
.development-label>span { width:5px; height:5px; border-radius:50%; background:var(--accent); }
.site-footer { display:flex; align-items:center; justify-content:space-between; gap:20px; min-height:90px; border-top:1px solid var(--line); font-size:10px; color:var(--muted); }
.footer-brand { font-size:15px; color:var(--ink); font-weight:600; letter-spacing:-.4px; text-decoration:none; }
.site-footer p { margin:0; }
@media (prefers-reduced-motion:no-preference) { html { scroll-behavior:smooth; } }
@media (min-width:1500px) { .hero { padding-top:105px; padding-bottom:115px; } }
@media (max-width:1000px) {
  .wrap { width:calc(100% - 56px); }
  .site-header nav { gap:20px; }
  .hero { gap:28px; padding-top:65px; padding-bottom:70px; }
  h1 { font-size:45px; letter-spacing:-2px; }
  .hero-description { font-size:14px; }
  .hero-actions { gap:14px; }
  .button { gap:16px; padding:14px; font-size:12px; }
  .preview-topline,.plan-preview figcaption { padding-inline:12px; }
  .preview-status { font-size:7px; }
  .section-heading { gap:35px; }
  .workflow li { padding-inline:17px; }
  .workflow h3 { font-size:14px; }
  .audience-section { gap:40px; }
  .audience-list { gap:13px 15px; }
  .early-access-panel { padding:36px; gap:35px; }
  .early-access-panel h2 { font-size:31px; }
}
@media (max-width:760px) {
  .wrap { width:calc(100% - 40px); }
  .site-header { min-height:84px; gap:15px; flex-wrap:wrap; padding-block:19px; }
  .brand { font-size:21px; }
  .site-header nav { gap:17px; font-size:11px; }
  .site-header .nav-status { padding:9px 11px; }
  .hero { grid-template-columns:1fr; gap:45px; padding-top:47px; padding-bottom:52px; }
  h1 { font-size:54px; }
  .hero-description { max-width:580px; font-size:15px; }
  .hero-copy .eyebrow { font-size:9px; }
  .plan-preview { max-width:590px; width:calc(100% - 10px); margin-inline:auto; transform:rotate(-1deg); }
  .preview-topline { font-size:8px; padding:14px; }
  .preview-status { font-size:8px; }
  .plan-preview figcaption { font-size:8px; padding:14px; }
  .workflow-section { padding-block:46px; }
  .section-heading { display:block; margin-bottom:34px; }
  .section-heading>p { margin-top:20px; max-width:500px; }
  h2 { font-size:34px; }
  .workflow { grid-template-columns:1fr 1fr; gap:32px 0; }
  .workflow li { padding-inline:20px; }
  .workflow li:nth-child(3) { border-left:0; padding-left:0; }
  .step-number { margin-bottom:15px; }
  .workflow h3 { font-size:15px; }
  .workflow p { font-size:12px; }
  .audience-section { padding-block:47px; grid-template-columns:1fr; gap:28px; }
  .audience-content>p { margin-top:0; }
  .audience-list { font-size:12px; }
  .manufacturer-section { grid-template-columns:1fr; gap:22px; padding-block:43px; }
  .manufacturer-mark { border-right:0; padding:0; font-size:36px; }
  .manufacturer-section h2 { font-size:27px; }
  .early-access-section { padding-bottom:40px; }
  .early-access-panel { grid-template-columns:1fr; padding:30px 25px; gap:25px; }
  .early-access-panel h2 { font-size:32px; }
  .site-footer { flex-wrap:wrap; padding-block:24px; gap:15px; }
  .site-footer p { order:3; flex-basis:100%; }
}
@media (max-width:450px) {
  .site-header { gap:18px; }
  .site-header nav { width:100%; justify-content:space-between; gap:9px; }
  .site-header nav a { padding-block:8px; }
  .site-header .nav-status { padding:8px 10px; }
  h1 { font-size:43px; letter-spacing:-2px; }
  .hero { padding-top:35px; gap:34px; }
  .hero-description { font-size:14px; }
  .hero-footnote { font-size:10px; }
  .hero-actions { gap:15px; }
  .eyebrow { font-size:9px; letter-spacing:1.2px; }
  .workflow { grid-template-columns:1fr; gap:27px; }
  .workflow li,.workflow li:first-child,.workflow li:nth-child(3) { padding:0 0 0 18px; border-left:1px solid #bfcfc1; }
  .step-number { margin-bottom:11px; }
  .workflow p { max-width:330px; font-size:13px; }
  .audience-list { grid-template-columns:1fr; gap:11px; }
  .early-access-panel { padding:27px 22px; }
  .early-access-panel h2 { font-size:29px; }
}
