:root {
  color-scheme: dark;
  --bg:#0a0b0d;
  --surface:#0f1114;
  --surface-2:#14171b;
  --text:#f2f3f5;
  --text-strong:#fafafa;
  --muted:#8a9099;
  --muted-2:#666c75;
  --border:rgba(255,255,255,.075);
  --border-strong:rgba(255,255,255,.13);
  --accent:#9195ff;
  --header-bg:rgba(10,11,13,.82);
  --button-secondary:rgba(255,255,255,.025);
  --surface-highlight:rgba(255,255,255,.025);
  --panel-bg:rgba(10,11,13,.78);
  --mark-filter:invert(1);
  --mark-opacity:.94;
  --max:1240px;
  --page-pad:24px;
  --header:60px;
  --grid-gap:clamp(28px,4vw,72px);
  --section-y:clamp(82px,8vw,112px);
  --r:15px;
  --font-sans:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI Variable Text","Segoe UI",sans-serif;
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  background:var(--bg);
  color:var(--text);
  font-family:var(--font-sans);
  font-size:16px;
  font-weight:400;
  line-height:1.55;
  letter-spacing:-.008em;
  overflow-x:hidden;
  text-rendering:optimizeLegibility;
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
}
a{color:inherit;text-decoration:none}
button{font:inherit;color:inherit}
img,svg{max-width:100%}
[hidden]{display:none!important}

.shell{width:min(calc(100% - (var(--page-pad) * 2)),var(--max));margin-inline:auto}

.site-header{
  position:sticky;
  top:0;
  z-index:50;
  height:var(--header);
  border-bottom:1px solid var(--border);
  background:var(--header-bg);
  backdrop-filter:blur(18px) saturate(120%);
  -webkit-backdrop-filter:blur(18px) saturate(120%);
}
.header-inner{height:100%;display:flex;align-items:center;gap:clamp(18px,2.2vw,30px);min-width:0}
.brand-lockup{display:flex;align-items:center;gap:19px;flex:0 0 auto}
.brand-mark{display:flex;align-items:center;flex:0 0 auto}
.mark{width:38px;height:38px;display:block;object-fit:contain;filter:var(--mark-filter);opacity:var(--mark-opacity)}
.brand-section{font-size:15px;font-weight:600;letter-spacing:-.01em;color:var(--text-strong);transition:color .14s ease}
.brand-section:hover{color:var(--text)}
.brand-name{font-size:15px;font-weight:600;letter-spacing:-.01em;color:var(--text-strong);transition:color .14s ease}
.main-brand:hover .brand-name{color:var(--text)}
.brand-mark:focus-visible,.brand-section:focus-visible,.main-brand:focus-visible{outline:2px solid var(--accent);outline-offset:5px;border-radius:4px}
.primary-nav{
  display:flex;
  gap:clamp(18px,2vw,27px);
  align-items:center;
  min-width:0;
  font-size:13.5px;
  font-weight:500;
  letter-spacing:-.005em;
  color:color-mix(in srgb,var(--text) 67%,var(--bg));
  white-space:nowrap;
}
.primary-nav a{transition:color .14s ease;font-weight:500}
.primary-nav a:hover{color:var(--text-strong)}
.primary-nav a.active{color:var(--text-strong);font-weight:600}
.header-spacer{flex:1 1 auto;min-width:8px}
.icon-btn{
  width:36px;
  height:36px;
  flex:0 0 36px;
  border:0;
  background:transparent;
  border-radius:9px;
  display:grid;
  place-items:center;
  cursor:pointer;
  color:var(--muted);
  transition:color .14s ease,background .14s ease;
}
.icon-btn:hover{background:var(--surface);color:var(--text)}
.icon-btn:focus-visible,.btn:focus-visible,.text-link:focus-visible,.tool-download:focus-visible{outline:2px solid var(--accent);outline-offset:3px}
.burger{display:none}
.mobile-nav{display:none}

main{overflow:clip}
.eyebrow,.showcase-name{
  font-size:11.5px;
  font-weight:600;
  line-height:1.2;
  letter-spacing:.12em;
  text-transform:uppercase;
  color:var(--muted);
}
.display{
  font-size:clamp(46px,6vw,78px);
  font-weight:600;
  line-height:1.03;
  letter-spacing:-.025em;
  margin:14px 0 20px;
  max-width:880px;
  color:var(--text-strong);
  text-wrap:balance;
}
.display:first-child{margin-top:0}
.lede{
  font-size:clamp(18px,2vw,21px);
  line-height:1.48;
  letter-spacing:-.018em;
  color:var(--muted);
  max-width:620px;
  margin:0;
}
.section{padding:var(--section-y) 0;border-top:1px solid var(--border)}
.section:first-child{border-top:0}
.section-title{
  font-size:clamp(34px,4vw,50px);
  font-weight:600;
  letter-spacing:-.022em;
  line-height:1.08;
  margin:0 0 19px;
  max-width:760px;
  color:var(--text-strong);
  text-wrap:balance;
}
.section-copy{
  color:var(--muted);
  max-width:590px;
  font-size:16px;
  line-height:1.62;
  letter-spacing:-.008em;
  margin-top:0;
}
.section .eyebrow + .section-title,.split .eyebrow + .section-title{margin-top:16px}

.hero,.showcase{position:relative;isolation:isolate;overflow:hidden}
.section-background{position:absolute;inset:0;z-index:0;width:100%;height:100%;max-width:none;object-fit:cover;object-position:var(--section-bg-position,center center);pointer-events:none;user-select:none}
.hero.has-overlay::before,.showcase.has-overlay::before{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;background:var(--section-overlay-desktop)}
.hero.has-background>.hero-grid,.showcase.has-background>.showcase-grid{position:relative;z-index:2}

.hero{min-height:calc(100svh - var(--header));display:flex;align-items:center;padding:clamp(72px,8vw,100px) 0}
.hero.has-background{margin-top:calc(-1 * var(--header));min-height:100svh;padding-top:calc(clamp(72px,8vw,100px) + var(--header))}
.hero-grid,.showcase-grid,.split{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:var(--grid-gap);align-items:center;min-width:0}
.hero-grid>:first-child{grid-column:1 / span 5;min-width:0}
.hero-grid>.visual{grid-column:6 / -1;min-width:0}
.hero.reverse .hero-grid>:first-child{grid-column:8 / -1;grid-row:1}
.hero.reverse .hero-grid>.visual{grid-column:1 / span 7;grid-row:1}
.hero.no-visual .hero-grid>:first-child{grid-column:1 / span 7}

.actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin:30px 0 16px}
.btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:43px;
  padding:0 17px;
  border:1px solid var(--border-strong);
  border-radius:9px;
  background:var(--button-secondary);
  color:var(--text);
  font-size:13.5px;
  font-weight:550;
  line-height:1;
  letter-spacing:-.006em;
  transition:none;
}
.btn:hover{background:var(--button-secondary);color:var(--text);border-color:var(--border-strong);transform:none;box-shadow:none}
.btn.primary{background:var(--text-strong);color:var(--bg);border-color:var(--text-strong)}
.btn.primary:hover{background:var(--text-strong);color:var(--bg);border-color:var(--text-strong)}
.meta{font-size:12.5px;line-height:1.45;color:var(--muted);letter-spacing:.005em;overflow-wrap:anywhere}

.visual{
  border:1px solid var(--border);
  border-radius:var(--r);
  background:var(--surface);
  min-height:420px;
  position:relative;
  overflow:hidden;
  min-width:0;
  box-shadow:inset 0 1px var(--surface-highlight);
}

.showcase{padding:var(--section-y) 0;border-top:1px solid var(--border)}
.apps-home>.showcase:first-child{border-top:0;padding-top:clamp(78px,7vw,104px)}
.showcase-grid>.showcase-copy{grid-column:1 / span 5;min-width:0}
.showcase-grid>.visual{grid-column:6 / -1;min-width:0}
.showcase.reverse .showcase-copy{grid-column:8 / -1;grid-row:1}
.showcase.reverse .visual{grid-column:1 / span 7;grid-row:1}
.showcase.no-visual .showcase-copy{grid-column:1 / span 7}
.showcase-title{
  font-size:clamp(38px,4.7vw,62px);
  font-weight:600;
  line-height:1.03;
  letter-spacing:-.025em;
  margin:13px 0 21px;
  color:var(--text-strong);
  text-wrap:balance;
}
.showcase-copy .section-copy{margin-bottom:0}
.text-link{
  display:inline-block;
  margin-top:23px;
  padding-bottom:2px;
  border-bottom:1px solid var(--border-strong);
  font-size:13.5px;
  font-weight:550;
  line-height:1.25;
}
.text-link:hover{border-bottom-color:var(--text)}
.actions .action-link{margin-top:0}

.feature-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:var(--grid-gap);row-gap:42px;margin-top:clamp(48px,5vw,66px)}
.feature{grid-column:span 4;min-width:0}
.feature h3{font-size:19px;font-weight:600;line-height:1.3;letter-spacing:-.022em;margin:0 0 11px;color:var(--text-strong)}
.feature p{color:var(--muted);margin:0;font-size:14.5px;line-height:1.62;letter-spacing:-.005em}
.split>div:first-child{grid-column:1 / span 5;min-width:0}
.split>.mini-visual{grid-column:6 / -1;min-width:0}
.split.reverse>div:first-child{grid-column:8 / -1;grid-row:1}
.split.reverse>.mini-visual{grid-column:1 / span 7;grid-row:1}
.split.no-visual>div:first-child{grid-column:1 / span 7}
.mini-visual{min-height:320px;border:1px solid var(--border);border-radius:var(--r);background:var(--surface);display:grid;place-items:center;position:relative;overflow:hidden;box-shadow:inset 0 1px var(--surface-highlight)}
.visual-section-copy{margin-bottom:clamp(34px,4vw,48px)}
.visual-section-copy .section-copy{margin-bottom:0}

.product-shot{padding:0;background:var(--surface)}
.shot-image{display:block;width:100%;height:100%;object-fit:cover;color:transparent;font-size:0}
.visual.product-shot .shot-image{min-height:420px}
.mini-visual.product-shot .shot-image{min-height:320px}
.shot-image.anchor-left{object-position:left center}
.shot-image.anchor-center{object-position:center center}
.shot-image.anchor-right{object-position:right center}
.shot-image.fit-cover{object-fit:cover}
.shot-image.fit-contain{object-fit:contain}

.download-final{padding:clamp(86px,8vw,112px) 0;border-top:1px solid var(--border)}
.download-final-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:var(--grid-gap);align-items:end}
.download-final-copy{grid-column:1 / span 6;min-width:0}
.download-final-copy .section-title{margin-top:16px}
.download-final-copy .section-copy{margin-bottom:0}
.checksum{
  width:fit-content;
  max-width:100%;
  margin-top:9px;
  color:var(--muted-2);
  font-family:ui-monospace,SFMono-Regular,Consolas,"Liberation Mono",monospace;
  font-size:11.5px;
  line-height:1.5;
  letter-spacing:.01em;
  overflow-wrap:anywhere;
  border-radius:5px;
  transition:color .14s ease,background-color .14s ease;
  cursor:default;
}
.checksum:hover{color:var(--muted)}
.checksum:focus-visible{outline:2px solid var(--accent);outline-offset:3px;color:var(--text)}
.checksum.copied{color:var(--text-strong);background:var(--surface-2)}
.download-final .actions{grid-column:8 / -1;justify-content:flex-end;margin:0;align-self:end}

.tools-head{padding:clamp(82px,8vw,106px) 0 clamp(52px,5vw,66px)}
.tools-head .display{font-size:clamp(52px,7vw,86px)}
.tools-list{border-top:1px solid var(--border)}
.tool-row{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:clamp(18px,2.6vw,32px);align-items:center;padding:29px 0;border-bottom:1px solid var(--border);min-width:0}
.tool-row>div:first-child{grid-column:1 / span 2;min-width:0}
.tool-desc{grid-column:3 / span 5;min-width:0}
.tool-req{grid-column:8 / span 3;min-width:0}
.tool-download{grid-column:11 / -1;min-width:0;text-align:right;font-size:13.5px;font-weight:550;white-space:nowrap}
.tool-download:hover{color:var(--text-strong)}
.tool-name{font-size:18.5px;font-weight:600;line-height:1.3;letter-spacing:-.022em;color:var(--text-strong);overflow-wrap:anywhere}
.tool-version{font-size:12px;line-height:1.45;color:var(--muted);margin-top:4px;letter-spacing:.006em}
.tool-desc,.tool-req{color:var(--muted);font-size:13.5px;line-height:1.55;letter-spacing:-.003em}

footer{border-top:1px solid var(--border);padding:30px 0 44px;color:var(--muted-2);font-size:11.5px;letter-spacing:.01em}
.footer-inner{display:flex;align-items:center;justify-content:space-between;gap:20px}
.footer-nav{display:flex;align-items:center;gap:18px}
.footer-credit a{transition:color .16s ease}
.footer-credit a:hover{color:var(--text)}
.footer-nav a{transition:color .16s ease}
.footer-nav a:hover{color:var(--text)}
.tools-footer{margin-top:clamp(82px,8vw,104px)}

@media (max-width:1100px){
  :root{--grid-gap:36px}
  .showcase-title{font-size:clamp(36px,4.4vw,50px)}
  .tool-row>div:first-child{grid-column:1 / span 2}
  .tool-desc{grid-column:3 / span 5}
  .tool-req{grid-column:8 / span 3}
  .tool-download{grid-column:11 / -1}
}

@media (max-width:900px){
  :root{--page-pad:20px;--section-y:78px}
  .hero.has-overlay::before,.showcase.has-overlay::before{background:var(--section-overlay-tablet,var(--section-overlay-desktop))}
  .section-background{object-position:var(--section-bg-position-mobile,var(--section-bg-position,center center))}
  .hero{min-height:100svh;align-items:flex-end;padding:calc(var(--header) + 54px) 0 clamp(54px,9vh,78px)}
  .hero-grid,.showcase-grid,.split{grid-template-columns:1fr;row-gap:38px}
  .hero-grid>:first-child,.hero-grid>.visual,
  .showcase-grid>.showcase-copy,.showcase-grid>.visual,
  .showcase.reverse .showcase-copy,.showcase.reverse .visual,
  .hero.reverse .hero-grid>:first-child,.hero.reverse .hero-grid>.visual,
  .split>div:first-child,.split>.mini-visual,
  .split.reverse>div:first-child,.split.reverse>.mini-visual{grid-column:1;grid-row:auto}
  .visual{min-height:340px}
  .visual.product-shot .shot-image{min-height:340px}
  .mini-visual.product-shot .shot-image{min-height:280px}
  .showcase.reverse .showcase-copy{order:0}
  .showcase.reverse .visual{order:1}
  .feature-grid{grid-template-columns:repeat(6,minmax(0,1fr));gap:40px 28px}
  .download-final-grid{grid-template-columns:repeat(6,minmax(0,1fr));row-gap:26px}
  .download-final-copy{grid-column:1 / span 4}
  .download-final .actions{grid-column:5 / -1}
  .feature{grid-column:span 2}
  .tool-row{grid-template-columns:repeat(6,minmax(0,1fr));row-gap:8px}
  .tool-row>div:first-child{grid-column:1 / span 2;grid-row:1}
  .tool-download{grid-column:5 / -1;grid-row:1}
  .tool-desc{grid-column:1 / span 4;grid-row:2}
  .tool-req{grid-column:5 / -1;grid-row:2;text-align:right}
}

@media (max-width:820px){
  .primary-nav{display:none}
  .burger{display:grid}
  .mobile-nav.open{display:block;position:fixed;inset:var(--header) 0 0;z-index:45;background:var(--bg);padding:26px var(--page-pad);overflow:auto}
  .mobile-nav a{display:block;font-size:clamp(28px,8vw,36px);font-weight:600;line-height:1.15;letter-spacing:-.02em;padding:12px 0;border-bottom:1px solid var(--border)}
}

@media (max-width:640px){
  :root{--page-pad:16px;--section-y:72px}
  .hero.has-overlay::before,.showcase.has-overlay::before{background:var(--section-overlay-mobile,var(--section-overlay-tablet,var(--section-overlay-desktop)))}
  .display{font-size:clamp(44px,13vw,56px)}
  .section-title{font-size:clamp(32px,9vw,42px)}
  .showcase-title{font-size:clamp(36px,10.5vw,48px)}
  .visual{min-height:310px}
  .visual.product-shot{min-height:0;aspect-ratio:512 / 307}
  .visual.product-shot .shot-image{height:100%;min-height:0}
  .mini-visual.product-shot .shot-image{min-height:240px}
  .feature-grid{grid-template-columns:1fr;gap:36px}
  .download-final-grid{grid-template-columns:1fr;row-gap:24px}
  .download-final-copy,.download-final .actions{grid-column:1}
  .download-final .actions{justify-content:flex-start}
  .feature{grid-column:1}
  .tool-row{grid-template-columns:1fr auto;column-gap:18px;row-gap:8px;padding:24px 0}
  .tool-row>div:first-child{grid-column:1;grid-row:1}
  .tool-download{grid-column:2;grid-row:1}
  .tool-desc,.tool-req{grid-column:1 / -1;text-align:left}
  .tool-desc{grid-row:2}
  .tool-req{grid-row:3}
  .footer-inner{display:block}
  .footer-nav{flex-wrap:wrap;gap:8px 16px;margin-top:10px}
}

.sr-only{
  position:absolute!important;
  width:1px!important;
  height:1px!important;
  padding:0!important;
  margin:-1px!important;
  overflow:hidden!important;
  clip:rect(0,0,0,0)!important;
  white-space:nowrap!important;
  border:0!important;
}

.route-error .text-link{margin-top:28px}

@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
}
