.intro-overlay{
  position:fixed;
  top:0;
  left:0;
  width:100%;
  height:100%;
  background:radial-gradient(ellipse at 30% 40%, #1a4d2e 0%, #0a3b1e 40%, #052010 100%);
  display:flex;
  align-items:center;
  justify-content:center;
  z-index:9999;
  opacity:1;
  visibility:visible;
  transition:opacity .8s cubic-bezier(.4,0,.2,1),visibility .8s cubic-bezier(.4,0,.2,1);
  pointer-events:none;
}
.intro-overlay.hide{opacity:0;visibility:hidden;}
.intro-content{
  text-align:center;
  transform:scale(.9);
  animation:introScale 2.2s cubic-bezier(.34,1.56,.64,1) forwards;
}
@keyframes introScale{
  0%{transform:scale(.7);opacity:0;}
  20%{transform:scale(1.05);opacity:1;}
  40%{transform:scale(.98);}
  60%{transform:scale(1.02);}
  80%{transform:scale(.99);}
  100%{transform:scale(1);opacity:1;}
}
.intro-logo{
  width:120px;
  height:120px;
  margin-bottom:24px;
  filter:drop-shadow(0 20px 30px rgba(0,0,0,.6)) drop-shadow(0 0 20px #4ade80);
  animation:logoGlow 2s ease-in-out infinite alternate;
}
@keyframes logoGlow{
  0%{filter:drop-shadow(0 20px 30px rgba(0,0,0,.6)) drop-shadow(0 0 15px #22c55e);}
  100%{filter:drop-shadow(0 25px 40px rgba(0,0,0,.8)) drop-shadow(0 0 30px #4ade80);}
}
.intro-title{
  font-size:42px;
  font-weight:900;
  color:#fff;
  margin:0 0 16px;
  letter-spacing:-.02em;
  background:linear-gradient(135deg,#f0fdf4 0%,#bbf7d0 100%);
  -webkit-background-clip:text;
  -webkit-text-fill-color:transparent;
  background-clip:text;
  animation:titleFloat 2.2s ease-out;
  text-shadow:0 0 30px rgba(74,222,128,.5);
}
@keyframes titleFloat{
  0%{transform:translateY(30px);opacity:0;}
  30%{transform:translateY(-5px);opacity:1;}
  50%{transform:translateY(2px);}
  70%{transform:translateY(-1px);}
  100%{transform:translateY(0);opacity:1;}
}
.intro-sub{
  font-size:18px;
  color:#86efac;
  margin:0;
  animation:subtitleFade 2.4s ease-out;
  text-shadow:0 0 20px rgba(34,197,94,.5);
}
@keyframes subtitleFade{
  0%{opacity:0;transform:scale(.9);}
  40%{opacity:0;transform:scale(.9);}
  100%{opacity:1;transform:scale(1);}
}
.intro-particles{
  position:absolute;
  top:0;
  left:0;
  width:100%;
  height:100%;
  overflow:hidden;
  z-index:-1;
}
.particle{
  position:absolute;
  width:8px;
  height:8px;
  background:rgba(74,222,128,.6);
  border-radius:50%;
  box-shadow:0 0 15px #4ade80;
  animation:particleFloat 4s ease-in-out infinite;
}
@keyframes particleFloat{
  0%,100%{transform:translateY(0) translateX(0) scale(1);opacity:.4;}
  25%{transform:translateY(-30px) translateX(15px) scale(1.2);opacity:.9;}
  50%{transform:translateY(-50px) translateX(0) scale(1);opacity:.6;}
  75%{transform:translateY(-30px) translateX(-15px) scale(1.2);opacity:.9;}
}

:root{
  --bg:#f0f4f8;
  --bg2:#ffffff;
  --card:#ffffff;
  --card2:#f7fafc;
  --text:#0f1923;
  --muted:#5a6a7a;
  --line:rgba(15,25,40,.10);
  --line2:rgba(15,25,40,.06);
  --brand:#16a34a;
  --brand2:#22c55e;
  --brandDark:#0b7a34;
  --brandLight:#dcfce7;
  --accent:#15803d;
  --accentText:#166534;
  --shadow:0 4px 24px rgba(15,25,40,.09);
  --shadowMd:0 8px 40px rgba(15,25,40,.13);
  --shadowLg:0 16px 60px rgba(15,25,40,.16);
  --radius:16px;
  --radius2:22px;
  --radiusXl:28px;
  --max:1200px;
  --headerH:72px;
  --blur:blur(16px);
  --heroGrad:linear-gradient(135deg,#e8f5ee 0%,#f0faf4 40%,#f0f4f8 100%);
}

[data-theme="dark"]{
  --bg:#07160f;
  --bg2:#0b1f15;
  --card:rgba(255,255,255,.06);
  --card2:rgba(255,255,255,.09);
  --text:rgba(255,255,255,.93);
  --muted:rgba(255,255,255,.58);
  --line:rgba(255,255,255,.11);
  --line2:rgba(255,255,255,.06);
  --brandLight:rgba(34,197,94,.18);
  --accent:#4ade80;
  --accentText:#86efac;
  --shadow:0 4px 24px rgba(0,0,0,.32);
  --shadowMd:0 8px 40px rgba(0,0,0,.38);
  --shadowLg:0 16px 60px rgba(0,0,0,.45);
  --heroGrad:
    radial-gradient(900px 500px at 20% -5%, rgba(34,197,94,.22), transparent 60%),
    radial-gradient(700px 500px at 85% 5%, rgba(22,163,74,.18), transparent 55%),
    #07160f;
}

*,*::before,*::after{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  margin:0;
  font-family:ui-sans-serif,system-ui,-apple-system,'Segoe UI',Roboto,Arial,sans-serif;
  background:var(--bg);
  color:var(--text);
  overflow-x:hidden;
  transition:background .3s ease,color .3s ease;
  min-height:100vh;
}
a{color:inherit;text-decoration:none;}
img{display:block;max-width:100%;}
.container{width:min(var(--max),calc(100% - 32px));margin-inline:auto;}
.muted{color:var(--muted);}
.green{color:var(--brand);}
.greenBg{background:var(--brandLight);color:var(--accentText);}

.btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  padding:11px 20px;
  border-radius:12px;
  border:1px solid var(--line);
  background:var(--bg2);
  color:var(--text);
  font-size:14px;
  font-weight:500;
  cursor:pointer;
  transition:transform .13s ease, box-shadow .18s ease, background .18s ease, border-color .18s ease;
  user-select:none;
  white-space:nowrap;
  box-shadow:var(--shadow);
}
.btn:hover{transform:translateY(-1px);box-shadow:var(--shadowMd);border-color:rgba(22,163,74,.3);}
.btn.primary{
  background:linear-gradient(135deg,var(--brand2),var(--brand));
  border-color:transparent;
  color:#fff;
  box-shadow:0 4px 18px rgba(22,163,74,.35);
}
.btn.primary:hover{box-shadow:0 8px 28px rgba(22,163,74,.45);}
.btn.ghost{background:transparent;border-color:var(--line);box-shadow:none;}

.pill{
  display:inline-flex;
  align-items:center;
  gap:7px;
  padding:6px 14px;
  border-radius:999px;
  border:1px solid rgba(34,197,94,.35);
  background:var(--brandLight);
  color:var(--accentText);
  font-size:12px;
  font-weight:600;
}
.chip{
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:10px 14px;
  border-radius:12px;
  border:1px solid var(--line);
  background:var(--card2);
  color:var(--text);
  font-size:14px;
}

.card{
  border-radius:var(--radius2);
  border:1px solid var(--line);
  background:var(--card);
  box-shadow:var(--shadow);
  padding:22px;
  overflow:hidden;
  transition:background .3s, border-color .3s, box-shadow .3s;
}
.card:hover{box-shadow:var(--shadowMd);}

header{
  position:sticky;
  top:0;
  z-index:100;
  height:var(--headerH);
  backdrop-filter:var(--blur);
  -webkit-backdrop-filter:var(--blur);
  background:rgba(255,255,255,.88);
  border-bottom:1px solid var(--line);
  box-shadow:0 1px 20px rgba(15,25,40,.07);
  transition:background .3s ease,border-color .3s ease,box-shadow .3s ease;
}
[data-theme="dark"] header{
  background:rgba(6,26,17,.86);
  border-bottom:1px solid rgba(255,255,255,.10);
  box-shadow:0 1px 20px rgba(0,0,0,.32);
}

.nav{
  height:var(--headerH);
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
}
.brand{display:flex;align-items:center;gap:11px;min-width:200px;flex-shrink:0;}
.logoImg{
  width:40px;
  height:40px;
  border-radius:12px;
  object-fit:contain;
  flex-shrink:0;
  background:transparent;
}
.brand strong{font-size:14px;font-weight:700;line-height:1.1;}
.brand span{display:block;font-size:11px;color:var(--muted);margin-top:2px;}

nav ul{
  list-style:none;
  margin:0;
  padding:0;
  display:flex;
  align-items:center;
  gap:2px;
}
.navlink{
  position:relative;
  display:inline-flex;
  align-items:center;
  gap:5px;
  padding:9px 12px;
  border-radius:10px;
  color:var(--text);
  font-size:14px;
  font-weight:500;
  transition:background .15s ease,color .15s ease;
  white-space:nowrap;
}
.navlink:hover{background:var(--brandLight);color:var(--accentText);}
[data-theme="dark"] .navlink:hover{background:rgba(34,197,94,.14);color:#4ade80;}
.caret{font-size:10px;opacity:.6;transition:transform .2s ease;}
.dropdown.open .caret{transform:rotate(180deg);}

.rightActions{display:flex;align-items:center;gap:8px;flex-shrink:0;}
.iconBtn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:6px;
  height:40px;
  padding:0 12px;
  border-radius:10px;
  border:1px solid var(--line);
  background:var(--bg2);
  color:var(--text);
  font-size:13px;
  font-weight:600;
  cursor:pointer;
  transition:background .15s ease,border-color .18s ease,box-shadow .18s ease;
  white-space:nowrap;
  box-shadow:var(--shadow);
}
.iconBtn:hover{border-color:rgba(22,163,74,.35);box-shadow:var(--shadowMd);background:var(--brandLight);}
.iconBtn.themeBtn{font-size:18px;width:40px;padding:0;}
[data-theme="dark"] .iconBtn{background:rgba(255,255,255,.06);}
[data-theme="dark"] .iconBtn:hover{background:rgba(34,197,94,.14);border-color:rgba(34,197,94,.4);}
.hamburger{display:none;}

nav,nav *{-webkit-tap-highlight-color:transparent;}
.navlink,.dropMenu a{user-select:none;-webkit-user-select:none;}
.navlink:focus{outline:none;}
.navlink:focus-visible{
  outline:2px solid rgba(22,163,74,.45);
  outline-offset:2px;
  border-radius:10px;
}

.dropdown{position:relative;}
.dropMenu{
  position:absolute;
  top:calc(100% + 8px);
  left:0;
  min-width:260px;
  border-radius:var(--radius);
  background:var(--card);
  border:1px solid var(--line);
  box-shadow:var(--shadowLg);
  backdrop-filter:var(--blur);
  -webkit-backdrop-filter:var(--blur);
  padding:8px;
  opacity:0;
  visibility:hidden;
  pointer-events:none;
  transform:translateY(-8px);
  transition:opacity .18s ease,transform .18s ease,visibility .18s ease;
  z-index:200;
}
.dropdown.open .dropMenu{
  opacity:1;
  visibility:visible;
  pointer-events:auto;
  transform:translateY(0);
}
.dropMenu a{
  display:flex;
  align-items:center;
  justify-content:flex-start;
  gap:10px;
  padding:10px 12px;
  border-radius:10px;
  color:var(--text);
  font-size:13px;
  transition:background .13s ease,color .13s ease;
}
.dropMenu a:hover{background:var(--brandLight);color:var(--accentText);}
[data-theme="dark"] .dropMenu a:hover{background:rgba(34,197,94,.14);color:#4ade80;}
.dropMenu a .num{font-size:11px;color:var(--muted);}
.dropMenu a:hover .num{color:inherit;opacity:.7;}

.mobileOverlay{
  position:fixed;
  inset:0;
  background:rgba(0,0,0,.45);
  display:none;
  z-index:400;
  backdrop-filter:blur(4px);
}
.mobileOverlay.open{display:block;}
.sheet{
  position:absolute;
  top:0;
  right:0;
  height:100%;
  width:min(400px,90vw);
  background:var(--bg2);
  border-left:1px solid var(--line);
  box-shadow:var(--shadowLg);
  padding:16px;
  overflow-y:auto;
  transform:translateX(100%);
  transition:transform .28s cubic-bezier(.4,0,.2,1);
}
.mobileOverlay.open .sheet{transform:translateX(0);}
.sheetTop{
  display:flex;
  align-items:center;
  justify-content:space-between;
  margin-bottom:16px;
  padding-bottom:12px;
  border-bottom:1px solid var(--line);
}
.sheetActions{display:flex;align-items:center;gap:8px;}
.sheetNav .sheetItem{
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding:12px 14px;
  border-radius:12px;
  border:1px solid var(--line);
  background:var(--card2);
  margin:8px 0;
  font-size:14px;
  font-weight:500;
  color:var(--text);
  cursor:pointer;
  transition:background .13s ease,border-color .13s ease;
  user-select:none;
  -webkit-user-select:none;
}
.sheetNav .sheetItem:hover{background:var(--brandLight);border-color:rgba(22,163,74,.3);color:var(--accentText);}
.sheetSection{margin-top:4px;}
.sheetSection h4{
  margin:8px 4px 6px;
  font-size:12px;
  color:var(--muted);
  font-weight:700;
  text-transform:uppercase;
  letter-spacing:.06em;
}
.subLinks{padding-left:8px;}
.subLinks .sheetItem{margin:6px 0;font-size:13px;}

.heroSection{padding:16px 0 0;background:var(--heroGrad);}
.slider{
  position:relative;
  border-radius:var(--radiusXl);
  overflow:hidden;
  box-shadow:var(--shadowLg);
  background:#06162c;
}
[data-theme="dark"] .slider{background:#061a11;}

.slides{display:flex;transition:transform .65s cubic-bezier(.2,.8,.2,1);}
.slide{
  min-width:100%;
  display:grid;
  grid-template-columns:70% 30%;
  gap:22px;
  padding:44px 40px;
  align-items:center;
  position:relative;
  color:#fff;
  min-height:clamp(240px,34vw,460px);
}
.slideContent{position:relative;z-index:1;min-width:0;}
.slideContent h1{
  margin:0 0 14px;
  font-size:clamp(20px,3vw,46px);
  line-height:1.12;
  font-weight:900;
  letter-spacing:-.02em;
  color:#fff;
}
.slideContent p{
  margin:0;
  color:rgba(255,255,255,.72);
  font-size:clamp(13px,1.35vw,16px);
  line-height:1.65;
  max-width:62ch;
}
.slideMedia{
  position:relative;
  z-index:1;
  display:flex;
  justify-content:flex-end;
  align-items:center;
  min-width:0;
  overflow:hidden;
}
.heroPng{
  width:100%;
  max-width:520px;
  height:auto;
  max-height:clamp(200px,28vw,420px);
  object-fit:contain;
  display:block;
  filter:drop-shadow(0 18px 40px rgba(0,0,0,.35));
  user-select:none;
  -webkit-user-drag:none;
}
.dotRow{
  position:absolute;
  left:26px;
  bottom:22px;
  display:flex;
  gap:8px;
  z-index:2;
}
.dot{
  height:8px;
  width:8px;
  border-radius:999px;
  background:rgba(255,255,255,.25);
  border:1px solid rgba(255,255,255,.18);
  cursor:pointer;
  transition:all .2s ease;
}
.dot.active{width:26px;background:var(--brand);border-color:var(--brand);}
.sliderControls{
  position:absolute;
  right:18px;
  bottom:18px;
  display:flex;
  gap:8px;
  z-index:2;
}
.sliderArrow{
  width:40px;
  height:40px;
  border-radius:12px;
  border:1px solid rgba(255,255,255,.14);
  background:rgba(255,255,255,.08);
  display:grid;
  place-items:center;
  cursor:pointer;
  font-size:18px;
  color:rgba(255,255,255,.9);
  transition:background .13s ease,border-color .13s ease,transform .13s ease;
  box-shadow:none;
}
.sliderArrow:hover{
  transform:translateY(-1px);
  background:rgba(34,197,94,.16);
  border-color:rgba(34,197,94,.35);
}

section{padding:28px 0;}
.sectionTitle{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:14px;
  margin:0 0 20px;
}
.sectionTitle h2{margin:0 0 4px;font-size:22px;font-weight:800;}
.sectionTitle p{margin:0;color:var(--muted);font-size:14px;}
.sectionHead{flex:1;}

.featuresSection{background:var(--bg);}
.featuresGrid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;}
.featureCard{
  border-radius:var(--radius2);
  border:1px solid var(--line);
  background:var(--card);
  box-shadow:var(--shadow);
  padding:24px 20px;
  display:flex;
  flex-direction:column;
  gap:14px;
  transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease;
  position:relative;
  overflow:hidden;
}
.featureCard::before{
  content:'';
  position:absolute;
  top:0;
  left:0;
  right:0;
  height:3px;
  background:linear-gradient(90deg,var(--brand2),var(--brand));
  transform:scaleX(0);
  transform-origin:left;
  transition:transform .25s ease;
}
.featureCard:hover{transform:translateY(-4px);box-shadow:var(--shadowMd);border-color:rgba(22,163,74,.25);}
.featureCard:hover::before{transform:scaleX(1);}
.fIconWrap{
  width:58px;
  height:58px;
  border-radius:16px;
  display:grid;
  place-items:center;
  background:var(--brandLight);
  border:1px solid rgba(22,163,74,.2);
  font-size:26px;
  flex-shrink:0;
  transition:background .18s ease;
  color:var(--brand);
}
.featureCard:hover .fIconWrap{background:linear-gradient(135deg,rgba(34,197,94,.22),rgba(22,163,74,.12));}
[data-theme="dark"] .fIconWrap{background:rgba(34,197,94,.13);}
.featureCard h3{margin:0 0 6px;font-size:16px;font-weight:700;}
.featureCard p{margin:0;color:var(--muted);font-size:13px;line-height:1.6;}
.featureNum{
  position:absolute;
  top:18px;
  right:18px;
  font-size:36px;
  font-weight:900;
  color:var(--brandLight);
  letter-spacing:-1px;
  line-height:1;
}
[data-theme="dark"] .featureNum{color:rgba(34,197,94,.08);}

.calcSection{background:var(--bg2);}
[data-theme="dark"] .calcSection{background:rgba(255,255,255,.02);}
.calcWrapper{display:grid;grid-template-columns:1fr 1fr;gap:20px;align-items:stretch;}
.calcCard{
  border-radius:var(--radiusXl);
  border:1px solid var(--line);
  background:var(--card);
  box-shadow:var(--shadowMd);
  padding:28px;
}
.calcCard h3{margin:0 0 6px;font-size:18px;font-weight:800;}
.calcCard>.muted{font-size:13px;display:block;margin-bottom:22px;}
.sliderField{margin-bottom:22px;}
.sliderLabel{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px;}
.sliderLabel span{font-size:14px;font-weight:500;color:var(--text);}
.sliderValue{font-size:15px;font-weight:700;color:var(--brand);min-width:90px;text-align:right;}
input[type="range"]{
  -webkit-appearance:none;
  appearance:none;
  width:100%;
  height:5px;
  border-radius:999px;
  background:var(--line2);
  outline:none;
  cursor:pointer;
  transition:background .15s ease;
}
[data-theme="dark"] input[type="range"]{background:rgba(255,255,255,.1);}
input[type="range"]::-webkit-slider-thumb{
  -webkit-appearance:none;
  appearance:none;
  width:20px;
  height:20px;
  border-radius:50%;
  background:#fff;
  border:3px solid var(--brand);
  box-shadow:0 2px 10px rgba(22,163,74,.35);
  cursor:pointer;
  transition:transform .13s ease,box-shadow .13s ease;
}
input[type="range"]::-webkit-slider-thumb:hover{transform:scale(1.15);box-shadow:0 4px 16px rgba(22,163,74,.45);}
input[type="range"]::-moz-range-thumb{
  width:20px;
  height:20px;
  border-radius:50%;
  background:#fff;
  border:3px solid var(--brand);
  box-shadow:0 2px 10px rgba(22,163,74,.35);
  cursor:pointer;
}

.calcResults{
  border-radius:var(--radiusXl);
  border:1px solid var(--line);
  background:var(--card);
  box-shadow:var(--shadowMd);
  padding:28px;
  display:flex;
  flex-direction:column;
  justify-content:space-between;
}
.calcResults h3{margin:0 0 20px;font-size:17px;font-weight:700;}
.resultRow{
  display:flex;
  justify-content:space-between;
  align-items:center;
  padding:14px 0;
  border-bottom:1px solid var(--line);
}
.resultRow:last-child{border-bottom:none;}
.resultRow .rLabel{font-size:14px;color:var(--muted);}
.resultRow .rVal{font-size:18px;font-weight:800;color:var(--brand);}
.calcNote{font-size:11px;color:var(--muted);margin-top:14px;line-height:1.5;}
.applyModalBtn{
  margin-top:20px;
  width:100%;
  padding:15px 20px;
  border-radius:14px;
  background:linear-gradient(135deg,var(--brand2),var(--brand));
  border:none;
  color:#fff;
  font-size:16px;
  font-weight:700;
  cursor:pointer;
  box-shadow:0 6px 24px rgba(22,163,74,.38);
  transition:transform .13s ease,box-shadow .18s ease;
}
.applyModalBtn:hover{transform:translateY(-2px);box-shadow:0 10px 32px rgba(22,163,74,.48);}
.calcDemoNote{font-size:12px;color:var(--muted);margin:14px 0 0;}

.modalOverlay{
  position:fixed;
  inset:0;
  z-index:500;
  background:rgba(10,20,35,.55);
  backdrop-filter:blur(8px);
  display:grid;
  place-items:center;
  padding:16px;
  opacity:0;
  visibility:hidden;
  pointer-events:none;
  transition:opacity .22s ease,visibility .22s ease;
}
.modalOverlay.open{opacity:1;visibility:visible;pointer-events:auto;}
.modal{
  background:var(--bg2);
  border-radius:var(--radiusXl);
  border:1px solid var(--line);
  box-shadow:var(--shadowLg);
  padding:32px 28px;
  width:min(540px,100%);
  max-height:90vh;
  overflow-y:auto;
  transform:scale(.94) translateY(12px);
  transition:transform .25s cubic-bezier(.34,1.56,.64,1);
}
.modalOverlay.open .modal{transform:scale(1) translateY(0);}
.modalHeader{display:flex;align-items:center;justify-content:space-between;margin-bottom:24px;}
.modalHeader h2{margin:0;font-size:24px;font-weight:800;}
.modalClose{
  width:38px;
  height:38px;
  border-radius:10px;
  border:1px solid var(--line);
  background:var(--card2);
  display:grid;
  place-items:center;
  cursor:pointer;
  font-size:18px;
  color:var(--muted);
  transition:background .13s ease,color .13s ease;
}
.modalClose:hover{background:#fee2e2;color:#ef4444;border-color:#fca5a5;}
.modalGrid{display:grid;gap:14px;}
.field label{
  display:block;
  font-size:12px;
  font-weight:600;
  color:var(--muted);
  margin-bottom:6px;
  text-transform:uppercase;
  letter-spacing:.04em;
}
.field input{
  width:100%;
  padding:13px 14px;
  border-radius:12px;
  border:1.5px solid var(--line);
  background:var(--card2);
  color:var(--text);
  font-size:14px;
  outline:none;
  transition:border-color .15s ease,box-shadow .15s ease;
}
.field input:focus{border-color:var(--brand);box-shadow:0 0 0 3px rgba(22,163,74,.15);}
.field input::placeholder{color:var(--muted);}
.modalSubmit{
  width:100%;
  margin-top:20px;
  padding:15px 20px;
  border-radius:14px;
  background:linear-gradient(135deg,var(--brand2),var(--brand));
  border:none;
  color:#fff;
  font-size:16px;
  font-weight:700;
  cursor:pointer;
  box-shadow:0 6px 24px rgba(22,163,74,.38);
  transition:transform .13s ease,box-shadow .18s ease;
}
.modalSubmit:hover{transform:translateY(-2px);box-shadow:0 10px 30px rgba(22,163,74,.48);}
.modalFooter{margin-top:12px;font-size:11px;color:var(--muted);text-align:center;line-height:1.5;}
.modalToast{
  margin-top:14px;
  padding:13px 16px;
  border-radius:12px;
  border:1px solid rgba(22,163,74,.3);
  background:rgba(22,163,74,.1);
  color:var(--accentText);
  font-size:14px;
  display:none;
}
.modalToast.show{display:flex;align-items:center;gap:10px;}

.currencyShell{display:flex;flex-direction:column;gap:12px;}
.ratesTabs{display:flex;gap:10px;flex-wrap:wrap;}
.ratesTopBar{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;}
.refreshInTabs{box-shadow:none;height:44px;padding:10px 16px;border-radius:14px;}

.rTab{
  border:1px solid var(--line);
  background:var(--bg2);
  color:var(--muted);
  padding:10px 16px;
  border-radius:999px;
  cursor:pointer;
  font-weight:700;
  font-size:14px;
  box-shadow:none;
  transition:background .15s ease,border-color .15s ease,color .15s ease;
  user-select:none;
  -webkit-user-select:none;
}
.rTab:hover{border-color:rgba(22,163,74,.35);background:var(--brandLight);color:var(--accentText);}
.rTab.active{
  background:linear-gradient(135deg,var(--brand2),var(--brand));
  border-color:transparent;
  color:#fff;
}

.currencyGrid{display:grid;grid-template-columns:1.25fr .9fr;gap:16px;align-items:stretch;}
.currencyHeader{
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding:18px 24px;
  border-bottom:1px solid var(--line);
}
.currencyHeader .hLeft{display:flex;flex-direction:column;gap:6px;}
.currencyHeader .hMeta{display:flex;gap:10px;align-items:center;flex-wrap:wrap;}
.sourceBadge{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  height:24px;
  padding:0 10px;
  border-radius:999px;
  border:1px solid rgba(22,163,74,.28);
  background:rgba(22,163,74,.08);
  color:var(--accentText);
  font-size:12px;
  font-weight:800;
  letter-spacing:.02em;
}
.lastUpdate{font-size:12px;color:var(--muted);}

.currencyCard{
  border-radius:var(--radiusXl);
  border:1px solid var(--line);
  background:var(--card);
  box-shadow:none;
  overflow:hidden;
}
.currencyTable{width:100%;border-collapse:collapse;}
.currencyTable th{
  padding:12px 20px;
  text-align:left;
  font-size:12px;
  font-weight:800;
  color:var(--muted);
  text-transform:uppercase;
  letter-spacing:.05em;
  border-bottom:1px solid var(--line);
  background:var(--card2);
}
.currencyTable td{
  padding:16px 20px;
  border-bottom:1px solid var(--line2);
  font-size:15px;
}
.currencyTable tr:last-child td{border-bottom:none;}
.currencyTable tr:hover td{background:transparent;}
.currencyTable td:nth-child(2),.currencyTable td:nth-child(3){font-weight:800;letter-spacing:.2px;}
.currencyTable td:nth-child(2){color:var(--brand);}
.currencyTable td:nth-child(3){color:var(--text);}
.currCell{display:flex;align-items:center;gap:12px;}
.currFlagIcon{
  width:20px;
  height:20px;
  display:grid;
  place-items:center;
  overflow:hidden;
}
.currFlagIcon img{width:100%;height:100%;object-fit:cover;display:block;}
.currCode{font-weight:900;font-size:15px;}
.currSub{display:block;font-size:12px;color:var(--muted);margin-top:2px;}
.currencyNote{padding:12px 20px;font-size:11px;color:var(--muted);border-top:1px solid var(--line);}

.convertCard{
  border-radius:var(--radiusXl);
  border:1px solid var(--line);
  background:var(--card);
  box-shadow:none;
  overflow:hidden;
  padding:18px 18px 16px;
  display:flex;
  flex-direction:column;
}
.convertMode{
  display:flex;
  gap:8px;
  background:transparent;
  border:1px solid var(--line);
  border-radius:999px;
  padding:6px;
  width:max-content;
}
.cMode{
  border:none;
  background:transparent;
  color:var(--muted);
  padding:10px 16px;
  border-radius:999px;
  cursor:pointer;
  font-weight:800;
  font-size:14px;
  transition:background .15s ease,color .15s ease;
  user-select:none;
  -webkit-user-select:none;
}
.cMode.active{background:linear-gradient(135deg,var(--brand2),var(--brand));color:#fff;}
.convertBody{margin-top:14px;display:flex;flex-direction:column;gap:10px;}
.cLabel{
  font-size:12px;
  font-weight:800;
  color:var(--muted);
  text-transform:uppercase;
  letter-spacing:.05em;
}
.cRow{
  display:flex;
  align-items:center;
  gap:10px;
  border:1px solid var(--line);
  border-radius:16px;
  background:transparent;
  padding:10px 12px;
}
.cRow input{
  border:none;
  outline:none;
  background:transparent;
  width:100%;
  font-size:32px;
  font-weight:650;
  letter-spacing:.2px;
  color:var(--text);
}
.cRow input::-webkit-outer-spin-button,.cRow input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0;}
.cRow select{
  border:none;
  outline:none;
  background:transparent;
  font-weight:800;
  color:var(--text);
  cursor:pointer;
  padding:8px 8px;
  border-radius:12px;
}
.cRow select:hover{background:var(--brandLight);color:var(--accentText);}

.swapBtn{
  align-self:center;
  width:42px;
  height:42px;
  border-radius:14px;
  border:1px solid var(--line);
  background:transparent;
  cursor:pointer;
  font-size:18px;
  font-weight:900;
  transition:background .15s ease,border-color .15s ease;
}
.swapBtn:hover{border-color:rgba(22,163,74,.35);background:var(--brandLight);color:var(--accentText);}

.cHint{
  margin-top:6px;
  font-size:12px;
  color:var(--muted);
  padding:10px 12px;
  border-radius:14px;
  border:1px dashed rgba(22,163,74,.28);
  background:rgba(22,163,74,.05);
}

.newsSection{background:var(--bg2);}
[data-theme="dark"] .newsSection{background:rgba(255,255,255,.02);}
.newsGrid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;}
.newsCard{
  border-radius:var(--radius2);
  border:1px solid var(--line);
  background:var(--card);
  box-shadow:var(--shadow);
  overflow:hidden;
  transition:transform .18s ease, box-shadow .18s ease;
}
.newsCard:hover{transform:translateY(-4px);box-shadow:var(--shadowMd);}
.newsThumb{height:180px;overflow:hidden;background:linear-gradient(135deg,rgba(34,197,94,.18),rgba(22,163,74,.08));}
.newsThumb img{width:100%;height:100%;object-fit:cover;transition:transform .4s ease;}
.newsCard:hover .newsThumb img{transform:scale(1.04);}
.newsBody{padding:16px 18px 20px;}
.newsMeta{display:flex;align-items:center;gap:8px;margin-bottom:10px;}
.newsBadge{
  padding:3px 10px;
  border-radius:999px;
  font-size:11px;
  font-weight:700;
  background:var(--brandLight);
  color:var(--accentText);
  border:1px solid rgba(22,163,74,.2);
}
.newsDate{font-size:12px;color:var(--muted);}
.newsTitle{margin:0 0 8px;font-size:15px;font-weight:700;line-height:1.35;}
.newsText{margin:0;color:var(--muted);font-size:13px;line-height:1.6;}
.newsActions{margin-top:12px;display:flex;justify-content:flex-end;}
.newsBtn{
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:7px 10px;
  border-radius:10px;
  border:1px solid rgba(22,163,74,.22);
  background:linear-gradient(135deg,var(--brand2),var(--brand));
  color:#fff;
  font-size:12px;
  font-weight:700;
  transition:transform .13s ease, filter .18s ease, border-color .18s ease;
  user-select:none;
}
.newsBtn:hover{transform:translateY(-1px);filter:saturate(1.05);border-color:rgba(22,163,74,.35);}
.newsBtn .bi{color:#fff;font-size:13px;}

.partnersSection{padding:24px 0;}
.marqueeWrapper{
  position:relative;
  overflow:hidden;
  padding:8px 0;
  border-radius:var(--radiusXl);
}
.marqueeWrapper::before,.marqueeWrapper::after{
  content:'';
  position:absolute;
  top:0;
  bottom:0;
  width:80px;
  z-index:2;
  pointer-events:none;
}
.marqueeWrapper::before{left:0;background:linear-gradient(to right,var(--bg2),transparent);}
.marqueeWrapper::after{right:0;background:linear-gradient(to left,var(--bg2),transparent);}
.marqueeTrack{
  display:flex;
  gap:14px;
  width:max-content;
  will-change:transform;
  transform:translateX(0);
}
.partnerLogo{
  flex-shrink:0;
  height:78px;
  width:168px;
  border-radius:18px;
  border:1px solid var(--line);
  background:var(--card);
  box-shadow:var(--shadow);
  display:grid;
  place-items:center;
  overflow:hidden;
  cursor:grab;
  transition:border-color .18s ease,box-shadow .18s ease,transform .18s ease;
}
.partnerLogo:active{cursor:grabbing;}
.partnerLogo:hover{border-color:rgba(22,163,74,.32);box-shadow:var(--shadowMd);transform:translateY(-1px);}
.partnerLogo img{
  width:78%;
  height:78%;
  object-fit:contain;
  display:block;
  filter:drop-shadow(0 10px 22px rgba(0,0,0,.10));
}

.reviewsSection{background:var(--bg2);}
[data-theme="dark"] .reviewsSection{background:rgba(255,255,255,.02);}
.reviewsWrap{
  position:relative;
  overflow:hidden;
  padding:10px 0;
  border-radius:var(--radiusXl);
}
.reviewsWrap::before,.reviewsWrap::after{
  content:'';
  position:absolute;
  top:0;
  bottom:0;
  width:90px;
  z-index:2;
  pointer-events:none;
}
.reviewsWrap::before{left:0;background:linear-gradient(to right,var(--bg2),transparent);}
.reviewsWrap::after{right:0;background:linear-gradient(to left,var(--bg2),transparent);}
.reviewsTrack{
  display:flex;
  gap:14px;
  width:max-content;
  will-change:transform;
  transform:translateX(0);
}
.reviewCard{
  flex-shrink:0;
  width:min(360px,86vw);
  border-radius:20px;
  border:1px solid var(--line);
  background:var(--card);
  box-shadow:var(--shadow);
  padding:16px 16px 14px;
  cursor:grab;
  transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease;
}
.reviewCard:active{cursor:grabbing;}
.reviewCard:hover{transform:translateY(-2px);box-shadow:var(--shadowMd);border-color:rgba(22,163,74,.22);}
.reviewTop{display:flex;align-items:center;gap:10px;margin-bottom:10px;}
.avatar{
  width:40px;
  height:40px;
  border-radius:14px;
  display:grid;
  place-items:center;
  font-weight:900;
  background:var(--brandLight);
  color:var(--accentText);
  border:1px solid rgba(22,163,74,.22);
}
.small{font-size:12px;}
.stars{
  margin-left:auto;
  font-size:12px;
  color:var(--brand);
  letter-spacing:.08em;
  opacity:.95;
}
.reviewCard p{
  margin:0;
  color:var(--muted);
  font-size:13px;
  line-height:1.65;
}

footer{
  background:var(--bg2);
  border-top:1px solid var(--line);
  padding:36px 0 20px;
  margin-top:8px;
}
[data-theme="dark"] footer{
  background:rgba(6,26,17,.70);
  border-top:1px solid rgba(255,255,255,.10);
}

.footerGrid{
  display:grid;
  grid-template-columns:1.2fr 1fr 1fr 1.1fr;
  gap:20px;
  margin-bottom:28px;
}
.footerCol h4{margin:0 0 14px;font-size:14px;font-weight:700;}
.footerCol a,.footerCol .fItem{
  display:block;
  color:var(--muted);
  font-size:13px;
  margin:8px 0;
  transition:color .13s ease;
}
.footerCol a:hover{color:var(--brand);}
.footerBottom{
  padding-top:18px;
  border-top:1px solid var(--line);
  display:flex;
  justify-content:space-between;
  align-items:center;
  flex-wrap:wrap;
  gap:12px;
  color:var(--muted);
  font-size:12px;
}
.socialRow{display:flex;gap:1px;flex-wrap:wrap;margin-top:10px;}
.socialRow a{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:40px;
  height:40px;
  border-radius:12px;
}
.socialRow a .bi{font-size:22px;line-height:1;}
.footerLogo{display:flex;align-items:center;gap:10px;margin-bottom:12px;}
.footerSub{font-size:12px;color:var(--muted);}

.footerCol .fItem{
  display:flex;
  align-items:center;
  gap:10px;
  margin:6px 0;
  color:var(--muted);
}
.footerCol .fItem.addr{align-items:flex-start;}
.footerCol .fItem .bi{
  flex:0 0 18px;
  width:18px;
  height:18px;
  display:inline-grid;
  place-items:center;
  font-size:16px;
  line-height:1;
  color:inherit;
  opacity:.9;
  transform:translateY(0);
}
.footerCol .fItem span,.footerCol .fItem a{line-height:1.25;}
.footerCol .fLink{color:inherit;text-decoration:none;}
.footerCol .fLink:hover{color:var(--brand);text-decoration:underline;}

.langSelect{position:relative;display:inline-flex;align-items:center;}
.langBtn{
  display:inline-flex;
  align-items:center;
  gap:10px;
  height:40px;
  padding:0 14px;
  border-radius:999px;
  border:1px solid var(--line);
  background:var(--bg2);
  color:var(--text);
  cursor:pointer;
  font-weight:700;
  transition:background .15s ease,border-color .18s ease;
}
.langBtn:hover{border-color:rgba(22,163,74,.35);background:var(--brandLight);color:var(--accentText);}
.langFlag{
  width:22px;
  height:22px;
  border-radius:50%;
  object-fit:cover;
  border:1px solid var(--line);
}
.langCode{font-size:13px;letter-spacing:.03em;}
.langCaret{font-size:11px;opacity:.65;margin-left:2px;transition:transform .18s ease;}
.langSelect.open .langCaret{transform:rotate(180deg);}

.langMenu{
  position:absolute;
  top:calc(100% + 10px);
  right:0;
  min-width:160px;
  padding:8px;
  border-radius:16px;
  border:1px solid var(--line);
  background:var(--card);
  backdrop-filter:var(--blur);
  -webkit-backdrop-filter:var(--blur);
  opacity:0;
  visibility:hidden;
  pointer-events:none;
  transform:translateY(-6px);
  transition:opacity .16s ease,transform .16s ease,visibility .16s ease;
  z-index:250;
}
.langSelect.open .langMenu{
  opacity:1;
  visibility:visible;
  pointer-events:auto;
  transform:translateY(0);
}
.langItem{
  width:100%;
  display:flex;
  align-items:center;
  gap:10px;
  padding:10px 12px;
  border-radius:12px;
  border:none;
  background:transparent;
  cursor:pointer;
  color:var(--text);
  font-weight:700;
  text-align:left;
  transition:background .13s ease,color .13s ease;
}
.langItem img{
  width:22px;
  height:22px;
  border-radius:50%;
  object-fit:cover;
  border:1px solid var(--line);
}
.langItem:hover{background:var(--brandLight);color:var(--accentText);}
[data-theme="dark"] .langBtn{background:rgba(255,255,255,.06);}
[data-theme="dark"] .langItem:hover{background:rgba(34,197,94,.14);color:#4ade80;}

.themeCircle{
  width:40px;
  height:40px;
  border-radius:999px;
  border:1px solid var(--line);
  background:var(--bg2);
  color:var(--text);
  display:grid;
  place-items:center;
  cursor:pointer;
  font-size:14px;
  transition:background .15s ease,border-color .18s ease,transform .13s ease;
}
.themeCircle:hover{transform:translateY(-1px);border-color:rgba(22,163,74,.35);background:var(--brandLight);color:var(--accentText);}
[data-theme="dark"] .themeCircle{background:rgba(255,255,255,.06);}
[data-theme="dark"] .themeCircle:hover{background:rgba(34,197,94,.14);border-color:rgba(34,197,94,.4);color:#4ade80;}

.navlink .bi,
.dropMenu a .bi,
.themeCircle .bi,
.iconBtn .bi{color:var(--brand);font-size:18px;line-height:1;}
.navlink:hover .bi,
.dropMenu a:hover .bi,
.themeCircle:hover .bi,
.iconBtn:hover .bi{color:var(--accentText);}
.caret .bi{color:var(--brand);font-size:14px;}
[data-theme="dark"] .navlink .bi,
[data-theme="dark"] .dropMenu a .bi,
[data-theme="dark"] .themeCircle .bi,
[data-theme="dark"] .iconBtn .bi,
[data-theme="dark"] .caret .bi{color:#4ade80;}

.desktopOnly{display:flex;align-items:center;gap:8px;}

@media (max-width:1100px){
  .featuresGrid{grid-template-columns:repeat(2,1fr);}
  .calcWrapper{grid-template-columns:1fr;}
  .footerGrid{grid-template-columns:1fr 1fr;}
  .newsGrid{grid-template-columns:repeat(2,1fr);}
  .currencyGrid{grid-template-columns:1fr;}
}
@media (max-width:900px){
  .slide{grid-template-columns:1fr;padding:26px 20px 72px;gap:14px;min-height:auto;}
  .slideMedia{justify-content:center;margin-top:10px;}
  .heroPng{width:min(92vw,520px);max-height:clamp(170px,42vw,320px);}
  .slideContent h1{font-size:clamp(18px,5.4vw,30px);}
  .slideContent p{font-size:clamp(12px,3.4vw,14px);}
}
@media (max-width:720px){
  nav ul{display:none;}
  .hamburger{display:inline-flex;}
  .desktopOnly{display:none;}
}
@media (max-width:640px){
  .featuresGrid{grid-template-columns:1fr;}
  .newsGrid{grid-template-columns:1fr;}
  .footerGrid{grid-template-columns:1fr;}
  .modal{padding:22px 18px;}
  .sectionTitle{flex-direction:column;align-items:flex-start;}
}
@media (max-width:520px){
  .slide{padding:22px 14px 70px;}
  .heroPng{width:92vw;max-height:clamp(160px,55vw,280px);}
  .dotRow{left:16px;bottom:16px;}
  .sliderControls{right:12px;bottom:12px;}
  .refreshInTabs{width:100%;justify-content:center;}
}

.reviewsWrap,
.reviewsTrack,
.reviewCard,
.reviewCard *{
  user-select:none;
  -webkit-user-select:none;
  -ms-user-select:none;
}