/* ===== Truva — shared product-page styles ===== */
:root{
  --bg:#FFFFFF; --bg-soft:#F5F5F7; --bg-tint:#FBFBFD;
  --ink:#1D1D1F; --ink-2:#515156; --ink-3:#86868B; --ink-4:#B0B0B6;
  --line:rgba(0,0,0,0.09); --line-2:rgba(0,0,0,0.14);
  --accent:#0071E3; --accent-2:#2C8FF0; --accent-soft:rgba(0,113,227,0.10);
  --maxw:1120px;
  --ease:cubic-bezier(0.16,1,0.3,1);
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{
  background:var(--bg);color:var(--ink);
  font-family:'Helvetica Neue',Helvetica,Arial,'Liberation Sans',sans-serif;
  line-height:1.55;letter-spacing:-0.011em;-webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;overflow-x:hidden;
}
::selection{background:var(--accent);color:#fff}
a{color:inherit;text-decoration:none}
img{display:block;max-width:100%}
.wrap{width:100%;max-width:var(--maxw);margin:0 auto;padding:0 32px}
.mono-label{font-size:11.5px;font-weight:600;letter-spacing:0.2em;text-transform:uppercase;color:var(--accent)}

/* nav */
header.nav{position:fixed;top:0;left:0;right:0;z-index:200;background:rgba(255,255,255,.72);
  backdrop-filter:saturate(180%) blur(20px);-webkit-backdrop-filter:saturate(180%) blur(20px);
  border-bottom:1px solid var(--line)}
.nav-inner{display:flex;align-items:center;justify-content:space-between;height:56px}
.brand{display:flex;align-items:center;gap:10px;font-weight:600;font-size:17px}
.brand img{width:22px;height:22px;object-fit:contain}
.nav-right{display:flex;align-items:center;gap:16px}
.back-link{font-size:14px;color:var(--ink-2);font-weight:500}
.back-link:hover{color:var(--accent)}
.lang{display:inline-flex;border:1px solid var(--line-2);border-radius:100px;overflow:hidden}
.lang button{border:none;background:transparent;font:inherit;font-size:12.5px;font-weight:600;
  padding:5px 12px;cursor:pointer;color:var(--ink-3)}
.lang button.active{background:var(--accent);color:#fff}
.cta-btn{background:var(--ink);color:#fff;font-size:13.5px;font-weight:600;padding:8px 16px;border-radius:100px}
.cta-btn:hover{background:var(--accent)}

/* hero */
.p-hero{padding:150px 0 70px;background:linear-gradient(180deg,var(--bg) 0%,var(--bg-soft) 100%)}
.p-hero .eyebrow{margin-bottom:20px}
.p-hero h1{font-size:clamp(34px,6vw,68px);font-weight:700;line-height:1.03;letter-spacing:-0.04em}
.p-hero h1 .grad{background:linear-gradient(120deg,var(--accent),var(--accent-2));
  -webkit-background-clip:text;background-clip:text;color:transparent}
.p-hero .lead{margin-top:26px;max-width:60ch;font-size:clamp(17px,2vw,21px);color:var(--ink-2);line-height:1.6}
.p-hero .hero-actions{margin-top:34px;display:flex;gap:14px;flex-wrap:wrap}
.solid-btn{background:var(--accent);color:#fff;font-weight:600;font-size:15px;padding:13px 26px;border-radius:100px;transition:transform .3s var(--ease),background .3s}
.solid-btn:hover{transform:translateY(-2px);background:#005FBE}
.ghost-btn{color:var(--ink);font-weight:600;font-size:15px;padding:13px 22px;border-radius:100px;border:1px solid var(--line-2)}
.ghost-btn:hover{border-color:var(--accent);color:var(--accent)}

/* sections */
.block{padding:90px 0;border-top:1px solid var(--line)}
.block.soft{background:var(--bg-soft)}
.sec-head{max-width:720px;margin-bottom:52px}
.sec-head h2{font-size:clamp(26px,4vw,44px);font-weight:700;line-height:1.1;letter-spacing:-0.03em;margin-top:16px}
.sec-head .lead{margin-top:18px;font-size:clamp(16px,1.8vw,19px);color:var(--ink-2);line-height:1.6;max-width:58ch}

.feat-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.feat-grid.two{grid-template-columns:repeat(2,1fr)}
.feat{border:1px solid var(--line);border-radius:20px;padding:32px 28px;background:var(--bg);
  transition:border-color .4s var(--ease),transform .5s var(--ease),box-shadow .5s var(--ease)}
.feat:hover{border-color:var(--line-2);transform:translateY(-4px);box-shadow:0 26px 50px -30px rgba(0,0,0,.18)}
.feat .idx{width:38px;height:38px;border-radius:11px;background:var(--accent-soft);color:var(--accent);
  display:flex;align-items:center;justify-content:center;font-weight:700;font-size:15px;margin-bottom:20px}
.feat h3{font-size:20px;font-weight:600;letter-spacing:-0.02em;margin-bottom:10px}
.feat p{color:var(--ink-2);font-size:14.5px;line-height:1.62}

/* split (image / text) */
.split{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center}
.split .visual{display:flex;justify-content:center}
.split .visual img{width:100%;max-width:420px}
.split h2{font-size:clamp(24px,3.2vw,38px);font-weight:700;letter-spacing:-0.03em;line-height:1.12}
.split .lead{margin-top:18px;color:var(--ink-2);font-size:17px;line-height:1.62;max-width:48ch}
.point-list{list-style:none;margin-top:26px}
.point-list li{display:flex;gap:14px;padding:14px 0;border-top:1px solid var(--line);align-items:flex-start}
.point-list li:last-child{border-bottom:1px solid var(--line)}
.point-list .tick{color:var(--accent);font-weight:700;flex-shrink:0}
.point-list strong{display:block;font-size:15.5px;font-weight:600;color:var(--ink)}
.point-list small{color:var(--ink-2);font-size:14px}

/* AI example callout */
.ai-quote{border-left:3px solid var(--accent);background:var(--bg);border-radius:0 16px 16px 0;
  padding:22px 26px;margin-top:20px;box-shadow:0 20px 40px -30px rgba(0,0,0,.2)}
.ai-quote .tag{font-size:11.5px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--accent)}
.ai-quote p{margin-top:10px;font-size:16px;color:var(--ink);line-height:1.55}

.note{margin-top:26px;font-size:13.5px;color:var(--ink-3);line-height:1.6;
  border-left:2px solid var(--line-2);padding-left:16px;max-width:60ch}

/* CTA */
.p-cta{padding:100px 0;text-align:center;background:var(--ink);color:#fff}
.p-cta h2{font-size:clamp(26px,4vw,44px);font-weight:700;letter-spacing:-0.03em;line-height:1.1}
.p-cta p{margin-top:16px;color:rgba(255,255,255,.62);font-size:17px;max-width:46ch;margin-inline:auto}
.p-cta .solid-btn{margin-top:30px;display:inline-block;background:#fff;color:var(--ink)}
.p-cta .solid-btn:hover{background:var(--accent);color:#fff}

/* footer */
footer.site{background:var(--bg-soft);border-top:1px solid var(--line);padding:56px 0 34px}
.foot-top{display:flex;justify-content:space-between;gap:40px;flex-wrap:wrap}
.foot-brand{max-width:320px}
.foot-brand .brand{margin-bottom:14px}
.foot-brand p{color:var(--ink-2);font-size:14px;line-height:1.6}
.foot-col h5{font-size:12px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-3);margin-bottom:14px}
.foot-col a{display:block;color:var(--ink-2);font-size:14.5px;padding:5px 0}
.foot-col a:hover{color:var(--accent)}
.foot-bottom{margin-top:44px;padding-top:22px;border-top:1px solid var(--line);
  display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;color:var(--ink-3);font-size:12.5px}

/* reveal */
.reveal{opacity:0;transform:translateY(22px);transition:opacity .8s var(--ease),transform .8s var(--ease)}
.reveal.in{opacity:1;transform:none}

@media(max-width:900px){
  .feat-grid,.feat-grid.two{grid-template-columns:1fr}
  .split{grid-template-columns:1fr;gap:40px}
  .split .visual{order:-1}
}
@media(max-width:640px){
  .nav-right .back-link{display:none}
  .wrap{padding:0 20px}
}
@media(prefers-reduced-motion:reduce){.reveal{opacity:1;transform:none;transition:none}}
