:root{--ink:#24211f;--paper:#f3f0e8;--paper-deep:#e6e0d4;--rust:#e95f2b;--rust-light:#ffdbcb;--line:#24211f38;--muted:#6b6660;--white:#fffdf8;--serif:Georgia,"Times New Roman",serif;--sans:Aptos,"Segoe UI","Trebuchet MS",Arial,sans-serif;--mono:Consolas,"Courier New",monospace;--content:1180px;--pad:clamp(20px,4vw,48px);--r:2px;--ease:cubic-bezier(.2,.8,.2,1)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--paper);color:var(--ink);font-family:var(--sans);margin:0;font-size:16px;line-height:1.55}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit}button{cursor:pointer}button:disabled{cursor:wait;opacity:.65}img{max-width:100%;display:block}.container{width:min(var(--content),calc(100% - var(--pad)*2));margin:auto}.skip-link{z-index:100;background:var(--ink);color:var(--white);padding:10px 14px;position:fixed;top:-60px;left:10px}.skip-link:focus{top:10px}a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid var(--rust);outline-offset:3px}.eyebrow{font:500 11px/1.2 var(--mono);letter-spacing:.08em;text-transform:uppercase;margin:0 0 18px}.eyebrow:before{content:"✦";color:var(--rust);margin-right:8px}h1,h2,h3,p{margin-top:0}h1,h2,h3{letter-spacing:-.055em;line-height:.98}h1{max-width:1050px;margin-bottom:30px;font-size:clamp(3.1rem,7.2vw,7.4rem);font-weight:700}h2{font-size:clamp(2.3rem,4.6vw,5rem);font-weight:700}h3{font-size:clamp(1.65rem,2.3vw,2.55rem);font-weight:700}em{font-family:var(--serif);letter-spacing:-.02em;font-weight:400}.section{padding:clamp(76px,11vw,158px) 0}.page-hero{border-bottom:1px solid var(--line);padding:clamp(90px,13vw,180px) 0 72px}.page-lead{max-width:650px;font-size:clamp(1.1rem,2vw,1.4rem);line-height:1.55}.button{border:1px solid var(--ink);background:var(--ink);color:var(--white);transition:transform .25s var(--ease),background .25s,color .25s;align-items:center;gap:24px;padding:15px 18px 15px 21px;font-size:14px;font-weight:700;display:inline-flex}.button:hover{background:var(--rust);border-color:var(--rust);transform:translateY(-3px)}.button span{font-size:20px;line-height:0}.button-light{background:var(--paper);color:var(--ink);border-color:var(--paper)}.text-link{border-bottom:1px solid;align-items:center;gap:10px;padding-bottom:4px;font-weight:700;transition:color .2s,gap .2s;display:inline-flex}.text-link:hover{color:var(--rust);gap:16px}.text-link.light{color:var(--paper)}.site-header{z-index:20;border-bottom:1px solid var(--line);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#f3f0e8f5;position:relative}.header-inner{justify-content:space-between;align-items:center;min-height:76px;display:flex}.brand{font:500 11px/.95 var(--mono);letter-spacing:.03em;align-items:center;gap:10px;display:flex}.brand-mark{background:var(--rust);grid-template-columns:1fr 1fr;gap:3px;width:31px;height:31px;padding:3px;display:grid}.brand-mark i{background:var(--ink);display:block}.brand-mark i:first-child{grid-row:span 2}.brand-mark i:nth-child(3){background:var(--paper)}.site-nav{align-items:center;gap:29px;font-size:13px;font-weight:700;display:flex}.site-nav>a:not(.nav-cta){position:relative}.site-nav>a:not(.nav-cta):after{content:"";background:var(--rust);transform-origin:100%;width:100%;height:1px;transition:transform .25s var(--ease);position:absolute;bottom:-7px;left:0;transform:scaleX(0)}.site-nav>a:not(.nav-cta):hover:after,.site-nav>a.router-link-active:not(.nav-cta):after{transform-origin:0;transform:scaleX(1)}.nav-cta{background:var(--rust);padding:10px 13px}.menu-button{color:var(--ink);font:500 12px var(--mono);background:0 0;border:0;align-items:center;gap:9px;display:none}.menu-button b{border-top:1px solid;border-bottom:1px solid;width:19px;height:10px}.hero{overflow:hidden}.hero-grid{grid-template-columns:minmax(0,1.16fr) minmax(350px,.84fr);align-items:center;gap:7vw;padding-top:clamp(60px,10vw,136px);display:grid}.hero-copy h1{margin-bottom:25px;font-size:clamp(3.25rem,6.5vw,7rem)}.hero-lead{color:#3f4843;max-width:620px;font-size:clamp(1.05rem,1.7vw,1.25rem)}.hero-actions{align-items:center;gap:28px;margin-top:35px;display:flex}.hero-device{background:var(--ink);min-height:430px;color:var(--paper);box-shadow:10px 10px 0 var(--rust);border:1px solid var(--ink);flex-direction:column;padding:16px;display:flex;transform:rotate(1.7deg)}.device-header,.device-footer{font:10px var(--mono);letter-spacing:.06em;justify-content:space-between;display:flex}.device-header span:last-child{color:#b9dbad}.device-core{background:repeating-linear-gradient(0deg,#0000 0 39px,#f3f0e821 40px),repeating-linear-gradient(90deg,#0000 0 39px,#f3f0e821 40px);flex:1;min-height:330px;position:relative;overflow:hidden}.core-target{z-index:3;border:1px solid var(--rust);text-align:center;width:132px;height:132px;font:500 13px/1.1 var(--mono);background:var(--ink);border-radius:50%;place-items:center;display:grid;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.core-target i{border:1px solid #e95f2b66;border-radius:50%;position:absolute;inset:12px}.core-target i:nth-child(2){inset:24px}.core-target i:nth-child(3){background:var(--rust);inset:36px}.orbit{background:var(--ink);font:10px var(--mono);letter-spacing:.05em;border:1px solid #f3f0e899;padding:6px 8px;position:absolute}.orbit-a{top:17%;left:13%}.orbit-b{color:var(--rust-light);top:43%;right:7%}.orbit-c{bottom:13%;left:19%}.device-footer{border-top:1px solid #f3f0e880;padding-top:12px}.hero-rule{border-top:1px solid var(--line);font:10px var(--mono);letter-spacing:.03em;justify-content:space-between;align-items:center;margin-top:clamp(70px,12vw,160px);padding:15px 0;display:flex}.scroll-cue{gap:9px;display:flex}.scroll-cue i{color:var(--rust);font-size:17px;font-style:normal;line-height:.5}.split-heading{grid-template-columns:25% 1fr;align-items:start;gap:5%;display:grid}.split-heading h2{max-width:850px}.problem-section{padding-bottom:0}.problem-grid{grid-template-columns:1fr 1fr;gap:10%;padding-top:75px;display:grid}.large-copy{letter-spacing:-.04em;font-size:clamp(1.4rem,2.3vw,2.05rem);line-height:1.35}.problem-list{border-top:1px solid var(--line)}.problem-list>div{border-bottom:1px solid var(--line);grid-template-columns:45px 1fr;gap:20px;padding:19px 0;display:grid}.problem-list span{font:11px var(--mono);color:var(--rust)}.problem-list p{margin:0;font-size:15px}.section-dark{background:var(--ink);color:var(--paper)}.services-teaser{margin-top:clamp(80px,12vw,165px)}.section-intro{grid-template-columns:25% 1fr auto;align-items:end;gap:30px;margin-bottom:55px;display:grid}.section-intro h2{margin:0}.service-row{border-top:1px solid #f3f0e84d;grid-template-columns:55px 75px 1fr 35px;align-items:center;gap:20px;padding:26px 0;display:grid}.service-row:last-child{border-bottom:1px solid #f3f0e84d}.service-number{font:11px var(--mono);color:var(--rust-light)}.service-row h3{margin:0 0 7px;font-size:clamp(1.5rem,2.7vw,2.35rem)}.service-row p{color:#d5d4cd;max-width:600px;margin:0;font-size:14px}.service-row>a{font-size:27px;transition:color .2s,transform .2s}.service-row:hover>a{color:var(--rust);transform:translate(3px,-3px)}.service-glyph{border:1px solid;place-items:center;width:52px;height:52px;display:grid}.app-icon{width:25px;height:25px}.direct-grid{grid-template-columns:1fr 1fr;align-items:center;gap:12%;display:grid}.direct-grid h2{margin-bottom:28px;font-size:clamp(2.3rem,4vw,4.35rem)}.direct-grid>div:last-child>p:not(.eyebrow){color:#414a45;max-width:550px;margin-bottom:28px}.direct-figure{background:var(--paper-deep);min-height:350px;font:12px var(--mono);letter-spacing:.08em;flex-direction:column;justify-content:space-between;padding:28px;display:flex;position:relative;overflow:hidden}.direct-figure span{background:var(--paper);z-index:1;width:max-content;padding:10px}.direct-figure i{background:var(--rust);transform-origin:top;width:2px;height:75%;position:absolute;top:44px;left:35px;transform:rotate(-34deg)}.direct-figure i:nth-of-type(2){background:var(--ink);height:70%;top:115px;left:175px}.direct-figure b{color:var(--rust);font-size:104px;position:absolute;bottom:-22px;right:-5px}.work-heading{grid-template-columns:25% 1fr;margin-bottom:50px;display:grid}.work-heading h2{margin:0}.featured-project{background:var(--ink);min-height:450px;color:var(--paper);transition:transform .3s var(--ease),box-shadow .3s;grid-template-columns:1.18fr .82fr;display:grid}.featured-project:hover{box-shadow:9px 9px 0 var(--rust);transform:translateY(-6px)}.featured-copy{flex-direction:column;justify-content:center;align-items:flex-start;padding:clamp(28px,5vw,72px);display:flex}.featured-copy h3{margin-bottom:20px;font-size:clamp(2.3rem,4vw,4.5rem)}.featured-copy p:not(.eyebrow){color:#cfd0c9;max-width:400px}.round-arrow{border:1px solid var(--paper);border-radius:50%;place-items:center;width:47px;height:47px;margin-top:20px;font-size:24px;display:grid}.project-visual{min-height:450px;color:var(--ink);background:#b7c2b2 linear-gradient(125deg,#0000 0 45%,#f3f0e88c 45% 46%,#0000 46%);padding:22px;position:relative;overflow:hidden}.pv-browser{border:1px solid var(--ink);background:var(--paper);align-items:center;gap:5px;height:20px;padding:5px;display:flex}.pv-browser span{background:var(--rust);border-radius:50%;width:5px;height:5px}.pv-side{border-right:1px solid var(--ink);width:27%;font:10px/1.15 var(--mono);background:#d9e0d2;padding:18px 13px;position:absolute;top:42px;bottom:0;left:22px}.pv-side i{background:var(--ink);width:75%;height:5px;margin-top:16px;display:block}.pv-side i:nth-of-type(2){width:50%}.pv-main{background:var(--paper);padding:clamp(24px,4vw,51px);position:absolute;inset:42px 0 0 calc(27% + 22px)}.pv-main p{letter-spacing:-.06em;font-size:clamp(1.8rem,4vw,3.6rem);line-height:.9}.pv-lines{margin:34px 0}.pv-lines i{background:var(--ink);width:75%;height:4px;margin-bottom:8px;display:block}.pv-lines i:nth-child(2){width:50%}.pv-lines i:nth-child(3){width:66%}.pv-main b{background:var(--rust);font:10px/1.1 var(--mono);padding:15px;position:absolute;bottom:0;right:0}.pv-stamp{font:9px/1.1 var(--mono);writing-mode:vertical-rl;position:absolute;top:66px;right:14px}.start-section{background:var(--rust);padding:clamp(70px,10vw,130px) 0}.start-grid{grid-template-columns:25% 1fr 22%;gap:5%;display:grid}.start-grid h2{margin-bottom:22px;font-size:clamp(2.7rem,5.5vw,6rem)}.start-grid>div>p{max-width:560px;font-size:18px}.start-grid .button{background:var(--ink);border-color:var(--ink);margin-top:14px}.start-aside{font:12px/1.4 var(--mono);align-self:end;padding-bottom:10px}.site-footer{background:var(--ink);color:var(--paper);padding:60px 0 36px}.footer-top{border-bottom:1px solid #f3f0e84d;justify-content:space-between;align-items:center;padding-bottom:54px;display:flex}.footer-claim{letter-spacing:-.06em;margin:0;font-size:clamp(2.5rem,5vw,5rem);line-height:.88}.footer-grid{grid-template-columns:1.2fr .8fr 1fr;gap:50px;padding-top:32px;font-size:13px;display:grid}.footer-grid .eyebrow{color:var(--rust-light)}.footer-grid a:not(.button){border-bottom:1px solid #0000;width:max-content;margin-bottom:8px;display:block}.footer-grid a:not(.button):hover{border-color:currentColor}.footer-note{color:#aaa9a1;margin-top:34px;font-size:11px}.service-list-section{border-top:0}.service-detail{border-bottom:1px solid var(--line);padding:clamp(65px,10vw,120px) 0;scroll-margin-top:20px}.service-detail:nth-child(2n){background:var(--paper-deep)}.service-detail-grid{grid-template-columns:25% 1fr;gap:8%;display:grid}.service-sticky{align-self:start;position:sticky;top:24px}.service-sticky .service-glyph{width:80px;height:80px}.service-detail h2{margin-bottom:25px}.service-summary{max-width:820px;font-size:clamp(1.35rem,2.3vw,2rem);line-height:1.35}.service-facts{border-top:1px solid var(--line);grid-template-columns:1fr 1fr;gap:40px;margin:44px 0 30px;padding-top:20px;display:grid}.service-detail h3{font:500 11px var(--mono);letter-spacing:.05em;text-transform:uppercase;margin-bottom:9px}.service-facts p{color:#454d48;font-size:14px}.includes{border-top:1px solid var(--line);padding:20px 0}.includes ul,.case-body ul{columns:2;gap:30px;margin:0;padding:0;list-style:none}.includes li,.case-body li{padding:7px 0;font-size:14px}.includes li:before,.case-body ul li:before{content:"↗";color:var(--rust);margin-right:9px}.outcome{border-top:1px solid var(--line);letter-spacing:-.03em;grid-template-columns:140px 1fr;gap:15px;padding:20px 0 30px;font-size:19px;display:grid}.outcome span{font:11px var(--mono);text-transform:uppercase;letter-spacing:.04em}.small-cta{background:var(--rust);padding:29px 0}.small-cta .container{justify-content:space-between;align-items:center;display:flex}.small-cta p{margin:0;font-size:18px;font-weight:700}.work-hero{background:var(--ink);color:var(--paper);border:0}.work-list{padding-top:70px}.work-card{border-bottom:1px solid var(--line);grid-template-columns:1fr 1fr;align-items:center;gap:7%;margin-bottom:70px;padding:0 0 70px;display:grid}.work-card .project-visual{min-height:360px}.work-card h2{margin-bottom:16px;font-size:clamp(2.3rem,4.5vw,4.8rem)}.work-card p:not(.eyebrow){color:#48504b;max-width:480px;margin-bottom:28px;font-size:17px}.portfolio-note{font:12px var(--mono);max-width:380px;color:var(--muted)}.project-hero{padding:70px 0}.project-hero h1{margin-bottom:22px;font-size:clamp(3.2rem,6vw,6.5rem)}.back-link{font:12px var(--mono);border-bottom:1px solid;margin-bottom:65px;display:inline-block}.project-image{padding-bottom:20px}.project-image .project-visual{min-height:min(62vw,620px)}.case-grid{grid-template-columns:22% 1fr;gap:8%;display:grid}.case-grid aside{font:11px var(--mono);letter-spacing:.06em}.case-grid aside p{color:var(--rust)}.case-grid aside span{color:var(--muted)}.case-grid aside a{border-bottom:1px solid}.case-body>div{border-bottom:1px solid var(--line);margin-bottom:65px;padding-bottom:65px}.case-body h2{letter-spacing:-.045em;max-width:780px;font-size:clamp(1.8rem,3.3vw,3.25rem);line-height:1.1}.case-pair{grid-template-columns:1fr 1fr;gap:10%;display:grid}.case-pair>div>p:not(.eyebrow){font-size:17px}.case-body ol{margin:0;padding-left:22px}.case-body ol li{padding:6px 0;font-size:14px}.case-result{border-color:var(--rust)!important}.tech-line{margin:25px 0 0;font-size:13px}.tech-line b{font:500 11px var(--mono);text-transform:uppercase;letter-spacing:.04em;margin-right:20px}.about-hero{background:var(--paper-deep)}.about-statement>.container{grid-template-columns:25% 1fr;gap:5%;display:grid}.about-index{font:11px var(--mono);color:var(--rust);align-items:center;gap:10px;display:flex}.about-index i{background:var(--rust);width:30px;height:1px}.about-statement h2{max-width:900px;font-size:clamp(2.3rem,4.4vw,4.8rem)}.about-statement .large-copy{color:#444c47;max-width:780px}.method-grid{border-top:1px solid #f3f0e84d;grid-template-columns:repeat(3,1fr);gap:0;margin-top:54px;display:grid}.method-grid article{border-right:1px solid #f3f0e84d;padding:28px 30px 10px}.method-grid article:first-child{padding-left:0}.method-grid article:last-child{border:0}.method-grid span{color:var(--rust);font:11px var(--mono)}.method-grid h2{margin-top:50px;font-size:clamp(1.8rem,2.5vw,2.7rem)}.method-grid p{color:#cbccc4;font-size:14px}.about-close{padding-bottom:clamp(90px,13vw,180px)}.contact-section{padding-top:68px}.contact-grid{grid-template-columns:27% 1fr;gap:9%;display:grid}.contact-sidebar{font-size:14px}.contact-email{letter-spacing:-.04em;border-bottom:2px solid var(--rust);margin-bottom:20px;font-size:clamp(1.1rem,1.5vw,1.4rem);font-weight:700;display:inline-block}.contact-rule{border-top:1px solid var(--line);margin:35px 0}.contact-form{background:var(--paper-deep);padding:clamp(25px,5vw,55px)}.form-row{grid-template-columns:1fr 1fr;gap:22px;display:grid}.field{border:0;margin:0 0 25px;padding:0;display:block}.field label,.field legend{margin-bottom:8px;font-size:13px;font-weight:700;display:block}.field span,.check-field span{color:var(--rust)}.field em{font-family:var(--sans);color:var(--muted);letter-spacing:0;font-size:11px}.field input,.field textarea,.field select{background:var(--paper);width:100%;color:var(--ink);border:1px solid #8f968d;border-radius:0;outline:0;padding:12px;display:block}.field textarea{resize:vertical;min-height:135px}.field input:focus,.field textarea:focus,.field select:focus{border-color:var(--ink);box-shadow:0 0 0 2px var(--rust)}.field small,.form-error{color:#a63213;margin-top:6px;font-size:12px;display:block}.check-field{align-items:flex-start;gap:10px;margin:2px 0;display:flex}.check-field input{width:18px;height:18px;accent-color:var(--rust);margin-top:2px}.check-field label{font-size:12px}.check-field a{text-decoration:underline}.privacy-note{color:var(--muted);max-width:570px;margin:18px 0 0;font-size:11px}.form-success{text-align:center;padding:65px 20px}.form-success span{background:var(--rust);border-radius:50%;place-items:center;width:48px;height:48px;margin:0 auto 18px;font-size:24px;display:grid}.form-success h2{margin-bottom:10px;font-size:2.4rem}.not-found{min-height:65vh;padding:clamp(90px,15vw,190px) 0}.not-found h1{margin-bottom:25px}.not-found p:not(.eyebrow){margin-bottom:30px;font-size:18px}.page-enter-active,.page-leave-active{transition:opacity .18s}@media (width<=800px){.site-header{position:sticky;top:0}.menu-button{display:flex}.site-nav{background:var(--ink);color:var(--paper);padding:22px var(--pad) 28px;flex-direction:column;align-items:stretch;gap:0;display:none;position:absolute;top:75px;left:0;right:0}.site-nav.is-open{display:flex}.site-nav>a{border-bottom:1px solid #f3f0e840;padding:14px 0}.site-nav .nav-cta{margin-top:16px;padding:12px}.hero-grid,.direct-grid,.featured-project,.work-card,.contact-grid{grid-template-columns:1fr}.hero-grid{gap:50px}.hero-device{width:calc(100% - 12px);max-width:560px;min-height:350px;margin-left:4px}.hero-rule{margin-top:70px}.scroll-cue{display:none}.split-heading,.work-heading,.start-grid,.about-statement>.container,.case-grid{grid-template-columns:1fr;gap:25px}.problem-grid{grid-template-columns:1fr;gap:32px;padding-top:46px}.section-intro{grid-template-columns:1fr;gap:15px}.section-intro .text-link{width:max-content}.service-row{grid-template-columns:38px 55px 1fr 22px;gap:12px}.service-row p{display:none}.service-glyph{width:45px;height:45px}.direct-figure{min-height:275px}.work-heading{margin-bottom:30px}.featured-project{min-height:0}.project-visual{min-height:330px}.featured-copy{padding:35px}.start-aside{display:none}.footer-top{flex-direction:column;align-items:flex-start;gap:30px}.footer-grid{grid-template-columns:1fr 1fr;gap:35px}.footer-grid>div:last-child{grid-column:span 2}.service-detail-grid{grid-template-columns:1fr;gap:24px}.service-sticky{align-items:center;gap:18px;display:flex;position:static}.service-sticky .eyebrow{margin:0}.service-sticky .service-glyph{width:55px;height:55px}.service-facts,.case-pair{grid-template-columns:1fr;gap:5px}.includes ul,.case-body ul{columns:1}.outcome{grid-template-columns:1fr;gap:6px}.small-cta .container{flex-direction:column;align-items:flex-start;gap:20px}.work-card{gap:26px}.project-hero{padding:50px 0}.back-link{margin-bottom:45px}.case-grid aside{align-items:center;gap:17px;display:flex}.case-body>div{margin-bottom:40px;padding-bottom:40px}.about-index{margin-bottom:7px}.method-grid{grid-template-columns:1fr}.method-grid article,.method-grid article:first-child{border-bottom:1px solid #f3f0e84d;border-right:0;padding:27px 0}.method-grid article:last-child{border-bottom:0}.method-grid h2{margin-top:25px}.contact-sidebar{padding-bottom:20px}.form-row{grid-template-columns:1fr}.contact-form{padding:25px 20px}.contact-hero{padding-bottom:48px}}@media (width<=430px){h1{font-size:3.1rem}.hero-copy h1{font-size:3.2rem}.hero-actions{flex-direction:column;align-items:flex-start;gap:22px}.hero-device{min-height:315px;padding:12px}.device-core{min-height:245px}.core-target{width:112px;height:112px}.hero-rule{font-size:9px}.service-row{grid-template-columns:27px 44px 1fr 15px}.service-row h3{font-size:1.38rem}.service-row .service-glyph{width:41px;height:41px}.project-visual{min-height:285px;padding:14px}.pv-side{top:34px;left:14px}.pv-main{padding:24px;top:34px;left:calc(27% + 14px)}.pv-stamp{top:52px}.footer-grid{grid-template-columns:1fr}.footer-grid>div:last-child{grid-column:auto}.footer-claim{font-size:2.8rem}.form-success{padding:30px 5px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important}.page-enter-active,.page-leave-active{transition:none}}.route-page{min-height:calc(100vh - 76px);position:relative}.back-button{border:0;border-left:1px solid var(--line);color:var(--ink);font:500 11px var(--mono);letter-spacing:.03em;background:0 0;margin-left:28px;margin-right:auto;padding:7px 0 7px 22px;transition:color .2s,transform .2s}.back-button:hover{color:var(--rust);transform:translate(-3px)}.back-button span{margin-right:5px;font-size:17px}.brand-mark i:nth-child(3){animation:3.2s step-end infinite markBlink}.scroll-meter{z-index:30;pointer-events:none;background:#24211f29;width:2px;height:90px;position:fixed;top:50%;right:10px;transform:translateY(-50%)}.scroll-meter i{background:var(--rust);transform-origin:top;width:100%;height:100%;display:block}.pointer-light{z-index:2;pointer-events:none;mix-blend-mode:multiply;will-change:transform;background:radial-gradient(circle,#e95f2b1f,#e95f2b00 68%);border-radius:50%;width:250px;height:250px;position:fixed;top:-125px;left:-125px}.hero-device{--tilt-x:0deg;--tilt-y:0deg;transform:perspective(900px) rotateX(var(--tilt-x)) rotateY(var(--tilt-y)) rotateZ(1.7deg);transform-style:preserve-3d;transition:transform .18s ease-out,box-shadow .3s var(--ease)}.hero-device:hover{box-shadow:16px 16px 0 var(--rust)}.hero .reveal{opacity:0;animation:heroRise .72s var(--ease) forwards}.hero-copy .reveal:nth-child(2){animation-delay:80ms}.hero-copy .reveal:nth-child(3){animation-delay:.16s}.hero-copy .reveal:nth-child(4){animation-delay:.24s}.hero-device.reveal{animation-name:deviceIn;animation-delay:.18s}.device-core{background-position:0 0;animation:10s linear infinite gridDrift}.core-target{animation:3.2s ease-in-out infinite targetBreath}.core-target i:first-child,.core-target i:nth-child(2){animation:2.6s ease-out infinite ringPulse}.core-target i:nth-child(2){animation-delay:.8s}.orbit-a{animation:4s ease-in-out infinite orbitFloat}.orbit-b{animation:4.7s ease-in-out .6s infinite orbitFloat}.orbit-c{animation:4.3s ease-in-out 1.1s infinite orbitFloat}.signal-strip{isolation:isolate;background:var(--ink);clip-path:polygon(0 18%,100% 0,100% 82%,0 100%);border:0;padding:13px 0;position:relative;overflow:hidden}.signal-strip:before{content:"";z-index:-1;background:var(--rust);clip-path:polygon(0 18%,100% 0,100% 82%,0 100%);position:absolute;inset:1px 0}.signal-track{z-index:1;will-change:transform;width:max-content;font:500 11px var(--mono);letter-spacing:.08em;animation:24s linear infinite signalMove;display:flex;position:relative}.signal-group{flex:none;align-items:center;gap:clamp(24px,4vw,58px);padding-right:clamp(24px,4vw,58px);display:flex}.signal-strip span{white-space:nowrap;flex:none}.signal-strip i{color:var(--paper);flex:none;font-style:normal;animation:1.8s ease-in-out infinite signalSpark}.signal-strip i:nth-of-type(2){animation-delay:.6s}.reveal-item{opacity:0;transition:opacity .65s var(--ease),transform .65s var(--ease);transform:translateY(34px)}.reveal-item.is-visible{opacity:1;transform:translateY(0)}.service-row.reveal-item:nth-of-type(2){transition-delay:60ms}.service-row.reveal-item:nth-of-type(3){transition-delay:.12s}.service-row.reveal-item:nth-of-type(4){transition-delay:.18s}.project-visual:after{content:"";z-index:5;width:18%;transition:left .8s var(--ease);pointer-events:none;background:linear-gradient(90deg,#0000,#fffdf899,#0000);position:absolute;top:-20%;bottom:-20%;left:-35%;transform:skew(-18deg)}.featured-project:hover .project-visual:after,.work-card:hover .project-visual:after{left:120%}.direct-figure b{animation:2.4s ease-in-out infinite arrowNudge}.round-arrow{transition:background .25s,color .25s,transform .25s}.featured-project:hover .round-arrow{background:var(--rust);color:var(--ink);border-color:var(--rust);transform:rotate(12deg)}.page-enter-active{animation:pageIn .46s var(--ease)}.page-leave-active{animation:.18s pageOut}.page-enter-active:after{content:"";z-index:80;background:var(--rust);pointer-events:none;transform-origin:100%;animation:pageCurtain .52s var(--ease) both;position:fixed;inset:0}.page-enter-from,.page-leave-to{opacity:1}@keyframes markBlink{0%,84%,to{background:var(--paper)}85%,91%{background:var(--rust)}}@keyframes heroRise{0%{opacity:0;transform:translateY(22px)}to{opacity:1;transform:translateY(0)}}@keyframes deviceIn{0%{opacity:0;transform:perspective(900px) translateY(24px) rotateX(var(--tilt-x)) rotateY(var(--tilt-y)) rotateZ(1.7deg)}to{opacity:1;transform:perspective(900px) rotateX(var(--tilt-x)) rotateY(var(--tilt-y)) rotateZ(1.7deg)}}@keyframes pageIn{0%{opacity:.65;transform:translateY(12px)}to{opacity:1;transform:none}}@keyframes pageOut{to{opacity:.5;transform:translateY(-7px)}}@keyframes pageCurtain{0%{transform:scaleX(1)}to{transform:scaleX(0)}}@keyframes signalMove{to{transform:translate(-50%)}}@keyframes signalSpark{0%,to{opacity:.45;transform:scale(.8)rotate(0)}50%{opacity:1;transform:scale(1.15)rotate(45deg)}}@keyframes gridDrift{to{background-position:40px 40px}}@keyframes targetBreath{50%{box-shadow:0 0 0 9px #e95f2b17}}@keyframes ringPulse{0%,55%,to{opacity:.45;transform:scale(1)}30%{opacity:1;transform:scale(1.07)}}@keyframes orbitFloat{0%,to{transform:translateY(0)}50%{transform:translateY(-7px)}}@keyframes arrowNudge{0%,to{transform:translate(0)}50%{transform:translate(7px,7px)}}@media (width<=800px){.back-button{margin-left:14px;padding-left:14px}.pointer-light,.scroll-meter{display:none}.hero-device{transform:rotate(1.1deg)}.hero-rule{align-items:flex-start;gap:12px}.hero-rule>span:first-child{white-space:normal;overflow-wrap:break-word;max-width:100%}.signal-strip{clip-path:polygon(0 14%,100% 0,100% 86%,0 100%);padding:11px 0}.signal-strip:before{clip-path:polygon(0 14%,100% 0,100% 86%,0 100%)}.signal-track{font-size:9px;animation-duration:19s}.signal-group{gap:24px;padding-right:24px}}@media (prefers-reduced-motion:reduce){.pointer-light{display:none}.reveal-item{opacity:1;transform:none}.page-enter-active:after{display:none}.hero-device{transform:rotate(1deg)}.signal-track{animation:none}}html,body,#app{max-width:100%;overflow-x:clip}.hero-grid>*,.problem-grid>*,.direct-grid>*,.featured-project>*,.work-card>*,.contact-grid>*{min-width:0}h1,h2,h3,p,a{overflow-wrap:break-word}:root{--ink:#081c3a;--paper:#f6f8fc;--paper-deep:#e7eef8;--rust:#1769ff;--rust-light:#cfe0ff;--line:#081c3a38;--muted:#536276;--white:#fff}.brand{align-items:center;display:flex}.brand-wordmark{mix-blend-mode:multiply;width:clamp(150px,18vw,215px);height:auto}.footer-brand-name{letter-spacing:-.075em;color:var(--white);margin:0 0 18px;font-size:clamp(1.65rem,3vw,2.35rem);font-weight:800;line-height:.85}.footer-brand-name strong{color:var(--rust);font-weight:800}.direct-figure.brand-logo-figure{box-shadow:12px 12px 0 var(--rust);background:#fff;place-items:center;padding:18px;display:grid}.brand-logo-figure img{object-fit:contain;width:min(100%,360px);max-height:100%}.hero-service-chip{align-items:center;gap:7px;display:flex}.hero-service-chip:before{display:none}.hero-hamster{background:#fff;border-radius:5px;place-items:center;width:23px;height:23px;display:grid;overflow:hidden}.hero-hamster img{width:34px;max-width:none}.pricing-hero{background:var(--paper-deep)}.pricing-intro{grid-template-columns:25% minmax(0,1fr);align-items:start;gap:5%;margin-bottom:56px;display:grid}.pricing-intro>p:last-child{letter-spacing:-.035em;max-width:650px;font-size:clamp(1.2rem,2vw,1.55rem);line-height:1.4}.price-grid{border-top:1px solid var(--line);border-left:1px solid var(--line);grid-template-columns:repeat(2,minmax(0,1fr));gap:0;display:grid}.price-card{border-right:1px solid var(--line);border-bottom:1px solid var(--line);background:var(--paper);min-height:410px;transition:background .25s var(--ease),color .25s var(--ease);flex-direction:column;align-items:flex-start;padding:clamp(26px,4vw,48px);display:flex}.price-card:last-child{grid-column:span 2}.price-card:hover{background:var(--ink);color:var(--paper)}.price-tag{color:var(--rust);font:500 11px var(--mono);letter-spacing:.1em;margin:0 0 38px}.price-card h2{margin-bottom:14px;font-size:clamp(2rem,3.3vw,3.25rem)}.price{letter-spacing:-.065em;color:var(--rust);margin:0 0 20px;font-size:clamp(1.8rem,3vw,2.7rem);font-weight:800;line-height:1}.price small{font:500 11px var(--mono);letter-spacing:.06em;text-transform:uppercase}.price-description{max-width:420px;margin-bottom:25px}.price-card ul{gap:7px;margin:0 0 30px;padding:0;font-size:14px;list-style:none;display:grid}.price-card li:before{content:"↗";color:var(--rust);margin-right:9px}.price-actions{flex-wrap:wrap;align-items:center;gap:18px 24px;margin-top:auto;display:flex}.price-card .text-link{margin-top:0}.price-quote{color:var(--rust)}.price-details-button{color:inherit;background:0 0;border:0;padding-left:0;padding-right:0}.support-price{background:var(--ink);color:var(--paper);padding:clamp(70px,10vw,128px) 0}.support-price-grid{grid-template-columns:1fr .7fr;align-items:end;gap:12%;display:grid}.support-price h2{margin:0;font-size:clamp(2.6rem,5vw,5.5rem)}.support-price-grid>p{color:#d7e3f8;margin:0;font-size:clamp(1.05rem,1.8vw,1.35rem);line-height:1.45}.pricing-details{padding-bottom:0}.pricing-details-grid,.terms-grid{grid-template-columns:40% 1fr;align-items:start;gap:8%;display:grid}.pricing-details-grid h2,.terms-grid h2{margin:0;font-size:clamp(2.3rem,4vw,4.5rem)}.extras-list{border-top:1px solid var(--line);grid-template-columns:1fr auto;margin:0;display:grid}.extras-list dt,.extras-list dd{border-bottom:1px solid var(--line);margin:0;padding:17px 0}.extras-list dt{font-size:16px}.extras-list dd{text-align:right;color:var(--rust);font-weight:800}.terms-section{background:var(--paper-deep);padding:clamp(76px,11vw,150px) 0}.terms-list{border-top:1px solid var(--line)}.terms-list p{border-bottom:1px solid var(--line);grid-template-columns:1fr 1fr;gap:30px;margin:0;padding:21px 0;display:grid}.terms-list b{letter-spacing:-.025em}.terms-list span{color:var(--muted);font-size:14px}@media (width<=800px){.pricing-intro,.support-price-grid,.pricing-details-grid,.terms-grid{grid-template-columns:1fr;gap:28px}.price-grid{grid-template-columns:1fr}.price-card:last-child{grid-column:auto}.price-card{min-height:0}.terms-list p{grid-template-columns:1fr;gap:5px}}body.is-modal-open{overflow:hidden}.landing-modal-backdrop{z-index:100;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#081c3ab3;place-items:center;padding:clamp(14px,4vw,42px);display:grid;position:fixed;inset:0}.landing-modal{background:var(--paper);width:min(680px,100%);max-height:calc(100dvh - 28px);color:var(--ink);border:1px solid var(--ink);box-shadow:12px 12px 0 var(--rust);outline:0;padding:clamp(24px,5vw,52px);overflow-y:auto}.landing-modal-header{justify-content:space-between;align-items:flex-start;gap:22px;margin-bottom:28px;display:flex}.landing-modal-header .eyebrow{margin:8px 0 0}.landing-modal h2{margin-bottom:22px;font-size:clamp(2.2rem,5vw,4.2rem)}.landing-modal-lead{max-width:590px;margin-bottom:34px;font-size:clamp(1.05rem,2vw,1.25rem);line-height:1.5}.landing-modal-close{border:1px solid var(--ink);width:40px;height:40px;color:var(--ink);background:0 0;flex:none;place-items:center;padding:0;font-size:28px;line-height:1;transition:background .2s,color .2s;display:grid}.landing-modal-close:hover{background:var(--ink);color:var(--paper)}.landing-modal-section{border-top:1px solid var(--line);padding:22px 0}.landing-modal-section h3{margin-bottom:14px;font-size:clamp(1.4rem,2.5vw,1.9rem)}.landing-modal-section>p{max-width:590px;margin:0}.landing-modal-list{gap:10px;margin:0;padding:0;list-style:none;display:grid}.landing-modal-list li{grid-template-columns:18px 1fr;gap:8px;font-size:15px;display:grid}.landing-modal-list li:before{content:"✓";background:var(--rust);width:18px;height:18px;color:var(--white);place-items:center;font-size:12px;font-weight:800;display:grid}.landing-modal-note{background:var(--paper-deep);margin:0 0 24px;padding:16px 18px;font-size:14px;line-height:1.45}.landing-modal-cta{margin-top:0}@media (width<=520px){.landing-modal{box-shadow:7px 7px 0 var(--rust);padding:24px 20px}.landing-modal-header{margin-bottom:20px}.landing-modal-lead{margin-bottom:26px}.landing-modal-section{padding:18px 0}.landing-modal-cta{justify-content:space-between;width:100%}}.services-hero{background:var(--paper-deep)}.services-intro{margin-bottom:clamp(36px,5vw,48px)}.services-intro-headline{letter-spacing:-.04em;max-width:650px;margin:0 0 16px;font-size:clamp(1.8rem,3vw,2.8rem);font-weight:700;line-height:1.12}.services-intro-lead{letter-spacing:-.02em;color:#3f4a58;max-width:650px;margin:0;font-size:clamp(1.05rem,1.8vw,1.28rem);line-height:1.45}.services-roadmap{margin-bottom:clamp(44px,6vw,64px)}.services-roadmap-row{border-top:1px solid var(--line);border-left:1px solid var(--line);grid-template-columns:repeat(4,minmax(0,1fr));display:grid}.services-roadmap-item{border-right:1px solid var(--line);border-bottom:1px solid var(--line);background:var(--paper);flex-direction:column;gap:clamp(14px,2vw,22px);min-height:132px;padding:clamp(18px,2.5vw,26px) clamp(16px,2vw,22px);display:flex}.services-roadmap-item.is-available{background:var(--paper-deep)}.services-roadmap-item.is-quote,.services-roadmap-item.is-soon{background:var(--paper)}.services-roadmap-num{font:500 11px var(--mono);letter-spacing:.08em;color:var(--muted)}.services-roadmap-item.is-available .services-roadmap-num{color:var(--rust)}.services-roadmap-name{letter-spacing:.05em;text-transform:uppercase;font-size:clamp(.78rem,1vw,.88rem);font-weight:700;line-height:1.25}.services-roadmap-item.is-available .services-roadmap-name,.services-roadmap-item.is-quote .services-roadmap-name{color:var(--ink)}.services-roadmap-item.is-soon .services-roadmap-name{color:#6b7585}.services-roadmap-status{font:500 10px var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin-top:auto}.services-roadmap-item.is-available .services-roadmap-status{color:var(--rust)}.services-roadmap-item.is-quote .services-roadmap-status{color:var(--ink)}.services-roadmap-item.is-soon .services-roadmap-status{color:#8a93a1}#siti-web,#software,#automazioni,#supporto{scroll-margin-top:92px}.services-anchor{height:0;display:block;overflow:hidden}.services-quote-block{border-top:1px solid var(--line);margin-bottom:clamp(36px,5vw,48px);padding-top:clamp(28px,4vw,40px)}.services-quote-headline{letter-spacing:-.04em;max-width:720px;margin:0 0 14px;font-size:clamp(1.8rem,3vw,2.6rem);font-weight:700;line-height:1.12}.services-quote-lead{letter-spacing:-.02em;color:#3f4a58;max-width:650px;margin:0 0 20px;font-size:clamp(1.05rem,1.8vw,1.22rem);line-height:1.45}.services-package-grid{border-top:1px solid var(--line);border-left:1px solid var(--line);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.services-package-grid .price-card{min-height:500px}.services-package-grid .price-card:last-child{grid-column:auto}.service-package-actions{flex-direction:column;align-items:flex-start;gap:15px;margin-top:auto;display:flex}.service-package-actions .text-link{font-size:14px}.support-section{border-top:1px solid var(--line);background:var(--paper)}.support-heading{grid-template-columns:25% minmax(0,1fr);align-items:start;gap:5%;margin-bottom:58px;display:grid}.support-heading h2{max-width:820px;margin-bottom:22px}.support-heading>div>p{max-width:710px;font-size:clamp(1.05rem,1.7vw,1.28rem);line-height:1.5}.support-cards{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;display:grid}.support-card{border:1px solid var(--line);background:var(--paper-deep);flex-direction:column;min-height:390px;padding:clamp(24px,3vw,38px);display:flex}.support-icon{border:1px solid var(--ink);background:var(--paper);width:52px;height:52px;color:var(--rust);place-items:center;margin-bottom:48px;display:grid}.support-icon .app-icon{width:27px;height:27px}.support-card h3{margin-bottom:17px;font-size:clamp(1.75rem,2.4vw,2.4rem);line-height:1.02}.support-card>p:not(.support-note){font-size:14px;line-height:1.55}.support-card ul{gap:5px;margin:4px 0 0;padding:0;font-size:13px;list-style:none;display:grid}.support-card li:before{content:"→";color:var(--rust);margin-right:8px}.support-note{border-top:1px solid var(--line);color:var(--muted);margin:22px 0 0;padding-top:17px;font-size:12px;line-height:1.45}.support-process{background:var(--ink);color:var(--paper);padding:clamp(76px,11vw,148px) 0}.process-intro{grid-template-columns:25% 1fr;align-items:start;gap:5%;margin-bottom:56px;display:grid}.process-intro h2{max-width:760px;margin:0}.support-steps{border-top:1px solid #ffffff47;grid-template-columns:repeat(3,minmax(0,1fr));margin-bottom:54px;display:grid}.support-steps article{border-right:1px solid #ffffff47;padding:27px 30px 8px}.support-steps article:first-child{padding-left:0}.support-steps article:last-child{border-right:0}.support-steps span{color:var(--rust-light);font:500 11px var(--mono);letter-spacing:.08em;display:block}.support-steps h3{margin:46px 0 14px;font-size:clamp(1.7rem,2.5vw,2.7rem)}.support-steps p{color:#d4e0f5;max-width:310px;margin:0;font-size:14px}.support-notice{border-left:4px solid var(--rust);background:#cfe0ff1f;grid-template-columns:48px minmax(0,1fr);gap:20px;max-width:920px;padding:25px 28px;display:grid}.support-notice>.app-icon{width:30px;height:30px;color:var(--rust-light)}.support-notice h3{margin-bottom:9px;font-size:clamp(1.45rem,2.1vw,2rem)}.support-notice p{color:#e0eaf9;max-width:760px;margin:0;font-size:14px}.services-final-cta{background:var(--rust);color:var(--ink);padding:clamp(75px,10vw,130px) 0}.final-cta-grid{grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:7%;display:grid}.final-cta-grid h2{max-width:780px;margin-bottom:23px;font-size:clamp(2.65rem,5vw,5.4rem)}.final-cta-grid>div:first-child>p:last-child{max-width:660px;font-size:clamp(1.05rem,1.7vw,1.25rem);line-height:1.5}.final-cta-actions{white-space:nowrap;flex-direction:column;align-items:flex-start;gap:23px;padding-bottom:7px;display:flex}.final-cta-actions .button-light{background:var(--ink);border-color:var(--ink);color:var(--white)}.final-cta-actions .button-light:hover{background:var(--paper);border-color:var(--paper);color:var(--ink)}.final-cta-actions .text-link{color:var(--ink)}@media (width<=1040px){.services-roadmap-row,.services-package-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.support-card{min-height:415px}}@media (width<=800px){.services-intro,.support-heading,.process-intro,.final-cta-grid{grid-template-columns:1fr;gap:22px}.services-roadmap-row{grid-template-columns:1fr}.services-roadmap-item{flex-flow:wrap;align-items:center;gap:10px 16px;min-height:0}.services-roadmap-name{flex:auto;min-width:0}.services-roadmap-status{margin-top:0;margin-left:auto}.services-package-grid{grid-template-columns:1fr}.services-package-grid .price-card{min-height:0}.support-heading{margin-bottom:36px}.support-cards,.support-steps{grid-template-columns:1fr}.support-card{min-height:0}.support-icon{margin-bottom:32px}.support-steps{margin-bottom:36px}.support-steps article,.support-steps article:first-child{border-bottom:1px solid #ffffff47;border-right:0;padding:25px 0}.support-steps article:last-child{border-bottom:0}.support-steps h3{margin-top:23px}.final-cta-actions{padding:0}.final-cta-actions .button{justify-content:space-between;width:100%}}.large-copy>p{margin:0}.large-copy>p+p{margin-top:1.15em}.direct-grid>div:last-child>p:not(.eyebrow)+p:not(.eyebrow){margin-top:1.1em}.proposal-section{padding-bottom:0}.proposal-section .problem-grid{grid-template-columns:1fr;padding-top:clamp(40px,6vw,75px)}.proposal-section .large-copy{max-width:820px}.proposal-public{padding-top:clamp(48px,8vw,96px);padding-bottom:clamp(72px,10vw,120px)}.proposal-public-status{font:500 1rem/1.5 var(--sans);margin:0}.proposal-public-message h1{max-width:760px;margin-bottom:18px;font-size:clamp(2.4rem,5vw,4.2rem)}.proposal-public-message p{max-width:560px;margin-bottom:28px}.proposal-public-card{border-top:1px solid var(--line);padding-top:clamp(32px,5vw,56px)}.proposal-public-header{margin-bottom:clamp(36px,6vw,56px)}.proposal-public-header h1{max-width:900px;margin-bottom:28px;font-size:clamp(2.6rem,5.5vw,4.8rem)}.proposal-public-recipient{border-top:1px solid var(--line);max-width:520px;padding-top:22px}.proposal-public-label{font:500 11px/1.2 var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin:0 0 8px}.proposal-public-recipient-name{margin:0;font-size:1.15rem;font-weight:600}.proposal-public-recipient-company{color:var(--muted);margin:6px 0 0}.proposal-public-header h1{overflow-wrap:anywhere}.proposal-public-block{margin-bottom:clamp(32px,5vw,48px)}.proposal-public-block h2{margin-bottom:14px;font-size:clamp(1.35rem,2.4vw,1.8rem)}.proposal-public-text{white-space:pre-wrap;overflow-wrap:anywhere;max-width:820px;margin:0}.proposal-items{border-top:1px solid var(--line)}.proposal-items-head,.proposal-item{border-bottom:1px solid var(--line);grid-template-columns:minmax(0,1.6fr) 72px 120px 120px;align-items:start;gap:12px 20px;padding:16px 0;display:grid}.proposal-items-head{font:500 11px/1.2 var(--mono);letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}.proposal-item-description{white-space:pre-wrap;overflow-wrap:anywhere}.proposal-item-quantity,.proposal-item-unit,.proposal-item-total{font:500 .95rem/1.35 var(--mono);white-space:nowrap}.proposal-item-total{text-align:right}.proposal-public-totals{border-top:1px solid var(--line);margin-bottom:clamp(32px,5vw,48px);padding-top:24px}.proposal-total-row{font:500 1rem/1.4 var(--mono);justify-content:space-between;gap:20px;padding:10px 0;display:flex}.proposal-total-row span:last-child{white-space:nowrap}.proposal-total-row-main{border-top:1px solid var(--line);margin-top:8px;padding-top:14px;font-size:1.2rem}.proposal-total-row-payment{color:var(--muted)}.proposal-public-accepted{border:1px solid var(--line);max-width:820px;margin-bottom:clamp(32px,5vw,48px);padding:22px 24px}.proposal-public-accepted h2{margin-bottom:10px;font-size:clamp(1.35rem,2.4vw,1.8rem)}.proposal-public-accepted p{color:var(--muted);margin:0}.proposal-public-acceptance{border-top:1px solid var(--line);max-width:820px;padding-top:28px}.proposal-acceptance-label{cursor:pointer;align-items:flex-start;gap:12px;margin:0 0 20px;display:flex}.proposal-acceptance-label input{flex:none;margin-top:4px}.proposal-acceptance-label span{line-height:1.5}.proposal-acceptance-error{color:var(--rust);margin:0 0 16px}.proposal-acceptance-button{min-width:220px}.proposal-public-payment{border-top:1px solid var(--line);max-width:820px;margin-bottom:clamp(32px,5vw,48px);padding-top:28px}.proposal-public-payment h2{margin-bottom:14px;font-size:clamp(1.35rem,2.4vw,1.8rem)}.proposal-public-payment-amount{margin:0 0 22px;font-size:clamp(1.5rem,3vw,2rem);font-weight:700}.proposal-payment-error{color:var(--rust);margin:0 0 16px}.proposal-payment-button{min-width:240px}.payment-result{padding-top:clamp(72px,12vw,140px);padding-bottom:clamp(72px,10vw,120px)}.payment-result-message h1{max-width:760px;margin-bottom:18px;font-size:clamp(2.4rem,5vw,4.2rem)}.payment-result-message p{max-width:560px;margin-bottom:0}@media (width<=720px){.proposal-items-head{display:none}.proposal-item{grid-template-columns:1fr;gap:8px;padding:20px 0}.proposal-item-quantity,.proposal-item-unit,.proposal-item-total{white-space:normal}.proposal-item-quantity:before{content:"Quantità: ";color:var(--muted);font-family:var(--sans);font-weight:400}.proposal-item-unit:before{content:"Prezzo unitario: ";color:var(--muted);font-family:var(--sans);font-weight:400}.proposal-item-total{text-align:left}.proposal-item-total:before{content:"Totale: ";color:var(--muted);font-family:var(--sans);font-weight:400}}.nav-auth-button{color:inherit;font:inherit;text-align:left;background:0 0;border:0;padding:0;font-size:13px;font-weight:700}.login-page{padding-bottom:80px}.login-card{max-width:520px}.login-form{background:var(--paper-deep);margin-top:28px;padding:clamp(24px,4vw,36px)}.admin-route .route-page{min-height:100vh}.admin-shell{background:var(--paper);grid-template-columns:260px minmax(0,1fr);min-height:100vh;display:grid}.admin-sidebar{border-right:1px solid var(--line);background:var(--white);flex-direction:column;gap:24px;padding:24px 20px;display:flex}.admin-brand{flex-direction:column;gap:4px;font-weight:700;display:flex}.admin-brand span{font:500 10px var(--mono);color:var(--muted);letter-spacing:.08em;text-transform:uppercase}.admin-nav{flex-direction:column;gap:6px;display:flex}.admin-nav a,.admin-upcoming span{border:1px solid #0000;padding:10px 12px;font-size:14px;font-weight:700}.admin-nav a.is-active,.admin-nav a.router-link-active{border-color:var(--line);background:var(--paper-deep)}.admin-upcoming{flex-direction:column;gap:4px;margin-top:auto;display:flex}.admin-upcoming p{font:500 10px var(--mono);color:var(--muted);letter-spacing:.08em;text-transform:uppercase;margin:0 0 6px}.admin-upcoming span{color:var(--muted);border-color:var(--line);background:var(--paper);font-size:13px}.admin-logout{border:1px solid var(--line);background:0 0;margin-top:12px;padding:10px 12px;font-weight:700}.admin-main{flex-direction:column;min-width:0;display:flex}.admin-topbar{border-bottom:1px solid var(--line);padding:20px clamp(20px,4vw,36px)}.admin-topbar h1{margin:0;font-size:clamp(1.6rem,3vw,2.4rem)}.admin-content{padding:clamp(20px,4vw,36px)}.admin-cards{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:16px;display:grid}.admin-card{border:1px solid var(--line);background:var(--white);padding:18px}.admin-card p{color:var(--muted);margin:0 0 8px;font-size:13px}.admin-card strong{font-size:clamp(1.6rem,3vw,2.2rem)}.admin-table-wrap{border:1px solid var(--line);background:var(--white);overflow:auto}.admin-table{border-collapse:collapse;width:100%;font-size:13px}.admin-table th,.admin-table td{border-bottom:1px solid var(--line);text-align:left;vertical-align:top;padding:12px 14px}.admin-table th{font:500 10px var(--mono);letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}.admin-toolbar{flex-wrap:wrap;align-items:flex-end;gap:12px;margin-bottom:18px;display:flex}.admin-toolbar>.field{min-width:180px;margin:0}.admin-form{background:var(--white);border:1px solid var(--line);gap:4px;margin-bottom:24px;padding:20px;display:grid}.admin-inline-button{padding:8px 12px;font-size:12px}.proposal-item-row{grid-template-columns:1.4fr .5fr .7fr auto;gap:10px;margin-bottom:10px;display:grid}.status-pill{border:1px solid var(--line);font:500 10px var(--mono);letter-spacing:.04em;padding:4px 8px;display:inline-block}.admin-notice{border:1px solid var(--rust);background:var(--rust-light);margin-bottom:20px;padding:16px 18px}.admin-hint{color:var(--muted);margin:8px 0 0;font-size:12px}.customer-area{padding-bottom:80px}.customer-section{margin-top:42px}.customer-section h2{margin-bottom:16px;font-size:clamp(1.5rem,2.5vw,2rem)}.customer-cards{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px;display:grid}.customer-card{border:1px solid var(--line);background:var(--white);padding:18px}.customer-card h3{margin:0 0 8px;font-size:1.1rem}.customer-card p{margin:0 0 10px;font-weight:700}.customer-card--passive{color:var(--muted);font-weight:700}.customer-empty{color:var(--muted);font-size:14px}@media (width<=900px){.admin-shell{grid-template-columns:1fr}.admin-sidebar{border-right:0;border-bottom:1px solid var(--line)}.proposal-item-row{grid-template-columns:1fr}}.stack{gap:28px;display:grid}.section-title{margin:0 0 16px;font-size:clamp(1.4rem,2.5vw,2rem)}.detail-heading,.card-heading,.progress-label{justify-content:space-between;align-items:flex-start;gap:18px;display:flex}.detail-heading h2{margin:0;font-size:clamp(2rem,4vw,3.6rem)}.detail-heading .eyebrow{margin-bottom:10px}.table-link{text-decoration:underline;-webkit-text-decoration-color:var(--rust);text-decoration-color:var(--rust);text-underline-offset:3px;font-weight:700}.status-badge{border:1px solid var(--line);font:600 10px var(--mono);letter-spacing:.04em;text-transform:uppercase;white-space:nowrap;padding:4px 8px;display:inline-flex}.status-badge--positive{color:#174d25;background:#dcefdc;border-color:#8ab596}.status-badge--warning{color:#6c4800;background:#fff0c7;border-color:#d8b45e}.status-badge--negative{color:#7c251a;background:#f7dcd8;border-color:#d18b80}.status-badge--neutral{background:var(--paper-deep)}.empty-state{border:1px dashed var(--line);background:var(--white);color:var(--muted);padding:24px}.empty-state strong{color:var(--ink);margin-bottom:4px;display:block}.empty-state p{margin:0 0 12px}.form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:4px 18px}.form-grid-wide{grid-column:1/-1}.inline-form{flex-wrap:wrap;align-items:end;display:flex}.inline-form .field{min-width:180px;margin:0}.inline-form .button{margin-bottom:0}.settings-form{max-width:720px}.settings-list,.simple-list,.milestone-list{gap:12px;display:grid}.settings-list{grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}.form-success-inline{color:#174d25;background:#dcefdc;border:1px solid #8ab596;padding:10px 14px}.progress-track{background:var(--paper-deep);border:1px solid var(--line);height:10px;margin:10px 0 14px;overflow:hidden}.progress-track span{background:var(--rust);height:100%;display:block}.milestone-row{border:1px solid var(--line);background:var(--white);grid-template-columns:minmax(0,1fr) auto minmax(140px,auto) auto;align-items:center;gap:16px;padding:16px;display:grid}.milestone-row p{color:var(--muted);white-space:pre-wrap;margin:5px 0}.milestone-row small{color:var(--muted)}.row-actions{gap:5px;display:flex}.row-actions button,.simple-list-row button{border:1px solid var(--line);background:var(--paper);padding:7px 10px}.business-hour-row{border-bottom:1px solid var(--line);grid-template-columns:minmax(150px,1fr) 130px 130px;align-items:center;gap:12px;padding:10px 0;display:grid}.business-hour-row .check-field{margin:0}.simple-list-row{border:1px solid var(--line);background:var(--white);justify-content:space-between;align-items:center;gap:14px;padding:13px 15px;display:flex}.conversation{gap:14px;display:grid}.message{border:1px solid var(--line);background:var(--white);max-width:82%;padding:16px 18px}.message--admin,.message--customer{background:var(--paper-deep);margin-left:auto}.message header{justify-content:space-between;gap:20px;margin-bottom:10px;font-size:12px;display:flex}.message time{color:var(--muted)}.message p{white-space:pre-wrap;margin:0}.compact-field{max-width:260px;margin:0}.customer-shell{background:var(--paper);grid-template-columns:240px minmax(0,1fr);min-height:100vh;display:grid}.customer-sidebar{border-right:1px solid var(--line);background:var(--white);flex-direction:column;gap:24px;padding:24px 20px;display:flex}.customer-sidebar .admin-nav{flex:1}.customer-sidebar .admin-nav small{float:right;color:var(--muted);font:9px var(--mono)}.dashboard-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.dashboard-grid .admin-card h3{margin-bottom:20px;font-size:1.25rem}.customer-card{color:inherit}.customer-card .card-heading h3{margin:0}.customer-card .card-heading{margin-bottom:16px}.customer-card small{color:var(--muted)}:where(a,button,input,select,textarea):focus-visible{outline:3px solid var(--rust);outline-offset:2px}.admin-table td,.customer-card,.admin-notice{overflow-wrap:anywhere}.profile-list{border-top:1px solid var(--line);max-width:700px;margin:0;display:grid}.profile-list div{border-bottom:1px solid var(--line);grid-template-columns:180px 1fr;padding:16px 0;display:grid}.profile-list dt{font:600 11px var(--mono);text-transform:uppercase;color:var(--muted)}.profile-list dd{margin:0;font-weight:700}.narrow-container{max-width:900px}.booking-page h1{font-size:clamp(3rem,7vw,6rem)}.booking-form{background:var(--white);border:1px solid var(--line);grid-template-columns:repeat(2,minmax(0,1fr));gap:4px 18px;margin-top:38px;padding:clamp(22px,4vw,38px);display:grid}.slot-grid{grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:10px;display:grid}.slot-option{border:1px solid var(--line);background:var(--paper);cursor:pointer;padding:12px;display:block;position:relative}.slot-option input{opacity:0;position:absolute}.slot-option.is-selected{border-color:var(--rust);background:var(--rust-light)}.paid-services-note{border-left:4px solid var(--rust);background:var(--paper-deep);margin-top:36px;padding:24px}.paid-services-note h2{font-size:1.6rem}.paid-services-note ul{margin-bottom:0}@media (width<=900px){.customer-shell{grid-template-columns:1fr}.customer-sidebar{border-right:0;border-bottom:1px solid var(--line)}.admin-nav{grid-template-columns:repeat(2,minmax(0,1fr));display:grid}}@media (width<=650px){.form-grid,.booking-form,.dashboard-grid{grid-template-columns:1fr}.form-grid-wide{grid-column:auto}.milestone-row{grid-template-columns:1fr}.milestone-row .row-actions{justify-content:flex-start}.business-hour-row{grid-template-columns:1fr 1fr}.business-hour-row .check-field{grid-column:1/-1}.message{max-width:100%}.profile-list div{grid-template-columns:1fr;gap:5px}.admin-nav{grid-template-columns:1fr 1fr}.admin-content{padding:18px 14px}.admin-table{min-width:680px}}@media (width<=420px){.admin-nav{grid-template-columns:1fr}.card-heading,.detail-heading{flex-direction:column}}
