:root{--paper:#f4f2ec;--ink:#272c24;--muted:#676f60;--line:#d7dbce;--red:#cc402b;--dark:#252d24}*{box-sizing:border-box}html{scroll-behavior:auto;scroll-padding-top:30px}body{margin:0;background:var(--paper);color:var(--ink);font-family:Arial,Helvetica,sans-serif;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}a:focus-visible,summary:focus-visible{outline:3px solid var(--red);outline-offset:5px}.wrap{max-width:1320px;margin:auto;padding-left:56px;padding-right:56px}.skip{position:absolute;top:-60px;left:15px;padding:15px;background:white;z-index:100}.skip:focus{top:10px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}header{max-width:1440px;margin:auto;padding:27px 56px;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line);gap:25px}.brand{font-size:31px;font-weight:800;letter-spacing:-1.7px;display:inline-flex;align-items:center;gap:9px}.brand svg{width:29px;height:29px;fill:none;stroke:var(--red);stroke-width:4}.brand>span{font-size:20px;color:var(--red);align-self:flex-start}header nav{display:flex;gap:30px;font-size:14px}header nav a:hover{color:var(--red)}.nav-cta{border:1px solid #aab39d;border-radius:4px;padding:12px 18px;font-size:14px;font-weight:600}.nav-cta:hover{background:#e6e9de}.eyebrow,.edition,.feature-label{font:11px/1.6 'Courier New',monospace;letter-spacing:1.5px;font-weight:600}.eyebrow{margin:0}.eyebrow-row{display:flex;justify-content:space-between;align-items:center;gap:20px}.edition{color:var(--muted);font-size:10px}.hero{padding-top:45px;padding-bottom:60px;position:relative}.eyebrow i{display:inline-block;background:var(--red);width:6px;height:6px;border-radius:50%;margin-right:9px;vertical-align:2px}h1{font-size:clamp(85px,9.8vw,142px);line-height:.96;letter-spacing:-8px;margin:42px 0 34px;font-weight:600;position:relative;width:fit-content}h1 em{color:var(--red);font-style:normal}h1 svg{position:absolute;bottom:-18px;left:0;width:65%;height:26px;stroke:var(--red);stroke-width:2.5;fill:none}.hero-bottom{display:flex;justify-content:space-between;align-items:flex-end;gap:30px}.hero-bottom>p{font-size:19px;line-height:1.55;margin:20px 0 0;color:#56614e}.button{display:flex;justify-content:space-between;align-items:center;gap:35px;padding:17px 23px;border-radius:4px;font-size:14px;font-weight:600;min-height:53px}.button span{font-size:21px;font-weight:400}.red{background:var(--red);color:white}.red:hover{background:#ac3320}.micro{font-size:11px;line-height:1.5;color:var(--muted);margin:11px 0 0;text-align:center}.hero-index{position:absolute;right:57px;top:163px;font:36px/1 monospace;color:#a6b09a;border-top:1px solid #b4bea8;padding-top:14px;width:154px}.hero-index small{display:block;font:9px/1.8 monospace;letter-spacing:1px;color:#758368;margin-top:20px}.workspace{padding-top:28px}.section-heading{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:24px}.section-heading h2{font-size:28px;letter-spacing:-1px;line-height:1.1;margin:0}.section-heading p{font-size:13px;color:var(--muted);line-height:1.6;margin:0}.demo{border:1px solid #353d32;border-radius:8px;overflow:hidden;box-shadow:0 20px 40px #28302114;position:relative;background:#faf9f5}.demo>input{position:absolute;opacity:0;width:1px;height:1px}.demo-bar{background:var(--dark);color:#e1e6d9;display:flex;align-items:center;justify-content:space-between;padding:17px 21px;gap:20px}.file{display:flex;gap:12px;align-items:center;font-size:12px}.file>b{font-size:24px;font-weight:400}.file small{display:block;font-size:9px;color:#b2bfa5;margin-top:5px}.modes{display:flex;border:1px solid #53634a;border-radius:5px;padding:3px;gap:3px}.modes label{padding:9px 12px;border-radius:3px;font-size:11px;cursor:pointer;color:#c1cdb7;white-space:nowrap}#review:checked~.demo-bar label[for=review],#measure:checked~.demo-bar label[for=measure],#build:checked~.demo-bar label[for=build]{background:#f1f0e8;color:#273125}#review:focus-visible~.demo-bar label[for=review],#measure:focus-visible~.demo-bar label[for=measure],#build:focus-visible~.demo-bar label[for=build]{outline:2px solid #ff9888;outline-offset:3px}.scale{font:11px monospace;color:#b4bfaa}.demo-body{display:flex;min-width:0}.rail{width:48px;flex-shrink:0;background:#eeefe7;border-right:1px solid var(--line);display:flex;flex-direction:column;align-items:center;gap:14px;padding:18px 0;color:#6e7c60}.rail span,.rail b{display:grid;place-items:center;width:28px;height:28px;font-size:19px;font-weight:400}.rail b{background:#e3d4c7;color:#a93c28;border-radius:4px}.rail hr{width:22px;border:0;border-top:1px solid #c5ccbe}.plan{flex:1;min-width:0;display:flex;align-items:center;background:#faf9f5}.plan svg{width:100%;display:block;font-family:Arial,sans-serif}.inspector{width:206px;flex-shrink:0;padding:21px 20px;background:#eeeee7;border-left:1px solid var(--line);position:relative}.inspector-title{font:9px monospace;letter-spacing:1px;margin:0 0 28px;display:flex;justify-content:space-between}.object-icon{font-size:24px;color:var(--red)}.inspector h3{font-size:22px;line-height:1.1;letter-spacing:-.6px;margin:13px 0}.inspector p:not(.inspector-title){font-size:11px;color:var(--muted);line-height:1.6}.inspector dl{font-size:10px;margin-top:24px}.inspector dl div{padding:12px 0;border-bottom:1px solid #d7d9ce;display:flex;justify-content:space-between;gap:8px}.inspector dt{color:#657456}.inspector dd{margin:0;text-align:right}.pill{background:#eadbb9;color:#66531c;border-radius:3px;padding:4px 6px}.inspector-foot{position:absolute;bottom:21px;font:7px monospace;letter-spacing:1px;color:#70815e}.measure-layer,.build-layer,.measure-copy,.build-copy{display:none}#measure:checked~.demo-body .review-layer,#measure:checked~.demo-body .review-copy,#build:checked~.demo-body .review-layer,#build:checked~.demo-body .review-copy{display:none}#measure:checked~.demo-body .measure-layer,#build:checked~.demo-body .build-layer{display:inline}#measure:checked~.demo-body .measure-copy,#build:checked~.demo-body .build-copy{display:block}.demo-status{display:flex;justify-content:space-between;padding:10px 20px;background:#e9ebe2;border-top:1px solid #d5dacc;color:#566944;font:8px monospace;letter-spacing:.6px}.file-strip{display:flex;align-items:center;justify-content:space-between;padding:29px 0 35px;border-bottom:1px solid var(--line);gap:20px}.file-strip>span{font:9px monospace;letter-spacing:1px;color:var(--muted)}.file-strip p{font-size:12px;margin:0}.file-strip b{margin:0 13px;font-weight:400;color:#9aa88b}.statement{padding-top:105px;padding-bottom:95px;text-align:center}.statement h2{font-size:48px;letter-spacing:-2px;line-height:1.15;font-weight:500;margin:26px 0}.statement h2 span{color:#7d8971}.statement>p:last-child{max-width:580px;margin:0 auto;font-size:16px;line-height:1.8;color:var(--muted)}.features{display:grid;grid-template-columns:1.1fr 1fr;gap:18px;margin-top:30px}.feature{padding:33px 35px;background:#eaece2;border:1px solid #d7dccd;border-radius:6px;overflow:hidden;position:relative}.architecture{grid-row:span 2;background:#efeee6;padding:38px 40px}.feature-label{font-size:10px;color:#667954}.feature h3{font-size:32px;font-weight:500;letter-spacing:-1px;line-height:1.1;margin:21px 0 17px}.architecture h3{font-size:43px}.feature p{max-width:320px;font-size:14px;line-height:1.7;color:#5c6c50;margin:0}.architecture svg{display:block;width:100%;margin:40px auto 0}.feature:not(.architecture){min-height:283px}.engineering p{max-width:265px}.engineering svg{width:180px;position:absolute;right:12px;bottom:12px;opacity:.6}.takeoff{background:#e9e6dc}.quantity{margin-top:24px;display:flex;justify-content:space-between;align-items:flex-end;font:8px monospace;color:#667954}.quantity strong{display:block;font:25px Arial;color:#45533d;margin-top:8px}.quantity small{font-size:12px}.quantity>div{display:flex;align-items:flex-end;gap:5px;height:30px}.quantity i{height:20%;width:19px;background:#aebd9f}.quantity i:nth-child(2){height:50%}.quantity i:nth-child(3){height:70%}.quantity i:nth-child(4){height:85%}.quantity i:nth-child(5){height:100%;background:#708765}.flow{margin-top:100px;background:var(--dark);color:#f0f1e8;padding:65px 0}.flow .eyebrow,.flow .edition{color:#adbfa0}.flow h2{font-size:45px;letter-spacing:-1.8px;font-weight:500;margin:45px 0}.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:55px}.steps article{border-top:1px solid #4c5d42;padding-top:20px}.steps article>span{font:12px monospace;color:#a6ba94}.steps h3{font-size:20px;font-weight:500;margin:25px 0 14px}.steps p{font-size:14px;line-height:1.8;color:#b5c4a9;margin:0}.formats{display:flex;align-items:center;gap:30px;margin-top:50px;padding-top:30px;border-top:1px solid #4c5d42;color:#a6ba94;font:9px monospace;letter-spacing:1px}.formats b{border:1px solid #586f49;border-radius:3px;padding:6px 9px;margin-left:12px;font-weight:400;color:#d5dfc8}.formats>span:nth-child(2){flex:1;text-align:center;overflow:hidden}.pricing{display:grid;grid-template-columns:1fr 1fr;gap:100px;padding-top:105px;padding-bottom:100px;align-items:start}.pricing-intro{padding-top:25px}.pricing h2,.faq h2{font-size:52px;letter-spacing:-2px;line-height:1.06;font-weight:500;margin:27px 0}.pricing-intro>p:not(.eyebrow){font-size:16px;line-height:1.8;color:var(--muted);max-width:350px}.pricing-intro .pricing-note{font-size:12px!important;margin-top:34px;border-left:2px solid #bdc9b0;padding-left:15px}.price-card{border:1px solid #cbd0c1;border-radius:7px;background:#fafaf5;padding:32px}.price-top{display:flex;justify-content:space-between;align-items:center;gap:12px}.price-top h3{margin:0;font-size:19px;font-weight:600}.price-top>span{font:8px monospace;background:#e6ebdf;color:#506c3a;padding:6px;border-radius:3px;letter-spacing:1px}.billing{padding:0;border:0;margin:28px 0 0;display:grid;grid-template-columns:1fr 1fr;gap:0;position:relative;min-width:0}.billing input{position:absolute;width:1px;height:1px;opacity:0}.billing label{cursor:pointer;text-align:center;padding:11px 3px;background:#eceee6;border:1px solid #d6dbcb;font-size:12px}.billing label[for=monthly]{border-radius:4px 0 0 4px}.billing label[for=annual]{border-radius:0 4px 4px 0}.billing label span{font-size:9px;color:#47672e;margin-left:6px}.billing input:checked+label{background:#fff;border-color:#747e69}.billing input:focus-visible+label{outline:2px solid var(--red);outline-offset:3px}.monthly-price,.annual-price{grid-column:span 2}.annual-price{display:none}#annual:checked~.monthly-price{display:none}#annual:checked~.annual-price{display:block}.price{font-size:68px;letter-spacing:-3px;margin:30px 0 7px;line-height:1.1}.price small{font-size:12px;letter-spacing:0;color:var(--muted);margin-left:12px}.billing-note{font-size:11px;color:var(--muted);margin:0}.price-card ul{list-style:none;padding:23px 0;margin:20px 0;border-top:1px solid #dadfcf;font-size:13px;line-height:2.6}.price-card li:before{content:'✓';color:#4f713e;margin-right:11px}.trial-note{text-align:center;padding-top:19px;margin-top:23px;border-top:1px solid #dadfcf;font-size:11px;color:#657954}.faq{display:grid;grid-template-columns:.85fr 1.15fr;gap:90px;padding-bottom:100px}.faq h2{font-size:43px}.faq-list{border-top:1px solid var(--line)}details{border-bottom:1px solid var(--line)}summary{list-style:none;display:flex;align-items:center;justify-content:space-between;gap:15px;cursor:pointer;padding:22px 0;font-size:15px}summary::-webkit-details-marker{display:none}summary span{font-size:23px;color:#748763;font-weight:300}details[open] summary span{transform:rotate(45deg)}details p{font-size:14px;color:var(--muted);line-height:1.8;margin:0 30px 22px 0}.closing{background:var(--red);color:#fff4e9;padding:70px 0}.closing .eyebrow{color:#ffded0}.closing h2{font-size:clamp(60px,7vw,100px);line-height:.98;letter-spacing:-5px;font-weight:500;margin:40px 0}.closing h2 span{color:#eeaa89}.closing .wrap>div{display:flex;align-items:flex-end;justify-content:space-between;gap:25px}.closing p:not(.eyebrow){font-size:17px;line-height:1.6;margin:0;color:#ffe0d2}.light{background:#f8f4e9;color:#913320;min-width:265px}.light:hover{background:white}.footer-top{display:flex;justify-content:space-between;align-items:center;padding:45px 0;gap:20px}.footer-top p{font-size:13px;color:var(--muted)}.footer-top>a:last-child{font-size:13px}.footer-bottom{display:flex;justify-content:space-between;gap:20px;padding:20px 0 28px;border-top:1px solid var(--line);font:9px monospace;letter-spacing:.4px;color:#637453}
@media(max-width:1050px){.wrap{padding-left:32px;padding-right:32px}header{padding:23px 32px}.hero-index{right:32px}.inspector{width:175px;padding:18px 14px}.inspector h3{font-size:18px}.inspector-foot{display:none}.inspector dl{margin-top:14px}.inspector dl div{padding:9px 0}.scale{display:none}.pricing{gap:55px}.engineering p{max-width:220px}.engineering svg{opacity:.2;width:140px}.faq{gap:50px}.file-strip{display:block}.file-strip p{margin-top:13px}.edition{font-size:9px}}
@media(max-width:760px){.wrap{padding-left:22px;padding-right:22px}header{padding:20px 22px}header nav{display:none}.brand{font-size:28px}.nav-cta{font-size:12px;padding:10px 12px}.hero{padding-top:30px;padding-bottom:45px}.eyebrow{font-size:10px;letter-spacing:1px}.edition,.hero-index{display:none}h1{font-size:clamp(64px,13.5vw,99px);letter-spacing:-4px;margin:35px 0 29px}h1 svg{height:20px;bottom:-15px}.hero-bottom{display:block}.hero-bottom>p{font-size:16px;line-height:1.6}.hero-bottom>div{margin-top:28px;max-width:310px}.hero-bottom .micro{text-align:left}.button{padding:15px 20px}.section-heading h2{font-size:25px}.section-heading p{font-size:11px;max-width:140px}.demo-bar{flex-wrap:wrap;gap:14px;padding:15px}.file{font-size:11px}.file small{font-size:9px}.modes{width:100%;justify-content:space-between}.modes label{flex:1;text-align:center;font-size:11px;padding:10px 8px}.demo-body{flex-wrap:wrap}.rail{display:none}.plan{flex-basis:100%}.inspector{width:100%;border-left:0;border-top:1px solid var(--line);padding:17px}.inspector-title,.object-icon,.inspector dl{display:none}.inspector h3{font-size:18px;margin:0 0 6px}.inspector h3 br{display:none}.inspector p:not(.inspector-title){font-size:12px;margin:0}.demo-status{font-size:7px;padding:9px 12px}.demo-status>span:last-child{display:none}.file-strip{padding:23px 0}.file-strip p{font-size:11px;line-height:2}.file-strip b{margin:0 5px}.statement{padding-top:65px;padding-bottom:65px}.statement h2{font-size:31px;letter-spacing:-1px}.statement>p:last-child{font-size:14px}.features{grid-template-columns:1fr}.feature,.architecture{padding:28px}.architecture{grid-row:auto}.architecture h3{font-size:35px}.feature h3{font-size:29px}.feature p,.engineering p{max-width:none;font-size:14px}.feature:not(.architecture){min-height:270px}.engineering svg{position:relative;width:230px;margin:20px 0 -10px auto;opacity:.75;right:auto;bottom:auto;display:block}.architecture svg{margin-top:25px;max-width:400px}.flow{margin-top:60px;padding:45px 0}.flow h2{font-size:35px;margin:30px 0}.steps{grid-template-columns:1fr;gap:30px}.steps article{position:relative;padding-left:43px}.steps article>span{position:absolute;left:0;top:27px}.steps h3{margin:5px 0 12px}.steps p{font-size:14px}.formats{gap:10px;font-size:8px;flex-wrap:wrap;margin-top:35px}.formats>span:nth-child(2){display:none}.formats b{margin-left:5px;padding:5px}.pricing{grid-template-columns:1fr;gap:30px;padding-top:65px;padding-bottom:65px}.pricing-intro{padding:0}.pricing h2{font-size:43px}.pricing-intro>p:not(.eyebrow){max-width:none;font-size:15px}.pricing-intro .pricing-note{margin-top:20px}.price-card{padding:25px}.faq{grid-template-columns:1fr;gap:20px;padding-bottom:60px}.faq h2{font-size:35px}.faq h2 br{display:none}summary{font-size:14px;padding:20px 0}.closing{padding:50px 0}.closing h2{font-size:clamp(52px,10vw,75px);letter-spacing:-3px;margin:32px 0}.closing .wrap>div{display:block}.closing p:not(.eyebrow){font-size:15px}.closing .button{margin-top:28px;max-width:320px}.footer-top{flex-wrap:wrap;padding:30px 0;gap:20px}.footer-top p{display:none}.footer-top>a:last-child{font-size:12px;word-break:break-all}.footer-bottom{flex-wrap:wrap;font-size:8px;gap:12px}.footer-bottom>span:nth-child(2){display:none}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;animation:none!important;transition:none!important}}
@media(max-width:760px){.desktop{display:none}h1{font-size:clamp(50px,13.5vw,99px)}}@media(max-width:400px){.section-heading{display:block}.section-heading p{max-width:none;margin-top:14px}.price{font-size:60px}.price-top h3{font-size:17px}}

/* ---- Polish: a way in, and small motion that respects prefers-reduced-motion (the rule above disables it all) ---- */
html{scroll-behavior:smooth}
header{position:sticky;top:0;z-index:50;background:rgba(244,242,236,.86);-webkit-backdrop-filter:saturate(1.3) blur(12px);backdrop-filter:saturate(1.3) blur(12px)}
header nav a{position:relative;padding:4px 0;transition:color .2s}
header nav a::after{content:'';position:absolute;left:0;right:0;bottom:-1px;height:1.5px;background:var(--red);transform:scaleX(0);transform-origin:left;transition:transform .25s cubic-bezier(.2,.7,.2,1)}
header nav a:hover::after,header nav a:focus-visible::after{transform:scaleX(1)}
.nav-signin{font-weight:600;margin-left:6px}
.nav-cta{display:inline-flex;align-items:center;gap:10px;background:var(--ink);color:var(--paper);border-color:var(--ink);transition:background .2s,border-color .2s,transform .2s,box-shadow .2s}
.nav-cta span{font-weight:400;transition:transform .25s}
.nav-cta:hover{background:var(--red);border-color:var(--red);color:#fff;transform:translateY(-1px);box-shadow:0 10px 22px -12px rgba(204,64,43,.7)}
.nav-cta:hover span{transform:translateX(3px)}
.button{transition:background .2s,color .2s,transform .2s,box-shadow .2s}
.button:hover{transform:translateY(-2px);box-shadow:0 14px 28px -16px rgba(39,44,36,.55)}
.button span{transition:transform .25s cubic-bezier(.2,.7,.2,1)}
.button:hover span{transform:translateX(4px)}
.button.ghost:hover span{transform:translateY(3px)}
.ghost{border:1px solid #aab39d;color:var(--ink);background:transparent}
.ghost:hover{background:#e6e9de}
.hero-bottom>div{display:grid;gap:10px;min-width:300px}
.hero-bottom .micro{margin-top:2px}
@keyframes rise{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}
@keyframes fade{from{opacity:0}to{opacity:1}}
@keyframes draw{to{stroke-dashoffset:0}}
@keyframes grow{from{transform:scaleY(.08)}}
.hero .eyebrow-row,.hero h1,.hero-bottom>p,.hero-bottom>div,.hero-index{animation:rise .75s cubic-bezier(.2,.7,.2,1) both}
.hero h1{animation-delay:.08s}.hero-bottom>p{animation-delay:.22s}.hero-bottom>div{animation-delay:.34s}.hero-index{animation-delay:.46s}
h1 svg path{stroke-dasharray:640;stroke-dashoffset:640;animation:draw 1.1s cubic-bezier(.4,0,.2,1) .6s forwards}
h1 em{transition:color .3s}
.review-layer,.measure-layer,.build-layer{animation:fade .45s ease both}
.review-copy,.measure-copy,.build-copy{animation:rise .4s cubic-bezier(.2,.7,.2,1) both}
.modes label{transition:background .2s,color .2s}
.modes label:hover{color:#f1f0e8}
.demo{transition:box-shadow .35s}
.demo:hover{box-shadow:0 26px 50px #2830211f}
.feature{transition:transform .3s cubic-bezier(.2,.7,.2,1),box-shadow .3s}
.feature:hover{transform:translateY(-3px);box-shadow:0 22px 44px -26px rgba(39,44,36,.5)}
.quantity i{transform-origin:bottom;animation:grow 1s cubic-bezier(.2,.7,.2,1) both}
.quantity i:nth-child(2){animation-delay:.08s}.quantity i:nth-child(3){animation-delay:.16s}.quantity i:nth-child(4){animation-delay:.24s}.quantity i:nth-child(5){animation-delay:.32s}
.steps article{transition:border-color .3s}
.steps article:hover{border-color:#a6ba94}
.price-card{transition:transform .3s cubic-bezier(.2,.7,.2,1),box-shadow .3s}
.price-card:hover{transform:translateY(-2px);box-shadow:0 26px 48px -30px rgba(39,44,36,.45)}
.billing label{transition:background .2s,border-color .2s}
.monthly-price,.annual-price{animation:fade .3s ease both}
.trial-note a,.footer-bottom a{text-decoration:underline;text-underline-offset:3px;text-decoration-color:#b8c2ab;transition:color .2s,text-decoration-color .2s}
.trial-note a:hover,.footer-bottom a:hover{color:var(--red);text-decoration-color:var(--red)}
summary{transition:color .2s}
summary:hover{color:var(--red)}
summary span{transition:transform .3s cubic-bezier(.2,.7,.2,1),color .2s}
details p{animation:rise .3s cubic-bezier(.2,.7,.2,1) both}
.closing{background:linear-gradient(115deg,var(--red) 0%,#b8321f 100%)}
.light{transition:background .2s,transform .2s,box-shadow .2s}
/* Sections settle in as they scroll into view where the browser can drive an animation from scroll; elsewhere they simply show. */
@supports (animation-timeline: view()){
  .statement,.discipline .eyebrow-row,.feature,.flow .wrap>*,.pricing-intro,.price-card,.faq>div,.faq-list,.closing .wrap>*{animation:rise .9s cubic-bezier(.2,.7,.2,1) both;animation-timeline:view();animation-range:entry 0% entry 30%}
  .quantity i{animation-timeline:view();animation-range:entry 0% entry 55%}
  .feature{animation-name:rise}
}
@media(max-width:760px){.nav-signin{display:none}.hero-bottom>div{min-width:0;max-width:340px}.nav-cta span{display:none}}
