:root{--ink:#20343d;--teal:#195b56;--paper:#f5f6f3;--line:#d7dfd9}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:24px}body{margin:0;font:17px/1.65 system-ui,-apple-system,sans-serif;color:var(--ink);background:var(--paper)}a{color:#17605d;text-underline-offset:4px}a:focus-visible,summary:focus-visible{outline:3px solid #17605d;outline-offset:5px}header,main,footer{max-width:1160px;margin:auto;padding:24px}header{border-bottom:1px solid var(--line)}nav{display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap}nav a{font-weight:650;text-decoration:none}.brand{letter-spacing:-.025em}.navlinks{display:flex;gap:24px}.skip{position:absolute;left:16px;top:-80px;padding:8px 16px;background:white;z-index:5}.skip:focus{top:8px}h1{font-size:clamp(2.8rem,5.8vw,4.65rem);line-height:1.04;letter-spacing:-.055em;margin:18px 0 28px}h2{font-size:clamp(1.8rem,3vw,2.65rem);line-height:1.15;letter-spacing:-.035em;margin:14px 0 24px}h3{font-size:1.15rem;line-height:1.35}.hero{padding:35px 0 45px;max-width:850px}.hero-grid{display:grid;grid-template-columns:1.5fr 1fr;gap:72px;align-items:center;max-width:none}.eyebrow{font-size:.73rem;letter-spacing:.14em;font-weight:750;color:var(--teal);text-transform:uppercase}.lead{font-size:1.3rem;max-width:720px}.button{display:inline-block;background:var(--teal);color:white;padding:13px 21px;border-radius:6px;font-weight:650;text-decoration:none;margin:10px 20px 10px 0}.button:hover{background:#103e3b}.subtle{color:#52636b;font-size:.87rem}.app-mark{margin:0;text-align:center}.app-mark img{width:100%;max-width:360px;filter:drop-shadow(0 24px 26px #103e3b24)}.app-mark figcaption{margin-top:20px;font-size:1.1rem;font-weight:650}.app-mark figcaption span{font-size:.78rem;font-weight:400;color:#52636b}.grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.card{padding:28px;background:white;border:1px solid var(--line);border-radius:9px}.card h3{margin:10px 0}.card p{margin-bottom:0}.step{font:500 .8rem ui-monospace,monospace;color:var(--teal)}.band{background:#163c40;color:white;border-radius:12px;padding:48px;margin:70px 0}.band p{max-width:800px}.band .eyebrow,.band a{color:#b6d9cf}section{margin:58px 0}video{width:100%;background:#132530;border-radius:10px}img{max-width:100%;height:auto}details{border-top:1px solid #cbd5d0;padding:20px 0}summary{cursor:pointer;font-weight:650}details p{max-width:860px}.pricing{display:grid;grid-template-columns:1.15fr 1fr;gap:60px;align-items:center;padding:30px 0}.price-card{background:white;border:1px solid var(--line);border-radius:12px;padding:32px}.plan-name{font-weight:650}.price{font-size:3.5rem;line-height:1.1;letter-spacing:-.05em;margin:20px 0}.price span{font-size:1rem;letter-spacing:normal;font-weight:400}.status{font-size:.9rem;padding-top:18px;border-top:1px solid var(--line);font-weight:650}.closing{border-top:1px solid var(--line);padding-top:40px}.legal{max-width:800px;margin:50px auto 70px}.legal h1{font-size:clamp(2.8rem,5vw,4rem)}.legal h2{font-size:1.55rem;margin-top:40px}footer{border-top:1px solid var(--line);font-size:.9rem;padding-bottom:40px}.actions{display:flex;flex-wrap:wrap;gap:20px}ol{padding-left:22px}li{margin-bottom:12px}@media(max-width:760px){.hero-grid,.pricing{grid-template-columns:1fr;gap:30px}.app-mark{max-width:230px;margin:0 auto}.hero{padding:15px 0 25px}.grid{grid-template-columns:1fr}header,main,footer{padding:20px}.card,.band,.price-card{padding:24px}.band{margin:40px 0}.pricing{padding:0}section{margin:38px 0}.navlinks{gap:18px}h1{font-size:3.1rem}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

.hero a{white-space:nowrap}

/* The three product purposes share a visual hierarchy, not a solver menu. */
.purpose-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.purpose-card{display:block;text-decoration:none;color:var(--ink)}.purpose-card:hover{border-color:var(--teal);background:#fbfdfb}.purpose-card h3{font-size:1.3rem}.card-link{display:block;color:var(--teal);margin-top:24px;font-size:.88rem;font-weight:650}.purpose-section{padding-top:42px;border-top:1px solid var(--line);margin-top:78px}.section-intro{max-width:870px;font-size:1.12rem}.feedback{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));padding:0;gap:2px;margin:35px 0 18px;list-style:none}.feedback li{padding:20px 16px;background:#e5eee8;margin:0;min-width:0}.feedback span{display:block;color:var(--teal);font:600 .9rem ui-monospace,monospace;margin-bottom:18px}.feedback strong{display:block;font-size:.95rem}.feedback small{display:block;font-size:.82rem;line-height:1.5;margin-top:9px;color:#52636b}.feedback li:first-child{border-radius:8px 0 0 8px}.feedback li:last-child{background:#d2e4da;border-radius:0 8px 8px 0}.scope-pair,.cycle-distinction{display:grid;grid-template-columns:1fr 1fr;gap:36px;margin:32px 0}.scope-pair>div{border-left:3px solid #a2c4b2;padding-left:22px}.scope-pair h3{margin:0}.scope-pair p{font-size:.95rem}.engineering-demo{background:white;border:1px solid var(--line);border-radius:12px;margin:38px 0;padding:28px}.figure-heading{display:flex;justify-content:space-between;align-items:center;gap:20px}.figure-heading h3{font-size:1.5rem;margin:4px 0}.figure-heading .eyebrow{margin:0}.figure-badge{background:#ecf1ee;padding:7px 12px;font-size:.75rem;border-radius:5px;white-space:nowrap}.comparison-metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;padding:22px 0;border-block:1px solid var(--line);margin:24px 0}.comparison-metrics span{display:block;font-size:.77rem;color:#52636b}.comparison-metrics strong{display:block;font-size:1.6rem;font-weight:650;letter-spacing:-.025em}.comparison-metrics small{font-size:.85rem;font-weight:400}.plot-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px;align-items:end}.plot-grid figure{margin:0;min-width:0}.plot-grid figcaption,.cycle-figure figcaption{font-size:.82rem;color:#52636b;line-height:1.55}.plot-grid figcaption{min-height:66px}.field-control{font-size:.8rem;margin:4px 0 8px}.field-control label{display:block;margin-bottom:4px}select{font:inherit;color:var(--ink);padding:8px 12px;border:1px solid #aebdb7;border-radius:5px;background:white;max-width:100%}select:focus-visible{outline:3px solid var(--teal);outline-offset:3px}.engineering-demo details{font-size:.88rem;margin-top:26px}.cycle-distinction>div{padding:24px;background:#e5eee8;border-radius:8px}.cycle-distinction strong{display:block;font-size:1.2rem;margin-top:12px}.cycle-distinction p{font-size:.92rem;margin-bottom:0}.cycle-figure{background:white;margin:32px 0;padding:20px;border:1px solid var(--line);border-radius:12px}.cycle-figure img{display:block;width:100%;max-width:900px;margin:auto}.cycle-figure figcaption{max-width:900px;margin:12px auto}.scope-note{font-size:.92rem;padding:18px 22px;background:#eaf0eb;border-radius:8px}.installation-example{max-width:880px;margin:34px auto 0}.installation-example>h3{font-size:1.5rem}.hero .lead{line-height:1.5}.hero h1{font-size:clamp(2.6rem,5.2vw,4.25rem)}
@media(max-width:850px){.purpose-grid{grid-template-columns:1fr}.purpose-card{padding:24px}.feedback{grid-template-columns:1fr 1fr}.feedback li:first-child,.feedback li:last-child{border-radius:5px}.feedback li:last-child{grid-column:1/-1}.figure-heading{display:block}.figure-badge{display:inline-block;margin-top:12px}}
@media(max-width:620px){.scope-pair,.cycle-distinction,.plot-grid{grid-template-columns:1fr;gap:24px}.engineering-demo{padding:18px}.comparison-metrics{gap:12px}.comparison-metrics strong{font-size:1.15rem}.comparison-metrics span{font-size:.7rem}.comparison-metrics small{font-size:.7rem}.plot-grid figcaption{min-height:0}.cycle-figure{padding:10px}.purpose-section{margin-top:48px;padding-top:26px}.feedback strong{font-size:.9rem}.feedback li{padding:17px}.hero a{white-space:normal}.hero .button{margin-right:8px}.cycle-figure figcaption{padding:0 6px}.navlinks{column-gap:16px;row-gap:8px}}

.baseline-figure{margin:28px 0}.baseline-figure img{display:block;width:100%;max-width:900px;margin:auto}.baseline-figure figcaption{font-size:.82rem;color:#52636b;line-height:1.55;max-width:900px;margin:14px auto}

/* Gearless pulley example. */
.pulley-example{padding-top:36px;border-top:1px solid var(--line)}.pulley-example h2{font-size:clamp(1.65rem,3vw,2.2rem);margin-top:14px}.pulley-example h3{margin:8px 0}.pulley-workflow{padding-left:24px}.pulley-workflow li{padding-left:8px;margin:28px 0}.pulley-workflow p{margin:8px 0}.pulley-figure{margin:32px 0}.pulley-figure img{border:1px solid var(--line);border-radius:6px;background:white}.pulley-figure a:focus-visible{display:block}.pulley-figure figcaption{padding:0 18px}.pulley-table-wrap{overflow-x:auto;margin:20px 0}.pulley-table{width:100%;border-collapse:collapse;font-size:.86rem;text-align:left}.pulley-table caption{text-align:left;font-weight:650;padding:0 0 12px}.pulley-table th,.pulley-table td{padding:10px 12px;border-bottom:1px solid var(--line);white-space:nowrap}.pulley-table thead{background:#e5eee8}.pulley-downloads{display:flex;flex-wrap:wrap;gap:12px}.pulley-downloads .button{margin:8px 0}.pulley-example details{font-size:.92rem}.pulley-table-wrap:focus-visible{outline:3px solid var(--teal);outline-offset:3px}
@media(max-width:620px){.pulley-metrics{grid-template-columns:1fr;gap:20px}.pulley-metrics strong{font-size:1.55rem}.pulley-metrics span{font-size:.8rem}.pulley-metrics small{font-size:.85rem}.pulley-figure{margin:24px 0}.pulley-figure figcaption{padding:0}.pulley-workflow{padding-left:20px}.pulley-workflow li{padding-left:4px}.pulley-downloads{display:block}.pulley-downloads .button{width:100%;text-align:center}.navlinks{flex-wrap:wrap}}
