:root { --navy:#23297a; --navy2:#151a52; --copper:#c89b6d; --ink:#1d2233; --mute:#5b6275; --line:#e2e5ee; --tint:#f1f2f8; }
  * { box-sizing:border-box; }
  html { scroll-behavior:smooth; }
  body { margin:0; font-family:"Inter","Segoe UI",Arial,sans-serif; color:var(--ink); background:#fff; font-size:16px; line-height:1.6; }
  img { max-width:100%; display:block; }
  .wrap { max-width:1180px; margin:0 auto; padding:0 24px; }
  .eyebrow { font-size:12px; font-weight:600; letter-spacing:.14em; text-transform:uppercase; color:var(--copper); }
  h1,h2,h3 { color:var(--navy2); line-height:1.15; margin:0; }
  h2 { font-size:34px; font-weight:700; letter-spacing:-.01em; }
  section { padding:88px 0; }
  .bgtint { background:#f7f8fb; }
  .head { max-width:720px; margin-bottom:44px; }
  .head h2 { margin-top:10px; }
  .head p { color:var(--mute); margin:14px 0 0; }
  .btn { display:inline-flex; align-items:center; gap:8px; padding:13px 22px; border-radius:6px; font-weight:600; font-size:15px; text-decoration:none; border:1.5px solid var(--navy); transition:.15s; }
  .btn.primary { background:var(--navy); color:#fff; }
  .btn.primary:hover { background:var(--navy2); }
  .btn.ghost { color:var(--navy); background:#fff; }
  .btn.light { color:#fff; border-color:rgba(255,255,255,.7); background:transparent; }
  .btn.light:hover { background:rgba(255,255,255,.1); }
  .btn.copper { background:var(--copper); border-color:var(--copper); color:var(--navy2); }
  .link { color:var(--navy); font-weight:600; text-decoration:none; font-size:15px; }
  .link:hover { text-decoration:underline; }

  .topbar { background:var(--navy2); color:#c9cde4; font-size:13px; }
  .topbar .wrap { display:flex; justify-content:flex-end; gap:22px; padding-top:7px; padding-bottom:7px; }
  nav.main { position:sticky; top:0; z-index:10; background:#fff; border-bottom:1px solid var(--line); }
  nav.main .wrap { display:flex; align-items:center; justify-content:space-between; height:92px; }
  nav.main img { height:60px; }
  nav.main ul { list-style:none; display:flex; gap:30px; margin:0; padding:0; font-size:15px; font-weight:500; }
  nav.main ul a { text-decoration:none; color:var(--ink); }
  nav.main ul a.on { color:var(--navy); border-bottom:2px solid var(--copper); padding-bottom:4px; }
  nav.main .btn { padding:10px 18px; font-size:14px; }

  /* hero */
  .hero { position:relative; min-height:640px; display:flex; align-items:center; color:#fff; overflow:hidden; background:#0f1440; }
  .hero picture, .hero picture img { position:absolute; inset:0; width:100%; height:100%; }
  .hero picture img { object-fit:cover; object-position:100% 50%; }
  .hero::after { content:""; position:absolute; inset:0; background:linear-gradient(90deg, rgba(10,14,48,.72) 0%, rgba(10,14,48,.45) 38%, rgba(10,14,48,0) 62%); }
  .hero .wrap { position:relative; z-index:1; width:100%; }
  .hero .txt { max-width:560px; padding:80px 0; }
  .hero .eyebrow { color:#f0c89c; }
  .hero h1 { color:#fff; font-size:54px; font-weight:700; letter-spacing:-.02em; margin:0 0 16px; }
  .hero p { font-size:19px; color:#e3e6f5; margin:0 0 32px; }
  .hero .ctas { display:flex; gap:12px; flex-wrap:wrap; }

  /* featured product */
  .feat { display:grid; grid-template-columns:.95fr 1.05fr; gap:56px; align-items:center; }
  .feat .pic { border-radius:14px; overflow:hidden; aspect-ratio:4/5; }
  .feat .pic img { width:100%; height:100%; object-fit:cover; }
  .feat h2 { margin:10px 0 8px; }
  .feat .sub { color:var(--copper); font-weight:600; font-size:18px; margin:0 0 16px; }
  .feat p { color:#3a4157; margin:0 0 22px; }
  .figs { display:grid; grid-template-columns:repeat(3,1fr); gap:10px; margin:0 0 28px; }
  .figs div { background:var(--tint); border-radius:10px; padding:14px 16px 12px; }
  .figs b { display:block; font-size:22px; font-weight:700; color:var(--navy); line-height:1.1; white-space:nowrap; }
  .figs i { display:block; width:22px; height:3px; background:var(--copper); margin:10px 0 7px; }
  .figs span { font-size:13px; color:var(--mute); }
  .feat .ctas { display:flex; gap:12px; flex-wrap:wrap; }

  /* products */
  .prods { display:grid; grid-template-columns:repeat(4,1fr); gap:18px; }
  .prod { background:#fff; border:1px solid var(--line); border-radius:12px; overflow:hidden; display:flex; flex-direction:column; text-decoration:none; color:inherit; transition:.15s; }
  .prod:hover { border-color:#c9cde0; box-shadow:0 10px 28px rgba(21,26,82,.08); }
  .prod .im { position:relative; aspect-ratio:4/3; background:#eef0f5; overflow:hidden; }
  .prod .im img { position:absolute; inset:0; width:100%; height:100%; object-fit:contain; padding:14px; mix-blend-mode:multiply; }
  .prod .im.cover img { object-fit:cover; padding:0; mix-blend-mode:normal; }
  .prod .b { padding:18px 20px 20px; display:flex; flex-direction:column; flex:1; }
  .prod h3 { font-size:17px; font-weight:600; margin-bottom:6px; }
  .prod p { margin:0 0 14px; font-size:14px; color:var(--mute); flex:1; }
  .prod .tag { font-size:11px; font-weight:600; letter-spacing:.08em; text-transform:uppercase; color:var(--copper); margin-bottom:6px; }
  .prod span.more { font-size:14px; font-weight:600; color:var(--navy); }

  /* markets */
  .mk { display:grid; grid-template-columns:repeat(4,1fr); gap:18px; }
  .mk div { border-top:3px solid var(--navy); background:#fff; padding:22px 22px 24px; border-radius:0 0 10px 10px; }
  .mk div { overflow:hidden; }
  .mk img { display:block; width:calc(100% + 44px); max-width:none; height:auto; aspect-ratio:16/9; object-fit:cover; margin:-22px -22px 18px; }
  .mk h3 { font-size:17px; margin-bottom:6px; }
  .mk p { margin:0; font-size:14.5px; color:var(--mute); }

  /* why */
  .why { display:grid; grid-template-columns:.9fr 1.1fr; gap:64px; align-items:start; }
  .why ul { list-style:none; margin:0; padding:0; display:grid; grid-template-columns:1fr 1fr; gap:26px 32px; }
  .why li b { display:block; font-size:32px; color:var(--navy); font-weight:700; line-height:1; margin-bottom:8px; }
  .why li h3 { font-size:16px; margin-bottom:4px; }
  .why li p { margin:0; font-size:14.5px; color:var(--mute); }

  /* references */
  h2.oneline { white-space:nowrap; }
  @media (max-width: 980px) { h2.oneline { white-space:normal; } }
  .refs { display:grid; grid-template-columns:repeat(6,1fr); gap:18px; align-items:center; }
  .refs a { position:relative; height:92px; border:1px solid var(--line); border-radius:10px; display:grid; place-items:center; padding:16px; background:#fff; transition:border-color .15s, box-shadow .15s; }
  .refs img[src$=".svg"] { max-height:40px; }
  .refs img { max-height:46px; max-width:100%; width:auto; transition:transform .2s ease; }
  .refs img.big { max-height:60px; }
  .refs a:hover, .refs a:focus-visible { border-color:var(--copper); box-shadow:0 6px 18px rgba(21,26,82,.10); }
  .refs a:hover img, .refs a:focus-visible img { transform:scale(1.15); }
  .refs a::after { content:attr(data-name); position:absolute; left:50%; bottom:calc(100% + 8px); transform:translate(-50%,4px); background:var(--navy2,#151a52); color:#fff; font-size:11.5px; font-weight:600; letter-spacing:.06em; white-space:nowrap; padding:6px 10px; border-radius:6px; opacity:0; pointer-events:none; transition:.15s; z-index:5; }
  .refs a::before { content:""; position:absolute; left:50%; bottom:calc(100% + 2px); transform:translate(-50%,4px); border:6px solid transparent; border-top-color:var(--navy2,#151a52); border-bottom:0; opacity:0; pointer-events:none; transition:.15s; z-index:5; }
  .refs a::after, .refs a::before { display:none; }
  .refs a:hover::after, .refs a:hover::before, .refs a:focus-visible::after, .refs a:focus-visible::before { display:block; opacity:1; transform:translate(-50%,0); animation:tipin .15s ease; }
  @keyframes tipin { from { opacity:0; transform:translate(-50%,4px); } to { opacity:1; transform:translate(-50%,0); } }
  @media (hover:none) { .refs a::after, .refs a::before { display:none !important; } }

  /* cta */
  .cta { background:var(--navy2); color:#fff; border-radius:18px; padding:52px 56px; display:flex; justify-content:space-between; align-items:center; gap:32px; flex-wrap:wrap; }
  .cta h2 { color:#fff; font-size:30px; }
  .cta p { color:#c9cde4; margin:10px 0 0; }

  footer { background:#0f1440; color:#aab0d0; padding:48px 0 28px; margin-top:88px; font-size:14px; }
  footer .grid { display:grid; grid-template-columns:1.3fr 1fr 1fr 1fr; gap:32px; }
  footer h4 { color:#fff; margin:0 0 12px; font-size:14px; }
  footer a { color:#aab0d0; text-decoration:none; display:block; margin-bottom:6px; }
  footer a.li { display:inline-flex; align-items:center; justify-content:center; width:36px; height:36px; margin:16px 0 0; border-radius:8px; background:#0a66c2; color:#fff; transition:background .2s; }
  footer a.li:hover { background:#004182; }
  footer .copy { border-top:1px solid rgba(255,255,255,.1); margin-top:36px; padding-top:20px; display:flex; justify-content:space-between; font-size:13px; }
  .note { position:fixed; right:16px; bottom:16px; background:#fff8e6; border:1px solid #f0d9a0; color:#6b5210; font-size:12px; padding:8px 12px; border-radius:8px; z-index:20; }

  @media (max-width: 980px) {
    nav.main ul { display:none; }
    .feat, .why { grid-template-columns:1fr; gap:36px; }
    .prods, .mk { grid-template-columns:repeat(2,1fr); }
    .refs { grid-template-columns:repeat(3,1fr); }
    .hero h1 { font-size:42px; }
    .hero::after { background:linear-gradient(90deg, rgba(10,14,48,.75) 0%, rgba(10,14,48,.35) 70%, rgba(10,14,48,.15) 100%); }
    footer .grid { grid-template-columns:1fr 1fr; }
  }
  @media (max-width: 600px) {
    .wrap { padding:0 16px; }
    section { padding:60px 0; }
    nav.main .wrap { height:72px; } nav.main img { height:44px; } nav.main .btn { display:none; }
    .hero { min-height:560px; align-items:flex-end; }
    .hero picture img { object-position:78% 50%; }
    .hero::after { background:linear-gradient(0deg, rgba(10,14,48,.85) 0%, rgba(10,14,48,.45) 55%, rgba(10,14,48,.1) 100%); }
    .hero .txt { padding:40px 0; }
    .hero h1 { font-size:32px; }
    .hero p { font-size:17px; }
    h2 { font-size:27px; }
    .figs { grid-template-columns:repeat(2,1fr); }
    .prods, .mk, .why ul { grid-template-columns:1fr; }
    .refs { grid-template-columns:repeat(2,1fr); }
    .cta { padding:32px 22px; }
    .topbar .wrap { justify-content:center; gap:16px; }
    footer .grid { grid-template-columns:1fr; }
    footer .copy { flex-direction:column; gap:6px; }
  }

nav.main .mnav { display:none; -webkit-appearance:none; appearance:none; flex:none; flex-direction:column; align-items:center; justify-content:center; gap:5px; width:44px; height:44px; margin-left:4px; padding:0; border:0; border-radius:8px; background:transparent; color:#1d2233; cursor:pointer; -webkit-tap-highlight-color:transparent; }
  nav.main .mnav span { display:block; flex:none; width:24px; min-width:24px; height:2px; border-radius:2px; background:#1d2233; transition:transform .2s, opacity .2s; }
  nav.main.open .mnav span:nth-child(1) { transform:translateY(7px) rotate(45deg); }
  nav.main.open .mnav span:nth-child(2) { opacity:0; }
  nav.main.open .mnav span:nth-child(3) { transform:translateY(-7px) rotate(-45deg); }
  nav.main ul li.mcta { display:none; }
  @media (max-width: 980px) {
    nav.main .wrap { gap:12px; }
    nav.main .btn { margin-left:auto; }
    nav.main .mnav { display:flex; }
    nav.main.open ul { display:flex; flex-direction:column; gap:0; position:absolute; left:0; right:0; top:100%; padding:6px 16px 18px; background:#fff; border-bottom:1px solid var(--line); box-shadow:0 14px 28px rgba(15,20,64,.14); }
    nav.main.open ul li a { display:block; padding:14px 6px; border-bottom:1px solid var(--line); font-size:17px; }
    nav.main.open ul li a.on { border-bottom:1px solid var(--line); padding-bottom:14px; color:var(--navy); font-weight:700; }
  }
  @media (max-width: 600px) {
    nav.main .btn { display:none; }
    nav.main .mnav { margin-left:auto; }
    nav.main.open ul li.mcta { display:block; padding-top:14px; }
    nav.main.open ul li.mcta a { border:0; padding:13px 18px; border-radius:6px; background:var(--navy); color:#fff; text-align:center; font-weight:600; font-size:16px; }
  }

.gate { position:fixed; inset:0; z-index:100; display:none; align-items:center; justify-content:center; padding:16px; background:rgba(15,20,64,.62); backdrop-filter:blur(3px); }
  .gate.open { display:flex; }
  .gate .box { position:relative; width:100%; max-width:560px; max-height:calc(100vh - 32px); overflow:auto; background:#fff; border-radius:14px; box-shadow:0 30px 80px rgba(0,0,0,.35); font-family:"Inter","Segoe UI",Arial,sans-serif; color:#1d2233; }
  .gate .hd { display:flex; gap:16px; align-items:center; padding:24px 28px 18px; border-bottom:1px solid #e2e5ee; }
  .gate .hd .pdf { flex:none; width:44px; height:52px; border-radius:6px; background:#c89b6d; display:grid; place-items:center; font-size:12px; font-weight:700; color:#151a52; }
  .gate .hd b { display:block; color:#151a52; font-size:18px; line-height:1.25; }
  .gate .hd small { color:#5b6275; font-size:13px; }
  .gate .x { position:absolute; top:12px; right:14px; width:34px; height:34px; border:0; background:none; font-size:26px; line-height:1; color:#5b6275; cursor:pointer; border-radius:6px; }
  .gate .x:hover { background:#f1f2f8; }
  .gate form { display:grid !important; margin:0; gap:12px; padding:20px 28px 26px; }
  .gate p.in { margin:0 0 4px; font-size:14px; color:#5b6275; }
  .gate .row { display:grid; grid-template-columns:1fr 1fr; gap:12px; }
  .gate label.f { display:grid; gap:5px; font-size:13px; font-weight:600; color:#1d2233; }
  .gate label.f i { font-style:normal; color:#c0392b; }
  .gate input[type=text], .gate input[type=email], .gate select { width:100%; padding:11px 13px; border-radius:8px; border:1px solid #cfd3e0; background:#fff; color:#1d2233; font:inherit; font-size:15px; font-weight:400; }
  .gate input:focus, .gate select:focus { outline:2px solid rgba(35,41,122,.25); border-color:#23297a; }
  .gate .bad { border-color:#c0392b !important; }
  .gate .chk { display:flex; gap:10px; align-items:flex-start; font-size:13px; color:#5b6275; line-height:1.45; }
  .gate .chk input { flex:none; width:16px !important; height:16px; margin:2px 0 0; padding:0; accent-color:#23297a; }
  .gate .chk a { color:#23297a; }
  .gate p.pn { margin:0; font-size:12.5px; color:#5b6275; line-height:1.5; }
  .gate p.pn a { color:#23297a; }
  .gate .err { display:none; font-size:13px; color:#c0392b; }
  .gate button.go { margin-top:4px; padding:13px 22px; border-radius:6px; border:0; background:#23297a; color:#fff; font:inherit; font-weight:600; font-size:15px; cursor:pointer; }
  .gate button.go:hover { background:#151a52; }
  .gate .ok { display:none; padding:34px 28px 30px; text-align:center; }
  .gate .ok b { display:block; color:#151a52; font-size:19px; margin-bottom:8px; }
  .gate .ok p { margin:0 0 18px; color:#5b6275; font-size:14.5px; }
  .gate .ok a, .gate .ok button.lnk { color:#23297a; font-weight:600; background:none; border:0; padding:0; font:inherit; font-size:15px; cursor:pointer; }
  .gate .ok strong { color:#151a52; word-break:break-all; }
  .gate.done form { display:none; } .gate.done .ok { display:block; }
  @media (max-width:600px) { .gate .row { grid-template-columns:1fr; } .gate .hd, .gate form { padding-left:20px; padding-right:20px; } }

.rfi { position:fixed; inset:0; z-index:100; display:none; align-items:center; justify-content:center; padding:16px; background:rgba(15,20,64,.62); backdrop-filter:blur(3px); }
  .rfi.open { display:flex; }
  .rfi .box { position:relative; width:100%; max-width:600px; max-height:calc(100vh - 32px); overflow:auto; background:#fff; border-radius:14px; box-shadow:0 30px 80px rgba(0,0,0,.35); font-family:"Inter","Segoe UI",Arial,sans-serif; color:#1d2233; }
  .rfi .hd { padding:24px 28px 16px; border-bottom:1px solid #e2e5ee; }
  .rfi .hd small { font-size:12px; font-weight:600; letter-spacing:.14em; text-transform:uppercase; color:#c89b6d; }
  .rfi .hd b { display:block; color:#151a52; font-size:20px; line-height:1.25; margin-top:4px; }
  .rfi .hd p { margin:6px 0 0; font-size:14px; color:#5b6275; }
  .rfi .x { position:absolute; top:12px; right:14px; width:34px; height:34px; border:0; background:none; font-size:26px; line-height:1; color:#5b6275; cursor:pointer; border-radius:6px; }
  .rfi .x:hover { background:#f1f2f8; }
  .rfi form { display:grid !important; gap:12px; margin:0; padding:20px 28px 26px; }
  .rfi .row { display:grid; grid-template-columns:1fr 1fr; gap:12px; }
  .rfi label.f { display:grid; gap:5px; font-size:13px; font-weight:600; color:#1d2233; }
  .rfi label.f i { font-style:normal; color:#c0392b; }
  .rfi input[type=text], .rfi input[type=email], .rfi select, .rfi textarea { width:100%; padding:11px 13px; border-radius:8px; border:1px solid #cfd3e0; background:#fff; color:#1d2233; font:inherit; font-size:15px; font-weight:400; }
  .rfi textarea { resize:vertical; min-height:96px; }
  .rfi input:focus, .rfi select:focus, .rfi textarea:focus { outline:2px solid rgba(35,41,122,.25); border-color:#23297a; }
  .rfi .bad { border-color:#c0392b !important; }
  .rfi .chk { display:flex; gap:10px; align-items:flex-start; font-size:13px; color:#5b6275; line-height:1.45; font-weight:400; }
  .rfi .chk input { flex:none; width:16px !important; height:16px; margin:2px 0 0; padding:0; accent-color:#23297a; }
  .rfi p.pn { margin:0; font-size:12.5px; color:#5b6275; line-height:1.5; }
  .rfi p.pn a { color:#23297a; }
  .rfi .err { display:none; font-size:13px; color:#c0392b; }
  .rfi button.go { margin-top:4px; padding:13px 22px; border-radius:6px; border:0; background:#23297a; color:#fff; font:inherit; font-weight:600; font-size:15px; cursor:pointer; }
  .rfi button.go:hover { background:#151a52; }
  .rfi .ok { display:none; padding:40px 28px 34px; text-align:center; }
  .rfi .ok b { display:block; color:#151a52; font-size:20px; margin-bottom:8px; }
  .rfi .ok p { margin:0 0 20px; color:#5b6275; font-size:14.5px; }
  .rfi .ok button { padding:11px 20px; border-radius:6px; border:1.5px solid #23297a; background:#fff; color:#23297a; font:inherit; font-weight:600; cursor:pointer; }
  .rfi.done form, .rfi.done .hd { display:none !important; } .rfi.done .ok { display:block; }
  @media (max-width:600px) { .rfi .row { grid-template-columns:1fr; } .rfi .hd, .rfi form { padding-left:20px; padding-right:20px; } }
