/* VERDANT STYLE: quiet cinematic motion; every reveal carries directional information and respects reduced-motion preferences. */
.cursor{position:fixed;z-index:80;place-items:center;width:12px;height:12px;margin:-6px 0 0 -6px;border-radius:50%;pointer-events:none;background:var(--text);mix-blend-mode:difference;transition:width .25s var(--ease),height .25s var(--ease),margin .25s var(--ease),background .25s var(--ease)}.cursor span{font:700 8px/1 var(--sans);letter-spacing:.1em;color:var(--bg);opacity:0;transition:opacity .2s var(--ease)}.cursor.is-view{width:74px;height:74px;margin:-37px 0 0 -37px;background:#d6e5ca;mix-blend-mode:normal}.cursor.is-view span{opacity:1}
.reveal-image{clip-path:inset(0);opacity:0;transform:translateY(18px);transition:clip-path 1.2s var(--ease),opacity .7s var(--ease),transform .8s var(--ease)}.reveal-image.is-visible{clip-path:inset(0);opacity:1;transform:none}.projects-page .portfolio-grid{position:relative;padding-top:clamp(5rem,10vw,9rem)}.projects-page .portfolio-grid:before{content:"PROJECT INDEX  /  PLACE  —  SCOPE  —  YEAR";position:absolute;top:0;left:var(--side);right:var(--side);padding:0 0 1.05rem;border-bottom:1px solid var(--line);color:var(--moss);font:700 9px/1.2 var(--sans);letter-spacing:.15em}.projects-page .portfolio-grid:after,.site-footer:before{content:"";position:absolute;pointer-events:none;opacity:.42;background:repeating-radial-gradient(ellipse at 15% 110%,transparent 0 11px,rgba(112,139,90,.35) 11.7px 12.7px,transparent 13.4px 21px);mask-image:linear-gradient(90deg,#000 0 18%,transparent 56%);-webkit-mask-image:linear-gradient(90deg,#000 0 18%,transparent 56%)}.projects-page .portfolio-grid:after{left:var(--side);right:var(--side);bottom:2.2rem;height:3.6rem}.site-footer{position:relative;overflow:hidden}.site-footer:before{left:var(--side);top:0;width:42%;height:4.5rem;transform:rotate(180deg)}.services-index:before,.contact-form-section:before{content:"";position:absolute;left:var(--side);right:calc(var(--side) + 62%);top:2.6rem;height:2rem;opacity:.4;background:repeating-radial-gradient(ellipse at 50% 100%,transparent 0 8px,rgba(112,139,90,.5) 8.5px 9.4px,transparent 10px 15px);mask-image:linear-gradient(90deg,#000,transparent);-webkit-mask-image:linear-gradient(90deg,#000,transparent)}
@keyframes heroImage{from{opacity:0;transform:scale(1.08)}to{opacity:1;transform:scale(1)}}@keyframes heroText{from{transform:translateY(125%)}to{transform:translateY(0)}}@keyframes fadeUp{from{opacity:0;transform:translateY(24px)}to{opacity:1;transform:none}}@keyframes lineIn{from{transform:scaleX(0)}to{transform:scaleX(1)}}@keyframes loadLine{0%{width:0}66%{width:12rem}100%{width:100%}}@keyframes pageOut{to{transform:scaleY(0)}}
body:not(.home-page) .site-header{animation:fadeUp .65s .08s var(--ease) backwards}body:not(.home-page) .page-hero,body:not(.home-page) .case-hero,body:not(.home-page) .detail-hero{animation:fadeUp .85s .17s var(--ease) backwards}.footer-rule{transition:transform 1s var(--ease)}.site-footer:not(.is-visible) .footer-rule{transform:scaleX(0)}
@media (prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.loader{display:none}.reveal-image{clip-path:none;opacity:1;transform:none}.is-reveal{opacity:1;transform:none}.cursor{display:none!important}}
