/* 3DPointMeta — Premium Experience Layer */
:root{
  --premium-accent:#9bb36f;
  --premium-accent-soft:#edf2e7;
  --premium-ink:#1d282c;
  --premium-muted:#667176;
  --premium-line:rgba(29,40,44,.12);
  --premium-shadow:0 22px 60px rgba(26,38,40,.10);
}
body{background:#fbfcfb;letter-spacing:-.005em}
.header{position:sticky;top:0;z-index:100;background:rgba(251,252,251,.86);backdrop-filter:none;-webkit-backdrop-filter:none;transition:height .35s ease,box-shadow .35s ease,border-color .35s ease}
.header::after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:1px;background:linear-gradient(90deg,transparent,var(--premium-accent),transparent);opacity:.18;pointer-events:none}
.logo{transition:transform .3s ease;position:relative}.logo:hover{transform:translateY(-1px)}
.nav a:not(.button){position:relative;padding:10px 0}.nav a:not(.button)::after{content:"";position:absolute;left:0;right:100%;bottom:3px;height:1px;background:var(--premium-accent);transition:right .28s ease}.nav a:not(.button):hover::after,.nav a.active:not(.button)::after{right:0}.nav a.active:not(.button){color:#687d4a}
.button{position:relative;overflow:hidden;box-shadow:0 8px 24px rgba(30,41,45,.10);transition:transform .28s ease,box-shadow .28s ease,background .28s ease,border-color .28s ease}.button::before{content:"";position:absolute;inset:0;transform:translateX(-110%);background:linear-gradient(100deg,transparent 20%,rgba(255,255,255,.22) 50%,transparent 80%);transition:transform .6s ease}.button:hover::before{transform:translateX(110%)}.button:hover{transform:translateY(-2px);box-shadow:0 14px 32px rgba(30,41,45,.16)}
.hero{position:relative;isolation:isolate}.hero::before{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(circle at 12% 18%,rgba(155,179,111,.12),transparent 28%),linear-gradient(90deg,transparent 0 50%,rgba(255,255,255,.28) 100%);z-index:-1}.hero-copy{position:relative}.hero-copy::after{content:"";position:absolute;left:-80px;top:16%;width:1px;height:150px;background:linear-gradient(var(--premium-accent),transparent);opacity:.55}.hero h1{max-width:800px;text-wrap:balance}.hero p{max-width:390px}.hero-media{box-shadow:inset 0 0 0 1px rgba(255,255,255,.55),-20px 25px 60px rgba(40,55,58,.08)}
.section{position:relative}.section-head{position:relative}.section-head::after{content:"";position:absolute;left:0;bottom:-16px;width:52px;height:2px;background:linear-gradient(90deg,var(--premium-accent),transparent)}
.cards,.service-grid{perspective:1000px}.card,.service-card{position:relative;border-color:rgba(29,40,44,.10);transition:transform .45s cubic-bezier(.2,.7,.2,1),box-shadow .45s ease,border-color .35s ease}.card::after,.service-card::after{content:"";position:absolute;inset:0;pointer-events:none;border:1px solid transparent;background:linear-gradient(135deg,rgba(155,179,111,.35),transparent 35%) border-box;mask:linear-gradient(#fff 0 0) padding-box,linear-gradient(#fff 0 0);mask-composite:exclude;opacity:0;transition:opacity .35s ease}.card:hover,.service-card:hover{transform:translateY(-8px);box-shadow:var(--premium-shadow);border-color:rgba(155,179,111,.28)}.card:hover::after,.service-card:hover::after{opacity:1}.card img,.service-card img{transition:transform .8s cubic-bezier(.2,.7,.2,1),filter .5s ease}.card:hover img,.service-card:hover img{transform:scale(1.035);filter:saturate(1.05) contrast(1.02)}
.card-content,.service-card>div{position:relative}.card h3,.service-card h3{transition:color .25s ease}.card:hover h3,.service-card:hover h3{color:#71884e}.text-link{transition:color .25s ease,letter-spacing .25s ease}.text-link:hover{letter-spacing:.12em}
.step{transition:background .35s ease,transform .35s ease}.step:hover{background:linear-gradient(135deg,rgba(237,242,231,.72),transparent);transform:translateY(-2px)}.step svg{transition:transform .35s ease,stroke .35s ease}.step:hover svg{transform:translateY(-3px) scale(1.04);stroke:#7d9657}
.stat{position:relative;padding:4px 18px 4px 0}.stat::before{content:"";position:absolute;left:0;top:0;width:2px;height:0;background:var(--premium-accent);transition:height .5s ease}.stat:hover::before{height:100%}.stat strong{transition:transform .35s ease,color .35s ease}.stat:hover strong{transform:translateX(7px);color:#71884e}
.contact-card{box-shadow:var(--premium-shadow);border:1px solid rgba(29,40,44,.07)}.contact-image{transition:transform .8s cubic-bezier(.2,.7,.2,1)}.contact-card:hover .contact-image{transform:scale(1.012)}
.footer{position:relative}.footer::before{content:"";display:block;height:1px;background:linear-gradient(90deg,transparent,var(--premium-line),var(--premium-accent),var(--premium-line),transparent);margin-bottom:8px}.back-top{transition:transform .3s ease,color .3s ease}.back-top:hover{transform:translateY(-4px);color:#71884e}
/* page entrance */
.premium-reveal{opacity:0;transform:translateY(22px);transition:opacity .75s cubic-bezier(.2,.7,.2,1),transform .75s cubic-bezier(.2,.7,.2,1)}.premium-reveal.premium-visible{opacity:1;transform:none}.premium-stagger>*{opacity:0;transform:translateY(16px);transition:opacity .65s ease,transform .65s cubic-bezier(.2,.7,.2,1)}.premium-stagger.premium-visible>*{opacity:1;transform:none}.premium-stagger.premium-visible>*:nth-child(2){transition-delay:.06s}.premium-stagger.premium-visible>*:nth-child(3){transition-delay:.12s}.premium-stagger.premium-visible>*:nth-child(4){transition-delay:.18s}.premium-stagger.premium-visible>*:nth-child(5){transition-delay:.24s}.premium-stagger.premium-visible>*:nth-child(6){transition-delay:.30s}
@media(max-width:900px){.header{background:rgba(251,252,251,.94)}.hero-copy::after{display:none}.nav{gap:16px}.button{box-shadow:0 7px 18px rgba(30,41,45,.09)}}
@media(prefers-reduced-motion:reduce){.premium-reveal,.premium-stagger>*{opacity:1!important;transform:none!important;transition:none!important}.card,.service-card,.button,.contact-image,.header{transition:none!important}}

/* Compact AutoCAD-style ViewCube — cube only, no compass ring */
.view-cube{position:absolute;right:16px;top:16px;width:86px;height:86px;z-index:8;pointer-events:auto;user-select:none;color:#344247;perspective:520px;touch-action:none;}
.view-cube__stage{position:absolute;left:3px;top:3px;width:80px;height:80px;display:grid;place-items:center;perspective:520px;transform-style:preserve-3d;pointer-events:none;}
.view-cube__cube{position:relative;width:60px;height:60px;transform-style:preserve-3d;transition:transform .18s ease;pointer-events:auto;cursor:grab;}
.view-cube__cube:active{cursor:grabbing}
.view-cube__face{position:absolute;left:0;top:0;width:60px;height:60px;border:1px solid rgba(68,80,84,.5);box-sizing:border-box;background:linear-gradient(145deg,#f8faf8,#dfe5e4);color:#3f4b4f;font:700 10px/1 'DM Sans',Arial,sans-serif;letter-spacing:.035em;display:flex;align-items:center;justify-content:center;backface-visibility:hidden;padding:0;cursor:pointer;box-shadow:inset 0 0 0 1px rgba(255,255,255,.78);}
.view-cube__face:hover{background:linear-gradient(145deg,#ffffff,#e7eceb);color:#202b2f;}
.view-cube__face.face-top{background:linear-gradient(145deg,#fafcf9,#e6ebe7)}
.view-cube__hotspot{position:absolute;width:14px;height:14px;padding:0;border:0;background:transparent;cursor:pointer;z-index:20;pointer-events:auto}
.view-cube__label{display:none;position:absolute;left:0;right:0;bottom:2px;font:700 8px/1 'DM Sans',Arial,sans-serif;letter-spacing:.14em;text-align:center;color:#657276;}
.view-cube__home{display:none;position:absolute;right:0;bottom:22px;width:22px;height:22px;font-size:14px;border:1px solid #c2cbcc;background:#ffffffdc;color:#344347;cursor:pointer;}
@media(max-width:600px){.view-cube{right:6px;top:8px;transform:scale(.78);transform-origin:top right}.viewer-controls{right:10px}.viewer-controls button{width:36px;height:36px;font-size:20px}}
/* V32: ViewCube target size matched to the user's reference */
.view-cube__cube .face-front{transform:translateZ(30px)}
.view-cube__cube .face-back{transform:rotateY(180deg) translateZ(30px)}
.view-cube__cube .face-right{transform:rotateY(90deg) translateZ(30px)}
.view-cube__cube .face-left{transform:rotateY(-90deg) translateZ(30px)}
.view-cube__cube .face-top{transform:rotateX(90deg) translateZ(30px)}
.view-cube__cube .face-bottom{transform:rotateX(-90deg) translateZ(30px)}

/* V46: full-bleed header chrome + neutral process-step hover */
.header{background:transparent!important;isolation:isolate;}
.header::before{content:"";position:absolute;z-index:-1;top:0;bottom:0;left:50%;width:100vw;transform:translateX(-50%);background:rgba(251,252,251,.96);border-bottom:1px solid rgba(221,226,225,.9);pointer-events:none;}
.header::after{left:50%;right:auto;width:100vw;transform:translateX(-50%);}
.step:hover{background:#fff!important;transform:none!important;}
.step:hover svg{transform:none!important;stroke:#253135!important;}

/* V47: supplied workflow icons */
.step .step-icon{display:block;width:48px;height:48px;object-fit:contain;margin:0 0 22px 0;transition:none!important;transform:none!important;}
.step:hover .step-icon{transform:none!important;}
