@layer reset, components, page;
@font-face{font-family:"PP-Agrandir";src:url("../fonts/1791468268522-UZk6oujH.woff2") format("woff2");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:"GT-America";src:url("../fonts/1791468268630-oXCR4l7v.woff2") format("woff2");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:"GT-America";src:url("../fonts/1791468268717-e5dJerQl.woff2") format("woff2");font-weight:500;font-style:normal;font-display:swap}
:root{
  --space-xs: 57px;
  --space-sm: 69px;
  --space-md: 80px;
  --space-lg: 86px;
  --space-xl: 88px;
  --space-2xl: 95px;
  --space-3xl: 107px;
  --radius-sm: 12px;
  --radius-md: 20px;
  --radius-lg: 22px;
  --radius-pill: 100px;
  --maxw: 1320px;
  --gutter: 60px;
  --type-1: 15px;
  --type-2: 16px;
  --type-3: 18px;
  --type-4: 20px;
  --type-5: 24px;
  --type-6: 30px;
  --type-7: 36px;
  --type-8: 50px;
  --type-9: 60px;
  --space-1: 57px;
  --space-2: 60px;
  --space-3: 69px;
  --space-4: 70px;
  --space-5: 75px;
  --space-6: 80px;
  --space-7: 83px;
  --space-8: 86px;
  --space-9: 87px;
  --type-10: 74px;
  --type-h1: 60px;
  --type-h2: 36px;
  --type-h3: 36px;
  --type-h4: 36px;
  --color-bg: #f5f5f0;
  --space-10: 88px;
  --space-11: 90px;
  --space-12: 92px;
  --space-13: 95px;
  --space-14: 96px;
  --space-15: 107px;
  --color-ink: #1e3c3b;
  --font-body: GT-America, sans-serif;
  --shadow-md: 0 2px 16px 0 rgba(7, 41, 41, 0.06);
  --shadow-sm: 0 2px 12px 0 rgba(7, 41, 41, 0.06);
  --type-body: 18px;
  --color-text: #072929;
  --color-muted: #777777;
  --color-accent: #0d6c50;
  --color-border: #ebeae1;
  --color-on-ink: #ffffff;
  --font-display: PP-Agrandir, sans-serif;
  --leading-body: 1.6;
  --color-primary: #072929;
  --color-surface: #ffffff;
  --color-on-accent: #ffffff;
  --color-tint-teal: #e6f9f0;
  --color-tint-warm: #f8f7f4;
  --leading-display: 1.1;
  --color-accent-ink: #0d6c50;
  --color-background: #f5f5f0;
  --color-on-primary: #ffffff;
  --color-on-surface: #072929;
  --color-primary-ink: #072929;
  --section-pad-mobile: 40px;
  --section-pad-desktop: 90px;
}
@layer reset{*,*::before,*::after{box-sizing:border-box}
*{margin:0;padding:0}
body{min-height:100vh;font-family:var(--font-body,system-ui,-apple-system,'Segoe UI',sans-serif);color:var(--color-text);background:var(--color-bg);-webkit-font-smoothing:antialiased;line-height:var(--leading-body,1.6)}
h1,h2,h3,h4{font-family:var(--font-display,var(--font-body));line-height:var(--leading-display,normal);letter-spacing:var(--tracking-display,normal)}
img,picture,svg{max-width:100%;display:block;height:auto}
a{color:inherit;text-decoration:none}
button{font:inherit;cursor:pointer}
.psf-wrap{width:100%;max-width:var(--maxw);margin:0 auto;padding-left:24px;padding-right:24px}
@media(prefers-reduced-motion:reduce){*{animation-duration:.001ms!important;transition-duration:.001ms!important}}}
@layer components{/* recipes — the site's own devices, written from the evidence */
/* Pixis recipes — only devices the site uses. */

/* Grounds */
.ground-warm { background: var(--color-bg); color: var(--color-text); }
.ground-white { background: var(--color-surface); color: var(--color-text); }
.ground-gradient-hero {
  background: linear-gradient(to right bottom, #dbfdfa, #f2ebff);
  color: var(--color-text);
}
.ground-gradient-cta {
  background: linear-gradient(135deg, #ddf8f0, #eae8ff);
  color: var(--color-text);
}
.ground-ink { background: var(--color-ink); color: var(--color-on-ink); }
.ground-ink .eyebrow { color: #1cf3b4; }

/* Eyebrow and heading emphasis */
.eyebrow {
  font-family: var(--font-body);
  font-size: 14px;
  font-weight: 400;
  line-height: 1.4;
  letter-spacing: 1.12px;
  text-transform: uppercase;
  color: var(--color-accent);
  margin: 0 0 16px;
}
.hl-accent { color: var(--color-accent); }

/* Buttons */
.btn-primary,
.btn-secondary {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  padding: 14px 20px;
  border: 1px solid var(--color-primary);
  border-radius: var(--radius-pill);
  font-family: var(--font-body);
  font-size: 15px;
  font-weight: 400;
  line-height: 24px;
  text-decoration: none;
  cursor: pointer;
  transition: background-color 0.2s ease, color 0.2s ease;
}
.btn-primary { background: var(--color-primary); color: var(--color-on-primary); }
.btn-primary:hover { background: #061b16; }
.btn-secondary { background: transparent; color: var(--color-text); }
.btn-secondary:hover { background: var(--color-primary); color: #ffffff; }

/* Text link */
.link-text {
  font-size: 14px;
  font-weight: 500;
  color: var(--color-text);
  text-decoration: none;
  transition: opacity 0.2s ease-in;
}
.link-text:hover { opacity: 0.7; }

/* Cards and frames */
.card-soft {
  background: var(--color-bg);
  border: 1px solid #ffffff;
  border-radius: var(--radius-sm);
  padding: 18px 16px;
  box-shadow: var(--shadow-sm);
}
.card-photo {
  border-radius: var(--radius-lg);
  box-shadow: var(--shadow-md);
  overflow: hidden;
}
.frame-shot {
  display: block;
  width: 100%;
  height: auto;
  border-radius: var(--radius-md);
  box-shadow: var(--shadow-sm);
  overflow: hidden;
}

/* Badges, chips, ticks */
.badge-teal {
  display: inline-flex;
  align-items: center;
  padding: 4px 12px;
  border-radius: var(--radius-pill);
  background: var(--color-tint-teal);
  color: var(--color-accent);
  font-size: 14px;
  font-weight: 500;
  line-height: 1.4;
}
.check-dot {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 22px;
  height: 22px;
  border-radius: var(--radius-pill);
  background: var(--color-tint-teal);
  color: var(--color-accent);
}

/* Divider */
.rule { border: 0; border-top: 1px solid var(--color-border); margin: 0; }

/* Logo strip loop */
.logo-marquee { overflow: hidden; }
.logo-marquee__track {
  display: flex;
  width: max-content;
  animation: logo-carousel-scroll 28s linear infinite;
}
@keyframes logo-carousel-scroll {
  0% { transform: translate(0px); }
  100% { transform: translate(-50%); }
}
@media (prefers-reduced-motion: reduce) {
  .logo-marquee__track { animation: none; }
}

/* reveal */
/* reveal on entry — the site's own grammar: fade-up 20px 600ms cubic-bezier(0.65, 0, 0.35, 1) */
html[data-reveal-ready] [data-reveal]{opacity:0;transform:translateY(20px);transition:opacity 600ms cubic-bezier(0.65, 0, 0.35, 1),transform 600ms cubic-bezier(0.65, 0, 0.35, 1);will-change:opacity,transform}
html[data-reveal-ready] [data-reveal].is-in{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){html[data-reveal-ready] [data-reveal]{opacity:1;transform:none;transition:none}}

/* chrome */

#nav{position:fixed;top:0;left:0;right:0;z-index:100;font-family:var(--font-body);font-size:14px;line-height:21px;font-weight:500;color:var(--color-text);}
#nav *,#nav *::before,#nav *::after{box-sizing:border-box;}
#nav ul{list-style:none;margin:0;padding:0;}
#nav p{margin:0;}
#nav a{color:inherit;text-decoration:none;}
#nav a:focus-visible,#nav button:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px;border-radius:6px;}
#nav svg,#nav img{display:block;}

#nav .bar{position:relative;z-index:2;display:flex;align-items:center;padding:0 60px;}
#nav .brand{display:flex;align-items:center;gap:10px;padding:15px 0;margin-right:10px;flex:none;}
#nav .primary{flex:none;}
#nav .links{display:flex;align-items:stretch;}
#nav .item{position:static;}
#nav .top{display:block;background:none;border:0;margin:0;font:inherit;font-weight:500;line-height:21px;color:var(--color-text);padding:35px 15px;cursor:pointer;transition:opacity .2s ease;white-space:nowrap;}
#nav .links:has(.has-menu:hover) > .item:not(:hover) > .top,
#nav .links:has(.has-menu:focus-within) > .item:not(:focus-within) > .top{opacity:.5;}

#nav .top-arrow{display:none;}
#nav .actions{margin-left:auto;order:4;display:flex;align-items:center;gap:10px;}
#nav .pill-signup{order:5;margin-left:10px;}
#nav .menu-btn{order:6;}
#nav .pill{display:inline-flex;align-items:center;padding:10px 20px;line-height:20px;border-radius:var(--radius-pill);font-size:14px;font-weight:500;white-space:nowrap;color:var(--color-text);transition:background-color .2s ease,opacity .2s ease;}
#nav .pill-login{background:#fff;}
#nav .pill-login:hover{background:var(--color-border);}
#nav .pill-demo{background:#7ecfdb;}
#nav .pill-signup{background:var(--color-primary);color:#fff;padding:5px 20px 5px 6px;gap:9px;}
#nav .pill-signup:hover{background:#061b16;}
#nav .pill-signup svg{flex:none;}

#nav .menu-btn{display:none;}
#nav .menu{display:none;}

/* desktop dropdown panels */
#nav .panel{position:absolute;top:10px;left:10px;right:10px;z-index:-1;background:var(--color-bg);border-radius:20px;overflow:hidden;padding-top:91px;box-shadow:0 0 0 2000px rgba(7,41,41,.45);opacity:0;visibility:hidden;transition:opacity .2s ease,visibility .2s ease;}
#nav .has-menu:hover > .panel,
#nav .has-menu:focus-within > .panel{opacity:1;visibility:visible;}

#nav .pgrid{display:grid;align-items:stretch;padding-left:104px;}
#nav .pgrid-products{grid-template-columns:310fr 290fr 280fr 136fr 300px;}
#nav .pgrid-solutions{grid-template-columns:300fr 287fr 143fr 235fr 300px;padding-left:155px;}
#nav .pgrid-simple{grid-template-columns:310fr 570fr 300px;}

#nav .ptitle{display:block;padding:27px 30px 78px 0;}
#nav .pt-row{display:flex;align-items:center;gap:20px;}
#nav .pt{font-family:var(--font-display);font-size:40px;line-height:44px;font-weight:400;color:var(--color-text);}
#nav .pd{display:block;margin-top:7px;font-size:16px;line-height:26px;font-weight:400;max-width:250px;}
#nav a.ptitle:hover .pd,#nav a.ptitle:hover .pt{opacity:.75;}
#nav .pt,#nav .pd{transition:opacity .2s ease;}

#nav .pcol{padding:35px 20px 78px 0;display:flex;flex-direction:column;}
#nav .pcol-wide{padding-top:39px;}
#nav .pitem{display:grid;grid-template-columns:40px 1fr;gap:20px;align-items:start;margin-bottom:38px;padding-right:10px;transition:opacity .2s ease;}
#nav .pitem:last-child{margin-bottom:0;}
#nav .pitem:hover{opacity:.75;}
#nav .pitem img{width:40px;height:40px;border-radius:10px;}
#nav .pi-t{display:block;font-family:var(--font-display);font-size:24px;line-height:28px;font-weight:400;margin-top:1px;}
#nav .pi-d{display:block;max-width:170px;margin-top:8px;font-size:14px;line-height:23.5px;font-weight:400;}
#nav .phead{font-size:12px;line-height:22px;font-weight:500;text-transform:uppercase;letter-spacing:0;margin-bottom:14px;}
#nav .plink{display:block;padding:4px 0;font-size:14px;line-height:21px;font-weight:400;transition:opacity .2s ease;}
#nav .plink:hover{opacity:.65;}
#nav .plink-lg{font-size:16px;padding:6px 0;}

#nav .pcard{display:block;background:var(--color-border);padding:46px 50px 40px;}
#nav .ct{display:block;font-family:var(--font-display);font-size:24px;line-height:26px;font-weight:400;}
#nav .cl{display:inline-block;margin-top:48px;padding-bottom:6px;border-bottom:1px solid var(--color-text);font-size:16px;line-height:20px;font-weight:500;}
#nav .pcard:hover .cl{opacity:.7;}

/* mobile */
@media (max-width:1024px){
  #nav .bar{padding:0 16px;}
  #nav .brand{padding:9.5px 0;margin-right:0;}
  #nav .primary{display:none;}
  #nav .actions{margin-left:0;order:0;}
  #nav .pill-signup{order:0;margin-left:20px;}
  #nav .menu-btn{order:0;}
  #nav .actions .pill-login,#nav .actions .pill-demo{display:none;}
  #nav .pill-signup{padding:5px 10px 5px 5px;gap:5px;font-size:13px;}
  #nav .menu-btn{display:flex;align-items:center;justify-content:center;width:44px;height:44px;margin-left:auto;margin-right:-4px;padding:0;background:none;border:0;cursor:pointer;}
  #nav .menu-btn .i-close{display:none;}
  #nav .menu-btn[aria-expanded="true"] .i-open{display:none;}
  #nav .menu-btn[aria-expanded="true"] .i-close{display:block;}

  #nav .menu{display:block;position:fixed;top:10px;left:10px;right:10px;bottom:10px;z-index:1;background:var(--color-bg);border-radius:20px;overflow-y:auto;padding:90px 22px 32px;box-shadow:0 0 0 2000px rgba(7,41,41,.5);opacity:0;visibility:hidden;transform:translateY(-8px);transition:opacity .2s ease-out,transform .2s ease-out,visibility .2s ease-out;}
  #nav .menu[data-open]{opacity:1;visibility:visible;transform:none;}
  #nav .m-list > li{border-bottom:1px solid rgba(7,41,41,.15);}
  #nav .m-row{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;min-height:57px;padding:14px 0;background:none;border:0;margin:0;font:inherit;font-size:16px;line-height:24px;font-weight:500;color:var(--color-text);text-align:left;cursor:pointer;}
  #nav a.m-row{justify-content:flex-start;}
  #nav .m-row svg{flex:none;}
  #nav .m-row[aria-expanded="true"] .v{display:none;}
  #nav .m-sub{padding:0 0 14px;}
  #nav .m-sub[hidden]{display:none;}
  #nav .m-sub a{display:block;min-height:44px;padding:9px 0;}
  #nav .m-t{display:block;font-size:15px;line-height:22px;font-weight:500;}
  #nav .m-d{display:block;font-size:13px;line-height:19px;font-weight:400;opacity:.75;}
  #nav .m-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:28px;}
  #nav .m-actions .pill{min-height:44px;padding:12px 24px;}
  #nav .m-actions .pill-login{background:#fff;}
}

#footer{background:var(--color-primary);color:var(--color-border);font-family:var(--font-body);font-size:14px;line-height:25.6px;font-weight:400;}
#footer *,#footer *::before,#footer *::after{box-sizing:border-box;}
#footer ul{list-style:none;margin:0;padding:0;}
#footer p{margin:0;}
#footer a{color:var(--color-border);text-decoration:none;}
#footer a:focus-visible{outline:2px solid var(--color-on-primary);outline-offset:2px;border-radius:4px;}
#footer svg,#footer img{display:block;}

#footer .f-inner{max-width:100%;padding:60px 60px 0;}
#footer .f-logo{display:inline-block;margin-bottom:120px;}
#footer .f-main{display:flex;align-items:flex-start;gap:60px;margin-bottom:100px;}
#footer .f-partners{flex:none;width:180px;background:var(--color-ink);border-radius:var(--radius-sm);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:24px;padding:50px 20px;}
#footer .f-cols{display:flex;flex-wrap:wrap;gap:30px 60px;}
#footer .f-h{display:block;font-size:16px;line-height:18px;font-weight:500;color:var(--color-border);margin-bottom:22px;}
#footer .f-col li a{display:block;padding:3px 0;opacity:.75;transition:opacity .2s ease;white-space:nowrap;}
#footer .f-col li a:hover{opacity:1;}
#footer a.f-h:hover{opacity:.8;}
#footer .f-arrow{display:none;}
#footer .f-copy{opacity:.75;}

#footer .f-bottom{display:flex;flex-wrap:wrap;align-items:center;gap:4px 30px;border-top:1px solid rgba(235,234,225,.2);padding:30px 0 29px;font-size:12px;line-height:20px;}
#footer .f-bottom a{opacity:.85;transition:opacity .2s ease;}
#footer .f-bottom a:hover{opacity:1;}

@media (max-width:1024px){
  #footer .f-inner{padding:48px 20px 0;}
  #footer .f-logo{margin-bottom:48px;}
  #footer .f-main{flex-direction:column;gap:40px;margin-bottom:56px;}
}
@media (max-width:768px){
  #footer .f-cols{display:grid;grid-template-columns:1fr 1fr;gap:36px 24px;width:100%;}
  #footer .f-col li a{white-space:normal;padding:6px 0;}
  #footer .f-bottom{flex-direction:column;align-items:flex-start;gap:6px;}
  #footer .f-bottom a{padding:8px 0;}
}

/* reveal on entry — the site's own grammar: fade-up 20px 600ms cubic-bezier(0.65, 0, 0.35, 1) */
html[data-reveal-ready] [data-reveal]{opacity:0;transform:translateY(20px);transition:opacity 600ms cubic-bezier(0.65, 0, 0.35, 1),transform 600ms cubic-bezier(0.65, 0, 0.35, 1);will-change:opacity,transform}
html[data-reveal-ready] [data-reveal].is-in{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){html[data-reveal-ready] [data-reveal]{opacity:1;transform:none;transition:none}}}
@layer reset, components, page;
@font-face{font-family:"PP-Agrandir";src:url("../fonts/1791468268522-UZk6oujH.woff2") format("woff2");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:"GT-America";src:url("../fonts/1791468268630-oXCR4l7v.woff2") format("woff2");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:"GT-America";src:url("../fonts/1791468268717-e5dJerQl.woff2") format("woff2");font-weight:500;font-style:normal;font-display:swap}
:root{
  --space-xs: 57px;
  --space-sm: 69px;
  --space-md: 80px;
  --space-lg: 86px;
  --space-xl: 88px;
  --space-2xl: 95px;
  --space-3xl: 107px;
  --radius-sm: 12px;
  --radius-md: 20px;
  --radius-lg: 22px;
  --radius-pill: 100px;
  --maxw: 1320px;
  --gutter: 60px;
  --type-1: 15px;
  --type-2: 16px;
  --type-3: 18px;
  --type-4: 20px;
  --type-5: 24px;
  --type-6: 30px;
  --type-7: 36px;
  --type-8: 50px;
  --type-9: 60px;
  --space-1: 57px;
  --space-2: 60px;
  --space-3: 69px;
  --space-4: 70px;
  --space-5: 75px;
  --space-6: 80px;
  --space-7: 83px;
  --space-8: 86px;
  --space-9: 87px;
  --type-10: 74px;
  --type-h1: 60px;
  --type-h2: 36px;
  --type-h3: 36px;
  --type-h4: 36px;
  --color-bg: #f5f5f0;
  --space-10: 88px;
  --space-11: 90px;
  --space-12: 92px;
  --space-13: 95px;
  --space-14: 96px;
  --space-15: 107px;
  --color-ink: #1e3c3b;
  --font-body: GT-America, sans-serif;
  --shadow-md: 0 2px 16px 0 rgba(7, 41, 41, 0.06);
  --shadow-sm: 0 2px 12px 0 rgba(7, 41, 41, 0.06);
  --type-body: 18px;
  --color-text: #072929;
  --color-muted: #777777;
  --color-accent: #0d6c50;
  --color-border: #ebeae1;
  --color-on-ink: #ffffff;
  --font-display: PP-Agrandir, sans-serif;
  --leading-body: 1.6;
  --color-primary: #072929;
  --color-surface: #ffffff;
  --color-on-accent: #ffffff;
  --color-tint-teal: #e6f9f0;
  --color-tint-warm: #f8f7f4;
  --leading-display: 1.1;
  --color-accent-ink: #0d6c50;
  --color-background: #f5f5f0;
  --color-on-primary: #ffffff;
  --color-on-surface: #072929;
  --color-primary-ink: #072929;
  --section-pad-mobile: 40px;
  --section-pad-desktop: 90px;
}
@layer reset{*,*::before,*::after{box-sizing:border-box}
*{margin:0;padding:0}
body{min-height:100vh;font-family:var(--font-body,system-ui,-apple-system,'Segoe UI',sans-serif);color:var(--color-text);background:var(--color-bg);-webkit-font-smoothing:antialiased;line-height:var(--leading-body,1.6)}
h1,h2,h3,h4{font-family:var(--font-display,var(--font-body));line-height:var(--leading-display,normal);letter-spacing:var(--tracking-display,normal)}
img,picture,svg{max-width:100%;display:block;height:auto}
a{color:inherit;text-decoration:none}
button{font:inherit;cursor:pointer}
.psf-wrap{width:100%;max-width:var(--maxw);margin:0 auto;padding-left:24px;padding-right:24px}
@media(prefers-reduced-motion:reduce){*{animation-duration:.001ms!important;transition-duration:.001ms!important}}}
@layer components{/* recipes — the site's own devices, written from the evidence */
/* Pixis recipes — only devices the site uses. */

/* Grounds */
.ground-warm { background: var(--color-bg); color: var(--color-text); }
.ground-white { background: var(--color-surface); color: var(--color-text); }
.ground-gradient-hero {
  background: linear-gradient(to right bottom, #dbfdfa, #f2ebff);
  color: var(--color-text);
}
.ground-gradient-cta {
  background: linear-gradient(135deg, #ddf8f0, #eae8ff);
  color: var(--color-text);
}
.ground-ink { background: var(--color-ink); color: var(--color-on-ink); }
.ground-ink .eyebrow { color: #1cf3b4; }

/* Eyebrow and heading emphasis */
.eyebrow {
  font-family: var(--font-body);
  font-size: 14px;
  font-weight: 400;
  line-height: 1.4;
  letter-spacing: 1.12px;
  text-transform: uppercase;
  color: var(--color-accent);
  margin: 0 0 16px;
}
.hl-accent { color: var(--color-accent); }

/* Buttons */
.btn-primary,
.btn-secondary {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  padding: 14px 20px;
  border: 1px solid var(--color-primary);
  border-radius: var(--radius-pill);
  font-family: var(--font-body);
  font-size: 15px;
  font-weight: 400;
  line-height: 24px;
  text-decoration: none;
  cursor: pointer;
  transition: background-color 0.2s ease, color 0.2s ease;
}
.btn-primary { background: var(--color-primary); color: var(--color-on-primary); }
.btn-primary:hover { background: #061b16; }
.btn-secondary { background: transparent; color: var(--color-text); }
.btn-secondary:hover { background: var(--color-primary); color: #ffffff; }

/* Text link */
.link-text {
  font-size: 14px;
  font-weight: 500;
  color: var(--color-text);
  text-decoration: none;
  transition: opacity 0.2s ease-in;
}
.link-text:hover { opacity: 0.7; }

/* Cards and frames */
.card-soft {
  background: var(--color-bg);
  border: 1px solid #ffffff;
  border-radius: var(--radius-sm);
  padding: 18px 16px;
  box-shadow: var(--shadow-sm);
}
.card-photo {
  border-radius: var(--radius-lg);
  box-shadow: var(--shadow-md);
  overflow: hidden;
}
.frame-shot {
  display: block;
  width: 100%;
  height: auto;
  border-radius: var(--radius-md);
  box-shadow: var(--shadow-sm);
  overflow: hidden;
}

/* Badges, chips, ticks */
.badge-teal {
  display: inline-flex;
  align-items: center;
  padding: 4px 12px;
  border-radius: var(--radius-pill);
  background: var(--color-tint-teal);
  color: var(--color-accent);
  font-size: 14px;
  font-weight: 500;
  line-height: 1.4;
}
.check-dot {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 22px;
  height: 22px;
  border-radius: var(--radius-pill);
  background: var(--color-tint-teal);
  color: var(--color-accent);
}

/* Divider */
.rule { border: 0; border-top: 1px solid var(--color-border); margin: 0; }

/* Logo strip loop */
.logo-marquee { overflow: hidden; }
.logo-marquee__track {
  display: flex;
  width: max-content;
  animation: logo-carousel-scroll 28s linear infinite;
}
@keyframes logo-carousel-scroll {
  0% { transform: translate(0px); }
  100% { transform: translate(-50%); }
}
@media (prefers-reduced-motion: reduce) {
  .logo-marquee__track { animation: none; }
}

/* reveal */
/* reveal on entry — the site's own grammar: fade-up 20px 600ms cubic-bezier(0.65, 0, 0.35, 1) */
html[data-reveal-ready] [data-reveal]{opacity:0;transform:translateY(20px);transition:opacity 600ms cubic-bezier(0.65, 0, 0.35, 1),transform 600ms cubic-bezier(0.65, 0, 0.35, 1);will-change:opacity,transform}
html[data-reveal-ready] [data-reveal].is-in{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){html[data-reveal-ready] [data-reveal]{opacity:1;transform:none;transition:none}}

/* chrome */

#nav{position:fixed;top:0;left:0;right:0;z-index:100;font-family:var(--font-body);font-size:14px;line-height:21px;font-weight:500;color:var(--color-text);}
#nav *,#nav *::before,#nav *::after{box-sizing:border-box;}
#nav ul{list-style:none;margin:0;padding:0;}
#nav p{margin:0;}
#nav a{color:inherit;text-decoration:none;}
#nav a:focus-visible,#nav button:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px;border-radius:6px;}
#nav svg,#nav img{display:block;}

#nav .bar{position:relative;z-index:2;display:flex;align-items:center;padding:0 60px;}
#nav .brand{display:flex;align-items:center;gap:10px;padding:15px 0;margin-right:10px;flex:none;}
#nav .primary{flex:none;}
#nav .links{display:flex;align-items:stretch;}
#nav .item{position:static;}
#nav .top{display:block;background:none;border:0;margin:0;font:inherit;font-weight:500;line-height:21px;color:var(--color-text);padding:35px 15px;cursor:pointer;transition:opacity .2s ease;white-space:nowrap;}
#nav .links:has(.has-menu:hover) > .item:not(:hover) > .top,
#nav .links:has(.has-menu:focus-within) > .item:not(:focus-within) > .top{opacity:.5;}

#nav .top-arrow{display:none;}
#nav .actions{margin-left:auto;order:4;display:flex;align-items:center;gap:10px;}
#nav .pill-signup{order:5;margin-left:10px;}
#nav .menu-btn{order:6;}
#nav .pill{display:inline-flex;align-items:center;padding:10px 20px;line-height:20px;border-radius:var(--radius-pill);font-size:14px;font-weight:500;white-space:nowrap;color:var(--color-text);transition:background-color .2s ease,opacity .2s ease;}
#nav .pill-login{background:#fff;}
#nav .pill-login:hover{background:var(--color-border);}
#nav .pill-demo{background:#7ecfdb;}
#nav .pill-signup{background:var(--color-primary);color:#fff;padding:5px 20px 5px 6px;gap:9px;}
#nav .pill-signup:hover{background:#061b16;}
#nav .pill-signup svg{flex:none;}

#nav .menu-btn{display:none;}
#nav .menu{display:none;}

/* desktop dropdown panels */
#nav .panel{position:absolute;top:10px;left:10px;right:10px;z-index:-1;background:var(--color-bg);border-radius:20px;overflow:hidden;padding-top:91px;box-shadow:0 0 0 2000px rgba(7,41,41,.45);opacity:0;visibility:hidden;transition:opacity .2s ease,visibility .2s ease;}
#nav .has-menu:hover > .panel,
#nav .has-menu:focus-within > .panel{opacity:1;visibility:visible;}

#nav .pgrid{display:grid;align-items:stretch;padding-left:104px;}
#nav .pgrid-products{grid-template-columns:310fr 290fr 280fr 136fr 300px;}
#nav .pgrid-solutions{grid-template-columns:300fr 287fr 143fr 235fr 300px;padding-left:155px;}
#nav .pgrid-simple{grid-template-columns:310fr 570fr 300px;}

#nav .ptitle{display:block;padding:27px 30px 78px 0;}
#nav .pt-row{display:flex;align-items:center;gap:20px;}
#nav .pt{font-family:var(--font-display);font-size:40px;line-height:44px;font-weight:400;color:var(--color-text);}
#nav .pd{display:block;margin-top:7px;font-size:16px;line-height:26px;font-weight:400;max-width:250px;}
#nav a.ptitle:hover .pd,#nav a.ptitle:hover .pt{opacity:.75;}
#nav .pt,#nav .pd{transition:opacity .2s ease;}

#nav .pcol{padding:35px 20px 78px 0;display:flex;flex-direction:column;}
#nav .pcol-wide{padding-top:39px;}
#nav .pitem{display:grid;grid-template-columns:40px 1fr;gap:20px;align-items:start;margin-bottom:38px;padding-right:10px;transition:opacity .2s ease;}
#nav .pitem:last-child{margin-bottom:0;}
#nav .pitem:hover{opacity:.75;}
#nav .pitem img{width:40px;height:40px;border-radius:10px;}
#nav .pi-t{display:block;font-family:var(--font-display);font-size:24px;line-height:28px;font-weight:400;margin-top:1px;}
#nav .pi-d{display:block;max-width:170px;margin-top:8px;font-size:14px;line-height:23.5px;font-weight:400;}
#nav .phead{font-size:12px;line-height:22px;font-weight:500;text-transform:uppercase;letter-spacing:0;margin-bottom:14px;}
#nav .plink{display:block;padding:4px 0;font-size:14px;line-height:21px;font-weight:400;transition:opacity .2s ease;}
#nav .plink:hover{opacity:.65;}
#nav .plink-lg{font-size:16px;padding:6px 0;}

#nav .pcard{display:block;background:var(--color-border);padding:46px 50px 40px;}
#nav .ct{display:block;font-family:var(--font-display);font-size:24px;line-height:26px;font-weight:400;}
#nav .cl{display:inline-block;margin-top:48px;padding-bottom:6px;border-bottom:1px solid var(--color-text);font-size:16px;line-height:20px;font-weight:500;}
#nav .pcard:hover .cl{opacity:.7;}

/* mobile */
@media (max-width:1024px){
  #nav .bar{padding:0 16px;}
  #nav .brand{padding:9.5px 0;margin-right:0;}
  #nav .primary{display:none;}
  #nav .actions{margin-left:0;order:0;}
  #nav .pill-signup{order:0;margin-left:20px;}
  #nav .menu-btn{order:0;}
  #nav .actions .pill-login,#nav .actions .pill-demo{display:none;}
  #nav .pill-signup{padding:5px 10px 5px 5px;gap:5px;font-size:13px;}
  #nav .menu-btn{display:flex;align-items:center;justify-content:center;width:44px;height:44px;margin-left:auto;margin-right:-4px;padding:0;background:none;border:0;cursor:pointer;}
  #nav .menu-btn .i-close{display:none;}
  #nav .menu-btn[aria-expanded="true"] .i-open{display:none;}
  #nav .menu-btn[aria-expanded="true"] .i-close{display:block;}

  #nav .menu{display:block;position:fixed;top:10px;left:10px;right:10px;bottom:10px;z-index:1;background:var(--color-bg);border-radius:20px;overflow-y:auto;padding:90px 22px 32px;box-shadow:0 0 0 2000px rgba(7,41,41,.5);opacity:0;visibility:hidden;transform:translateY(-8px);transition:opacity .2s ease-out,transform .2s ease-out,visibility .2s ease-out;}
  #nav .menu[data-open]{opacity:1;visibility:visible;transform:none;}
  #nav .m-list > li{border-bottom:1px solid rgba(7,41,41,.15);}
  #nav .m-row{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;min-height:57px;padding:14px 0;background:none;border:0;margin:0;font:inherit;font-size:16px;line-height:24px;font-weight:500;color:var(--color-text);text-align:left;cursor:pointer;}
  #nav a.m-row{justify-content:flex-start;}
  #nav .m-row svg{flex:none;}
  #nav .m-row[aria-expanded="true"] .v{display:none;}
  #nav .m-sub{padding:0 0 14px;}
  #nav .m-sub[hidden]{display:none;}
  #nav .m-sub a{display:block;min-height:44px;padding:9px 0;}
  #nav .m-t{display:block;font-size:15px;line-height:22px;font-weight:500;}
  #nav .m-d{display:block;font-size:13px;line-height:19px;font-weight:400;opacity:.75;}
  #nav .m-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:28px;}
  #nav .m-actions .pill{min-height:44px;padding:12px 24px;}
  #nav .m-actions .pill-login{background:#fff;}
}

#footer{background:var(--color-primary);color:var(--color-border);font-family:var(--font-body);font-size:14px;line-height:25.6px;font-weight:400;}
#footer *,#footer *::before,#footer *::after{box-sizing:border-box;}
#footer ul{list-style:none;margin:0;padding:0;}
#footer p{margin:0;}
#footer a{color:var(--color-border);text-decoration:none;}
#footer a:focus-visible{outline:2px solid var(--color-on-primary);outline-offset:2px;border-radius:4px;}
#footer svg,#footer img{display:block;}

#footer .f-inner{max-width:100%;padding:60px 60px 0;}
#footer .f-logo{display:inline-block;margin-bottom:120px;}
#footer .f-main{display:flex;align-items:flex-start;gap:60px;margin-bottom:100px;}
#footer .f-partners{flex:none;width:180px;background:var(--color-ink);border-radius:var(--radius-sm);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:24px;padding:50px 20px;}
#footer .f-cols{display:flex;flex-wrap:wrap;gap:30px 60px;}
#footer .f-h{display:block;font-size:16px;line-height:18px;font-weight:500;color:var(--color-border);margin-bottom:22px;}
#footer .f-col li a{display:block;padding:3px 0;opacity:.75;transition:opacity .2s ease;white-space:nowrap;}
#footer .f-col li a:hover{opacity:1;}
#footer a.f-h:hover{opacity:.8;}
#footer .f-arrow{display:none;}
#footer .f-copy{opacity:.75;}

#footer .f-bottom{display:flex;flex-wrap:wrap;align-items:center;gap:4px 30px;border-top:1px solid rgba(235,234,225,.2);padding:30px 0 29px;font-size:12px;line-height:20px;}
#footer .f-bottom a{opacity:.85;transition:opacity .2s ease;}
#footer .f-bottom a:hover{opacity:1;}

@media (max-width:1024px){
  #footer .f-inner{padding:48px 20px 0;}
  #footer .f-logo{margin-bottom:48px;}
  #footer .f-main{flex-direction:column;gap:40px;margin-bottom:56px;}
}
@media (max-width:768px){
  #footer .f-cols{display:grid;grid-template-columns:1fr 1fr;gap:36px 24px;width:100%;}
  #footer .f-col li a{white-space:normal;padding:6px 0;}
  #footer .f-bottom{flex-direction:column;align-items:flex-start;gap:6px;}
  #footer .f-bottom a{padding:8px 0;}
}

/* reveal on entry — the site's own grammar: fade-up 20px 600ms cubic-bezier(0.65, 0, 0.35, 1) */
html[data-reveal-ready] [data-reveal]{opacity:0;transform:translateY(20px);transition:opacity 600ms cubic-bezier(0.65, 0, 0.35, 1),transform 600ms cubic-bezier(0.65, 0, 0.35, 1);will-change:opacity,transform}
html[data-reveal-ready] [data-reveal].is-in{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){html[data-reveal-ready] [data-reveal]{opacity:1;transform:none;transition:none}}}
@media (max-width:768px){#nav .pill{padding-top:12px;padding-bottom:12px;}#footer .f-col li a{padding:10px 0;}#footer a.f-h{padding:13px 0;margin-bottom:6px;}#footer .f-bottom a{padding:12px 0;}}
@layer page{}
:root{--nav-h:0px;--nav-pad:0px;--nav-pull:0px;--nav-offset:0px;--nav-top:0px;--px-topbar-h:0px}
html{scroll-padding-top:var(--nav-offset)}
#nav[data-nav-position="fixed"]{position:fixed;top:var(--nav-top);left:0;right:0;bottom:auto}
#nav[data-nav-position="sticky"]{position:sticky;top:0;bottom:auto}
#nav[data-nav-position="static"]{position:relative;top:auto;left:auto;right:auto;bottom:auto}
[data-site-page-root]{padding-top:var(--nav-pad);margin-top:calc(var(--nav-pull) * -1);transition:padding-top .32s var(--m-ease-sig,ease),margin-top .32s var(--m-ease-sig,ease)}
#nav[data-nav-surface="transparent"] > [data-part="bar"], #nav[data-nav-surface="transparent"]:not(:has(> [data-part="bar"])) > :first-child:not(script):not(style){background:transparent;box-shadow:none;border-color:transparent;backdrop-filter:none;-webkit-backdrop-filter:none}
#nav[data-nav-surface="frosted"] > [data-part="bar"], #nav[data-nav-surface="frosted"]:not(:has(> [data-part="bar"])) > :first-child:not(script):not(style){background:color-mix(in srgb,var(--nav-ground,#fff) 74%,transparent);backdrop-filter:blur(14px) saturate(1.15);-webkit-backdrop-filter:blur(14px) saturate(1.15)}
#nav[data-nav-surface="solid"] > [data-part="bar"], #nav[data-nav-surface="solid"]:not(:has(> [data-part="bar"])) > :first-child:not(script):not(style){background:var(--nav-ground,#fff)}
#nav[data-nav-surface="transparent"][data-nav-ink="light"] > [data-part="bar"], #nav[data-nav-surface="transparent"][data-nav-ink="light"]:not(:has(> [data-part="bar"])) > :first-child:not(script):not(style){color:#fff}
#nav[data-nav-surface="transparent"][data-nav-ink="light"] > [data-part="bar"] :is(a,button,span,svg):not([data-part="cta"]):not([data-part="cta"] *), #nav[data-nav-surface="transparent"][data-nav-ink="light"]:not(:has(> [data-part="bar"])) > :first-child:not(script):not(style) :is(a,button,span,svg):not([data-part="cta"]):not([data-part="cta"] *){color:inherit}
#nav[data-nav-edge="none"] > [data-part="bar"], #nav[data-nav-edge="none"]:not(:has(> [data-part="bar"])) > :first-child:not(script):not(style){box-shadow:none;border-bottom-color:transparent}
#nav[data-nav-edge="hairline"] > [data-part="bar"], #nav[data-nav-edge="hairline"]:not(:has(> [data-part="bar"])) > :first-child:not(script):not(style){box-shadow:inset 0 -1px 0 color-mix(in srgb,var(--nav-ink,#000) 14%,transparent)}
#nav[data-nav-edge="shadow"] > [data-part="bar"], #nav[data-nav-edge="shadow"]:not(:has(> [data-part="bar"])) > :first-child:not(script):not(style){box-shadow:0 1px 0 color-mix(in srgb,var(--nav-ink,#000) 7%,transparent),0 12px 32px -14px color-mix(in srgb,var(--nav-ink,#000) 30%,transparent)}
#nav[data-nav-scroll="stay"] > [data-part="bar"], #nav[data-nav-scroll="stay"]:not(:has(> [data-part="bar"])) > :first-child:not(script):not(style),#nav[data-nav-scroll="stay"]{transform:none!important}
#nav[data-nav-cta="hide"] [data-part="cta"]{display:none}
#nav[data-nav-height="compact"]{--nav-h-pref:56px}#nav[data-nav-height="regular"]{--nav-h-pref:68px}#nav[data-nav-height="tall"]{--nav-h-pref:84px}
#px-topbar{position:relative;z-index:1001;display:flex;align-items:center;justify-content:center;gap:.5em;min-height:38px;padding:.55em 1.25em;background:var(--nav-ink,#111);color:var(--nav-ground,#fff);font:500 .8125rem/1.35 var(--font-body,system-ui,sans-serif);letter-spacing:.01em;text-align:center}
#px-topbar a{color:inherit;text-decoration:underline;text-underline-offset:.2em}
@media (prefers-reduced-motion:reduce){[data-site-page-root]{transition:none}}
