:root{--plum-950:#1f0917;--plum-900:#2e0e22;--plum-800:#3f1730;--plum-700:#5b2245;--plum-600:#6f2a55;--plum-100:#f1e8ee;--ink:#1a1517;--ink-2:#3a3236;--ink-3:#5f5659;--rule:#dad3d6;--rule-2:#e8e3e5;--canvas:#f5f3f0;--paper:#fff;--gold:#c9a227;--gold-soft:#e7cf7a;--gold-ink:#8a6b0c;--wa:#15803d;--wa-dark:#116a32;--maxw:1280px;--gutter:24px;--font-display:"Archivo", "Helvetica Neue", Helvetica, Arial, sans-serif;--font-body:"Inter", system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif;--shadow-float:0 24px 60px -15px #2e0e2252;--r-sm:8px;--r:14px;--r-lg:18px}@media (width>=1024px){:root{--gutter:32px}}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:90px}body{font-family:var(--font-body);color:var(--ink);background:var(--paper);-webkit-font-smoothing:antialiased;margin:0;line-height:1.6;overflow-x:clip}img{max-width:100%;display:block}a{color:inherit;text-decoration:none}h1,h2,h3,h4{font-family:var(--font-display);letter-spacing:-.02em;color:inherit;margin:0;font-weight:700;line-height:1.08}p{margin:0}ul{margin:0;padding:0;list-style:none}:focus-visible{outline:2px solid var(--gold);outline-offset:3px;border-radius:4px}.wrap{max-width:var(--maxw);padding-inline:var(--gutter);margin:0 auto}.section{padding-block:clamp(64px,9vw,120px)}.section--canvas{background:var(--canvas)}.section--plum{background:var(--plum-900);color:#f6eef3}.h2{max-width:20ch;font-size:clamp(30px,4vw,44px)}.lead{color:var(--ink-3);max-width:60ch;font-size:clamp(17px,1.5vw,19px)}.body{color:var(--ink-2);font-size:16px;line-height:1.75}.body+.body{margin-top:16px}.section--plum .lead,.section--plum .body{color:#f6eef3c7}.btn{font-family:var(--font-body);cursor:pointer;white-space:nowrap;border:1px solid #0000;border-radius:999px;justify-content:center;align-items:center;gap:10px;padding:14px 22px;font-size:15px;font-weight:600;line-height:1.2;transition:background-color .2s,color .2s,border-color .2s,translate .15s;display:inline-flex}.btn:hover{translate:0 -1px}.btn--gold{background:var(--gold);color:var(--plum-950)}.btn--gold:hover{background:var(--gold-soft)}.btn--plum{background:var(--plum-900);color:#fff}.btn--plum:hover{background:var(--plum-700)}.btn--line{border-color:var(--rule);color:var(--ink)}.btn--line:hover{border-color:var(--plum-600);color:var(--plum-700)}.on-dark .btn--line{color:#fff;background:#f6eef314;border-color:#f6eef380}.on-dark .btn--line:hover{background:#f6eef329;border-color:#fff}.btn--wa{background:var(--wa);color:#fff}.btn--wa:hover{background:var(--wa-dark)}.btn svg{flex:none;width:20px;height:20px}.link-arrow{color:var(--plum-700);align-items:center;gap:8px;font-size:15px;font-weight:600;display:inline-flex}.link-arrow svg{width:16px;height:16px;transition:translate .2s}.link-arrow:hover svg{translate:3px}.site-header{z-index:50;backdrop-filter:saturate(180%)blur(12px);border-bottom:1px solid var(--rule-2);background:#ffffffeb;position:sticky;top:0}.header-inner{justify-content:space-between;align-items:center;gap:24px;height:76px;display:flex}.brand{align-items:center;gap:12px;display:flex}.brand-mark{width:44px;height:44px;box-shadow:inset 0 0 0 1px var(--rule-2);background:#fff;border-radius:10px;flex:none;overflow:hidden}.brand-mark img{object-fit:cover;width:100%;height:100%}.brand-text{flex-direction:column;line-height:1.1;display:flex}.brand-text b{font-family:var(--font-display);letter-spacing:-.01em;font-size:17px;font-weight:800}.brand-text small{color:var(--ink-3);margin-top:2px;font-size:12px;font-weight:500}.nav{align-items:center;gap:2px;display:flex}.nav-link{color:var(--ink-2);cursor:pointer;background:0 0;border:0;border-radius:8px;align-items:center;gap:6px;padding:10px 14px;font-family:inherit;font-size:15px;font-weight:500;transition:color .18s,background .18s;display:inline-flex;position:relative}.nav-link:hover{color:var(--plum-700);background:var(--plum-100)}.nav-link.is-active{color:var(--plum-800);font-weight:600}.nav-link.is-active:after{content:"";background:var(--gold);border-radius:2px;height:2px;position:absolute;bottom:4px;left:14px;right:14px}.nav-link .chev{width:14px;height:14px;transition:rotate .2s}.nav-group{position:relative}.nav-menu{border:1px solid var(--rule-2);border-radius:var(--r);min-width:280px;box-shadow:var(--shadow-float);opacity:0;visibility:hidden;background:#fff;padding:8px;transition:opacity .18s,translate .18s,visibility .18s;position:absolute;top:calc(100% + 8px);left:0;translate:0 6px}.nav-menu:before{content:"";height:10px;position:absolute;inset:-10px 0 auto}.nav-group.open .nav-menu{opacity:1;visibility:visible;translate:0}.nav-group.open .chev{rotate:180deg}.nav-menu a{border-radius:8px;padding:10px 12px;transition:background .15s;display:block}.nav-menu a:hover,.nav-menu a.is-active{background:var(--plum-100)}.nav-menu b{color:var(--ink);font-size:15px;font-weight:600;display:block}.nav-menu span{color:var(--ink-3);font-size:13px;display:block}.nav-toggle{border:1px solid var(--rule);cursor:pointer;background:#fff;border-radius:10px;flex-direction:column;justify-content:center;align-items:center;gap:5px;width:46px;height:46px;display:none}.nav-toggle span{background:var(--ink);border-radius:2px;width:20px;height:2px;transition:translate .2s,rotate .2s,opacity .2s}.site-header.open .nav-toggle span:first-child{translate:0 7px;rotate:45deg}.site-header.open .nav-toggle span:nth-child(2){opacity:0}.site-header.open .nav-toggle span:nth-child(3){translate:0 -7px;rotate:-45deg}.hero{color:#f6eef3;background:linear-gradient(90deg, #180710f5 0%, #2e0e22e0 46%, #2e0e229e 100%), url(/images/earthworks.webp) center / cover no-repeat, var(--plum-900);position:relative;overflow:hidden}.hero:before{content:"";pointer-events:none;background:radial-gradient(80% 70% at 10% 100%,#6f2a5580,#0000 60%);position:absolute;inset:0}.hero-grid{grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);align-items:center;gap:clamp(32px,5vw,80px);padding-block:clamp(56px,8vw,112px);display:grid;position:relative}.hero h1{letter-spacing:-.03em;font-size:clamp(40px,5.6vw,72px);font-weight:800;line-height:1}.hero h1 em{color:var(--gold);font-style:normal}.hero .lead{color:#f6eef3cc;margin-top:24px}.hero-actions{flex-wrap:wrap;gap:12px;margin-top:34px;display:flex}.hero-photo{border-radius:var(--r-lg);aspect-ratio:4/3;background:var(--plum-700);outline-offset:-1px;outline:1px solid #c9a2274d;position:relative;overflow:hidden;box-shadow:0 40px 80px -40px #000000a6}.hero-photo img{object-fit:cover;width:100%;height:100%}.hero-facts{backdrop-filter:blur(14px)saturate(160%);background:#1f0917b8;border:1px solid #ffffff24;border-radius:12px;grid-template-columns:repeat(3,minmax(0,1fr));display:grid;position:absolute;bottom:16px;left:16px;right:16px;overflow:hidden}.hero-facts div{padding:12px 14px}.hero-facts div+div{border-left:1px solid #ffffff1f}.hero-facts b{font-family:var(--font-display);color:var(--gold-soft);letter-spacing:-.01em;font-size:20px;display:block}.hero-facts span{color:#f6eef3d1;font-size:12.5px;display:block}.page-hero{color:#f6eef3;background-color:var(--plum-900);background-position:50%;background-size:cover;position:relative;overflow:hidden}.page-hero-inner{padding-block:clamp(56px,8vw,104px);position:relative}.page-hero h1{letter-spacing:-.03em;max-width:20ch;font-size:clamp(36px,5vw,60px);font-weight:800}.page-hero .lead{color:#f6eef3cc;margin-top:20px}.crumbs{color:#f6eef3b3;margin-bottom:18px;font-size:14px}.crumbs a:hover{color:var(--gold-soft)}.subnav{background:var(--paper);border-bottom:1px solid var(--rule-2)}.subnav .wrap{scrollbar-width:none;gap:4px;display:flex;overflow-x:auto}.subnav a{color:var(--ink-3);flex:none;padding:18px 14px;font-size:15px;font-weight:500;position:relative}.subnav a:hover{color:var(--plum-700)}.subnav a.is-active{color:var(--plum-800);font-weight:600}.subnav a.is-active:after{content:"";background:var(--gold);height:2px;position:absolute;bottom:-1px;left:14px;right:14px}.split{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:start;gap:clamp(32px,6vw,88px);display:grid}.split--center{align-items:center}.section-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:24px;margin-bottom:clamp(32px,4vw,56px);display:flex}.section-head .lead{margin-top:14px}.photo{border-radius:var(--r-lg);background:var(--plum-100);overflow:hidden}.photo img{object-fit:cover;width:100%;height:100%;transition:scale .3s}.photo:hover img{scale:1.03}.points{grid-template-columns:repeat(3,minmax(0,1fr));gap:0 clamp(24px,3vw,48px);display:grid}.point{border-top:1px solid var(--rule);padding:26px 0 30px;position:relative}.point:before{content:"";background:var(--gold);transform-origin:0;width:100%;height:2px;transition:transform .3s;position:absolute;top:-1px;left:0;transform:scaleX(.1)}.point:hover:before{transform:scaleX(1)}.point .n{font-family:var(--font-display);color:var(--gold-ink);font-size:15px;font-weight:700}.point h3{margin:10px 0 8px;font-size:21px;font-weight:700}.point p{color:var(--ink-3);font-size:15.5px}.section--plum .point{border-color:#f6eef32e}.section--plum .point .n{color:var(--gold-soft)}.section--plum .point p{color:#f6eef3b8}.point--cta{flex-direction:column;justify-content:space-between;gap:18px;display:flex}.point--cta:before{display:none}.card-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;display:grid}.svc-card{background:var(--paper);border:1px solid var(--rule-2);border-radius:var(--r);flex-direction:column;transition:translate .2s,box-shadow .2s,border-color .2s;display:flex;position:relative;overflow:hidden}.svc-card:hover{box-shadow:var(--shadow-float);border-color:var(--rule);translate:0 -4px}.svc-thumb{aspect-ratio:16/10;background:var(--plum-700);overflow:hidden}.svc-thumb img{object-fit:cover;width:100%;height:100%;transition:scale .3s}.svc-card:hover .svc-thumb img{scale:1.04}.svc-body{flex-direction:column;flex:1;padding:24px 24px 26px;display:flex}.svc-body h3{margin-bottom:10px;font-size:21px}.svc-body p{color:var(--ink-3);flex:1;font-size:15.5px}.svc-body .link-arrow{margin-top:18px}.svc-card a.cover:after{content:"";position:absolute;inset:0}.svc-rows{gap:clamp(56px,7vw,96px);display:grid}.svc-row{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:center;gap:clamp(32px,6vw,80px);display:grid}.svc-row:nth-child(2n) .photo{order:2}.svc-row .photo{aspect-ratio:4/3}.svc-row h2{margin-bottom:16px;font-size:clamp(26px,3vw,36px)}.svc-row .n{font-family:var(--font-display);color:var(--gold-ink);margin-bottom:12px;font-size:15px;font-weight:700;display:block}.svc-row .actions{flex-wrap:wrap;gap:12px;margin-top:24px;display:flex}.steps{counter-reset:step;grid-template-columns:repeat(5,minmax(0,1fr));gap:24px;margin-top:8px;display:grid}.step{padding-top:30px;position:relative}.step:before{content:"";background:var(--rule);height:1px;position:absolute;top:9px;left:0;right:-24px}.step:last-child:before{right:0}.step:after{content:"";background:var(--gold);width:11px;height:11px;box-shadow:0 0 0 4px var(--canvas);border-radius:50%;position:absolute;top:4px;left:0}.step h3{margin-bottom:6px;font-size:18px}.step p{color:var(--ink-3);font-size:15px}.typelist{border-top:1px solid var(--rule);margin-top:26px}.typelist li{border-bottom:1px solid var(--rule);font-family:var(--font-display);letter-spacing:-.01em;align-items:center;gap:14px;padding:16px 0;font-size:19px;font-weight:600;display:flex}.typelist svg{width:20px;height:20px;color:var(--gold-ink);flex:none}.facts{grid-template-columns:repeat(4,minmax(0,1fr));gap:0;display:grid}.fact{border-left:1px solid #f6eef329;padding:8px clamp(16px,2.4vw,32px)}.fact:first-child{border-left:0;padding-left:0}.fact .num{font-family:var(--font-display);color:var(--gold);letter-spacing:-.02em;font-size:clamp(36px,4.4vw,54px);font-weight:800;line-height:1}.fact .lbl{color:#fff;margin-top:12px;font-weight:600}.fact .sub{color:#f6eef3b3;margin-top:4px;font-size:14.5px}.commit{text-align:left}.commit h2{max-width:22ch;font-size:clamp(30px,4.4vw,52px)}.commit h2 span{color:var(--gold)}.commit .lead{max-width:62ch;margin-top:20px}.vision{grid-template-columns:minmax(0,5fr) minmax(0,7fr);align-items:start;gap:clamp(32px,6vw,88px);display:grid}.vision+.vision{border-top:1px solid var(--rule);margin-top:clamp(56px,7vw,96px);padding-top:clamp(56px,7vw,96px)}.vision .tag{color:var(--gold-ink);margin-bottom:10px;font-size:15px;font-weight:600;display:block}.vision blockquote{font-family:var(--font-display);letter-spacing:-.01em;color:var(--plum-800);margin:0;font-size:clamp(22px,2.4vw,28px);font-weight:600;line-height:1.3}.cta{background:var(--plum-900);color:#f6eef3;border-radius:22px;padding:clamp(40px,6vw,76px);position:relative;overflow:hidden}.cta:before{content:"";opacity:.5;pointer-events:none;background:url(/images/hero-earthwork.webp) 50%/cover no-repeat;width:48%;position:absolute;top:0;bottom:0;right:0;-webkit-mask-image:linear-gradient(90deg,#0000 0%,#000 60%);mask-image:linear-gradient(90deg,#0000 0%,#000 60%)}.cta>*{position:relative}.cta h2{max-width:18ch;font-size:clamp(30px,4.2vw,48px)}.cta .lead{color:#f6eef3d1;max-width:46ch;margin-top:18px}.cta-actions{flex-wrap:wrap;gap:12px;margin-top:32px;display:flex}.contact-grid{grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);align-items:start;gap:clamp(32px,5vw,64px);display:grid}.form-card{background:var(--paper);border:1px solid var(--rule-2);border-radius:var(--r-lg);box-shadow:var(--shadow-float);padding:clamp(24px,4vw,40px)}.form-card h2{font-size:clamp(24px,3vw,32px)}.form-card>p{color:var(--ink-3);margin:8px 0 24px}.field{margin-bottom:18px}.field label{color:var(--ink-2);margin-bottom:7px;font-size:14px;font-weight:600;display:block}.field input,.field select,.field textarea{width:100%;font-family:var(--font-body);color:var(--ink);border:1px solid var(--rule);background:var(--canvas);border-radius:10px;padding:13px 15px;font-size:16px;transition:border-color .18s,box-shadow .18s,background .18s}.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--plum-600);background:#fff;outline:none;box-shadow:0 0 0 3px #6f2a5524}.field textarea{resize:vertical;min-height:130px}.field-row{grid-template-columns:1fr 1fr;gap:0 18px;display:grid}.form-note{color:var(--ink-3);text-align:center;margin-top:12px;font-size:14px}.info{border-top:1px solid var(--rule)}.info-row{border-bottom:1px solid var(--rule);padding:20px 0}.info-row .k{color:var(--ink-3);font-size:14px;font-weight:500}.info-row .v{font-family:var(--font-display);letter-spacing:-.01em;margin-top:4px;font-size:19px;font-weight:600;display:block}.info-row a.v:hover{color:var(--plum-700)}.info-row .d{color:var(--ink-2);margin-top:4px;font-size:15px}.map{border-radius:var(--r-lg);border:1px solid var(--rule-2);aspect-ratio:16/7;background:var(--canvas);margin-top:clamp(40px,5vw,64px);overflow:hidden}.map iframe{border:0;width:100%;height:100%;display:block}.site-footer{background:var(--plum-950);color:#f6eef3bd;padding-block:clamp(56px,6vw,88px) 28px}.footer-grid{grid-template-columns:1.5fr 1fr 1.2fr 1.3fr;gap:40px;display:grid}.site-footer .brand-text b{color:#fff}.site-footer .brand-text small{color:var(--gold-soft)}.site-footer .brand-mark{box-shadow:inset 0 0 0 1px #ffffff2e}.footer-about{max-width:34ch;margin-top:18px;font-size:15px}.social{gap:10px;margin-top:22px;display:flex}.social a,.social span{color:#f6eef3;border:1px solid #f6eef333;border-radius:10px;place-items:center;width:42px;height:42px;transition:background-color .2s,color .2s,border-color .2s;display:grid}.social svg{width:18px;height:18px}.social a:hover{background:var(--gold);color:var(--plum-950);border-color:var(--gold)}.social span{opacity:.55;cursor:default}.footer-col h3{font-family:var(--font-body);color:var(--gold-soft);letter-spacing:0;margin-bottom:16px;font-size:14px;font-weight:600}.footer-col ul{gap:10px;display:grid}.footer-col a{font-size:15px;transition:color .18s}.footer-col a:hover{color:#fff}.footer-col li.sub a{color:#f6eef399;padding-left:14px;font-size:14px}.footer-contact li{font-size:15px}.footer-contact .k{color:#f6eef38c;font-size:13px;display:block}.footer-contact .v{color:#f6eef3}.footer-bottom{color:#f6eef39e;border-top:1px solid #f6eef324;flex-wrap:wrap;justify-content:space-between;gap:12px 24px;margin-top:48px;padding-top:24px;font-size:13.5px;display:flex}.footer-bottom a{color:#f6eef3d9;text-underline-offset:3px;text-decoration:underline #f6eef34d}.footer-bottom a:hover{color:#fff;text-decoration-color:var(--gold)}.fineprint{color:var(--ink-3);margin:-32px 0 0;padding-bottom:clamp(48px,6vw,72px);font-size:14px}.fineprint a{color:inherit;text-underline-offset:3px;text-decoration:underline}.fineprint a:hover{color:var(--plum-700)}.wa-float{z-index:60;background:var(--wa);color:#fff;border-radius:999px;align-items:center;gap:10px;padding:14px 20px;font-size:15px;font-weight:600;transition:translate .15s,background .2s;display:inline-flex;position:fixed;bottom:20px;right:20px;box-shadow:0 14px 30px -10px #15803d99}.wa-float:hover{background:var(--wa-dark);translate:0 -2px}.wa-float svg{flex:none;width:22px;height:22px}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important}}@media (width<=1080px){.card-grid,.points{grid-template-columns:repeat(2,minmax(0,1fr))}.footer-grid{grid-template-columns:1fr 1fr}.steps{grid-template-columns:1fr;gap:0}.step{padding:0 0 22px 32px}.step:before{width:1px;height:auto;inset:6px auto -6px 5px}.step:last-child:before{display:none}.step:after{top:4px}}@media (width<=960px){.nav{display:none}.nav-toggle{display:flex}.site-header.open .nav{border-bottom:1px solid var(--rule-2);padding:8px var(--gutter) 20px;box-shadow:var(--shadow-float);background:#fff;flex-direction:column;align-items:stretch;gap:0;max-height:calc(100dvh - 76px);display:flex;position:absolute;top:76px;left:0;right:0;overflow-y:auto}.site-header.open .nav-link{border-bottom:1px solid var(--rule-2);border-radius:0;justify-content:space-between;width:100%;padding:14px 4px;font-size:16px}.site-header.open .nav-link.is-active:after{display:none}.nav-menu{opacity:1;visibility:visible;box-shadow:none;border:0;min-width:0;padding:0 0 8px 12px;display:none;position:static;translate:none}.nav-group.open .nav-menu{display:block}.hero-grid,.split,.contact-grid,.svc-row,.vision{grid-template-columns:minmax(0,1fr)}.svc-row:nth-child(2n) .photo{order:0}.facts{grid-template-columns:repeat(2,minmax(0,1fr));gap:28px 0}.fact:nth-child(3){border-left:0;padding-left:0}.cta:before{display:none}.map{aspect-ratio:4/3}}@media (width<=600px){.card-grid,.points{grid-template-columns:minmax(0,1fr)}.footer-grid{grid-template-columns:1fr;gap:32px}.field-row{grid-template-columns:1fr}.hero-actions .btn,.cta-actions .btn{flex:100%}.hero-facts b{font-size:17px}.hero-facts span{font-size:11.5px}.hero-facts div{padding:10px}.wa-float span{display:none}.wa-float{padding:15px}.wa-float svg{width:28px;height:28px}.brand-text small{display:none}}.sr{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.skip{z-index:100;background:var(--plum-900);color:#fff;border-radius:8px;padding:10px 16px;position:absolute;top:-60px;left:16px}.skip:focus{top:12px}.photo--tall{aspect-ratio:4/5}.hero-facts b{white-space:nowrap}@media (width<=960px){.photo--tall{aspect-ratio:4/3}}@media (width<=600px){.hero-facts{bottom:10px;left:10px;right:10px}.hero-facts b{font-size:14px}.hero-facts div{padding:9px 8px}.hero{padding-bottom:8px}}
