﻿:root{--bg:#f5f5ed;--surface:#fff;--text:#193c32;--muted:#606c63;--border:#dce1d5;--accent:#275b45;--font:Inter,system-ui,sans-serif;--display:'Space Grotesk',Inter,system-ui,sans-serif;color-scheme:light}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:100px}
body{margin:0;background:var(--bg);color:var(--text);font:16px/1.65 var(--font);-webkit-font-smoothing:antialiased}
a{color:inherit}
img{max-width:100%}
h1,h2,h3{font-family:var(--display);line-height:1.08;letter-spacing:-.045em}
h2{font-size:clamp(32px,4.1vw,52px);margin:0 0 22px}
h3{font-size:21px}
.wrap{width:calc(100% - 64px);max-width:1240px;margin:auto}
.skip-link{position:fixed;top:-100px;left:16px;background:#193c32;color:white;padding:12px;z-index:100}
.skip-link:focus{top:10px}
:focus-visible{outline:3px solid #738b31;outline-offset:5px}
.top{position:sticky;top:0;z-index:30;background:#f5f5edf5;border-bottom:1px solid var(--border);backdrop-filter:blur(16px)}
.top-row{height:92px;display:flex;align-items:center;justify-content:space-between}
.brand{display:flex;gap:12px;align-items:center;text-decoration:none;font-size:27px;font-weight:700;letter-spacing:-1.5px;line-height:1}
.brand img{width:44px;height:44px}
.brand-sub{display:block;font-size:9px;letter-spacing:3px;font-weight:500;margin-top:8px}
.brand b{font-weight:400}
.nav{display:flex;align-items:center;gap:36px}
.nav a{font-size:13px;text-decoration:none;font-weight:500}
.nav a:hover{color:#557b37}
.nav .nav-cta{background:var(--text);color:#fff;padding:12px 20px;border-radius:6px}
.menu{display:none}
.hero{padding:80px 0 0;overflow:hidden}
.hero-layout{display:grid;grid-template-columns:1.15fr 1fr;align-items:center;gap:48px}
.hero-inner{min-width:0}
.badge{display:flex;align-items:center;gap:10px;font-size:11px;letter-spacing:1.6px;text-transform:uppercase;font-weight:600;margin:0 0 28px}
.dot{width:7px;height:7px;background:#66823a;border-radius:50%}
h1{font-size:clamp(44px,5.2vw,72px);font-weight:500;margin:0 0 25px;line-height:1.07}
.grad{color:#6b8247}
.lead{font-size:16px;max-width:450px;color:var(--muted);margin:0 0 30px}
.cta{display:flex;gap:14px;flex-wrap:wrap}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:22px;padding:14px 22px;border-radius:6px;text-decoration:none;font-size:13px;font-weight:600;border:1px solid var(--border);transition:background .2s,transform .2s}
.btn:hover{transform:translateY(-2px)}
.btn.primary{background:var(--text);border-color:var(--text);color:white}
.btn.primary:hover{background:#2c5943}
.btn.glass,.btn.ghost{background:transparent}
.stats{display:flex;gap:30px;margin:42px 0 0;padding-top:25px;border-top:1px solid var(--border)}
.stats div{flex:1}
.stats dt{font-family:var(--display);font-size:29px;line-height:1.1}
.stats dd{font-size:11px;color:var(--muted);margin:7px 0 0;max-width:115px}
.core-map{position:relative;min-height:495px;background:#e9edde;border:1px solid #dbe2ce;border-radius:50% 50% 8px 8px;isolation:isolate}
.map-caption{position:absolute;top:30px;left:30px;right:30px;display:flex;justify-content:space-between;font-size:8px;letter-spacing:1.4px;color:#52634c}
.map-orbit{position:absolute;left:50%;top:49%;transform:translate(-50%,-50%);border:1px solid #c9d3ba;border-radius:50%;z-index:-1}
.orbit-one{width:220px;height:220px}
.orbit-two{width:360px;height:360px;border-style:dashed}
.map-center{position:absolute;left:50%;top:49%;transform:translate(-50%,-50%);display:flex;align-items:center;flex-direction:column;width:180px}
.map-center img{margin-bottom:14px;box-shadow:0 12px 20px #193c3215;border-radius:20px}
.map-center strong{font-size:16px}
.map-center>span{font-size:11px;color:var(--muted)}
.map-node{position:absolute;display:flex;align-items:center;gap:10px;padding:13px 16px;background:#fdfef9;border:1px solid #d6dec9;border-radius:9px;box-shadow:0 6px 14px #193c3208;text-decoration:none;font-size:11px}
.node-symbol{font-size:23px;line-height:1;color:#6b8247}
.map-node small{display:block;font-size:9px;color:#456a41;margin-top:3px}
.map-node i{display:inline-block;width:5px;height:5px;background:#7b9a45;border-radius:50%}
.node-work{top:86px;left:20px;border-color:#9cb578}
.node-hotel{top:120px;right:0}
.node-events{top:278px;right:1px}
.node-sport{bottom:70px;left:40%}
.node-farm{top:290px;left:0}
.map-note{position:absolute;bottom:14px;width:100%;text-align:center;color:#617056;font-size:10px}
.marquee{margin-top:70px;border-block:1px solid var(--border);padding:21px 0;overflow:hidden;background:#eeefe5}
.marquee-track{display:flex;justify-content:center;gap:40px;width:max-content;min-width:100%}
.marquee-track span{font-size:12px;white-space:nowrap;color:#64705c}
.marquee-track span::before{content:'✳';margin-right:18px;color:#7d9256}
.marquee-track span:nth-child(n+7){display:none}
.band{padding:96px 0}
.section-head{max-width:680px;margin-bottom:42px}
.kicker{font-size:10px;font-weight:600;letter-spacing:1.8px;text-transform:uppercase;margin:0 0 22px;color:#62784b}
.section-lead{font-size:16px;color:var(--muted);max-width:580px;margin:0}
.bento{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.card{border:1px solid var(--border);border-radius:10px;padding:28px;background:#fafbf6}
.card h3{margin:25px 0 12px}
.card p{font-size:14px;color:var(--muted);margin:0}
.featured{grid-column:1/-1;display:grid;grid-template-columns:1.15fr 1fr;background:#fff;padding:40px;gap:60px;margin-bottom:8px}
.featured h3{font-size:32px;max-width:330px}
.featured p{max-width:510px}
.product-head{display:flex;gap:18px;align-items:center}
.status{font-size:9px;padding:4px 8px;letter-spacing:.3px;border-radius:4px;display:inline-flex;align-items:center;gap:6px}
.live{background:#edf3df;color:#416027}
.pulse{height:5px;width:5px;border-radius:50%;background:currentColor}
.dev{color:#637058;background:#ecefe3}
.tags{display:flex;flex-wrap:wrap;gap:8px;padding:0;margin:20px 0 25px;list-style:none}
.tags li{font-size:10px;padding:4px 8px;border:1px solid var(--border);border-radius:3px;color:var(--muted)}
.product-visual{background:#e9edde;border-radius:8px;padding:32px;display:flex;flex-direction:column;justify-content:center;gap:15px;background-image:radial-gradient(#bbc7ab 1px,transparent 1px);background-size:16px 16px}
.demo-label{font-size:8px;letter-spacing:1.1px;color:#596b4c;margin-bottom:7px}
.mini-card{background:white;border:1px solid #d4dec7;border-radius:9px;padding:20px;box-shadow:0 10px 20px #193c3210}
.mini-card.offset{margin-left:45px}
.mini-row{display:flex;justify-content:space-between;gap:12px;font-size:14px}
.chip{font-size:10px;background:#f4efdd;padding:2px 8px;border-radius:4px}
.chip.ok{background:#e9f0de}
.mini-wage{font-size:32px;font-weight:600;margin:8px 0}
.mini-wage small,.mini-muted{font-size:11px;color:var(--muted)}
.icon{width:36px;height:36px;fill:none;stroke:#527344;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
.icon path{stroke:#527344}
.sector{position:relative}
.sector .status{position:absolute;top:32px;right:24px}
.sector.more{grid-column:span 2;background:#e9edde}
.alt{background:#e9edde;border-block:1px solid var(--border)}
.features{display:grid;grid-template-columns:repeat(3,1fr);gap:0}
.feature{padding:28px 28px 28px 0;margin-right:28px;border-top:1px solid #cad3bf}
.feature h3{font-size:19px;margin:20px 0 12px}
.feature p{color:var(--muted);font-size:13px;margin:0}
.timeline{list-style:none;display:grid;grid-template-columns:repeat(4,1fr);padding:0;margin:0;gap:30px}
.timeline li{border-top:1px solid #b8c5aa;padding-top:22px}
.num{font-family:var(--display);font-size:15px;color:#7a8d5c}
.timeline h3{font-size:20px;margin:26px 0 12px}
.timeline p{font-size:13px;color:var(--muted);margin:0}
#contact{padding-top:0}
.cta-card{display:flex;align-items:center;justify-content:space-between;gap:40px;background:#193c32;color:#f5f5ed;border-radius:12px;padding:60px 48px;position:relative;overflow:hidden}
.cta-card h2{font-size:42px;max-width:430px}
.cta-card p{font-size:14px;color:#becdbf;max-width:400px;margin:0}
.btn.light{background:#d4ed85;color:#193c32;border:0;overflow-wrap:anywhere;min-width:0}
.foot{padding:30px 0;border-top:1px solid var(--border);color:var(--muted);font-size:11px}
.foot-row,.foot-brand,.foot-links{display:flex;align-items:center;gap:14px}
.foot-row{justify-content:space-between}
.foot-links{gap:25px}
.foot-links a{text-decoration:none}
.notfound{min-height:75vh;display:grid;place-content:center;text-align:center;padding:80px 24px}
.notfound .lead{margin-inline:auto}
.notfound h1{max-width:800px}
.reveal{opacity:1}

@media(min-width:1500px){.hero{padding-top:100px}
}

@media(max-width:1050px){.hero-layout{gap:25px}
.core-map{min-height:460px}
.orbit-two{width:300px;height:300px}
.map-node{padding:10px}
.node-hotel{right:-5px}
.node-events{right:-5px}
.cta-card{flex-direction:column;align-items:flex-start}
.featured{gap:30px}
}

@media(max-width:760px){.wrap{width:calc(100% - 40px)}
.top-row{height:76px}
.brand{font-size:24px}
.brand img{width:38px;height:38px}
.menu{display:grid;place-content:center;gap:5px;width:42px;height:42px;background:transparent;border:1px solid var(--border);border-radius:5px}
.menu span{width:18px;height:2px;background:var(--text)}
.nav{display:none;position:absolute;top:76px;left:0;right:0;background:var(--bg);padding:20px;gap:8px;border-bottom:1px solid var(--border)}
.nav.open{display:flex;flex-direction:column;align-items:stretch}
.nav a{padding:12px}
.hero{padding-top:42px}
.hero-layout{grid-template-columns:1fr;gap:42px}
h1{font-size:clamp(40px,8.6vw,64px)}
.badge{font-size:9px;letter-spacing:1.1px}
.lead{font-size:15px}
.stats{gap:16px;margin-top:30px}
.core-map{width:100%;max-width:480px;margin:auto;min-height:440px;border-radius:12px}
.orbit-two{width:290px;height:290px}
.node-work{left:10px;top:75px}
.node-hotel{top:115px;right:8px}
.node-events{top:265px;right:8px}
.node-farm{top:270px;left:8px}
.node-sport{bottom:55px;left:37%}
.map-center img{width:60px;height:60px}
.marquee{margin-top:42px}
.marquee-track{justify-content:flex-start;gap:20px;padding:0 20px}
.band{padding:64px 0}
.bento{grid-template-columns:repeat(2,1fr)}
.featured{grid-template-columns:1fr;padding:25px;gap:30px}
.featured h3{font-size:28px}
.sector.more{grid-column:span 2}
.sector{padding:20px}
.sector .status{position:static;margin-top:12px}
.sector h3{font-size:20px;margin-top:20px}
.features{grid-template-columns:repeat(2,1fr)}
.feature{padding-right:0;margin-right:20px}
.timeline{grid-template-columns:repeat(2,1fr);gap:28px}
.cta-card{padding:32px 25px;gap:25px}
.cta-card h2{font-size:34px}
.cta-card .btn{font-size:11px;padding:14px;max-width:100%}
.foot-row{align-items:flex-start;flex-direction:column;gap:22px}
}

@media(max-width:380px){.wrap{width:calc(100% - 32px)}
.bento,.features{grid-template-columns:1fr}
.sector.more{grid-column:auto}
.featured{grid-column:auto}
.core-map{min-height:420px}
.map-node{font-size:10px;padding:8px}
.orbit-two{width:260px;height:260px}
.stats dd{font-size:10px}
.btn{padding:12px 16px}
.map-caption{left:16px;right:16px}
}

@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}
*,*::before,*::after{animation:none!important;transition:none!important}
}
