
:root{--ground:#EDEDEA;--ink:#111;--muted:#6B6B66;--lime:#C7F000;--lime-ink:#3A4A00;--line:#E4E4E0}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--ground);color:var(--ink);font-family:'Plus Jakarta Sans',system-ui,-apple-system,Segoe UI,sans-serif;-webkit-font-smoothing:antialiased;overflow-x:hidden}
a{color:var(--ink)}a:hover{color:#444}
img{max-width:100%;height:auto}
.wrap{max-width:1240px;margin:0 auto;padding:0 32px}
.sec{padding:0 0 56px}
.btn{display:inline-flex;align-items:center;justify-content:center;height:52px;padding:0 24px;border-radius:14px;font-weight:700;font-size:15px;text-decoration:none;white-space:nowrap;border:0;cursor:pointer;font-family:inherit}
.btn-k{background:#111;color:#fff}.btn-k:hover{background:#333;color:#fff}
.btn-w{background:#fff;color:#111;border:2px solid var(--line)}.btn-w:hover{background:#F6F6F4;color:#111}
.btn-l{background:var(--lime);color:#111}.btn-l:hover{background:#D8FF2A;color:#111}
.btn-g{background:rgba(255,255,255,.1);color:#fff}.btn-g:hover{background:rgba(255,255,255,.18);color:#fff}
.t{background:#fff;border-radius:24px;padding:28px;display:flex;flex-direction:column;gap:10px;min-height:170px}
.t.dark{background:#111;color:#fff}.t.dark .p{color:#A3A39E}.t.dark .lbl{color:#A3A39E}.t.dark a{color:#fff}
.t.lime{background:var(--lime)}.t.lime .lbl,.t.lime .p{color:var(--lime-ink)}
.t.flat{background:transparent;padding:0 8px;min-height:0}
.t.row{flex-direction:row;justify-content:space-between;align-items:center;gap:20px;flex-wrap:wrap}
a.t{text-decoration:none}a.t:hover{box-shadow:0 0 0 2px #111 inset}
.g{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:14px}
.s2{grid-column:span 2}.s3{grid-column:span 3}.s4{grid-column:span 4}.s6{grid-column:span 6}
.lbl{font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.lbl a{text-decoration:none}
h1{margin:0;font-size:52px;line-height:1;font-weight:800;letter-spacing:-.04em}
h1 .acc{color:var(--lime)}
.sub{margin:0;font-size:19px;font-weight:600;line-height:1.35;color:#D4D4CE}
.h2{font-size:34px;font-weight:800;letter-spacing:-.03em;line-height:1.05;margin:0}
.h3{font-size:22px;font-weight:800;letter-spacing:-.02em;line-height:1.1;margin:0}
.big{font-size:60px;font-weight:800;letter-spacing:-.04em;line-height:1}
.p{font-size:14px;color:var(--muted);line-height:1.55;margin:0}
.p a{font-weight:700}
.p.lg{font-size:15px}
.heat{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px}.heat span{aspect-ratio:1/1;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:800;box-shadow:0 1px 3px rgba(0,0,0,.35)}
.mapwrap{position:relative;border-radius:16px;overflow:hidden;background:#E6E6E2;width:100%}
.mapwrap iframe{position:absolute;inset:0;width:100%;height:100%;border:0;display:block}
.mapwrap .ov{position:absolute;inset:0;padding:8%;pointer-events:none;align-content:center;gap:6px}
.mapwrap .ov span{width:min(100%,38px);height:auto;aspect-ratio:1/1;margin:auto;font-size:11px}
.mapwrap .cap{position:absolute;left:10px;bottom:10px;background:#111;color:#fff;border-radius:10px;padding:8px 12px;font-size:12px;font-weight:700;pointer-events:none}
.legend{display:flex;gap:10px;flex-wrap:wrap;font-size:12px;font-weight:600;color:var(--muted)}.legend i{display:inline-block;width:10px;height:10px;border-radius:50%;margin-right:4px}
.kw{display:flex;justify-content:space-between;gap:10px;padding:8px 0;border-top:1px solid var(--ground);font-size:13px}
.tick{display:flex;gap:8px;align-items:flex-start;font-size:14px;line-height:1.5}
.chip{display:inline-flex;align-items:center;padding:7px 12px;border-radius:999px;background:var(--ground);font-size:13px;font-weight:600;text-decoration:none}
.chip:hover{background:#111;color:#fff}
.chips{display:flex;gap:8px;flex-wrap:wrap}
.tl{display:grid;grid-template-columns:72px 1fr;gap:14px;padding:12px 0;border-top:1px solid var(--ground)}.tl .yr{font-weight:800;font-size:14px}
.mini{border-radius:16px;overflow:hidden;background:var(--ground)}.mini .bar{height:22px;background:#D8D8D2;display:flex;gap:6px;align-items:center;padding:0 10px}.mini .bar i{width:7px;height:7px;border-radius:50%;background:#B9B9B2;display:block}
.mini img{display:block;width:100%;height:auto;aspect-ratio:16/10;object-fit:cover;object-position:top}
/* header */
header.site{position:sticky;top:0;z-index:50;background:rgba(237,237,234,.92);backdrop-filter:saturate(1.4) blur(8px)}
.hdr{display:flex;align-items:center;justify-content:space-between;height:84px;gap:20px}
.brand{display:flex;align-items:center;gap:12px;text-decoration:none;color:#111}
.brand .n{font-weight:800;font-size:18px;letter-spacing:-.02em;line-height:1}
.brand .tg{display:block;font-weight:600;font-size:9.5px;letter-spacing:.28em;text-transform:uppercase;color:var(--muted);margin-top:4px}
.nav{display:flex;gap:4px;background:#fff;border-radius:999px;padding:6px}
.nav a{text-decoration:none;padding:8px 14px;font-weight:600;font-size:14px;border-radius:999px}
.nav a.on,.nav a:hover{background:#111;color:#fff}
.hdr .cta{display:flex;gap:10px;align-items:center}
.hdr .cta .ph{font-weight:700;font-size:14px;text-decoration:none}
.burger{display:none;background:#fff;border:0;border-radius:999px;width:44px;height:44px;cursor:pointer;font-size:20px;line-height:1}
.mnav{display:none;background:#fff;border-radius:24px;padding:16px;margin:0 0 12px;flex-direction:column;gap:4px}
.mnav a{text-decoration:none;font-weight:700;padding:10px 12px;border-radius:12px}
.mnav a:hover{background:var(--ground)}
.mnav.open{display:flex}
/* forms */
.form{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.form .full{grid-column:span 2}
.form input,.form select,.form textarea{width:100%;height:50px;border-radius:12px;border:2px solid var(--ground);background:#fff;padding:0 14px;font:inherit;font-size:15px;color:#111}
.form textarea{height:110px;padding:12px 14px;resize:vertical}
.form input:focus,.form select:focus,.form textarea:focus{outline:0;border-color:#111}
.form label.lbl{display:block;margin-bottom:4px}
.form .btn{width:100%}
.form .fine{font-size:12px;color:var(--muted)}
.hero-form{gap:8px;justify-content:center}
.hero-form .form{grid-template-columns:1fr}
.hero-form .form .full{grid-column:auto}
.hero-form .form input,.hero-form .form select{height:46px;border:2px solid var(--ground);background:#F6F6F4}
.chipbox{display:inline-flex;align-items:center;gap:6px;padding:8px 12px;border-radius:999px;background:var(--ground);font-size:13px;font-weight:600;cursor:pointer}
.chipbox input{width:auto;height:auto;margin:0}
/* faq */
details.faq{border-top:1px solid var(--ground);padding:4px 0}
details.faq summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;gap:20px;font-weight:700;font-size:16px;padding:12px 0}
details.faq summary::-webkit-details-marker{display:none}
details.faq summary::after{content:"+";font-weight:800;color:var(--muted)}
details.faq[open] summary::after{content:"–"}
details.faq .p{padding:0 0 14px;font-size:15px}
/* comparison table */
.cmp{display:grid;grid-template-columns:1.6fr 1fr 1fr 1.2fr;gap:0;font-size:14px}
.cmp>div{padding:10px 8px;border-top:1px solid var(--ground)}
.cmp>div:nth-child(-n+4){border-top:0}
table.tbl{width:100%;border-collapse:collapse;font-size:14px}
table.tbl th,table.tbl td{text-align:left;padding:10px 8px;border-top:1px solid var(--ground);vertical-align:top}
table.tbl th{font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);border-top:0}
tr.me td{background:#F6FFD6;font-weight:700}
/* map */
.map{position:relative;overflow:hidden;background:radial-gradient(circle at 60% 40%,#fff 0,#F3F3F0 40%,#E6E6E2 100%);min-height:220px}
.map .pin{position:absolute;width:10px;height:10px;border-radius:50%;background:#111;box-shadow:0 0 0 4px rgba(17,17,17,.12)}
.map .pin.me{background:var(--lime);box-shadow:0 0 0 6px rgba(199,240,0,.35);width:14px;height:14px}
.map .cap{position:absolute;left:14px;bottom:14px;background:#111;color:#fff;border-radius:10px;padding:8px 12px;font-size:12px;font-weight:700}
/* footer */
footer.site{padding:8px 0 40px}
footer.site .t{min-height:0}
footer.site a{text-decoration:none;font-size:14px}
footer.site ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:3px}
.gal-shell .t{min-height:0}
.prose p{font-size:15px;color:var(--muted);line-height:1.6;margin:0 0 12px}
.prose h2{font-size:26px;font-weight:800;letter-spacing:-.03em;margin:18px 0 8px}
.prose h3{font-size:18px;font-weight:800;margin:14px 0 6px}
.prose ul{color:var(--muted);font-size:15px;line-height:1.6}
.sr{position:absolute;left:-9999px}
.mbar{display:none}
@media (max-width:980px){.mbar{display:grid;grid-template-columns:1fr 1fr;gap:8px;position:fixed;left:0;right:0;bottom:0;z-index:60;padding:10px 12px calc(10px + env(safe-area-inset-bottom));background:rgba(237,237,234,.96);backdrop-filter:blur(8px);border-top:1px solid var(--line)}.mbar .btn{height:48px;font-size:14px;padding:0 10px}body{padding-bottom:76px}}
@media (max-width:1080px){.nav a{padding:8px 10px;font-size:13px}}
@media (max-width:980px){.g{grid-template-columns:repeat(2,minmax(0,1fr))}.s3,.s4,.s6{grid-column:span 2}.big{font-size:40px}.h2{font-size:26px}h1{font-size:36px}.nav{display:none}.burger{display:block}.wrap{padding:0 16px}.hdr{height:72px}.hdr .cta .ph{display:none}.cmp{grid-template-columns:1.3fr 1fr 1fr 1fr;font-size:12px}}
@media (max-width:560px){.g{grid-template-columns:1fr}.s2,.s3,.s4,.s6{grid-column:span 1}.form{grid-template-columns:1fr}.form .full{grid-column:auto}.t{padding:22px}.t.row{flex-direction:column;align-items:flex-start}.cmp{display:none}}
