:root {
  --bg: #faf8f4;
  --surface: #ffffff;
  --surface2: #f3f0ea;
  --border: #e8e2d9;
  --border2: #c8c0b4;
  --green: #3d7a5a;
  --green-light: #eef4f0;
  --amber: #d97706;
  --red: #dc2626;
  --text: #1c1a16;
  --text2: #5c5649;
  --text3: #a89e90;
  --serif: 'Instrument Serif', Georgia, serif;
  --mono: 'DM Mono', monospace;
  --sans: 'DM Sans', sans-serif;
}

* { margin:0; padding:0; box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { background:var(--bg); color:var(--text); font-family:var(--sans); overflow-x:hidden; -webkit-font-smoothing:antialiased; }

/* ── NAV ── */
nav {
  position:fixed; top:0; left:0; right:0; z-index:200;
  display:flex; align-items:center; justify-content:space-between;
  padding:0 56px; height:64px;
  background:rgba(250,248,244,.92); backdrop-filter:blur(20px);
  border-bottom:1px solid var(--border);
}
.logo { display:flex; align-items:center; gap:10px; text-decoration:none; }
.logo-text { display:flex; align-items:baseline; }
.lt-ai { font-family:var(--serif); font-style:italic; font-size:1.2rem; color:var(--green); }
.lt-ntops { font-family:var(--sans); font-weight:600; font-size:1.05rem; color:var(--text); letter-spacing:-.01em; }
.lt-dot { font-family:var(--mono); font-size:.68rem; color:var(--text3); margin:0 1px; }

nav ul { display:flex; align-items:center; gap:36px; list-style:none; }
nav ul a { font-size:.82rem; color:var(--text2); text-decoration:none; transition:color .15s; }
nav ul a:hover { color:var(--text); }
.nsep { width:1px; height:18px; background:var(--border); }
.nav-mobile-toggle { display:none; flex-direction:column; gap:5px; background:none; border:none; cursor:pointer; padding:4px; }
.nav-mobile-toggle span { display:block; width:22px; height:2px; background:var(--text2); border-radius:2px; transition:all .2s; }

.btn-nav {
  font-family:var(--mono); font-size:.72rem; font-weight:500;
  color:#fff; background:var(--green); border:none;
  padding:9px 20px; border-radius:3px; cursor:pointer;
  text-decoration:none; display:inline-block;
  transition:background .15s; letter-spacing:.04em;
}
.btn-nav:hover { background:#2e5e44; }

/* ── HERO ── */
.hero {
  position:relative; z-index:1;
  padding:152px 56px 80px;
  display:grid; grid-template-columns:1fr 1fr; gap:80px; align-items:center;
  max-width:1280px; margin:0 auto;
}
.hero::before {
  content:''; position:absolute; top:80px; right:0;
  width:55%; height:70%;
  background:radial-gradient(ellipse at 80% 30%, rgba(61,122,90,.05) 0%, transparent 65%);
  pointer-events:none;
}
.htag {
  display:inline-flex; align-items:center; gap:8px;
  font-family:var(--mono); font-size:.63rem; letter-spacing:.12em; text-transform:uppercase;
  color:var(--green); border:1px solid rgba(61,122,90,.25); background:var(--green-light);
  padding:5px 12px; border-radius:2px; margin-bottom:28px;
  animation:fu .5s ease both;
}
.htag::before { content:''; width:5px; height:5px; background:var(--green); border-radius:50%; }

h1 {
  font-family:var(--serif); font-size:clamp(2.8rem,5vw,4.8rem); font-weight:400;
  line-height:1.03; letter-spacing:-.025em; margin-bottom:24px;
  animation:fu .5s .08s ease both;
}
h1 em { font-style:italic; color:var(--green); }

.hdesc { font-size:.95rem; font-weight:300; color:var(--text2); line-height:1.8; max-width:440px; margin-bottom:38px; animation:fu .5s .16s ease both; }
.hact { display:flex; align-items:center; gap:14px; animation:fu .5s .24s ease both; }

.btn-p {
  font-family:var(--mono); font-size:.75rem; font-weight:500; color:#fff;
  background:var(--green); border:none; padding:13px 28px; border-radius:3px;
  cursor:pointer; letter-spacing:.05em; transition:all .15s;
  text-decoration:none; display:inline-block;
}
.btn-p:hover { background:#2e5e44; box-shadow:0 4px 20px rgba(61,122,90,.2); }

.btn-g {
  font-family:var(--mono); font-size:.75rem; color:var(--text2);
  text-decoration:none; border:1px solid var(--border);
  padding:13px 24px; border-radius:3px; display:inline-block; transition:all .15s;
}
.btn-g:hover { color:var(--text); border-color:var(--border2); }

.hquote {
  font-family:var(--mono); font-size:.71rem; color:var(--text2);
  background:var(--green-light); border:1px solid rgba(61,122,90,.18);
  border-left:3px solid var(--green); padding:14px 18px;
  border-radius:0 3px 3px 0; line-height:1.65; margin-top:34px;
  animation:fu .5s .32s ease both; font-style:normal;
}
.hquote strong { color:var(--green); }

/* ── DASHBOARD MOCK ── */
.hero-r { animation:fu .7s .2s ease both; }
.dw {
  background:var(--surface); border:1px solid var(--border); border-radius:10px;
  overflow:hidden;
  box-shadow:0 1px 3px rgba(28,26,22,.04), 0 16px 48px rgba(28,26,22,.09);
}
.dbar { display:flex; align-items:center; gap:7px; padding:10px 14px; background:var(--surface2); border-bottom:1px solid var(--border); }
.dot { width:9px; height:9px; border-radius:50%; }
.dr{background:#ff5f57} .dy{background:#febc2e} .dg{background:#28c840}
.durl { flex:1; text-align:center; font-family:var(--mono); font-size:.59rem; color:var(--text3); }
.dbody { padding:14px; display:flex; flex-direction:column; gap:10px; }
.kpis { display:grid; grid-template-columns:repeat(3,1fr); gap:8px; }
.kpi { background:var(--surface2); border:1px solid var(--border); border-radius:5px; padding:12px; }
.klbl { font-family:var(--mono); font-size:.54rem; letter-spacing:.1em; text-transform:uppercase; color:var(--text3); margin-bottom:5px; }
.kval { font-family:var(--sans); font-weight:600; font-size:1.3rem; letter-spacing:-.02em; }
.kval.g{color:var(--green)} .kval.a{color:var(--amber)}
.kdel { font-family:var(--mono); font-size:.54rem; margin-top:3px; }
.kdel.up{color:var(--red)} .kdel.dn{color:var(--green)}
.dchart { background:var(--surface2); border:1px solid var(--border); border-radius:5px; padding:12px; }
.dch { display:flex; justify-content:space-between; align-items:center; margin-bottom:10px; }
.dct { font-family:var(--mono); font-size:.54rem; letter-spacing:.1em; text-transform:uppercase; color:var(--text3); }
.dcl { display:flex; gap:10px; }
.dci { display:flex; align-items:center; gap:5px; font-family:var(--mono); font-size:.5rem; color:var(--text3); }
.dcd { width:5px; height:5px; border-radius:50%; }
.dca { display:flex; align-items:flex-end; gap:4px; height:62px; }
.cb { flex:1; border-radius:2px 2px 0 0; }
.ic { background:var(--green-light); border:1px solid rgba(61,122,90,.18); border-radius:5px; padding:11px 13px; display:flex; align-items:flex-start; gap:9px; }
.ii { font-size:.85rem; flex-shrink:0; margin-top:1px; }
.it { font-family:var(--mono); font-size:.61rem; color:var(--text2); line-height:1.55; }
.it strong { color:var(--green); }
.provrow { display:flex; gap:7px; }
.prov { flex:1; background:var(--surface2); border:1px solid var(--border); border-radius:5px; padding:9px 11px; display:flex; align-items:center; justify-content:space-between; }
.pname { display:flex; align-items:center; gap:6px; font-family:var(--mono); font-size:.58rem; color:var(--text2); }
.pdot { width:6px; height:6px; border-radius:50%; }
.pcost { font-family:var(--mono); font-size:.62rem; color:var(--text); font-weight:500; }

/* ── METRICS ── */
.mstrip { background:var(--surface); border-top:1px solid var(--border); border-bottom:1px solid var(--border); display:flex; justify-content:center; }
.minner { max-width:1280px; width:100%; display:flex; padding:0 56px; }
.met { flex:1; padding:26px 0; text-align:center; border-right:1px solid var(--border); }
.met:last-child { border-right:none; }
.mval { font-family:var(--serif); font-style:italic; font-size:2rem; color:var(--green); }
.mlbl { font-family:var(--mono); font-size:.57rem; letter-spacing:.1em; text-transform:uppercase; color:var(--text3); margin-top:5px; }

/* ── SECTIONS ── */
.wrap { max-width:1280px; margin:0 auto; padding:96px 56px; }
.slbl { font-family:var(--mono); font-size:.63rem; letter-spacing:.15em; text-transform:uppercase; color:var(--green); margin-bottom:14px; display:block; }
h2 { font-family:var(--serif); font-weight:400; font-size:clamp(2rem,3.5vw,2.9rem); letter-spacing:-.025em; line-height:1.08; margin-bottom:12px; }
h2 em { font-style:italic; color:var(--green); }
.ssub { font-size:.88rem; font-weight:300; color:var(--text2); line-height:1.75; max-width:480px; margin-bottom:56px; }

/* ── STEPS ── */
.steps { display:grid; grid-template-columns:repeat(4,1fr); border:1px solid var(--border); border-radius:6px; overflow:hidden; }
.step { padding:32px; border-right:1px solid var(--border); background:var(--surface); transition:background .2s; }
.step:hover { background:var(--surface2); }
.step:last-child { border-right:none; }
.snum { font-family:var(--serif); font-style:italic; font-size:3rem; color:var(--border); line-height:1; margin-bottom:16px; }
.step h3 { font-weight:600; font-size:.9rem; margin-bottom:9px; }
.step p { font-size:.74rem; font-weight:300; color:var(--text2); line-height:1.7; }
.scode { font-family:var(--mono); font-size:.59rem; color:var(--green); background:var(--green-light); border:1px solid rgba(61,122,90,.18); padding:7px 10px; border-radius:3px; margin-top:14px; line-height:1.5; }

/* ── FEATURES ── */
.fgrid { display:grid; grid-template-columns:1fr 1fr; gap:1px; background:var(--border); border:1px solid var(--border); border-radius:6px; overflow:hidden; }
.feat { background:var(--surface); padding:36px; transition:background .2s; }
.feat:hover { background:var(--surface2); }
.fhdr { display:flex; align-items:flex-start; justify-content:space-between; margin-bottom:14px; }
.fico { font-size:1.2rem; background:var(--surface2); border:1px solid var(--border); width:42px; height:42px; border-radius:5px; display:flex; align-items:center; justify-content:center; }
.ftag { font-family:var(--mono); font-size:.54rem; letter-spacing:.1em; text-transform:uppercase; color:var(--text3); border:1px solid var(--border); padding:3px 8px; border-radius:2px; }
.feat h3 { font-weight:600; font-size:.95rem; margin-bottom:9px; }
.feat p { font-size:.76rem; font-weight:300; color:var(--text2); line-height:1.72; }
.fdet { font-family:var(--mono); font-size:.6rem; color:var(--green); background:var(--green-light); border:1px solid rgba(61,122,90,.18); padding:5px 10px; border-radius:3px; margin-top:14px; display:inline-block; }

/* ── TECH ── */
.tgrid { display:grid; grid-template-columns:repeat(4,1fr); gap:12px; margin-bottom:20px; }
.tc { background:var(--surface); border:1px solid var(--border); border-radius:5px; padding:20px; }
.tlyr { font-family:var(--mono); font-size:.54rem; letter-spacing:.12em; text-transform:uppercase; color:var(--text3); margin-bottom:10px; }
.ti { font-family:var(--mono); font-size:.66rem; color:var(--text2); display:flex; align-items:center; gap:8px; margin-bottom:7px; }
.ti::before { content:''; width:4px; height:4px; background:var(--green); border-radius:50%; flex-shrink:0; opacity:.7; }
.tscall { background:var(--green-light); border:1px solid rgba(61,122,90,.18); border-radius:5px; padding:20px 24px; display:flex; gap:24px; align-items:flex-start; flex-wrap:wrap; }
.tsstat { display:flex; flex-direction:column; min-width:110px; }
.tsv { font-family:var(--serif); font-style:italic; font-size:1.6rem; color:var(--green); }
.tsl { font-family:var(--mono); font-size:.56rem; letter-spacing:.08em; color:var(--text3); margin-top:2px; }
.tsdiv { width:1px; background:rgba(61,122,90,.15); align-self:stretch; }

/* ── PRICING ── */
.pgrid { display:grid; grid-template-columns:repeat(3,1fr); gap:20px; }
.plan { background:var(--surface); border:1px solid var(--border); border-radius:6px; padding:36px; position:relative; transition:transform .2s, box-shadow .2s; }
.plan:hover { transform:translateY(-3px); box-shadow:0 12px 40px rgba(28,26,22,.07); }
.plan.featured { border-color:rgba(61,122,90,.35); background:linear-gradient(160deg,rgba(61,122,90,.03) 0%,var(--surface) 100%); }
.ppill { position:absolute; top:-11px; left:50%; transform:translateX(-50%); background:var(--green); color:#fff; font-family:var(--mono); font-size:.56rem; font-weight:500; letter-spacing:.1em; text-transform:uppercase; padding:4px 14px; border-radius:10px; white-space:nowrap; }
.ptier { font-family:var(--mono); font-size:.59rem; letter-spacing:.15em; text-transform:uppercase; color:var(--text3); margin-bottom:18px; }
.pprice { font-family:var(--serif); font-style:italic; font-size:3.2rem; letter-spacing:-.03em; line-height:1; margin-bottom:4px; }
.pprice .cur { font-size:1.3rem; vertical-align:top; margin-top:7px; display:inline-block; font-style:normal; }
.pper { font-family:var(--mono); font-size:.62rem; color:var(--text3); margin-bottom:26px; }
.phr { border:none; border-top:1px solid var(--border); margin-bottom:22px; }
.pfeats { list-style:none; margin-bottom:30px; display:flex; flex-direction:column; gap:9px; }
.pfeats li { font-size:.77rem; font-weight:300; color:var(--text2); display:flex; align-items:flex-start; gap:9px; line-height:1.4; }
.pfeats li.on { color:var(--text); }
.pfeats li::before { content:'—'; color:var(--text3); font-size:.7rem; flex-shrink:0; margin-top:1px; }
.pfeats li.on::before { content:'✓'; color:var(--green); }
.bplan { width:100%; padding:12px; border-radius:3px; font-family:var(--mono); font-size:.69rem; letter-spacing:.07em; cursor:pointer; border:1px solid var(--border); background:transparent; color:var(--text2); transition:all .15s; text-align:center; text-decoration:none; display:block; }
.bplan:hover { color:var(--text); border-color:var(--border2); }
.bplan.pr { background:var(--green); border-color:var(--green); color:#fff; font-weight:500; }
.bplan.pr:hover { background:#2e5e44; }

/* ── CTA ── */
.cta { text-align:center; padding:100px 56px; background:var(--text); overflow:hidden; position:relative; }
.cta::before { content:''; position:absolute; top:-60px; left:50%; transform:translateX(-50%); width:600px; height:300px; background:radial-gradient(ellipse,rgba(61,122,90,.15) 0%,transparent 65%); pointer-events:none; }
.cta h2 { color:#f0ece3; font-size:clamp(2.2rem,5vw,3.8rem); margin-bottom:16px; }
.cta h2 em { color:#6dba8f; font-style:italic; }
.cta > p { font-size:.88rem; font-weight:300; color:rgba(240,236,227,.45); margin-bottom:40px; }
.cform { display:flex; gap:10px; justify-content:center; max-width:460px; margin:0 auto 18px; flex-wrap:wrap; }
.cinput { flex:1; min-width:220px; padding:13px 18px; background:rgba(255,255,255,.07); border:1px solid rgba(255,255,255,.12); border-radius:3px; color:#f0ece3; font-family:var(--mono); font-size:.75rem; outline:none; transition:border-color .15s; }
.cinput::placeholder { color:rgba(240,236,227,.28); }
.cinput:focus { border-color:rgba(61,122,90,.6); }
.cnote { font-family:var(--mono); font-size:.59rem; color:rgba(240,236,227,.28); letter-spacing:.05em; }
/* Success/error states */
.form-message { font-family:var(--mono); font-size:.72rem; margin-top:14px; padding:10px 16px; border-radius:3px; display:none; }
.form-message.success { background:rgba(61,122,90,.2); color:#6dba8f; border:1px solid rgba(61,122,90,.3); display:block; }
.form-message.error { background:rgba(220,38,38,.15); color:#fca5a5; border:1px solid rgba(220,38,38,.2); display:block; }

/* ── FOOTER ── */
footer { border-top:1px solid var(--border); padding:34px 56px; display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:18px; background:var(--surface); }
.flinks { display:flex; gap:26px; list-style:none; }
.flinks a { font-family:var(--mono); font-size:.61rem; color:var(--text3); text-decoration:none; transition:color .15s; }
.flinks a:hover { color:var(--text2); }
.fcopy { font-family:var(--mono); font-size:.59rem; color:var(--text3); }
.fstack { display:flex; gap:7px; }
.sbadge { font-family:var(--mono); font-size:.53rem; color:var(--text3); border:1px solid var(--border); padding:3px 8px; border-radius:2px; }

/* ── ANIMATIONS ── */
@keyframes fu { from{opacity:0;transform:translateY(16px)} to{opacity:1;transform:translateY(0)} }

/* ── SCROLLBAR ── */
::-webkit-scrollbar { width:3px; }
::-webkit-scrollbar-track { background:var(--bg); }
::-webkit-scrollbar-thumb { background:var(--border2); }

/* ── RESPONSIVE ── */
@media(max-width:1024px) {
  .tgrid { grid-template-columns:1fr 1fr; }
}
@media(max-width:900px) {
  nav { padding:0 24px; }
  nav ul { display:none; }
  nav ul.open { display:flex; flex-direction:column; position:fixed; top:64px; left:0; right:0; background:rgba(250,248,244,.98); border-bottom:1px solid var(--border); padding:20px 24px; gap:16px; }
  .nav-mobile-toggle { display:flex; }
  .hero { grid-template-columns:1fr; padding:120px 24px 60px; gap:40px; }
  .hero-r { display:none; }
  .minner { padding:0 24px; }
  .wrap { padding:60px 24px; }
  .steps { grid-template-columns:1fr 1fr; }
  .fgrid { grid-template-columns:1fr; }
  .tgrid { grid-template-columns:1fr 1fr; }
  .pgrid { grid-template-columns:1fr; }
  .cta { padding:60px 24px; }
  footer { padding:28px 24px; flex-direction:column; align-items:flex-start; }
}
@media(max-width:480px) {
  .steps { grid-template-columns:1fr; }
  .tgrid { grid-template-columns:1fr; }
  .kpis { grid-template-columns:1fr 1fr; }
}

/* ── PRINT ── */
@media print {
  nav, .hero-r, .cta { display:none; }
  .hero { padding-top:20px; grid-template-columns:1fr; }
}
