:root{
  --bg:#f5f5f2;
  --card:#ffffff;
  --text:#0a1530;
  --muted:#536173;
  --line:#dfe5df;
  --green:#118153;
  --green-soft:#e7f2eb;
  --blue-soft:#edf5fb;
  --shadow:0 14px 32px rgba(20,35,50,.06);
  --radius-xl:26px;
  --radius-lg:22px;
  --radius-md:16px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  font-family:Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  color:var(--text);
  background:var(--bg);
  line-height:1.5;
}
a{text-decoration:none;color:inherit}
img{max-width:100%;display:block}
.container{width:min(1380px, calc(100% - 44px)); margin:0 auto}
.site-header{
  position:sticky;top:0;z-index:20;
  background:rgba(245,245,242,.95);
  backdrop-filter:blur(12px);
  border-bottom:1px solid rgba(223,229,223,.8);
}
.header-inner{
  min-height:84px;display:flex;align-items:center;gap:24px;
}
.brand{display:flex;align-items:center;gap:14px;min-width:0}
.brand-icon{
  width:54px;height:54px;border-radius:18px;
  background:linear-gradient(135deg,#53bc87,#148153);
  display:grid;place-items:center;box-shadow:0 10px 22px rgba(17,129,83,.2)
}
.brand-icon span{
  width:24px;height:24px;display:block;position:relative;
}
.brand-icon span::before,
.brand-icon span::after{
  content:"";position:absolute;background:white;border-radius:100% 0 100% 0/100% 0 100% 0;
}
.brand-icon span::before{width:14px;height:22px;left:1px;top:1px;transform:rotate(-35deg)}
.brand-icon span::after{width:14px;height:22px;right:1px;top:1px;transform:rotate(35deg)}
.brand-text{display:flex;flex-direction:column;line-height:1.02}
.brand-text strong{font-size:22px;letter-spacing:-.03em}
.brand-text small{font-size:16px;color:#526177}
.nav{margin-left:auto;display:flex;gap:22px;align-items:center}
.nav a{font-weight:600;color:#203049;position:relative;padding:8px 4px}
.nav a.active{color:var(--green)}
.nav a.active::after{content:"";position:absolute;left:0;right:0;bottom:-7px;height:3px;background:var(--green);border-radius:4px}
.header-actions{display:flex;align-items:center;gap:14px}
.lang-btn{
  min-width:54px;padding:12px 14px;border:1px solid var(--line);background:#fff;border-radius:16px;cursor:pointer;font-weight:700
}
.top-cta{
  background:var(--green);color:#fff;padding:14px 22px;border-radius:16px;font-weight:700
}
.hero{padding:28px 0 0}
.hero-shell{position:relative;border-radius:0 0 22px 22px;overflow:hidden;min-height:560px;border:1px solid #e6ebe6;background:#fff}
.hero-bg{
  position:absolute;inset:0;
  background:
    linear-gradient(90deg, rgba(245,245,242,0.98) 0%, rgba(245,245,242,0.94) 29%, rgba(245,245,242,0.78) 40%, rgba(245,245,242,0.28) 52%, rgba(245,245,242,0) 62%),
    url('hero-city.jpg') center/cover no-repeat;
}
.hero-content{position:relative;z-index:1;max-width:680px;padding:72px 70px 84px}
.eyebrow,.section-label{
  margin:0 0 14px;font-size:12px;font-weight:800;letter-spacing:.17em;text-transform:uppercase;color:#168856
}
.hero h1{margin:0;font-size:clamp(42px,5.5vw,66px);line-height:.98;letter-spacing:-.055em}
.hero h1 .green{color:var(--green)}
.hero-lead{margin:22px 0 0;font-size:17px;color:#30435a;max-width:620px}
.hero-actions{display:flex;flex-wrap:wrap;gap:16px;margin-top:24px}
.btn{display:inline-flex;align-items:center;justify-content:center;padding:16px 26px;border-radius:18px;font-weight:700}
.btn-primary{background:var(--green);color:#fff}
.btn-secondary{background:rgba(255,255,255,.75);border:1.5px solid #6cb48e;color:#196d4a}
.small-btn{padding:14px 22px;border-radius:15px}
.feature-bar{margin-top:-32px;position:relative;z-index:2}
.feature-grid{
  background:#fff;border:1px solid #e5ebe5;border-radius:20px;display:grid;grid-template-columns:repeat(4,1fr);box-shadow:var(--shadow)
}
.feature-item{display:flex;align-items:center;gap:18px;padding:22px 26px;min-height:112px}
.feature-item + .feature-item{border-left:1px solid #eef2ee}
.feature-icon{width:64px;height:64px;border-radius:50%;background:var(--green-soft);display:grid;place-items:center;font-size:28px}
.feature-item h3{margin:0 0 4px;font-size:17px;color:#17553e}
.feature-item p{margin:0;color:var(--muted);font-size:14px}
.section{padding:20px 0 34px}
.panel{display:grid;grid-template-columns:1.9fr 1fr;gap:0;background:linear-gradient(180deg,#f0f3ef,#f4f6f2);border:1px solid #e3e8e2;border-radius:22px;overflow:hidden}
.panel-image img{width:100%;height:100%;object-fit:cover}
.panel-copy{padding:34px 42px;display:flex;flex-direction:column;justify-content:center}
.panel-copy h2,.about-grid h2,.contact-box h2{margin:0;font-size:clamp(34px,4.1vw,52px);line-height:1.03;letter-spacing:-.045em}
.panel-copy p{color:#495a6b;font-size:16px}
.cards-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.info-card{background:#fff;border:1px solid #e4e9e4;border-radius:20px;overflow:hidden;box-shadow:var(--shadow)}
.media-card img{width:100%;height:200px;object-fit:cover}
.card-body{padding:20px 24px 24px}
.card-body h3{margin:6px 0 8px;font-size:24px;letter-spacing:-.03em}
.card-body p{margin:0;color:var(--muted)}
.text-link{display:inline-block;margin-top:16px;padding:10px 18px;border-radius:14px;border:1px solid #7fb999;color:#166444;font-weight:700}
.about-grid,.contact-box{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:start}
.about-text p,.muted{color:var(--muted);font-size:17px}
.contact-box{background:#fff;border:1px solid #e4e9e4;border-radius:24px;padding:32px;box-shadow:var(--shadow)}
.site-footer{padding:24px 0 34px;border-top:1px solid rgba(223,229,223,.8);color:#5d6e80;font-size:14px}
.footer-inner{display:flex;justify-content:space-between;gap:20px}
@media (max-width:1100px){
  .nav{display:none}
  .feature-grid,.cards-grid,.panel,.about-grid,.contact-box{grid-template-columns:1fr}
  .feature-item + .feature-item{border-left:0;border-top:1px solid #eef2ee}
  .hero-content{padding:52px 26px 64px}
}
@media (max-width:700px){
  .container{width:min(100% - 24px, 1380px)}
  .header-inner{flex-wrap:wrap;padding:10px 0}
  .header-actions{width:100%;justify-content:space-between}
  .top-cta{display:none}
  .brand-text strong{font-size:20px}
  .hero h1{font-size:44px}
  .feature-item{padding:18px}
}
