@font-face{font-family:Granvold;src:url(body.woff2) format('woff2');font-display:swap}
.granvold-site{--ink:#233b30;--muted:#56634d;--accent:#395a39;--bg:#e8f1e4;--paper:#f6f5e9;--line:#bac6aa;font-family:Granvold,'Trebuchet MS',sans-serif;background:#cfebef;color:var(--ink);overflow-x:clip}
.granvold-site *{box-sizing:border-box}.granvold-site button,.granvold-site input,.granvold-site textarea{font-family:inherit}.granvold-site button,.granvold-site a{touch-action:manipulation}.granvold-site :focus-visible{outline:3px solid #a85a20;outline-offset:5px}.granvold-site [hidden]{display:none!important}
.granvold-site .demo-strip{background:#233b30;color:#f6f5e9;padding:9px 4.5%;font-size:10px;letter-spacing:.08em}.granvold-site .demo-strip a{color:inherit}.granvold-site .site-header{position:relative;top:auto;background:transparent;border-bottom:1px solid #233b3030;padding:22px 4.5%;gap:25px}.granvold-site .brand{font-size:23px;line-height:1;letter-spacing:-1px;max-width:170px}.granvold-site .brand small{display:block;font-size:12px;letter-spacing:.27em;margin-top:8px}.granvold-site .site-header nav{gap:28px}.granvold-site .site-header nav a{font-size:12px;font-weight:700}.granvold-site .header-contact{background:#233b30;color:#f6f5e9;border-radius:0;padding:12px 19px}
.granvold-site main{max-width:none}.granvold-site .hero.granvold-hero{display:grid;grid-template-columns:1.03fr 1fr;gap:5vw;max-width:1500px;margin:auto;padding:68px 4.5% 65px;min-height:700px;position:relative;background:radial-gradient(ellipse at 85% 20%,#eef9f6 0,transparent 53%)}.granvold-site .hero-copy{align-self:center;max-width:640px}.granvold-site .eyebrow{font-size:10px;letter-spacing:.13em;font-weight:700;line-height:1.7}.site-dot{display:inline-block;width:7px;height:7px;background:#507950;border-radius:50%;margin-right:8px}.granvold-site h1{font-size:clamp(52px,6.1vw,93px);line-height:.99;font-weight:700;letter-spacing:-.062em;margin:24px 0}.granvold-site h1 em,.granvold-site h2 em{font-family:Georgia,serif;font-weight:400}.granvold-site .intro{font-size:16px;max-width:420px;margin-bottom:25px;line-height:1.8}.granvold-site .hero-actions{gap:12px;flex-wrap:wrap}.granvold-site .primary{background:#dbb549;color:#233b30;border:1px solid #233b30;border-radius:0;box-shadow:3px 3px 0 #233b30;padding:14px 20px;font-size:12px;display:inline-flex;gap:25px;align-items:center;text-decoration:none}.granvold-site .primary:hover{background:#edc65b;box-shadow:5px 5px 0 #233b30}.granvold-site .secondary{background:transparent;border:1px solid #233b3040;border-radius:0;font-size:12px;padding:14px 18px}.granvold-site .micro{font-size:10px;line-height:1.7}.granvold-site .hero-copy>.micro{margin-top:20px}.ground-index{display:flex;justify-content:space-between;gap:12px;margin-top:52px;padding-top:18px;border-top:1px solid #233b3030;font-size:9px;letter-spacing:.1em}
.machine-workspace{border:1px solid #233b3040;background:#edf6edb3;box-shadow:12px 12px 0 #9bbbaf42;padding:20px 22px;align-self:center;min-width:0;position:relative}.workspace-heading{display:flex;align-items:center;justify-content:space-between;gap:8px}.model-indicator{font:9px monospace;border:1px solid #a3b6a6;padding:3px 6px;white-space:nowrap}.granvold-site .machine-workspace h2{font-size:28px;line-height:1.15;letter-spacing:-1px;margin:19px 0 2px}.sandbox-viewport{position:relative;height:320px;overflow:hidden;isolation:isolate;border-bottom:1px solid #233b3025;outline-offset:-4px!important;touch-action:pan-y}.sandbox-grid{position:absolute;inset:30% -30% -60%;background-image:linear-gradient(#7e998525 1px,transparent 1px),linear-gradient(90deg,#7e998525 1px,transparent 1px);background-size:30px 30px;transform:perspective(360px) rotateX(55deg);z-index:-1}.machine-preview{width:100%;height:100%;filter:drop-shadow(0 12px 10px #233b3010)}.sandbox-start{position:absolute;bottom:28px;left:50%;transform:translateX(-50%);padding:12px 16px;white-space:nowrap;border:1px solid #233b30;background:#f6f5e9;color:#233b30;font-size:11px;font-weight:700;box-shadow:3px 3px 0 #233b30}.sandbox-coordinate{position:absolute;bottom:8px;right:4px;font:9px monospace;color:#677f6a;pointer-events:none}.sandbox-viewport canvas{display:block;position:absolute;inset:0;max-width:100%;touch-action:none}.sandbox-controls{display:flex;gap:5px;padding-top:15px;flex-wrap:wrap}.sandbox-controls button{border:1px solid #a9bba9;background:#f5f7ec;padding:7px 12px;min-height:37px;color:#233b30;font-size:10px}.sandbox-controls button:disabled{opacity:.5;cursor:not-allowed}.sandbox-controls button:not(:disabled):hover{background:#d8e4cd}.sandbox-controls button[aria-pressed=true]{background:#d4dfc2}.model-downloads{display:flex;flex-wrap:wrap;justify-content:space-between;gap:8px;border-top:1px solid #233b3020;padding-top:12px;font-size:9px}.model-downloads a{color:#233b30;font-weight:700}.model-downloads span{width:100%;color:#56634d}.sandbox-status{min-height:34px;margin:10px 0}
.granvold-site .ground-story{max-width:none;margin:0;padding:76px max(4.5%,calc((100vw - 1365px)/2));display:grid;grid-template-columns:1fr 1.05fr;gap:9vw;background:linear-gradient(#c8d9a4 0 9px,#ecede2 9px);border-top:1px solid #839c69;position:relative}.ground-story:before{content:"";position:absolute;top:9px;left:0;right:0;height:8px;background:repeating-linear-gradient(90deg,#9baf81 0 12px,#c2d19f 12px 19px);opacity:.5}.granvold-site .ground-story h2{font-size:clamp(37px,4vw,59px);line-height:1.07;letter-spacing:-.045em;margin:20px 0}.ground-story>div{align-self:center;max-width:430px}.ground-story p{font-size:13px}.surface-key{display:flex;gap:22px;font-size:9px;letter-spacing:.08em;margin-top:32px}.surface-key span:before{content:"";display:inline-block;width:12px;height:12px;background:#b9b7a5;margin-right:8px;vertical-align:middle}.surface-key span:nth-child(2):before{background:#50584b}.surface-key span:nth-child(3):before{background:#809658}.granvold-site .ground-photo{margin:0;transform:rotate(-2deg);border:8px solid #f8f7ed;box-shadow:7px 9px 0 #233b3020;background:#f8f7ed}.granvold-site .ground-photo img{display:block;width:100%;height:260px;object-fit:cover}.granvold-site .ground-photo figcaption{color:#56634d;font-size:9px;background:none;padding:10px 4px 3px}
.granvold-site .benefits{margin:0;max-width:none;background:#3c4b3a;color:#f6f5e9;border:0;padding:20px 4.5%;font-size:11px}.granvold-site .benefits b{color:#d5bc68}.granvold-site .section:not(.ground-story){max-width:none;margin:0;padding:76px max(4.5%,calc((100vw - 1365px)/2))}.granvold-site .services{background:#e8e5d8}.granvold-site .section-heading{display:grid;grid-template-columns:1fr 1.3fr 1fr;gap:4vw;align-items:center;margin-bottom:35px}.granvold-site h2{font-size:clamp(31px,3.4vw,51px);line-height:1.15;letter-spacing:-.035em}.granvold-site .section-heading h2{margin:0}.granvold-site .section-heading>p:last-child{font-size:12px}.granvold-site .services-grid{display:grid;grid-template-columns:1fr 1.15fr 1fr;gap:0;border:1px solid #acb19c}.granvold-site .service{border:0;border-right:1px solid #acb19c;border-radius:0;background:transparent;padding:28px;position:relative;isolation:isolate}.granvold-site .service:last-child{border-right:0}.granvold-site .service:nth-child(2){background:#dadbc7;padding-top:50px}.granvold-site .service h3{font-size:21px;margin:25px 0 12px}.granvold-site .service p{font-size:12px}.granvold-site .service-number{color:#5e7350;font:11px monospace}.granvold-site .text-button{font-size:11px;color:#233b30;margin-top:20px}.granvold-site .possibilities{background:#d4d6bf;border-top:1px solid #b6ba9d;border-bottom:1px solid #b6ba9d}.granvold-site .possibilities p{font-size:13px}.granvold-site .feature-tags span{border-radius:0;font-size:10px;background:#e6e8d5;border:1px solid #b4bd9d}.granvold-site .logistics{background:linear-gradient(#d9d4bc,#c7bd9c);gap:5vw}.granvold-site .map-card,.granvold-site .calendar-card{background:#eae6d5;border:1px solid #9fa383;border-radius:0;padding:26px;box-shadow:5px 5px 0 #626b4520;min-width:0}.granvold-site .logistics h2{font-size:34px}.granvold-site .logistics p{font-size:12px}.granvold-site .map{border-radius:0;min-height:280px;border:1px solid #a5b19a}.granvold-site .calendar{font-size:12px}.granvold-site .calendar td{border-radius:0;height:38px}.granvold-site .calendar .free{background:#c7d4ac;color:#233b30}.granvold-site .calendar .busy{background:#d8be90;color:#4c462b}.granvold-site .legend{font-size:10px}.granvold-site .contact-section{background:#a49b76;color:#26372b;border-top:1px solid #807b56}.granvold-site .contact-section h2{max-width:450px}.granvold-site .contact-section p{font-size:13px}.granvold-site .form-demo{background:#ded7bb;border-radius:0;border:1px solid #73794f;padding:25px;box-shadow:6px 6px 0 #3f4b3325}.granvold-site input,.granvold-site textarea{border-radius:0;background:#f1eddc;border-color:#a29e78}
.dig-site{background:#645639;color:#f1e8cc;padding:76px max(4.5%,calc((100vw - 1365px)/2)) 55px;position:relative;display:grid;grid-template-columns:1.15fr 1fr;gap:5vw;isolation:isolate;background-image:radial-gradient(#bda77835 1px,transparent 1px);background-size:17px 19px}.dig-site h2{font-size:clamp(38px,4vw,61px);margin:16px 0 20px}.dig-site-copy>p:not(.eyebrow){max-width:480px;font-size:13px}.dig-toggle{border:1px solid #cab88e;background:transparent;color:#f1e8cc;padding:10px 18px;font-size:11px;margin:12px 0}.soil-section{border:1px solid #b59b6a;background:#756342;align-self:center;position:relative;overflow:hidden;box-shadow:8px 8px 0 #453f2e}.soil-section>span{display:block;padding:24px;font:9px monospace;letter-spacing:.12em;border-bottom:1px dashed #d0b68865;position:relative;z-index:1}.soil-section>span:first-child{border-top:10px solid #8b9b55;background:#849059;color:#f2efd9}.soil-section>span:nth-child(3){background:#a78d5b}.soil-section>span:nth-child(4){background:#4f4936;border:0}.soil-stones{position:absolute;inset:40px 0 0;background:radial-gradient(ellipse at 20% 60%,#d5bd8966 0 8%,transparent 8.5%),radial-gradient(ellipse at 80% 45%,#4f493650 0 9%,transparent 9.5%)}.cleanup-action{grid-column:1/-1;margin-top:20px;border-top:1px solid #cab88e55;padding-top:30px}.cleanup-trigger{width:100%;display:flex;align-items:center;justify-content:space-between;text-align:left;gap:20px;background:#e2be53;color:#26372b;padding:24px 28px;border:1px solid #f1e8cc;font-size:clamp(15px,1.65vw,23px);font-weight:700;box-shadow:6px 6px 0 #3f3827;margin-top:16px}.cleanup-trigger:disabled{opacity:.4;cursor:not-allowed}.cleanup-trigger:not(:disabled):hover{background:#f0d278}.cleanup-action .micro{color:#ecddbd}.page-shovel{position:fixed;width:210px;right:3vw;bottom:15vh;z-index:12;pointer-events:none;opacity:0;transform:translateY(90px) rotate(-35deg);filter:drop-shadow(6px 8px 0 #26372b30)}.page-shovel svg{width:100%}.digging .page-shovel{opacity:1;transform:translate(var(--shovel-x,0px),var(--shovel-y,0px)) rotate(var(--shovel-turn,-15deg))}.diggable{transition:transform .7s cubic-bezier(.2,.7,.3,1)}.digging .diggable{transform:translate(var(--dig-x),var(--dig-y)) rotate(var(--dig-angle));box-shadow:8px 10px 0 #26372b20}.granvold-site .site-footer{background:#373d2e;color:#eee6c8;border:0;font-size:10px;padding:28px 4.5% 95px;gap:15px}.granvold-site .utility-dock button{border-radius:0;border:1px solid #7f8a66;background:#f1eedb;color:#233b30;font-size:11px}.granvold-site .chat-panel{background:#f1eedb;border:1px solid #7f8a66;border-radius:0}.granvold-site .toast{border-radius:0;background:#233b30;color:#f5eed9}
.cleanup-dialog{border:1px solid #b5bc9a;border-radius:0;background:#f1eedb;color:#233b30;width:min(820px,94vw);max-height:90dvh;overflow:auto;padding:28px;box-shadow:12px 12px 0 #233b3050}.cleanup-dialog::backdrop{background:#203229c9;backdrop-filter:blur(5px)}.cleanup-topline{display:flex;justify-content:space-between;gap:10px;align-items:center}.cleanup-topline [data-cleanup-clock]{font:10px monospace;white-space:nowrap}.cleanup-dialog h2{font-size:40px;margin:20px 0 10px}.cleanup-dialog p{font-size:12px}.cleanup-canvas{display:block;width:100%;height:auto;image-rendering:pixelated;background:#d89e76;border:1px solid #7b8766;margin:22px 0 18px}.cleanup-caption{font-size:13px;min-height:40px;font-weight:700}.cleanup-timeline{display:flex;justify-content:space-between;font:9px monospace;margin:8px 0}.cleanup-progress{width:100%;height:6px;accent-color:#537344;display:block}.cleanup-progress::-webkit-progress-bar{background:#d0d4bb}.cleanup-progress::-webkit-progress-value{background:#537344}
@media(min-width:1600px){.granvold-site .granvold-hero{gap:85px}.granvold-site .sandbox-viewport{height:380px}}
@media(max-width:900px){.granvold-site .site-header{flex-wrap:wrap;gap:20px}.granvold-site .site-header nav{order:3;width:100%;justify-content:space-between;gap:10px}.granvold-site .header-contact{margin-left:auto}.granvold-site .hero.granvold-hero{gap:30px;padding-top:45px;grid-template-columns:1fr 1fr;min-height:0}.granvold-site h1{font-size:60px}.machine-workspace{padding:17px 15px}.sandbox-viewport{height:270px}.granvold-site .section-heading{grid-template-columns:1fr 1.5fr}.granvold-site .section-heading>p:last-child{grid-column:2}.granvold-site .logistics{grid-template-columns:1fr 1fr;gap:20px}.granvold-site .map-card,.granvold-site .calendar-card{padding:18px}.granvold-site .map-placeholder strong{font-size:27px}.granvold-site .service{padding:22px}}
@media(max-width:640px){.granvold-site .demo-strip{font-size:8px;justify-content:center;padding:9px 5%;gap:12px}.granvold-site .demo-strip>span:last-child{display:none}.granvold-site .site-header{padding:20px 5%}.granvold-site .brand{font-size:20px}.granvold-site .site-header nav a{font-size:10px}.granvold-site .header-contact{font-size:10px;padding:10px}.granvold-site .hero.granvold-hero{grid-template-columns:1fr;padding:40px 6% 50px;gap:36px}.granvold-site h1{font-size:clamp(52px,13vw,77px);letter-spacing:-.06em;margin:22px 0}.granvold-site .intro{font-size:14px;max-width:340px}.ground-index{margin-top:30px;font-size:8px}.sandbox-viewport{height:280px}.machine-workspace{box-shadow:7px 7px 0 #9bbbaf42;padding:18px}.granvold-site .machine-workspace h2{font-size:25px}.granvold-site .ground-story{grid-template-columns:1fr;padding:50px 6%;gap:30px}.granvold-site .ground-photo img{height:220px}.granvold-site .benefits{display:flex;flex-wrap:wrap;justify-content:flex-start;gap:15px;padding:20px 6%;font-size:9px}.granvold-site .section:not(.ground-story){padding:50px 6%}.granvold-site .section-heading{display:block}.granvold-site .section-heading h2{margin:15px 0}.granvold-site .services-grid{grid-template-columns:1fr}.granvold-site .service{border-right:0;border-bottom:1px solid #acb19c;padding:25px}.granvold-site .service:last-child{border-bottom:0}.granvold-site .service:nth-child(2){padding-top:25px}.granvold-site .service h3{margin-top:15px}.granvold-site .possibilities,.granvold-site .logistics,.granvold-site .contact-section{grid-template-columns:1fr;gap:25px}.granvold-site .logistics h2{font-size:30px}.dig-site{grid-template-columns:1fr;padding:50px 6%;gap:25px}.dig-site h2{font-size:38px}.soil-section>span{padding:18px}.cleanup-trigger{font-size:15px;padding:20px;min-height:90px}.page-shovel{width:145px;right:0}.cleanup-dialog{padding:20px}.cleanup-topline .eyebrow{font-size:8px}.cleanup-dialog h2{font-size:30px}.cleanup-caption{font-size:11px}.granvold-site .site-footer{flex-direction:column;align-items:flex-start;padding:25px 6% 100px}.granvold-site .utility-dock{right:12px;bottom:12px;gap:7px}.granvold-site .chat-panel{width:calc(100vw - 24px);right:12px}}
.granvold-site .ground-photo{height:auto;clip-path:none;align-self:center;overflow:visible}.granvold-site .ground-photo figcaption{position:static;max-width:none}.dig-site .eyebrow,.dig-site .micro{color:#e8ddbd}.dig-site .cleanup-action>.eyebrow{color:#f2e6c3}
.granvold-site .box-host{position:relative;isolation:isolate;background:transparent}.granvold-site .services-grid .service.box-host{background:transparent}.dig-box{position:absolute;inset:0;z-index:-1;border:1px solid #acb19c;pointer-events:none}
.granvold-site .cleanup-trigger:disabled{opacity:0;pointer-events:none}.cleanup-trigger{transition:opacity .25s}.digging .diggable{animation:dig-flip .85s ease-in-out;animation-delay:var(--dig-delay,0ms)}
@keyframes dig-flip{0%{rotate:1 0 0 0deg}65%{rotate:1 0 0 220deg}100%{rotate:1 0 0 360deg}}
@media(prefers-reduced-motion:reduce){html:has(>.granvold-site){scroll-behavior:auto}.granvold-site .diggable{animation:none}.granvold-site .cleanup-trigger{transition:none}}
@media(prefers-reduced-motion:reduce){.granvold-site html{scroll-behavior:auto}.granvold-site .diggable{transition:none}.granvold-site.digging .diggable{transform:none;box-shadow:none}.granvold-site .page-shovel{display:none}.granvold-site *{scroll-behavior:auto}}
.granvold-site{--ink:#253035;--muted:#636760;--accent:#a5552c;--bg:#f2f1eb;--paper:#faf9f5;--line:#cbcbbf;background:#f2f1eb;color:#253035}
.granvold-site .demo-strip{background:#182124;color:#d9dedb;padding-top:7px;padding-bottom:7px}
.granvold-site .site-header{background:#faf9f5;border-bottom:1px solid #d6d8cf;padding-top:20px;padding-bottom:20px}
.granvold-site .brand{display:grid;grid-template-columns:48px 150px;column-gap:12px;align-items:center;font-size:20px;max-width:none;letter-spacing:-.7px;line-height:1.05}
.brand-emblem{grid-column:1;grid-row:1/span 2;width:48px;height:48px;border-radius:50%;object-fit:cover}
.granvold-site .brand small{grid-column:2;font-size:11px;letter-spacing:.22em;margin:3px 0 0}
.granvold-site .header-contact{background:#a8552e;border:0;padding:14px 20px;font-size:11px;color:#fff7e9}
.granvold-site .hero.photo-hero{display:block;max-width:none;min-height:720px;padding:100px 6% 105px;background:#182124;color:#f7f7ee;isolation:isolate;overflow:hidden}
.granvold-site .photo-hero .hero-panorama{position:absolute;inset:0;z-index:-1;height:100%;width:100%;border:0;clip-path:none;transform:none;margin:0}
.granvold-site .photo-hero .hero-panorama img{width:100%;height:100%;object-fit:cover;object-position:60% 48%;display:block}
.granvold-site .photo-hero .hero-panorama::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#182124ed 0%,#182124c9 34%,#18212459 61%,#1821240a 100%);pointer-events:none}
.granvold-site .hero-panorama figcaption{z-index:1}
.granvold-site .photo-hero .hero-copy{max-width:560px;width:48%;position:relative;z-index:1}
.granvold-site .photo-hero h1{font-size:clamp(38px,3.8vw,58px);font-weight:400;font-synthesis:none;line-height:1.22;text-transform:uppercase;letter-spacing:.025em;margin:27px 0;color:#f7f7ee}
.granvold-site .photo-hero .eyebrow{color:#d5c6a6;font-size:10px;letter-spacing:.17em}
.granvold-site .photo-hero .intro{color:#d7dfda;font-size:15px;line-height:1.9;max-width:390px;margin-bottom:32px}
.granvold-site .primary{background:#b66334;color:#fff8ed;border:1px solid #b66334;box-shadow:none;border-radius:2px;padding:15px 22px;font-weight:700}
.granvold-site .primary:hover{background:#964825;box-shadow:none;color:#fff8ed}
.granvold-site .photo-hero .secondary{border-color:#b4c1b655;color:#f5f3e5;border-radius:2px}
.granvold-site .photo-hero .micro{color:#bdc7c0}
.granvold-site .hero-panorama figcaption{position:absolute;bottom:72px;left:auto;right:6%;max-width:310px;padding:0;background:none;color:#e6ebdf;font-size:8px;text-align:right}
.hero-baseline{position:absolute;bottom:0;left:6%;right:6%;display:flex;align-items:center;justify-content:space-between;gap:18px;border-top:1px solid #c5d1c240;padding:24px 0;font:9px Granvold,sans-serif;letter-spacing:.11em;color:#d2d9d1}
.hero-baseline a{color:inherit;text-decoration:none}
.granvold-site .ground-story{background:#f3f2eb;border-top:6px solid #859376;padding-top:80px;padding-bottom:80px;gap:8vw;grid-template-columns:1fr 1.2fr}
.ground-story:before{display:none}
.granvold-site .ground-story h2{font-family:Granvold,sans-serif;letter-spacing:-.05em;font-size:clamp(38px,4.2vw,60px);line-height:1.12}
.granvold-site .ground-story p{font-size:13px;line-height:1.9}
.granvold-site .ground-photo{height:auto;clip-path:none;transform:none;margin:0;border:0;box-shadow:none;background:#dbddd0;position:relative;overflow:hidden;align-self:center}
.granvold-site .ground-photo img{width:100%;height:410px;object-fit:cover;object-position:center 55%;display:block}
.granvold-site .ground-photo figcaption{position:static;padding:15px 18px;color:#636760;background:#e8e8de;font-size:9px;letter-spacing:.08em}
.granvold-site .benefits{background:#253136;padding:21px 6%;color:#f4f1e6}
.granvold-site .benefits b{color:#c89562}
.granvold-site .services{background:#f6f5ef}
.granvold-site .section-heading h2 em,.granvold-site .dig-site h2 em{font-family:Granvold,sans-serif;font-style:normal;font-weight:700}
.granvold-site .service{border-color:#c4c8bb;padding:32px}
.granvold-site .service:nth-child(2){background:#e4e5da;padding-top:32px}
.granvold-site .service h3{font-size:23px;letter-spacing:-.03em}
.granvold-site .service p{font-size:13px;line-height:1.85}
.granvold-site .service-number{color:#9b633d}
.granvold-site .possibilities{background:#e6e6db;border-color:#c9cdbf}
.granvold-site .possibilities h2{font-weight:700;font-family:Granvold,sans-serif}
.granvold-site .feature-tags span{background:transparent;border-color:#babeb0}
.granvold-site .logistics{background:#d7d5c4}
.granvold-site .map-card,.granvold-site .calendar-card{background:#f1efe4;border-color:#b2b6a4;box-shadow:none}
.granvold-site .contact-section{background:#bbb7a1;border-color:#a0a58f}
.granvold-site .form-demo{background:#eeecdf;border-color:#a3a78f;box-shadow:none}
.granvold-site .dig-site{background-color:#514b3d;background-image:radial-gradient(#cab99316 1px,transparent 1px);color:#f3eee1}
.granvold-site .dig-site h2{font-family:Granvold,sans-serif;font-weight:700;font-size:clamp(36px,3.8vw,56px);letter-spacing:-.04em}
.granvold-site .soil-section{border-color:#8b856e;box-shadow:none}
.granvold-site .cleanup-trigger{background:#b5673b;border-color:#d9b093;color:#fff7e9;box-shadow:none;border-radius:2px;font-size:clamp(14px,1.4vw,20px);padding:22px 25px}
.granvold-site .cleanup-trigger:not(:disabled):hover{background:#9b522b}
.granvold-site .sandbox-section{display:grid;grid-template-columns:.8fr 1.2fr;gap:7vw;background:#253035;color:#eaf0e6;border-top:1px solid #9ea89433;padding-top:65px;padding-bottom:65px;align-items:center}
.sandbox-intro{max-width:380px}.sandbox-intro .eyebrow{color:#bcbfa7}.sandbox-intro p{font-size:13px;color:#c1cbc0;line-height:1.9}
.granvold-site .sandbox-section h2{font-size:42px;letter-spacing:-.04em}
.granvold-site .machine-workspace{background:#f1f2e9;color:#253035;border:1px solid #879385;box-shadow:none;padding:25px;align-self:center}
.granvold-site .machine-workspace h2{font-size:23px;line-height:1.2}
.granvold-site .sandbox-viewport{height:295px;border-color:#acb2a155}
.granvold-site .machine-preview{object-fit:contain;width:100%;height:100%;filter:none;opacity:.86}
.granvold-site .sandbox-start{border-radius:2px;box-shadow:none;color:#fff7e9;background:#a8552e;border-color:#a8552e}
.granvold-site .sandbox-controls button{border-radius:2px;min-height:40px}
.granvold-site .model-downloads{font-size:10px}
.granvold-site .site-footer{background:#182124;color:#c4cabc;border-top:1px solid #8f9e8333;padding-top:27px;gap:20px}
.granvold-site .site-footer a{color:#e2e7dc}.granvold-site .utility-dock button{background:#faf9f2;border-color:#aeb4a2;box-shadow:0 2px 8px #17202515;font-size:10px}
.granvold-site .cleanup-dialog{width:min(790px,94vw);max-height:94dvh;padding:15px 20px 25px;border:0;outline:0;background:transparent;box-shadow:none;color:#f1f1e4;text-align:center;overflow:auto}
.cleanup-dialog::backdrop{background:#111b20f5;backdrop-filter:none}
.cleanup-dialog .cleanup-topline{justify-content:center;gap:25px;color:#d3d5be}
.cleanup-dialog .eyebrow{color:#d3d5be;font-size:9px}
.granvold-site .cleanup-dialog h2{font-size:36px;margin:15px 0 9px;color:#f5f3e8;outline:0}
.cleanup-dialog p{font-size:11px;color:#c5cdbd;margin:8px auto 16px}
.cleanup-rock{position:relative;width:100%;aspect-ratio:1.95;margin:0 auto 18px;padding:10px;background:linear-gradient(130deg,#9d9e86,#6a7065 38%,#a2a18a 65%,#646c5f);clip-path:polygon(11% 3%,32% 0,50% 4%,72% 0,89% 7%,96% 23%,100% 43%,96% 69%,89% 88%,68% 98%,43% 95%,23% 100%,8% 86%,1% 61%,0 36%,5% 16%)}
.cleanup-rock .cleanup-canvas{width:100%;height:100%;display:block;object-fit:cover;image-rendering:auto;border:0;margin:0;clip-path:none}
.cleanup-fallback{position:absolute;inset:20%;display:grid;place-content:center;color:#f6f1de;font-size:14px;line-height:1.8}
.cleanup-dialog .cleanup-caption{font-size:12px;color:#e8ecdf;min-height:28px}.cleanup-dialog .cleanup-timeline{max-width:550px;margin:18px auto 9px;color:#bdcbb7}.cleanup-dialog .cleanup-progress{max-width:550px;margin:auto;height:3px;accent-color:#bc7c4a}.cleanup-dialog .cleanup-progress::-webkit-progress-bar{background:#5d6a5b}.cleanup-dialog .cleanup-progress::-webkit-progress-value{background:#c79766}
@media(max-width:900px){.granvold-site .hero.photo-hero{padding:80px 5% 100px;min-height:660px}.granvold-site .photo-hero .hero-copy{width:52%}.granvold-site .photo-hero h1{font-size:43px}.granvold-site .sandbox-section{gap:4vw;grid-template-columns:.8fr 1.2fr}.granvold-site .machine-workspace{padding:20px}}
@media(max-width:640px){.granvold-site .site-header{padding:17px 5%}.granvold-site .brand{grid-template-columns:38px 120px;font-size:17px;column-gap:9px}.brand-emblem{width:38px;height:38px}.granvold-site .brand small{font-size:9px}.granvold-site .header-contact{padding:12px;font-size:9px}.granvold-site .hero.photo-hero{padding:295px 6% 85px;min-height:0}.granvold-site .photo-hero .hero-panorama{inset:0 0 auto;height:290px}.granvold-site .photo-hero .hero-panorama img{object-position:60% center}.granvold-site .photo-hero .hero-panorama::after{background:none}.granvold-site .hero-panorama figcaption{display:none}.granvold-site .photo-hero .hero-copy{width:100%;max-width:none}.granvold-site .photo-hero h1{font-size:clamp(31px,8.5vw,42px);letter-spacing:.025em;margin:18px 0}.granvold-site .photo-hero .intro{font-size:13px;margin-bottom:25px}.granvold-site .photo-hero .eyebrow{font-size:8px}.hero-baseline{left:6%;right:6%;padding:20px 0;gap:15px;font-size:8px}.hero-baseline>span:last-child{display:none}.granvold-site .ground-story{grid-template-columns:1fr;padding:45px 6%;gap:25px}.granvold-site .ground-photo img{height:330px}.granvold-site .ground-story h2{font-size:39px}.granvold-site .sandbox-section{grid-template-columns:1fr;gap:25px}.granvold-site .sandbox-section h2{font-size:36px}.granvold-site .machine-workspace{padding:18px}.granvold-site .sandbox-viewport{height:280px}.granvold-site .cleanup-dialog{padding:10px 5px 20px;width:96vw}.cleanup-dialog .cleanup-topline{gap:12px;flex-wrap:wrap}.cleanup-dialog .eyebrow{font-size:8px}.granvold-site .cleanup-dialog h2{font-size:28px}.cleanup-rock{aspect-ratio:1.65;padding:6px}.cleanup-dialog .cleanup-caption{font-size:10px;padding:0 20px}.cleanup-dialog p{font-size:10px;max-width:300px}.cleanup-dialog .cleanup-timeline,.cleanup-dialog .cleanup-progress{width:86%}}

.granvold-site{--ink:#18344e;--muted:#4b6380;--accent:#296495;--bg:#edf3f9;--paper:#f7faff;--line:#bccbd9;background:#e5edf5;color:var(--ink)}
.granvold-site .demo-strip,.granvold-site .site-footer{background:#0c2038;color:#dbe6f3}
.granvold-site .site-header{background:#143452;border-color:#365572;color:#edf5ff}
.granvold-site .site-header a,.granvold-site .site-footer a{color:#edf5ff}
.granvold-site .hero.photo-hero{background:#102a43}
.granvold-site .ground-story{background:#edf3f9;border-color:#41719c}
.granvold-site .ground-photo,.granvold-site .ground-photo figcaption{background:#dbe6f1;color:#405c77}
.granvold-site .benefits,.granvold-site .sandbox-section{background:#163958;color:#edf5ff;border-color:#3c6285}
.granvold-site .benefits b{color:#a8cff4}
.granvold-site .services{background:#f4f8fc}
.granvold-site .service{border-color:#c4d3e2}
.granvold-site .service:nth-child(2),.granvold-site .possibilities{background:#e2ecf6;border-color:#b7cbde}
.granvold-site .service-number{color:#356c9b}
.granvold-site .feature-tags span{border-color:#a8bed4}
.granvold-site .logistics{background:#d3e2f0}
.granvold-site .map-card,.granvold-site .calendar-card,.granvold-site .form-demo,.granvold-site .machine-workspace{background:#f4f8fd;border-color:#a8bfd4;color:#18344e}
.granvold-site .contact-section{background:#bed3e7;border-color:#8dabc6}
.granvold-site .dig-site{background-color:#183951;background-image:radial-gradient(#93b5d21c 1px,transparent 1px);color:#edf5ff}
.granvold-site .soil-section{border-color:#597a97}
.granvold-site .sandbox-intro p,.granvold-site .sandbox-intro .eyebrow{color:#c9dced}
.granvold-site .sandbox-viewport{border-color:#a9bfd455}
.granvold-site :is(button,.header-contact,.hero-actions a){--rock-shape:polygon(4% 18%,12% 5%,35% 3%,51% 6%,74% 3%,94% 12%,99% 37%,97% 77%,89% 94%,62% 97%,45% 94%,18% 98%,3% 82%,0 48%);position:relative;isolation:isolate;background:transparent!important;border:0!important;border-radius:0;box-shadow:none!important;color:#fff!important;min-height:44px;padding:14px 24px;text-decoration:none;font-weight:700;text-shadow:0 1px 2px #091523}
.granvold-site :is(button,.header-contact,.hero-actions a)::before{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;clip-path:var(--rock-shape);background:linear-gradient(180deg,#24385418,#0b193b80),url("rock-button.webp") center/100% 100% no-repeat,#4b5d79;box-shadow:inset 0 2px 1px #b9cbe777,inset 0 -4px 3px #08152a88;transition:filter .15s ease}
.granvold-site :is(button,.header-contact,.hero-actions a):not(:disabled):hover::before{filter:brightness(1.2)}
.granvold-site :is(button,.header-contact,.hero-actions a):focus-visible{outline:3px solid #64a9e8;outline-offset:4px}
.granvold-site :is(button,.header-contact,.hero-actions a)[aria-pressed="true"]::before{background-color:#366890;box-shadow:inset 0 0 0 3px #8cc4f6}
.granvold-site :is(button,.header-contact,.hero-actions a):disabled{opacity:.45;cursor:not-allowed}
.granvold-site :is(button,.header-contact,.hero-actions a)[data-rock-wear="1"]{--rock-shape:polygon(4% 18%,12% 5%,22% 4%,25% 15%,30% 5%,51% 6%,74% 3%,94% 12%,99% 37%,97% 77%,89% 94%,62% 97%,45% 94%,18% 98%,3% 82%,0 48%)}
.granvold-site :is(button,.header-contact,.hero-actions a)[data-rock-wear="2"]{--rock-shape:polygon(4% 18%,12% 5%,22% 4%,25% 19%,31% 5%,51% 6%,74% 3%,94% 12%,99% 37%,91% 48%,98% 56%,97% 77%,89% 94%,62% 97%,56% 83%,48% 95%,18% 98%,3% 82%,0 48%)}
.granvold-site :is(button,.header-contact,.hero-actions a)[data-rock-wear="1"]::after,.granvold-site :is(button,.header-contact,.hero-actions a)[data-rock-wear="2"]::after{content:"";position:absolute;inset:0;pointer-events:none;clip-path:var(--rock-shape);background:linear-gradient(125deg,transparent 44%,#071422 45% 51%,#c6d4eb99 52% 55%,transparent 56%) 24% 2px/15px 19px no-repeat}
.granvold-site :is(button,.header-contact,.hero-actions a)[data-rock-wear="2"]::after{background:linear-gradient(125deg,transparent 44%,#071422 45% 51%,#c6d4eb99 52% 55%,transparent 56%) 24% 2px/17px 22px no-repeat,linear-gradient(35deg,transparent 44%,#071422 45% 51%,#c6d4eb99 52% 55%,transparent 56%) right 3px top 42%/16px 14px no-repeat,linear-gradient(115deg,transparent 44%,#071422 45% 51%,#c6d4eb99 52% 55%,transparent 56%) 55% bottom 2px/18px 15px no-repeat}
.granvold-site .utility-dock button,.granvold-site .chat-close{padding:12px 15px}
.granvold-site .sandbox-controls button,.granvold-site .map-controls button{padding:12px 18px}
@media(prefers-reduced-motion:reduce){.granvold-site :is(button,.header-contact,.hero-actions a)::before{transition:none}}
