:root{color-scheme:light;--ink:#171f19;--muted:#4f6257;--green:#24563e;--line:#d8e1d8;--paper:#f5f7f1;--white:#fff;--lime:#d9f08f;--dark:#18362a;font-family:"DM Sans",system-ui,sans-serif}
*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink)}a{color:inherit;text-decoration:none}button,input,select{font:inherit}button,select{cursor:pointer}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #398360;outline-offset:3px}[hidden]{display:none!important}.wrap{width:min(1180px,calc(100% - 72px));margin-inline:auto}header{border-bottom:1px solid var(--line);background:#fbfcf7}.top{height:72px;display:flex;justify-content:space-between;align-items:center;gap:14px}.brand{display:flex;align-items:center;font-weight:800;letter-spacing:-.04em;font-size:20px;gap:12px}.logo{background:var(--dark);color:var(--lime);width:34px;height:34px;border-radius:9px;display:grid;place-items:center}.nav{font-size:14px;font-weight:700}.nav span{margin-left:5px}
.hero{margin:30px 0 46px;background:var(--dark);color:#fff;border-radius:24px;padding:48px clamp(28px,6vw,72px);display:grid;grid-template-columns:minmax(0,1fr) minmax(200px,.66fr);gap:42px;align-items:center;overflow:hidden}.location{margin:0 0 22px;color:#eff6d9;font-size:13px;font-weight:700;display:flex;align-items:center;gap:9px}.location span{width:8px;height:8px;border-radius:50%;background:var(--lime)}h1{font-size:clamp(44px,6.4vw,83px);line-height:.99;letter-spacing:-.075em;margin:0}h1 em{color:var(--lime);font-style:normal}.intro{max-width:440px;color:#d5e2d8;line-height:1.6;margin:20px 0 25px}.search{max-width:475px;display:flex;align-items:center;gap:10px;border-radius:12px;padding:0 16px;background:#fbfdf6;color:var(--green);height:54px}.search span{font-size:28px}.search input{width:100%;border:0;background:transparent;padding:10px 1px;color:var(--ink);min-width:0}.search input::placeholder{color:#526259}
.graphic{min-height:265px;display:flex;align-items:center;justify-content:center;flex-direction:column;position:relative;isolation:isolate}.circuit{position:absolute;inset:0;z-index:-1;opacity:.42;background:radial-gradient(ellipse at 50% 50%,#426c50,transparent 75%),repeating-linear-gradient(90deg,transparent 0 27px,#537263 28px 29px),repeating-linear-gradient(0deg,transparent 0 27px,#537263 28px 29px);mask-image:radial-gradient(ellipse at center,black 30%,transparent 77%)}.monitor{width:min(270px,90%);border:2px solid #a0bd9e;padding:11px;border-radius:18px;background:#28503b;box-shadow:9px 13px 0 #0f2920}.screen{border:1px solid #78917b;border-radius:9px;background:#102a22;padding:20px;color:#bdcfaf}.screen>span{font:700 11px ui-monospace,monospace;letter-spacing:.24em}.screen strong{font-size:clamp(40px,6vw,74px);letter-spacing:-.11em;display:block;color:var(--lime);line-height:1.13}.screen strong span{color:#9bbca3}.screen-line{height:1px;background:#668875;margin-top:9px}.stand{height:23px;width:44px;border-left:2px solid #a0bd9e;border-right:2px solid #a0bd9e;background:#28503b}.base{width:110px;height:9px;background:#345e47;border:1px solid #a0bd9e;border-radius:5px}
.directory{scroll-margin:20px}.section-head{display:flex;justify-content:space-between;align-items:end;gap:16px}.section-head h2{margin:0;font-size:38px;line-height:1.1;letter-spacing:-.055em}.section-head p{color:var(--muted);margin:9px 0 0;font-size:14px}.sort{display:flex;align-items:center;gap:8px;color:var(--muted);font-size:13px}.sort select{background:#fff;color:var(--ink);border:1px solid var(--line);border-radius:9px;padding:9px}.tabs{display:flex;gap:8px;flex-wrap:wrap;margin:22px 0 16px}.tabs button{border:1px solid var(--line);border-radius:999px;padding:8px 15px;background:transparent;font-weight:650;font-size:14px;color:var(--green)}.tabs button[aria-pressed=true]{background:var(--dark);color:#fff;border-color:var(--dark)}
.grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.card{border:1px solid var(--line);border-radius:14px;background:var(--white);padding:18px;min-height:140px;text-align:left;color:inherit;display:flex;flex-direction:column;gap:12px;width:100%}.card:hover{border-color:#6b9d7e;background:#fcfef9}.card-top{display:flex;justify-content:space-between;align-items:start;gap:8px}.icon{width:36px;height:36px;border-radius:9px;display:grid;place-items:center;background:#e7f0df;color:var(--green);font-size:12px;font-weight:800}.arrow{color:var(--green);font-size:21px}.card strong{font-size:17px;line-height:1.2}.card .meta{font-size:12px;color:var(--muted);margin-top:auto}.more{display:block;margin:22px auto 0;padding:10px 20px;border-radius:9px;border:1px solid var(--green);background:#fff;color:var(--green);font-weight:700}.empty{grid-column:1/-1;padding:22px 0;color:var(--muted)}footer{border-top:1px solid var(--line);margin-top:55px;padding:25px 0 33px;color:var(--muted);font-size:14px}footer p{margin:8px 0 0}
dialog{width:min(650px,calc(100% - 24px));max-height:85dvh;padding:0;border:1px solid var(--line);border-radius:20px;color:var(--ink);box-shadow:0 24px 80px #12261a40}dialog::backdrop{background:#12261aa0}.detail-inner{padding:30px;position:relative}.close{position:absolute;right:14px;top:14px;background:#edf3eb;border:0;color:var(--dark);width:36px;height:36px;border-radius:50%;font-size:23px;line-height:1}.detail-inner h2{margin:0 34px 6px 0;letter-spacing:-.045em;font-size:31px}.detail-inner h3{margin:24px 0 10px}.detail-inner p{line-height:1.55}.sub{color:var(--muted);font-size:14px}.review{border:1px solid var(--line);border-radius:12px;padding:13px 15px;margin-top:9px}.review p{margin:6px 0 0}.review small{color:var(--muted)}.score{float:right;color:#24563e;font-weight:750}
@media(max-width:800px){.wrap{width:calc(100% - 36px)}.grid{grid-template-columns:repeat(2,minmax(0,1fr))}.hero{gap:10px}}
@media(max-width:560px){.wrap{width:calc(100% - 24px)}.top{height:60px}.brand{font-size:16px;gap:7px}.logo{width:27px;height:27px}.nav{font-size:12px}.hero{display:block;padding:30px 20px;margin:16px 0 30px}.graphic{display:none}.grid{gap:8px}.card{padding:12px;min-height:126px}.card strong{font-size:15px}.section-head h2{font-size:28px}.sort{display:block}.sort select{display:block;margin-top:4px;max-width:135px}.detail-inner{padding:22px}}
.card .street{font-size:13px;color:var(--muted);line-height:1.4}.addresses{margin:0;padding-left:20px;line-height:1.55}.addresses li+li{margin-top:6px}
.reviewer{display:block;margin-bottom:4px}.review-kind{display:block;margin-top:10px}.review-quote{margin:5px 0 0;padding-left:12px;border-left:2px solid #a6c59d;line-height:1.55}.review-context{margin-top:8px;font-size:13px;color:var(--muted)}.review-context summary{cursor:pointer;width:fit-content}
.contact-links{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.contact-links li{display:flex;flex-wrap:wrap;gap:4px 12px}
.contact-links strong{min-width:60px}
.contact-links a{color:var(--green);text-decoration:underline;overflow-wrap:anywhere;min-width:0}
.page{padding-top:28px}.crumbs{font-size:13px;color:var(--muted);margin-bottom:18px}.crumbs a{color:var(--green);text-decoration:underline}
.shop-page{background:var(--white);border:1px solid var(--line);border-radius:20px;padding:clamp(20px,4vw,36px);max-width:760px}.shop-page h1,.list-head h1{font-size:clamp(32px,5vw,52px);line-height:1.05;letter-spacing:-.055em}.shop-page h1{margin:0 0 8px}.shop-page h2{margin:26px 0 10px;font-size:20px}.shop-page p{line-height:1.55}.rating{color:var(--green)}
.list-head{margin-bottom:22px}.list-head h1{margin:0 0 12px}.intro-text{max-width:680px;line-height:1.6;color:var(--muted)}.text-link{color:var(--green);font-weight:700;text-decoration:underline}.page-link{display:inline-block;margin-top:20px}
.related{margin-top:40px}.related h2,.seo-links h2{font-size:26px;letter-spacing:-.045em}
.seo-links{margin-top:50px}.area-links{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.area-link{border:1px solid var(--line);border-radius:14px;background:var(--white);padding:18px;display:flex;flex-direction:column;gap:6px}.area-link:hover{border-color:#6b9d7e}.area-link span{font-size:13px;color:var(--muted)}
.footer-links{display:flex;flex-wrap:wrap;gap:8px 20px;margin-top:10px}.footer-links a{text-decoration:underline}
@media(max-width:800px){.area-links{grid-template-columns:1fr}}
