:root{
  --navy:#14232f; --navy-2:#1d3240; --teal:#20b2a2; --teal-dk:#159187;
  --paper:#f6f8f8; --wash:#e8f5f3; --ink:#14232f; --slate:#5a6b78; --line:#dde5e6;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{font-family:'Manrope',system-ui,sans-serif;color:var(--ink);background:var(--paper);line-height:1.6;-webkit-font-smoothing:antialiased}
.wrap{max-width:1180px;margin:0 auto;padding:0 28px}
a{color:inherit;text-decoration:none}
img{max-width:100%;display:block}

/* nav */
header{position:sticky;top:0;z-index:50;background:rgba(246,248,248,.9);backdrop-filter:blur(12px);border-bottom:1px solid var(--line)}
nav{display:flex;align-items:center;justify-content:space-between;height:74px;gap:20px}
.logo img{height:34px;display:block}
.nav-links{display:flex;gap:26px;align-items:center}
.nav-links a{font-weight:600;font-size:14.5px;color:var(--slate);transition:color .15s;white-space:nowrap}
.nav-links a:hover,.nav-links a.on{color:var(--navy)}
.nav-cta{background:var(--navy);color:#fff!important;padding:10px 18px;border-radius:9px;font-weight:700;font-size:14px;transition:.15s}
.nav-cta:hover{background:var(--teal)}
.menu-toggle{display:none;background:none;border:none;font-size:26px;color:var(--navy);cursor:pointer}

/* buttons */
.btn-primary{display:inline-block;background:var(--teal);color:#fff;padding:15px 28px;border-radius:10px;font-weight:700;font-size:16px;transition:.16s;box-shadow:0 6px 20px rgba(32,178,162,.28)}
.btn-primary:hover{background:var(--teal-dk);transform:translateY(-1px)}
.btn-ghost{display:inline-block;padding:15px 24px;font-weight:700;font-size:16px;color:var(--navy)}
.btn-ghost:hover{color:var(--teal)}

/* sections */
section{padding:88px 0}
.sec-head{max-width:660px;margin-bottom:52px}
.sec-head.center{margin-left:auto;margin-right:auto;text-align:center}
.sec-head .eyebrow{color:var(--teal-dk);font-weight:700;font-size:15px;margin-bottom:12px}
.sec-head h2{font-size:38px;font-weight:800;letter-spacing:-1px;line-height:1.12;color:var(--navy)}
.sec-head p{font-size:18px;color:var(--slate);margin-top:16px}
.page-hero{padding:64px 0 40px}
.page-hero .eyebrow{color:var(--teal-dk);font-weight:700;font-size:15px;margin-bottom:14px}
.page-hero h1{font-size:48px;font-weight:800;letter-spacing:-1.5px;line-height:1.06;color:var(--navy);max-width:15em}
.page-hero p{font-size:19px;color:var(--slate);margin-top:18px;max-width:36em}

/* bands */
.band{background:var(--navy);color:#fff}
.band .sec-head h2{color:#fff}.band .sec-head p{color:#a8bcc4}.band .eyebrow{color:var(--teal)}
.wash{background:var(--wash)}

/* cards grid */
.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:24px}
.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.grid-4{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.grid-2>*,.grid-3>*,.grid-4>*{min-width:0}
.card{background:#fff;border:1px solid var(--line);border-radius:16px;padding:28px;transition:.18s}
.card:hover{border-color:var(--teal);box-shadow:0 14px 40px rgba(20,35,47,.08)}
.card .ic{width:46px;height:46px;border-radius:12px;background:var(--wash);display:grid;place-items:center;font-size:23px;margin-bottom:14px}
.card h3{font-size:20px;font-weight:800;color:var(--navy);margin-bottom:8px}
.card p{color:var(--slate);font-size:15px}
.card ul{list-style:none;margin-top:12px;display:flex;flex-direction:column;gap:7px}
.card li{display:flex;gap:9px;font-size:14px;color:var(--ink)}
.card li::before{content:"✓";color:var(--teal);font-weight:800;flex-shrink:0}

/* stat tiles */
.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}
.stat{text-align:center;padding:8px}
.stat .n{font-size:46px;font-weight:800;color:var(--teal);letter-spacing:-1.5px;line-height:1}
.stat .l{font-size:14.5px;color:var(--slate);margin-top:8px}
.band .stat .l{color:#a8bcc4}

/* chart bars */
.chart{background:#fff;border:1px solid var(--line);border-radius:16px;padding:28px}
.chart h4{font-size:16px;font-weight:800;color:var(--navy);margin-bottom:4px}
.chart .cap{font-size:13px;color:var(--slate);margin-bottom:20px}
.bar-row{display:flex;align-items:center;gap:14px;margin-bottom:14px}
.bar-row .lbl{width:120px;font-size:13.5px;font-weight:600;color:var(--ink);flex-shrink:0}
.bar-track{flex:1;height:26px;background:#eef2f3;border-radius:6px;overflow:hidden;position:relative}
.bar-fill{height:100%;border-radius:6px;display:flex;align-items:center;justify-content:flex-end;padding-right:10px;color:#fff;font-size:12.5px;font-weight:700}
.bar-fill.navy{background:var(--navy)}.bar-fill.teal{background:var(--teal)}.bar-fill.grey{background:#c3ccd0;color:var(--navy)}

/* table */
.tbl-wrap{overflow-x:auto;border:1px solid var(--line);border-radius:14px;background:#fff}
table.data{width:100%;border-collapse:collapse;font-size:14.5px;min-width:560px}
table.data th{background:var(--navy);color:#fff;text-align:left;padding:14px 16px;font-weight:700;font-size:13.5px}
table.data td{padding:13px 16px;border-bottom:1px solid var(--line);color:var(--ink)}
table.data tr:last-child td{border-bottom:none}
table.data td:first-child{font-weight:700;color:var(--navy)}
.chk{color:var(--teal);font-weight:800}

/* logos row (integrations) */
.pms-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.pms{background:#fff;border:1px solid var(--line);border-radius:12px;padding:22px 18px;text-align:center;font-weight:700;color:var(--navy);font-size:16px;transition:.15s}
.pms:hover{border-color:var(--teal);box-shadow:0 8px 24px rgba(20,35,47,.08)}
.pms span{display:block;font-size:12px;color:var(--slate);font-weight:500;margin-top:3px}

/* feature rows */
.feat{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:center;padding:44px 0;border-bottom:1px solid var(--line)}
.feat:last-child{border-bottom:none}
.feat:nth-child(even) .feat-media{order:-1}
.feat-media img{border-radius:16px;box-shadow:0 20px 50px rgba(20,35,47,.14);width:100%;height:360px;object-fit:cover}
.feat .tag{color:var(--teal-dk);font-weight:700;font-size:14px;margin-bottom:8px}
.feat h3{font-size:28px;font-weight:800;color:var(--navy);letter-spacing:-.6px}
.feat p{font-size:16.5px;color:var(--slate);margin-top:12px}
.feat ul{margin-top:16px;list-style:none;display:flex;flex-direction:column;gap:9px}
.feat li{display:flex;gap:10px;font-size:15px;color:var(--ink)}
.feat li::before{content:"✓";color:var(--teal);font-weight:800}

/* final cta */
.final{text-align:center;background:var(--wash)}
.final h2{font-size:42px;font-weight:800;letter-spacing:-1.5px;color:var(--navy)}
.final p{font-size:19px;color:var(--slate);margin:18px auto 32px;max-width:36em}

/* footer */
footer{background:var(--navy);color:#fff;padding:64px 0 34px}
.foot-grid{display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr;gap:32px;margin-bottom:44px}
.foot-brand img{height:32px;margin-bottom:16px}
.foot-brand p{color:#9fb3bb;font-size:14.5px;max-width:24em}
.foot-col h5{font-size:13px;font-weight:700;color:#7f97a0;margin-bottom:15px;text-transform:uppercase;letter-spacing:.5px}
.foot-col a{display:block;color:#c3d4da;font-size:14.5px;margin-bottom:10px;transition:.15s}
.foot-col a:hover{color:var(--teal)}
.foot-bottom{border-top:1px solid rgba(255,255,255,.1);padding-top:24px;display:flex;justify-content:space-between;flex-wrap:wrap;gap:12px;color:#8ea3ab;font-size:14px}

@media(max-width:1120px){
  .nav-links{align-items:flex-start;display:none;position:absolute;top:74px;left:0;right:0;flex-direction:column;background:#fff;padding:20px 28px;gap:16px;border-bottom:1px solid var(--line);box-shadow:0 10px 30px rgba(0,0,0,.08)}
  .nav-links.open{display:flex}
  .nav-links a{font-size:16px}.nav-cta{margin-top:4px}
  .menu-toggle{display:block}
}
@media(max-width:1240px) and (min-width:1121px){.nav-links{gap:20px}}
@media(max-width:920px){
  .grid-2,.grid-3,.grid-4,.stats,.pms-grid,.feat,.foot-grid{grid-template-columns:1fr}
  .stats,.pms-grid{grid-template-columns:repeat(2,1fr)}
  .feat:nth-child(even) .feat-media{order:0}
  .stat .n{font-size:30px;letter-spacing:-.8px}.stats>*{min-width:0}
  .page-hero h1{font-size:34px}.sec-head h2{font-size:29px}.hero h1{font-size:36px!important}
}

@media(max-width:560px){.wrap{padding:0 18px}section{padding:64px 0}.final h2{font-size:30px}.page-hero h1{font-size:30px}.sec-head h2{font-size:26px}.card{padding:22px}.feat-media img{height:240px}.feat h3{font-size:24px}}
