:root{
  --bg:#F6FFFE;
  --card:#ffffff;
  --text:#0B1220;
  --muted:#5B6B84;
  --line:#E3F0EE;

  --primary:#0F766E;
  --accent:#1D4ED8;

  --shadow: 0 18px 45px rgba(11,18,32,.08);
  --shadow2: 0 10px 28px rgba(11,18,32,.06);
  --radius:18px;
  --max:1140px;
}
*{box-sizing:border-box}
body{
  margin:0;
  font-family: ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, Arial;
  color:var(--text);
  background:
    radial-gradient(900px 450px at 12% 0%, rgba(15,118,110,.16), transparent 60%),
    radial-gradient(900px 450px at 90% 10%, rgba(29,78,216,.10), transparent 60%),
    linear-gradient(180deg, var(--bg), #ffffff 45%, #f3f7fb);
  line-height:1.55;
}
a{color:inherit;text-decoration:none}
.container{max-width:var(--max);margin:0 auto;padding:0 18px}

.nav{
  position:sticky;top:0;z-index:50;
  background: rgba(246,255,254,.82);
  backdrop-filter: blur(10px);
  border-bottom:1px solid var(--line);
}
.nav-inner{display:flex;align-items:center;justify-content:space-between;padding:14px 0;gap:14px}
.brand{display:flex;align-items:center;gap:12px;font-weight:900}
.mark{
  width:42px;height:42px;border-radius:14px;
  background: linear-gradient(135deg, var(--primary), #34d399);
  box-shadow: 0 16px 35px rgba(15,118,110,.22);
  display:grid;place-items:center;color:#fff;font-weight:900;
}
.brand small{display:block;color:var(--muted);font-weight:700;margin-top:2px}
.nav-links{display:flex;gap:16px;align-items:center;flex-wrap:wrap}
.nav-links a{color:var(--muted);font-weight:800;font-size:14px}
.nav-links a:hover{color:var(--text)}
.btn{
  position:relative;
  overflow:hidden;
  display:inline-flex;align-items:center;justify-content:center;gap:10px;
  padding:12px 16px;border-radius:14px;border:1px solid var(--line);
  background:#fff;color:var(--text);font-weight:900;cursor:pointer;
  box-shadow:var(--shadow2);
  transition:.18s transform ease,.18s border-color ease,.18s filter ease;
  white-space:nowrap;
}
.btn:hover{transform:translateY(-1px);border-color:#cfe4e1}
.btn.primary{
  border:none;
  background: linear-gradient(135deg, var(--primary), #0ea5a4);
  color:#fff;
  box-shadow: 0 18px 40px rgba(15,118,110,.22);
}
.btn.accent{
  border:none;
  background: linear-gradient(135deg, var(--accent), #3b82f6);
  color:#fff;
  box-shadow: 0 18px 40px rgba(29,78,216,.18);
}
.btn.ghost{background:transparent;border:1px solid #d5e7e5;box-shadow:none}

.hero{padding:46px 0 18px}
.hero-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:18px;align-items:stretch}
@media(max-width:980px){.hero-grid{grid-template-columns:1fr}.nav-links{display:none}}
.badge{
  display:inline-flex;align-items:center;gap:10px;padding:8px 12px;border:1px solid var(--line);
  background: rgba(255,255,255,.78);border-radius:999px;color:var(--muted);font-weight:900;font-size:13px
}
h1{margin:14px 0 10px;font-size:46px;line-height:1.08;letter-spacing:-.9px}
@media(max-width:520px){h1{font-size:36px}}
.lead{margin:0 0 14px;color:var(--muted);font-size:16px;max-width:62ch}
.cta{display:flex;gap:12px;flex-wrap:wrap;margin-top:14px}
.mini{display:flex;gap:10px;flex-wrap:wrap;margin-top:14px;color:var(--muted);font-weight:800;font-size:13px}
.mini span{display:inline-flex;gap:8px;align-items:center;padding:8px 10px;border-radius:12px;border:1px solid var(--line);background:#fff;box-shadow:var(--shadow2)}
.card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);overflow:hidden}
.pad{padding:18px}
.section{padding:26px 0}
.section-title{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:14px}
.section-title h2{margin:0;font-size:28px;letter-spacing:-.4px}
.section-title p{margin:0;color:var(--muted);max-width:540px}
.pill{padding:8px 10px;border-radius:999px;border:1px solid var(--line);background:#fff;color:var(--muted);font-weight:900;font-size:13px;box-shadow:var(--shadow2)}
.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
@media(max-width:980px){.grid-3{grid-template-columns:1fr}}
.feature{display:flex;gap:12px;align-items:flex-start}
.icon{width:42px;height:42px;border-radius:14px;display:grid;place-items:center;background:rgba(15,118,110,.10);border:1px solid rgba(15,118,110,.18);color:var(--primary);font-weight:900;flex:0 0 auto}
.feature b{display:block;margin:0 0 6px;font-size:16px}
.feature p{margin:0;color:var(--muted);font-size:14px}

.highlight{border:1px solid var(--line);background: linear-gradient(135deg, rgba(15,118,110,.06), rgba(29,78,216,.04));border-radius:16px;padding:14px}

form{display:grid;gap:10px;margin-top:12px}
.row{display:grid;grid-template-columns:1fr 1fr;gap:10px}
@media(max-width:520px){.row{grid-template-columns:1fr}}
input,select,textarea{width:100%;padding:12px;border-radius:14px;border:1px solid #cfe4e1;background:#fff;color:var(--text);outline:none;box-shadow:0 8px 20px rgba(11,18,32,.04)}
input:focus,select:focus,textarea:focus{border-color: rgba(15,118,110,.55); box-shadow:0 0 0 4px rgba(15,118,110,.14)}
textarea{min-height:110px;resize:vertical}
.hint{margin:0;color:var(--muted);font-size:12.8px;font-weight:800}
.alert{margin-top:12px;padding:12px 14px;border-radius:14px;border:1px solid var(--line);background:#fff;box-shadow:var(--shadow2);font-weight:900}
.alert.ok{background: rgba(15,118,110,.08); border-color: rgba(15,118,110,.22)}
.alert.err{background: rgba(249,115,22,.10); border-color: rgba(249,115,22,.30)}

.faq{display:grid;gap:10px}
details{border:1px solid var(--line);background:#fff;border-radius:16px;padding:12px 14px;box-shadow:var(--shadow2)}
summary{cursor:pointer;font-weight:950}
details p{margin:8px 0 0;color:var(--muted);font-weight:750}

footer{padding:26px 0 38px;border-top:1px solid var(--line);color:var(--muted);background: rgba(255,255,255,.65)}
.footer-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:14px;align-items:start}
@media(max-width:980px){.footer-grid{grid-template-columns:1fr}}

.muted{color:var(--muted)}

/* Chatbot widget */
.bot-fab{
  position:fixed; right:18px; bottom:18px;
  width:56px; height:56px; border-radius:18px;
  display:grid; place-items:center;
  background: linear-gradient(135deg, var(--accent), #3b82f6);
  color:#fff; font-weight:950;
  box-shadow: 0 18px 40px rgba(29,78,216,.22);
  border:none; cursor:pointer; z-index:1000;
}
.bot-panel{
  position:fixed; right:18px; bottom:86px;
  transform: translateY(10px) scale(.98);
  opacity:0;
  transition: transform var(--dur2) var(--ease2), opacity var(--dur2) var(--ease2);

  width:min(360px, calc(100vw - 36px));
  background:#fff; border:1px solid var(--line);
  border-radius:18px; box-shadow: var(--shadow);
  overflow:hidden; z-index:1000; display:none;
}
.bot-head{
  padding:12px 14px;
  background: linear-gradient(135deg, rgba(15,118,110,.10), rgba(29,78,216,.08));
  border-bottom:1px solid var(--line);
  display:flex; align-items:center; justify-content:space-between; gap:10px;
}
.bot-title{font-weight:950}
.bot-body{padding:12px 14px; height:260px; overflow:auto; background: #fbfffe}
.bot-msg{margin:0 0 10px; display:flex; gap:8px}
.bot-b{padding:10px 12px; border-radius:14px; border:1px solid var(--line); background:#fff; box-shadow: var(--shadow2); max-width: 85%}
.bot-me{justify-content:flex-end}
.bot-me .bot-b{background: rgba(29,78,216,.08); border-color: rgba(29,78,216,.15)}
.bot-foot{padding:12px 14px; border-top:1px solid var(--line); display:flex; gap:10px}
.bot-foot input{box-shadow:none}
.bot-x{border:none;background:#fff;border:1px solid var(--line);border-radius:12px;padding:8px 10px;cursor:pointer;font-weight:900}

/* Popup modal */
.modal{
  position:fixed; inset:0; background: rgba(11,18,32,.45);
  display:none; align-items:center; justify-content:center;
  padding:18px; z-index:1200;
  opacity:0;
  transition: opacity var(--dur2) var(--ease2);
}
.modal.open{opacity:1;}

.modal-card{
  width:min(560px, 100%);
  transform: translateY(10px) scale(.98);
  transition: transform var(--dur2) var(--ease2);

  background:#fff; border:1px solid var(--line);
  border-radius:18px; box-shadow: var(--shadow);
  overflow:hidden;
}
.modal-card img{width:100%; display:block}
.modal-actions{display:flex; gap:10px; justify-content:space-between; padding:12px 14px; border-top:1px solid var(--line)}


/* ===== Motion (premium animations) ===== */
:root{
  --ease: cubic-bezier(.2,.8,.2,1);
  --ease2: cubic-bezier(.16,1,.3,1);
  --dur1: 180ms;
  --dur2: 320ms;
  --dur3: 520ms;
}
@media (prefers-reduced-motion: reduce){
  *{scroll-behavior:auto !important; transition:none !important; animation:none !important;}
}
@keyframes floatIn{
  from{opacity:0; transform: translateY(14px) scale(.98);}
  to{opacity:1; transform: translateY(0) scale(1);}
}
@keyframes sheen{
  0%{transform: translateX(-120%) skewX(-18deg); opacity:0;}
  30%{opacity:.18;}
  60%{opacity:.18;}
  100%{transform: translateX(220%) skewX(-18deg); opacity:0;}
}
.reveal{opacity:0; transform: translateY(14px); transition: opacity var(--dur3) var(--ease2), transform var(--dur3) var(--ease2);}
.reveal.in{opacity:1; transform: translateY(0);}

.btn::after{
  content:"";
  position:absolute; inset:0;
  background: linear-gradient(90deg, transparent, rgba(255,255,255,.65), transparent);
  transform: translateX(-120%) skewX(-18deg);
  opacity:0;
}
.btn:hover::after{ animation: sheen 900ms var(--ease2); }
.card{ transition: transform var(--dur2) var(--ease), box-shadow var(--dur2) var(--ease), border-color var(--dur2) var(--ease); }
.card:hover{ transform: translateY(-2px); border-color:#cfe4e1; box-shadow: 0 22px 60px rgba(11,18,32,.10); }
.badge, .pill, .mini span, details{ transition: transform var(--dur2) var(--ease), border-color var(--dur2) var(--ease); }
.badge:hover, .pill:hover, .mini span:hover, details:hover{ transform: translateY(-1px); border-color:#cfe4e1; }
.nav{ transition: background var(--dur2) var(--ease), border-color var(--dur2) var(--ease); }

.bot-panel.open{opacity:1; transform: translateY(0) scale(1);}

.modal.open .modal-card{transform: translateY(0) scale(1);}
