:root{color-scheme:light dark}
:root {
  --bg: 42 42% 94%;
  --surface: 42 29% 91%;
  --surface-alt: 40 20% 88%;
  --text: 35 27% 9%;
  --muted: 40 6% 38%;
  --primary: 186 77% 22%;
  --primary-fg: 0 0% 98%;
  --accent: 148 37% 27%;
  --accent-fg: 0 0% 98%;
  --border: 44 14% 85%;
  --ring: 186 77% 22%;
  --success: 142 76% 36%;
  --warn: 32 95% 44%;
  --danger: 0 72% 51%;

  --font-display: "Bricolage Grotesque";
  --font-body: "IBM Plex Mono";
  --font-mono: "IBM Plex Mono";
  --text-display: clamp(3rem, 6.9vw, 6rem);
  --text-h1: clamp(1.529rem, 3.29vw, 2.636rem);
  --text-h2: clamp(1.333rem, 2.5vw, 2.082rem);
  --text-h3: clamp(1.13rem, 1.93vw, 1.487rem);
  --text-body: clamp(1rem, 1.05vw, 1.0625rem);
  --text-small: 0.85rem;
  --leading-tight: 1.03;
  --leading-normal: 1.36;
  --leading-relaxed: 1.7;
  --tracking-tight: -0.04em;
  --tracking-normal: 0em;
  --tracking-wide: 0.1em;

  --radius-sm: 2px;
  --radius-md: 4px;
  --radius-lg: 8px;
  --radius-full: 9999px;
  --border-width: 2px;
  --border-style: solid;
  --elev-sm: 0 1px 2px rgba(0,0,0,0.30);
  --elev-md: 4px 4px 0 rgba(0,0,0,0.85);
  --elev-lg: 8px 8px 0 rgba(0,0,0,0.85);

  --motion-duration: 0.435s;
  --motion-ease: cubic-bezier(0.22, 1, 0.36, 1);
  --motion-stagger: 0.056s;
}


*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:hsl(var(--bg));color:hsl(var(--text));font-family:var(--font-body),system-ui,sans-serif;font-size:var(--text-body);line-height:var(--leading-normal,1.55);-webkit-font-smoothing:antialiased}
h1,h2,h3{font-family:var(--font-display),var(--font-body),sans-serif;font-weight:800;line-height:var(--leading-tight,1.08);letter-spacing:var(--tracking-tight,-.02em);margin:0}
a{color:inherit;text-decoration:none}
img{max-width:100%;height:auto;display:block}
.wrap{max-width:1120px;margin:0 auto;padding:0 24px}
.wrap.narrow{max-width:760px}
section{padding:clamp(56px,9vw,120px) 0;position:relative}
.eyebrow{font-family:var(--font-mono),ui-monospace,monospace;font-size:var(--text-small);letter-spacing:.18em;text-transform:uppercase;color:hsl(var(--primary));margin:0 0 18px}
.lead{color:hsl(var(--muted));font-size:clamp(1rem,1.6vw,1.25rem);max-width:60ch;margin:18px auto 0}
.section-title{font-size:clamp(1.8rem,4vw,3rem);margin:0 0 40px}
/* header */
.site-header{position:sticky;top:0;z-index:50;background:hsl(var(--bg)/.82);backdrop-filter:blur(10px);border-bottom:1px solid hsl(var(--border))}
.nav{display:flex;align-items:center;justify-content:space-between;height:66px}
.brand{display:flex;align-items:center;gap:10px;font-family:var(--font-display);font-weight:800;font-size:1.15rem}
.brand img{height:26px;width:auto}
.nav-links{display:flex;gap:26px;align-items:center}
.nav-links a{color:hsl(var(--muted));font-size:.95rem;transition:color .2s}
.nav-links a:hover{color:hsl(var(--text))}
.menu-btn{display:none;background:none;border:0;color:inherit;cursor:pointer;padding:8px}
/* buttons */
.btn{display:inline-flex;align-items:center;gap:8px;padding:13px 24px;border-radius:var(--radius-md,10px);font-weight:600;font-size:.98rem;transition:transform .18s,box-shadow .2s,background .2s;border:1px solid transparent;cursor:pointer}
.btn-primary{background:hsl(var(--primary));color:hsl(var(--primary-fg));box-shadow:var(--elev-sm)}
.btn-primary:hover{transform:translateY(-1px);box-shadow:var(--elev-md)}
.btn-ghost{background:transparent;border-color:hsl(var(--border));color:hsl(var(--text))}
.btn-ghost:hover{border-color:hsl(var(--primary))}
/* hero */
.hero{text-align:center;padding-top:clamp(64px,11vw,140px)}
.hero-title{font-size:clamp(2.6rem,7vw,5.2rem)}
.hero-sub{margin-left:auto;margin-right:auto}
.hero-cta{display:flex;gap:14px;justify-content:center;margin-top:34px;flex-wrap:wrap}
.hero-media{margin:56px auto 0;max-width:960px;border-radius:var(--radius-lg,18px);overflow:hidden;border:1px solid hsl(var(--border));box-shadow:var(--elev-lg)}
/* logos */
.logos{padding:44px 0;border-top:1px solid hsl(var(--border));border-bottom:1px solid hsl(var(--border))}
.logos-label{text-align:center;color:hsl(var(--muted));font-size:var(--text-small);letter-spacing:.1em;text-transform:uppercase;margin:0 0 18px}
.logos-row{list-style:none;display:flex;flex-wrap:wrap;gap:32px;justify-content:center;padding:0;margin:0;font-weight:600;color:hsl(var(--muted));opacity:.85}
/* stats */
.stat-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:32px}
.stat{border-left:2px solid hsl(var(--primary));padding-left:18px}
.stat-value{font-family:var(--font-display);font-size:clamp(2rem,4.5vw,3.4rem);font-weight:800;line-height:1}
.stat-label{color:hsl(var(--muted));font-size:.92rem;margin-top:8px}
/* cards */
.card-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.card,.post-card{background:hsl(var(--surface));border:1px solid hsl(var(--border));border-radius:var(--radius-lg,16px);padding:28px;transition:transform .2s,box-shadow .2s,border-color .2s}
.card:hover,.post-card:hover{transform:translateY(-3px);box-shadow:var(--elev-md);border-color:hsl(var(--primary)/.5)}
.card-title,.post-title{font-size:1.28rem;margin:0 0 12px}
.card-body,.post-excerpt{color:hsl(var(--muted));margin:0}
.card-list{margin:16px 0 0;padding-left:18px;color:hsl(var(--muted));font-size:.92rem;display:grid;gap:6px}
.post-meta{display:flex;gap:8px;margin-bottom:14px}
.post-meta span{font-size:.72rem;letter-spacing:.08em;text-transform:uppercase;color:hsl(var(--primary));border:1px solid hsl(var(--border));border-radius:var(--radius-full,999px);padding:3px 10px}
/* features */
.feature-row{display:grid;grid-template-columns:1.1fr .9fr;gap:48px;align-items:center;padding:40px 0}
.feature-row.rev .feature-copy{order:2}
.feature-title{font-size:clamp(1.5rem,3vw,2.2rem);margin:0 0 14px}
.feature-body{color:hsl(var(--muted));font-size:1.06rem;max-width:48ch}
.feature-figure{aspect-ratio:4/3;border-radius:var(--radius-lg,18px);background:linear-gradient(135deg,hsl(var(--primary)/.14),hsl(var(--accent)/.14));border:1px solid hsl(var(--border));display:grid;place-items:center}
.feature-index{font-family:var(--font-display);font-size:clamp(3rem,8vw,6rem);font-weight:800;color:hsl(var(--primary)/.35)}
/* testimonials */
.quote-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.quote{margin:0;background:hsl(var(--surface));border:1px solid hsl(var(--border));border-radius:var(--radius-lg,16px);padding:26px}
.quote blockquote{margin:0 0 18px;font-size:1.04rem;line-height:1.55}
.quote figcaption{display:flex;flex-direction:column}
.q-author{font-weight:700}
.q-role{color:hsl(var(--muted));font-size:.86rem;margin-top:2px}
/* faq */
.faq-list{max-width:820px;margin:0 auto;border-top:1px solid hsl(var(--border))}
.faq-item{border-bottom:1px solid hsl(var(--border))}
.faq-item summary{cursor:pointer;padding:22px 0;font-weight:600;font-size:1.08rem;list-style:none;display:flex;justify-content:space-between;align-items:center;gap:16px}
.faq-item summary::-webkit-details-marker{display:none}
.faq-item summary::after{content:"+";color:hsl(var(--primary));font-size:1.5rem;transition:transform .2s}
.faq-item[open] summary::after{transform:rotate(45deg)}
.faq-a{padding:0 0 22px;color:hsl(var(--muted));max-width:70ch}
/* about */
.prose{color:hsl(var(--muted));font-size:1.1rem;line-height:1.7;margin:0 0 18px}
/* cta */
.cta{background:hsl(var(--surface-alt));border-top:1px solid hsl(var(--border))}
.cta-inner{text-align:center;max-width:640px;margin:0 auto}
.cta-title{font-size:clamp(2rem,4.5vw,3.2rem)}
.cta-form{display:flex;flex-wrap:wrap;gap:12px;justify-content:center;margin-top:32px}
.field{padding:13px 16px;border-radius:var(--radius-md,10px);border:1px solid hsl(var(--border));background:hsl(var(--bg));color:hsl(var(--text));font-size:1rem;min-width:220px}
.field:focus{outline:2px solid hsl(var(--ring));outline-offset:1px}
.form-status{width:100%;color:hsl(var(--muted));font-size:.9rem;margin:6px 0 0}
/* footer */
.site-footer{border-top:1px solid hsl(var(--border));padding:56px 0 40px;color:hsl(var(--muted))}
.footer-grid{display:flex;justify-content:space-between;flex-wrap:wrap;gap:24px;align-items:flex-start}
.footer-links{display:flex;gap:20px;flex-wrap:wrap}
.footer-links a{color:hsl(var(--muted));font-size:.9rem}
.footer-links a:hover{color:hsl(var(--text))}
.footer-legal{font-size:.82rem;margin-top:28px;opacity:.75}
/* cursor glow */
.cursor-glow{position:fixed;top:0;left:0;width:380px;height:380px;border-radius:50%;pointer-events:none;z-index:1;background:radial-gradient(circle,hsl(var(--primary)/.10),transparent 66%);will-change:transform}
/* responsive */
@media(max-width:900px){.card-grid,.quote-grid,.stat-grid{grid-template-columns:1fr 1fr}.feature-row{grid-template-columns:1fr;gap:20px}.feature-row.rev .feature-copy{order:0}}
@media(max-width:640px){.nav-links{display:none}.menu-btn{display:block}html.menu-open .nav-links{display:flex;position:absolute;top:66px;left:0;right:0;flex-direction:column;background:hsl(var(--bg));border-bottom:1px solid hsl(var(--border));padding:18px 24px}.card-grid,.quote-grid,.stat-grid{grid-template-columns:1fr}}


html.js [data-reveal],html.js [data-reveal-child]{opacity:0;transform:translateY(22px);transition:opacity .7s cubic-bezier(.16,1,.3,1),transform .7s cubic-bezier(.16,1,.3,1)}
html.js [data-reveal-style="scale-soft"]{transform:scale(.97)}
html.js [data-reveal].is-visible,html.js [data-reveal-child].is-visible{opacity:1;transform:none}
@media(prefers-reduced-motion:reduce){html.js [data-reveal],html.js [data-reveal-child]{opacity:1!important;transform:none!important;transition:none}}
